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,129 @@
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/getter-return.js
3
+ /**
4
+ * @fileoverview Enforces that a return statement is present in property getters.
5
+ * @author Aladdin-ADD(hh_2013@foxmail.com)
6
+ */
7
+ var require_getter_return = /* @__PURE__ */ require_chunk.t(((exports, module) => {
8
+ let astUtils = require_ast_utils$1.t(), TARGET_NODE_TYPE = /^(?:Arrow)?FunctionExpression$/u;
9
+ /**
10
+ * Checks all segments in a set and returns true if any are reachable.
11
+ * @param {Set<CodePathSegment>} segments The segments to check.
12
+ * @returns {boolean} True if any segment is reachable; false otherwise.
13
+ */
14
+ function isAnySegmentReachable(segments) {
15
+ for (let segment of segments) if (segment.reachable) return !0;
16
+ return !1;
17
+ }
18
+ /** @type {import('../types').Rule.RuleModule} */
19
+ module.exports = {
20
+ meta: {
21
+ type: "problem",
22
+ defaultOptions: [{ allowImplicit: !1 }],
23
+ docs: {
24
+ description: "Enforce `return` statements in getters",
25
+ recommended: !0,
26
+ url: "https://eslint.org/docs/latest/rules/getter-return"
27
+ },
28
+ fixable: null,
29
+ schema: [{
30
+ type: "object",
31
+ properties: { allowImplicit: { type: "boolean" } },
32
+ additionalProperties: !1
33
+ }],
34
+ messages: {
35
+ expected: "Expected to return a value in {{name}}.",
36
+ expectedAlways: "Expected {{name}} to always return a value."
37
+ }
38
+ },
39
+ create(context) {
40
+ let [{ allowImplicit }] = context.options, sourceCode = context.sourceCode, funcInfo = {
41
+ upper: null,
42
+ codePath: null,
43
+ hasReturn: !1,
44
+ shouldCheck: !1,
45
+ node: null,
46
+ currentSegments: []
47
+ };
48
+ /**
49
+ * Checks whether or not the last code path segment is reachable.
50
+ * Then reports this function if the segment is reachable.
51
+ *
52
+ * If the last code path segment is reachable, there are paths which are not
53
+ * returned or thrown.
54
+ * @param {ASTNode} node A node to check.
55
+ * @returns {void}
56
+ */
57
+ function checkLastSegment(node) {
58
+ funcInfo.shouldCheck && isAnySegmentReachable(funcInfo.currentSegments) && context.report({
59
+ node,
60
+ loc: astUtils.getFunctionHeadLoc(node, sourceCode),
61
+ messageId: funcInfo.hasReturn ? "expectedAlways" : "expected",
62
+ data: { name: astUtils.getFunctionNameWithKind(funcInfo.node) }
63
+ });
64
+ }
65
+ /**
66
+ * Checks whether a node means a getter function.
67
+ * @param {ASTNode} node a node to check.
68
+ * @returns {boolean} if node means a getter, return true; else return false.
69
+ */
70
+ function isGetter(node) {
71
+ let parent = node.parent;
72
+ if (TARGET_NODE_TYPE.test(node.type) && node.body.type === "BlockStatement") {
73
+ if (parent.kind === "get") return !0;
74
+ if (parent.type === "Property" && astUtils.getStaticPropertyName(parent) === "get" && parent.parent.type === "ObjectExpression") {
75
+ if (parent.parent.parent.type === "CallExpression") {
76
+ let callNode = parent.parent.parent.callee;
77
+ if (astUtils.isSpecificMemberAccess(callNode, "Object", "defineProperty") || astUtils.isSpecificMemberAccess(callNode, "Reflect", "defineProperty")) return !0;
78
+ }
79
+ if (parent.parent.parent.type === "Property" && parent.parent.parent.parent.type === "ObjectExpression" && parent.parent.parent.parent.parent.type === "CallExpression") {
80
+ let callNode = parent.parent.parent.parent.parent.callee;
81
+ return astUtils.isSpecificMemberAccess(callNode, "Object", "defineProperties") || astUtils.isSpecificMemberAccess(callNode, "Object", "create");
82
+ }
83
+ }
84
+ }
85
+ return !1;
86
+ }
87
+ return {
88
+ onCodePathStart(codePath, node) {
89
+ funcInfo = {
90
+ upper: funcInfo,
91
+ codePath,
92
+ hasReturn: !1,
93
+ shouldCheck: isGetter(node),
94
+ node,
95
+ currentSegments: /* @__PURE__ */ new Set()
96
+ };
97
+ },
98
+ onCodePathEnd() {
99
+ funcInfo = funcInfo.upper;
100
+ },
101
+ onUnreachableCodePathSegmentStart(segment) {
102
+ funcInfo.currentSegments.add(segment);
103
+ },
104
+ onUnreachableCodePathSegmentEnd(segment) {
105
+ funcInfo.currentSegments.delete(segment);
106
+ },
107
+ onCodePathSegmentStart(segment) {
108
+ funcInfo.currentSegments.add(segment);
109
+ },
110
+ onCodePathSegmentEnd(segment) {
111
+ funcInfo.currentSegments.delete(segment);
112
+ },
113
+ ReturnStatement(node) {
114
+ funcInfo.shouldCheck && (funcInfo.hasReturn = !0, !allowImplicit && !node.argument && context.report({
115
+ node,
116
+ messageId: "expected",
117
+ data: { name: astUtils.getFunctionNameWithKind(funcInfo.node) }
118
+ }));
119
+ },
120
+ "FunctionExpression:exit": checkLastSegment,
121
+ "ArrowFunctionExpression:exit": checkLastSegment
122
+ };
123
+ }
124
+ };
125
+ }));
126
+ //#endregion
127
+ //#region src-js/generated/plugin-eslint/rules/getter-return.cjs
128
+ module.exports = require_getter_return().create;
129
+ //#endregion
@@ -0,0 +1,84 @@
1
+ //#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/global-require.js
2
+ /**
3
+ * @fileoverview Rule for disallowing require() outside of the top-level module context
4
+ * @author Jamund Ferguson
5
+ * @deprecated in ESLint v7.0.0
6
+ */
7
+ var require_global_require = /* @__PURE__ */ require("../common/chunk.cjs").t(((exports, module) => {
8
+ let ACCEPTABLE_PARENTS = new Set([
9
+ "AssignmentExpression",
10
+ "VariableDeclarator",
11
+ "MemberExpression",
12
+ "ExpressionStatement",
13
+ "CallExpression",
14
+ "ConditionalExpression",
15
+ "Program",
16
+ "VariableDeclaration",
17
+ "ChainExpression"
18
+ ]);
19
+ /**
20
+ * Finds the eslint-scope reference in the given scope.
21
+ * @param {Object} scope The scope to search.
22
+ * @param {ASTNode} node The identifier node.
23
+ * @returns {Reference|null} Returns the found reference or null if none were found.
24
+ */
25
+ function findReference(scope, node) {
26
+ let references = scope.references.filter((reference) => reference.identifier.range[0] === node.range[0] && reference.identifier.range[1] === node.range[1]);
27
+ /* c8 ignore next */
28
+ return references.length === 1 ? references[0] : null;
29
+ }
30
+ /**
31
+ * Checks if the given identifier node is shadowed in the given scope.
32
+ * @param {Object} scope The current scope.
33
+ * @param {ASTNode} node The identifier node to check.
34
+ * @returns {boolean} Whether or not the name is shadowed.
35
+ */
36
+ function isShadowed(scope, node) {
37
+ let reference = findReference(scope, node);
38
+ return reference && reference.resolved && reference.resolved.defs.length > 0;
39
+ }
40
+ /** @type {import('../types').Rule.RuleModule} */
41
+ module.exports = {
42
+ meta: {
43
+ deprecated: {
44
+ message: "Node.js rules were moved out of ESLint core.",
45
+ url: "https://eslint.org/docs/latest/use/migrating-to-7.0.0#deprecate-node-rules",
46
+ deprecatedSince: "7.0.0",
47
+ availableUntil: "11.0.0",
48
+ replacedBy: [{
49
+ message: "eslint-plugin-n now maintains deprecated Node.js-related rules.",
50
+ plugin: {
51
+ name: "eslint-plugin-n",
52
+ url: "https://github.com/eslint-community/eslint-plugin-n"
53
+ },
54
+ rule: {
55
+ name: "global-require",
56
+ url: "https://github.com/eslint-community/eslint-plugin-n/tree/master/docs/rules/global-require.md"
57
+ }
58
+ }]
59
+ },
60
+ type: "suggestion",
61
+ docs: {
62
+ description: "Require `require()` calls to be placed at top-level module scope",
63
+ recommended: !1,
64
+ url: "https://eslint.org/docs/latest/rules/global-require"
65
+ },
66
+ schema: [],
67
+ messages: { unexpected: "Unexpected require()." }
68
+ },
69
+ create(context) {
70
+ let sourceCode = context.sourceCode;
71
+ return { CallExpression(node) {
72
+ let currentScope = sourceCode.getScope(node);
73
+ node.callee.name === "require" && !isShadowed(currentScope, node.callee) && (sourceCode.getAncestors(node).every((parent) => ACCEPTABLE_PARENTS.has(parent.type)) || context.report({
74
+ node,
75
+ messageId: "unexpected"
76
+ }));
77
+ } };
78
+ }
79
+ };
80
+ }));
81
+ //#endregion
82
+ //#region src-js/generated/plugin-eslint/rules/global-require.cjs
83
+ module.exports = require_global_require().create;
84
+ //#endregion
@@ -0,0 +1,146 @@
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/grouped-accessor-pairs.js
3
+ /**
4
+ * @fileoverview Rule to require grouped accessor pairs in object literals and classes
5
+ * @author Milos Djermanovic
6
+ */
7
+ var require_grouped_accessor_pairs = /* @__PURE__ */ require_chunk.t(((exports, module) => {
8
+ let astUtils = require_ast_utils$1.t();
9
+ /**
10
+ * Property name if it can be computed statically, otherwise the list of the tokens of the key node.
11
+ * @typedef {string|Token[]} Key
12
+ */
13
+ /**
14
+ * Accessor nodes with the same key.
15
+ * @typedef {Object} AccessorData
16
+ * @property {Key} key Accessor's key
17
+ * @property {ASTNode[]} getters List of getter nodes.
18
+ * @property {ASTNode[]} setters List of setter nodes.
19
+ */
20
+ /**
21
+ * Checks whether or not the given lists represent the equal tokens in the same order.
22
+ * Tokens are compared by their properties, not by instance.
23
+ * @param {Token[]} left First list of tokens.
24
+ * @param {Token[]} right Second list of tokens.
25
+ * @returns {boolean} `true` if the lists have same tokens.
26
+ */
27
+ function areEqualTokenLists(left, right) {
28
+ if (left.length !== right.length) return !1;
29
+ for (let i = 0; i < left.length; i++) {
30
+ let leftToken = left[i], rightToken = right[i];
31
+ if (leftToken.type !== rightToken.type || leftToken.value !== rightToken.value) return !1;
32
+ }
33
+ return !0;
34
+ }
35
+ /**
36
+ * Checks whether or not the given keys are equal.
37
+ * @param {Key} left First key.
38
+ * @param {Key} right Second key.
39
+ * @returns {boolean} `true` if the keys are equal.
40
+ */
41
+ function areEqualKeys(left, right) {
42
+ return typeof left == "string" && typeof right == "string" ? left === right : Array.isArray(left) && Array.isArray(right) ? areEqualTokenLists(left, right) : !1;
43
+ }
44
+ /**
45
+ * Checks whether or not a given node is of an accessor kind ('get' or 'set').
46
+ * @param {ASTNode} node A node to check.
47
+ * @returns {boolean} `true` if the node is of an accessor kind.
48
+ */
49
+ function isAccessorKind(node) {
50
+ return node.kind === "get" || node.kind === "set";
51
+ }
52
+ /** @type {import('../types').Rule.RuleModule} */
53
+ module.exports = {
54
+ meta: {
55
+ type: "suggestion",
56
+ defaultOptions: ["anyOrder", { enforceForTSTypes: !1 }],
57
+ docs: {
58
+ description: "Require grouped accessor pairs in object literals and classes",
59
+ recommended: !1,
60
+ url: "https://eslint.org/docs/latest/rules/grouped-accessor-pairs"
61
+ },
62
+ schema: [{ enum: [
63
+ "anyOrder",
64
+ "getBeforeSet",
65
+ "setBeforeGet"
66
+ ] }, {
67
+ type: "object",
68
+ properties: { enforceForTSTypes: { type: "boolean" } },
69
+ additionalProperties: !1
70
+ }],
71
+ messages: {
72
+ notGrouped: "Accessor pair {{ formerName }} and {{ latterName }} should be grouped.",
73
+ invalidOrder: "Expected {{ latterName }} to be before {{ formerName }}."
74
+ }
75
+ },
76
+ create(context) {
77
+ let [order, { enforceForTSTypes }] = context.options, { sourceCode } = context;
78
+ /**
79
+ * Reports the given accessor pair.
80
+ * @param {string} messageId messageId to report.
81
+ * @param {ASTNode} formerNode getter/setter node that is defined before `latterNode`.
82
+ * @param {ASTNode} latterNode getter/setter node that is defined after `formerNode`.
83
+ * @returns {void}
84
+ * @private
85
+ */
86
+ function report(messageId, formerNode, latterNode) {
87
+ context.report({
88
+ node: latterNode,
89
+ messageId,
90
+ loc: astUtils.getFunctionHeadLoc(latterNode.type === "TSMethodSignature" ? latterNode : latterNode.value, sourceCode),
91
+ data: {
92
+ formerName: astUtils.getFunctionNameWithKind(formerNode.type === "TSMethodSignature" ? formerNode : formerNode.value),
93
+ latterName: astUtils.getFunctionNameWithKind(latterNode.type === "TSMethodSignature" ? latterNode : latterNode.value)
94
+ }
95
+ });
96
+ }
97
+ /**
98
+ * Checks accessor pairs in the given list of nodes.
99
+ * @param {ASTNode[]} nodes The list to check.
100
+ * @param {Function} shouldCheck – Predicate that returns `true` if the node should be checked.
101
+ * @returns {void}
102
+ * @private
103
+ */
104
+ function checkList(nodes, shouldCheck) {
105
+ let accessors = [], found = !1;
106
+ for (let i = 0; i < nodes.length; i++) {
107
+ let node = nodes[i];
108
+ if (shouldCheck(node) && isAccessorKind(node)) {
109
+ let name = astUtils.getStaticPropertyName(node), key = name === null ? sourceCode.getTokens(node.key) : name;
110
+ for (let j = 0; j < accessors.length; j++) {
111
+ let accessor = accessors[j];
112
+ if (areEqualKeys(accessor.key, key)) {
113
+ accessor.getters.push(...node.kind === "get" ? [node] : []), accessor.setters.push(...node.kind === "set" ? [node] : []), found = !0;
114
+ break;
115
+ }
116
+ }
117
+ found || accessors.push({
118
+ key,
119
+ getters: node.kind === "get" ? [node] : [],
120
+ setters: node.kind === "set" ? [node] : []
121
+ }), found = !1;
122
+ }
123
+ }
124
+ for (let { getters, setters } of accessors) if (getters.length === 1 && setters.length === 1) {
125
+ let [getter] = getters, [setter] = setters, getterIndex = nodes.indexOf(getter), setterIndex = nodes.indexOf(setter), formerNode = getterIndex < setterIndex ? getter : setter, latterNode = getterIndex < setterIndex ? setter : getter;
126
+ Math.abs(getterIndex - setterIndex) > 1 ? report("notGrouped", formerNode, latterNode) : (order === "getBeforeSet" && getterIndex > setterIndex || order === "setBeforeGet" && getterIndex < setterIndex) && report("invalidOrder", formerNode, latterNode);
127
+ }
128
+ }
129
+ return {
130
+ ObjectExpression(node) {
131
+ checkList(node.properties, (n) => n.type === "Property");
132
+ },
133
+ ClassBody(node) {
134
+ checkList(node.body, (n) => n.type === "MethodDefinition" && !n.static), checkList(node.body, (n) => n.type === "MethodDefinition" && n.static);
135
+ },
136
+ "TSTypeLiteral, TSInterfaceBody"(node) {
137
+ enforceForTSTypes && checkList(node.type === "TSTypeLiteral" ? node.members : node.body, (n) => n.type === "TSMethodSignature");
138
+ }
139
+ };
140
+ }
141
+ };
142
+ }));
143
+ //#endregion
144
+ //#region src-js/generated/plugin-eslint/rules/grouped-accessor-pairs.cjs
145
+ module.exports = require_grouped_accessor_pairs().create;
146
+ //#endregion
@@ -0,0 +1,39 @@
1
+ //#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/guard-for-in.js
2
+ /**
3
+ * @fileoverview Rule to flag for-in loops without if statements inside
4
+ * @author Nicholas C. Zakas
5
+ */
6
+ var require_guard_for_in = /* @__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: "Require `for-in` loops to include an `if` statement",
13
+ recommended: !1,
14
+ url: "https://eslint.org/docs/latest/rules/guard-for-in"
15
+ },
16
+ schema: [],
17
+ messages: { wrap: "The body of a for-in should be wrapped in an if statement to filter unwanted properties from the prototype." }
18
+ },
19
+ create(context) {
20
+ return { ForInStatement(node) {
21
+ let body = node.body;
22
+ if (body.type !== "EmptyStatement" && body.type !== "IfStatement" && !(body.type === "BlockStatement" && body.body.length === 0) && !(body.type === "BlockStatement" && body.body.length === 1 && body.body[0].type === "IfStatement")) {
23
+ if (body.type === "BlockStatement" && body.body.length >= 1 && body.body[0].type === "IfStatement") {
24
+ let i = body.body[0];
25
+ if (i.consequent.type === "ContinueStatement" || i.consequent.type === "BlockStatement" && i.consequent.body.length === 1 && i.consequent.body[0].type === "ContinueStatement") return;
26
+ }
27
+ context.report({
28
+ node,
29
+ messageId: "wrap"
30
+ });
31
+ }
32
+ } };
33
+ }
34
+ };
35
+ }));
36
+ //#endregion
37
+ //#region src-js/generated/plugin-eslint/rules/guard-for-in.cjs
38
+ module.exports = require_guard_for_in().create;
39
+ //#endregion
@@ -0,0 +1,86 @@
1
+ //#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/handle-callback-err.js
2
+ /**
3
+ * @fileoverview Ensure handling of errors when we know they exist.
4
+ * @author Jamund Ferguson
5
+ * @deprecated in ESLint v7.0.0
6
+ */
7
+ var require_handle_callback_err = /* @__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: "handle-callback-err",
24
+ url: "https://github.com/eslint-community/eslint-plugin-n/tree/master/docs/rules/handle-callback-err.md"
25
+ }
26
+ }]
27
+ },
28
+ type: "suggestion",
29
+ docs: {
30
+ description: "Require error handling in callbacks",
31
+ recommended: !1,
32
+ url: "https://eslint.org/docs/latest/rules/handle-callback-err"
33
+ },
34
+ schema: [{ type: "string" }],
35
+ messages: { expected: "Expected error to be handled." }
36
+ },
37
+ create(context) {
38
+ let errorArgument = context.options[0] || "err", sourceCode = context.sourceCode;
39
+ /**
40
+ * Checks if the given argument should be interpreted as a regexp pattern.
41
+ * @param {string} stringToCheck The string which should be checked.
42
+ * @returns {boolean} Whether or not the string should be interpreted as a pattern.
43
+ */
44
+ function isPattern(stringToCheck) {
45
+ return stringToCheck[0] === "^";
46
+ }
47
+ /**
48
+ * Checks if the given name matches the configured error argument.
49
+ * @param {string} name The name which should be compared.
50
+ * @returns {boolean} Whether or not the given name matches the configured error variable name.
51
+ */
52
+ function matchesConfiguredErrorName(name) {
53
+ return isPattern(errorArgument) ? new RegExp(errorArgument, "u").test(name) : name === errorArgument;
54
+ }
55
+ /**
56
+ * Get the parameters of a given function scope.
57
+ * @param {Object} scope The function scope.
58
+ * @returns {Array} All parameters of the given scope.
59
+ */
60
+ function getParameters(scope) {
61
+ return scope.variables.filter((variable) => variable.defs[0] && variable.defs[0].type === "Parameter");
62
+ }
63
+ /**
64
+ * Check to see if we're handling the error object properly.
65
+ * @param {ASTNode} node The AST node to check.
66
+ * @returns {void}
67
+ */
68
+ function checkForError(node) {
69
+ let firstParameter = getParameters(sourceCode.getScope(node))[0];
70
+ firstParameter && matchesConfiguredErrorName(firstParameter.name) && firstParameter.references.length === 0 && context.report({
71
+ node,
72
+ messageId: "expected"
73
+ });
74
+ }
75
+ return {
76
+ FunctionDeclaration: checkForError,
77
+ FunctionExpression: checkForError,
78
+ ArrowFunctionExpression: checkForError
79
+ };
80
+ }
81
+ };
82
+ }));
83
+ //#endregion
84
+ //#region src-js/generated/plugin-eslint/rules/handle-callback-err.cjs
85
+ module.exports = require_handle_callback_err().create;
86
+ //#endregion
@@ -0,0 +1,135 @@
1
+ //#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/id-blacklist.js
2
+ /**
3
+ * @fileoverview Rule that warns when identifier names that are
4
+ * specified in the configuration are used.
5
+ * @author Keith Cirkel (http://keithcirkel.co.uk)
6
+ * @deprecated in ESLint v7.5.0
7
+ */
8
+ var require_id_blacklist = /* @__PURE__ */ require("../common/chunk.cjs").t(((exports, module) => {
9
+ /**
10
+ * Checks whether the given node represents assignment target in a normal assignment or destructuring.
11
+ * @param {ASTNode} node The node to check.
12
+ * @returns {boolean} `true` if the node is assignment target.
13
+ */
14
+ function isAssignmentTarget(node) {
15
+ let parent = node.parent;
16
+ return parent.type === "AssignmentExpression" && parent.left === node || parent.type === "ArrayPattern" || parent.type === "RestElement" || parent.type === "Property" && parent.value === node && parent.parent.type === "ObjectPattern" || parent.type === "AssignmentPattern" && parent.left === node;
17
+ }
18
+ /**
19
+ * Checks whether the given node represents an imported name that is renamed in the same import/export specifier.
20
+ *
21
+ * Examples:
22
+ * import { a as b } from 'mod'; // node `a` is renamed import
23
+ * export { a as b } from 'mod'; // node `a` is renamed import
24
+ * @param {ASTNode} node `Identifier` node to check.
25
+ * @returns {boolean} `true` if the node is a renamed import.
26
+ */
27
+ function isRenamedImport(node) {
28
+ let parent = node.parent;
29
+ return parent.type === "ImportSpecifier" && parent.imported !== parent.local && parent.imported === node || parent.type === "ExportSpecifier" && parent.parent.source && parent.local !== parent.exported && parent.local === node;
30
+ }
31
+ /**
32
+ * Checks whether the given node is a renamed identifier node in an ObjectPattern destructuring.
33
+ *
34
+ * Examples:
35
+ * const { a : b } = foo; // node `a` is renamed node.
36
+ * @param {ASTNode} node `Identifier` node to check.
37
+ * @returns {boolean} `true` if the node is a renamed node in an ObjectPattern destructuring.
38
+ */
39
+ function isRenamedInDestructuring(node) {
40
+ let parent = node.parent;
41
+ return !parent.computed && parent.type === "Property" && parent.parent.type === "ObjectPattern" && parent.value !== node && parent.key === node;
42
+ }
43
+ /**
44
+ * Checks whether the given node represents shorthand definition of a property in an object literal.
45
+ * @param {ASTNode} node `Identifier` node to check.
46
+ * @returns {boolean} `true` if the node is a shorthand property definition.
47
+ */
48
+ function isShorthandPropertyDefinition(node) {
49
+ let parent = node.parent;
50
+ return parent.type === "Property" && parent.parent.type === "ObjectExpression" && parent.shorthand;
51
+ }
52
+ /** @type {import('../types').Rule.RuleModule} */
53
+ module.exports = {
54
+ meta: {
55
+ deprecated: {
56
+ message: "The rule was renamed.",
57
+ url: "https://eslint.org/blog/2020/07/eslint-v7.5.0-released/#deprecating-id-blacklist",
58
+ deprecatedSince: "7.5.0",
59
+ availableUntil: "11.0.0",
60
+ replacedBy: [{ rule: {
61
+ name: "id-denylist",
62
+ url: "https://eslint.org/docs/rules/id-denylist"
63
+ } }]
64
+ },
65
+ type: "suggestion",
66
+ docs: {
67
+ description: "Disallow specified identifiers",
68
+ recommended: !1,
69
+ url: "https://eslint.org/docs/latest/rules/id-blacklist"
70
+ },
71
+ schema: {
72
+ type: "array",
73
+ items: { type: "string" },
74
+ uniqueItems: !0
75
+ },
76
+ messages: { restricted: "Identifier '{{name}}' is restricted." }
77
+ },
78
+ create(context) {
79
+ let denyList = new Set(context.options), reportedNodes = /* @__PURE__ */ new Set(), sourceCode = context.sourceCode, globalScope;
80
+ /**
81
+ * Checks whether the given name is restricted.
82
+ * @param {string} name The name to check.
83
+ * @returns {boolean} `true` if the name is restricted.
84
+ * @private
85
+ */
86
+ function isRestricted(name) {
87
+ return denyList.has(name);
88
+ }
89
+ /**
90
+ * Checks whether the given node represents a reference to a global variable that is not declared in the source code.
91
+ * These identifiers will be allowed, as it is assumed that user has no control over the names of external global variables.
92
+ * @param {ASTNode} node `Identifier` node to check.
93
+ * @returns {boolean} `true` if the node is a reference to a global variable.
94
+ */
95
+ function isReferenceToGlobalVariable(node) {
96
+ let variable = globalScope.set.get(node.name);
97
+ return variable && variable.defs.length === 0 && variable.references.some((ref) => ref.identifier === node);
98
+ }
99
+ /**
100
+ * Determines whether the given node should be checked.
101
+ * @param {ASTNode} node `Identifier` node.
102
+ * @returns {boolean} `true` if the node should be checked.
103
+ */
104
+ function shouldCheck(node) {
105
+ let parent = node.parent;
106
+ return parent.type === "MemberExpression" && parent.property === node && !parent.computed ? isAssignmentTarget(parent) : parent.type !== "CallExpression" && parent.type !== "NewExpression" && !isRenamedImport(node) && !isRenamedInDestructuring(node) && !(isReferenceToGlobalVariable(node) && !isShorthandPropertyDefinition(node));
107
+ }
108
+ /**
109
+ * Reports an AST node as a rule violation.
110
+ * @param {ASTNode} node The node to report.
111
+ * @returns {void}
112
+ * @private
113
+ */
114
+ function report(node) {
115
+ reportedNodes.has(node.range.toString()) || (context.report({
116
+ node,
117
+ messageId: "restricted",
118
+ data: { name: node.name }
119
+ }), reportedNodes.add(node.range.toString()));
120
+ }
121
+ return {
122
+ Program(node) {
123
+ globalScope = sourceCode.getScope(node);
124
+ },
125
+ Identifier(node) {
126
+ isRestricted(node.name) && shouldCheck(node) && report(node);
127
+ }
128
+ };
129
+ }
130
+ };
131
+ }));
132
+ //#endregion
133
+ //#region src-js/generated/plugin-eslint/rules/id-blacklist.cjs
134
+ module.exports = require_id_blacklist().create;
135
+ //#endregion