-
Notifications
You must be signed in to change notification settings - Fork 265
/
.eslintrc.json
216 lines (212 loc) · 8.12 KB
/
.eslintrc.json
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
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
{
"env": {
"browser": true,
"amd": true,
"es6": true
},
"globals": {
"define": true,
"$": true,
"console": true
},
"parserOptions": {
"sourceType": "module",
"ecmaVersion": 8
},
"parser": "babel-eslint",
"extends": [
"eslint:recommended"
],
"rules": {
"no-console": 1,
//if, while等条件中不允许使用“=”
"no-cond-assign": [2, "always"],
// 禁止在条件中使用常量表达式
// if (false) {
// doSomethingUnfinished();
// } //cuowu
"no-constant-condition": 2,
// 程序中不能出现debugger
"no-debugger": 2,
// 函数的参数名称不能重复
"no-dupe-args": 2,
// 对象的属性名称不能重复
"no-dupe-keys": 2,
// switch的case不能重复
"no-duplicate-case": 2,
// 禁止把全局对象 (Math 和 JSON) 作为函数调用 错误:var math = Math();
"no-obj-calls": 2,
// 禁止正则表达式字面量中出现多个空格
"no-regex-spaces": 2,
"no-control-regex": 0,
// 禁用稀疏数组
"no-sparse-arrays": 2,
// 禁止出现令人困惑的多行表达式
"no-unexpected-multiline": 2,
// 禁止在return、throw、continue 和 break语句之后出现不可达代码
"no-unreachable": 2,
// 要求使用 isNaN() 检查 NaN
"use-isnan": 2,
// 强制 typeof 表达式与有效的字符串进行比较
// typeof foo === "undefined" 错误
"valid-typeof": 2,
// 使用 === 替代 == allow-null允许null和undefined==
// 禁用 arguments.caller 或 arguments.callee
"no-caller": 2,
// 禁止在没有类型检查操作符的情况下与 null 进行比较
"no-eq-null": 1,
// 禁用 eval()
"no-eval": 2,
// 禁止扩展原生类型
"no-extend-native": 0,
// 禁止不必要的 .bind() 调用
"no-extra-bind": 2,
//禁止不必要的bool转换
"no-extra-boolean-cast": 2,
//禁止多余的冒号
"no-extra-semi": 2,
//禁止switch穿透
"no-fallthrough": 1,
//禁止省略浮点数中的0 .5 3.
"no-floating-decimal": 2,
//禁止重复的函数声明
"no-func-assign": 2,
// 禁用不必要的标签
"no-extra-label": 2,
// 禁止使用 var 多次声明同一变量
"no-redeclare": 2,
// 禁用未声明的变量,除非它们在 /*global */ 注释中被提到
"no-undef": 2,
// 禁止出现未使用过的变量
"no-unused-vars": 1,
// 不允许在变量定义之前使用它们
"no-use-before-define": 0,
// 数组和对象键值对最后一个逗号, never参数:不能带末尾的逗号, always参数:必须带末尾的逗号,
// always-multiline:多行模式必须带逗号,单行模式不能带逗号
"comma-dangle": [1, "never"],
// 禁止修改 const 声明的变量
"no-const-assign": 2,
// 禁止类成员中出现重复的名称
"no-dupe-class-members": 2,
// 禁止 if 作为唯一的语句出现在 else 语句中
"no-lonely-if": 1,
// 禁止 if 语句中有 return 之后有 else
"no-else-return": 1,
"array-bracket-spacing": [2, "never"],
// 禁止或强制在单行代码块中使用空格(禁用)
"block-spacing": [1, "never"],
// 强制使用一致的缩进 第二个参数为 "tab" 时,会使用tab
// 为数值,表示缩进空格数
"indent": [2, 4, {
"SwitchCase": 1
}],
// if while function 后面的{必须与if在同一行,java风格。
"brace-style": [2, "1tbs", {
"allowSingleLine": true
}],
// 双峰驼命名格式
"camelcase": 2,
// 控制逗号前后的空格
"comma-spacing": [2, {
"before": false,
"after": true
}],
// 控制逗号在行尾出现还是在行首出现 (默认行尾)
// http://eslint.org/docs/rules/comma-style
"comma-style": [2, "last"],
//"SwitchCase" (默认:0) 强制 switch 语句中的 case 子句的缩进水平
// 以方括号取对象属性时,[ 后面和 ] 前面是否需要空格, 可选参数 never, always
"computed-property-spacing": [2, "never"],
// 强制使用命名的 function 表达式
"func-names": 0,
// 文件末尾强制换行
"eol-last": 2,
// 强制在对象字面量的属性中键和值之间使用一致的间距
"key-spacing": [2, {
"beforeColon": false,
"afterColon": true
}],
// 强制使用一致的换行风格
"linebreak-style": [1, "unix"],
// 要求在注释周围有空行 ( 要求在块级注释之前有一空行)
"lines-around-comment": [1, {
"beforeBlockComment": true
}],
// 要求构造函数首字母大写 (要求调用 new 操作符时有首字母大小的函数,允许调用首字母大写的函数时没有 new 操作符。)
"new-cap": [2, {
"newIsCap": true,
"capIsNew": false
}],
// 要求调用无参构造函数时有圆括号
"new-parens": 2,
// 禁止使用 Array 构造函数
"no-array-constructor": 2,
// 禁用按位运算符
"no-bitwise": 2,
// 要求 return 语句之前有一空行
// "newline-before-return": 1,
// 禁止在代码行后使用内联注释
"no-inline-comments": 1,
// 禁止混合使用不同的操作符
"no-mixed-operators": 0,
// 不允许空格和 tab 混合缩进
"no-mixed-spaces-and-tabs": 2,
// 不允许多个空行
"no-multiple-empty-lines": [2, {
"max": 2
}],
// 不允许使用嵌套的三元表达式
"no-nested-ternary": 2,
// 禁止使用 Object 的构造函数
"no-new-object": 2,
// 禁止使用特定的语法
"no-restricted-syntax": 0,
// 禁止 function 标识符和括号之间出现空格
"no-spaced-func": 2,
// 禁用行尾空格
"no-trailing-spaces": 2,
// 禁止可以在有更简单的可替代的表达式时使用三元操作符
"no-unneeded-ternary": 2,
// 禁止属性前有空白
"no-whitespace-before-property": 0,
// 强制在花括号中使用一致的空格
"object-curly-spacing": 2,
// 强制将对象的属性放在不同的行上
"object-property-newline": 2,
// 强制函数中的变量要么一起声明要么分开声明
"one-var": [2, {
"initialized": "never"
}],
// 要求或禁止在 var 声明周围换行
"one-var-declaration-per-line": 1,
// 强制操作符使用一致的换行符
"operator-linebreak": [2, "after", {
"overrides": {
"?": "before",
":": "before"
}
}],
// 强制使用一致的反勾号、双引号或单引号
"quotes": [2, "single", "avoid-escape"],
// 要求使用 JSDoc 注释
"require-jsdoc": 1,
// 要求或禁止使用分号而不是 ASI(这个才是控制行尾部分号的,)
"semi": [2, "always"],
// 强制分号之前和之后使用一致的空格
"semi-spacing": 2,
// 强制在块之前使用一致的空格
"space-before-blocks": [2, "always"],
// 强制在 function的左括号之前使用一致的空格
"space-before-function-paren": [2, "always"],
// 强制在圆括号内使用一致的空格
"space-in-parens": [2, "never"],
// 要求操作符周围有空格
"space-infix-ops": 1,
"keyword-spacing": 1,
// 强制在一元操作符前后使用一致的空格
"space-unary-ops": [2, {
"words": true,
"nonwords": false
}]
}
}