-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtslint.json
242 lines (238 loc) · 8.11 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
{
"rulesDirectory": [
"tslint-microsoft-contrib"
],
"rules": {
/* TSLint Rules - TypeScript Specific */
"adjacent-overload-signatures": true,
"ban-types": [true,
["Boolean"],
["Function"],
["JSX.Element", "Use React.ReactNode instead."],
["Number"],
["Object", "Use {} instead."],
["String"]
],
"no-import-side-effect": true,
"no-internal-module": true,
"no-namespace": [true, "allow-declarations"],
"no-non-null-assertion": true,
"no-parameter-reassignment": true,
"no-reference": true,
"no-var-requires": true,
"only-arrow-functions": [true, "allow-declarations", "allow-named-functions"],
"prefer-for-of": true,
"promise-function-async": true,
"typedef": [true, "call-signature", "arrow-call-signature", "parameter", "property-declaration", "variable-declaration", "member-variable-declaration"],
"typedef-whitespace": [true, {
"call-signature": "nospace",
"index-signature": "nospace",
"parameter": "nospace",
"property-declaration": "nospace",
"variable-declaration": "nospace"
}],
"unified-signatures": true,
/* TSLint Rules - Functionality */
"await-promise": true,
"ban-comma-operator": true,
"curly": true,
"forin": true,
"function-constructor": true,
"import-blacklist": false,
"label-position": true,
"no-arg": true,
"no-bitwise": true,
"no-conditional-assignment": true,
"no-console": [true, "log", "warn", "error", "debug", "info", "time", "timeEnd", "trace"],
"no-construct": true,
"no-debugger": true,
"no-duplicate-super": true,
"no-duplicate-switch-case": true,
"no-duplicate-variable": true,
"no-dynamic-delete": true,
"no-empty": true,
"no-eval": true,
"no-floating-promises": true,
"no-for-in-array": true,
"no-implicit-dependencies": false,
"no-inferred-empty-object-type": true,
"no-invalid-template-strings": true,
"no-invalid-this": [true, "check-function-in-method"],
"no-misused-new": true,
"no-null-keyword": false,
"no-null-undefined-union": true,
"no-object-literal-type-assertion": true,
"no-restricted-globals": true,
"no-return-await": true,
"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-tautology-expression": true,
"no-this-assignment": true,
"no-unbound-method": false,
"no-unnecessary-class": true,
"no-unsafe-any": false,
"no-unsafe-finally": true,
"no-unused-expression": true,
"no-var-keyword": true,
"no-void-expression": true,
"prefer-conditional-expression": false,
"prefer-object-spread": true,
"radix": true,
"restrict-plus-operands": true,
"static-this": true,
"strict-boolean-expressions": [true, "allow-boolean-or-undefined", "allow-enum", "ignore-rhs"],
"strict-type-predicates": true,
"switch-default": true,
"triple-equals": true,
"unnecessary-constructor": true,
"use-default-type-parameter": true,
"use-isnan": true,
/* TSLint Rules - Maintainability */
"cyclomatic-complexity": [true, 20],
"deprecation": true,
"eofline": true,
"indent": [true, "tabs"],
"linebreak-style": [true, "LF"],
"max-classes-per-file": [true, 1],
"max-file-line-count": [true, 300],
"max-line-length": [true, 160],
"no-duplicate-imports": true,
"no-mergeable-namespace": true,
"no-require-imports": true,
"object-literal-sort-keys": [true, "ignore-case", "match-declaration-order"],
"prefer-const": true,
"prefer-readonly": true,
"trailing-comma": [true, { "multiline": "never", "singleline": "never" }],
/* TSLint Rules - Style */
"align": [true, "parameters", "statements", "members", "elements"],
"array-type": [true, "array"],
"arrow-parens": true,
"arrow-return-shorthand": true,
"binary-expression-operand-order": true,
"callable-types": true,
"class-name": true,
"comment-format": [true, "check-space", "check-uppercase", { "ignore-pattern": ["https?:"] }],
"comment-type": [true, "singleline", "multiline", "doc"],
"encoding": true,
"file-header": [true, "^![^\\0]+\\s@fileOverview [^\\0]+\\s@author .+", "@fileOverview \n@author <a href=\"mailto:[email protected]\">Jens Duttke</a>"],
"import-spacing": true,
"increment-decrement": [true, "allow-post"],
"interface-name": [true, "never-prefix"],
"interface-over-type-literal": true,
"jsdoc-format": true,
"newline-before-return": true,
"new-parens": true,
"no-angle-bracket-type-assertion": true,
"no-boolean-literal-compare": true,
"no-consecutive-blank-lines": [true, 1],
"no-irregular-whitespace": true,
"no-parameter-properties": true,
"no-redundant-jsdoc": true,
"no-reference-import": true,
"no-trailing-whitespace": true,
"no-unnecessary-callback-wrapper": true,
"no-unnecessary-initializer": true,
"no-unnecessary-qualifier": true,
"number-literal-format": true,
"object-literal-key-quotes": [true, "consistent-as-needed"],
"object-literal-shorthand": true,
"one-line": [true, "check-open-brace", "check-whitespace"],
"one-variable-per-declaration": [true],
"ordered-imports": [true, { "import-sources-order": "case-insensitive", "grouped-imports": true, "named-imports-order": "lowercase-last" }],
"prefer-function-over-method": [true, "allow-public"],
"prefer-method-signature": true,
"prefer-switch": [true, { "min-cases": 3 }],
"prefer-template": true,
"prefer-while": true,
"quotemark": [true, "single", "jsx-double", "avoid-escape"],
"return-undefined": true,
"semicolon": [true, "always", "ignore-bound-class-methods"],
"space-before-function-paren": [true, "always"],
"space-within-parens": [true, 0],
"switch-final-break": true,
"type-literal-delimiter": [true, { "singleLine": "always" }],
"unnecessary-bind": [true],
"variable-name": [true, "ban-keywords", "check-format", "allow-pascal-case", "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",
"check-postbrace"
],
/* tslint-microsoft-contrib */
"chai-prefer-contains-to-index-of": true,
"chai-vague-errors": true,
"function-name": [ true, {
"method-regex": "^[a-z]\\w+$",
"private-method-regex": "^[a-z]\\w+$",
"protected-method-regex": "^[a-z]\\w+$",
"static-method-regex": "^(defaultProps|[A-Z_\\d]+|[a-z]\\w+)$",
"function-regex": "^[a-z]\\w+$"
}],
"import-name": true,
"informative-docs": true,
"insecure-random": true,
"jquery-deferred-must-complete": true,
"max-func-body-length": [true, {
"ignore-comments": true,
"func-body-length": 120,
"func-expression-body-length": 60,
"arrow-body-length": 80,
"method-body-length": 130,
"ctor-body-length": 100
}],
"mocha-avoid-only": true,
"mocha-no-side-effect-code": true,
"mocha-unneeded-done": true,
"no-backbone-get-set-outside-model": true,
"no-banned-terms": true,
"no-constant-condition": true,
"no-control-regex": true,
"no-cookies": true,
"no-delete-expression": true,
"no-disable-auto-sanitization": true,
"no-document-domain": true,
"no-document-write": true,
"no-empty-line-after-opening-brace": true,
"no-exec-script": true,
"no-for-in": true,
"no-http-string": true,
"no-inner-html": true,
"no-invalid-regexp": true,
"no-jquery-raw-elements": true,
"no-multiline-string": true,
"no-octal-literal": true,
"no-regex-spaces": true,
"no-relative-imports": [true, "allow-siblings"],
"no-single-line-block-comment": true,
"no-string-based-set-immediate": true,
"no-string-based-set-interval": true,
"no-string-based-set-timeout": true,
"no-suspicious-comment": true,
"no-typeof-undefined": true,
"no-unexternalized-strings": true,
"no-unnecessary-field-initialization": true,
"no-unnecessary-local-variable": true,
"no-unnecessary-override": true,
"no-unnecessary-semicolons": true,
"no-unsupported-browser-code": true,
"no-useless-files": true,
"no-with-statement": true,
"possible-timing-attack": true,
"prefer-array-literal": [ true, { "allow-type-parameters": true } ],
"promise-must-complete": true,
"underscore-consistent-invocation": true,
"use-named-parameter": true
}
}