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,233 @@
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/spaced-comment.js
3
+ /**
4
+ * @fileoverview Source code for spaced-comments rule
5
+ * @author Gyandeep Singh
6
+ * @deprecated in ESLint v8.53.0
7
+ */
8
+ var require_spaced_comment = /* @__PURE__ */ require_chunk.t(((exports, module) => {
9
+ let escapeRegExp = require_ast_utils$1.n(), astUtils = require_ast_utils$1.t();
10
+ /**
11
+ * Escapes the control characters of a given string.
12
+ * @param {string} s A string to escape.
13
+ * @returns {string} An escaped string.
14
+ */
15
+ function escape(s) {
16
+ return `(?:${escapeRegExp(s)})`;
17
+ }
18
+ /**
19
+ * Escapes the control characters of a given string.
20
+ * And adds a repeat flag.
21
+ * @param {string} s A string to escape.
22
+ * @returns {string} An escaped string.
23
+ */
24
+ function escapeAndRepeat(s) {
25
+ return `${escape(s)}+`;
26
+ }
27
+ /**
28
+ * Parses `markers` option.
29
+ * If markers don't include `"*"`, this adds `"*"` to allow JSDoc comments.
30
+ * @param {string[]} [markers] A marker list.
31
+ * @returns {string[]} A marker list.
32
+ */
33
+ function parseMarkersOption(markers) {
34
+ return markers.includes("*") ? markers : markers.concat("*");
35
+ }
36
+ /**
37
+ * Creates string pattern for exceptions.
38
+ * Generated pattern:
39
+ *
40
+ * 1. A space or an exception pattern sequence.
41
+ * @param {string[]} exceptions An exception pattern list.
42
+ * @returns {string} A regular expression string for exceptions.
43
+ */
44
+ function createExceptionsPattern(exceptions) {
45
+ let pattern = "";
46
+ return exceptions.length === 0 ? pattern += "\\s" : (pattern += "(?:\\s|", exceptions.length === 1 ? pattern += escapeAndRepeat(exceptions[0]) : (pattern += "(?:", pattern += exceptions.map(escapeAndRepeat).join("|"), pattern += ")"), pattern += `(?:$|[${Array.from(astUtils.LINEBREAKS).join("")}]))`), pattern;
47
+ }
48
+ /**
49
+ * Creates RegExp object for `always` mode.
50
+ * Generated pattern for beginning of comment:
51
+ *
52
+ * 1. First, a marker or nothing.
53
+ * 2. Next, a space or an exception pattern sequence.
54
+ * @param {string[]} markers A marker list.
55
+ * @param {string[]} exceptions An exception pattern list.
56
+ * @returns {RegExp} A RegExp object for the beginning of a comment in `always` mode.
57
+ */
58
+ function createAlwaysStylePattern(markers, exceptions) {
59
+ let pattern = "^";
60
+ return markers.length === 1 ? pattern += escape(markers[0]) : (pattern += "(?:", pattern += markers.map(escape).join("|"), pattern += ")"), pattern += "?", pattern += createExceptionsPattern(exceptions), new RegExp(pattern, "u");
61
+ }
62
+ /**
63
+ * Creates RegExp object for `never` mode.
64
+ * Generated pattern for beginning of comment:
65
+ *
66
+ * 1. First, a marker or nothing (captured).
67
+ * 2. Next, a space or a tab.
68
+ * @param {string[]} markers A marker list.
69
+ * @returns {RegExp} A RegExp object for `never` mode.
70
+ */
71
+ function createNeverStylePattern(markers) {
72
+ let pattern = `^(${markers.map(escape).join("|")})?[ \t]+`;
73
+ return new RegExp(pattern, "u");
74
+ }
75
+ /** @type {import('../types').Rule.RuleModule} */
76
+ module.exports = {
77
+ meta: {
78
+ deprecated: {
79
+ message: "Formatting rules are being moved out of ESLint core.",
80
+ url: "https://eslint.org/blog/2023/10/deprecating-formatting-rules/",
81
+ deprecatedSince: "8.53.0",
82
+ availableUntil: "11.0.0",
83
+ replacedBy: [{
84
+ message: "ESLint Stylistic now maintains deprecated stylistic core rules.",
85
+ url: "https://eslint.style/guide/migration",
86
+ plugin: {
87
+ name: "@stylistic/eslint-plugin",
88
+ url: "https://eslint.style"
89
+ },
90
+ rule: {
91
+ name: "spaced-comment",
92
+ url: "https://eslint.style/rules/spaced-comment"
93
+ }
94
+ }]
95
+ },
96
+ type: "suggestion",
97
+ docs: {
98
+ description: "Enforce consistent spacing after the `//` or `/*` in a comment",
99
+ recommended: !1,
100
+ url: "https://eslint.org/docs/latest/rules/spaced-comment"
101
+ },
102
+ fixable: "whitespace",
103
+ schema: [{ enum: ["always", "never"] }, {
104
+ type: "object",
105
+ properties: {
106
+ exceptions: {
107
+ type: "array",
108
+ items: { type: "string" }
109
+ },
110
+ markers: {
111
+ type: "array",
112
+ items: { type: "string" }
113
+ },
114
+ line: {
115
+ type: "object",
116
+ properties: {
117
+ exceptions: {
118
+ type: "array",
119
+ items: { type: "string" }
120
+ },
121
+ markers: {
122
+ type: "array",
123
+ items: { type: "string" }
124
+ }
125
+ },
126
+ additionalProperties: !1
127
+ },
128
+ block: {
129
+ type: "object",
130
+ properties: {
131
+ exceptions: {
132
+ type: "array",
133
+ items: { type: "string" }
134
+ },
135
+ markers: {
136
+ type: "array",
137
+ items: { type: "string" }
138
+ },
139
+ balanced: {
140
+ type: "boolean",
141
+ default: !1
142
+ }
143
+ },
144
+ additionalProperties: !1
145
+ }
146
+ },
147
+ additionalProperties: !1
148
+ }],
149
+ messages: {
150
+ unexpectedSpaceAfterMarker: "Unexpected space or tab after marker ({{refChar}}) in comment.",
151
+ expectedExceptionAfter: "Expected exception block, space or tab after '{{refChar}}' in comment.",
152
+ unexpectedSpaceBefore: "Unexpected space or tab before '*/' in comment.",
153
+ unexpectedSpaceAfter: "Unexpected space or tab after '{{refChar}}' in comment.",
154
+ expectedSpaceBefore: "Expected space or tab before '*/' in comment.",
155
+ expectedSpaceAfter: "Expected space or tab after '{{refChar}}' in comment."
156
+ }
157
+ },
158
+ create(context) {
159
+ let sourceCode = context.sourceCode, requireSpace = context.options[0] !== "never", config = context.options[1] || {}, balanced = config.block && config.block.balanced, styleRules = ["block", "line"].reduce((rule, type) => {
160
+ let markers = parseMarkersOption(config[type] && config[type].markers || config.markers || []), exceptions = config[type] && config[type].exceptions || config.exceptions || [];
161
+ return rule[type] = {
162
+ beginRegex: requireSpace ? createAlwaysStylePattern(markers, exceptions) : createNeverStylePattern(markers),
163
+ endRegex: balanced && requireSpace ? RegExp(`${createExceptionsPattern(exceptions)}$`, "u") : /* @__PURE__ */ RegExp("[ ]+$", "u"),
164
+ hasExceptions: exceptions.length > 0,
165
+ captureMarker: RegExp(`^(${markers.map(escape).join("|")})`, "u"),
166
+ markers: new Set(markers)
167
+ }, rule;
168
+ }, {});
169
+ /**
170
+ * Reports a beginning spacing error with an appropriate message.
171
+ * @param {ASTNode} node A comment node to check.
172
+ * @param {string} messageId An error message to report.
173
+ * @param {Array} match An array of match results for markers.
174
+ * @param {string} refChar Character used for reference in the error message.
175
+ * @returns {void}
176
+ */
177
+ function reportBegin(node, messageId, match, refChar) {
178
+ let commentIdentifier = node.type.toLowerCase() === "block" ? "/*" : "//";
179
+ context.report({
180
+ node,
181
+ fix(fixer) {
182
+ let start = node.range[0], end = start + 2;
183
+ return requireSpace ? (match && (end += match[0].length), fixer.insertTextAfterRange([start, end], " ")) : (end += match[0].length, fixer.replaceTextRange([start, end], commentIdentifier + (match[1] ? match[1] : "")));
184
+ },
185
+ messageId,
186
+ data: { refChar }
187
+ });
188
+ }
189
+ /**
190
+ * Reports an ending spacing error with an appropriate message.
191
+ * @param {ASTNode} node A comment node to check.
192
+ * @param {string} messageId An error message to report.
193
+ * @param {string} match An array of the matched whitespace characters.
194
+ * @returns {void}
195
+ */
196
+ function reportEnd(node, messageId, match) {
197
+ context.report({
198
+ node,
199
+ fix(fixer) {
200
+ if (requireSpace) return fixer.insertTextAfterRange([node.range[0], node.range[1] - 2], " ");
201
+ let end = node.range[1] - 2, start = end - match[0].length;
202
+ return fixer.replaceTextRange([start, end], "");
203
+ },
204
+ messageId
205
+ });
206
+ }
207
+ /**
208
+ * Reports a given comment if it's invalid.
209
+ * @param {ASTNode} node a comment node to check.
210
+ * @returns {void}
211
+ */
212
+ function checkCommentForSpace(node) {
213
+ let type = node.type.toLowerCase(), rule = styleRules[type], commentIdentifier = type === "block" ? "/*" : "//";
214
+ if (node.value.length === 0 || rule.markers.has(node.value)) return;
215
+ let beginMatch = rule.beginRegex.exec(node.value), endMatch = rule.endRegex.exec(node.value);
216
+ if (requireSpace) {
217
+ if (!beginMatch) {
218
+ let hasMarker = rule.captureMarker.exec(node.value), marker = hasMarker ? commentIdentifier + hasMarker[0] : commentIdentifier;
219
+ rule.hasExceptions ? reportBegin(node, "expectedExceptionAfter", hasMarker, marker) : reportBegin(node, "expectedSpaceAfter", hasMarker, marker);
220
+ }
221
+ balanced && type === "block" && !endMatch && reportEnd(node, "expectedSpaceBefore");
222
+ } else beginMatch && (beginMatch[1] ? reportBegin(node, "unexpectedSpaceAfterMarker", beginMatch, beginMatch[1]) : reportBegin(node, "unexpectedSpaceAfter", beginMatch, commentIdentifier)), balanced && type === "block" && endMatch && reportEnd(node, "unexpectedSpaceBefore", endMatch);
223
+ }
224
+ return { Program() {
225
+ sourceCode.getAllComments().filter((token) => token.type !== "Shebang").forEach(checkCommentForSpace);
226
+ } };
227
+ }
228
+ };
229
+ }));
230
+ //#endregion
231
+ //#region src-js/generated/plugin-eslint/rules/spaced-comment.cjs
232
+ module.exports = require_spaced_comment().create;
233
+ //#endregion
@@ -0,0 +1,206 @@
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/strict.js
3
+ /**
4
+ * @fileoverview Rule to control usage of strict mode directives.
5
+ * @author Brandon Mills
6
+ */
7
+ var require_strict = /* @__PURE__ */ require_chunk.t(((exports, module) => {
8
+ let astUtils = require_ast_utils$1.t();
9
+ /**
10
+ * Gets all of the Use Strict Directives in the Directive Prologue of a group of
11
+ * statements.
12
+ * @param {ASTNode[]} statements Statements in the program or function body.
13
+ * @returns {ASTNode[]} All of the Use Strict Directives.
14
+ */
15
+ function getUseStrictDirectives(statements) {
16
+ let directives = [];
17
+ for (let i = 0; i < statements.length; i++) {
18
+ let statement = statements[i];
19
+ if (statement.type === "ExpressionStatement" && statement.expression.type === "Literal" && statement.expression.value === "use strict") directives[i] = statement;
20
+ else break;
21
+ }
22
+ return directives;
23
+ }
24
+ /**
25
+ * Checks whether a given parameter is a simple parameter.
26
+ * @param {ASTNode} node A pattern node to check.
27
+ * @returns {boolean} `true` if the node is an Identifier node.
28
+ */
29
+ function isSimpleParameter(node) {
30
+ return node.type === "Identifier";
31
+ }
32
+ /**
33
+ * Checks whether a given parameter list is a simple parameter list.
34
+ * @param {ASTNode[]} params A parameter list to check.
35
+ * @returns {boolean} `true` if the every parameter is an Identifier node.
36
+ */
37
+ function isSimpleParameterList(params) {
38
+ return params.every(isSimpleParameter);
39
+ }
40
+ /** @type {import('../types').Rule.RuleModule} */
41
+ module.exports = {
42
+ meta: {
43
+ type: "suggestion",
44
+ defaultOptions: ["safe"],
45
+ docs: {
46
+ description: "Require or disallow strict mode directives",
47
+ recommended: !1,
48
+ url: "https://eslint.org/docs/latest/rules/strict"
49
+ },
50
+ schema: [{ enum: [
51
+ "never",
52
+ "global",
53
+ "function",
54
+ "safe"
55
+ ] }],
56
+ fixable: "code",
57
+ messages: {
58
+ function: "Use the function form of 'use strict'.",
59
+ global: "Use the global form of 'use strict'.",
60
+ multiple: "Multiple 'use strict' directives.",
61
+ never: "Strict mode is not permitted.",
62
+ unnecessary: "Unnecessary 'use strict' directive.",
63
+ module: "'use strict' is unnecessary inside of modules.",
64
+ implied: "'use strict' is unnecessary when implied strict mode is enabled.",
65
+ unnecessaryInClasses: "'use strict' is unnecessary inside of classes.",
66
+ nonSimpleParameterList: "'use strict' directive inside a function with non-simple parameter list throws a syntax error since ES2016.",
67
+ wrap: "Wrap {{name}} in a function with 'use strict' directive."
68
+ }
69
+ },
70
+ create(context) {
71
+ let ecmaFeatures = context.languageOptions.parserOptions.ecmaFeatures || {}, scopes = [], classScopes = [], [mode] = context.options;
72
+ ecmaFeatures.impliedStrict ? mode = "implied" : mode === "safe" && (mode = ecmaFeatures.globalReturn || context.languageOptions.sourceType === "commonjs" ? "global" : "function");
73
+ /**
74
+ * Determines whether a reported error should be fixed, depending on the error type.
75
+ * @param {string} errorType The type of error
76
+ * @returns {boolean} `true` if the reported error should be fixed
77
+ */
78
+ function shouldFix(errorType) {
79
+ return errorType === "multiple" || errorType === "unnecessary" || errorType === "module" || errorType === "implied" || errorType === "unnecessaryInClasses";
80
+ }
81
+ /**
82
+ * Gets a fixer function to remove a given 'use strict' directive.
83
+ * @param {ASTNode} node The directive that should be removed
84
+ * @returns {Function} A fixer function
85
+ */
86
+ function getFixFunction(node) {
87
+ return (fixer) => fixer.remove(node);
88
+ }
89
+ /**
90
+ * Report a slice of an array of nodes with a given message.
91
+ * @param {ASTNode[]} nodes Nodes.
92
+ * @param {string} start Index to start from.
93
+ * @param {string} end Index to end before.
94
+ * @param {string} messageId Message to display.
95
+ * @param {boolean} fix `true` if the directive should be fixed (i.e. removed)
96
+ * @returns {void}
97
+ */
98
+ function reportSlice(nodes, start, end, messageId, fix) {
99
+ nodes.slice(start, end).forEach((node) => {
100
+ context.report({
101
+ node,
102
+ messageId,
103
+ fix: fix ? getFixFunction(node) : null
104
+ });
105
+ });
106
+ }
107
+ /**
108
+ * Report all nodes in an array with a given message.
109
+ * @param {ASTNode[]} nodes Nodes.
110
+ * @param {string} messageId Message id to display.
111
+ * @param {boolean} fix `true` if the directive should be fixed (i.e. removed)
112
+ * @returns {void}
113
+ */
114
+ function reportAll(nodes, messageId, fix) {
115
+ reportSlice(nodes, 0, nodes.length, messageId, fix);
116
+ }
117
+ /**
118
+ * Report all nodes in an array, except the first, with a given message.
119
+ * @param {ASTNode[]} nodes Nodes.
120
+ * @param {string} messageId Message id to display.
121
+ * @param {boolean} fix `true` if the directive should be fixed (i.e. removed)
122
+ * @returns {void}
123
+ */
124
+ function reportAllExceptFirst(nodes, messageId, fix) {
125
+ reportSlice(nodes, 1, nodes.length, messageId, fix);
126
+ }
127
+ /**
128
+ * Entering a function in 'function' mode pushes a new nested scope onto the
129
+ * stack. The new scope is true if the nested function is strict mode code.
130
+ * @param {ASTNode} node The function declaration or expression.
131
+ * @param {ASTNode[]} useStrictDirectives The Use Strict Directives of the node.
132
+ * @returns {void}
133
+ */
134
+ function enterFunctionInFunctionMode(node, useStrictDirectives) {
135
+ let isInClass = classScopes.length > 0, isParentGlobal = scopes.length === 0 && classScopes.length === 0, isParentStrict = scopes.length > 0 && scopes.at(-1), isStrict = useStrictDirectives.length > 0;
136
+ isStrict ? (isSimpleParameterList(node.params) ? isParentStrict ? context.report({
137
+ node: useStrictDirectives[0],
138
+ messageId: "unnecessary",
139
+ fix: getFixFunction(useStrictDirectives[0])
140
+ }) : isInClass && context.report({
141
+ node: useStrictDirectives[0],
142
+ messageId: "unnecessaryInClasses",
143
+ fix: getFixFunction(useStrictDirectives[0])
144
+ }) : context.report({
145
+ node: useStrictDirectives[0],
146
+ messageId: "nonSimpleParameterList"
147
+ }), reportAllExceptFirst(useStrictDirectives, "multiple", !0)) : isParentGlobal && (isSimpleParameterList(node.params) ? context.report({
148
+ node,
149
+ messageId: "function"
150
+ }) : context.report({
151
+ node,
152
+ messageId: "wrap",
153
+ data: { name: astUtils.getFunctionNameWithKind(node) }
154
+ })), scopes.push(isParentStrict || isStrict);
155
+ }
156
+ /**
157
+ * Exiting a function in 'function' mode pops its scope off the stack.
158
+ * @returns {void}
159
+ */
160
+ function exitFunctionInFunctionMode() {
161
+ scopes.pop();
162
+ }
163
+ /**
164
+ * Enter a function and either:
165
+ * - Push a new nested scope onto the stack (in 'function' mode).
166
+ * - Report all the Use Strict Directives (in the other modes).
167
+ * @param {ASTNode} node The function declaration or expression.
168
+ * @returns {void}
169
+ */
170
+ function enterFunction(node) {
171
+ let useStrictDirectives = node.body.type === "BlockStatement" ? getUseStrictDirectives(node.body.body) : [];
172
+ mode === "function" ? enterFunctionInFunctionMode(node, useStrictDirectives) : useStrictDirectives.length > 0 && (isSimpleParameterList(node.params) ? reportAll(useStrictDirectives, mode, shouldFix(mode)) : (context.report({
173
+ node: useStrictDirectives[0],
174
+ messageId: "nonSimpleParameterList"
175
+ }), reportAllExceptFirst(useStrictDirectives, "multiple", !0)));
176
+ }
177
+ let rule = {
178
+ Program(node) {
179
+ let useStrictDirectives = getUseStrictDirectives(node.body);
180
+ node.sourceType === "module" && (mode = "module"), mode === "global" ? (node.body.length > 0 && useStrictDirectives.length === 0 && context.report({
181
+ node,
182
+ messageId: "global"
183
+ }), reportAllExceptFirst(useStrictDirectives, "multiple", !0)) : reportAll(useStrictDirectives, mode, shouldFix(mode));
184
+ },
185
+ FunctionDeclaration: enterFunction,
186
+ FunctionExpression: enterFunction,
187
+ ArrowFunctionExpression: enterFunction
188
+ };
189
+ return mode === "function" && Object.assign(rule, {
190
+ ClassBody() {
191
+ classScopes.push(!0);
192
+ },
193
+ "ClassBody:exit"() {
194
+ classScopes.pop();
195
+ },
196
+ "FunctionDeclaration:exit": exitFunctionInFunctionMode,
197
+ "FunctionExpression:exit": exitFunctionInFunctionMode,
198
+ "ArrowFunctionExpression:exit": exitFunctionInFunctionMode
199
+ }), rule;
200
+ }
201
+ };
202
+ }));
203
+ //#endregion
204
+ //#region src-js/generated/plugin-eslint/rules/strict.cjs
205
+ module.exports = require_strict().create;
206
+ //#endregion
@@ -0,0 +1,114 @@
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/switch-colon-spacing.js
3
+ /**
4
+ * @fileoverview Rule to enforce spacing around colons of switch statements.
5
+ * @author Toru Nagashima
6
+ * @deprecated in ESLint v8.53.0
7
+ */
8
+ var require_switch_colon_spacing = /* @__PURE__ */ require_chunk.t(((exports, module) => {
9
+ let astUtils = require_ast_utils$1.t();
10
+ /** @type {import('../types').Rule.RuleModule} */
11
+ module.exports = {
12
+ meta: {
13
+ deprecated: {
14
+ message: "Formatting rules are being moved out of ESLint core.",
15
+ url: "https://eslint.org/blog/2023/10/deprecating-formatting-rules/",
16
+ deprecatedSince: "8.53.0",
17
+ availableUntil: "11.0.0",
18
+ replacedBy: [{
19
+ message: "ESLint Stylistic now maintains deprecated stylistic core rules.",
20
+ url: "https://eslint.style/guide/migration",
21
+ plugin: {
22
+ name: "@stylistic/eslint-plugin",
23
+ url: "https://eslint.style"
24
+ },
25
+ rule: {
26
+ name: "switch-colon-spacing",
27
+ url: "https://eslint.style/rules/switch-colon-spacing"
28
+ }
29
+ }]
30
+ },
31
+ type: "layout",
32
+ docs: {
33
+ description: "Enforce spacing around colons of switch statements",
34
+ recommended: !1,
35
+ url: "https://eslint.org/docs/latest/rules/switch-colon-spacing"
36
+ },
37
+ schema: [{
38
+ type: "object",
39
+ properties: {
40
+ before: {
41
+ type: "boolean",
42
+ default: !1
43
+ },
44
+ after: {
45
+ type: "boolean",
46
+ default: !0
47
+ }
48
+ },
49
+ additionalProperties: !1
50
+ }],
51
+ fixable: "whitespace",
52
+ messages: {
53
+ expectedBefore: "Expected space(s) before this colon.",
54
+ expectedAfter: "Expected space(s) after this colon.",
55
+ unexpectedBefore: "Unexpected space(s) before this colon.",
56
+ unexpectedAfter: "Unexpected space(s) after this colon."
57
+ }
58
+ },
59
+ create(context) {
60
+ let sourceCode = context.sourceCode, options = context.options[0] || {}, beforeSpacing = options.before === !0, afterSpacing = options.after !== !1;
61
+ /**
62
+ * Check whether the spacing between the given 2 tokens is valid or not.
63
+ * @param {Token} left The left token to check.
64
+ * @param {Token} right The right token to check.
65
+ * @param {boolean} expected The expected spacing to check. `true` if there should be a space.
66
+ * @returns {boolean} `true` if the spacing between the tokens is valid.
67
+ */
68
+ function isValidSpacing(left, right, expected) {
69
+ return astUtils.isClosingBraceToken(right) || !astUtils.isTokenOnSameLine(left, right) || sourceCode.isSpaceBetweenTokens(left, right) === expected;
70
+ }
71
+ /**
72
+ * Check whether comments exist between the given 2 tokens.
73
+ * @param {Token} left The left token to check.
74
+ * @param {Token} right The right token to check.
75
+ * @returns {boolean} `true` if comments exist between the given 2 tokens.
76
+ */
77
+ function commentsExistBetween(left, right) {
78
+ return sourceCode.getFirstTokenBetween(left, right, {
79
+ includeComments: !0,
80
+ filter: astUtils.isCommentToken
81
+ }) !== null;
82
+ }
83
+ /**
84
+ * Fix the spacing between the given 2 tokens.
85
+ * @param {RuleFixer} fixer The fixer to fix.
86
+ * @param {Token} left The left token of fix range.
87
+ * @param {Token} right The right token of fix range.
88
+ * @param {boolean} spacing The spacing style. `true` if there should be a space.
89
+ * @returns {Fix|null} The fix object.
90
+ */
91
+ function fix(fixer, left, right, spacing) {
92
+ return commentsExistBetween(left, right) ? null : spacing ? fixer.insertTextAfter(left, " ") : fixer.removeRange([left.range[1], right.range[0]]);
93
+ }
94
+ return { SwitchCase(node) {
95
+ let colonToken = astUtils.getSwitchCaseColonToken(node, sourceCode), beforeToken = sourceCode.getTokenBefore(colonToken), afterToken = sourceCode.getTokenAfter(colonToken);
96
+ isValidSpacing(beforeToken, colonToken, beforeSpacing) || context.report({
97
+ node,
98
+ loc: colonToken.loc,
99
+ messageId: beforeSpacing ? "expectedBefore" : "unexpectedBefore",
100
+ fix: (fixer) => fix(fixer, beforeToken, colonToken, beforeSpacing)
101
+ }), isValidSpacing(colonToken, afterToken, afterSpacing) || context.report({
102
+ node,
103
+ loc: colonToken.loc,
104
+ messageId: afterSpacing ? "expectedAfter" : "unexpectedAfter",
105
+ fix: (fixer) => fix(fixer, colonToken, afterToken, afterSpacing)
106
+ });
107
+ } };
108
+ }
109
+ };
110
+ }));
111
+ //#endregion
112
+ //#region src-js/generated/plugin-eslint/rules/switch-colon-spacing.cjs
113
+ module.exports = require_switch_colon_spacing().create;
114
+ //#endregion
@@ -0,0 +1,49 @@
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/symbol-description.js
3
+ /**
4
+ * @fileoverview Rule to enforce description with the `Symbol` object
5
+ * @author Jarek Rencz
6
+ */
7
+ var require_symbol_description = /* @__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: "suggestion",
13
+ docs: {
14
+ description: "Require symbol descriptions",
15
+ recommended: !1,
16
+ url: "https://eslint.org/docs/latest/rules/symbol-description"
17
+ },
18
+ fixable: null,
19
+ schema: [],
20
+ messages: { expected: "Expected Symbol to have a description." }
21
+ },
22
+ create(context) {
23
+ let sourceCode = context.sourceCode;
24
+ /**
25
+ * Reports if node does not conform the rule in case rule is set to
26
+ * report missing description
27
+ * @param {ASTNode} node A CallExpression node to check.
28
+ * @returns {void}
29
+ */
30
+ function checkArgument(node) {
31
+ node.arguments.length === 0 && context.report({
32
+ node,
33
+ messageId: "expected"
34
+ });
35
+ }
36
+ return { "Program:exit"(node) {
37
+ let scope = sourceCode.getScope(node), variable = astUtils.getVariableByName(scope, "Symbol");
38
+ variable && variable.defs.length === 0 && variable.references.forEach((reference) => {
39
+ let idNode = reference.identifier;
40
+ astUtils.isCallee(idNode) && checkArgument(idNode.parent);
41
+ });
42
+ } };
43
+ }
44
+ };
45
+ }));
46
+ //#endregion
47
+ //#region src-js/generated/plugin-eslint/rules/symbol-description.cjs
48
+ module.exports = require_symbol_description().create;
49
+ //#endregion