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

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 (426) hide show
  1. package/README.md +30 -4
  2. package/dist/{bin.js → bin.mjs} +4 -1
  3. package/dist/commands/arrange.mjs +325 -0
  4. package/dist/commands/mirror.mjs +267 -0
  5. package/dist/commands/tag.mjs +283 -0
  6. package/dist/lib/arrange/application/arrange-analyze-json.format.mjs +10 -0
  7. package/dist/lib/arrange/application/arrange-group-json.format.mjs +11 -0
  8. package/dist/lib/arrange/application/arrange-sync-cli-result.mjs +7 -0
  9. package/dist/lib/arrange/application/arrange-sync-json.format.mjs +12 -0
  10. package/dist/lib/arrange/application/services/arrange-file-processor.service.mjs +242 -0
  11. package/dist/lib/arrange/application/services/arrange-target-scanner.service.mjs +237 -0
  12. package/dist/lib/arrange/application/use-cases/analyze-directory.use-case.mjs +258 -0
  13. package/dist/lib/arrange/application/use-cases/group-file.use-case.mjs +35 -0
  14. package/dist/lib/arrange/application/use-cases/run-arrange-sync.use-case.mjs +283 -0
  15. package/dist/lib/arrange/application/use-cases/suggest-cn-groups.use-case.mjs +233 -0
  16. package/dist/lib/arrange/arrange.feature.module.mjs +19 -0
  17. package/dist/lib/arrange/arrange.module.mjs +27 -0
  18. package/dist/lib/arrange/arrange.presentation.module.mjs +13 -0
  19. package/dist/lib/arrange/contracts/tokens.mjs +14 -0
  20. package/dist/lib/arrange/domain/arrange-analyze.service.mjs +95 -0
  21. package/dist/lib/arrange/domain/arrange-grouping.service.mjs +100 -0
  22. package/dist/lib/arrange/domain/ast/ast-helpers.helper.mjs +89 -0
  23. package/dist/lib/arrange/domain/ast/ast-node.model.mjs +181 -0
  24. package/dist/lib/arrange/domain/ast/collectors-cn.collector.mjs +52 -0
  25. package/dist/lib/arrange/domain/ast/collectors-jsx.collector.mjs +20 -0
  26. package/dist/lib/arrange/domain/ast/collectors-tv.collector.mjs +174 -0
  27. package/dist/lib/arrange/domain/ast/targets.model.mjs +110 -0
  28. package/dist/lib/arrange/domain/constants.domain.mjs +154 -0
  29. package/dist/lib/arrange/domain/errors.domain.mjs +18 -0
  30. package/dist/lib/arrange/domain/grouping.domain.mjs +306 -0
  31. package/dist/lib/arrange/domain/imports.domain.mjs +55 -0
  32. package/dist/lib/arrange/domain/source-text-formatters.formatter.mjs +54 -0
  33. package/dist/lib/arrange/domain/tokenizer.util.mjs +209 -0
  34. package/dist/lib/arrange/infra/domain-source-parser.adapter.mjs +240 -0
  35. package/dist/lib/arrange/infra/ensure-cn-import.adapter.mjs +8 -0
  36. package/dist/lib/arrange/infra/file-walker.adapter.mjs +239 -0
  37. package/dist/lib/arrange/infra/merge-cn-literal-pool-for-test.test-helper.mjs +18 -0
  38. package/dist/lib/arrange/infra/ts-ast-translator.adapter.mjs +355 -0
  39. package/dist/lib/arrange/presentation/arrange-cli-schema.presenter.mjs +29 -0
  40. package/dist/lib/arrange/presentation/arrange-sync.presenter.mjs +12 -0
  41. package/dist/lib/arrange/presentation/formatters.presenter.mjs +2 -0
  42. package/dist/lib/arrange/presentation/group-file-preview.presenter.mjs +275 -0
  43. package/dist/lib/arrange/presentation/prepare-arrange.orchestrator.mjs +258 -0
  44. package/dist/lib/arrange/presentation/present-analyze-cli.presenter.mjs +7 -0
  45. package/dist/lib/arrange/presentation/present-analyze-report.presenter.mjs +233 -0
  46. package/dist/lib/arrange/presentation/report.presenter.mjs +24 -0
  47. package/dist/lib/arrange/presentation/resolve-arrange-cli-target.presenter.mjs +21 -0
  48. package/dist/lib/config/application/use-cases/load-config.use-case.mjs +17 -0
  49. package/dist/lib/config/contracts/tokens.mjs +5 -0
  50. package/dist/lib/config/infra/config-schema.adapter.mjs +25 -0
  51. package/dist/lib/config/infra/loader.adapter.mjs +84 -0
  52. package/dist/lib/core/application/architecture-boundaries.policy.mjs +311 -0
  53. package/dist/lib/core/application/ports/path.port.mjs +1 -0
  54. package/dist/lib/core/application/schema-parse.util.mjs +17 -0
  55. package/dist/lib/core/application/utils/caught-unknown-message.util.mjs +19 -0
  56. package/dist/lib/core/application/utils/verbose-diagnostics.util.mjs +9 -0
  57. package/dist/lib/core/contracts/presentation.contract.mjs +1 -0
  58. package/dist/lib/core/contracts/tokens.mjs +5 -0
  59. package/dist/lib/core/core.module.mjs +9 -0
  60. package/dist/lib/core/domain/cli-exit-codes.domain.mjs +11 -0
  61. package/dist/lib/core/domain/errors.domain.mjs +16 -0
  62. package/dist/lib/core/domain/result.model.mjs +23 -0
  63. package/dist/lib/core/infra/composition-root.mjs +21 -0
  64. package/dist/lib/core/infra/infra.module.mjs +23 -0
  65. package/dist/lib/core/infra/logging-decorator.adapter.mjs +62 -0
  66. package/dist/lib/core/infra/path.adapter.mjs +13 -0
  67. package/dist/lib/core/operational/contracts/tokens.mjs +7 -0
  68. package/dist/lib/core/presentation/cli-executor.presenter.mjs +57 -0
  69. package/dist/lib/core/presentation/command.interface.mjs +1 -0
  70. package/dist/lib/core/presentation/format-app-error.presenter.mjs +17 -0
  71. package/dist/lib/core/presentation/global-cli-options.presenter.mjs +9 -0
  72. package/dist/lib/core/presentation/load-codefast-config.presenter.mjs +18 -0
  73. package/dist/lib/core/presentation/parse-cli-schema.presenter.mjs +7 -0
  74. package/dist/lib/core/presentation/presentation.module.mjs +11 -0
  75. package/dist/lib/core/presentation/try-load-codefast-config.presenter.mjs +245 -0
  76. package/dist/lib/infra/config-reporter.adapter.mjs +9 -0
  77. package/dist/lib/infra/fs-contract.port.mjs +1 -0
  78. package/dist/lib/infra/node-io.adapter.mjs +266 -0
  79. package/dist/lib/infra/workspace/repo-root.adapter.mjs +21 -0
  80. package/dist/lib/kernel/di/command.token.mjs +5 -0
  81. package/dist/lib/mirror/application/mirror-sync-json.format.mjs +12 -0
  82. package/dist/lib/mirror/application/ports/file-system-service.port.mjs +1 -0
  83. package/dist/lib/mirror/application/ports/mirror-sync-reporter.port.mjs +1 -0
  84. package/dist/lib/mirror/application/ports/package-repository.port.mjs +1 -0
  85. package/dist/lib/mirror/application/ports/sync-workspace-package.port.mjs +1 -0
  86. package/dist/lib/mirror/application/ports/workspace-service.port.mjs +1 -0
  87. package/dist/lib/mirror/application/requests/mirror-sync.request.mjs +1 -0
  88. package/dist/lib/mirror/application/services/sync-workspace-package.service.mjs +351 -0
  89. package/dist/lib/mirror/application/use-cases/generate-mirror-exports.use-case.mjs +219 -0
  90. package/dist/lib/mirror/application/use-cases/run-mirror-sync.use-case.mjs +302 -0
  91. package/dist/lib/mirror/contracts/models.mjs +1 -0
  92. package/dist/lib/mirror/contracts/presentation.contract.mjs +1 -0
  93. package/dist/lib/mirror/contracts/tokens.mjs +11 -0
  94. package/dist/lib/mirror/contracts/use-cases.contract.mjs +1 -0
  95. package/dist/lib/mirror/domain/constants.domain.mjs +16 -0
  96. package/dist/lib/mirror/domain/errors.domain.mjs +15 -0
  97. package/dist/lib/mirror/domain/types.domain.mjs +1 -0
  98. package/dist/lib/mirror/infra/dirent-list.adapter.mjs +13 -0
  99. package/dist/lib/mirror/infra/file-system-service.adapter.mjs +256 -0
  100. package/dist/lib/mirror/infra/mirror-sync-cli-options.adapter.mjs +1 -0
  101. package/dist/lib/mirror/infra/mirror-sync-reporter.adapter.mjs +236 -0
  102. package/dist/lib/mirror/infra/package-filter.adapter.mjs +25 -0
  103. package/dist/lib/mirror/infra/package-repository.adapter.mjs +235 -0
  104. package/dist/lib/mirror/infra/path-normalizer.adapter.mjs +7 -0
  105. package/dist/lib/mirror/infra/update-pkg.adapter.mjs +102 -0
  106. package/dist/lib/mirror/infra/workspace-packages.adapter.mjs +154 -0
  107. package/dist/lib/mirror/infra/workspace-service.adapter.mjs +232 -0
  108. package/dist/lib/mirror/mirror.feature.module.mjs +19 -0
  109. package/dist/lib/mirror/mirror.module.mjs +23 -0
  110. package/dist/lib/mirror/mirror.presentation.module.mjs +11 -0
  111. package/dist/lib/mirror/presentation/mirror-cli-schema.presenter.mjs +12 -0
  112. package/dist/lib/mirror/presentation/prepare-mirror.orchestrator.mjs +263 -0
  113. package/dist/lib/mirror/presentation/reporter.presenter.mjs +111 -0
  114. package/dist/lib/mirror/presentation/resolve-mirror-package-arg.presenter.mjs +20 -0
  115. package/dist/lib/shared/source-code/domain/text-edit.model.mjs +28 -0
  116. package/dist/lib/shared/source-code/infra/tsx-file-walk.adapter.mjs +33 -0
  117. package/dist/lib/tag/application/ports/tag-since-writer.port.mjs +1 -0
  118. package/dist/lib/tag/application/ports/tag-version-resolver.port.mjs +1 -0
  119. package/dist/lib/tag/application/ports/target-resolver.port.mjs +1 -0
  120. package/dist/lib/tag/application/ports/typescript-tree-walk.port.mjs +1 -0
  121. package/dist/lib/tag/application/requests/tag-sync.request.mjs +1 -0
  122. package/dist/lib/tag/application/tag-sync-cli-result.mjs +11 -0
  123. package/dist/lib/tag/application/tag-sync-json.format.mjs +14 -0
  124. package/dist/lib/tag/application/use-cases/run-tag-sync.use-case.mjs +398 -0
  125. package/dist/lib/tag/contracts/models.mjs +1 -0
  126. package/dist/lib/tag/contracts/presentation.contract.mjs +1 -0
  127. package/dist/lib/tag/contracts/tokens.mjs +12 -0
  128. package/dist/lib/tag/contracts/use-cases.contract.mjs +1 -0
  129. package/dist/lib/tag/domain/types.domain.mjs +1 -0
  130. package/dist/lib/tag/infra/tag-since-writer.adapter.mjs +343 -0
  131. package/dist/lib/tag/infra/tag-sync-cli-options.adapter.mjs +1 -0
  132. package/dist/lib/tag/infra/tag-target-candidates.adapter.mjs +170 -0
  133. package/dist/lib/tag/infra/tag-target-resolver.adapter.mjs +226 -0
  134. package/dist/lib/tag/infra/tag-version-resolver.adapter.mjs +247 -0
  135. package/dist/lib/tag/infra/typescript-tree-walk.adapter.mjs +226 -0
  136. package/dist/lib/tag/presentation/colors.presenter.mjs +12 -0
  137. package/dist/lib/tag/presentation/create-tag-progress-listener.presenter.mjs +228 -0
  138. package/dist/lib/tag/presentation/prepare-tag.orchestrator.mjs +264 -0
  139. package/dist/lib/tag/presentation/present-tag-sync-result.presenter.mjs +233 -0
  140. package/dist/lib/tag/presentation/resolve-tag-cli-target.presenter.mjs +9 -0
  141. package/dist/lib/tag/presentation/resolve-tag-workspace-root.presenter.mjs +12 -0
  142. package/dist/lib/tag/presentation/tag-cli-schema.presenter.mjs +12 -0
  143. package/dist/lib/tag/presentation/tag-sync.presenter.mjs +78 -0
  144. package/dist/lib/tag/tag.feature.module.mjs +19 -0
  145. package/dist/lib/tag/tag.module.mjs +21 -0
  146. package/dist/lib/tag/tag.presentation.module.mjs +15 -0
  147. package/dist/program.mjs +39 -0
  148. package/package.json +16 -19
  149. package/dist/bin.d.ts +0 -3
  150. package/dist/bin.d.ts.map +0 -1
  151. package/dist/commands/arrange.d.ts +0 -3
  152. package/dist/commands/arrange.d.ts.map +0 -1
  153. package/dist/commands/arrange.js +0 -129
  154. package/dist/commands/mirror.d.ts +0 -4
  155. package/dist/commands/mirror.d.ts.map +0 -1
  156. package/dist/commands/mirror.js +0 -75
  157. package/dist/commands/tag.d.ts +0 -3
  158. package/dist/commands/tag.d.ts.map +0 -1
  159. package/dist/commands/tag.js +0 -41
  160. package/dist/lib/arrange/application/analyze.d.ts +0 -17
  161. package/dist/lib/arrange/application/analyze.d.ts.map +0 -1
  162. package/dist/lib/arrange/application/analyze.js +0 -24
  163. package/dist/lib/arrange/application/group-file-preview.d.ts +0 -17
  164. package/dist/lib/arrange/application/group-file-preview.d.ts.map +0 -1
  165. package/dist/lib/arrange/application/group-file-preview.js +0 -46
  166. package/dist/lib/arrange/application/group-file.d.ts +0 -5
  167. package/dist/lib/arrange/application/group-file.d.ts.map +0 -1
  168. package/dist/lib/arrange/application/group-file.js +0 -40
  169. package/dist/lib/arrange/application/ports/domain-source-parser.port.d.ts +0 -5
  170. package/dist/lib/arrange/application/ports/domain-source-parser.port.d.ts.map +0 -1
  171. package/dist/lib/arrange/application/ports/file-walker.port.d.ts +0 -5
  172. package/dist/lib/arrange/application/ports/file-walker.port.d.ts.map +0 -1
  173. package/dist/lib/arrange/application/requests/analyze-directory.request.d.ts +0 -6
  174. package/dist/lib/arrange/application/requests/analyze-directory.request.d.ts.map +0 -1
  175. package/dist/lib/arrange/application/requests/analyze-directory.request.js +0 -4
  176. package/dist/lib/arrange/application/requests/arrange-sync.request.d.ts +0 -18
  177. package/dist/lib/arrange/application/requests/arrange-sync.request.d.ts.map +0 -1
  178. package/dist/lib/arrange/application/requests/arrange-sync.request.js +0 -15
  179. package/dist/lib/arrange/application/run-target.d.ts +0 -19
  180. package/dist/lib/arrange/application/run-target.d.ts.map +0 -1
  181. package/dist/lib/arrange/application/run-target.js +0 -85
  182. package/dist/lib/arrange/domain/arrange-analyze.service.d.ts +0 -12
  183. package/dist/lib/arrange/domain/arrange-analyze.service.d.ts.map +0 -1
  184. package/dist/lib/arrange/domain/arrange-analyze.service.js +0 -116
  185. package/dist/lib/arrange/domain/arrange-grouping.service.d.ts +0 -53
  186. package/dist/lib/arrange/domain/arrange-grouping.service.d.ts.map +0 -1
  187. package/dist/lib/arrange/domain/arrange-grouping.service.js +0 -106
  188. package/dist/lib/arrange/domain/ast/ast-helpers.d.ts +0 -28
  189. package/dist/lib/arrange/domain/ast/ast-helpers.d.ts.map +0 -1
  190. package/dist/lib/arrange/domain/ast/ast-helpers.js +0 -130
  191. package/dist/lib/arrange/domain/ast/ast-node.model.d.ts +0 -179
  192. package/dist/lib/arrange/domain/ast/ast-node.model.d.ts.map +0 -1
  193. package/dist/lib/arrange/domain/ast/ast-node.model.js +0 -210
  194. package/dist/lib/arrange/domain/ast/collectors-cn.d.ts +0 -7
  195. package/dist/lib/arrange/domain/ast/collectors-cn.d.ts.map +0 -1
  196. package/dist/lib/arrange/domain/ast/collectors-cn.js +0 -70
  197. package/dist/lib/arrange/domain/ast/collectors-jsx.d.ts +0 -4
  198. package/dist/lib/arrange/domain/ast/collectors-jsx.d.ts.map +0 -1
  199. package/dist/lib/arrange/domain/ast/collectors-jsx.js +0 -21
  200. package/dist/lib/arrange/domain/ast/collectors-tv.d.ts +0 -13
  201. package/dist/lib/arrange/domain/ast/collectors-tv.d.ts.map +0 -1
  202. package/dist/lib/arrange/domain/ast/collectors-tv.js +0 -302
  203. package/dist/lib/arrange/domain/ast/targets.d.ts +0 -8
  204. package/dist/lib/arrange/domain/ast/targets.d.ts.map +0 -1
  205. package/dist/lib/arrange/domain/ast/targets.js +0 -147
  206. package/dist/lib/arrange/domain/constants.d.ts +0 -68
  207. package/dist/lib/arrange/domain/constants.d.ts.map +0 -1
  208. package/dist/lib/arrange/domain/constants.js +0 -180
  209. package/dist/lib/arrange/domain/errors.d.ts +0 -14
  210. package/dist/lib/arrange/domain/errors.d.ts.map +0 -1
  211. package/dist/lib/arrange/domain/errors.js +0 -16
  212. package/dist/lib/arrange/domain/grouping.d.ts +0 -41
  213. package/dist/lib/arrange/domain/grouping.d.ts.map +0 -1
  214. package/dist/lib/arrange/domain/grouping.js +0 -307
  215. package/dist/lib/arrange/domain/imports.d.ts +0 -7
  216. package/dist/lib/arrange/domain/imports.d.ts.map +0 -1
  217. package/dist/lib/arrange/domain/imports.js +0 -80
  218. package/dist/lib/arrange/domain/source-text-formatters.d.ts +0 -16
  219. package/dist/lib/arrange/domain/source-text-formatters.d.ts.map +0 -1
  220. package/dist/lib/arrange/domain/source-text-formatters.js +0 -55
  221. package/dist/lib/arrange/domain/tokenizer.d.ts +0 -45
  222. package/dist/lib/arrange/domain/tokenizer.d.ts.map +0 -1
  223. package/dist/lib/arrange/domain/tokenizer.js +0 -466
  224. package/dist/lib/arrange/domain/types.d.ts +0 -112
  225. package/dist/lib/arrange/domain/types.d.ts.map +0 -1
  226. package/dist/lib/arrange/domain/types.js +0 -7
  227. package/dist/lib/arrange/index.d.ts +0 -45
  228. package/dist/lib/arrange/index.d.ts.map +0 -1
  229. package/dist/lib/arrange/index.js +0 -41
  230. package/dist/lib/arrange/infra/arrange-sync-cli-options.d.ts +0 -14
  231. package/dist/lib/arrange/infra/arrange-sync-cli-options.d.ts.map +0 -1
  232. package/dist/lib/arrange/infra/domain-source-parser.adapter.d.ts +0 -11
  233. package/dist/lib/arrange/infra/domain-source-parser.adapter.d.ts.map +0 -1
  234. package/dist/lib/arrange/infra/domain-source-parser.adapter.js +0 -19
  235. package/dist/lib/arrange/infra/ensure-cn-import.d.ts +0 -3
  236. package/dist/lib/arrange/infra/ensure-cn-import.d.ts.map +0 -1
  237. package/dist/lib/arrange/infra/ensure-cn-import.js +0 -6
  238. package/dist/lib/arrange/infra/file-walker.adapter.d.ts +0 -8
  239. package/dist/lib/arrange/infra/file-walker.adapter.d.ts.map +0 -1
  240. package/dist/lib/arrange/infra/file-walker.adapter.js +0 -17
  241. package/dist/lib/arrange/infra/merge-cn-literal-pool-for-test.d.ts +0 -8
  242. package/dist/lib/arrange/infra/merge-cn-literal-pool-for-test.d.ts.map +0 -1
  243. package/dist/lib/arrange/infra/merge-cn-literal-pool-for-test.js +0 -25
  244. package/dist/lib/arrange/infra/ts-ast-translator.d.ts +0 -10
  245. package/dist/lib/arrange/infra/ts-ast-translator.d.ts.map +0 -1
  246. package/dist/lib/arrange/infra/ts-ast-translator.js +0 -363
  247. package/dist/lib/arrange/presentation/formatters.d.ts +0 -3
  248. package/dist/lib/arrange/presentation/formatters.d.ts.map +0 -1
  249. package/dist/lib/arrange/presentation/formatters.js +0 -2
  250. package/dist/lib/arrange/presentation/report.d.ts +0 -4
  251. package/dist/lib/arrange/presentation/report.d.ts.map +0 -1
  252. package/dist/lib/arrange/presentation/report.js +0 -37
  253. package/dist/lib/config/domain/schema.d.ts +0 -50
  254. package/dist/lib/config/domain/schema.d.ts.map +0 -1
  255. package/dist/lib/config/domain/schema.js +0 -43
  256. package/dist/lib/config/index.d.ts +0 -4
  257. package/dist/lib/config/index.d.ts.map +0 -1
  258. package/dist/lib/config/index.js +0 -2
  259. package/dist/lib/config/infra/loader.d.ts +0 -11
  260. package/dist/lib/config/infra/loader.d.ts.map +0 -1
  261. package/dist/lib/config/infra/loader.js +0 -90
  262. package/dist/lib/core/application/architecture-boundaries.d.ts +0 -19
  263. package/dist/lib/core/application/architecture-boundaries.d.ts.map +0 -1
  264. package/dist/lib/core/application/architecture-boundaries.js +0 -263
  265. package/dist/lib/core/application/ports/cli-io.port.d.ts +0 -27
  266. package/dist/lib/core/application/ports/cli-io.port.d.ts.map +0 -1
  267. package/dist/lib/core/application/schema-parse.d.ts +0 -8
  268. package/dist/lib/core/application/schema-parse.d.ts.map +0 -1
  269. package/dist/lib/core/application/schema-parse.js +0 -20
  270. package/dist/lib/core/application/utils/caught-unknown-message.d.ts +0 -6
  271. package/dist/lib/core/application/utils/caught-unknown-message.d.ts.map +0 -1
  272. package/dist/lib/core/application/utils/caught-unknown-message.js +0 -34
  273. package/dist/lib/core/application/utils/verbose-diagnostics.d.ts +0 -5
  274. package/dist/lib/core/application/utils/verbose-diagnostics.d.ts.map +0 -1
  275. package/dist/lib/core/application/utils/verbose-diagnostics.js +0 -7
  276. package/dist/lib/core/domain/errors.d.ts +0 -11
  277. package/dist/lib/core/domain/errors.d.ts.map +0 -1
  278. package/dist/lib/core/domain/errors.js +0 -9
  279. package/dist/lib/core/domain/result.d.ts +0 -15
  280. package/dist/lib/core/domain/result.d.ts.map +0 -1
  281. package/dist/lib/core/domain/result.js +0 -9
  282. package/dist/lib/core/infra/container.d.ts +0 -34
  283. package/dist/lib/core/infra/container.d.ts.map +0 -1
  284. package/dist/lib/core/infra/container.js +0 -65
  285. package/dist/lib/core/infra/logging-decorator.d.ts +0 -12
  286. package/dist/lib/core/infra/logging-decorator.d.ts.map +0 -1
  287. package/dist/lib/core/infra/logging-decorator.js +0 -75
  288. package/dist/lib/core/presentation/cli-executor.d.ts +0 -33
  289. package/dist/lib/core/presentation/cli-executor.d.ts.map +0 -1
  290. package/dist/lib/core/presentation/cli-executor.js +0 -73
  291. package/dist/lib/core/presentation/create-command-handler.d.ts +0 -20
  292. package/dist/lib/core/presentation/create-command-handler.d.ts.map +0 -1
  293. package/dist/lib/core/presentation/create-command-handler.js +0 -70
  294. package/dist/lib/core/presentation/format-app-error.d.ts +0 -6
  295. package/dist/lib/core/presentation/format-app-error.d.ts.map +0 -1
  296. package/dist/lib/core/presentation/format-app-error.js +0 -19
  297. package/dist/lib/infra/caught-unknown-message.d.ts +0 -2
  298. package/dist/lib/infra/caught-unknown-message.d.ts.map +0 -1
  299. package/dist/lib/infra/caught-unknown-message.js +0 -1
  300. package/dist/lib/infra/config-reporter.d.ts +0 -4
  301. package/dist/lib/infra/config-reporter.d.ts.map +0 -1
  302. package/dist/lib/infra/config-reporter.js +0 -9
  303. package/dist/lib/infra/fs-contract.d.ts +0 -2
  304. package/dist/lib/infra/fs-contract.d.ts.map +0 -1
  305. package/dist/lib/infra/node-io.d.ts +0 -4
  306. package/dist/lib/infra/node-io.d.ts.map +0 -1
  307. package/dist/lib/infra/node-io.js +0 -27
  308. package/dist/lib/infra/workspace/repo-root.d.ts +0 -7
  309. package/dist/lib/infra/workspace/repo-root.d.ts.map +0 -1
  310. package/dist/lib/infra/workspace/repo-root.js +0 -23
  311. package/dist/lib/mirror/application/engine.d.ts +0 -10
  312. package/dist/lib/mirror/application/engine.d.ts.map +0 -1
  313. package/dist/lib/mirror/application/engine.js +0 -271
  314. package/dist/lib/mirror/application/ports/file-system-service.port.d.ts +0 -6
  315. package/dist/lib/mirror/application/ports/file-system-service.port.d.ts.map +0 -1
  316. package/dist/lib/mirror/application/ports/mirror-sync-reporter.port.d.ts +0 -27
  317. package/dist/lib/mirror/application/ports/mirror-sync-reporter.port.d.ts.map +0 -1
  318. package/dist/lib/mirror/application/ports/package-repository.port.d.ts +0 -16
  319. package/dist/lib/mirror/application/ports/package-repository.port.d.ts.map +0 -1
  320. package/dist/lib/mirror/application/ports/workspace-service.port.d.ts +0 -7
  321. package/dist/lib/mirror/application/ports/workspace-service.port.d.ts.map +0 -1
  322. package/dist/lib/mirror/application/requests/mirror-sync.request.d.ts +0 -10
  323. package/dist/lib/mirror/application/requests/mirror-sync.request.d.ts.map +0 -1
  324. package/dist/lib/mirror/application/requests/mirror-sync.request.js +0 -8
  325. package/dist/lib/mirror/application/sync.d.ts +0 -19
  326. package/dist/lib/mirror/application/sync.d.ts.map +0 -1
  327. package/dist/lib/mirror/application/sync.js +0 -168
  328. package/dist/lib/mirror/domain/constants.d.ts +0 -6
  329. package/dist/lib/mirror/domain/constants.d.ts.map +0 -1
  330. package/dist/lib/mirror/domain/constants.js +0 -5
  331. package/dist/lib/mirror/domain/errors.d.ts +0 -10
  332. package/dist/lib/mirror/domain/errors.d.ts.map +0 -1
  333. package/dist/lib/mirror/domain/errors.js +0 -12
  334. package/dist/lib/mirror/domain/types.d.ts +0 -65
  335. package/dist/lib/mirror/domain/types.d.ts.map +0 -1
  336. package/dist/lib/mirror/index.d.ts +0 -6
  337. package/dist/lib/mirror/index.d.ts.map +0 -1
  338. package/dist/lib/mirror/index.js +0 -1
  339. package/dist/lib/mirror/infra/dirent-list.d.ts +0 -9
  340. package/dist/lib/mirror/infra/dirent-list.d.ts.map +0 -1
  341. package/dist/lib/mirror/infra/dirent-list.js +0 -13
  342. package/dist/lib/mirror/infra/file-system-service.adapter.d.ts +0 -7
  343. package/dist/lib/mirror/infra/file-system-service.adapter.d.ts.map +0 -1
  344. package/dist/lib/mirror/infra/file-system-service.adapter.js +0 -47
  345. package/dist/lib/mirror/infra/mirror-sync-cli-options.d.ts +0 -14
  346. package/dist/lib/mirror/infra/mirror-sync-cli-options.d.ts.map +0 -1
  347. package/dist/lib/mirror/infra/mirror-sync-reporter.adapter.d.ts +0 -3
  348. package/dist/lib/mirror/infra/mirror-sync-reporter.adapter.d.ts.map +0 -1
  349. package/dist/lib/mirror/infra/mirror-sync-reporter.adapter.js +0 -13
  350. package/dist/lib/mirror/infra/package-filter.d.ts +0 -8
  351. package/dist/lib/mirror/infra/package-filter.d.ts.map +0 -1
  352. package/dist/lib/mirror/infra/package-filter.js +0 -33
  353. package/dist/lib/mirror/infra/package-repository.adapter.d.ts +0 -17
  354. package/dist/lib/mirror/infra/package-repository.adapter.d.ts.map +0 -1
  355. package/dist/lib/mirror/infra/package-repository.adapter.js +0 -17
  356. package/dist/lib/mirror/infra/path-normalizer.d.ts +0 -2
  357. package/dist/lib/mirror/infra/path-normalizer.d.ts.map +0 -1
  358. package/dist/lib/mirror/infra/path-normalizer.js +0 -4
  359. package/dist/lib/mirror/infra/update-pkg.d.ts +0 -19
  360. package/dist/lib/mirror/infra/update-pkg.d.ts.map +0 -1
  361. package/dist/lib/mirror/infra/update-pkg.js +0 -156
  362. package/dist/lib/mirror/infra/workspace-packages.d.ts +0 -26
  363. package/dist/lib/mirror/infra/workspace-packages.d.ts.map +0 -1
  364. package/dist/lib/mirror/infra/workspace-packages.js +0 -170
  365. package/dist/lib/mirror/infra/workspace-service.adapter.d.ts +0 -8
  366. package/dist/lib/mirror/infra/workspace-service.adapter.d.ts.map +0 -1
  367. package/dist/lib/mirror/infra/workspace-service.adapter.js +0 -10
  368. package/dist/lib/mirror/presentation/reporter.d.ts +0 -25
  369. package/dist/lib/mirror/presentation/reporter.d.ts.map +0 -1
  370. package/dist/lib/mirror/presentation/reporter.js +0 -140
  371. package/dist/lib/shared/source-code/domain/text-edit.d.ts +0 -14
  372. package/dist/lib/shared/source-code/domain/text-edit.d.ts.map +0 -1
  373. package/dist/lib/shared/source-code/domain/text-edit.js +0 -30
  374. package/dist/lib/shared/source-code/infra/tsx-file-walk.d.ts +0 -4
  375. package/dist/lib/shared/source-code/infra/tsx-file-walk.d.ts.map +0 -1
  376. package/dist/lib/shared/source-code/infra/tsx-file-walk.js +0 -37
  377. package/dist/lib/tag/application/engine.d.ts +0 -23
  378. package/dist/lib/tag/application/engine.d.ts.map +0 -1
  379. package/dist/lib/tag/application/engine.js +0 -357
  380. package/dist/lib/tag/application/ports/target-resolver.port.d.ts +0 -6
  381. package/dist/lib/tag/application/ports/target-resolver.port.d.ts.map +0 -1
  382. package/dist/lib/tag/application/ports/typescript-tree-walk.port.d.ts +0 -6
  383. package/dist/lib/tag/application/ports/typescript-tree-walk.port.d.ts.map +0 -1
  384. package/dist/lib/tag/application/requests/tag-sync.request.d.ts +0 -10
  385. package/dist/lib/tag/application/requests/tag-sync.request.d.ts.map +0 -1
  386. package/dist/lib/tag/application/requests/tag-sync.request.js +0 -8
  387. package/dist/lib/tag/domain/types.d.ts +0 -56
  388. package/dist/lib/tag/domain/types.d.ts.map +0 -1
  389. package/dist/lib/tag/index.d.ts +0 -14
  390. package/dist/lib/tag/index.d.ts.map +0 -1
  391. package/dist/lib/tag/index.js +0 -10
  392. package/dist/lib/tag/infra/tag-sync-cli-options.d.ts +0 -14
  393. package/dist/lib/tag/infra/tag-sync-cli-options.d.ts.map +0 -1
  394. package/dist/lib/tag/infra/tag-target-resolver.adapter.d.ts +0 -3
  395. package/dist/lib/tag/infra/tag-target-resolver.adapter.d.ts.map +0 -1
  396. package/dist/lib/tag/infra/tag-target-resolver.adapter.js +0 -4
  397. package/dist/lib/tag/infra/target-resolver.d.ts +0 -4
  398. package/dist/lib/tag/infra/target-resolver.d.ts.map +0 -1
  399. package/dist/lib/tag/infra/target-resolver.js +0 -200
  400. package/dist/lib/tag/infra/typescript-tree-walk.adapter.d.ts +0 -3
  401. package/dist/lib/tag/infra/typescript-tree-walk.adapter.d.ts.map +0 -1
  402. package/dist/lib/tag/infra/typescript-tree-walk.adapter.js +0 -4
  403. package/dist/lib/tag/presentation/colors.d.ts +0 -8
  404. package/dist/lib/tag/presentation/colors.d.ts.map +0 -1
  405. package/dist/lib/tag/presentation/colors.js +0 -9
  406. package/dist/lib/tag/presentation/tag-presenter.d.ts +0 -20
  407. package/dist/lib/tag/presentation/tag-presenter.d.ts.map +0 -1
  408. package/dist/lib/tag/presentation/tag-presenter.js +0 -92
  409. package/dist/program.d.ts +0 -4
  410. package/dist/program.d.ts.map +0 -1
  411. package/dist/program.js +0 -40
  412. /package/dist/lib/arrange/application/ports/{domain-source-parser.port.js → domain-source-parser.port.mjs} +0 -0
  413. /package/dist/lib/arrange/application/ports/{file-walker.port.js → file-walker.port.mjs} +0 -0
  414. /package/dist/lib/arrange/{infra/arrange-sync-cli-options.js → application/ports/group-file-preview.port.mjs} +0 -0
  415. /package/dist/lib/{core/application/ports/cli-io.port.js → arrange/application/requests/analyze-directory.request.mjs} +0 -0
  416. /package/dist/lib/{infra/fs-contract.js → arrange/application/requests/arrange-sync.request.mjs} +0 -0
  417. /package/dist/lib/{mirror/application/ports/file-system-service.port.js → arrange/application/requests/suggest-groups.request.mjs} +0 -0
  418. /package/dist/lib/{mirror/application/ports/mirror-sync-reporter.port.js → arrange/contracts/models.mjs} +0 -0
  419. /package/dist/lib/{mirror/application/ports/package-repository.port.js → arrange/contracts/presentation.contract.mjs} +0 -0
  420. /package/dist/lib/{mirror/application/ports/workspace-service.port.js → arrange/contracts/services.contract.mjs} +0 -0
  421. /package/dist/lib/{mirror/domain/types.js → arrange/contracts/use-cases.contract.mjs} +0 -0
  422. /package/dist/lib/{mirror/infra/mirror-sync-cli-options.js → arrange/domain/types.domain.mjs} +0 -0
  423. /package/dist/lib/{tag/application/ports/target-resolver.port.js → arrange/infra/arrange-sync-cli-options.adapter.mjs} +0 -0
  424. /package/dist/lib/{tag/application/ports/typescript-tree-walk.port.js → config/application/ports/config-loader.port.mjs} +0 -0
  425. /package/dist/lib/{tag/domain/types.js → config/domain/schema.domain.mjs} +0 -0
  426. /package/dist/lib/{tag/infra/tag-sync-cli-options.js → core/application/ports/cli-io.port.mjs} +0 -0
