zmtlwzy
2021-10-12 b653412260ad5c01e20727ac351ee54068f5e069
提交 | 用户 | age
3b3a74 1 // @ts-check
e09068 2 const { defineConfig } = require('eslint-define-config');
V 3 module.exports = defineConfig({
7e564c 4   root: true,
V 5   env: {
6     browser: true,
7     node: true,
8     es6: true,
9   },
2f6253 10   parser: 'vue-eslint-parser',
11   parserOptions: {
12     parser: '@typescript-eslint/parser',
13     ecmaVersion: 2020,
14     sourceType: 'module',
7e564c 15     jsxPragma: 'React',
2f6253 16     ecmaFeatures: {
17       jsx: true,
18     },
19   },
20   extends: [
21     'plugin:vue/vue3-recommended',
22     'plugin:@typescript-eslint/recommended',
7e564c 23     'prettier',
2f6253 24     'plugin:prettier/recommended',
f6fe1d 25     'plugin:jest/recommended',
2f6253 26   ],
27   rules: {
bb89c5 28     'vue/script-setup-uses-vars': 'error',
2f6253 29     '@typescript-eslint/ban-ts-ignore': 'off',
30     '@typescript-eslint/explicit-function-return-type': 'off',
31     '@typescript-eslint/no-explicit-any': 'off',
32     '@typescript-eslint/no-var-requires': 'off',
33     '@typescript-eslint/no-empty-function': 'off',
34     'vue/custom-event-name-casing': 'off',
35     'no-use-before-define': 'off',
36     '@typescript-eslint/no-use-before-define': 'off',
37     '@typescript-eslint/ban-ts-comment': 'off',
38     '@typescript-eslint/ban-types': 'off',
39     '@typescript-eslint/no-non-null-assertion': 'off',
40     '@typescript-eslint/explicit-module-boundary-types': 'off',
41     '@typescript-eslint/no-unused-vars': [
42       'error',
43       {
e12c58 44         argsIgnorePattern: '^_',
V 45         varsIgnorePattern: '^_',
2f6253 46       },
47     ],
48     'no-unused-vars': [
49       'error',
50       {
e12c58 51         argsIgnorePattern: '^_',
V 52         varsIgnorePattern: '^_',
2f6253 53       },
54     ],
55     'space-before-function-paren': 'off',
9edc28 56
V 57     'vue/attributes-order': 'off',
58     'vue/one-component-per-file': 'off',
59     'vue/html-closing-bracket-newline': 'off',
60     'vue/max-attributes-per-line': 'off',
61     'vue/multiline-html-element-content-newline': 'off',
62     'vue/singleline-html-element-content-newline': 'off',
63     'vue/attribute-hyphenation': 'off',
64     'vue/require-default-prop': 'off',
65     'vue/html-self-closing': [
66       'error',
67       {
68         html: {
69           void: 'always',
70           normal: 'never',
71           component: 'always',
72         },
73         svg: 'always',
74         math: 'always',
75       },
76     ],
2f6253 77   },
e09068 78 });