@codefast/cli 0.3.13-canary.3 → 0.3.13

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 (465) hide show
  1. package/README.md +29 -3
  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 -108
  154. package/dist/commands/mirror.d.ts +0 -3
  155. package/dist/commands/mirror.d.ts.map +0 -1
  156. package/dist/commands/mirror.js +0 -36
  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 -44
  160. package/dist/lib/arrange/application/ports/domain-source-parser.port.d.ts +0 -5
  161. package/dist/lib/arrange/application/ports/domain-source-parser.port.d.ts.map +0 -1
  162. package/dist/lib/arrange/application/ports/file-walker.port.d.ts +0 -5
  163. package/dist/lib/arrange/application/ports/file-walker.port.d.ts.map +0 -1
  164. package/dist/lib/arrange/application/requests/analyze-directory.request.d.ts +0 -6
  165. package/dist/lib/arrange/application/requests/analyze-directory.request.d.ts.map +0 -1
  166. package/dist/lib/arrange/application/requests/analyze-directory.request.js +0 -4
  167. package/dist/lib/arrange/application/requests/arrange-sync.request.d.ts +0 -18
  168. package/dist/lib/arrange/application/requests/arrange-sync.request.d.ts.map +0 -1
  169. package/dist/lib/arrange/application/requests/arrange-sync.request.js +0 -15
  170. package/dist/lib/arrange/application/requests/suggest-groups.request.d.ts +0 -8
  171. package/dist/lib/arrange/application/requests/suggest-groups.request.d.ts.map +0 -1
  172. package/dist/lib/arrange/application/requests/suggest-groups.request.js +0 -8
  173. package/dist/lib/arrange/application/use-cases/analyze-directory.use-case.d.ts +0 -17
  174. package/dist/lib/arrange/application/use-cases/analyze-directory.use-case.d.ts.map +0 -1
  175. package/dist/lib/arrange/application/use-cases/analyze-directory.use-case.js +0 -24
  176. package/dist/lib/arrange/application/use-cases/group-file-preview.use-case.d.ts +0 -17
  177. package/dist/lib/arrange/application/use-cases/group-file-preview.use-case.d.ts.map +0 -1
  178. package/dist/lib/arrange/application/use-cases/group-file-preview.use-case.js +0 -46
  179. package/dist/lib/arrange/application/use-cases/group-file.use-case.d.ts +0 -5
  180. package/dist/lib/arrange/application/use-cases/group-file.use-case.d.ts.map +0 -1
  181. package/dist/lib/arrange/application/use-cases/group-file.use-case.js +0 -40
  182. package/dist/lib/arrange/application/use-cases/run-arrange-sync.use-case.d.ts +0 -19
  183. package/dist/lib/arrange/application/use-cases/run-arrange-sync.use-case.d.ts.map +0 -1
  184. package/dist/lib/arrange/application/use-cases/run-arrange-sync.use-case.js +0 -85
  185. package/dist/lib/arrange/application/use-cases/suggest-cn-groups.use-case.d.ts +0 -7
  186. package/dist/lib/arrange/application/use-cases/suggest-cn-groups.use-case.d.ts.map +0 -1
  187. package/dist/lib/arrange/application/use-cases/suggest-cn-groups.use-case.js +0 -10
  188. package/dist/lib/arrange/domain/arrange-analyze.service.d.ts +0 -12
  189. package/dist/lib/arrange/domain/arrange-analyze.service.d.ts.map +0 -1
  190. package/dist/lib/arrange/domain/arrange-analyze.service.js +0 -116
  191. package/dist/lib/arrange/domain/arrange-grouping.service.d.ts +0 -53
  192. package/dist/lib/arrange/domain/arrange-grouping.service.d.ts.map +0 -1
  193. package/dist/lib/arrange/domain/arrange-grouping.service.js +0 -106
  194. package/dist/lib/arrange/domain/ast/ast-helpers.helper.d.ts +0 -28
  195. package/dist/lib/arrange/domain/ast/ast-helpers.helper.d.ts.map +0 -1
  196. package/dist/lib/arrange/domain/ast/ast-helpers.helper.js +0 -130
  197. package/dist/lib/arrange/domain/ast/ast-node.model.d.ts +0 -179
  198. package/dist/lib/arrange/domain/ast/ast-node.model.d.ts.map +0 -1
  199. package/dist/lib/arrange/domain/ast/ast-node.model.js +0 -210
  200. package/dist/lib/arrange/domain/ast/collectors-cn.collector.d.ts +0 -7
  201. package/dist/lib/arrange/domain/ast/collectors-cn.collector.d.ts.map +0 -1
  202. package/dist/lib/arrange/domain/ast/collectors-cn.collector.js +0 -70
  203. package/dist/lib/arrange/domain/ast/collectors-jsx.collector.d.ts +0 -4
  204. package/dist/lib/arrange/domain/ast/collectors-jsx.collector.d.ts.map +0 -1
  205. package/dist/lib/arrange/domain/ast/collectors-jsx.collector.js +0 -21
  206. package/dist/lib/arrange/domain/ast/collectors-tv.collector.d.ts +0 -13
  207. package/dist/lib/arrange/domain/ast/collectors-tv.collector.d.ts.map +0 -1
  208. package/dist/lib/arrange/domain/ast/collectors-tv.collector.js +0 -302
  209. package/dist/lib/arrange/domain/ast/targets.model.d.ts +0 -8
  210. package/dist/lib/arrange/domain/ast/targets.model.d.ts.map +0 -1
  211. package/dist/lib/arrange/domain/ast/targets.model.js +0 -147
  212. package/dist/lib/arrange/domain/constants.domain.d.ts +0 -70
  213. package/dist/lib/arrange/domain/constants.domain.d.ts.map +0 -1
  214. package/dist/lib/arrange/domain/constants.domain.js +0 -182
  215. package/dist/lib/arrange/domain/errors.domain.d.ts +0 -14
  216. package/dist/lib/arrange/domain/errors.domain.d.ts.map +0 -1
  217. package/dist/lib/arrange/domain/errors.domain.js +0 -16
  218. package/dist/lib/arrange/domain/grouping.domain.d.ts +0 -41
  219. package/dist/lib/arrange/domain/grouping.domain.d.ts.map +0 -1
  220. package/dist/lib/arrange/domain/grouping.domain.js +0 -371
  221. package/dist/lib/arrange/domain/imports.domain.d.ts +0 -7
  222. package/dist/lib/arrange/domain/imports.domain.d.ts.map +0 -1
  223. package/dist/lib/arrange/domain/imports.domain.js +0 -80
  224. package/dist/lib/arrange/domain/source-text-formatters.formatter.d.ts +0 -16
  225. package/dist/lib/arrange/domain/source-text-formatters.formatter.d.ts.map +0 -1
  226. package/dist/lib/arrange/domain/source-text-formatters.formatter.js +0 -55
  227. package/dist/lib/arrange/domain/tokenizer.util.d.ts +0 -45
  228. package/dist/lib/arrange/domain/tokenizer.util.d.ts.map +0 -1
  229. package/dist/lib/arrange/domain/tokenizer.util.js +0 -469
  230. package/dist/lib/arrange/domain/types.domain.d.ts +0 -115
  231. package/dist/lib/arrange/domain/types.domain.d.ts.map +0 -1
  232. package/dist/lib/arrange/domain/types.domain.js +0 -10
  233. package/dist/lib/arrange/index.d.ts +0 -45
  234. package/dist/lib/arrange/index.d.ts.map +0 -1
  235. package/dist/lib/arrange/index.js +0 -41
  236. package/dist/lib/arrange/infra/arrange-sync-cli-options.adapter.d.ts +0 -14
  237. package/dist/lib/arrange/infra/arrange-sync-cli-options.adapter.d.ts.map +0 -1
  238. package/dist/lib/arrange/infra/domain-source-parser.adapter.d.ts +0 -11
  239. package/dist/lib/arrange/infra/domain-source-parser.adapter.d.ts.map +0 -1
  240. package/dist/lib/arrange/infra/domain-source-parser.adapter.js +0 -19
  241. package/dist/lib/arrange/infra/ensure-cn-import.adapter.d.ts +0 -3
  242. package/dist/lib/arrange/infra/ensure-cn-import.adapter.d.ts.map +0 -1
  243. package/dist/lib/arrange/infra/ensure-cn-import.adapter.js +0 -6
  244. package/dist/lib/arrange/infra/file-walker.adapter.d.ts +0 -8
  245. package/dist/lib/arrange/infra/file-walker.adapter.d.ts.map +0 -1
  246. package/dist/lib/arrange/infra/file-walker.adapter.js +0 -17
  247. package/dist/lib/arrange/infra/merge-cn-literal-pool-for-test.test-helper.d.ts +0 -8
  248. package/dist/lib/arrange/infra/merge-cn-literal-pool-for-test.test-helper.d.ts.map +0 -1
  249. package/dist/lib/arrange/infra/merge-cn-literal-pool-for-test.test-helper.js +0 -25
  250. package/dist/lib/arrange/infra/ts-ast-translator.adapter.d.ts +0 -10
  251. package/dist/lib/arrange/infra/ts-ast-translator.adapter.d.ts.map +0 -1
  252. package/dist/lib/arrange/infra/ts-ast-translator.adapter.js +0 -363
  253. package/dist/lib/arrange/presentation/arrange-prelude.presenter.d.ts +0 -14
  254. package/dist/lib/arrange/presentation/arrange-prelude.presenter.d.ts.map +0 -1
  255. package/dist/lib/arrange/presentation/arrange-prelude.presenter.js +0 -24
  256. package/dist/lib/arrange/presentation/formatters.presenter.d.ts +0 -3
  257. package/dist/lib/arrange/presentation/formatters.presenter.d.ts.map +0 -1
  258. package/dist/lib/arrange/presentation/formatters.presenter.js +0 -2
  259. package/dist/lib/arrange/presentation/present-analyze-cli.presenter.d.ts +0 -4
  260. package/dist/lib/arrange/presentation/present-analyze-cli.presenter.d.ts.map +0 -1
  261. package/dist/lib/arrange/presentation/present-analyze-cli.presenter.js +0 -4
  262. package/dist/lib/arrange/presentation/report.presenter.d.ts +0 -4
  263. package/dist/lib/arrange/presentation/report.presenter.d.ts.map +0 -1
  264. package/dist/lib/arrange/presentation/report.presenter.js +0 -37
  265. package/dist/lib/arrange/presentation/resolve-arrange-cli-target.presenter.d.ts +0 -2
  266. package/dist/lib/arrange/presentation/resolve-arrange-cli-target.presenter.d.ts.map +0 -1
  267. package/dist/lib/arrange/presentation/resolve-arrange-cli-target.presenter.js +0 -7
  268. package/dist/lib/config/domain/schema.domain.d.ts +0 -50
  269. package/dist/lib/config/domain/schema.domain.d.ts.map +0 -1
  270. package/dist/lib/config/domain/schema.domain.js +0 -43
  271. package/dist/lib/config/index.d.ts +0 -4
  272. package/dist/lib/config/index.d.ts.map +0 -1
  273. package/dist/lib/config/index.js +0 -2
  274. package/dist/lib/config/infra/loader.adapter.d.ts +0 -11
  275. package/dist/lib/config/infra/loader.adapter.d.ts.map +0 -1
  276. package/dist/lib/config/infra/loader.adapter.js +0 -90
  277. package/dist/lib/core/application/architecture-boundaries.policy.d.ts +0 -19
  278. package/dist/lib/core/application/architecture-boundaries.policy.d.ts.map +0 -1
  279. package/dist/lib/core/application/architecture-boundaries.policy.js +0 -370
  280. package/dist/lib/core/application/ports/cli-io.port.d.ts +0 -31
  281. package/dist/lib/core/application/ports/cli-io.port.d.ts.map +0 -1
  282. package/dist/lib/core/application/schema-parse.util.d.ts +0 -8
  283. package/dist/lib/core/application/schema-parse.util.d.ts.map +0 -1
  284. package/dist/lib/core/application/schema-parse.util.js +0 -20
  285. package/dist/lib/core/application/utils/caught-unknown-message.util.d.ts +0 -6
  286. package/dist/lib/core/application/utils/caught-unknown-message.util.d.ts.map +0 -1
  287. package/dist/lib/core/application/utils/caught-unknown-message.util.js +0 -34
  288. package/dist/lib/core/application/utils/verbose-diagnostics.util.d.ts +0 -5
  289. package/dist/lib/core/application/utils/verbose-diagnostics.util.d.ts.map +0 -1
  290. package/dist/lib/core/application/utils/verbose-diagnostics.util.js +0 -7
  291. package/dist/lib/core/domain/errors.domain.d.ts +0 -11
  292. package/dist/lib/core/domain/errors.domain.d.ts.map +0 -1
  293. package/dist/lib/core/domain/errors.domain.js +0 -9
  294. package/dist/lib/core/domain/result.model.d.ts +0 -17
  295. package/dist/lib/core/domain/result.model.d.ts.map +0 -1
  296. package/dist/lib/core/domain/result.model.js +0 -15
  297. package/dist/lib/core/infra/container.adapter.d.ts +0 -58
  298. package/dist/lib/core/infra/container.adapter.d.ts.map +0 -1
  299. package/dist/lib/core/infra/container.adapter.js +0 -80
  300. package/dist/lib/core/infra/logging-decorator.adapter.d.ts +0 -12
  301. package/dist/lib/core/infra/logging-decorator.adapter.d.ts.map +0 -1
  302. package/dist/lib/core/infra/logging-decorator.adapter.js +0 -75
  303. package/dist/lib/core/presentation/cli-executor.presenter.d.ts +0 -33
  304. package/dist/lib/core/presentation/cli-executor.presenter.d.ts.map +0 -1
  305. package/dist/lib/core/presentation/cli-executor.presenter.js +0 -73
  306. package/dist/lib/core/presentation/format-app-error.presenter.d.ts +0 -6
  307. package/dist/lib/core/presentation/format-app-error.presenter.d.ts.map +0 -1
  308. package/dist/lib/core/presentation/format-app-error.presenter.js +0 -19
  309. package/dist/lib/core/presentation/global-cli-options.presenter.d.ts +0 -9
  310. package/dist/lib/core/presentation/global-cli-options.presenter.d.ts.map +0 -1
  311. package/dist/lib/core/presentation/global-cli-options.presenter.js +0 -8
  312. package/dist/lib/core/presentation/load-codefast-config.presenter.d.ts +0 -8
  313. package/dist/lib/core/presentation/load-codefast-config.presenter.d.ts.map +0 -1
  314. package/dist/lib/core/presentation/load-codefast-config.presenter.js +0 -15
  315. package/dist/lib/core/presentation/parse-cli-schema.presenter.d.ts +0 -5
  316. package/dist/lib/core/presentation/parse-cli-schema.presenter.d.ts.map +0 -1
  317. package/dist/lib/core/presentation/parse-cli-schema.presenter.js +0 -4
  318. package/dist/lib/core/presentation/run-cli-use-case-after-parse.presenter.d.ts +0 -6
  319. package/dist/lib/core/presentation/run-cli-use-case-after-parse.presenter.d.ts.map +0 -1
  320. package/dist/lib/core/presentation/run-cli-use-case-after-parse.presenter.js +0 -17
  321. package/dist/lib/core/presentation/workspace-root-strict.presenter.d.ts +0 -5
  322. package/dist/lib/core/presentation/workspace-root-strict.presenter.d.ts.map +0 -1
  323. package/dist/lib/core/presentation/workspace-root-strict.presenter.js +0 -12
  324. package/dist/lib/infra/config-reporter.adapter.d.ts +0 -4
  325. package/dist/lib/infra/config-reporter.adapter.d.ts.map +0 -1
  326. package/dist/lib/infra/config-reporter.adapter.js +0 -9
  327. package/dist/lib/infra/fs-contract.port.d.ts +0 -2
  328. package/dist/lib/infra/fs-contract.port.d.ts.map +0 -1
  329. package/dist/lib/infra/node-io.adapter.d.ts +0 -4
  330. package/dist/lib/infra/node-io.adapter.d.ts.map +0 -1
  331. package/dist/lib/infra/node-io.adapter.js +0 -37
  332. package/dist/lib/infra/workspace/repo-root.adapter.d.ts +0 -7
  333. package/dist/lib/infra/workspace/repo-root.adapter.d.ts.map +0 -1
  334. package/dist/lib/infra/workspace/repo-root.adapter.js +0 -23
  335. package/dist/lib/mirror/application/ports/file-system-service.port.d.ts +0 -6
  336. package/dist/lib/mirror/application/ports/file-system-service.port.d.ts.map +0 -1
  337. package/dist/lib/mirror/application/ports/mirror-sync-reporter.port.d.ts +0 -27
  338. package/dist/lib/mirror/application/ports/mirror-sync-reporter.port.d.ts.map +0 -1
  339. package/dist/lib/mirror/application/ports/package-repository.port.d.ts +0 -16
  340. package/dist/lib/mirror/application/ports/package-repository.port.d.ts.map +0 -1
  341. package/dist/lib/mirror/application/ports/workspace-service.port.d.ts +0 -7
  342. package/dist/lib/mirror/application/ports/workspace-service.port.d.ts.map +0 -1
  343. package/dist/lib/mirror/application/requests/mirror-sync.request.d.ts +0 -10
  344. package/dist/lib/mirror/application/requests/mirror-sync.request.d.ts.map +0 -1
  345. package/dist/lib/mirror/application/requests/mirror-sync.request.js +0 -8
  346. package/dist/lib/mirror/application/use-cases/generate-mirror-exports.use-case.d.ts +0 -10
  347. package/dist/lib/mirror/application/use-cases/generate-mirror-exports.use-case.d.ts.map +0 -1
  348. package/dist/lib/mirror/application/use-cases/generate-mirror-exports.use-case.js +0 -271
  349. package/dist/lib/mirror/application/use-cases/run-mirror-sync.use-case.d.ts +0 -19
  350. package/dist/lib/mirror/application/use-cases/run-mirror-sync.use-case.d.ts.map +0 -1
  351. package/dist/lib/mirror/application/use-cases/run-mirror-sync.use-case.js +0 -168
  352. package/dist/lib/mirror/domain/constants.domain.d.ts +0 -6
  353. package/dist/lib/mirror/domain/constants.domain.d.ts.map +0 -1
  354. package/dist/lib/mirror/domain/constants.domain.js +0 -5
  355. package/dist/lib/mirror/domain/errors.domain.d.ts +0 -10
  356. package/dist/lib/mirror/domain/errors.domain.d.ts.map +0 -1
  357. package/dist/lib/mirror/domain/errors.domain.js +0 -12
  358. package/dist/lib/mirror/domain/types.domain.d.ts +0 -65
  359. package/dist/lib/mirror/domain/types.domain.d.ts.map +0 -1
  360. package/dist/lib/mirror/index.d.ts +0 -6
  361. package/dist/lib/mirror/index.d.ts.map +0 -1
  362. package/dist/lib/mirror/index.js +0 -1
  363. package/dist/lib/mirror/infra/dirent-list.adapter.d.ts +0 -9
  364. package/dist/lib/mirror/infra/dirent-list.adapter.d.ts.map +0 -1
  365. package/dist/lib/mirror/infra/dirent-list.adapter.js +0 -13
  366. package/dist/lib/mirror/infra/file-system-service.adapter.d.ts +0 -7
  367. package/dist/lib/mirror/infra/file-system-service.adapter.d.ts.map +0 -1
  368. package/dist/lib/mirror/infra/file-system-service.adapter.js +0 -47
  369. package/dist/lib/mirror/infra/mirror-sync-cli-options.adapter.d.ts +0 -14
  370. package/dist/lib/mirror/infra/mirror-sync-cli-options.adapter.d.ts.map +0 -1
  371. package/dist/lib/mirror/infra/mirror-sync-reporter.adapter.d.ts +0 -3
  372. package/dist/lib/mirror/infra/mirror-sync-reporter.adapter.d.ts.map +0 -1
  373. package/dist/lib/mirror/infra/mirror-sync-reporter.adapter.js +0 -13
  374. package/dist/lib/mirror/infra/package-filter.adapter.d.ts +0 -8
  375. package/dist/lib/mirror/infra/package-filter.adapter.d.ts.map +0 -1
  376. package/dist/lib/mirror/infra/package-filter.adapter.js +0 -33
  377. package/dist/lib/mirror/infra/package-repository.adapter.d.ts +0 -17
  378. package/dist/lib/mirror/infra/package-repository.adapter.d.ts.map +0 -1
  379. package/dist/lib/mirror/infra/package-repository.adapter.js +0 -17
  380. package/dist/lib/mirror/infra/path-normalizer.adapter.d.ts +0 -2
  381. package/dist/lib/mirror/infra/path-normalizer.adapter.d.ts.map +0 -1
  382. package/dist/lib/mirror/infra/path-normalizer.adapter.js +0 -4
  383. package/dist/lib/mirror/infra/update-pkg.adapter.d.ts +0 -19
  384. package/dist/lib/mirror/infra/update-pkg.adapter.d.ts.map +0 -1
  385. package/dist/lib/mirror/infra/update-pkg.adapter.js +0 -156
  386. package/dist/lib/mirror/infra/workspace-packages.adapter.d.ts +0 -26
  387. package/dist/lib/mirror/infra/workspace-packages.adapter.d.ts.map +0 -1
  388. package/dist/lib/mirror/infra/workspace-packages.adapter.js +0 -170
  389. package/dist/lib/mirror/infra/workspace-service.adapter.d.ts +0 -8
  390. package/dist/lib/mirror/infra/workspace-service.adapter.d.ts.map +0 -1
  391. package/dist/lib/mirror/infra/workspace-service.adapter.js +0 -10
  392. package/dist/lib/mirror/presentation/mirror-prelude.presenter.d.ts +0 -17
  393. package/dist/lib/mirror/presentation/mirror-prelude.presenter.d.ts.map +0 -1
  394. package/dist/lib/mirror/presentation/mirror-prelude.presenter.js +0 -35
  395. package/dist/lib/mirror/presentation/reporter.presenter.d.ts +0 -25
  396. package/dist/lib/mirror/presentation/reporter.presenter.d.ts.map +0 -1
  397. package/dist/lib/mirror/presentation/reporter.presenter.js +0 -140
  398. package/dist/lib/mirror/presentation/resolve-mirror-package-arg.presenter.d.ts +0 -11
  399. package/dist/lib/mirror/presentation/resolve-mirror-package-arg.presenter.d.ts.map +0 -1
  400. package/dist/lib/mirror/presentation/resolve-mirror-package-arg.presenter.js +0 -27
  401. package/dist/lib/shared/source-code/domain/text-edit.model.d.ts +0 -14
  402. package/dist/lib/shared/source-code/domain/text-edit.model.d.ts.map +0 -1
  403. package/dist/lib/shared/source-code/domain/text-edit.model.js +0 -30
  404. package/dist/lib/shared/source-code/infra/tsx-file-walk.adapter.d.ts +0 -4
  405. package/dist/lib/shared/source-code/infra/tsx-file-walk.adapter.d.ts.map +0 -1
  406. package/dist/lib/shared/source-code/infra/tsx-file-walk.adapter.js +0 -37
  407. package/dist/lib/tag/application/ports/target-resolver.port.d.ts +0 -6
  408. package/dist/lib/tag/application/ports/target-resolver.port.d.ts.map +0 -1
  409. package/dist/lib/tag/application/ports/typescript-tree-walk.port.d.ts +0 -6
  410. package/dist/lib/tag/application/ports/typescript-tree-walk.port.d.ts.map +0 -1
  411. package/dist/lib/tag/application/requests/tag-sync.request.d.ts +0 -10
  412. package/dist/lib/tag/application/requests/tag-sync.request.d.ts.map +0 -1
  413. package/dist/lib/tag/application/requests/tag-sync.request.js +0 -8
  414. package/dist/lib/tag/application/use-cases/run-tag-sync.use-case.d.ts +0 -23
  415. package/dist/lib/tag/application/use-cases/run-tag-sync.use-case.d.ts.map +0 -1
  416. package/dist/lib/tag/application/use-cases/run-tag-sync.use-case.js +0 -357
  417. package/dist/lib/tag/domain/types.domain.d.ts +0 -56
  418. package/dist/lib/tag/domain/types.domain.d.ts.map +0 -1
  419. package/dist/lib/tag/index.d.ts +0 -14
  420. package/dist/lib/tag/index.d.ts.map +0 -1
  421. package/dist/lib/tag/index.js +0 -10
  422. package/dist/lib/tag/infra/tag-sync-cli-options.adapter.d.ts +0 -14
  423. package/dist/lib/tag/infra/tag-sync-cli-options.adapter.d.ts.map +0 -1
  424. package/dist/lib/tag/infra/tag-target-candidates.adapter.d.ts +0 -4
  425. package/dist/lib/tag/infra/tag-target-candidates.adapter.d.ts.map +0 -1
  426. package/dist/lib/tag/infra/tag-target-candidates.adapter.js +0 -200
  427. package/dist/lib/tag/infra/tag-target-resolver.adapter.d.ts +0 -3
  428. package/dist/lib/tag/infra/tag-target-resolver.adapter.d.ts.map +0 -1
  429. package/dist/lib/tag/infra/tag-target-resolver.adapter.js +0 -4
  430. package/dist/lib/tag/infra/typescript-tree-walk.adapter.d.ts +0 -3
  431. package/dist/lib/tag/infra/typescript-tree-walk.adapter.d.ts.map +0 -1
  432. package/dist/lib/tag/infra/typescript-tree-walk.adapter.js +0 -4
  433. package/dist/lib/tag/presentation/colors.presenter.d.ts +0 -8
  434. package/dist/lib/tag/presentation/colors.presenter.d.ts.map +0 -1
  435. package/dist/lib/tag/presentation/colors.presenter.js +0 -9
  436. package/dist/lib/tag/presentation/resolve-tag-cli-target.presenter.d.ts +0 -8
  437. package/dist/lib/tag/presentation/resolve-tag-cli-target.presenter.d.ts.map +0 -1
  438. package/dist/lib/tag/presentation/resolve-tag-cli-target.presenter.js +0 -10
  439. package/dist/lib/tag/presentation/resolve-tag-workspace-root.presenter.d.ts +0 -8
  440. package/dist/lib/tag/presentation/resolve-tag-workspace-root.presenter.d.ts.map +0 -1
  441. package/dist/lib/tag/presentation/resolve-tag-workspace-root.presenter.js +0 -10
  442. package/dist/lib/tag/presentation/tag-prelude.presenter.d.ts +0 -15
  443. package/dist/lib/tag/presentation/tag-prelude.presenter.d.ts.map +0 -1
  444. package/dist/lib/tag/presentation/tag-prelude.presenter.js +0 -31
  445. package/dist/lib/tag/presentation/tag-sync.presenter.d.ts +0 -20
  446. package/dist/lib/tag/presentation/tag-sync.presenter.d.ts.map +0 -1
  447. package/dist/lib/tag/presentation/tag-sync.presenter.js +0 -92
  448. package/dist/program.d.ts +0 -4
  449. package/dist/program.d.ts.map +0 -1
  450. package/dist/program.js +0 -40
  451. /package/dist/lib/arrange/application/ports/{domain-source-parser.port.js → domain-source-parser.port.mjs} +0 -0
  452. /package/dist/lib/arrange/application/ports/{file-walker.port.js → file-walker.port.mjs} +0 -0
  453. /package/dist/lib/arrange/{infra/arrange-sync-cli-options.adapter.js → application/ports/group-file-preview.port.mjs} +0 -0
  454. /package/dist/lib/{core/application/ports/cli-io.port.js → arrange/application/requests/analyze-directory.request.mjs} +0 -0
  455. /package/dist/lib/{infra/fs-contract.port.js → arrange/application/requests/arrange-sync.request.mjs} +0 -0
  456. /package/dist/lib/{mirror/application/ports/file-system-service.port.js → arrange/application/requests/suggest-groups.request.mjs} +0 -0
  457. /package/dist/lib/{mirror/application/ports/mirror-sync-reporter.port.js → arrange/contracts/models.mjs} +0 -0
  458. /package/dist/lib/{mirror/application/ports/package-repository.port.js → arrange/contracts/presentation.contract.mjs} +0 -0
  459. /package/dist/lib/{mirror/application/ports/workspace-service.port.js → arrange/contracts/services.contract.mjs} +0 -0
  460. /package/dist/lib/{mirror/domain/types.domain.js → arrange/contracts/use-cases.contract.mjs} +0 -0
  461. /package/dist/lib/{mirror/infra/mirror-sync-cli-options.adapter.js → arrange/domain/types.domain.mjs} +0 -0
  462. /package/dist/lib/{tag/application/ports/target-resolver.port.js → arrange/infra/arrange-sync-cli-options.adapter.mjs} +0 -0
  463. /package/dist/lib/{tag/application/ports/typescript-tree-walk.port.js → config/application/ports/config-loader.port.mjs} +0 -0
  464. /package/dist/lib/{tag/domain/types.domain.js → config/domain/schema.domain.mjs} +0 -0
  465. /package/dist/lib/{tag/infra/tag-sync-cli-options.adapter.js → core/application/ports/cli-io.port.mjs} +0 -0
