@bleedingdev/modern-js-ultramodern-create 3.9.0-ultramodern.2 → 3.9.0-ultramodern.21

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 (442) hide show
  1. package/README.md +43 -74
  2. package/dist/cjs/cli/package-source.cjs +2 -2
  3. package/dist/cjs/cli/project-setup.cjs +2 -22
  4. package/dist/cjs/index.cjs +9 -1
  5. package/dist/cjs/locale/en.cjs +2 -1
  6. package/dist/cjs/locale/zh.cjs +2 -1
  7. package/dist/cjs/ultramodern-package-source.cjs +13 -9
  8. package/dist/cjs/ultramodern-release-cohort.cjs +6 -21
  9. package/dist/cjs/ultramodern-tooling/commands/cloudflare-output-verify.cjs +49 -56
  10. package/dist/cjs/ultramodern-tooling/commands/context.cjs +11 -29
  11. package/dist/cjs/ultramodern-tooling/commands/routes-generate-app.cjs +67 -0
  12. package/dist/cjs/ultramodern-tooling/commands/routes-generate.cjs +24 -53
  13. package/dist/cjs/ultramodern-tooling/commands/validate.cjs +5 -11
  14. package/dist/cjs/ultramodern-tooling/commands.cjs +15 -8
  15. package/dist/cjs/ultramodern-tooling/config/index.cjs +10 -24
  16. package/dist/cjs/ultramodern-tooling/config/load.cjs +12 -10
  17. package/dist/cjs/ultramodern-tooling/config/metadata.cjs +34 -32
  18. package/dist/cjs/ultramodern-tooling/config/normalize.cjs +165 -164
  19. package/dist/cjs/ultramodern-workspace/add-shell.cjs +118 -118
  20. package/dist/cjs/ultramodern-workspace/add-vertical/execute.cjs +121 -25
  21. package/dist/cjs/ultramodern-workspace/add-vertical/plan.cjs +14 -160
  22. package/dist/cjs/ultramodern-workspace/add-vertical/preflight.cjs +16 -48
  23. package/dist/cjs/ultramodern-workspace/add-vertical/preview.cjs +78 -0
  24. package/dist/cjs/ultramodern-workspace/add-vertical/shell-files.cjs +87 -24
  25. package/dist/cjs/ultramodern-workspace/add-vertical/topology.cjs +4 -1
  26. package/dist/cjs/ultramodern-workspace/add-vertical/transaction.cjs +378 -45
  27. package/dist/cjs/ultramodern-workspace/add-vertical/workspace-state.cjs +21 -44
  28. package/dist/cjs/ultramodern-workspace/add-vertical.cjs +0 -9
  29. package/dist/cjs/ultramodern-workspace/api/client.cjs +5 -5
  30. package/dist/cjs/ultramodern-workspace/api/contracts.cjs +2 -2
  31. package/dist/cjs/ultramodern-workspace/api/rpc.cjs +20 -18
  32. package/dist/cjs/ultramodern-workspace/api/service.cjs +49 -24
  33. package/dist/cjs/ultramodern-workspace/api/shared.cjs +28 -18
  34. package/dist/cjs/ultramodern-workspace/app-files.cjs +3 -23
  35. package/dist/cjs/ultramodern-workspace/backend-federation.cjs +27 -27
  36. package/dist/cjs/ultramodern-workspace/contracts.cjs +14 -183
  37. package/dist/cjs/ultramodern-workspace/delivery-unit-schema/surfaces.cjs +85 -0
  38. package/dist/cjs/ultramodern-workspace/delivery-unit-schema/types.cjs +8 -85
  39. package/dist/cjs/ultramodern-workspace/delivery-unit-stamp.cjs +16 -4
  40. package/dist/cjs/ultramodern-workspace/delivery-unit-sync.cjs +27 -17
  41. package/dist/cjs/ultramodern-workspace/delivery-unit.cjs +16 -10
  42. package/dist/cjs/ultramodern-workspace/demo-components.cjs +66 -433
  43. package/dist/cjs/ultramodern-workspace/descriptors.cjs +0 -4
  44. package/dist/cjs/ultramodern-workspace/fs-io.cjs +37 -2
  45. package/dist/cjs/ultramodern-workspace/generation-result.cjs +4 -4
  46. package/dist/cjs/ultramodern-workspace/index.cjs +2 -5
  47. package/dist/cjs/ultramodern-workspace/mf-validation/constants.cjs +0 -6
  48. package/dist/cjs/ultramodern-workspace/mf-validation/discovery.cjs +6 -6
  49. package/dist/cjs/{ultramodern-tooling/commands/migrate-strict-effect/generated-patches.cjs → ultramodern-workspace/mf-validation/exposes.cjs} +13 -17
  50. package/dist/cjs/ultramodern-workspace/mf-validation/inspect.cjs +26 -7
  51. package/dist/cjs/ultramodern-workspace/mf-validation/object-literal.cjs +21 -122
  52. package/dist/cjs/ultramodern-workspace/mf-validation/path-utils.cjs +37 -38
  53. package/dist/cjs/ultramodern-workspace/mf-validation/syntax.cjs +93 -153
  54. package/dist/cjs/ultramodern-workspace/mf-validation.cjs +4 -0
  55. package/dist/cjs/ultramodern-workspace/module-federation/config.cjs +24 -29
  56. package/dist/cjs/ultramodern-workspace/module-federation/reexport-module.cjs +39 -58
  57. package/dist/cjs/ultramodern-workspace/module-federation/remote-refs.cjs +1 -43
  58. package/dist/cjs/ultramodern-workspace/package-json.cjs +63 -37
  59. package/dist/cjs/ultramodern-workspace/patch-inventory.cjs +104 -0
  60. package/dist/cjs/ultramodern-workspace/policy.cjs +3 -577
  61. package/dist/cjs/ultramodern-workspace/public-surface.cjs +3 -3
  62. package/dist/cjs/ultramodern-workspace/routes.cjs +2 -11
  63. package/dist/cjs/ultramodern-workspace/shared-patches.cjs +12 -2
  64. package/dist/cjs/ultramodern-workspace/shells.cjs +0 -70
  65. package/dist/cjs/ultramodern-workspace/tooling-command-catalog.cjs +27 -41
  66. package/dist/cjs/ultramodern-workspace/tsconfigs.cjs +8 -2
  67. package/dist/cjs/ultramodern-workspace/validation/architecture.cjs +397 -0
  68. package/dist/cjs/ultramodern-workspace/validation/assertions.cjs +140 -0
  69. package/dist/cjs/ultramodern-workspace/validation/types.cjs +18 -0
  70. package/dist/cjs/ultramodern-workspace/validation/workspace.cjs +344 -0
  71. package/dist/cjs/ultramodern-workspace/versions.cjs +81 -45
  72. package/dist/cjs/ultramodern-workspace/workspace-artifact-ownership.cjs +183 -0
  73. package/dist/cjs/ultramodern-workspace/workspace-script-plan.cjs +36 -25
  74. package/dist/cjs/ultramodern-workspace/workspace-scripts.cjs +11 -200
  75. package/dist/cjs/ultramodern-workspace/workspace-validation-contract.cjs +62 -373
  76. package/dist/cjs/ultramodern-workspace/write-app.cjs +19 -11
  77. package/dist/cjs/ultramodern-workspace/write-workspace.cjs +20 -50
  78. package/dist/cjs/ultramodern-workspace/zerops.cjs +2 -0
  79. package/dist/esm/cli/package-source.js +3 -3
  80. package/dist/esm/cli/project-setup.js +2 -22
  81. package/dist/esm/index.js +10 -2
  82. package/dist/esm/locale/en.js +2 -1
  83. package/dist/esm/locale/zh.js +2 -1
  84. package/dist/esm/ultramodern-package-source.js +14 -4
  85. package/dist/esm/ultramodern-release-cohort.js +5 -14
  86. package/dist/esm/ultramodern-tooling/commands/cloudflare-output-verify.js +49 -56
  87. package/dist/esm/ultramodern-tooling/commands/context.js +10 -26
  88. package/dist/esm/ultramodern-tooling/commands/routes-generate-app.js +35 -0
  89. package/dist/esm/ultramodern-tooling/commands/routes-generate.js +25 -54
  90. package/dist/esm/ultramodern-tooling/commands/validate.js +6 -12
  91. package/dist/esm/ultramodern-tooling/commands.js +15 -9
  92. package/dist/esm/ultramodern-tooling/config/index.js +0 -2
  93. package/dist/esm/ultramodern-tooling/config/load.js +9 -9
  94. package/dist/esm/ultramodern-tooling/config/metadata.js +33 -28
  95. package/dist/esm/ultramodern-tooling/config/normalize.js +159 -156
  96. package/dist/esm/ultramodern-workspace/add-shell.js +124 -123
  97. package/dist/esm/ultramodern-workspace/add-vertical/execute.js +119 -27
  98. package/dist/esm/ultramodern-workspace/add-vertical/plan.js +16 -150
  99. package/dist/esm/ultramodern-workspace/add-vertical/preflight.js +15 -47
  100. package/dist/esm/ultramodern-workspace/add-vertical/preview.js +40 -0
  101. package/dist/esm/ultramodern-workspace/add-vertical/shell-files.js +87 -25
  102. package/dist/esm/ultramodern-workspace/add-vertical/topology.js +4 -1
  103. package/dist/esm/ultramodern-workspace/add-vertical/transaction.js +373 -46
  104. package/dist/esm/ultramodern-workspace/add-vertical/workspace-state.js +17 -34
  105. package/dist/esm/ultramodern-workspace/add-vertical.js +1 -1
  106. package/dist/esm/ultramodern-workspace/api/client.js +5 -5
  107. package/dist/esm/ultramodern-workspace/api/contracts.js +2 -2
  108. package/dist/esm/ultramodern-workspace/api/rpc.js +20 -18
  109. package/dist/esm/ultramodern-workspace/api/service.js +49 -24
  110. package/dist/esm/ultramodern-workspace/api/shared.js +28 -18
  111. package/dist/esm/ultramodern-workspace/app-files.js +3 -23
  112. package/dist/esm/ultramodern-workspace/backend-federation.js +5 -5
  113. package/dist/esm/ultramodern-workspace/contracts.js +14 -180
  114. package/dist/esm/ultramodern-workspace/delivery-unit-schema/surfaces.js +41 -0
  115. package/dist/esm/ultramodern-workspace/delivery-unit-schema/types.js +1 -75
  116. package/dist/esm/ultramodern-workspace/delivery-unit-stamp.js +16 -4
  117. package/dist/esm/ultramodern-workspace/delivery-unit-sync.js +28 -18
  118. package/dist/esm/ultramodern-workspace/delivery-unit.js +12 -6
  119. package/dist/esm/ultramodern-workspace/demo-components.js +67 -428
  120. package/dist/esm/ultramodern-workspace/descriptors.js +1 -2
  121. package/dist/esm/ultramodern-workspace/fs-io.js +37 -2
  122. package/dist/esm/ultramodern-workspace/generation-result.js +3 -3
  123. package/dist/esm/ultramodern-workspace/index.js +1 -1
  124. package/dist/esm/ultramodern-workspace/mf-validation/constants.js +1 -4
  125. package/dist/esm/ultramodern-workspace/mf-validation/discovery.js +7 -7
  126. package/dist/esm/ultramodern-workspace/mf-validation/exposes.js +14 -0
  127. package/dist/esm/ultramodern-workspace/mf-validation/inspect.js +27 -8
  128. package/dist/esm/ultramodern-workspace/mf-validation/object-literal.js +22 -123
  129. package/dist/esm/ultramodern-workspace/mf-validation/path-utils.js +36 -34
  130. package/dist/esm/ultramodern-workspace/mf-validation/syntax.js +83 -143
  131. package/dist/esm/ultramodern-workspace/mf-validation.js +1 -0
  132. package/dist/esm/ultramodern-workspace/module-federation/config.js +25 -30
  133. package/dist/esm/ultramodern-workspace/module-federation/reexport-module.js +39 -58
  134. package/dist/esm/ultramodern-workspace/module-federation/remote-refs.js +1 -43
  135. package/dist/esm/ultramodern-workspace/package-json.js +58 -32
  136. package/dist/esm/ultramodern-workspace/patch-inventory.js +66 -0
  137. package/dist/esm/ultramodern-workspace/policy.js +2 -564
  138. package/dist/esm/ultramodern-workspace/public-surface.js +3 -3
  139. package/dist/esm/ultramodern-workspace/routes.js +2 -11
  140. package/dist/esm/ultramodern-workspace/shared-patches.js +2 -2
  141. package/dist/esm/ultramodern-workspace/shells.js +3 -67
  142. package/dist/esm/ultramodern-workspace/tooling-command-catalog.js +22 -37
  143. package/dist/esm/ultramodern-workspace/tsconfigs.js +9 -3
  144. package/dist/esm/ultramodern-workspace/validation/architecture.js +348 -0
  145. package/dist/esm/ultramodern-workspace/validation/assertions.js +65 -0
  146. package/dist/esm/ultramodern-workspace/validation/types.js +0 -0
  147. package/dist/esm/ultramodern-workspace/validation/workspace.js +286 -0
  148. package/dist/esm/ultramodern-workspace/versions.js +74 -29
  149. package/dist/esm/ultramodern-workspace/workspace-artifact-ownership.js +128 -0
  150. package/dist/esm/ultramodern-workspace/workspace-script-plan.js +35 -27
  151. package/dist/esm/ultramodern-workspace/workspace-scripts.js +10 -190
  152. package/dist/esm/ultramodern-workspace/workspace-validation-contract.js +65 -376
  153. package/dist/esm/ultramodern-workspace/write-app.js +18 -10
  154. package/dist/esm/ultramodern-workspace/write-workspace.js +25 -52
  155. package/dist/esm/ultramodern-workspace/zerops.js +2 -0
  156. package/dist/esm-node/cli/package-source.js +3 -3
  157. package/dist/esm-node/cli/project-setup.js +2 -22
  158. package/dist/esm-node/index.js +10 -2
  159. package/dist/esm-node/locale/en.js +2 -1
  160. package/dist/esm-node/locale/zh.js +2 -1
  161. package/dist/esm-node/ultramodern-package-source.js +14 -4
  162. package/dist/esm-node/ultramodern-release-cohort.js +5 -14
  163. package/dist/esm-node/ultramodern-tooling/commands/cloudflare-output-verify.js +49 -56
  164. package/dist/esm-node/ultramodern-tooling/commands/context.js +10 -26
  165. package/dist/esm-node/ultramodern-tooling/commands/routes-generate-app.js +36 -0
  166. package/dist/esm-node/ultramodern-tooling/commands/routes-generate.js +25 -54
  167. package/dist/esm-node/ultramodern-tooling/commands/validate.js +6 -12
  168. package/dist/esm-node/ultramodern-tooling/commands.js +15 -9
  169. package/dist/esm-node/ultramodern-tooling/config/index.js +0 -2
  170. package/dist/esm-node/ultramodern-tooling/config/load.js +9 -9
  171. package/dist/esm-node/ultramodern-tooling/config/metadata.js +33 -28
  172. package/dist/esm-node/ultramodern-tooling/config/normalize.js +159 -156
  173. package/dist/esm-node/ultramodern-workspace/add-shell.js +124 -123
  174. package/dist/esm-node/ultramodern-workspace/add-vertical/execute.js +119 -27
  175. package/dist/esm-node/ultramodern-workspace/add-vertical/plan.js +16 -150
  176. package/dist/esm-node/ultramodern-workspace/add-vertical/preflight.js +15 -47
  177. package/dist/esm-node/ultramodern-workspace/add-vertical/preview.js +41 -0
  178. package/dist/esm-node/ultramodern-workspace/add-vertical/shell-files.js +87 -25
  179. package/dist/esm-node/ultramodern-workspace/add-vertical/topology.js +4 -1
  180. package/dist/esm-node/ultramodern-workspace/add-vertical/transaction.js +373 -46
  181. package/dist/esm-node/ultramodern-workspace/add-vertical/workspace-state.js +17 -34
  182. package/dist/esm-node/ultramodern-workspace/add-vertical.js +1 -1
  183. package/dist/esm-node/ultramodern-workspace/api/client.js +5 -5
  184. package/dist/esm-node/ultramodern-workspace/api/contracts.js +2 -2
  185. package/dist/esm-node/ultramodern-workspace/api/rpc.js +20 -18
  186. package/dist/esm-node/ultramodern-workspace/api/service.js +49 -24
  187. package/dist/esm-node/ultramodern-workspace/api/shared.js +28 -18
  188. package/dist/esm-node/ultramodern-workspace/app-files.js +3 -23
  189. package/dist/esm-node/ultramodern-workspace/backend-federation.js +5 -5
  190. package/dist/esm-node/ultramodern-workspace/contracts.js +14 -180
  191. package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/surfaces.js +42 -0
  192. package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/types.js +1 -75
  193. package/dist/esm-node/ultramodern-workspace/delivery-unit-stamp.js +16 -4
  194. package/dist/esm-node/ultramodern-workspace/delivery-unit-sync.js +28 -18
  195. package/dist/esm-node/ultramodern-workspace/delivery-unit.js +12 -6
  196. package/dist/esm-node/ultramodern-workspace/demo-components.js +67 -428
  197. package/dist/esm-node/ultramodern-workspace/descriptors.js +1 -2
  198. package/dist/esm-node/ultramodern-workspace/fs-io.js +37 -2
  199. package/dist/esm-node/ultramodern-workspace/generation-result.js +3 -3
  200. package/dist/esm-node/ultramodern-workspace/index.js +1 -1
  201. package/dist/esm-node/ultramodern-workspace/mf-validation/constants.js +1 -4
  202. package/dist/esm-node/ultramodern-workspace/mf-validation/discovery.js +7 -7
  203. package/dist/esm-node/ultramodern-workspace/mf-validation/exposes.js +15 -0
  204. package/dist/esm-node/ultramodern-workspace/mf-validation/inspect.js +27 -8
  205. package/dist/esm-node/ultramodern-workspace/mf-validation/object-literal.js +22 -123
  206. package/dist/esm-node/ultramodern-workspace/mf-validation/path-utils.js +36 -34
  207. package/dist/esm-node/ultramodern-workspace/mf-validation/syntax.js +83 -143
  208. package/dist/esm-node/ultramodern-workspace/mf-validation.js +1 -0
  209. package/dist/esm-node/ultramodern-workspace/module-federation/config.js +25 -30
  210. package/dist/esm-node/ultramodern-workspace/module-federation/reexport-module.js +39 -58
  211. package/dist/esm-node/ultramodern-workspace/module-federation/remote-refs.js +1 -43
  212. package/dist/esm-node/ultramodern-workspace/package-json.js +58 -32
  213. package/dist/esm-node/ultramodern-workspace/patch-inventory.js +67 -0
  214. package/dist/esm-node/ultramodern-workspace/policy.js +2 -564
  215. package/dist/esm-node/ultramodern-workspace/public-surface.js +3 -3
  216. package/dist/esm-node/ultramodern-workspace/routes.js +2 -11
  217. package/dist/esm-node/ultramodern-workspace/shared-patches.js +2 -2
  218. package/dist/esm-node/ultramodern-workspace/shells.js +3 -67
  219. package/dist/esm-node/ultramodern-workspace/tooling-command-catalog.js +22 -37
  220. package/dist/esm-node/ultramodern-workspace/tsconfigs.js +9 -3
  221. package/dist/esm-node/ultramodern-workspace/validation/architecture.js +349 -0
  222. package/dist/esm-node/ultramodern-workspace/validation/assertions.js +66 -0
  223. package/dist/esm-node/ultramodern-workspace/validation/types.js +1 -0
  224. package/dist/esm-node/ultramodern-workspace/validation/workspace.js +287 -0
  225. package/dist/esm-node/ultramodern-workspace/versions.js +74 -29
  226. package/dist/esm-node/ultramodern-workspace/workspace-artifact-ownership.js +129 -0
  227. package/dist/esm-node/ultramodern-workspace/workspace-script-plan.js +35 -27
  228. package/dist/esm-node/ultramodern-workspace/workspace-scripts.js +10 -190
  229. package/dist/esm-node/ultramodern-workspace/workspace-validation-contract.js +65 -376
  230. package/dist/esm-node/ultramodern-workspace/write-app.js +18 -10
  231. package/dist/esm-node/ultramodern-workspace/write-workspace.js +25 -52
  232. package/dist/esm-node/ultramodern-workspace/zerops.js +2 -0
  233. package/dist/types/cli/project-setup.d.ts +1 -1
  234. package/dist/types/locale/en.d.ts +1 -0
  235. package/dist/types/locale/index.d.ts +2 -0
  236. package/dist/types/locale/zh.d.ts +1 -0
  237. package/dist/types/ultramodern-package-source.d.ts +2 -4
  238. package/dist/types/ultramodern-release-cohort.d.ts +1 -3
  239. package/dist/types/ultramodern-tooling/commands/cloudflare-output-verify.d.ts +2 -2
  240. package/dist/types/ultramodern-tooling/commands/context.d.ts +4 -1
  241. package/dist/types/ultramodern-tooling/commands/routes-generate-app.d.ts +1 -0
  242. package/dist/types/ultramodern-tooling/commands/routes-generate.d.ts +1 -1
  243. package/dist/types/ultramodern-tooling/commands/validate.d.ts +1 -1
  244. package/dist/types/ultramodern-tooling/config/index.d.ts +0 -2
  245. package/dist/types/ultramodern-tooling/config/load.d.ts +10 -2
  246. package/dist/types/ultramodern-tooling/config/metadata.d.ts +2 -2
  247. package/dist/types/ultramodern-tooling/config/normalize.d.ts +19 -19
  248. package/dist/types/ultramodern-tooling/config/types.d.ts +2 -9
  249. package/dist/types/ultramodern-workspace/add-shell.d.ts +1 -1
  250. package/dist/types/ultramodern-workspace/add-vertical/execute.d.ts +1 -0
  251. package/dist/types/ultramodern-workspace/add-vertical/preflight.d.ts +4 -3
  252. package/dist/types/ultramodern-workspace/add-vertical/preview.d.ts +4 -0
  253. package/dist/types/ultramodern-workspace/add-vertical/shell-files.d.ts +7 -2
  254. package/dist/types/ultramodern-workspace/add-vertical/transaction.d.ts +32 -6
  255. package/dist/types/ultramodern-workspace/add-vertical/workspace-state.d.ts +10 -7
  256. package/dist/types/ultramodern-workspace/add-vertical.d.ts +1 -1
  257. package/dist/types/ultramodern-workspace/api/client.d.ts +3 -1
  258. package/dist/types/ultramodern-workspace/api/rpc.d.ts +1 -1
  259. package/dist/types/ultramodern-workspace/api/service.d.ts +3 -1
  260. package/dist/types/ultramodern-workspace/api/shared.d.ts +2 -0
  261. package/dist/types/ultramodern-workspace/backend-federation.d.ts +1 -1
  262. package/dist/types/ultramodern-workspace/contracts.d.ts +1 -3
  263. package/dist/types/ultramodern-workspace/delivery-unit-schema/surfaces.d.ts +17 -0
  264. package/dist/types/ultramodern-workspace/delivery-unit-schema/types.d.ts +3 -68
  265. package/dist/types/ultramodern-workspace/delivery-unit-stamp.d.ts +2 -2
  266. package/dist/types/ultramodern-workspace/delivery-unit.d.ts +3 -3
  267. package/dist/types/ultramodern-workspace/demo-components.d.ts +0 -3
  268. package/dist/types/ultramodern-workspace/descriptors.d.ts +0 -1
  269. package/dist/types/ultramodern-workspace/fs-io.d.ts +1 -1
  270. package/dist/types/ultramodern-workspace/index.d.ts +1 -1
  271. package/dist/types/ultramodern-workspace/mf-validation/constants.d.ts +0 -1
  272. package/dist/types/ultramodern-workspace/mf-validation/exposes.d.ts +11 -0
  273. package/dist/types/ultramodern-workspace/mf-validation/path-utils.d.ts +2 -3
  274. package/dist/types/ultramodern-workspace/mf-validation/syntax.d.ts +4 -3
  275. package/dist/types/ultramodern-workspace/mf-validation/types.d.ts +1 -0
  276. package/dist/types/ultramodern-workspace/mf-validation.d.ts +1 -0
  277. package/dist/types/ultramodern-workspace/module-federation/config.d.ts +1 -1
  278. package/dist/types/ultramodern-workspace/module-federation/reexport-module.d.ts +2 -2
  279. package/dist/types/ultramodern-workspace/package-json.d.ts +1 -1
  280. package/dist/types/ultramodern-workspace/patch-inventory.d.ts +10 -0
  281. package/dist/types/ultramodern-workspace/policy.d.ts +31 -209
  282. package/dist/types/ultramodern-workspace/routes.d.ts +6 -1
  283. package/dist/types/ultramodern-workspace/shells.d.ts +2 -15
  284. package/dist/types/ultramodern-workspace/tooling-command-catalog.d.ts +8 -7
  285. package/dist/types/ultramodern-workspace/types.d.ts +9 -9
  286. package/dist/types/ultramodern-workspace/validation/architecture.d.ts +2 -0
  287. package/dist/types/ultramodern-workspace/validation/assertions.d.ts +14 -0
  288. package/dist/types/ultramodern-workspace/validation/types.d.ts +9 -0
  289. package/dist/types/ultramodern-workspace/validation/workspace.d.ts +6 -0
  290. package/dist/types/ultramodern-workspace/versions.d.ts +73 -28
  291. package/dist/types/ultramodern-workspace/workspace-artifact-ownership.d.ts +18 -0
  292. package/dist/types/ultramodern-workspace/workspace-script-plan.d.ts +4 -5
  293. package/dist/types/ultramodern-workspace/workspace-scripts.d.ts +8 -13
  294. package/dist/types/ultramodern-workspace/workspace-validation-contract.d.ts +22 -188
  295. package/dist/types/ultramodern-workspace/write-workspace.d.ts +1 -3
  296. package/package.json +18 -11
  297. package/{template-workspace/.modernjs/release-cohort.json → release-cohort.json} +88 -40
  298. package/template-workspace/.codex/skills/rspack-tracing/scripts/analyze_trace.js +1 -1
  299. package/template-workspace/README.md.handlebars +20 -35
  300. package/template-workspace/oxfmt.config.ts +3 -0
  301. package/template-workspace/pnpm-workspace.yaml.handlebars +0 -24
  302. package/template-workspace/scripts/bootstrap-agent-skills.mjs +4 -4
  303. package/templates/packages/shared-contracts-index.ts +4 -332
  304. package/templates/workspace/apps/modern.config.shared-module-federation.ts.handlebars +10 -0
  305. package/templates/workspace/apps/modern.config.ts.handlebars +13 -27
  306. package/templates/workspace/apps/shared/src/routes/ultramodern-route-metadata.ts.handlebars +21 -11
  307. package/templates/workspace/apps/shell-super-app/src/routes/[lang]/page.tsx.handlebars +20 -20
  308. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.helpers.tsx.handlebars +4 -6
  309. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.imports.tsx.handlebars +2 -2
  310. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.tsx.handlebars +11 -11
  311. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.worker.helpers.tsx.handlebars +1 -1
  312. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.worker.imports.tsx.handlebars +1 -1
  313. package/templates/workspace-scripts/generate-node-backend-federation.mjs +68 -77
  314. package/templates/workspace-scripts/generate-public-surface-assets.mjs +107 -207
  315. package/templates/workspace-scripts/materialize-zerops-runtime.mjs +12 -19
  316. package/templates/workspace-scripts/proof-cloudflare-version.mjs +53 -444
  317. package/templates/workspace-scripts/proof-node-backend-federation.mjs +212 -91
  318. package/templates/workspace-scripts/{proof-workerd-ssr.mts → proof-workerd-ssr.mjs} +434 -239
  319. package/templates/workspace-scripts/ultramodern-cloudflare-proof.mjs +25 -7
  320. package/templates/workspace-scripts/ultramodern-performance-readiness.mjs +45 -147
  321. package/templates/workspace-scripts/ultramodern-typecheck.mjs +1 -1
  322. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.cjs +0 -212
  323. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.cjs +0 -47
  324. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.cjs +0 -112
  325. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.cjs +0 -55
  326. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.cjs +0 -102
  327. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.cjs +0 -195
  328. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.cjs +0 -146
  329. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.cjs +0 -110
  330. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.cjs +0 -67
  331. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.cjs +0 -307
  332. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.cjs +0 -58
  333. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.cjs +0 -71
  334. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.cjs +0 -151
  335. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/help.cjs +0 -67
  336. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/install.cjs +0 -52
  337. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/io.cjs +0 -447
  338. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.cjs +0 -323
  339. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-source.cjs +0 -87
  340. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.cjs +0 -612
  341. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.cjs +0 -376
  342. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.cjs +0 -73
  343. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.cjs +0 -215
  344. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.cjs +0 -135
  345. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect.cjs +0 -454
  346. package/dist/cjs/ultramodern-tooling/config/constants.cjs +0 -48
  347. package/dist/cjs/ultramodern-tooling/config/synthesize.cjs +0 -157
  348. package/dist/cjs/ultramodern-workspace/delivery-unit-schema/up-projection.cjs +0 -188
  349. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +0 -154
  350. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +0 -9
  351. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +0 -63
  352. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +0 -7
  353. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +0 -47
  354. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +0 -146
  355. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +0 -97
  356. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.js +0 -61
  357. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +0 -16
  358. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +0 -258
  359. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +0 -10
  360. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +0 -8
  361. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +0 -15
  362. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.js +0 -100
  363. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/help.js +0 -29
  364. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/install.js +0 -14
  365. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/io.js +0 -385
  366. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +0 -276
  367. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +0 -49
  368. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +0 -559
  369. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +0 -329
  370. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +0 -19
  371. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.js +0 -148
  372. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.js +0 -80
  373. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect.js +0 -405
  374. package/dist/esm/ultramodern-tooling/config/constants.js +0 -4
  375. package/dist/esm/ultramodern-tooling/config/synthesize.js +0 -108
  376. package/dist/esm/ultramodern-workspace/delivery-unit-schema/up-projection.js +0 -129
  377. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +0 -155
  378. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +0 -10
  379. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +0 -64
  380. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +0 -8
  381. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +0 -48
  382. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +0 -147
  383. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +0 -98
  384. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.js +0 -62
  385. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +0 -17
  386. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +0 -259
  387. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +0 -11
  388. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +0 -9
  389. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +0 -16
  390. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.js +0 -101
  391. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/help.js +0 -30
  392. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/install.js +0 -15
  393. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/io.js +0 -386
  394. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +0 -277
  395. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +0 -50
  396. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +0 -560
  397. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +0 -330
  398. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +0 -20
  399. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.js +0 -149
  400. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.js +0 -81
  401. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect.js +0 -406
  402. package/dist/esm-node/ultramodern-tooling/config/constants.js +0 -5
  403. package/dist/esm-node/ultramodern-tooling/config/synthesize.js +0 -109
  404. package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/up-projection.js +0 -130
  405. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.d.ts +0 -12
  406. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.d.ts +0 -4
  407. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.d.ts +0 -1
  408. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.d.ts +0 -3
  409. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.d.ts +0 -5
  410. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.d.ts +0 -3
  411. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.d.ts +0 -2
  412. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.d.ts +0 -2
  413. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.d.ts +0 -4
  414. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.d.ts +0 -3
  415. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.d.ts +0 -3
  416. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.d.ts +0 -8
  417. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.d.ts +0 -3
  418. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.d.ts +0 -3
  419. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/help.d.ts +0 -1
  420. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/install.d.ts +0 -2
  421. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/io.d.ts +0 -26
  422. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.d.ts +0 -25
  423. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-source.d.ts +0 -3
  424. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.d.ts +0 -26
  425. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.d.ts +0 -26
  426. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.d.ts +0 -6
  427. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.d.ts +0 -37
  428. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.d.ts +0 -4
  429. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect.d.ts +0 -2
  430. package/dist/types/ultramodern-tooling/config/constants.d.ts +0 -3
  431. package/dist/types/ultramodern-tooling/config/synthesize.d.ts +0 -5
  432. package/dist/types/ultramodern-workspace/delivery-unit-schema/up-projection.d.ts +0 -189
  433. package/template-workspace/patches/@module-federation__bridge-react@2.9.0.patch +0 -47
  434. package/template-workspace/patches/@module-federation__dts-plugin@2.9.0.patch +0 -26
  435. package/template-workspace/patches/@module-federation__modern-js-v3@2.9.0.patch +0 -268
  436. package/template-workspace/patches/@module-federation__runtime-core@2.9.0.patch +0 -13
  437. package/template-workspace/patches/drizzle-orm-ts7-strict-declarations.patch +0 -471
  438. package/template-workspace/patches/msgpackr@2.1.0.patch +0 -30
  439. package/template-workspace/patches/zod@4.5.4.patch +0 -56
  440. package/templates/workspace-scripts/check-ultramodern-api-boundaries.mts +0 -779
  441. package/templates/workspace-scripts/check-ultramodern-i18n-boundaries.mts +0 -9
  442. package/templates/workspace-scripts/validate-ultramodern-workspace.mjs.handlebars +0 -4109
