@typescript-eslint/eslint-plugin 8.8.2-alpha.0 → 8.8.2-alpha.10

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 (307) hide show
  1. package/dist/configs/eslint-recommended-raw.js +2 -2
  2. package/dist/configs/eslint-recommended-raw.js.map +1 -1
  3. package/dist/index.js +23 -21
  4. package/dist/index.js.map +1 -1
  5. package/dist/rules/adjacent-overload-signatures.js +7 -7
  6. package/dist/rules/adjacent-overload-signatures.js.map +1 -1
  7. package/dist/rules/array-type.js +6 -6
  8. package/dist/rules/array-type.js.map +1 -1
  9. package/dist/rules/await-thenable.js +3 -3
  10. package/dist/rules/await-thenable.js.map +1 -1
  11. package/dist/rules/ban-ts-comment.js +19 -19
  12. package/dist/rules/ban-ts-comment.js.map +1 -1
  13. package/dist/rules/ban-tslint-comment.js +2 -2
  14. package/dist/rules/ban-tslint-comment.js.map +1 -1
  15. package/dist/rules/class-literal-property-style.js +2 -2
  16. package/dist/rules/class-literal-property-style.js.map +1 -1
  17. package/dist/rules/class-methods-use-this.js +23 -23
  18. package/dist/rules/class-methods-use-this.js.map +1 -1
  19. package/dist/rules/consistent-generic-constructors.js +3 -3
  20. package/dist/rules/consistent-generic-constructors.js.map +1 -1
  21. package/dist/rules/consistent-indexed-object-style.js +6 -6
  22. package/dist/rules/consistent-indexed-object-style.js.map +1 -1
  23. package/dist/rules/consistent-return.js +6 -6
  24. package/dist/rules/consistent-return.js.map +1 -1
  25. package/dist/rules/consistent-type-assertions.js +13 -13
  26. package/dist/rules/consistent-type-assertions.js.map +1 -1
  27. package/dist/rules/consistent-type-definitions.js +1 -1
  28. package/dist/rules/consistent-type-definitions.js.map +1 -1
  29. package/dist/rules/consistent-type-exports.js +8 -8
  30. package/dist/rules/consistent-type-exports.js.map +1 -1
  31. package/dist/rules/consistent-type-imports.js +17 -17
  32. package/dist/rules/consistent-type-imports.js.map +1 -1
  33. package/dist/rules/default-param-last.js +1 -1
  34. package/dist/rules/default-param-last.js.map +1 -1
  35. package/dist/rules/dot-notation.js +16 -16
  36. package/dist/rules/dot-notation.js.map +1 -1
  37. package/dist/rules/explicit-function-return-type.js +28 -28
  38. package/dist/rules/explicit-function-return-type.js.map +1 -1
  39. package/dist/rules/explicit-member-accessibility.js +22 -22
  40. package/dist/rules/explicit-member-accessibility.js.map +1 -1
  41. package/dist/rules/explicit-module-boundary-types.js +17 -17
  42. package/dist/rules/explicit-module-boundary-types.js.map +1 -1
  43. package/dist/rules/index.js +2 -2
  44. package/dist/rules/index.js.map +1 -1
  45. package/dist/rules/init-declarations.js +1 -1
  46. package/dist/rules/init-declarations.js.map +1 -1
  47. package/dist/rules/max-params.js +9 -9
  48. package/dist/rules/max-params.js.map +1 -1
  49. package/dist/rules/member-ordering.js +24 -23
  50. package/dist/rules/member-ordering.js.map +1 -1
  51. package/dist/rules/method-signature-style.js.map +1 -1
  52. package/dist/rules/naming-convention-utils/format.js +3 -3
  53. package/dist/rules/naming-convention-utils/format.js.map +1 -1
  54. package/dist/rules/naming-convention-utils/index.js +3 -3
  55. package/dist/rules/naming-convention-utils/index.js.map +1 -1
  56. package/dist/rules/naming-convention-utils/parse-options.js +14 -14
  57. package/dist/rules/naming-convention-utils/parse-options.js.map +1 -1
  58. package/dist/rules/naming-convention-utils/schema.js +54 -54
  59. package/dist/rules/naming-convention-utils/schema.js.map +1 -1
  60. package/dist/rules/naming-convention-utils/shared.js +1 -1
  61. package/dist/rules/naming-convention-utils/shared.js.map +1 -1
  62. package/dist/rules/naming-convention-utils/validator.js +26 -26
  63. package/dist/rules/naming-convention-utils/validator.js.map +1 -1
  64. package/dist/rules/naming-convention.js +133 -133
  65. package/dist/rules/naming-convention.js.map +1 -1
  66. package/dist/rules/no-array-constructor.js +1 -1
  67. package/dist/rules/no-array-constructor.js.map +1 -1
  68. package/dist/rules/no-array-delete.js +1 -1
  69. package/dist/rules/no-array-delete.js.map +1 -1
  70. package/dist/rules/no-base-to-string.js +6 -6
  71. package/dist/rules/no-base-to-string.js.map +1 -1
  72. package/dist/rules/no-confusing-non-null-assertion.js +2 -2
  73. package/dist/rules/no-confusing-non-null-assertion.js.map +1 -1
  74. package/dist/rules/no-confusing-void-expression.js +10 -10
  75. package/dist/rules/no-confusing-void-expression.js.map +1 -1
  76. package/dist/rules/no-deprecated.js +3 -3
  77. package/dist/rules/no-deprecated.js.map +1 -1
  78. package/dist/rules/no-dupe-class-members.js +1 -1
  79. package/dist/rules/no-dupe-class-members.js.map +1 -1
  80. package/dist/rules/no-duplicate-enum-values.js.map +1 -1
  81. package/dist/rules/no-duplicate-type-constituents.js +8 -8
  82. package/dist/rules/no-duplicate-type-constituents.js.map +1 -1
  83. package/dist/rules/no-dynamic-delete.js +4 -4
  84. package/dist/rules/no-dynamic-delete.js.map +1 -1
  85. package/dist/rules/no-empty-function.js +2 -2
  86. package/dist/rules/no-empty-function.js.map +1 -1
  87. package/dist/rules/no-empty-interface.js +3 -3
  88. package/dist/rules/no-empty-interface.js.map +1 -1
  89. package/dist/rules/no-empty-object-type.js +11 -11
  90. package/dist/rules/no-empty-object-type.js.map +1 -1
  91. package/dist/rules/no-explicit-any.js +9 -9
  92. package/dist/rules/no-explicit-any.js.map +1 -1
  93. package/dist/rules/no-extra-non-null-assertion.js +3 -3
  94. package/dist/rules/no-extra-non-null-assertion.js.map +1 -1
  95. package/dist/rules/no-extraneous-class.js +9 -9
  96. package/dist/rules/no-extraneous-class.js.map +1 -1
  97. package/dist/rules/no-floating-promises.js +14 -14
  98. package/dist/rules/no-floating-promises.js.map +1 -1
  99. package/dist/rules/no-for-in-array.js +1 -1
  100. package/dist/rules/no-for-in-array.js.map +1 -1
  101. package/dist/rules/no-implied-eval.js +6 -6
  102. package/dist/rules/no-implied-eval.js.map +1 -1
  103. package/dist/rules/no-import-type-side-effects.js.map +1 -1
  104. package/dist/rules/no-inferrable-types.js +7 -7
  105. package/dist/rules/no-inferrable-types.js.map +1 -1
  106. package/dist/rules/no-invalid-this.js +7 -7
  107. package/dist/rules/no-invalid-this.js.map +1 -1
  108. package/dist/rules/no-invalid-void-type.js +12 -12
  109. package/dist/rules/no-invalid-void-type.js.map +1 -1
  110. package/dist/rules/no-loop-func.js +137 -118
  111. package/dist/rules/no-loop-func.js.map +1 -1
  112. package/dist/rules/no-loss-of-precision.js +1 -1
  113. package/dist/rules/no-loss-of-precision.js.map +1 -1
  114. package/dist/rules/no-magic-numbers.js +11 -11
  115. package/dist/rules/no-magic-numbers.js.map +1 -1
  116. package/dist/rules/no-meaningless-void-operator.js +2 -2
  117. package/dist/rules/no-meaningless-void-operator.js.map +1 -1
  118. package/dist/rules/no-misused-new.js +11 -11
  119. package/dist/rules/no-misused-new.js.map +1 -1
  120. package/dist/rules/no-misused-promises.js +29 -29
  121. package/dist/rules/no-misused-promises.js.map +1 -1
  122. package/dist/rules/no-mixed-enums.js +2 -2
  123. package/dist/rules/no-mixed-enums.js.map +1 -1
  124. package/dist/rules/no-namespace.js +3 -3
  125. package/dist/rules/no-namespace.js.map +1 -1
  126. package/dist/rules/no-non-null-asserted-nullish-coalescing.js +1 -1
  127. package/dist/rules/no-non-null-asserted-nullish-coalescing.js.map +1 -1
  128. package/dist/rules/no-non-null-assertion.js.map +1 -1
  129. package/dist/rules/no-redeclare.js +25 -25
  130. package/dist/rules/no-redeclare.js.map +1 -1
  131. package/dist/rules/no-redundant-type-constituents.js +20 -20
  132. package/dist/rules/no-redundant-type-constituents.js.map +1 -1
  133. package/dist/rules/no-require-imports.js +5 -5
  134. package/dist/rules/no-require-imports.js.map +1 -1
  135. package/dist/rules/no-restricted-imports.js +20 -20
  136. package/dist/rules/no-restricted-imports.js.map +1 -1
  137. package/dist/rules/no-restricted-types.js +9 -9
  138. package/dist/rules/no-restricted-types.js.map +1 -1
  139. package/dist/rules/no-shadow.js +27 -27
  140. package/dist/rules/no-shadow.js.map +1 -1
  141. package/dist/rules/no-this-alias.js +6 -6
  142. package/dist/rules/no-this-alias.js.map +1 -1
  143. package/dist/rules/no-type-alias.js +19 -19
  144. package/dist/rules/no-type-alias.js.map +1 -1
  145. package/dist/rules/no-unnecessary-boolean-literal-compare.js +29 -29
  146. package/dist/rules/no-unnecessary-boolean-literal-compare.js.map +1 -1
  147. package/dist/rules/no-unnecessary-condition.js +27 -27
  148. package/dist/rules/no-unnecessary-condition.js.map +1 -1
  149. package/dist/rules/no-unnecessary-parameter-property-assignment.js +19 -19
  150. package/dist/rules/no-unnecessary-parameter-property-assignment.js.map +1 -1
  151. package/dist/rules/no-unnecessary-qualifier.js +13 -13
  152. package/dist/rules/no-unnecessary-qualifier.js.map +1 -1
  153. package/dist/rules/no-unnecessary-template-expression.js +3 -3
  154. package/dist/rules/no-unnecessary-template-expression.js.map +1 -1
  155. package/dist/rules/no-unnecessary-type-arguments.js +1 -1
  156. package/dist/rules/no-unnecessary-type-arguments.js.map +1 -1
  157. package/dist/rules/no-unnecessary-type-assertion.js +44 -44
  158. package/dist/rules/no-unnecessary-type-assertion.js.map +1 -1
  159. package/dist/rules/no-unnecessary-type-constraint.js +6 -6
  160. package/dist/rules/no-unnecessary-type-constraint.js.map +1 -1
  161. package/dist/rules/no-unnecessary-type-parameters.js +8 -12
  162. package/dist/rules/no-unnecessary-type-parameters.js.map +1 -1
  163. package/dist/rules/no-unsafe-argument.js +16 -16
  164. package/dist/rules/no-unsafe-argument.js.map +1 -1
  165. package/dist/rules/no-unsafe-assignment.js +12 -12
  166. package/dist/rules/no-unsafe-assignment.js.map +1 -1
  167. package/dist/rules/no-unsafe-call.js.map +1 -1
  168. package/dist/rules/no-unsafe-declaration-merging.js.map +1 -1
  169. package/dist/rules/no-unsafe-enum-comparison.js +3 -3
  170. package/dist/rules/no-unsafe-enum-comparison.js.map +1 -1
  171. package/dist/rules/no-unsafe-function-type.js.map +1 -1
  172. package/dist/rules/no-unsafe-member-access.js +3 -3
  173. package/dist/rules/no-unsafe-member-access.js.map +1 -1
  174. package/dist/rules/no-unsafe-return.js +4 -4
  175. package/dist/rules/no-unsafe-return.js.map +1 -1
  176. package/dist/rules/no-unsafe-unary-minus.js +1 -1
  177. package/dist/rules/no-unsafe-unary-minus.js.map +1 -1
  178. package/dist/rules/no-unused-expressions.js +2 -2
  179. package/dist/rules/no-unused-expressions.js.map +1 -1
  180. package/dist/rules/no-unused-vars.js +40 -36
  181. package/dist/rules/no-unused-vars.js.map +1 -1
  182. package/dist/rules/no-use-before-define.js +20 -20
  183. package/dist/rules/no-use-before-define.js.map +1 -1
  184. package/dist/rules/no-useless-constructor.js +2 -2
  185. package/dist/rules/no-useless-constructor.js.map +1 -1
  186. package/dist/rules/no-useless-empty-export.js +3 -3
  187. package/dist/rules/no-useless-empty-export.js.map +1 -1
  188. package/dist/rules/no-var-requires.js +4 -4
  189. package/dist/rules/no-var-requires.js.map +1 -1
  190. package/dist/rules/no-wrapper-object-types.js +3 -3
  191. package/dist/rules/no-wrapper-object-types.js.map +1 -1
  192. package/dist/rules/non-nullable-type-assertion-style.js +3 -3
  193. package/dist/rules/non-nullable-type-assertion-style.js.map +1 -1
  194. package/dist/rules/only-throw-error.js +8 -8
  195. package/dist/rules/only-throw-error.js.map +1 -1
  196. package/dist/rules/parameter-properties.js +9 -9
  197. package/dist/rules/parameter-properties.js.map +1 -1
  198. package/dist/rules/prefer-as-const.js +5 -5
  199. package/dist/rules/prefer-as-const.js.map +1 -1
  200. package/dist/rules/prefer-destructuring.js +13 -13
  201. package/dist/rules/prefer-destructuring.js.map +1 -1
  202. package/dist/rules/prefer-find.js +3 -3
  203. package/dist/rules/prefer-find.js.map +1 -1
  204. package/dist/rules/prefer-for-of.js.map +1 -1
  205. package/dist/rules/prefer-function-type.js +9 -9
  206. package/dist/rules/prefer-function-type.js.map +1 -1
  207. package/dist/rules/prefer-includes.js +6 -6
  208. package/dist/rules/prefer-includes.js.map +1 -1
  209. package/dist/rules/prefer-literal-enum-member.js +8 -5
  210. package/dist/rules/prefer-literal-enum-member.js.map +1 -1
  211. package/dist/rules/prefer-nullish-coalescing.js +9 -9
  212. package/dist/rules/prefer-nullish-coalescing.js.map +1 -1
  213. package/dist/rules/prefer-optional-chain-utils/analyzeChain.js +4 -4
  214. package/dist/rules/prefer-optional-chain-utils/analyzeChain.js.map +1 -1
  215. package/dist/rules/prefer-optional-chain-utils/checkNullishAndReport.js.map +1 -1
  216. package/dist/rules/prefer-optional-chain-utils/compareNodes.js.map +1 -1
  217. package/dist/rules/prefer-optional-chain-utils/gatherLogicalOperands.js +9 -9
  218. package/dist/rules/prefer-optional-chain-utils/gatherLogicalOperands.js.map +1 -1
  219. package/dist/rules/prefer-optional-chain.js +42 -42
  220. package/dist/rules/prefer-optional-chain.js.map +1 -1
  221. package/dist/rules/prefer-promise-reject-errors.js +6 -6
  222. package/dist/rules/prefer-promise-reject-errors.js.map +1 -1
  223. package/dist/rules/prefer-readonly-parameter-types.js +6 -6
  224. package/dist/rules/prefer-readonly-parameter-types.js.map +1 -1
  225. package/dist/rules/prefer-readonly.js +60 -60
  226. package/dist/rules/prefer-readonly.js.map +1 -1
  227. package/dist/rules/prefer-reduce-type-parameter.js +2 -2
  228. package/dist/rules/prefer-reduce-type-parameter.js.map +1 -1
  229. package/dist/rules/prefer-regexp-exec.js +5 -5
  230. package/dist/rules/prefer-regexp-exec.js.map +1 -1
  231. package/dist/rules/prefer-return-this-type.js +2 -2
  232. package/dist/rules/prefer-return-this-type.js.map +1 -1
  233. package/dist/rules/prefer-string-starts-ends-with.js +6 -6
  234. package/dist/rules/prefer-string-starts-ends-with.js.map +1 -1
  235. package/dist/rules/prefer-ts-expect-error.js +1 -1
  236. package/dist/rules/prefer-ts-expect-error.js.map +1 -1
  237. package/dist/rules/promise-function-async.js +12 -12
  238. package/dist/rules/promise-function-async.js.map +1 -1
  239. package/dist/rules/require-array-sort-compare.js +6 -6
  240. package/dist/rules/require-array-sort-compare.js.map +1 -1
  241. package/dist/rules/require-await.js +12 -12
  242. package/dist/rules/require-await.js.map +1 -1
  243. package/dist/rules/restrict-plus-operands.js +17 -17
  244. package/dist/rules/restrict-plus-operands.js.map +1 -1
  245. package/dist/rules/restrict-template-expressions.js +4 -4
  246. package/dist/rules/restrict-template-expressions.js.map +1 -1
  247. package/dist/rules/return-await.js +36 -37
  248. package/dist/rules/return-await.js.map +1 -1
  249. package/dist/rules/sort-type-constituents.js +16 -16
  250. package/dist/rules/sort-type-constituents.js.map +1 -1
  251. package/dist/rules/strict-boolean-expressions.js +101 -101
  252. package/dist/rules/strict-boolean-expressions.js.map +1 -1
  253. package/dist/rules/switch-exhaustiveness-check.js +14 -14
  254. package/dist/rules/switch-exhaustiveness-check.js.map +1 -1
  255. package/dist/rules/triple-slash-reference.js +12 -12
  256. package/dist/rules/triple-slash-reference.js.map +1 -1
  257. package/dist/rules/typedef.js +9 -9
  258. package/dist/rules/typedef.js.map +1 -1
  259. package/dist/rules/unbound-method.js +6 -6
  260. package/dist/rules/unbound-method.js.map +1 -1
  261. package/dist/rules/unified-signatures.js +22 -22
  262. package/dist/rules/unified-signatures.js.map +1 -1
  263. package/dist/rules/use-unknown-in-catch-callback-variable.js +10 -10
  264. package/dist/rules/use-unknown-in-catch-callback-variable.js.map +1 -1
  265. package/dist/util/assertionFunctionUtils.js +4 -4
  266. package/dist/util/assertionFunctionUtils.js.map +1 -1
  267. package/dist/util/astUtils.js +2 -2
  268. package/dist/util/astUtils.js.map +1 -1
  269. package/dist/util/collectUnusedVariables.js +87 -87
  270. package/dist/util/collectUnusedVariables.js.map +1 -1
  271. package/dist/util/explicitReturnTypeUtils.js +1 -1
  272. package/dist/util/explicitReturnTypeUtils.js.map +1 -1
  273. package/dist/util/getFixOrSuggest.js +1 -1
  274. package/dist/util/getFixOrSuggest.js.map +1 -1
  275. package/dist/util/getForStatementHeadLoc.js +1 -1
  276. package/dist/util/getForStatementHeadLoc.js.map +1 -1
  277. package/dist/util/getFunctionHeadLoc.js +1 -1
  278. package/dist/util/getFunctionHeadLoc.js.map +1 -1
  279. package/dist/util/getMemberHeadLoc.js +2 -2
  280. package/dist/util/getMemberHeadLoc.js.map +1 -1
  281. package/dist/util/getOperatorPrecedence.js +60 -60
  282. package/dist/util/getOperatorPrecedence.js.map +1 -1
  283. package/dist/util/getStaticStringValue.js.map +1 -1
  284. package/dist/util/getThisExpression.js.map +1 -1
  285. package/dist/util/getWrappingFixer.js +2 -2
  286. package/dist/util/getWrappingFixer.js.map +1 -1
  287. package/dist/util/index.js +6 -6
  288. package/dist/util/index.js.map +1 -1
  289. package/dist/util/isArrayMethodCallWithPredicate.js +1 -1
  290. package/dist/util/isArrayMethodCallWithPredicate.js.map +1 -1
  291. package/dist/util/isAssignee.js.map +1 -1
  292. package/dist/util/isNodeEqual.js.map +1 -1
  293. package/dist/util/isNullLiteral.js.map +1 -1
  294. package/dist/util/isStartOfExpressionStatement.js.map +1 -1
  295. package/dist/util/isTypeImport.js.map +1 -1
  296. package/dist/util/isUndefinedIdentifier.js.map +1 -1
  297. package/dist/util/misc.js +8 -11
  298. package/dist/util/misc.js.map +1 -1
  299. package/dist/util/needsPrecedingSemiColon.js +1 -1
  300. package/dist/util/needsPrecedingSemiColon.js.map +1 -1
  301. package/dist/util/rangeToLoc.js +1 -1
  302. package/dist/util/rangeToLoc.js.map +1 -1
  303. package/dist/util/referenceContainsTypeQuery.js.map +1 -1
  304. package/docs/rules/no-unsafe-call.mdx +18 -1
  305. package/eslint-recommended-raw.d.ts +5 -0
  306. package/package.json +8 -7
  307. package/rules.d.ts +13 -4