@@ -0,0 +1,355 @@
1
+ import { DomainBinaryOperator, DomainSyntaxKind } from "../domain/ast/ast-node.model.mjs";
2
+ import ts from "typescript";
3
+ //#region src/lib/arrange/infra/ts-ast-translator.adapter.ts
4
+ /**
5
+ * Anti-corruption layer: maps TypeScript compiler AST to arrange domain AST.
6
+ * This module is the only place that imports `typescript` for arrange AST translation.
7
+ */ function translateUnknown(n, parent, sf) {
8
+ const pos = n.getStart(sf);
9
+ const end = n.getEnd();
10
+ const self = {
11
+ kind: DomainSyntaxKind.Unknown,
12
+ pos,
13
+ end,
14
+ parent,
15
+ children: []
16
+ };
17
+ const childList = [];
18
+ ts.forEachChild(n, (child) => {
19
+ childList.push(translateNode(child, self, sf));
20
+ });
21
+ return {
22
+ ...self,
23
+ children: childList
24
+ };
25
+ }
26
+ function mapBinaryOperator(operatorToken) {
27
+ if (operatorToken.kind === ts.SyntaxKind.PlusToken) return DomainBinaryOperator.Plus;
28
+ return DomainBinaryOperator.Other;
29
+ }
30
+ function translateNode(n, parent, sf) {
31
+ const pos = n.getStart(sf);
32
+ const end = n.getEnd();
33
+ switch (n.kind) {
34
+ case ts.SyntaxKind.Identifier: {
35
+ const id = n;
36
+ return {
37
+ kind: DomainSyntaxKind.Identifier,
38
+ pos,
39
+ end,
40
+ parent,
41
+ text: id.text
42
+ };
43
+ }
44
+ case ts.SyntaxKind.StringLiteral: {
45
+ const lit = n;
46
+ return {
47
+ kind: DomainSyntaxKind.StringLiteral,
48
+ pos,
49
+ end,
50
+ parent,
51
+ text: lit.text
52
+ };
53
+ }
54
+ case ts.SyntaxKind.NoSubstitutionTemplateLiteral: {
55
+ const lit = n;
56
+ return {
57
+ kind: DomainSyntaxKind.NoSubstitutionTemplateLiteral,
58
+ pos,
59
+ end,
60
+ parent,
61
+ text: lit.text
62
+ };
63
+ }
64
+ case ts.SyntaxKind.ImportDeclaration: {
65
+ const decl = n;
66
+ const self = {
67
+ kind: DomainSyntaxKind.ImportDeclaration,
68
+ pos,
69
+ end,
70
+ parent,
71
+ importClause: void 0,
72
+ moduleSpecifier: void 0
73
+ };
74
+ if (decl.importClause) self.importClause = translateNode(decl.importClause, self, sf);
75
+ self.moduleSpecifier = translateNode(decl.moduleSpecifier, self, sf);
76
+ return self;
77
+ }
78
+ case ts.SyntaxKind.ImportClause: {
79
+ const clause = n;
80
+ const self = {
81
+ kind: DomainSyntaxKind.ImportClause,
82
+ pos,
83
+ end,
84
+ parent,
85
+ isTypeOnly: clause.isTypeOnly,
86
+ name: void 0,
87
+ namedBindings: void 0
88
+ };
89
+ if (clause.name) self.name = translateNode(clause.name, self, sf);
90
+ if (clause.namedBindings) self.namedBindings = translateNode(clause.namedBindings, self, sf);
91
+ return self;
92
+ }
93
+ case ts.SyntaxKind.NamedImports: {
94
+ const named = n;
95
+ const self = {
96
+ kind: DomainSyntaxKind.NamedImports,
97
+ pos,
98
+ end,
99
+ parent,
100
+ elements: []
101
+ };
102
+ const elements = [];
103
+ for (const element of named.elements) elements.push(translateNode(element, self, sf));
104
+ return {
105
+ ...self,
106
+ elements
107
+ };
108
+ }
109
+ case ts.SyntaxKind.NamespaceImport: {
110
+ const ns = n;
111
+ const self = {
112
+ kind: DomainSyntaxKind.NamespaceImport,
113
+ pos,
114
+ end,
115
+ parent,
116
+ name: void 0
117
+ };
118
+ self.name = translateNode(ns.name, self, sf);
119
+ return self;
120
+ }
121
+ case ts.SyntaxKind.ImportSpecifier: {
122
+ const spec = n;
123
+ const self = {
124
+ kind: DomainSyntaxKind.ImportSpecifier,
125
+ pos,
126
+ end,
127
+ parent,
128
+ propertyName: void 0,
129
+ name: void 0
130
+ };
131
+ if (spec.propertyName) self.propertyName = translateNode(spec.propertyName, self, sf);
132
+ self.name = translateNode(spec.name, self, sf);
133
+ return self;
134
+ }
135
+ case ts.SyntaxKind.CallExpression: {
136
+ const call = n;
137
+ const self = {
138
+ kind: DomainSyntaxKind.CallExpression,
139
+ pos,
140
+ end,
141
+ parent,
142
+ expression: void 0,
143
+ arguments: []
144
+ };
145
+ self.expression = translateNode(call.expression, self, sf);
146
+ self.arguments = call.arguments.map((arg) => translateNode(arg, self, sf));
147
+ return self;
148
+ }
149
+ case ts.SyntaxKind.PropertyAccessExpression: {
150
+ const pa = n;
151
+ const self = {
152
+ kind: DomainSyntaxKind.PropertyAccessExpression,
153
+ pos,
154
+ end,
155
+ parent,
156
+ expression: void 0,
157
+ name: void 0
158
+ };
159
+ self.expression = translateNode(pa.expression, self, sf);
160
+ self.name = translateNode(pa.name, self, sf);
161
+ return self;
162
+ }
163
+ case ts.SyntaxKind.ObjectLiteralExpression: {
164
+ const obj = n;
165
+ const self = {
166
+ kind: DomainSyntaxKind.ObjectLiteralExpression,
167
+ pos,
168
+ end,
169
+ parent,
170
+ properties: []
171
+ };
172
+ const properties = [];
173
+ for (const prop of obj.properties) properties.push(translateNode(prop, self, sf));
174
+ return {
175
+ ...self,
176
+ properties
177
+ };
178
+ }
179
+ case ts.SyntaxKind.PropertyAssignment: {
180
+ const prop = n;
181
+ const self = {
182
+ kind: DomainSyntaxKind.PropertyAssignment,
183
+ pos,
184
+ end,
185
+ parent,
186
+ name: void 0,
187
+ initializer: void 0
188
+ };
189
+ self.name = translateNode(prop.name, self, sf);
190
+ self.initializer = translateNode(prop.initializer, self, sf);
191
+ return self;
192
+ }
193
+ case ts.SyntaxKind.ArrayLiteralExpression: {
194
+ const arr = n;
195
+ const self = {
196
+ kind: DomainSyntaxKind.ArrayLiteralExpression,
197
+ pos,
198
+ end,
199
+ parent,
200
+ elements: []
201
+ };
202
+ const elements = [];
203
+ for (const element of arr.elements) elements.push(translateNode(element, self, sf));
204
+ return {
205
+ ...self,
206
+ elements
207
+ };
208
+ }
209
+ case ts.SyntaxKind.SpreadElement: {
210
+ const sp = n;
211
+ const self = {
212
+ kind: DomainSyntaxKind.SpreadElement,
213
+ pos,
214
+ end,
215
+ parent,
216
+ expression: void 0
217
+ };
218
+ self.expression = translateNode(sp.expression, self, sf);
219
+ return self;
220
+ }
221
+ case ts.SyntaxKind.ParenthesizedExpression: {
222
+ const pe = n;
223
+ const self = {
224
+ kind: DomainSyntaxKind.ParenthesizedExpression,
225
+ pos,
226
+ end,
227
+ parent,
228
+ expression: void 0
229
+ };
230
+ self.expression = translateNode(pe.expression, self, sf);
231
+ return self;
232
+ }
233
+ case ts.SyntaxKind.AsExpression: {
234
+ const ae = n;
235
+ const self = {
236
+ kind: DomainSyntaxKind.AsExpression,
237
+ pos,
238
+ end,
239
+ parent,
240
+ expression: void 0
241
+ };
242
+ self.expression = translateNode(ae.expression, self, sf);
243
+ return self;
244
+ }
245
+ case ts.SyntaxKind.SatisfiesExpression: {
246
+ const se = n;
247
+ const self = {
248
+ kind: DomainSyntaxKind.SatisfiesExpression,
249
+ pos,
250
+ end,
251
+ parent,
252
+ expression: void 0
253
+ };
254
+ self.expression = translateNode(se.expression, self, sf);
255
+ return self;
256
+ }
257
+ case ts.SyntaxKind.NonNullExpression: {
258
+ const nn = n;
259
+ const self = {
260
+ kind: DomainSyntaxKind.NonNullExpression,
261
+ pos,
262
+ end,
263
+ parent,
264
+ expression: void 0
265
+ };
266
+ self.expression = translateNode(nn.expression, self, sf);
267
+ return self;
268
+ }
269
+ case ts.SyntaxKind.ConditionalExpression: {
270
+ const ce = n;
271
+ const self = {
272
+ kind: DomainSyntaxKind.ConditionalExpression,
273
+ pos,
274
+ end,
275
+ parent,
276
+ condition: void 0,
277
+ whenTrue: void 0,
278
+ whenFalse: void 0
279
+ };
280
+ self.condition = translateNode(ce.condition, self, sf);
281
+ self.whenTrue = translateNode(ce.whenTrue, self, sf);
282
+ self.whenFalse = translateNode(ce.whenFalse, self, sf);
283
+ return self;
284
+ }
285
+ case ts.SyntaxKind.BinaryExpression: {
286
+ const be = n;
287
+ const self = {
288
+ kind: DomainSyntaxKind.BinaryExpression,
289
+ pos,
290
+ end,
291
+ parent,
292
+ left: void 0,
293
+ operator: mapBinaryOperator(be.operatorToken),
294
+ right: void 0
295
+ };
296
+ self.left = translateNode(be.left, self, sf);
297
+ self.right = translateNode(be.right, self, sf);
298
+ return self;
299
+ }
300
+ case ts.SyntaxKind.ExpressionStatement: {
301
+ const es = n;
302
+ const self = {
303
+ kind: DomainSyntaxKind.ExpressionStatement,
304
+ pos,
305
+ end,
306
+ parent,
307
+ expression: void 0
308
+ };
309
+ self.expression = translateNode(es.expression, self, sf);
310
+ return self;
311
+ }
312
+ case ts.SyntaxKind.JsxAttribute: {
313
+ const ja = n;
314
+ const self = {
315
+ kind: DomainSyntaxKind.JsxAttribute,
316
+ pos,
317
+ end,
318
+ parent,
319
+ name: void 0,
320
+ initializer: void 0
321
+ };
322
+ self.name = translateNode(ja.name, self, sf);
323
+ if (ja.initializer) self.initializer = translateNode(ja.initializer, self, sf);
324
+ return self;
325
+ }
326
+ case ts.SyntaxKind.JsxExpression: {
327
+ const je = n;
328
+ const self = {
329
+ kind: DomainSyntaxKind.JsxExpression,
330
+ pos,
331
+ end,
332
+ parent,
333
+ expression: void 0
334
+ };
335
+ if (je.expression) self.expression = translateNode(je.expression, self, sf);
336
+ return self;
337
+ }
338
+ default: return translateUnknown(n, parent, sf);
339
+ }
340
+ }
341
+ function translateTypeScriptSourceFile(tsSf) {
342
+ const text = tsSf.getFullText();
343
+ const statements = tsSf.statements.map((statement) => translateNode(statement, null, tsSf));
344
+ return {
345
+ fileName: tsSf.fileName,
346
+ text,
347
+ statements
348
+ };
349
+ }
350
+ function parseDomainSourceFile(filePath, sourceText) {
351
+ const scriptKind = filePath.endsWith(".tsx") ? ts.ScriptKind.TSX : ts.ScriptKind.TS;
352
+ return translateTypeScriptSourceFile(ts.createSourceFile(filePath, sourceText, ts.ScriptTarget.Latest, true, scriptKind));
353
+ }
354
+ //#endregion
355
+ export { parseDomainSourceFile, translateNode, translateTypeScriptSourceFile };
@@ -0,0 +1,29 @@
1
+ import { z } from "zod";
2
+ //#region src/lib/arrange/presentation/arrange-cli-schema.presenter.ts
3
+ const arrangeAnalyzeDirectoryRequestSchema = z.object({
4
+ analyzeRootPath: z.string().min(1, "analyzeRootPath is required"),
5
+ json: z.boolean().optional()
6
+ });
7
+ const arrangeSyncRunRequestSchema = z.object({
8
+ rootDir: z.string().min(1),
9
+ targetPath: z.string().min(1),
10
+ write: z.boolean(),
11
+ json: z.boolean().optional(),
12
+ withClassName: z.boolean().optional(),
13
+ cnImport: z.string().optional(),
14
+ config: z.unknown().optional()
15
+ });
16
+ const arrangeRunTargetRequestSchema = z.object({
17
+ targetPath: z.string().min(1),
18
+ write: z.boolean(),
19
+ withClassName: z.boolean().optional(),
20
+ cnImport: z.string().optional()
21
+ });
22
+ const arrangeSuggestGroupsRequestSchema = z.object({
23
+ inlineClasses: z.string().min(1, "Pass a class string. Example: codefast arrange group \"flex gap-2 text-sm rounded-md\""),
24
+ emitTvStyleArray: z.boolean(),
25
+ trailingClassName: z.boolean(),
26
+ json: z.boolean().optional()
27
+ });
28
+ //#endregion
29
+ export { arrangeAnalyzeDirectoryRequestSchema, arrangeRunTargetRequestSchema, arrangeSuggestGroupsRequestSchema, arrangeSyncRunRequestSchema };
@@ -0,0 +1,12 @@
1
+ import { exitCodeForArrangeSyncResult } from "../application/arrange-sync-cli-result.mjs";
2
+ //#region src/lib/arrange/presentation/arrange-sync.presenter.ts
3
+ function presentArrangeSyncResult(logger, result, write) {
4
+ logger.out(`\nTotal: ${result.filePaths.length} file(s), ${result.totalFound} site(s) (cn/tv/JSX className) to review.`);
5
+ if (write) logger.out(`Applied: ${result.totalChanged} site(s) updated.`);
6
+ else logger.out(`(Run "apply" to write changes, or "pnpm cli:arrange-apply" / "pnpm exec codefast arrange apply")`);
7
+ if (write ? result.totalChanged > 0 : result.totalFound > 0) logger.out("Note: class order may change across concern groups — smoke-test the UI if you rely on cascade order.");
8
+ if (result.hookError !== null) logger.err(result.hookError);
9
+ return exitCodeForArrangeSyncResult(result);
10
+ }
11
+ //#endregion
12
+ export { presentArrangeSyncResult };
@@ -0,0 +1,2 @@
1
+ import { escapeTsStringLiteralContent, formatArray, formatCnArguments, formatCnCall, formatJsxCnAttributeValue } from "../domain/source-text-formatters.formatter.mjs";
2
+ export { escapeTsStringLiteralContent, formatArray, formatCnArguments, formatCnCall, formatJsxCnAttributeValue };
@@ -0,0 +1,275 @@
1
+ import { CliLoggerToken } from "../../core/operational/contracts/tokens.mjs";
2
+ import { lineOf } from "../domain/ast/ast-helpers.helper.mjs";
3
+ import { inject, injectable } from "@codefast/di";
4
+ //#region src/lib/arrange/presentation/group-file-preview.presenter.ts
5
+ function toPrimitive(input, hint) {
6
+ if (typeof input !== "object" || input === null) return input;
7
+ var prim = input[Symbol.toPrimitive];
8
+ if (prim !== void 0) {
9
+ var res = prim.call(input, hint || "default");
10
+ if (typeof res !== "object") return res;
11
+ throw new TypeError("@@toPrimitive must return a primitive value.");
12
+ }
13
+ return (hint === "string" ? String : Number)(input);
14
+ }
15
+ function toPropertyKey(arg) {
16
+ var key = toPrimitive(arg, "string");
17
+ return typeof key === "symbol" ? key : String(key);
18
+ }
19
+ function checkInRHS(value) {
20
+ if (Object(value) !== value) throw TypeError("right-hand side of 'in' should be an object, got " + (value !== null ? typeof value : "null"));
21
+ return value;
22
+ }
23
+ function setFunctionName(fn, name, prefix) {
24
+ if (typeof name === "symbol") {
25
+ name = name.description;
26
+ name = name ? "[" + name + "]" : "";
27
+ }
28
+ try {
29
+ Object.defineProperty(fn, "name", {
30
+ configurable: true,
31
+ value: prefix ? prefix + " " + name : name
32
+ });
33
+ } catch (_) {}
34
+ return fn;
35
+ }
36
+ function _apply_decs_2311(targetClass, classDecs, memberDecs, classDecsHaveThis, instanceBrand, parentClass) {
37
+ var symbolMetadata = Symbol.metadata || Symbol.for("Symbol.metadata");
38
+ var defineProperty = Object.defineProperty;
39
+ var create = Object.create;
40
+ var metadata;
41
+ var existingNonFields = [create(null), create(null)];
42
+ var hasClassDecs = classDecs.length;
43
+ var _;
44
+ function createRunInitializers(initializers, useStaticThis, hasValue) {
45
+ return function(thisArg, value) {
46
+ if (useStaticThis) {
47
+ value = thisArg;
48
+ thisArg = targetClass;
49
+ }
50
+ for (var i = 0; i < initializers.length; i++) value = initializers[i].apply(thisArg, hasValue ? [value] : []);
51
+ return hasValue ? value : thisArg;
52
+ };
53
+ }
54
+ function assertCallable(fn, hint1, hint2, throwUndefined) {
55
+ if (typeof fn !== "function") {
56
+ if (throwUndefined || fn !== void 0) throw new TypeError(hint1 + " must " + (hint2 || "be") + " a function" + (throwUndefined ? "" : " or undefined"));
57
+ }
58
+ return fn;
59
+ }
60
+ function applyDec(Class, decInfo, decoratorsHaveThis, name, kind, initializers, ret, isStatic, isPrivate, isField, hasPrivateBrand) {
61
+ function assertInstanceIfPrivate(target) {
62
+ if (!hasPrivateBrand(target)) throw new TypeError("Attempted to access private element on non-instance");
63
+ }
64
+ var decs = [].concat(decInfo[0]);
65
+ var decVal = decInfo[3];
66
+ var isClass = !ret;
67
+ var isAccessor = kind === 1;
68
+ var isGetter = kind === 3;
69
+ var isSetter = kind === 4;
70
+ var isMethod = kind === 2;
71
+ function bindPropCall(name, useStaticThis, before) {
72
+ return function(_this, value) {
73
+ if (useStaticThis) {
74
+ value = _this;
75
+ _this = Class;
76
+ }
77
+ if (before) before(_this);
78
+ return desc[name].call(_this, value);
79
+ };
80
+ }
81
+ var desc1 = {};
82
+ var init = [];
83
+ var key = isGetter ? "get" : isSetter || isAccessor ? "set" : "value";
84
+ if (!isClass) {
85
+ if (isPrivate) {
86
+ if (isField || isAccessor) desc1 = {
87
+ get: setFunctionName(function() {
88
+ return decVal(this);
89
+ }, name, "get"),
90
+ set: function(value) {
91
+ decInfo[4](this, value);
92
+ }
93
+ };
94
+ else desc1[key] = decVal;
95
+ if (!isField) setFunctionName(desc1[key], name, isMethod ? "" : key);
96
+ } else if (!isField) desc1 = Object.getOwnPropertyDescriptor(Class, name);
97
+ if (!isField && !isPrivate) {
98
+ _ = existingNonFields[+isStatic][name];
99
+ if (_ && (_ ^ kind) !== 7) throw new Error("Decorating two elements with the same name (" + desc1[key].name + ") is not supported yet");
100
+ existingNonFields[+isStatic][name] = kind < 3 ? 1 : kind;
101
+ }
102
+ }
103
+ var newValue = Class;
104
+ for (var i = decs.length - 1; i >= 0; i -= decoratorsHaveThis ? 2 : 1) {
105
+ var dec = assertCallable(decs[i], "A decorator", "be", true);
106
+ var decThis = decoratorsHaveThis ? decs[i - 1] : void 0;
107
+ var decoratorFinishedRef = {};
108
+ var ctx = {
109
+ kind: [
110
+ "field",
111
+ "accessor",
112
+ "method",
113
+ "getter",
114
+ "setter",
115
+ "class"
116
+ ][kind],
117
+ name,
118
+ metadata,
119
+ addInitializer: (function(decoratorFinishedRef, initializer) {
120
+ if (decoratorFinishedRef.v) throw new TypeError("attempted to call addInitializer after decoration was finished");
121
+ assertCallable(initializer, "An initializer", "be", true);
122
+ initializers.push(initializer);
123
+ }).bind(null, decoratorFinishedRef)
124
+ };
125
+ if (isClass) {
126
+ _ = dec.call(decThis, newValue, ctx);
127
+ decoratorFinishedRef.v = 1;
128
+ if (assertCallable(_, "class decorators", "return")) newValue = _;
129
+ continue;
130
+ }
131
+ ctx.static = isStatic;
132
+ ctx.private = isPrivate;
133
+ _ = ctx.access = { has: isPrivate ? hasPrivateBrand.bind() : function(target) {
134
+ return name in target;
135
+ } };
136
+ if (!isSetter) _.get = isPrivate ? isMethod ? function(_this) {
137
+ assertInstanceIfPrivate(_this);
138
+ return desc1.value;
139
+ } : bindPropCall("get", 0, assertInstanceIfPrivate) : function(target) {
140
+ return target[name];
141
+ };
142
+ if (!isMethod && !isGetter) _.set = isPrivate ? bindPropCall("set", 0, assertInstanceIfPrivate) : function(target, value) {
143
+ target[name] = value;
144
+ };
145
+ newValue = dec.call(decThis, isAccessor ? {
146
+ get: desc1.get,
147
+ set: desc1.set
148
+ } : desc1[key], ctx);
149
+ decoratorFinishedRef.v = 1;
150
+ if (isAccessor) {
151
+ if (typeof newValue === "object" && newValue) {
152
+ if (_ = assertCallable(newValue.get, "accessor.get")) desc1.get = _;
153
+ if (_ = assertCallable(newValue.set, "accessor.set")) desc1.set = _;
154
+ if (_ = assertCallable(newValue.init, "accessor.init")) init.unshift(_);
155
+ } else if (newValue !== void 0) throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined");
156
+ } else if (assertCallable(newValue, (isField ? "field" : "method") + " decorators", "return")) if (isField) init.unshift(newValue);
157
+ else desc1[key] = newValue;
158
+ }
159
+ if (kind < 2) ret.push(createRunInitializers(init, isStatic, 1), createRunInitializers(initializers, isStatic, 0));
160
+ if (!isField && !isClass) if (isPrivate) if (isAccessor) ret.splice(-1, 0, bindPropCall("get", isStatic), bindPropCall("set", isStatic));
161
+ else ret.push(isMethod ? desc1[key] : assertCallable.call.bind(desc1[key]));
162
+ else defineProperty(Class, name, desc1);
163
+ return newValue;
164
+ }
165
+ function applyMemberDecs() {
166
+ var ret = [];
167
+ var protoInitializers;
168
+ var staticInitializers;
169
+ var pushInitializers = function(initializers) {
170
+ if (initializers) ret.push(createRunInitializers(initializers));
171
+ };
172
+ var applyMemberDecsOfKind = function(isStatic, isField) {
173
+ for (var i = 0; i < memberDecs.length; i++) {
174
+ var decInfo = memberDecs[i];
175
+ var kind = decInfo[1];
176
+ var kindOnly = kind & 7;
177
+ if ((kind & 8) == isStatic && !kindOnly == isField) {
178
+ var name = decInfo[2];
179
+ var isPrivate = !!decInfo[3];
180
+ var decoratorsHaveThis = kind & 16;
181
+ applyDec(isStatic ? targetClass : targetClass.prototype, decInfo, decoratorsHaveThis, isPrivate ? "#" + name : toPropertyKey(name), kindOnly, kindOnly < 2 ? [] : isStatic ? staticInitializers = staticInitializers || [] : protoInitializers = protoInitializers || [], ret, !!isStatic, isPrivate, isField, isStatic && isPrivate ? function(_) {
182
+ return checkInRHS(_) === targetClass;
183
+ } : instanceBrand);
184
+ }
185
+ }
186
+ };
187
+ applyMemberDecsOfKind(8, 0);
188
+ applyMemberDecsOfKind(0, 0);
189
+ applyMemberDecsOfKind(8, 1);
190
+ applyMemberDecsOfKind(0, 1);
191
+ pushInitializers(protoInitializers);
192
+ pushInitializers(staticInitializers);
193
+ return ret;
194
+ }
195
+ function defineMetadata(Class) {
196
+ return defineProperty(Class, symbolMetadata, {
197
+ configurable: true,
198
+ enumerable: true,
199
+ value: metadata
200
+ });
201
+ }
202
+ if (parentClass !== void 0) metadata = parentClass[symbolMetadata];
203
+ metadata = create(metadata == null ? null : metadata);
204
+ _ = applyMemberDecs();
205
+ if (!hasClassDecs) defineMetadata(targetClass);
206
+ return {
207
+ e: _,
208
+ get c() {
209
+ var initializers = [];
210
+ return hasClassDecs && [defineMetadata(targetClass = applyDec(targetClass, [classDecs], classDecsHaveThis, targetClass.name, 5, initializers)), createRunInitializers(initializers, 1)];
211
+ }
212
+ };
213
+ }
214
+ let _dec, _initClass;
215
+ function printGroupFilePreview(logger, args) {
216
+ const { out } = logger;
217
+ const { filePath, reportTotal, cnInTvNoReplacement, cnInTvCalls, unwrapReplacementByCall, sourceText, domainSf, unwrapEdits, plannedGroupEdits } = args;
218
+ let header = `\n── ${filePath} (${reportTotal} site(s)`;
219
+ if (cnInTvNoReplacement > 0) header += `; plus ${cnInTvNoReplacement} cn() inside tv left unchanged (0 args)`;
220
+ header += `) ──`;
221
+ out(header);
222
+ for (const call of cnInTvCalls) {
223
+ const replacement = unwrapReplacementByCall.get(call);
224
+ if (replacement === void 0) {
225
+ out(` Line ${lineOf(domainSf, call)} [tv ⊃ cn]: cn(...) has no arguments — skipped`);
226
+ continue;
227
+ }
228
+ const start = call.pos;
229
+ const end = call.end;
230
+ if (sourceText.slice(start, end) === replacement) continue;
231
+ out(` Line ${lineOf(domainSf, call)} [tv ⊃ cn → string/array]:`);
232
+ out(` ${replacement.split("\n").join("\n ")}`);
233
+ }
234
+ if (unwrapEdits.length > 0 && plannedGroupEdits.length > 0) out(" ([cn] / [tv] / [JSX className] lines below reflect content after unwrap of cn inside tv.)");
235
+ for (const plan of plannedGroupEdits) {
236
+ out(` Line ${lineOf(plan.lineSf, plan.reportNode)} [${plan.label}]:`);
237
+ out(` ${plan.replacement.split("\n").join("\n ")}`);
238
+ out(` // Buckets: ${JSON.stringify(plan.bucketSummary)}`);
239
+ }
240
+ }
241
+ function printGroupFilePreviewFromWork(logger, work) {
242
+ printGroupFilePreview(logger, {
243
+ filePath: work.filePath,
244
+ reportTotal: work.reportTotal,
245
+ cnInTvNoReplacement: work.cnInTvNoReplacement,
246
+ cnInTvCalls: work.cnInTvCalls,
247
+ unwrapReplacementByCall: work.unwrapReplacementByCall,
248
+ sourceText: work.sourceText,
249
+ domainSf: work.domainSfForLineNumbers,
250
+ unwrapEdits: work.unwrapEdits,
251
+ plannedGroupEdits: work.plannedGroupEdits
252
+ });
253
+ }
254
+ function createGroupFilePreviewPresenter(logger) {
255
+ return { printGroupFilePreviewFromWork: (work) => printGroupFilePreviewFromWork(logger, work) };
256
+ }
257
+ _dec = injectable([inject(CliLoggerToken)]);
258
+ let _GroupFilePreviewPresenterAdapter;
259
+ (class {
260
+ logger;
261
+ static {
262
+ ({c: [_GroupFilePreviewPresenterAdapter, _initClass]} = _apply_decs_2311(this, [_dec], []));
263
+ }
264
+ constructor(logger) {
265
+ this.logger = logger;
266
+ }
267
+ printGroupFilePreviewFromWork(work) {
268
+ printGroupFilePreviewFromWork(this.logger, work);
269
+ }
270
+ static {
271
+ _initClass();
272
+ }
273
+ });
274
+ //#endregion
275
+ export { _GroupFilePreviewPresenterAdapter as GroupFilePreviewPresenterAdapter, createGroupFilePreviewPresenter, printGroupFilePreview, printGroupFilePreviewFromWork };