@@ -40,17 +40,14 @@ var __webpack_require__ = {};
40
40
  var __webpack_exports__ = {};
41
41
  __webpack_require__.r(__webpack_exports__);
42
42
  __webpack_require__.d(__webpack_exports__, {
43
+ AD_HOC_TOOLING_COMMANDS: ()=>AD_HOC_TOOLING_COMMANDS,
43
44
  createPackageRoot: ()=>createPackageRoot,
44
45
  printHelp: ()=>printHelp,
45
- runRenderedModule: ()=>runRenderedModule,
46
46
  runTemplateBackedToolingCommand: ()=>runTemplateBackedToolingCommand,
47
47
  spawnNodeScript: ()=>spawnNodeScript
48
48
  });
49
49
  const external_node_child_process_namespaceObject = require("node:child_process");
50
- const external_node_fs_namespaceObject = require("node:fs");
51
- var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
52
50
  const external_node_os_namespaceObject = require("node:os");
53
- var external_node_os_default = /*#__PURE__*/ __webpack_require__.n(external_node_os_namespaceObject);
54
51
  const external_node_path_namespaceObject = require("node:path");
55
52
  var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
56
53
  const external_node_url_namespaceObject = require("node:url");
@@ -58,11 +55,16 @@ const external_create_package_root_cjs_namespaceObject = require("../../create-p
58
55
  const tooling_command_catalog_cjs_namespaceObject = require("../../ultramodern-workspace/tooling-command-catalog.cjs");
59
56
  const context_dirname = external_node_path_default().dirname((0, external_node_url_namespaceObject.fileURLToPath)(__rslib_import_meta_url__));
60
57
  const createPackageRoot = (0, external_create_package_root_cjs_namespaceObject.resolveCreatePackageRoot)(context_dirname);
58
+ const AD_HOC_TOOLING_COMMANDS = {
59
+ syncDeliveryUnit: 'sync-delivery-unit',
60
+ skills: 'skills'
61
+ };
61
62
  function printHelp() {
62
63
  const commands = [
63
64
  ...(0, tooling_command_catalog_cjs_namespaceObject.generatedToolingCommandList)().map((command)=>` ${command}`),
64
- ' skills install',
65
- ' skills check'
65
+ ` ${AD_HOC_TOOLING_COMMANDS.syncDeliveryUnit}`,
66
+ ` ${AD_HOC_TOOLING_COMMANDS.skills} install`,
67
+ ` ${AD_HOC_TOOLING_COMMANDS.skills} check`
66
68
  ].join('\n');
67
69
  process.stdout.write(`Usage:
68
70
  ultramodern-create ultramodern <command> [args]
@@ -85,7 +87,7 @@ function spawnNodeScript(relativeScriptPath, args, context, options = {}) {
85
87
  stdio: 'inherit'
86
88
  });
87
89
  if (result.error) throw result.error;
88
- return result.status ?? 1;
90
+ return result.status ?? (result.signal ? 128 + external_node_os_namespaceObject.constants.signals[result.signal] : 1);
89
91
  }
90
92
  function runTemplateBackedToolingCommand(command, args, context) {
91
93
  const toolingCommand = tooling_command_catalog_cjs_namespaceObject.generatedToolingCommands.find((candidate)=>candidate.command === command);
@@ -94,35 +96,15 @@ function runTemplateBackedToolingCommand(command, args, context) {
94
96
  cwd: 'invocation' === toolingCommand.cwd ? context.invocationCwd : context.workspaceRoot
95
97
  });
96
98
  }
97
- function runRenderedModule(source, context) {
98
- const tempDir = external_node_fs_default().mkdtempSync(external_node_path_default().join(external_node_os_default().tmpdir(), 'ultramodern-tool-'));
99
- const tempFile = external_node_path_default().join(tempDir, 'command.mjs');
100
- try {
101
- external_node_fs_default().writeFileSync(tempFile, source, 'utf-8');
102
- const result = (0, external_node_child_process_namespaceObject.spawnSync)(process.execPath, [
103
- tempFile
104
- ], {
105
- cwd: context.workspaceRoot,
106
- stdio: 'inherit'
107
- });
108
- if (result.error) throw result.error;
109
- return result.status ?? 1;
110
- } finally{
111
- external_node_fs_default().rmSync(tempDir, {
112
- force: true,
113
- recursive: true
114
- });
115
- }
116
- }
99
+ exports.AD_HOC_TOOLING_COMMANDS = __webpack_exports__.AD_HOC_TOOLING_COMMANDS;
117
100
  exports.createPackageRoot = __webpack_exports__.createPackageRoot;
118
101
  exports.printHelp = __webpack_exports__.printHelp;
119
- exports.runRenderedModule = __webpack_exports__.runRenderedModule;
120
102
  exports.runTemplateBackedToolingCommand = __webpack_exports__.runTemplateBackedToolingCommand;
121
103
  exports.spawnNodeScript = __webpack_exports__.spawnNodeScript;
122
104
  for(var __rspack_i in __webpack_exports__)if (-1 === [
105
+ "AD_HOC_TOOLING_COMMANDS",
123
106
  "createPackageRoot",
124
107
  "printHelp",
125
- "runRenderedModule",
126
108
  "runTemplateBackedToolingCommand",
127
109
  "spawnNodeScript"
128
110
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.n = (module)=>{
5
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
+ __webpack_require__.d(getter, {
7
+ a: getter
8
+ });
9
+ return getter;
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
22
+ };
23
+ })();
24
+ (()=>{
25
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
26
+ })();
27
+ var __webpack_exports__ = {};
28
+ const external_node_module_namespaceObject = require("node:module");
29
+ const external_node_path_namespaceObject = require("node:path");
30
+ var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
31
+ const external_node_url_namespaceObject = require("node:url");
32
+ async function main() {
33
+ const [appDirectory, label, mode] = process.argv.slice(2);
34
+ try {
35
+ if (!appDirectory || !label) throw new Error('Route generation requires an app directory and label.');
36
+ const appRequire = (0, external_node_module_namespaceObject.createRequire)(external_node_path_default().join(appDirectory, 'package.json'));
37
+ const pluginUrl = (0, external_node_url_namespaceObject.pathToFileURL)(appRequire.resolve('@modern-js/plugin-tanstack')).href;
38
+ const plugin = await import(pluginUrl);
39
+ if ('manifest' === mode) {
40
+ await plugin.writeRouteMetadataManifest({
41
+ appDirectory
42
+ });
43
+ console.log(`[ultramodern] Route metadata manifest generated: ${label}`);
44
+ } else {
45
+ await plugin.generateTanstackRouteArtifacts({
46
+ appDirectory
47
+ });
48
+ console.log(`[ultramodern] TanStack route artifacts generated: ${label}`);
49
+ }
50
+ } catch (error) {
51
+ process.exitCode = 1;
52
+ console.error(`[ultramodern] TanStack route generation failed: ${label}`);
53
+ let current = error;
54
+ let depth = 0;
55
+ while(current){
56
+ const detail = current instanceof Error ? current.stack ?? `${current.name}: ${current.message}` : String(current);
57
+ console.error(`${0 === depth ? '-' : ' caused by:'} ${detail}`);
58
+ current = current instanceof Error ? current.cause : void 0;
59
+ depth += 1;
60
+ }
61
+ }
62
+ }
63
+ main();
64
+ for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
65
+ Object.defineProperty(exports, '__esModule', {
66
+ value: true
67
+ });
@@ -46,72 +46,43 @@ const external_context_cjs_namespaceObject = require("./context.cjs");
46
46
  const external_options_cjs_namespaceObject = require("./options.cjs");
47
47
  const resolveRoutesGenerateTargets = (args, context)=>{
48
48
  const appId = (0, external_options_cjs_namespaceObject.readOption)(args, '--app');
49
- const targets = (0, external_config_cjs_namespaceObject.workspaceAppsFromToolingConfig)((0, external_config_cjs_namespaceObject.readUltramodernConfig)(context.workspaceRoot)).filter((app)=>!appId || app.id === appId).map((app)=>({
49
+ const targets = (0, external_config_cjs_namespaceObject.workspaceAppsFromToolingConfig)((0, external_config_cjs_namespaceObject.readUltramodernConfig)(context.workspaceRoot), context.workspaceRoot).filter((app)=>!appId || app.id === appId).map((app)=>({
50
50
  label: app.id,
51
51
  appDirectory: external_node_path_default().join(context.workspaceRoot, app.directory)
52
52
  }));
53
53
  if (0 === targets.length) throw new Error(`No generated UltraModern app matched ${appId ?? '<any>'}.`);
54
54
  return targets;
55
55
  };
56
- const renderRoutesGenerateModule = ({ workspaceRoot, targets })=>`
57
- import { createRequire } from 'node:module';
58
- import path from 'node:path';
59
- import { pathToFileURL } from 'node:url';
60
-
61
- const workspaceRoot = ${JSON.stringify(workspaceRoot)};
62
- const targets = ${JSON.stringify(targets, null, 2)};
63
- const appRequire = createRequire(path.join(workspaceRoot, 'package.json'));
64
- const pluginUrl = pathToFileURL(
65
- appRequire.resolve('@modern-js/plugin-tanstack'),
66
- ).href;
67
- const { generateTanstackRouteArtifacts } = await import(pluginUrl);
68
-
69
- let failed = false;
70
- // Sequential — the app-tools cli singleton is not re-entrant.
71
- for (const target of targets) {
72
- try {
73
- await generateTanstackRouteArtifacts({ appDirectory: target.appDirectory });
74
- console.log(\`[ultramodern] TanStack route artifacts generated: \${target.label}\`);
75
- } catch (error) {
76
- failed = true;
77
- console.error(\`[ultramodern] TanStack route generation failed: \${target.label}\`);
78
- // Print the full underlying failure, including the cause chain. The
79
- // route-generate crash is often an opaque node error thrown deep inside
80
- // app-tools/plugin (e.g. a path TypeError), so surfacing only
81
- // \`error.message\` swallows the stack that points at the real culprit.
82
- let current = error;
83
- let depth = 0;
84
- while (current) {
85
- const label = depth === 0 ? '-' : ' caused by:';
86
- const detail =
87
- current instanceof Error
88
- ? current.stack ?? \`\${current.name}: \${current.message}\`
89
- : String(current);
90
- console.error(\`\${label} \${detail}\`);
91
- current = current instanceof Error ? current.cause : undefined;
92
- depth += 1;
93
- }
94
- }
95
- }
96
-
97
- process.exit(failed ? 1 : 0);
98
- `;
99
56
  function runRoutesGenerate(args, context) {
100
57
  if (args.includes('--help') || args.includes('-h')) {
101
58
  process.stdout.write(`Usage:
102
- ultramodern-create ultramodern routes-generate [--app <id>]
59
+ ultramodern-create ultramodern routes-generate [--app <id>] [--manifest-only]
60
+
61
+ Regenerates src/routes/ultramodern-route-metadata.ts from the app's
62
+ route.meta.ts files and the TanStack route artifacts (router.gen.ts,
63
+ register.gen.d.ts) for generated UltraModern apps without running dev or build.
64
+ Without --app, every generated workspace app is regenerated.
103
65
 
104
- Regenerates TanStack route artifacts (router.gen.ts, register.gen.d.ts) for
105
- generated UltraModern apps without running dev or build. Without --app, every
106
- generated workspace app is regenerated.
66
+ --manifest-only writes only the route metadata manifest. It never loads the
67
+ app config, so app dev and build scripts run it before \`modern dev\` and
68
+ \`modern build\`, which regenerate the router artifacts themselves.
107
69
  `);
108
70
  return 0;
109
71
  }
110
- const source = renderRoutesGenerateModule({
111
- workspaceRoot: context.workspaceRoot,
112
- targets: resolveRoutesGenerateTargets(args, context)
113
- });
114
- return (0, external_context_cjs_namespaceObject.runRenderedModule)(source, context);
72
+ const targets = resolveRoutesGenerateTargets(args, context);
73
+ const mode = args.includes('--manifest-only') ? 'manifest' : 'all';
74
+ let failed = false;
75
+ for (const target of targets){
76
+ const status = (0, external_context_cjs_namespaceObject.spawnNodeScript)('dist/esm-node/ultramodern-tooling/commands/routes-generate-app.js', [
77
+ target.appDirectory,
78
+ target.label,
79
+ mode
80
+ ], context, {
81
+ cwd: target.appDirectory
82
+ });
83
+ failed ||= 0 !== status;
84
+ }
85
+ return failed ? 1 : 0;
115
86
  }
116
87
  exports.runRoutesGenerate = __webpack_exports__.runRoutesGenerate;
117
88
  for(var __rspack_i in __webpack_exports__)if (-1 === [
@@ -30,19 +30,13 @@ __webpack_require__.r(__webpack_exports__);
30
30
  __webpack_require__.d(__webpack_exports__, {
31
31
  runValidate: ()=>runValidate
32
32
  });
33
- const external_ultramodern_release_cohort_cjs_namespaceObject = require("../../ultramodern-release-cohort.cjs");
34
- const workspace_scripts_cjs_namespaceObject = require("../../ultramodern-workspace/workspace-scripts.cjs");
33
+ const workspace_cjs_namespaceObject = require("../../ultramodern-workspace/validation/workspace.cjs");
34
+ const workspace_validation_contract_cjs_namespaceObject = require("../../ultramodern-workspace/workspace-validation-contract.cjs");
35
35
  const external_config_cjs_namespaceObject = require("../config.cjs");
36
- const external_context_cjs_namespaceObject = require("./context.cjs");
37
36
  function runValidate(context) {
38
- const config = (0, external_config_cjs_namespaceObject.readUltramodernConfig)(context.workspaceRoot);
39
- const apps = (0, external_config_cjs_namespaceObject.workspaceAppsFromToolingConfig)(config);
40
- const remotes = apps.filter((app)=>'shell' !== app.kind);
41
- const primaryShell = apps.find((app)=>'shell' === app.kind);
42
- const additionalShells = (0, external_config_cjs_namespaceObject.additionalShellsFromToolingConfig)(config);
43
- const releaseCohort = config.packageSource?.strategy === 'install' ? (0, external_ultramodern_release_cohort_cjs_namespaceObject.readWorkspaceReleaseCohort)(context.workspaceRoot) : void 0;
44
- const source = (0, workspace_scripts_cjs_namespaceObject.createWorkspaceValidationScript)(config.workspace.packageScope, config.features.tailwind, remotes, releaseCohort, additionalShells, primaryShell);
45
- return (0, external_context_cjs_namespaceObject.runRenderedModule)(source, context);
37
+ const { config, raw, verticals, primaryShell, additionalShells } = (0, external_config_cjs_namespaceObject.readUltramodernWorkspaceInputs)(context.workspaceRoot);
38
+ (0, workspace_cjs_namespaceObject.validateWorkspace)(context.workspaceRoot, (0, workspace_validation_contract_cjs_namespaceObject.createWorkspaceValidationContract)(config.workspace.packageScope, config.features.tailwind, raw.topology.sharedPackages, verticals, additionalShells, primaryShell));
39
+ return 0;
46
40
  }
47
41
  exports.runValidate = __webpack_exports__.runValidate;
48
42
  for(var __rspack_i in __webpack_exports__)if (-1 === [
@@ -39,13 +39,14 @@ __webpack_require__.r(__webpack_exports__);
39
39
  __webpack_require__.d(__webpack_exports__, {
40
40
  runUltramodernToolingCli: ()=>runUltramodernToolingCli
41
41
  });
42
+ const external_node_fs_namespaceObject = require("node:fs");
43
+ var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
42
44
  const external_node_path_namespaceObject = require("node:path");
43
45
  var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
44
46
  const tooling_command_catalog_cjs_namespaceObject = require("../ultramodern-workspace/tooling-command-catalog.cjs");
45
47
  const cloudflare_output_verify_cjs_namespaceObject = require("./commands/cloudflare-output-verify.cjs");
46
48
  const context_cjs_namespaceObject = require("./commands/context.cjs");
47
49
  const mf_types_cjs_namespaceObject = require("./commands/mf-types.cjs");
48
- const migrate_strict_effect_cjs_namespaceObject = require("./commands/migrate-strict-effect.cjs");
49
50
  const routes_generate_cjs_namespaceObject = require("./commands/routes-generate.cjs");
50
51
  const skills_cjs_namespaceObject = require("./commands/skills.cjs");
51
52
  const sync_delivery_unit_cjs_namespaceObject = require("./commands/sync-delivery-unit.cjs");
@@ -53,8 +54,16 @@ const validate_cjs_namespaceObject = require("./commands/validate.cjs");
53
54
  async function runUltramodernToolingCli(args, workspaceRoot = process.env.ULTRAMODERN_WORKSPACE_ROOT ?? process.cwd()) {
54
55
  try {
55
56
  const [command, ...rest] = args;
57
+ let discoveredRoot = external_node_path_default().resolve(workspaceRoot);
58
+ for(let candidate = discoveredRoot;; candidate = external_node_path_default().dirname(candidate)){
59
+ if (external_node_fs_default().existsSync(external_node_path_default().join(candidate, 'topology/reference-topology.json'))) {
60
+ discoveredRoot = candidate;
61
+ break;
62
+ }
63
+ if (external_node_path_default().dirname(candidate) === candidate) break;
64
+ }
56
65
  const context = {
57
- workspaceRoot: external_node_path_default().resolve(workspaceRoot),
66
+ workspaceRoot: discoveredRoot,
58
67
  invocationCwd: process.cwd()
59
68
  };
60
69
  switch(command){
@@ -67,15 +76,13 @@ async function runUltramodernToolingCli(args, workspaceRoot = process.env.ULTRAM
67
76
  return (0, validate_cjs_namespaceObject.runValidate)(context);
68
77
  case tooling_command_catalog_cjs_namespaceObject.GENERATED_TOOLING_COMMANDS.mfTypes.command:
69
78
  return (0, mf_types_cjs_namespaceObject.runMfTypes)(rest, context);
70
- case tooling_command_catalog_cjs_namespaceObject.GENERATED_TOOLING_COMMANDS.migrateStrictEffect.command:
71
- return await (0, migrate_strict_effect_cjs_namespaceObject.runMigrateStrictEffect)(rest, context);
72
79
  case tooling_command_catalog_cjs_namespaceObject.GENERATED_TOOLING_COMMANDS.cloudflareOutputVerify.command:
73
- return (0, cloudflare_output_verify_cjs_namespaceObject.runCloudflareOutputVerify)(rest, context);
80
+ return await (0, cloudflare_output_verify_cjs_namespaceObject.runCloudflareOutputVerify)(rest, context);
74
81
  case tooling_command_catalog_cjs_namespaceObject.GENERATED_TOOLING_COMMANDS.routesGenerate.command:
75
- return (0, routes_generate_cjs_namespaceObject.runRoutesGenerate)(rest, context);
76
- case 'sync-delivery-unit':
82
+ return await (0, routes_generate_cjs_namespaceObject.runRoutesGenerate)(rest, context);
83
+ case context_cjs_namespaceObject.AD_HOC_TOOLING_COMMANDS.syncDeliveryUnit:
77
84
  return (0, sync_delivery_unit_cjs_namespaceObject.runSyncDeliveryUnit)(rest, context);
78
- case 'skills':
85
+ case context_cjs_namespaceObject.AD_HOC_TOOLING_COMMANDS.skills:
79
86
  return (0, skills_cjs_namespaceObject.runSkills)(rest, context);
80
87
  default:
81
88
  {
@@ -1,8 +1,5 @@
1
1
  "use strict";
2
2
  var __webpack_modules__ = {
3
- "./constants" (module) {
4
- module.exports = require("./constants.cjs");
5
- },
6
3
  "./json" (module) {
7
4
  module.exports = require("./json.cjs");
8
5
  },
@@ -15,9 +12,6 @@ var __webpack_modules__ = {
15
12
  "./normalize" (module) {
16
13
  module.exports = require("./normalize.cjs");
17
14
  },
18
- "./synthesize" (module) {
19
- module.exports = require("./synthesize.cjs");
20
- },
21
15
  "./types" (module) {
22
16
  module.exports = require("./types.cjs");
23
17
  }
@@ -69,33 +63,25 @@ function __webpack_require__(moduleId) {
69
63
  var __webpack_exports__ = {};
70
64
  (()=>{
71
65
  __webpack_require__.r(__webpack_exports__);
72
- var _constants__rspack_import_0 = __webpack_require__("./constants");
73
- var __rspack_reexport = {};
74
- for(const __rspack_import_key in _constants__rspack_import_0)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_constants__rspack_import_0[__rspack_import_key];
75
- __webpack_require__.d(__webpack_exports__, __rspack_reexport);
76
- var _json__rspack_import_1 = __webpack_require__("./json");
77
- var __rspack_reexport = {};
78
- for(const __rspack_import_key in _json__rspack_import_1)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_json__rspack_import_1[__rspack_import_key];
79
- __webpack_require__.d(__webpack_exports__, __rspack_reexport);
80
- var _load__rspack_import_2 = __webpack_require__("./load");
66
+ var _json__rspack_import_0 = __webpack_require__("./json");
81
67
  var __rspack_reexport = {};
82
- for(const __rspack_import_key in _load__rspack_import_2)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_load__rspack_import_2[__rspack_import_key];
68
+ for(const __rspack_import_key in _json__rspack_import_0)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_json__rspack_import_0[__rspack_import_key];
83
69
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
84
- var _metadata__rspack_import_3 = __webpack_require__("./metadata");
70
+ var _load__rspack_import_1 = __webpack_require__("./load");
85
71
  var __rspack_reexport = {};
86
- for(const __rspack_import_key in _metadata__rspack_import_3)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_metadata__rspack_import_3[__rspack_import_key];
72
+ for(const __rspack_import_key in _load__rspack_import_1)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_load__rspack_import_1[__rspack_import_key];
87
73
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
88
- var _normalize__rspack_import_4 = __webpack_require__("./normalize");
74
+ var _metadata__rspack_import_2 = __webpack_require__("./metadata");
89
75
  var __rspack_reexport = {};
90
- for(const __rspack_import_key in _normalize__rspack_import_4)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_normalize__rspack_import_4[__rspack_import_key];
76
+ for(const __rspack_import_key in _metadata__rspack_import_2)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_metadata__rspack_import_2[__rspack_import_key];
91
77
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
92
- var _synthesize__rspack_import_5 = __webpack_require__("./synthesize");
78
+ var _normalize__rspack_import_3 = __webpack_require__("./normalize");
93
79
  var __rspack_reexport = {};
94
- for(const __rspack_import_key in _synthesize__rspack_import_5)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_synthesize__rspack_import_5[__rspack_import_key];
80
+ for(const __rspack_import_key in _normalize__rspack_import_3)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_normalize__rspack_import_3[__rspack_import_key];
95
81
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
96
- var _types__rspack_import_6 = __webpack_require__("./types");
82
+ var _types__rspack_import_4 = __webpack_require__("./types");
97
83
  var __rspack_reexport = {};
98
- for(const __rspack_import_key in _types__rspack_import_6)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_types__rspack_import_6[__rspack_import_key];
84
+ for(const __rspack_import_key in _types__rspack_import_4)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_types__rspack_import_4[__rspack_import_key];
99
85
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
100
86
  })();
101
87
  for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
@@ -37,25 +37,27 @@ var __webpack_require__ = {};
37
37
  var __webpack_exports__ = {};
38
38
  __webpack_require__.r(__webpack_exports__);
39
39
  __webpack_require__.d(__webpack_exports__, {
40
- readUltramodernConfig: ()=>readUltramodernConfig
40
+ readUltramodernConfig: ()=>readUltramodernConfig,
41
+ readUltramodernWorkspaceInputs: ()=>readUltramodernWorkspaceInputs
41
42
  });
42
- const external_node_fs_namespaceObject = require("node:fs");
43
- var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
44
43
  const external_node_path_namespaceObject = require("node:path");
45
44
  var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
46
- const descriptors_cjs_namespaceObject = require("../../ultramodern-workspace/descriptors.cjs");
47
- const external_constants_cjs_namespaceObject = require("./constants.cjs");
48
45
  const external_json_cjs_namespaceObject = require("./json.cjs");
49
46
  const external_normalize_cjs_namespaceObject = require("./normalize.cjs");
50
47
  function readUltramodernConfig(workspaceRoot = process.cwd()) {
51
- const compactPath = external_node_path_default().join(workspaceRoot, descriptors_cjs_namespaceObject.ULTRAMODERN_CONFIG_PATH);
52
- if (external_node_fs_default().existsSync(compactPath)) return (0, external_normalize_cjs_namespaceObject.normalizeCompactConfig)(workspaceRoot, compactPath, (0, external_json_cjs_namespaceObject.readJsonObject)(compactPath));
53
- if (external_node_fs_default().existsSync(external_node_path_default().join(workspaceRoot, external_constants_cjs_namespaceObject.LEGACY_GENERATED_CONTRACT_PATH))) throw new Error(`Missing ${descriptors_cjs_namespaceObject.ULTRAMODERN_CONFIG_PATH}. Legacy UltraModern metadata detected — run \`ultramodern-create ultramodern migrate-strict-effect\` to synthesize it.`);
54
- throw new Error(`Missing UltraModern config. Expected ${descriptors_cjs_namespaceObject.ULTRAMODERN_CONFIG_PATH}. Run \`ultramodern-create ultramodern migrate-strict-effect\` if you have legacy UltraModern metadata to migrate.`);
48
+ return readUltramodernWorkspaceInputs(workspaceRoot).config;
49
+ }
50
+ function readUltramodernWorkspaceInputs(workspaceRoot = process.cwd(), inputs = {}) {
51
+ return (0, external_normalize_cjs_namespaceObject.normalizeWorkspaceInputs)(workspaceRoot, {
52
+ topology: inputs.topology ?? (0, external_json_cjs_namespaceObject.readJsonObject)(external_node_path_default().join(workspaceRoot, 'topology/reference-topology.json')),
53
+ overlay: inputs.overlay ?? (0, external_json_cjs_namespaceObject.readJsonObject)(external_node_path_default().join(workspaceRoot, 'topology/local-overlays/development.json'))
54
+ });
55
55
  }
56
56
  exports.readUltramodernConfig = __webpack_exports__.readUltramodernConfig;
57
+ exports.readUltramodernWorkspaceInputs = __webpack_exports__.readUltramodernWorkspaceInputs;
57
58
  for(var __rspack_i in __webpack_exports__)if (-1 === [
58
- "readUltramodernConfig"
59
+ "readUltramodernConfig",
60
+ "readUltramodernWorkspaceInputs"
59
61
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
60
62
  Object.defineProperty(exports, '__esModule', {
61
63
  value: true
@@ -38,54 +38,56 @@ var __webpack_exports__ = {};
38
38
  __webpack_require__.r(__webpack_exports__);
39
39
  __webpack_require__.d(__webpack_exports__, {
40
40
  packageScopeFromRoot: ()=>packageScopeFromRoot,
41
- packageSourceFromMetadata: ()=>packageSourceFromMetadata,
42
- readOverlayPorts: ()=>readOverlayPorts
41
+ readWorkspacePackageSource: ()=>readWorkspacePackageSource
43
42
  });
44
43
  const external_node_fs_namespaceObject = require("node:fs");
45
44
  var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
46
45
  const external_node_path_namespaceObject = require("node:path");
47
46
  var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
48
- const external_constants_cjs_namespaceObject = require("./constants.cjs");
47
+ const utils_namespaceObject = require("@modern-js/utils");
49
48
  const external_json_cjs_namespaceObject = require("./json.cjs");
50
49
  function packageScopeFromRoot(workspaceRoot) {
51
50
  const rootPackage = (0, external_json_cjs_namespaceObject.readOptionalJsonObject)(external_node_path_default().join(workspaceRoot, 'package.json'));
52
51
  return 'string' == typeof rootPackage.name && rootPackage.name.length > 0 ? rootPackage.name : external_node_path_default().basename(workspaceRoot);
53
52
  }
54
- function packageSourceFromMetadata(workspaceRoot) {
55
- const metadataPath = external_node_path_default().join(workspaceRoot, external_constants_cjs_namespaceObject.LEGACY_PACKAGE_SOURCE_METADATA_PATH);
56
- if (!external_node_fs_default().existsSync(metadataPath)) return;
57
- const metadata = (0, external_json_cjs_namespaceObject.readJsonObject)(metadataPath);
58
- const aliases = metadata.modernPackages?.aliases ?? {};
59
- const firstAliasEntry = Object.entries(aliases).find((entry)=>'string' == typeof entry[1]);
60
- const firstPackage = firstAliasEntry?.[0];
61
- const firstAlias = firstAliasEntry?.[1];
62
- const aliasScope = firstAlias?.match(/^@([^/]+)\//u)?.[1];
63
- const unscopedName = firstPackage?.split('/').at(-1) ?? '';
64
- const aliasUnscopedName = firstAlias?.split('/').at(-1) ?? '';
65
- const aliasPackageNamePrefix = aliasUnscopedName && unscopedName && aliasUnscopedName.endsWith(unscopedName) ? aliasUnscopedName.slice(0, -unscopedName.length) : void 0;
53
+ function readWorkspacePackageSource(workspaceRoot) {
54
+ const manifest = (0, external_json_cjs_namespaceObject.readOptionalJsonObject)(external_node_path_default().join(workspaceRoot, 'package.json'));
55
+ const name = '@modern-js/ultramodern-create';
56
+ let request = manifest.devDependencies?.[name] ?? manifest.dependencies?.[name];
57
+ if ('string' != typeof request) throw new Error(`Missing ${name} dependency in package.json.`);
58
+ if (request.startsWith('catalog:')) {
59
+ const config = utils_namespaceObject.yaml.load(external_node_fs_default().readFileSync(external_node_path_default().join(workspaceRoot, 'pnpm-workspace.yaml'), 'utf8'));
60
+ const catalog = request.slice(8);
61
+ request = (catalog ? config.catalogs?.[catalog] : config.catalog)?.[name];
62
+ if ('string' != typeof request) throw new Error(`Missing ${name} in pnpm catalog ${catalog || 'default'}.`);
63
+ }
64
+ if (request.startsWith('workspace:')) return {
65
+ strategy: 'workspace',
66
+ modernPackageVersion: 'workspace:*'
67
+ };
68
+ const alias = /^npm:@([^/]+)\/([^@]+)@([^@]+)$/u.exec(request);
69
+ if (alias) {
70
+ const [, aliasScope, target, modernPackageVersion] = alias;
71
+ const suffix = 'ultramodern-create';
72
+ if (!target.endsWith(suffix)) throw new Error(`Unsupported framework package alias: ${request}.`);
73
+ return {
74
+ strategy: 'install',
75
+ modernPackageVersion,
76
+ aliasScope,
77
+ aliasPackageNamePrefix: target.slice(0, -suffix.length)
78
+ };
79
+ }
80
+ if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/u.test(request)) throw new Error(`Framework dependency must use an exact version or workspace source: ${request}.`);
66
81
  return {
67
- strategy: 'install' === metadata.strategy ? 'install' : 'workspace',
68
- modernPackageVersion: 'string' == typeof metadata.modernPackages?.specifier ? metadata.modernPackages.specifier : 'workspace:*',
69
- registry: 'string' == typeof metadata.modernPackages?.registry ? metadata.modernPackages.registry : void 0,
70
- aliasScope,
71
- aliasPackageNamePrefix
82
+ strategy: 'install',
83
+ modernPackageVersion: request
72
84
  };
73
85
  }
74
- function readOverlayPorts(workspaceRoot) {
75
- const overlayPath = external_node_path_default().join(workspaceRoot, external_constants_cjs_namespaceObject.LEGACY_DEVELOPMENT_OVERLAY_PATH);
76
- if (!external_node_fs_default().existsSync(overlayPath)) return {};
77
- const overlay = (0, external_json_cjs_namespaceObject.readJsonObject)(overlayPath);
78
- const ports = overlay.ports;
79
- if (null === ports || 'object' != typeof ports || Array.isArray(ports)) return {};
80
- return Object.fromEntries(Object.entries(ports).filter((entry)=>'number' == typeof entry[1]));
81
- }
82
86
  exports.packageScopeFromRoot = __webpack_exports__.packageScopeFromRoot;
83
- exports.packageSourceFromMetadata = __webpack_exports__.packageSourceFromMetadata;
84
- exports.readOverlayPorts = __webpack_exports__.readOverlayPorts;
87
+ exports.readWorkspacePackageSource = __webpack_exports__.readWorkspacePackageSource;
85
88
  for(var __rspack_i in __webpack_exports__)if (-1 === [
86
89
  "packageScopeFromRoot",
87
- "packageSourceFromMetadata",
88
- "readOverlayPorts"
90
+ "readWorkspacePackageSource"
89
91
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
90
92
  Object.defineProperty(exports, '__esModule', {
91
93
  value: true