@typescript-eslint/eslint-plugin 6.0.0-alpha.99 → 6.0.1-alpha.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.
Files changed (195) hide show
  1. package/README.md +2 -0
  2. package/dist/configs/all.js +2 -0
  3. package/dist/configs/all.js.map +1 -1
  4. package/dist/configs/disable-type-checked.js +3 -0
  5. package/dist/configs/disable-type-checked.js.map +1 -1
  6. package/dist/configs/recommended-type-checked.js +6 -0
  7. package/dist/configs/recommended-type-checked.js.map +1 -1
  8. package/dist/configs/recommended.js +2 -0
  9. package/dist/configs/recommended.js.map +1 -1
  10. package/dist/configs/strict-type-checked.js +4 -0
  11. package/dist/configs/strict-type-checked.js.map +1 -1
  12. package/dist/configs/stylistic-type-checked.js +0 -1
  13. package/dist/configs/stylistic-type-checked.js.map +1 -1
  14. package/dist/configs/stylistic.js +0 -2
  15. package/dist/configs/stylistic.js.map +1 -1
  16. package/dist/index.js +1 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/rules/array-type.js +19 -20
  19. package/dist/rules/array-type.js.map +1 -1
  20. package/dist/rules/ban-ts-comment.js +33 -35
  21. package/dist/rules/ban-ts-comment.js.map +1 -1
  22. package/dist/rules/ban-types.js +75 -14
  23. package/dist/rules/ban-types.js.map +1 -1
  24. package/dist/rules/class-literal-property-style.js +38 -21
  25. package/dist/rules/class-literal-property-style.js.map +1 -1
  26. package/dist/rules/comma-dangle.js +4 -2
  27. package/dist/rules/comma-dangle.js.map +1 -1
  28. package/dist/rules/comma-spacing.js +5 -0
  29. package/dist/rules/comma-spacing.js.map +1 -1
  30. package/dist/rules/consistent-generic-constructors.js +1 -0
  31. package/dist/rules/consistent-generic-constructors.js.map +1 -1
  32. package/dist/rules/consistent-indexed-object-style.js +1 -0
  33. package/dist/rules/consistent-indexed-object-style.js.map +1 -1
  34. package/dist/rules/consistent-type-assertions.js +49 -0
  35. package/dist/rules/consistent-type-assertions.js.map +1 -1
  36. package/dist/rules/consistent-type-definitions.js +1 -0
  37. package/dist/rules/consistent-type-definitions.js.map +1 -1
  38. package/dist/rules/consistent-type-exports.js +1 -0
  39. package/dist/rules/consistent-type-exports.js.map +1 -1
  40. package/dist/rules/consistent-type-imports.js +2 -0
  41. package/dist/rules/consistent-type-imports.js.map +1 -1
  42. package/dist/rules/enum-utils/shared.js +61 -0
  43. package/dist/rules/enum-utils/shared.js.map +1 -0
  44. package/dist/rules/explicit-function-return-type.js.map +1 -1
  45. package/dist/rules/explicit-member-accessibility.js +43 -44
  46. package/dist/rules/explicit-member-accessibility.js.map +1 -1
  47. package/dist/rules/explicit-module-boundary-types.js +1 -1
  48. package/dist/rules/explicit-module-boundary-types.js.map +1 -1
  49. package/dist/rules/func-call-spacing.js +2 -0
  50. package/dist/rules/func-call-spacing.js.map +1 -1
  51. package/dist/rules/indent.js.map +1 -1
  52. package/dist/rules/index.js +4 -0
  53. package/dist/rules/index.js.map +1 -1
  54. package/dist/rules/key-spacing.js.map +1 -1
  55. package/dist/rules/keyword-spacing.js.map +1 -1
  56. package/dist/rules/lines-around-comment.js +78 -81
  57. package/dist/rules/lines-around-comment.js.map +1 -1
  58. package/dist/rules/lines-between-class-members.js +7 -5
  59. package/dist/rules/lines-between-class-members.js.map +1 -1
  60. package/dist/rules/member-delimiter-style.js +45 -27
  61. package/dist/rules/member-delimiter-style.js.map +1 -1
  62. package/dist/rules/member-ordering.js +55 -66
  63. package/dist/rules/member-ordering.js.map +1 -1
  64. package/dist/rules/method-signature-style.js +1 -0
  65. package/dist/rules/method-signature-style.js.map +1 -1
  66. package/dist/rules/naming-convention-utils/enums.js +6 -12
  67. package/dist/rules/naming-convention-utils/enums.js.map +1 -1
  68. package/dist/rules/naming-convention-utils/schema.js +50 -25
  69. package/dist/rules/naming-convention-utils/schema.js.map +1 -1
  70. package/dist/rules/naming-convention.js.map +1 -1
  71. package/dist/rules/no-base-to-string.js +2 -2
  72. package/dist/rules/no-base-to-string.js.map +1 -1
  73. package/dist/rules/no-confusing-void-expression.js +1 -0
  74. package/dist/rules/no-confusing-void-expression.js.map +1 -1
  75. package/dist/rules/no-duplicate-type-constituents.js +161 -0
  76. package/dist/rules/no-duplicate-type-constituents.js.map +1 -0
  77. package/dist/rules/no-empty-function.js +1 -0
  78. package/dist/rules/no-empty-function.js.map +1 -1
  79. package/dist/rules/no-empty-interface.js +2 -1
  80. package/dist/rules/no-empty-interface.js.map +1 -1
  81. package/dist/rules/no-explicit-any.js +1 -1
  82. package/dist/rules/no-explicit-any.js.map +1 -1
  83. package/dist/rules/no-extraneous-class.js +2 -3
  84. package/dist/rules/no-extraneous-class.js.map +1 -1
  85. package/dist/rules/no-implied-eval.js +1 -0
  86. package/dist/rules/no-implied-eval.js.map +1 -1
  87. package/dist/rules/no-inferrable-types.js.map +1 -1
  88. package/dist/rules/no-invalid-void-type.js +1 -1
  89. package/dist/rules/no-invalid-void-type.js.map +1 -1
  90. package/dist/rules/no-loop-func.js.map +1 -1
  91. package/dist/rules/no-magic-numbers.js.map +1 -1
  92. package/dist/rules/no-misused-promises.js +3 -2
  93. package/dist/rules/no-misused-promises.js.map +1 -1
  94. package/dist/rules/no-redeclare.js +2 -1
  95. package/dist/rules/no-redeclare.js.map +1 -1
  96. package/dist/rules/no-redundant-type-constituents.js +2 -0
  97. package/dist/rules/no-redundant-type-constituents.js.map +1 -1
  98. package/dist/rules/no-restricted-imports.js +80 -21
  99. package/dist/rules/no-restricted-imports.js.map +1 -1
  100. package/dist/rules/no-shadow.js +2 -1
  101. package/dist/rules/no-shadow.js.map +1 -1
  102. package/dist/rules/no-type-alias.js +24 -15
  103. package/dist/rules/no-type-alias.js.map +1 -1
  104. package/dist/rules/no-unnecessary-condition.js +2 -2
  105. package/dist/rules/no-unnecessary-condition.js.map +1 -1
  106. package/dist/rules/no-unnecessary-qualifier.js.map +1 -1
  107. package/dist/rules/no-unnecessary-type-assertion.js +1 -0
  108. package/dist/rules/no-unnecessary-type-assertion.js.map +1 -1
  109. package/dist/rules/no-unsafe-argument.js +3 -3
  110. package/dist/rules/no-unsafe-argument.js.map +1 -1
  111. package/dist/rules/no-unsafe-declaration-merging.js +1 -1
  112. package/dist/rules/no-unsafe-declaration-merging.js.map +1 -1
  113. package/dist/rules/no-unsafe-enum-comparison.js +119 -0
  114. package/dist/rules/no-unsafe-enum-comparison.js.map +1 -0
  115. package/dist/rules/no-unused-vars.js +4 -0
  116. package/dist/rules/no-unused-vars.js.map +1 -1
  117. package/dist/rules/no-use-before-define.js +1 -0
  118. package/dist/rules/no-use-before-define.js.map +1 -1
  119. package/dist/rules/padding-line-between-statements.js +11 -3
  120. package/dist/rules/padding-line-between-statements.js.map +1 -1
  121. package/dist/rules/parameter-properties.js +29 -30
  122. package/dist/rules/parameter-properties.js.map +1 -1
  123. package/dist/rules/prefer-includes.js +21 -5
  124. package/dist/rules/prefer-includes.js.map +1 -1
  125. package/dist/rules/prefer-nullish-coalescing.js +82 -63
  126. package/dist/rules/prefer-nullish-coalescing.js.map +1 -1
  127. package/dist/rules/prefer-optional-chain-utils/PreferOptionalChainOptions.js +3 -0
  128. package/dist/rules/prefer-optional-chain-utils/PreferOptionalChainOptions.js.map +1 -0
  129. package/dist/rules/prefer-optional-chain-utils/analyzeChain.js +419 -0
  130. package/dist/rules/prefer-optional-chain-utils/analyzeChain.js.map +1 -0
  131. package/dist/rules/prefer-optional-chain-utils/compareNodes.js +318 -0
  132. package/dist/rules/prefer-optional-chain-utils/compareNodes.js.map +1 -0
  133. package/dist/rules/prefer-optional-chain-utils/gatherLogicalOperands.js +281 -0
  134. package/dist/rules/prefer-optional-chain-utils/gatherLogicalOperands.js.map +1 -0
  135. package/dist/rules/prefer-optional-chain.js +80 -391
  136. package/dist/rules/prefer-optional-chain.js.map +1 -1
  137. package/dist/rules/prefer-readonly.js +1 -1
  138. package/dist/rules/prefer-readonly.js.map +1 -1
  139. package/dist/rules/prefer-regexp-exec.js +7 -1
  140. package/dist/rules/prefer-regexp-exec.js.map +1 -1
  141. package/dist/rules/require-array-sort-compare.js +3 -2
  142. package/dist/rules/require-array-sort-compare.js.map +1 -1
  143. package/dist/rules/restrict-plus-operands.js +132 -96
  144. package/dist/rules/restrict-plus-operands.js.map +1 -1
  145. package/dist/rules/restrict-template-expressions.js +11 -6
  146. package/dist/rules/restrict-template-expressions.js.map +1 -1
  147. package/dist/rules/return-await.js +1 -0
  148. package/dist/rules/return-await.js.map +1 -1
  149. package/dist/rules/sort-type-constituents.js +1 -1
  150. package/dist/rules/sort-type-constituents.js.map +1 -1
  151. package/dist/rules/space-before-function-paren.js +4 -0
  152. package/dist/rules/space-before-function-paren.js.map +1 -1
  153. package/dist/rules/strict-boolean-expressions.js +7 -2
  154. package/dist/rules/strict-boolean-expressions.js.map +1 -1
  155. package/dist/rules/switch-exhaustiveness-check.js.map +1 -1
  156. package/dist/rules/triple-slash-reference.js +3 -0
  157. package/dist/rules/triple-slash-reference.js.map +1 -1
  158. package/dist/rules/type-annotation-spacing.js +16 -14
  159. package/dist/rules/type-annotation-spacing.js.map +1 -1
  160. package/dist/rules/typedef.js +1 -0
  161. package/dist/rules/typedef.js.map +1 -1
  162. package/dist/rules/unbound-method.js +1 -0
  163. package/dist/rules/unbound-method.js.map +1 -1
  164. package/dist/rules/unified-signatures.js +3 -3
  165. package/dist/rules/unified-signatures.js.map +1 -1
  166. package/dist/util/astUtils.js.map +1 -1
  167. package/dist/util/collectUnusedVariables.js +1 -1
  168. package/dist/util/collectUnusedVariables.js.map +1 -1
  169. package/dist/util/getOperatorPrecedence.js +112 -2
  170. package/dist/util/getOperatorPrecedence.js.map +1 -1
  171. package/dist/util/getStringLength.js +2 -2
  172. package/dist/util/getStringLength.js.map +1 -1
  173. package/dist/util/misc.js +1 -2
  174. package/dist/util/misc.js.map +1 -1
  175. package/docs/rules/README.md +2 -2
  176. package/docs/rules/ban-types.md +10 -0
  177. package/docs/rules/comma-dangle.md +1 -1
  178. package/docs/rules/explicit-module-boundary-types.md +1 -1
  179. package/docs/rules/lines-around-comment.md +3 -13
  180. package/docs/rules/naming-convention.md +63 -63
  181. package/docs/rules/no-duplicate-type-constituents.md +61 -0
  182. package/docs/rules/no-unnecessary-boolean-literal-compare.md +10 -10
  183. package/docs/rules/no-unnecessary-type-constraint.md +6 -2
  184. package/docs/rules/no-unsafe-enum-comparison.md +77 -0
  185. package/docs/rules/prefer-includes.md +1 -1
  186. package/docs/rules/prefer-nullish-coalescing.md +23 -0
  187. package/docs/rules/prefer-optional-chain.md +195 -4
  188. package/docs/rules/require-await.md +0 -2
  189. package/docs/rules/restrict-plus-operands.md +135 -25
  190. package/docs/rules/restrict-template-expressions.md +15 -3
  191. package/docs/rules/sort-type-constituents.md +3 -3
  192. package/docs/rules/triple-slash-reference.md +0 -2
  193. package/docs/rules/type-annotation-spacing.md +22 -8
  194. package/docs/rules/unified-signatures.md +0 -2
  195. 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
