/** * @author https://github.com/zxwk1998/vue-admin-better (不想保留author可删除) * @description .eslintrc.js */ module.exports = { root: true, env: { node: true, }, extends: ['plugin:vue/recommended', 'eslint:recommended', '@vue/prettier'], rules: { 'no-undef': 'off', 'no-console': 'off', 'no-debugger': 'off', 'prettier/prettier': 'off', 'prefer-template': 'error', '@typescript-eslint/no-this-alias': 'off', '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/no-var-requires': 'off', '@typescript-eslint/no-empty-function': 'off', '@typescript-eslint/ban-ts-comment': 'off', 'vue/no-reserved-component-names': 'off', 'vue/no-v-html': 'off', 'no-unused-vars': 'off', 'vue/no-useless-template-attributes': 'off', 'use-isnan': 'off', 'vue/html-self-closing': [ 'error', { html: { void: 'any', normal: 'any', component: 'always', }, svg: 'always', math: 'always', }, ], 'vue/component-name-in-template-casing': [ 'error', 'kebab-case', { registeredComponentsOnly: false, ignores: [], }, ], // 多字组件名称 'vue/multi-word-component-names': 'off', // Vue组件排序 'vue/order-in-components': [ 'warn', { order: [ 'el', 'name', 'key', 'parent', 'functional', ['delimiters', 'comments'], ['components', 'directives', 'filters'], 'extends', 'mixins', ['provide', 'inject'], 'ROUTER_GUARDS', 'layout', 'middleware', 'validate', 'scrollToTop', 'transition', 'loading', 'inheritAttrs', 'model', ['props', 'propsData'], 'emits', 'setup', 'fetch', 'asyncData', 'data', 'head', 'computed', 'watch', 'watchQuery', 'LIFECYCLE_HOOKS', 'methods', ['template', 'render'], 'renderError', ], }, ], // Vue属性排序 'vue/attributes-order': [ 'warn', { order: [ 'DEFINITION', 'LIST_RENDERING', 'CONDITIONALS', 'RENDER_MODIFIERS', 'GLOBAL', 'UNIQUE', 'TWO_WAY_BINDING', 'OTHER_DIRECTIVES', 'OTHER_ATTR', 'EVENTS', 'CONTENT', ], alphabetical: true, //字母顺序 }, ], }, parserOptions: { parser: 'babel-eslint', }, overrides: [ { files: ['**/__tests__/*.{j,t}s?(x)', '**/tests/unit/**/*.spec.{j,t}s?(x)'], env: { jest: true, }, }, ], }