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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (390) hide show
  1. package/dist/bin.d.ts +3 -0
  2. package/dist/bin.d.ts.map +1 -0
  3. package/dist/{bin.mjs → bin.js} +1 -4
  4. package/dist/commands/arrange.d.ts +3 -0
  5. package/dist/commands/arrange.d.ts.map +1 -0
  6. package/dist/commands/arrange.js +129 -0
  7. package/dist/commands/mirror.d.ts +4 -0
  8. package/dist/commands/mirror.d.ts.map +1 -0
  9. package/dist/commands/mirror.js +75 -0
  10. package/dist/commands/tag.d.ts +3 -0
  11. package/dist/commands/tag.d.ts.map +1 -0
  12. package/dist/commands/tag.js +41 -0
  13. package/dist/lib/arrange/application/analyze.d.ts +17 -0
  14. package/dist/lib/arrange/application/analyze.d.ts.map +1 -0
  15. package/dist/lib/arrange/application/analyze.js +24 -0
  16. package/dist/lib/arrange/application/group-file-preview.d.ts +17 -0
  17. package/dist/lib/arrange/application/group-file-preview.d.ts.map +1 -0
  18. package/dist/lib/arrange/application/group-file-preview.js +46 -0
  19. package/dist/lib/arrange/application/group-file.d.ts +5 -0
  20. package/dist/lib/arrange/application/group-file.d.ts.map +1 -0
  21. package/dist/lib/arrange/application/group-file.js +40 -0
  22. package/dist/lib/arrange/application/ports/domain-source-parser.port.d.ts +5 -0
  23. package/dist/lib/arrange/application/ports/domain-source-parser.port.d.ts.map +1 -0
  24. package/dist/lib/arrange/application/ports/file-walker.port.d.ts +5 -0
  25. package/dist/lib/arrange/application/ports/file-walker.port.d.ts.map +1 -0
  26. package/dist/lib/arrange/application/requests/analyze-directory.request.d.ts +6 -0
  27. package/dist/lib/arrange/application/requests/analyze-directory.request.d.ts.map +1 -0
  28. package/dist/lib/arrange/application/requests/analyze-directory.request.js +4 -0
  29. package/dist/lib/arrange/application/requests/arrange-sync.request.d.ts +18 -0
  30. package/dist/lib/arrange/application/requests/arrange-sync.request.d.ts.map +1 -0
  31. package/dist/lib/arrange/application/requests/arrange-sync.request.js +15 -0
  32. package/dist/lib/arrange/application/run-target.d.ts +19 -0
  33. package/dist/lib/arrange/application/run-target.d.ts.map +1 -0
  34. package/dist/lib/arrange/application/run-target.js +85 -0
  35. package/dist/lib/arrange/domain/arrange-analyze.service.d.ts +12 -0
  36. package/dist/lib/arrange/domain/arrange-analyze.service.d.ts.map +1 -0
  37. package/dist/lib/arrange/domain/arrange-analyze.service.js +116 -0
  38. package/dist/lib/arrange/domain/arrange-grouping.service.d.ts +53 -0
  39. package/dist/lib/arrange/domain/arrange-grouping.service.d.ts.map +1 -0
  40. package/dist/lib/arrange/domain/arrange-grouping.service.js +106 -0
  41. package/dist/lib/arrange/domain/ast/ast-helpers.d.ts +28 -0
  42. package/dist/lib/arrange/domain/ast/ast-helpers.d.ts.map +1 -0
  43. package/dist/lib/arrange/domain/ast/ast-helpers.js +130 -0
  44. package/dist/lib/arrange/domain/ast/ast-node.model.d.ts +179 -0
  45. package/dist/lib/arrange/domain/ast/ast-node.model.d.ts.map +1 -0
  46. package/dist/lib/arrange/domain/ast/ast-node.model.js +210 -0
  47. package/dist/lib/arrange/domain/ast/collectors-cn.d.ts +7 -0
  48. package/dist/lib/arrange/domain/ast/collectors-cn.d.ts.map +1 -0
  49. package/dist/lib/arrange/domain/ast/collectors-cn.js +70 -0
  50. package/dist/lib/arrange/domain/ast/collectors-jsx.d.ts +4 -0
  51. package/dist/lib/arrange/domain/ast/collectors-jsx.d.ts.map +1 -0
  52. package/dist/lib/arrange/domain/ast/collectors-jsx.js +21 -0
  53. package/dist/lib/arrange/domain/ast/collectors-tv.d.ts +13 -0
  54. package/dist/lib/arrange/domain/ast/collectors-tv.d.ts.map +1 -0
  55. package/dist/lib/arrange/domain/ast/collectors-tv.js +302 -0
  56. package/dist/lib/arrange/domain/ast/targets.d.ts +8 -0
  57. package/dist/lib/arrange/domain/ast/targets.d.ts.map +1 -0
  58. package/dist/lib/arrange/domain/ast/targets.js +147 -0
  59. package/dist/lib/arrange/domain/constants.d.ts +68 -0
  60. package/dist/lib/arrange/domain/constants.d.ts.map +1 -0
  61. package/dist/lib/arrange/domain/constants.js +180 -0
  62. package/dist/lib/arrange/domain/errors.d.ts +14 -0
  63. package/dist/lib/arrange/domain/errors.d.ts.map +1 -0
  64. package/dist/lib/arrange/domain/errors.js +16 -0
  65. package/dist/lib/arrange/domain/grouping.d.ts +41 -0
  66. package/dist/lib/arrange/domain/grouping.d.ts.map +1 -0
  67. package/dist/lib/arrange/domain/grouping.js +307 -0
  68. package/dist/lib/arrange/domain/imports.d.ts +7 -0
  69. package/dist/lib/arrange/domain/imports.d.ts.map +1 -0
  70. package/dist/lib/arrange/domain/imports.js +80 -0
  71. package/dist/lib/arrange/domain/source-text-formatters.d.ts +16 -0
  72. package/dist/lib/arrange/domain/source-text-formatters.d.ts.map +1 -0
  73. package/dist/lib/arrange/domain/source-text-formatters.js +55 -0
  74. package/dist/lib/arrange/domain/tokenizer.d.ts +45 -0
  75. package/dist/lib/arrange/domain/tokenizer.d.ts.map +1 -0
  76. package/dist/lib/arrange/domain/tokenizer.js +466 -0
  77. package/dist/lib/arrange/domain/types.d.ts +112 -0
  78. package/dist/lib/arrange/domain/types.d.ts.map +1 -0
  79. package/dist/lib/arrange/domain/types.js +7 -0
  80. package/dist/lib/arrange/index.d.ts +45 -0
  81. package/dist/lib/arrange/index.d.ts.map +1 -0
  82. package/dist/lib/arrange/index.js +41 -0
  83. package/dist/lib/arrange/infra/arrange-sync-cli-options.d.ts +14 -0
  84. package/dist/lib/arrange/infra/arrange-sync-cli-options.d.ts.map +1 -0
  85. package/dist/lib/arrange/infra/domain-source-parser.adapter.d.ts +11 -0
  86. package/dist/lib/arrange/infra/domain-source-parser.adapter.d.ts.map +1 -0
  87. package/dist/lib/arrange/infra/domain-source-parser.adapter.js +19 -0
  88. package/dist/lib/arrange/infra/ensure-cn-import.d.ts +3 -0
  89. package/dist/lib/arrange/infra/ensure-cn-import.d.ts.map +1 -0
  90. package/dist/lib/arrange/infra/ensure-cn-import.js +6 -0
  91. package/dist/lib/arrange/infra/file-walker.adapter.d.ts +8 -0
  92. package/dist/lib/arrange/infra/file-walker.adapter.d.ts.map +1 -0
  93. package/dist/lib/arrange/infra/file-walker.adapter.js +17 -0
  94. package/dist/lib/arrange/infra/merge-cn-literal-pool-for-test.d.ts +8 -0
  95. package/dist/lib/arrange/infra/merge-cn-literal-pool-for-test.d.ts.map +1 -0
  96. package/dist/lib/arrange/infra/merge-cn-literal-pool-for-test.js +25 -0
  97. package/dist/lib/arrange/infra/ts-ast-translator.d.ts +10 -0
  98. package/dist/lib/arrange/infra/ts-ast-translator.d.ts.map +1 -0
  99. package/dist/lib/arrange/infra/ts-ast-translator.js +363 -0
  100. package/dist/lib/arrange/presentation/formatters.d.ts +3 -0
  101. package/dist/lib/arrange/presentation/formatters.d.ts.map +1 -0
  102. package/dist/lib/arrange/presentation/formatters.js +2 -0
  103. package/dist/lib/arrange/presentation/report.d.ts +4 -0
  104. package/dist/lib/arrange/presentation/report.d.ts.map +1 -0
  105. package/dist/lib/arrange/presentation/report.js +37 -0
  106. package/dist/lib/config/domain/schema.d.ts +50 -0
  107. package/dist/lib/config/domain/schema.d.ts.map +1 -0
  108. package/dist/lib/config/domain/schema.js +43 -0
  109. package/dist/lib/config/index.d.ts +4 -0
  110. package/dist/lib/config/index.d.ts.map +1 -0
  111. package/dist/lib/config/index.js +2 -0
  112. package/dist/lib/config/infra/loader.d.ts +11 -0
  113. package/dist/lib/config/infra/loader.d.ts.map +1 -0
  114. package/dist/lib/config/infra/loader.js +90 -0
  115. package/dist/lib/core/application/architecture-boundaries.d.ts +19 -0
  116. package/dist/lib/core/application/architecture-boundaries.d.ts.map +1 -0
  117. package/dist/lib/core/application/architecture-boundaries.js +263 -0
  118. package/dist/lib/core/application/ports/cli-io.port.d.ts +27 -0
  119. package/dist/lib/core/application/ports/cli-io.port.d.ts.map +1 -0
  120. package/dist/lib/core/application/schema-parse.d.ts +8 -0
  121. package/dist/lib/core/application/schema-parse.d.ts.map +1 -0
  122. package/dist/lib/core/application/schema-parse.js +20 -0
  123. package/dist/lib/core/application/utils/caught-unknown-message.d.ts +6 -0
  124. package/dist/lib/core/application/utils/caught-unknown-message.d.ts.map +1 -0
  125. package/dist/lib/core/application/utils/caught-unknown-message.js +34 -0
  126. package/dist/lib/core/application/utils/verbose-diagnostics.d.ts +5 -0
  127. package/dist/lib/core/application/utils/verbose-diagnostics.d.ts.map +1 -0
  128. package/dist/lib/core/application/utils/verbose-diagnostics.js +7 -0
  129. package/dist/lib/core/domain/errors.d.ts +11 -0
  130. package/dist/lib/core/domain/errors.d.ts.map +1 -0
  131. package/dist/lib/core/domain/errors.js +9 -0
  132. package/dist/lib/core/domain/result.d.ts +15 -0
  133. package/dist/lib/core/domain/result.d.ts.map +1 -0
  134. package/dist/lib/core/domain/result.js +9 -0
  135. package/dist/lib/core/infra/container.d.ts +34 -0
  136. package/dist/lib/core/infra/container.d.ts.map +1 -0
  137. package/dist/lib/core/infra/container.js +65 -0
  138. package/dist/lib/core/infra/logging-decorator.d.ts +12 -0
  139. package/dist/lib/core/infra/logging-decorator.d.ts.map +1 -0
  140. package/dist/lib/core/infra/logging-decorator.js +75 -0
  141. package/dist/lib/core/presentation/cli-executor.d.ts +33 -0
  142. package/dist/lib/core/presentation/cli-executor.d.ts.map +1 -0
  143. package/dist/lib/core/presentation/cli-executor.js +73 -0
  144. package/dist/lib/core/presentation/create-command-handler.d.ts +20 -0
  145. package/dist/lib/core/presentation/create-command-handler.d.ts.map +1 -0
  146. package/dist/lib/core/presentation/create-command-handler.js +70 -0
  147. package/dist/lib/core/presentation/format-app-error.d.ts +6 -0
  148. package/dist/lib/core/presentation/format-app-error.d.ts.map +1 -0
  149. package/dist/lib/core/presentation/format-app-error.js +19 -0
  150. package/dist/lib/infra/caught-unknown-message.d.ts +2 -0
  151. package/dist/lib/infra/caught-unknown-message.d.ts.map +1 -0
  152. package/dist/lib/infra/caught-unknown-message.js +1 -0
  153. package/dist/lib/infra/config-reporter.d.ts +4 -0
  154. package/dist/lib/infra/config-reporter.d.ts.map +1 -0
  155. package/dist/lib/infra/config-reporter.js +9 -0
  156. package/dist/lib/infra/fs-contract.d.ts +2 -0
  157. package/dist/lib/infra/fs-contract.d.ts.map +1 -0
  158. package/dist/lib/infra/fs-contract.js +1 -0
  159. package/dist/lib/infra/node-io.d.ts +4 -0
  160. package/dist/lib/infra/node-io.d.ts.map +1 -0
  161. package/dist/lib/infra/node-io.js +27 -0
  162. package/dist/lib/infra/workspace/repo-root.d.ts +7 -0
  163. package/dist/lib/infra/workspace/repo-root.d.ts.map +1 -0
  164. package/dist/lib/infra/workspace/repo-root.js +23 -0
  165. package/dist/lib/mirror/application/engine.d.ts +10 -0
  166. package/dist/lib/mirror/application/engine.d.ts.map +1 -0
  167. package/dist/lib/mirror/application/engine.js +271 -0
  168. package/dist/lib/mirror/application/ports/file-system-service.port.d.ts +6 -0
  169. package/dist/lib/mirror/application/ports/file-system-service.port.d.ts.map +1 -0
  170. package/dist/lib/mirror/application/ports/file-system-service.port.js +1 -0
  171. package/dist/lib/mirror/application/ports/mirror-sync-reporter.port.d.ts +27 -0
  172. package/dist/lib/mirror/application/ports/mirror-sync-reporter.port.d.ts.map +1 -0
  173. package/dist/lib/mirror/application/ports/mirror-sync-reporter.port.js +1 -0
  174. package/dist/lib/mirror/application/ports/package-repository.port.d.ts +16 -0
  175. package/dist/lib/mirror/application/ports/package-repository.port.d.ts.map +1 -0
  176. package/dist/lib/mirror/application/ports/package-repository.port.js +1 -0
  177. package/dist/lib/mirror/application/ports/workspace-service.port.d.ts +7 -0
  178. package/dist/lib/mirror/application/ports/workspace-service.port.d.ts.map +1 -0
  179. package/dist/lib/mirror/application/ports/workspace-service.port.js +1 -0
  180. package/dist/lib/mirror/application/requests/mirror-sync.request.d.ts +10 -0
  181. package/dist/lib/mirror/application/requests/mirror-sync.request.d.ts.map +1 -0
  182. package/dist/lib/mirror/application/requests/mirror-sync.request.js +8 -0
  183. package/dist/lib/mirror/application/sync.d.ts +19 -0
  184. package/dist/lib/mirror/application/sync.d.ts.map +1 -0
  185. package/dist/lib/mirror/application/sync.js +168 -0
  186. package/dist/lib/mirror/domain/constants.d.ts +6 -0
  187. package/dist/lib/mirror/domain/constants.d.ts.map +1 -0
  188. package/dist/lib/mirror/domain/constants.js +5 -0
  189. package/dist/lib/mirror/domain/errors.d.ts +10 -0
  190. package/dist/lib/mirror/domain/errors.d.ts.map +1 -0
  191. package/dist/lib/mirror/domain/errors.js +12 -0
  192. package/dist/lib/mirror/domain/types.d.ts +65 -0
  193. package/dist/lib/mirror/domain/types.d.ts.map +1 -0
  194. package/dist/lib/mirror/domain/types.js +1 -0
  195. package/dist/lib/mirror/index.d.ts +6 -0
  196. package/dist/lib/mirror/index.d.ts.map +1 -0
  197. package/dist/lib/mirror/index.js +1 -0
  198. package/dist/lib/mirror/infra/dirent-list.d.ts +9 -0
  199. package/dist/lib/mirror/infra/dirent-list.d.ts.map +1 -0
  200. package/dist/lib/mirror/infra/dirent-list.js +13 -0
  201. package/dist/lib/mirror/infra/file-system-service.adapter.d.ts +7 -0
  202. package/dist/lib/mirror/infra/file-system-service.adapter.d.ts.map +1 -0
  203. package/dist/lib/mirror/infra/file-system-service.adapter.js +47 -0
  204. package/dist/lib/mirror/infra/mirror-sync-cli-options.d.ts +14 -0
  205. package/dist/lib/mirror/infra/mirror-sync-cli-options.d.ts.map +1 -0
  206. package/dist/lib/mirror/infra/mirror-sync-cli-options.js +1 -0
  207. package/dist/lib/mirror/infra/mirror-sync-reporter.adapter.d.ts +3 -0
  208. package/dist/lib/mirror/infra/mirror-sync-reporter.adapter.d.ts.map +1 -0
  209. package/dist/lib/mirror/infra/mirror-sync-reporter.adapter.js +13 -0
  210. package/dist/lib/mirror/infra/package-filter.d.ts +8 -0
  211. package/dist/lib/mirror/infra/package-filter.d.ts.map +1 -0
  212. package/dist/lib/mirror/infra/package-filter.js +33 -0
  213. package/dist/lib/mirror/infra/package-repository.adapter.d.ts +17 -0
  214. package/dist/lib/mirror/infra/package-repository.adapter.d.ts.map +1 -0
  215. package/dist/lib/mirror/infra/package-repository.adapter.js +17 -0
  216. package/dist/lib/mirror/infra/path-normalizer.d.ts +2 -0
  217. package/dist/lib/mirror/infra/path-normalizer.d.ts.map +1 -0
  218. package/dist/lib/mirror/infra/path-normalizer.js +4 -0
  219. package/dist/lib/mirror/infra/update-pkg.d.ts +19 -0
  220. package/dist/lib/mirror/infra/update-pkg.d.ts.map +1 -0
  221. package/dist/lib/mirror/infra/update-pkg.js +156 -0
  222. package/dist/lib/mirror/infra/workspace-packages.d.ts +26 -0
  223. package/dist/lib/mirror/infra/workspace-packages.d.ts.map +1 -0
  224. package/dist/lib/mirror/infra/workspace-packages.js +170 -0
  225. package/dist/lib/mirror/infra/workspace-service.adapter.d.ts +8 -0
  226. package/dist/lib/mirror/infra/workspace-service.adapter.d.ts.map +1 -0
  227. package/dist/lib/mirror/infra/workspace-service.adapter.js +10 -0
  228. package/dist/lib/mirror/presentation/reporter.d.ts +25 -0
  229. package/dist/lib/mirror/presentation/reporter.d.ts.map +1 -0
  230. package/dist/lib/mirror/presentation/reporter.js +140 -0
  231. package/dist/lib/shared/source-code/domain/text-edit.d.ts +14 -0
  232. package/dist/lib/shared/source-code/domain/text-edit.d.ts.map +1 -0
  233. package/dist/lib/shared/source-code/domain/text-edit.js +30 -0
  234. package/dist/lib/shared/source-code/infra/tsx-file-walk.d.ts +4 -0
  235. package/dist/lib/shared/source-code/infra/tsx-file-walk.d.ts.map +1 -0
  236. package/dist/lib/shared/source-code/infra/tsx-file-walk.js +37 -0
  237. package/dist/lib/tag/application/engine.d.ts +23 -0
  238. package/dist/lib/tag/application/engine.d.ts.map +1 -0
  239. package/dist/lib/tag/application/engine.js +357 -0
  240. package/dist/lib/tag/application/ports/target-resolver.port.d.ts +6 -0
  241. package/dist/lib/tag/application/ports/target-resolver.port.d.ts.map +1 -0
  242. package/dist/lib/tag/application/ports/target-resolver.port.js +1 -0
  243. package/dist/lib/tag/application/ports/typescript-tree-walk.port.d.ts +6 -0
  244. package/dist/lib/tag/application/ports/typescript-tree-walk.port.d.ts.map +1 -0
  245. package/dist/lib/tag/application/ports/typescript-tree-walk.port.js +1 -0
  246. package/dist/lib/tag/application/requests/tag-sync.request.d.ts +10 -0
  247. package/dist/lib/tag/application/requests/tag-sync.request.d.ts.map +1 -0
  248. package/dist/lib/tag/application/requests/tag-sync.request.js +8 -0
  249. package/dist/lib/tag/domain/types.d.ts +56 -0
  250. package/dist/lib/tag/domain/types.d.ts.map +1 -0
  251. package/dist/lib/tag/domain/types.js +1 -0
  252. package/dist/lib/tag/index.d.ts +14 -0
  253. package/dist/lib/tag/index.d.ts.map +1 -0
  254. package/dist/lib/tag/index.js +10 -0
  255. package/dist/lib/tag/infra/tag-sync-cli-options.d.ts +14 -0
  256. package/dist/lib/tag/infra/tag-sync-cli-options.d.ts.map +1 -0
  257. package/dist/lib/tag/infra/tag-sync-cli-options.js +1 -0
  258. package/dist/lib/tag/infra/tag-target-resolver.adapter.d.ts +3 -0
  259. package/dist/lib/tag/infra/tag-target-resolver.adapter.d.ts.map +1 -0
  260. package/dist/lib/tag/infra/tag-target-resolver.adapter.js +4 -0
  261. package/dist/lib/tag/infra/target-resolver.d.ts +4 -0
  262. package/dist/lib/tag/infra/target-resolver.d.ts.map +1 -0
  263. package/dist/lib/tag/infra/target-resolver.js +200 -0
  264. package/dist/lib/tag/infra/typescript-tree-walk.adapter.d.ts +3 -0
  265. package/dist/lib/tag/infra/typescript-tree-walk.adapter.d.ts.map +1 -0
  266. package/dist/lib/tag/infra/typescript-tree-walk.adapter.js +4 -0
  267. package/dist/lib/tag/presentation/colors.d.ts +8 -0
  268. package/dist/lib/tag/presentation/colors.d.ts.map +1 -0
  269. package/dist/lib/tag/presentation/colors.js +9 -0
  270. package/dist/lib/tag/presentation/tag-presenter.d.ts +20 -0
  271. package/dist/lib/tag/presentation/tag-presenter.d.ts.map +1 -0
  272. package/dist/lib/tag/presentation/tag-presenter.js +92 -0
  273. package/dist/program.d.ts +4 -0
  274. package/dist/program.d.ts.map +1 -0
  275. package/dist/program.js +40 -0
  276. package/package.json +8 -5
  277. package/dist/analyze-DvtJ3j9m.mjs +0 -92
  278. package/dist/arrange-Bbh62DrU.mjs +0 -107
  279. package/dist/arrange-BqP2DI3w.mjs +0 -8
  280. package/dist/ast-helpers-MDRYuIAk.mjs +0 -115
  281. package/dist/caught-unknown-message-CRhkDWO7.mjs +0 -20
  282. package/dist/collectors-cn-BS8TTQ8O.mjs +0 -61
  283. package/dist/collectors-jsx-D9tL2ZPM.mjs +0 -20
  284. package/dist/collectors-tv-D2PXZaRt.mjs +0 -170
  285. package/dist/colors-BjdkCfGK.mjs +0 -12
  286. package/dist/commands/arrange.mjs +0 -2
  287. package/dist/commands/mirror.mjs +0 -2
  288. package/dist/commands/mirror.test.mjs +0 -48
  289. package/dist/commands/tag.mjs +0 -2
  290. package/dist/config-DVia_f9a.mjs +0 -3
  291. package/dist/config-reporter-SCcWDZc1.mjs +0 -10
  292. package/dist/constants-AtPhF-Ct.mjs +0 -169
  293. package/dist/constants-Bq5wdyLC.mjs +0 -8
  294. package/dist/dirent-list-BSDeRG5i.mjs +0 -14
  295. package/dist/engine-CcWEHSCq.mjs +0 -287
  296. package/dist/engine-DRTdkc5u.mjs +0 -236
  297. package/dist/errors-CFH4w6ic.mjs +0 -15
  298. package/dist/errors-CpU1ogfA.mjs +0 -19
  299. package/dist/formatters-DGE8jJ53.mjs +0 -52
  300. package/dist/group-file-ClW7XdD6.mjs +0 -113
  301. package/dist/grouping-c1grpCQT.mjs +0 -235
  302. package/dist/imports-DSVq1xhB.mjs +0 -54
  303. package/dist/lib/arrange/application/analyze.mjs +0 -2
  304. package/dist/lib/arrange/application/analyze.test.mjs +0 -171
  305. package/dist/lib/arrange/application/group-file.mjs +0 -2
  306. package/dist/lib/arrange/application/group-file.test.mjs +0 -273
  307. package/dist/lib/arrange/application/run-target.mjs +0 -2
  308. package/dist/lib/arrange/application/run-target.test.mjs +0 -97
  309. package/dist/lib/arrange/domain/ast/ast-helpers.mjs +0 -2
  310. package/dist/lib/arrange/domain/ast/ast-helpers.test.mjs +0 -148
  311. package/dist/lib/arrange/domain/ast/collectors-cn.mjs +0 -2
  312. package/dist/lib/arrange/domain/ast/collectors-cn.test.mjs +0 -58
  313. package/dist/lib/arrange/domain/ast/collectors-jsx.mjs +0 -2
  314. package/dist/lib/arrange/domain/ast/collectors-jsx.test.mjs +0 -20
  315. package/dist/lib/arrange/domain/ast/collectors-tv.mjs +0 -2
  316. package/dist/lib/arrange/domain/ast/collectors-tv.test.mjs +0 -145
  317. package/dist/lib/arrange/domain/ast/targets.mjs +0 -2
  318. package/dist/lib/arrange/domain/ast/targets.test.mjs +0 -50
  319. package/dist/lib/arrange/domain/constants.mjs +0 -2
  320. package/dist/lib/arrange/domain/errors.mjs +0 -2
  321. package/dist/lib/arrange/domain/grouping.mjs +0 -2
  322. package/dist/lib/arrange/domain/grouping.test.mjs +0 -186
  323. package/dist/lib/arrange/domain/imports.mjs +0 -2
  324. package/dist/lib/arrange/domain/imports.test.mjs +0 -48
  325. package/dist/lib/arrange/domain/tokenizer.mjs +0 -2
  326. package/dist/lib/arrange/domain/tokenizer.test.mjs +0 -165
  327. package/dist/lib/arrange/index.mjs +0 -16
  328. package/dist/lib/arrange/infra/walk.mjs +0 -2
  329. package/dist/lib/arrange/infra/walk.test.mjs +0 -50
  330. package/dist/lib/arrange/presentation/formatters.mjs +0 -2
  331. package/dist/lib/arrange/presentation/formatters.test.mjs +0 -73
  332. package/dist/lib/arrange/presentation/report.mjs +0 -2
  333. package/dist/lib/config/domain/schema.mjs +0 -2
  334. package/dist/lib/config/index.mjs +0 -4
  335. package/dist/lib/config/infra/loader.mjs +0 -2
  336. package/dist/lib/config/infra/loader.test.mjs +0 -116
  337. package/dist/lib/infra/caught-unknown-message.mjs +0 -2
  338. package/dist/lib/infra/config-reporter.mjs +0 -2
  339. package/dist/lib/infra/node-io.mjs +0 -2
  340. package/dist/lib/infra/workspace/repo-root.mjs +0 -2
  341. package/dist/lib/infra/workspace/repo-root.test.mjs +0 -45
  342. package/dist/lib/mirror/application/engine.mjs +0 -2
  343. package/dist/lib/mirror/application/sync.mjs +0 -2
  344. package/dist/lib/mirror/application/sync.test.mjs +0 -482
  345. package/dist/lib/mirror/domain/constants.mjs +0 -2
  346. package/dist/lib/mirror/domain/errors.mjs +0 -2
  347. package/dist/lib/mirror/index.mjs +0 -3
  348. package/dist/lib/mirror/infra/dirent-list.mjs +0 -2
  349. package/dist/lib/mirror/infra/dirent-list.test.mjs +0 -18
  350. package/dist/lib/mirror/infra/package-filter.mjs +0 -2
  351. package/dist/lib/mirror/infra/package-filter.test.mjs +0 -32
  352. package/dist/lib/mirror/infra/path-normalizer.mjs +0 -2
  353. package/dist/lib/mirror/infra/update-pkg.mjs +0 -2
  354. package/dist/lib/mirror/infra/workspace-packages.mjs +0 -2
  355. package/dist/lib/mirror/infra/workspace-packages.test.mjs +0 -167
  356. package/dist/lib/mirror/presentation/reporter.mjs +0 -2
  357. package/dist/lib/tag/application/engine.mjs +0 -2
  358. package/dist/lib/tag/application/engine.test.mjs +0 -159
  359. package/dist/lib/tag/index.mjs +0 -5
  360. package/dist/lib/tag/infra/target-resolver.mjs +0 -2
  361. package/dist/lib/tag/presentation/colors.mjs +0 -2
  362. package/dist/lib/tag/presentation/tag-presenter.mjs +0 -2
  363. package/dist/lib/tag/presentation/tag-presenter.test.mjs +0 -29
  364. package/dist/loader-DpN-zl5g.mjs +0 -78
  365. package/dist/mirror-CbGiLXKT.mjs +0 -2
  366. package/dist/mirror-DqJE3ejL.mjs +0 -66
  367. package/dist/node-io-DFRbHO6m.mjs +0 -30
  368. package/dist/package-filter-C_8ryqvz.mjs +0 -26
  369. package/dist/path-normalizer-D4ceBO3l.mjs +0 -7
  370. package/dist/program-DR-H4tH3.mjs +0 -34
  371. package/dist/program.mjs +0 -2
  372. package/dist/repo-root-HmtIEm6J.mjs +0 -22
  373. package/dist/report-DYxvw34T.mjs +0 -24
  374. package/dist/reporter-CwIe_tAM.mjs +0 -108
  375. package/dist/run-target-CJWrqNT4.mjs +0 -65
  376. package/dist/schema-Or8RAARd.mjs +0 -25
  377. package/dist/sync-e1Sp-shi.mjs +0 -157
  378. package/dist/tag-Cd9JujU5.mjs +0 -2
  379. package/dist/tag-hEKVZ_-7.mjs +0 -58
  380. package/dist/tag-presenter-Cs66UBsH.mjs +0 -63
  381. package/dist/target-resolver-CR3FXMTy.mjs +0 -170
  382. package/dist/targets-pCTslnFh.mjs +0 -106
  383. package/dist/tokenizer-CeZx73Zu.mjs +0 -216
  384. package/dist/update-pkg-CnGfjWBy.mjs +0 -37
  385. package/dist/walk-DjgQn66n.mjs +0 -33
  386. package/dist/workspace-packages-K2NYTHJq.mjs +0 -159
  387. /package/dist/lib/arrange/{domain/types.mjs → application/ports/domain-source-parser.port.js} +0 -0
  388. /package/dist/lib/{infra/fs-contract.mjs → arrange/application/ports/file-walker.port.js} +0 -0
  389. /package/dist/lib/{mirror/domain/types.mjs → arrange/infra/arrange-sync-cli-options.js} +0 -0
  390. /package/dist/lib/{tag/domain/types.mjs → core/application/ports/cli-io.port.js} +0 -0
