oxlint-plugin-eslint 1.52.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 (305) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +36 -0
  3. package/common/ast-utils.cjs +5843 -0
  4. package/common/chunk.cjs +9 -0
  5. package/common/eslint-utils.cjs +1633 -0
  6. package/common/fix-tracker.cjs +89 -0
  7. package/common/ignore.cjs +123 -0
  8. package/common/keywords.cjs +15 -0
  9. package/common/regexpp.cjs +1720 -0
  10. package/common/regular-expressions.cjs +40 -0
  11. package/common/string-utils.cjs +39 -0
  12. package/index.js +7477 -0
  13. package/package.json +34 -0
  14. package/rules/accessor-pairs.cjs +233 -0
  15. package/rules/array-bracket-newline.cjs +172 -0
  16. package/rules/array-bracket-spacing.cjs +184 -0
  17. package/rules/array-callback-return.cjs +262 -0
  18. package/rules/array-element-newline.cjs +178 -0
  19. package/rules/arrow-body-style.cjs +135 -0
  20. package/rules/arrow-parens.cjs +130 -0
  21. package/rules/arrow-spacing.cjs +129 -0
  22. package/rules/block-scoped-var.cjs +101 -0
  23. package/rules/block-spacing.cjs +125 -0
  24. package/rules/brace-style.cjs +141 -0
  25. package/rules/callback-return.cjs +117 -0
  26. package/rules/camelcase.cjs +194 -0
  27. package/rules/capitalized-comments.cjs +168 -0
  28. package/rules/class-methods-use-this.cjs +155 -0
  29. package/rules/comma-dangle.cjs +274 -0
  30. package/rules/comma-spacing.cjs +111 -0
  31. package/rules/comma-style.cjs +180 -0
  32. package/rules/complexity.cjs +100 -0
  33. package/rules/computed-property-spacing.cjs +155 -0
  34. package/rules/consistent-return.cjs +113 -0
  35. package/rules/consistent-this.cjs +109 -0
  36. package/rules/constructor-super.cjs +207 -0
  37. package/rules/curly.cjs +173 -0
  38. package/rules/default-case-last.cjs +36 -0
  39. package/rules/default-case.cjs +50 -0
  40. package/rules/default-param-last.cjs +61 -0
  41. package/rules/dot-location.cjs +87 -0
  42. package/rules/dot-notation.cjs +77 -0
  43. package/rules/eol-last.cjs +91 -0
  44. package/rules/eqeqeq.cjs +127 -0
  45. package/rules/for-direction.cjs +94 -0
  46. package/rules/func-call-spacing.cjs +127 -0
  47. package/rules/func-name-matching.cjs +138 -0
  48. package/rules/func-names.cjs +121 -0
  49. package/rules/func-style.cjs +103 -0
  50. package/rules/function-call-argument-newline.cjs +109 -0
  51. package/rules/function-paren-newline.cjs +173 -0
  52. package/rules/generator-star-spacing.cjs +174 -0
  53. package/rules/getter-return.cjs +129 -0
  54. package/rules/global-require.cjs +84 -0
  55. package/rules/grouped-accessor-pairs.cjs +146 -0
  56. package/rules/guard-for-in.cjs +39 -0
  57. package/rules/handle-callback-err.cjs +86 -0
  58. package/rules/id-blacklist.cjs +135 -0
  59. package/rules/id-denylist.cjs +126 -0
  60. package/rules/id-length.cjs +119 -0
  61. package/rules/id-match.cjs +139 -0
  62. package/rules/implicit-arrow-linebreak.cjs +76 -0
  63. package/rules/indent-legacy.cjs +520 -0
  64. package/rules/indent.cjs +842 -0
  65. package/rules/init-declarations.cjs +88 -0
  66. package/rules/jsx-quotes.cjs +84 -0
  67. package/rules/key-spacing.cjs +399 -0
  68. package/rules/keyword-spacing.cjs +464 -0
  69. package/rules/line-comment-position.cjs +75 -0
  70. package/rules/linebreak-style.cjs +89 -0
  71. package/rules/lines-around-comment.cjs +290 -0
  72. package/rules/lines-around-directive.cjs +129 -0
  73. package/rules/lines-between-class-members.cjs +212 -0
  74. package/rules/logical-assignment-operators.cjs +305 -0
  75. package/rules/max-classes-per-file.cjs +61 -0
  76. package/rules/max-depth.cjs +117 -0
  77. package/rules/max-len.cjs +256 -0
  78. package/rules/max-lines-per-function.cjs +116 -0
  79. package/rules/max-lines.cjs +109 -0
  80. package/rules/max-nested-callbacks.cjs +78 -0
  81. package/rules/max-params.cjs +78 -0
  82. package/rules/max-statements-per-line.cjs +147 -0
  83. package/rules/max-statements.cjs +119 -0
  84. package/rules/multiline-comment-style.cjs +319 -0
  85. package/rules/multiline-ternary.cjs +106 -0
  86. package/rules/new-cap.cjs +139 -0
  87. package/rules/new-parens.cjs +70 -0
  88. package/rules/newline-after-var.cjs +159 -0
  89. package/rules/newline-before-return.cjs +128 -0
  90. package/rules/newline-per-chained-call.cjs +100 -0
  91. package/rules/no-alert.cjs +84 -0
  92. package/rules/no-array-constructor.cjs +91 -0
  93. package/rules/no-async-promise-executor.cjs +33 -0
  94. package/rules/no-await-in-loop.cjs +75 -0
  95. package/rules/no-bitwise.cjs +106 -0
  96. package/rules/no-buffer-constructor.cjs +51 -0
  97. package/rules/no-caller.cjs +34 -0
  98. package/rules/no-case-declarations.cjs +56 -0
  99. package/rules/no-catch-shadow.cjs +57 -0
  100. package/rules/no-class-assign.cjs +55 -0
  101. package/rules/no-compare-neg-zero.cjs +52 -0
  102. package/rules/no-cond-assign.cjs +104 -0
  103. package/rules/no-confusing-arrow.cjs +87 -0
  104. package/rules/no-console.cjs +138 -0
  105. package/rules/no-const-assign.cjs +50 -0
  106. package/rules/no-constant-binary-expression.cjs +284 -0
  107. package/rules/no-constant-condition.cjs +119 -0
  108. package/rules/no-constructor-return.cjs +43 -0
  109. package/rules/no-continue.cjs +33 -0
  110. package/rules/no-control-regex.cjs +74 -0
  111. package/rules/no-debugger.cjs +33 -0
  112. package/rules/no-delete-var.cjs +32 -0
  113. package/rules/no-div-regex.cjs +39 -0
  114. package/rules/no-dupe-args.cjs +61 -0
  115. package/rules/no-dupe-class-members.cjs +77 -0
  116. package/rules/no-dupe-else-if.cjs +74 -0
  117. package/rules/no-dupe-keys.cjs +88 -0
  118. package/rules/no-duplicate-case.cjs +49 -0
  119. package/rules/no-duplicate-imports.cjs +166 -0
  120. package/rules/no-else-return.cjs +182 -0
  121. package/rules/no-empty-character-class.cjs +47 -0
  122. package/rules/no-empty-function.cjs +141 -0
  123. package/rules/no-empty-pattern.cjs +50 -0
  124. package/rules/no-empty-static-block.cjs +50 -0
  125. package/rules/no-empty.cjs +78 -0
  126. package/rules/no-eq-null.cjs +34 -0
  127. package/rules/no-eval.cjs +165 -0
  128. package/rules/no-ex-assign.cjs +45 -0
  129. package/rules/no-extend-native.cjs +103 -0
  130. package/rules/no-extra-bind.cjs +127 -0
  131. package/rules/no-extra-boolean-cast.cjs +159 -0
  132. package/rules/no-extra-label.cjs +116 -0
  133. package/rules/no-extra-parens.cjs +665 -0
  134. package/rules/no-extra-semi.cjs +103 -0
  135. package/rules/no-fallthrough.cjs +136 -0
  136. package/rules/no-floating-decimal.cjs +66 -0
  137. package/rules/no-func-assign.cjs +63 -0
  138. package/rules/no-global-assign.cjs +62 -0
  139. package/rules/no-implicit-coercion.cjs +219 -0
  140. package/rules/no-implicit-globals.cjs +77 -0
  141. package/rules/no-implied-eval.cjs +87 -0
  142. package/rules/no-import-assign.cjs +123 -0
  143. package/rules/no-inline-comments.cjs +57 -0
  144. package/rules/no-inner-declarations.cjs +82 -0
  145. package/rules/no-invalid-regexp.cjs +130 -0
  146. package/rules/no-invalid-this.cjs +90 -0
  147. package/rules/no-irregular-whitespace.cjs +157 -0
  148. package/rules/no-iterator.cjs +34 -0
  149. package/rules/no-label-var.cjs +46 -0
  150. package/rules/no-labels.cjs +106 -0
  151. package/rules/no-lone-blocks.cjs +75 -0
  152. package/rules/no-lonely-if.cjs +42 -0
  153. package/rules/no-loop-func.cjs +143 -0
  154. package/rules/no-loss-of-precision.cjs +160 -0
  155. package/rules/no-magic-numbers.cjs +222 -0
  156. package/rules/no-misleading-character-class.cjs +500 -0
  157. package/rules/no-mixed-operators.cjs +197 -0
  158. package/rules/no-mixed-requires.cjs +117 -0
  159. package/rules/no-mixed-spaces-and-tabs.cjs +87 -0
  160. package/rules/no-multi-assign.cjs +38 -0
  161. package/rules/no-multi-spaces.cjs +95 -0
  162. package/rules/no-multi-str.cjs +44 -0
  163. package/rules/no-multiple-empty-lines.cjs +112 -0
  164. package/rules/no-native-reassign.cjs +72 -0
  165. package/rules/no-negated-condition.cjs +77 -0
  166. package/rules/no-negated-in-lhs.cjs +43 -0
  167. package/rules/no-nested-ternary.cjs +33 -0
  168. package/rules/no-new-func.cjs +50 -0
  169. package/rules/no-new-native-nonconstructor.cjs +42 -0
  170. package/rules/no-new-object.cjs +47 -0
  171. package/rules/no-new-require.cjs +50 -0
  172. package/rules/no-new-symbol.cjs +48 -0
  173. package/rules/no-new-wrappers.cjs +44 -0
  174. package/rules/no-new.cjs +33 -0
  175. package/rules/no-nonoctal-decimal-escape.cjs +80 -0
  176. package/rules/no-obj-calls.cjs +64 -0
  177. package/rules/no-object-constructor.cjs +69 -0
  178. package/rules/no-octal-escape.cjs +35 -0
  179. package/rules/no-octal.cjs +32 -0
  180. package/rules/no-param-reassign.cjs +135 -0
  181. package/rules/no-path-concat.cjs +52 -0
  182. package/rules/no-plusplus.cjs +64 -0
  183. package/rules/no-process-env.cjs +51 -0
  184. package/rules/no-process-exit.cjs +50 -0
  185. package/rules/no-promise-executor-return.cjs +131 -0
  186. package/rules/no-proto.cjs +34 -0
  187. package/rules/no-prototype-builtins.cjs +85 -0
  188. package/rules/no-redeclare.cjs +103 -0
  189. package/rules/no-regex-spaces.cjs +115 -0
  190. package/rules/no-restricted-exports.cjs +117 -0
  191. package/rules/no-restricted-globals.cjs +147 -0
  192. package/rules/no-restricted-imports.cjs +421 -0
  193. package/rules/no-restricted-modules.cjs +144 -0
  194. package/rules/no-restricted-properties.cjs +123 -0
  195. package/rules/no-restricted-syntax.cjs +49 -0
  196. package/rules/no-return-assign.cjs +45 -0
  197. package/rules/no-return-await.cjs +88 -0
  198. package/rules/no-script-url.cjs +49 -0
  199. package/rules/no-self-assign.cjs +88 -0
  200. package/rules/no-self-compare.cjs +53 -0
  201. package/rules/no-sequences.cjs +81 -0
  202. package/rules/no-setter-return.cjs +110 -0
  203. package/rules/no-shadow-restricted-names.cjs +60 -0
  204. package/rules/no-shadow.cjs +302 -0
  205. package/rules/no-spaced-func.cjs +69 -0
  206. package/rules/no-sparse-arrays.cjs +40 -0
  207. package/rules/no-sync.cjs +58 -0
  208. package/rules/no-tabs.cjs +73 -0
  209. package/rules/no-template-curly-in-string.cjs +33 -0
  210. package/rules/no-ternary.cjs +33 -0
  211. package/rules/no-this-before-super.cjs +177 -0
  212. package/rules/no-throw-literal.cjs +40 -0
  213. package/rules/no-trailing-spaces.cjs +123 -0
  214. package/rules/no-unassigned-vars.cjs +54 -0
  215. package/rules/no-undef-init.cjs +46 -0
  216. package/rules/no-undef.cjs +51 -0
  217. package/rules/no-undefined.cjs +58 -0
  218. package/rules/no-underscore-dangle.cjs +211 -0
  219. package/rules/no-unexpected-multiline.cjs +76 -0
  220. package/rules/no-unmodified-loop-condition.cjs +849 -0
  221. package/rules/no-unneeded-ternary.cjs +112 -0
  222. package/rules/no-unreachable-loop.cjs +128 -0
  223. package/rules/no-unreachable.cjs +195 -0
  224. package/rules/no-unsafe-finally.cjs +67 -0
  225. package/rules/no-unsafe-negation.cjs +86 -0
  226. package/rules/no-unsafe-optional-chaining.cjs +164 -0
  227. package/rules/no-unused-expressions.cjs +163 -0
  228. package/rules/no-unused-labels.cjs +97 -0
  229. package/rules/no-unused-private-class-members.cjs +69 -0
  230. package/rules/no-unused-vars.cjs +639 -0
  231. package/rules/no-use-before-define.cjs +245 -0
  232. package/rules/no-useless-assignment.cjs +250 -0
  233. package/rules/no-useless-backreference.cjs +137 -0
  234. package/rules/no-useless-call.cjs +57 -0
  235. package/rules/no-useless-catch.cjs +38 -0
  236. package/rules/no-useless-computed-key.cjs +106 -0
  237. package/rules/no-useless-concat.cjs +78 -0
  238. package/rules/no-useless-constructor.cjs +152 -0
  239. package/rules/no-useless-escape.cjs +164 -0
  240. package/rules/no-useless-rename.cjs +94 -0
  241. package/rules/no-useless-return.cjs +229 -0
  242. package/rules/no-var.cjs +235 -0
  243. package/rules/no-void.cjs +39 -0
  244. package/rules/no-warning-comments.cjs +112 -0
  245. package/rules/no-whitespace-before-property.cjs +72 -0
  246. package/rules/no-with.cjs +32 -0
  247. package/rules/nonblock-statement-body-position.cjs +107 -0
  248. package/rules/object-curly-newline.cjs +194 -0
  249. package/rules/object-curly-spacing.cjs +225 -0
  250. package/rules/object-property-newline.cjs +81 -0
  251. package/rules/object-shorthand.cjs +284 -0
  252. package/rules/one-var-declaration-per-line.cjs +75 -0
  253. package/rules/one-var.cjs +378 -0
  254. package/rules/operator-assignment.cjs +146 -0
  255. package/rules/operator-linebreak.cjs +150 -0
  256. package/rules/padded-blocks.cjs +192 -0
  257. package/rules/padding-line-between-statements.cjs +377 -0
  258. package/rules/prefer-arrow-callback.cjs +185 -0
  259. package/rules/prefer-const.cjs +240 -0
  260. package/rules/prefer-destructuring.cjs +188 -0
  261. package/rules/prefer-exponentiation-operator.cjs +100 -0
  262. package/rules/prefer-named-capture-group.cjs +111 -0
  263. package/rules/prefer-numeric-literals.cjs +75 -0
  264. package/rules/prefer-object-has-own.cjs +54 -0
  265. package/rules/prefer-object-spread.cjs +170 -0
  266. package/rules/prefer-promise-reject-errors.cjs +62 -0
  267. package/rules/prefer-reflect.cjs +100 -0
  268. package/rules/prefer-regex-literals.cjs +256 -0
  269. package/rules/prefer-rest-params.cjs +80 -0
  270. package/rules/prefer-spread.cjs +57 -0
  271. package/rules/prefer-template.cjs +147 -0
  272. package/rules/preserve-caught-error.cjs +196 -0
  273. package/rules/quote-props.cjs +224 -0
  274. package/rules/quotes.cjs +187 -0
  275. package/rules/radix.cjs +124 -0
  276. package/rules/require-atomic-updates.cjs +197 -0
  277. package/rules/require-await.cjs +90 -0
  278. package/rules/require-unicode-regexp.cjs +101 -0
  279. package/rules/require-yield.cjs +56 -0
  280. package/rules/rest-spread-spacing.cjs +99 -0
  281. package/rules/semi-spacing.cjs +215 -0
  282. package/rules/semi-style.cjs +116 -0
  283. package/rules/semi.cjs +239 -0
  284. package/rules/sort-imports.cjs +140 -0
  285. package/rules/sort-keys.cjs +165 -0
  286. package/rules/sort-vars.cjs +50 -0
  287. package/rules/space-before-blocks.cjs +132 -0
  288. package/rules/space-before-function-paren.cjs +126 -0
  289. package/rules/space-in-parens.cjs +175 -0
  290. package/rules/space-infix-ops.cjs +133 -0
  291. package/rules/space-unary-ops.cjs +237 -0
  292. package/rules/spaced-comment.cjs +233 -0
  293. package/rules/strict.cjs +206 -0
  294. package/rules/switch-colon-spacing.cjs +114 -0
  295. package/rules/symbol-description.cjs +49 -0
  296. package/rules/template-curly-spacing.cjs +112 -0
  297. package/rules/template-tag-spacing.cjs +82 -0
  298. package/rules/unicode-bom.cjs +52 -0
  299. package/rules/use-isnan.cjs +144 -0
  300. package/rules/valid-typeof.cjs +104 -0
  301. package/rules/vars-on-top.cjs +94 -0
  302. package/rules/wrap-iife.cjs +131 -0
  303. package/rules/wrap-regex.cjs +57 -0
  304. package/rules/yield-star-spacing.cjs +115 -0
  305. package/rules/yoda.cjs +185 -0
