@thethracian/oxlint-config 0.3.5 → 0.4.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 (450) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +14 -2
  3. package/dist/codemods/arrow-body-style.d.ts.map +1 -1
  4. package/dist/codemods/arrow-body-style.js +13 -1
  5. package/dist/codemods/arrow-body-style.js.map +1 -1
  6. package/dist/codemods/explicit-return-types.d.ts.map +1 -1
  7. package/dist/codemods/explicit-return-types.js +15 -3
  8. package/dist/codemods/explicit-return-types.js.map +1 -1
  9. package/dist/codemods/function-declarations.d.ts.map +1 -1
  10. package/dist/codemods/function-declarations.js +7 -0
  11. package/dist/codemods/function-declarations.js.map +1 -1
  12. package/dist/codemods/inline-export-lists.d.ts.map +1 -1
  13. package/dist/codemods/inline-export-lists.js +17 -3
  14. package/dist/codemods/inline-export-lists.js.map +1 -1
  15. package/dist/codemods/internal-export-docs.d.ts.map +1 -1
  16. package/dist/codemods/internal-export-docs.js +17 -5
  17. package/dist/codemods/internal-export-docs.js.map +1 -1
  18. package/dist/codemods/no-ternary-variable-initializers.d.ts.map +1 -1
  19. package/dist/codemods/no-ternary-variable-initializers.js +24 -14
  20. package/dist/codemods/no-ternary-variable-initializers.js.map +1 -1
  21. package/dist/codemods/rename-acronyms.d.ts.map +1 -1
  22. package/dist/codemods/rename-acronyms.js +31 -1
  23. package/dist/codemods/rename-acronyms.js.map +1 -1
  24. package/dist/rules/diagnostic-guidance.d.ts.map +1 -1
  25. package/dist/rules/diagnostic-guidance.js +26 -2
  26. package/dist/rules/diagnostic-guidance.js.map +1 -1
  27. package/dist/rules/effect-alias-canonicalization.d.ts +27 -0
  28. package/dist/rules/effect-alias-canonicalization.d.ts.map +1 -0
  29. package/dist/rules/effect-alias-canonicalization.js +60 -0
  30. package/dist/rules/effect-alias-canonicalization.js.map +1 -0
  31. package/dist/rules/effect-ast-scope.d.ts +25 -0
  32. package/dist/rules/effect-ast-scope.d.ts.map +1 -0
  33. package/dist/rules/effect-ast-scope.js +286 -0
  34. package/dist/rules/effect-ast-scope.js.map +1 -0
  35. package/dist/rules/effect-ast.d.ts +42 -0
  36. package/dist/rules/effect-ast.d.ts.map +1 -0
  37. package/dist/rules/effect-ast.js +74 -0
  38. package/dist/rules/effect-ast.js.map +1 -0
  39. package/dist/rules/effect-boundary-ast-shared.d.ts +42 -0
  40. package/dist/rules/effect-boundary-ast-shared.d.ts.map +1 -0
  41. package/dist/rules/effect-boundary-ast-shared.js +203 -0
  42. package/dist/rules/effect-boundary-ast-shared.js.map +1 -0
  43. package/dist/rules/effect-default-boundary-ast.d.ts +10 -0
  44. package/dist/rules/effect-default-boundary-ast.d.ts.map +1 -0
  45. package/dist/rules/effect-default-boundary-ast.js +320 -0
  46. package/dist/rules/effect-default-boundary-ast.js.map +1 -0
  47. package/dist/rules/effect-default-compat-rules.d.ts +11 -15
  48. package/dist/rules/effect-default-compat-rules.d.ts.map +1 -1
  49. package/dist/rules/effect-default-compat-rules.js +20 -0
  50. package/dist/rules/effect-default-compat-rules.js.map +1 -1
  51. package/dist/rules/effect-default-scan-helpers.js +1 -1
  52. package/dist/rules/effect-default-scan-helpers.js.map +1 -1
  53. package/dist/rules/effect-default-workflow-helpers.d.ts.map +1 -1
  54. package/dist/rules/effect-default-workflow-helpers.js +7 -29
  55. package/dist/rules/effect-default-workflow-helpers.js.map +1 -1
  56. package/dist/rules/effect-default.d.ts +4 -1
  57. package/dist/rules/effect-default.d.ts.map +1 -1
  58. package/dist/rules/effect-default.js +14 -5
  59. package/dist/rules/effect-default.js.map +1 -1
  60. package/dist/rules/effect-export-binding-patterns.d.ts +9 -0
  61. package/dist/rules/effect-export-binding-patterns.d.ts.map +1 -0
  62. package/dist/rules/effect-export-binding-patterns.js +149 -0
  63. package/dist/rules/effect-export-binding-patterns.js.map +1 -0
  64. package/dist/rules/effect-export-declaration-boundaries.d.ts +21 -0
  65. package/dist/rules/effect-export-declaration-boundaries.d.ts.map +1 -0
  66. package/dist/rules/effect-export-declaration-boundaries.js +119 -0
  67. package/dist/rules/effect-export-declaration-boundaries.js.map +1 -0
  68. package/dist/rules/effect-export-default-binding.d.ts +5 -0
  69. package/dist/rules/effect-export-default-binding.d.ts.map +1 -0
  70. package/dist/rules/effect-export-default-binding.js +350 -0
  71. package/dist/rules/effect-export-default-binding.js.map +1 -0
  72. package/dist/rules/effect-export-segments.d.ts +9 -0
  73. package/dist/rules/effect-export-segments.d.ts.map +1 -0
  74. package/dist/rules/effect-export-segments.js +67 -0
  75. package/dist/rules/effect-export-segments.js.map +1 -0
  76. package/dist/rules/effect-exported-declarations.d.ts +3 -15
  77. package/dist/rules/effect-exported-declarations.d.ts.map +1 -1
  78. package/dist/rules/effect-exported-declarations.js +139 -94
  79. package/dist/rules/effect-exported-declarations.js.map +1 -1
  80. package/dist/rules/effect-global-fetch-ast.d.ts +14 -0
  81. package/dist/rules/effect-global-fetch-ast.d.ts.map +1 -0
  82. package/dist/rules/effect-global-fetch-ast.js +321 -0
  83. package/dist/rules/effect-global-fetch-ast.js.map +1 -0
  84. package/dist/rules/effect-global-fetch-imports.d.ts +29 -0
  85. package/dist/rules/effect-global-fetch-imports.d.ts.map +1 -0
  86. package/dist/rules/effect-global-fetch-imports.js +91 -0
  87. package/dist/rules/effect-global-fetch-imports.js.map +1 -0
  88. package/dist/rules/effect-import-bindings.d.ts +13 -0
  89. package/dist/rules/effect-import-bindings.d.ts.map +1 -0
  90. package/dist/rules/effect-import-bindings.js +133 -0
  91. package/dist/rules/effect-import-bindings.js.map +1 -0
  92. package/dist/rules/effect-imported-call-matcher.d.ts +24 -0
  93. package/dist/rules/effect-imported-call-matcher.d.ts.map +1 -0
  94. package/dist/rules/effect-imported-call-matcher.js +271 -0
  95. package/dist/rules/effect-imported-call-matcher.js.map +1 -0
  96. package/dist/rules/effect-module-source-index.d.ts +44 -0
  97. package/dist/rules/effect-module-source-index.d.ts.map +1 -0
  98. package/dist/rules/effect-module-source-index.js +306 -0
  99. package/dist/rules/effect-module-source-index.js.map +1 -0
  100. package/dist/rules/effect-native-references.d.ts +66 -0
  101. package/dist/rules/effect-native-references.d.ts.map +1 -0
  102. package/dist/rules/effect-native-references.js +164 -0
  103. package/dist/rules/effect-native-references.js.map +1 -0
  104. package/dist/rules/effect-object-assign-provenance.d.ts +20 -0
  105. package/dist/rules/effect-object-assign-provenance.d.ts.map +1 -0
  106. package/dist/rules/effect-object-assign-provenance.js +37 -0
  107. package/dist/rules/effect-object-assign-provenance.js.map +1 -0
  108. package/dist/rules/effect-prefer-map-over-flatmap-succeed.d.ts +4 -0
  109. package/dist/rules/effect-prefer-map-over-flatmap-succeed.d.ts.map +1 -0
  110. package/dist/rules/effect-prefer-map-over-flatmap-succeed.js +294 -0
  111. package/dist/rules/effect-prefer-map-over-flatmap-succeed.js.map +1 -0
  112. package/dist/rules/effect-prefer-succeed-for-stable-values.d.ts +4 -0
  113. package/dist/rules/effect-prefer-succeed-for-stable-values.d.ts.map +1 -0
  114. package/dist/rules/effect-prefer-succeed-for-stable-values.js +292 -0
  115. package/dist/rules/effect-prefer-succeed-for-stable-values.js.map +1 -0
  116. package/dist/rules/effect-promise-ast-values.d.ts +26 -0
  117. package/dist/rules/effect-promise-ast-values.d.ts.map +1 -0
  118. package/dist/rules/effect-promise-ast-values.js +66 -0
  119. package/dist/rules/effect-promise-ast-values.js.map +1 -0
  120. package/dist/rules/effect-promise-callable-declarations.d.ts +22 -0
  121. package/dist/rules/effect-promise-callable-declarations.d.ts.map +1 -0
  122. package/dist/rules/effect-promise-callable-declarations.js +255 -0
  123. package/dist/rules/effect-promise-callable-declarations.js.map +1 -0
  124. package/dist/rules/effect-promise-callable-lookup.d.ts +40 -0
  125. package/dist/rules/effect-promise-callable-lookup.d.ts.map +1 -0
  126. package/dist/rules/effect-promise-callable-lookup.js +99 -0
  127. package/dist/rules/effect-promise-callable-lookup.js.map +1 -0
  128. package/dist/rules/effect-promise-callable-scopes.d.ts +16 -0
  129. package/dist/rules/effect-promise-callable-scopes.d.ts.map +1 -0
  130. package/dist/rules/effect-promise-callable-scopes.js +43 -0
  131. package/dist/rules/effect-promise-callable-scopes.js.map +1 -0
  132. package/dist/rules/effect-promise-callable-types.d.ts +43 -0
  133. package/dist/rules/effect-promise-callable-types.d.ts.map +1 -0
  134. package/dist/rules/effect-promise-callable-types.js +5 -0
  135. package/dist/rules/effect-promise-callable-types.js.map +1 -0
  136. package/dist/rules/effect-promise-callables.d.ts +5 -0
  137. package/dist/rules/effect-promise-callables.d.ts.map +1 -0
  138. package/dist/rules/effect-promise-callables.js +7 -0
  139. package/dist/rules/effect-promise-callables.js.map +1 -0
  140. package/dist/rules/effect-promise-collections.d.ts +20 -0
  141. package/dist/rules/effect-promise-collections.d.ts.map +1 -0
  142. package/dist/rules/effect-promise-collections.js +199 -0
  143. package/dist/rules/effect-promise-collections.js.map +1 -0
  144. package/dist/rules/effect-promise-completion.d.ts +141 -0
  145. package/dist/rules/effect-promise-completion.d.ts.map +1 -0
  146. package/dist/rules/effect-promise-completion.js +200 -0
  147. package/dist/rules/effect-promise-completion.js.map +1 -0
  148. package/dist/rules/effect-promise-environment-projections.d.ts +23 -0
  149. package/dist/rules/effect-promise-environment-projections.d.ts.map +1 -0
  150. package/dist/rules/effect-promise-environment-projections.js +191 -0
  151. package/dist/rules/effect-promise-environment-projections.js.map +1 -0
  152. package/dist/rules/effect-promise-environment-types.d.ts +96 -0
  153. package/dist/rules/effect-promise-environment-types.d.ts.map +1 -0
  154. package/dist/rules/effect-promise-environment-types.js +10 -0
  155. package/dist/rules/effect-promise-environment-types.js.map +1 -0
  156. package/dist/rules/effect-promise-environment-values.d.ts +41 -0
  157. package/dist/rules/effect-promise-environment-values.d.ts.map +1 -0
  158. package/dist/rules/effect-promise-environment-values.js +214 -0
  159. package/dist/rules/effect-promise-environment-values.js.map +1 -0
  160. package/dist/rules/effect-promise-environments.d.ts +5 -0
  161. package/dist/rules/effect-promise-environments.d.ts.map +1 -0
  162. package/dist/rules/effect-promise-environments.js +7 -0
  163. package/dist/rules/effect-promise-environments.js.map +1 -0
  164. package/dist/rules/effect-promise-execution-ast.d.ts +12 -0
  165. package/dist/rules/effect-promise-execution-ast.d.ts.map +1 -0
  166. package/dist/rules/effect-promise-execution-ast.js +30 -0
  167. package/dist/rules/effect-promise-execution-ast.js.map +1 -0
  168. package/dist/rules/effect-promise-execution-engine.d.ts +9 -0
  169. package/dist/rules/effect-promise-execution-engine.d.ts.map +1 -0
  170. package/dist/rules/effect-promise-execution-engine.js +280 -0
  171. package/dist/rules/effect-promise-execution-engine.js.map +1 -0
  172. package/dist/rules/effect-promise-execution-flow.d.ts +48 -0
  173. package/dist/rules/effect-promise-execution-flow.d.ts.map +1 -0
  174. package/dist/rules/effect-promise-execution-flow.js +193 -0
  175. package/dist/rules/effect-promise-execution-flow.js.map +1 -0
  176. package/dist/rules/effect-promise-execution-navigation.d.ts +34 -0
  177. package/dist/rules/effect-promise-execution-navigation.d.ts.map +1 -0
  178. package/dist/rules/effect-promise-execution-navigation.js +66 -0
  179. package/dist/rules/effect-promise-execution-navigation.js.map +1 -0
  180. package/dist/rules/effect-promise-execution-types.d.ts +36 -0
  181. package/dist/rules/effect-promise-execution-types.d.ts.map +1 -0
  182. package/dist/rules/effect-promise-execution-types.js +5 -0
  183. package/dist/rules/effect-promise-execution-types.js.map +1 -0
  184. package/dist/rules/effect-promise-execution-values.d.ts +40 -0
  185. package/dist/rules/effect-promise-execution-values.d.ts.map +1 -0
  186. package/dist/rules/effect-promise-execution-values.js +268 -0
  187. package/dist/rules/effect-promise-execution-values.js.map +1 -0
  188. package/dist/rules/effect-promise-expression-flow.d.ts +27 -0
  189. package/dist/rules/effect-promise-expression-flow.d.ts.map +1 -0
  190. package/dist/rules/effect-promise-expression-flow.js +80 -0
  191. package/dist/rules/effect-promise-expression-flow.js.map +1 -0
  192. package/dist/rules/effect-promise-invocation-memo.d.ts +16 -0
  193. package/dist/rules/effect-promise-invocation-memo.d.ts.map +1 -0
  194. package/dist/rules/effect-promise-invocation-memo.js +44 -0
  195. package/dist/rules/effect-promise-invocation-memo.js.map +1 -0
  196. package/dist/rules/effect-promise-invocations.d.ts +16 -0
  197. package/dist/rules/effect-promise-invocations.d.ts.map +1 -0
  198. package/dist/rules/effect-promise-invocations.js +126 -0
  199. package/dist/rules/effect-promise-invocations.js.map +1 -0
  200. package/dist/rules/effect-promise-node-children.d.ts +22 -0
  201. package/dist/rules/effect-promise-node-children.d.ts.map +1 -0
  202. package/dist/rules/effect-promise-node-children.js +49 -0
  203. package/dist/rules/effect-promise-node-children.js.map +1 -0
  204. package/dist/rules/effect-promise-node-evaluation.d.ts +43 -0
  205. package/dist/rules/effect-promise-node-evaluation.d.ts.map +1 -0
  206. package/dist/rules/effect-promise-node-evaluation.js +150 -0
  207. package/dist/rules/effect-promise-node-evaluation.js.map +1 -0
  208. package/dist/rules/effect-promise-parameter-bindings.d.ts +28 -0
  209. package/dist/rules/effect-promise-parameter-bindings.d.ts.map +1 -0
  210. package/dist/rules/effect-promise-parameter-bindings.js +187 -0
  211. package/dist/rules/effect-promise-parameter-bindings.js.map +1 -0
  212. package/dist/rules/effect-promise-pattern-bindings.d.ts +9 -0
  213. package/dist/rules/effect-promise-pattern-bindings.d.ts.map +1 -0
  214. package/dist/rules/effect-promise-pattern-bindings.js +54 -0
  215. package/dist/rules/effect-promise-pattern-bindings.js.map +1 -0
  216. package/dist/rules/effect-promise-program-traversal.d.ts +40 -0
  217. package/dist/rules/effect-promise-program-traversal.d.ts.map +1 -0
  218. package/dist/rules/effect-promise-program-traversal.js +115 -0
  219. package/dist/rules/effect-promise-program-traversal.js.map +1 -0
  220. package/dist/rules/effect-promise-rule-bindings.d.ts +23 -0
  221. package/dist/rules/effect-promise-rule-bindings.d.ts.map +1 -0
  222. package/dist/rules/effect-promise-rule-bindings.js +41 -0
  223. package/dist/rules/effect-promise-rule-bindings.js.map +1 -0
  224. package/dist/rules/effect-promise-runtime-arguments.d.ts +18 -0
  225. package/dist/rules/effect-promise-runtime-arguments.d.ts.map +1 -0
  226. package/dist/rules/effect-promise-runtime-arguments.js +49 -0
  227. package/dist/rules/effect-promise-runtime-arguments.js.map +1 -0
  228. package/dist/rules/effect-promise-runtime-call-targets.d.ts +21 -0
  229. package/dist/rules/effect-promise-runtime-call-targets.d.ts.map +1 -0
  230. package/dist/rules/effect-promise-runtime-call-targets.js +55 -0
  231. package/dist/rules/effect-promise-runtime-call-targets.js.map +1 -0
  232. package/dist/rules/effect-promise-runtime-callable-properties.d.ts +20 -0
  233. package/dist/rules/effect-promise-runtime-callable-properties.d.ts.map +1 -0
  234. package/dist/rules/effect-promise-runtime-callable-properties.js +30 -0
  235. package/dist/rules/effect-promise-runtime-callable-properties.js.map +1 -0
  236. package/dist/rules/effect-promise-runtime-callables.d.ts +51 -0
  237. package/dist/rules/effect-promise-runtime-callables.d.ts.map +1 -0
  238. package/dist/rules/effect-promise-runtime-callables.js +214 -0
  239. package/dist/rules/effect-promise-runtime-callables.js.map +1 -0
  240. package/dist/rules/effect-promise-runtime-choice-operations.d.ts +32 -0
  241. package/dist/rules/effect-promise-runtime-choice-operations.d.ts.map +1 -0
  242. package/dist/rules/effect-promise-runtime-choice-operations.js +145 -0
  243. package/dist/rules/effect-promise-runtime-choice-operations.js.map +1 -0
  244. package/dist/rules/effect-promise-runtime-choice.d.ts +26 -0
  245. package/dist/rules/effect-promise-runtime-choice.d.ts.map +1 -0
  246. package/dist/rules/effect-promise-runtime-choice.js +95 -0
  247. package/dist/rules/effect-promise-runtime-choice.js.map +1 -0
  248. package/dist/rules/effect-promise-runtime-control-branches.d.ts +14 -0
  249. package/dist/rules/effect-promise-runtime-control-branches.d.ts.map +1 -0
  250. package/dist/rules/effect-promise-runtime-control-branches.js +74 -0
  251. package/dist/rules/effect-promise-runtime-control-branches.js.map +1 -0
  252. package/dist/rules/effect-promise-runtime-control-completions.d.ts +26 -0
  253. package/dist/rules/effect-promise-runtime-control-completions.d.ts.map +1 -0
  254. package/dist/rules/effect-promise-runtime-control-completions.js +116 -0
  255. package/dist/rules/effect-promise-runtime-control-completions.js.map +1 -0
  256. package/dist/rules/effect-promise-runtime-control-flow.d.ts +9 -0
  257. package/dist/rules/effect-promise-runtime-control-flow.d.ts.map +1 -0
  258. package/dist/rules/effect-promise-runtime-control-flow.js +94 -0
  259. package/dist/rules/effect-promise-runtime-control-flow.js.map +1 -0
  260. package/dist/rules/effect-promise-runtime-control-patterns.d.ts +15 -0
  261. package/dist/rules/effect-promise-runtime-control-patterns.d.ts.map +1 -0
  262. package/dist/rules/effect-promise-runtime-control-patterns.js +84 -0
  263. package/dist/rules/effect-promise-runtime-control-patterns.js.map +1 -0
  264. package/dist/rules/effect-promise-runtime-control-scalars.d.ts +23 -0
  265. package/dist/rules/effect-promise-runtime-control-scalars.d.ts.map +1 -0
  266. package/dist/rules/effect-promise-runtime-control-scalars.js +178 -0
  267. package/dist/rules/effect-promise-runtime-control-scalars.js.map +1 -0
  268. package/dist/rules/effect-promise-runtime-expressions.d.ts +22 -0
  269. package/dist/rules/effect-promise-runtime-expressions.d.ts.map +1 -0
  270. package/dist/rules/effect-promise-runtime-expressions.js +265 -0
  271. package/dist/rules/effect-promise-runtime-expressions.js.map +1 -0
  272. package/dist/rules/effect-promise-runtime-heap.d.ts +39 -0
  273. package/dist/rules/effect-promise-runtime-heap.d.ts.map +1 -0
  274. package/dist/rules/effect-promise-runtime-heap.js +73 -0
  275. package/dist/rules/effect-promise-runtime-heap.js.map +1 -0
  276. package/dist/rules/effect-promise-runtime-interpreter.d.ts +39 -0
  277. package/dist/rules/effect-promise-runtime-interpreter.d.ts.map +1 -0
  278. package/dist/rules/effect-promise-runtime-interpreter.js +260 -0
  279. package/dist/rules/effect-promise-runtime-interpreter.js.map +1 -0
  280. package/dist/rules/effect-promise-runtime-intrinsics.d.ts +15 -0
  281. package/dist/rules/effect-promise-runtime-intrinsics.d.ts.map +1 -0
  282. package/dist/rules/effect-promise-runtime-intrinsics.js +54 -0
  283. package/dist/rules/effect-promise-runtime-intrinsics.js.map +1 -0
  284. package/dist/rules/effect-promise-runtime-loops.d.ts +9 -0
  285. package/dist/rules/effect-promise-runtime-loops.d.ts.map +1 -0
  286. package/dist/rules/effect-promise-runtime-loops.js +277 -0
  287. package/dist/rules/effect-promise-runtime-loops.js.map +1 -0
  288. package/dist/rules/effect-promise-runtime-members.d.ts +28 -0
  289. package/dist/rules/effect-promise-runtime-members.d.ts.map +1 -0
  290. package/dist/rules/effect-promise-runtime-members.js +88 -0
  291. package/dist/rules/effect-promise-runtime-members.js.map +1 -0
  292. package/dist/rules/effect-promise-runtime-memo.d.ts +40 -0
  293. package/dist/rules/effect-promise-runtime-memo.d.ts.map +1 -0
  294. package/dist/rules/effect-promise-runtime-memo.js +124 -0
  295. package/dist/rules/effect-promise-runtime-memo.js.map +1 -0
  296. package/dist/rules/effect-promise-runtime-model.d.ts +251 -0
  297. package/dist/rules/effect-promise-runtime-model.d.ts.map +1 -0
  298. package/dist/rules/effect-promise-runtime-model.js +84 -0
  299. package/dist/rules/effect-promise-runtime-model.js.map +1 -0
  300. package/dist/rules/effect-promise-runtime-mutations.d.ts +17 -0
  301. package/dist/rules/effect-promise-runtime-mutations.d.ts.map +1 -0
  302. package/dist/rules/effect-promise-runtime-mutations.js +165 -0
  303. package/dist/rules/effect-promise-runtime-mutations.js.map +1 -0
  304. package/dist/rules/effect-promise-runtime-patterns.d.ts +21 -0
  305. package/dist/rules/effect-promise-runtime-patterns.d.ts.map +1 -0
  306. package/dist/rules/effect-promise-runtime-patterns.js +179 -0
  307. package/dist/rules/effect-promise-runtime-patterns.js.map +1 -0
  308. package/dist/rules/effect-promise-runtime-proof.d.ts +74 -0
  309. package/dist/rules/effect-promise-runtime-proof.d.ts.map +1 -0
  310. package/dist/rules/effect-promise-runtime-proof.js +253 -0
  311. package/dist/rules/effect-promise-runtime-proof.js.map +1 -0
  312. package/dist/rules/effect-promise-runtime-reporting.d.ts +16 -0
  313. package/dist/rules/effect-promise-runtime-reporting.d.ts.map +1 -0
  314. package/dist/rules/effect-promise-runtime-reporting.js +11 -0
  315. package/dist/rules/effect-promise-runtime-reporting.js.map +1 -0
  316. package/dist/rules/effect-promise-runtime-scalar-operations.d.ts +2 -0
  317. package/dist/rules/effect-promise-runtime-scalar-operations.d.ts.map +1 -0
  318. package/dist/rules/effect-promise-runtime-scalar-operations.js +5 -0
  319. package/dist/rules/effect-promise-runtime-scalar-operations.js.map +1 -0
  320. package/dist/rules/effect-promise-runtime-scalars.d.ts +24 -0
  321. package/dist/rules/effect-promise-runtime-scalars.d.ts.map +1 -0
  322. package/dist/rules/effect-promise-runtime-scalars.js +125 -0
  323. package/dist/rules/effect-promise-runtime-scalars.js.map +1 -0
  324. package/dist/rules/effect-promise-runtime-statements.d.ts +15 -0
  325. package/dist/rules/effect-promise-runtime-statements.d.ts.map +1 -0
  326. package/dist/rules/effect-promise-runtime-statements.js +251 -0
  327. package/dist/rules/effect-promise-runtime-statements.js.map +1 -0
  328. package/dist/rules/effect-promise-runtime-store.d.ts +44 -0
  329. package/dist/rules/effect-promise-runtime-store.d.ts.map +1 -0
  330. package/dist/rules/effect-promise-runtime-store.js +186 -0
  331. package/dist/rules/effect-promise-runtime-store.js.map +1 -0
  332. package/dist/rules/effect-promise-runtime-structures.d.ts +9 -0
  333. package/dist/rules/effect-promise-runtime-structures.d.ts.map +1 -0
  334. package/dist/rules/effect-promise-runtime-structures.js +181 -0
  335. package/dist/rules/effect-promise-runtime-structures.js.map +1 -0
  336. package/dist/rules/effect-promise-runtime-switch.d.ts +9 -0
  337. package/dist/rules/effect-promise-runtime-switch.d.ts.map +1 -0
  338. package/dist/rules/effect-promise-runtime-switch.js +91 -0
  339. package/dist/rules/effect-promise-runtime-switch.js.map +1 -0
  340. package/dist/rules/effect-promise-runtime-tasks.d.ts +72 -0
  341. package/dist/rules/effect-promise-runtime-tasks.d.ts.map +1 -0
  342. package/dist/rules/effect-promise-runtime-tasks.js +158 -0
  343. package/dist/rules/effect-promise-runtime-tasks.js.map +1 -0
  344. package/dist/rules/effect-promise-runtime-this.d.ts +14 -0
  345. package/dist/rules/effect-promise-runtime-this.d.ts.map +1 -0
  346. package/dist/rules/effect-promise-runtime-this.js +29 -0
  347. package/dist/rules/effect-promise-runtime-this.js.map +1 -0
  348. package/dist/rules/effect-promise-runtime-try.d.ts +9 -0
  349. package/dist/rules/effect-promise-runtime-try.d.ts.map +1 -0
  350. package/dist/rules/effect-promise-runtime-try.js +94 -0
  351. package/dist/rules/effect-promise-runtime-try.js.map +1 -0
  352. package/dist/rules/effect-promise-runtime-values.d.ts +88 -0
  353. package/dist/rules/effect-promise-runtime-values.d.ts.map +1 -0
  354. package/dist/rules/effect-promise-runtime-values.js +382 -0
  355. package/dist/rules/effect-promise-runtime-values.js.map +1 -0
  356. package/dist/rules/effect-promise-value-scopes.d.ts +94 -0
  357. package/dist/rules/effect-promise-value-scopes.d.ts.map +1 -0
  358. package/dist/rules/effect-promise-value-scopes.js +218 -0
  359. package/dist/rules/effect-promise-value-scopes.js.map +1 -0
  360. package/dist/rules/effect-recursion-ast.d.ts +14 -0
  361. package/dist/rules/effect-recursion-ast.d.ts.map +1 -0
  362. package/dist/rules/effect-recursion-ast.js +154 -0
  363. package/dist/rules/effect-recursion-ast.js.map +1 -0
  364. package/dist/rules/effect-recursion-execution.d.ts +15 -0
  365. package/dist/rules/effect-recursion-execution.d.ts.map +1 -0
  366. package/dist/rules/effect-recursion-execution.js +312 -0
  367. package/dist/rules/effect-recursion-execution.js.map +1 -0
  368. package/dist/rules/effect-recursion-generator.d.ts +17 -0
  369. package/dist/rules/effect-recursion-generator.d.ts.map +1 -0
  370. package/dist/rules/effect-recursion-generator.js +125 -0
  371. package/dist/rules/effect-recursion-generator.js.map +1 -0
  372. package/dist/rules/effect-recursion-local-bindings.d.ts +44 -0
  373. package/dist/rules/effect-recursion-local-bindings.d.ts.map +1 -0
  374. package/dist/rules/effect-recursion-local-bindings.js +99 -0
  375. package/dist/rules/effect-recursion-local-bindings.js.map +1 -0
  376. package/dist/rules/effect-recursion-phases.d.ts +40 -0
  377. package/dist/rules/effect-recursion-phases.d.ts.map +1 -0
  378. package/dist/rules/effect-recursion-phases.js +62 -0
  379. package/dist/rules/effect-recursion-phases.js.map +1 -0
  380. package/dist/rules/effect-recursion-source.d.ts +10 -0
  381. package/dist/rules/effect-recursion-source.d.ts.map +1 -0
  382. package/dist/rules/effect-recursion-source.js +182 -0
  383. package/dist/rules/effect-recursion-source.js.map +1 -0
  384. package/dist/rules/effect-recursion-viability.d.ts +66 -0
  385. package/dist/rules/effect-recursion-viability.d.ts.map +1 -0
  386. package/dist/rules/effect-recursion-viability.js +228 -0
  387. package/dist/rules/effect-recursion-viability.js.map +1 -0
  388. package/dist/rules/effect-rule-aliases.d.ts +14 -19
  389. package/dist/rules/effect-rule-aliases.d.ts.map +1 -1
  390. package/dist/rules/effect-rule-aliases.js +48 -30
  391. package/dist/rules/effect-rule-aliases.js.map +1 -1
  392. package/dist/rules/effect-rule-core.d.ts +4 -4
  393. package/dist/rules/effect-rule-core.d.ts.map +1 -1
  394. package/dist/rules/effect-rule-core.js +42 -44
  395. package/dist/rules/effect-rule-core.js.map +1 -1
  396. package/dist/rules/effect-rule-names.d.ts.map +1 -1
  397. package/dist/rules/effect-rule-names.js +1 -1
  398. package/dist/rules/effect-rule-names.js.map +1 -1
  399. package/dist/rules/effect-source-navigation-lexer.d.ts +13 -0
  400. package/dist/rules/effect-source-navigation-lexer.d.ts.map +1 -0
  401. package/dist/rules/effect-source-navigation-lexer.js +228 -0
  402. package/dist/rules/effect-source-navigation-lexer.js.map +1 -0
  403. package/dist/rules/effect-source-navigation.d.ts +2 -2
  404. package/dist/rules/effect-source-navigation.d.ts.map +1 -1
  405. package/dist/rules/effect-source-navigation.js +104 -101
  406. package/dist/rules/effect-source-navigation.js.map +1 -1
  407. package/dist/rules/effect-strict-ast-helpers.d.ts +82 -0
  408. package/dist/rules/effect-strict-ast-helpers.d.ts.map +1 -0
  409. package/dist/rules/effect-strict-ast-helpers.js +194 -0
  410. package/dist/rules/effect-strict-ast-helpers.js.map +1 -0
  411. package/dist/rules/effect-strict-ast-specs.d.ts.map +1 -1
  412. package/dist/rules/effect-strict-ast-specs.js +14 -16
  413. package/dist/rules/effect-strict-ast-specs.js.map +1 -1
  414. package/dist/rules/effect-strict-internals.d.ts +2 -196
  415. package/dist/rules/effect-strict-internals.d.ts.map +1 -1
  416. package/dist/rules/effect-strict-internals.js +2 -417
  417. package/dist/rules/effect-strict-internals.js.map +1 -1
  418. package/dist/rules/effect-strict-source-predicates.d.ts +120 -0
  419. package/dist/rules/effect-strict-source-predicates.d.ts.map +1 -0
  420. package/dist/rules/effect-strict-source-predicates.js +234 -0
  421. package/dist/rules/effect-strict-source-predicates.js.map +1 -0
  422. package/dist/rules/effect-sync-promise-scope-index.d.ts +44 -0
  423. package/dist/rules/effect-sync-promise-scope-index.d.ts.map +1 -0
  424. package/dist/rules/effect-sync-promise-scope-index.js +345 -0
  425. package/dist/rules/effect-sync-promise-scope-index.js.map +1 -0
  426. package/dist/rules/effect-sync-promise-scopes.d.ts +10 -0
  427. package/dist/rules/effect-sync-promise-scopes.d.ts.map +1 -0
  428. package/dist/rules/effect-sync-promise-scopes.js +115 -0
  429. package/dist/rules/effect-sync-promise-scopes.js.map +1 -0
  430. package/dist/rules/effect-sync-promise-source.d.ts +2 -0
  431. package/dist/rules/effect-sync-promise-source.d.ts.map +1 -0
  432. package/dist/rules/effect-sync-promise-source.js +5 -0
  433. package/dist/rules/effect-sync-promise-source.js.map +1 -0
  434. package/dist/rules/plugin-commented-out-code-jsx-scanner.d.ts +21 -0
  435. package/dist/rules/plugin-commented-out-code-jsx-scanner.d.ts.map +1 -0
  436. package/dist/rules/plugin-commented-out-code-jsx-scanner.js +200 -0
  437. package/dist/rules/plugin-commented-out-code-jsx-scanner.js.map +1 -0
  438. package/dist/rules/plugin-commented-out-code-lexical-primitives.d.ts +139 -0
  439. package/dist/rules/plugin-commented-out-code-lexical-primitives.d.ts.map +1 -0
  440. package/dist/rules/plugin-commented-out-code-lexical-primitives.js +244 -0
  441. package/dist/rules/plugin-commented-out-code-lexical-primitives.js.map +1 -0
  442. package/dist/rules/plugin-commented-out-code-rule.d.ts +13 -0
  443. package/dist/rules/plugin-commented-out-code-rule.d.ts.map +1 -1
  444. package/dist/rules/plugin-commented-out-code-rule.js +174 -82
  445. package/dist/rules/plugin-commented-out-code-rule.js.map +1 -1
  446. package/dist/rules/plugin-commented-out-code-source-scanner.d.ts +8 -0
  447. package/dist/rules/plugin-commented-out-code-source-scanner.d.ts.map +1 -0
  448. package/dist/rules/plugin-commented-out-code-source-scanner.js +228 -0
  449. package/dist/rules/plugin-commented-out-code-source-scanner.js.map +1 -0
  450. package/package.json +1 -1
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Detect global Promise-producing calls directly inside Effect.sync callbacks.
3
+ *
4
+ * @param source - Complete source text for a source-backed compatibility check.
5
+ * @returns Whether an Effect.sync callback directly performs asynchronous work.
6
+ * @throws Does not throw.
7
+ * @internal
8
+ */
9
+ export declare const hasSyncForPromiseSource: (source: string) => boolean;
10
+ //# sourceMappingURL=effect-sync-promise-scopes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect-sync-promise-scopes.d.ts","sourceRoot":"","sources":["../../src/rules/effect-sync-promise-scopes.ts"],"names":[],"mappings":"AAkIA;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,GAAI,QAAQ,MAAM,KAAG,OAaxD,CAAC"}
@@ -0,0 +1,115 @@
1
+ /* -------------------------------------------------------------------------- */
2
+ /* Source fallback for Promise references inside Effect.sync calls. */
3
+ /* -------------------------------------------------------------------------- */
4
+ import { BINDING_FETCH, BINDING_GLOBAL_THIS, BINDING_PROMISE, isLocallyBound, matchingParenthesisEnd, skipWhitespace, sourceScopeIndex, } from './effect-sync-promise-scope-index.js';
5
+ import { canonicalizeEffectAPIAliases, effectFunctionAliases } from './effect-rule-aliases.js';
6
+ import { effectCallPattern } from './effect-default-scan-helpers.js';
7
+ import { stripCommentsAndStrings } from './effect-source-helpers.js';
8
+ const ASYNC_CALLBACK_PATTERN = /^\s*async\b/;
9
+ const SINGLE_RETURNED_ARROW_PATTERN = /^(?:[A-Za-z_$][\w$]*|\{[^}]*\}|\[[^\]]*\])\s*(?::[^=]+)?=>/;
10
+ const PROMISE_CALL_PATTERN = /(?:^|[^\w$.])(Promise)\.(?:all|allSettled|any|race|reject|resolve)\s*(?:<[^;()]*>)?\s*\(/g;
11
+ const NEW_PROMISE_PATTERN = /(?:^|[^\w$.])new\s+(Promise)\s*(?:<[^;()]*>)?\s*\(/g;
12
+ const FETCH_CALL_PATTERN = /(?:^|[^\w$.])(fetch)\s*(?:<[^;()]*>)?\s*\(/g;
13
+ const GLOBAL_THIS_FETCH_PATTERN = /(?:^|[^\w$.])(globalThis)\s*\.\s*fetch\s*(?:<[^;()]*>)?\s*\(/g;
14
+ const escapedIdentifier = (name) => name.replace(/[.*+?^${}()|[\]\\]/g, String.raw `\$&`);
15
+ const expressionStartAt = (code, start) => {
16
+ const expressionStart = skipWhitespace(code, start);
17
+ if (code.startsWith('async', expressionStart)) {
18
+ return skipWhitespace(code, expressionStart + 'async'.length);
19
+ }
20
+ return expressionStart;
21
+ };
22
+ const isWrappedFunction = (code, open, close) => {
23
+ const wrappedStart = skipWhitespace(code, open + 1);
24
+ if (code.startsWith('function', wrappedStart)) {
25
+ return true;
26
+ }
27
+ const arrowIndex = code.indexOf('=>', wrappedStart);
28
+ return arrowIndex !== -1 && arrowIndex < close;
29
+ };
30
+ const isParenthesizedReturnedFunction = (code, expressionStart) => {
31
+ const close = matchingParenthesisEnd(code, expressionStart);
32
+ const afterClose = skipWhitespace(code, close + 1);
33
+ if (code.startsWith('=>', afterClose)) {
34
+ return true;
35
+ }
36
+ return isWrappedFunction(code, expressionStart, close) && code[afterClose] !== '(';
37
+ };
38
+ const isReturnedFunction = (code, start, end) => {
39
+ const expressionStart = expressionStartAt(code, start);
40
+ if (code.startsWith('function', expressionStart)) {
41
+ return true;
42
+ }
43
+ if (code[expressionStart] === '(') {
44
+ return isParenthesizedReturnedFunction(code, expressionStart);
45
+ }
46
+ return SINGLE_RETURNED_ARROW_PATTERN.test(code.slice(expressionStart, end));
47
+ };
48
+ const directCallbackRange = (code, bodyStart, bodyEnd) => {
49
+ const body = code.slice(bodyStart, bodyEnd);
50
+ if (ASYNC_CALLBACK_PATTERN.test(body)) {
51
+ return { end: bodyEnd, start: bodyStart };
52
+ }
53
+ const arrowIndex = body.indexOf('=>');
54
+ let directStart = bodyStart;
55
+ if (arrowIndex !== -1) {
56
+ directStart = bodyStart + arrowIndex + 2;
57
+ }
58
+ if (isReturnedFunction(code, directStart, bodyEnd)) {
59
+ return undefined;
60
+ }
61
+ return { end: bodyEnd, start: directStart };
62
+ };
63
+ const hasGlobalMatch = (code, range, pattern, bindingMask) => {
64
+ const segment = code.slice(range.start, range.end);
65
+ const scopeIndex = sourceScopeIndex(code);
66
+ for (const match of segment.matchAll(pattern)) {
67
+ const identifierOffset = match[0].indexOf(match[1] ?? '');
68
+ if (!isLocallyBound(scopeIndex, range.start + match.index + identifierOffset, bindingMask)) {
69
+ return true;
70
+ }
71
+ }
72
+ return false;
73
+ };
74
+ const hasDirectPromiseCall = (code, bodyStart, bodyEnd) => {
75
+ const body = code.slice(bodyStart, bodyEnd);
76
+ if (ASYNC_CALLBACK_PATTERN.test(body)) {
77
+ return true;
78
+ }
79
+ const range = directCallbackRange(code, bodyStart, bodyEnd);
80
+ return (range !== undefined &&
81
+ (hasGlobalMatch(code, range, PROMISE_CALL_PATTERN, BINDING_PROMISE) ||
82
+ hasGlobalMatch(code, range, NEW_PROMISE_PATTERN, BINDING_PROMISE) ||
83
+ hasGlobalMatch(code, range, FETCH_CALL_PATTERN, BINDING_FETCH) ||
84
+ hasGlobalMatch(code, range, GLOBAL_THIS_FETCH_PATTERN, BINDING_GLOBAL_THIS)));
85
+ };
86
+ const syncCallPatterns = (source) => {
87
+ const patterns = [effectCallPattern(source, 'sync')];
88
+ for (const name of effectFunctionAliases(source, 'Effect', 'sync')) {
89
+ patterns.push(new RegExp(`\\b${escapedIdentifier(name)}\\s*\\(`, 'g'));
90
+ }
91
+ return patterns;
92
+ };
93
+ /**
94
+ * Detect global Promise-producing calls directly inside Effect.sync callbacks.
95
+ *
96
+ * @param source - Complete source text for a source-backed compatibility check.
97
+ * @returns Whether an Effect.sync callback directly performs asynchronous work.
98
+ * @throws Does not throw.
99
+ * @internal
100
+ */
101
+ export const hasSyncForPromiseSource = (source) => {
102
+ const canonicalSource = canonicalizeEffectAPIAliases(source);
103
+ const code = stripCommentsAndStrings(canonicalSource);
104
+ for (const callPattern of syncCallPatterns(canonicalSource)) {
105
+ for (const match of code.matchAll(callPattern)) {
106
+ const open = canonicalSource.indexOf('(', match.index);
107
+ const close = matchingParenthesisEnd(code, open);
108
+ if (hasDirectPromiseCall(code, open + 1, close)) {
109
+ return true;
110
+ }
111
+ }
112
+ }
113
+ return false;
114
+ };
115
+ //# sourceMappingURL=effect-sync-promise-scopes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect-sync-promise-scopes.js","sourceRoot":"","sources":["../../src/rules/effect-sync-promise-scopes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { hasSyncForPromiseSource } from './effect-sync-promise-scopes';
2
+ //# sourceMappingURL=effect-sync-promise-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect-sync-promise-source.d.ts","sourceRoot":"","sources":["../../src/rules/effect-sync-promise-source.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,5 @@
1
+ /* -------------------------------------------------------------------------- */
2
+ /* Source fallback for Promise references inside Effect.sync calls. */
3
+ /* -------------------------------------------------------------------------- */
4
+ export { hasSyncForPromiseSource } from './effect-sync-promise-scopes.js';
5
+ //# sourceMappingURL=effect-sync-promise-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect-sync-promise-source.js","sourceRoot":"","sources":["../../src/rules/effect-sync-promise-source.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAEhF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { CommentConsumer } from './plugin-commented-out-code-lexical-primitives';
2
+ /**
3
+ * Carries one source scan's consumer and failed-JSX memo through embedded expressions.
4
+ */
5
+ export interface SourceScanContext {
6
+ consumeComment: CommentConsumer;
7
+ failedJSXStarts: Set<number>;
8
+ source: string;
9
+ }
10
+ type EmbeddedJavaScriptScanner = (context: SourceScanContext, start: number, consumeComment: CommentConsumer) => number;
11
+ /**
12
+ * Finds a structurally complete JSX element without recursively rescanning failed candidates.
13
+ *
14
+ * @param context - Shared source, comment consumer, and failed-start memo for the current scan.
15
+ * @param start - Offset of the candidate opening angle bracket.
16
+ * @param scanEmbedded - JavaScript scanner used for JSX expression containers.
17
+ * @returns The first offset after a complete element, or `undefined` when the candidate is not JSX.
18
+ */
19
+ export declare const indexAfterJSXElement: (context: SourceScanContext, start: number, scanEmbedded: EmbeddedJavaScriptScanner) => number | undefined;
20
+ export {};
21
+ //# sourceMappingURL=plugin-commented-out-code-jsx-scanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-commented-out-code-jsx-scanner.d.ts","sourceRoot":"","sources":["../../src/rules/plugin-commented-out-code-jsx-scanner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,gDAAgD,CAAC;AAaxD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,eAAe,CAAC;IAChC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,yBAAyB,GAAG,CAC/B,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,eAAe,KAC5B,MAAM,CAAC;AA0PZ;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,iBAAiB,EAC1B,OAAO,MAAM,EACb,cAAc,yBAAyB,KACtC,MAAM,GAAG,SASX,CAAC"}
@@ -0,0 +1,200 @@
1
+ import { DOUBLE_QUOTE, GREATER_THAN, LESS_THAN, OPEN_BRACE, SINGLE_QUOTE, SLASH, indexAfterQuotedString, isIdentifierPart, isTrivia, } from './plugin-commented-out-code-lexical-primitives.js';
2
+ const COLON = 58;
3
+ const DOT = 46;
4
+ const HYPHEN = 45;
5
+ const JSX_FAILED = -1;
6
+ const jsxNameEnd = (source, start) => {
7
+ let index = start;
8
+ const sourceLength = source.length;
9
+ while (index < sourceLength) {
10
+ const code = source.charCodeAt(index);
11
+ if (!isIdentifierPart(code) && code !== HYPHEN && code !== DOT && code !== COLON) {
12
+ return index;
13
+ }
14
+ index += 1;
15
+ }
16
+ return index;
17
+ };
18
+ const indexAfterOpeningTag = (context, start, scanEmbedded) => {
19
+ let index = start;
20
+ while (index < context.source.length) {
21
+ const code = context.source.charCodeAt(index);
22
+ if (code === SINGLE_QUOTE || code === DOUBLE_QUOTE) {
23
+ index = indexAfterQuotedString(context.source, index, code);
24
+ }
25
+ else if (code === OPEN_BRACE) {
26
+ index = scanEmbedded(context, index + 1, context.consumeComment);
27
+ }
28
+ else if (code === LESS_THAN) {
29
+ return undefined;
30
+ }
31
+ else if (code === GREATER_THAN) {
32
+ return index + 1;
33
+ }
34
+ else {
35
+ index += 1;
36
+ }
37
+ }
38
+ return undefined;
39
+ };
40
+ const isSelfClosing = (source, nameEnd, contentStart) => {
41
+ let trailingIndex = contentStart - 2;
42
+ while (trailingIndex >= nameEnd && isTrivia(source.charCodeAt(trailingIndex))) {
43
+ trailingIndex -= 1;
44
+ }
45
+ return source.charCodeAt(trailingIndex) === SLASH;
46
+ };
47
+ const openingAt = (context, start, scanEmbedded) => {
48
+ const nameStart = start + 1;
49
+ if (context.source.charCodeAt(nameStart) === GREATER_THAN) {
50
+ return { contentStart: nameStart + 1, name: '', selfClosing: false };
51
+ }
52
+ const nameEnd = jsxNameEnd(context.source, nameStart);
53
+ if (nameEnd === nameStart) {
54
+ return undefined;
55
+ }
56
+ const contentStart = indexAfterOpeningTag(context, nameEnd, scanEmbedded);
57
+ if (contentStart === undefined) {
58
+ return undefined;
59
+ }
60
+ return {
61
+ contentStart,
62
+ name: context.source.slice(nameStart, nameEnd),
63
+ selfClosing: isSelfClosing(context.source, nameEnd, contentStart),
64
+ };
65
+ };
66
+ const indexAfterTrivia = (source, start) => {
67
+ let index = start;
68
+ while (isTrivia(source.charCodeAt(index))) {
69
+ index += 1;
70
+ }
71
+ return index;
72
+ };
73
+ const closingAt = (source, start) => {
74
+ if (source.charCodeAt(start + 1) !== SLASH) {
75
+ return undefined;
76
+ }
77
+ const nameStart = start + 2;
78
+ const nameEnd = jsxNameEnd(source, nameStart);
79
+ if (nameEnd === nameStart && source.charCodeAt(nameStart) !== GREATER_THAN) {
80
+ return undefined;
81
+ }
82
+ const index = indexAfterTrivia(source, nameEnd);
83
+ if (source.charCodeAt(index) !== GREATER_THAN) {
84
+ return undefined;
85
+ }
86
+ return { end: index + 1, name: source.slice(nameStart, nameEnd) };
87
+ };
88
+ const emitComments = (comments, consumeComment) => {
89
+ for (const comment of comments) {
90
+ consumeComment(comment);
91
+ }
92
+ };
93
+ const recordFailures = (context, starts) => {
94
+ for (const failedStart of starts) {
95
+ context.failedJSXStarts.add(failedStart);
96
+ }
97
+ };
98
+ const initializeJSXScan = (context, start, scanEmbedded) => {
99
+ const comments = [];
100
+ const speculativeContext = {
101
+ ...context,
102
+ consumeComment: (comment) => {
103
+ comments.push(comment);
104
+ },
105
+ };
106
+ const opening = openingAt(speculativeContext, start, scanEmbedded);
107
+ if (opening === undefined) {
108
+ return undefined;
109
+ }
110
+ if (opening.selfClosing) {
111
+ emitComments(comments, context.consumeComment);
112
+ return { end: opening.contentStart };
113
+ }
114
+ return {
115
+ state: {
116
+ comments,
117
+ elementNames: [opening.name],
118
+ elementStarts: [start],
119
+ initialIndex: opening.contentStart,
120
+ speculativeContext,
121
+ },
122
+ };
123
+ };
124
+ const closeElement = (context, state, closing) => {
125
+ if (closing.name !== state.elementNames.at(-1)) {
126
+ recordFailures(context, state.elementStarts);
127
+ return JSX_FAILED;
128
+ }
129
+ state.elementNames.pop();
130
+ state.elementStarts.pop();
131
+ if (state.elementNames.length !== 0) {
132
+ return closing.end;
133
+ }
134
+ emitComments(state.comments, context.consumeComment);
135
+ return ~closing.end;
136
+ };
137
+ const openNestedElement = (context, state, index, scanEmbedded) => {
138
+ let nestedOpening = undefined;
139
+ if (!context.failedJSXStarts.has(index)) {
140
+ nestedOpening = openingAt(state.speculativeContext, index, scanEmbedded);
141
+ }
142
+ if (nestedOpening === undefined) {
143
+ context.failedJSXStarts.add(index);
144
+ return index + 1;
145
+ }
146
+ if (!nestedOpening.selfClosing) {
147
+ state.elementNames.push(nestedOpening.name);
148
+ state.elementStarts.push(index);
149
+ }
150
+ return nestedOpening.contentStart;
151
+ };
152
+ const advanceJSXScan = (context, state, index, scanEmbedded) => {
153
+ const { source } = context;
154
+ const code = source.charCodeAt(index);
155
+ if (code === OPEN_BRACE) {
156
+ return scanEmbedded(state.speculativeContext, index + 1, state.speculativeContext.consumeComment);
157
+ }
158
+ if (code !== LESS_THAN) {
159
+ return index + 1;
160
+ }
161
+ const closing = closingAt(source, index);
162
+ if (closing !== undefined) {
163
+ return closeElement(context, state, closing);
164
+ }
165
+ return openNestedElement(context, state, index, scanEmbedded);
166
+ };
167
+ const scanInitializedJSX = (context, state, scanEmbedded) => {
168
+ let index = state.initialIndex;
169
+ while (index < context.source.length) {
170
+ const nextIndex = advanceJSXScan(context, state, index, scanEmbedded);
171
+ if (nextIndex === JSX_FAILED) {
172
+ return undefined;
173
+ }
174
+ if (nextIndex < JSX_FAILED) {
175
+ return ~nextIndex;
176
+ }
177
+ index = nextIndex;
178
+ }
179
+ recordFailures(context, state.elementStarts);
180
+ return undefined;
181
+ };
182
+ /**
183
+ * Finds a structurally complete JSX element without recursively rescanning failed candidates.
184
+ *
185
+ * @param context - Shared source, comment consumer, and failed-start memo for the current scan.
186
+ * @param start - Offset of the candidate opening angle bracket.
187
+ * @param scanEmbedded - JavaScript scanner used for JSX expression containers.
188
+ * @returns The first offset after a complete element, or `undefined` when the candidate is not JSX.
189
+ */
190
+ export const indexAfterJSXElement = (context, start, scanEmbedded) => {
191
+ const initialized = initializeJSXScan(context, start, scanEmbedded);
192
+ if (initialized === undefined) {
193
+ return undefined;
194
+ }
195
+ if (initialized.state === undefined) {
196
+ return initialized.end;
197
+ }
198
+ return scanInitializedJSX(context, initialized.state, scanEmbedded);
199
+ };
200
+ //# sourceMappingURL=plugin-commented-out-code-jsx-scanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-commented-out-code-jsx-scanner.js","sourceRoot":"","sources":["../../src/rules/plugin-commented-out-code-jsx-scanner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Records exact source and body boundaries for a lexically scanned comment.
3
+ */
4
+ export interface ScannedComment {
5
+ bodyEnd: number;
6
+ bodyStart: number;
7
+ end: number;
8
+ start: number;
9
+ type: 'Block' | 'Line';
10
+ }
11
+ /**
12
+ * Consumes one lexically scanned source comment.
13
+ */
14
+ export type CommentConsumer = (comment: ScannedComment) => void;
15
+ /**
16
+ * ASCII code point for a backslash.
17
+ */
18
+ export declare const BACKSLASH = 92;
19
+ /**
20
+ * ASCII code point for a backtick.
21
+ */
22
+ export declare const BACKTICK = 96;
23
+ /**
24
+ * ASCII code point for a closing brace.
25
+ */
26
+ export declare const CLOSE_BRACE = 125;
27
+ /**
28
+ * ASCII code point for a closing bracket.
29
+ */
30
+ export declare const CLOSE_BRACKET = 93;
31
+ /**
32
+ * ASCII code point for a closing parenthesis.
33
+ */
34
+ export declare const CLOSE_PARENTHESIS = 41;
35
+ /**
36
+ * ASCII code point for a dollar sign.
37
+ */
38
+ export declare const DOLLAR = 36;
39
+ /**
40
+ * ASCII code point for a double quote.
41
+ */
42
+ export declare const DOUBLE_QUOTE = 34;
43
+ /**
44
+ * ASCII code point for an equals sign.
45
+ */
46
+ export declare const EQUALS = 61;
47
+ /**
48
+ * ASCII code point for a greater-than sign.
49
+ */
50
+ export declare const GREATER_THAN = 62;
51
+ /**
52
+ * ASCII code point for a less-than sign.
53
+ */
54
+ export declare const LESS_THAN = 60;
55
+ /**
56
+ * ASCII code point for a minus sign.
57
+ */
58
+ export declare const MINUS = 45;
59
+ /**
60
+ * ASCII code point for an opening brace.
61
+ */
62
+ export declare const OPEN_BRACE = 123;
63
+ /**
64
+ * ASCII code point for an opening bracket.
65
+ */
66
+ export declare const OPEN_BRACKET = 91;
67
+ /**
68
+ * ASCII code point for an opening parenthesis.
69
+ */
70
+ export declare const OPEN_PARENTHESIS = 40;
71
+ /**
72
+ * ASCII code point for a plus sign.
73
+ */
74
+ export declare const PLUS = 43;
75
+ /**
76
+ * ASCII code point for a semicolon.
77
+ */
78
+ export declare const SEMICOLON = 59;
79
+ /**
80
+ * ASCII code point for a single quote.
81
+ */
82
+ export declare const SINGLE_QUOTE = 39;
83
+ /**
84
+ * ASCII code point for a slash.
85
+ */
86
+ export declare const SLASH = 47;
87
+ /**
88
+ * ASCII code point for an asterisk.
89
+ */
90
+ export declare const STAR = 42;
91
+ /**
92
+ * Checks all four ECMAScript line-terminator code points without allocating.
93
+ */
94
+ export declare const isECMAScriptLineEnding: (code: number) => boolean;
95
+ /**
96
+ * Advances across one ECMAScript line terminator while preserving CRLF as a pair.
97
+ */
98
+ export declare const indexAfterLineEnding: (source: string, end: number) => number;
99
+ /**
100
+ * Determines whether a code point can begin an ECMAScript identifier.
101
+ */
102
+ export declare const isIdentifierStart: (code: number) => boolean;
103
+ /**
104
+ * Determines whether a code point can continue an ECMAScript identifier.
105
+ */
106
+ export declare const isIdentifierPart: (code: number) => boolean;
107
+ /**
108
+ * Determines whether a code point is source trivia recognized by the scanner.
109
+ */
110
+ export declare const isTrivia: (code: number) => boolean;
111
+ /**
112
+ * Finds the first source index after an identifier token.
113
+ */
114
+ export declare const indexAfterIdentifier: (source: string, start: number) => number;
115
+ /**
116
+ * Checks whether one source segment exactly matches a listed word.
117
+ */
118
+ export declare const isListedWord: (source: string, start: number, end: number, words: readonly string[]) => boolean;
119
+ /**
120
+ * Finds the first source index after a quoted string, including its closing quote.
121
+ */
122
+ export declare const indexAfterQuotedString: (source: string, start: number, quote: number) => number;
123
+ /**
124
+ * Finds the first source index after a regular-expression literal and its flags.
125
+ */
126
+ export declare const indexAfterREGEX: (source: string, start: number) => number;
127
+ /**
128
+ * Scans a line comment, consumes its boundaries, and returns the next source index.
129
+ */
130
+ export declare const scanLineComment: (source: string, start: number, consumeComment: CommentConsumer) => number;
131
+ /**
132
+ * Scans a block comment, consumes its boundaries, and returns the next source index.
133
+ */
134
+ export declare const scanBlockComment: (source: string, start: number, consumeComment: CommentConsumer) => number;
135
+ /**
136
+ * Finds the first source index after an optional hashbang line.
137
+ */
138
+ export declare const indexAfterHashbang: (source: string) => number;
139
+ //# sourceMappingURL=plugin-commented-out-code-lexical-primitives.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-commented-out-code-lexical-primitives.d.ts","sourceRoot":"","sources":["../../src/rules/plugin-commented-out-code-lexical-primitives.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B;;GAEG;AACH,eAAO,MAAM,QAAQ,KAAK,CAAC;AAC3B;;GAEG;AACH,eAAO,MAAM,WAAW,MAAM,CAAC;AAC/B;;GAEG;AACH,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC;;GAEG;AACH,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC;;GAEG;AACH,eAAO,MAAM,MAAM,KAAK,CAAC;AACzB;;GAEG;AACH,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B;;GAEG;AACH,eAAO,MAAM,MAAM,KAAK,CAAC;AACzB;;GAEG;AACH,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B;;GAEG;AACH,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B;;GAEG;AACH,eAAO,MAAM,KAAK,KAAK,CAAC;AACxB;;GAEG;AACH,eAAO,MAAM,UAAU,MAAM,CAAC;AAC9B;;GAEG;AACH,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B;;GAEG;AACH,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC;;GAEG;AACH,eAAO,MAAM,IAAI,KAAK,CAAC;AACvB;;GAEG;AACH,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B;;GAEG;AACH,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B;;GAEG;AACH,eAAO,MAAM,KAAK,KAAK,CAAC;AACxB;;GAEG;AACH,eAAO,MAAM,IAAI,KAAK,CAAC;AAgBvB;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM,MAAM,KAAG,OAIxB,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,EAAE,KAAK,MAAM,KAAG,MASlE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,OAGtB,CAAC;AAE5B;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,KAAG,OACkD,CAAC;AAEnG;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,KAAG,OAKV,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,EAAE,OAAO,MAAM,KAAG,MAOpE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GACvB,QAAQ,MAAM,EACd,OAAO,MAAM,EACb,KAAK,MAAM,EACX,OAAO,SAAS,MAAM,EAAE,KACvB,OAOF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,EAAE,OAAO,MAAM,EAAE,OAAO,MAAM,KAAG,MAcrF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,EAAE,OAAO,MAAM,KAAG,MAiB/D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAC1B,QAAQ,MAAM,EACd,OAAO,MAAM,EACb,gBAAgB,eAAe,KAC9B,MAQF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,MAAM,EACd,OAAO,MAAM,EACb,gBAAgB,eAAe,KAC9B,MAgBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,KAAG,MASnD,CAAC"}