1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
| export default {
| extends: ['@vben'],
| plugins: ['simple-import-sort'],
| rules: {
| 'simple-import-sort/imports': 'error',
| 'simple-import-sort/exports': 'error',
|
| '@typescript-eslint/ban-ts-comment': [
| 'error',
| {
| 'ts-expect-error': 'allow-with-description',
| 'ts-ignore': 'allow-with-description',
| 'ts-nocheck': 'allow-with-description',
| 'ts-check': false,
| },
| ],
|
| /**
| * 【强制】关键字前后有一个空格
| * @link https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/keyword-spacing.md
| */
| 'keyword-spacing': 'off',
| '@typescript-eslint/keyword-spacing': [
| 'error',
| {
| before: true,
| after: true,
| overrides: {
| return: { after: true },
| throw: { after: true },
| case: { after: true },
| },
| },
| ],
|
| /**
| * 禁止出现空函数,普通函数(非 async/await/generator)、箭头函数、类上的方法除外
| * @link https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-empty-function.md
| */
| 'no-empty-function': 'off',
| '@typescript-eslint/no-empty-function': [
| 'error',
| {
| allow: ['arrowFunctions', 'functions', 'methods'],
| },
| ],
|
| /**
| * 优先使用 interface 而不是 type 定义对象类型
| * @link https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/consistent-type-definitions.md
| */
| '@typescript-eslint/consistent-type-definitions': ['warn', 'interface'],
|
| 'vue/attributes-order': 'error',
| 'vue/require-default-prop': 'error',
| },
| };
|
|