UNPKG

1.55 kBJavaScriptView Raw
1module.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 // eslint-plugin-vue
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 // typescript-eslint
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};