import { defineConfigWithVueTs, vueTsConfigs } from '@vue/eslint-config-typescript'; import prettier from 'eslint-config-prettier/flat'; import importPlugin from 'eslint-plugin-import'; import vue from 'eslint-plugin-vue'; export default defineConfigWithVueTs( vue.configs['flat/essential'], vueTsConfigs.recommended, { plugins: { import: importPlugin, }, settings: { 'import/resolver': { typescript: { alwaysTryTypes: true, project: './tsconfig.json', }, node: true, }, }, rules: { 'vue/multi-word-component-names': 'off', '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/consistent-type-imports': [ 'error', { prefer: 'type-imports', fixStyle: 'separate-type-imports', }, ], 'import/order': [ 'error', { groups: ['builtin', 'external', 'internal', 'parent', 'sibling', 'index'], alphabetize: { order: 'asc', caseInsensitive: true, }, }, ], 'import/consistent-type-specifier-style': [ 'error', 'prefer-top-level', ], }, }, { ignores: [ 'vendor', 'node_modules', 'public', 'bootstrap/ssr', 'tailwind.config.js', 'vite.config.ts', 'resources/js/actions/**', 'resources/js/components/ui/*', 'resources/js/routes/**', ], }, prettier, // Turn off all rules that might conflict with Prettier );