@typescript-eslint/eslint-plugin 6.0.0-alpha.98 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/configs/all.js +2 -0
- package/dist/configs/all.js.map +1 -1
- package/dist/configs/disable-type-checked.js +3 -0
- package/dist/configs/disable-type-checked.js.map +1 -1
- package/dist/configs/recommended-type-checked.js +6 -0
- package/dist/configs/recommended-type-checked.js.map +1 -1
- package/dist/configs/recommended.js +2 -0
- package/dist/configs/recommended.js.map +1 -1
- package/dist/configs/strict-type-checked.js +4 -0
- package/dist/configs/strict-type-checked.js.map +1 -1
- package/dist/configs/stylistic-type-checked.js +0 -1
- package/dist/configs/stylistic-type-checked.js.map +1 -1
- package/dist/configs/stylistic.js +0 -2
- package/dist/configs/stylistic.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/rules/array-type.js +19 -20
- package/dist/rules/array-type.js.map +1 -1
- package/dist/rules/ban-ts-comment.js +33 -35
- package/dist/rules/ban-ts-comment.js.map +1 -1
- package/dist/rules/ban-types.js +75 -14
- package/dist/rules/ban-types.js.map +1 -1
- package/dist/rules/class-literal-property-style.js +38 -21
- package/dist/rules/class-literal-property-style.js.map +1 -1
- package/dist/rules/comma-dangle.js +4 -2
- package/dist/rules/comma-dangle.js.map +1 -1
- package/dist/rules/comma-spacing.js +5 -0
- package/dist/rules/comma-spacing.js.map +1 -1
- package/dist/rules/consistent-generic-constructors.js +1 -0
- package/dist/rules/consistent-generic-constructors.js.map +1 -1
- package/dist/rules/consistent-indexed-object-style.js +1 -0
- package/dist/rules/consistent-indexed-object-style.js.map +1 -1
- package/dist/rules/consistent-type-assertions.js +49 -0
- package/dist/rules/consistent-type-assertions.js.map +1 -1
- package/dist/rules/consistent-type-definitions.js +1 -0
- package/dist/rules/consistent-type-definitions.js.map +1 -1
- package/dist/rules/consistent-type-exports.js +1 -0
- package/dist/rules/consistent-type-exports.js.map +1 -1
- package/dist/rules/consistent-type-imports.js +2 -0
- package/dist/rules/consistent-type-imports.js.map +1 -1
- package/dist/rules/enum-utils/shared.js +61 -0
- package/dist/rules/enum-utils/shared.js.map +1 -0
- package/dist/rules/explicit-function-return-type.js.map +1 -1
- package/dist/rules/explicit-member-accessibility.js +43 -44
- package/dist/rules/explicit-member-accessibility.js.map +1 -1
- package/dist/rules/explicit-module-boundary-types.js +1 -1
- package/dist/rules/explicit-module-boundary-types.js.map +1 -1
- package/dist/rules/func-call-spacing.js +2 -0
- package/dist/rules/func-call-spacing.js.map +1 -1
- package/dist/rules/indent.js.map +1 -1
- package/dist/rules/index.js +4 -0
- package/dist/rules/index.js.map +1 -1
- package/dist/rules/key-spacing.js.map +1 -1
- package/dist/rules/keyword-spacing.js.map +1 -1
- package/dist/rules/lines-around-comment.js +78 -81
- package/dist/rules/lines-around-comment.js.map +1 -1
- package/dist/rules/lines-between-class-members.js +7 -5
- package/dist/rules/lines-between-class-members.js.map +1 -1
- package/dist/rules/member-delimiter-style.js +45 -27
- package/dist/rules/member-delimiter-style.js.map +1 -1
- package/dist/rules/member-ordering.js +55 -66
- package/dist/rules/member-ordering.js.map +1 -1
- package/dist/rules/method-signature-style.js +1 -0
- package/dist/rules/method-signature-style.js.map +1 -1
- package/dist/rules/naming-convention-utils/enums.js +6 -12
- package/dist/rules/naming-convention-utils/enums.js.map +1 -1
- package/dist/rules/naming-convention-utils/schema.js +50 -25
- package/dist/rules/naming-convention-utils/schema.js.map +1 -1
- package/dist/rules/naming-convention.js.map +1 -1
- package/dist/rules/no-base-to-string.js +2 -2
- package/dist/rules/no-base-to-string.js.map +1 -1
- package/dist/rules/no-confusing-void-expression.js +1 -0
- package/dist/rules/no-confusing-void-expression.js.map +1 -1
- package/dist/rules/no-duplicate-type-constituents.js +161 -0
- package/dist/rules/no-duplicate-type-constituents.js.map +1 -0
- package/dist/rules/no-empty-function.js +1 -0
- package/dist/rules/no-empty-function.js.map +1 -1
- package/dist/rules/no-empty-interface.js +2 -1
- package/dist/rules/no-empty-interface.js.map +1 -1
- package/dist/rules/no-explicit-any.js +1 -1
- package/dist/rules/no-explicit-any.js.map +1 -1
- package/dist/rules/no-extraneous-class.js +2 -3
- package/dist/rules/no-extraneous-class.js.map +1 -1
- package/dist/rules/no-implied-eval.js +1 -0
- package/dist/rules/no-implied-eval.js.map +1 -1
- package/dist/rules/no-inferrable-types.js.map +1 -1
- package/dist/rules/no-invalid-void-type.js +1 -1
- package/dist/rules/no-invalid-void-type.js.map +1 -1
- package/dist/rules/no-loop-func.js.map +1 -1
- package/dist/rules/no-magic-numbers.js.map +1 -1
- package/dist/rules/no-misused-promises.js +3 -2
- package/dist/rules/no-misused-promises.js.map +1 -1
- package/dist/rules/no-redeclare.js +2 -1
- package/dist/rules/no-redeclare.js.map +1 -1
- package/dist/rules/no-redundant-type-constituents.js +2 -0
- package/dist/rules/no-redundant-type-constituents.js.map +1 -1
- package/dist/rules/no-restricted-imports.js +80 -21
- package/dist/rules/no-restricted-imports.js.map +1 -1
- package/dist/rules/no-shadow.js +2 -1
- package/dist/rules/no-shadow.js.map +1 -1
- package/dist/rules/no-type-alias.js +24 -15
- package/dist/rules/no-type-alias.js.map +1 -1
- package/dist/rules/no-unnecessary-condition.js +2 -2
- package/dist/rules/no-unnecessary-condition.js.map +1 -1
- package/dist/rules/no-unnecessary-qualifier.js.map +1 -1
- package/dist/rules/no-unnecessary-type-assertion.js +1 -0
- package/dist/rules/no-unnecessary-type-assertion.js.map +1 -1
- package/dist/rules/no-unsafe-argument.js +3 -3
- package/dist/rules/no-unsafe-argument.js.map +1 -1
- package/dist/rules/no-unsafe-declaration-merging.js +1 -1
- package/dist/rules/no-unsafe-declaration-merging.js.map +1 -1
- package/dist/rules/no-unsafe-enum-comparison.js +119 -0
- package/dist/rules/no-unsafe-enum-comparison.js.map +1 -0
- package/dist/rules/no-unused-vars.js +4 -0
- package/dist/rules/no-unused-vars.js.map +1 -1
- package/dist/rules/no-use-before-define.js +1 -0
- package/dist/rules/no-use-before-define.js.map +1 -1
- package/dist/rules/padding-line-between-statements.js +11 -3
- package/dist/rules/padding-line-between-statements.js.map +1 -1
- package/dist/rules/parameter-properties.js +29 -30
- package/dist/rules/parameter-properties.js.map +1 -1
- package/dist/rules/prefer-includes.js +21 -5
- package/dist/rules/prefer-includes.js.map +1 -1
- package/dist/rules/prefer-nullish-coalescing.js +82 -63
- package/dist/rules/prefer-nullish-coalescing.js.map +1 -1
- package/dist/rules/prefer-optional-chain-utils/PreferOptionalChainOptions.js +3 -0
- package/dist/rules/prefer-optional-chain-utils/PreferOptionalChainOptions.js.map +1 -0
- package/dist/rules/prefer-optional-chain-utils/analyzeChain.js +419 -0
- package/dist/rules/prefer-optional-chain-utils/analyzeChain.js.map +1 -0
- package/dist/rules/prefer-optional-chain-utils/compareNodes.js +318 -0
- package/dist/rules/prefer-optional-chain-utils/compareNodes.js.map +1 -0
- package/dist/rules/prefer-optional-chain-utils/gatherLogicalOperands.js +281 -0
- package/dist/rules/prefer-optional-chain-utils/gatherLogicalOperands.js.map +1 -0
- package/dist/rules/prefer-optional-chain.js +80 -391
- package/dist/rules/prefer-optional-chain.js.map +1 -1
- package/dist/rules/prefer-readonly.js +1 -1
- package/dist/rules/prefer-readonly.js.map +1 -1
- package/dist/rules/prefer-regexp-exec.js +7 -1
- package/dist/rules/prefer-regexp-exec.js.map +1 -1
- package/dist/rules/require-array-sort-compare.js +3 -2
- package/dist/rules/require-array-sort-compare.js.map +1 -1
- package/dist/rules/restrict-plus-operands.js +132 -96
- package/dist/rules/restrict-plus-operands.js.map +1 -1
- package/dist/rules/restrict-template-expressions.js +11 -6
- package/dist/rules/restrict-template-expressions.js.map +1 -1
- package/dist/rules/return-await.js +1 -0
- package/dist/rules/return-await.js.map +1 -1
- package/dist/rules/sort-type-constituents.js +1 -1
- package/dist/rules/sort-type-constituents.js.map +1 -1
- package/dist/rules/space-before-function-paren.js +4 -0
- package/dist/rules/space-before-function-paren.js.map +1 -1
- package/dist/rules/strict-boolean-expressions.js +7 -2
- package/dist/rules/strict-boolean-expressions.js.map +1 -1
- package/dist/rules/switch-exhaustiveness-check.js.map +1 -1
- package/dist/rules/triple-slash-reference.js +3 -0
- package/dist/rules/triple-slash-reference.js.map +1 -1
- package/dist/rules/type-annotation-spacing.js +16 -14
- package/dist/rules/type-annotation-spacing.js.map +1 -1
- package/dist/rules/typedef.js +1 -0
- package/dist/rules/typedef.js.map +1 -1
- package/dist/rules/unbound-method.js +1 -0
- package/dist/rules/unbound-method.js.map +1 -1
- package/dist/rules/unified-signatures.js +3 -3
- package/dist/rules/unified-signatures.js.map +1 -1
- package/dist/util/astUtils.js.map +1 -1
- package/dist/util/collectUnusedVariables.js +1 -1
- package/dist/util/collectUnusedVariables.js.map +1 -1
- package/dist/util/getOperatorPrecedence.js +112 -2
- package/dist/util/getOperatorPrecedence.js.map +1 -1
- package/dist/util/getStringLength.js +2 -2
- package/dist/util/getStringLength.js.map +1 -1
- package/dist/util/misc.js +1 -2
- package/dist/util/misc.js.map +1 -1
- package/docs/rules/README.md +2 -2
- package/docs/rules/ban-types.md +10 -0
- package/docs/rules/comma-dangle.md +1 -1
- package/docs/rules/explicit-module-boundary-types.md +1 -1
- package/docs/rules/lines-around-comment.md +3 -13
- package/docs/rules/naming-convention.md +63 -63
- package/docs/rules/no-duplicate-type-constituents.md +61 -0
- package/docs/rules/no-unnecessary-boolean-literal-compare.md +10 -10
- package/docs/rules/no-unnecessary-type-constraint.md +6 -2
- package/docs/rules/no-unsafe-enum-comparison.md +77 -0
- package/docs/rules/prefer-includes.md +1 -1
- package/docs/rules/prefer-nullish-coalescing.md +23 -0
- package/docs/rules/prefer-optional-chain.md +195 -4
- package/docs/rules/require-await.md +0 -2
- package/docs/rules/restrict-plus-operands.md +135 -25
- package/docs/rules/restrict-template-expressions.md +15 -3
- package/docs/rules/sort-type-constituents.md +3 -3
- package/docs/rules/triple-slash-reference.md +0 -2
- package/docs/rules/type-annotation-spacing.md +22 -8
- package/docs/rules/unified-signatures.md +0 -2
- package/package.json +22 -15
|
@@ -60,18 +60,18 @@ type T2 = { a: string } & { b: string };
|
|
|
60
60
|
type T3 = [1, 2, 3] & [1, 2, 4];
|
|
61
61
|
|
|
62
62
|
type T4 =
|
|
63
|
-
| any
|
|
64
|
-
| string
|
|
65
63
|
| A
|
|
66
64
|
| B
|
|
67
65
|
| number[]
|
|
68
66
|
| string[]
|
|
67
|
+
| any
|
|
68
|
+
| string
|
|
69
69
|
| readonly number[]
|
|
70
70
|
| readonly string[]
|
|
71
71
|
| 'a'
|
|
72
|
-
| 'b'
|
|
73
72
|
| 'a'
|
|
74
73
|
| 'b'
|
|
74
|
+
| 'b'
|
|
75
75
|
| (() => string)
|
|
76
76
|
| (() => void)
|
|
77
77
|
| { a: string }
|
|
@@ -10,8 +10,6 @@ TypeScript's `///` triple-slash references are a way to indicate that types from
|
|
|
10
10
|
Use of triple-slash reference type directives is generally discouraged in favor of ECMAScript Module `import`s.
|
|
11
11
|
This rule reports on the use of `/// <reference path="..." />`, `/// <reference types="..." />`, or `/// <reference lib="..." />` directives.
|
|
12
12
|
|
|
13
|
-
## Examples
|
|
14
|
-
|
|
15
13
|
## Options
|
|
16
14
|
|
|
17
15
|
With `{ "path": "never", "types": "never", "lib": "never" }` options set, the following will all be **incorrect** usage:
|
|
@@ -39,10 +39,6 @@ type Foo = (string: name) =>string;
|
|
|
39
39
|
|
|
40
40
|
This rule aims to enforce specific spacing patterns around type annotations and function types in type literals.
|
|
41
41
|
|
|
42
|
-
## Options
|
|
43
|
-
|
|
44
|
-
Examples of code for this rule with no options at all:
|
|
45
|
-
|
|
46
42
|
<!--tabs-->
|
|
47
43
|
|
|
48
44
|
### ❌ Incorrect
|
|
@@ -89,9 +85,13 @@ class Foo {
|
|
|
89
85
|
type Foo = () => {};
|
|
90
86
|
```
|
|
91
87
|
|
|
88
|
+
## Options
|
|
89
|
+
|
|
92
90
|
### after
|
|
93
91
|
|
|
94
|
-
|
|
92
|
+
```json
|
|
93
|
+
{ "before": false, "after": true }
|
|
94
|
+
```
|
|
95
95
|
|
|
96
96
|
<!--tabs-->
|
|
97
97
|
|
|
@@ -141,7 +141,9 @@ type Foo = ()=> {};
|
|
|
141
141
|
|
|
142
142
|
### before
|
|
143
143
|
|
|
144
|
-
|
|
144
|
+
```json
|
|
145
|
+
{ "before": true, "after": true }
|
|
146
|
+
```
|
|
145
147
|
|
|
146
148
|
<!--tabs-->
|
|
147
149
|
|
|
@@ -191,7 +193,13 @@ type Foo = () => {};
|
|
|
191
193
|
|
|
192
194
|
### overrides - colon
|
|
193
195
|
|
|
194
|
-
|
|
196
|
+
```json
|
|
197
|
+
{
|
|
198
|
+
"before": false,
|
|
199
|
+
"after": false,
|
|
200
|
+
"overrides": { "colon": { "before": true, "after": true } }
|
|
201
|
+
}
|
|
202
|
+
```
|
|
195
203
|
|
|
196
204
|
<!--tabs-->
|
|
197
205
|
|
|
@@ -245,7 +253,13 @@ type Foo = ()=>{};
|
|
|
245
253
|
|
|
246
254
|
### overrides - arrow
|
|
247
255
|
|
|
248
|
-
|
|
256
|
+
```json
|
|
257
|
+
{
|
|
258
|
+
"before": false,
|
|
259
|
+
"after": false,
|
|
260
|
+
"overrides": { "arrow": { "before": true, "after": true } }
|
|
261
|
+
}
|
|
262
|
+
```
|
|
249
263
|
|
|
250
264
|
<!--tabs-->
|
|
251
265
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typescript-eslint/eslint-plugin",
|
|
3
|
-
"version": "6.0.0
|
|
3
|
+
"version": "6.0.0",
|
|
4
4
|
"description": "TypeScript plugin for ESLint",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
"engines": {
|
|
26
|
-
"node": "^
|
|
26
|
+
"node": "^16.0.0 || >=18.0.0"
|
|
27
27
|
},
|
|
28
28
|
"repository": {
|
|
29
29
|
"type": "git",
|
|
@@ -51,36 +51,43 @@
|
|
|
51
51
|
"generate:configs": "yarn tsx tools/generate-configs.ts",
|
|
52
52
|
"lint": "nx lint",
|
|
53
53
|
"test": "jest --coverage",
|
|
54
|
+
"test-single": "jest --no-coverage",
|
|
54
55
|
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
55
56
|
},
|
|
56
57
|
"dependencies": {
|
|
57
|
-
"@eslint-community/regexpp": "^4.
|
|
58
|
-
"@typescript-eslint/scope-manager": "6.0.0
|
|
59
|
-
"@typescript-eslint/type-utils": "6.0.0
|
|
60
|
-
"@typescript-eslint/utils": "6.0.0
|
|
58
|
+
"@eslint-community/regexpp": "^4.5.0",
|
|
59
|
+
"@typescript-eslint/scope-manager": "6.0.0",
|
|
60
|
+
"@typescript-eslint/type-utils": "6.0.0",
|
|
61
|
+
"@typescript-eslint/utils": "6.0.0",
|
|
62
|
+
"@typescript-eslint/visitor-keys": "6.0.0",
|
|
61
63
|
"debug": "^4.3.4",
|
|
62
64
|
"grapheme-splitter": "^1.0.4",
|
|
63
|
-
"
|
|
65
|
+
"graphemer": "^1.4.0",
|
|
66
|
+
"ignore": "^5.2.4",
|
|
67
|
+
"natural-compare": "^1.4.0",
|
|
64
68
|
"natural-compare-lite": "^1.4.0",
|
|
65
|
-
"semver": "^7.
|
|
66
|
-
"ts-api-utils": "^
|
|
69
|
+
"semver": "^7.5.0",
|
|
70
|
+
"ts-api-utils": "^1.0.1"
|
|
67
71
|
},
|
|
68
72
|
"devDependencies": {
|
|
69
73
|
"@types/debug": "*",
|
|
70
|
-
"@types/json-schema": "*",
|
|
71
74
|
"@types/marked": "*",
|
|
72
|
-
"@types/natural-compare
|
|
75
|
+
"@types/natural-compare": "*",
|
|
73
76
|
"@types/prettier": "*",
|
|
77
|
+
"@typescript-eslint/rule-schema-to-typescript-types": "6.0.0",
|
|
78
|
+
"@typescript-eslint/rule-tester": "6.0.0",
|
|
79
|
+
"chalk": "^5.0.1",
|
|
74
80
|
"cross-fetch": "*",
|
|
81
|
+
"jest-specific-snapshot": "*",
|
|
75
82
|
"json-schema": "*",
|
|
76
|
-
"markdown-table": "^3.0.
|
|
77
|
-
"marked": "^4.0
|
|
83
|
+
"markdown-table": "^3.0.3",
|
|
84
|
+
"marked": "^4.3.0",
|
|
78
85
|
"prettier": "*",
|
|
79
86
|
"title-case": "^3.0.3",
|
|
80
87
|
"typescript": "*"
|
|
81
88
|
},
|
|
82
89
|
"peerDependencies": {
|
|
83
|
-
"@typescript-eslint/parser": "^
|
|
90
|
+
"@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha",
|
|
84
91
|
"eslint": "^7.0.0 || ^8.0.0"
|
|
85
92
|
},
|
|
86
93
|
"peerDependenciesMeta": {
|
|
@@ -92,5 +99,5 @@
|
|
|
92
99
|
"type": "opencollective",
|
|
93
100
|
"url": "https://opencollective.com/typescript-eslint"
|
|
94
101
|
},
|
|
95
|
-
"gitHead": "
|
|
102
|
+
"gitHead": "6ae1fa74b18af8a2d4baa0d3d4b43997cf9a9781"
|
|
96
103
|
}
|