-
Notifications
You must be signed in to change notification settings - Fork 0
/
.eslintrc
148 lines (144 loc) · 4.66 KB
/
.eslintrc
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
{
"env": {
"browser": true,
"node": true,
"commonjs": true,
"amd": true,
"es6": true,
},
"globals": {
"$": true,
"define": true,
"require": true,
"restfulApi": true
},
"extends": [
"eslint:recommended",
"plugin:react/recommended"
],
"parser": "babel-eslint",
"parserOptions": {
"ecmaVersion": 6,
"ecmaFeatures": {
"jsx": true,
"experimentalObjectRestSpread": true,
},
},
"plugins": [
"react"
],
"root": true,
"rules": {
// 使用 2 个空格缩进
"indent": [2, 2],
// 使用驼峰命名或者 UPPERCASE_WITH_UNDERSCORES
"camelcase": [2, {"properties": "never"}],
// 使用单引号
"quotes": [2, "single", {"allowTemplateLiterals": true}],
// 使用分号
"semi": [2, "always"],
// 使用 === 和 !==
"eqeqeq": [2, "always"],
// 不省略 {}
// "curly": [2, "all"],
// 禁用不必要的布尔转换
"no-extra-boolean-cast": 2,
// disable rules from base configurations
"no-console": "off",
// code style
// 数组中起始位置是否需要空格
"array-bracket-spacing": [2, "never"],
// 设置{}风格
"brace-style": [2, "1tbs", { "allowSingleLine": true }],
// 不允许在数组或对象最后一项使用逗号
"comma-dangle": [2, "never"],
// 在分号前不适用空格,分号后使用空格
"comma-spacing": 2,
// 分号风格,默认放在行尾
"comma-style": 2,
// 在变量属性中禁用空格
"computed-property-spacing": 2,
// 设置对 this 的引用
"consistent-this": [2, "that"],
// 文件以新行结尾
"eol-last": 2,
// 在函数标识和 () 之间禁用空格
"func-call-spacing": 2,
// JSX 使用双引号
"jsx-quotes": [2, "prefer-double"],
// 在 key 和 value 之间的空格一个空格
"key-spacing": 2,
// 在关键字前后使用空格
"keyword-spacing": 2,
// 行注释位置(上面 ?后面)
// "line-comment-position": 2,
// 最深嵌套 4 层
"max-depth": [2, { "max": 4 }],
// 最大行长
"max-len": [2, {
"code": 120,
"ignoreUrls": true,
// "ignoreStrings": true,
"ignoreTemplateLiterals": true,
"ignoreRegExpLiterals": true
}],
// 文件最大行数
"max-lines": [2, 600],
// 函数最多参数
"max-params": [2, { "max": 4 }],
// 每行最大语句条数为 2
"max-statements-per-line": [2, { "max": 2 }],
// 函数最大语句条数
"max-statements": [1, { "max": 16 }],
// 使用 new 实例化对象,类名大写字母开头
"new-cap": 2,
// 不使用 Array 构造函数
"no-array-constructor": 2,
// "no-lonely-if": 2,
// "no-mixed-operators": 0,
"no-mixed-spaces-and-tabs": 2, // eslint:recommended
// 最大两行空白
"no-multiple-empty-lines": [2, {"max": 2}],
// 禁用 Object 构造函数
"no-new-object": 2,
// 禁用 tabs
"no-tabs": 2,
// 禁用行末额外的空白
"no-trailing-spaces": 2,
// 禁用不需要的三元表达式
"no-unneeded-ternary": 2,
// 属性前没有空白
"no-whitespace-before-property": 2,
// 在对象 {} 中使用空格
"object-curly-spacing": [2, "always"],
// 单独使用声明
"one-var": [2, {
"var": "never",
"let": "never",
"const": "never",
}],
// 在块中禁用大量空白填充
"padded-blocks": [2, "never"],
// 在需要使用引号时该对象所有属性都使用引号
"quote-props": [2, "consistent"],
"semi-spacing": [2, {
"before": false,
"after": true
}],
// 在块语句前使用空格
"space-before-blocks": 2,
// 在函数声明后禁用空格
"space-before-function-paren": [2, "never"],
// 在中缀操作符之间需要空格
"space-infix-ops": [2, {"int32Hint": false}],
// 在一元运算符前后禁用空格
"space-unary-ops": 2,
// 在括号首尾禁用空格
"space-in-parens": 2,
// 在注释后使用空格
"spaced-comment": [2, "always"],
// react
// 这里关掉属性类型校验
"react/prop-types": "off",
}
}