oxlint-plugin-eslint 1.72.0 → 1.74.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 (300) hide show
  1. package/common/ast-utils.cjs +7 -7
  2. package/common/code-path-utils.cjs +1 -1
  3. package/common/fix-tracker.cjs +1 -1
  4. package/common/ignore.cjs +1 -1
  5. package/common/keywords.cjs +1 -1
  6. package/common/regexpp.cjs +2 -2
  7. package/common/regular-expressions.cjs +1 -1
  8. package/common/string-utils.cjs +1 -1
  9. package/index.js +8 -3
  10. package/package.json +1 -1
  11. package/rules/accessor-pairs.cjs +1 -1
  12. package/rules/array-bracket-newline.cjs +1 -1
  13. package/rules/array-bracket-spacing.cjs +1 -1
  14. package/rules/array-callback-return.cjs +1 -1
  15. package/rules/array-element-newline.cjs +1 -1
  16. package/rules/arrow-body-style.cjs +2 -2
  17. package/rules/arrow-parens.cjs +1 -1
  18. package/rules/arrow-spacing.cjs +1 -1
  19. package/rules/block-scoped-var.cjs +1 -1
  20. package/rules/block-spacing.cjs +1 -1
  21. package/rules/brace-style.cjs +1 -1
  22. package/rules/callback-return.cjs +1 -1
  23. package/rules/camelcase.cjs +1 -1
  24. package/rules/capitalized-comments.cjs +1 -1
  25. package/rules/class-methods-use-this.cjs +1 -1
  26. package/rules/comma-dangle.cjs +1 -1
  27. package/rules/comma-spacing.cjs +2 -2
  28. package/rules/comma-style.cjs +1 -1
  29. package/rules/complexity.cjs +1 -1
  30. package/rules/computed-property-spacing.cjs +1 -1
  31. package/rules/consistent-return.cjs +1 -1
  32. package/rules/consistent-this.cjs +1 -1
  33. package/rules/constructor-super.cjs +1 -1
  34. package/rules/curly.cjs +1 -1
  35. package/rules/default-case-last.cjs +1 -1
  36. package/rules/default-case.cjs +1 -1
  37. package/rules/default-param-last.cjs +1 -1
  38. package/rules/dot-location.cjs +1 -1
  39. package/rules/dot-notation.cjs +1 -1
  40. package/rules/eol-last.cjs +1 -1
  41. package/rules/eqeqeq.cjs +1 -1
  42. package/rules/for-direction.cjs +1 -1
  43. package/rules/func-call-spacing.cjs +1 -1
  44. package/rules/func-name-matching.cjs +1 -1
  45. package/rules/func-names.cjs +1 -1
  46. package/rules/func-style.cjs +1 -1
  47. package/rules/function-call-argument-newline.cjs +1 -1
  48. package/rules/function-paren-newline.cjs +1 -1
  49. package/rules/generator-star-spacing.cjs +1 -1
  50. package/rules/getter-return.cjs +1 -1
  51. package/rules/global-require.cjs +1 -1
  52. package/rules/grouped-accessor-pairs.cjs +1 -1
  53. package/rules/guard-for-in.cjs +1 -1
  54. package/rules/handle-callback-err.cjs +1 -1
  55. package/rules/id-blacklist.cjs +1 -1
  56. package/rules/id-denylist.cjs +1 -1
  57. package/rules/id-length.cjs +1 -1
  58. package/rules/id-match.cjs +1 -1
  59. package/rules/implicit-arrow-linebreak.cjs +1 -1
  60. package/rules/indent-legacy.cjs +2 -2
  61. package/rules/indent.cjs +1 -1
  62. package/rules/init-declarations.cjs +1 -1
  63. package/rules/jsx-quotes.cjs +2 -2
  64. package/rules/key-spacing.cjs +1 -1
  65. package/rules/keyword-spacing.cjs +1 -1
  66. package/rules/line-comment-position.cjs +1 -1
  67. package/rules/linebreak-style.cjs +1 -1
  68. package/rules/lines-around-comment.cjs +2 -2
  69. package/rules/lines-around-directive.cjs +1 -1
  70. package/rules/lines-between-class-members.cjs +1 -1
  71. package/rules/logical-assignment-operators.cjs +2 -2
  72. package/rules/max-classes-per-file.cjs +5 -1
  73. package/rules/max-depth.cjs +1 -1
  74. package/rules/max-len.cjs +1 -1
  75. package/rules/max-lines-per-function.cjs +1 -1
  76. package/rules/max-lines.cjs +1 -1
  77. package/rules/max-nested-callbacks.cjs +3 -2
  78. package/rules/max-params.cjs +1 -1
  79. package/rules/max-statements-per-line.cjs +1 -1
  80. package/rules/max-statements.cjs +1 -1
  81. package/rules/multiline-comment-style.cjs +1 -1
  82. package/rules/multiline-ternary.cjs +1 -1
  83. package/rules/new-cap.cjs +1 -1
  84. package/rules/new-parens.cjs +1 -1
  85. package/rules/newline-after-var.cjs +1 -1
  86. package/rules/newline-before-return.cjs +1 -1
  87. package/rules/newline-per-chained-call.cjs +1 -1
  88. package/rules/no-alert.cjs +1 -1
  89. package/rules/no-array-constructor.cjs +1 -1
  90. package/rules/no-async-promise-executor.cjs +1 -1
  91. package/rules/no-await-in-loop.cjs +1 -1
  92. package/rules/no-bitwise.cjs +1 -1
  93. package/rules/no-buffer-constructor.cjs +1 -1
  94. package/rules/no-caller.cjs +1 -1
  95. package/rules/no-case-declarations.cjs +1 -1
  96. package/rules/no-catch-shadow.cjs +1 -1
  97. package/rules/no-class-assign.cjs +1 -1
  98. package/rules/no-compare-neg-zero.cjs +1 -1
  99. package/rules/no-cond-assign.cjs +1 -1
  100. package/rules/no-confusing-arrow.cjs +1 -1
  101. package/rules/no-console.cjs +1 -1
  102. package/rules/no-const-assign.cjs +1 -1
  103. package/rules/no-constant-binary-expression.cjs +46 -12
  104. package/rules/no-constant-condition.cjs +1 -1
  105. package/rules/no-constructor-return.cjs +1 -1
  106. package/rules/no-continue.cjs +1 -1
  107. package/rules/no-control-regex.cjs +1 -1
  108. package/rules/no-debugger.cjs +1 -1
  109. package/rules/no-delete-var.cjs +1 -1
  110. package/rules/no-div-regex.cjs +1 -1
  111. package/rules/no-dupe-args.cjs +1 -1
  112. package/rules/no-dupe-class-members.cjs +1 -1
  113. package/rules/no-dupe-else-if.cjs +1 -1
  114. package/rules/no-dupe-keys.cjs +1 -1
  115. package/rules/no-duplicate-case.cjs +2 -2
  116. package/rules/no-duplicate-imports.cjs +1 -1
  117. package/rules/no-else-return.cjs +2 -2
  118. package/rules/no-empty-character-class.cjs +1 -1
  119. package/rules/no-empty-function.cjs +1 -1
  120. package/rules/no-empty-pattern.cjs +1 -1
  121. package/rules/no-empty-static-block.cjs +1 -1
  122. package/rules/no-empty.cjs +1 -1
  123. package/rules/no-eq-null.cjs +1 -1
  124. package/rules/no-eval.cjs +1 -1
  125. package/rules/no-ex-assign.cjs +1 -1
  126. package/rules/no-extend-native.cjs +1 -1
  127. package/rules/no-extra-bind.cjs +1 -1
  128. package/rules/no-extra-boolean-cast.cjs +3 -3
  129. package/rules/no-extra-label.cjs +1 -1
  130. package/rules/no-extra-parens.cjs +2 -2
  131. package/rules/no-extra-semi.cjs +1 -1
  132. package/rules/no-fallthrough.cjs +1 -1
  133. package/rules/no-floating-decimal.cjs +1 -1
  134. package/rules/no-func-assign.cjs +1 -1
  135. package/rules/no-global-assign.cjs +1 -1
  136. package/rules/no-implicit-coercion.cjs +1 -1
  137. package/rules/no-implicit-globals.cjs +1 -1
  138. package/rules/no-implied-eval.cjs +1 -1
  139. package/rules/no-import-assign.cjs +1 -1
  140. package/rules/no-inline-comments.cjs +1 -1
  141. package/rules/no-inner-declarations.cjs +1 -1
  142. package/rules/no-invalid-regexp.cjs +1 -1
  143. package/rules/no-invalid-this.cjs +1 -1
  144. package/rules/no-irregular-whitespace.cjs +1 -1
  145. package/rules/no-iterator.cjs +1 -1
  146. package/rules/no-label-var.cjs +1 -1
  147. package/rules/no-labels.cjs +1 -1
  148. package/rules/no-lone-blocks.cjs +1 -1
  149. package/rules/no-lonely-if.cjs +1 -1
  150. package/rules/no-loop-func.cjs +1 -1
  151. package/rules/no-loss-of-precision.cjs +1 -1
  152. package/rules/no-magic-numbers.cjs +1 -1
  153. package/rules/no-misleading-character-class.cjs +1 -1
  154. package/rules/no-mixed-operators.cjs +1 -1
  155. package/rules/no-mixed-requires.cjs +1 -1
  156. package/rules/no-mixed-spaces-and-tabs.cjs +1 -1
  157. package/rules/no-multi-assign.cjs +1 -1
  158. package/rules/no-multi-spaces.cjs +1 -1
  159. package/rules/no-multi-str.cjs +1 -1
  160. package/rules/no-multiple-empty-lines.cjs +1 -1
  161. package/rules/no-native-reassign.cjs +1 -1
  162. package/rules/no-negated-condition.cjs +1 -1
  163. package/rules/no-negated-in-lhs.cjs +1 -1
  164. package/rules/no-nested-ternary.cjs +1 -1
  165. package/rules/no-new-func.cjs +1 -1
  166. package/rules/no-new-native-nonconstructor.cjs +1 -1
  167. package/rules/no-new-object.cjs +1 -1
  168. package/rules/no-new-require.cjs +1 -1
  169. package/rules/no-new-symbol.cjs +1 -1
  170. package/rules/no-new-wrappers.cjs +1 -1
  171. package/rules/no-new.cjs +1 -1
  172. package/rules/no-nonoctal-decimal-escape.cjs +1 -1
  173. package/rules/no-obj-calls.cjs +2 -2
  174. package/rules/no-object-constructor.cjs +1 -1
  175. package/rules/no-octal-escape.cjs +1 -1
  176. package/rules/no-octal.cjs +1 -1
  177. package/rules/no-param-reassign.cjs +1 -1
  178. package/rules/no-path-concat.cjs +1 -1
  179. package/rules/no-plusplus.cjs +1 -1
  180. package/rules/no-process-env.cjs +1 -1
  181. package/rules/no-process-exit.cjs +1 -1
  182. package/rules/no-promise-executor-return.cjs +2 -2
  183. package/rules/no-proto.cjs +1 -1
  184. package/rules/no-prototype-builtins.cjs +1 -1
  185. package/rules/no-redeclare.cjs +1 -1
  186. package/rules/no-regex-spaces.cjs +1 -1
  187. package/rules/no-restricted-exports.cjs +1 -1
  188. package/rules/no-restricted-globals.cjs +1 -1
  189. package/rules/no-restricted-imports.cjs +1 -1
  190. package/rules/no-restricted-modules.cjs +1 -1
  191. package/rules/no-restricted-properties.cjs +1 -1
  192. package/rules/no-restricted-syntax.cjs +1 -1
  193. package/rules/no-return-assign.cjs +1 -1
  194. package/rules/no-return-await.cjs +1 -1
  195. package/rules/no-script-url.cjs +1 -1
  196. package/rules/no-self-assign.cjs +1 -1
  197. package/rules/no-self-compare.cjs +1 -1
  198. package/rules/no-sequences.cjs +1 -1
  199. package/rules/no-setter-return.cjs +1 -1
  200. package/rules/no-shadow-restricted-names.cjs +1 -1
  201. package/rules/no-shadow.cjs +5 -5
  202. package/rules/no-spaced-func.cjs +1 -1
  203. package/rules/no-sparse-arrays.cjs +1 -1
  204. package/rules/no-sync.cjs +1 -1
  205. package/rules/no-tabs.cjs +1 -1
  206. package/rules/no-template-curly-in-string.cjs +1 -1
  207. package/rules/no-ternary.cjs +1 -1
  208. package/rules/no-this-before-super.cjs +1 -1
  209. package/rules/no-throw-literal.cjs +3 -2
  210. package/rules/no-trailing-spaces.cjs +1 -1
  211. package/rules/no-unassigned-vars.cjs +1 -1
  212. package/rules/no-undef-init.cjs +1 -1
  213. package/rules/no-undef.cjs +1 -1
  214. package/rules/no-undefined.cjs +1 -1
  215. package/rules/no-underscore-dangle.cjs +1 -1
  216. package/rules/no-unexpected-multiline.cjs +1 -1
  217. package/rules/no-unneeded-ternary.cjs +1 -1
  218. package/rules/no-unreachable-loop.cjs +1 -1
  219. package/rules/no-unreachable.cjs +1 -1
  220. package/rules/no-unsafe-finally.cjs +1 -1
  221. package/rules/no-unsafe-negation.cjs +1 -1
  222. package/rules/no-unsafe-optional-chaining.cjs +1 -1
  223. package/rules/no-unused-expressions.cjs +3 -3
  224. package/rules/no-unused-labels.cjs +1 -1
  225. package/rules/no-unused-private-class-members.cjs +1 -1
  226. package/rules/no-unused-vars.cjs +2 -2
  227. package/rules/no-use-before-define.cjs +3 -3
  228. package/rules/no-useless-assignment.cjs +2 -3
  229. package/rules/no-useless-backreference.cjs +1 -1
  230. package/rules/no-useless-call.cjs +1 -1
  231. package/rules/no-useless-catch.cjs +1 -1
  232. package/rules/no-useless-computed-key.cjs +2 -2
  233. package/rules/no-useless-concat.cjs +1 -1
  234. package/rules/no-useless-constructor.cjs +1 -1
  235. package/rules/no-useless-escape.cjs +1 -1
  236. package/rules/no-useless-rename.cjs +1 -1
  237. package/rules/no-useless-return.cjs +1 -1
  238. package/rules/no-var.cjs +1 -1
  239. package/rules/no-void.cjs +1 -1
  240. package/rules/no-warning-comments.cjs +1 -1
  241. package/rules/no-whitespace-before-property.cjs +1 -1
  242. package/rules/no-with.cjs +1 -1
  243. package/rules/nonblock-statement-body-position.cjs +1 -1
  244. package/rules/object-curly-newline.cjs +1 -1
  245. package/rules/object-curly-spacing.cjs +1 -1
  246. package/rules/object-property-newline.cjs +1 -1
  247. package/rules/object-shorthand.cjs +2 -2
  248. package/rules/one-var-declaration-per-line.cjs +1 -1
  249. package/rules/one-var.cjs +1 -1
  250. package/rules/operator-assignment.cjs +1 -1
  251. package/rules/operator-linebreak.cjs +1 -1
  252. package/rules/padded-blocks.cjs +1 -1
  253. package/rules/padding-line-between-statements.cjs +1 -1
  254. package/rules/prefer-arrow-callback.cjs +1 -1
  255. package/rules/prefer-const.cjs +2 -2
  256. package/rules/prefer-destructuring.cjs +1 -1
  257. package/rules/prefer-exponentiation-operator.cjs +15 -5
  258. package/rules/prefer-named-capture-group.cjs +2 -2
  259. package/rules/prefer-numeric-literals.cjs +1 -1
  260. package/rules/prefer-object-has-own.cjs +1 -1
  261. package/rules/prefer-object-spread.cjs +2 -2
  262. package/rules/prefer-promise-reject-errors.cjs +6 -4
  263. package/rules/prefer-reflect.cjs +1 -1
  264. package/rules/prefer-regex-literals.cjs +5 -5
  265. package/rules/prefer-rest-params.cjs +1 -1
  266. package/rules/prefer-spread.cjs +1 -1
  267. package/rules/prefer-template.cjs +2 -2
  268. package/rules/preserve-caught-error.cjs +1 -1
  269. package/rules/quote-props.cjs +1 -1
  270. package/rules/quotes.cjs +1 -1
  271. package/rules/radix.cjs +5 -4
  272. package/rules/require-atomic-updates.cjs +1 -1
  273. package/rules/require-await.cjs +1 -1
  274. package/rules/require-unicode-regexp.cjs +3 -2
  275. package/rules/require-yield.cjs +1 -1
  276. package/rules/rest-spread-spacing.cjs +1 -1
  277. package/rules/semi-spacing.cjs +1 -1
  278. package/rules/semi-style.cjs +1 -1
  279. package/rules/semi.cjs +3 -3
  280. package/rules/sort-imports.cjs +1 -1
  281. package/rules/sort-vars.cjs +1 -1
  282. package/rules/space-before-blocks.cjs +1 -1
  283. package/rules/space-before-function-paren.cjs +1 -1
  284. package/rules/space-in-parens.cjs +1 -1
  285. package/rules/space-infix-ops.cjs +1 -1
  286. package/rules/space-unary-ops.cjs +1 -1
  287. package/rules/spaced-comment.cjs +1 -1
  288. package/rules/strict.cjs +1 -1
  289. package/rules/switch-colon-spacing.cjs +1 -1
  290. package/rules/symbol-description.cjs +1 -1
  291. package/rules/template-curly-spacing.cjs +1 -1
  292. package/rules/template-tag-spacing.cjs +1 -1
  293. package/rules/unicode-bom.cjs +1 -1
  294. package/rules/use-isnan.cjs +1 -1
  295. package/rules/valid-typeof.cjs +1 -1
  296. package/rules/vars-on-top.cjs +1 -1
  297. package/rules/wrap-iife.cjs +1 -1
  298. package/rules/wrap-regex.cjs +1 -1
  299. package/rules/yield-star-spacing.cjs +1 -1
  300. package/rules/yoda.cjs +1 -1
