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
@@ -50,7 +50,7 @@ module.exports = {
50
50
  docs: {
51
51
  description: "Disallow variable or `function` declarations in nested blocks",
52
52
  recommended: true,
53
- url: "https://eslint.org/docs/rules/no-inner-declarations"
53
+ url: "https://eslint.org/docs/latest/rules/no-inner-declarations"
54
54
  },
55
55
 
56
56
  schema: [
@@ -25,7 +25,7 @@ module.exports = {
25
25
  docs: {
26
26
  description: "Disallow invalid regular expression strings in `RegExp` constructors",
27
27
  recommended: true,
28
- url: "https://eslint.org/docs/rules/no-invalid-regexp"
28
+ url: "https://eslint.org/docs/latest/rules/no-invalid-regexp"
29
29
  },
30
30
 
31
31
  schema: [{
@@ -38,7 +38,7 @@ module.exports = {
38
38
  docs: {
39
39
  description: "Disallow use of `this` in contexts where the value of `this` is `undefined`",
40
40
  recommended: false,
41
- url: "https://eslint.org/docs/rules/no-invalid-this"
41
+ url: "https://eslint.org/docs/latest/rules/no-invalid-this"
42
42
  },
43
43
 
44
44
  schema: [
@@ -63,7 +63,7 @@ module.exports = {
63
63
  const options = context.options[0] || {};
64
64
  const capIsConstructor = options.capIsConstructor !== false;
65
65
  const stack = [],
66
- sourceCode = context.getSourceCode();
66
+ sourceCode = context.sourceCode;
67
67
 
68
68
  /**
69
69
  * Gets the current checking context.
@@ -33,7 +33,7 @@ module.exports = {
33
33
  docs: {
34
34
  description: "Disallow irregular whitespace",
35
35
  recommended: true,
36
- url: "https://eslint.org/docs/rules/no-irregular-whitespace"
36
+ url: "https://eslint.org/docs/latest/rules/no-irregular-whitespace"
37
37
  },
38
38
 
39
39
  schema: [
@@ -78,7 +78,7 @@ module.exports = {
78
78
  const skipRegExps = !!options.skipRegExps;
79
79
  const skipTemplates = !!options.skipTemplates;
80
80
 
81
- const sourceCode = context.getSourceCode();
81
+ const sourceCode = context.sourceCode;
82
82
  const commentNodes = sourceCode.getAllComments();
83
83
 
84
84
  /**
@@ -23,7 +23,7 @@ module.exports = {
23
23
  docs: {
24
24
  description: "Disallow the use of the `__iterator__` property",
25
25
  recommended: false,
26
- url: "https://eslint.org/docs/rules/no-iterator"
26
+ url: "https://eslint.org/docs/latest/rules/no-iterator"
27
27
  },
28
28
 
29
29
  schema: [],
@@ -23,7 +23,7 @@ module.exports = {
23
23
  docs: {
24
24
  description: "Disallow labels that share a name with a variable",
25
25
  recommended: false,
26
- url: "https://eslint.org/docs/rules/no-label-var"
26
+ url: "https://eslint.org/docs/latest/rules/no-label-var"
27
27
  },
28
28
 
29
29
  schema: [],
@@ -34,7 +34,7 @@ module.exports = {
34
34
  },
35
35
 
36
36
  create(context) {
37
- const sourceCode = context.getSourceCode();
37
+ const sourceCode = context.sourceCode;
38
38
 
39
39
  //--------------------------------------------------------------------------
40
40
  // Helpers
@@ -22,7 +22,7 @@ module.exports = {
22
22
  docs: {
23
23
  description: "Disallow labeled statements",
24
24
  recommended: false,
25
- url: "https://eslint.org/docs/rules/no-labels"
25
+ url: "https://eslint.org/docs/latest/rules/no-labels"
26
26
  },
27
27
 
28
28
  schema: [
@@ -17,7 +17,7 @@ module.exports = {
17
17
  docs: {
18
18
  description: "Disallow unnecessary nested blocks",
19
19
  recommended: false,
20
- url: "https://eslint.org/docs/rules/no-lone-blocks"
20
+ url: "https://eslint.org/docs/latest/rules/no-lone-blocks"
21
21
  },
22
22
 
23
23
  schema: [],
@@ -33,7 +33,7 @@ module.exports = {
33
33
  // A stack of lone blocks to be checked for block-level bindings
34
34
  const loneBlocks = [];
35
35
  let ruleDef;
36
- const sourceCode = context.getSourceCode();
36
+ const sourceCode = context.sourceCode;
37
37
 
38
38
  /**
39
39
  * Reports a node as invalid.
@@ -76,7 +76,7 @@ module.exports = {
76
76
  return;
77
77
  }
78
78
 
79
- const block = sourceCode.getAncestors(node).pop();
79
+ const block = node.parent;
80
80
 
81
81
  if (loneBlocks[loneBlocks.length - 1] === block) {
82
82
  loneBlocks.pop();
@@ -16,7 +16,7 @@ module.exports = {
16
16
  docs: {
17
17
  description: "Disallow `if` statements as the only statement in `else` blocks",
18
18
  recommended: false,
19
- url: "https://eslint.org/docs/rules/no-lonely-if"
19
+ url: "https://eslint.org/docs/latest/rules/no-lonely-if"
20
20
  },
21
21
 
22
22
  schema: [],
@@ -28,13 +28,12 @@ module.exports = {
28
28
  },
29
29
 
30
30
  create(context) {
31
- const sourceCode = context.getSourceCode();
31
+ const sourceCode = context.sourceCode;
32
32
 
33
33
  return {
34
34
  IfStatement(node) {
35
- const ancestors = sourceCode.getAncestors(node),
36
- parent = ancestors.pop(),
37
- grandparent = ancestors.pop();
35
+ const parent = node.parent,
36
+ grandparent = parent.parent;
38
37
 
39
38
  if (parent && parent.type === "BlockStatement" &&
40
39
  parent.body.length === 1 && grandparent &&
@@ -156,7 +156,7 @@ module.exports = {
156
156
  docs: {
157
157
  description: "Disallow function declarations that contain unsafe references inside loop statements",
158
158
  recommended: false,
159
- url: "https://eslint.org/docs/rules/no-loop-func"
159
+ url: "https://eslint.org/docs/latest/rules/no-loop-func"
160
160
  },
161
161
 
162
162
  schema: [],
@@ -168,7 +168,7 @@ module.exports = {
168
168
 
169
169
  create(context) {
170
170
 
171
- const sourceCode = context.getSourceCode();
171
+ const sourceCode = context.sourceCode;
172
172
 
173
173
  /**
174
174
  * Reports functions which match the following condition:
@@ -17,7 +17,7 @@ module.exports = {
17
17
  docs: {
18
18
  description: "Disallow literal numbers that lose precision",
19
19
  recommended: true,
20
- url: "https://eslint.org/docs/rules/no-loss-of-precision"
20
+ url: "https://eslint.org/docs/latest/rules/no-loss-of-precision"
21
21
  },
22
22
  schema: [],
23
23
  messages: {
@@ -34,7 +34,7 @@ module.exports = {
34
34
  docs: {
35
35
  description: "Disallow magic numbers",
36
36
  recommended: false,
37
- url: "https://eslint.org/docs/rules/no-magic-numbers"
37
+ url: "https://eslint.org/docs/latest/rules/no-magic-numbers"
38
38
  },
39
39
 
40
40
  schema: [{
@@ -108,7 +108,7 @@ module.exports = {
108
108
  docs: {
109
109
  description: "Disallow characters which are made with multiple code points in character class syntax",
110
110
  recommended: true,
111
- url: "https://eslint.org/docs/rules/no-misleading-character-class"
111
+ url: "https://eslint.org/docs/latest/rules/no-misleading-character-class"
112
112
  },
113
113
 
114
114
  hasSuggestions: true,
@@ -125,7 +125,7 @@ module.exports = {
125
125
  }
126
126
  },
127
127
  create(context) {
128
- const sourceCode = context.getSourceCode();
128
+ const sourceCode = context.sourceCode;
129
129
  const parser = new RegExpParser();
130
130
 
131
131
  /**
@@ -90,7 +90,7 @@ module.exports = {
90
90
  docs: {
91
91
  description: "Disallow mixed binary operators",
92
92
  recommended: false,
93
- url: "https://eslint.org/docs/rules/no-mixed-operators"
93
+ url: "https://eslint.org/docs/latest/rules/no-mixed-operators"
94
94
  },
95
95
 
96
96
  schema: [
@@ -122,7 +122,7 @@ module.exports = {
122
122
  },
123
123
 
124
124
  create(context) {
125
- const sourceCode = context.getSourceCode();
125
+ const sourceCode = context.sourceCode;
126
126
  const options = normalizeOptions(context.options[0]);
127
127
 
128
128
  /**
@@ -22,7 +22,7 @@ module.exports = {
22
22
  docs: {
23
23
  description: "Disallow `require` calls to be mixed with regular variable declarations",
24
24
  recommended: false,
25
- url: "https://eslint.org/docs/rules/no-mixed-requires"
25
+ url: "https://eslint.org/docs/latest/rules/no-mixed-requires"
26
26
  },
27
27
 
28
28
  schema: [
@@ -16,7 +16,7 @@ module.exports = {
16
16
  docs: {
17
17
  description: "Disallow mixed spaces and tabs for indentation",
18
18
  recommended: true,
19
- url: "https://eslint.org/docs/rules/no-mixed-spaces-and-tabs"
19
+ url: "https://eslint.org/docs/latest/rules/no-mixed-spaces-and-tabs"
20
20
  },
21
21
 
22
22
  schema: [
@@ -31,7 +31,7 @@ module.exports = {
31
31
  },
32
32
 
33
33
  create(context) {
34
- const sourceCode = context.getSourceCode();
34
+ const sourceCode = context.sourceCode;
35
35
 
36
36
  let smartTabs;
37
37
 
@@ -18,7 +18,7 @@ module.exports = {
18
18
  docs: {
19
19
  description: "Disallow use of chained assignment expressions",
20
20
  recommended: false,
21
- url: "https://eslint.org/docs/rules/no-multi-assign"
21
+ url: "https://eslint.org/docs/latest/rules/no-multi-assign"
22
22
  },
23
23
 
24
24
  schema: [{
@@ -19,7 +19,7 @@ module.exports = {
19
19
  docs: {
20
20
  description: "Disallow multiple spaces",
21
21
  recommended: false,
22
- url: "https://eslint.org/docs/rules/no-multi-spaces"
22
+ url: "https://eslint.org/docs/latest/rules/no-multi-spaces"
23
23
  },
24
24
 
25
25
  fixable: "whitespace",
@@ -52,7 +52,7 @@ module.exports = {
52
52
  },
53
53
 
54
54
  create(context) {
55
- const sourceCode = context.getSourceCode();
55
+ const sourceCode = context.sourceCode;
56
56
  const options = context.options[0] || {};
57
57
  const ignoreEOLComments = options.ignoreEOLComments;
58
58
  const exceptions = Object.assign({ Property: true }, options.exceptions);
@@ -23,7 +23,7 @@ module.exports = {
23
23
  docs: {
24
24
  description: "Disallow multiline strings",
25
25
  recommended: false,
26
- url: "https://eslint.org/docs/rules/no-multi-str"
26
+ url: "https://eslint.org/docs/latest/rules/no-multi-str"
27
27
  },
28
28
 
29
29
  schema: [],
@@ -17,7 +17,7 @@ module.exports = {
17
17
  docs: {
18
18
  description: "Disallow multiple empty lines",
19
19
  recommended: false,
20
- url: "https://eslint.org/docs/rules/no-multiple-empty-lines"
20
+ url: "https://eslint.org/docs/latest/rules/no-multiple-empty-lines"
21
21
  },
22
22
 
23
23
  fixable: "whitespace",
@@ -64,7 +64,7 @@ module.exports = {
64
64
  maxBOF = typeof context.options[0].maxBOF !== "undefined" ? context.options[0].maxBOF : max;
65
65
  }
66
66
 
67
- const sourceCode = context.getSourceCode();
67
+ const sourceCode = context.sourceCode;
68
68
 
69
69
  // Swallow the final newline, as some editors add it automatically and we don't want it to cause an issue
70
70
  const allLines = sourceCode.lines[sourceCode.lines.length - 1] === "" ? sourceCode.lines.slice(0, -1) : sourceCode.lines;
@@ -18,7 +18,7 @@ module.exports = {
18
18
  docs: {
19
19
  description: "Disallow assignments to native objects or read-only global variables",
20
20
  recommended: false,
21
- url: "https://eslint.org/docs/rules/no-native-reassign"
21
+ url: "https://eslint.org/docs/latest/rules/no-native-reassign"
22
22
  },
23
23
 
24
24
  deprecated: true,
@@ -47,7 +47,7 @@ module.exports = {
47
47
  create(context) {
48
48
  const config = context.options[0];
49
49
  const exceptions = (config && config.exceptions) || [];
50
- const sourceCode = context.getSourceCode();
50
+ const sourceCode = context.sourceCode;
51
51
 
52
52
  /**
53
53
  * Reports write references.
@@ -16,7 +16,7 @@ module.exports = {
16
16
  docs: {
17
17
  description: "Disallow negated conditions",
18
18
  recommended: false,
19
- url: "https://eslint.org/docs/rules/no-negated-condition"
19
+ url: "https://eslint.org/docs/latest/rules/no-negated-condition"
20
20
  },
21
21
 
22
22
  schema: [],
@@ -18,7 +18,7 @@ module.exports = {
18
18
  docs: {
19
19
  description: "Disallow negating the left operand in `in` expressions",
20
20
  recommended: false,
21
- url: "https://eslint.org/docs/rules/no-negated-in-lhs"
21
+ url: "https://eslint.org/docs/latest/rules/no-negated-in-lhs"
22
22
  },
23
23
 
24
24
  replacedBy: ["no-unsafe-negation"],
@@ -17,7 +17,7 @@ module.exports = {
17
17
  docs: {
18
18
  description: "Disallow nested ternary expressions",
19
19
  recommended: false,
20
- url: "https://eslint.org/docs/rules/no-nested-ternary"
20
+ url: "https://eslint.org/docs/latest/rules/no-nested-ternary"
21
21
  },
22
22
 
23
23
  schema: [],
@@ -29,7 +29,7 @@ module.exports = {
29
29
  docs: {
30
30
  description: "Disallow `new` operators with the `Function` object",
31
31
  recommended: false,
32
- url: "https://eslint.org/docs/rules/no-new-func"
32
+ url: "https://eslint.org/docs/latest/rules/no-new-func"
33
33
  },
34
34
 
35
35
  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
 
45
45
  return {
46
46
  "Program:exit"(node) {
@@ -23,7 +23,7 @@ module.exports = {
23
23
  docs: {
24
24
  description: "Disallow `new` operators with global non-constructor functions",
25
25
  recommended: false,
26
- url: "https://eslint.org/docs/rules/no-new-native-nonconstructor"
26
+ url: "https://eslint.org/docs/latest/rules/no-new-native-nonconstructor"
27
27
  },
28
28
 
29
29
  schema: [],
@@ -35,7 +35,7 @@ module.exports = {
35
35
 
36
36
  create(context) {
37
37
 
38
- const sourceCode = context.getSourceCode();
38
+ const sourceCode = context.sourceCode;
39
39
 
40
40
  return {
41
41
  "Program:exit"(node) {
@@ -23,7 +23,7 @@ module.exports = {
23
23
  docs: {
24
24
  description: "Disallow `Object` constructors",
25
25
  recommended: false,
26
- url: "https://eslint.org/docs/rules/no-new-object"
26
+ url: "https://eslint.org/docs/latest/rules/no-new-object"
27
27
  },
28
28
 
29
29
  schema: [],
@@ -35,7 +35,7 @@ module.exports = {
35
35
 
36
36
  create(context) {
37
37
 
38
- const sourceCode = context.getSourceCode();
38
+ const sourceCode = context.sourceCode;
39
39
 
40
40
  return {
41
41
  NewExpression(node) {
@@ -22,7 +22,7 @@ module.exports = {
22
22
  docs: {
23
23
  description: "Disallow `new` operators with calls to `require`",
24
24
  recommended: false,
25
- url: "https://eslint.org/docs/rules/no-new-require"
25
+ url: "https://eslint.org/docs/latest/rules/no-new-require"
26
26
  },
27
27
 
28
28
  schema: [],
@@ -17,7 +17,7 @@ module.exports = {
17
17
  docs: {
18
18
  description: "Disallow `new` operators with the `Symbol` object",
19
19
  recommended: true,
20
- url: "https://eslint.org/docs/rules/no-new-symbol"
20
+ url: "https://eslint.org/docs/latest/rules/no-new-symbol"
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
  return {
35
35
  "Program:exit"(node) {
@@ -17,7 +17,7 @@ module.exports = {
17
17
  docs: {
18
18
  description: "Disallow `new` operators with the `String`, `Number`, and `Boolean` objects",
19
19
  recommended: false,
20
- url: "https://eslint.org/docs/rules/no-new-wrappers"
20
+ url: "https://eslint.org/docs/latest/rules/no-new-wrappers"
21
21
  },
22
22
 
23
23
  schema: [],
@@ -18,7 +18,7 @@ module.exports = {
18
18
  docs: {
19
19
  description: "Disallow `new` operators outside of assignments or comparisons",
20
20
  recommended: false,
21
- url: "https://eslint.org/docs/rules/no-new"
21
+ url: "https://eslint.org/docs/latest/rules/no-new"
22
22
  },
23
23
 
24
24
  schema: [],
@@ -32,7 +32,7 @@ module.exports = {
32
32
  docs: {
33
33
  description: "Disallow `\\8` and `\\9` escape sequences in string literals",
34
34
  recommended: true,
35
- url: "https://eslint.org/docs/rules/no-nonoctal-decimal-escape"
35
+ url: "https://eslint.org/docs/latest/rules/no-nonoctal-decimal-escape"
36
36
  },
37
37
 
38
38
  hasSuggestions: true,
@@ -49,7 +49,7 @@ module.exports = {
49
49
  },
50
50
 
51
51
  create(context) {
52
- const sourceCode = context.getSourceCode();
52
+ const sourceCode = context.sourceCode;
53
53
 
54
54
  /**
55
55
  * Creates a new Suggestion object.
@@ -45,7 +45,7 @@ module.exports = {
45
45
  docs: {
46
46
  description: "Disallow calling global object properties as functions",
47
47
  recommended: true,
48
- url: "https://eslint.org/docs/rules/no-obj-calls"
48
+ url: "https://eslint.org/docs/latest/rules/no-obj-calls"
49
49
  },
50
50
 
51
51
  schema: [],
@@ -58,7 +58,7 @@ module.exports = {
58
58
 
59
59
  create(context) {
60
60
 
61
- const sourceCode = context.getSourceCode();
61
+ const sourceCode = context.sourceCode;
62
62
 
63
63
  return {
64
64
  Program(node) {
@@ -17,7 +17,7 @@ module.exports = {
17
17
  docs: {
18
18
  description: "Disallow octal escape sequences in string literals",
19
19
  recommended: false,
20
- url: "https://eslint.org/docs/rules/no-octal-escape"
20
+ url: "https://eslint.org/docs/latest/rules/no-octal-escape"
21
21
  },
22
22
 
23
23
  schema: [],
@@ -17,7 +17,7 @@ module.exports = {
17
17
  docs: {
18
18
  description: "Disallow octal literals",
19
19
  recommended: true,
20
- url: "https://eslint.org/docs/rules/no-octal"
20
+ url: "https://eslint.org/docs/latest/rules/no-octal"
21
21
  },
22
22
 
23
23
  schema: [],
@@ -18,7 +18,7 @@ module.exports = {
18
18
  docs: {
19
19
  description: "Disallow reassigning `function` parameters",
20
20
  recommended: false,
21
- url: "https://eslint.org/docs/rules/no-param-reassign"
21
+ url: "https://eslint.org/docs/latest/rules/no-param-reassign"
22
22
  },
23
23
 
24
24
  schema: [
@@ -70,7 +70,7 @@ module.exports = {
70
70
  const props = context.options[0] && context.options[0].props;
71
71
  const ignoredPropertyAssignmentsFor = context.options[0] && context.options[0].ignorePropertyModificationsFor || [];
72
72
  const ignoredPropertyAssignmentsForRegex = context.options[0] && context.options[0].ignorePropertyModificationsForRegex || [];
73
- const sourceCode = context.getSourceCode();
73
+ const sourceCode = context.sourceCode;
74
74
 
75
75
  /**
76
76
  * Checks whether or not the reference modifies properties of its variable.
@@ -21,7 +21,7 @@ module.exports = {
21
21
  docs: {
22
22
  description: "Disallow string concatenation with `__dirname` and `__filename`",
23
23
  recommended: false,
24
- url: "https://eslint.org/docs/rules/no-path-concat"
24
+ url: "https://eslint.org/docs/latest/rules/no-path-concat"
25
25
  },
26
26
 
27
27
  schema: [],
@@ -53,7 +53,7 @@ module.exports = {
53
53
  docs: {
54
54
  description: "Disallow the unary operators `++` and `--`",
55
55
  recommended: false,
56
- url: "https://eslint.org/docs/rules/no-plusplus"
56
+ url: "https://eslint.org/docs/latest/rules/no-plusplus"
57
57
  },
58
58
 
59
59
  schema: [
@@ -21,7 +21,7 @@ module.exports = {
21
21
  docs: {
22
22
  description: "Disallow the use of `process.env`",
23
23
  recommended: false,
24
- url: "https://eslint.org/docs/rules/no-process-env"
24
+ url: "https://eslint.org/docs/latest/rules/no-process-env"
25
25
  },
26
26
 
27
27
  schema: [],
@@ -21,7 +21,7 @@ module.exports = {
21
21
  docs: {
22
22
  description: "Disallow the use of `process.exit()`",
23
23
  recommended: false,
24
- url: "https://eslint.org/docs/rules/no-process-exit"
24
+ url: "https://eslint.org/docs/latest/rules/no-process-exit"
25
25
  },
26
26
 
27
27
  schema: [],
@@ -71,7 +71,7 @@ module.exports = {
71
71
  docs: {
72
72
  description: "Disallow returning values from Promise executor functions",
73
73
  recommended: false,
74
- url: "https://eslint.org/docs/rules/no-promise-executor-return"
74
+ url: "https://eslint.org/docs/latest/rules/no-promise-executor-return"
75
75
  },
76
76
 
77
77
  schema: [],
@@ -84,7 +84,7 @@ module.exports = {
84
84
  create(context) {
85
85
 
86
86
  let funcInfo = null;
87
- const sourceCode = context.getSourceCode();
87
+ const sourceCode = context.sourceCode;
88
88
 
89
89
  /**
90
90
  * Reports the given node.
@@ -23,7 +23,7 @@ module.exports = {
23
23
  docs: {
24
24
  description: "Disallow the use of the `__proto__` property",
25
25
  recommended: false,
26
- url: "https://eslint.org/docs/rules/no-proto"
26
+ url: "https://eslint.org/docs/latest/rules/no-proto"
27
27
  },
28
28
 
29
29
  schema: [],
@@ -22,7 +22,7 @@ module.exports = {
22
22
  docs: {
23
23
  description: "Disallow calling some `Object.prototype` methods directly on objects",
24
24
  recommended: true,
25
- url: "https://eslint.org/docs/rules/no-prototype-builtins"
25
+ url: "https://eslint.org/docs/latest/rules/no-prototype-builtins"
26
26
  },
27
27
 
28
28
  schema: [],
@@ -23,7 +23,7 @@ module.exports = {
23
23
  docs: {
24
24
  description: "Disallow variable redeclaration",
25
25
  recommended: true,
26
- url: "https://eslint.org/docs/rules/no-redeclare"
26
+ url: "https://eslint.org/docs/latest/rules/no-redeclare"
27
27
  },
28
28
 
29
29
  messages: {
@@ -50,7 +50,7 @@ module.exports = {
50
50
  context.options[0].builtinGlobals
51
51
  )
52
52
  };
53
- const sourceCode = context.getSourceCode();
53
+ const sourceCode = context.sourceCode;
54
54
 
55
55
  /**
56
56
  * Iterate declarations of a given variable.