@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
@@ -2,12 +2,16 @@
2
2
  /* Exported declaration extraction helpers for Effect lint rules. */
3
3
  /* -------------------------------------------------------------------------- */
4
4
  import { Array, Match, Option, pipe } from 'effect';
5
- import { findMatchingBrace, stripCommentsAndStrings } from './effect-source-scan.js';
6
- import { findStatementEnd } from './effect-source-navigation.js';
5
+ import { createModuleSourceIndex, findModuleStatementEnd, moduleBindingDeclarations, moduleLevelMatches, } from './effect-module-source-index.js';
6
+ import { exportedCallableDeclarationSegment, exportedDeclarationSegment, } from './effect-export-segments.js';
7
+ import { declarationWithBraceBody } from './effect-export-declaration-boundaries.js';
8
+ import { defaultExportBindingName } from './effect-export-default-binding.js';
9
+ import { stripCommentsAndStrings } from './effect-source-scan.js';
7
10
  const EXPORTED_DECLARATION_CACHE_MAX = 256;
8
11
  const exportedDeclarationCache = new Map();
9
12
  const exportedDeclarationSegmentCache = new Map();
10
13
  const exportedCallableDeclarationSegmentCache = new Map();
14
+ const exportedDeclarationProjectionCache = new Map();
11
15
  const cachedExportedDeclarations = (source) => exportedDeclarationCache.get(source);
