/* eslint-env node */ const config = { root: true, extends: [ 'plugin:vue/vue3-essential', 'eslint:recommended', 'airbnb-base', ], // env: { // // 'vue/setup-compiler-macros': true, // es6: true, // }, // parserOptions: { // }, parser: 'vue-eslint-parser', parserOptions: { ecmaVersion: 'latest', // parser: '@babel/eslint-parser', ecmaFeatures: { jsx: true, }, }, rules: { // 修改的规则 'no-multi-spaces': [2, { ignoreEOLComments: true }], // 关闭vue的规则 'vue/multi-word-component-names': 0, 'vue/require-component-is': 0, 'vue/no-v-for-template-key-on-child': 0, 'vue/no-v-text-v-html-on-component': 0, // 关闭import规则 'import/extensions': 0, 'import/no-extraneous-dependencies': 0, 'import/no-dynamic-require': 0, 'import/no-unresolved': 0, 'import/prefer-default-export': 0, // 关闭airbnb规则 'arrow-parens': 0, 'arrow-body-style': 0, 'consistent-return': 0, 'default-param-last': 0, 'default-case': 0, 'global-require': 0, 'object-curly-newline': 0, 'prefer-destructuring': 0, radix: 0, 'max-len': 0, 'newline-per-chained-call': 0, 'no-bitwise': 0, 'no-console': 0, 'no-control-regex': 0, 'no-cond-assign': 0, 'no-continue': 0, 'no-lonely-if': 0, 'no-return-assign': 0, 'no-restricted-syntax': 0, 'no-param-reassign': 0, 'no-plusplus': 0, 'no-use-before-define': 0, 'no-multiple-empty-lines': 0, 'no-shadow': 0, // 关闭其他规则 'prettier/prettier': 0, camelcase: 0, // 增加的规则 'no-debugger': 2, }, ignorePatterns: [ 'coverage/**', 'public/**', 'dist/**', 'website/**', 'test/**/*', ], }; // 开发测试阶段降低规则要求 if (process.env.NODE_ENV !== 'production') { Object.assign(config.rules, { 'vue/no-unused-vars': 1, 'vue/valid-template-root': 1, 'vue/return-in-computed-property': 1, 'vue/valid-v-for': 1, 'import/newline-after-import': 1, 'array-bracket-spacing': 1, 'brace-style': 1, 'block-spacing': 1, 'comma-dangle': 1, 'comma-spacing': 1, indent: [1, 2, { SwitchCase: 1 }], 'key-spacing': 1, 'keyword-spacing': 1, 'operator-linebreak': 1, 'prefer-const': 1, 'padded-blocks': 1, 'quote-props': 1, semi: 1, 'spaced-comment': 1, 'space-before-blocks': 1, 'space-before-function-paren': 1, 'space-infix-ops': 1, 'space-in-parens': 1, 'no-debugger': 1, 'no-empty': 1, 'no-empty-function': 1, 'no-unused-vars': 1, 'no-multi-spaces': [1, { ignoreEOLComments: true }], 'no-unreachable': 1, }); } module.exports = config;