@@ -0,0 +1,10 @@
1
+ export declare const MirrorErrorCode: {
2
+ readonly FATAL: "FATAL";
3
+ readonly PACKAGE_WRITE: "PACKAGE_WRITE";
4
+ };
5
+ export type MirrorErrorCode = (typeof MirrorErrorCode)[keyof typeof MirrorErrorCode];
6
+ export declare class MirrorError extends Error {
7
+ readonly code: MirrorErrorCode;
8
+ constructor(code: MirrorErrorCode, message: string, options?: ErrorOptions);
9
+ }
10
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/lib/mirror/domain/errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;aAC1B,KAAK,EAAE,OAAO;aACd,aAAa,EAAE,eAAe;CACtB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAErF,qBAAa,WAAY,SAAQ,KAAK;IACpC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAE/B,YAAY,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAIzE;CACF"}
@@ -0,0 +1,12 @@
1
+ export const MirrorErrorCode = {
2
+ FATAL: "FATAL",
3
+ PACKAGE_WRITE: "PACKAGE_WRITE",
4
+ };
5
+ export class MirrorError extends Error {
6
+ code;
7
+ constructor(code, message, options) {
8
+ super(message, options);
9
+ this.name = "MirrorError";
10
+ this.code = code;
11
+ }
12
+ }
@@ -0,0 +1,65 @@
1
+ export interface ExportEntry {
2
+ types: string;
3
+ import?: string;
4
+ require?: string;
5
+ }
6
+ /** Final `package.json#exports` map (conditional exports + string shims + `./package.json`). */
7
+ export type ExportMapData = Record<string, ExportEntry | string>;
8
+ export type ExportOriginalPathBySpecifier = Record<string, string>;
9
+ /** Alias for the exports object shape produced by the mirror engine. */
10
+ export type ExportMap = ExportMapData;
11
+ export interface ModuleFiles {
12
+ js: string | null;
13
+ mjs: string | null;
14
+ cjs: string | null;
15
+ dts: string | null;
16
+ }
17
+ export interface Module {
18
+ path: string;
19
+ files: ModuleFiles;
20
+ }
21
+ export interface MirrorPackageMeta {
22
+ packageName: string;
23
+ }
24
+ /** Parsed `package.json` — only fields mirror reads/writes are typed strictly. */
25
+ export type PackageJsonShape = {
26
+ name?: unknown;
27
+ exports?: unknown;
28
+ [key: string]: unknown;
29
+ };
30
+ export interface GenerateExportsResult {
31
+ exports: ExportMapData;
32
+ originalPathBySpecifier: ExportOriginalPathBySpecifier;
33
+ jsCount: number;
34
+ cssCount: number;
35
+ }
36
+ export interface PackageStats {
37
+ name: string;
38
+ path: string;
39
+ jsModules: number;
40
+ cssExports: number;
41
+ customExports: number;
42
+ totalExports: number;
43
+ hasTransform: boolean;
44
+ cssConfigStatus: "disabled" | "configured" | "";
45
+ skipped: boolean;
46
+ skipReason: string;
47
+ error: string | null;
48
+ }
49
+ export interface GlobalStats {
50
+ packagesFound: number;
51
+ packagesProcessed: number;
52
+ packagesSkipped: number;
53
+ packagesErrored: number;
54
+ totalExports: number;
55
+ totalJsModules: number;
56
+ totalCssExports: number;
57
+ packageDetails: PackageStats[];
58
+ }
59
+ /** How workspace packages were resolved when scanning the repo (for logging / UX). */
60
+ export type WorkspaceMultiDiscoverySource = "default-patterns" | "pnpm-workspace-yaml" | "declared-empty";
61
+ export type FindWorkspacePackagesResult = {
62
+ relPaths: string[];
63
+ multiSource: WorkspaceMultiDiscoverySource;
64
+ };
65
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/mirror/domain/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,gGAAgG;AAChG,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,CAAC;AACjE,MAAM,MAAM,6BAA6B,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEnE,wEAAwE;AACxE,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC;AAEtC,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,kFAAkF;AAClF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,aAAa,CAAC;IACvB,uBAAuB,EAAE,6BAA6B,CAAC;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,UAAU,GAAG,YAAY,GAAG,EAAE,CAAC;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,YAAY,EAAE,CAAC;CAChC;AAED,sFAAsF;AACtF,MAAM,MAAM,6BAA6B,GACrC,kBAAkB,GAClB,qBAAqB,GACrB,gBAAgB,CAAC;AAErB,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,6BAA6B,CAAC;CAC5C,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ export { runMirrorSync } from "#lib/mirror/application/sync";
2
+ export type { MirrorSyncRunDeps } from "#lib/mirror/application/sync";
3
+ export type { MirrorSyncRunRequest } from "#lib/mirror/application/requests/mirror-sync.request";
4
+ export type { FindWorkspacePackagesResult, GenerateExportsResult, GlobalStats, MirrorPackageMeta, PackageStats, WorkspaceMultiDiscoverySource, } from "#lib/mirror/domain/types";
5
+ export type { MirrorOptions } from "#lib/mirror/infra/mirror-sync-cli-options";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/mirror/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,YAAY,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sDAAsD,CAAC;AACjG,YAAY,EACV,2BAA2B,EAC3B,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,6BAA6B,GAC9B,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC"}
@@ -0,0 +1 @@
1
+ export { runMirrorSync } from "#lib/mirror/application/sync";
@@ -0,0 +1,9 @@
1
+ import type { Dirent } from "node:fs";
2
+ /**
3
+ * Narrow `fs.promises.readdir` overload result to `Dirent[]` when `withFileTypes: true`.
4
+ * Accepts both historical checks (`isFile` / `isDirectory`) in one guard.
5
+ * Returning `true` for an empty array is intentional: callers treat empty lists
6
+ * the same regardless of the element type, so `[]` is safely accepted as `Dirent[]`.
7
+ */
8
+ export declare function isDirentList(x: string[] | Dirent[]): x is Dirent[];
9
+ //# sourceMappingURL=dirent-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dirent-list.d.ts","sourceRoot":"","sources":["../../../../src/lib/mirror/infra/dirent-list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,EAAE,CAMlE"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Narrow `fs.promises.readdir` overload result to `Dirent[]` when `withFileTypes: true`.
3
+ * Accepts both historical checks (`isFile` / `isDirectory`) in one guard.
4
+ * Returning `true` for an empty array is intentional: callers treat empty lists
5
+ * the same regardless of the element type, so `[]` is safely accepted as `Dirent[]`.
6
+ */
7
+ export function isDirentList(x) {
8
+ if (x.length === 0) {
9
+ return true;
10
+ }
11
+ const first = x[0];
12
+ return typeof first === "object" && first !== null && "isFile" in first && "isDirectory" in first;
13
+ }
@@ -0,0 +1,7 @@
1
+ import type { CliFs } from "#lib/infra/fs-contract";
2
+ import type { FileSystemServicePort } from "#lib/mirror/application/ports/file-system-service.port";
3
+ export declare class FileSystemServiceAdapter implements FileSystemServicePort {
4
+ listRelativeFilesRecursively(fs: CliFs, dirPath: string): Promise<string[]>;
5
+ isDirectoryCssOnly(fs: CliFs, distDir: string, dirPath: string): Promise<boolean>;
6
+ }
7
+ //# sourceMappingURL=file-system-service.adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-system-service.adapter.d.ts","sourceRoot":"","sources":["../../../../src/lib/mirror/infra/file-system-service.adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AAapG,qBAAa,wBAAyB,YAAW,qBAAqB;IAC9D,4BAA4B,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAmBhF;IAEK,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAatF;CACF"}
@@ -0,0 +1,47 @@
1
+ import path from "node:path";
2
+ import { isDirentList } from "#lib/mirror/infra/dirent-list";
3
+ import { normalizePath } from "#lib/mirror/infra/path-normalizer";
4
+ function isKnownReadDirError(caughtError) {
5
+ return (typeof caughtError === "object" &&
6
+ caughtError !== null &&
7
+ "code" in caughtError &&
8
+ (caughtError.code === "ENOENT" || caughtError.code === "EACCES"));
9
+ }
10
+ export class FileSystemServiceAdapter {
11
+ async listRelativeFilesRecursively(fs, dirPath) {
12
+ try {
13
+ const raw = await fs.readdir(dirPath, { recursive: true, withFileTypes: true });
14
+ if (!isDirentList(raw)) {
15
+ return [];
16
+ }
17
+ return raw
18
+ .filter((dirent) => dirent.isFile())
19
+ .map((dirent) => {
20
+ const fullPath = path.join(dirent.parentPath, dirent.name);
21
+ const relPath = path.relative(dirPath, fullPath);
22
+ return normalizePath(relPath);
23
+ });
24
+ }
25
+ catch (caughtError) {
26
+ if (isKnownReadDirError(caughtError)) {
27
+ return [];
28
+ }
29
+ throw caughtError;
30
+ }
31
+ }
32
+ async isDirectoryCssOnly(fs, distDir, dirPath) {
33
+ try {
34
+ const raw = await fs.readdir(path.join(distDir, dirPath), { withFileTypes: true });
35
+ if (!isDirentList(raw)) {
36
+ return false;
37
+ }
38
+ if (raw.length === 0) {
39
+ return true;
40
+ }
41
+ return raw.every((dirent) => dirent.isFile() && dirent.name.endsWith(".css"));
42
+ }
43
+ catch {
44
+ return false;
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,14 @@
1
+ import type { MirrorConfig } from "#lib/config/domain/schema";
2
+ import type { CliFs, CliLogger } from "#lib/infra/fs-contract";
3
+ /** CLI / container wiring: filesystem and logger injected at the boundary. */
4
+ export interface MirrorOptions {
5
+ rootDir: string;
6
+ config?: MirrorConfig;
7
+ verbose?: boolean;
8
+ noColor?: boolean;
9
+ /** Path under `rootDir` (relative or absolute within the repo), e.g. `packages/ui`. */
10
+ packageFilter?: string;
11
+ fs: CliFs;
12
+ logger: CliLogger;
13
+ }
14
+ //# sourceMappingURL=mirror-sync-cli-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mirror-sync-cli-options.d.ts","sourceRoot":"","sources":["../../../../src/lib/mirror/infra/mirror-sync-cli-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAE/D,8EAA8E;AAC9E,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uFAAuF;IACvF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,SAAS,CAAC;CACnB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import type { MirrorSyncReporterPort } from "#lib/mirror/application/ports/mirror-sync-reporter.port";
2
+ export declare const mirrorSyncReporterAdapter: MirrorSyncReporterPort;
3
+ //# sourceMappingURL=mirror-sync-reporter.adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mirror-sync-reporter.adapter.d.ts","sourceRoot":"","sources":["../../../../src/lib/mirror/infra/mirror-sync-reporter.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yDAAyD,CAAC;AAGtG,eAAO,MAAM,yBAAyB,EAAE,sBAWvC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import * as mirrorReporter from "#lib/mirror/presentation/reporter";
2
+ export const mirrorSyncReporterAdapter = {
3
+ configureMirrorColors: mirrorReporter.configureMirrorColors,
4
+ mirrorBanner: mirrorReporter.mirrorBanner,
5
+ mirrorProcessingMode: mirrorReporter.mirrorProcessingMode,
6
+ mirrorNoPackages: mirrorReporter.mirrorNoPackages,
7
+ logSkippedWorkspacePackage: mirrorReporter.logSkippedWorkspacePackage,
8
+ logPackageSuccess: mirrorReporter.logPackageSuccess,
9
+ logPrunedStaleExport: mirrorReporter.logPrunedStaleExport,
10
+ logPackageError: mirrorReporter.logPackageError,
11
+ mirrorSummarySeparator: mirrorReporter.mirrorSummarySeparator,
12
+ mirrorSummary: mirrorReporter.mirrorSummary,
13
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Resolve `packageFilter` to a POSIX-ish path relative to `rootDir`, without using
3
+ * `process.cwd()`. Use for programmatic `runMirrorSync` calls.
4
+ *
5
+ * @throws If the resolved path is not a strict subdirectory of `rootDir`.
6
+ */
7
+ export declare function resolvePackageFilterUnderRoot(rootDir: string, packageFilter: string): string;
8
+ //# sourceMappingURL=package-filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-filter.d.ts","sourceRoot":"","sources":["../../../../src/lib/mirror/infra/package-filter.ts"],"names":[],"mappings":"AAYA;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAiB5F"}
@@ -0,0 +1,33 @@
1
+ import { realpathSync } from "node:fs";
2
+ import path from "node:path";
3
+ import { normalizePath } from "#lib/mirror/infra/path-normalizer";
4
+ function tryRealpath(entryPath) {
5
+ try {
6
+ return realpathSync.native(entryPath);
7
+ }
8
+ catch {
9
+ return path.resolve(entryPath);
10
+ }
11
+ }
12
+ /**
13
+ * Resolve `packageFilter` to a POSIX-ish path relative to `rootDir`, without using
14
+ * `process.cwd()`. Use for programmatic `runMirrorSync` calls.
15
+ *
16
+ * @throws If the resolved path is not a strict subdirectory of `rootDir`.
17
+ */
18
+ export function resolvePackageFilterUnderRoot(rootDir, packageFilter) {
19
+ const rootResolved = path.resolve(rootDir);
20
+ const rootReal = tryRealpath(rootResolved);
21
+ const resolved = path.isAbsolute(packageFilter)
22
+ ? tryRealpath(path.resolve(packageFilter))
23
+ : tryRealpath(path.join(rootReal, packageFilter));
24
+ const rel = path.relative(rootReal, resolved);
25
+ const normalized = normalizePath(rel);
26
+ if (normalized.startsWith("..") ||
27
+ path.isAbsolute(normalized) ||
28
+ normalized === "" ||
29
+ normalized === ".") {
30
+ throw new Error(`Package path must be a subdirectory under monorepo root: ${rootDir}`);
31
+ }
32
+ return normalized;
33
+ }
@@ -0,0 +1,17 @@
1
+ import type { CliFs } from "#lib/infra/fs-contract";
2
+ import type { PackageRepositoryPort } from "#lib/mirror/application/ports/package-repository.port";
3
+ import type { ExportMapData, ExportOriginalPathBySpecifier, PackageJsonShape } from "#lib/mirror/domain/types";
4
+ export declare class PackageRepositoryAdapter implements PackageRepositoryPort {
5
+ resolvePackageDisplayName(packageJson: {
6
+ name?: unknown;
7
+ }, folderBasename: string): string;
8
+ writePackageJsonExportsAtomic(fs: CliFs, packageJsonPath: string, mergeInput: {
9
+ generatedExports: ExportMapData;
10
+ managedExportSpecifiers: string[];
11
+ originalPathBySpecifier: ExportOriginalPathBySpecifier;
12
+ }): Promise<{
13
+ prunedKeys: string[];
14
+ }>;
15
+ parsePackageJsonShape(rawPackageJson: unknown): PackageJsonShape;
16
+ }
17
+ //# sourceMappingURL=package-repository.adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-repository.adapter.d.ts","sourceRoot":"","sources":["../../../../src/lib/mirror/infra/package-repository.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AACnG,OAAO,KAAK,EACV,aAAa,EACb,6BAA6B,EAC7B,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAMlC,qBAAa,wBAAyB,YAAW,qBAAqB;IACpE,yBAAyB,CAAC,WAAW,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAEzF;IAED,6BAA6B,CAC3B,EAAE,EAAE,KAAK,EACT,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE;QACV,gBAAgB,EAAE,aAAa,CAAC;QAChC,uBAAuB,EAAE,MAAM,EAAE,CAAC;QAClC,uBAAuB,EAAE,6BAA6B,CAAC;KACxD,GACA,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAEnC;IAED,qBAAqB,CAAC,cAAc,EAAE,OAAO,GAAG,gBAAgB,CAS/D;CACF"}
@@ -0,0 +1,17 @@
1
+ import { resolvePackageDisplayName, writePackageJsonExportsAtomic, } from "#lib/mirror/infra/update-pkg";
2
+ export class PackageRepositoryAdapter {
3
+ resolvePackageDisplayName(packageJson, folderBasename) {
4
+ return resolvePackageDisplayName(packageJson, folderBasename);
5
+ }
6
+ writePackageJsonExportsAtomic(fs, packageJsonPath, mergeInput) {
7
+ return writePackageJsonExportsAtomic(fs, packageJsonPath, mergeInput);
8
+ }
9
+ parsePackageJsonShape(rawPackageJson) {
10
+ if (rawPackageJson === null ||
11
+ typeof rawPackageJson !== "object" ||
12
+ Array.isArray(rawPackageJson)) {
13
+ throw new SyntaxError("package.json root must be a JSON object");
14
+ }
15
+ return rawPackageJson;
16
+ }
17
+ }
@@ -0,0 +1,2 @@
1
+ export declare function normalizePath(pathString: string): string;
2
+ //# sourceMappingURL=path-normalizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-normalizer.d.ts","sourceRoot":"","sources":["../../../../src/lib/mirror/infra/path-normalizer.ts"],"names":[],"mappings":"AAEA,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAExD"}
@@ -0,0 +1,4 @@
1
+ import path from "node:path";
2
+ export function normalizePath(pathString) {
3
+ return pathString.split(path.sep).join("/").replace(/\\/g, "/");
4
+ }
@@ -0,0 +1,19 @@
1
+ import type { CliFs } from "#lib/infra/fs-contract";
2
+ import type { ExportMapData, ExportOriginalPathBySpecifier } from "#lib/mirror/domain/types";
3
+ /** Shared rule: show `package.json#name` when it is a non-empty string; else folder basename. */
4
+ export declare function resolvePackageDisplayName(packageJson: {
5
+ name?: unknown;
6
+ }, folderBasename: string): string;
7
+ export declare function readPackageJsonDisplayName(fs: CliFs, packageJsonPath: string, folderBasename: string): Promise<string>;
8
+ /**
9
+ * Writes `exports` into `package.json` via a temp file + rename (atomic on same volume).
10
+ * Preserves a trailing newline after JSON.
11
+ */
12
+ export declare function writePackageJsonExportsAtomic(fs: CliFs, packageJsonPath: string, mergeInput: {
13
+ generatedExports: ExportMapData;
14
+ managedExportSpecifiers: string[];
15
+ originalPathBySpecifier: ExportOriginalPathBySpecifier;
16
+ }): Promise<{
17
+ prunedKeys: string[];
18
+ }>;
19
+ //# sourceMappingURL=update-pkg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-pkg.d.ts","sourceRoot":"","sources":["../../../../src/lib/mirror/infra/update-pkg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAGpD,OAAO,KAAK,EACV,aAAa,EACb,6BAA6B,EAE9B,MAAM,0BAA0B,CAAC;AAqDlC,iGAAiG;AACjG,wBAAgB,yBAAyB,CACvC,WAAW,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,EAC/B,cAAc,EAAE,MAAM,GACrB,MAAM,CAKR;AAED,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,KAAK,EACT,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED;;;GAGG;AACH,wBAAsB,6BAA6B,CACjD,EAAE,EAAE,KAAK,EACT,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE;IACV,gBAAgB,EAAE,aAAa,CAAC;IAChC,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,uBAAuB,EAAE,6BAA6B,CAAC;CACxD,GACA,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA8GnC"}
@@ -0,0 +1,156 @@
1
+ import { messageFromCaughtUnknown } from "#lib/infra/caught-unknown-message";
2
+ import { MirrorError, MirrorErrorCode } from "#lib/mirror/domain/errors";
3
+ import { PACKAGE_JSON_EXPORT } from "#lib/mirror/domain/constants";
4
+ function containsDistTarget(value) {
5
+ if (typeof value === "string") {
6
+ return value.startsWith("./dist/");
7
+ }
8
+ if (Array.isArray(value)) {
9
+ return value.some((entryValue) => containsDistTarget(entryValue));
10
+ }
11
+ if (value && typeof value === "object") {
12
+ return Object.values(value).some((entryValue) => containsDistTarget(entryValue));
13
+ }
14
+ return false;
15
+ }
16
+ /**
17
+ * Keep `./package.json` at the very end for aesthetics by default.
18
+ * If a catch-all `./*` exists, move `./package.json` before wildcards so it remains reachable.
19
+ */
20
+ function exportSpecifierRank(exportSpecifier, hasCatchAllWildcard) {
21
+ if (exportSpecifier === ".") {
22
+ return 0;
23
+ }
24
+ if (exportSpecifier === PACKAGE_JSON_EXPORT) {
25
+ return hasCatchAllWildcard ? 2 : 4;
26
+ }
27
+ if (exportSpecifier.includes("*")) {
28
+ return 3;
29
+ }
30
+ return 1;
31
+ }
32
+ function compareExportSpecifiers(leftSpecifier, rightSpecifier, originalPathBySpecifier, hasCatchAllWildcard) {
33
+ const leftRank = exportSpecifierRank(leftSpecifier, hasCatchAllWildcard);
34
+ const rightRank = exportSpecifierRank(rightSpecifier, hasCatchAllWildcard);
35
+ if (leftRank !== rightRank) {
36
+ return leftRank - rightRank;
37
+ }
38
+ const leftOriginalPath = originalPathBySpecifier[leftSpecifier] ?? leftSpecifier;
39
+ const rightOriginalPath = originalPathBySpecifier[rightSpecifier] ?? rightSpecifier;
40
+ const originalPathComparison = leftOriginalPath.localeCompare(rightOriginalPath);
41
+ if (originalPathComparison !== 0) {
42
+ return originalPathComparison;
43
+ }
44
+ return leftSpecifier.localeCompare(rightSpecifier);
45
+ }
46
+ /** Shared rule: show `package.json#name` when it is a non-empty string; else folder basename. */
47
+ export function resolvePackageDisplayName(packageJson, folderBasename) {
48
+ const declaredName = packageJson.name;
49
+ return typeof declaredName === "string" && declaredName.length > 0
50
+ ? declaredName
51
+ : folderBasename;
52
+ }
53
+ export async function readPackageJsonDisplayName(fs, packageJsonPath, folderBasename) {
54
+ if (!fs.existsSync(packageJsonPath)) {
55
+ return folderBasename;
56
+ }
57
+ try {
58
+ const raw = await fs.readFile(packageJsonPath, "utf8");
59
+ const parsed = JSON.parse(raw);
60
+ return resolvePackageDisplayName(parsed, folderBasename);
61
+ }
62
+ catch {
63
+ return folderBasename;
64
+ }
65
+ }
66
+ /**
67
+ * Writes `exports` into `package.json` via a temp file + rename (atomic on same volume).
68
+ * Preserves a trailing newline after JSON.
69
+ */
70
+ export async function writePackageJsonExportsAtomic(fs, packageJsonPath, mergeInput) {
71
+ const raw = await fs.readFile(packageJsonPath, "utf8");
72
+ const packageJson = JSON.parse(raw);
73
+ const existingExports = packageJson.exports;
74
+ const existingExportMap = existingExports && typeof existingExports === "object" && !Array.isArray(existingExports)
75
+ ? existingExports
76
+ : {};
77
+ const managedSpecifiers = new Set(mergeInput.managedExportSpecifiers);
78
+ const originalPathBySpecifier = {
79
+ ...mergeInput.originalPathBySpecifier,
80
+ };
81
+ const mergedExportMap = {};
82
+ const prunedKeys = [];
83
+ // Preserve unmanaged manual entries; drop unmanaged stale entries targeting dist/.
84
+ for (const [exportSpecifier, exportValue] of Object.entries(existingExportMap)) {
85
+ if (exportSpecifier === PACKAGE_JSON_EXPORT) {
86
+ mergedExportMap[exportSpecifier] = exportValue;
87
+ if (!(exportSpecifier in originalPathBySpecifier)) {
88
+ originalPathBySpecifier[exportSpecifier] = exportSpecifier;
89
+ }
90
+ continue;
91
+ }
92
+ if (!managedSpecifiers.has(exportSpecifier)) {
93
+ if (containsDistTarget(exportValue)) {
94
+ prunedKeys.push(exportSpecifier);
95
+ }
96
+ else {
97
+ mergedExportMap[exportSpecifier] = exportValue;
98
+ if (!(exportSpecifier in originalPathBySpecifier)) {
99
+ originalPathBySpecifier[exportSpecifier] = exportSpecifier;
100
+ }
101
+ }
102
+ }
103
+ }
104
+ // Generated entries always win for managed specifiers (including ".").
105
+ for (const [exportSpecifier, exportValue] of Object.entries(mergeInput.generatedExports)) {
106
+ mergedExportMap[exportSpecifier] = exportValue;
107
+ }
108
+ if (!(PACKAGE_JSON_EXPORT in mergedExportMap)) {
109
+ mergedExportMap[PACKAGE_JSON_EXPORT] = PACKAGE_JSON_EXPORT;
110
+ }
111
+ originalPathBySpecifier[PACKAGE_JSON_EXPORT] = PACKAGE_JSON_EXPORT;
112
+ const rootExport = mergedExportMap["."];
113
+ if (rootExport && typeof rootExport === "object" && !Array.isArray(rootExport)) {
114
+ const rootEntry = rootExport;
115
+ const requirePath = typeof rootEntry.require === "string" ? rootEntry.require : undefined;
116
+ const importPath = typeof rootEntry.import === "string" ? rootEntry.import : undefined;
117
+ const typesPath = typeof rootEntry.types === "string" ? rootEntry.types : undefined;
118
+ if (requirePath || importPath) {
119
+ packageJson.main = requirePath ?? importPath;
120
+ }
121
+ if (importPath && importPath.endsWith(".mjs")) {
122
+ packageJson.module = importPath;
123
+ }
124
+ if (typesPath) {
125
+ packageJson.types = typesPath;
126
+ }
127
+ }
128
+ const filesField = packageJson.files;
129
+ if (Array.isArray(filesField)) {
130
+ const normalizedFiles = filesField.filter((entry) => typeof entry === "string");
131
+ if (!normalizedFiles.includes("dist")) {
132
+ normalizedFiles.push("dist");
133
+ }
134
+ packageJson.files = normalizedFiles;
135
+ }
136
+ else {
137
+ packageJson.files = ["dist"];
138
+ }
139
+ const sortedExportMap = {};
140
+ const hasCatchAllWildcard = "./*" in mergedExportMap;
141
+ for (const exportSpecifier of Object.keys(mergedExportMap).sort((leftSpecifier, rightSpecifier) => compareExportSpecifiers(leftSpecifier, rightSpecifier, originalPathBySpecifier, hasCatchAllWildcard))) {
142
+ sortedExportMap[exportSpecifier] = mergedExportMap[exportSpecifier];
143
+ }
144
+ packageJson.exports = sortedExportMap;
145
+ const serialized = JSON.stringify(packageJson, null, 2) + "\n";
146
+ const tmpPath = `${packageJsonPath}.tmp`;
147
+ await fs.writeFile(tmpPath, serialized, "utf8");
148
+ try {
149
+ await fs.rename(tmpPath, packageJsonPath);
150
+ }
151
+ catch (caughtRenameError) {
152
+ await fs.unlink(tmpPath).catch(() => { });
153
+ throw new MirrorError(MirrorErrorCode.PACKAGE_WRITE, `Failed to atomically update ${packageJsonPath}: ${messageFromCaughtUnknown(caughtRenameError)}`, caughtRenameError instanceof Error ? { cause: caughtRenameError } : undefined);
154
+ }
155
+ return { prunedKeys };
156
+ }
@@ -0,0 +1,26 @@
1
+ import type { CliFs, CliLogger } from "#lib/infra/fs-contract";
2
+ import type { FindWorkspacePackagesResult } from "#lib/mirror/domain/types";
3
+ /** Turn a pnpm `packages` glob into a `globSync` pattern that finds `package.json` files. */
4
+ export declare function workspacePatternToPackageJsonGlob(pattern: string): string;
5
+ export declare function splitWorkspacePackageEntries(raw: unknown): {
6
+ include: string[];
7
+ exclude: string[];
8
+ };
9
+ /**
10
+ * Reads `packages` from a parsed pnpm workspace document.
11
+ * @throws If the document is invalid or `packages` is present but not an array.
12
+ */
13
+ export declare function parsePnpmWorkspaceDocument(doc: unknown): {
14
+ include: string[];
15
+ exclude: string[];
16
+ hasPackagesKey: boolean;
17
+ /** True only when `packages` exists and the YAML array is literally `[]`. */
18
+ isEmptyPackagesArray: boolean;
19
+ };
20
+ /**
21
+ * Workspace package directories relative to `rootDir` (POSIX slashes), sorted.
22
+ * Reads `pnpm-workspace.yaml` when present; otherwise uses `packages/*`.
23
+ * Only paths with a `package.json` are returned (same practical rule as pnpm).
24
+ */
25
+ export declare function findWorkspacePackageRelPaths(rootDir: string, fs: CliFs, logger: CliLogger): Promise<FindWorkspacePackagesResult>;
26
+ //# sourceMappingURL=workspace-packages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-packages.d.ts","sourceRoot":"","sources":["../../../../src/lib/mirror/infra/workspace-packages.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,KAAK,EACV,2BAA2B,EAE5B,MAAM,0BAA0B,CAAC;AAmBlC,6FAA6F;AAC7F,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMzE;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,OAAO,GAAG;IAC1D,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAqBA;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG;IACxD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,6EAA6E;IAC7E,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CAuBA;AAiCD;;;;GAIG;AACH,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,KAAK,EACT,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,2BAA2B,CAAC,CAoEtC"}