12
16
  const cacheValue = (cache, source, value) => {
13
17
  pipe(Match.value(cache.size), Match.when((size) => size >= EXPORTED_DECLARATION_CACHE_MAX, () => {
@@ -24,13 +28,7 @@ const cacheValue = (cache, source, value) => {
24
28
  const cacheExportedDeclarations = (source, declarations) => cacheValue(exportedDeclarationCache, source, declarations);
25
29
  const cacheExportedDeclarationSegments = (source, segments) => cacheValue(exportedDeclarationSegmentCache, source, segments);
26
30
  const cacheExportedCallableDeclarationSegments = (source, segments) => cacheValue(exportedCallableDeclarationSegmentCache, source, segments);
27
- const declarationWithBraceBody = (source, startIndex) => {
28
- const bodyStart = source.indexOf('{', startIndex);
29
- return Match.value(bodyStart).pipe(Match.when(-1, () => undefined), Match.orElse((start) => {
30
- const bodyEnd = findMatchingBrace(source, start);
31
- return Match.value(bodyEnd).pipe(Match.when(-1, () => undefined), Match.orElse((end) => source.slice(startIndex, end + 1)));
32
- }));
33
- };
31
+ const cacheExportedDeclarationProjections = (source, projections) => cacheValue(exportedDeclarationProjectionCache, source, projections);
34
32
  const exportedNamesFromList = (exportedList) => pipe(exportedList.split(','), Array.filterMap((name) => {
35
33
  const exportedName = name
36
34
  .trim()
@@ -39,111 +37,158 @@ const exportedNamesFromList = (exportedList) => pipe(exportedList.split(','), Ar
39
37
  ?.trim();
40
38
  return pipe(Option.fromNullable(exportedName), Option.filter((value) => value.length > 0));
41
39
  }));
42
- const namedExportDeclarationPattern = (exportedName) => new RegExp(`\\b(?:(?:const|let|var)\\s+${exportedName}\\b|` +
43
- `(?:async\\s+)?function\\s+${exportedName}\\b|` +
44
- `type\\s+${exportedName}\\b|interface\\s+${exportedName}\\b|` +
45
- `(?:abstract\\s+)?class\\s+${exportedName}\\b)`);
46
40
  const isBraceBodyDeclaration = (declarationText) => /\b(?:async\s+)?function\b|\b(?:abstract\s+)?class\b|\binterface\b/.test(declarationText);
47
- const namedExportDeclarationText = (source, code, exportedName) => {
48
- const declarationMatch = namedExportDeclarationPattern(exportedName).exec(code);
49
- return pipe(Option.fromNullable(declarationMatch), Option.match({
50
- onNone: () => undefined,
51
- onSome: (match) => Match.value(isBraceBodyDeclaration(match[0])).pipe(Match.when(true, () => declarationWithBraceBody(source, match.index)), Match.orElse(() => {
52
- const statementEnd = findStatementEnd(source, match.index);
53
- return source.slice(match.index, statementEnd + 1);
54
- })),
55
- }));
41
+ const namedExportDeclarationText = (source, code, declaration) => pipe(Match.value(isBraceBodyDeclaration(declaration.match[0])), Match.when(true, () => declarationWithBraceBody(source, code, declaration.statementStart, declaration.match[0])), Match.orElse(() => source.slice(declaration.statementStart, declaration.statementEnd + 1)));
42
+ const isolatedVariableDeclarationText = (source, declaration) => {
43
+ const semicolonCode = 59;
44
+ const prefix = source.slice(declaration.statementStart, declaration.variableKeywordEnd);
45
+ const declarator = source.slice(declaration.declaratorStart, declaration.declaratorEnd);
46
+ if (source.charCodeAt(declaration.statementEnd) === semicolonCode) {
47
+ return `${prefix} ${declarator};`;
48
+ }
49
+ return `${prefix} ${declarator}`;
50
+ };
51
+ const privateSiblingText = (source, statementStart, statementEnd, selectedDeclarations) => {
52
+ let text = '';
53
+ let sourceIndex = statementStart;
54
+ for (const declaration of selectedDeclarations) {
55
+ text += source.slice(sourceIndex, declaration.declaratorStart);
56
+ sourceIndex = declaration.declaratorEnd;
57
+ }
58
+ return text + source.slice(sourceIndex, statementEnd + 1);
59
+ };
60
+ const shouldIsolateVariableDeclaration = (source, declaration, selectedDeclarations) => declaration.siblingCount > selectedDeclarations.length &&
61
+ /\b(?:Effect|Promise)\b/.test(privateSiblingText(source, declaration.statementStart, declaration.statementEnd, selectedDeclarations));
62
+ const variableProjection = (source, declaration, selectedDeclarations) => {
63
+ const analysisText = isolatedVariableDeclarationText(source, declaration);
64
+ if (shouldIsolateVariableDeclaration(source, declaration, selectedDeclarations)) {
65
+ return { analysisText, declarationText: analysisText };
66
+ }
67
+ const declarationText = source.slice(declaration.statementStart, declaration.statementEnd + 1);
68
+ return { analysisText, declarationText };
69
+ };
70
+ const bindingProjection = (source, code, declaration, selectedDeclarations) => {
71
+ if (declaration.kind === 'variable') {
72
+ return variableProjection(source, declaration, selectedDeclarations);
73
+ }
74
+ const declarationText = namedExportDeclarationText(source, code, declaration);
75
+ if (declarationText === undefined) {
76
+ return undefined;
77
+ }
78
+ return { analysisText: declarationText, declarationText };
56
79
  };
57
- const addNamedExportDeclarations = (source, code, exportedList) => pipe(exportedNamesFromList(exportedList), Array.filterMap((exportedName) => Option.fromNullable(namedExportDeclarationText(source, code, exportedName))));
58
- const addStatementDeclarations = (source, matches) => pipe(Array.fromIterable(matches), Array.filterMap((match) => pipe(Option.fromNullable(match.index), Option.map((index) => {
59
- const statementEnd = findStatementEnd(source, index);
80
+ const addNamedExportDeclarations = (source, code, declarations, exportedList) => {
81
+ const selectedDeclarations = pipe(exportedNamesFromList(exportedList), Array.flatMap((exportedName) => declarations.get(exportedName) ?? []));
82
+ const declarationsByStatement = new Map();
83
+ for (const declaration of selectedDeclarations) {
84
+ const statementDeclarations = declarationsByStatement.get(declaration.statementStart);
85
+ if (statementDeclarations === undefined) {
86
+ declarationsByStatement.set(declaration.statementStart, [declaration]);
87
+ }
88
+ else {
89
+ statementDeclarations.push(declaration);
90
+ }
91
+ }
92
+ return pipe(selectedDeclarations, Array.filterMap((declaration) => Option.fromNullable(bindingProjection(source, code, declaration, declarationsByStatement.get(declaration.statementStart) ?? []))));
93
+ };
94
+ const addStatementDeclarations = (source, code, matches) => pipe(Array.fromIterable(matches), Array.filterMap((match) => pipe(Option.fromNullable(match.index), Option.map((index) => {
95
+ const statementEnd = findModuleStatementEnd(source, code, index);
60
96
  return source.slice(index, statementEnd + 1);
61
97
  }))));
62
- const addBraceDeclarations = (source, matches) => pipe(Array.fromIterable(matches), Array.filterMap((match) => pipe(Option.fromNullable(match.index), Option.flatMap((index) => Option.fromNullable(declarationWithBraceBody(source, index))))));
63
- const addDirectExportDeclarations = (source, code) => pipe([
64
- addStatementDeclarations(source, code.matchAll(/\bexport\s+default\s+(?:async\s*)?(?:\([^)]*\)|[A-Za-z_$][\w$]*)?\s*=>/g)),
65
- addBraceDeclarations(source, code.matchAll(/\bexport\s+(?:default\s+)?(?:async\s+)?function(?:\s+[A-Za-z_$][\w$]*)?\b/g)),
66
- addStatementDeclarations(source, code.matchAll(/\bexport\s+(?:const|let|var)\s+[A-Za-z_$][\w$]*\b/g)),
67
- addStatementDeclarations(source, code.matchAll(/\bexport\s+type\s+[A-Za-z_$][\w$]*\b/g)),
68
- addBraceDeclarations(source, code.matchAll(/\bexport\s+interface\s+[A-Za-z_$][\w$]*\b/g)),
69
- addBraceDeclarations(source, code.matchAll(/\bexport\s+(?:default\s+)?(?:abstract\s+)?class(?:\s+[A-Za-z_$][\w$]*)?\b/g)),
70
- addStatementDeclarations(source, code.matchAll(/\bexport\s+default\s+(?!class\b|(?:async\s+)?function\b)/g)),
98
+ const addBraceDeclarations = (source, code, matches) => pipe(Array.fromIterable(matches), Array.filterMap((match) => pipe(Option.fromNullable(match.index), Option.flatMap((index) => Option.fromNullable(declarationWithBraceBody(source, code, index, match[0]))))));
99
+ const addDirectExportDeclarations = (source, code, moduleIndex) => pipe([
100
+ addStatementDeclarations(source, code, moduleLevelMatches(moduleIndex, /\bexport\s+default\s+(?:async\s*)?(?:\([^)]*\)|[A-Za-z_$][\w$]*)?\s*=>/g)),
101
+ addBraceDeclarations(source, code, moduleLevelMatches(moduleIndex, /\bexport\s+(?:declare\s+)?(?:default\s+)?(?:async\s+)?function(?:\s+[A-Za-z_$][\w$]*)?\b/g)),
102
+ addStatementDeclarations(source, code, moduleLevelMatches(moduleIndex, /\bexport\s+(?:declare\s+)?(?:const|let|var)\s+(?:[A-Za-z_$][\w$]*|[{[])/g)),
103
+ addStatementDeclarations(source, code, moduleLevelMatches(moduleIndex, /\bexport\s+type\s+[A-Za-z_$][\w$]*\b/g)),
104
+ addBraceDeclarations(source, code, moduleLevelMatches(moduleIndex, /\bexport\s+interface\s+[A-Za-z_$][\w$]*\b/g)),
105
+ addBraceDeclarations(source, code, moduleLevelMatches(moduleIndex, /\bexport\s+(?:declare\s+)?(?:default\s+)?(?:abstract\s+)?class(?:\s+[A-Za-z_$][\w$]*)?\b/g)),
106
+ addStatementDeclarations(source, code, moduleLevelMatches(moduleIndex, /\bexport\s+default\s+(?!(?:async\s*)?(?:\([^)]*\)|[A-Za-z_$][\w$]*)?\s*=>|(?:abstract\s+)?class\b|(?:async\s+)?function\b)/g)),
71
107
  ], Array.flatten);
72
- const addNamedExportLists = (source, code) => pipe(Array.fromIterable(code.matchAll(/\bexport\s+(?:type\s+)?{\s*([^}]+)\s*}/g)), Array.flatMap((exportMatch) => {
73
- const exportStatementEnd = findStatementEnd(code, exportMatch.index);
74
- const exportStatement = code.slice(exportMatch.index, exportStatementEnd + 1);
75
- return Match.value(/\bfrom\s*['"]/.test(exportStatement)).pipe(Match.when(true, () => []), Match.orElse(() => addNamedExportDeclarations(source, code, exportMatch[1])));
76
- }));
77
- /**
78
- * Internal helper exported for package-local composition.
79
- *
80
- * @internal
81
- */
108
+ const addNamedExportLists = (source, code, moduleIndex) => {
109
+ const exportLists = moduleLevelMatches(moduleIndex, /\bexport\s+(?:type\s+)?{\s*([^}]+)\s*}/g);
110
+ if (Array.isEmptyReadonlyArray(exportLists)) {
111
+ return [];
112
+ }
113
+ const declarations = moduleBindingDeclarations(moduleIndex);
114
+ return pipe(exportLists, Array.flatMap((exportMatch) => {
115
+ const exportStatementEnd = findModuleStatementEnd(code, code, exportMatch.index);
116
+ const exportStatement = code.slice(exportMatch.index, exportStatementEnd + 1);
117
+ return Match.value(/\bfrom\s*['"]/.test(exportStatement)).pipe(Match.when(true, () => []), Match.orElse(() => addNamedExportDeclarations(source, code, declarations, exportMatch[1])));
118
+ }));
119
+ };
120
+ const addDefaultIdentifierExports = (source, code, moduleIndex) => {
121
+ const declarations = moduleBindingDeclarations(moduleIndex);
122
+ return pipe(moduleLevelMatches(moduleIndex, /\bexport\s+default\b/g), Array.flatMap((exportMatch) => {
123
+ const statementEnd = findModuleStatementEnd(source, code, exportMatch.index);
124
+ const expressionStart = exportMatch.index + exportMatch[0].length;
125
+ const bindingName = defaultExportBindingName(code.slice(expressionStart, statementEnd + 1));
126
+ if (bindingName === undefined) {
127
+ return [];
128
+ }
129
+ const bindingDeclarations = declarations.get(bindingName) ?? [];
130
+ return pipe(bindingDeclarations, Array.filterMap((declaration) => Option.fromNullable(bindingProjection(source, code, declaration, [declaration]))));
131
+ }));
132
+ };
133
+ const isTransparentDefaultBindingDeclaration = (declaration) => {
134
+ if (!/^\s*export\s+default\b/.test(declaration)) {
135
+ return false;
136
+ }
137
+ const expression = declaration.replace(/^\s*export\s+default\s+/, '');
138
+ return defaultExportBindingName(stripCommentsAndStrings(expression)) !== undefined;
139
+ };
140
+ const uniqueProjections = (projections) => {
141
+ const keys = new Set();
142
+ return pipe(projections, Array.filter((projection) => {
143
+ const key = `${projection.declarationText}\u0000${projection.analysisText}`;
144
+ if (keys.has(key)) {
145
+ return false;
146
+ }
147
+ keys.add(key);
148
+ return true;
149
+ }));
150
+ };
151
+ const exportedDeclarationProjections = (source) => {
152
+ const cachedValue = exportedDeclarationProjectionCache.get(source);
153
+ if (cachedValue !== undefined) {
154
+ return cachedValue;
155
+ }
156
+ if (!source.includes('export')) {
157
+ return cacheExportedDeclarationProjections(source, []);
158
+ }
159
+ const code = stripCommentsAndStrings(source);
160
+ const moduleIndex = createModuleSourceIndex(code);
161
+ const directProjections = pipe(addDirectExportDeclarations(source, code, moduleIndex), Array.filter((declaration) => !isTransparentDefaultBindingDeclaration(declaration)), Array.map((declaration) => ({
162
+ analysisText: declaration,
163
+ declarationText: declaration,
164
+ })));
165
+ return cacheExportedDeclarationProjections(source, uniqueProjections([
166
+ ...directProjections,
167
+ ...addDefaultIdentifierExports(source, code, moduleIndex),
168
+ ...addNamedExportLists(source, code, moduleIndex),
169
+ ]));
170
+ };
171
+ /** @internal */
82
172
  export const exportedDeclarationTexts = (source) => {
83
173
  const cachedValue = cachedExportedDeclarations(source);
84
174
  return pipe(Option.fromNullable(cachedValue), Option.match({
85
- onNone: () => {
86
- const code = stripCommentsAndStrings(source);
87
- return cacheExportedDeclarations(source, pipe([addDirectExportDeclarations(source, code), addNamedExportLists(source, code)], Array.flatten));
88
- },
175
+ onNone: () => cacheExportedDeclarations(source, Array.fromIterable(new Set(pipe(exportedDeclarationProjections(source), Array.map((projection) => projection.declarationText))))),
89
176
  onSome: (value) => value,
90
177
  }));
91
178
  };
92
- const findAssignmentEquals = (declaration) => pipe(Array.range(0, declaration.length - 1), Array.findFirst((index) => {
93
- const char = declaration[index];
94
- const previousChar = declaration[index - 1];
95
- const nextChar = declaration[index + 1];
96
- return (char === '=' &&
97
- previousChar !== '=' &&
98
- previousChar !== '!' &&
99
- previousChar !== '<' &&
100
- previousChar !== '>' &&
101
- nextChar !== '=' &&
102
- nextChar !== '>');
103
- }), Option.getOrElse(() => -1));
104
- const arrowValueSegment = (value) => {
105
- const arrowIndex = value.indexOf('=>');
106
- return Match.value(/^\s*(?:async\s*)?(?:\([^)]*\)|[A-Za-z_$][\w$]*)\s*=>/.test(value)).pipe(Match.when(true, () => value.slice(arrowIndex + 2)), Match.orElse(() => value));
107
- };
108
- const declarationInitializerValue = (declaration) => {
109
- const equalsIndex = findAssignmentEquals(declaration);
110
- return Match.value(equalsIndex).pipe(Match.when(-1, () => declaration), Match.orElse((index) => declaration.slice(index + 1)));
111
- };
112
- const exportedDeclarationSegment = (declaration) => Match.value(declaration).pipe(Match.when((value) => /^\s*export\s+default\b/.test(value), (value) => arrowValueSegment(value.replace(/^\s*export\s+default\s+/, ''))), Match.when((value) => /^\s*(?:export\s+)?(?:const|let|var)\b/.test(value), (value) => arrowValueSegment(declarationInitializerValue(value))), Match.orElse((value) => Match.value(value.indexOf('{')).pipe(Match.when(-1, () => value), Match.orElse((bodyStart) => value.slice(bodyStart)))));
113
- /**
114
- * Internal helper exported for package-local composition.
115
- *
116
- * @internal
117
- */
179
+ /** @internal */
118
180
  export const exportedDeclarationSegments = (source) => {
119
181
  const cachedValue = exportedDeclarationSegmentCache.get(source);
120
182
  return pipe(Option.fromNullable(cachedValue), Option.match({
121
- onNone: () => cacheExportedDeclarationSegments(source, pipe(exportedDeclarationTexts(source), Array.map(exportedDeclarationSegment))),
183
+ onNone: () => cacheExportedDeclarationSegments(source, pipe(exportedDeclarationProjections(source), Array.map((projection) => exportedDeclarationSegment(projection.analysisText)))),
122
184
  onSome: (value) => value,
123
185
  }));
124
186
  };
125
- const callableFunctionSegment = (declaration) => {
126
- const bodyStart = declaration.indexOf('{');
127
- return Match.value(bodyStart).pipe(Match.when(-1, () => []), Match.orElse((start) => [declaration.slice(start)]));
128
- };
129
- const callableDefaultSegment = (declaration) => {
130
- const value = declaration.replace(/^\s*export\s+default\s+/, '');
131
- return Match.value(/^\s*(?:async\s*)?(?:\([^)]*\)|[A-Za-z_$][\w$]*)\s*=>/.test(value)).pipe(Match.when(true, () => [value.slice(value.indexOf('=>') + 2)]), Match.orElse(() => []));
132
- };
133
- const callableVariableSegment = (declaration) => {
134
- const value = declarationInitializerValue(declaration);
135
- return Match.value(/^\s*(?:async\s*)?(?:\([^)]*\)|[A-Za-z_$][\w$]*)\s*=>/.test(value)).pipe(Match.when(true, () => [value.slice(value.indexOf('=>') + 2)]), Match.orElse(() => []));
136
- };
137
- const exportedCallableDeclarationSegment = (declaration) => Match.value(declaration).pipe(Match.when((value) => /^\s*(?:export\s+)?(?:async\s+)?function\b/.test(value), callableFunctionSegment), Match.when((value) => /^\s*export\s+default\b/.test(value), callableDefaultSegment), Match.when((value) => /^\s*(?:export\s+)?(?:const|let|var)\b/.test(value), callableVariableSegment), Match.orElse(() => []));
138
- /**
139
- * Internal helper exported for package-local composition.
140
- *
141
- * @internal
142
- */
187
+ /** @internal */
143
188
  export const exportedCallableDeclarationSegments = (source) => {
144
189
  const cachedValue = exportedCallableDeclarationSegmentCache.get(source);
145
190
  return pipe(Option.fromNullable(cachedValue), Option.match({
146
- onNone: () => cacheExportedCallableDeclarationSegments(source, pipe(exportedDeclarationTexts(source), Array.flatMap(exportedCallableDeclarationSegment))),
191
+ onNone: () => cacheExportedCallableDeclarationSegments(source, pipe(exportedDeclarationProjections(source), Array.flatMap((projection) => exportedCallableDeclarationSegment(projection.analysisText)))),
147
192
  onSome: (value) => value,
148
193
  }));
149
194
  };
@@ -1 +1 @@
1
- {"version":3,"file":"effect-exported-declarations.js","sourceRoot":"","sources":["../../src/rules/effect-exported-declarations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"effect-exported-declarations.js","sourceRoot":"","sources":["../../src/rules/effect-exported-declarations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { Context } from './effect-rule-core';
2
+ type VisitorMap = Record<string, (node: object) => void>;
3
+ /**
4
+ * Build native and parser-fallback visitors for global fetch inside Effect async wrappers.
5
+ *
6
+ * @param context - The lint rule context.
7
+ * @param source - Complete source used only for the legacy implicit Effect namespace.
8
+ * @returns Program and CallExpression visitors.
9
+ * @throws Does not throw.
10
+ * @internal
11
+ */
12
+ export declare const effectGlobalFetchAST: (context: Context, source: string) => VisitorMap;
13
+ export {};
14
+ //# sourceMappingURL=effect-global-fetch-ast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect-global-fetch-ast.d.ts","sourceRoot":"","sources":["../../src/rules/effect-global-fetch-ast.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAIlD,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC;AAkZzD;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,GAAI,SAAS,OAAO,EAAE,QAAQ,MAAM,KAAG,UA+BvE,CAAC"}