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,175 @@
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/space-in-parens.js
3
+ /**
4
+ * @fileoverview Disallows or enforces spaces inside of parentheses.
5
+ * @author Jonathan Rajavuori
6
+ * @deprecated in ESLint v8.53.0
7
+ */
8
+ var require_space_in_parens = /* @__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: "space-in-parens",
27
+ url: "https://eslint.style/rules/space-in-parens"
28
+ }
29
+ }]
30
+ },
31
+ type: "layout",
32
+ docs: {
33
+ description: "Enforce consistent spacing inside parentheses",
34
+ recommended: !1,
35
+ url: "https://eslint.org/docs/latest/rules/space-in-parens"
36
+ },
37
+ fixable: "whitespace",
38
+ schema: [{ enum: ["always", "never"] }, {
39
+ type: "object",
40
+ properties: { exceptions: {
41
+ type: "array",
42
+ items: { enum: [
43
+ "{}",
44
+ "[]",
45
+ "()",
46
+ "empty"
47
+ ] },
48
+ uniqueItems: !0
49
+ } },
50
+ additionalProperties: !1
51
+ }],
52
+ messages: {
53
+ missingOpeningSpace: "There must be a space after this paren.",
54
+ missingClosingSpace: "There must be a space before this paren.",
55
+ rejectedOpeningSpace: "There should be no space after this paren.",
56
+ rejectedClosingSpace: "There should be no space before this paren."
57
+ }
58
+ },
59
+ create(context) {
60
+ let ALWAYS = context.options[0] === "always", exceptionsArrayOptions = context.options[1] && context.options[1].exceptions || [], options = {}, exceptions;
61
+ exceptionsArrayOptions.length && (options.braceException = exceptionsArrayOptions.includes("{}"), options.bracketException = exceptionsArrayOptions.includes("[]"), options.parenException = exceptionsArrayOptions.includes("()"), options.empty = exceptionsArrayOptions.includes("empty"));
62
+ /**
63
+ * Produces an object with the opener and closer exception values
64
+ * @returns {Object} `openers` and `closers` exception values
65
+ * @private
66
+ */
67
+ function getExceptions() {
68
+ let openers = [], closers = [];
69
+ return options.braceException && (openers.push("{"), closers.push("}")), options.bracketException && (openers.push("["), closers.push("]")), options.parenException && (openers.push("("), closers.push(")")), options.empty && (openers.push(")"), closers.push("(")), {
70
+ openers,
71
+ closers
72
+ };
73
+ }
74
+ let sourceCode = context.sourceCode;
75
+ /**
76
+ * Determines if a token is one of the exceptions for the opener paren
77
+ * @param {Object} token The token to check
78
+ * @returns {boolean} True if the token is one of the exceptions for the opener paren
79
+ */
80
+ function isOpenerException(token) {
81
+ return exceptions.openers.includes(token.value);
82
+ }
83
+ /**
84
+ * Determines if a token is one of the exceptions for the closer paren
85
+ * @param {Object} token The token to check
86
+ * @returns {boolean} True if the token is one of the exceptions for the closer paren
87
+ */
88
+ function isCloserException(token) {
89
+ return exceptions.closers.includes(token.value);
90
+ }
91
+ /**
92
+ * Determines if an opening paren is immediately followed by a required space
93
+ * @param {Object} openingParenToken The paren token
94
+ * @param {Object} tokenAfterOpeningParen The token after it
95
+ * @returns {boolean} True if the opening paren is missing a required space
96
+ */
97
+ function openerMissingSpace(openingParenToken, tokenAfterOpeningParen) {
98
+ return sourceCode.isSpaceBetweenTokens(openingParenToken, tokenAfterOpeningParen) || !options.empty && astUtils.isClosingParenToken(tokenAfterOpeningParen) ? !1 : ALWAYS ? !isOpenerException(tokenAfterOpeningParen) : isOpenerException(tokenAfterOpeningParen);
99
+ }
100
+ /**
101
+ * Determines if an opening paren is immediately followed by a disallowed space
102
+ * @param {Object} openingParenToken The paren token
103
+ * @param {Object} tokenAfterOpeningParen The token after it
104
+ * @returns {boolean} True if the opening paren has a disallowed space
105
+ */
106
+ function openerRejectsSpace(openingParenToken, tokenAfterOpeningParen) {
107
+ return !astUtils.isTokenOnSameLine(openingParenToken, tokenAfterOpeningParen) || tokenAfterOpeningParen.type === "Line" || !sourceCode.isSpaceBetweenTokens(openingParenToken, tokenAfterOpeningParen) ? !1 : ALWAYS ? isOpenerException(tokenAfterOpeningParen) : !isOpenerException(tokenAfterOpeningParen);
108
+ }
109
+ /**
110
+ * Determines if a closing paren is immediately preceded by a required space
111
+ * @param {Object} tokenBeforeClosingParen The token before the paren
112
+ * @param {Object} closingParenToken The paren token
113
+ * @returns {boolean} True if the closing paren is missing a required space
114
+ */
115
+ function closerMissingSpace(tokenBeforeClosingParen, closingParenToken) {
116
+ return sourceCode.isSpaceBetweenTokens(tokenBeforeClosingParen, closingParenToken) || !options.empty && astUtils.isOpeningParenToken(tokenBeforeClosingParen) ? !1 : ALWAYS ? !isCloserException(tokenBeforeClosingParen) : isCloserException(tokenBeforeClosingParen);
117
+ }
118
+ /**
119
+ * Determines if a closer paren is immediately preceded by a disallowed space
120
+ * @param {Object} tokenBeforeClosingParen The token before the paren
121
+ * @param {Object} closingParenToken The paren token
122
+ * @returns {boolean} True if the closing paren has a disallowed space
123
+ */
124
+ function closerRejectsSpace(tokenBeforeClosingParen, closingParenToken) {
125
+ return !astUtils.isTokenOnSameLine(tokenBeforeClosingParen, closingParenToken) || !sourceCode.isSpaceBetweenTokens(tokenBeforeClosingParen, closingParenToken) ? !1 : ALWAYS ? isCloserException(tokenBeforeClosingParen) : !isCloserException(tokenBeforeClosingParen);
126
+ }
127
+ return { Program: function checkParenSpaces(node) {
128
+ exceptions = getExceptions();
129
+ let tokens = sourceCode.tokensAndComments;
130
+ tokens.forEach((token, i) => {
131
+ let prevToken = tokens[i - 1], nextToken = tokens[i + 1];
132
+ !astUtils.isOpeningParenToken(token) && !astUtils.isClosingParenToken(token) || (token.value === "(" && openerMissingSpace(token, nextToken) && context.report({
133
+ node,
134
+ loc: token.loc,
135
+ messageId: "missingOpeningSpace",
136
+ fix(fixer) {
137
+ return fixer.insertTextAfter(token, " ");
138
+ }
139
+ }), token.value === "(" && openerRejectsSpace(token, nextToken) && context.report({
140
+ node,
141
+ loc: {
142
+ start: token.loc.end,
143
+ end: nextToken.loc.start
144
+ },
145
+ messageId: "rejectedOpeningSpace",
146
+ fix(fixer) {
147
+ return fixer.removeRange([token.range[1], nextToken.range[0]]);
148
+ }
149
+ }), token.value === ")" && closerMissingSpace(prevToken, token) && context.report({
150
+ node,
151
+ loc: token.loc,
152
+ messageId: "missingClosingSpace",
153
+ fix(fixer) {
154
+ return fixer.insertTextBefore(token, " ");
155
+ }
156
+ }), token.value === ")" && closerRejectsSpace(prevToken, token) && context.report({
157
+ node,
158
+ loc: {
159
+ start: prevToken.loc.end,
160
+ end: token.loc.start
161
+ },
162
+ messageId: "rejectedClosingSpace",
163
+ fix(fixer) {
164
+ return fixer.removeRange([prevToken.range[1], token.range[0]]);
165
+ }
166
+ }));
167
+ });
168
+ } };
169
+ }
170
+ };
171
+ }));
172
+ //#endregion
173
+ //#region src-js/generated/plugin-eslint/rules/space-in-parens.cjs
174
+ module.exports = require_space_in_parens().create;
175
+ //#endregion
@@ -0,0 +1,133 @@
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/space-infix-ops.js
3
+ /**
4
+ * @fileoverview Require spaces around infix operators
5
+ * @author Michael Ficarra
6
+ * @deprecated in ESLint v8.53.0
7
+ */
8
+ var require_space_infix_ops = /* @__PURE__ */ require_chunk.t(((exports, module) => {
9
+ let { isEqToken } = 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: "space-infix-ops",
27
+ url: "https://eslint.style/rules/space-infix-ops"
28
+ }
29
+ }]
30
+ },
31
+ type: "layout",
32
+ docs: {
33
+ description: "Require spacing around infix operators",
34
+ recommended: !1,
35
+ url: "https://eslint.org/docs/latest/rules/space-infix-ops"
36
+ },
37
+ fixable: "whitespace",
38
+ schema: [{
39
+ type: "object",
40
+ properties: { int32Hint: {
41
+ type: "boolean",
42
+ default: !1
43
+ } },
44
+ additionalProperties: !1
45
+ }],
46
+ messages: { missingSpace: "Operator '{{operator}}' must be spaced." }
47
+ },
48
+ create(context) {
49
+ let int32Hint = context.options[0] ? context.options[0].int32Hint === !0 : !1, sourceCode = context.sourceCode;
50
+ /**
51
+ * Returns the first token which violates the rule
52
+ * @param {ASTNode} left The left node of the main node
53
+ * @param {ASTNode} right The right node of the main node
54
+ * @param {string} op The operator of the main node
55
+ * @returns {Object} The violator token or null
56
+ * @private
57
+ */
58
+ function getFirstNonSpacedToken(left, right, op) {
59
+ let operator = sourceCode.getFirstTokenBetween(left, right, (token) => token.value === op), prev = sourceCode.getTokenBefore(operator), next = sourceCode.getTokenAfter(operator);
60
+ return !sourceCode.isSpaceBetweenTokens(prev, operator) || !sourceCode.isSpaceBetweenTokens(operator, next) ? operator : null;
61
+ }
62
+ /**
63
+ * Reports an AST node as a rule violation
64
+ * @param {ASTNode} mainNode The node to report
65
+ * @param {Object} culpritToken The token which has a problem
66
+ * @returns {void}
67
+ * @private
68
+ */
69
+ function report(mainNode, culpritToken) {
70
+ context.report({
71
+ node: mainNode,
72
+ loc: culpritToken.loc,
73
+ messageId: "missingSpace",
74
+ data: { operator: culpritToken.value },
75
+ fix(fixer) {
76
+ let previousToken = sourceCode.getTokenBefore(culpritToken), afterToken = sourceCode.getTokenAfter(culpritToken), fixString = "";
77
+ return culpritToken.range[0] - previousToken.range[1] === 0 && (fixString = " "), fixString += culpritToken.value, afterToken.range[0] - culpritToken.range[1] === 0 && (fixString += " "), fixer.replaceText(culpritToken, fixString);
78
+ }
79
+ });
80
+ }
81
+ /**
82
+ * Check if the node is binary then report
83
+ * @param {ASTNode} node node to evaluate
84
+ * @returns {void}
85
+ * @private
86
+ */
87
+ function checkBinary(node) {
88
+ let leftNode = node.left.typeAnnotation ? node.left.typeAnnotation : node.left, rightNode = node.right, nonSpacedNode = getFirstNonSpacedToken(leftNode, rightNode, node.operator || "=");
89
+ nonSpacedNode && (int32Hint && sourceCode.getText(node).endsWith("|0") || report(node, nonSpacedNode));
90
+ }
91
+ /**
92
+ * Check if the node is conditional
93
+ * @param {ASTNode} node node to evaluate
94
+ * @returns {void}
95
+ * @private
96
+ */
97
+ function checkConditional(node) {
98
+ let nonSpacedConsequentNode = getFirstNonSpacedToken(node.test, node.consequent, "?"), nonSpacedAlternateNode = getFirstNonSpacedToken(node.consequent, node.alternate, ":");
99
+ nonSpacedConsequentNode && report(node, nonSpacedConsequentNode), nonSpacedAlternateNode && report(node, nonSpacedAlternateNode);
100
+ }
101
+ /**
102
+ * Check if the node is a variable
103
+ * @param {ASTNode} node node to evaluate
104
+ * @returns {void}
105
+ * @private
106
+ */
107
+ function checkVar(node) {
108
+ let leftNode = node.id.typeAnnotation ? node.id.typeAnnotation : node.id, rightNode = node.init;
109
+ if (rightNode) {
110
+ let nonSpacedNode = getFirstNonSpacedToken(leftNode, rightNode, "=");
111
+ nonSpacedNode && report(node, nonSpacedNode);
112
+ }
113
+ }
114
+ return {
115
+ AssignmentExpression: checkBinary,
116
+ AssignmentPattern: checkBinary,
117
+ BinaryExpression: checkBinary,
118
+ LogicalExpression: checkBinary,
119
+ ConditionalExpression: checkConditional,
120
+ VariableDeclarator: checkVar,
121
+ PropertyDefinition(node) {
122
+ if (!node.value) return;
123
+ let operatorToken = sourceCode.getTokenBefore(node.value, isEqToken), leftToken = sourceCode.getTokenBefore(operatorToken), rightToken = sourceCode.getTokenAfter(operatorToken);
124
+ (!sourceCode.isSpaceBetweenTokens(leftToken, operatorToken) || !sourceCode.isSpaceBetweenTokens(operatorToken, rightToken)) && report(node, operatorToken);
125
+ }
126
+ };
127
+ }
128
+ };
129
+ }));
130
+ //#endregion
131
+ //#region src-js/generated/plugin-eslint/rules/space-infix-ops.cjs
132
+ module.exports = require_space_infix_ops().create;
133
+ //#endregion
@@ -0,0 +1,237 @@
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/space-unary-ops.js
3
+ /**
4
+ * @fileoverview This rule should require or disallow spaces before or after unary operations.
5
+ * @author Marcin Kumorek
6
+ * @deprecated in ESLint v8.53.0
7
+ */
8
+ var require_space_unary_ops = /* @__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: "space-unary-ops",
27
+ url: "https://eslint.style/rules/space-unary-ops"
28
+ }
29
+ }]
30
+ },
31
+ type: "layout",
32
+ docs: {
33
+ description: "Enforce consistent spacing before or after unary operators",
34
+ recommended: !1,
35
+ url: "https://eslint.org/docs/latest/rules/space-unary-ops"
36
+ },
37
+ fixable: "whitespace",
38
+ schema: [{
39
+ type: "object",
40
+ properties: {
41
+ words: {
42
+ type: "boolean",
43
+ default: !0
44
+ },
45
+ nonwords: {
46
+ type: "boolean",
47
+ default: !1
48
+ },
49
+ overrides: {
50
+ type: "object",
51
+ additionalProperties: { type: "boolean" }
52
+ }
53
+ },
54
+ additionalProperties: !1
55
+ }],
56
+ messages: {
57
+ unexpectedBefore: "Unexpected space before unary operator '{{operator}}'.",
58
+ unexpectedAfter: "Unexpected space after unary operator '{{operator}}'.",
59
+ unexpectedAfterWord: "Unexpected space after unary word operator '{{word}}'.",
60
+ wordOperator: "Unary word operator '{{word}}' must be followed by whitespace.",
61
+ operator: "Unary operator '{{operator}}' must be followed by whitespace.",
62
+ beforeUnaryExpressions: "Space is required before unary expressions '{{token}}'."
63
+ }
64
+ },
65
+ create(context) {
66
+ let options = context.options[0] || {
67
+ words: !0,
68
+ nonwords: !1
69
+ }, sourceCode = context.sourceCode;
70
+ /**
71
+ * Check if the node is the first "!" in a "!!" convert to Boolean expression
72
+ * @param {ASTnode} node AST node
73
+ * @returns {boolean} Whether or not the node is first "!" in "!!"
74
+ */
75
+ function isFirstBangInBangBangExpression(node) {
76
+ return node && node.type === "UnaryExpression" && node.argument.operator === "!" && node.argument && node.argument.type === "UnaryExpression" && node.argument.operator === "!";
77
+ }
78
+ /**
79
+ * Checks if an override exists for a given operator.
80
+ * @param {string} operator Operator
81
+ * @returns {boolean} Whether or not an override has been provided for the operator
82
+ */
83
+ function overrideExistsForOperator(operator) {
84
+ return options.overrides && Object.hasOwn(options.overrides, operator);
85
+ }
86
+ /**
87
+ * Gets the value that the override was set to for this operator
88
+ * @param {string} operator Operator
89
+ * @returns {boolean} Whether or not an override enforces a space with this operator
90
+ */
91
+ function overrideEnforcesSpaces(operator) {
92
+ return options.overrides[operator];
93
+ }
94
+ /**
95
+ * Verify Unary Word Operator has spaces after the word operator
96
+ * @param {ASTnode} node AST node
97
+ * @param {Object} firstToken first token from the AST node
98
+ * @param {Object} secondToken second token from the AST node
99
+ * @param {string} word The word to be used for reporting
100
+ * @returns {void}
101
+ */
102
+ function verifyWordHasSpaces(node, firstToken, secondToken, word) {
103
+ secondToken.range[0] === firstToken.range[1] && context.report({
104
+ node,
105
+ messageId: "wordOperator",
106
+ data: { word },
107
+ fix(fixer) {
108
+ return fixer.insertTextAfter(firstToken, " ");
109
+ }
110
+ });
111
+ }
112
+ /**
113
+ * Verify Unary Word Operator doesn't have spaces after the word operator
114
+ * @param {ASTnode} node AST node
115
+ * @param {Object} firstToken first token from the AST node
116
+ * @param {Object} secondToken second token from the AST node
117
+ * @param {string} word The word to be used for reporting
118
+ * @returns {void}
119
+ */
120
+ function verifyWordDoesntHaveSpaces(node, firstToken, secondToken, word) {
121
+ astUtils.canTokensBeAdjacent(firstToken, secondToken) && secondToken.range[0] > firstToken.range[1] && context.report({
122
+ node,
123
+ messageId: "unexpectedAfterWord",
124
+ data: { word },
125
+ fix(fixer) {
126
+ return fixer.removeRange([firstToken.range[1], secondToken.range[0]]);
127
+ }
128
+ });
129
+ }
130
+ /**
131
+ * Check Unary Word Operators for spaces after the word operator
132
+ * @param {ASTnode} node AST node
133
+ * @param {Object} firstToken first token from the AST node
134
+ * @param {Object} secondToken second token from the AST node
135
+ * @param {string} word The word to be used for reporting
136
+ * @returns {void}
137
+ */
138
+ function checkUnaryWordOperatorForSpaces(node, firstToken, secondToken, word) {
139
+ overrideExistsForOperator(word) ? overrideEnforcesSpaces(word) ? verifyWordHasSpaces(node, firstToken, secondToken, word) : verifyWordDoesntHaveSpaces(node, firstToken, secondToken, word) : options.words ? verifyWordHasSpaces(node, firstToken, secondToken, word) : verifyWordDoesntHaveSpaces(node, firstToken, secondToken, word);
140
+ }
141
+ /**
142
+ * Verifies YieldExpressions satisfy spacing requirements
143
+ * @param {ASTnode} node AST node
144
+ * @returns {void}
145
+ */
146
+ function checkForSpacesAfterYield(node) {
147
+ let tokens = sourceCode.getFirstTokens(node, 3);
148
+ !node.argument || node.delegate || checkUnaryWordOperatorForSpaces(node, tokens[0], tokens[1], "yield");
149
+ }
150
+ /**
151
+ * Verifies AwaitExpressions satisfy spacing requirements
152
+ * @param {ASTNode} node AwaitExpression AST node
153
+ * @returns {void}
154
+ */
155
+ function checkForSpacesAfterAwait(node) {
156
+ let tokens = sourceCode.getFirstTokens(node, 3);
157
+ checkUnaryWordOperatorForSpaces(node, tokens[0], tokens[1], "await");
158
+ }
159
+ /**
160
+ * Verifies UnaryExpression, UpdateExpression and NewExpression have spaces before or after the operator
161
+ * @param {ASTnode} node AST node
162
+ * @param {Object} firstToken First token in the expression
163
+ * @param {Object} secondToken Second token in the expression
164
+ * @returns {void}
165
+ */
166
+ function verifyNonWordsHaveSpaces(node, firstToken, secondToken) {
167
+ if (node.prefix) {
168
+ if (isFirstBangInBangBangExpression(node)) return;
169
+ firstToken.range[1] === secondToken.range[0] && context.report({
170
+ node,
171
+ messageId: "operator",
172
+ data: { operator: firstToken.value },
173
+ fix(fixer) {
174
+ return fixer.insertTextAfter(firstToken, " ");
175
+ }
176
+ });
177
+ } else firstToken.range[1] === secondToken.range[0] && context.report({
178
+ node,
179
+ messageId: "beforeUnaryExpressions",
180
+ data: { token: secondToken.value },
181
+ fix(fixer) {
182
+ return fixer.insertTextBefore(secondToken, " ");
183
+ }
184
+ });
185
+ }
186
+ /**
187
+ * Verifies UnaryExpression, UpdateExpression and NewExpression don't have spaces before or after the operator
188
+ * @param {ASTnode} node AST node
189
+ * @param {Object} firstToken First token in the expression
190
+ * @param {Object} secondToken Second token in the expression
191
+ * @returns {void}
192
+ */
193
+ function verifyNonWordsDontHaveSpaces(node, firstToken, secondToken) {
194
+ node.prefix ? secondToken.range[0] > firstToken.range[1] && context.report({
195
+ node,
196
+ messageId: "unexpectedAfter",
197
+ data: { operator: firstToken.value },
198
+ fix(fixer) {
199
+ return astUtils.canTokensBeAdjacent(firstToken, secondToken) ? fixer.removeRange([firstToken.range[1], secondToken.range[0]]) : null;
200
+ }
201
+ }) : secondToken.range[0] > firstToken.range[1] && context.report({
202
+ node,
203
+ messageId: "unexpectedBefore",
204
+ data: { operator: secondToken.value },
205
+ fix(fixer) {
206
+ return fixer.removeRange([firstToken.range[1], secondToken.range[0]]);
207
+ }
208
+ });
209
+ }
210
+ /**
211
+ * Verifies UnaryExpression, UpdateExpression and NewExpression satisfy spacing requirements
212
+ * @param {ASTnode} node AST node
213
+ * @returns {void}
214
+ */
215
+ function checkForSpaces(node) {
216
+ let tokens = node.type === "UpdateExpression" && !node.prefix ? sourceCode.getLastTokens(node, 2) : sourceCode.getFirstTokens(node, 2), firstToken = tokens[0], secondToken = tokens[1];
217
+ if ((node.type === "NewExpression" || node.prefix) && firstToken.type === "Keyword") {
218
+ checkUnaryWordOperatorForSpaces(node, firstToken, secondToken, firstToken.value);
219
+ return;
220
+ }
221
+ let operator = node.prefix ? tokens[0].value : tokens[1].value;
222
+ overrideExistsForOperator(operator) ? overrideEnforcesSpaces(operator) ? verifyNonWordsHaveSpaces(node, firstToken, secondToken) : verifyNonWordsDontHaveSpaces(node, firstToken, secondToken) : options.nonwords ? verifyNonWordsHaveSpaces(node, firstToken, secondToken) : verifyNonWordsDontHaveSpaces(node, firstToken, secondToken);
223
+ }
224
+ return {
225
+ UnaryExpression: checkForSpaces,
226
+ UpdateExpression: checkForSpaces,
227
+ NewExpression: checkForSpaces,
228
+ YieldExpression: checkForSpacesAfterYield,
229
+ AwaitExpression: checkForSpacesAfterAwait
230
+ };
231
+ }
232
+ };
233
+ }));
234
+ //#endregion
235
+ //#region src-js/generated/plugin-eslint/rules/space-unary-ops.cjs
236
+ module.exports = require_space_unary_ops().create;
237
+ //#endregion