@typescript-eslint/eslint-plugin 8.8.1 → 8.8.2-alpha.1

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 (296) hide show
  1. package/dist/rules/adjacent-overload-signatures.js +7 -7
  2. package/dist/rules/adjacent-overload-signatures.js.map +1 -1
  3. package/dist/rules/array-type.js +6 -6
  4. package/dist/rules/array-type.js.map +1 -1
  5. package/dist/rules/await-thenable.js +3 -3
  6. package/dist/rules/await-thenable.js.map +1 -1
  7. package/dist/rules/ban-ts-comment.js +19 -19
  8. package/dist/rules/ban-ts-comment.js.map +1 -1
  9. package/dist/rules/ban-tslint-comment.js +2 -2
  10. package/dist/rules/ban-tslint-comment.js.map +1 -1
  11. package/dist/rules/class-literal-property-style.js +2 -2
  12. package/dist/rules/class-literal-property-style.js.map +1 -1
  13. package/dist/rules/class-methods-use-this.js +20 -20
  14. package/dist/rules/class-methods-use-this.js.map +1 -1
  15. package/dist/rules/consistent-generic-constructors.js +3 -3
  16. package/dist/rules/consistent-generic-constructors.js.map +1 -1
  17. package/dist/rules/consistent-indexed-object-style.js +6 -6
  18. package/dist/rules/consistent-indexed-object-style.js.map +1 -1
  19. package/dist/rules/consistent-return.js +6 -6
  20. package/dist/rules/consistent-return.js.map +1 -1
  21. package/dist/rules/consistent-type-assertions.js +13 -13
  22. package/dist/rules/consistent-type-assertions.js.map +1 -1
  23. package/dist/rules/consistent-type-definitions.js +1 -1
  24. package/dist/rules/consistent-type-definitions.js.map +1 -1
  25. package/dist/rules/consistent-type-exports.js +8 -8
  26. package/dist/rules/consistent-type-exports.js.map +1 -1
  27. package/dist/rules/consistent-type-imports.js +17 -17
  28. package/dist/rules/consistent-type-imports.js.map +1 -1
  29. package/dist/rules/default-param-last.js +1 -1
  30. package/dist/rules/default-param-last.js.map +1 -1
  31. package/dist/rules/dot-notation.js +16 -16
  32. package/dist/rules/dot-notation.js.map +1 -1
  33. package/dist/rules/explicit-function-return-type.js +28 -28
  34. package/dist/rules/explicit-function-return-type.js.map +1 -1
  35. package/dist/rules/explicit-member-accessibility.js +22 -22
  36. package/dist/rules/explicit-member-accessibility.js.map +1 -1
  37. package/dist/rules/explicit-module-boundary-types.js +17 -17
  38. package/dist/rules/explicit-module-boundary-types.js.map +1 -1
  39. package/dist/rules/init-declarations.js +1 -1
  40. package/dist/rules/init-declarations.js.map +1 -1
  41. package/dist/rules/max-params.js +9 -9
  42. package/dist/rules/max-params.js.map +1 -1
  43. package/dist/rules/member-ordering.js +24 -23
  44. package/dist/rules/member-ordering.js.map +1 -1
  45. package/dist/rules/method-signature-style.js.map +1 -1
  46. package/dist/rules/naming-convention-utils/format.js +3 -3
  47. package/dist/rules/naming-convention-utils/format.js.map +1 -1
  48. package/dist/rules/naming-convention-utils/index.js +3 -3
  49. package/dist/rules/naming-convention-utils/index.js.map +1 -1
  50. package/dist/rules/naming-convention-utils/parse-options.js +14 -14
  51. package/dist/rules/naming-convention-utils/parse-options.js.map +1 -1
  52. package/dist/rules/naming-convention-utils/schema.js +54 -54
  53. package/dist/rules/naming-convention-utils/schema.js.map +1 -1
  54. package/dist/rules/naming-convention-utils/shared.js +1 -1
  55. package/dist/rules/naming-convention-utils/shared.js.map +1 -1
  56. package/dist/rules/naming-convention-utils/validator.js +26 -26
  57. package/dist/rules/naming-convention-utils/validator.js.map +1 -1
  58. package/dist/rules/naming-convention.js +133 -133
  59. package/dist/rules/naming-convention.js.map +1 -1
  60. package/dist/rules/no-array-constructor.js +1 -1
  61. package/dist/rules/no-array-constructor.js.map +1 -1
  62. package/dist/rules/no-array-delete.js +1 -1
  63. package/dist/rules/no-array-delete.js.map +1 -1
  64. package/dist/rules/no-base-to-string.js +6 -6
  65. package/dist/rules/no-base-to-string.js.map +1 -1
  66. package/dist/rules/no-confusing-non-null-assertion.js +2 -2
  67. package/dist/rules/no-confusing-non-null-assertion.js.map +1 -1
  68. package/dist/rules/no-confusing-void-expression.js +10 -10
  69. package/dist/rules/no-confusing-void-expression.js.map +1 -1
  70. package/dist/rules/no-deprecated.js +3 -3
  71. package/dist/rules/no-deprecated.js.map +1 -1
  72. package/dist/rules/no-dupe-class-members.js +1 -1
  73. package/dist/rules/no-dupe-class-members.js.map +1 -1
  74. package/dist/rules/no-duplicate-enum-values.js.map +1 -1
  75. package/dist/rules/no-duplicate-type-constituents.js +7 -7
  76. package/dist/rules/no-duplicate-type-constituents.js.map +1 -1
  77. package/dist/rules/no-dynamic-delete.js +4 -4
  78. package/dist/rules/no-dynamic-delete.js.map +1 -1
  79. package/dist/rules/no-empty-function.js +2 -2
  80. package/dist/rules/no-empty-function.js.map +1 -1
  81. package/dist/rules/no-empty-interface.js +3 -3
  82. package/dist/rules/no-empty-interface.js.map +1 -1
  83. package/dist/rules/no-empty-object-type.js +11 -11
  84. package/dist/rules/no-empty-object-type.js.map +1 -1
  85. package/dist/rules/no-explicit-any.js +9 -9
  86. package/dist/rules/no-explicit-any.js.map +1 -1
  87. package/dist/rules/no-extra-non-null-assertion.js +3 -3
  88. package/dist/rules/no-extra-non-null-assertion.js.map +1 -1
  89. package/dist/rules/no-extraneous-class.js +9 -9
  90. package/dist/rules/no-extraneous-class.js.map +1 -1
  91. package/dist/rules/no-floating-promises.js +14 -14
  92. package/dist/rules/no-floating-promises.js.map +1 -1
  93. package/dist/rules/no-for-in-array.js +1 -1
  94. package/dist/rules/no-for-in-array.js.map +1 -1
  95. package/dist/rules/no-implied-eval.js +4 -4
  96. package/dist/rules/no-implied-eval.js.map +1 -1
  97. package/dist/rules/no-import-type-side-effects.js.map +1 -1
  98. package/dist/rules/no-inferrable-types.js +7 -7
  99. package/dist/rules/no-inferrable-types.js.map +1 -1
  100. package/dist/rules/no-invalid-this.js +7 -7
  101. package/dist/rules/no-invalid-this.js.map +1 -1
  102. package/dist/rules/no-invalid-void-type.js +12 -12
  103. package/dist/rules/no-invalid-void-type.js.map +1 -1
  104. package/dist/rules/no-loop-func.js +2 -2
  105. package/dist/rules/no-loop-func.js.map +1 -1
  106. package/dist/rules/no-loss-of-precision.js +1 -1
  107. package/dist/rules/no-loss-of-precision.js.map +1 -1
  108. package/dist/rules/no-magic-numbers.js +11 -11
  109. package/dist/rules/no-magic-numbers.js.map +1 -1
  110. package/dist/rules/no-meaningless-void-operator.js +2 -2
  111. package/dist/rules/no-meaningless-void-operator.js.map +1 -1
  112. package/dist/rules/no-misused-new.js +11 -11
  113. package/dist/rules/no-misused-new.js.map +1 -1
  114. package/dist/rules/no-misused-promises.js +29 -29
  115. package/dist/rules/no-misused-promises.js.map +1 -1
  116. package/dist/rules/no-mixed-enums.js +2 -2
  117. package/dist/rules/no-mixed-enums.js.map +1 -1
  118. package/dist/rules/no-namespace.js +3 -3
  119. package/dist/rules/no-namespace.js.map +1 -1
  120. package/dist/rules/no-non-null-asserted-nullish-coalescing.js +1 -1
  121. package/dist/rules/no-non-null-asserted-nullish-coalescing.js.map +1 -1
  122. package/dist/rules/no-non-null-assertion.js.map +1 -1
  123. package/dist/rules/no-redeclare.js +23 -23
  124. package/dist/rules/no-redeclare.js.map +1 -1
  125. package/dist/rules/no-redundant-type-constituents.js +20 -20
  126. package/dist/rules/no-redundant-type-constituents.js.map +1 -1
  127. package/dist/rules/no-require-imports.js +5 -5
  128. package/dist/rules/no-require-imports.js.map +1 -1
  129. package/dist/rules/no-restricted-imports.js +20 -20
  130. package/dist/rules/no-restricted-imports.js.map +1 -1
  131. package/dist/rules/no-restricted-types.js +9 -9
  132. package/dist/rules/no-restricted-types.js.map +1 -1
  133. package/dist/rules/no-shadow.js +27 -27
  134. package/dist/rules/no-shadow.js.map +1 -1
  135. package/dist/rules/no-this-alias.js +6 -6
  136. package/dist/rules/no-this-alias.js.map +1 -1
  137. package/dist/rules/no-type-alias.js +16 -16
  138. package/dist/rules/no-type-alias.js.map +1 -1
  139. package/dist/rules/no-unnecessary-boolean-literal-compare.js +29 -29
  140. package/dist/rules/no-unnecessary-boolean-literal-compare.js.map +1 -1
  141. package/dist/rules/no-unnecessary-condition.js +27 -27
  142. package/dist/rules/no-unnecessary-condition.js.map +1 -1
  143. package/dist/rules/no-unnecessary-parameter-property-assignment.js +18 -18
  144. package/dist/rules/no-unnecessary-parameter-property-assignment.js.map +1 -1
  145. package/dist/rules/no-unnecessary-qualifier.js +13 -13
  146. package/dist/rules/no-unnecessary-qualifier.js.map +1 -1
  147. package/dist/rules/no-unnecessary-template-expression.js +3 -3
  148. package/dist/rules/no-unnecessary-template-expression.js.map +1 -1
  149. package/dist/rules/no-unnecessary-type-arguments.js +1 -1
  150. package/dist/rules/no-unnecessary-type-arguments.js.map +1 -1
  151. package/dist/rules/no-unnecessary-type-assertion.js +44 -44
  152. package/dist/rules/no-unnecessary-type-assertion.js.map +1 -1
  153. package/dist/rules/no-unnecessary-type-constraint.js +6 -6
  154. package/dist/rules/no-unnecessary-type-constraint.js.map +1 -1
  155. package/dist/rules/no-unnecessary-type-parameters.js +7 -7
  156. package/dist/rules/no-unnecessary-type-parameters.js.map +1 -1
  157. package/dist/rules/no-unsafe-argument.js +16 -16
  158. package/dist/rules/no-unsafe-argument.js.map +1 -1
  159. package/dist/rules/no-unsafe-assignment.js +12 -12
  160. package/dist/rules/no-unsafe-assignment.js.map +1 -1
  161. package/dist/rules/no-unsafe-call.js.map +1 -1
  162. package/dist/rules/no-unsafe-declaration-merging.js.map +1 -1
  163. package/dist/rules/no-unsafe-enum-comparison.js +3 -3
  164. package/dist/rules/no-unsafe-enum-comparison.js.map +1 -1
  165. package/dist/rules/no-unsafe-function-type.js.map +1 -1
  166. package/dist/rules/no-unsafe-member-access.js +3 -3
  167. package/dist/rules/no-unsafe-member-access.js.map +1 -1
  168. package/dist/rules/no-unsafe-return.js +4 -4
  169. package/dist/rules/no-unsafe-return.js.map +1 -1
  170. package/dist/rules/no-unsafe-unary-minus.js +1 -1
  171. package/dist/rules/no-unsafe-unary-minus.js.map +1 -1
  172. package/dist/rules/no-unused-expressions.js +2 -2
  173. package/dist/rules/no-unused-expressions.js.map +1 -1
  174. package/dist/rules/no-unused-vars.js +35 -35
  175. package/dist/rules/no-unused-vars.js.map +1 -1
  176. package/dist/rules/no-use-before-define.js +20 -20
  177. package/dist/rules/no-use-before-define.js.map +1 -1
  178. package/dist/rules/no-useless-constructor.js +2 -2
  179. package/dist/rules/no-useless-constructor.js.map +1 -1
  180. package/dist/rules/no-useless-empty-export.js +3 -3
  181. package/dist/rules/no-useless-empty-export.js.map +1 -1
  182. package/dist/rules/no-var-requires.js +4 -4
  183. package/dist/rules/no-var-requires.js.map +1 -1
  184. package/dist/rules/no-wrapper-object-types.js +3 -3
  185. package/dist/rules/no-wrapper-object-types.js.map +1 -1
  186. package/dist/rules/non-nullable-type-assertion-style.js +3 -3
  187. package/dist/rules/non-nullable-type-assertion-style.js.map +1 -1
  188. package/dist/rules/only-throw-error.js +8 -8
  189. package/dist/rules/only-throw-error.js.map +1 -1
  190. package/dist/rules/parameter-properties.js +9 -9
  191. package/dist/rules/parameter-properties.js.map +1 -1
  192. package/dist/rules/prefer-as-const.js +5 -5
  193. package/dist/rules/prefer-as-const.js.map +1 -1
  194. package/dist/rules/prefer-destructuring.js +13 -13
  195. package/dist/rules/prefer-destructuring.js.map +1 -1
  196. package/dist/rules/prefer-find.js +3 -3
  197. package/dist/rules/prefer-find.js.map +1 -1
  198. package/dist/rules/prefer-for-of.js.map +1 -1
  199. package/dist/rules/prefer-function-type.js +2 -2
  200. package/dist/rules/prefer-function-type.js.map +1 -1
  201. package/dist/rules/prefer-includes.js +6 -6
  202. package/dist/rules/prefer-includes.js.map +1 -1
  203. package/dist/rules/prefer-literal-enum-member.js +4 -4
  204. package/dist/rules/prefer-literal-enum-member.js.map +1 -1
  205. package/dist/rules/prefer-nullish-coalescing.js +9 -9
  206. package/dist/rules/prefer-nullish-coalescing.js.map +1 -1
  207. package/dist/rules/prefer-optional-chain-utils/analyzeChain.js +4 -4
  208. package/dist/rules/prefer-optional-chain-utils/analyzeChain.js.map +1 -1
  209. package/dist/rules/prefer-optional-chain-utils/checkNullishAndReport.js.map +1 -1
  210. package/dist/rules/prefer-optional-chain-utils/compareNodes.js.map +1 -1
  211. package/dist/rules/prefer-optional-chain-utils/gatherLogicalOperands.js +9 -9
  212. package/dist/rules/prefer-optional-chain-utils/gatherLogicalOperands.js.map +1 -1
  213. package/dist/rules/prefer-optional-chain.js +42 -42
  214. package/dist/rules/prefer-optional-chain.js.map +1 -1
  215. package/dist/rules/prefer-promise-reject-errors.js +6 -6
  216. package/dist/rules/prefer-promise-reject-errors.js.map +1 -1
  217. package/dist/rules/prefer-readonly-parameter-types.js +6 -6
  218. package/dist/rules/prefer-readonly-parameter-types.js.map +1 -1
  219. package/dist/rules/prefer-readonly.js +60 -60
  220. package/dist/rules/prefer-readonly.js.map +1 -1
  221. package/dist/rules/prefer-reduce-type-parameter.js +2 -2
  222. package/dist/rules/prefer-reduce-type-parameter.js.map +1 -1
  223. package/dist/rules/prefer-regexp-exec.js +5 -5
  224. package/dist/rules/prefer-regexp-exec.js.map +1 -1
  225. package/dist/rules/prefer-return-this-type.js +2 -2
  226. package/dist/rules/prefer-return-this-type.js.map +1 -1
  227. package/dist/rules/prefer-string-starts-ends-with.js +6 -6
  228. package/dist/rules/prefer-string-starts-ends-with.js.map +1 -1
  229. package/dist/rules/prefer-ts-expect-error.js +1 -1
  230. package/dist/rules/prefer-ts-expect-error.js.map +1 -1
  231. package/dist/rules/promise-function-async.js +12 -12
  232. package/dist/rules/promise-function-async.js.map +1 -1
  233. package/dist/rules/require-array-sort-compare.js +6 -6
  234. package/dist/rules/require-array-sort-compare.js.map +1 -1
  235. package/dist/rules/require-await.js +12 -12
  236. package/dist/rules/require-await.js.map +1 -1
  237. package/dist/rules/restrict-plus-operands.js +17 -17
  238. package/dist/rules/restrict-plus-operands.js.map +1 -1
  239. package/dist/rules/restrict-template-expressions.js +4 -4
  240. package/dist/rules/restrict-template-expressions.js.map +1 -1
  241. package/dist/rules/return-await.js +31 -31
  242. package/dist/rules/return-await.js.map +1 -1
  243. package/dist/rules/sort-type-constituents.js +16 -16
  244. package/dist/rules/sort-type-constituents.js.map +1 -1
  245. package/dist/rules/strict-boolean-expressions.js +101 -101
  246. package/dist/rules/strict-boolean-expressions.js.map +1 -1
  247. package/dist/rules/switch-exhaustiveness-check.js +14 -14
  248. package/dist/rules/switch-exhaustiveness-check.js.map +1 -1
  249. package/dist/rules/triple-slash-reference.js +12 -12
  250. package/dist/rules/triple-slash-reference.js.map +1 -1
  251. package/dist/rules/typedef.js +9 -9
  252. package/dist/rules/typedef.js.map +1 -1
  253. package/dist/rules/unbound-method.js +6 -6
  254. package/dist/rules/unbound-method.js.map +1 -1
  255. package/dist/rules/unified-signatures.js +22 -22
  256. package/dist/rules/unified-signatures.js.map +1 -1
  257. package/dist/rules/use-unknown-in-catch-callback-variable.js +10 -10
  258. package/dist/rules/use-unknown-in-catch-callback-variable.js.map +1 -1
  259. package/dist/util/assertionFunctionUtils.js +4 -4
  260. package/dist/util/assertionFunctionUtils.js.map +1 -1
  261. package/dist/util/astUtils.js +2 -2
  262. package/dist/util/astUtils.js.map +1 -1
  263. package/dist/util/collectUnusedVariables.js +83 -83
  264. package/dist/util/collectUnusedVariables.js.map +1 -1
  265. package/dist/util/explicitReturnTypeUtils.js +1 -1
  266. package/dist/util/explicitReturnTypeUtils.js.map +1 -1
  267. package/dist/util/getFixOrSuggest.js +1 -1
  268. package/dist/util/getFixOrSuggest.js.map +1 -1
  269. package/dist/util/getForStatementHeadLoc.js +1 -1
  270. package/dist/util/getForStatementHeadLoc.js.map +1 -1
  271. package/dist/util/getFunctionHeadLoc.js +1 -1
  272. package/dist/util/getFunctionHeadLoc.js.map +1 -1
  273. package/dist/util/getMemberHeadLoc.js +2 -2
  274. package/dist/util/getMemberHeadLoc.js.map +1 -1
  275. package/dist/util/getOperatorPrecedence.js +60 -60
  276. package/dist/util/getOperatorPrecedence.js.map +1 -1
  277. package/dist/util/getStaticStringValue.js.map +1 -1
  278. package/dist/util/getThisExpression.js.map +1 -1
  279. package/dist/util/getWrappingFixer.js +2 -2
  280. package/dist/util/getWrappingFixer.js.map +1 -1
  281. package/dist/util/index.js +6 -6
  282. package/dist/util/index.js.map +1 -1
  283. package/dist/util/isArrayMethodCallWithPredicate.js.map +1 -1
  284. package/dist/util/isAssignee.js.map +1 -1
  285. package/dist/util/isNodeEqual.js.map +1 -1
  286. package/dist/util/isNullLiteral.js.map +1 -1
  287. package/dist/util/isStartOfExpressionStatement.js.map +1 -1
  288. package/dist/util/isTypeImport.js.map +1 -1
  289. package/dist/util/isUndefinedIdentifier.js.map +1 -1
  290. package/dist/util/misc.js +8 -11
  291. package/dist/util/misc.js.map +1 -1
  292. package/dist/util/needsPrecedingSemiColon.js.map +1 -1
  293. package/dist/util/rangeToLoc.js +1 -1
  294. package/dist/util/rangeToLoc.js.map +1 -1
  295. package/dist/util/referenceContainsTypeQuery.js.map +1 -1
  296. package/package.json +7 -7
@@ -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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"}