@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,244 @@
1
+ /* -------------------------------------------------------------------------- */
2
+ /* Allocation-free lexical primitives for source comment scanning. */
3
+ /* -------------------------------------------------------------------------- */
4
+ import { CHAR_CLASS, CLS_DIGIT, CLS_LOWER, CLS_UNDER, CLS_UPPER } from './char-class.js';
5
+ /**
6
+ * ASCII code point for a backslash.
7
+ */
8
+ export const BACKSLASH = 92;
9
+ /**
10
+ * ASCII code point for a backtick.
11
+ */
12
+ export const BACKTICK = 96;
13
+ /**
14
+ * ASCII code point for a closing brace.
15
+ */
16
+ export const CLOSE_BRACE = 125;
17
+ /**
18
+ * ASCII code point for a closing bracket.
19
+ */
20
+ export const CLOSE_BRACKET = 93;
21
+ /**
22
+ * ASCII code point for a closing parenthesis.
23
+ */
24
+ export const CLOSE_PARENTHESIS = 41;
25
+ /**
26
+ * ASCII code point for a dollar sign.
27
+ */
28
+ export const DOLLAR = 36;
29
+ /**
30
+ * ASCII code point for a double quote.
31
+ */
32
+ export const DOUBLE_QUOTE = 34;
33
+ /**
34
+ * ASCII code point for an equals sign.
35
+ */
36
+ export const EQUALS = 61;
37
+ /**
38
+ * ASCII code point for a greater-than sign.
39
+ */
40
+ export const GREATER_THAN = 62;
41
+ /**
42
+ * ASCII code point for a less-than sign.
43
+ */
44
+ export const LESS_THAN = 60;
45
+ /**
46
+ * ASCII code point for a minus sign.
47
+ */
48
+ export const MINUS = 45;
49
+ /**
50
+ * ASCII code point for an opening brace.
51
+ */
52
+ export const OPEN_BRACE = 123;
53
+ /**
54
+ * ASCII code point for an opening bracket.
55
+ */
56
+ export const OPEN_BRACKET = 91;
57
+ /**
58
+ * ASCII code point for an opening parenthesis.
59
+ */
60
+ export const OPEN_PARENTHESIS = 40;
61
+ /**
62
+ * ASCII code point for a plus sign.
63
+ */
64
+ export const PLUS = 43;
65
+ /**
66
+ * ASCII code point for a semicolon.
67
+ */
68
+ export const SEMICOLON = 59;
69
+ /**
70
+ * ASCII code point for a single quote.
71
+ */
72
+ export const SINGLE_QUOTE = 39;
73
+ /**
74
+ * ASCII code point for a slash.
75
+ */
76
+ export const SLASH = 47;
77
+ /**
78
+ * ASCII code point for an asterisk.
79
+ */
80
+ export const STAR = 42;
81
+ const CARRIAGE_RETURN = 13;
82
+ const DOLLAR_CODE = 36;
83
+ const EXCLAMATION = 33;
84
+ const FORM_FEED = 12;
85
+ const HASH = 35;
86
+ const LINE_FEED = 10;
87
+ const LINE_SEPARATOR = 8232;
88
+ const PARAGRAPH_SEPARATOR = 8233;
89
+ const SPACE = 32;
90
+ const TAB = 9;
91
+ const VERTICAL_TAB = 11;
92
+ const IDENTIFIER_CLASS = CLS_UPPER | CLS_LOWER | CLS_DIGIT | CLS_UNDER;
93
+ const IDENTIFIER_START_CLASS = CLS_UPPER | CLS_LOWER | CLS_UNDER;
94
+ /**
95
+ * Checks all four ECMAScript line-terminator code points without allocating.
96
+ */
97
+ export const isECMAScriptLineEnding = (code) => code === LINE_FEED ||
98
+ code === CARRIAGE_RETURN ||
99
+ code === LINE_SEPARATOR ||
100
+ code === PARAGRAPH_SEPARATOR;
101
+ /**
102
+ * Advances across one ECMAScript line terminator while preserving CRLF as a pair.
103
+ */
104
+ export const indexAfterLineEnding = (source, end) => {
105
+ const code = source.charCodeAt(end);
106
+ if (code === CARRIAGE_RETURN && source.charCodeAt(end + 1) === LINE_FEED) {
107
+ return end + 2;
108
+ }
109
+ if (isECMAScriptLineEnding(code)) {
110
+ return end + 1;
111
+ }
112
+ return end;
113
+ };
114
+ /**
115
+ * Determines whether a code point can begin an ECMAScript identifier.
116
+ */
117
+ export const isIdentifierStart = (code) => (CHAR_CLASS[code] & IDENTIFIER_START_CLASS) !== 0 ||
118
+ code === DOLLAR_CODE ||
119
+ code >= CHAR_CLASS.length;
120
+ /**
121
+ * Determines whether a code point can continue an ECMAScript identifier.
122
+ */
123
+ export const isIdentifierPart = (code) => (CHAR_CLASS[code] & IDENTIFIER_CLASS) !== 0 || code === DOLLAR_CODE || code >= CHAR_CLASS.length;
124
+ /**
125
+ * Determines whether a code point is source trivia recognized by the scanner.
126
+ */
127
+ export const isTrivia = (code) => code === SPACE ||
128
+ code === TAB ||
129
+ code === VERTICAL_TAB ||
130
+ code === FORM_FEED ||
131
+ isECMAScriptLineEnding(code);
132
+ /**
133
+ * Finds the first source index after an identifier token.
134
+ */
135
+ export const indexAfterIdentifier = (source, start) => {
136
+ let index = start + 1;
137
+ const sourceLength = source.length;
138
+ while (index < sourceLength && isIdentifierPart(source.charCodeAt(index))) {
139
+ index += 1;
140
+ }
141
+ return index;
142
+ };
143
+ /**
144
+ * Checks whether one source segment exactly matches a listed word.
145
+ */
146
+ export const isListedWord = (source, start, end, words) => {
147
+ for (const word of words) {
148
+ if (end - start === word.length && source.startsWith(word, start)) {
149
+ return true;
150
+ }
151
+ }
152
+ return false;
153
+ };
154
+ /**
155
+ * Finds the first source index after a quoted string, including its closing quote.
156
+ */
157
+ export const indexAfterQuotedString = (source, start, quote) => {
158
+ let index = start + 1;
159
+ const sourceLength = source.length;
160
+ while (index < sourceLength) {
161
+ const code = source.charCodeAt(index);
162
+ if (code === BACKSLASH) {
163
+ index += 2;
164
+ }
165
+ else if (code === quote) {
166
+ return index + 1;
167
+ }
168
+ else {
169
+ index += 1;
170
+ }
171
+ }
172
+ return sourceLength;
173
+ };
174
+ /**
175
+ * Finds the first source index after a regular-expression literal and its flags.
176
+ */
177
+ export const indexAfterREGEX = (source, start) => {
178
+ let isInCharacterClass = false;
179
+ for (let index = start + 1; index < source.length; index += 1) {
180
+ const code = source.charCodeAt(index);
181
+ if (code === BACKSLASH) {
182
+ index += 1;
183
+ }
184
+ else if (isECMAScriptLineEnding(code)) {
185
+ return start + 1;
186
+ }
187
+ else if (code === SLASH && !isInCharacterClass) {
188
+ return indexAfterIdentifier(source, index);
189
+ }
190
+ else if (code === OPEN_BRACKET) {
191
+ isInCharacterClass = true;
192
+ }
193
+ else if (code === CLOSE_BRACKET) {
194
+ isInCharacterClass = false;
195
+ }
196
+ }
197
+ return start + 1;
198
+ };
199
+ /**
200
+ * Scans a line comment, consumes its boundaries, and returns the next source index.
201
+ */
202
+ export const scanLineComment = (source, start, consumeComment) => {
203
+ let bodyEnd = start + 2;
204
+ const sourceLength = source.length;
205
+ while (bodyEnd < sourceLength && !isECMAScriptLineEnding(source.charCodeAt(bodyEnd))) {
206
+ bodyEnd += 1;
207
+ }
208
+ consumeComment({ bodyEnd, bodyStart: start + 2, end: bodyEnd, start, type: 'Line' });
209
+ return indexAfterLineEnding(source, bodyEnd);
210
+ };
211
+ /**
212
+ * Scans a block comment, consumes its boundaries, and returns the next source index.
213
+ */
214
+ export const scanBlockComment = (source, start, consumeComment) => {
215
+ const bodyStart = start + 2;
216
+ const bodyEnd = source.indexOf('*/', bodyStart);
217
+ if (bodyEnd === -1) {
218
+ consumeComment({
219
+ bodyEnd: source.length,
220
+ bodyStart,
221
+ end: source.length,
222
+ start,
223
+ type: 'Block',
224
+ });
225
+ return source.length;
226
+ }
227
+ const end = bodyEnd + 2;
228
+ consumeComment({ bodyEnd, bodyStart, end, start, type: 'Block' });
229
+ return end;
230
+ };
231
+ /**
232
+ * Finds the first source index after an optional hashbang line.
233
+ */
234
+ export const indexAfterHashbang = (source) => {
235
+ if (source.charCodeAt(0) !== HASH || source.charCodeAt(1) !== EXCLAMATION) {
236
+ return 0;
237
+ }
238
+ let index = 2;
239
+ while (index < source.length && !isECMAScriptLineEnding(source.charCodeAt(index))) {
240
+ index += 1;
241
+ }
242
+ return indexAfterLineEnding(source, index);
243
+ };
244
+ //# sourceMappingURL=plugin-commented-out-code-lexical-primitives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-commented-out-code-lexical-primitives.js","sourceRoot":"","sources":["../../src/rules/plugin-commented-out-code-lexical-primitives.ts"],"names":[],"mappings":"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"}
@@ -11,9 +11,22 @@ interface ReportDescriptor {
11
11
  message: string;
12
12
  node: object;
13
13
  }
