@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
@@ -1,14 +1,5 @@
1
1
  "use strict";
2
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
3
  (()=>{
13
4
  __webpack_require__.d = (exports1, getters, values)=>{
14
5
  var define = (defs, kind)=>{
@@ -39,58 +30,29 @@ __webpack_require__.r(__webpack_exports__);
39
30
  __webpack_require__.d(__webpack_exports__, {
40
31
  planUltramodernVertical: ()=>planUltramodernVertical
41
32
  });
42
- const external_node_fs_namespaceObject = require("node:fs");
43
- var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
44
- const external_node_os_namespaceObject = require("node:os");
45
- var external_node_os_default = /*#__PURE__*/ __webpack_require__.n(external_node_os_namespaceObject);
46
- const external_node_path_namespaceObject = require("node:path");
47
- var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
48
33
  const external_ultramodern_package_source_cjs_namespaceObject = require("../../ultramodern-package-source.cjs");
49
- const rpc_cjs_namespaceObject = require("../api/rpc.cjs");
50
- const external_backend_federation_cjs_namespaceObject = require("../backend-federation.cjs");
51
34
  const external_descriptors_cjs_namespaceObject = require("../descriptors.cjs");
52
35
  const external_naming_cjs_namespaceObject = require("../naming.cjs");
53
- const external_constants_cjs_namespaceObject = require("./constants.cjs");
54
36
  const external_execute_cjs_namespaceObject = require("./execute.cjs");
55
37
  const external_preflight_cjs_namespaceObject = require("./preflight.cjs");
56
- const external_topology_cjs_namespaceObject = require("./topology.cjs");
38
+ const external_preview_cjs_namespaceObject = require("./preview.cjs");
39
+ const external_transaction_cjs_namespaceObject = require("./transaction.cjs");
57
40
  function planUltramodernVertical(options) {
58
41
  const preflight = (0, external_preflight_cjs_namespaceObject.prepareAddUltramodernVertical)(options);
59
- const tempRoot = external_node_fs_default().mkdtempSync(external_node_path_default().join(external_node_os_default().tmpdir(), 'um-vertical-plan-'));
60
- const copiedWorkspaceRoot = external_node_path_default().join(tempRoot, 'workspace');
61
- try {
62
- copyWorkspaceForPlan(options.workspaceRoot, copiedWorkspaceRoot);
63
- const plannedResult = (0, external_execute_cjs_namespaceObject.addUltramodernVertical)({
42
+ let jsonMutations = [];
43
+ const result = (0, external_transaction_cjs_namespaceObject.runWorkspaceTransaction)(options.workspaceRoot, (stagingRoot)=>(0, external_execute_cjs_namespaceObject.executeAddUltramodernVertical)({
64
44
  ...options,
65
- workspaceRoot: copiedWorkspaceRoot,
45
+ workspaceRoot: stagingRoot,
66
46
  overlays: void 0
67
- });
68
- return createVerticalPlan(preflight, {
69
- ...plannedResult,
70
- workspaceRoot: options.workspaceRoot
71
- });
72
- } finally{
73
- external_node_fs_default().rmSync(tempRoot, {
74
- recursive: true,
75
- force: true
76
- });
77
- }
78
- }
79
- function copyWorkspaceForPlan(workspaceRoot, copiedWorkspaceRoot) {
80
- const skippedDirectories = new Set([
81
- '.git',
82
- '.nx',
83
- '.output',
84
- 'coverage',
85
- 'dist',
86
- 'node_modules'
87
- ]);
88
- external_node_fs_default().cpSync(workspaceRoot, copiedWorkspaceRoot, {
89
- recursive: true,
90
- filter: (sourcePath)=>!skippedDirectories.has(external_node_path_default().basename(sourcePath))
47
+ }, options.workspaceRoot), {
48
+ mode: 'preview',
49
+ inspectChanges: (changes)=>{
50
+ jsonMutations = (0, external_preview_cjs_namespaceObject.describeJsonChanges)(changes);
51
+ }
91
52
  });
53
+ return createVerticalPlan(preflight, result, jsonMutations);
92
54
  }
93
- function createVerticalPlan(preflight, result) {
55
+ function createVerticalPlan(preflight, result, jsonMutations) {
94
56
  const { scope, vertical, targetShell, targetVerticals } = preflight;
95
57
  const manifestUrl = `http://localhost:${vertical.port}/mf-manifest.json`;
96
58
  return {
@@ -105,11 +67,11 @@ function createVerticalPlan(preflight, result) {
105
67
  ...vertical.api ? {
106
68
  apiPrefix: (0, external_descriptors_cjs_namespaceObject.resolveApiPrefix)(vertical)
107
69
  } : {},
108
- jsonMutations: createDryRunJsonMutations(preflight, manifestUrl),
70
+ jsonMutations,
109
71
  shellDependencyChanges: createShellDependencyChanges(scope, vertical, targetShell),
110
72
  generatedContractChanges: [
111
73
  {
112
- path: external_descriptors_cjs_namespaceObject.ULTRAMODERN_CONFIG_PATH,
74
+ path: 'topology/reference-topology.json',
113
75
  addedAppIds: [
114
76
  vertical.id
115
77
  ],
@@ -118,114 +80,6 @@ function createVerticalPlan(preflight, result) {
118
80
  ]
119
81
  };
120
82
  }
121
- function createDryRunJsonMutations(preflight, manifestUrl) {
122
- const { scope, vertical, targetShell, additionalShells } = preflight;
123
- const additionalShellIndex = additionalShells.findIndex((shell)=>shell.id === targetShell.id);
124
- const apiMutation = (0, external_descriptors_cjs_namespaceObject.appHasApi)(vertical) ? [
125
- {
126
- path: external_constants_cjs_namespaceObject.DEVELOPMENT_OVERLAY_PATH,
127
- pointer: `/apis/${vertical.id}`,
128
- description: `Add local API URL for ${vertical.id}`,
129
- value: `http://localhost:${vertical.port}${'rpc' === (0, external_descriptors_cjs_namespaceObject.resolveApiProtocol)(vertical) ? (0, rpc_cjs_namespaceObject.rpcPath)(vertical) : (0, external_descriptors_cjs_namespaceObject.resolveApiPrefix)(vertical)}`
130
- },
131
- {
132
- path: external_constants_cjs_namespaceObject.DEVELOPMENT_OVERLAY_PATH,
133
- pointer: `/serverExecution/${vertical.id}`,
134
- description: `Add local MicroVertical server execution metadata for ${vertical.id}`,
135
- value: (0, external_backend_federation_cjs_namespaceObject.createServerExecutionOverlay)(scope, vertical)
136
- }
137
- ] : [];
138
- const shellMutations = targetShell.id === external_descriptors_cjs_namespaceObject.shellApp.id ? [
139
- {
140
- path: external_constants_cjs_namespaceObject.TOPOLOGY_PATH,
141
- pointer: '/shell/verticalRefs/-',
142
- description: `Add ${vertical.id} to the ${targetShell.id} vertical references`,
143
- value: vertical.id
144
- },
145
- {
146
- path: external_constants_cjs_namespaceObject.TOPOLOGY_PATH,
147
- pointer: '/shell/moduleFederation/remotes/-',
148
- description: `Register ${vertical.id} as a Module Federation remote`,
149
- value: {
150
- id: vertical.id,
151
- name: vertical.mfName,
152
- manifestUrl
153
- }
154
- }
155
- ] : [
156
- {
157
- path: external_descriptors_cjs_namespaceObject.ULTRAMODERN_CONFIG_PATH,
158
- pointer: `/shells/${additionalShellIndex}/verticalRefs/-`,
159
- description: `Add ${vertical.id} to the ${targetShell.id} vertical references`,
160
- value: vertical.id
161
- },
162
- {
163
- path: external_descriptors_cjs_namespaceObject.ULTRAMODERN_CONFIG_PATH,
164
- pointer: `/shells/${additionalShellIndex}/moduleFederation/remotes`,
165
- description: `Regenerate ${targetShell.id} Module Federation remotes for ${vertical.id}`
166
- }
167
- ];
168
- return [
169
- ...(0, external_descriptors_cjs_namespaceObject.appEmitsBrowserUi)(vertical) ? shellMutations : [],
170
- {
171
- path: external_constants_cjs_namespaceObject.TOPOLOGY_PATH,
172
- pointer: '/verticals/-',
173
- description: `Add topology entry for ${vertical.id}`,
174
- value: (0, external_topology_cjs_namespaceObject.verticalTopologyEntry)(scope, vertical)
175
- },
176
- {
177
- path: external_constants_cjs_namespaceObject.OWNERSHIP_PATH,
178
- pointer: '/owners/-',
179
- description: `Add ownership entry for ${vertical.id}`,
180
- value: (0, external_topology_cjs_namespaceObject.ownershipEntry)(scope, vertical)
181
- },
182
- {
183
- path: external_constants_cjs_namespaceObject.DEVELOPMENT_OVERLAY_PATH,
184
- pointer: `/ports/${vertical.id}`,
185
- description: `Reserve development port ${vertical.port}`,
186
- value: vertical.port
187
- },
188
- ...(0, external_descriptors_cjs_namespaceObject.appEmitsBrowserUi)(vertical) ? [
189
- {
190
- path: external_constants_cjs_namespaceObject.DEVELOPMENT_OVERLAY_PATH,
191
- pointer: `/manifests/${vertical.id}`,
192
- description: `Add local Module Federation manifest URL for ${vertical.id}`,
193
- value: manifestUrl
194
- }
195
- ] : [],
196
- ...apiMutation,
197
- {
198
- path: 'package.json',
199
- pointer: "/scripts",
200
- description: "Regenerate workspace scripts for the new vertical set"
201
- },
202
- {
203
- path: `${targetShell.directory}/package.json`,
204
- pointer: '/dependencies',
205
- description: `Wire shell dependencies for ${vertical.id}`
206
- },
207
- {
208
- path: 'tsconfig.json',
209
- pointer: '/references',
210
- description: `Add ${vertical.id} to the root TS-Go build graph`
211
- },
212
- {
213
- path: `${targetShell.directory}/tsconfig.json`,
214
- pointer: '/references',
215
- description: `Add ${vertical.id} to the shell TS-Go project references`
216
- },
217
- {
218
- path: `${targetShell.directory}/tsconfig.mf-types.json`,
219
- pointer: '/include',
220
- description: 'Keep shell Module Federation DTS compilation scoped'
221
- },
222
- {
223
- path: external_descriptors_cjs_namespaceObject.ULTRAMODERN_CONFIG_PATH,
224
- pointer: '/topology/apps',
225
- description: `Regenerate compact config with ${vertical.id}`
226
- }
227
- ];
228
- }
229
83
  function createShellDependencyChanges(scope, vertical, shell) {
230
84
  return [
231
85
  ...(0, external_descriptors_cjs_namespaceObject.appEmitsBrowserUi)(vertical) ? [
@@ -39,8 +39,8 @@ __webpack_require__.r(__webpack_exports__);
39
39
  __webpack_require__.d(__webpack_exports__, {
40
40
  UnknownUltramodernShellError: ()=>UnknownUltramodernShellError,
41
41
  assertNonEmptyString: ()=>assertNonEmptyString,
42
- createPrimaryShellDescriptor: ()=>createPrimaryShellDescriptor,
43
- prepareAddUltramodernVertical: ()=>prepareAddUltramodernVertical
42
+ prepareAddUltramodernVertical: ()=>prepareAddUltramodernVertical,
43
+ readRequiredJsonObject: ()=>readRequiredJsonObject
44
44
  });
45
45
  const external_node_fs_namespaceObject = require("node:fs");
46
46
  var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
@@ -50,10 +50,8 @@ const config_cjs_namespaceObject = require("../../ultramodern-tooling/config.cjs
50
50
  const external_descriptors_cjs_namespaceObject = require("../descriptors.cjs");
51
51
  const external_fs_io_cjs_namespaceObject = require("../fs-io.cjs");
52
52
  const external_naming_cjs_namespaceObject = require("../naming.cjs");
53
- const external_shells_cjs_namespaceObject = require("../shells.cjs");
54
53
  const external_types_cjs_namespaceObject = require("../types.cjs");
55
54
  const external_constants_cjs_namespaceObject = require("./constants.cjs");
56
- const external_topology_cjs_namespaceObject = require("./topology.cjs");
57
55
  const external_workspace_state_cjs_namespaceObject = require("./workspace-state.cjs");
58
56
  class UnknownUltramodernShellError extends Error {
59
57
  constructor(sourcePath, requestedShellId, available){
@@ -77,30 +75,26 @@ function prepareAddUltramodernVertical(options) {
77
75
  const topology = readRequiredJsonObject(topologyPath);
78
76
  const ownership = readRequiredJsonObject(ownershipPath);
79
77
  const overlay = readRequiredJsonObject(overlayPath);
80
- const config = readRequiredWorkspaceConfig(options.workspaceRoot);
81
78
  assertOptionalJsonObject(topology.shell, 'topology.shell', topologyPath);
82
79
  assertOptionalJsonArray(topology.verticals, 'topology.verticals', topologyPath);
83
80
  assertOptionalJsonArray(ownership.owners, 'ownership.owners', ownershipPath);
84
81
  assertOptionalJsonObject(overlay.ports, 'overlay.ports', overlayPath);
85
82
  assertOptionalJsonObject(overlay.manifests, 'overlay.manifests', overlayPath);
86
83
  assertOptionalJsonObject(overlay.apis, 'overlay.apis', overlayPath);
84
+ const workspace = (0, config_cjs_namespaceObject.normalizeWorkspaceInputs)(options.workspaceRoot, {
85
+ topology,
86
+ overlay
87
+ });
88
+ const { packageSource, enableTailwind, bridge } = (0, external_workspace_state_cjs_namespaceObject.workspaceOperationSettings)(options, workspace.config);
87
89
  overlay.ports ??= {};
88
90
  const scope = (0, external_naming_cjs_namespaceObject.toPackageScope)(String(rootPackage.name ?? external_node_path_default().basename(options.workspaceRoot)));
89
- const packageSource = (0, external_workspace_state_cjs_namespaceObject.existingPackageSource)(options.workspaceRoot, options.modernVersion, options.packageSource);
90
- const enableTailwind = options.enableTailwind ?? (0, external_workspace_state_cjs_namespaceObject.existingTailwindEnabled)(options.workspaceRoot);
91
- const bridge = (0, external_workspace_state_cjs_namespaceObject.existingBridgeConfig)(options.workspaceRoot);
92
- const existingVerticals = (0, external_topology_cjs_namespaceObject.verticalsFromTopology)(topology, overlay.ports);
93
- const additionalShells = (0, external_shells_cjs_namespaceObject.resolveConfiguredAdditionalShells)(config);
94
- const primaryShell = createPrimaryShellDescriptor(topology, config);
95
- const primaryShellPort = 'number' == typeof overlay.ports[primaryShell.id] ? overlay.ports[primaryShell.id] : primaryShell.port;
96
- const resolvedPrimaryShell = {
97
- ...primaryShell,
98
- port: primaryShellPort
99
- };
100
- const targetShell = resolveTargetShell(options.shell, resolvedPrimaryShell, additionalShells, external_node_path_default().join(options.workspaceRoot, external_descriptors_cjs_namespaceObject.ULTRAMODERN_CONFIG_PATH));
91
+ const existingVerticals = workspace.verticals;
92
+ const additionalShells = workspace.additionalShells;
93
+ const resolvedPrimaryShell = workspace.primaryShell;
94
+ const targetShell = resolveTargetShell(options.shell, resolvedPrimaryShell, additionalShells, topologyPath);
101
95
  const portsWithPrimary = {
102
96
  ...overlay.ports,
103
- [primaryShell.id]: primaryShellPort
97
+ [resolvedPrimaryShell.id]: resolvedPrimaryShell.port
104
98
  };
105
99
  (0, external_workspace_state_cjs_namespaceObject.assertGlobalPortUniqueness)(portsWithPrimary, additionalShells);
106
100
  const port = (0, external_workspace_state_cjs_namespaceObject.nextAvailablePort)(portsWithPrimary, additionalShells);
@@ -133,7 +127,7 @@ function prepareAddUltramodernVertical(options) {
133
127
  ownershipPath,
134
128
  overlayPath,
135
129
  rootPackage,
136
- config,
130
+ config: workspace.config,
137
131
  topology,
138
132
  ownership,
139
133
  overlay,
@@ -154,32 +148,6 @@ function readRequiredJsonObject(filePath) {
154
148
  if (!(0, external_types_cjs_namespaceObject.isRecord)(value)) throw new Error(`UltraModern workspace file must contain a JSON object: ${filePath}`);
155
149
  return value;
156
150
  }
157
- function readRequiredWorkspaceConfig(workspaceRoot) {
158
- const compactPath = external_node_path_default().join(workspaceRoot, external_descriptors_cjs_namespaceObject.ULTRAMODERN_CONFIG_PATH);
159
- const config = readRequiredJsonObject(compactPath);
160
- (0, config_cjs_namespaceObject.normalizeCompactConfig)(workspaceRoot, compactPath, config);
161
- return config;
162
- }
163
- function createPrimaryShellDescriptor(topology, config) {
164
- const compactShell = config.topology?.apps?.find((app)=>app?.id === external_descriptors_cjs_namespaceObject.shellApp.id);
165
- const verticalRefs = Array.isArray(topology.shell?.verticalRefs) ? topology.shell.verticalRefs.filter((id)=>'string' == typeof id) : Array.isArray(compactShell?.moduleFederation?.verticalRefs) ? compactShell.moduleFederation.verticalRefs.filter((id)=>'string' == typeof id) : [];
166
- return {
167
- ...external_descriptors_cjs_namespaceObject.shellApp,
168
- verticalRefs,
169
- ...'string' == typeof compactShell?.path ? {
170
- directory: compactShell.path
171
- } : {},
172
- ...'number' == typeof compactShell?.port ? {
173
- port: compactShell.port
174
- } : {},
175
- ...'string' == typeof compactShell?.portEnv ? {
176
- portEnv: compactShell.portEnv
177
- } : {},
178
- ...'string' == typeof compactShell?.moduleFederation?.name ? {
179
- mfName: compactShell.moduleFederation.name
180
- } : {}
181
- };
182
- }
183
151
  function resolveTargetShell(requestedShellId, primaryShell, additionalShells, sourcePath) {
184
152
  if (void 0 === requestedShellId || requestedShellId === primaryShell.id) return primaryShell;
185
153
  const targetShell = additionalShells.find((shell)=>shell.id === requestedShellId);
@@ -243,13 +211,13 @@ function assertSafeOutputPath(relativePath, appId) {
243
211
  }
244
212
  exports.UnknownUltramodernShellError = __webpack_exports__.UnknownUltramodernShellError;
245
213
  exports.assertNonEmptyString = __webpack_exports__.assertNonEmptyString;
246
- exports.createPrimaryShellDescriptor = __webpack_exports__.createPrimaryShellDescriptor;
247
214
  exports.prepareAddUltramodernVertical = __webpack_exports__.prepareAddUltramodernVertical;
215
+ exports.readRequiredJsonObject = __webpack_exports__.readRequiredJsonObject;
248
216
  for(var __rspack_i in __webpack_exports__)if (-1 === [
249
217
  "UnknownUltramodernShellError",
250
218
  "assertNonEmptyString",
251
- "createPrimaryShellDescriptor",
252
- "prepareAddUltramodernVertical"
219
+ "prepareAddUltramodernVertical",
220
+ "readRequiredJsonObject"
253
221
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
254
222
  Object.defineProperty(exports, '__esModule', {
255
223
  value: true
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
13
+ };
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
17
+ })();
18
+ (()=>{
19
+ __webpack_require__.r = (exports1)=>{
20
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
21
+ value: 'Module'
22
+ });
23
+ Object.defineProperty(exports1, '__esModule', {
24
+ value: true
25
+ });
26
+ };
27
+ })();
28
+ var __webpack_exports__ = {};
29
+ __webpack_require__.r(__webpack_exports__);
30
+ __webpack_require__.d(__webpack_exports__, {
31
+ describeJsonChanges: ()=>describeJsonChanges
32
+ });
33
+ const external_node_util_namespaceObject = require("node:util");
34
+ function describeJsonChanges(changes) {
35
+ const mutations = [];
36
+ for (const change of changes){
37
+ if (!change.relativePath.endsWith('.json') || change.before?.symlink || change.after?.symlink) continue;
38
+ let before;
39
+ let after;
40
+ try {
41
+ before = change.before && JSON.parse(change.before.content.toString());
42
+ after = change.after && JSON.parse(change.after.content.toString());
43
+ } catch {
44
+ continue;
45
+ }
46
+ const visit = (previous, next, pointer)=>{
47
+ if ((0, external_node_util_namespaceObject.isDeepStrictEqual)(previous, next)) return;
48
+ if (Array.isArray(previous) && Array.isArray(next) && previous.every((value, index)=>(0, external_node_util_namespaceObject.isDeepStrictEqual)(value, next[index])) && next.length >= previous.length) {
49
+ for (const value of next.slice(previous.length))visit(void 0, value, `${pointer}/-`);
50
+ return;
51
+ }
52
+ if (previous && next && 'object' == typeof previous && 'object' == typeof next && !Array.isArray(previous) && !Array.isArray(next)) {
53
+ for (const key of new Set([
54
+ ...Object.keys(previous),
55
+ ...Object.keys(next)
56
+ ]))visit(previous[key], next[key], `${pointer}/${key.replaceAll('~', '~0').replaceAll('/', '~1')}`);
57
+ return;
58
+ }
59
+ mutations.push({
60
+ path: change.relativePath,
61
+ pointer,
62
+ description: `${void 0 === next ? 'Remove' : void 0 === previous ? 'Add' : 'Update'} ${pointer || 'document'}`,
63
+ ...void 0 === next ? {} : {
64
+ value: next
65
+ }
66
+ });
67
+ };
68
+ visit(before, after, '');
69
+ }
70
+ return mutations;
71
+ }
72
+ exports.describeJsonChanges = __webpack_exports__.describeJsonChanges;
73
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
74
+ "describeJsonChanges"
75
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
76
+ Object.defineProperty(exports, '__esModule', {
77
+ value: true
78
+ });
@@ -40,6 +40,8 @@ __webpack_require__.d(__webpack_exports__, {
40
40
  rewriteShellAppFiles: ()=>rewriteShellAppFiles,
41
41
  updateRootWorkspaceScripts: ()=>updateRootWorkspaceScripts
42
42
  });
43
+ const external_node_fs_namespaceObject = require("node:fs");
44
+ var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
43
45
  const external_node_path_namespaceObject = require("node:path");
44
46
  var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
45
47
  const external_api_cjs_namespaceObject = require("../api.cjs");
@@ -51,14 +53,22 @@ const external_locales_cjs_namespaceObject = require("../locales.cjs");
51
53
  const external_module_federation_cjs_namespaceObject = require("../module-federation.cjs");
52
54
  const external_package_json_cjs_namespaceObject = require("../package-json.cjs");
53
55
  const external_public_surface_cjs_namespaceObject = require("../public-surface.cjs");
54
- function updateRootWorkspaceScripts(workspaceRoot, scope, packageSource, remotes, bridge, additionalShells = []) {
56
+ const external_workspace_artifact_ownership_cjs_namespaceObject = require("../workspace-artifact-ownership.cjs");
57
+ function updateRootWorkspaceScripts(workspaceRoot, scope, packageSource, remotes, bridge, additionalShells = [], previousRemotes = remotes, _primaryShell = external_descriptors_cjs_namespaceObject.shellApp, previousAdditionalShells = additionalShells) {
55
58
  const packagePath = external_node_path_default().join(workspaceRoot, 'package.json');
56
59
  const rootPackage = (0, external_fs_io_cjs_namespaceObject.readJsonFile)(packagePath);
57
60
  const generatedRootPackage = (0, external_package_json_cjs_namespaceObject.createRootPackageJson)(scope, packageSource, remotes, bridge, additionalShells);
58
- rootPackage.scripts = generatedRootPackage.scripts;
61
+ const previousRootPackage = (0, external_package_json_cjs_namespaceObject.createRootPackageJson)(scope, packageSource, previousRemotes, bridge, previousAdditionalShells);
62
+ const existingScripts = rootPackage.scripts ?? {};
63
+ rootPackage.scripts = {
64
+ ...generatedRootPackage.scripts,
65
+ ...existingScripts
66
+ };
67
+ if (existingScripts.dev === previousRootPackage.scripts.dev) rootPackage.scripts.dev = generatedRootPackage.scripts.dev;
68
+ for (const [name, command] of Object.entries(generatedRootPackage.scripts))if (void 0 === existingScripts[name] || existingScripts[name] === previousRootPackage.scripts[name]) rootPackage.scripts[name] = command;
59
69
  (0, external_fs_io_cjs_namespaceObject.writeJsonFile)(packagePath, rootPackage);
60
70
  }
61
- function rewriteShellAppFiles(workspaceRoot, scope, packageSource, enableTailwind, remotes, bridge, shell = external_descriptors_cjs_namespaceObject.shellApp, devPorts) {
71
+ function shellAppArtifacts(scope, packageSource, enableTailwind, remotes, bridge, shell, devPorts) {
62
72
  const shellHost = {
63
73
  ...shell,
64
74
  verticalRefs: shell.verticalRefs ?? remotes.filter(external_descriptors_cjs_namespaceObject.appEmitsBrowserUi).map((remote)=>remote.id)
@@ -66,27 +76,80 @@ function rewriteShellAppFiles(workspaceRoot, scope, packageSource, enableTailwin
66
76
  const shellRemotes = (0, external_descriptors_cjs_namespaceObject.resolveRemoteRefs)(shellHost, remotes);
67
77
  const uiRemotes = shellRemotes.filter(external_descriptors_cjs_namespaceObject.appEmitsBrowserUi);
68
78
  const publicWeb = (0, external_public_surface_cjs_namespaceObject.createPublicWebAppArtifacts)(shellHost);
69
- (0, external_fs_io_cjs_namespaceObject.writeJsonFile)(external_node_path_default().join(workspaceRoot, `${shellHost.directory}/package.json`), (0, external_package_json_cjs_namespaceObject.createAppPackage)(scope, shellHost, packageSource, enableTailwind, remotes, bridge));
70
- (0, external_fs_io_cjs_namespaceObject.writeJsonFile)(external_node_path_default().join(workspaceRoot, `${shellHost.directory}/tsconfig.json`), (0, external_package_json_cjs_namespaceObject.createAppTsConfig)(shellHost, shellRemotes));
71
- (0, external_fs_io_cjs_namespaceObject.writeJsonFile)(external_node_path_default().join(workspaceRoot, `${shellHost.directory}/tsconfig.mf-types.json`), (0, external_package_json_cjs_namespaceObject.createAppMfTypesTsConfig)(shellHost));
72
- (0, external_fs_io_cjs_namespaceObject.writeFileReplacing)(workspaceRoot, `${shellHost.directory}/src/modern-app-env.d.ts`, (0, external_app_files_cjs_namespaceObject.createAppEnvDts)(shellHost, shellRemotes, scope));
73
- (0, external_fs_io_cjs_namespaceObject.writeFileReplacing)(workspaceRoot, `${shellHost.directory}/modern.config.ts`, (0, external_module_federation_cjs_namespaceObject.createAppModernConfig)(scope, shellHost, shellRemotes, enableTailwind, devPorts));
74
- (0, external_fs_io_cjs_namespaceObject.writeFileReplacing)(workspaceRoot, publicWeb.jsonLdHelperFile.path, publicWeb.jsonLdHelperFile.content);
75
- (0, external_fs_io_cjs_namespaceObject.writeFileReplacing)(workspaceRoot, publicWeb.routeMetadataFile.path, publicWeb.routeMetadataFile.content);
76
- (0, external_fs_io_cjs_namespaceObject.writeFileReplacing)(workspaceRoot, publicWeb.routeHeadFile.path, publicWeb.routeHeadFile.content);
77
- for (const generatedFile of publicWeb.routeMetaFiles)(0, external_fs_io_cjs_namespaceObject.writeFileReplacing)(workspaceRoot, generatedFile.path, generatedFile.content);
78
- (0, external_public_surface_cjs_namespaceObject.rewriteWorkspaceAssetsForApp)(workspaceRoot, shellHost);
79
- (0, external_fs_io_cjs_namespaceObject.writeFileReplacing)(workspaceRoot, `${shellHost.directory}/src/modern.runtime.ts`, (0, external_app_files_cjs_namespaceObject.createAppRuntimeConfig)(shellHost, scope, shellRemotes));
80
- (0, external_fs_io_cjs_namespaceObject.writeJsonFile)(external_node_path_default().join(workspaceRoot, `${shellHost.directory}/locales/en/translation.json`), (0, external_locales_cjs_namespaceObject.createAppPublicLocaleMessages)(shellHost, 'en', shellRemotes));
81
- (0, external_fs_io_cjs_namespaceObject.writeJsonFile)(external_node_path_default().join(workspaceRoot, `${shellHost.directory}/locales/en/${(0, external_descriptors_cjs_namespaceObject.appI18nNamespace)(shellHost)}.json`), (0, external_locales_cjs_namespaceObject.createAppPublicLocaleMessages)(shellHost, 'en', shellRemotes));
82
- (0, external_fs_io_cjs_namespaceObject.writeJsonFile)(external_node_path_default().join(workspaceRoot, `${shellHost.directory}/locales/cs/translation.json`), (0, external_locales_cjs_namespaceObject.createAppPublicLocaleMessages)(shellHost, 'cs', shellRemotes));
83
- (0, external_fs_io_cjs_namespaceObject.writeJsonFile)(external_node_path_default().join(workspaceRoot, `${shellHost.directory}/locales/cs/${(0, external_descriptors_cjs_namespaceObject.appI18nNamespace)(shellHost)}.json`), (0, external_locales_cjs_namespaceObject.createAppPublicLocaleMessages)(shellHost, 'cs', shellRemotes));
84
- (0, external_fs_io_cjs_namespaceObject.writeFileReplacing)(workspaceRoot, `${shellHost.directory}/module-federation.config.ts`, (0, external_module_federation_cjs_namespaceObject.createShellModuleFederationConfig)(scope, shellHost, shellRemotes));
85
- (0, external_fs_io_cjs_namespaceObject.writeFileReplacing)(workspaceRoot, `${shellHost.directory}/src/routes/[lang]/page.tsx`, (0, external_demo_components_cjs_namespaceObject.createShellPage)(shellHost, uiRemotes));
86
- (0, external_fs_io_cjs_namespaceObject.writeFileReplacing)(workspaceRoot, `${shellHost.directory}/src/routes/vertical-components.tsx`, (0, external_demo_components_cjs_namespaceObject.createShellRemoteComponents)(shellHost, uiRemotes));
87
- (0, external_fs_io_cjs_namespaceObject.writeFileReplacing)(workspaceRoot, `${shellHost.directory}/src/routes/vertical-components.worker.tsx`, (0, external_demo_components_cjs_namespaceObject.createShellWorkerRemoteComponents)(shellHost, uiRemotes));
88
- (0, external_fs_io_cjs_namespaceObject.writeFileReplacing)(workspaceRoot, `${shellHost.directory}/src/routes/shell-frame.tsx`, (0, external_app_files_cjs_namespaceObject.createShellFrameComponent)(shellHost));
89
- (0, external_fs_io_cjs_namespaceObject.writeFileReplacing)(workspaceRoot, `${shellHost.directory}/src/api/vertical-clients.ts`, (0, external_api_cjs_namespaceObject.createShellApiClient)(scope, remotes));
79
+ const json = (value)=>`${JSON.stringify(value, null, 2)}\n`;
80
+ const files = {
81
+ [`${shellHost.directory}/tsconfig.json`]: json((0, external_package_json_cjs_namespaceObject.createAppTsConfig)(shellHost, shellRemotes)),
82
+ [`${shellHost.directory}/tsconfig.mf-types.json`]: json((0, external_package_json_cjs_namespaceObject.createAppMfTypesTsConfig)(shellHost)),
83
+ [`${shellHost.directory}/src/modern-app-env.d.ts`]: (0, external_app_files_cjs_namespaceObject.createAppEnvDts)(shellHost, shellRemotes, scope),
84
+ [`${shellHost.directory}/modern.config.ts`]: (0, external_module_federation_cjs_namespaceObject.createAppModernConfig)(scope, shellHost, shellRemotes, enableTailwind, devPorts),
85
+ [publicWeb.jsonLdHelperFile.path]: publicWeb.jsonLdHelperFile.content,
86
+ [publicWeb.routeMetadataFile.path]: publicWeb.routeMetadataFile.content,
87
+ [publicWeb.routeHeadFile.path]: publicWeb.routeHeadFile.content,
88
+ ...Object.fromEntries(publicWeb.routeMetaFiles.map((file)=>[
89
+ file.path,
90
+ file.content
91
+ ])),
92
+ [`${shellHost.directory}/src/modern.runtime.ts`]: (0, external_app_files_cjs_namespaceObject.createAppRuntimeConfig)(shellHost, scope, shellRemotes),
93
+ ...Object.fromEntries([
94
+ 'en',
95
+ 'cs'
96
+ ].flatMap((language)=>[
97
+ 'translation',
98
+ (0, external_descriptors_cjs_namespaceObject.appI18nNamespace)(shellHost)
99
+ ].map((namespace)=>[
100
+ `${shellHost.directory}/locales/${language}/${namespace}.json`,
101
+ json((0, external_locales_cjs_namespaceObject.createAppPublicLocaleMessages)(shellHost, language, shellRemotes))
102
+ ]))),
103
+ [`${shellHost.directory}/module-federation.config.ts`]: (0, external_module_federation_cjs_namespaceObject.createShellModuleFederationConfig)(scope, shellHost, shellRemotes),
104
+ [`${shellHost.directory}/src/routes/[lang]/page.tsx`]: (0, external_demo_components_cjs_namespaceObject.createShellPage)(shellHost, uiRemotes),
105
+ [`${shellHost.directory}/src/routes/vertical-components.tsx`]: (0, external_demo_components_cjs_namespaceObject.createShellRemoteComponents)(shellHost, uiRemotes),
106
+ [`${shellHost.directory}/src/routes/vertical-components.worker.tsx`]: (0, external_demo_components_cjs_namespaceObject.createShellWorkerRemoteComponents)(shellHost, uiRemotes),
107
+ [`${shellHost.directory}/src/routes/shell-frame.tsx`]: (0, external_app_files_cjs_namespaceObject.createShellFrameComponent)(shellHost),
108
+ [`${shellHost.directory}/src/api/vertical-clients.ts`]: (0, external_api_cjs_namespaceObject.createShellApiClient)(scope, remotes)
109
+ };
110
+ return {
111
+ shellHost,
112
+ packageJson: (0, external_package_json_cjs_namespaceObject.createAppPackage)(scope, shellHost, packageSource, enableTailwind, remotes, bridge),
113
+ artifacts: Object.entries(files).map(([relativePath, content])=>({
114
+ relativePath,
115
+ content
116
+ }))
117
+ };
118
+ }
119
+ function rewriteShellAppFiles(workspaceRoot, scope, packageSource, enableTailwind, remotes, bridge, shell = external_descriptors_cjs_namespaceObject.shellApp, devPorts, previous = {
120
+ shell,
121
+ remotes,
122
+ devPorts
123
+ }) {
124
+ const before = shellAppArtifacts(scope, packageSource, previous.enableTailwind ?? enableTailwind, previous.remotes, bridge, previous.shell, previous.devPorts);
125
+ const next = shellAppArtifacts(scope, packageSource, enableTailwind, remotes, bridge, shell, devPorts);
126
+ const { io } = (0, external_workspace_artifact_ownership_cjs_namespaceObject.preserveConsumerWorkspaceArtifacts)(workspaceRoot, before.artifacts);
127
+ for (const artifact of next.artifacts)io.write(external_node_path_default().join(workspaceRoot, artifact.relativePath), artifact.content);
128
+ const packagePath = external_node_path_default().join(workspaceRoot, shell.directory, 'package.json');
129
+ const existing = external_node_fs_default().existsSync(packagePath) ? (0, external_fs_io_cjs_namespaceObject.readJsonFile)(packagePath) : {};
130
+ const packageJson = {
131
+ ...next.packageJson,
132
+ ...existing,
133
+ 'zephyr:dependencies': {
134
+ ...next.packageJson['zephyr:dependencies'],
135
+ ...Object.fromEntries(Object.entries(existing['zephyr:dependencies'] ?? {}).filter(([key, value])=>before.packageJson['zephyr:dependencies']?.[key] !== value))
136
+ },
137
+ dependencies: {
138
+ ...next.packageJson.dependencies,
139
+ ...existing.dependencies
140
+ },
141
+ devDependencies: {
142
+ ...next.packageJson.devDependencies,
143
+ ...existing.devDependencies
144
+ },
145
+ scripts: {
146
+ ...next.packageJson.scripts,
147
+ ...existing.scripts
148
+ }
149
+ };
150
+ for (const [name, command] of Object.entries(next.packageJson.scripts))if (existing.scripts?.[name] === void 0 || existing.scripts[name] === before.packageJson.scripts?.[name]) packageJson.scripts[name] = command;
151
+ (0, external_fs_io_cjs_namespaceObject.writeJsonFile)(packagePath, packageJson);
152
+ (0, external_public_surface_cjs_namespaceObject.rewriteWorkspaceAssetsForApp)(workspaceRoot, next.shellHost);
90
153
  }
91
154
  exports.rewriteShellAppFiles = __webpack_exports__.rewriteShellAppFiles;
92
155
  exports.updateRootWorkspaceScripts = __webpack_exports__.updateRootWorkspaceScripts;
@@ -115,6 +115,9 @@ function verticalsFromTopology(topology, ports) {
115
115
  portEnv: `VERTICAL_${(0, external_naming_cjs_namespaceObject.toEnvSegment)(domain)}_PORT`,
116
116
  port: 'number' == typeof ports[vertical.id] ? ports[vertical.id] : 0,
117
117
  mfName: vertical.moduleFederation?.name ?? `vertical${(0, external_naming_cjs_namespaceObject.toPascalCase)(domain)}`,
118
+ ...vertical.deliveryUnit ? {
119
+ deliveryUnit: vertical.deliveryUnit
120
+ } : {},
118
121
  ...void 0 === surfaceProfile ? {} : {
119
122
  surfaceProfile
120
123
  },
@@ -124,7 +127,7 @@ function verticalsFromTopology(topology, ports) {
124
127
  ...Array.isArray(vertical.moduleFederation?.exposes) ? {
125
128
  exposes: Object.fromEntries(vertical.moduleFederation.exposes.map((expose)=>[
126
129
  expose,
127
- './Route' === expose ? './src/federation-entry.tsx' : './Widget' === expose ? `./src/components/${domain}-widget.tsx` : ''
130
+ vertical.moduleFederation?.exposePaths?.[expose] ?? ('./Route' === expose ? './src/federation-entry.tsx' : './Widget' === expose ? `./src/components/${domain}-widget.tsx` : '')
128
131
  ]))
129
132
  } : {},
130
133
  ...Array.isArray(vertical.moduleFederation?.verticalRefs) ? {