-
Notifications
You must be signed in to change notification settings - Fork 0
/
tslint.json
237 lines (231 loc) · 7.47 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
{
"extends": [
"tslint-eslint-rules",
"tslint-react"
],
"rules": {
// TSLint core rules
// TypeScript-specific
"adjacent-overload-signatures": true,
// "ban-types": false,
"member-access": [true, "no-public"],
"member-ordering": [
true,
{
"order": [
"public-static-field",
"protected-static-field",
"private-static-field",
"public-instance-field",
"protected-instance-field",
"private-instance-field",
"public-constructor",
"protected-constructor",
"private-constructor",
"public-static-method",
"protected-static-method",
"private-static-method",
"public-instance-method",
"protected-instance-method",
"private-instance-method"
]
}
],
"no-any": true,
"no-empty-interface": true,
// "no-import-side-effect": false,
"no-inferrable-types": true,
// "no-internal-module": false,
// "no-magic-numbers": false,
"no-namespace": true,
"no-non-null-assertion": true,
"no-parameter-reassignment": true,
// "no-reference": false,
"no-unnecessary-type-assertion": true,
"no-var-requires": true,
"only-arrow-functions": [true, "allow-declarations", "allow-named-functions"],
"prefer-for-of": true,
"promise-function-async": true,
// "typedef": false
"typedef-whitespace": [
true,
{
"call-signature": "nospace",
"index-signature": "nospace",
"parameter": "nospace",
"property-declaration": "nospace",
"variable-declaration": "nospace"
},
{
"call-signature": "onespace",
"index-signature": "onespace",
"parameter": "onespace",
"property-declaration": "onespace",
"variable-declaration": "onespace"
}
],
"unified-signatures": true,
// Functionality
"await-promise": true,
// "ban": false,
"curly": [true, "ignore-same-line"],
"forin": true,
// "import-blacklist": false,
"label-position": true,
"no-arg": true,
"no-bitwise": true,
"no-conditional-assignment": true,
// "no-console": false,
"no-construct": true,
// "no-debugger": false,
"no-duplicate-super": true,
"no-duplicate-variable": true,
"no-empty": true,
"no-eval": true,
"no-floating-promises": true,
"no-for-in-array": true,
"no-inferred-empty-object-type": true,
"no-invalid-template-strings": true,
// "no-invalid-this": false,
"no-misused-new": true,
"no-null-keyword": true,
// "no-object-literal-type-assertion": false,
"no-shadowed-variable": true,
"no-sparse-arrays": true,
"no-string-literal": true,
"no-string-throw": true,
// "no-submodule-imports": false,
"no-switch-case-fall-through": true,
// "no-unbound-method": false,
// "no-unsafe-any": false,
"no-unsafe-finally": true,
"no-unused-expression": true,
"no-unused-variable": true,
"no-use-before-declare": true,
"no-var-keyword": true,
// "no-void-expression": false,
"prefer-conditional-expression": true,
"prefer-object-spread": true,
"radix": true,
"restrict-plus-operands": true,
// "strict-boolean-expressions": false,
"strict-type-predicates": true,
"switch-default": true,
"triple-equals": true,
"typeof-compare": true,
"use-default-type-parameter": true,
"use-isnan": true,
// Maintainability
"cyclomatic-complexity": [true, 25],
"deprecation": true,
"eofline": true,
"indent": [true, "spaces", 2],
// "linebreak-style": false,
// "max-classes-per-file": false,
"max-file-line-count": [true, 800],
"max-line-length": [true, 120],
"no-default-export": true,
"no-mergeable-namespace": true,
// "no-require-imports": false,
// "object-literal-sort-keys": false,
"prefer-const": true,
"trailing-comma":[
true,
{
"multiline": "never",
"singleline": "never"
}
],
// Style
// "align": false,
"array-type": [true, "array"],
"arrow-parens": [true, "ban-single-arg-parens"],
"arrow-return-shorthand": true,
"binary-expression-operand-order": true,
"callable-types": true,
"class-name": true,
"comment-format": [true, "check-space"],
// "completed-docs": false,
"encoding": true,
// "file-header": false,
"import-spacing": true,
"interface-name": [true, "always-prefix"],
"interface-over-type-literal": true,
"jsdoc-format": true,
// "match-default-export-name": false,
// "newline-before-return": true,
"new-parens": true,
"no-angle-bracket-type-assertion": true,
"no-boolean-literal-compare": true,
"no-consecutive-blank-lines": true,
"no-irregular-whitespace": true,
// "no-parameter-properties": false,
// "no-reference-import": false,
"no-unnecessary-callback-wrapper": true,
"no-unnecessary-initializer": true,
"no-unnecessary-qualifier": true,
"number-literal-format": true,
"object-literal-key-quotes": [true, "as-needed"],
"object-literal-shorthand": true,
"one-line": [true, "check-catch", "check-finally", "check-else", "check-open-brace", "check-whitespace"],
// "one-variable-per-declaration": false,
// "ordered-imports": false,
// "prefer-function-over-method": false,
"prefer-method-signature": true,
"prefer-switch": true,
"prefer-template": [true, "allow-single-concat"],
"quotemark": [true, "single", "jsx-double", "avoid-template"],
"return-undefined": true,
"semicolon": [true, "never"],
"space-before-function-paren": [true, "always"],
"space-within-parens": [true, 0],
"switch-final-break": [true, "always"],
"type-literal-delimiter": true,
"variable-name": [true, "ban-keywords", "check-format", "allow-leading-underscore"],
"whitespace": [true, "check-branch", "check-decl", "check-operator", "check-module", "check-separator", "check-rest-spread", "check-type", "check-typecast", "check-type-operator", "check-preblock"],
// tslint-eslint-rules
"no-constant-condition": true,
"no-control-regex": true,
"no-duplicate-case": true,
"no-empty-character-class": true,
"no-ex-assign": true,
"no-extra-boolean-cast": true,
"no-extra-semi": true,
"no-inner-declarations": true,
"no-invalid-regexp": true,
// "ter-no-irregular-whitespace": false,
"no-regex-spaces": true,
// "ter-no-sparse-arrays": false,
"no-unexpected-multiline": true,
"valid-jsdoc": true,
"valid-typeof": true,
"no-multi-spaces": true,
"handle-callback-err": true,
"array-bracket-spacing": [true, "never"],
"block-spacing": [true, "always"],
"brace-style": [true, "1tbs"],
"ter-func-call-spacing": [true, "never"],
// "ter-indent": false,
// "ter-max-len": false,
"object-curly-spacing": [true, "always"],
"space-in-parens": [true, "never"],
// "ter-arrow-body-style": false,
// "ter-arrow-parens": false,
// "ter-arrow-spacing": false,
// "ter-prefer-arrow-callback:": false,
// tslint-react
"jsx-alignment": true,
// "jsx-ban-props": false,
"jsx-boolean-value": [true, "never"],
"jsx-curly-spacing": [true, "never"],
"jsx-equals-spacing": [true, "never"],
"jsx-key": true,
"jsx-no-bind": true,
"jsx-no-lambda": true,
"jsx-no-multiline-js": false,
"jsx-no-string-ref": true,
"jsx-use-translation-function": false,
"jsx-self-close": true,
"jsx-wrap-multiline": true
}
}