-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbak.jshintrc
296 lines (294 loc) · 6.95 KB
/
bak.jshintrc
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
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
{
//
// 强制选项
//
// When set to true, these options will make JSHint produce more warnings about your code.
/**
* 是否阻止位运算符的使用
*
* 有时候为了快速取整或判断,会使用一些位运算符,所以此项设置为 false
*/
"bitwise": false,
/**
* 是否要求变量都使用驼峰命名
*
* 默认开启
* 弃用,见jscs项目
*/
"camelcase": true,
/**
* 是否要求 for/while/if 等循环和条件语句中总是使用花括号
*
*
*/
"curly": true,
/**
* 是否强制使用严格等号
*
* 有时候需要判断 null,所以默认不严格要求
*/
"eqeqeq": true,
/**
* true: 默认要求所有函数运行在ES5
* 弃用
*/
"es3": true,
"es5": true,
"esnext": true,
/**
* 选择ES版本,3,5,6
*/
"esversion": 5,
/**
* for-in 语句是否要求过滤原型链上的对象
* 添加 obj.hasOwnProperty(prop)
* 默认打开
*/
"forin": true,
/**
* 是否阻止修改或拓展基本对象(Array、Date 等)的原型链
*
* 原型链污染比较危险,默认打开
*/
"freeze": true,
/**
* 变量只能在函数域上定义,在代码块上定义的变量给出警告
*/
"funcscope": true,
/**
* 当使用JS保留字时,显示警告
*/
"futurehostile": true,
/**
* 是否要求自执行的方法使用括号括起 (function () { } ());
* 默认打开
* 弃用,见jscs项目
*/
"immed": true,
/**
* 指定tab缩进宽度为 2 个空格
*
* 弃用,见jscs项目
*/
"indent": 4,
/**
* 要求变量在使用前声明,
*/
"latedef": true,
/**
* 代码块嵌套深度
*/
"maxdepth": 4,
/**
* 最大错误提示数量,默认50
*/
"maxerr": 10000,
/**
* 单行最大长度
*
* 弃用,见jscs项目
*/
"maxlen": 200,
/**
* 设置函数正式参数的最大数量
*
*/
"maxparams": 4,
/**
* 一个函数内声明语句的最大数量
*
*/
"maxstatements": 1000,
/**
* 要求构造函数大写
*
* 弃用,见jscs项目
*/
"newcap": true,
/**
* 不允许使用 arguments.callee 和 arguments.caller
*/
"noarg": true,
/**
* 不允许使用逗号
*/
"nocomma": true,
/**
* 不允许空的代码快,默认关闭
*
* 弃用,见jscs项目
*/
"noempty": false,
/**
* 不允许使用 "non-breaking whitespace"。
*
* 这些字符在非 UTF8 页面会导致代码失效
*/
"nonbsp": true,
/**
* 阻止直接使用 new 调用构造函数的语句(不赋值对象)
*
* // OK
* var a = new Animal();
*
* // Warn
* new Animal();
*/
"nonew": true,
/**
* 阻止直接使用 typeof 操作符
*
* 慎用
*/
"notypeof": false,
/**
* 字符串引号
*
* 默认要求使用单引号
true-- 代码字符串禁止单引号双引号混用,
"single"--只允许单引号
"double"--只允许双引号。
* 弃用,见jscs项目
*/
"quotmark": "single",
/**
* 隐藏式声明
*
"inner" - check for variables defined in the same scope only
"outer" - check for variables defined in outer scopes as well
false - same as inner
true - allow variable shadowing
*/
"shadow": "inner",
/**
* 禁止在不必要的时候使用分组运算符
*/
"singleGroups": true,
/**
* 是要求否以 strict 模式检查
*
* 该选项要求文件有 "use strict;"不全局要求,需要的模块自行开启
*/
"strict": false,
/**
* 提示未定义的变量
*
* 未定义的变量会容易造成全局变量,该项开启
*/
"undef": true,
/**
* 提示未使用的变量
* vars - to only check for variables, not function parameters
* strict - to check all variables and parameters.
* 默认开启
*/
"unused": true,
/**
* 是否禁止使用var
* Use `let` or `const` instead.
*/
"varstmt": false,
//
//Relaxing options
//
//When set to true, these options will make JSHint produce fewer warnings about your code.
/**
* 不显示缺少分号警告
*/
"asi": false,
/**
* 不显示在 比较处使用了赋值 的警告信息。
*/
"boss": true,
/**
* 不显示代码中使用的 debugger 语句默认给出的警告
*/
"debug": true,
/**
* This option tells JSHint that your code uses ES3 array elision elements, or empty elements (for example, [1, , , 4, , , 7]).
*/
"elision": true,
/**
* 不显示关于 == null的警告
* 当您想要检查变量是否为空或未定义时,这种比较往往很有用。
*/
"eqnull": true,
/**
* 不显示关于 eval 的警告
*
*/
"evil": true,
/**
* 不显示 在应该使用复制或函数调用的地方使用了表达式 的警告。
*/
"expr": true,
/**
* 不显示缺少分号的警告
*/
"lastsemic": false,
/**
* 不显示不安全的折行的警告
*
* 弃用,见jscs项目
*/
"laxbreak": true,
/**
* 不显示逗号放前面的警告,例如:
*
* 弃用,见jscs项目
*/
"laxcomma": true,
/**
* 不显示 在循环语句中定义函数 的警告
*/
"loopfunc": true,
/**
* 不显示 多行字符串 的警告
*/
"multistr": true,
/**
* 不允许使用 ++ 和 -- 运算符
*
* 默认关闭
*/
"plusplus": false,
/**
* 禁止关于__proto__属性的警告
*/
"proto": true,
/**
* true: Prohibit use of empty blocks
* 该选项控制形如 person['name'] vs. person.name的警告信息的显示
* 弃用,见jscs项目
*/
"sub": true,
//
// Environments
//
// These options let JSHint know about some pre-defined global variables.
/**
* 暴露浏览器属性的全局变量,列如 window,document;
注意:这个选项不暴露变量 alert或 console。
*/
"browser": true,
/**
* 这个选项定义全局暴露的jQuery库。
*/
"jquery": true,
"devel": true,
/**
*这个选项可以用来指定一个没有正式定义的全局变量的白名单。配置 globals在单个文件,看看内联配置.
*需要的引用到的js类库的全局变量应该加入进来
*/
"globals": {
"define": true,
"module": true,
"export": true,
"console": true,
"THREE": true,
"TWEEN": true,
"Stats":true
},
// 预定义不检查的全局变量
"predef":["define", "BMap", "angular", "BMAP_STATUS_SUCCESS"]
}