eslint 8.38.0 → 8.40.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 (301) hide show
  1. package/README.md +3 -7
  2. package/lib/config/flat-config-schema.js +57 -35
  3. package/lib/eslint/flat-eslint.js +56 -16
  4. package/lib/linter/linter.js +7 -35
  5. package/lib/rules/accessor-pairs.js +2 -2
  6. package/lib/rules/array-bracket-newline.js +2 -2
  7. package/lib/rules/array-bracket-spacing.js +2 -2
  8. package/lib/rules/array-callback-return.js +2 -2
  9. package/lib/rules/array-element-newline.js +2 -2
  10. package/lib/rules/arrow-body-style.js +2 -2
  11. package/lib/rules/arrow-parens.js +2 -2
  12. package/lib/rules/arrow-spacing.js +2 -2
  13. package/lib/rules/block-scoped-var.js +2 -2
  14. package/lib/rules/block-spacing.js +2 -2
  15. package/lib/rules/brace-style.js +2 -2
  16. package/lib/rules/callback-return.js +2 -2
  17. package/lib/rules/camelcase.js +2 -2
  18. package/lib/rules/capitalized-comments.js +2 -2
  19. package/lib/rules/class-methods-use-this.js +2 -2
  20. package/lib/rules/comma-dangle.js +2 -2
  21. package/lib/rules/comma-spacing.js +2 -2
  22. package/lib/rules/comma-style.js +2 -2
  23. package/lib/rules/complexity.js +1 -1
  24. package/lib/rules/computed-property-spacing.js +2 -2
  25. package/lib/rules/consistent-return.js +3 -3
  26. package/lib/rules/consistent-this.js +2 -2
  27. package/lib/rules/constructor-super.js +1 -1
  28. package/lib/rules/curly.js +2 -2
  29. package/lib/rules/default-case-last.js +1 -1
  30. package/lib/rules/default-case.js +2 -2
  31. package/lib/rules/default-param-last.js +1 -1
  32. package/lib/rules/dot-location.js +2 -2
  33. package/lib/rules/dot-notation.js +2 -2
  34. package/lib/rules/eol-last.js +2 -2
  35. package/lib/rules/eqeqeq.js +2 -2
  36. package/lib/rules/for-direction.js +1 -1
  37. package/lib/rules/func-call-spacing.js +2 -2
  38. package/lib/rules/func-name-matching.js +1 -1
  39. package/lib/rules/func-names.js +2 -2
  40. package/lib/rules/func-style.js +1 -1
  41. package/lib/rules/function-call-argument-newline.js +2 -2
  42. package/lib/rules/function-paren-newline.js +2 -2
  43. package/lib/rules/generator-star-spacing.js +2 -2
  44. package/lib/rules/getter-return.js +2 -2
  45. package/lib/rules/global-require.js +2 -2
  46. package/lib/rules/grouped-accessor-pairs.js +2 -2
  47. package/lib/rules/guard-for-in.js +1 -1
  48. package/lib/rules/handle-callback-err.js +2 -2
  49. package/lib/rules/id-blacklist.js +2 -2
  50. package/lib/rules/id-denylist.js +2 -2
  51. package/lib/rules/id-length.js +3 -36
  52. package/lib/rules/id-match.js +2 -2
  53. package/lib/rules/implicit-arrow-linebreak.js +2 -2
  54. package/lib/rules/indent-legacy.js +2 -2
  55. package/lib/rules/indent.js +2 -2
  56. package/lib/rules/init-declarations.js +1 -1
  57. package/lib/rules/jsx-quotes.js +1 -1
  58. package/lib/rules/key-spacing.js +4 -10
  59. package/lib/rules/keyword-spacing.js +2 -2
  60. package/lib/rules/line-comment-position.js +2 -2
  61. package/lib/rules/linebreak-style.js +2 -2
  62. package/lib/rules/lines-around-comment.js +2 -2
  63. package/lib/rules/lines-around-directive.js +2 -2
  64. package/lib/rules/lines-between-class-members.js +2 -2
  65. package/lib/rules/logical-assignment-operators.js +2 -2
  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 +2 -2
  69. package/lib/rules/max-lines-per-function.js +2 -2
  70. package/lib/rules/max-lines.js +2 -2
  71. package/lib/rules/max-nested-callbacks.js +1 -1
  72. package/lib/rules/max-params.js +2 -2
  73. package/lib/rules/max-statements-per-line.js +2 -2
  74. package/lib/rules/max-statements.js +1 -1
  75. package/lib/rules/multiline-comment-style.js +2 -2
  76. package/lib/rules/multiline-ternary.js +2 -2
  77. package/lib/rules/new-cap.js +2 -2
  78. package/lib/rules/new-parens.js +2 -2
  79. package/lib/rules/newline-after-var.js +2 -2
  80. package/lib/rules/newline-before-return.js +2 -2
  81. package/lib/rules/newline-per-chained-call.js +2 -2
  82. package/lib/rules/no-alert.js +2 -2
  83. package/lib/rules/no-array-constructor.js +1 -1
  84. package/lib/rules/no-async-promise-executor.js +2 -2
  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 +2 -2
  91. package/lib/rules/no-class-assign.js +2 -2
  92. package/lib/rules/no-compare-neg-zero.js +1 -1
  93. package/lib/rules/no-cond-assign.js +2 -2
  94. package/lib/rules/no-confusing-arrow.js +2 -2
  95. package/lib/rules/no-console.js +2 -2
  96. package/lib/rules/no-const-assign.js +2 -2
  97. package/lib/rules/no-constant-binary-expression.js +2 -2
  98. package/lib/rules/no-constant-condition.js +2 -2
  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 +2 -2
  105. package/lib/rules/no-dupe-args.js +2 -2
  106. package/lib/rules/no-dupe-class-members.js +1 -1
  107. package/lib/rules/no-dupe-else-if.js +2 -2
  108. package/lib/rules/no-dupe-keys.js +1 -1
  109. package/lib/rules/no-duplicate-case.js +2 -2
  110. package/lib/rules/no-duplicate-imports.js +1 -1
  111. package/lib/rules/no-else-return.js +2 -2
  112. package/lib/rules/no-empty-character-class.js +1 -1
  113. package/lib/rules/no-empty-function.js +2 -2
  114. package/lib/rules/no-empty-pattern.js +1 -1
  115. package/lib/rules/no-empty-static-block.js +2 -2
  116. package/lib/rules/no-empty.js +2 -2
  117. package/lib/rules/no-eq-null.js +1 -1
  118. package/lib/rules/no-eval.js +2 -2
  119. package/lib/rules/no-ex-assign.js +2 -2
  120. package/lib/rules/no-extend-native.js +2 -2
  121. package/lib/rules/no-extra-bind.js +2 -2
  122. package/lib/rules/no-extra-boolean-cast.js +2 -2
  123. package/lib/rules/no-extra-label.js +2 -2
  124. package/lib/rules/no-extra-parens.js +2 -2
  125. package/lib/rules/no-extra-semi.js +3 -3
  126. package/lib/rules/no-fallthrough.js +3 -3
  127. package/lib/rules/no-floating-decimal.js +2 -2
  128. package/lib/rules/no-func-assign.js +2 -2
  129. package/lib/rules/no-global-assign.js +2 -2
  130. package/lib/rules/no-implicit-coercion.js +2 -2
  131. package/lib/rules/no-implicit-globals.js +2 -2
  132. package/lib/rules/no-implied-eval.js +2 -2
  133. package/lib/rules/no-import-assign.js +2 -2
  134. package/lib/rules/no-inline-comments.js +2 -2
  135. package/lib/rules/no-inner-declarations.js +1 -1
  136. package/lib/rules/no-invalid-regexp.js +1 -1
  137. package/lib/rules/no-invalid-this.js +2 -2
  138. package/lib/rules/no-irregular-whitespace.js +2 -2
  139. package/lib/rules/no-iterator.js +1 -1
  140. package/lib/rules/no-label-var.js +2 -2
  141. package/lib/rules/no-labels.js +1 -1
  142. package/lib/rules/no-lone-blocks.js +3 -3
  143. package/lib/rules/no-lonely-if.js +4 -5
  144. package/lib/rules/no-loop-func.js +2 -2
  145. package/lib/rules/no-loss-of-precision.js +1 -1
  146. package/lib/rules/no-magic-numbers.js +1 -1
  147. package/lib/rules/no-misleading-character-class.js +2 -2
  148. package/lib/rules/no-mixed-operators.js +2 -2
  149. package/lib/rules/no-mixed-requires.js +1 -1
  150. package/lib/rules/no-mixed-spaces-and-tabs.js +2 -2
  151. package/lib/rules/no-multi-assign.js +1 -1
  152. package/lib/rules/no-multi-spaces.js +2 -2
  153. package/lib/rules/no-multi-str.js +1 -1
  154. package/lib/rules/no-multiple-empty-lines.js +2 -2
  155. package/lib/rules/no-native-reassign.js +2 -2
  156. package/lib/rules/no-negated-condition.js +1 -1
  157. package/lib/rules/no-negated-in-lhs.js +1 -1
  158. package/lib/rules/no-nested-ternary.js +1 -1
  159. package/lib/rules/no-new-func.js +2 -2
  160. package/lib/rules/no-new-native-nonconstructor.js +2 -2
  161. package/lib/rules/no-new-object.js +2 -2
  162. package/lib/rules/no-new-require.js +1 -1
  163. package/lib/rules/no-new-symbol.js +2 -2
  164. package/lib/rules/no-new-wrappers.js +1 -1
  165. package/lib/rules/no-new.js +1 -1
  166. package/lib/rules/no-nonoctal-decimal-escape.js +2 -2
  167. package/lib/rules/no-obj-calls.js +2 -2
  168. package/lib/rules/no-octal-escape.js +1 -1
  169. package/lib/rules/no-octal.js +1 -1
  170. package/lib/rules/no-param-reassign.js +2 -2
  171. package/lib/rules/no-path-concat.js +1 -1
  172. package/lib/rules/no-plusplus.js +1 -1
  173. package/lib/rules/no-process-env.js +1 -1
  174. package/lib/rules/no-process-exit.js +1 -1
  175. package/lib/rules/no-promise-executor-return.js +2 -2
  176. package/lib/rules/no-proto.js +1 -1
  177. package/lib/rules/no-prototype-builtins.js +1 -1
  178. package/lib/rules/no-redeclare.js +2 -2
  179. package/lib/rules/no-regex-spaces.js +2 -2
  180. package/lib/rules/no-restricted-exports.js +2 -2
  181. package/lib/rules/no-restricted-globals.js +2 -2
  182. package/lib/rules/no-restricted-imports.js +2 -2
  183. package/lib/rules/no-restricted-modules.js +1 -1
  184. package/lib/rules/no-restricted-properties.js +1 -1
  185. package/lib/rules/no-restricted-syntax.js +1 -1
  186. package/lib/rules/no-return-assign.js +2 -2
  187. package/lib/rules/no-return-await.js +3 -3
  188. package/lib/rules/no-script-url.js +1 -1
  189. package/lib/rules/no-self-assign.js +2 -2
  190. package/lib/rules/no-self-compare.js +2 -2
  191. package/lib/rules/no-sequences.js +2 -2
  192. package/lib/rules/no-setter-return.js +2 -2
  193. package/lib/rules/no-shadow-restricted-names.js +2 -2
  194. package/lib/rules/no-shadow.js +2 -2
  195. package/lib/rules/no-spaced-func.js +2 -2
  196. package/lib/rules/no-sparse-arrays.js +1 -1
  197. package/lib/rules/no-sync.js +1 -1
  198. package/lib/rules/no-tabs.js +2 -2
  199. package/lib/rules/no-template-curly-in-string.js +1 -1
  200. package/lib/rules/no-ternary.js +1 -1
  201. package/lib/rules/no-this-before-super.js +1 -1
  202. package/lib/rules/no-throw-literal.js +1 -1
  203. package/lib/rules/no-trailing-spaces.js +2 -2
  204. package/lib/rules/no-undef-init.js +2 -2
  205. package/lib/rules/no-undef.js +2 -2
  206. package/lib/rules/no-undefined.js +2 -2
  207. package/lib/rules/no-underscore-dangle.js +2 -2
  208. package/lib/rules/no-unexpected-multiline.js +2 -2
  209. package/lib/rules/no-unmodified-loop-condition.js +2 -2
  210. package/lib/rules/no-unneeded-ternary.js +2 -2
  211. package/lib/rules/no-unreachable-loop.js +1 -1
  212. package/lib/rules/no-unreachable.js +2 -2
  213. package/lib/rules/no-unsafe-finally.js +1 -1
  214. package/lib/rules/no-unsafe-negation.js +2 -2
  215. package/lib/rules/no-unsafe-optional-chaining.js +1 -1
  216. package/lib/rules/no-unused-expressions.js +6 -8
  217. package/lib/rules/no-unused-labels.js +2 -2
  218. package/lib/rules/no-unused-private-class-members.js +1 -1
  219. package/lib/rules/no-unused-vars.js +2 -2
  220. package/lib/rules/no-use-before-define.js +2 -2
  221. package/lib/rules/no-useless-backreference.js +2 -2
  222. package/lib/rules/no-useless-call.js +2 -2
  223. package/lib/rules/no-useless-catch.js +1 -1
  224. package/lib/rules/no-useless-computed-key.js +2 -2
  225. package/lib/rules/no-useless-concat.js +2 -2
  226. package/lib/rules/no-useless-constructor.js +1 -1
  227. package/lib/rules/no-useless-escape.js +2 -2
  228. package/lib/rules/no-useless-rename.js +2 -2
  229. package/lib/rules/no-useless-return.js +2 -2
  230. package/lib/rules/no-var.js +2 -2
  231. package/lib/rules/no-void.js +1 -1
  232. package/lib/rules/no-warning-comments.js +2 -2
  233. package/lib/rules/no-whitespace-before-property.js +2 -2
  234. package/lib/rules/no-with.js +1 -1
  235. package/lib/rules/nonblock-statement-body-position.js +2 -2
  236. package/lib/rules/object-curly-newline.js +2 -2
  237. package/lib/rules/object-curly-spacing.js +4 -4
  238. package/lib/rules/object-property-newline.js +2 -2
  239. package/lib/rules/object-shorthand.js +2 -2
  240. package/lib/rules/one-var-declaration-per-line.js +1 -1
  241. package/lib/rules/one-var.js +2 -2
  242. package/lib/rules/operator-assignment.js +2 -2
  243. package/lib/rules/operator-linebreak.js +2 -2
  244. package/lib/rules/padded-blocks.js +2 -2
  245. package/lib/rules/padding-line-between-statements.js +4 -4
  246. package/lib/rules/prefer-arrow-callback.js +2 -2
  247. package/lib/rules/prefer-const.js +2 -2
  248. package/lib/rules/prefer-destructuring.js +2 -2
  249. package/lib/rules/prefer-exponentiation-operator.js +2 -2
  250. package/lib/rules/prefer-named-capture-group.js +2 -2
  251. package/lib/rules/prefer-numeric-literals.js +2 -2
  252. package/lib/rules/prefer-object-has-own.js +2 -2
  253. package/lib/rules/prefer-object-spread.js +2 -3
  254. package/lib/rules/prefer-promise-reject-errors.js +2 -2
  255. package/lib/rules/prefer-reflect.js +1 -1
  256. package/lib/rules/prefer-regex-literals.js +2 -2
  257. package/lib/rules/prefer-rest-params.js +2 -2
  258. package/lib/rules/prefer-spread.js +2 -2
  259. package/lib/rules/prefer-template.js +2 -2
  260. package/lib/rules/quote-props.js +2 -2
  261. package/lib/rules/quotes.js +2 -2
  262. package/lib/rules/radix.js +2 -2
  263. package/lib/rules/require-atomic-updates.js +2 -2
  264. package/lib/rules/require-await.js +2 -2
  265. package/lib/rules/require-jsdoc.js +2 -2
  266. package/lib/rules/require-unicode-regexp.js +2 -2
  267. package/lib/rules/require-yield.js +1 -1
  268. package/lib/rules/rest-spread-spacing.js +2 -2
  269. package/lib/rules/semi-spacing.js +2 -2
  270. package/lib/rules/semi-style.js +2 -2
  271. package/lib/rules/semi.js +30 -5
  272. package/lib/rules/sort-imports.js +2 -2
  273. package/lib/rules/sort-keys.js +2 -2
  274. package/lib/rules/sort-vars.js +2 -2
  275. package/lib/rules/space-before-blocks.js +2 -2
  276. package/lib/rules/space-before-function-paren.js +2 -2
  277. package/lib/rules/space-in-parens.js +2 -2
  278. package/lib/rules/space-infix-ops.js +2 -2
  279. package/lib/rules/space-unary-ops.js +2 -2
  280. package/lib/rules/spaced-comment.js +2 -2
  281. package/lib/rules/strict.js +1 -1
  282. package/lib/rules/switch-colon-spacing.js +2 -2
  283. package/lib/rules/symbol-description.js +2 -2
  284. package/lib/rules/template-curly-spacing.js +2 -2
  285. package/lib/rules/template-tag-spacing.js +2 -2
  286. package/lib/rules/unicode-bom.js +2 -2
  287. package/lib/rules/use-isnan.js +1 -1
  288. package/lib/rules/valid-jsdoc.js +2 -2
  289. package/lib/rules/valid-typeof.js +3 -3
  290. package/lib/rules/vars-on-top.js +1 -1
  291. package/lib/rules/wrap-iife.js +2 -2
  292. package/lib/rules/wrap-regex.js +4 -5
  293. package/lib/rules/yield-star-spacing.js +2 -2
  294. package/lib/rules/yoda.js +3 -3
  295. package/lib/shared/string-utils.js +39 -1
  296. package/lib/source-code/source-code.js +47 -4
  297. package/lib/source-code/token-store/utils.js +21 -16
  298. package/messages/invalid-rule-options.js +17 -0
  299. package/messages/invalid-rule-severity.js +13 -0
  300. package/messages/shared.js +18 -0
  301. package/package.json +6 -6
