1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
| import globals from 'globals';
import pluginJs from '@eslint/js'; import tseslint from 'typescript-eslint'; import pluginVue from 'eslint-plugin-vue';
import commpnParser from 'vue-eslint-parser'; import prettier from 'eslint-plugin-prettier';
export default [ { ignores: ['**/*.config.js', 'dist/**', 'node_modules/**', '!**/eslint.config.js'], languageOptions: { globals: globals.browser, parser: commpnParser, parserOptions: { ecmaVersion: 'latest', sourceType: 'module', parser: '@typescript-eslint/parser', jsxPragma: 'React', ecmaFeatures: { jsx: true, }, }, }, }, pluginJs.configs.recommended, ...tseslint.configs.recommended, ...pluginVue.configs['flat/essential'], { plugins: { prettier, }, rules: { 'prettier/prettier': 'error', 'no-var': 'error', 'no-multiple-empty-lines': ['warn', { max: 1 }], 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', 'no-unexpected-multiline': 'error', 'no-useless-escape': 'off',
'@typescript-eslint/no-unused-vars': 'error', '@typescript-eslint/prefer-ts-expect-error': 'error', '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/no-non-null-assertion': 'off', '@typescript-eslint/no-namespace': 'off', '@typescript-eslint/semi': 'off',
'vue/multi-word-component-names': 'off', 'vue/script-setup-uses-vars': 'error', 'vue/no-mutating-props': 'off', 'vue/attribute-hyphenation': 'off', }, }, ];
|