@@ -32,103 +32,103 @@ exports.default = (0, util_1.createRule)({
32
32
  name: 'strict-boolean-expressions',
33
33
  meta: {
34
34
  type: 'suggestion',
35
- fixable: 'code',
36
- hasSuggestions: true,
37
35
  docs: {
38
36
  description: 'Disallow certain types in boolean expressions',
39
37
  requiresTypeChecking: true,
40
38
  },
39
+ fixable: 'code',
40
+ hasSuggestions: true,
41
+ messages: {
42
+ conditionErrorAny: 'Unexpected any value in conditional. ' +
43
+ 'An explicit comparison or type cast is required.',
44
+ conditionErrorNullableBoolean: 'Unexpected nullable boolean value in conditional. ' +
45
+ 'Please handle the nullish case explicitly.',
46
+ conditionErrorNullableEnum: 'Unexpected nullable enum value in conditional. ' +
47
+ 'Please handle the nullish/zero/NaN cases explicitly.',
48
+ conditionErrorNullableNumber: 'Unexpected nullable number value in conditional. ' +
49
+ 'Please handle the nullish/zero/NaN cases explicitly.',
50
+ conditionErrorNullableObject: 'Unexpected nullable object value in conditional. ' +
51
+ 'An explicit null check is required.',
52
+ conditionErrorNullableString: 'Unexpected nullable string value in conditional. ' +
53
+ 'Please handle the nullish/empty cases explicitly.',
54
+ conditionErrorNullish: 'Unexpected nullish value in conditional. ' +
55
+ 'The condition is always false.',
56
+ conditionErrorNumber: 'Unexpected number value in conditional. ' +
57
+ 'An explicit zero/NaN check is required.',
58
+ conditionErrorObject: 'Unexpected object value in conditional. ' +
59
+ 'The condition is always true.',
60
+ conditionErrorOther: 'Unexpected value in conditional. ' +
61
+ 'A boolean expression is required.',
62
+ conditionErrorString: 'Unexpected string value in conditional. ' +
63
+ 'An explicit empty string check is required.',
64
+ conditionFixCastBoolean: 'Explicitly cast value to a boolean (`Boolean(value)`)',
65
+ conditionFixCompareEmptyString: 'Change condition to check for empty string (`value !== ""`)',
66
+ conditionFixCompareFalse: 'Change condition to check if false (`value === false`)',
67
+ conditionFixCompareNaN: 'Change condition to check for NaN (`!Number.isNaN(value)`)',
68
+ conditionFixCompareNullish: 'Change condition to check for null/undefined (`value != null`)',
69
+ conditionFixCompareStringLength: "Change condition to check string's length (`value.length !== 0`)",
70
+ conditionFixCompareTrue: 'Change condition to check if true (`value === true`)',
71
+ conditionFixCompareZero: 'Change condition to check for 0 (`value !== 0`)',
72
+ conditionFixDefaultEmptyString: 'Explicitly treat nullish value the same as an empty string (`value ?? ""`)',
73
+ conditionFixDefaultFalse: 'Explicitly treat nullish value the same as false (`value ?? false`)',
74
+ conditionFixDefaultZero: 'Explicitly treat nullish value the same as 0 (`value ?? 0`)',
75
+ noStrictNullCheck: 'This rule requires the `strictNullChecks` compiler option to be turned on to function correctly.',
76
+ },
41
77
  schema: [
42
78
  {
43
79
  type: 'object',
80
+ additionalProperties: false,
44
81
  properties: {
45
- allowString: {
46
- description: 'Whether to allow `string` in a boolean context.',
47
- type: 'boolean',
48
- },
49
- allowNumber: {
50
- description: 'Whether to allow `number` in a boolean context.',
51
- type: 'boolean',
52
- },
53
- allowNullableObject: {
54
- description: 'Whether to allow nullable `object`s in a boolean context.',
82
+ allowAny: {
55
83
  type: 'boolean',
84
+ description: 'Whether to allow `any` in a boolean context.',
56
85
  },
57
86
  allowNullableBoolean: {
58
- description: 'Whether to allow nullable `boolean`s in a boolean context.',
59
87
  type: 'boolean',
88
+ description: 'Whether to allow nullable `boolean`s in a boolean context.',
60
89
  },
61
- allowNullableString: {
62
- description: 'Whether to allow nullable `string`s in a boolean context.',
90
+ allowNullableEnum: {
63
91
  type: 'boolean',
92
+ description: 'Whether to allow nullable `enum`s in a boolean context.',
64
93
  },
65
94
  allowNullableNumber: {
95
+ type: 'boolean',
66
96
  description: 'Whether to allow nullable `number`s in a boolean context.',
97
+ },
98
+ allowNullableObject: {
67
99
  type: 'boolean',
100
+ description: 'Whether to allow nullable `object`s in a boolean context.',
68
101
  },
69
- allowNullableEnum: {
70
- description: 'Whether to allow nullable `enum`s in a boolean context.',
102
+ allowNullableString: {
71
103
  type: 'boolean',
104
+ description: 'Whether to allow nullable `string`s in a boolean context.',
72
105
  },
73
- allowAny: {
74
- description: 'Whether to allow `any` in a boolean context.',
106
+ allowNumber: {
75
107
  type: 'boolean',
108
+ description: 'Whether to allow `number` in a boolean context.',
76
109
  },
77
110
  allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing: {
78
111
  type: 'boolean',
79
112
  },
113
+ allowString: {
114
+ type: 'boolean',
115
+ description: 'Whether to allow `string` in a boolean context.',
116
+ },
80
117
  },
81
- additionalProperties: false,
82
118
  },
83
119
  ],
84
- messages: {
85
- conditionErrorOther: 'Unexpected value in conditional. ' +
86
- 'A boolean expression is required.',
87
- conditionErrorAny: 'Unexpected any value in conditional. ' +
88
- 'An explicit comparison or type cast is required.',
89
- conditionErrorNullish: 'Unexpected nullish value in conditional. ' +
90
- 'The condition is always false.',
91
- conditionErrorNullableBoolean: 'Unexpected nullable boolean value in conditional. ' +
92
- 'Please handle the nullish case explicitly.',
93
- conditionErrorString: 'Unexpected string value in conditional. ' +
94
- 'An explicit empty string check is required.',
95
- conditionErrorNullableString: 'Unexpected nullable string value in conditional. ' +
96
- 'Please handle the nullish/empty cases explicitly.',
97
- conditionErrorNumber: 'Unexpected number value in conditional. ' +
98
- 'An explicit zero/NaN check is required.',
99
- conditionErrorNullableNumber: 'Unexpected nullable number value in conditional. ' +
100
- 'Please handle the nullish/zero/NaN cases explicitly.',
101
- conditionErrorObject: 'Unexpected object value in conditional. ' +
102
- 'The condition is always true.',
103
- conditionErrorNullableObject: 'Unexpected nullable object value in conditional. ' +
104
- 'An explicit null check is required.',
105
- conditionErrorNullableEnum: 'Unexpected nullable enum value in conditional. ' +
106
- 'Please handle the nullish/zero/NaN cases explicitly.',
107
- noStrictNullCheck: 'This rule requires the `strictNullChecks` compiler option to be turned on to function correctly.',
108
- conditionFixDefaultFalse: 'Explicitly treat nullish value the same as false (`value ?? false`)',
109
- conditionFixDefaultEmptyString: 'Explicitly treat nullish value the same as an empty string (`value ?? ""`)',
110
- conditionFixDefaultZero: 'Explicitly treat nullish value the same as 0 (`value ?? 0`)',
111
- conditionFixCompareNullish: 'Change condition to check for null/undefined (`value != null`)',
112
- conditionFixCastBoolean: 'Explicitly cast value to a boolean (`Boolean(value)`)',
113
- conditionFixCompareTrue: 'Change condition to check if true (`value === true`)',
114
- conditionFixCompareFalse: 'Change condition to check if false (`value === false`)',
115
- conditionFixCompareStringLength: "Change condition to check string's length (`value.length !== 0`)",
116
- conditionFixCompareEmptyString: 'Change condition to check for empty string (`value !== ""`)',
117
- conditionFixCompareZero: 'Change condition to check for 0 (`value !== 0`)',
118
- conditionFixCompareNaN: 'Change condition to check for NaN (`!Number.isNaN(value)`)',
119
- },
120
120
  },
121
121
  defaultOptions: [
122
122
  {
123
- allowString: true,
124
- allowNumber: true,
125
- allowNullableObject: true,
123
+ allowAny: false,
126
124
  allowNullableBoolean: false,
127
- allowNullableString: false,
128
- allowNullableNumber: false,
129
125
  allowNullableEnum: false,
130
- allowAny: false,
126
+ allowNullableNumber: false,
127
+ allowNullableObject: true,
128
+ allowNullableString: false,
129
+ allowNumber: true,
131
130
  allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing: false,
131
+ allowString: true,
132
132
  },
133
133
  ],
134
134
  create(context, [options]) {
@@ -140,22 +140,22 @@ exports.default = (0, util_1.createRule)({
140
140
  options.allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing !== true) {
141
141
  context.report({
142
142
  loc: {
143
- start: { line: 0, column: 0 },
144
- end: { line: 0, column: 0 },
143
+ start: { column: 0, line: 0 },
144
+ end: { column: 0, line: 0 },
145
145
  },
146
146
  messageId: 'noStrictNullCheck',
147
147
  });
148
148
  }
149
149
  const traversedNodes = new Set();
150
150
  return {
151
+ CallExpression: traverseCallExpression,
151
152
  ConditionalExpression: traverseTestExpression,
152
153
  DoWhileStatement: traverseTestExpression,
153
154
  ForStatement: traverseTestExpression,
154
155
  IfStatement: traverseTestExpression,
155
- WhileStatement: traverseTestExpression,
156
156
  'LogicalExpression[operator!="??"]': traverseLogicalExpression,
157
157
  'UnaryExpression[operator="!"]': traverseUnaryLogicalExpression,
158
- CallExpression: traverseCallExpression,
158
+ WhileStatement: traverseTestExpression,
159
159
  };
160
160
  /**
161
161
  * Inspects condition of a test expression. (`if`, `while`, `for`, etc.)
@@ -260,17 +260,17 @@ exports.default = (0, util_1.createRule)({
260
260
  {
261
261
  messageId: 'conditionFixDefaultFalse',
262
262
  fix: (0, util_1.getWrappingFixer)({
263
- sourceCode: context.sourceCode,
264
263
  node,
264
+ sourceCode: context.sourceCode,
265
265
  wrap: code => `${code} ?? false`,
266
266
  }),
267
267
  },
268
268
  {
269
269
  messageId: 'conditionFixCompareFalse',
270
270
  fix: (0, util_1.getWrappingFixer)({
271
- sourceCode: context.sourceCode,
272
271
  node: node.parent,
273
272
  innerNode: node,
273
+ sourceCode: context.sourceCode,
274
274
  wrap: code => `${code} === false`,
275
275
  }),
276
276
  },
@@ -286,16 +286,16 @@ exports.default = (0, util_1.createRule)({
286
286
  {
287
287
  messageId: 'conditionFixDefaultFalse',
288
288
  fix: (0, util_1.getWrappingFixer)({
289
- sourceCode: context.sourceCode,
290
289
  node,
290
+ sourceCode: context.sourceCode,
291
291
  wrap: code => `${code} ?? false`,
292
292
  }),
293
293
  },
294
294
  {
295
295
  messageId: 'conditionFixCompareTrue',
296
296
  fix: (0, util_1.getWrappingFixer)({
297
- sourceCode: context.sourceCode,
298
297
  node,
298
+ sourceCode: context.sourceCode,
299
299
  wrap: code => `${code} === true`,
300
300
  }),
301
301
  },
@@ -322,27 +322,27 @@ exports.default = (0, util_1.createRule)({
322
322
  {
323
323
  messageId: 'conditionFixCompareStringLength',
324
324
  fix: (0, util_1.getWrappingFixer)({
325
- sourceCode: context.sourceCode,
326
325
  node: node.parent,
327
326
  innerNode: node,
327
+ sourceCode: context.sourceCode,
328
328
  wrap: code => `${code}.length === 0`,
329
329
  }),
330
330
  },
331
331
  {
332
332
  messageId: 'conditionFixCompareEmptyString',
333
333
  fix: (0, util_1.getWrappingFixer)({
334
- sourceCode: context.sourceCode,
335
334
  node: node.parent,
336
335
  innerNode: node,
336
+ sourceCode: context.sourceCode,
337
337
  wrap: code => `${code} === ""`,
338
338
  }),
339
339
  },
340
340
  {
341
341
  messageId: 'conditionFixCastBoolean',
342
342
  fix: (0, util_1.getWrappingFixer)({
343
- sourceCode: context.sourceCode,
344
343
  node: node.parent,
345
344
  innerNode: node,
345
+ sourceCode: context.sourceCode,
346
346
  wrap: code => `!Boolean(${code})`,
347
347
  }),
348
348
  },
@@ -358,24 +358,24 @@ exports.default = (0, util_1.createRule)({
358
358
  {
359
359
  messageId: 'conditionFixCompareStringLength',
360
360
  fix: (0, util_1.getWrappingFixer)({
361
- sourceCode: context.sourceCode,
362
361
  node,
362
+ sourceCode: context.sourceCode,
363
363
  wrap: code => `${code}.length > 0`,
364
364
  }),
365
365
  },
366
366
  {
367
367
  messageId: 'conditionFixCompareEmptyString',
368
368
  fix: (0, util_1.getWrappingFixer)({
369
- sourceCode: context.sourceCode,
370
369
  node,
370
+ sourceCode: context.sourceCode,
371
371
  wrap: code => `${code} !== ""`,
372
372
  }),
373
373
  },
374
374
  {
375
375
  messageId: 'conditionFixCastBoolean',
376
376
  fix: (0, util_1.getWrappingFixer)({
377
- sourceCode: context.sourceCode,
378
377
  node,
378
+ sourceCode: context.sourceCode,
379
379
  wrap: code => `Boolean(${code})`,
380
380
  }),
381
381
  },
@@ -397,26 +397,26 @@ exports.default = (0, util_1.createRule)({
397
397
  {
398
398
  messageId: 'conditionFixCompareNullish',
399
399
  fix: (0, util_1.getWrappingFixer)({
400
- sourceCode: context.sourceCode,
401
400
  node: node.parent,
402
401
  innerNode: node,
402
+ sourceCode: context.sourceCode,
403
403
  wrap: code => `${code} == null`,
404
404
  }),
405
405
  },
406
406
  {
407
407
  messageId: 'conditionFixDefaultEmptyString',
408
408
  fix: (0, util_1.getWrappingFixer)({
409
- sourceCode: context.sourceCode,
410
409
  node,
410
+ sourceCode: context.sourceCode,
411
411
  wrap: code => `${code} ?? ""`,
412
412
  }),
413
413
  },
414
414
  {
415
415
  messageId: 'conditionFixCastBoolean',
416
416
  fix: (0, util_1.getWrappingFixer)({
417
- sourceCode: context.sourceCode,
418
417
  node: node.parent,
419
418
  innerNode: node,
419
+ sourceCode: context.sourceCode,
420
420
  wrap: code => `!Boolean(${code})`,
421
421
  }),
422
422
  },
@@ -432,24 +432,24 @@ exports.default = (0, util_1.createRule)({
432
432
  {
433
433
  messageId: 'conditionFixCompareNullish',
434
434
  fix: (0, util_1.getWrappingFixer)({
435
- sourceCode: context.sourceCode,
436
435
  node,
436
+ sourceCode: context.sourceCode,
437
437
  wrap: code => `${code} != null`,
438
438
  }),
439
439
  },
440
440
  {
441
441
  messageId: 'conditionFixDefaultEmptyString',
442
442
  fix: (0, util_1.getWrappingFixer)({
443
- sourceCode: context.sourceCode,
444
443
  node,
444
+ sourceCode: context.sourceCode,
445
445
  wrap: code => `${code} ?? ""`,
446
446
  }),
447
447
  },
448
448
  {
449
449
  messageId: 'conditionFixCastBoolean',
450
450
  fix: (0, util_1.getWrappingFixer)({
451
- sourceCode: context.sourceCode,
452
451
  node,
452
+ sourceCode: context.sourceCode,
453
453
  wrap: code => `Boolean(${code})`,
454
454
  }),
455
455
  },
@@ -469,9 +469,9 @@ exports.default = (0, util_1.createRule)({
469
469
  node,
470
470
  messageId: 'conditionErrorNumber',
471
471
  fix: (0, util_1.getWrappingFixer)({
472
- sourceCode: context.sourceCode,
473
472
  node: node.parent,
474
473
  innerNode: node,
474
+ sourceCode: context.sourceCode,
475
475
  wrap: code => `${code} === 0`,
476
476
  }),
477
477
  });
@@ -482,8 +482,8 @@ exports.default = (0, util_1.createRule)({
482
482
  node,
483
483
  messageId: 'conditionErrorNumber',
484
484
  fix: (0, util_1.getWrappingFixer)({
485
- sourceCode: context.sourceCode,
486
485
  node,
486
+ sourceCode: context.sourceCode,
487
487
  wrap: code => `${code} > 0`,
488
488
  }),
489
489
  });
@@ -498,9 +498,9 @@ exports.default = (0, util_1.createRule)({
498
498
  {
499
499
  messageId: 'conditionFixCompareZero',
500
500
  fix: (0, util_1.getWrappingFixer)({
501
- sourceCode: context.sourceCode,
502
501
  node: node.parent,
503
502
  innerNode: node,
503
+ sourceCode: context.sourceCode,
504
504
  // TODO: we have to compare to 0n if the type is bigint
505
505
  wrap: code => `${code} === 0`,
506
506
  }),
@@ -509,18 +509,18 @@ exports.default = (0, util_1.createRule)({
509
509
  // TODO: don't suggest this for bigint because it can't be NaN
510
510
  messageId: 'conditionFixCompareNaN',
511
511
  fix: (0, util_1.getWrappingFixer)({
512
- sourceCode: context.sourceCode,
513
512
  node: node.parent,
514
513
  innerNode: node,
514
+ sourceCode: context.sourceCode,
515
515
  wrap: code => `Number.isNaN(${code})`,
516
516
  }),
517
517
  },
518
518
  {
519
519
  messageId: 'conditionFixCastBoolean',
520
520
  fix: (0, util_1.getWrappingFixer)({
521
- sourceCode: context.sourceCode,
522
521
  node: node.parent,
523
522
  innerNode: node,
523
+ sourceCode: context.sourceCode,
524
524
  wrap: code => `!Boolean(${code})`,
525
525
  }),
526
526
  },
@@ -536,24 +536,24 @@ exports.default = (0, util_1.createRule)({
536
536
  {
537
537
  messageId: 'conditionFixCompareZero',
538
538
  fix: (0, util_1.getWrappingFixer)({
539
- sourceCode: context.sourceCode,
540
539
  node,
540
+ sourceCode: context.sourceCode,
541
541
  wrap: code => `${code} !== 0`,
542
542
  }),
543
543
  },
544
544
  {
545
545
  messageId: 'conditionFixCompareNaN',
546
546
  fix: (0, util_1.getWrappingFixer)({
547
- sourceCode: context.sourceCode,
548
547
  node,
548
+ sourceCode: context.sourceCode,
549
549
  wrap: code => `!Number.isNaN(${code})`,
550
550
  }),
551
551
  },
552
552
  {
553
553
  messageId: 'conditionFixCastBoolean',
554
554
  fix: (0, util_1.getWrappingFixer)({
555
- sourceCode: context.sourceCode,
556
555
  node,
556
+ sourceCode: context.sourceCode,
557
557
  wrap: code => `Boolean(${code})`,
558
558
  }),
559
559
  },
@@ -575,26 +575,26 @@ exports.default = (0, util_1.createRule)({
575
575
  {
576
576
  messageId: 'conditionFixCompareNullish',
577
577
  fix: (0, util_1.getWrappingFixer)({
578
- sourceCode: context.sourceCode,
579
578
  node: node.parent,
580
579
  innerNode: node,
580
+ sourceCode: context.sourceCode,
581
581
  wrap: code => `${code} == null`,
582
582
  }),
583
583
  },
584
584
  {
585
585
  messageId: 'conditionFixDefaultZero',
586
586
  fix: (0, util_1.getWrappingFixer)({
587
- sourceCode: context.sourceCode,
588
587
  node,
588
+ sourceCode: context.sourceCode,
589
589
  wrap: code => `${code} ?? 0`,
590
590
  }),
591
591
  },
592
592
  {
593
593
  messageId: 'conditionFixCastBoolean',
594
594
  fix: (0, util_1.getWrappingFixer)({
595
- sourceCode: context.sourceCode,
596
595
  node: node.parent,
597
596
  innerNode: node,
597
+ sourceCode: context.sourceCode,
598
598
  wrap: code => `!Boolean(${code})`,
599
599
  }),
600
600
  },
@@ -610,24 +610,24 @@ exports.default = (0, util_1.createRule)({
610
610
  {
611
611
  messageId: 'conditionFixCompareNullish',
612
612
  fix: (0, util_1.getWrappingFixer)({
613
- sourceCode: context.sourceCode,
614
613
  node,
614
+ sourceCode: context.sourceCode,
615
615
  wrap: code => `${code} != null`,
616
616
  }),
617
617
  },
618
618
  {
619
619
  messageId: 'conditionFixDefaultZero',
620
620
  fix: (0, util_1.getWrappingFixer)({
621
- sourceCode: context.sourceCode,
622
621
  node,
622
+ sourceCode: context.sourceCode,
623
623
  wrap: code => `${code} ?? 0`,
624
624
  }),
625
625
  },
626
626
  {
627
627
  messageId: 'conditionFixCastBoolean',
628
628
  fix: (0, util_1.getWrappingFixer)({
629
- sourceCode: context.sourceCode,
630
629
  node,
630
+ sourceCode: context.sourceCode,
631
631
  wrap: code => `Boolean(${code})`,
632
632
  }),
633
633
  },
@@ -655,9 +655,9 @@ exports.default = (0, util_1.createRule)({
655
655
  {
656
656
  messageId: 'conditionFixCompareNullish',
657
657
  fix: (0, util_1.getWrappingFixer)({
658
- sourceCode: context.sourceCode,
659
658
  node: node.parent,
660
659
  innerNode: node,
660
+ sourceCode: context.sourceCode,
661
661
  wrap: code => `${code} == null`,
662
662
  }),
663
663
  },
@@ -673,8 +673,8 @@ exports.default = (0, util_1.createRule)({
673
673
  {
674
674
  messageId: 'conditionFixCompareNullish',
675
675
  fix: (0, util_1.getWrappingFixer)({
676
- sourceCode: context.sourceCode,
677
676
  node,
677
+ sourceCode: context.sourceCode,
678
678
  wrap: code => `${code} != null`,
679
679
  }),
680
680
  },
@@ -700,9 +700,9 @@ exports.default = (0, util_1.createRule)({
700
700
  node,
701
701
  messageId: 'conditionErrorNullableEnum',
702
702
  fix: (0, util_1.getWrappingFixer)({
703
- sourceCode: context.sourceCode,
704
703
  node: node.parent,
705
704
  innerNode: node,
705
+ sourceCode: context.sourceCode,
706
706
  wrap: code => `${code} == null`,
707
707
  }),
708
708
  });
@@ -712,8 +712,8 @@ exports.default = (0, util_1.createRule)({
712
712
  node,
713
713
  messageId: 'conditionErrorNullableEnum',
714
714
  fix: (0, util_1.getWrappingFixer)({
715
- sourceCode: context.sourceCode,
716
715
  node,
716
+ sourceCode: context.sourceCode,
717
717
  wrap: code => `${code} != null`,
718
718
  }),
719
719
  });
@@ -731,8 +731,8 @@ exports.default = (0, util_1.createRule)({
731
731
  {
732
732
  messageId: 'conditionFixCastBoolean',
733
733
  fix: (0, util_1.getWrappingFixer)({
734
- sourceCode: context.sourceCode,
735
734
  node,
735
+ sourceCode: context.sourceCode,
736
736
  wrap: code => `Boolean(${code})`,
737
737
  }),
738
738
  },
@@ -1 +1 @@
1
- {"version":3,"file":"strict-boolean-expressions.js","sourceRoot":"","sources":["../../src/rules/strict-boolean-expressions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strict-boolean-expressions.js","sourceRoot":"","sources":["../../src/rules/strict-boolean-expressions.ts"],"names":[],"mappings":"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"}