@@ -0,0 +1,43 @@
1
+ //#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-negated-in-lhs.js
2
+ /**
3
+ * @fileoverview A rule to disallow negated left operands of the `in` operator
4
+ * @author Michael Ficarra
5
+ * @deprecated in ESLint v3.3.0
6
+ */
7
+ var require_no_negated_in_lhs = /* @__PURE__ */ require("../common/chunk.cjs").t(((exports, module) => {
8
+ /** @type {import('../types').Rule.RuleModule} */
9
+ module.exports = {
10
+ meta: {
11
+ type: "problem",
12
+ docs: {
13
+ description: "Disallow negating the left operand in `in` expressions",
14
+ recommended: !1,
15
+ url: "https://eslint.org/docs/latest/rules/no-negated-in-lhs"
16
+ },
17
+ deprecated: {
18
+ message: "Renamed rule.",
19
+ url: "https://eslint.org/blog/2016/08/eslint-v3.3.0-released/#deprecated-rules",
20
+ deprecatedSince: "3.3.0",
21
+ availableUntil: "11.0.0",
22
+ replacedBy: [{ rule: {
23
+ name: "no-unsafe-negation",
24
+ url: "https://eslint.org/docs/rules/no-unsafe-negation"
25
+ } }]
26
+ },
27
+ schema: [],
28
+ messages: { negatedLHS: "The 'in' expression's left operand is negated." }
29
+ },
30
+ create(context) {
31
+ return { BinaryExpression(node) {
32
+ node.operator === "in" && node.left.type === "UnaryExpression" && node.left.operator === "!" && context.report({
33
+ node,
34
+ messageId: "negatedLHS"
35
+ });
36
+ } };
37
+ }
38
+ };
39
+ }));
40
+ //#endregion
41
+ //#region src-js/generated/plugin-eslint/rules/no-negated-in-lhs.cjs
42
+ module.exports = require_no_negated_in_lhs().create;
43
+ //#endregion
@@ -0,0 +1,33 @@
1
+ //#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-nested-ternary.js
2
+ /**
3
+ * @fileoverview Rule to flag nested ternary expressions
4
+ * @author Ian Christian Myers
5
+ */
6
+ var require_no_nested_ternary = /* @__PURE__ */ require("../common/chunk.cjs").t(((exports, module) => {
7
+ /** @type {import('../types').Rule.RuleModule} */
8
+ module.exports = {
9
+ meta: {
10
+ type: "suggestion",
11
+ docs: {
12
+ description: "Disallow nested ternary expressions",
13
+ recommended: !1,
14
+ frozen: !0,
15
+ url: "https://eslint.org/docs/latest/rules/no-nested-ternary"
16
+ },
17
+ schema: [],
18
+ messages: { noNestedTernary: "Do not nest ternary expressions." }
19
+ },
20
+ create(context) {
21
+ return { ConditionalExpression(node) {
22
+ (node.alternate.type === "ConditionalExpression" || node.consequent.type === "ConditionalExpression") && context.report({
23
+ node,
24
+ messageId: "noNestedTernary"
25
+ });
26
+ } };
27
+ }
28
+ };
29
+ }));
30
+ //#endregion
31
+ //#region src-js/generated/plugin-eslint/rules/no-nested-ternary.cjs
32
+ module.exports = require_no_nested_ternary().create;
33
+ //#endregion
@@ -0,0 +1,50 @@
1
+ const require_chunk = require("../common/chunk.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
+ //#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-new-func.js
3
+ /**
4
+ * @fileoverview Rule to flag when using new Function
5
+ * @author Ilya Volodin
6
+ */
7
+ var require_no_new_func = /* @__PURE__ */ require_chunk.t(((exports, module) => {
8
+ let astUtils = require_ast_utils$1.t(), callMethods = new Set([
9
+ "apply",
10
+ "bind",
11
+ "call"
12
+ ]);
13
+ /** @type {import('../types').Rule.RuleModule} */
14
+ module.exports = {
15
+ meta: {
16
+ type: "suggestion",
17
+ docs: {
18
+ description: "Disallow `new` operators with the `Function` object",
19
+ recommended: !1,
20
+ url: "https://eslint.org/docs/latest/rules/no-new-func"
21
+ },
22
+ schema: [],
23
+ messages: { noFunctionConstructor: "The Function constructor is eval." }
24
+ },
25
+ create(context) {
26
+ let sourceCode = context.sourceCode;
27
+ return { "Program:exit"(node) {
28
+ let variable = sourceCode.getScope(node).set.get("Function");
29
+ variable && variable.defs.length === 0 && variable.references.forEach((ref) => {
30
+ let idNode = ref.identifier, { parent } = idNode, evalNode;
31
+ if (parent) {
32
+ if (idNode === parent.callee && (parent.type === "NewExpression" || parent.type === "CallExpression")) evalNode = parent;
33
+ else if (parent.type === "MemberExpression" && idNode === parent.object && callMethods.has(astUtils.getStaticPropertyName(parent))) {
34
+ let maybeCallee = parent.parent.type === "ChainExpression" ? parent.parent : parent;
35
+ maybeCallee.parent.type === "CallExpression" && maybeCallee.parent.callee === maybeCallee && (evalNode = maybeCallee.parent);
36
+ }
37
+ }
38
+ evalNode && context.report({
39
+ node: evalNode,
40
+ messageId: "noFunctionConstructor"
41
+ });
42
+ });
43
+ } };
44
+ }
45
+ };
46
+ }));
47
+ //#endregion
48
+ //#region src-js/generated/plugin-eslint/rules/no-new-func.cjs
49
+ module.exports = require_no_new_func().create;
50
+ //#endregion
@@ -0,0 +1,42 @@
1
+ //#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-new-native-nonconstructor.js
2
+ /**
3
+ * @fileoverview Rule to disallow use of the new operator with global non-constructor functions
4
+ * @author Sosuke Suzuki
5
+ */
6
+ var require_no_new_native_nonconstructor = /* @__PURE__ */ require("../common/chunk.cjs").t(((exports, module) => {
7
+ let nonConstructorGlobalFunctionNames = ["Symbol", "BigInt"];
8
+ /** @type {import('../types').Rule.RuleModule} */
9
+ module.exports = {
10
+ meta: {
11
+ type: "problem",
12
+ docs: {
13
+ description: "Disallow `new` operators with global non-constructor functions",
14
+ recommended: !0,
15
+ url: "https://eslint.org/docs/latest/rules/no-new-native-nonconstructor"
16
+ },
17
+ schema: [],
18
+ messages: { noNewNonconstructor: "`{{name}}` cannot be called as a constructor." }
19
+ },
20
+ create(context) {
21
+ let sourceCode = context.sourceCode;
22
+ return { "Program:exit"(node) {
23
+ let globalScope = sourceCode.getScope(node);
24
+ for (let nonConstructorName of nonConstructorGlobalFunctionNames) {
25
+ let variable = globalScope.set.get(nonConstructorName);
26
+ variable && variable.defs.length === 0 && variable.references.forEach((ref) => {
27
+ let idNode = ref.identifier, parent = idNode.parent;
28
+ parent && parent.type === "NewExpression" && parent.callee === idNode && context.report({
29
+ node: idNode,
30
+ messageId: "noNewNonconstructor",
31
+ data: { name: nonConstructorName }
32
+ });
33
+ });
34
+ }
35
+ } };
36
+ }
37
+ };
38
+ }));
39
+ //#endregion
40
+ //#region src-js/generated/plugin-eslint/rules/no-new-native-nonconstructor.cjs
41
+ module.exports = require_no_new_native_nonconstructor().create;
42
+ //#endregion
@@ -0,0 +1,47 @@
1
+ const require_chunk = require("../common/chunk.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
+ //#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-new-object.js
3
+ /**
4
+ * @fileoverview A rule to disallow calls to the Object constructor
5
+ * @author Matt DuVall <http://www.mattduvall.com/>
6
+ * @deprecated in ESLint v8.50.0
7
+ */
8
+ var require_no_new_object = /* @__PURE__ */ require_chunk.t(((exports, module) => {
9
+ let astUtils = require_ast_utils$1.t();
10
+ /** @type {import('../types').Rule.RuleModule} */
11
+ module.exports = {
12
+ meta: {
13
+ type: "suggestion",
14
+ docs: {
15
+ description: "Disallow `Object` constructors",
16
+ recommended: !1,
17
+ url: "https://eslint.org/docs/latest/rules/no-new-object"
18
+ },
19
+ deprecated: {
20
+ message: "The new rule flags more situations where object literal syntax can be used, and it does not report a problem when the `Object` constructor is invoked with an argument.",
21
+ url: "https://eslint.org/blog/2023/09/eslint-v8.50.0-released/",
22
+ deprecatedSince: "8.50.0",
23
+ availableUntil: "11.0.0",
24
+ replacedBy: [{ rule: {
25
+ name: "no-object-constructor",
26
+ url: "https://eslint.org/docs/rules/no-object-constructor"
27
+ } }]
28
+ },
29
+ schema: [],
30
+ messages: { preferLiteral: "The object literal notation {} is preferable." }
31
+ },
32
+ create(context) {
33
+ let sourceCode = context.sourceCode;
34
+ return { NewExpression(node) {
35
+ let variable = astUtils.getVariableByName(sourceCode.getScope(node), node.callee.name);
36
+ variable && variable.identifiers.length > 0 || node.callee.name === "Object" && context.report({
37
+ node,
38
+ messageId: "preferLiteral"
39
+ });
40
+ } };
41
+ }
42
+ };
43
+ }));
44
+ //#endregion
45
+ //#region src-js/generated/plugin-eslint/rules/no-new-object.cjs
46
+ module.exports = require_no_new_object().create;
47
+ //#endregion
@@ -0,0 +1,50 @@
1
+ //#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-new-require.js
2
+ /**
3
+ * @fileoverview Rule to disallow use of new operator with the `require` function
4
+ * @author Wil Moore III
5
+ * @deprecated in ESLint v7.0.0
6
+ */
7
+ var require_no_new_require = /* @__PURE__ */ require("../common/chunk.cjs").t(((exports, module) => {
8
+ /** @type {import('../types').Rule.RuleModule} */
9
+ module.exports = {
10
+ meta: {
11
+ deprecated: {
12
+ message: "Node.js rules were moved out of ESLint core.",
13
+ url: "https://eslint.org/docs/latest/use/migrating-to-7.0.0#deprecate-node-rules",
14
+ deprecatedSince: "7.0.0",
15
+ availableUntil: "11.0.0",
16
+ replacedBy: [{
17
+ message: "eslint-plugin-n now maintains deprecated Node.js-related rules.",
18
+ plugin: {
19
+ name: "eslint-plugin-n",
20
+ url: "https://github.com/eslint-community/eslint-plugin-n"
21
+ },
22
+ rule: {
23
+ name: "no-new-require",
24
+ url: "https://github.com/eslint-community/eslint-plugin-n/tree/master/docs/rules/no-new-require.md"
25
+ }
26
+ }]
27
+ },
28
+ type: "suggestion",
29
+ docs: {
30
+ description: "Disallow `new` operators with calls to `require`",
31
+ recommended: !1,
32
+ url: "https://eslint.org/docs/latest/rules/no-new-require"
33
+ },
34
+ schema: [],
35
+ messages: { noNewRequire: "Unexpected use of new with require." }
36
+ },
37
+ create(context) {
38
+ return { NewExpression(node) {
39
+ node.callee.type === "Identifier" && node.callee.name === "require" && context.report({
40
+ node,
41
+ messageId: "noNewRequire"
42
+ });
43
+ } };
44
+ }
45
+ };
46
+ }));
47
+ //#endregion
48
+ //#region src-js/generated/plugin-eslint/rules/no-new-require.cjs
49
+ module.exports = require_no_new_require().create;
50
+ //#endregion
@@ -0,0 +1,48 @@
1
+ //#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-new-symbol.js
2
+ /**
3
+ * @fileoverview Rule to disallow use of the new operator with the `Symbol` object
4
+ * @author Alberto Rodríguez
5
+ * @deprecated in ESLint v9.0.0
6
+ */
7
+ var require_no_new_symbol = /* @__PURE__ */ require("../common/chunk.cjs").t(((exports, module) => {
8
+ /** @type {import('../types').Rule.RuleModule} */
9
+ module.exports = {
10
+ meta: {
11
+ type: "problem",
12
+ docs: {
13
+ description: "Disallow `new` operators with the `Symbol` object",
14
+ recommended: !1,
15
+ url: "https://eslint.org/docs/latest/rules/no-new-symbol"
16
+ },
17
+ deprecated: {
18
+ message: "The rule was replaced with a more general rule.",
19
+ url: "https://eslint.org/docs/latest/use/migrate-to-9.0.0#eslint-recommended",
20
+ deprecatedSince: "9.0.0",
21
+ availableUntil: "11.0.0",
22
+ replacedBy: [{ rule: {
23
+ name: "no-new-native-nonconstructor",
24
+ url: "https://eslint.org/docs/latest/rules/no-new-native-nonconstructor"
25
+ } }]
26
+ },
27
+ schema: [],
28
+ messages: { noNewSymbol: "`Symbol` cannot be called as a constructor." }
29
+ },
30
+ create(context) {
31
+ let sourceCode = context.sourceCode;
32
+ return { "Program:exit"(node) {
33
+ let variable = sourceCode.getScope(node).set.get("Symbol");
34
+ variable && variable.defs.length === 0 && variable.references.forEach((ref) => {
35
+ let idNode = ref.identifier, parent = idNode.parent;
36
+ parent && parent.type === "NewExpression" && parent.callee === idNode && context.report({
37
+ node: idNode,
38
+ messageId: "noNewSymbol"
39
+ });
40
+ });
41
+ } };
42
+ }
43
+ };
44
+ }));
45
+ //#endregion
46
+ //#region src-js/generated/plugin-eslint/rules/no-new-symbol.cjs
47
+ module.exports = require_no_new_symbol().create;
48
+ //#endregion
@@ -0,0 +1,44 @@
1
+ const require_chunk = require("../common/chunk.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
+ //#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-new-wrappers.js
3
+ /**
4
+ * @fileoverview Rule to flag when using constructor for wrapper objects
5
+ * @author Ilya Volodin
6
+ */
7
+ var require_no_new_wrappers = /* @__PURE__ */ require_chunk.t(((exports, module) => {
8
+ let { getVariableByName } = require_ast_utils$1.t();
9
+ /** @type {import('../types').Rule.RuleModule} */
10
+ module.exports = {
11
+ meta: {
12
+ type: "suggestion",
13
+ docs: {
14
+ description: "Disallow `new` operators with the `String`, `Number`, and `Boolean` objects",
15
+ recommended: !1,
16
+ url: "https://eslint.org/docs/latest/rules/no-new-wrappers"
17
+ },
18
+ schema: [],
19
+ messages: { noConstructor: "Do not use {{fn}} as a constructor." }
20
+ },
21
+ create(context) {
22
+ let { sourceCode } = context;
23
+ return { NewExpression(node) {
24
+ let wrapperObjects = [
25
+ "String",
26
+ "Number",
27
+ "Boolean"
28
+ ], { name } = node.callee;
29
+ if (wrapperObjects.includes(name)) {
30
+ let variable = getVariableByName(sourceCode.getScope(node), name);
31
+ variable && variable.identifiers.length === 0 && context.report({
32
+ node,
33
+ messageId: "noConstructor",
34
+ data: { fn: name }
35
+ });
36
+ }
37
+ } };
38
+ }
39
+ };
40
+ }));
41
+ //#endregion
42
+ //#region src-js/generated/plugin-eslint/rules/no-new-wrappers.cjs
43
+ module.exports = require_no_new_wrappers().create;
44
+ //#endregion
@@ -0,0 +1,33 @@
1
+ //#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-new.js
2
+ /**
3
+ * @fileoverview Rule to flag statements with function invocation preceded by
4
+ * "new" and not part of assignment
5
+ * @author Ilya Volodin
6
+ */
7
+ var require_no_new = /* @__PURE__ */ require("../common/chunk.cjs").t(((exports, module) => {
8
+ /** @type {import('../types').Rule.RuleModule} */
9
+ module.exports = {
10
+ meta: {
11
+ type: "suggestion",
12
+ docs: {
13
+ description: "Disallow `new` operators outside of assignments or comparisons",
14
+ recommended: !1,
15
+ url: "https://eslint.org/docs/latest/rules/no-new"
16
+ },
17
+ schema: [],
18
+ messages: { noNewStatement: "Do not use 'new' for side effects." }
19
+ },
20
+ create(context) {
21
+ return { "ExpressionStatement > NewExpression"(node) {
22
+ context.report({
23
+ node: node.parent,
24
+ messageId: "noNewStatement"
25
+ });
26
+ } };
27
+ }
28
+ };
29
+ }));
30
+ //#endregion
31
+ //#region src-js/generated/plugin-eslint/rules/no-new.cjs
32
+ module.exports = require_no_new().create;
33
+ //#endregion
@@ -0,0 +1,80 @@
1
+ //#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-nonoctal-decimal-escape.js
2
+ /**
3
+ * @fileoverview Rule to disallow `\8` and `\9` escape sequences in string literals.
4
+ * @author Milos Djermanovic
5
+ */
6
+ var require_no_nonoctal_decimal_escape = /* @__PURE__ */ require("../common/chunk.cjs").t(((exports, module) => {
7
+ /**
8
+ * @import { SourceRange } from "@eslint/core";
9
+ */
10
+ let QUICK_TEST_REGEX = /\\[89]/u;
11
+ /**
12
+ * Returns unicode escape sequence that represents the given character.
13
+ * @param {string} character A single code unit.
14
+ * @returns {string} "\uXXXX" sequence.
15
+ */
16
+ function getUnicodeEscape(character) {
17
+ return `\\u${character.charCodeAt(0).toString(16).padStart(4, "0")}`;
18
+ }
19
+ /** @type {import('../types').Rule.RuleModule} */
20
+ module.exports = {
21
+ meta: {
22
+ type: "suggestion",
23
+ docs: {
24
+ description: "Disallow `\\8` and `\\9` escape sequences in string literals",
25
+ recommended: !0,
26
+ url: "https://eslint.org/docs/latest/rules/no-nonoctal-decimal-escape"
27
+ },
28
+ hasSuggestions: !0,
29
+ schema: [],
30
+ messages: {
31
+ decimalEscape: "Don't use '{{decimalEscape}}' escape sequence.",
32
+ refactor: "Replace '{{original}}' with '{{replacement}}'. This maintains the current functionality.",
33
+ escapeBackslash: "Replace '{{original}}' with '{{replacement}}' to include the actual backslash character."
34
+ }
35
+ },
36
+ create(context) {
37
+ let sourceCode = context.sourceCode;
38
+ /**
39
+ * Creates a new Suggestion object.
40
+ * @param {string} messageId "refactor" or "escapeBackslash".
41
+ * @param {SourceRange} range The range to replace.
42
+ * @param {string} replacement New text for the range.
43
+ * @returns {Object} Suggestion
44
+ */
45
+ function createSuggestion(messageId, range, replacement) {
46
+ return {
47
+ messageId,
48
+ data: {
49
+ original: sourceCode.getText().slice(...range),
50
+ replacement
51
+ },
52
+ fix(fixer) {
53
+ return fixer.replaceTextRange(range, replacement);
54
+ }
55
+ };
56
+ }
57
+ return { Literal(node) {
58
+ if (typeof node.value != "string" || !QUICK_TEST_REGEX.test(node.raw)) return;
59
+ let regex = /(?:[^\\]|(?<previousEscape>\\.))*?(?<decimalEscape>\\[89])/suy, match;
60
+ for (; match = regex.exec(node.raw);) {
61
+ let { previousEscape, decimalEscape } = match.groups, decimalEscapeRangeEnd = node.range[0] + match.index + match[0].length, decimalEscapeRangeStart = decimalEscapeRangeEnd - decimalEscape.length, decimalEscapeRange = [decimalEscapeRangeStart, decimalEscapeRangeEnd], suggest = [];
62
+ previousEscape === "\\0" ? suggest.push(createSuggestion("refactor", [decimalEscapeRangeStart - previousEscape.length, decimalEscapeRangeEnd], `${getUnicodeEscape("\0")}${decimalEscape[1]}`), createSuggestion("refactor", decimalEscapeRange, getUnicodeEscape(decimalEscape[1]))) : suggest.push(createSuggestion("refactor", decimalEscapeRange, decimalEscape[1])), suggest.push(createSuggestion("escapeBackslash", decimalEscapeRange, `\\${decimalEscape}`)), context.report({
63
+ node,
64
+ loc: {
65
+ start: sourceCode.getLocFromIndex(decimalEscapeRangeStart),
66
+ end: sourceCode.getLocFromIndex(decimalEscapeRangeEnd)
67
+ },
68
+ messageId: "decimalEscape",
69
+ data: { decimalEscape },
70
+ suggest
71
+ });
72
+ }
73
+ } };
74
+ }
75
+ };
76
+ }));
77
+ //#endregion
78
+ //#region src-js/generated/plugin-eslint/rules/no-nonoctal-decimal-escape.cjs
79
+ module.exports = require_no_nonoctal_decimal_escape().create;
80
+ //#endregion
@@ -0,0 +1,64 @@
1
+ const require_chunk = require("../common/chunk.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs"), require_eslint_utils$1 = require("../common/eslint-utils.cjs");
2
+ //#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-obj-calls.js
3
+ /**
4
+ * @fileoverview Rule to flag use of an object property of the global object (Math and JSON) as a function
5
+ * @author James Allardice
6
+ */
7
+ var require_no_obj_calls = /* @__PURE__ */ require_chunk.t(((exports, module) => {
8
+ let { CALL, CONSTRUCT, ReferenceTracker } = require_eslint_utils$1.t(), getPropertyName = require_ast_utils$1.t().getStaticPropertyName, nonCallableGlobals = [
9
+ "Atomics",
10
+ "JSON",
11
+ "Math",
12
+ "Reflect",
13
+ "Intl"
14
+ ];
15
+ /**
16
+ * Returns the name of the node to report
17
+ * @param {ASTNode} node A node to report
18
+ * @returns {string} name to report
19
+ */
20
+ function getReportNodeName(node) {
21
+ return node.type === "ChainExpression" ? getReportNodeName(node.expression) : node.type === "MemberExpression" ? getPropertyName(node) : node.name;
22
+ }
23
+ /** @type {import('../types').Rule.RuleModule} */
24
+ module.exports = {
25
+ meta: {
26
+ type: "problem",
27
+ docs: {
28
+ description: "Disallow calling global object properties as functions",
29
+ recommended: !0,
30
+ url: "https://eslint.org/docs/latest/rules/no-obj-calls"
31
+ },
32
+ schema: [],
33
+ messages: {
34
+ unexpectedCall: "'{{name}}' is not a function.",
35
+ unexpectedRefCall: "'{{name}}' is reference to '{{ref}}', which is not a function."
36
+ }
37
+ },
38
+ create(context) {
39
+ let sourceCode = context.sourceCode;
40
+ return { Program(node) {
41
+ let tracker = new ReferenceTracker(sourceCode.getScope(node)), traceMap = {};
42
+ for (let g of nonCallableGlobals) traceMap[g] = {
43
+ [CALL]: !0,
44
+ [CONSTRUCT]: !0
45
+ };
46
+ for (let { node: refNode, path } of tracker.iterateGlobalReferences(traceMap)) {
47
+ let name = getReportNodeName(refNode.callee), ref = path[0], messageId = name === ref ? "unexpectedCall" : "unexpectedRefCall";
48
+ context.report({
49
+ node: refNode,
50
+ messageId,
51
+ data: {
52
+ name,
53
+ ref
54
+ }
55
+ });
56
+ }
57
+ } };
58
+ }
59
+ };
60
+ }));
61
+ //#endregion
62
+ //#region src-js/generated/plugin-eslint/rules/no-obj-calls.cjs
63
+ module.exports = require_no_obj_calls().create;
64
+ //#endregion
@@ -0,0 +1,69 @@
1
+ const require_chunk = require("../common/chunk.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
+ //#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-object-constructor.js
3
+ /**
4
+ * @fileoverview Rule to disallow calls to the `Object` constructor without an argument
5
+ * @author Francesco Trotta
6
+ */
7
+ var require_no_object_constructor = /* @__PURE__ */ require_chunk.t(((exports, module) => {
8
+ let { getVariableByName, isArrowToken, isStartOfExpressionStatement, needsPrecedingSemicolon } = require_ast_utils$1.t();
9
+ /** @type {import('../types').Rule.RuleModule} */
10
+ module.exports = {
11
+ meta: {
12
+ type: "suggestion",
13
+ docs: {
14
+ description: "Disallow calls to the `Object` constructor without an argument",
15
+ recommended: !1,
16
+ url: "https://eslint.org/docs/latest/rules/no-object-constructor"
17
+ },
18
+ hasSuggestions: !0,
19
+ schema: [],
20
+ messages: {
21
+ preferLiteral: "The object literal notation {} is preferable.",
22
+ useLiteral: "Replace with '{{replacement}}'.",
23
+ useLiteralAfterSemicolon: "Replace with '{{replacement}}', add preceding semicolon."
24
+ }
25
+ },
26
+ create(context) {
27
+ let sourceCode = context.sourceCode;
28
+ /**
29
+ * Determines whether or not an object literal that replaces a specified node needs to be enclosed in parentheses.
30
+ * @param {ASTNode} node The node to be replaced.
31
+ * @returns {boolean} Whether or not parentheses around the object literal are required.
32
+ */
33
+ function needsParentheses(node) {
34
+ if (isStartOfExpressionStatement(node)) return !0;
35
+ let prevToken = sourceCode.getTokenBefore(node);
36
+ return !!(prevToken && isArrowToken(prevToken));
37
+ }
38
+ /**
39
+ * Reports on nodes where the `Object` constructor is called without arguments.
40
+ * @param {ASTNode} node The node to evaluate.
41
+ * @returns {void}
42
+ */
43
+ function check(node) {
44
+ if (node.callee.type !== "Identifier" || node.callee.name !== "Object" || node.arguments.length) return;
45
+ let variable = getVariableByName(sourceCode.getScope(node), "Object");
46
+ if (variable && variable.identifiers.length === 0) {
47
+ let replacement, fixText, messageId = "useLiteral";
48
+ needsParentheses(node) ? (replacement = "({})", needsPrecedingSemicolon(sourceCode, node) ? (fixText = ";({})", messageId = "useLiteralAfterSemicolon") : fixText = "({})") : replacement = fixText = "{}", context.report({
49
+ node,
50
+ messageId: "preferLiteral",
51
+ suggest: [{
52
+ messageId,
53
+ data: { replacement },
54
+ fix: (fixer) => fixer.replaceText(node, fixText)
55
+ }]
56
+ });
57
+ }
58
+ }
59
+ return {
60
+ CallExpression: check,
61
+ NewExpression: check
62
+ };
63
+ }
64
+ };
65
+ }));
66
+ //#endregion
67
+ //#region src-js/generated/plugin-eslint/rules/no-object-constructor.cjs
68
+ module.exports = require_no_object_constructor().create;
69
+ //#endregion
@@ -0,0 +1,35 @@
1
+ //#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-octal-escape.js
2
+ /**
3
+ * @fileoverview Rule to flag octal escape sequences in string literals.
4
+ * @author Ian Christian Myers
5
+ */
6
+ var require_no_octal_escape = /* @__PURE__ */ require("../common/chunk.cjs").t(((exports, module) => {
7
+ /** @type {import('../types').Rule.RuleModule} */
8
+ module.exports = {
9
+ meta: {
10
+ type: "suggestion",
11
+ docs: {
12
+ description: "Disallow octal escape sequences in string literals",
13
+ recommended: !1,
14
+ url: "https://eslint.org/docs/latest/rules/no-octal-escape"
15
+ },
16
+ schema: [],
17
+ messages: { octalEscapeSequence: "Don't use octal: '\\{{sequence}}'. Use '\\u....' instead." }
18
+ },
19
+ create(context) {
20
+ return { Literal(node) {
21
+ if (typeof node.value != "string") return;
22
+ let match = node.raw.match(/^(?:[^\\]|\\.)*?\\([0-3][0-7]{1,2}|[4-7][0-7]|0(?=[89])|[1-7])/su);
23
+ match && context.report({
24
+ node,
25
+ messageId: "octalEscapeSequence",
26
+ data: { sequence: match[1] }
27
+ });
28
+ } };
29
+ }
30
+ };
31
+ }));
32
+ //#endregion
33
+ //#region src-js/generated/plugin-eslint/rules/no-octal-escape.cjs
34
+ module.exports = require_no_octal_escape().create;
35
+ //#endregion