- Examples of code for this rule with `{ "before": false, "after": true }`:
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
- Examples of code for this rule with `{ "before": true, "after": true }` options:
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
- Examples of code for this rule with `{ "before": false, "after": false, overrides: { colon: { before: true, after: true }} }` options:
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
- Examples of code for this rule with `{ "before": false, "after": false, overrides: { arrow: { before: true, after: true }} }` options:
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
 
@@ -66,5 +66,3 @@ function f(a: string): void;
66
66
  function f(a: number): void;
67
67
  function f(b: string): void;
68
68
  ```
69
-
70
- ## Options
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typescript-eslint/eslint-plugin",
3
- "version": "6.0.0-alpha.99+f84bf4af9",
3
+ "version": "6.0.1-alpha.0+6ae1fa74b",
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": "^14.18.0 || ^16.0.0 || >=18.0.0"
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.4.0",
58
- "@typescript-eslint/scope-manager": "6.0.0-alpha.99+f84bf4af9",
59
- "@typescript-eslint/type-utils": "6.0.0-alpha.99+f84bf4af9",
60
- "@typescript-eslint/utils": "6.0.0-alpha.99+f84bf4af9",
58
+ "@eslint-community/regexpp": "^4.5.0",
59
+ "@typescript-eslint/scope-manager": "6.0.1-alpha.0+6ae1fa74b",
60
+ "@typescript-eslint/type-utils": "6.0.1-alpha.0+6ae1fa74b",
61
+ "@typescript-eslint/utils": "6.0.1-alpha.0+6ae1fa74b",
62
+ "@typescript-eslint/visitor-keys": "6.0.1-alpha.0+6ae1fa74b",
61
63
  "debug": "^4.3.4",
62
64
  "grapheme-splitter": "^1.0.4",
63
- "ignore": "^5.2.0",
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.3.7",
66
- "ts-api-utils": "^0.0.44"
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-lite": "^1.4.0",
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.1-alpha.0+6ae1fa74b",
79
+ "chalk": "^5.0.1",
74
80
  "cross-fetch": "*",
81
+ "jest-specific-snapshot": "*",
75
82
  "json-schema": "*",
76
- "markdown-table": "^3.0.2",
77
- "marked": "^4.0.15",
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": "^5.0.0 || ^6.0.0 || ^6.0.0-alpha",
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": "f84bf4af9bd6e94ec0386d4be0a0e2403c4aa164"
102
+ "gitHead": "6ae1fa74b18af8a2d4baa0d3d4b43997cf9a9781"
96
103
  }