13
13
| TSLint rule | | ESLint rule |
14
14
| --------------------------------- | :-: | ---------------------------------------------------- |
15
15
| [ ` adjacent-overload-signatures ` ] | ✅ | [ ` @typescript-eslint/adjacent-overload-signatures ` ] |
16
+ | [ ` ban-ts-ignore ` ] | 🛑 | N/A |
16
17
| [ ` ban-types ` ] | ✅ | [ ` @typescript-eslint/ban-types ` ] |
17
18
| [ ` member-access ` ] | ✅ | [ ` @typescript-eslint/explicit-member-accessibility ` ] |
18
19
| [ ` member-ordering ` ] | ✅ | [ ` @typescript-eslint/member-ordering ` ] |
44
45
| [ ` ban ` ] | 🌟 | [ ` no-restricted-properties ` ] [ no-restricted-properties ] |
45
46
| [ ` curly ` ] | 🌟 | [ ` curly ` ] [ curly ] |
46
47
| [ ` forin ` ] | 🌟 | [ ` guard-for-in ` ] [ guard-for-in ] |
48
+ | [ ` function-constructor ` ] | 🌟 | [ ` no-new-func ` ] [ no-new-func ] |
47
49
| [ ` import-blacklist ` ] | 🌟 | [ ` no-restricted-imports ` ] [ no-restricted-imports ] |
48
50
| [ ` label-position ` ] | 🌟 | [ ` no-unused-labels ` ] [ no-unused-labels ] (similar) |
49
51
| [ ` no-arg ` ] | 🌟 | [ ` no-caller ` ] [ no-caller ] (also blocks ` arguments.caller ` ) |
93
95
| [ ` switch-default ` ] | 🌟 | [ ` default-case ` ] [ default-case ] |
94
96
| [ ` triple-equals ` ] | 🌟 | [ ` eqeqeq ` ] [ eqeqeq ] |
95
97
| [ ` typeof-compare ` ] | 🌟 | [ ` valid-typeof ` ] [ valid-typeof ] |
98
+ | [ ` unnecessary-constructor ` ] | 🌟 | [ ` no-useless-constructor ` ] [ no-useless-constructor ] |
96
99
| [ ` use-default-type-parameter ` ] | 🛑 | N/A |
97
100
| [ ` use-isnan ` ] | 🌟 | [ ` use-isnan ` ] [ use-isnan ] |
98
101
112
115
| [ ` max-file-line-count ` ] | 🌟 | [ ` max-lines ` ] [ max-lines ] |
113
116
| [ ` max-line-length ` ] | 🌟 | [ ` max-len ` ] [ max-len ] or [ Prettier] |
114
117
| [ ` no-default-export ` ] | 🔌 | [ ` import/no-default-export ` ] |
118
+ | [ ` no-default-import ` ] | 🛑 | N/A |
115
119
| [ ` no-duplicate-imports ` ] | 🔌 | [ ` import/no-duplicates ` ] |
116
120
| [ ` no-mergeable-namespace ` ] | 🛑 | N/A |
117
121
| [ ` no-require-imports ` ] | ✅ | [ ` @typescript-eslint/no-require-imports ` ] |
135
139
| [ ` callable-types ` ] | ✅ | [ ` @typescript-eslint/prefer-function-type ` ] |
136
140
| [ ` class-name ` ] | ✅ | [ ` @typescript-eslint/class-name-casing ` ] |
137
141
| [ ` comment-format ` ] | 🌟 | [ ` capitalized-comments ` ] [ capitalized-comments ] & [ ` spaced-comment ` ] [ spaced-comment ] |
142
+ | [ ` comment-type ` ] | 🛑 | N/A |
138
143
| [ ` completed-docs ` ] | 🔌 | [ ` eslint-plugin-jsdoc ` ] [ plugin:jsdoc ] |
139
144
| [ ` encoding ` ] | 🛑 | N/A |
140
145
| [ ` file-header ` ] | 🔌 | [ ` eslint-plugin-header ` ] [ plugin:header ] or [ ` -file-header ` ] [ plugin:file-header ] |
141
146
| [ ` file-name-casing ` ] | 🔌 | [ ` unicorn/filename-case ` ] |
142
147
| [ ` import-spacing ` ] | 🔌 | Use [ Prettier] |
148
+ | [ ` increment-decrement ` ] | 🌟 | [ ` no-plusplus ` ] [ no-plusplus ] |
143
149
| [ ` interface-name ` ] | ✅ | [ ` @typescript-eslint/interface-name-prefix ` ] |
144
150
| [ ` interface-over-type-literal ` ] | ✅ | [ ` @typescript-eslint/prefer-interface ` ] |
145
151
| [ ` jsdoc-format ` ] | 🌓 | [ ` valid-jsdoc ` ] [ valid-jsdoc ] or [ ` eslint-plugin-jsdoc ` ] [ plugin:jsdoc ] |
176
182
| [ ` space-within-parens ` ] | 🌟 | [ ` space-in-parens ` ] [ space-in-parens ] |
177
183
| [ ` switch-final-break ` ] | 🛑 | N/A |
178
184
| [ ` type-literal-delimiter ` ] | ✅ | [ ` @typescript-eslint/member-delimiter-style ` ] |
185
+ | [ ` unnecessary-bind ` ] | 🌟 | [ ` no-extra-bind ` ] [ no-extra-bind ] |
179
186
| [ ` variable-name ` ] | 🌟 | <sup >[ 2] </sup > |
180
187
| [ ` whitespace ` ] | 🔌 | Use [ Prettier] |
181
188
185
192
## tslint-microsoft-contrib rules
186
193
187
194
Rule listing is [ here] ( https://github.com/Microsoft/tslint-microsoft-contrib#supported-rules ) .
188
- Deprecated rules are excluded (` missing-jsdoc ` , ` missing-optional-annotation ` , ` no-duplicate-case ` , ` no-duplicate-parameter-names ` , ` no-increment-decrement ` , ` no-empty-interfaces ` , ` no-missing-visibility-modifiers ` , ` no-multiple-var-decl ` , ` no-reserved-keywords ` , ` no-stateless-class ` , ` no-var-self ` , ` no-unnecessary-bind ` , and ` valid-typeof ` ). See the docs in the link above to find out what to use instead.
195
+ Deprecated rules are excluded (` missing-jsdoc ` , ` missing-optional-annotation ` , ` no-duplicate-case ` , ` no-duplicate-parameter-names ` , ` no-function-constructor-with-string-args ` , ` no- increment-decrement` , ` no-empty-interfaces ` , ` no-missing-visibility-modifiers ` , ` no-multiple-var-decl ` , ` no-reserved-keywords ` , ` no-stateless-class ` , ` no-var-self ` , ` no-unnecessary-bind ` , and ` valid-typeof ` ). See the docs in the link above to find out what to use instead.
189
196
190
197
### Testing
191
198
@@ -254,21 +261,20 @@ Relevant plugins: [`chai-expect-keywords`](https://github.com/gavinaiken/eslint-
254
261
255
262
### Security
256
263
257
- | tslint-microsoft-contrib rule | | ESLint rule |
258
- | ------------------------------------------ | :-: | -------------------------------------------------- |
259
- | ` no-disable-auto-sanitization ` | 🛑 | N/A |
260
- | ` no-document-domain ` | 🌓 | Use [ ` no-restricted-syntax ` ] [ no-restricted-syntax ] |
261
- | ` no-function-constructor-with-string-args ` | 🌟 | [ ` no-new-func ` ] [ no-new-func ] |
262
- | ` no-http-string ` | 🛑 | N/A |
263
- | ` no-inner-html ` | 🛑 | N/A |
264
- | ` no-string-based-set-immediate ` | 🛑 | N/A |
265
- | ` no-string-based-set-interval ` | 🛑 | N/A |
266
- | ` no-string-based-set-timeout ` | 🛑 | N/A |
267
- | ` react-iframe-missing-sandbox ` | 🛑 | N/A |
268
- | ` react-no-dangerous-html ` | 🔌 | [ ` react/no-danger ` ] |
269
- | ` non-literal-fs-path ` | 🔌 | [ ` security/detect-non-literal-fs-filename ` ] |
270
- | ` non-literal-require ` | 🔌 | [ ` security/detect-non-literal-require ` ] |
271
- | ` possible-timing-attack ` | 🔌 | [ ` security/detect-possible-timing-attacks ` ] |
264
+ | tslint-microsoft-contrib rule | | ESLint rule |
265
+ | ------------------------------- | :-: | -------------------------------------------------- |
266
+ | ` no-disable-auto-sanitization ` | 🛑 | N/A |
267
+ | ` no-document-domain ` | 🌓 | Use [ ` no-restricted-syntax ` ] [ no-restricted-syntax ] |
268
+ | ` no-http-string ` | 🛑 | N/A |
269
+ | ` no-inner-html ` | 🛑 | N/A |
270
+ | ` no-string-based-set-immediate ` | 🛑 | N/A |
271
+ | ` no-string-based-set-interval ` | 🛑 | N/A |
272
+ | ` no-string-based-set-timeout ` | 🛑 | N/A |
273
+ | ` react-iframe-missing-sandbox ` | 🛑 | N/A |
274
+ | ` react-no-dangerous-html ` | 🔌 | [ ` react/no-danger ` ] |
275
+ | ` non-literal-fs-path ` | 🔌 | [ ` security/detect-non-literal-fs-filename ` ] |
276
+ | ` non-literal-require ` | 🔌 | [ ` security/detect-non-literal-require ` ] |
277
+ | ` possible-timing-attack ` | 🔌 | [ ` security/detect-possible-timing-attacks ` ] |
272
278
273
279
### Browser
274
280
@@ -317,6 +323,7 @@ Relevant plugins: [`chai-expect-keywords`](https://github.com/gavinaiken/eslint-
317
323
<!-- TSLint -->
318
324
319
325
[ `adjacent-overload-signatures` ] : https://palantir.github.io/tslint/rules/adjacent-overload-signatures
326
+ [ `ban-ts-ignore` ] : https://palantir.github.io/tslint/rules/ban-ts-ignore/
320
327
[ `ban-types` ] : https://palantir.github.io/tslint/rules/ban-types
321
328
[ `member-access` ] : https://palantir.github.io/tslint/rules/member-access
322
329
[ `member-ordering` ] : https://palantir.github.io/tslint/rules/member-ordering
@@ -343,6 +350,7 @@ Relevant plugins: [`chai-expect-keywords`](https://github.com/gavinaiken/eslint-
343
350
[ `ban` ] : https://palantir.github.io/tslint/rules/ban
344
351
[ `curly` ] : https://palantir.github.io/tslint/rules/curly
345
352
[ `forin` ] : https://palantir.github.io/tslint/rules/forin
353
+ [ `function-constructor` ] : https://palantir.github.io/tslint/rules/function-constructor
346
354
[ `import-blacklist` ] : https://palantir.github.io/tslint/rules/import-blacklist
347
355
[ `label-position` ] : https://palantir.github.io/tslint/rules/label-position
348
356
[ `no-arg` ] : https://palantir.github.io/tslint/rules/no-arg
@@ -392,6 +400,7 @@ Relevant plugins: [`chai-expect-keywords`](https://github.com/gavinaiken/eslint-
392
400
[ `switch-default` ] : https://palantir.github.io/tslint/rules/switch-default
393
401
[ `triple-equals` ] : https://palantir.github.io/tslint/rules/triple-equals
394
402
[ `typeof-compare` ] : https://palantir.github.io/tslint/rules/typeof-compare
403
+ [ `unnecessary-constructor` ] : https://palantir.github.io/tslint/rules/unnecessary-constructor
395
404
[ `use-default-type-parameter` ] : https://palantir.github.io/tslint/rules/use-default-type-parameter
396
405
[ `use-isnan` ] : https://palantir.github.io/tslint/rules/use-isnan
397
406
[ `cyclomatic-complexity` ] : https://palantir.github.io/tslint/rules/cyclomatic-complexity
@@ -403,6 +412,7 @@ Relevant plugins: [`chai-expect-keywords`](https://github.com/gavinaiken/eslint-
403
412
[ `max-file-line-count` ] : https://palantir.github.io/tslint/rules/max-file-line-count
404
413
[ `max-line-length` ] : https://palantir.github.io/tslint/rules/max-line-length
405
414
[ `no-default-export` ] : https://palantir.github.io/tslint/rules/no-default-export
415
+ [ `no-default-import` ] : https://palantir.github.io/tslint/rules/no-default-import
406
416
[ `no-duplicate-imports` ] : https://palantir.github.io/tslint/rules/no-duplicate-imports
407
417
[ `no-mergeable-namespace` ] : https://palantir.github.io/tslint/rules/no-mergeable-namespace
408
418
[ `no-require-imports` ] : https://palantir.github.io/tslint/rules/no-require-imports
@@ -418,11 +428,13 @@ Relevant plugins: [`chai-expect-keywords`](https://github.com/gavinaiken/eslint-
418
428
[ `callable-types` ] : https://palantir.github.io/tslint/rules/callable-types
419
429
[ `class-name` ] : https://palantir.github.io/tslint/rules/class-name
420
430
[ `comment-format` ] : https://palantir.github.io/tslint/rules/comment-format
431
+ [ `comment-type` ] : https://palantir.github.io/tslint/rules/comment-type
421
432
[ `completed-docs` ] : https://palantir.github.io/tslint/rules/completed-docs
422
433
[ `encoding` ] : https://palantir.github.io/tslint/rules/encoding
423
434
[ `file-header` ] : https://palantir.github.io/tslint/rules/file-header
424
435
[ `file-name-casing` ] : https://palantir.github.io/tslint/rules/file-name-casing
425
436
[ `import-spacing` ] : https://palantir.github.io/tslint/rules/import-spacing
437
+ [ `increment-decrement` ] : https://palantir.github.io/tslint/rules/increment-decrement
426
438
[ `interface-name` ] : https://palantir.github.io/tslint/rules/interface-name
427
439
[ `interface-over-type-literal` ] : https://palantir.github.io/tslint/rules/interface-over-type-literal
428
440
[ `jsdoc-format` ] : https://palantir.github.io/tslint/rules/jsdoc-format
@@ -459,6 +471,7 @@ Relevant plugins: [`chai-expect-keywords`](https://github.com/gavinaiken/eslint-
459
471
[ `space-within-parens` ] : https://palantir.github.io/tslint/rules/space-within-parens
460
472
[ `switch-final-break` ] : https://palantir.github.io/tslint/rules/switch-final-break
461
473
[ `type-literal-delimiter` ] : https://palantir.github.io/tslint/rules/type-literal-delimiter
474
+ [ `unnecessary-bind` ] : https://palantir.github.io/tslint/rules/unnecessary-bind
462
475
[ `variable-name` ] : https://palantir.github.io/tslint/rules/variable-name
463
476
[ `whitespace` ] : https://palantir.github.io/tslint/rules/whitespace
464
477
@@ -471,6 +484,7 @@ Relevant plugins: [`chai-expect-keywords`](https://github.com/gavinaiken/eslint-
471
484
[ no-restricted-syntax ] : https://eslint.org/docs/rules/no-restricted-syntax
472
485
[ curly ] : https://eslint.org/docs/rules/curly
473
486
[ guard-for-in ] : https://eslint.org/docs/rules/guard-for-in
487
+ [ no-new-func ] : https://eslint.org/docs/rules/no-new-func
474
488
[ no-restricted-imports ] : https://eslint.org/docs/rules/no-restricted-imports
475
489
[ no-unused-labels ] : https://eslint.org/docs/rules/no-unused-labels
476
490
[ no-caller ] : https://eslint.org/docs/rules/no-caller
@@ -502,6 +516,7 @@ Relevant plugins: [`chai-expect-keywords`](https://github.com/gavinaiken/eslint-
502
516
[ default-case ] : https://eslint.org/docs/rules/default-case
503
517
[ eqeqeq ] : https://eslint.org/docs/rules/eqeqeq
504
518
[ valid-typeof ] : https://eslint.org/docs/rules/valid-typeof
519
+ [ no-useless-constructor ] : https://eslint.org/docs/rules/no-useless-constructor
505
520
[ use-isnan ] : https://eslint.org/docs/rules/use-isnan
506
521
[ complexity ] : https://eslint.org/docs/rules/complexity
507
522
[ eol-last ] : https://eslint.org/docs/rules/eol-last
@@ -517,6 +532,7 @@ Relevant plugins: [`chai-expect-keywords`](https://github.com/gavinaiken/eslint-
517
532
[ yoda ] : https://eslint.org/docs/rules/yoda
518
533
[ capitalized-comments ] : https://eslint.org/docs/rules/capitalized-comments
519
534
[ spaced-comment ] : https://eslint.org/docs/rules/spaced-comment
535
+ [ no-plusplus ] : https://eslint.org/docs/rules/no-plusplus
520
536
[ valid-jsdoc ] : https://eslint.org/docs/rules/valid-jsdoc
521
537
[ padding-line-between-statements ] : https://eslint.org/docs/rules/padding-line-between-statements
522
538
[ newline-per-chained-call ] : https://eslint.org/docs/rules/newline-per-chained-call
@@ -534,6 +550,7 @@ Relevant plugins: [`chai-expect-keywords`](https://github.com/gavinaiken/eslint-
534
550
[ semi ] : https://eslint.org/docs/rules/semi
535
551
[ space-after-function-paren ] : https://eslint.org/docs/rules/space-before-function-paren
536
552
[ space-in-parens ] : https://eslint.org/docs/rules/space-in-parens
553
+ [ no-extra-bind ] : https://eslint.org/docs/rules/no-extra-bind
537
554
[ camelcase ] : https://eslint.org/docs/rules/camelcase
538
555
[ no-underscore-dangle ] : https://eslint.org/docs/rules/no-underscore-dangle
539
556
[ id-blacklist ] : https://eslint.org/docs/rules/id-blacklist
0 commit comments