eslint 8.16.0 → 8.19.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 (295) hide show
  1. package/README.md +2 -7
  2. package/bin/eslint.js +1 -1
  3. package/lib/eslint/eslint.js +3 -3
  4. package/lib/linter/linter.js +5 -1
  5. package/lib/linter/timing.js +2 -1
  6. package/lib/rules/accessor-pairs.js +1 -1
  7. package/lib/rules/array-bracket-newline.js +1 -1
  8. package/lib/rules/array-bracket-spacing.js +1 -1
  9. package/lib/rules/array-callback-return.js +1 -1
  10. package/lib/rules/array-element-newline.js +1 -1
  11. package/lib/rules/arrow-body-style.js +1 -1
  12. package/lib/rules/arrow-parens.js +1 -1
  13. package/lib/rules/arrow-spacing.js +1 -1
  14. package/lib/rules/block-scoped-var.js +1 -1
  15. package/lib/rules/block-spacing.js +1 -1
  16. package/lib/rules/brace-style.js +1 -1
  17. package/lib/rules/callback-return.js +1 -1
  18. package/lib/rules/camelcase.js +1 -1
  19. package/lib/rules/capitalized-comments.js +1 -1
  20. package/lib/rules/class-methods-use-this.js +1 -1
  21. package/lib/rules/comma-dangle.js +1 -1
  22. package/lib/rules/comma-spacing.js +1 -1
  23. package/lib/rules/comma-style.js +1 -1
  24. package/lib/rules/complexity.js +1 -1
  25. package/lib/rules/computed-property-spacing.js +1 -1
  26. package/lib/rules/consistent-return.js +1 -1
  27. package/lib/rules/consistent-this.js +1 -1
  28. package/lib/rules/constructor-super.js +1 -1
  29. package/lib/rules/curly.js +1 -1
  30. package/lib/rules/default-case-last.js +1 -1
  31. package/lib/rules/default-case.js +1 -1
  32. package/lib/rules/default-param-last.js +1 -1
  33. package/lib/rules/dot-location.js +1 -1
  34. package/lib/rules/dot-notation.js +1 -1
  35. package/lib/rules/eol-last.js +1 -1
  36. package/lib/rules/eqeqeq.js +1 -1
  37. package/lib/rules/for-direction.js +1 -1
  38. package/lib/rules/func-call-spacing.js +1 -1
  39. package/lib/rules/func-name-matching.js +1 -1
  40. package/lib/rules/func-names.js +1 -1
  41. package/lib/rules/func-style.js +1 -1
  42. package/lib/rules/function-call-argument-newline.js +1 -1
  43. package/lib/rules/function-paren-newline.js +2 -2
  44. package/lib/rules/generator-star-spacing.js +1 -1
  45. package/lib/rules/getter-return.js +1 -1
  46. package/lib/rules/global-require.js +1 -1
  47. package/lib/rules/grouped-accessor-pairs.js +1 -1
  48. package/lib/rules/guard-for-in.js +1 -1
  49. package/lib/rules/handle-callback-err.js +1 -1
  50. package/lib/rules/id-blacklist.js +1 -1
  51. package/lib/rules/id-denylist.js +1 -1
  52. package/lib/rules/id-length.js +1 -1
  53. package/lib/rules/id-match.js +1 -1
  54. package/lib/rules/implicit-arrow-linebreak.js +1 -1
  55. package/lib/rules/indent-legacy.js +1 -1
  56. package/lib/rules/indent.js +46 -14
  57. package/lib/rules/init-declarations.js +1 -1
  58. package/lib/rules/jsx-quotes.js +1 -1
  59. package/lib/rules/key-spacing.js +1 -1
  60. package/lib/rules/keyword-spacing.js +1 -1
  61. package/lib/rules/line-comment-position.js +1 -1
  62. package/lib/rules/linebreak-style.js +1 -1
  63. package/lib/rules/lines-around-comment.js +1 -1
  64. package/lib/rules/lines-around-directive.js +1 -1
  65. package/lib/rules/lines-between-class-members.js +1 -1
  66. package/lib/rules/max-classes-per-file.js +1 -1
  67. package/lib/rules/max-depth.js +1 -1
  68. package/lib/rules/max-len.js +1 -1
  69. package/lib/rules/max-lines-per-function.js +1 -1
  70. package/lib/rules/max-lines.js +1 -1
  71. package/lib/rules/max-nested-callbacks.js +1 -1
  72. package/lib/rules/max-params.js +1 -1
  73. package/lib/rules/max-statements-per-line.js +1 -1
  74. package/lib/rules/max-statements.js +2 -2
  75. package/lib/rules/multiline-comment-style.js +1 -1
  76. package/lib/rules/multiline-ternary.js +1 -1
  77. package/lib/rules/new-cap.js +1 -1
  78. package/lib/rules/new-parens.js +1 -1
  79. package/lib/rules/newline-after-var.js +1 -1
  80. package/lib/rules/newline-before-return.js +1 -1
  81. package/lib/rules/newline-per-chained-call.js +1 -1
  82. package/lib/rules/no-alert.js +1 -1
  83. package/lib/rules/no-array-constructor.js +1 -1
  84. package/lib/rules/no-async-promise-executor.js +1 -1
  85. package/lib/rules/no-await-in-loop.js +1 -1
  86. package/lib/rules/no-bitwise.js +1 -1
  87. package/lib/rules/no-buffer-constructor.js +1 -1
  88. package/lib/rules/no-caller.js +1 -1
  89. package/lib/rules/no-case-declarations.js +1 -1
  90. package/lib/rules/no-catch-shadow.js +1 -1
  91. package/lib/rules/no-class-assign.js +1 -1
  92. package/lib/rules/no-compare-neg-zero.js +1 -1
  93. package/lib/rules/no-cond-assign.js +1 -1
  94. package/lib/rules/no-confusing-arrow.js +1 -1
  95. package/lib/rules/no-console.js +1 -1
  96. package/lib/rules/no-const-assign.js +1 -1
  97. package/lib/rules/no-constant-binary-expression.js +4 -4
  98. package/lib/rules/no-constant-condition.js +1 -1
  99. package/lib/rules/no-constructor-return.js +1 -1
  100. package/lib/rules/no-continue.js +1 -1
  101. package/lib/rules/no-control-regex.js +1 -1
  102. package/lib/rules/no-debugger.js +1 -1
  103. package/lib/rules/no-delete-var.js +1 -1
  104. package/lib/rules/no-div-regex.js +1 -1
  105. package/lib/rules/no-dupe-args.js +1 -1
  106. package/lib/rules/no-dupe-class-members.js +1 -1
  107. package/lib/rules/no-dupe-else-if.js +1 -1
  108. package/lib/rules/no-dupe-keys.js +1 -1
  109. package/lib/rules/no-duplicate-case.js +1 -1
  110. package/lib/rules/no-duplicate-imports.js +1 -1
  111. package/lib/rules/no-else-return.js +1 -1
  112. package/lib/rules/no-empty-character-class.js +1 -1
  113. package/lib/rules/no-empty-function.js +1 -1
  114. package/lib/rules/no-empty-pattern.js +1 -1
  115. package/lib/rules/no-empty.js +1 -1
  116. package/lib/rules/no-eq-null.js +1 -1
  117. package/lib/rules/no-eval.js +1 -1
  118. package/lib/rules/no-ex-assign.js +1 -1
  119. package/lib/rules/no-extend-native.js +1 -1
  120. package/lib/rules/no-extra-bind.js +1 -1
  121. package/lib/rules/no-extra-boolean-cast.js +1 -1
  122. package/lib/rules/no-extra-label.js +1 -1
  123. package/lib/rules/no-extra-parens.js +1 -1
  124. package/lib/rules/no-extra-semi.js +1 -1
  125. package/lib/rules/no-fallthrough.js +1 -1
  126. package/lib/rules/no-floating-decimal.js +1 -1
  127. package/lib/rules/no-func-assign.js +1 -1
  128. package/lib/rules/no-global-assign.js +1 -1
  129. package/lib/rules/no-implicit-coercion.js +3 -3
  130. package/lib/rules/no-implicit-globals.js +1 -1
  131. package/lib/rules/no-implied-eval.js +1 -1
  132. package/lib/rules/no-import-assign.js +1 -1
  133. package/lib/rules/no-inline-comments.js +1 -1
  134. package/lib/rules/no-inner-declarations.js +1 -1
  135. package/lib/rules/no-invalid-regexp.js +1 -1
  136. package/lib/rules/no-invalid-this.js +1 -1
  137. package/lib/rules/no-irregular-whitespace.js +1 -1
  138. package/lib/rules/no-iterator.js +1 -1
  139. package/lib/rules/no-label-var.js +1 -1
  140. package/lib/rules/no-labels.js +1 -1
  141. package/lib/rules/no-lone-blocks.js +1 -1
  142. package/lib/rules/no-lonely-if.js +1 -1
  143. package/lib/rules/no-loop-func.js +2 -2
  144. package/lib/rules/no-loss-of-precision.js +1 -1
  145. package/lib/rules/no-magic-numbers.js +1 -1
  146. package/lib/rules/no-misleading-character-class.js +1 -1
  147. package/lib/rules/no-mixed-operators.js +1 -1
  148. package/lib/rules/no-mixed-requires.js +1 -1
  149. package/lib/rules/no-mixed-spaces-and-tabs.js +1 -1
  150. package/lib/rules/no-multi-assign.js +1 -1
  151. package/lib/rules/no-multi-spaces.js +1 -1
  152. package/lib/rules/no-multi-str.js +1 -1
  153. package/lib/rules/no-multiple-empty-lines.js +1 -1
  154. package/lib/rules/no-native-reassign.js +1 -1
  155. package/lib/rules/no-negated-condition.js +1 -1
  156. package/lib/rules/no-negated-in-lhs.js +1 -1
  157. package/lib/rules/no-nested-ternary.js +1 -1
  158. package/lib/rules/no-new-func.js +1 -1
  159. package/lib/rules/no-new-object.js +2 -2
  160. package/lib/rules/no-new-require.js +1 -1
  161. package/lib/rules/no-new-symbol.js +1 -1
  162. package/lib/rules/no-new-wrappers.js +1 -1
  163. package/lib/rules/no-new.js +1 -1
  164. package/lib/rules/no-nonoctal-decimal-escape.js +1 -1
  165. package/lib/rules/no-obj-calls.js +1 -1
  166. package/lib/rules/no-octal-escape.js +1 -1
  167. package/lib/rules/no-octal.js +3 -3
  168. package/lib/rules/no-param-reassign.js +1 -1
  169. package/lib/rules/no-path-concat.js +1 -1
  170. package/lib/rules/no-plusplus.js +1 -1
  171. package/lib/rules/no-process-env.js +1 -1
  172. package/lib/rules/no-process-exit.js +1 -1
  173. package/lib/rules/no-promise-executor-return.js +1 -1
  174. package/lib/rules/no-proto.js +1 -1
  175. package/lib/rules/no-prototype-builtins.js +1 -1
  176. package/lib/rules/no-redeclare.js +1 -1
  177. package/lib/rules/no-regex-spaces.js +1 -1
  178. package/lib/rules/no-restricted-exports.js +1 -1
  179. package/lib/rules/no-restricted-globals.js +1 -1
  180. package/lib/rules/no-restricted-imports.js +77 -12
  181. package/lib/rules/no-restricted-modules.js +1 -1
  182. package/lib/rules/no-restricted-properties.js +1 -1
  183. package/lib/rules/no-restricted-syntax.js +1 -1
  184. package/lib/rules/no-return-assign.js +1 -1
  185. package/lib/rules/no-return-await.js +1 -1
  186. package/lib/rules/no-script-url.js +1 -1
  187. package/lib/rules/no-self-assign.js +1 -1
  188. package/lib/rules/no-self-compare.js +1 -1
  189. package/lib/rules/no-sequences.js +1 -1
  190. package/lib/rules/no-setter-return.js +1 -1
  191. package/lib/rules/no-shadow-restricted-names.js +1 -1
  192. package/lib/rules/no-shadow.js +1 -1
  193. package/lib/rules/no-spaced-func.js +1 -1
  194. package/lib/rules/no-sparse-arrays.js +1 -1
  195. package/lib/rules/no-sync.js +1 -1
  196. package/lib/rules/no-tabs.js +1 -1
  197. package/lib/rules/no-template-curly-in-string.js +1 -1
  198. package/lib/rules/no-ternary.js +1 -1
  199. package/lib/rules/no-this-before-super.js +1 -1
  200. package/lib/rules/no-throw-literal.js +1 -1
  201. package/lib/rules/no-trailing-spaces.js +1 -1
  202. package/lib/rules/no-undef-init.js +1 -1
  203. package/lib/rules/no-undef.js +1 -1
  204. package/lib/rules/no-undefined.js +1 -1
  205. package/lib/rules/no-underscore-dangle.js +1 -1
  206. package/lib/rules/no-unexpected-multiline.js +1 -1
  207. package/lib/rules/no-unmodified-loop-condition.js +1 -1
  208. package/lib/rules/no-unneeded-ternary.js +1 -1
  209. package/lib/rules/no-unreachable-loop.js +1 -1
  210. package/lib/rules/no-unreachable.js +1 -1
  211. package/lib/rules/no-unsafe-finally.js +1 -1
  212. package/lib/rules/no-unsafe-negation.js +1 -1
  213. package/lib/rules/no-unsafe-optional-chaining.js +1 -1
  214. package/lib/rules/no-unused-expressions.js +1 -1
  215. package/lib/rules/no-unused-labels.js +1 -1
  216. package/lib/rules/no-unused-private-class-members.js +1 -1
  217. package/lib/rules/no-unused-vars.js +5 -5
  218. package/lib/rules/no-use-before-define.js +16 -3
  219. package/lib/rules/no-useless-backreference.js +1 -1
  220. package/lib/rules/no-useless-call.js +1 -1
  221. package/lib/rules/no-useless-catch.js +1 -1
  222. package/lib/rules/no-useless-computed-key.js +1 -1
  223. package/lib/rules/no-useless-concat.js +1 -1
  224. package/lib/rules/no-useless-constructor.js +1 -1
  225. package/lib/rules/no-useless-escape.js +1 -1
  226. package/lib/rules/no-useless-rename.js +1 -1
  227. package/lib/rules/no-useless-return.js +1 -1
  228. package/lib/rules/no-var.js +1 -1
  229. package/lib/rules/no-void.js +1 -1
  230. package/lib/rules/no-warning-comments.js +1 -1
  231. package/lib/rules/no-whitespace-before-property.js +1 -1
  232. package/lib/rules/no-with.js +1 -1
  233. package/lib/rules/nonblock-statement-body-position.js +1 -1
  234. package/lib/rules/object-curly-newline.js +1 -1
  235. package/lib/rules/object-curly-spacing.js +1 -1
  236. package/lib/rules/object-property-newline.js +1 -1
  237. package/lib/rules/object-shorthand.js +1 -1
  238. package/lib/rules/one-var-declaration-per-line.js +1 -1
  239. package/lib/rules/one-var.js +1 -1
  240. package/lib/rules/operator-assignment.js +1 -1
  241. package/lib/rules/operator-linebreak.js +1 -1
  242. package/lib/rules/padded-blocks.js +1 -1
  243. package/lib/rules/padding-line-between-statements.js +1 -1
  244. package/lib/rules/prefer-arrow-callback.js +1 -1
  245. package/lib/rules/prefer-const.js +1 -1
  246. package/lib/rules/prefer-destructuring.js +1 -1
  247. package/lib/rules/prefer-exponentiation-operator.js +1 -1
  248. package/lib/rules/prefer-named-capture-group.js +1 -1
  249. package/lib/rules/prefer-numeric-literals.js +1 -1
  250. package/lib/rules/prefer-object-has-own.js +1 -1
  251. package/lib/rules/prefer-object-spread.js +1 -1
  252. package/lib/rules/prefer-promise-reject-errors.js +1 -1
  253. package/lib/rules/prefer-reflect.js +1 -1
  254. package/lib/rules/prefer-regex-literals.js +1 -1
  255. package/lib/rules/prefer-rest-params.js +1 -1
  256. package/lib/rules/prefer-spread.js +1 -1
  257. package/lib/rules/prefer-template.js +1 -1
  258. package/lib/rules/quote-props.js +1 -1
  259. package/lib/rules/quotes.js +1 -1
  260. package/lib/rules/radix.js +1 -1
  261. package/lib/rules/require-atomic-updates.js +1 -1
  262. package/lib/rules/require-await.js +1 -1
  263. package/lib/rules/require-jsdoc.js +1 -1
  264. package/lib/rules/require-unicode-regexp.js +1 -1
  265. package/lib/rules/require-yield.js +1 -1
  266. package/lib/rules/rest-spread-spacing.js +1 -1
  267. package/lib/rules/semi-spacing.js +1 -1
  268. package/lib/rules/semi-style.js +1 -1
  269. package/lib/rules/semi.js +1 -1
  270. package/lib/rules/sort-imports.js +1 -1
  271. package/lib/rules/sort-keys.js +1 -1
  272. package/lib/rules/sort-vars.js +1 -1
  273. package/lib/rules/space-before-blocks.js +1 -1
  274. package/lib/rules/space-before-function-paren.js +1 -1
  275. package/lib/rules/space-in-parens.js +1 -1
  276. package/lib/rules/space-infix-ops.js +1 -1
  277. package/lib/rules/space-unary-ops.js +1 -1
  278. package/lib/rules/spaced-comment.js +1 -1
  279. package/lib/rules/strict.js +1 -1
  280. package/lib/rules/switch-colon-spacing.js +1 -1
  281. package/lib/rules/symbol-description.js +1 -1
  282. package/lib/rules/template-curly-spacing.js +1 -1
  283. package/lib/rules/template-tag-spacing.js +1 -1
  284. package/lib/rules/unicode-bom.js +1 -1
  285. package/lib/rules/use-isnan.js +1 -1
  286. package/lib/rules/valid-jsdoc.js +1 -1
  287. package/lib/rules/valid-typeof.js +1 -1
  288. package/lib/rules/vars-on-top.js +1 -1
  289. package/lib/rules/wrap-iife.js +1 -1
  290. package/lib/rules/wrap-regex.js +1 -1
  291. package/lib/rules/yield-star-spacing.js +1 -1
  292. package/lib/rules/yoda.js +1 -1
  293. package/lib/shared/deprecation-warnings.js +1 -8
  294. package/lib/shared/types.js +1 -1
  295. package/package.json +3 -2