14
+ interface CommentToken {
15
+ end?: number;
16
+ range?: readonly number[];
17
+ start?: number;
18
+ type?: string;
19
+ value?: string;
20
+ }
21
+ interface SourceCode {
22
+ getAllComments?: () => readonly CommentToken[];
23
+ getText?: () => string;
24
+ text?: string;
25
+ }
14
26
  interface Context {
15
27
  report: (descriptor: ReportDescriptor) => void;
16
28
  filename?: string;
29
+ sourceCode?: SourceCode;
17
30
  }
18
31
  declare const noCommentedOutCodeRule: {
19
32
  createOnce(context: Context): {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-commented-out-code-rule.d.ts","sourceRoot":"","sources":["../../src/rules/plugin-commented-out-code-rule.ts"],"names":[],"mappings":"AAQA,UAAU,GAAG;IACX,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,KAAK;IACb,WAAW,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC;CAC3C;AAED,KAAK,WAAW,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,GAAG,CAAC;AAEzC,UAAU,gBAAgB;IACxB,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,OAAO;IACf,MAAM,EAAE,CAAC,UAAU,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA0PD,QAAA,MAAM,sBAAsB;wBACN,OAAO;sBAET,MAAM,GAAG,IAAI;;;;;;;sBAFX,OAAO;sBAET,MAAM,GAAG,IAAI;;CAgB/B,CAAC;AAEH,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"plugin-commented-out-code-rule.d.ts","sourceRoot":"","sources":["../../src/rules/plugin-commented-out-code-rule.ts"],"names":[],"mappings":"AAeA,UAAU,GAAG;IACX,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,KAAK;IACb,WAAW,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC;CAC3C;AAED,KAAK,WAAW,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,GAAG,CAAC;AAEzC,UAAU,gBAAgB;IACxB,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,YAAY;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,UAAU;IAClB,cAAc,CAAC,EAAE,MAAM,SAAS,YAAY,EAAE,CAAC;IAC/C,OAAO,CAAC,EAAE,MAAM,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,UAAU,OAAO;IACf,MAAM,EAAE,CAAC,UAAU,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAoRD,QAAA,MAAM,sBAAsB;wBACN,OAAO;sBAET,MAAM,GAAG,IAAI;;;;;;;sBAFX,OAAO;sBAET,MAAM,GAAG,IAAI;;CAgB/B,CAAC;AAEH,eAAe,sBAAsB,CAAC"}
@@ -1,100 +1,192 @@
1
1
  /* -------------------------------------------------------------------------- */
2
2
  /* Oxlint plugin rule for removing commented-out code. */
3
3
  /* -------------------------------------------------------------------------- */
4
- import { Array, HashSet, Match, Option, pipe } from 'effect';
4
+ import { CHAR_CLASS, CLS_DIGIT, CLS_LOWER, CLS_UNDER, CLS_UPPER } from './char-class.js';
5
+ import { Match, pipe } from 'effect';
6
+ import { indexAfterLineEnding, isECMAScriptLineEnding, scanSourceComments, } from './plugin-commented-out-code-source-scanner.js';
5
7
  import { diagnosticMessage } from './diagnostic-guidance.js';
6
8
  import isCommentedOutCode from './no-commented-out-code.js';
7
9
  import { readCachedSource } from './source-cache.js';
8
- const quoteCharacters = HashSet.make("'", '"', '`');
9
- const scanIndexes = (startIndex, endIndex) => Match.value(startIndex).pipe(Match.when((value) => value > endIndex, () => []), Match.orElse((value) => Array.range(value, endIndex)));
10
10
  const readSource = (context) => readCachedSource(context);
11
11
  const removeRangeFix = (range) => (fixer) => fixer.removeRange(range);
12
- const nextIndexInQuote = (char, quote, index) => Match.value(char).pipe(Match.when('\\', () => ({ index: index + 2, quote })), Match.when((value) => value === quote, () => ({ index: index + 1, quote: '' })), Match.orElse(() => ({ index: index + 1, quote })));
13
- const quoteStart = (char) => Match.value(char).pipe(Match.when((value) => HashSet.has(quoteCharacters, value), (value) => value), Match.orElse(() => undefined));
14
- const commentStartAt = (source, index) => Match.value({ char: source[index], nextChar: source[index + 1] }).pipe(Match.when(({ char, nextChar }) => char === '/' && nextChar === '/', () => ({ index, kind: 'line' })), Match.when(({ char, nextChar }) => char === '/' && nextChar === '*', () => ({ index, kind: 'block' })), Match.orElse(() => undefined));
15
- const nextCommentScanStep = (source, index, quote) => {
16
- const char = source[index];
17
- return Match.value(quote).pipe(Match.when((value) => value !== '', (value) => nextIndexInQuote(char, value, index)), Match.orElse(() => pipe(Option.fromNullable(quoteStart(char)), Option.match({
18
- onNone: () => pipe(Option.fromNullable(commentStartAt(source, index)), Option.match({
19
- onNone: () => ({
20
- index: index + 1,
21
- quote,
22
- }),
23
- onSome: (commentStart) => ({
24
- commentStart,
25
- index,
26
- quote,
27
- }),
28
- })),
29
- onSome: (nextQuote) => ({
30
- index: index + 1,
31
- quote: nextQuote,
32
- }),
33
- }))));
34
- };
35
- const findNextCommentStart = (source, start) => pipe(scanIndexes(start, source.length - 1), Array.reduce({ commentStart: undefined, index: start, quote: '' }, (state, scanIndex) => Match.value(state.commentStart !== undefined || scanIndex < state.index).pipe(Match.when(true, () => state), Match.orElse(() => {
36
- const step = nextCommentScanStep(source, scanIndex, state.quote);
37
- return {
38
- commentStart: step.commentStart,
39
- index: step.index,
40
- quote: step.quote,
41
- };
42
- }))), (state) => state.commentStart);
12
+ const COMMENT_DIAGNOSTIC = diagnosticMessage({
13
+ example: 'const live = computeValue();',
14
+ fix: 'Delete the commented code. If it is still needed, restore it as live code with tests.',
15
+ summary: 'Commented-out code is dead code and wastes agent context.',
16
+ });
17
+ const CHAR_CODE_FORM_FEED = 12;
18
+ const CHAR_CODE_DOLLAR = 36;
19
+ const CHAR_CODE_DOT = 46;
20
+ const CHAR_CODE_SPACE = 32;
21
+ const CHAR_CODE_STAR = 42;
22
+ const CHAR_CODE_TAB = 9;
23
+ const CHAR_CODE_VERTICAL_TAB = 11;
24
+ const IDENTIFIER_CLASS = CLS_UPPER | CLS_LOWER | CLS_DIGIT | CLS_UNDER;
25
+ const TOKEN_JOINING_PAIRS = new Set([
26
+ '!=',
27
+ '%=',
28
+ '&&',
29
+ '&=',
30
+ '**',
31
+ '*=',
32
+ '++',
33
+ '+=',
34
+ '--',
35
+ '-=',
36
+ '->',
37
+ '/*',
38
+ '//',
39
+ '/=',
40
+ '<<',
41
+ '<=',
42
+ '==',
43
+ '=>',
44
+ '>=',
45
+ '>>',
46
+ '?.',
47
+ '??',
48
+ '^=',
49
+ '|=',
50
+ '||',
51
+ ]);
52
+ const lineStartBefore = (source, start) => {
53
+ let index = start;
54
+ while (index > 0) {
55
+ if (isECMAScriptLineEnding(source.charCodeAt(index - 1))) {
56
+ return index;
57
+ }
58
+ index -= 1;
59
+ }
60
+ return 0;
61
+ };
62
+ const isHorizontalWhitespace = (code) => code === CHAR_CODE_TAB ||
63
+ code === CHAR_CODE_VERTICAL_TAB ||
64
+ code === CHAR_CODE_FORM_FEED ||
65
+ code === CHAR_CODE_SPACE;
66
+ const standaloneLineStart = (source, start) => {
67
+ const lineStart = lineStartBefore(source, start);
68
+ for (let index = lineStart; index < start; index += 1) {
69
+ if (!isHorizontalWhitespace(source.charCodeAt(index))) {
70
+ return undefined;
71
+ }
72
+ }
73
+ return lineStart;
74
+ };
75
+ const lineFixRange = (source, start, end) => {
76
+ const standaloneStart = standaloneLineStart(source, start);
77
+ if (standaloneStart === undefined) {
78
+ return [start, end];
79
+ }
80
+ return [standaloneStart, indexAfterLineEnding(source, end)];
81
+ };
82
+ const isIdentifierLike = (code) => (CHAR_CLASS[code] & IDENTIFIER_CLASS) !== 0 ||
83
+ code === CHAR_CODE_DOLLAR ||
84
+ code >= CHAR_CLASS.length;
85
+ const isDigit = (code) => (CHAR_CLASS[code] & CLS_DIGIT) !== 0;
86
+ const isTokenJoiningOperator = (left, right) => TOKEN_JOINING_PAIRS.has(String.fromCharCode(left, right)) ||
87
+ (left === CHAR_CODE_DOT && isDigit(right)) ||
88
+ (isDigit(left) && right === CHAR_CODE_DOT);
89
+ const wouldMergeTokens = (source, start, end) => {
90
+ if (start === 0 || end === source.length) {
91
+ return false;
92
+ }
93
+ const left = source.charCodeAt(start - 1);
94
+ const right = source.charCodeAt(end);
95
+ return (isIdentifierLike(left) && isIdentifierLike(right)) || isTokenJoiningOperator(left, right);
96
+ };
97
+ const containsLineEnding = (source, start, end) => {
98
+ for (let index = start; index < end; index += 1) {
99
+ if (isECMAScriptLineEnding(source.charCodeAt(index))) {
100
+ return true;
101
+ }
102
+ }
103
+ return false;
104
+ };
105
+ const blockFixRange = (source, start, end) => {
106
+ if (containsLineEnding(source, start, end) || wouldMergeTokens(source, start, end)) {
107
+ return undefined;
108
+ }
109
+ return [start, end];
110
+ };
111
+ const reportDescriptor = (node, range) => {
112
+ if (range === undefined) {
113
+ return { message: COMMENT_DIAGNOSTIC, node };
114
+ }
115
+ return { fix: removeRangeFix(range), message: COMMENT_DIAGNOSTIC, node };
116
+ };
117
+ const reportComment = (context, node, body, range) => {
118
+ if (isCommentedOutCode(body)) {
119
+ context.report(reportDescriptor(node, range));
120
+ }
121
+ };
43
122
  const withCreateOnce = (rule) => Object.assign(rule, { create: rule.createOnce });
44
- const rangeEndForComment = (bodyEnd, sourceLength, suffixLength) => Match.value(bodyEnd).pipe(Match.when(-1, () => sourceLength), Match.orElse((end) => end + suffixLength));
45
- const nextSearchStart = (bodyEnd, sourceLength, suffixLength) => rangeEndForComment(bodyEnd, sourceLength, suffixLength);
46
- const reportBlockCommentedOutCode = (context, node, source, start) => {
47
- const bodyStart = start + 2;
48
- const bodyEnd = source.indexOf('*/', bodyStart);
49
- const commentEnd = rangeEndForComment(bodyEnd, source.length, 0);
50
- pipe(Match.value(isCommentedOutCode(source.slice(bodyStart, commentEnd))), Match.when(true, () => {
51
- context.report({
52
- fix: removeRangeFix([start, rangeEndForComment(bodyEnd, source.length, 2)]),
53
- message: diagnosticMessage({
54
- example: 'const live = computeValue();',
55
- fix: 'Delete the commented code. If it is still needed, restore it as live code with tests.',
56
- summary: 'Commented-out code is dead code and wastes agent context.',
57
- }),
58
- node,
59
- });
60
- }), Match.orElse(() => undefined));
61
- return nextSearchStart(bodyEnd, source.length, 2);
62
- };
63
- const reportLineCommentedOutCode = (context, node, source, start) => {
64
- const bodyStart = start + 2;
65
- const bodyEnd = source.indexOf('\n', bodyStart);
66
- const commentEnd = rangeEndForComment(bodyEnd, source.length, 0);
67
- pipe(Match.value(isCommentedOutCode(source.slice(bodyStart, commentEnd))), Match.when(true, () => {
68
- context.report({
69
- fix: removeRangeFix([start, rangeEndForComment(bodyEnd, source.length, 1)]),
70
- message: diagnosticMessage({
71
- example: 'const live = computeValue();',
72
- fix: 'Delete the commented code. If it is still needed, restore it as live code with tests.',
73
- summary: 'Commented-out code is dead code and wastes agent context.',
74
- }),
75
- node,
76
- });
77
- }), Match.orElse(() => undefined));
78
- return nextSearchStart(bodyEnd, source.length, 1);
79
- };
80
- const reportNextCommentedOutCode = (context, node, source, start) => pipe(Option.fromNullable(findNextCommentStart(source, start)), Option.match({
81
- onNone: () => ({
82
- isDone: true,
83
- searchStart: start,
84
- }),
85
- onSome: (commentStart) => ({
86
- isDone: false,
87
- searchStart: Match.value(commentStart.kind).pipe(Match.when('block', () => reportBlockCommentedOutCode(context, node, source, commentStart.index)), Match.orElse(() => reportLineCommentedOutCode(context, node, source, commentStart.index))),
88
- }),
89
- }));
90
- const reportCommentedOutCode = (context, node, source) => void pipe(scanIndexes(0, source.length - 1), Array.reduce({ isDone: false, searchStart: 0 }, (state, scanIndex) => Match.value(state.isDone || scanIndex < state.searchStart).pipe(Match.when(true, () => state), Match.orElse(() => reportNextCommentedOutCode(context, node, source, scanIndex)))));
123
+ const fallbackFixRange = (source, comment) => {
124
+ if (comment.type === 'Line') {
125
+ return lineFixRange(source, comment.start, comment.end);
126
+ }
127
+ return blockFixRange(source, comment.start, comment.end);
128
+ };
129
+ const reportScannedComment = (context, node, source, comment) => {
130
+ reportComment(context, node, source.slice(comment.bodyStart, comment.bodyEnd), fallbackFixRange(source, comment));
131
+ };
132
+ const reportCommentedOutCode = (context, node, source) => {
133
+ scanSourceComments(source, (comment) => {
134
+ reportScannedComment(context, node, source, comment);
135
+ });
136
+ };
137
+ const tokenBoundary = (directBoundary, rangeBoundary) => directBoundary ?? rangeBoundary;
138
+ const isValidCommentRange = (start, end, sourceLength) => start !== undefined && end !== undefined && start >= 0 && end >= start && end <= sourceLength;
139
+ const isCommentType = (type) => type === 'Block' || type === 'Line';
140
+ const tokenBodyEnd = (source, end, type) => {
141
+ if (type === 'Block' && source.charCodeAt(end - 2) === CHAR_CODE_STAR) {
142
+ return end - 2;
143
+ }
144
+ return end;
145
+ };
146
+ const tokenBody = (source, token, start, end, type) => {
147
+ if (token.value !== undefined) {
148
+ return token.value;
149
+ }
150
+ return source.slice(start + 2, tokenBodyEnd(source, end, type));
151
+ };
152
+ const tokenFixRange = (source, start, end, type) => {
153
+ if (type === 'Line') {
154
+ return lineFixRange(source, start, end);
155
+ }
156
+ return blockFixRange(source, start, end);
157
+ };
158
+ const reportNativeComment = (context, node, source, token) => {
159
+ const start = tokenBoundary(token.start, token.range?.[0]);
160
+ const end = tokenBoundary(token.end, token.range?.[1]);
161
+ if (!isValidCommentRange(start, end, source.length) || end === undefined) {
162
+ return;
163
+ }
164
+ const { type } = token;
165
+ if (!isCommentType(type)) {
166
+ return;
167
+ }
168
+ reportComment(context, node, tokenBody(source, token, start, end, type), tokenFixRange(source, start, end, type));
169
+ };
170
+ const reportNativeComments = (context, node, source, comments) => {
171
+ for (const token of comments) {
172
+ reportNativeComment(context, node, source, token);
173
+ }
174
+ };
175
+ const reportAvailableComments = (context, node, source) => {
176
+ const { sourceCode } = context;
177
+ if (sourceCode?.getAllComments === undefined) {
178
+ reportCommentedOutCode(context, node, source);
179
+ return;
180
+ }
181
+ reportNativeComments(context, node, source, sourceCode.getAllComments());
182
+ };
91
183
  const noCommentedOutCodeRule = withCreateOnce({
92
184
  createOnce(context) {
93
185
  return {
94
186
  Program(node) {
95
187
  const source = readSource(context);
96
188
  pipe(Match.value(source), Match.when('', () => undefined), Match.orElse((value) => {
97
- reportCommentedOutCode(context, node, value);
189
+ reportAvailableComments(context, node, value);
98
190
  }));
99
191
  },
100
192
  };
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-commented-out-code-rule.js","sourceRoot":"","sources":["../../src/rules/plugin-commented-out-code-rule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-commented-out-code-rule.js","sourceRoot":"","sources":["../../src/rules/plugin-commented-out-code-rule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { CommentConsumer } from './plugin-commented-out-code-lexical-primitives';
2
+ export { indexAfterLineEnding, isECMAScriptLineEnding, } from './plugin-commented-out-code-lexical-primitives';
3
+ export type { ScannedComment } from './plugin-commented-out-code-lexical-primitives';
4
+ /**
5
+ * Emits genuine comments while treating regex, JSX, hashbangs, and template raw chunks as opaque.
6
+ */
7
+ export declare const scanSourceComments: (source: string, consumeComment: CommentConsumer) => void;
8
+ //# sourceMappingURL=plugin-commented-out-code-source-scanner.d.ts.map