1 | module.exports = {
|
2 | extends: [
|
3 | 'eslint:recommended',
|
4 | 'plugin:vue/vue3-recommended',
|
5 | 'plugin:@typescript-eslint/recommended',
|
6 | 'prettier',
|
7 | ],
|
8 |
|
9 | parserOptions: {
|
10 | parser: '@typescript-eslint/parser',
|
11 | ecmaVersion: 2019,
|
12 | sourceType: 'module',
|
13 | extraFileExtensions: ['.vue'],
|
14 | },
|
15 |
|
16 | plugins: ['@typescript-eslint'],
|
17 |
|
18 | env: {
|
19 | es6: true,
|
20 | node: true,
|
21 | jest: true,
|
22 | browser: true,
|
23 | },
|
24 |
|
25 | rules: {
|
26 | 'prefer-destructuring': ['error', { object: true, array: false }],
|
27 |
|
28 | 'vue/no-v-html': 'off',
|
29 | 'vue/attributes-order': 'off',
|
30 | 'vue/require-v-for-key': 'off',
|
31 | 'vue/require-default-prop': 'off',
|
32 | 'vue/no-unused-components': 'off',
|
33 | 'vue/multi-word-component-names': 'off',
|
34 | 'vue/return-in-computed-property': 'off',
|
35 |
|
36 | '@typescript-eslint/camelcase': 'off',
|
37 | '@typescript-eslint/ban-ts-comment': 'off',
|
38 | '@typescript-eslint/no-unused-vars': 'error',
|
39 | '@typescript-eslint/no-var-requires': 'off',
|
40 | '@typescript-eslint/no-explicit-any': 'off',
|
41 | '@typescript-eslint/no-empty-function': 'off',
|
42 | '@typescript-eslint/no-non-null-assertion': 'off',
|
43 | '@typescript-eslint/explicit-function-return-type': 'off',
|
44 | '@typescript-eslint/explicit-module-boundary-types': 'off',
|
45 | },
|
46 |
|
47 | overrides: [
|
48 | {
|
49 | files: ['*.vue'],
|
50 | parser: require.resolve('vue-eslint-parser'),
|
51 | },
|
52 | {
|
53 | files: ['**/*.md/*.js', '**/*.md/*.ts'],
|
54 | rules: {
|
55 | '@typescript-eslint/no-unused-vars': 'off',
|
56 | },
|
57 | },
|
58 | ],
|
59 | };
|