@@ -500,7 +500,7 @@ module.exports = {
500
500
  type: "layout",
501
501
 
502
502
  docs: {
503
- description: "enforce consistent indentation",
503
+ description: "Enforce consistent indentation",
504
504
  recommended: false,
505
505
  url: "https://eslint.org/docs/rules/indent"
506
506
  },
@@ -916,18 +916,6 @@ module.exports = {
916
916
  }
917
917
 
918
918
  offsets.setDesiredOffsets([firstBodyToken.range[0], lastBodyToken.range[1]], lastParentToken, 1);
919
-
920
- /*
921
- * For blockless nodes with semicolon-first style, don't indent the semicolon.
922
- * e.g.
923
- * if (foo) bar()
924
- * ; [1, 2, 3].map(foo)
925
- */
926
- const lastToken = sourceCode.getLastToken(node);
927
-
928
- if (node.type !== "EmptyStatement" && astUtils.isSemicolonToken(lastToken)) {
929
- offsets.setDesiredOffset(lastToken, lastParentToken, 0);
930
- }
931
919
  }
932
920
  }
933
921
 
@@ -1223,7 +1211,7 @@ module.exports = {
1223
1211
  }
1224
1212
  },
1225
1213
 
1226
- "DoWhileStatement, WhileStatement, ForInStatement, ForOfStatement": node => addBlocklessNodeIndent(node.body),
1214
+ "DoWhileStatement, WhileStatement, ForInStatement, ForOfStatement, WithStatement": node => addBlocklessNodeIndent(node.body),
1227
1215
 
