@codefast/cli 0.3.13-canary.0 → 0.3.13-canary.2

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 (390) hide show
  1. package/dist/bin.d.ts +3 -0
  2. package/dist/bin.d.ts.map +1 -0
  3. package/dist/{bin.mjs → bin.js} +1 -4
  4. package/dist/commands/arrange.d.ts +3 -0
  5. package/dist/commands/arrange.d.ts.map +1 -0
  6. package/dist/commands/arrange.js +129 -0
  7. package/dist/commands/mirror.d.ts +4 -0
  8. package/dist/commands/mirror.d.ts.map +1 -0
  9. package/dist/commands/mirror.js +75 -0
  10. package/dist/commands/tag.d.ts +3 -0
  11. package/dist/commands/tag.d.ts.map +1 -0
  12. package/dist/commands/tag.js +41 -0
  13. package/dist/lib/arrange/application/analyze.d.ts +17 -0
  14. package/dist/lib/arrange/application/analyze.d.ts.map +1 -0
  15. package/dist/lib/arrange/application/analyze.js +24 -0
  16. package/dist/lib/arrange/application/group-file-preview.d.ts +17 -0
  17. package/dist/lib/arrange/application/group-file-preview.d.ts.map +1 -0
  18. package/dist/lib/arrange/application/group-file-preview.js +46 -0
  19. package/dist/lib/arrange/application/group-file.d.ts +5 -0
  20. package/dist/lib/arrange/application/group-file.d.ts.map +1 -0
  21. package/dist/lib/arrange/application/group-file.js +40 -0
  22. package/dist/lib/arrange/application/ports/domain-source-parser.port.d.ts +5 -0
  23. package/dist/lib/arrange/application/ports/domain-source-parser.port.d.ts.map +1 -0
  24. package/dist/lib/arrange/application/ports/file-walker.port.d.ts +5 -0
  25. package/dist/lib/arrange/application/ports/file-walker.port.d.ts.map +1 -0
  26. package/dist/lib/arrange/application/requests/analyze-directory.request.d.ts +6 -0
  27. package/dist/lib/arrange/application/requests/analyze-directory.request.d.ts.map +1 -0
  28. package/dist/lib/arrange/application/requests/analyze-directory.request.js +4 -0
  29. package/dist/lib/arrange/application/requests/arrange-sync.request.d.ts +18 -0
  30. package/dist/lib/arrange/application/requests/arrange-sync.request.d.ts.map +1 -0
  31. package/dist/lib/arrange/application/requests/arrange-sync.request.js +15 -0
  32. package/dist/lib/arrange/application/run-target.d.ts +19 -0
  33. package/dist/lib/arrange/application/run-target.d.ts.map +1 -0
  34. package/dist/lib/arrange/application/run-target.js +85 -0
  35. package/dist/lib/arrange/domain/arrange-analyze.service.d.ts +12 -0
  36. package/dist/lib/arrange/domain/arrange-analyze.service.d.ts.map +1 -0
  37. package/dist/lib/arrange/domain/arrange-analyze.service.js +116 -0
  38. package/dist/lib/arrange/domain/arrange-grouping.service.d.ts +53 -0
  39. package/dist/lib/arrange/domain/arrange-grouping.service.d.ts.map +1 -0
  40. package/dist/lib/arrange/domain/arrange-grouping.service.js +106 -0
  41. package/dist/lib/arrange/domain/ast/ast-helpers.d.ts +28 -0
  42. package/dist/lib/arrange/domain/ast/ast-helpers.d.ts.map +1 -0
  43. package/dist/lib/arrange/domain/ast/ast-helpers.js +130 -0
  44. package/dist/lib/arrange/domain/ast/ast-node.model.d.ts +179 -0
  45. package/dist/lib/arrange/domain/ast/ast-node.model.d.ts.map +1 -0
  46. package/dist/lib/arrange/domain/ast/ast-node.model.js +210 -0
  47. package/dist/lib/arrange/domain/ast/collectors-cn.d.ts +7 -0
  48. package/dist/lib/arrange/domain/ast/collectors-cn.d.ts.map +1 -0
  49. package/dist/lib/arrange/domain/ast/collectors-cn.js +70 -0
  50. package/dist/lib/arrange/domain/ast/collectors-jsx.d.ts +4 -0
  51. package/dist/lib/arrange/domain/ast/collectors-jsx.d.ts.map +1 -0
  52. package/dist/lib/arrange/domain/ast/collectors-jsx.js +21 -0
  53. package/dist/lib/arrange/domain/ast/collectors-tv.d.ts +13 -0
  54. package/dist/lib/arrange/domain/ast/collectors-tv.d.ts.map +1 -0
  55. package/dist/lib/arrange/domain/ast/collectors-tv.js +302 -0
  56. package/dist/lib/arrange/domain/ast/targets.d.ts +8 -0
  57. package/dist/lib/arrange/domain/ast/targets.d.ts.map +1 -0
  58. package/dist/lib/arrange/domain/ast/targets.js +147 -0
  59. package/dist/lib/arrange/domain/constants.d.ts +68 -0
  60. package/dist/lib/arrange/domain/constants.d.ts.map +1 -0
  61. package/dist/lib/arrange/domain/constants.js +180 -0
  62. package/dist/lib/arrange/domain/errors.d.ts +14 -0
  63. package/dist/lib/arrange/domain/errors.d.ts.map +1 -0
  64. package/dist/lib/arrange/domain/errors.js +16 -0
  65. package/dist/lib/arrange/domain/grouping.d.ts +41 -0
  66. package/dist/lib/arrange/domain/grouping.d.ts.map +1 -0
  67. package/dist/lib/arrange/domain/grouping.js +307 -0
  68. package/dist/lib/arrange/domain/imports.d.ts +7 -0
  69. package/dist/lib/arrange/domain/imports.d.ts.map +1 -0
  70. package/dist/lib/arrange/domain/imports.js +80 -0
  71. package/dist/lib/arrange/domain/source-text-formatters.d.ts +16 -0
  72. package/dist/lib/arrange/domain/source-text-formatters.d.ts.map +1 -0
  73. package/dist/lib/arrange/domain/source-text-formatters.js +55 -0
  74. package/dist/lib/arrange/domain/tokenizer.d.ts +45 -0
  75. package/dist/lib/arrange/domain/tokenizer.d.ts.map +1 -0
  76. package/dist/lib/arrange/domain/tokenizer.js +466 -0
  77. package/dist/lib/arrange/domain/types.d.ts +112 -0
  78. package/dist/lib/arrange/domain/types.d.ts.map +1 -0
  79. package/dist/lib/arrange/domain/types.js +7 -0
  80. package/dist/lib/arrange/index.d.ts +45 -0
  81. package/dist/lib/arrange/index.d.ts.map +1 -0
  82. package/dist/lib/arrange/index.js +41 -0
  83. package/dist/lib/arrange/infra/arrange-sync-cli-options.d.ts +14 -0
  84. package/dist/lib/arrange/infra/arrange-sync-cli-options.d.ts.map +1 -0
  85. package/dist/lib/arrange/infra/domain-source-parser.adapter.d.ts +11 -0
  86. package/dist/lib/arrange/infra/domain-source-parser.adapter.d.ts.map +1 -0
  87. package/dist/lib/arrange/infra/domain-source-parser.adapter.js +19 -0
  88. package/dist/lib/arrange/infra/ensure-cn-import.d.ts +3 -0
  89. package/dist/lib/arrange/infra/ensure-cn-import.d.ts.map +1 -0
  90. package/dist/lib/arrange/infra/ensure-cn-import.js +6 -0
  91. package/dist/lib/arrange/infra/file-walker.adapter.d.ts +8 -0
  92. package/dist/lib/arrange/infra/file-walker.adapter.d.ts.map +1 -0
  93. package/dist/lib/arrange/infra/file-walker.adapter.js +17 -0
  94. package/dist/lib/arrange/infra/merge-cn-literal-pool-for-test.d.ts +8 -0
  95. package/dist/lib/arrange/infra/merge-cn-literal-pool-for-test.d.ts.map +1 -0
  96. package/dist/lib/arrange/infra/merge-cn-literal-pool-for-test.js +25 -0
  97. package/dist/lib/arrange/infra/ts-ast-translator.d.ts +10 -0
  98. package/dist/lib/arrange/infra/ts-ast-translator.d.ts.map +1 -0
  99. package/dist/lib/arrange/infra/ts-ast-translator.js +363 -0
  100. package/dist/lib/arrange/presentation/formatters.d.ts +3 -0
  101. package/dist/lib/arrange/presentation/formatters.d.ts.map +1 -0
  102. package/dist/lib/arrange/presentation/formatters.js +2 -0
  103. package/dist/lib/arrange/presentation/report.d.ts +4 -0
  104. package/dist/lib/arrange/presentation/report.d.ts.map +1 -0
  105. package/dist/lib/arrange/presentation/report.js +37 -0
  106. package/dist/lib/config/domain/schema.d.ts +50 -0
  107. package/dist/lib/config/domain/schema.d.ts.map +1 -0
  108. package/dist/lib/config/domain/schema.js +43 -0
  109. package/dist/lib/config/index.d.ts +4 -0
  110. package/dist/lib/config/index.d.ts.map +1 -0
  111. package/dist/lib/config/index.js +2 -0
  112. package/dist/lib/config/infra/loader.d.ts +11 -0
  113. package/dist/lib/config/infra/loader.d.ts.map +1 -0
  114. package/dist/lib/config/infra/loader.js +90 -0
  115. package/dist/lib/core/application/architecture-boundaries.d.ts +19 -0
  116. package/dist/lib/core/application/architecture-boundaries.d.ts.map +1 -0
  117. package/dist/lib/core/application/architecture-boundaries.js +263 -0
  118. package/dist/lib/core/application/ports/cli-io.port.d.ts +27 -0
  119. package/dist/lib/core/application/ports/cli-io.port.d.ts.map +1 -0
  120. package/dist/lib/core/application/schema-parse.d.ts +8 -0
  121. package/dist/lib/core/application/schema-parse.d.ts.map +1 -0
  122. package/dist/lib/core/application/schema-parse.js +20 -0
  123. package/dist/lib/core/application/utils/caught-unknown-message.d.ts +6 -0
  124. package/dist/lib/core/application/utils/caught-unknown-message.d.ts.map +1 -0
  125. package/dist/lib/core/application/utils/caught-unknown-message.js +34 -0
  126. package/dist/lib/core/application/utils/verbose-diagnostics.d.ts +5 -0
  127. package/dist/lib/core/application/utils/verbose-diagnostics.d.ts.map +1 -0
  128. package/dist/lib/core/application/utils/verbose-diagnostics.js +7 -0
  129. package/dist/lib/core/domain/errors.d.ts +11 -0
  130. package/dist/lib/core/domain/errors.d.ts.map +1 -0
  131. package/dist/lib/core/domain/errors.js +9 -0
  132. package/dist/lib/core/domain/result.d.ts +15 -0
  133. package/dist/lib/core/domain/result.d.ts.map +1 -0
  134. package/dist/lib/core/domain/result.js +9 -0
  135. package/dist/lib/core/infra/container.d.ts +34 -0
  136. package/dist/lib/core/infra/container.d.ts.map +1 -0
  137. package/dist/lib/core/infra/container.js +65 -0
  138. package/dist/lib/core/infra/logging-decorator.d.ts +12 -0
  139. package/dist/lib/core/infra/logging-decorator.d.ts.map +1 -0
  140. package/dist/lib/core/infra/logging-decorator.js +75 -0
  141. package/dist/lib/core/presentation/cli-executor.d.ts +33 -0
  142. package/dist/lib/core/presentation/cli-executor.d.ts.map +1 -0
  143. package/dist/lib/core/presentation/cli-executor.js +73 -0
  144. package/dist/lib/core/presentation/create-command-handler.d.ts +20 -0
  145. package/dist/lib/core/presentation/create-command-handler.d.ts.map +1 -0
  146. package/dist/lib/core/presentation/create-command-handler.js +70 -0
  147. package/dist/lib/core/presentation/format-app-error.d.ts +6 -0
  148. package/dist/lib/core/presentation/format-app-error.d.ts.map +1 -0
  149. package/dist/lib/core/presentation/format-app-error.js +19 -0
  150. package/dist/lib/infra/caught-unknown-message.d.ts +2 -0
  151. package/dist/lib/infra/caught-unknown-message.d.ts.map +1 -0
  152. package/dist/lib/infra/caught-unknown-message.js +1 -0
  153. package/dist/lib/infra/config-reporter.d.ts +4 -0
  154. package/dist/lib/infra/config-reporter.d.ts.map +1 -0
  155. package/dist/lib/infra/config-reporter.js +9 -0
  156. package/dist/lib/infra/fs-contract.d.ts +2 -0
  157. package/dist/lib/infra/fs-contract.d.ts.map +1 -0
  158. package/dist/lib/infra/fs-contract.js +1 -0
  159. package/dist/lib/infra/node-io.d.ts +4 -0
  160. package/dist/lib/infra/node-io.d.ts.map +1 -0
  161. package/dist/lib/infra/node-io.js +27 -0
  162. package/dist/lib/infra/workspace/repo-root.d.ts +7 -0
  163. package/dist/lib/infra/workspace/repo-root.d.ts.map +1 -0
  164. package/dist/lib/infra/workspace/repo-root.js +23 -0
  165. package/dist/lib/mirror/application/engine.d.ts +10 -0
  166. package/dist/lib/mirror/application/engine.d.ts.map +1 -0
  167. package/dist/lib/mirror/application/engine.js +271 -0
  168. package/dist/lib/mirror/application/ports/file-system-service.port.d.ts +6 -0
  169. package/dist/lib/mirror/application/ports/file-system-service.port.d.ts.map +1 -0
  170. package/dist/lib/mirror/application/ports/file-system-service.port.js +1 -0
  171. package/dist/lib/mirror/application/ports/mirror-sync-reporter.port.d.ts +27 -0
  172. package/dist/lib/mirror/application/ports/mirror-sync-reporter.port.d.ts.map +1 -0
  173. package/dist/lib/mirror/application/ports/mirror-sync-reporter.port.js +1 -0
  174. package/dist/lib/mirror/application/ports/package-repository.port.d.ts +16 -0
  175. package/dist/lib/mirror/application/ports/package-repository.port.d.ts.map +1 -0
  176. package/dist/lib/mirror/application/ports/package-repository.port.js +1 -0
  177. package/dist/lib/mirror/application/ports/workspace-service.port.d.ts +7 -0
  178. package/dist/lib/mirror/application/ports/workspace-service.port.d.ts.map +1 -0
  179. package/dist/lib/mirror/application/ports/workspace-service.port.js +1 -0
  180. package/dist/lib/mirror/application/requests/mirror-sync.request.d.ts +10 -0
  181. package/dist/lib/mirror/application/requests/mirror-sync.request.d.ts.map +1 -0
  182. package/dist/lib/mirror/application/requests/mirror-sync.request.js +8 -0
  183. package/dist/lib/mirror/application/sync.d.ts +19 -0
  184. package/dist/lib/mirror/application/sync.d.ts.map +1 -0
  185. package/dist/lib/mirror/application/sync.js +168 -0
  186. package/dist/lib/mirror/domain/constants.d.ts +6 -0
  187. package/dist/lib/mirror/domain/constants.d.ts.map +1 -0
  188. package/dist/lib/mirror/domain/constants.js +5 -0
  189. package/dist/lib/mirror/domain/errors.d.ts +10 -0
  190. package/dist/lib/mirror/domain/errors.d.ts.map +1 -0
  191. package/dist/lib/mirror/domain/errors.js +12 -0
  192. package/dist/lib/mirror/domain/types.d.ts +65 -0
  193. package/dist/lib/mirror/domain/types.d.ts.map +1 -0
  194. package/dist/lib/mirror/domain/types.js +1 -0
  195. package/dist/lib/mirror/index.d.ts +6 -0
  196. package/dist/lib/mirror/index.d.ts.map +1 -0
  197. package/dist/lib/mirror/index.js +1 -0
  198. package/dist/lib/mirror/infra/dirent-list.d.ts +9 -0
  199. package/dist/lib/mirror/infra/dirent-list.d.ts.map +1 -0
  200. package/dist/lib/mirror/infra/dirent-list.js +13 -0
  201. package/dist/lib/mirror/infra/file-system-service.adapter.d.ts +7 -0
  202. package/dist/lib/mirror/infra/file-system-service.adapter.d.ts.map +1 -0
  203. package/dist/lib/mirror/infra/file-system-service.adapter.js +47 -0
  204. package/dist/lib/mirror/infra/mirror-sync-cli-options.d.ts +14 -0
  205. package/dist/lib/mirror/infra/mirror-sync-cli-options.d.ts.map +1 -0
  206. package/dist/lib/mirror/infra/mirror-sync-cli-options.js +1 -0
  207. package/dist/lib/mirror/infra/mirror-sync-reporter.adapter.d.ts +3 -0
  208. package/dist/lib/mirror/infra/mirror-sync-reporter.adapter.d.ts.map +1 -0
  209. package/dist/lib/mirror/infra/mirror-sync-reporter.adapter.js +13 -0
  210. package/dist/lib/mirror/infra/package-filter.d.ts +8 -0
  211. package/dist/lib/mirror/infra/package-filter.d.ts.map +1 -0
  212. package/dist/lib/mirror/infra/package-filter.js +33 -0
  213. package/dist/lib/mirror/infra/package-repository.adapter.d.ts +17 -0
  214. package/dist/lib/mirror/infra/package-repository.adapter.d.ts.map +1 -0
  215. package/dist/lib/mirror/infra/package-repository.adapter.js +17 -0
  216. package/dist/lib/mirror/infra/path-normalizer.d.ts +2 -0
  217. package/dist/lib/mirror/infra/path-normalizer.d.ts.map +1 -0
  218. package/dist/lib/mirror/infra/path-normalizer.js +4 -0
  219. package/dist/lib/mirror/infra/update-pkg.d.ts +19 -0
  220. package/dist/lib/mirror/infra/update-pkg.d.ts.map +1 -0
  221. package/dist/lib/mirror/infra/update-pkg.js +156 -0
  222. package/dist/lib/mirror/infra/workspace-packages.d.ts +26 -0
  223. package/dist/lib/mirror/infra/workspace-packages.d.ts.map +1 -0
  224. package/dist/lib/mirror/infra/workspace-packages.js +170 -0
  225. package/dist/lib/mirror/infra/workspace-service.adapter.d.ts +8 -0
  226. package/dist/lib/mirror/infra/workspace-service.adapter.d.ts.map +1 -0
  227. package/dist/lib/mirror/infra/workspace-service.adapter.js +10 -0
  228. package/dist/lib/mirror/presentation/reporter.d.ts +25 -0
  229. package/dist/lib/mirror/presentation/reporter.d.ts.map +1 -0
  230. package/dist/lib/mirror/presentation/reporter.js +140 -0
  231. package/dist/lib/shared/source-code/domain/text-edit.d.ts +14 -0
  232. package/dist/lib/shared/source-code/domain/text-edit.d.ts.map +1 -0
  233. package/dist/lib/shared/source-code/domain/text-edit.js +30 -0
  234. package/dist/lib/shared/source-code/infra/tsx-file-walk.d.ts +4 -0
  235. package/dist/lib/shared/source-code/infra/tsx-file-walk.d.ts.map +1 -0
  236. package/dist/lib/shared/source-code/infra/tsx-file-walk.js +37 -0
  237. package/dist/lib/tag/application/engine.d.ts +23 -0
  238. package/dist/lib/tag/application/engine.d.ts.map +1 -0
  239. package/dist/lib/tag/application/engine.js +357 -0
  240. package/dist/lib/tag/application/ports/target-resolver.port.d.ts +6 -0
  241. package/dist/lib/tag/application/ports/target-resolver.port.d.ts.map +1 -0
  242. package/dist/lib/tag/application/ports/target-resolver.port.js +1 -0
  243. package/dist/lib/tag/application/ports/typescript-tree-walk.port.d.ts +6 -0
  244. package/dist/lib/tag/application/ports/typescript-tree-walk.port.d.ts.map +1 -0
  245. package/dist/lib/tag/application/ports/typescript-tree-walk.port.js +1 -0
  246. package/dist/lib/tag/application/requests/tag-sync.request.d.ts +10 -0
  247. package/dist/lib/tag/application/requests/tag-sync.request.d.ts.map +1 -0
  248. package/dist/lib/tag/application/requests/tag-sync.request.js +8 -0
  249. package/dist/lib/tag/domain/types.d.ts +56 -0
  250. package/dist/lib/tag/domain/types.d.ts.map +1 -0
  251. package/dist/lib/tag/domain/types.js +1 -0
  252. package/dist/lib/tag/index.d.ts +14 -0
  253. package/dist/lib/tag/index.d.ts.map +1 -0
  254. package/dist/lib/tag/index.js +10 -0
  255. package/dist/lib/tag/infra/tag-sync-cli-options.d.ts +14 -0
  256. package/dist/lib/tag/infra/tag-sync-cli-options.d.ts.map +1 -0
  257. package/dist/lib/tag/infra/tag-sync-cli-options.js +1 -0
  258. package/dist/lib/tag/infra/tag-target-resolver.adapter.d.ts +3 -0
  259. package/dist/lib/tag/infra/tag-target-resolver.adapter.d.ts.map +1 -0
  260. package/dist/lib/tag/infra/tag-target-resolver.adapter.js +4 -0
  261. package/dist/lib/tag/infra/target-resolver.d.ts +4 -0
  262. package/dist/lib/tag/infra/target-resolver.d.ts.map +1 -0
  263. package/dist/lib/tag/infra/target-resolver.js +200 -0
  264. package/dist/lib/tag/infra/typescript-tree-walk.adapter.d.ts +3 -0
  265. package/dist/lib/tag/infra/typescript-tree-walk.adapter.d.ts.map +1 -0
  266. package/dist/lib/tag/infra/typescript-tree-walk.adapter.js +4 -0
  267. package/dist/lib/tag/presentation/colors.d.ts +8 -0
  268. package/dist/lib/tag/presentation/colors.d.ts.map +1 -0
  269. package/dist/lib/tag/presentation/colors.js +9 -0
  270. package/dist/lib/tag/presentation/tag-presenter.d.ts +20 -0
  271. package/dist/lib/tag/presentation/tag-presenter.d.ts.map +1 -0
  272. package/dist/lib/tag/presentation/tag-presenter.js +92 -0
  273. package/dist/program.d.ts +4 -0
  274. package/dist/program.d.ts.map +1 -0
  275. package/dist/program.js +40 -0
  276. package/package.json +8 -5
  277. package/dist/analyze-DvtJ3j9m.mjs +0 -92
  278. package/dist/arrange-Bbh62DrU.mjs +0 -107
  279. package/dist/arrange-BqP2DI3w.mjs +0 -8
  280. package/dist/ast-helpers-MDRYuIAk.mjs +0 -115
  281. package/dist/caught-unknown-message-CRhkDWO7.mjs +0 -20
  282. package/dist/collectors-cn-BS8TTQ8O.mjs +0 -61
  283. package/dist/collectors-jsx-D9tL2ZPM.mjs +0 -20
  284. package/dist/collectors-tv-D2PXZaRt.mjs +0 -170
  285. package/dist/colors-BjdkCfGK.mjs +0 -12
  286. package/dist/commands/arrange.mjs +0 -2
  287. package/dist/commands/mirror.mjs +0 -2
  288. package/dist/commands/mirror.test.mjs +0 -48
  289. package/dist/commands/tag.mjs +0 -2
  290. package/dist/config-DVia_f9a.mjs +0 -3
  291. package/dist/config-reporter-SCcWDZc1.mjs +0 -10
  292. package/dist/constants-AtPhF-Ct.mjs +0 -169
  293. package/dist/constants-Bq5wdyLC.mjs +0 -8
  294. package/dist/dirent-list-BSDeRG5i.mjs +0 -14
  295. package/dist/engine-CcWEHSCq.mjs +0 -287
  296. package/dist/engine-DRTdkc5u.mjs +0 -236
  297. package/dist/errors-CFH4w6ic.mjs +0 -15
  298. package/dist/errors-CpU1ogfA.mjs +0 -19
  299. package/dist/formatters-DGE8jJ53.mjs +0 -52
  300. package/dist/group-file-ClW7XdD6.mjs +0 -113
  301. package/dist/grouping-c1grpCQT.mjs +0 -235
  302. package/dist/imports-DSVq1xhB.mjs +0 -54
  303. package/dist/lib/arrange/application/analyze.mjs +0 -2
  304. package/dist/lib/arrange/application/analyze.test.mjs +0 -171
  305. package/dist/lib/arrange/application/group-file.mjs +0 -2
  306. package/dist/lib/arrange/application/group-file.test.mjs +0 -273
  307. package/dist/lib/arrange/application/run-target.mjs +0 -2
  308. package/dist/lib/arrange/application/run-target.test.mjs +0 -97
  309. package/dist/lib/arrange/domain/ast/ast-helpers.mjs +0 -2
  310. package/dist/lib/arrange/domain/ast/ast-helpers.test.mjs +0 -148
  311. package/dist/lib/arrange/domain/ast/collectors-cn.mjs +0 -2
  312. package/dist/lib/arrange/domain/ast/collectors-cn.test.mjs +0 -58
  313. package/dist/lib/arrange/domain/ast/collectors-jsx.mjs +0 -2
  314. package/dist/lib/arrange/domain/ast/collectors-jsx.test.mjs +0 -20
  315. package/dist/lib/arrange/domain/ast/collectors-tv.mjs +0 -2
  316. package/dist/lib/arrange/domain/ast/collectors-tv.test.mjs +0 -145
  317. package/dist/lib/arrange/domain/ast/targets.mjs +0 -2
  318. package/dist/lib/arrange/domain/ast/targets.test.mjs +0 -50
  319. package/dist/lib/arrange/domain/constants.mjs +0 -2
  320. package/dist/lib/arrange/domain/errors.mjs +0 -2
  321. package/dist/lib/arrange/domain/grouping.mjs +0 -2
  322. package/dist/lib/arrange/domain/grouping.test.mjs +0 -186
  323. package/dist/lib/arrange/domain/imports.mjs +0 -2
  324. package/dist/lib/arrange/domain/imports.test.mjs +0 -48
  325. package/dist/lib/arrange/domain/tokenizer.mjs +0 -2
  326. package/dist/lib/arrange/domain/tokenizer.test.mjs +0 -165
  327. package/dist/lib/arrange/index.mjs +0 -16
  328. package/dist/lib/arrange/infra/walk.mjs +0 -2
  329. package/dist/lib/arrange/infra/walk.test.mjs +0 -50
  330. package/dist/lib/arrange/presentation/formatters.mjs +0 -2
  331. package/dist/lib/arrange/presentation/formatters.test.mjs +0 -73
  332. package/dist/lib/arrange/presentation/report.mjs +0 -2
  333. package/dist/lib/config/domain/schema.mjs +0 -2
  334. package/dist/lib/config/index.mjs +0 -4
  335. package/dist/lib/config/infra/loader.mjs +0 -2
  336. package/dist/lib/config/infra/loader.test.mjs +0 -116
  337. package/dist/lib/infra/caught-unknown-message.mjs +0 -2
  338. package/dist/lib/infra/config-reporter.mjs +0 -2
  339. package/dist/lib/infra/node-io.mjs +0 -2
  340. package/dist/lib/infra/workspace/repo-root.mjs +0 -2
  341. package/dist/lib/infra/workspace/repo-root.test.mjs +0 -45
  342. package/dist/lib/mirror/application/engine.mjs +0 -2
  343. package/dist/lib/mirror/application/sync.mjs +0 -2
  344. package/dist/lib/mirror/application/sync.test.mjs +0 -482
  345. package/dist/lib/mirror/domain/constants.mjs +0 -2
  346. package/dist/lib/mirror/domain/errors.mjs +0 -2
  347. package/dist/lib/mirror/index.mjs +0 -3
  348. package/dist/lib/mirror/infra/dirent-list.mjs +0 -2
  349. package/dist/lib/mirror/infra/dirent-list.test.mjs +0 -18
  350. package/dist/lib/mirror/infra/package-filter.mjs +0 -2
  351. package/dist/lib/mirror/infra/package-filter.test.mjs +0 -32
  352. package/dist/lib/mirror/infra/path-normalizer.mjs +0 -2
  353. package/dist/lib/mirror/infra/update-pkg.mjs +0 -2
  354. package/dist/lib/mirror/infra/workspace-packages.mjs +0 -2
  355. package/dist/lib/mirror/infra/workspace-packages.test.mjs +0 -167
  356. package/dist/lib/mirror/presentation/reporter.mjs +0 -2
  357. package/dist/lib/tag/application/engine.mjs +0 -2
  358. package/dist/lib/tag/application/engine.test.mjs +0 -159
  359. package/dist/lib/tag/index.mjs +0 -5
  360. package/dist/lib/tag/infra/target-resolver.mjs +0 -2
  361. package/dist/lib/tag/presentation/colors.mjs +0 -2
  362. package/dist/lib/tag/presentation/tag-presenter.mjs +0 -2
  363. package/dist/lib/tag/presentation/tag-presenter.test.mjs +0 -29
  364. package/dist/loader-DpN-zl5g.mjs +0 -78
  365. package/dist/mirror-CbGiLXKT.mjs +0 -2
  366. package/dist/mirror-DqJE3ejL.mjs +0 -66
  367. package/dist/node-io-DFRbHO6m.mjs +0 -30
  368. package/dist/package-filter-C_8ryqvz.mjs +0 -26
  369. package/dist/path-normalizer-D4ceBO3l.mjs +0 -7
  370. package/dist/program-DR-H4tH3.mjs +0 -34
  371. package/dist/program.mjs +0 -2
  372. package/dist/repo-root-HmtIEm6J.mjs +0 -22
  373. package/dist/report-DYxvw34T.mjs +0 -24
  374. package/dist/reporter-CwIe_tAM.mjs +0 -108
  375. package/dist/run-target-CJWrqNT4.mjs +0 -65
  376. package/dist/schema-Or8RAARd.mjs +0 -25
  377. package/dist/sync-e1Sp-shi.mjs +0 -157
  378. package/dist/tag-Cd9JujU5.mjs +0 -2
  379. package/dist/tag-hEKVZ_-7.mjs +0 -58
  380. package/dist/tag-presenter-Cs66UBsH.mjs +0 -63
  381. package/dist/target-resolver-CR3FXMTy.mjs +0 -170
  382. package/dist/targets-pCTslnFh.mjs +0 -106
  383. package/dist/tokenizer-CeZx73Zu.mjs +0 -216
  384. package/dist/update-pkg-CnGfjWBy.mjs +0 -37
  385. package/dist/walk-DjgQn66n.mjs +0 -33
  386. package/dist/workspace-packages-K2NYTHJq.mjs +0 -159
  387. /package/dist/lib/arrange/{domain/types.mjs → application/ports/domain-source-parser.port.js} +0 -0
  388. /package/dist/lib/{infra/fs-contract.mjs → arrange/application/ports/file-walker.port.js} +0 -0
  389. /package/dist/lib/{mirror/domain/types.mjs → arrange/infra/arrange-sync-cli-options.js} +0 -0
  390. /package/dist/lib/{tag/domain/types.mjs → core/application/ports/cli-io.port.js} +0 -0
