-
Notifications
You must be signed in to change notification settings - Fork 0
/
.eslintrc.js
66 lines (64 loc) · 2.04 KB
/
.eslintrc.js
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
58
59
60
61
62
63
64
65
66
module.exports = {
parser: "@typescript-eslint/parser",
plugins: [
"react",
"react-hooks",
"@typescript-eslint/eslint-plugin",
"prettier"
],
settings: {
react: {
"version": "detect"
}
},
rules: {
"prettier/prettier": "error",
"no-console": process.env.NODE_ENV === 'production' ?
'error' : 'off',
"no-debugger": process.env.NODE_ENV === 'production' ?
'error' : 'off',
// 取消函数参数需要重新赋值给另一个变量才能使用
"no-param-reassign": [0],
// 取消 { a, b, c } 多个变量需要换行
"object-curly-newline": [0],
// 禁用var,用let和const代替
"no-var": 2,
// 开启强制单引号
"quotes": [2, "single"],
// 强制全等( === 和 !==)
"eqeqeq": 2,
// 语句强制分号结尾
"semi": [2, "always"],
// 禁止出现未使用的变量
"@typescript-eslint/no-unused-vars": [2],
// 箭头函数参数括号,一个参数时可省略括号
"arrow-parens": [2, "as-needed"],
// 箭头函数,箭头前后空格
"arrow-spacing": [2, {
before: true,
after: true
}],
// 禁止对象最后一项逗号
"comma-dangle": [2, "never"],
// 单行代码/字符串最大长度
"max-len": [2, {
code: 120
}],
// jsx缩进2个空格
"react/jsx-indent": [2, 2],
// 文件末尾强制换行
"eol-last": 2,
// react配置
// 强制组件方法顺序
"react/sort-comp": [2],
// 结束标签,组件省略闭合标签,html不省略闭合标签
"react/self-closing-comp": [2, {
"component": true,
"html": false
}],
// 检查 Hook 的规则,不允许在if for里面使用
"react-hooks/rules-of-hooks": [2],
// 检查 effect 的依赖
"react-hooks/exhaustive-deps": [2]
}
}