1228
1216
  ExportNamedDeclaration(node) {
1229
1217
  if (node.declaration === null) {
@@ -1271,6 +1259,50 @@ module.exports = {
1271
1259
  }
1272
1260
  },
1273
1261
 
1262
+ /*
1263
+ * For blockless nodes with semicolon-first style, don't indent the semicolon.
1264
+ * e.g.
1265
+ * if (foo)
1266
+ * bar()
1267
+ * ; [1, 2, 3].map(foo)
1268
+ *
1269
+ * Traversal into the node sets indentation of the semicolon, so we need to override it on exit.
1270
+ */
1271
+ ":matches(DoWhileStatement, ForStatement, ForInStatement, ForOfStatement, IfStatement, WhileStatement, WithStatement):exit"(node) {
1272
+ let nodesToCheck;
1273
+
1274
+ if (node.type === "IfStatement") {
1275
+ nodesToCheck = [node.consequent];
1276
+ if (node.alternate) {
1277
+ nodesToCheck.push(node.alternate);
1278
+ }
1279
+ } else {
1280
+ nodesToCheck = [node.body];
1281
+ }
1282
+
1283
+ for (const nodeToCheck of nodesToCheck) {
1284
+ const lastToken = sourceCode.getLastToken(nodeToCheck);
1285
+
1286
+ if (astUtils.isSemicolonToken(lastToken)) {
1287
+ const tokenBeforeLast = sourceCode.getTokenBefore(lastToken);
1288
+ const tokenAfterLast = sourceCode.getTokenAfter(lastToken);
1289
+
1290
+ // override indentation of `;` only if its line looks like a semicolon-first style line
1291
+ if (
1292
+ !astUtils.isTokenOnSameLine(tokenBeforeLast, lastToken) &&
1293
+ tokenAfterLast &&
1294
+ astUtils.isTokenOnSameLine(lastToken, tokenAfterLast)
1295
+ ) {
1296
+ offsets.setDesiredOffset(
1297
+ lastToken,
1298
+ sourceCode.getFirstToken(node),
1299
+ 0
1300
+ );
1301
+ }
1302
+ }
1303
+ }
1304
+ },
1305
+
1274
1306
  ImportDeclaration(node) {
1275
1307
  if (node.specifiers.some(specifier => specifier.type === "ImportSpecifier")) {
1276
1308
  const openingCurly = sourceCode.getFirstToken(node, astUtils.isOpeningBraceToken);
@@ -48,7 +48,7 @@ module.exports = {
48
48
  type: "suggestion",
49
49
 
50
50
  docs: {
51
- description: "require or disallow initialization in variable declarations",
51
+ description: "Require or disallow initialization in variable declarations",
52
52
  recommended: false,
53
53
  url: "https://eslint.org/docs/rules/init-declarations"
54
54
  },
@@ -42,7 +42,7 @@ module.exports = {
42
42
  type: "layout",
43
43
 
44
44
  docs: {
45
- description: "enforce the consistent use of either double or single quotes in JSX attributes",
45
+ description: "Enforce the consistent use of either double or single quotes in JSX attributes",
46
46
  recommended: false,
47
47
  url: "https://eslint.org/docs/rules/jsx-quotes"
48
48
  },
@@ -139,7 +139,7 @@ module.exports = {
139
139
  type: "layout",
140
140
 
141
141
  docs: {
142
- description: "enforce consistent spacing between keys and values in object literal properties",
142
+ description: "Enforce consistent spacing between keys and values in object literal properties",
143
143
  recommended: false,
144
144
  url: "https://eslint.org/docs/rules/key-spacing"
145
145
  },
@@ -67,7 +67,7 @@ module.exports = {
67
67
  type: "layout",
68
68
 
69
69
  docs: {
70
- description: "enforce consistent spacing before and after keywords",
70
+ description: "Enforce consistent spacing before and after keywords",
71
71
  recommended: false,
72
72
  url: "https://eslint.org/docs/rules/keyword-spacing"
73
73
  },
@@ -16,7 +16,7 @@ module.exports = {
16
16
  type: "layout",
17
17
 
18
18
  docs: {
19
- description: "enforce position of line comments",
19
+ description: "Enforce position of line comments",
20
20
  recommended: false,
21
21
  url: "https://eslint.org/docs/rules/line-comment-position"
22
22
  },
@@ -21,7 +21,7 @@ module.exports = {
21
21
  type: "layout",
22
22
 
23
23
  docs: {
24
- description: "enforce consistent linebreak style",
24
+ description: "Enforce consistent linebreak style",
25
25
  recommended: false,
26
26
  url: "https://eslint.org/docs/rules/linebreak-style"
27
27
  },
@@ -55,7 +55,7 @@ module.exports = {
55
55
  type: "layout",
56
56
 
57
57
  docs: {
58
- description: "require empty lines around comments",
58
+ description: "Require empty lines around comments",
59
59
  recommended: false,
60
60
  url: "https://eslint.org/docs/rules/lines-around-comment"
61
61
  },
@@ -18,7 +18,7 @@ module.exports = {
18
18
  type: "layout",
19
19
 
20
20
  docs: {
21
- description: "require or disallow newlines around directives",
21
+ description: "Require or disallow newlines around directives",
22
22
  recommended: false,
23
23
  url: "https://eslint.org/docs/rules/lines-around-directive"
24
24
  },
@@ -20,7 +20,7 @@ module.exports = {
20
20
  type: "layout",
21
21
 
22
22
  docs: {
23
- description: "require or disallow an empty line between class members",
23
+ description: "Require or disallow an empty line between class members",
24
24
  recommended: false,
25
25
  url: "https://eslint.org/docs/rules/lines-between-class-members"
26
26
  },
@@ -19,7 +19,7 @@ module.exports = {
19
19
  type: "suggestion",
20
20
 
21
21
  docs: {
22
- description: "enforce a maximum number of classes per file",
22
+ description: "Enforce a maximum number of classes per file",
23
23
  recommended: false,
24
24
  url: "https://eslint.org/docs/rules/max-classes-per-file"
25
25
  },
@@ -15,7 +15,7 @@ module.exports = {
15
15
  type: "suggestion",
16
16
 
17
17
  docs: {
18
- description: "enforce a maximum depth that blocks can be nested",
18
+ description: "Enforce a maximum depth that blocks can be nested",
19
19
  recommended: false,
20
20
  url: "https://eslint.org/docs/rules/max-depth"
21
21
  },
@@ -69,7 +69,7 @@ module.exports = {
69
69
  type: "layout",
70
70
 
71
71
  docs: {
72
- description: "enforce a maximum line length",
72
+ description: "Enforce a maximum line length",
73
73
  recommended: false,
74
74
  url: "https://eslint.org/docs/rules/max-len"
75
75
  },
@@ -71,7 +71,7 @@ module.exports = {
71
71
  type: "suggestion",
72
72
 
73
73
  docs: {
74
- description: "enforce a maximum number of lines of code in a function",
74
+ description: "Enforce a maximum number of lines of code in a function",
75
75
  recommended: false,
76
76
  url: "https://eslint.org/docs/rules/max-lines-per-function"
77
77
  },
@@ -34,7 +34,7 @@ module.exports = {
34
34
  type: "suggestion",
35
35
 
36
36
  docs: {
37
- description: "enforce a maximum number of lines per file",
37
+ description: "Enforce a maximum number of lines per file",
38
38
  recommended: false,
39
39
  url: "https://eslint.org/docs/rules/max-lines"
40
40
  },
@@ -15,7 +15,7 @@ module.exports = {
15
15
  type: "suggestion",
16
16
 
17
17
  docs: {
18
- description: "enforce a maximum depth that callbacks can be nested",
18
+ description: "Enforce a maximum depth that callbacks can be nested",
19
19
  recommended: false,
20
20
  url: "https://eslint.org/docs/rules/max-nested-callbacks"
21
21
  },
@@ -22,7 +22,7 @@ module.exports = {
22
22
  type: "suggestion",
23
23
 
24
24
  docs: {
25
- description: "enforce a maximum number of parameters in function definitions",
25
+ description: "Enforce a maximum number of parameters in function definitions",
26
26
  recommended: false,
27
27
  url: "https://eslint.org/docs/rules/max-params"
28
28
  },
@@ -20,7 +20,7 @@ module.exports = {
20
20
  type: "layout",
21
21
 
22
22
  docs: {
23
- description: "enforce a maximum number of statements allowed per line",
23
+ description: "Enforce a maximum number of statements allowed per line",
24
24
  recommended: false,
25
25
  url: "https://eslint.org/docs/rules/max-statements-per-line"
26
26
  },
@@ -22,7 +22,7 @@ module.exports = {
22
22
  type: "suggestion",
23
23
 
24
24
  docs: {
25
- description: "enforce a maximum number of statements allowed in function blocks",
25
+ description: "Enforce a maximum number of statements allowed in function blocks",
26
26
  recommended: false,
27
27
  url: "https://eslint.org/docs/rules/max-statements"
28
28
  },
@@ -126,7 +126,7 @@ module.exports = {
126
126
 
127
127
  /*
128
128
  * This rule does not apply to class static blocks, but we have to track them so
129
- * that stataments in them do not count as statements in the enclosing function.
129
+ * that statements in them do not count as statements in the enclosing function.
130
130
  */
131
131
  if (node.type === "StaticBlock") {
132
132
  return;
@@ -16,7 +16,7 @@ module.exports = {
16
16
  type: "suggestion",
17
17
 
18
18
  docs: {
19
- description: "enforce a particular style for multiline comments",
19
+ description: "Enforce a particular style for multiline comments",
20
20
  recommended: false,
21
21
  url: "https://eslint.org/docs/rules/multiline-comment-style"
22
22
  },
@@ -17,7 +17,7 @@ module.exports = {
17
17
  type: "layout",
18
18
 
19
19
  docs: {
20
- description: "enforce newlines between operands of ternary expressions",
20
+ description: "Enforce newlines between operands of ternary expressions",
21
21
  recommended: false,
22
22
  url: "https://eslint.org/docs/rules/multiline-ternary"
23
23
  },
@@ -82,7 +82,7 @@ module.exports = {
82
82
  type: "suggestion",
83
83
 
84
84
  docs: {
85
- description: "require constructor names to begin with a capital letter",
85
+ description: "Require constructor names to begin with a capital letter",
86
86
  recommended: false,
87
87
  url: "https://eslint.org/docs/rules/new-cap"
88
88
  },
@@ -25,7 +25,7 @@ module.exports = {
25
25
  type: "layout",
26
26
 
27
27
  docs: {
28
- description: "enforce or disallow parentheses when invoking a constructor with no arguments",
28
+ description: "Enforce or disallow parentheses when invoking a constructor with no arguments",
29
29
  recommended: false,
30
30
  url: "https://eslint.org/docs/rules/new-parens"
31
31
  },
@@ -22,7 +22,7 @@ module.exports = {
22
22
  type: "layout",
23
23
 
24
24
  docs: {
25
- description: "require or disallow an empty line after variable declarations",
25
+ description: "Require or disallow an empty line after variable declarations",
26
26
  recommended: false,
27
27
  url: "https://eslint.org/docs/rules/newline-after-var"
28
28
  },
@@ -15,7 +15,7 @@ module.exports = {
15
15
  type: "layout",
16
16
 
17
17
  docs: {
18
- description: "require an empty line before `return` statements",
18
+ description: "Require an empty line before `return` statements",
19
19
  recommended: false,
20
20
  url: "https://eslint.org/docs/rules/newline-before-return"
21
21
  },
@@ -18,7 +18,7 @@ module.exports = {
18
18
  type: "layout",
19
19
 
20
20
  docs: {
21
- description: "require a newline after each call in a method chain",
21
+ description: "Require a newline after each call in a method chain",
22
22
  recommended: false,
23
23
  url: "https://eslint.org/docs/rules/newline-per-chained-call"
24
24
  },
@@ -88,7 +88,7 @@ module.exports = {
88
88
  type: "suggestion",
89
89
 
90
90
  docs: {
91
- description: "disallow the use of `alert`, `confirm`, and `prompt`",
91
+ description: "Disallow the use of `alert`, `confirm`, and `prompt`",
92
92
  recommended: false,
93
93
  url: "https://eslint.org/docs/rules/no-alert"
94
94
  },
@@ -15,7 +15,7 @@ module.exports = {
15
15
  type: "suggestion",
16
16
 
17
17
  docs: {
18
- description: "disallow `Array` constructors",
18
+ description: "Disallow `Array` constructors",
19
19
  recommended: false,
20
20
  url: "https://eslint.org/docs/rules/no-array-constructor"
21
21
  },
@@ -14,7 +14,7 @@ module.exports = {
14
14
  type: "problem",
15
15
 
16
16
  docs: {
17
- description: "disallow using an async function as a Promise executor",
17
+ description: "Disallow using an async function as a Promise executor",
18
18
  recommended: true,
19
19
  url: "https://eslint.org/docs/rules/no-async-promise-executor"
20
20
  },
@@ -59,7 +59,7 @@ module.exports = {
59
59
  type: "problem",
60
60
 
61
61
  docs: {
62
- description: "disallow `await` inside of loops",
62
+ description: "Disallow `await` inside of loops",
63
63
  recommended: false,
64
64
  url: "https://eslint.org/docs/rules/no-await-in-loop"
65
65
  },
@@ -26,7 +26,7 @@ module.exports = {
26
26
  type: "suggestion",
27
27
 
28
28
  docs: {
29
- description: "disallow bitwise operators",
29
+ description: "Disallow bitwise operators",
30
30
  recommended: false,
31
31
  url: "https://eslint.org/docs/rules/no-bitwise"
32
32
  },
@@ -19,7 +19,7 @@ module.exports = {
19
19
  type: "problem",
20
20
 
21
21
  docs: {
22
- description: "disallow use of the `Buffer()` constructor",
22
+ description: "Disallow use of the `Buffer()` constructor",
23
23
  recommended: false,
24
24
  url: "https://eslint.org/docs/rules/no-buffer-constructor"
25
25
  },
@@ -15,7 +15,7 @@ module.exports = {
15
15
  type: "suggestion",
16
16
 
17
17
  docs: {
18
- description: "disallow the use of `arguments.caller` or `arguments.callee`",
18
+ description: "Disallow the use of `arguments.caller` or `arguments.callee`",
19
19
  recommended: false,
20
20
  url: "https://eslint.org/docs/rules/no-caller"
21
21
  },
@@ -14,7 +14,7 @@ module.exports = {
14
14
  type: "suggestion",
15
15
 
16
16
  docs: {
17
- description: "disallow lexical declarations in case clauses",
17
+ description: "Disallow lexical declarations in case clauses",
18
18
  recommended: true,
19
19
  url: "https://eslint.org/docs/rules/no-case-declarations"
20
20
  },
@@ -22,7 +22,7 @@ module.exports = {
22
22
  type: "suggestion",
23
23
 
24
24
  docs: {
25
- description: "disallow `catch` clause parameters from shadowing variables in the outer scope",
25
+ description: "Disallow `catch` clause parameters from shadowing variables in the outer scope",
26
26
  recommended: false,
27
27
  url: "https://eslint.org/docs/rules/no-catch-shadow"
28
28
  },
@@ -17,7 +17,7 @@ module.exports = {
17
17
  type: "problem",
18
18
 
19
19
  docs: {
20
- description: "disallow reassigning class members",
20
+ description: "Disallow reassigning class members",
21
21
  recommended: true,
22
22
  url: "https://eslint.org/docs/rules/no-class-assign"
23
23
  },
@@ -14,7 +14,7 @@ module.exports = {
14
14
  type: "problem",
15
15
 
16
16
  docs: {
17
- description: "disallow comparing against -0",
17
+ description: "Disallow comparing against -0",
18
18
  recommended: true,
19
19
  url: "https://eslint.org/docs/rules/no-compare-neg-zero"
20
20
  },
@@ -34,7 +34,7 @@ module.exports = {
34
34
  type: "problem",
35
35
 
36
36
  docs: {
37
- description: "disallow assignment operators in conditional expressions",
37
+ description: "Disallow assignment operators in conditional expressions",
38
38
  recommended: true,
39
39
  url: "https://eslint.org/docs/rules/no-cond-assign"
40
40
  },
@@ -31,7 +31,7 @@ module.exports = {
31
31
  type: "suggestion",
32
32
 
33
33
  docs: {
34
- description: "disallow arrow functions where they could be confused with comparisons",
34
+ description: "Disallow arrow functions where they could be confused with comparisons",
35
35
  recommended: false,
36
36
  url: "https://eslint.org/docs/rules/no-confusing-arrow"
37
37
  },
@@ -21,7 +21,7 @@ module.exports = {
21
21
  type: "suggestion",
22
22
 
23
23
  docs: {
24
- description: "disallow the use of `console`",
24
+ description: "Disallow the use of `console`",
25
25
  recommended: false,
26
26
  url: "https://eslint.org/docs/rules/no-console"
27
27
  },
@@ -17,7 +17,7 @@ module.exports = {
17
17
  type: "problem",
18
18
 
19
19
  docs: {
20
- description: "disallow reassigning `const` variables",
20
+ description: "Disallow reassigning `const` variables",
21
21
  recommended: true,
22
22
  url: "https://eslint.org/docs/rules/no-const-assign"
23
23
  },
@@ -120,7 +120,7 @@ function isStaticBoolean(scope, node) {
120
120
 
121
121
  /**
122
122
  * Test if an AST node will always give the same result when compared to a
123
- * bolean value. Note that comparison to boolean values is different than
123
+ * boolean value. Note that comparison to boolean values is different than
124
124
  * truthiness.
125
125
  * https://262.ecma-international.org/5.1/#sec-11.9.3
126
126
  *
@@ -238,7 +238,7 @@ function hasConstantLooseBooleanComparison(scope, node) {
238
238
 
239
239
  /**
240
240
  * Test if an AST node will always give the same result when _strictly_ compared
241
- * to a bolean value. This can happen if the expression can never be boolean, or
241
+ * to a boolean value. This can happen if the expression can never be boolean, or
242
242
  * if it is always the same boolean value.
243
243
  * @param {Scope} scope The scope in which the node was found.
244
244
  * @param {ASTNode} node The node to test
@@ -432,7 +432,7 @@ module.exports = {
432
432
  meta: {
433
433
  type: "problem",
434
434
  docs: {
435
- description: "disallow expressions where the operation doesn't affect the value",
435
+ description: "Disallow expressions where the operation doesn't affect the value",
436
436
  recommended: false,
437
437
  url: "https://eslint.org/docs/rules/no-constant-binary-expression"
438
438
  },
@@ -488,7 +488,7 @@ module.exports = {
488
488
  }
489
489
 
490
490
  /*
491
- * In theory we could handle short circuting assignment operators,
491
+ * In theory we could handle short-circuiting assignment operators,
492
492
  * for some constant values, but that would require walking the
493
493
  * scope to find the value of the variable being assigned. This is
494
494
  * dependant on https://github.com/eslint/eslint/issues/13776
@@ -21,7 +21,7 @@ module.exports = {
21
21
  type: "problem",
22
22
 
23
23
  docs: {
24
- description: "disallow constant expressions in conditions",
24
+ description: "Disallow constant expressions in conditions",
25
25
  recommended: true,
26
26
  url: "https://eslint.org/docs/rules/no-constant-condition"
27
27
  },
@@ -15,7 +15,7 @@ module.exports = {
15
15
  type: "problem",
16
16
 
17
17
  docs: {
18
- description: "disallow returning value from constructor",
18
+ description: "Disallow returning value from constructor",
19
19
  recommended: false,
20
20
  url: "https://eslint.org/docs/rules/no-constructor-return"
21
21
  },
@@ -15,7 +15,7 @@ module.exports = {
15
15
  type: "suggestion",
16
16
 
17
17
  docs: {
18
- description: "disallow `continue` statements",
18
+ description: "Disallow `continue` statements",
19
19
  recommended: false,
20
20
  url: "https://eslint.org/docs/rules/no-continue"
21
21
  },
@@ -54,7 +54,7 @@ module.exports = {
54
54
  type: "problem",
55
55
 
56
56
  docs: {
57
- description: "disallow control characters in regular expressions",
57
+ description: "Disallow control characters in regular expressions",
58
58
  recommended: true,
59
59
  url: "https://eslint.org/docs/rules/no-control-regex"
60
60
  },
@@ -15,7 +15,7 @@ module.exports = {
15
15
  type: "problem",
16
16
 
17
17
  docs: {
18
- description: "disallow the use of `debugger`",
18
+ description: "Disallow the use of `debugger`",
19
19
  recommended: true,
20
20
  url: "https://eslint.org/docs/rules/no-debugger"
21
21
  },
@@ -15,7 +15,7 @@ module.exports = {
15
15
  type: "suggestion",
16
16
 
17
17
  docs: {
18
- description: "disallow deleting variables",
18
+ description: "Disallow deleting variables",
19
19
  recommended: true,
20
20
  url: "https://eslint.org/docs/rules/no-delete-var"
21
21
  },
@@ -15,7 +15,7 @@ module.exports = {
15
15
  type: "suggestion",
16
16
 
17
17
  docs: {
18
- description: "disallow division operators explicitly at the beginning of regular expressions",
18
+ description: "Disallow division operators explicitly at the beginning of regular expressions",
19
19
  recommended: false,
20
20
  url: "https://eslint.org/docs/rules/no-div-regex"
21
21
  },
@@ -15,7 +15,7 @@ module.exports = {
15
15
  type: "problem",
16
16
 
17
17
  docs: {
18
- description: "disallow duplicate arguments in `function` definitions",
18
+ description: "Disallow duplicate arguments in `function` definitions",
19
19
  recommended: true,
20
20
  url: "https://eslint.org/docs/rules/no-dupe-args"
21
21
  },
@@ -17,7 +17,7 @@ module.exports = {
17
17
  type: "problem",
18
18
 
19
19
  docs: {
20
- description: "disallow duplicate class members",
20
+ description: "Disallow duplicate class members",
21
21
  recommended: true,
22
22
  url: "https://eslint.org/docs/rules/no-dupe-class-members"
23
23
  },