@@ -1,115 +0,0 @@
1
- import { a as EMPTY_CN_TV_BINDINGS } from "./constants-AtPhF-Ct.mjs";
2
- import ts from "typescript";
3
- //#region src/lib/arrange/domain/ast/ast-helpers.ts
4
- /** Known module specifiers that export `cn` / `tv`. */
5
- const KNOWN_CN_TV_MODULES = new Set([
6
- "@codefast/tailwind-variants",
7
- "clsx",
8
- "class-variance-authority",
9
- "tailwind-variants",
10
- "#lib/utils",
11
- "~/lib/utils",
12
- "@/lib/utils"
13
- ]);
14
- /**
15
- * True for typical shadcn-style re-exports: `./utils`, `@/lib/utils`, `…/utils/…`,
16
- * or a dedicated `cn.ts` / `cn.tsx` module.
17
- */
18
- function moduleLooksLikeCnTvReexport(moduleSpecifier) {
19
- const norm = moduleSpecifier.replace(/\\/g, "/");
20
- if (/(?:^|[./])utils(?:\/|$)/.test(norm)) return true;
21
- if (/\/utils\//.test(norm) || /\/utils$/.test(norm)) return true;
22
- if (/(?:^|\/)cn\.tsx?$/.test(norm)) return true;
23
- return false;
24
- }
25
- /**
26
- * Build a set of local binding names that are imported from a known cn/tv
27
- * module in `sf`.
28
- */
29
- function buildKnownCnTvBindings(sf) {
30
- const bindings = /* @__PURE__ */ new Set();
31
- for (const stmt of sf.statements) {
32
- if (!ts.isImportDeclaration(stmt) || !stmt.importClause) continue;
33
- if (stmt.importClause.isTypeOnly) continue;
34
- const spec = stmt.moduleSpecifier;
35
- if (!ts.isStringLiteral(spec)) continue;
36
- const moduleSpecifier = spec.text;
37
- if (!KNOWN_CN_TV_MODULES.has(moduleSpecifier) && !moduleLooksLikeCnTvReexport(moduleSpecifier)) continue;
38
- const clause = stmt.importClause;
39
- if (clause.name) bindings.add(clause.name.text);
40
- if (!clause.namedBindings) continue;
41
- if (ts.isNamedImports(clause.namedBindings)) {
42
- for (const namedImport of clause.namedBindings.elements) bindings.add(namedImport.name.text);
43
- continue;
44
- }
45
- bindings.add(clause.namedBindings.name.text);
46
- }
47
- return bindings;
48
- }
49
- /**
50
- * Returns true when `expr` is an identifier whose name matches `name` AND
51
- * that name is listed in `knownBindings` from a recognized import.
52
- */
53
- function isCnOrTvIdentifier(expr, name, knownBindings = EMPTY_CN_TV_BINDINGS) {
54
- if (knownBindings.size === 0) return false;
55
- if (ts.isIdentifier(expr) && expr.text === name) return knownBindings.has(expr.text);
56
- if (ts.isPropertyAccessExpression(expr) && expr.name.text === name) return ts.isIdentifier(expr.expression) && knownBindings.has(expr.expression.text);
57
- return false;
58
- }
59
- function propertyAssignmentNameText(prop) {
60
- if (ts.isIdentifier(prop.name)) return prop.name.text;
61
- if (ts.isStringLiteral(prop.name)) return prop.name.text;
62
- }
63
- function lineOf(sf, tsNode) {
64
- return sf.getLineAndCharacterOfPosition(tsNode.getStart(sf)).line + 1;
65
- }
66
- /**
67
- * Returns only the leading whitespace (tabs / spaces) of the line containing
68
- * `pos`.
69
- */
70
- function indentOfLineContaining(source, pos) {
71
- const searchPos = Math.max(0, Math.min(pos, source.length));
72
- const prevLineBreak = Math.max(source.lastIndexOf("\n", searchPos - 1), source.lastIndexOf("\r", searchPos - 1));
73
- const lineStart = prevLineBreak === -1 ? 0 : prevLineBreak + 1;
74
- let lineEnd = source.length;
75
- for (let i = lineStart; i < source.length; i++) {
76
- const ch = source[i];
77
- if (ch === "\n" || ch === "\r") {
78
- lineEnd = i;
79
- break;
80
- }
81
- }
82
- const line = source.slice(lineStart, lineEnd);
83
- return /^[\t ]*/.exec(line)?.[0] ?? "";
84
- }
85
- function applyEditsDescending(sourceText, edits) {
86
- const sorted = [...edits].sort((editA, editB) => editB.start - editA.start);
87
- let out = sourceText;
88
- for (const edit of sorted) out = out.slice(0, edit.start) + edit.replacement + out.slice(edit.end);
89
- return out;
90
- }
91
- /**
92
- * Replace `cn(...)` nested in `tv({...})` with a plain string (one arg) or a string
93
- * array (multiple args). Returns undefined when there are zero arguments.
94
- */
95
- function unwrapCnInsideTvCallReplacement(call, sourceText, sf) {
96
- const args = call.arguments;
97
- if (args.length === 0) return void 0;
98
- const baseIndent = indentOfLineContaining(sourceText, call.getStart(sf));
99
- const innerIndent = `${baseIndent} `;
100
- if (args.length === 1) {
101
- const firstArg = args[0];
102
- return sourceText.slice(firstArg.getStart(sf), firstArg.getEnd());
103
- }
104
- const lines = ["["];
105
- for (let i = 0; i < args.length; i++) {
106
- const arg = args[i];
107
- const piece = sourceText.slice(arg.getStart(sf), arg.getEnd());
108
- const comma = i < args.length - 1 || args.length > 1 ? "," : "";
109
- lines.push(`${innerIndent}${piece}${comma}`);
110
- }
111
- lines.push(`${baseIndent}]`);
112
- return lines.join("\n");
113
- }
114
- //#endregion
115
- export { isCnOrTvIdentifier as a, propertyAssignmentNameText as c, indentOfLineContaining as i, unwrapCnInsideTvCallReplacement as l, applyEditsDescending as n, lineOf as o, buildKnownCnTvBindings as r, moduleLooksLikeCnTvReexport as s, KNOWN_CN_TV_MODULES as t };
@@ -1,20 +0,0 @@
1
- //#region src/lib/infra/caught-unknown-message.ts
2
- /**
3
- * Stable, user-facing text for values caught as `unknown`.
4
- * Avoids `String(unknown)` / `[object Object]` and satisfies strict `no-base-to-string`.
5
- */
6
- function messageFromCaughtUnknown(value) {
7
- if (value instanceof Error) return value.message;
8
- if (typeof value === "string") return value;
9
- if (typeof value === "number" || typeof value === "bigint" || typeof value === "boolean") return String(value);
10
- if (typeof value === "symbol") return String(value);
11
- if (value === null) return "null";
12
- if (value === void 0) return "undefined";
13
- try {
14
- const serialized = JSON.stringify(value);
15
- if (typeof serialized === "string") return serialized;
16
- } catch {}
17
- return "[unserializable non-Error value]";
18
- }
19
- //#endregion
20
- export { messageFromCaughtUnknown as t };
@@ -1,61 +0,0 @@
1
- import "./constants-AtPhF-Ct.mjs";
2
- import ts from "typescript";
3
- //#region src/lib/arrange/domain/ast/collectors-cn.ts
4
- function forEachStringLiteralInClassExpression(expr, sink, depth = 0, options) {
5
- if (depth > 12) return;
6
- if (ts.isStringLiteral(expr) || ts.isNoSubstitutionTemplateLiteral(expr)) {
7
- sink(expr);
8
- return;
9
- }
10
- if (ts.isParenthesizedExpression(expr)) {
11
- forEachStringLiteralInClassExpression(expr.expression, sink, depth + 1, options);
12
- return;
13
- }
14
- if (ts.isAsExpression(expr) || ts.isSatisfiesExpression(expr)) {
15
- forEachStringLiteralInClassExpression(expr.expression, sink, depth + 1, options);
16
- return;
17
- }
18
- if (ts.isNonNullExpression(expr)) {
19
- forEachStringLiteralInClassExpression(expr.expression, sink, depth + 1, options);
20
- return;
21
- }
22
- if (ts.isConditionalExpression(expr)) {
23
- if (options?.descendIntoConditional === false) return;
24
- forEachStringLiteralInClassExpression(expr.whenTrue, sink, depth + 1, options);
25
- forEachStringLiteralInClassExpression(expr.whenFalse, sink, depth + 1, options);
26
- return;
27
- }
28
- if (ts.isBinaryExpression(expr) && expr.operatorToken.kind === ts.SyntaxKind.PlusToken) {
29
- forEachStringLiteralInClassExpression(expr.left, sink, depth + 1, options);
30
- forEachStringLiteralInClassExpression(expr.right, sink, depth + 1, options);
31
- return;
32
- }
33
- if (ts.isArrayLiteralExpression(expr)) for (const arrayElement of expr.elements) {
34
- if (ts.isSpreadElement(arrayElement)) continue;
35
- forEachStringLiteralInClassExpression(arrayElement, sink, depth + 1, options);
36
- }
37
- }
38
- function isUnsafeLiteralForCnStyleApplySplit(classLiteral) {
39
- return ts.isArrayLiteralExpression(classLiteral.parent);
40
- }
41
- const CN_APPLY_LITERAL_WALK_OPTS = { descendIntoConditional: false };
42
- function collectUnconditionalTailwindLiteralsFromCnArguments(args) {
43
- const staticLits = [];
44
- for (const arg of args) if (ts.isStringLiteral(arg) || ts.isNoSubstitutionTemplateLiteral(arg)) {
45
- if (!isUnsafeLiteralForCnStyleApplySplit(arg)) staticLits.push(arg);
46
- } else forEachStringLiteralInClassExpression(arg, (lit) => {
47
- if (!isUnsafeLiteralForCnStyleApplySplit(lit)) staticLits.push(lit);
48
- }, 0, CN_APPLY_LITERAL_WALK_OPTS);
49
- return staticLits;
50
- }
51
- function mergeCnUnconditionalLiteralPoolForTest(argsSnippet, options) {
52
- const callee = options?.callee ?? "cn";
53
- const sourceText = `${callee}(${argsSnippet});`;
54
- const stmt = ts.createSourceFile("mergeCnUnconditionalLiteralPoolForTest.ts", sourceText, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS).statements[0];
55
- if (!ts.isExpressionStatement(stmt)) throw new Error("expected expression statement");
56
- const call = stmt.expression;
57
- if (!ts.isCallExpression(call) || !ts.isIdentifier(call.expression) || call.expression.text !== callee) throw new Error(`expected ${callee}(...) call`);
58
- return collectUnconditionalTailwindLiteralsFromCnArguments(call.arguments).map((literal) => literal.text).join(" ");
59
- }
60
- //#endregion
61
- export { mergeCnUnconditionalLiteralPoolForTest as a, isUnsafeLiteralForCnStyleApplySplit as i, collectUnconditionalTailwindLiteralsFromCnArguments as n, forEachStringLiteralInClassExpression as r, CN_APPLY_LITERAL_WALK_OPTS as t };
@@ -1,20 +0,0 @@
1
- import ts from "typescript";
2
- //#region src/lib/arrange/domain/ast/collectors-jsx.ts
3
- function jsxClassNameStaticLiteral(jsxClassNameAttribute) {
4
- if (!ts.isIdentifier(jsxClassNameAttribute.name) || jsxClassNameAttribute.name.text !== "className") return void 0;
5
- const init = jsxClassNameAttribute.initializer;
6
- if (!init) return void 0;
7
- if (ts.isStringLiteral(init) || ts.isNoSubstitutionTemplateLiteral(init)) return {
8
- lit: init,
9
- valueNode: init
10
- };
11
- if (ts.isJsxExpression(init) && init.expression) {
12
- const jsxExpressionBody = init.expression;
13
- if (ts.isStringLiteral(jsxExpressionBody) || ts.isNoSubstitutionTemplateLiteral(jsxExpressionBody)) return {
14
- lit: jsxExpressionBody,
15
- valueNode: init
16
- };
17
- }
18
- }
19
- //#endregion
20
- export { jsxClassNameStaticLiteral as t };
@@ -1,170 +0,0 @@
1
- import "./constants-AtPhF-Ct.mjs";
2
- import { d as tokenizeClassString } from "./tokenizer-CeZx73Zu.mjs";
3
- import { i as isUnsafeLiteralForCnStyleApplySplit, n as collectUnconditionalTailwindLiteralsFromCnArguments, r as forEachStringLiteralInClassExpression, t as CN_APPLY_LITERAL_WALK_OPTS } from "./collectors-cn-BS8TTQ8O.mjs";
4
- import { a as isCnOrTvIdentifier, c as propertyAssignmentNameText, r as buildKnownCnTvBindings } from "./ast-helpers-MDRYuIAk.mjs";
5
- import ts from "typescript";
6
- //#region src/lib/arrange/domain/ast/collectors-tv.ts
7
- function traverseTvObject(sf, obj, visitor, depth = 0, knownBindings) {
8
- if (depth > 12) return;
9
- for (const prop of obj.properties) {
10
- if (!ts.isPropertyAssignment(prop)) continue;
11
- const init = prop.initializer;
12
- if (ts.isStringLiteral(init) || ts.isNoSubstitutionTemplateLiteral(init)) visitor(init, sf, void 0);
13
- else if (ts.isArrayLiteralExpression(init)) for (const arrayElement of init.elements) {
14
- if (ts.isSpreadElement(arrayElement)) continue;
15
- if (ts.isStringLiteral(arrayElement) || ts.isNoSubstitutionTemplateLiteral(arrayElement)) visitor(arrayElement, sf, void 0);
16
- else if (ts.isCallExpression(arrayElement) && isCnOrTvIdentifier(arrayElement.expression, "cn", knownBindings)) for (const arg of arrayElement.arguments) forEachStringLiteralInClassExpression(arg, (lit) => {
17
- visitor(lit, sf, arrayElement);
18
- });
19
- else if (ts.isObjectLiteralExpression(arrayElement)) for (const objectProperty of arrayElement.properties) {
20
- if (!ts.isPropertyAssignment(objectProperty)) continue;
21
- const propName = propertyAssignmentNameText(objectProperty);
22
- if (propName !== "className" && propName !== "class") continue;
23
- const innerInit = objectProperty.initializer;
24
- if (ts.isStringLiteral(innerInit) || ts.isNoSubstitutionTemplateLiteral(innerInit)) visitor(innerInit, sf, void 0);
25
- else if (ts.isArrayLiteralExpression(innerInit)) for (const nestedArrayElement of innerInit.elements) {
26
- if (ts.isSpreadElement(nestedArrayElement)) continue;
27
- if (ts.isStringLiteral(nestedArrayElement) || ts.isNoSubstitutionTemplateLiteral(nestedArrayElement)) visitor(nestedArrayElement, sf, void 0);
28
- }
29
- else if (ts.isCallExpression(innerInit) && isCnOrTvIdentifier(innerInit.expression, "cn", knownBindings)) for (const arg of innerInit.arguments) forEachStringLiteralInClassExpression(arg, (lit) => {
30
- visitor(lit, sf, innerInit);
31
- });
32
- }
33
- }
34
- else if (ts.isObjectLiteralExpression(init)) traverseTvObject(sf, init, visitor, depth + 1, knownBindings);
35
- else if (ts.isCallExpression(init) && isCnOrTvIdentifier(init.expression, "cn", knownBindings)) for (const arg of init.arguments) forEachStringLiteralInClassExpression(arg, (lit) => {
36
- visitor(lit, sf, init);
37
- });
38
- }
39
- }
40
- function collectCnCallsInsideTv(sf, obj, knownBindings, depth = 0) {
41
- if (depth > 12) return [];
42
- const calls = [];
43
- for (const prop of obj.properties) {
44
- if (!ts.isPropertyAssignment(prop)) continue;
45
- const init = prop.initializer;
46
- if (ts.isArrayLiteralExpression(init)) for (const arrayElement of init.elements) {
47
- if (ts.isSpreadElement(arrayElement)) continue;
48
- if (ts.isCallExpression(arrayElement) && isCnOrTvIdentifier(arrayElement.expression, "cn", knownBindings)) calls.push(arrayElement);
49
- else if (ts.isObjectLiteralExpression(arrayElement)) for (const objectProperty of arrayElement.properties) {
50
- if (!ts.isPropertyAssignment(objectProperty)) continue;
51
- const propName = propertyAssignmentNameText(objectProperty);
52
- if (propName !== "className" && propName !== "class") continue;
53
- const innerInit = objectProperty.initializer;
54
- if (ts.isCallExpression(innerInit) && isCnOrTvIdentifier(innerInit.expression, "cn", knownBindings)) calls.push(innerInit);
55
- }
56
- }
57
- else if (ts.isObjectLiteralExpression(init)) calls.push(...collectCnCallsInsideTv(sf, init, knownBindings, depth + 1));
58
- else if (ts.isCallExpression(init) && isCnOrTvIdentifier(init.expression, "cn", knownBindings)) calls.push(init);
59
- }
60
- return calls;
61
- }
62
- function listAllCnCallsInsideTvInSourceFile(sf, knownBindings) {
63
- const calls = [];
64
- const visitTypeScriptSubtree = (tsNode) => {
65
- if (ts.isCallExpression(tsNode) && isCnOrTvIdentifier(tsNode.expression, "tv", knownBindings)) {
66
- const arg0 = tsNode.arguments[0];
67
- if (arg0 && ts.isObjectLiteralExpression(arg0)) calls.push(...collectCnCallsInsideTv(sf, arg0, knownBindings, 0));
68
- }
69
- ts.forEachChild(tsNode, visitTypeScriptSubtree);
70
- };
71
- visitTypeScriptSubtree(sf);
72
- return calls;
73
- }
74
- function makeStringNode(nodes, sf, isTvContext, cnCall) {
75
- return {
76
- nodes,
77
- sf,
78
- isTvContext,
79
- cnCall,
80
- get primaryClassLiteral() {
81
- return this.nodes[0];
82
- }
83
- };
84
- }
85
- function slotClassString(stringNode) {
86
- return stringNode.nodes.map((literal) => literal.text).join(" ");
87
- }
88
- function emitTvSlot(lits, sf, cnCall, results, seenNodePos) {
89
- if (lits.length === 0) return;
90
- const firstPos = lits[0].getStart(sf);
91
- if (seenNodePos.has(firstPos)) return;
92
- seenNodePos.add(firstPos);
93
- if (lits.reduce((accumulatedTokenCount, literal) => accumulatedTokenCount + tokenizeClassString(literal.text).length, 0) < 2) return;
94
- results.push(makeStringNode(lits, sf, true, cnCall));
95
- }
96
- function collectTvSlots(sf, obj, knownBindings, results, seenNodePos, depth = 0) {
97
- if (depth > 12) return;
98
- for (const prop of obj.properties) {
99
- if (!ts.isPropertyAssignment(prop)) continue;
100
- const init = prop.initializer;
101
- if (ts.isStringLiteral(init) || ts.isNoSubstitutionTemplateLiteral(init)) emitTvSlot([init], sf, void 0, results, seenNodePos);
102
- else if (ts.isArrayLiteralExpression(init)) {
103
- const arrayPos = init.getStart(sf);
104
- if (seenNodePos.has(arrayPos)) continue;
105
- seenNodePos.add(arrayPos);
106
- const staticLits = [];
107
- for (const arrayElement of init.elements) {
108
- if (ts.isSpreadElement(arrayElement)) continue;
109
- if (ts.isStringLiteral(arrayElement) || ts.isNoSubstitutionTemplateLiteral(arrayElement)) staticLits.push(arrayElement);
110
- else if (ts.isCallExpression(arrayElement) && isCnOrTvIdentifier(arrayElement.expression, "cn", knownBindings)) for (const arg of arrayElement.arguments) forEachStringLiteralInClassExpression(arg, (lit) => {
111
- if (!isUnsafeLiteralForCnStyleApplySplit(lit)) staticLits.push(lit);
112
- }, 0, CN_APPLY_LITERAL_WALK_OPTS);
113
- else if (ts.isObjectLiteralExpression(arrayElement)) for (const objectProperty of arrayElement.properties) {
114
- if (!ts.isPropertyAssignment(objectProperty)) continue;
115
- const propName = propertyAssignmentNameText(objectProperty);
116
- if (propName !== "className" && propName !== "class") continue;
117
- const innerInit = objectProperty.initializer;
118
- if (ts.isStringLiteral(innerInit) || ts.isNoSubstitutionTemplateLiteral(innerInit)) emitTvSlot([innerInit], sf, void 0, results, seenNodePos);
119
- else if (ts.isArrayLiteralExpression(innerInit)) {
120
- const innerLits = [];
121
- for (const nestedArrayElement of innerInit.elements) if (!ts.isSpreadElement(nestedArrayElement) && (ts.isStringLiteral(nestedArrayElement) || ts.isNoSubstitutionTemplateLiteral(nestedArrayElement))) innerLits.push(nestedArrayElement);
122
- emitTvSlot(innerLits, sf, void 0, results, seenNodePos);
123
- } else if (ts.isCallExpression(innerInit) && isCnOrTvIdentifier(innerInit.expression, "cn", knownBindings)) {
124
- const cnLits = [];
125
- for (const arg of innerInit.arguments) forEachStringLiteralInClassExpression(arg, (lit) => {
126
- if (!isUnsafeLiteralForCnStyleApplySplit(lit)) cnLits.push(lit);
127
- }, 0, CN_APPLY_LITERAL_WALK_OPTS);
128
- emitTvSlot(cnLits, sf, innerInit, results, seenNodePos);
129
- }
130
- }
131
- }
132
- if (staticLits.length > 0) emitTvSlot(staticLits, sf, void 0, results, seenNodePos);
133
- } else if (ts.isObjectLiteralExpression(init)) collectTvSlots(sf, init, knownBindings, results, seenNodePos, depth + 1);
134
- else if (ts.isCallExpression(init) && isCnOrTvIdentifier(init.expression, "cn", knownBindings)) {
135
- const cnLits = [];
136
- for (const arg of init.arguments) forEachStringLiteralInClassExpression(arg, (lit) => {
137
- if (!isUnsafeLiteralForCnStyleApplySplit(lit)) cnLits.push(lit);
138
- }, 0, CN_APPLY_LITERAL_WALK_OPTS);
139
- emitTvSlot(cnLits, sf, init, results, seenNodePos);
140
- }
141
- }
142
- }
143
- function collectGroupableStringNodes(sf) {
144
- const results = [];
145
- const seenNodePos = /* @__PURE__ */ new Set();
146
- const knownBindings = buildKnownCnTvBindings(sf);
147
- const visitTypeScriptSubtree = (tsNode) => {
148
- if (ts.isCallExpression(tsNode)) {
149
- if (isCnOrTvIdentifier(tsNode.expression, "cn", knownBindings)) {
150
- const callPos = tsNode.getStart(sf);
151
- if (seenNodePos.has(callPos)) {
152
- ts.forEachChild(tsNode, visitTypeScriptSubtree);
153
- return;
154
- }
155
- seenNodePos.add(callPos);
156
- const staticLits = collectUnconditionalTailwindLiteralsFromCnArguments(tsNode.arguments);
157
- const totalTokens = staticLits.reduce((accumulatedTokenCount, literal) => accumulatedTokenCount + tokenizeClassString(literal.text).length, 0);
158
- if (staticLits.length > 0 && totalTokens >= 2) results.push(makeStringNode(staticLits, sf, false, tsNode));
159
- } else if (isCnOrTvIdentifier(tsNode.expression, "tv", knownBindings)) {
160
- const arg0 = tsNode.arguments[0];
161
- if (arg0 && ts.isObjectLiteralExpression(arg0)) collectTvSlots(sf, arg0, knownBindings, results, seenNodePos);
162
- }
163
- }
164
- ts.forEachChild(tsNode, visitTypeScriptSubtree);
165
- };
166
- visitTypeScriptSubtree(sf);
167
- return results;
168
- }
169
- //#endregion
170
- export { listAllCnCallsInsideTvInSourceFile as a, traverseTvObject as c, emitTvSlot as i, collectGroupableStringNodes as n, makeStringNode as o, collectTvSlots as r, slotClassString as s, collectCnCallsInsideTv as t };
@@ -1,12 +0,0 @@
1
- //#region src/lib/tag/presentation/colors.ts
2
- const TAG_COLORS = {
3
- RESET: "\x1B[0m",
4
- RED: "\x1B[31m",
5
- GREEN: "\x1B[32m",
6
- YELLOW: "\x1B[33m"
7
- };
8
- function withTagColor(line, colorCode) {
9
- return `${colorCode}${line}${TAG_COLORS.RESET}`;
10
- }
11
- //#endregion
12
- export { withTagColor as n, TAG_COLORS as t };
@@ -1,2 +0,0 @@
1
- import { t as registerArrangeCommand } from "../arrange-Bbh62DrU.mjs";
2
- export { registerArrangeCommand };
@@ -1,2 +0,0 @@
1
- import { n as registerMirrorCommand, t as packageArgToRelative } from "../mirror-DqJE3ejL.mjs";
2
- export { packageArgToRelative, registerMirrorCommand };
@@ -1,48 +0,0 @@
1
- import { t as packageArgToRelative } from "../mirror-DqJE3ejL.mjs";
2
- import fs from "node:fs";
3
- import path from "node:path";
4
- import os from "node:os";
5
- //#region src/commands/mirror.test.ts
6
- describe("packageArgToRelative", () => {
7
- it("returns undefined when arg is undefined", () => {
8
- expect(packageArgToRelative("/repo", void 0)).toBeUndefined();
9
- });
10
- it("returns a normalized path for a package under the repo root", () => {
11
- const root = fs.mkdtempSync(path.join(os.tmpdir(), "mirror-pkg-"));
12
- const pkgDir = path.join(root, "packages", "widget");
13
- fs.mkdirSync(pkgDir, { recursive: true });
14
- const prev = process.cwd();
15
- try {
16
- process.chdir(root);
17
- expect(packageArgToRelative(root, "packages/widget")).toBe("packages/widget");
18
- expect(packageArgToRelative(root, pkgDir)).toBe("packages/widget");
19
- } finally {
20
- process.chdir(prev);
21
- }
22
- });
23
- it("rejects '.' and other paths that resolve to the repo root", () => {
24
- const root = fs.mkdtempSync(path.join(os.tmpdir(), "mirror-root-dot-"));
25
- fs.mkdirSync(path.join(root, "packages", "x"), { recursive: true });
26
- const prev = process.cwd();
27
- try {
28
- process.chdir(root);
29
- expect(() => packageArgToRelative(root, ".")).toThrow(/subdirectory under monorepo root/);
30
- expect(() => packageArgToRelative(root, "./")).toThrow(/subdirectory under monorepo root/);
31
- } finally {
32
- process.chdir(prev);
33
- }
34
- });
35
- it("rejects paths outside the monorepo root", () => {
36
- const root = fs.mkdtempSync(path.join(os.tmpdir(), "mirror-out-"));
37
- const outside = fs.mkdtempSync(path.join(os.tmpdir(), "mirror-outside-"));
38
- const prev = process.cwd();
39
- try {
40
- process.chdir(root);
41
- expect(() => packageArgToRelative(root, outside)).toThrow(/subdirectory under monorepo root/);
42
- } finally {
43
- process.chdir(prev);
44
- }
45
- });
46
- });
47
- //#endregion
48
- export {};
@@ -1,2 +0,0 @@
1
- import { t as registerTagCommand } from "../tag-hEKVZ_-7.mjs";
2
- export { registerTagCommand };
@@ -1,3 +0,0 @@
1
- import "./schema-Or8RAARd.mjs";
2
- import "./loader-DpN-zl5g.mjs";
3
- export {};
@@ -1,10 +0,0 @@
1
- //#region src/lib/infra/config-reporter.ts
2
- const YELLOW = "\x1B[33m";
3
- const RESET = "\x1B[0m";
4
- /** User-visible lines for non-fatal issues returned with a successfully parsed config. */
5
- function printConfigSchemaWarnings(logger, warnings) {
6
- const { out } = logger;
7
- for (const warningMessage of warnings) out(`${YELLOW}\u26A0\uFE0F ${warningMessage}${RESET}`);
8
- }
9
- //#endregion
10
- export { printConfigSchemaWarnings as t };
@@ -1,169 +0,0 @@
1
- //#region src/lib/arrange/domain/constants.ts
2
- /** Analyze report: long literal threshold (token count). */
3
- const LONG_STRING_TOKEN_THRESHOLD = 18;
4
- /**
5
- * Minimum token count for a string to be considered a candidate for grouping
6
- * in the apply/preview pipeline. Intentionally much lower than
7
- * {@link LONG_STRING_TOKEN_THRESHOLD} (analyze only).
8
- */
9
- const APPLY_MIN_TOKENS = 2;
10
- /**
11
- * Minimum tokens a group must have to stand alone before singleton-merging.
12
- * Set to 2 so single-token groups are not collapsed into unrelated buckets by the merger.
13
- */
14
- const MIN_GROUP_TOKENS = 2;
15
- /** Dynamic max groups clamp: base bound. */
16
- const MAX_GROUPS_BASE = 4;
17
- /** Dynamic max groups clamp: upper cap. */
18
- const MAX_GROUPS_CAP = 24;
19
- /**
20
- * Extra slots so a few state / aria groups do not force `capGroups` to merge
21
- * unrelated buckets (e.g. `bg-border` + `outline-hidden`).
22
- */
23
- const MAX_GROUPS_HEADROOM = 2;
24
- /** Maximum findings printed per category in the analyze report. */
25
- const MAX_REPORT_LINES = 40;
26
- /** Maximum recursion depth when traversing `tv()` object literals. */
27
- const MAX_OBJECT_DEPTH = 12;
28
- /** Maximum depth when peeling conditional / parens / arrays inside `cn(...)` args. */
29
- const MAX_CLASS_EXPR_DEPTH = 12;
30
- /**
31
- * Maximum variant-stripping passes in {@link stripVariants}.
32
- * Real-world Tailwind stacks rarely exceed 4–5 segments (e.g. `@md/sidebar:group-hover:dark:focus-visible:`);
33
- * 12 is a conservative safety cap that prevents runaway loops on malformed input.
34
- */
35
- const MAX_STRIP_VARIANT_PASSES = 12;
36
- /**
37
- * Passed when optional `knownBindings` is missing — size 0 disables matching
38
- * for `cn` / `tv` identifier resolution.
39
- */
40
- const EMPTY_CN_TV_BINDINGS = /* @__PURE__ */ new Set();
41
- /**
42
- * Bucket sort order — **render pipeline** (lower → earlier in output).
43
- * Existence → Position → Layout → Sizing → Spacing → Shape → Background → Shadow
44
- * → Typography → Composite → Motion → Starting → Behavior → State (variants) → Selector variants.
45
- */
46
- const BUCKET_ORDER = {
47
- existence: 0,
48
- position: 1,
49
- layout: 2,
50
- sizing: 3,
51
- spacing: 4,
52
- shape: 5,
53
- background: 6,
54
- shadow: 7,
55
- typography: 8,
56
- composite: 9,
57
- motion: 10,
58
- starting: 11,
59
- behavior: 12,
60
- state: 13,
61
- selector: 14,
62
- other: 15,
63
- arbitrary: 16
64
- };
65
- /**
66
- * Compatible bucket **pairs** — two adjacent tokens whose buckets appear in the same
67
- * `Set` may stay in one `cn()` string chunk. Compatibility is **not transitive**: there is
68
- * no `{position, sizing}` pair, so `fixed inset-0` and `overflow-auto` become **separate**
69
- * literals unless **layout** tokens sit between them in sorted order; then
70
- * `position↔layout` and `layout↔sizing` each justify one hop and the whole “box in flow”
71
- * (place + tracks + scrollport) stays in one chunk — co-located because they jointly define
72
- * stacking and scroll behavior for the same surface.
73
- */
74
- const COMPATIBLE_BUCKET_SETS = [
75
- new Set(["existence", "position"]),
76
- new Set(["existence", "layout"]),
77
- new Set(["position", "layout"]),
78
- new Set(["layout", "sizing"]),
79
- new Set(["shape", "shadow"]),
80
- new Set(["background", "shadow"]),
81
- new Set(["background", "typography"]),
82
- new Set(["layout", "typography"]),
83
- new Set(["sizing", "typography"]),
84
- new Set(["motion", "behavior"]),
85
- new Set(["motion", "starting"]),
86
- new Set(["composite", "motion"]),
87
- new Set(["sizing", "composite"]),
88
- new Set(["sizing", "spacing"])
89
- ];
90
- /**
91
- * Responsive / variant prefix — Tailwind v4 aware.
92
- *
93
- * v3: sm: md: … — v4: @sm:, @min-[600px]:, @[480px]:, named @md/sidebar:,
94
- * viewport md/sidebar:, min-[100px]: / max-[100px]:, …
95
- */
96
- const RESPONSIVE_PREFIX = /^(?:@(?:min|max)-\[[^\]]+\]:|@\[[^\]]+\]:|@(?:[a-z0-9]+(?:-[a-z0-9]+)*)(?:\/[a-z][a-z0-9-]*)?:|(?:max-|min-)?(?:sm|md|lg|xl|2xl|3xl)(?:\/[a-z][a-z0-9-]*)?:|(?:max-|min-)\[[^\]]+\]:)/;
97
- /** State variant stems — hoisted to module scope (not recreated per call). */
98
- const STATE_PREFIXES = new Set([
99
- "hover",
100
- "focus",
101
- "focus-within",
102
- "focus-visible",
103
- "active",
104
- "visited",
105
- "link",
106
- "any-link",
107
- "disabled",
108
- "enabled",
109
- "checked",
110
- "indeterminate",
111
- "required",
112
- "optional",
113
- "valid",
114
- "invalid",
115
- "in-range",
116
- "out-of-range",
117
- "read-only",
118
- "read-write",
119
- "placeholder-shown",
120
- "default",
121
- "autofill",
122
- "open",
123
- "closed",
124
- "first",
125
- "last",
126
- "only",
127
- "odd",
128
- "even",
129
- "first-of-type",
130
- "last-of-type",
131
- "only-of-type",
132
- "first-child",
133
- "last-child",
134
- "only-child",
135
- "empty",
136
- "target",
137
- "group",
138
- "peer",
139
- "aria",
140
- "data",
141
- "dark",
142
- "light",
143
- "supports",
144
- "motion-reduce",
145
- "motion-safe",
146
- "print",
147
- "screen",
148
- "ltr",
149
- "rtl",
150
- "not",
151
- "has",
152
- "in",
153
- "nth",
154
- "file",
155
- "selection",
156
- "marker",
157
- "placeholder",
158
- "before",
159
- "after",
160
- "first-line",
161
- "first-letter",
162
- "backdrop",
163
- "details-content",
164
- "popover-open"
165
- ]);
166
- /** Default directory for arrange analyze/preview/apply when no target is passed. */
167
- const DEFAULT_ARRANGE_TARGET = "packages/ui/src/components";
168
- //#endregion
169
- export { EMPTY_CN_TV_BINDINGS as a, MAX_GROUPS_BASE as c, MAX_OBJECT_DEPTH as d, MAX_REPORT_LINES as f, STATE_PREFIXES as g, RESPONSIVE_PREFIX as h, DEFAULT_ARRANGE_TARGET as i, MAX_GROUPS_CAP as l, MIN_GROUP_TOKENS as m, BUCKET_ORDER as n, LONG_STRING_TOKEN_THRESHOLD as o, MAX_STRIP_VARIANT_PASSES as p, COMPATIBLE_BUCKET_SETS as r, MAX_CLASS_EXPR_DEPTH as s, APPLY_MIN_TOKENS as t, MAX_GROUPS_HEADROOM as u };
@@ -1,8 +0,0 @@
1
- //#region src/lib/mirror/domain/constants.ts
2
- const DIST_DIR = "dist";
3
- const PACKAGE_JSON = "package.json";
4
- const VALID_JS_EXTENSIONS = new Set([".js", ".cjs"]);
5
- const DTS_EXTENSION = ".d.ts";
6
- const PACKAGE_JSON_EXPORT = "./package.json";
7
- //#endregion
8
- export { VALID_JS_EXTENSIONS as a, PACKAGE_JSON_EXPORT as i, DTS_EXTENSION as n, PACKAGE_JSON as r, DIST_DIR as t };