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,110 @@
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-setter-return.js
3
+ /**
4
+ * @fileoverview Rule to disallow returning values from setters
5
+ * @author Milos Djermanovic
6
+ */
7
+ var require_no_setter_return = /* @__PURE__ */ require_chunk.t(((exports, module) => {
8
+ let astUtils = require_ast_utils$1.t();
9
+ /**
10
+ * Determines whether the given node is an argument of the specified global method call, at the given `index` position.
11
+ * E.g., for given `index === 1`, this function checks for `objectName.methodName(foo, node)`, where objectName is a global variable.
12
+ * @param {ASTNode} node The node to check.
13
+ * @param {SourceCode} sourceCode Source code to which the node belongs.
14
+ * @param {string} objectName Name of the global object.
15
+ * @param {string} methodName Name of the method.
16
+ * @param {number} index The given position.
17
+ * @returns {boolean} `true` if the node is argument at the given position.
18
+ */
19
+ function isArgumentOfGlobalMethodCall(node, sourceCode, objectName, methodName, index) {
20
+ let callNode = node.parent;
21
+ return callNode.type === "CallExpression" && callNode.arguments[index] === node && astUtils.isSpecificMemberAccess(callNode.callee, objectName, methodName) && sourceCode.isGlobalReference(astUtils.skipChainExpression(callNode.callee).object);
22
+ }
23
+ /**
24
+ * Determines whether the given node is used as a property descriptor.
25
+ * @param {ASTNode} node The node to check.
26
+ * @param {SourceCode} sourceCode Source code to which the node belongs.
27
+ * @returns {boolean} `true` if the node is a property descriptor.
28
+ */
29
+ function isPropertyDescriptor(node, sourceCode) {
30
+ if (isArgumentOfGlobalMethodCall(node, sourceCode, "Object", "defineProperty", 2) || isArgumentOfGlobalMethodCall(node, sourceCode, "Reflect", "defineProperty", 2)) return !0;
31
+ let parent = node.parent;
32
+ if (parent.type === "Property" && parent.value === node) {
33
+ let grandparent = parent.parent;
34
+ if (grandparent.type === "ObjectExpression" && (isArgumentOfGlobalMethodCall(grandparent, sourceCode, "Object", "create", 1) || isArgumentOfGlobalMethodCall(grandparent, sourceCode, "Object", "defineProperties", 1))) return !0;
35
+ }
36
+ return !1;
37
+ }
38
+ /**
39
+ * Determines whether the given function node is used as a setter function.
40
+ * @param {ASTNode} node The node to check.
41
+ * @param {SourceCode} sourceCode Source code to which the node belongs.
42
+ * @returns {boolean} `true` if the node is a setter.
43
+ */
44
+ function isSetter(node, sourceCode) {
45
+ let parent = node.parent;
46
+ return !!((parent.type === "Property" || parent.type === "MethodDefinition") && parent.kind === "set" && parent.value === node || parent.type === "Property" && parent.value === node && astUtils.getStaticPropertyName(parent) === "set" && parent.parent.type === "ObjectExpression" && isPropertyDescriptor(parent.parent, sourceCode));
47
+ }
48
+ /** @type {import('../types').Rule.RuleModule} */
49
+ module.exports = {
50
+ meta: {
51
+ type: "problem",
52
+ docs: {
53
+ description: "Disallow returning values from setters",
54
+ recommended: !0,
55
+ url: "https://eslint.org/docs/latest/rules/no-setter-return"
56
+ },
57
+ schema: [],
58
+ messages: { returnsValue: "Setter cannot return a value." }
59
+ },
60
+ create(context) {
61
+ let funcInfo = null, sourceCode = context.sourceCode;
62
+ /**
63
+ * Creates and pushes to the stack a function info object for the given function node.
64
+ * @param {ASTNode} node The function node.
65
+ * @returns {void}
66
+ */
67
+ function enterFunction(node) {
68
+ funcInfo = {
69
+ upper: funcInfo,
70
+ isSetter: isSetter(node, sourceCode)
71
+ };
72
+ }
73
+ /**
74
+ * Pops the current function info object from the stack.
75
+ * @returns {void}
76
+ */
77
+ function exitFunction() {
78
+ funcInfo = funcInfo.upper;
79
+ }
80
+ /**
81
+ * Reports the given node.
82
+ * @param {ASTNode} node Node to report.
83
+ * @returns {void}
84
+ */
85
+ function report(node) {
86
+ context.report({
87
+ node,
88
+ messageId: "returnsValue"
89
+ });
90
+ }
91
+ return {
92
+ FunctionDeclaration: enterFunction,
93
+ FunctionExpression: enterFunction,
94
+ ArrowFunctionExpression(node) {
95
+ enterFunction(node), funcInfo.isSetter && node.expression && report(node.body);
96
+ },
97
+ "FunctionDeclaration:exit": exitFunction,
98
+ "FunctionExpression:exit": exitFunction,
99
+ "ArrowFunctionExpression:exit": exitFunction,
100
+ ReturnStatement(node) {
101
+ funcInfo && funcInfo.isSetter && node.argument && report(node);
102
+ }
103
+ };
104
+ }
105
+ };
106
+ }));
107
+ //#endregion
108
+ //#region src-js/generated/plugin-eslint/rules/no-setter-return.cjs
109
+ module.exports = require_no_setter_return().create;
110
+ //#endregion
@@ -0,0 +1,60 @@
1
+ //#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-shadow-restricted-names.js
2
+ /**
3
+ * @fileoverview Disallow shadowing of globalThis, NaN, undefined, and Infinity (ES2020 section 18.1)
4
+ * @author Michael Ficarra
5
+ */
6
+ var require_no_shadow_restricted_names = /* @__PURE__ */ require("../common/chunk.cjs").t(((exports, module) => {
7
+ /**
8
+ * Determines if a variable safely shadows undefined.
9
+ * This is the case when a variable named `undefined` is never assigned to a value (i.e. it always shares the same value
10
+ * as the global).
11
+ * @param {eslintScope.Variable} variable The variable to check
12
+ * @returns {boolean} true if this variable safely shadows `undefined`
13
+ */
14
+ function safelyShadowsUndefined(variable) {
15
+ return variable.name === "undefined" && variable.references.every((ref) => !ref.isWrite()) && variable.defs.every((def) => def.node.type === "VariableDeclarator" && def.node.init === null);
16
+ }
17
+ /** @type {import('../types').Rule.RuleModule} */
18
+ module.exports = {
19
+ meta: {
20
+ type: "suggestion",
21
+ defaultOptions: [{ reportGlobalThis: !1 }],
22
+ docs: {
23
+ description: "Disallow identifiers from shadowing restricted names",
24
+ recommended: !0,
25
+ url: "https://eslint.org/docs/latest/rules/no-shadow-restricted-names"
26
+ },
27
+ schema: [{
28
+ type: "object",
29
+ properties: { reportGlobalThis: { type: "boolean" } },
30
+ additionalProperties: !1
31
+ }],
32
+ messages: { shadowingRestrictedName: "Shadowing of global property '{{name}}'." }
33
+ },
34
+ create(context) {
35
+ let [{ reportGlobalThis }] = context.options, RESTRICTED = new Set([
36
+ "undefined",
37
+ "NaN",
38
+ "Infinity",
39
+ "arguments",
40
+ "eval"
41
+ ]);
42
+ reportGlobalThis && RESTRICTED.add("globalThis");
43
+ let sourceCode = context.sourceCode, reportedNodes = /* @__PURE__ */ new Set();
44
+ return { "VariableDeclaration, :function, CatchClause, ImportDeclaration, ClassDeclaration, ClassExpression"(node) {
45
+ for (let variable of sourceCode.getDeclaredVariables(node)) if (variable.defs.length > 0 && RESTRICTED.has(variable.name) && !safelyShadowsUndefined(variable)) for (let def of variable.defs) {
46
+ let nodeToReport = def.name;
47
+ reportedNodes.has(nodeToReport) || (reportedNodes.add(nodeToReport), context.report({
48
+ node: nodeToReport,
49
+ messageId: "shadowingRestrictedName",
50
+ data: { name: variable.name }
51
+ }));
52
+ }
53
+ } };
54
+ }
55
+ };
56
+ }));
57
+ //#endregion
58
+ //#region src-js/generated/plugin-eslint/rules/no-shadow-restricted-names.cjs
59
+ module.exports = require_no_shadow_restricted_names().create;
60
+ //#endregion
@@ -0,0 +1,302 @@
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-shadow.js
3
+ /**
4
+ * @fileoverview Rule to flag on declaring variables already declared in the outer scope
5
+ * @author Ilya Volodin
6
+ */
7
+ var require_no_shadow = /* @__PURE__ */ require_chunk.t(((exports, module) => {
8
+ let astUtils = require_ast_utils$1.t(), FUNC_EXPR_NODE_TYPES = new Set(["ArrowFunctionExpression", "FunctionExpression"]), CALL_EXPR_NODE_TYPE = new Set(["CallExpression"]), FOR_IN_OF_TYPE = /^For(?:In|Of)Statement$/u, SENTINEL_TYPE = /^(?:(?:Function|Class)(?:Declaration|Expression)|ArrowFunctionExpression|CatchClause|ImportDeclaration|ExportNamedDeclaration)$/u, TYPES_HOISTED_NODES = new Set(["TSInterfaceDeclaration", "TSTypeAliasDeclaration"]), ALLOWED_FUNCTION_VARIABLE_DEF_TYPES = new Set([
9
+ "TSCallSignatureDeclaration",
10
+ "TSFunctionType",
11
+ "TSMethodSignature",
12
+ "TSEmptyBodyFunctionExpression",
13
+ "TSDeclareFunction",
14
+ "TSConstructSignatureDeclaration",
15
+ "TSConstructorType"
16
+ ]);
17
+ /** @type {import('../types').Rule.RuleModule} */
18
+ module.exports = {
19
+ meta: {
20
+ type: "suggestion",
21
+ dialects: ["typescript", "javascript"],
22
+ language: "javascript",
23
+ defaultOptions: [{
24
+ allow: [],
25
+ builtinGlobals: !1,
26
+ hoist: "functions",
27
+ ignoreOnInitialization: !1,
28
+ ignoreTypeValueShadow: !0,
29
+ ignoreFunctionTypeParameterNameValueShadow: !0
30
+ }],
31
+ docs: {
32
+ description: "Disallow variable declarations from shadowing variables declared in the outer scope",
33
+ recommended: !1,
34
+ url: "https://eslint.org/docs/latest/rules/no-shadow"
35
+ },
36
+ schema: [{
37
+ type: "object",
38
+ properties: {
39
+ builtinGlobals: { type: "boolean" },
40
+ hoist: { enum: [
41
+ "all",
42
+ "functions",
43
+ "never",
44
+ "types",
45
+ "functions-and-types"
46
+ ] },
47
+ allow: {
48
+ type: "array",
49
+ items: { type: "string" }
50
+ },
51
+ ignoreOnInitialization: { type: "boolean" },
52
+ ignoreTypeValueShadow: { type: "boolean" },
53
+ ignoreFunctionTypeParameterNameValueShadow: { type: "boolean" }
54
+ },
55
+ additionalProperties: !1
56
+ }],
57
+ messages: {
58
+ noShadow: "'{{name}}' is already declared in the upper scope on line {{shadowedLine}} column {{shadowedColumn}}.",
59
+ noShadowGlobal: "'{{name}}' is already a global variable."
60
+ }
61
+ },
62
+ create(context) {
63
+ let [{ builtinGlobals, hoist, allow, ignoreOnInitialization, ignoreTypeValueShadow, ignoreFunctionTypeParameterNameValueShadow }] = context.options, sourceCode = context.sourceCode;
64
+ /**
65
+ * Check if a scope is a TypeScript module augmenting the global namespace.
66
+ * @param {Scope} scope The scope to check
67
+ * @returns {boolean} Whether the scope is a global augmentation
68
+ */
69
+ function isGlobalAugmentation(scope) {
70
+ return scope.block.kind === "global" || !!scope.upper && isGlobalAugmentation(scope.upper);
71
+ }
72
+ /**
73
+ * Check if variable is a `this` parameter.
74
+ * @param {Object} variable The variable to check
75
+ * @returns {boolean} Whether the variable is a this parameter
76
+ */
77
+ function isThisParam(variable) {
78
+ return variable.name === "this";
79
+ }
80
+ /**
81
+ * Checks if type and value shadows each other
82
+ * @param {Object} variable The variable to check
83
+ * @param {Object} shadowedVariable The shadowed variable
84
+ * @returns {boolean} Whether it's a type/value shadow case to ignore
85
+ */
86
+ function isTypeValueShadow(variable, shadowedVariable) {
87
+ if (ignoreTypeValueShadow !== !0 || !("isValueVariable" in variable)) return !1;
88
+ let firstDefinition = shadowedVariable.defs[0], isTypeImport = firstDefinition && firstDefinition.parent?.type === "ImportDeclaration" && (firstDefinition.parent.importKind === "type" || firstDefinition.parent.specifiers.some((s) => s.importKind === "type")), isShadowedValue = !firstDefinition || (isTypeImport ? !1 : shadowedVariable.isValueVariable);
89
+ return variable.isValueVariable !== isShadowedValue;
90
+ }
91
+ /**
92
+ * Checks if it's a function type parameter shadow
93
+ * @param {Object} variable The variable to check
94
+ * @returns {boolean} Whether it's a function type parameter shadow case to ignore
95
+ */
96
+ function isFunctionTypeParameterNameValueShadow(variable) {
97
+ return ignoreFunctionTypeParameterNameValueShadow === !0 ? variable.defs.some((def) => ALLOWED_FUNCTION_VARIABLE_DEF_TYPES.has(def.node.type)) : !1;
98
+ }
99
+ /**
100
+ * Checks if the variable is a generic of a static method
101
+ * @param {Object} variable The variable to check
102
+ * @returns {boolean} Whether the variable is a generic of a static method
103
+ */
104
+ function isTypeParameterOfStaticMethod(variable) {
105
+ let typeParameterDecl = variable.identifiers[0].parent.parent;
106
+ return typeParameterDecl.type === "TSTypeParameterDeclaration" ? typeParameterDecl.parent.parent.static : !1;
107
+ }
108
+ /**
109
+ * Checks for static method generic shadowing class generic
110
+ * @param {Object} variable The variable to check
111
+ * @returns {boolean} Whether it's a static method generic shadowing class generic
112
+ */
113
+ function isGenericOfAStaticMethodShadow(variable) {
114
+ return isTypeParameterOfStaticMethod(variable);
115
+ }
116
+ /**
117
+ * Checks whether or not a given location is inside of the range of a given node.
118
+ * @param {ASTNode} node An node to check.
119
+ * @param {number} location A location to check.
120
+ * @returns {boolean} `true` if the location is inside of the range of the node.
121
+ */
122
+ function isInRange(node, location) {
123
+ return node && node.range[0] <= location && location <= node.range[1];
124
+ }
125
+ /**
126
+ * Searches from the current node through its ancestry to find a matching node.
127
+ * @param {ASTNode} node a node to get.
128
+ * @param {(node: ASTNode) => boolean} match a callback that checks whether or not the node verifies its condition or not.
129
+ * @returns {ASTNode|null} the matching node.
130
+ */
131
+ function findSelfOrAncestor(node, match) {
132
+ let currentNode = node;
133
+ for (; currentNode && !match(currentNode);) currentNode = currentNode.parent;
134
+ return currentNode;
135
+ }
136
+ /**
137
+ * Finds function's outer scope.
138
+ * @param {Scope} scope Function's own scope.
139
+ * @returns {Scope} Function's outer scope.
140
+ */
141
+ function getOuterScope(scope) {
142
+ let upper = scope.upper;
143
+ return upper && upper.type === "function-expression-name" ? upper.upper : upper;
144
+ }
145
+ /**
146
+ * Checks if a variable and a shadowedVariable have the same init pattern ancestor.
147
+ * @param {Object} variable a variable to check.
148
+ * @param {Object} shadowedVariable a shadowedVariable to check.
149
+ * @returns {boolean} Whether or not the variable and the shadowedVariable have the same init pattern ancestor.
150
+ */
151
+ function isInitPatternNode(variable, shadowedVariable) {
152
+ let outerDef = shadowedVariable.defs[0];
153
+ if (!outerDef) return !1;
154
+ let { variableScope } = variable.scope;
155
+ if (!(FUNC_EXPR_NODE_TYPES.has(variableScope.block.type) && getOuterScope(variableScope) === shadowedVariable.scope)) return !1;
156
+ let { parent } = variableScope.block, callExpression = findSelfOrAncestor(parent, (node) => CALL_EXPR_NODE_TYPE.has(node.type));
157
+ if (!callExpression) return !1;
158
+ let node = outerDef.name, location = callExpression.range[1];
159
+ for (; node;) {
160
+ if (node.type === "VariableDeclarator") {
161
+ if (isInRange(node.init, location) || FOR_IN_OF_TYPE.test(node.parent.parent.type) && isInRange(node.parent.parent.right, location)) return !0;
162
+ break;
163
+ } else if (node.type === "AssignmentPattern") {
164
+ if (isInRange(node.right, location)) return !0;
165
+ } else if (SENTINEL_TYPE.test(node.type)) break;
166
+ node = node.parent;
167
+ }
168
+ return !1;
169
+ }
170
+ /**
171
+ * Check if variable name is allowed.
172
+ * @param {ASTNode} variable The variable to check.
173
+ * @returns {boolean} Whether or not the variable name is allowed.
174
+ */
175
+ function isAllowed(variable) {
176
+ return allow.includes(variable.name);
177
+ }
178
+ /**
179
+ * Checks if a variable of the class name in the class scope of ClassDeclaration.
180
+ *
181
+ * ClassDeclaration creates two variables of its name into its outer scope and its class scope.
182
+ * So we should ignore the variable in the class scope.
183
+ * @param {Object} variable The variable to check.
184
+ * @returns {boolean} Whether or not the variable of the class name in the class scope of ClassDeclaration.
185
+ */
186
+ function isDuplicatedClassNameVariable(variable) {
187
+ let block = variable.scope.block;
188
+ return block.type === "ClassDeclaration" && block.id === variable.identifiers[0];
189
+ }
190
+ /**
191
+ * Checks if a variable is inside the initializer of scopeVar.
192
+ *
193
+ * To avoid reporting at declarations such as `var a = function a() {};`.
194
+ * But it should report `var a = function(a) {};` or `var a = function() { function a() {} };`.
195
+ * @param {Object} variable The variable to check.
196
+ * @param {Object} scopeVar The scope variable to look for.
197
+ * @returns {boolean} Whether or not the variable is inside initializer of scopeVar.
198
+ */
199
+ function isOnInitializer(variable, scopeVar) {
200
+ let outerScope = scopeVar.scope, outerDef = scopeVar.defs[0], outer = outerDef && outerDef.parent && outerDef.parent.range, innerScope = variable.scope, innerDef = variable.defs[0], inner = innerDef && innerDef.name.range;
201
+ return outer && inner && outer[0] < inner[0] && inner[1] < outer[1] && (innerDef.type === "FunctionName" && innerDef.node.type === "FunctionExpression" || innerDef.node.type === "ClassExpression") && outerScope === innerScope.upper;
202
+ }
203
+ /**
204
+ * Get a range of a variable's identifier node.
205
+ * @param {Object} variable The variable to get.
206
+ * @returns {Array|undefined} The range of the variable's identifier node.
207
+ */
208
+ function getNameRange(variable) {
209
+ let def = variable.defs[0];
210
+ return def && def.name.range;
211
+ }
212
+ /**
213
+ * Get declared line and column of a variable.
214
+ * @param {eslint-scope.Variable} variable The variable to get.
215
+ * @returns {Object} The declared line and column of the variable.
216
+ */
217
+ function getDeclaredLocation(variable) {
218
+ let identifier = variable.identifiers[0], obj;
219
+ return obj = identifier ? {
220
+ global: !1,
221
+ line: identifier.loc.start.line,
222
+ column: identifier.loc.start.column + 1
223
+ } : { global: !0 }, obj;
224
+ }
225
+ /**
226
+ * Checks if a variable is in TDZ of scopeVar.
227
+ * @param {Object} variable The variable to check.
228
+ * @param {Object} scopeVar The variable of TDZ.
229
+ * @returns {boolean} Whether or not the variable is in TDZ of scopeVar.
230
+ */
231
+ function isInTdz(variable, scopeVar) {
232
+ let outerDef = scopeVar.defs[0], inner = getNameRange(variable), outer = getNameRange(scopeVar);
233
+ return !outer || inner[1] >= outer[0] ? !1 : hoist === "types" ? !TYPES_HOISTED_NODES.has(outerDef.node.type) : hoist === "functions-and-types" ? outerDef.node.type !== "FunctionDeclaration" && !TYPES_HOISTED_NODES.has(outerDef.node.type) : inner && outer && inner[1] < outer[0] && (hoist !== "functions" || !outerDef || outerDef.node.type !== "FunctionDeclaration");
234
+ }
235
+ /**
236
+ * Checks if the initialization of a variable has the declare modifier in a
237
+ * definition file.
238
+ * @param {Object} variable The variable to check
239
+ * @returns {boolean} Whether the variable is declared in a definition file
240
+ */
241
+ function isDeclareInDTSFile(variable) {
242
+ let fileName = context.filename;
243
+ return !fileName.endsWith(".d.ts") && !fileName.endsWith(".d.cts") && !fileName.endsWith(".d.mts") ? !1 : variable.defs.some((def) => def.type === "Variable" && def.parent.declare || def.type === "ClassName" && def.node.declare || def.type === "TSEnumName" && def.node.declare || def.type === "TSModuleName" && def.node.declare);
244
+ }
245
+ /**
246
+ * Checks if a variable is a duplicate of an enum name in the enum scope
247
+ * @param {Object} variable The variable to check
248
+ * @returns {boolean} Whether it's a duplicate enum name variable
249
+ */
250
+ function isDuplicatedEnumNameVariable(variable) {
251
+ let block = variable.scope.block;
252
+ return block.type === "TSEnumDeclaration" && block.id === variable.identifiers[0];
253
+ }
254
+ /**
255
+ * Check if this is an external module declaration merging with a type import
256
+ * @param {Scope} scope Current scope
257
+ * @param {Object} variable Current variable
258
+ * @param {Object} shadowedVariable Shadowed variable
259
+ * @returns {boolean} Whether it's an external declaration merging
260
+ */
261
+ function isExternalDeclarationMerging(scope, variable, shadowedVariable) {
262
+ let firstDefinition = shadowedVariable.defs[0];
263
+ if (!firstDefinition || !firstDefinition.parent || !(firstDefinition.parent.type === "ImportDeclaration" && (firstDefinition.parent.importKind === "type" || firstDefinition.parent.specifiers?.some((s) => s.type === "ImportSpecifier" && s.importKind === "type" && s.local.name === shadowedVariable.name)))) return !1;
264
+ let moduleDecl = findSelfOrAncestor(variable.identifiers[0]?.parent, (node) => node.type === "TSModuleDeclaration");
265
+ return moduleDecl ? firstDefinition.parent.source.value === (moduleDecl.id.type === "Literal" ? moduleDecl.id.value : moduleDecl.id.name) : !1;
266
+ }
267
+ /**
268
+ * Checks the current context for shadowed variables.
269
+ * @param {Scope} scope Fixme
270
+ * @returns {void}
271
+ */
272
+ function checkForShadows(scope) {
273
+ if (isGlobalAugmentation(scope)) return;
274
+ let variables = scope.variables;
275
+ for (let i = 0; i < variables.length; ++i) {
276
+ let variable = variables[i];
277
+ if (variable.identifiers.length === 0 || isDuplicatedClassNameVariable(variable) || isDuplicatedEnumNameVariable(variable) || isAllowed(variable) || isDeclareInDTSFile(variable) || isThisParam(variable)) continue;
278
+ let shadowed = astUtils.getVariableByName(scope.upper, variable.name);
279
+ if (shadowed && (shadowed.identifiers.length > 0 || builtinGlobals && "writeable" in shadowed) && !isOnInitializer(variable, shadowed) && !(ignoreOnInitialization && isInitPatternNode(variable, shadowed)) && !(hoist !== "all" && isInTdz(variable, shadowed)) && !isTypeValueShadow(variable, shadowed) && !isFunctionTypeParameterNameValueShadow(variable) && !isGenericOfAStaticMethodShadow(variable, shadowed) && !isExternalDeclarationMerging(scope, variable, shadowed)) {
280
+ let location = getDeclaredLocation(shadowed), messageId = location.global ? "noShadowGlobal" : "noShadow", data = { name: variable.name };
281
+ location.global || (data.shadowedLine = location.line, data.shadowedColumn = location.column), context.report({
282
+ node: variable.identifiers[0],
283
+ messageId,
284
+ data
285
+ });
286
+ }
287
+ }
288
+ }
289
+ return { "Program:exit"(node) {
290
+ let stack = sourceCode.getScope(node).childScopes.slice();
291
+ for (; stack.length;) {
292
+ let scope = stack.pop();
293
+ stack.push(...scope.childScopes), checkForShadows(scope);
294
+ }
295
+ } };
296
+ }
297
+ };
298
+ }));
299
+ //#endregion
300
+ //#region src-js/generated/plugin-eslint/rules/no-shadow.cjs
301
+ module.exports = require_no_shadow().create;
302
+ //#endregion
@@ -0,0 +1,69 @@
1
+ //#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-spaced-func.js
2
+ /**
3
+ * @fileoverview Rule to check that spaced function application
4
+ * @author Matt DuVall <http://www.mattduvall.com>
5
+ * @deprecated in ESLint v3.3.0
6
+ */
7
+ var require_no_spaced_func = /* @__PURE__ */ require("../common/chunk.cjs").t(((exports, module) => {
8
+ /** @type {import('../types').Rule.RuleModule} */
9
+ module.exports = {
10
+ meta: {
11
+ type: "layout",
12
+ docs: {
13
+ description: "Disallow spacing between function identifiers and their applications (deprecated)",
14
+ recommended: !1,
15
+ url: "https://eslint.org/docs/latest/rules/no-spaced-func"
16
+ },
17
+ deprecated: {
18
+ message: "Formatting rules are being moved out of ESLint core.",
19
+ url: "https://eslint.org/blog/2016/08/eslint-v3.3.0-released/#deprecated-rules",
20
+ deprecatedSince: "3.3.0",
21
+ availableUntil: "11.0.0",
22
+ replacedBy: [{
23
+ message: "ESLint Stylistic now maintains deprecated stylistic core rules.",
24
+ url: "https://eslint.style/guide/migration",
25
+ plugin: {
26
+ name: "@stylistic/eslint-plugin",
27
+ url: "https://eslint.style"
28
+ },
29
+ rule: {
30
+ name: "function-call-spacing",
31
+ url: "https://eslint.style/rules/function-call-spacing"
32
+ }
33
+ }]
34
+ },
35
+ fixable: "whitespace",
36
+ schema: [],
37
+ messages: { noSpacedFunction: "Unexpected space between function name and paren." }
38
+ },
39
+ create(context) {
40
+ let sourceCode = context.sourceCode;
41
+ /**
42
+ * Check if open space is present in a function name
43
+ * @param {ASTNode} node node to evaluate
44
+ * @returns {void}
45
+ * @private
46
+ */
47
+ function detectOpenSpaces(node) {
48
+ let lastCalleeToken = sourceCode.getLastToken(node.callee), prevToken = lastCalleeToken, parenToken = sourceCode.getTokenAfter(lastCalleeToken);
49
+ for (; parenToken && parenToken.range[1] < node.range[1] && parenToken.value !== "(";) prevToken = parenToken, parenToken = sourceCode.getTokenAfter(parenToken);
50
+ parenToken && parenToken.range[1] < node.range[1] && sourceCode.isSpaceBetweenTokens(prevToken, parenToken) && context.report({
51
+ node,
52
+ loc: lastCalleeToken.loc.start,
53
+ messageId: "noSpacedFunction",
54
+ fix(fixer) {
55
+ return fixer.removeRange([prevToken.range[1], parenToken.range[0]]);
56
+ }
57
+ });
58
+ }
59
+ return {
60
+ CallExpression: detectOpenSpaces,
61
+ NewExpression: detectOpenSpaces
62
+ };
63
+ }
64
+ };
65
+ }));
66
+ //#endregion
67
+ //#region src-js/generated/plugin-eslint/rules/no-spaced-func.cjs
68
+ module.exports = require_no_spaced_func().create;
69
+ //#endregion
@@ -0,0 +1,40 @@
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-sparse-arrays.js
3
+ /**
4
+ * @fileoverview Disallow sparse arrays
5
+ * @author Nicholas C. Zakas
6
+ */
7
+ var require_no_sparse_arrays = /* @__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 sparse arrays",
15
+ recommended: !0,
16
+ url: "https://eslint.org/docs/latest/rules/no-sparse-arrays"
17
+ },
18
+ schema: [],
19
+ messages: { unexpectedSparseArray: "Unexpected comma in middle of array." }
20
+ },
21
+ create(context) {
22
+ return { ArrayExpression(node) {
23
+ if (!node.elements.includes(null)) return;
24
+ let { sourceCode } = context, commaToken;
25
+ for (let [index, element] of node.elements.entries()) {
26
+ if (index === node.elements.length - 1 && element) return;
27
+ commaToken = sourceCode.getTokenAfter(element ?? commaToken ?? sourceCode.getFirstToken(node), astUtils.isCommaToken), !element && context.report({
28
+ node,
29
+ loc: commaToken.loc,
30
+ messageId: "unexpectedSparseArray"
31
+ });
32
+ }
33
+ } };
34
+ }
35
+ };
36
+ }));
37
+ //#endregion
38
+ //#region src-js/generated/plugin-eslint/rules/no-sparse-arrays.cjs
39
+ module.exports = require_no_sparse_arrays().create;
40
+ //#endregion
@@ -0,0 +1,58 @@
1
+ //#region ../../node_modules/.pnpm/eslint@9.39.3_jiti@2.6.1/node_modules/eslint/lib/rules/no-sync.js
2
+ /**
3
+ * @fileoverview Rule to check for properties whose identifier ends with the string Sync
4
+ * @author Matt DuVall<http://mattduvall.com/>
5
+ * @deprecated in ESLint v7.0.0
6
+ */
7
+ var require_no_sync = /* @__PURE__ */ require("../common/chunk.cjs").t(((exports, module) => {
8
+ /** @type {import('../types').Rule.RuleModule} */
9
+ module.exports = {
10
+ meta: {
11
+ deprecated: {
12
+ message: "Node.js rules were moved out of ESLint core.",
13
+ url: "https://eslint.org/docs/latest/use/migrating-to-7.0.0#deprecate-node-rules",
14
+ deprecatedSince: "7.0.0",
15
+ availableUntil: "11.0.0",
16
+ replacedBy: [{
17
+ message: "eslint-plugin-n now maintains deprecated Node.js-related rules.",
18
+ plugin: {
19
+ name: "eslint-plugin-n",
20
+ url: "https://github.com/eslint-community/eslint-plugin-n"
21
+ },
22
+ rule: {
23
+ name: "no-sync",
24
+ url: "https://github.com/eslint-community/eslint-plugin-n/tree/master/docs/rules/no-sync.md"
25
+ }
26
+ }]
27
+ },
28
+ type: "suggestion",
29
+ docs: {
30
+ description: "Disallow synchronous methods",
31
+ recommended: !1,
32
+ url: "https://eslint.org/docs/latest/rules/no-sync"
33
+ },
34
+ schema: [{
35
+ type: "object",
36
+ properties: { allowAtRootLevel: {
37
+ type: "boolean",
38
+ default: !1
39
+ } },
40
+ additionalProperties: !1
41
+ }],
42
+ messages: { noSync: "Unexpected sync method: '{{propertyName}}'." }
43
+ },
44
+ create(context) {
45
+ return { [context.options[0] && context.options[0].allowAtRootLevel ? ":function MemberExpression[property.name=/.*Sync$/]" : "MemberExpression[property.name=/.*Sync$/]"](node) {
46
+ context.report({
47
+ node,
48
+ messageId: "noSync",
49
+ data: { propertyName: node.property.name }
50
+ });
51
+ } };
52
+ }
53
+ };
54
+ }));
55
+ //#endregion
56
+ //#region src-js/generated/plugin-eslint/rules/no-sync.cjs
57
+ module.exports = require_no_sync().create;
58
+ //#endregion