@@ -1,200 +0,0 @@
1
- import { globSync } from "node:fs";
2
- import path from "node:path";
3
- import picomatch from "picomatch";
4
- import { parse as parseYaml } from "yaml";
5
- import { z } from "zod";
6
- import { messageFromCaughtUnknown } from "#lib/infra/caught-unknown-message";
7
- const PNPM_WORKSPACE_FILE = "pnpm-workspace.yaml";
8
- const PACKAGE_JSON_FILE = "package.json";
9
- const DEFAULT_WORKSPACE_PACKAGE_PATTERNS = ["packages/*"];
10
- const PnpmWorkspaceSchema = z
11
- .object({
12
- packages: z.array(z.string()).optional(),
13
- })
14
- .passthrough();
15
- const PackageNameSchema = z
16
- .object({
17
- name: z.string().min(1).optional(),
18
- })
19
- .passthrough();
20
- function toPosix(filePath) {
21
- return filePath.split(path.sep).join("/");
22
- }
23
- function workspacePatternToPackageJsonGlob(pattern) {
24
- const normalizedPattern = toPosix(pattern.trim()).replace(/\/+$/, "");
25
- if (!normalizedPattern) {
26
- return `**/${PACKAGE_JSON_FILE}`;
27
- }
28
- return `${normalizedPattern}/${PACKAGE_JSON_FILE}`;
29
- }
30
- function splitWorkspacePackagePatterns(rawPatterns) {
31
- const include = [];
32
- const exclude = [];
33
- for (const rawPattern of rawPatterns) {
34
- const trimmedPattern = rawPattern.trim();
35
- if (!trimmedPattern) {
36
- continue;
37
- }
38
- if (trimmedPattern.startsWith("!")) {
39
- exclude.push(trimmedPattern.slice(1).trim());
40
- continue;
41
- }
42
- include.push(trimmedPattern);
43
- }
44
- return { include, exclude };
45
- }
46
- async function readWorkspacePackagePatterns(rootDir, fs) {
47
- const workspaceYamlPath = path.join(rootDir, PNPM_WORKSPACE_FILE);
48
- if (!fs.existsSync(workspaceYamlPath)) {
49
- return {
50
- patterns: [...DEFAULT_WORKSPACE_PACKAGE_PATTERNS],
51
- hasWorkspaceFile: false,
52
- declaredEmptyPackages: false,
53
- };
54
- }
55
- let workspaceYamlRaw = "";
56
- try {
57
- workspaceYamlRaw = await fs.readFile(workspaceYamlPath, "utf8");
58
- }
59
- catch (caughtReadError) {
60
- throw new Error(`Failed to read ${PNPM_WORKSPACE_FILE}: ${messageFromCaughtUnknown(caughtReadError)}`);
61
- }
62
- let parsedWorkspaceDoc;
63
- try {
64
- parsedWorkspaceDoc = parseYaml(workspaceYamlRaw);
65
- }
66
- catch (caughtParseError) {
67
- throw new Error(`Failed to parse ${PNPM_WORKSPACE_FILE}: ${messageFromCaughtUnknown(caughtParseError)}`);
68
- }
69
- const parsedWorkspaceResult = PnpmWorkspaceSchema.safeParse(parsedWorkspaceDoc);
70
- if (!parsedWorkspaceResult.success) {
71
- const issuePath = parsedWorkspaceResult.error.issues[0]?.path.join(".") ?? "<root>";
72
- const issueMessage = parsedWorkspaceResult.error.issues[0]?.message ?? "Invalid value";
73
- throw new Error(`Invalid ${PNPM_WORKSPACE_FILE} schema at "${issuePath}": ${issueMessage}`);
74
- }
75
- const hasPackagesKey = typeof parsedWorkspaceDoc === "object" &&
76
- parsedWorkspaceDoc !== null &&
77
- Object.prototype.hasOwnProperty.call(parsedWorkspaceDoc, "packages");
78
- const workspacePackages = parsedWorkspaceResult.data.packages;
79
- if (!workspacePackages) {
80
- return {
81
- patterns: [...DEFAULT_WORKSPACE_PACKAGE_PATTERNS],
82
- hasWorkspaceFile: true,
83
- declaredEmptyPackages: false,
84
- };
85
- }
86
- if (workspacePackages.length === 0 && hasPackagesKey) {
87
- return { patterns: [], hasWorkspaceFile: true, declaredEmptyPackages: true };
88
- }
89
- return {
90
- patterns: workspacePackages,
91
- hasWorkspaceFile: true,
92
- declaredEmptyPackages: false,
93
- };
94
- }
95
- async function discoverWorkspacePackageDirs(rootDir, fs) {
96
- const workspacePackages = await readWorkspacePackagePatterns(rootDir, fs);
97
- const { include, exclude } = splitWorkspacePackagePatterns(workspacePackages.patterns);
98
- const includePatterns = include.length > 0 ? include : [...DEFAULT_WORKSPACE_PACKAGE_PATTERNS];
99
- const foundPackageDirs = new Set();
100
- const globOptions = {
101
- cwd: rootDir,
102
- posix: true,
103
- ...(path.sep === "\\" ? { windowsPathsNoEscape: true } : {}),
104
- };
105
- for (const pattern of includePatterns) {
106
- const packageJsonGlob = workspacePatternToPackageJsonGlob(pattern);
107
- const matches = globSync(packageJsonGlob, globOptions);
108
- for (const matchedPath of matches) {
109
- if (!matchedPath.endsWith(`/${PACKAGE_JSON_FILE}`)) {
110
- continue;
111
- }
112
- const packageRelDir = matchedPath.slice(0, -`/${PACKAGE_JSON_FILE}`.length);
113
- if (!packageRelDir) {
114
- continue;
115
- }
116
- foundPackageDirs.add(path.resolve(rootDir, packageRelDir));
117
- }
118
- }
119
- if (exclude.length === 0) {
120
- return {
121
- packageDirs: [...foundPackageDirs].sort((leftDir, rightDir) => leftDir.localeCompare(rightDir)),
122
- hasWorkspaceFile: workspacePackages.hasWorkspaceFile,
123
- declaredEmptyPackages: workspacePackages.declaredEmptyPackages,
124
- };
125
- }
126
- const excludeMatchers = exclude.map((excludePattern) => picomatch(excludePattern, { dot: true }));
127
- const discoveredDirs = [...foundPackageDirs].filter((packageDir) => {
128
- const relativePackagePath = toPosix(path.relative(rootDir, packageDir));
129
- return !excludeMatchers.some((excludeMatcher) => excludeMatcher(relativePackagePath));
130
- });
131
- discoveredDirs.sort((leftDir, rightDir) => leftDir.localeCompare(rightDir));
132
- return {
133
- packageDirs: discoveredDirs,
134
- hasWorkspaceFile: workspacePackages.hasWorkspaceFile,
135
- declaredEmptyPackages: workspacePackages.declaredEmptyPackages,
136
- };
137
- }
138
- function readPackageName(packageDir, fs) {
139
- const packageJsonPath = path.join(packageDir, PACKAGE_JSON_FILE);
140
- if (!fs.existsSync(packageJsonPath)) {
141
- return null;
142
- }
143
- try {
144
- const rawPackageJson = fs.readFileSync(packageJsonPath, "utf8");
145
- const parsedPackageJson = JSON.parse(rawPackageJson);
146
- const parsedPackageName = PackageNameSchema.safeParse(parsedPackageJson);
147
- if (!parsedPackageName.success) {
148
- return null;
149
- }
150
- return parsedPackageName.data.name ?? null;
151
- }
152
- catch {
153
- return null;
154
- }
155
- }
156
- function toRootRelativePath(rootDir, absolutePath) {
157
- const relativePath = path.relative(rootDir, absolutePath);
158
- return relativePath ? toPosix(relativePath) : ".";
159
- }
160
- function toPackageTargetCandidate(rootDir, packageDir, fs) {
161
- const packageName = readPackageName(packageDir, fs);
162
- return {
163
- candidatePath: packageDir,
164
- rootRelativeCandidatePath: toRootRelativePath(rootDir, packageDir),
165
- source: "workspace-package",
166
- packageDir,
167
- packageName,
168
- };
169
- }
170
- export async function resolveTagTargetCandidates(rootDir, explicitTarget, fs) {
171
- if (explicitTarget) {
172
- const resolvedExplicitTarget = path.resolve(explicitTarget);
173
- return [
174
- {
175
- candidatePath: resolvedExplicitTarget,
176
- rootRelativeCandidatePath: toRootRelativePath(rootDir, resolvedExplicitTarget),
177
- source: "explicit-target",
178
- packageDir: null,
179
- packageName: null,
180
- },
181
- ];
182
- }
183
- const workspaceDiscovery = await discoverWorkspacePackageDirs(rootDir, fs);
184
- if (workspaceDiscovery.packageDirs.length === 0) {
185
- if (workspaceDiscovery.hasWorkspaceFile) {
186
- return [];
187
- }
188
- const repoSourceDir = path.join(rootDir, "src");
189
- return [
190
- {
191
- candidatePath: repoSourceDir,
192
- rootRelativeCandidatePath: toRootRelativePath(rootDir, repoSourceDir),
193
- source: "repo-src-fallback",
194
- packageDir: null,
195
- packageName: null,
196
- },
197
- ];
198
- }
199
- return workspaceDiscovery.packageDirs.map((packageDir) => toPackageTargetCandidate(rootDir, packageDir, fs));
200
- }
@@ -1,3 +0,0 @@
1
- import type { TypeScriptTreeWalkPort } from "#lib/tag/application/ports/typescript-tree-walk.port";
2
- export declare const tagTypeScriptTreeWalkAdapter: TypeScriptTreeWalkPort;
3
- //# sourceMappingURL=typescript-tree-walk.adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typescript-tree-walk.adapter.d.ts","sourceRoot":"","sources":["../../../../src/lib/tag/infra/typescript-tree-walk.adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAEnG,eAAO,MAAM,4BAA4B,EAAE,sBAE1C,CAAC"}
@@ -1,4 +0,0 @@
1
- import { walkTsxFiles } from "#lib/shared/source-code/infra/tsx-file-walk";
2
- export const tagTypeScriptTreeWalkAdapter = {
3
- walkTsxFiles,
4
- };
@@ -1,8 +0,0 @@
1
- export declare const TAG_COLORS: {
2
- readonly RESET: "\u001B[0m";
3
- readonly RED: "\u001B[31m";
4
- readonly GREEN: "\u001B[32m";
5
- readonly YELLOW: "\u001B[33m";
6
- };
7
- export declare function withTagColor(line: string, colorCode: string): string;
8
- //# sourceMappingURL=colors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../../../src/lib/tag/presentation/colors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;aACrB,KAAK,EAAE,WAAS;aAChB,GAAG,EAAE,YAAU;aACf,KAAK,EAAE,YAAU;aACjB,MAAM,EAAE,YAAU;CACV,CAAC;AAEX,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEpE"}
@@ -1,9 +0,0 @@
1
- export const TAG_COLORS = {
2
- RESET: "\x1b[0m",
3
- RED: "\x1b[31m",
4
- GREEN: "\x1b[32m",
5
- YELLOW: "\x1b[33m",
6
- };
7
- export function withTagColor(line, colorCode) {
8
- return `${colorCode}${line}${TAG_COLORS.RESET}`;
9
- }
@@ -1,20 +0,0 @@
1
- import type { CliLogger } from "#lib/core/application/ports/cli-io.port";
2
- import type { TagProgressListener, TagResolvedTarget, TagSyncResult, TagTargetExecutionResult } from "#lib/tag/domain/types";
3
- export type TagProgressEvent = {
4
- type: "target-started";
5
- target: TagResolvedTarget;
6
- } | {
7
- type: "target-completed";
8
- target: TagResolvedTarget;
9
- result: TagTargetExecutionResult;
10
- };
11
- export declare function formatProgress(event: TagProgressEvent): string;
12
- export declare function formatTargetTable(targets: TagResolvedTarget[], rootDir: string): string;
13
- export declare function formatWarningsAndErrors(result: TagSyncResult): string | null;
14
- export declare function formatSummary(result: TagSyncResult): string;
15
- /**
16
- * Prints tag sync output and returns a process exit code (0 success, 1 when empty targets or hook/run errors).
17
- */
18
- export declare function presentTagSyncCliResult(logger: CliLogger, tagResult: TagSyncResult, rootDir: string): number;
19
- export declare function createTagProgressListener(onProgressLine: (line: string) => void): TagProgressListener;
20
- //# sourceMappingURL=tag-presenter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tag-presenter.d.ts","sourceRoot":"","sources":["../../../../src/lib/tag/presentation/tag-presenter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAG/B,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,iBAAiB,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,wBAAwB,CAAA;CAAE,CAAC;AAmB9F,wBAAgB,cAAc,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAM9D;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAyBvF;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAU5E;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAqB3D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,MAAM,GACd,MAAM,CAiBR;AAED,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GACrC,mBAAmB,CASrB"}
@@ -1,92 +0,0 @@
1
- import { TAG_COLORS, withTagColor } from "#lib/tag/presentation/colors";
2
- function targetDisplayName(target) {
3
- return target.packageName ?? target.rootRelativeTargetPath;
4
- }
5
- function warningsAndErrorsFromResult(result) {
6
- const entries = [];
7
- for (const targetResult of result.targetResults) {
8
- if (targetResult.runError) {
9
- entries.push(targetResult.runError);
10
- }
11
- }
12
- if (result.hookError) {
13
- entries.push(result.hookError);
14
- }
15
- return entries;
16
- }
17
- export function formatProgress(event) {
18
- if (event.type === "target-started") {
19
- return `[tag] Processing ${targetDisplayName(event.target)}...`;
20
- }
21
- const changedFiles = event.result.result?.filesChanged ?? 0;
22
- return `[tag] Done ${targetDisplayName(event.target)} (${changedFiles} changes)`;
23
- }
24
- export function formatTargetTable(targets, rootDir) {
25
- const packageColumnWidth = Math.max("package".length, ...targets.map((target) => (target.packageName ?? "-").length));
26
- const pathColumnWidth = Math.max("path".length, ...targets.map((target) => target.rootRelativeTargetPath.length));
27
- const lines = [];
28
- lines.push(`[tag] Root: ${rootDir}`);
29
- lines.push(`[tag] Resolved targets: ${targets.length}`);
30
- lines.push("[tag] Targets:");
31
- lines.push(` ${"package".padEnd(packageColumnWidth)} ${"path".padEnd(pathColumnWidth)} source`);
32
- lines.push(` ${"-".repeat(packageColumnWidth)} ${"-".repeat(pathColumnWidth)} ${"-".repeat("source".length)}`);
33
- for (const target of targets) {
34
- lines.push(` ${(target.packageName ?? "-").padEnd(packageColumnWidth)} ${target.rootRelativeTargetPath.padEnd(pathColumnWidth)} ${target.source}`);
35
- }
36
- return lines.join("\n");
37
- }
38
- export function formatWarningsAndErrors(result) {
39
- const entries = warningsAndErrorsFromResult(result);
40
- if (entries.length === 0) {
41
- return null;
42
- }
43
- const lines = [withTagColor("⚠️ Warnings & Errors", TAG_COLORS.YELLOW)];
44
- for (const entry of entries) {
45
- lines.push(withTagColor(`- ${entry}`, TAG_COLORS.RED));
46
- }
47
- return lines.join("\n");
48
- }
49
- export function formatSummary(result) {
50
- const isDryRun = result.mode === "dry-run";
51
- const summaryPrefix = isDryRun ? "[tag:dry-run]" : "[tag]";
52
- const versionSuffix = result.versionSummary === "mixed" && result.distinctVersions.length > 0
53
- ? ` [${result.distinctVersions.join(", ")}]`
54
- : "";
55
- const hasError = result.targetResults.some((targetResult) => targetResult.runError !== null) ||
56
- result.hookError !== null;
57
- const summaryColor = hasError ? TAG_COLORS.RED : isDryRun ? TAG_COLORS.YELLOW : TAG_COLORS.GREEN;
58
- const lines = [
59
- withTagColor(`${summaryPrefix} version=${result.versionSummary}${versionSuffix} files=${result.filesChanged}/${result.filesScanned} declarations=${result.taggedDeclarations}`, summaryColor),
60
- ];
61
- if (result.skippedPackages.length > 0) {
62
- lines.push(`[tag] Skipped: ${result.skippedPackages.length} package(s)`);
63
- }
64
- return lines.join("\n");
65
- }
66
- /**
67
- * Prints tag sync output and returns a process exit code (0 success, 1 when empty targets or hook/run errors).
68
- */
69
- export function presentTagSyncCliResult(logger, tagResult, rootDir) {
70
- logger.out(formatTargetTable(tagResult.selectedTargets, rootDir));
71
- if (tagResult.selectedTargets.length === 0) {
72
- logger.err("No packages found in workspace. Check your pnpm-workspace.yaml or provide an explicit target path.");
73
- return 1;
74
- }
75
- const warningsAndErrorsSection = formatWarningsAndErrors(tagResult);
76
- if (warningsAndErrorsSection) {
77
- logger.err(warningsAndErrorsSection);
78
- }
79
- logger.out(formatSummary(tagResult));
80
- const hasRunErrors = tagResult.targetResults.some((targetResult) => targetResult.runError !== null);
81
- return hasRunErrors || tagResult.hookError ? 1 : 0;
82
- }
83
- export function createTagProgressListener(onProgressLine) {
84
- return {
85
- onTargetStarted: (target) => {
86
- onProgressLine(formatProgress({ type: "target-started", target }));
87
- },
88
- onTargetCompleted: (target, result) => {
89
- onProgressLine(formatProgress({ type: "target-completed", target, result }));
90
- },
91
- };
92
- }
package/dist/program.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import { Command } from "commander";
2
- export declare function createProgram(): Command;
3
- export declare function runCli(argv: string[]): Promise<number>;
4
- //# sourceMappingURL=program.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,wBAAgB,aAAa,IAAI,OAAO,CAevC;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAK5D"}
package/dist/program.js DELETED
@@ -1,40 +0,0 @@
1
- import { readFileSync } from "node:fs";
2
- import path from "node:path";
3
- import process from "node:process";
4
- import { fileURLToPath } from "node:url";
5
- import { Command } from "commander";
6
- import { registerArrangeCommand } from "#commands/arrange";
7
- import { registerMirrorCommand } from "#commands/mirror";
8
- import { registerTagCommand } from "#commands/tag";
9
- function readVersion() {
10
- try {
11
- const dir = path.dirname(fileURLToPath(import.meta.url));
12
- const pkgPath = path.join(dir, "..", "package.json");
13
- const raw = readFileSync(pkgPath, "utf-8");
14
- const pkgVersion = JSON.parse(raw).version;
15
- return typeof pkgVersion === "string" && pkgVersion.length > 0 ? pkgVersion : "unknown";
16
- }
17
- catch {
18
- return "unknown";
19
- }
20
- }
21
- export function createProgram() {
22
- const program = new Command();
23
- program
24
- .name("codefast")
25
- .description("Codefast monorepo developer CLI")
26
- .version(readVersion())
27
- .option("--no-color", "Disable ANSI color output")
28
- .configureHelp({ sortSubcommands: true })
29
- .showHelpAfterError("(use --help for usage)");
30
- registerMirrorCommand(program);
31
- registerArrangeCommand(program);
32
- registerTagCommand(program);
33
- return program;
34
- }
35
- export async function runCli(argv) {
36
- const program = createProgram();
37
- await program.parseAsync(argv, { from: "node" });
38
- const code = process.exitCode ?? 0;
39
- return typeof code === "number" ? code : Number(code) || 0;
40
- }