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,58 @@
1
+ //#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-undefined.js
2
+ /**
3
+ * @fileoverview Rule to flag references to the undefined variable.
4
+ * @author Michael Ficarra
5
+ */
6
+ var require_no_undefined = /* @__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 the use of `undefined` as an identifier",
13
+ recommended: !1,
14
+ frozen: !0,
15
+ url: "https://eslint.org/docs/latest/rules/no-undefined"
16
+ },
17
+ schema: [],
18
+ messages: { unexpectedUndefined: "Unexpected use of undefined." }
19
+ },
20
+ create(context) {
21
+ let sourceCode = context.sourceCode;
22
+ /**
23
+ * Report an invalid "undefined" identifier node.
24
+ * @param {ASTNode} node The node to report.
25
+ * @returns {void}
26
+ */
27
+ function report(node) {
28
+ context.report({
29
+ node,
30
+ messageId: "unexpectedUndefined"
31
+ });
32
+ }
33
+ /**
34
+ * Checks the given scope for references to `undefined` and reports
35
+ * all references found.
36
+ * @param {eslint-scope.Scope} scope The scope to check.
37
+ * @returns {void}
38
+ */
39
+ function checkScope(scope) {
40
+ let undefinedVar = scope.set.get("undefined");
41
+ if (!undefinedVar) return;
42
+ let references = undefinedVar.references, defs = undefinedVar.defs;
43
+ references.filter((ref) => !ref.init).forEach((ref) => report(ref.identifier)), defs.forEach((def) => report(def.name));
44
+ }
45
+ return { "Program:exit"(node) {
46
+ let stack = [sourceCode.getScope(node)];
47
+ for (; stack.length;) {
48
+ let scope = stack.pop();
49
+ stack.push(...scope.childScopes), checkScope(scope);
50
+ }
51
+ } };
52
+ }
53
+ };
54
+ }));
55
+ //#endregion
56
+ //#region src-js/generated/plugin-eslint/rules/no-undefined.cjs
57
+ module.exports = require_no_undefined().create;
58
+ //#endregion
@@ -0,0 +1,211 @@
1
+ //#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-underscore-dangle.js
2
+ /**
3
+ * @fileoverview Rule to flag dangling underscores in variable declarations.
4
+ * @author Matt DuVall <http://www.mattduvall.com>
5
+ */
6
+ var require_no_underscore_dangle = /* @__PURE__ */ require("../common/chunk.cjs").t(((exports, module) => {
7
+ /** @type {import('../types').Rule.RuleModule} */
8
+ module.exports = {
9
+ meta: {
10
+ type: "suggestion",
11
+ defaultOptions: [{
12
+ allow: [],
13
+ allowAfterSuper: !1,
14
+ allowAfterThis: !1,
15
+ allowAfterThisConstructor: !1,
16
+ allowFunctionParams: !0,
17
+ allowInArrayDestructuring: !0,
18
+ allowInObjectDestructuring: !0,
19
+ enforceInClassFields: !1,
20
+ enforceInMethodNames: !1
21
+ }],
22
+ docs: {
23
+ description: "Disallow dangling underscores in identifiers",
24
+ recommended: !1,
25
+ frozen: !0,
26
+ url: "https://eslint.org/docs/latest/rules/no-underscore-dangle"
27
+ },
28
+ schema: [{
29
+ type: "object",
30
+ properties: {
31
+ allow: {
32
+ type: "array",
33
+ items: { type: "string" }
34
+ },
35
+ allowAfterThis: { type: "boolean" },
36
+ allowAfterSuper: { type: "boolean" },
37
+ allowAfterThisConstructor: { type: "boolean" },
38
+ enforceInMethodNames: { type: "boolean" },
39
+ allowFunctionParams: { type: "boolean" },
40
+ enforceInClassFields: { type: "boolean" },
41
+ allowInArrayDestructuring: { type: "boolean" },
42
+ allowInObjectDestructuring: { type: "boolean" }
43
+ },
44
+ additionalProperties: !1
45
+ }],
46
+ messages: { unexpectedUnderscore: "Unexpected dangling '_' in '{{identifier}}'." }
47
+ },
48
+ create(context) {
49
+ let [{ allow, allowAfterSuper, allowAfterThis, allowAfterThisConstructor, allowFunctionParams, allowInArrayDestructuring, allowInObjectDestructuring, enforceInClassFields, enforceInMethodNames }] = context.options, sourceCode = context.sourceCode;
50
+ /**
51
+ * Check if identifier is present inside the allowed option
52
+ * @param {string} identifier name of the node
53
+ * @returns {boolean} true if its is present
54
+ * @private
55
+ */
56
+ function isAllowed(identifier) {
57
+ return allow.includes(identifier);
58
+ }
59
+ /**
60
+ * Check if identifier has a dangling underscore
61
+ * @param {string} identifier name of the node
62
+ * @returns {boolean} true if its is present
63
+ * @private
64
+ */
65
+ function hasDanglingUnderscore(identifier) {
66
+ let len = identifier.length;
67
+ return identifier !== "_" && (identifier[0] === "_" || identifier[len - 1] === "_");
68
+ }
69
+ /**
70
+ * Check if identifier is a special case member expression
71
+ * @param {string} identifier name of the node
72
+ * @returns {boolean} true if its is a special case
73
+ * @private
74
+ */
75
+ function isSpecialCaseIdentifierForMemberExpression(identifier) {
76
+ return identifier === "__proto__";
77
+ }
78
+ /**
79
+ * Check if identifier is a special case variable expression
80
+ * @param {string} identifier name of the node
81
+ * @returns {boolean} true if its is a special case
82
+ * @private
83
+ */
84
+ function isSpecialCaseIdentifierInVariableExpression(identifier) {
85
+ return identifier === "_";
86
+ }
87
+ /**
88
+ * Check if a node is a member reference of this.constructor
89
+ * @param {ASTNode} node node to evaluate
90
+ * @returns {boolean} true if it is a reference on this.constructor
91
+ * @private
92
+ */
93
+ function isThisConstructorReference(node) {
94
+ return node.object.type === "MemberExpression" && node.object.property.name === "constructor" && node.object.object.type === "ThisExpression";
95
+ }
96
+ /**
97
+ * Check if function parameter has a dangling underscore.
98
+ * @param {ASTNode} node function node to evaluate
99
+ * @returns {void}
100
+ * @private
101
+ */
102
+ function checkForDanglingUnderscoreInFunctionParameters(node) {
103
+ allowFunctionParams || node.params.forEach((param) => {
104
+ let { type } = param, nodeToCheck;
105
+ if (nodeToCheck = type === "RestElement" ? param.argument : type === "AssignmentPattern" ? param.left : param, nodeToCheck.type === "Identifier") {
106
+ let identifier = nodeToCheck.name;
107
+ hasDanglingUnderscore(identifier) && !isAllowed(identifier) && context.report({
108
+ node: param,
109
+ messageId: "unexpectedUnderscore",
110
+ data: { identifier }
111
+ });
112
+ }
113
+ });
114
+ }
115
+ /**
116
+ * Check if function has a dangling underscore
117
+ * @param {ASTNode} node node to evaluate
118
+ * @returns {void}
119
+ * @private
120
+ */
121
+ function checkForDanglingUnderscoreInFunction(node) {
122
+ if (node.type === "FunctionDeclaration" && node.id) {
123
+ let identifier = node.id.name;
124
+ identifier !== void 0 && hasDanglingUnderscore(identifier) && !isAllowed(identifier) && context.report({
125
+ node,
126
+ messageId: "unexpectedUnderscore",
127
+ data: { identifier }
128
+ });
129
+ }
130
+ checkForDanglingUnderscoreInFunctionParameters(node);
131
+ }
132
+ /**
133
+ * Check if variable expression has a dangling underscore
134
+ * @param {ASTNode} node node to evaluate
135
+ * @returns {void}
136
+ * @private
137
+ */
138
+ function checkForDanglingUnderscoreInVariableExpression(node) {
139
+ sourceCode.getDeclaredVariables(node).forEach((variable) => {
140
+ let identifierNode = variable.defs.find((def) => def.node === node).name, identifier = identifierNode.name, parent = identifierNode.parent;
141
+ for (; ![
142
+ "VariableDeclarator",
143
+ "ArrayPattern",
144
+ "ObjectPattern"
145
+ ].includes(parent.type);) parent = parent.parent;
146
+ hasDanglingUnderscore(identifier) && !isSpecialCaseIdentifierInVariableExpression(identifier) && !isAllowed(identifier) && !(allowInArrayDestructuring && parent.type === "ArrayPattern") && !(allowInObjectDestructuring && parent.type === "ObjectPattern") && context.report({
147
+ node,
148
+ messageId: "unexpectedUnderscore",
149
+ data: { identifier }
150
+ });
151
+ });
152
+ }
153
+ /**
154
+ * Check if member expression has a dangling underscore
155
+ * @param {ASTNode} node node to evaluate
156
+ * @returns {void}
157
+ * @private
158
+ */
159
+ function checkForDanglingUnderscoreInMemberExpression(node) {
160
+ let identifier = node.property.name, isMemberOfThis = node.object.type === "ThisExpression", isMemberOfSuper = node.object.type === "Super", isMemberOfThisConstructor = isThisConstructorReference(node);
161
+ identifier !== void 0 && hasDanglingUnderscore(identifier) && !(isMemberOfThis && allowAfterThis) && !(isMemberOfSuper && allowAfterSuper) && !(isMemberOfThisConstructor && allowAfterThisConstructor) && !isSpecialCaseIdentifierForMemberExpression(identifier) && !isAllowed(identifier) && context.report({
162
+ node,
163
+ messageId: "unexpectedUnderscore",
164
+ data: { identifier }
165
+ });
166
+ }
167
+ /**
168
+ * Check if method declaration or method property has a dangling underscore
169
+ * @param {ASTNode} node node to evaluate
170
+ * @returns {void}
171
+ * @private
172
+ */
173
+ function checkForDanglingUnderscoreInMethod(node) {
174
+ let identifier = node.key.name, isMethod = node.type === "MethodDefinition" || node.type === "Property" && node.method;
175
+ identifier !== void 0 && enforceInMethodNames && isMethod && hasDanglingUnderscore(identifier) && !isAllowed(identifier) && context.report({
176
+ node,
177
+ messageId: "unexpectedUnderscore",
178
+ data: { identifier: node.key.type === "PrivateIdentifier" ? `#${identifier}` : identifier }
179
+ });
180
+ }
181
+ /**
182
+ * Check if a class field has a dangling underscore
183
+ * @param {ASTNode} node node to evaluate
184
+ * @returns {void}
185
+ * @private
186
+ */
187
+ function checkForDanglingUnderscoreInClassField(node) {
188
+ let identifier = node.key.name;
189
+ identifier !== void 0 && hasDanglingUnderscore(identifier) && enforceInClassFields && !isAllowed(identifier) && context.report({
190
+ node,
191
+ messageId: "unexpectedUnderscore",
192
+ data: { identifier: node.key.type === "PrivateIdentifier" ? `#${identifier}` : identifier }
193
+ });
194
+ }
195
+ return {
196
+ FunctionDeclaration: checkForDanglingUnderscoreInFunction,
197
+ VariableDeclarator: checkForDanglingUnderscoreInVariableExpression,
198
+ MemberExpression: checkForDanglingUnderscoreInMemberExpression,
199
+ MethodDefinition: checkForDanglingUnderscoreInMethod,
200
+ PropertyDefinition: checkForDanglingUnderscoreInClassField,
201
+ Property: checkForDanglingUnderscoreInMethod,
202
+ FunctionExpression: checkForDanglingUnderscoreInFunction,
203
+ ArrowFunctionExpression: checkForDanglingUnderscoreInFunction
204
+ };
205
+ }
206
+ };
207
+ }));
208
+ //#endregion
209
+ //#region src-js/generated/plugin-eslint/rules/no-underscore-dangle.cjs
210
+ module.exports = require_no_underscore_dangle().create;
211
+ //#endregion
@@ -0,0 +1,76 @@
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-unexpected-multiline.js
3
+ /**
4
+ * @fileoverview Rule to spot scenarios where a newline looks like it is ending a statement, but is not.
5
+ * @author Glen Mailer
6
+ */
7
+ var require_no_unexpected_multiline = /* @__PURE__ */ require_chunk.t(((exports, module) => {
8
+ let astUtils = require_ast_utils$1.t();
9
+ /** @type {import('../types').Rule.RuleModule} */
10
+ module.exports = {
11
+ meta: {
12
+ type: "problem",
13
+ docs: {
14
+ description: "Disallow confusing multiline expressions",
15
+ recommended: !0,
16
+ url: "https://eslint.org/docs/latest/rules/no-unexpected-multiline"
17
+ },
18
+ schema: [],
19
+ messages: {
20
+ function: "Unexpected newline between function and ( of function call.",
21
+ property: "Unexpected newline between object and [ of property access.",
22
+ taggedTemplate: "Unexpected newline between template tag and template literal.",
23
+ division: "Unexpected newline between numerator and division operator."
24
+ }
25
+ },
26
+ create(context) {
27
+ let REGEX_FLAG_MATCHER = /^[gimsuy]+$/u, sourceCode = context.sourceCode;
28
+ /**
29
+ * Check to see if there is a newline between the node and the following open bracket
30
+ * line's expression
31
+ * @param {ASTNode} node The node to check.
32
+ * @param {string} messageId The error messageId to use.
33
+ * @returns {void}
34
+ * @private
35
+ */
36
+ function checkForBreakAfter(node, messageId) {
37
+ let openParen = sourceCode.getTokenAfter(node, astUtils.isNotClosingParenToken), nodeExpressionEnd = sourceCode.getTokenBefore(openParen);
38
+ openParen.loc.start.line !== nodeExpressionEnd.loc.end.line && context.report({
39
+ node,
40
+ loc: openParen.loc,
41
+ messageId
42
+ });
43
+ }
44
+ return {
45
+ MemberExpression(node) {
46
+ !node.computed || node.optional || checkForBreakAfter(node.object, "property");
47
+ },
48
+ TaggedTemplateExpression(node) {
49
+ let { quasi } = node;
50
+ sourceCode.getTokenBefore(quasi).loc.end.line !== quasi.loc.start.line && context.report({
51
+ node,
52
+ loc: {
53
+ start: quasi.loc.start,
54
+ end: {
55
+ line: quasi.loc.start.line,
56
+ column: quasi.loc.start.column + 1
57
+ }
58
+ },
59
+ messageId: "taggedTemplate"
60
+ });
61
+ },
62
+ CallExpression(node) {
63
+ node.arguments.length === 0 || node.optional || checkForBreakAfter(node.callee, "function");
64
+ },
65
+ "BinaryExpression[operator='/'] > BinaryExpression[operator='/'].left"(node) {
66
+ let secondSlash = sourceCode.getTokenAfter(node, (token) => token.value === "/"), tokenAfterOperator = sourceCode.getTokenAfter(secondSlash);
67
+ tokenAfterOperator.type === "Identifier" && REGEX_FLAG_MATCHER.test(tokenAfterOperator.value) && secondSlash.range[1] === tokenAfterOperator.range[0] && checkForBreakAfter(node.left, "division");
68
+ }
69
+ };
70
+ }
71
+ };
72
+ }));
73
+ //#endregion
74
+ //#region src-js/generated/plugin-eslint/rules/no-unexpected-multiline.cjs
75
+ module.exports = require_no_unexpected_multiline().create;
76
+ //#endregion