-
Notifications
You must be signed in to change notification settings - Fork 0
/
tslint.json
258 lines (195 loc) · 6.28 KB
/
tslint.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
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
{
"extends": [
"tslint:latest",
"tslint-react",
"tslint-config-airbnb",
"tslint-config-prettier"
],
"rules": {
"jsx-no-lambda": false,
"jsx-no-multiline-js": false,
"max-line-length": false,
"no-unused-variable": false,
"ter-indent": [true, 2],
"typedef-whitespace": [
false,
{
"call-signature": "nospace",
"index-signature": "nospace",
"parameter": "nospace",
"property-declaration": "nospace",
"variable-declaration": "nospace"
},
{
"call-signature": "nospace",
"index-signature": "nospace",
"parameter": "nospace",
"property-declaration": "nospace",
"variable-declaration": "nospace"
}
],
// 允许使用 console
"no-console": false,
// 代码块的内容不能为空,禁止空代码块
"no-empty": true,
"no-var-requires": false,
"no-string-literal": false,
// 单引号
"quotemark": false,
"one-variable-per-declaration": false,
// 加分号
"semicolon": [true, "always", "ignore-bound-class-methods"],
// 如果一个变量声明后不再被修改,那么应使用 const 来声明该变量
"prefer-const": true,
// 设置成员对象的访问权限(public,private,protect)
"member-access": [false, "no-public"],
"interface-over-type-literal": false,
// 设置修饰符顺序
"member-ordering": [
false,
{
"order": [
"private-static-field",
"private-static-method",
"protected-static-field",
"protected-static-method",
"public-static-field",
"public-static-method",
"private-instance-field",
"protected-instance-field",
"public-instance-field",
"private-constructor",
"protected-constructor",
"public-constructor",
"private-instance-method",
"protected-instance-method",
"public-instance-method"
]
}
],
// 不允许空接口
"no-empty-interface": false,
// 不允许修改方法输入参数
"no-parameter-reassignment": false,
// 如果for循环中没有使用索引,建议是使用for-of
"prefer-for-of": false,
// 不允许没有Promise的情况下使用await
"await-promise": true,
// if/for/do/while强制使用大括号 同行除外
"curly": [true, "ignore-same-line"],
// f使用for in语句时,强制进行hasOwnProperty检查
"forin": true,
// 不允许使用arguments.callee,
"no-arg": true,
// 不允许使用特殊运算符 &, &=, |, |=, ^, ^=, <<, <<=, >>, >>=, >>>, >>>=, ~
"no-bitwise": true,
// do while/for/if/while 语句中将会对例如if(a=b)进行检查
"no-conditional-assignment": true,
// no-eval
"no-eval": true,
// 不允许使用 var
"no-var-keyword": true,
// 不允许 debugger
"no-debugger": false,
// 不允许super() 两次使用在构造函数中
"no-duplicate-super": true,
// 只允许在模板字符串中使用${
"no-invalid-template-strings": true,
// 不允许使用null,使用undefined代替null,指代空指针对象
// "no-null-keyword": true,
// 不允许 array 中有空元素
"no-sparse-arrays": true,
// 不允许throw一个字符串
"no-string-throw": true,
// 不允许在finally语句中使用return/continue/break/throw
"no-unsafe-finally": true,
// 不允许使用未使用的表达式
"no-unused-expression": false,
// 在使用前必须声明
"no-use-before-declare": false,
// parseInt时,必须输入radix精度参数
"radix": true,
// 不允许自动类型转换,如果已设置不允许使用关键字var该设置无效
"restrict-plus-operands": true,
// 必须使用恒等号,进行等于比较
"triple-equals": true,
// 只允许使用isNaN方法检查数字是否有效
"use-isnan": true,
// 每行开始以4个空格符开始
"indent": [true, "spaces", 2],
// 禁止在一个文件内,多次引用同一module
"no-duplicate-imports": true,
// 建议使用T[]方式声明一个数组对象
"array-type": [true, "array"],
// 类名以大驼峰格式命名
"class-name": true,
// 定义注释格式
"comment-format": [true, "check-space"],
// import关键字后加空格
"import-spacing": true,
// interface必须以I开头
"interface-name": true,
// 注释基于jsdoc风格
"jsdoc-format": true,
// 调用构造函数时需要用括号
"new-parens": true,
// 不允许有空行
"no-consecutive-blank-lines": [true, 2],
"whitespace": [
false,
"check-branch",
// "check-decl",
"check-module",
"check-separator",
"check-rest-spread",
"check-type",
"check-type-operator"
],
// 不允许空格结尾
"no-trailing-whitespace": true,
// 不允许没有必要的初始化
"no-unnecessary-initializer": true,
// 定义变量命名规则
"variable-name": [
true,
"check-format",
"allow-leading-underscore",
"allow-trailing-underscore",
"allow-pascal-case",
"ban-keywords"
],
// 句尾逗号
"trailing-comma": [
true,
{
"multiline": "never",
"singleline": "never"
}
],
"max-classes-per-file": false,
// 不允许case段落中在没有使用breack的情况下,在新启一段case逻辑
"no-switch-case-fall-through": true,
"no-angle-bracket-type-assertion": false,
"one-line": [false],
// 可以对象字面量断言
"no-object-literal-type-assertion": false,
// function paren 前需要有空格
"space-before-function-paren": false,
// 可以导入子包
"no-submodule-imports": false,
// 可以覆盖变量命名
"no-shadowed-variable": false,
// 导入包时,不需要按字母排序
"ordered-imports": false,
"object-literal-key-quotes": false,
"object-literal-sort-keys": false,
// 允许带一个参数的箭头函数省去括号
"arrow-parens": [true, "ban-single-arg-parens"],
// 对齐方式
"align": false,
// 允许使用 namespace
"no-namespace": false,
"import-name": false,
"no-implicit-dependencies": false,
}
}