package/rules/indent.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/indent.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/indent.js
3
3
  /**
4
4
  * @fileoverview This rule sets a specific indentation style and width for your code
5
5
  *
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/init-declarations.js
1
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/init-declarations.js
2
2
  /**
3
3
  * @fileoverview A rule to control the style of variable initializations.
4
4
  * @author Colin Ihrig
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/jsx-quotes.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/jsx-quotes.js
3
3
  /**
4
4
  * @fileoverview A rule to ensure consistent quotes used in jsx syntax.
5
5
  * @author Mathias Schreck <https://github.com/lo1tuma>
@@ -54,7 +54,7 @@ var require_jsx_quotes = /* @__PURE__ */ require_rolldown_runtime.t(((exports, m
54
54
  messages: { unexpected: "Unexpected usage of {{description}}." }
55
55
  },
56
56
  create(context) {
57
- let setting = QUOTE_SETTINGS[context.options[0] || "prefer-double"];
57
+ let quoteOption = context.options[0] || "prefer-double", setting = QUOTE_SETTINGS[quoteOption];
58
58
  /**
59
59
  * Checks if the given string literal node uses the expected quotes
60
60
  * @param {ASTNode} node A string literal node.
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs"), require_string_utils$1 = require("../common/string-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/key-spacing.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/key-spacing.js
3
3
  /**
4
4
  * @fileoverview Rule to specify spacing of object literal keys and values
5
5
  * @author Brandon Mills
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs"), require_keywords$1 = require("../common/keywords.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/keyword-spacing.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/keyword-spacing.js
3
3
  /**
4
4
  * @fileoverview Rule to enforce spacing before and after keywords.
5
5
  * @author Toru Nagashima
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/line-comment-position.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/line-comment-position.js
3
3
  /**
4
4
  * @fileoverview Rule to enforce the position of line comments
5
5
  * @author Alberto Rodríguez
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/linebreak-style.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/linebreak-style.js
3
3
  /**
4
4
  * @fileoverview Rule to enforce a single linebreak style.
5
5
  * @author Erik Mueller
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/lines-around-comment.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/lines-around-comment.js
3
3
  /**
4
4
  * @fileoverview Enforces empty lines around comments.
5
5
  * @author Jamund Ferguson
@@ -107,7 +107,7 @@ var require_lines_around_comment = /* @__PURE__ */ require_rolldown_runtime.t(((
107
107
  },
108
108
  create(context) {
109
109
  let options = Object.assign({}, context.options[0]), ignorePattern = options.ignorePattern, defaultIgnoreRegExp = astUtils.COMMENTS_IGNORE_PATTERN, customIgnoreRegExp = new RegExp(ignorePattern, "u"), applyDefaultIgnorePatterns = options.applyDefaultIgnorePatterns !== !1;
110
- options.beforeBlockComment = options.beforeBlockComment === void 0 ? !0 : options.beforeBlockComment;
110
+ options.beforeBlockComment = options.beforeBlockComment === void 0 || options.beforeBlockComment;
111
111
  let sourceCode = context.sourceCode, lines = sourceCode.lines, numLines = lines.length + 1, comments = sourceCode.getAllComments(), commentLines = getCommentLineNums(comments), emptyLines = getEmptyLineNums(lines), commentAndEmptyLines = new Set(commentLines.concat(emptyLines));
112
112
  /**
113
113
  * Returns whether or not comments are on lines starting with or ending with code
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/lines-around-directive.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/lines-around-directive.js
3
3
  /**
4
4
  * @fileoverview Require or disallow newlines around directives.
5
5
  * @author Kai Cataldo
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/lines-between-class-members.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/lines-between-class-members.js
3
3
  /**
4
4
  * @fileoverview Rule to check empty newline between class members
5
5
  * @author 薛定谔的猫<hh_2013@foxmail.com>
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/logical-assignment-operators.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/logical-assignment-operators.js
3
3
  /**
4
4
  * @fileoverview Rule to replace assignment expressions with logical operator assignment
5
5
  * @author Daniel Martens
@@ -109,7 +109,7 @@ var require_logical_assignment_operators = /* @__PURE__ */ require_rolldown_runt
109
109
  * @returns {boolean} True iff passed node is inside a with block
110
110
  */
111
111
  function isInsideWithBlock(node) {
112
- return node.type === "Program" ? !1 : node.parent.type === "WithStatement" && node.parent.body === node ? !0 : isInsideWithBlock(node.parent);
112
+ return node.type === "Program" ? !1 : node.parent.type === "WithStatement" && node.parent.body === node || isInsideWithBlock(node.parent);
113
113
  }
114
114
  /**
115
115
  * Gets the leftmost operand of a consecutive logical expression.
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/max-classes-per-file.js
1
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/max-classes-per-file.js
2
2
  /**
3
3
  * @fileoverview Enforce a maximum number of classes per file
4
4
  * @author James Garbutt <https://github.com/43081j>
@@ -39,6 +39,10 @@ var require_max_classes_per_file = /* @__PURE__ */ require("../common/rolldown-r
39
39
  "Program:exit"(node) {
40
40
  classCount > max && context.report({
41
41
  node,
42
+ loc: {
43
+ start: node.body[0].loc.start,
44
+ end: node.body.at(-1).loc.end
45
+ },
42
46
  messageId: "maximumExceeded",
43
47
  data: {
44
48
  classCount,
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/max-depth.js
1
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/max-depth.js
2
2
  /**
3
3
  * @fileoverview A rule to set the maximum depth block can be nested in a function.
4
4
  * @author Ian Christian Myers
package/rules/max-len.cjs CHANGED
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/max-len.js
1
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/max-len.js
2
2
  /**
3
3
  * @fileoverview Rule to check for max length on a line.
4
4
  * @author Matt DuVall <http://www.mattduvall.com>
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs"), require_string_utils$1 = require("../common/string-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/max-lines-per-function.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/max-lines-per-function.js
3
3
  /**
4
4
  * @fileoverview A rule to set the maximum number of line of code in a function.
5
5
  * @author Pete Ward <peteward44@gmail.com>
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/max-lines.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/max-lines.js
3
3
  /**
4
4
  * @fileoverview enforce a maximum file length
5
5
  * @author Alberto Rodríguez
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/max-nested-callbacks.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/max-nested-callbacks.js
3
3
  /**
4
4
  * @fileoverview Rule to enforce a maximum number of nested callbacks.
5
5
  * @author Ian Christian Myers
@@ -46,7 +46,8 @@ var require_max_nested_callbacks = /* @__PURE__ */ require_rolldown_runtime.t(((
46
46
  * @private
47
47
  */
48
48
  function checkFunction(node) {
49
- if (node.parent.type === "CallExpression" && callbackStack.push(node), callbackStack.length > THRESHOLD) {
49
+ let parent = node.parent;
50
+ if (!(parent.type !== "CallExpression" || parent.callee === node) && (callbackStack.push(node), callbackStack.length > THRESHOLD)) {
50
51
  let opts = {
51
52
  num: callbackStack.length,
52
53
  max: THRESHOLD
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs"), require_string_utils$1 = require("../common/string-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/max-params.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/max-params.js
3
3
  /**
4
4
  * @fileoverview Rule to flag when a function has too many parameters
5
5
  * @author Ilya Volodin
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/max-statements-per-line.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/max-statements-per-line.js
3
3
  /**
4
4
  * @fileoverview Specify the maximum number of statements allowed per line.
5
5
  * @author Kenneth Williams
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs"), require_string_utils$1 = require("../common/string-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/max-statements.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/max-statements.js
3
3
  /**
4
4
  * @fileoverview A rule to set the maximum number of statements in a function.
5
5
  * @author Ian Christian Myers
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/multiline-comment-style.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/multiline-comment-style.js
3
3
  /**
4
4
  * @fileoverview enforce a particular style for multiline comments
5
5
  * @author Teddy Katz
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/multiline-ternary.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/multiline-ternary.js
3
3
  /**
4
4
  * @fileoverview Enforce newlines between operands of ternary expressions
5
5
  * @author Kai Cataldo
package/rules/new-cap.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/new-cap.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/new-cap.js
3
3
  /**
4
4
  * @fileoverview Rule to flag use of constructors without capital letters
5
5
  * @author Nicholas C. Zakas
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/new-parens.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/new-parens.js
3
3
  /**
4
4
  * @fileoverview Rule to flag when using constructor without parentheses
5
5
  * @author Ilya Volodin
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/newline-after-var.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/newline-after-var.js
3
3
  /**
4
4
  * @fileoverview Rule to check empty newline after "var" statement
5
5
  * @author Gopal Venkatesan
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/newline-before-return.js
1
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/newline-before-return.js
2
2
  /**
3
3
  * @fileoverview Rule to require newlines before `return` statement
4
4
  * @author Kai Cataldo
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/newline-per-chained-call.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/newline-per-chained-call.js
3
3
  /**
4
4
  * @fileoverview Rule to ensure newline per method call when chaining calls
5
5
  * @author Rajendra Patil
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/no-alert.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/no-alert.js
3
3
  /**
4
4
  * @fileoverview Rule to flag use of alert, confirm, prompt
5
5
  * @author Nicholas C. Zakas
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/no-array-constructor.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/no-array-constructor.js
3
3
  /**
4
4
  * @fileoverview Disallow construction of dense arrays using the Array constructor
5
5
  * @author Matt DuVall <http://www.mattduvall.com/>
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/no-async-promise-executor.js
1
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/no-async-promise-executor.js
2
2
  /**
3
3
  * @fileoverview disallow using an async function as a Promise executor
4
4
  * @author Teddy Katz
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/no-await-in-loop.js
1
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/no-await-in-loop.js
2
2
  /**
3
3
  * @fileoverview Rule to disallow uses of await inside of loops.
4
4
  * @author Nat Mote (nmote)
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/no-bitwise.js
1
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/no-bitwise.js
2
2
  /**
3
3
  * @fileoverview Rule to flag bitwise identifiers
4
4
  * @author Nicholas C. Zakas
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/no-buffer-constructor.js
1
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/no-buffer-constructor.js
2
2
  /**
3
3
  * @fileoverview disallow use of the Buffer() constructor
4
4
  * @author Teddy Katz
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/no-caller.js
1
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/no-caller.js
2
2
  /**
3
3
  * @fileoverview Rule to flag use of arguments.callee and arguments.caller.
4
4
  * @author Nicholas C. Zakas
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/no-case-declarations.js
1
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/no-case-declarations.js
2
2
  /**
3
3
  * @fileoverview Rule to flag use of an lexical declarations inside a case clause
4
4
  * @author Erik Arvidsson
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/no-catch-shadow.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/no-catch-shadow.js
3
3
  /**
4
4
  * @fileoverview Rule to flag variable leak in CatchClauses in IE 8 and earlier
5
5
  * @author Ian Christian Myers
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/no-class-assign.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/no-class-assign.js
3
3
  /**
4
4
  * @fileoverview A rule to disallow modifying variables of class declarations
5
5
  * @author Toru Nagashima
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/no-compare-neg-zero.js
1
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/no-compare-neg-zero.js
2
2
  /**
3
3
  * @fileoverview The rule should warn against code that tries to compare against -0.
4
4
  * @author Aladdin-ADD <hh_2013@foxmail.com>
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/no-cond-assign.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/no-cond-assign.js
3
3
  /**
4
4
  * @fileoverview Rule to flag assignment in a conditional statement's test expression
5
5
  * @author Stephen Murray <spmurrayzzz>
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/no-confusing-arrow.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/no-confusing-arrow.js
3
3
  /**
4
4
  * @fileoverview A rule to warn against using arrow functions when they could be
5
5
  * confused with comparisons
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/no-console.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/no-console.js
3
3
  /**
4
4
  * @fileoverview Rule to flag use of console object
5
5
  * @author Nicholas C. Zakas
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/no-const-assign.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/no-const-assign.js
3
3
  /**
4
4
  * @fileoverview A rule to disallow modifying variables that are declared using `const`
5
5
  * @author Toru Nagashima
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/no-constant-binary-expression.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/no-constant-binary-expression.js
3
3
  /**
4
4
  * @fileoverview Rule to flag constant comparisons and logical expressions that always/never short circuit
5
5
  * @author Jordan Eldredge <https://jordaneldredge.com>
@@ -18,6 +18,11 @@ var require_no_constant_binary_expression = /* @__PURE__ */ require_rolldown_run
18
18
  "<<",
19
19
  ">>",
20
20
  ">>>"
21
+ ]), RELATIONAL_OPERATORS = /* @__PURE__ */ new Set([
22
+ "<",
23
+ "<=",
24
+ ">",
25
+ ">="
21
26
  ]);
22
27
  /**
23
28
  * Checks whether or not a node is `null` or `undefined`. Similar to the one
@@ -57,7 +62,7 @@ var require_no_constant_binary_expression = /* @__PURE__ */ require_rolldown_run
57
62
  case "CallExpression": {
58
63
  if (node.callee.type !== "Identifier") return !1;
59
64
  let functionName = node.callee.name;
60
- return (functionName === "Boolean" || functionName === "String" || functionName === "Number") && isReferenceToGlobalVariable(scope, node.callee);
65
+ return (functionName === "Boolean" || functionName === "String" || functionName === "Number" || functionName === "Symbol" || functionName === "BigInt") && isReferenceToGlobalVariable(scope, node.callee);
61
66
  }
62
67
  case "LogicalExpression": return node.operator === "??" && hasConstantNullishness(scope, node.right, !0);
63
68
  case "AssignmentExpression": return node.operator === "=" ? hasConstantNullishness(scope, node.right, nonNullish) : !isLogicalAssignmentOperator(node.operator);
@@ -124,13 +129,13 @@ var require_no_constant_binary_expression = /* @__PURE__ */ require_rolldown_run
124
129
  }
125
130
  case "ArrowFunctionExpression":
126
131
  case "FunctionExpression": return !0;
127
- case "UnaryExpression": return node.operator === "void" || node.operator === "typeof" ? !0 : node.operator === "!" ? isConstant(scope, node.argument, !0) : !1;
132
+ case "UnaryExpression": return node.operator === "void" || node.operator === "typeof" || node.operator === "!" && isConstant(scope, node.argument, !0);
128
133
  case "NewExpression": return !1;
129
134
  case "CallExpression": return node.callee.type === "Identifier" && node.callee.name === "Boolean" && isReferenceToGlobalVariable(scope, node.callee) ? node.arguments.length === 0 || isConstant(scope, node.arguments[0], !0) : !1;
130
135
  case "Literal": return !0;
131
136
  case "Identifier": return node.name === "undefined" && isReferenceToGlobalVariable(scope, node);
132
137
  case "TemplateLiteral": return node.expressions.length === 0;
133
- case "AssignmentExpression": return node.operator === "=" ? hasConstantLooseBooleanComparison(scope, node.right) : !1;
138
+ case "AssignmentExpression": return node.operator === "=" && hasConstantLooseBooleanComparison(scope, node.right);
134
139
  case "SequenceExpression": return hasConstantLooseBooleanComparison(scope, node.expressions.at(-1));
135
140
  case "JSXElement":
136
141
  case "JSXFragment": return !1;
@@ -158,14 +163,14 @@ var require_no_constant_binary_expression = /* @__PURE__ */ require_rolldown_run
158
163
  case "Literal":
159
164
  case "UpdateExpression": return !0;
160
165
  case "BinaryExpression": return NUMERIC_OR_STRING_BINARY_OPERATORS.has(node.operator);
161
- case "UnaryExpression": return node.operator === "delete" ? !1 : node.operator === "!" ? isConstant(scope, node.argument, !0) : !0;
166
+ case "UnaryExpression": return node.operator === "delete" ? !1 : node.operator !== "!" || isConstant(scope, node.argument, !0);
162
167
  case "SequenceExpression": return hasConstantStrictBooleanComparison(scope, node.expressions.at(-1));
163
168
  case "Identifier": return node.name === "undefined" && isReferenceToGlobalVariable(scope, node);
164
169
  case "AssignmentExpression": return node.operator === "=" ? hasConstantStrictBooleanComparison(scope, node.right) : !isLogicalAssignmentOperator(node.operator);
165
170
  case "CallExpression": {
166
171
  if (node.callee.type !== "Identifier") return !1;
167
172
  let functionName = node.callee.name;
168
- return (functionName === "String" || functionName === "Number") && isReferenceToGlobalVariable(scope, node.callee) ? !0 : functionName === "Boolean" && isReferenceToGlobalVariable(scope, node.callee) ? node.arguments.length === 0 || isConstant(scope, node.arguments[0], !0) : !1;
173
+ return (functionName === "String" || functionName === "Number" || functionName === "BigInt" || functionName === "Symbol") && isReferenceToGlobalVariable(scope, node.callee) ? !0 : functionName === "Boolean" && isReferenceToGlobalVariable(scope, node.callee) ? node.arguments.length === 0 || isConstant(scope, node.arguments[0], !0) : !1;
169
174
  }
170
175
  case "JSXElement":
171
176
  case "JSXFragment": return !1;
@@ -185,10 +190,10 @@ var require_no_constant_binary_expression = /* @__PURE__ */ require_rolldown_run
185
190
  case "ArrowFunctionExpression":
186
191
  case "FunctionExpression":
187
192
  case "ClassExpression": return !0;
188
- case "NewExpression": return node.callee.type === "Identifier" ? Object.hasOwn(ECMASCRIPT_GLOBALS, node.callee.name) && isReferenceToGlobalVariable(scope, node.callee) : !1;
193
+ case "NewExpression": return node.callee.type === "Identifier" && Object.hasOwn(ECMASCRIPT_GLOBALS, node.callee.name) && isReferenceToGlobalVariable(scope, node.callee);
189
194
  case "Literal": return typeof node.regex == "object";
190
195
  case "SequenceExpression": return isAlwaysNew(scope, node.expressions.at(-1));
191
- case "AssignmentExpression": return node.operator === "=" ? isAlwaysNew(scope, node.right) : !1;
196
+ case "AssignmentExpression": return node.operator === "=" && isAlwaysNew(scope, node.right);
192
197
  case "ConditionalExpression": return isAlwaysNew(scope, node.consequent) && isAlwaysNew(scope, node.alternate);
193
198
  case "JSXElement":
194
199
  case "JSXFragment": return !1;
@@ -209,6 +214,25 @@ var require_no_constant_binary_expression = /* @__PURE__ */ require_rolldown_run
209
214
  } else if ((operator === "===" || operator === "!==") && (isNullOrUndefined(scope, a) && hasConstantNullishness(scope, b, !1) || isStaticBoolean(scope, a) && hasConstantStrictBooleanComparison(scope, b))) return b;
210
215
  return null;
211
216
  }
217
+ /**
218
+ * Checks if a node is a statically knowable literal.
219
+ * @param {Scope} scope The scope in which the node was found.
220
+ * @param {ASTNode} node The node to test.
221
+ * @returns {boolean} `true` if the node is a literal.
222
+ */
223
+ function isStaticLiteral(scope, node) {
224
+ switch (node.type) {
225
+ case "Literal": return !0;
226
+ case "UnaryExpression": return [
227
+ "-",
228
+ "+",
229
+ "~"
230
+ ].includes(node.operator) && node.argument.type === "Literal";
231
+ case "Identifier": return node.name === "undefined" && isReferenceToGlobalVariable(scope, node);
232
+ case "TemplateLiteral": return node.expressions.length === 0;
233
+ default: return !1;
234
+ }
235
+ }
212
236
  /** @type {import('../types').Rule.RuleModule} */
213
237
  module.exports = {
214
238
  meta: {
@@ -218,16 +242,22 @@ var require_no_constant_binary_expression = /* @__PURE__ */ require_rolldown_run
218
242
  recommended: !0,
219
243
  url: "https://eslint.org/docs/latest/rules/no-constant-binary-expression"
220
244
  },
221
- schema: [],
245
+ defaultOptions: [{ checkRelationalComparisons: !1 }],
246
+ schema: [{
247
+ type: "object",
248
+ properties: { checkRelationalComparisons: { type: "boolean" } },
249
+ additionalProperties: !1
250
+ }],
222
251
  messages: {
223
252
  constantBinaryOperand: "Unexpected constant binary expression. Compares constantly with the {{otherSide}}-hand side of the `{{operator}}`.",
224
253
  constantShortCircuit: "Unexpected constant {{property}} on the left-hand side of a `{{operator}}` expression.",
225
254
  alwaysNew: "Unexpected comparison to newly constructed object. These two values can never be equal.",
226
- bothAlwaysNew: "Unexpected comparison of two newly constructed objects. These two values can never be equal."
255
+ bothAlwaysNew: "Unexpected comparison of two newly constructed objects. These two values can never be equal.",
256
+ constantRelationalComparison: "Unexpected constant relational comparison. Both sides of the `{{operator}}` are literal values."
227
257
  }
228
258
  },
229
259
  create(context) {
230
- let sourceCode = context.sourceCode;
260
+ let sourceCode = context.sourceCode, { checkRelationalComparisons } = context.options[0];
231
261
  return {
232
262
  LogicalExpression(node) {
233
263
  let { operator, left } = node, scope = sourceCode.getScope(node);
@@ -269,9 +299,13 @@ var require_no_constant_binary_expression = /* @__PURE__ */ require_rolldown_run
269
299
  }) : isAlwaysNew(scope, right) && context.report({
270
300
  node: right,
271
301
  messageId: "alwaysNew"
272
- }) : (operator === "==" || operator === "!=") && isAlwaysNew(scope, left) && isAlwaysNew(scope, right) && context.report({
302
+ }) : operator === "==" || operator === "!=" ? isAlwaysNew(scope, left) && isAlwaysNew(scope, right) && context.report({
273
303
  node: left,
274
304
  messageId: "bothAlwaysNew"
305
+ }) : checkRelationalComparisons && RELATIONAL_OPERATORS.has(operator) && isStaticLiteral(scope, left) && isStaticLiteral(scope, right) && context.report({
306
+ node,
307
+ messageId: "constantRelationalComparison",
308
+ data: { operator }
275
309
  });
276
310
  }
277
311
  };
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/no-constant-condition.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/no-constant-condition.js
3
3
  /**
4
4
  * @fileoverview Rule to flag use constant conditions
5
5
  * @author Christian Schulz <http://rndm.de>
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/no-constructor-return.js
1
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/no-constructor-return.js
2
2
  /**
3
3
  * @fileoverview Rule to disallow returning value from constructor.
4
4
  * @author Pig Fang <https://github.com/g-plane>
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/no-continue.js
1
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/no-continue.js
2
2
  /**
3
3
  * @fileoverview Rule to flag use of continue statement
4
4
  * @author Borislav Zhivkov
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_regexpp$1 = require("../common/regexpp.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/no-control-regex.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/no-control-regex.js
3
3
  /**
4
4
  * @fileoverview Rule to forbid control characters from regular expressions.
5
5
  * @author Nicholas C. Zakas
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/no-debugger.js
1
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/no-debugger.js
2
2
  /**
3
3
  * @fileoverview Rule to flag use of a debugger statement
4
4
  * @author Nicholas C. Zakas
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/no-delete-var.js
1
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/no-delete-var.js
2
2
  /**
3
3
  * @fileoverview Rule to flag when deleting variables
4
4
  * @author Ilya Volodin
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/no-div-regex.js
1
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/no-div-regex.js
2
2
  /**
3
3
  * @fileoverview Rule to check for ambiguous div operator in regexes
4
4
  * @author Matt DuVall <http://www.mattduvall.com>
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/no-dupe-args.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/no-dupe-args.js
3
3
  /**
4
4
  * @fileoverview Rule to flag duplicate arguments
5
5
  * @author Jamund Ferguson
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require("../common/rolldown-runtime.cjs"), require_ast_utils$1 = require("../common/ast-utils.cjs");
2
- //#region ../../node_modules/.pnpm/eslint@10.5.0/node_modules/eslint/lib/rules/no-dupe-class-members.js
2
+ //#region ../../node_modules/.pnpm/eslint@10.6.0/node_modules/eslint/lib/rules/no-dupe-class-members.js
3
3
  /**
4
4
  * @fileoverview A rule to disallow duplicate name in class members.
5
5
  * @author Toru Nagashima