import { defineConfigWithVueTs, vueTsConfigs } from '@vue/eslint-config-typescript'; import prettier from 'eslint-config-prettier'; import importPlugin from 'eslint-plugin-import'; import vue from 'eslint-plugin-vue'; export default defineConfigWithVueTs( vue.configs['flat/essential'], vueTsConfigs.recommended, { ignores: [ 'vendor', 'node_modules', 'public', 'bootstrap/ssr', 'tailwind.config.js', 'resources/js/components/ui/*', // Wayfinder regenerates these on every build with import order // matching PHP file scan, not alphabetical. Excluding them avoids // a perpetual fight between the generator and import/order. 'resources/js/actions/**', 'resources/js/routes/**', ], }, { plugins: { import: importPlugin, }, settings: { 'import/resolver': { typescript: { alwaysTryTypes: true, project: './tsconfig.json', }, }, }, rules: { 'vue/multi-word-component-names': 'off', '@typescript-eslint/no-explicit-any': 'off', 'import/order': [ 'error', { groups: ['builtin', 'external', 'internal', 'parent', 'sibling', 'index'], 'newlines-between': 'always', alphabetize: { order: 'asc', caseInsensitive: true, }, }, ], }, }, prettier, );