| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- import pluginVue from 'eslint-plugin-vue'
- import tsParser from '@typescript-eslint/parser'
- import tsPlugin from '@typescript-eslint/eslint-plugin'
- export default [
- // Global ignores
- {
- ignores: ['**/dist/**', '**/dist-ssr/**', '**/coverage/**'],
- },
-
- // Vue recommended rules
- ...pluginVue.configs['flat/essential'],
-
- // TypeScript configuration for .ts/.tsx files
- {
- files: ['**/*.{ts,tsx}'],
- languageOptions: {
- parser: tsParser,
- parserOptions: {
- ecmaVersion: 'latest',
- sourceType: 'module',
- },
- },
- plugins: {
- '@typescript-eslint': tsPlugin,
- },
- rules: {
- ...tsPlugin.configs.recommended.rules,
- '@typescript-eslint/no-explicit-any': 'off',
- '@typescript-eslint/no-unused-vars': 'warn'
- },
- },
- // TypeScript configuration for .vue files
- {
- files: ['**/*.vue'],
- languageOptions: {
- parserOptions: {
- parser: tsParser,
- ecmaVersion: 'latest',
- sourceType: 'module',
- extraFileExtensions: ['.vue'],
- },
- },
- plugins: {
- '@typescript-eslint': tsPlugin,
- },
- rules: {
- ...tsPlugin.configs.recommended.rules,
- 'vue/multi-word-component-names': 'off',
- '@typescript-eslint/no-explicit-any': 'off',
- '@typescript-eslint/no-unused-vars': 'warn'
- },
- },
- ]
|