@@ -19,7 +19,7 @@ module.exports = {
19
19
  docs: {
20
20
  description: "Disallow reassigning `const` variables",
21
21
  recommended: true,
22
- url: "https://eslint.org/docs/rules/no-const-assign"
22
+ url: "https://eslint.org/docs/latest/rules/no-const-assign"
23
23
  },
24
24
 
25
25
  schema: [],
@@ -31,7 +31,7 @@ module.exports = {
31
31
 
32
32
  create(context) {
33
33
 
34
- const sourceCode = context.getSourceCode();
34
+ const sourceCode = context.sourceCode;
35
35
 
36
36
  /**
37
37
  * Finds and reports references that are non initializer and writable.
@@ -441,7 +441,7 @@ module.exports = {
441
441
  docs: {
442
442
  description: "Disallow expressions where the operation doesn't affect the value",
443
443
  recommended: false,
444
- url: "https://eslint.org/docs/rules/no-constant-binary-expression"
444
+ url: "https://eslint.org/docs/latest/rules/no-constant-binary-expression"
445
445
  },
446
446
  schema: [],
447
447
  messages: {
@@ -453,7 +453,7 @@ module.exports = {
453
453
  },
454
454
 
455
455
  create(context) {
456
- const sourceCode = context.getSourceCode();
456
+ const sourceCode = context.sourceCode;
457
457
 
458
458
  return {
459
459
  LogicalExpression(node) {
@@ -23,7 +23,7 @@ module.exports = {
23
23
  docs: {
24
24
  description: "Disallow constant expressions in conditions",
25
25
  recommended: true,
26
- url: "https://eslint.org/docs/rules/no-constant-condition"
26
+ url: "https://eslint.org/docs/latest/rules/no-constant-condition"
27
27
  },
28
28
 
29
29
  schema: [
@@ -48,7 +48,7 @@ module.exports = {
48
48
  const options = context.options[0] || {},
49
49
  checkLoops = options.checkLoops !== false,
50
50
  loopSetStack = [];
51
- const sourceCode = context.getSourceCode();
51
+ const sourceCode = context.sourceCode;
52
52
 
53
53
  let loopsInCurrentScope = new Set();
54
54
 
@@ -17,7 +17,7 @@ module.exports = {
17
17
  docs: {
18
18
  description: "Disallow returning value from constructor",
19
19
  recommended: false,
20
- url: "https://eslint.org/docs/rules/no-constructor-return"
20
+ url: "https://eslint.org/docs/latest/rules/no-constructor-return"
21
21
  },
22
22
 
23
23
  schema: {},
@@ -17,7 +17,7 @@ module.exports = {
17
17
  docs: {
18
18
  description: "Disallow `continue` statements",
19
19
  recommended: false,
20
- url: "https://eslint.org/docs/rules/no-continue"
20
+ url: "https://eslint.org/docs/latest/rules/no-continue"
21
21
  },
22
22
 
23
23
  schema: [],
@@ -56,7 +56,7 @@ module.exports = {
56
56
  docs: {
57
57
  description: "Disallow control characters in regular expressions",
58
58
  recommended: true,
59
- url: "https://eslint.org/docs/rules/no-control-regex"
59
+ url: "https://eslint.org/docs/latest/rules/no-control-regex"
60
60
  },
61
61
 
62
62
  schema: [],
@@ -17,7 +17,7 @@ module.exports = {
17
17
  docs: {
18
18
  description: "Disallow the use of `debugger`",
19
19
  recommended: true,
20
- url: "https://eslint.org/docs/rules/no-debugger"
20
+ url: "https://eslint.org/docs/latest/rules/no-debugger"
21
21
  },
22
22
 
23
23
  fixable: null,
@@ -17,7 +17,7 @@ module.exports = {
17
17
  docs: {
18
18
  description: "Disallow deleting variables",
19
19
  recommended: true,
20
- url: "https://eslint.org/docs/rules/no-delete-var"
20
+ url: "https://eslint.org/docs/latest/rules/no-delete-var"
21
21
  },
22
22
 
23
23
  schema: [],
@@ -17,7 +17,7 @@ module.exports = {
17
17
  docs: {
18
18
  description: "Disallow equal signs explicitly at the beginning of regular expressions",
19
19
  recommended: false,
20
- url: "https://eslint.org/docs/rules/no-div-regex"
20
+ url: "https://eslint.org/docs/latest/rules/no-div-regex"
21
21
  },
22
22
 
23
23
  fixable: "code",
@@ -30,7 +30,7 @@ module.exports = {
30
30
  },
31
31
 
32
32
  create(context) {
33
- const sourceCode = context.getSourceCode();
33
+ const sourceCode = context.sourceCode;
34
34
 
35
35
  return {
36
36
 
@@ -17,7 +17,7 @@ module.exports = {
17
17
  docs: {
18
18
  description: "Disallow duplicate arguments in `function` definitions",
19
19
  recommended: true,
20
- url: "https://eslint.org/docs/rules/no-dupe-args"
20
+ url: "https://eslint.org/docs/latest/rules/no-dupe-args"
21
21
  },
22
22
 
23
23
  schema: [],
@@ -29,7 +29,7 @@ module.exports = {
29
29
 
30
30
  create(context) {
31
31
 
32
- const sourceCode = context.getSourceCode();
32
+ const sourceCode = context.sourceCode;
33
33
 
34
34
  //--------------------------------------------------------------------------
35
35
  // Helpers
@@ -19,7 +19,7 @@ module.exports = {
19
19
  docs: {
20
20
  description: "Disallow duplicate class members",
21
21
  recommended: true,
22
- url: "https://eslint.org/docs/rules/no-dupe-class-members"
22
+ url: "https://eslint.org/docs/latest/rules/no-dupe-class-members"
23
23
  },
24
24
 
25
25
  schema: [],
@@ -54,7 +54,7 @@ module.exports = {
54
54
  docs: {
55
55
  description: "Disallow duplicate conditions in if-else-if chains",
56
56
  recommended: true,
57
- url: "https://eslint.org/docs/rules/no-dupe-else-if"
57
+ url: "https://eslint.org/docs/latest/rules/no-dupe-else-if"
58
58
  },
59
59
 
60
60
  schema: [],
@@ -65,7 +65,7 @@ module.exports = {
65
65
  },
66
66
 
67
67
  create(context) {
68
- const sourceCode = context.getSourceCode();
68
+ const sourceCode = context.sourceCode;
69
69
 
70
70
  /**
71
71
  * Determines whether the two given nodes are considered to be equal. In particular, given that the nodes
@@ -90,7 +90,7 @@ module.exports = {
90
90
  docs: {
91
91
  description: "Disallow duplicate keys in object literals",
92
92
  recommended: true,
93
- url: "https://eslint.org/docs/rules/no-dupe-keys"
93
+ url: "https://eslint.org/docs/latest/rules/no-dupe-keys"
94
94
  },
95
95
 
96
96
  schema: [],
@@ -24,7 +24,7 @@ module.exports = {
24
24
  docs: {
25
25
  description: "Disallow duplicate case labels",
26
26
  recommended: true,
27
- url: "https://eslint.org/docs/rules/no-duplicate-case"
27
+ url: "https://eslint.org/docs/latest/rules/no-duplicate-case"
28
28
  },
29
29
 
30
30
  schema: [],
@@ -35,7 +35,7 @@ module.exports = {
35
35
  },
36
36
 
37
37
  create(context) {
38
- const sourceCode = context.getSourceCode();
38
+ const sourceCode = context.sourceCode;
39
39
 
40
40
  /**
41
41
  * Determines whether the two given nodes are considered to be equal.
@@ -235,7 +235,7 @@ module.exports = {
235
235
  docs: {
236
236
  description: "Disallow duplicate module imports",
237
237
  recommended: false,
238
- url: "https://eslint.org/docs/rules/no-duplicate-imports"
238
+ url: "https://eslint.org/docs/latest/rules/no-duplicate-imports"
239
239
  },
240
240
 
241
241
  schema: [
@@ -24,7 +24,7 @@ module.exports = {
24
24
  docs: {
25
25
  description: "Disallow `else` blocks after `return` statements in `if` statements",
26
26
  recommended: false,
27
- url: "https://eslint.org/docs/rules/no-else-return"
27
+ url: "https://eslint.org/docs/latest/rules/no-else-return"
28
28
  },
29
29
 
30
30
  schema: [{
@@ -47,7 +47,7 @@ module.exports = {
47
47
 
48
48
  create(context) {
49
49
 
50
- const sourceCode = context.getSourceCode();
50
+ const sourceCode = context.sourceCode;
51
51
 
52
52
  //--------------------------------------------------------------------------
53
53
  // Helpers
@@ -32,7 +32,7 @@ module.exports = {
32
32
  docs: {
33
33
  description: "Disallow empty character classes in regular expressions",
34
34
  recommended: true,
35
- url: "https://eslint.org/docs/rules/no-empty-character-class"
35
+ url: "https://eslint.org/docs/latest/rules/no-empty-character-class"
36
36
  },
37
37
 
38
38
  schema: [],
@@ -97,7 +97,7 @@ module.exports = {
97
97
  docs: {
98
98
  description: "Disallow empty functions",
99
99
  recommended: false,
100
- url: "https://eslint.org/docs/rules/no-empty-function"
100
+ url: "https://eslint.org/docs/latest/rules/no-empty-function"
101
101
  },
102
102
 
103
103
  schema: [
@@ -123,7 +123,7 @@ module.exports = {
123
123
  const options = context.options[0] || {};
124
124
  const allowed = options.allow || [];
125
125
 
126
- const sourceCode = context.getSourceCode();
126
+ const sourceCode = context.sourceCode;
127
127
 
128
128
  /**
129
129
  * Reports a given function node if the node matches the following patterns.
@@ -16,7 +16,7 @@ module.exports = {
16
16
  docs: {
17
17
  description: "Disallow empty destructuring patterns",
18
18
  recommended: true,
19
- url: "https://eslint.org/docs/rules/no-empty-pattern"
19
+ url: "https://eslint.org/docs/latest/rules/no-empty-pattern"
20
20
  },
21
21
 
22
22
  schema: [],
@@ -16,7 +16,7 @@ module.exports = {
16
16
  docs: {
17
17
  description: "Disallow empty static blocks",
18
18
  recommended: false,
19
- url: "https://eslint.org/docs/rules/no-empty-static-block"
19
+ url: "https://eslint.org/docs/latest/rules/no-empty-static-block"
20
20
  },
21
21
 
22
22
  schema: [],
@@ -27,7 +27,7 @@ module.exports = {
27
27
  },
28
28
 
29
29
  create(context) {
30
- const sourceCode = context.getSourceCode();
30
+ const sourceCode = context.sourceCode;
31
31
 
32
32
  return {
33
33
  StaticBlock(node) {
@@ -23,7 +23,7 @@ module.exports = {
23
23
  docs: {
24
24
  description: "Disallow empty block statements",
25
25
  recommended: true,
26
- url: "https://eslint.org/docs/rules/no-empty"
26
+ url: "https://eslint.org/docs/latest/rules/no-empty"
27
27
  },
28
28
 
29
29
  schema: [
@@ -49,7 +49,7 @@ module.exports = {
49
49
  const options = context.options[0] || {},
50
50
  allowEmptyCatch = options.allowEmptyCatch || false;
51
51
 
52
- const sourceCode = context.getSourceCode();
52
+ const sourceCode = context.sourceCode;
53
53
 
54
54
  return {
55
55
  BlockStatement(node) {
@@ -18,7 +18,7 @@ module.exports = {
18
18
  docs: {
19
19
  description: "Disallow `null` comparisons without type-checking operators",
20
20
  recommended: false,
21
- url: "https://eslint.org/docs/rules/no-eq-null"
21
+ url: "https://eslint.org/docs/latest/rules/no-eq-null"
22
22
  },
23
23
 
24
24
  schema: [],
@@ -45,7 +45,7 @@ module.exports = {
45
45
  docs: {
46
46
  description: "Disallow the use of `eval()`",
47
47
  recommended: false,
48
- url: "https://eslint.org/docs/rules/no-eval"
48
+ url: "https://eslint.org/docs/latest/rules/no-eval"
49
49
  },
50
50
 
51
51
  schema: [
@@ -68,7 +68,7 @@ module.exports = {
68
68
  context.options[0] &&
69
69
  context.options[0].allowIndirect
70
70
  );
71
- const sourceCode = context.getSourceCode();
71
+ const sourceCode = context.sourceCode;
72
72
  let funcInfo = null;
73
73
 
74
74
  /**
@@ -19,7 +19,7 @@ module.exports = {
19
19
  docs: {
20
20
  description: "Disallow reassigning exceptions in `catch` clauses",
21
21
  recommended: true,
22
- url: "https://eslint.org/docs/rules/no-ex-assign"
22
+ url: "https://eslint.org/docs/latest/rules/no-ex-assign"
23
23
  },
24
24
 
25
25
  schema: [],
@@ -31,7 +31,7 @@ module.exports = {
31
31
 
32
32
  create(context) {
33
33
 
34
- const sourceCode = context.getSourceCode();
34
+ const sourceCode = context.sourceCode;
35
35
 
36
36
  /**
37
37
  * Finds and reports references that are non initializer and writable.
@@ -24,7 +24,7 @@ module.exports = {
24
24
  docs: {
25
25
  description: "Disallow extending native types",
26
26
  recommended: false,
27
- url: "https://eslint.org/docs/rules/no-extend-native"
27
+ url: "https://eslint.org/docs/latest/rules/no-extend-native"
28
28
  },
29
29
 
30
30
  schema: [
@@ -51,7 +51,7 @@ module.exports = {
51
51
  create(context) {
52
52
 
53
53
  const config = context.options[0] || {};
54
- const sourceCode = context.getSourceCode();
54
+ const sourceCode = context.sourceCode;
55
55
  const exceptions = new Set(config.exceptions || []);
56
56
  const modifiedBuiltins = new Set(
57
57
  Object.keys(globals.builtin)
@@ -28,7 +28,7 @@ module.exports = {
28
28
  docs: {
29
29
  description: "Disallow unnecessary calls to `.bind()`",
30
30
  recommended: false,
31
- url: "https://eslint.org/docs/rules/no-extra-bind"
31
+ url: "https://eslint.org/docs/latest/rules/no-extra-bind"
32
32
  },
33
33
 
34
34
  schema: [],
@@ -40,7 +40,7 @@ module.exports = {
40
40
  },
41
41
 
42
42
  create(context) {
43
- const sourceCode = context.getSourceCode();
43
+ const sourceCode = context.sourceCode;
44
44
  let scopeInfo = null;
45
45
 
46
46
  /**
@@ -26,7 +26,7 @@ module.exports = {
26
26
  docs: {
27
27
  description: "Disallow unnecessary boolean casts",
28
28
  recommended: true,
29
- url: "https://eslint.org/docs/rules/no-extra-boolean-cast"
29
+ url: "https://eslint.org/docs/latest/rules/no-extra-boolean-cast"
30
30
  },
31
31
 
32
32
  schema: [{
@@ -48,7 +48,7 @@ module.exports = {
48
48
  },
49
49
 
50
50
  create(context) {
51
- const sourceCode = context.getSourceCode();
51
+ const sourceCode = context.sourceCode;
52
52
 
53
53
  // Node types which have a test which will coerce values to booleans.
54
54
  const BOOLEAN_NODE_TYPES = new Set([
@@ -23,7 +23,7 @@ module.exports = {
23
23
  docs: {
24
24
  description: "Disallow unnecessary labels",
25
25
  recommended: false,
26
- url: "https://eslint.org/docs/rules/no-extra-label"
26
+ url: "https://eslint.org/docs/latest/rules/no-extra-label"
27
27
  },
28
28
 
29
29
  schema: [],
@@ -35,7 +35,7 @@ module.exports = {
35
35
  },
36
36
 
37
37
  create(context) {
38
- const sourceCode = context.getSourceCode();
38
+ const sourceCode = context.sourceCode;
39
39
  let scopeInfo = null;
40
40
 
41
41
  /**
@@ -19,7 +19,7 @@ module.exports = {
19
19
  docs: {
20
20
  description: "Disallow unnecessary parentheses",
21
21
  recommended: false,
22
- url: "https://eslint.org/docs/rules/no-extra-parens"
22
+ url: "https://eslint.org/docs/latest/rules/no-extra-parens"
23
23
  },
24
24
 
25
25
  fixable: "code",
@@ -70,7 +70,7 @@ module.exports = {
70
70
  },
71
71
 
72
72
  create(context) {
73
- const sourceCode = context.getSourceCode();
73
+ const sourceCode = context.sourceCode;
74
74
 
75
75
  const tokensToIgnore = new WeakSet();
76
76
  const precedence = astUtils.getPrecedence;
@@ -24,7 +24,7 @@ module.exports = {
24
24
  docs: {
25
25
  description: "Disallow unnecessary semicolons",
26
26
  recommended: true,
27
- url: "https://eslint.org/docs/rules/no-extra-semi"
27
+ url: "https://eslint.org/docs/latest/rules/no-extra-semi"
28
28
  },
29
29
 
30
30
  fixable: "code",
@@ -36,7 +36,7 @@ module.exports = {
36
36
  },
37
37
 
38
38
  create(context) {
39
- const sourceCode = context.getSourceCode();
39
+ const sourceCode = context.sourceCode;
40
40
 
41
41
  /**
42
42
  * Reports an unnecessary semicolon error.
@@ -54,7 +54,7 @@ module.exports = {
54
54
  * tokens to avoid conflicting with semi.
55
55
  * https://github.com/eslint/eslint/issues/7928
56
56
  */
57
- return new FixTracker(fixer, context.getSourceCode())
57
+ return new FixTracker(fixer, context.sourceCode)
58
58
  .retainSurroundingTokens(nodeOrToken)
59
59
  .remove(nodeOrToken);
60
60
  }
@@ -35,7 +35,7 @@ function isFallThroughComment(comment, fallthroughCommentPattern) {
35
35
  * @returns {boolean} `true` if the case has a valid fallthrough comment.
36
36
  */
37
37
  function hasFallthroughComment(caseWhichFallsThrough, subsequentCase, context, fallthroughCommentPattern) {
38
- const sourceCode = context.getSourceCode();
38
+ const sourceCode = context.sourceCode;
39
39
 
40
40
  if (caseWhichFallsThrough.consequent.length === 1 && caseWhichFallsThrough.consequent[0].type === "BlockStatement") {
41
41
  const trailingCloseBrace = sourceCode.getLastToken(caseWhichFallsThrough.consequent[0]);
@@ -82,7 +82,7 @@ module.exports = {
82
82
  docs: {
83
83
  description: "Disallow fallthrough of `case` statements",
84
84
  recommended: true,
85
- url: "https://eslint.org/docs/rules/no-fallthrough"
85
+ url: "https://eslint.org/docs/latest/rules/no-fallthrough"
86
86
  },
87
87
 
88
88
  schema: [
@@ -110,7 +110,7 @@ module.exports = {
110
110
  create(context) {
111
111
  const options = context.options[0] || {};
112
112
  let currentCodePath = null;
113
- const sourceCode = context.getSourceCode();
113
+ const sourceCode = context.sourceCode;
114
114
  const allowEmptyCase = options.allowEmptyCase || false;
115
115
 
116
116
  /*
@@ -23,7 +23,7 @@ module.exports = {
23
23
  docs: {
24
24
  description: "Disallow leading or trailing decimal points in numeric literals",
25
25
  recommended: false,
26
- url: "https://eslint.org/docs/rules/no-floating-decimal"
26
+ url: "https://eslint.org/docs/latest/rules/no-floating-decimal"
27
27
  },
28
28
 
29
29
  schema: [],
@@ -35,7 +35,7 @@ module.exports = {
35
35
  },
36
36
 
37
37
  create(context) {
38
- const sourceCode = context.getSourceCode();
38
+ const sourceCode = context.sourceCode;
39
39
 
40
40
  return {
41
41
  Literal(node) {
@@ -19,7 +19,7 @@ module.exports = {
19
19
  docs: {
20
20
  description: "Disallow reassigning `function` declarations",
21
21
  recommended: true,
22
- url: "https://eslint.org/docs/rules/no-func-assign"
22
+ url: "https://eslint.org/docs/latest/rules/no-func-assign"
23
23
  },
24
24
 
25
25
  schema: [],
@@ -31,7 +31,7 @@ module.exports = {
31
31
 
32
32
  create(context) {
33
33
 
34
- const sourceCode = context.getSourceCode();
34
+ const sourceCode = context.sourceCode;
35
35
 
36
36
  /**
37
37
  * Reports a reference if is non initializer and writable.
@@ -17,7 +17,7 @@ module.exports = {
17
17
  docs: {
18
18
  description: "Disallow assignments to native objects or read-only global variables",
19
19
  recommended: true,
20
- url: "https://eslint.org/docs/rules/no-global-assign"
20
+ url: "https://eslint.org/docs/latest/rules/no-global-assign"
21
21
  },
22
22
 
23
23
  schema: [
@@ -41,7 +41,7 @@ module.exports = {
41
41
 
42
42
  create(context) {
43
43
  const config = context.options[0];
44
- const sourceCode = context.getSourceCode();
44
+ const sourceCode = context.sourceCode;
45
45
  const exceptions = (config && config.exceptions) || [];
46
46
 
47
47
  /**
@@ -193,7 +193,7 @@ module.exports = {
193
193
  docs: {
194
194
  description: "Disallow shorthand type conversions",
195
195
  recommended: false,
196
- url: "https://eslint.org/docs/rules/no-implicit-coercion"
196
+ url: "https://eslint.org/docs/latest/rules/no-implicit-coercion"
197
197
  },
198
198
 
199
199
  fixable: "code",
@@ -235,7 +235,7 @@ module.exports = {
235
235
 
236
236
  create(context) {
237
237
  const options = parseOptions(context.options[0] || {});
238
- const sourceCode = context.getSourceCode();
238
+ const sourceCode = context.sourceCode;
239
239
 
240
240
  /**
241
241
  * Reports an error and autofixes the node
@@ -17,7 +17,7 @@ module.exports = {
17
17
  docs: {
18
18
  description: "Disallow declarations in the global scope",
19
19
  recommended: false,
20
- url: "https://eslint.org/docs/rules/no-implicit-globals"
20
+ url: "https://eslint.org/docs/latest/rules/no-implicit-globals"
21
21
  },
22
22
 
23
23
  schema: [{
@@ -43,7 +43,7 @@ module.exports = {
43
43
  create(context) {
44
44
 
45
45
  const checkLexicalBindings = context.options[0] && context.options[0].lexicalBindings === true;
46
- const sourceCode = context.getSourceCode();
46
+ const sourceCode = context.sourceCode;
47
47
 
48
48
  /**
49
49
  * Reports the node.
@@ -24,7 +24,7 @@ module.exports = {
24
24
  docs: {
25
25
  description: "Disallow the use of `eval()`-like methods",
26
26
  recommended: false,
27
- url: "https://eslint.org/docs/rules/no-implied-eval"
27
+ url: "https://eslint.org/docs/latest/rules/no-implied-eval"
28
28
  },
29
29
 
30
30
  schema: [],
@@ -37,7 +37,7 @@ module.exports = {
37
37
  create(context) {
38
38
  const GLOBAL_CANDIDATES = Object.freeze(["global", "window", "globalThis"]);
39
39
  const EVAL_LIKE_FUNC_PATTERN = /^(?:set(?:Interval|Timeout)|execScript)$/u;
40
- const sourceCode = context.getSourceCode();
40
+ const sourceCode = context.sourceCode;
41
41
 
42
42
  /**
43
43
  * Checks whether a node is evaluated as a string or not.
@@ -182,7 +182,7 @@ module.exports = {
182
182
  docs: {
183
183
  description: "Disallow assigning to imported bindings",
184
184
  recommended: true,
185
- url: "https://eslint.org/docs/rules/no-import-assign"
185
+ url: "https://eslint.org/docs/latest/rules/no-import-assign"
186
186
  },
187
187
 
188
188
  schema: [],
@@ -194,7 +194,7 @@ module.exports = {
194
194
  },
195
195
 
196
196
  create(context) {
197
- const sourceCode = context.getSourceCode();
197
+ const sourceCode = context.sourceCode;
198
198
 
199
199
  return {
200
200
  ImportDeclaration(node) {
@@ -18,7 +18,7 @@ module.exports = {
18
18
  docs: {
19
19
  description: "Disallow inline comments after code",
20
20
  recommended: false,
21
- url: "https://eslint.org/docs/rules/no-inline-comments"
21
+ url: "https://eslint.org/docs/latest/rules/no-inline-comments"
22
22
  },
23
23
 
24
24
  schema: [
@@ -39,7 +39,7 @@ module.exports = {
39
39
  },
40
40
 
41
41
  create(context) {
42
- const sourceCode = context.getSourceCode();
42
+ const sourceCode = context.sourceCode;
43
43
  const options = context.options[0];
44
44
  let customIgnoreRegExp;
45
45