@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
@@ -28,8 +28,8 @@ var __webpack_require__ = {};
28
28
  var __webpack_exports__ = {};
29
29
  __webpack_require__.r(__webpack_exports__);
30
30
  __webpack_require__.d(__webpack_exports__, {
31
- BACKEND_FEDERATION_CONTRACT_VERSION: ()=>universal_namespaceObject.BACKEND_FEDERATION_CONTRACT_VERSION,
32
- BACKEND_FEDERATION_NODE_ADAPTER_VERSION: ()=>universal_namespaceObject.BACKEND_FEDERATION_NODE_ADAPTER_VERSION,
31
+ BACKEND_FEDERATION_CONTRACT_VERSION: ()=>backend_federation_contracts_namespaceObject.BACKEND_FEDERATION_CONTRACT_VERSION,
32
+ BACKEND_FEDERATION_NODE_ADAPTER_VERSION: ()=>backend_federation_contracts_namespaceObject.BACKEND_FEDERATION_NODE_ADAPTER_VERSION,
33
33
  createBackendFederationContract: ()=>createBackendFederationContract,
34
34
  createBackendFederationContractFile: ()=>createBackendFederationContractFile,
35
35
  createBackendFederationMetadata: ()=>createBackendFederationMetadata,
@@ -39,7 +39,7 @@ __webpack_require__.d(__webpack_exports__, {
39
39
  createWorkerBindingEnv: ()=>createWorkerBindingEnv,
40
40
  createWorkerBindingName: ()=>createWorkerBindingName
41
41
  });
42
- const universal_namespaceObject = require("@modern-js/utils/universal");
42
+ const backend_federation_contracts_namespaceObject = require("@modern-js/backend-federation-contracts");
43
43
  const external_api_cjs_namespaceObject = require("./api.cjs");
44
44
  const rpc_cjs_namespaceObject = require("./api/rpc.cjs");
45
45
  const external_delivery_unit_cjs_namespaceObject = require("./delivery-unit.cjs");
@@ -66,14 +66,14 @@ function createEffectExpose(app) {
66
66
  if ('rpc' === (0, external_descriptors_cjs_namespaceObject.resolveApiProtocol)(app)) return {
67
67
  contract: `${app.directory}/shared/rpc.ts`,
68
68
  runtime: `${app.directory}/api/index.ts`,
69
- client: `${app.directory}/src/api/${app.api.stem}-rpc-client.ts`,
69
+ client: `${app.directory}/${'api-only' === app.surfaceProfile ? 'shared' : 'src/api'}/${app.api.stem}-rpc-client.ts`,
70
70
  rpc: (0, rpc_cjs_namespaceObject.rpcPath)(app),
71
71
  serialization: 'json'
72
72
  };
73
73
  return {
74
74
  contract: `${app.directory}/shared/api.ts`,
75
75
  runtime: `${app.directory}/api/index.ts`,
76
- client: `${app.directory}/src/api/${app.api.stem}-client.ts`,
76
+ client: `${app.directory}/${'api-only' === app.surfaceProfile ? 'shared' : 'src/api'}/${app.api.stem}-client.ts`,
77
77
  openapi: `${app.api.prefix}/openapi.json`,
78
78
  readiness: `${app.api.prefix}/${apiStem}/readiness`
79
79
  };
@@ -118,14 +118,14 @@ function createCloudflareExecutionSurface(scope, app) {
118
118
  function createNodeExecutionSurface(app, deliveryUnit) {
119
119
  return {
120
120
  kind: 'node-mf-runtime',
121
- adapterVersion: universal_namespaceObject.BACKEND_FEDERATION_NODE_ADAPTER_VERSION,
121
+ adapterVersion: backend_federation_contracts_namespaceObject.BACKEND_FEDERATION_NODE_ADAPTER_VERSION,
122
122
  remoteName: (0, external_descriptors_cjs_namespaceObject.createBackendFederationName)(app),
123
123
  manifestEnv: (0, external_descriptors_cjs_namespaceObject.createBackendFederationManifestEnv)(app),
124
124
  manifestUrl: (0, external_descriptors_cjs_namespaceObject.createBackendFederationManifestUrl)(app),
125
125
  containerEntry: (0, external_descriptors_cjs_namespaceObject.createBackendFederationContainerEntry)(app),
126
126
  remoteType: 'commonjs-module',
127
- expose: universal_namespaceObject.BACKEND_FEDERATION_EFFECT_EXPOSE,
128
- runtimePackage: '@modern-js/plugin-bff/effect',
127
+ expose: backend_federation_contracts_namespaceObject.BACKEND_FEDERATION_EFFECT_EXPOSE,
128
+ runtimePackage: '@modern-js/plugin-bff-extensions/backend-federation-manifest/node',
129
129
  ...deliveryUnit ? {
130
130
  expected: {
131
131
  unitId: deliveryUnit.unitId,
@@ -160,7 +160,7 @@ function createBackendFederationContract(scope, app) {
160
160
  strictEffectApproach: true,
161
161
  deliveryUnit: (0, external_delivery_unit_cjs_namespaceObject.deliveryUnitContractBlock)(deliveryUnit),
162
162
  exposes: {
163
- [universal_namespaceObject.BACKEND_FEDERATION_EFFECT_EXPOSE]: createEffectExpose(app)
163
+ [backend_federation_contracts_namespaceObject.BACKEND_FEDERATION_EFFECT_EXPOSE]: createEffectExpose(app)
164
164
  },
165
165
  versionBoundary: {
166
166
  invariant: 'web-and-api-same-build',
@@ -189,7 +189,7 @@ function createBackendFederationContract(scope, app) {
189
189
  node: createNodeExecutionSurface(app, deliveryUnit)
190
190
  },
191
191
  compatibility: {
192
- contractVersion: universal_namespaceObject.BACKEND_FEDERATION_CONTRACT_VERSION,
192
+ contractVersion: backend_federation_contracts_namespaceObject.BACKEND_FEDERATION_CONTRACT_VERSION,
193
193
  packageName: (0, external_naming_cjs_namespaceObject.packageName)(scope, app.packageSuffix),
194
194
  effectVersion: external_versions_cjs_namespaceObject.EFFECT_VERSION,
195
195
  moduleFederationVersion: external_versions_cjs_namespaceObject.MODULE_FEDERATION_VERSION
@@ -206,29 +206,29 @@ function createBackendFederationContract(scope, app) {
206
206
  strategy: 'typed-effect-error'
207
207
  }
208
208
  };
209
- const validation = (0, universal_namespaceObject.validateBackendFederationMetadata)(contract, {
209
+ const validation = (0, backend_federation_contracts_namespaceObject.validateBackendFederationMetadata)(contract, {
210
210
  path: `${app.id}.backendFederation`,
211
211
  requireEffectExpose: true,
212
212
  requireEffectRuntime: true,
213
213
  requireVersionFields: true
214
214
  });
215
- if (!validation.ok) throw new Error(`Backend federation contract invalid for ${app.id}: ${(0, universal_namespaceObject.formatBackendFederationValidationErrors)(validation.errors)}.`);
215
+ if (!validation.ok) throw new Error(`Backend federation contract invalid for ${app.id}: ${(0, backend_federation_contracts_namespaceObject.formatBackendFederationValidationErrors)(validation.errors)}.`);
216
216
  return contract;
217
217
  }
218
218
  function createBackendFederationMetadata(scope, app) {
219
219
  if (!(0, external_descriptors_cjs_namespaceObject.appHasApi)(app)) return;
220
220
  const rpc = 'rpc' === (0, external_descriptors_cjs_namespaceObject.resolveApiProtocol)(app);
221
221
  return {
222
- contractVersion: universal_namespaceObject.BACKEND_FEDERATION_CONTRACT_VERSION,
222
+ contractVersion: backend_federation_contracts_namespaceObject.BACKEND_FEDERATION_CONTRACT_VERSION,
223
223
  deliveryUnit: (0, external_delivery_unit_cjs_namespaceObject.deliveryUnitContractBlock)((0, external_delivery_unit_cjs_namespaceObject.createDeliveryUnitRecord)(scope, app)),
224
224
  executionSurfaces: [
225
225
  'node-mf-runtime'
226
226
  ],
227
227
  exposes: [
228
- universal_namespaceObject.BACKEND_FEDERATION_EFFECT_EXPOSE
228
+ backend_federation_contracts_namespaceObject.BACKEND_FEDERATION_EFFECT_EXPOSE
229
229
  ],
230
230
  name: (0, external_descriptors_cjs_namespaceObject.createBackendFederationName)(app),
231
- nodeAdapterVersion: universal_namespaceObject.BACKEND_FEDERATION_NODE_ADAPTER_VERSION,
231
+ nodeAdapterVersion: backend_federation_contracts_namespaceObject.BACKEND_FEDERATION_NODE_ADAPTER_VERSION,
232
232
  ...rpc ? {
233
233
  rpcPath: (0, rpc_cjs_namespaceObject.rpcPath)(app),
234
234
  rpcSerialization: 'json'
@@ -251,20 +251,20 @@ function createBackendFederationContractFile(app) {
251
251
  export const backendFederationContract = {
252
252
  compatibility: {
253
253
  build: ultramodernApiMarker.build,
254
- contractVersion: '${universal_namespaceObject.BACKEND_FEDERATION_CONTRACT_VERSION}',
255
- nodeAdapterVersion: '${universal_namespaceObject.BACKEND_FEDERATION_NODE_ADAPTER_VERSION}',
254
+ contractVersion: '${backend_federation_contracts_namespaceObject.BACKEND_FEDERATION_CONTRACT_VERSION}',
255
+ nodeAdapterVersion: '${backend_federation_contracts_namespaceObject.BACKEND_FEDERATION_NODE_ADAPTER_VERSION}',
256
256
  packageName: ultramodernApiMarker.packageName,
257
257
  sourceRevision: ultramodernApiMarker.sourceRevision,
258
258
  unitId: ultramodernApiMarker.unitId,
259
259
  },
260
- contractVersion: '${universal_namespaceObject.BACKEND_FEDERATION_CONTRACT_VERSION}',
260
+ contractVersion: '${backend_federation_contracts_namespaceObject.BACKEND_FEDERATION_CONTRACT_VERSION}',
261
261
  executionSurfaces: ['node-mf-runtime'],
262
- exposes: ['${universal_namespaceObject.BACKEND_FEDERATION_EFFECT_EXPOSE}'],
262
+ exposes: ['${backend_federation_contracts_namespaceObject.BACKEND_FEDERATION_EFFECT_EXPOSE}'],
263
263
  name: '${(0, external_descriptors_cjs_namespaceObject.createBackendFederationName)(app)}',
264
- nodeAdapterVersion: '${universal_namespaceObject.BACKEND_FEDERATION_NODE_ADAPTER_VERSION}',
264
+ nodeAdapterVersion: '${backend_federation_contracts_namespaceObject.BACKEND_FEDERATION_NODE_ADAPTER_VERSION}',
265
+ role: 'microvertical-server',
265
266
  rpcPath: '${(0, rpc_cjs_namespaceObject.rpcPath)(app)}',
266
267
  rpcSerialization: 'json',
267
- role: 'microvertical-server',
268
268
  runtimeFramework: 'effect',
269
269
  strictEffectApproach: true,
270
270
  } as const;
@@ -284,17 +284,17 @@ export {
284
284
  export const backendFederationContract = {
285
285
  compatibility: {
286
286
  build: ultramodernApiMarker.build,
287
- contractVersion: '${universal_namespaceObject.BACKEND_FEDERATION_CONTRACT_VERSION}',
288
- nodeAdapterVersion: '${universal_namespaceObject.BACKEND_FEDERATION_NODE_ADAPTER_VERSION}',
287
+ contractVersion: '${backend_federation_contracts_namespaceObject.BACKEND_FEDERATION_CONTRACT_VERSION}',
288
+ nodeAdapterVersion: '${backend_federation_contracts_namespaceObject.BACKEND_FEDERATION_NODE_ADAPTER_VERSION}',
289
289
  packageName: ultramodernApiMarker.packageName,
290
290
  sourceRevision: ultramodernApiMarker.sourceRevision,
291
291
  unitId: ultramodernApiMarker.unitId,
292
292
  },
293
- contractVersion: '${universal_namespaceObject.BACKEND_FEDERATION_CONTRACT_VERSION}',
293
+ contractVersion: '${backend_federation_contracts_namespaceObject.BACKEND_FEDERATION_CONTRACT_VERSION}',
294
294
  executionSurfaces: ['node-mf-runtime'],
295
- exposes: ['${universal_namespaceObject.BACKEND_FEDERATION_EFFECT_EXPOSE}'],
295
+ exposes: ['${backend_federation_contracts_namespaceObject.BACKEND_FEDERATION_EFFECT_EXPOSE}'],
296
296
  name: '${(0, external_descriptors_cjs_namespaceObject.createBackendFederationName)(app)}',
297
- nodeAdapterVersion: '${universal_namespaceObject.BACKEND_FEDERATION_NODE_ADAPTER_VERSION}',
297
+ nodeAdapterVersion: '${backend_federation_contracts_namespaceObject.BACKEND_FEDERATION_NODE_ADAPTER_VERSION}',
298
298
  openapiPath: '${app.api.prefix}/openapi.json',
299
299
  readinessPath: '${readinessPath}',
300
300
  role: 'microvertical-server',
@@ -320,7 +320,7 @@ function createBackendFederationSummary(scope, app) {
320
320
  name: (0, external_descriptors_cjs_namespaceObject.createBackendFederationName)(app),
321
321
  runtimeFramework: 'effect',
322
322
  strictEffectApproach: true,
323
- contractVersion: universal_namespaceObject.BACKEND_FEDERATION_CONTRACT_VERSION,
323
+ contractVersion: backend_federation_contracts_namespaceObject.BACKEND_FEDERATION_CONTRACT_VERSION,
324
324
  deliveryUnit: (0, external_delivery_unit_cjs_namespaceObject.deliveryUnitContractBlock)(deliveryUnit),
325
325
  executionSurfaces: {
326
326
  cloudflare: createCloudflareExecutionSurface(scope, app),
@@ -30,21 +30,15 @@ __webpack_require__.r(__webpack_exports__);
30
30
  __webpack_require__.d(__webpack_exports__, {
31
31
  createDevelopmentOverlay: ()=>createDevelopmentOverlay,
32
32
  createOwnership: ()=>createOwnership,
33
- createTopology: ()=>createTopology,
34
- createUltramodernConfig: ()=>createUltramodernConfig
33
+ createTopology: ()=>createTopology
35
34
  });
36
- const external_ultramodern_package_source_cjs_namespaceObject = require("../ultramodern-package-source.cjs");
37
35
  const external_api_cjs_namespaceObject = require("./api.cjs");
38
36
  const rpc_cjs_namespaceObject = require("./api/rpc.cjs");
39
37
  const external_backend_federation_cjs_namespaceObject = require("./backend-federation.cjs");
40
- const defaults_cjs_namespaceObject = require("./bridge-config/defaults.cjs");
41
38
  const external_delivery_unit_cjs_namespaceObject = require("./delivery-unit.cjs");
42
39
  const external_descriptors_cjs_namespaceObject = require("./descriptors.cjs");
43
40
  const external_naming_cjs_namespaceObject = require("./naming.cjs");
44
41
  const external_policy_cjs_namespaceObject = require("./policy.cjs");
45
- const external_shells_cjs_namespaceObject = require("./shells.cjs");
46
- const external_tooling_command_catalog_cjs_namespaceObject = require("./tooling-command-catalog.cjs");
47
- const external_versions_cjs_namespaceObject = require("./versions.cjs");
48
42
  function isJsonValue(value) {
49
43
  return void 0 !== value;
50
44
  }
@@ -56,9 +50,6 @@ function optionalJsonEntry(key, value) {
56
50
  function jsonEntries(entries) {
57
51
  return Object.fromEntries(entries.filter((entry)=>isJsonValue(entry[1])));
58
52
  }
59
- function presentJsonValues(values) {
60
- return values.filter(isJsonValue);
61
- }
62
53
  function createReferenceRemoteContracts(app, remotes) {
63
54
  return (0, external_descriptors_cjs_namespaceObject.createModuleFederationRemoteContracts)(app, remotes).map((remote)=>({
64
55
  id: remote.id,
@@ -74,20 +65,23 @@ function createTopology(scope, remotes = [], primaryShell) {
74
65
  description: 'Generated UltraModern SuperApp shell that can grow by adding full-stack verticals.',
75
66
  preset: 'presetUltramodern',
76
67
  shell: {
77
- id: external_descriptors_cjs_namespaceObject.shellApp.id,
68
+ id: shellHost.id,
78
69
  kind: 'shell',
79
- package: (0, external_naming_cjs_namespaceObject.packageName)(scope, external_descriptors_cjs_namespaceObject.shellApp.packageSuffix),
70
+ package: (0, external_naming_cjs_namespaceObject.packageName)(scope, shellHost.packageSuffix),
71
+ path: shellHost.directory,
72
+ displayName: shellHost.displayName,
73
+ portEnv: shellHost.portEnv,
80
74
  verticalRefs: shellHost.verticalRefs ?? [],
81
75
  moduleFederation: {
82
76
  role: 'host',
83
- name: external_descriptors_cjs_namespaceObject.shellApp.mfName,
77
+ name: shellHost.mfName,
84
78
  remotes: createReferenceRemoteContracts(shellHost, remotes),
85
79
  ssr: true,
86
80
  sharedContractVersion: 'mf-ssr-contract-v1'
87
81
  },
88
- deliveryUnit: (0, external_delivery_unit_cjs_namespaceObject.deliveryUnitContractBlock)((0, external_delivery_unit_cjs_namespaceObject.createDeliveryUnitRecord)(scope, external_descriptors_cjs_namespaceObject.shellApp)),
89
- cloudflare: (0, external_policy_cjs_namespaceObject.createCloudflareDeployContract)(scope, external_descriptors_cjs_namespaceObject.shellApp),
90
- ownership: external_descriptors_cjs_namespaceObject.shellApp.ownership
82
+ deliveryUnit: (0, external_delivery_unit_cjs_namespaceObject.deliveryUnitContractBlock)((0, external_delivery_unit_cjs_namespaceObject.createDeliveryUnitRecord)(scope, shellHost)),
83
+ cloudflare: (0, external_policy_cjs_namespaceObject.createCloudflareDeployContract)(scope, shellHost),
84
+ ownership: shellHost.ownership
91
85
  },
92
86
  verticals: remotes.map((vertical)=>({
93
87
  id: vertical.id,
@@ -103,6 +97,8 @@ function createTopology(scope, remotes = [], primaryShell) {
103
97
  } : {},
104
98
  package: (0, external_naming_cjs_namespaceObject.packageName)(scope, vertical.packageSuffix),
105
99
  path: vertical.directory,
100
+ displayName: vertical.displayName,
101
+ portEnv: vertical.portEnv,
106
102
  moduleFederation: {
107
103
  role: 'remote',
108
104
  name: vertical.mfName,
@@ -126,15 +122,7 @@ function createTopology(scope, remotes = [], primaryShell) {
126
122
  package: (0, external_naming_cjs_namespaceObject.packageName)(scope, sharedPackage.id),
127
123
  path: sharedPackage.directory,
128
124
  description: sharedPackage.description
129
- })),
130
- validation: {
131
- script: "scripts/validate-ultramodern-workspace.mts",
132
- commands: [
133
- 'pnpm i18n:boundaries',
134
- 'pnpm api:check',
135
- 'pnpm contract:check'
136
- ]
137
- }
125
+ }))
138
126
  };
139
127
  }
140
128
  function createOwnership(scope, remotes = []) {
@@ -196,170 +184,13 @@ function createDevelopmentOverlay(scope, remotes = []) {
196
184
  ]))
197
185
  };
198
186
  }
199
- function createUltramodernConfig(scope, modernVersion, packageSource, apps = [
200
- (0, external_descriptors_cjs_namespaceObject.createShellHost)()
201
- ], enableTailwind = true, bridge, additionalShells = [], primaryShell) {
202
- const remotes = apps.filter((app)=>'shell' !== app.kind);
203
- const shellHost = primaryShell ?? (0, external_descriptors_cjs_namespaceObject.createShellHost)(remotes);
204
- return {
205
- schemaVersion: 1,
206
- profile: 'cloudflare-ssr-mf-effect-v1',
207
- generator: {
208
- package: external_ultramodern_package_source_cjs_namespaceObject.ULTRAMODERN_CREATE_PACKAGE,
209
- version: modernVersion
210
- },
211
- workspace: {
212
- packageScope: scope,
213
- packageManager: {
214
- name: 'pnpm',
215
- version: external_versions_cjs_namespaceObject.PNPM_VERSION
216
- },
217
- node: {
218
- version: external_versions_cjs_namespaceObject.NODE_VERSION,
219
- engineRange: '>=26'
220
- }
221
- },
222
- packageSource: {
223
- strategy: packageSource.strategy,
224
- modernPackageVersion: packageSource.modernPackageVersion,
225
- ...packageSource.registry ? {
226
- registry: packageSource.registry
227
- } : {},
228
- ...packageSource.aliasScope ? {
229
- aliasScope: packageSource.aliasScope
230
- } : {},
231
- ...packageSource.aliasPackageNamePrefix ? {
232
- aliasPackageNamePrefix: packageSource.aliasPackageNamePrefix
233
- } : {}
234
- },
235
- features: {
236
- tailwind: enableTailwind
237
- },
238
- topology: {
239
- source: './topology/reference-topology.json',
240
- apps: apps.map((app)=>({
241
- id: app.id,
242
- kind: app.kind,
243
- package: (0, external_naming_cjs_namespaceObject.packageName)(scope, app.packageSuffix),
244
- packageSuffix: app.packageSuffix,
245
- displayName: app.displayName,
246
- path: app.directory,
247
- ...app.domain ? {
248
- domain: app.domain
249
- } : {},
250
- ...app.surfaceProfile ? {
251
- surfaceProfile: app.surfaceProfile
252
- } : {},
253
- ...app.deliveryUnitKind ? {
254
- deliveryUnitKind: app.deliveryUnitKind
255
- } : {},
256
- port: app.port,
257
- portEnv: app.portEnv,
258
- moduleFederation: {
259
- role: 'shell' === app.kind ? 'host' : 'remote',
260
- name: app.mfName,
261
- exposes: Object.keys(app.exposes ?? {}),
262
- ...'shell' === app.kind ? {
263
- verticalRefs: shellHost.verticalRefs ?? [],
264
- remotes: (0, external_descriptors_cjs_namespaceObject.createModuleFederationRemoteContracts)(shellHost, remotes)
265
- } : app.verticalRefs?.length ? {
266
- verticalRefs: app.verticalRefs,
267
- remotes: (0, external_descriptors_cjs_namespaceObject.createModuleFederationRemoteContracts)(app, remotes)
268
- } : {},
269
- ssr: true,
270
- dts: {
271
- compilerInstance: 'effect-tsgo',
272
- tsConfigPath: './tsconfig.mf-types.json'
273
- }
274
- },
275
- ...optionalJsonEntry('backendFederation', (0, external_backend_federation_cjs_namespaceObject.createBackendFederationContract)(scope, app)),
276
- deliveryUnit: (0, external_delivery_unit_cjs_namespaceObject.deliveryUnitContractBlock)((0, external_delivery_unit_cjs_namespaceObject.createDeliveryUnitRecord)(scope, app)),
277
- ...app.api ? {
278
- api: {
279
- runtime: 'effect',
280
- stem: app.api.stem,
281
- prefix: app.api.prefix,
282
- consumedBy: app.api.consumedBy,
283
- serverEntry: `${app.directory}/api/index.ts`,
284
- ...void 0 === app.api.protocol ? {} : {
285
- protocol: app.api.protocol
286
- }
287
- }
288
- } : {},
289
- deploy: {
290
- cloudflare: (0, external_policy_cjs_namespaceObject.createCloudflareDeployContract)(scope, app)
291
- }
292
- }))
293
- },
294
- ...additionalShells.length > 0 ? {
295
- shells: additionalShells.map((shell)=>(0, external_shells_cjs_namespaceObject.createAdditionalShellConfigEntry)(scope, shell, remotes))
296
- } : {},
297
- bridge: bridge ?? {
298
- enabled: false,
299
- workspacePackages: [],
300
- dependencies: [],
301
- lockfilePolicy: 'nested',
302
- gates: [],
303
- reactSingletons: [
304
- ...defaults_cjs_namespaceObject.defaultReactSingletons
305
- ]
306
- },
307
- deploy: {
308
- worker: {
309
- wrangler: {
310
- compatibility_date: external_versions_cjs_namespaceObject.CLOUDFLARE_COMPATIBILITY_DATE,
311
- compatibility_flags: [
312
- 'nodejs_compat',
313
- 'global_fetch_strictly_public'
314
- ]
315
- },
316
- artifacts: [],
317
- publicAssetExcludes: []
318
- }
319
- },
320
- moduleFederation: {
321
- apps: apps.map((app)=>({
322
- id: app.id,
323
- path: app.directory,
324
- role: 'shell' === app.kind ? 'host' : 'remote',
325
- name: app.mfName,
326
- exposes: Object.keys(app.exposes ?? {}),
327
- hostOnly: 'shell' === app.kind && 0 === Object.keys(app.exposes ?? {}).length
328
- }))
329
- },
330
- backendFederation: {
331
- apps: presentJsonValues((0, external_descriptors_cjs_namespaceObject.verticalApiApps)(remotes).map((app)=>(0, external_backend_federation_cjs_namespaceObject.createBackendFederationSummary)(scope, app)))
332
- },
333
- agentSkills: {
334
- target: 'codex',
335
- lockfile: './.codex/skills-lock.json',
336
- installDir: './.codex/skills',
337
- mode: 'repo-owned-default-on',
338
- selfContainedVendoring: true,
339
- optOutEnv: [
340
- 'ULTRAMODERN_SKIP_CODEX_SKILLS=1',
341
- 'ULTRAMODERN_CODEX_SKILLS=0'
342
- ]
343
- },
344
- tooling: {
345
- command: 'ultramodern-create ultramodern',
346
- wrappers: {
347
- ...(0, external_tooling_command_catalog_cjs_namespaceObject.createGeneratedToolingWrapperMap)(),
348
- apiBoundaries: "scripts/check-ultramodern-api-boundaries.mts",
349
- skills: "scripts/bootstrap-agent-skills.mts"
350
- }
351
- }
352
- };
353
- }
354
187
  exports.createDevelopmentOverlay = __webpack_exports__.createDevelopmentOverlay;
355
188
  exports.createOwnership = __webpack_exports__.createOwnership;
356
189
  exports.createTopology = __webpack_exports__.createTopology;
357
- exports.createUltramodernConfig = __webpack_exports__.createUltramodernConfig;
358
190
  for(var __rspack_i in __webpack_exports__)if (-1 === [
359
191
  "createDevelopmentOverlay",
360
192
  "createOwnership",
361
- "createTopology",
362
- "createUltramodernConfig"
193
+ "createTopology"
363
194
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
364
195
  Object.defineProperty(exports, '__esModule', {
365
196
  value: true
@@ -0,0 +1,85 @@
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
+ const SEGMENT_UNSAFE = /[^A-Za-z0-9._-]+/g;
31
+ const SEGMENT_TRIM = /^-+|-+$/g;
32
+ function exposeSurfaceId(key) {
33
+ const trimmed = key.replace(/^\.\//, '');
34
+ const cleaned = trimmed.replace(SEGMENT_UNSAFE, '-').replace(SEGMENT_TRIM, '');
35
+ return '' === cleaned ? 'surface' : cleaned;
36
+ }
37
+ function exposeSurface(app, key, value) {
38
+ const isRoute = /route/i.test(key) || /route/i.test(value);
39
+ const location = {
40
+ platform: 'browser-mf',
41
+ manifestUrl: `http://localhost:${app.port}/mf-manifest.json`
42
+ };
43
+ const common = {
44
+ surfaceId: exposeSurfaceId(key),
45
+ locations: [
46
+ location
47
+ ]
48
+ };
49
+ return isRoute ? {
50
+ kind: 'route',
51
+ ...common
52
+ } : {
53
+ kind: 'component',
54
+ ...common
55
+ };
56
+ }
57
+ function apiSurface(api, protocol, address = api.prefix) {
58
+ return {
59
+ kind: 'api',
60
+ surfaceId: api.stem,
61
+ protocol,
62
+ locations: [
63
+ {
64
+ platform: 'http',
65
+ address
66
+ }
67
+ ]
68
+ };
69
+ }
70
+ __webpack_require__.d(__webpack_exports__, {
71
+ apiSurface: ()=>apiSurface,
72
+ exposeSurface: ()=>exposeSurface,
73
+ exposeSurfaceId: ()=>exposeSurfaceId
74
+ });
75
+ exports.apiSurface = __webpack_exports__.apiSurface;
76
+ exports.exposeSurface = __webpack_exports__.exposeSurface;
77
+ exports.exposeSurfaceId = __webpack_exports__.exposeSurfaceId;
78
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
79
+ "apiSurface",
80
+ "exposeSurface",
81
+ "exposeSurfaceId"
82
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
83
+ Object.defineProperty(exports, '__esModule', {
84
+ value: true
85
+ });
@@ -27,17 +27,6 @@ var __webpack_require__ = {};
27
27
  })();
28
28
  var __webpack_exports__ = {};
29
29
  __webpack_require__.r(__webpack_exports__);
30
- __webpack_require__.d(__webpack_exports__, {
31
- assertNever: ()=>assertNever,
32
- formatSurfaceRef: ()=>formatSurfaceRef,
33
- parseDeliveryUnitDescriptor: ()=>parseDeliveryUnitDescriptor,
34
- parseSurfaceRef: ()=>parseSurfaceRef,
35
- projectDeliveryUnitToV1: ()=>projectDeliveryUnitToV1,
36
- resolvePublicationZone: ()=>resolvePublicationZone,
37
- serializeDeliveryUnitDescriptor: ()=>serializeDeliveryUnitDescriptor
38
- });
39
- const universal_namespaceObject = require("@modern-js/utils/universal");
40
- const external_types_cjs_namespaceObject = require("../types.cjs");
41
30
  const SEGMENT_PATTERN = /^[A-Za-z0-9._-]+$/;
42
31
  const MAJOR_PATTERN = /^v[1-9][0-9]*$/;
43
32
  function parseSurfaceRef(input) {
@@ -196,86 +185,21 @@ function serializeDeliveryUnitDescriptor(descriptor) {
196
185
  };
197
186
  return output;
198
187
  }
199
- function projectKind(kind) {
200
- switch(kind){
201
- case 'shell':
202
- return 'shell';
203
- case 'microvertical':
204
- case 'horizontal-remote':
205
- return 'vertical';
206
- default:
207
- return assertNever(kind);
208
- }
209
- }
210
- function lastSegment(unitId) {
211
- const segments = unitId.split('/');
212
- return segments[segments.length - 1] ?? unitId;
213
- }
214
- function projectApi(surfaces, mode) {
215
- const apiSurface = surfaces.find((surface)=>'api' === surface.kind);
216
- if (void 0 === apiSurface) return;
217
- const http = apiSurface.locations.find((location)=>'http' === location.platform);
218
- return {
219
- stem: apiSurface.surfaceId,
220
- prefix: http?.address ?? `/${apiSurface.surfaceId}`,
221
- consumedBy: [],
222
- ...'extended-v1' === mode && (0, external_types_cjs_namespaceObject.isVerticalApiProtocol)(apiSurface.protocol) ? {
223
- protocol: apiSurface.protocol
224
- } : {}
225
- };
226
- }
227
- function projectDeliveryUnitToV1(descriptor, context) {
228
- const appId = lastSegment(descriptor.unitId);
229
- const mode = context.mode ?? 'strict-legacy';
230
- const api = projectApi(descriptor.surfaces, mode);
231
- const ownership = 'team' === descriptor.owner.kind ? context.ownership : {
232
- ...context.ownership,
233
- owner: {
234
- ...descriptor.owner
235
- }
236
- };
237
- const app = {
238
- id: appId,
239
- directory: context.directory,
240
- packageSuffix: context.packageSuffix,
241
- displayName: context.displayName,
242
- kind: projectKind(descriptor.kind),
243
- portEnv: context.portEnv,
244
- port: context.port,
245
- mfName: context.mfName,
246
- ownership,
247
- ...'extended-v1' === mode && 'horizontal-remote' === descriptor.kind ? {
248
- deliveryUnitKind: 'horizontal-remote'
249
- } : {},
250
- ...void 0 === api ? {} : {
251
- api
252
- }
253
- };
254
- const deliveryUnitRecord = {
255
- appId,
256
- buildMarker: descriptor.buildMarker,
257
- deployProfile: universal_namespaceObject.DELIVERY_UNIT_DEPLOY_PROFILE,
258
- kind: universal_namespaceObject.DELIVERY_UNIT_KIND,
259
- packageName: context.packageName,
260
- schemaVersion: universal_namespaceObject.DELIVERY_UNIT_SCHEMA_VERSION,
261
- sourceRevision: descriptor.sourceRevision,
262
- unitId: descriptor.unitId,
263
- version: context.version
264
- };
265
- return {
266
- app,
267
- deliveryUnitRecord,
268
- preservedUnknownFields: descriptor.unknownFields ?? {}
269
- };
270
- }
271
188
  function assertNever(value) {
272
189
  throw new Error(`Unexpected variant: ${JSON.stringify(value)}`);
273
190
  }
191
+ __webpack_require__.d(__webpack_exports__, {
192
+ assertNever: ()=>assertNever,
193
+ formatSurfaceRef: ()=>formatSurfaceRef,
194
+ parseDeliveryUnitDescriptor: ()=>parseDeliveryUnitDescriptor,
195
+ parseSurfaceRef: ()=>parseSurfaceRef,
196
+ resolvePublicationZone: ()=>resolvePublicationZone,
197
+ serializeDeliveryUnitDescriptor: ()=>serializeDeliveryUnitDescriptor
198
+ });
274
199
  exports.assertNever = __webpack_exports__.assertNever;
275
200
  exports.formatSurfaceRef = __webpack_exports__.formatSurfaceRef;
276
201
  exports.parseDeliveryUnitDescriptor = __webpack_exports__.parseDeliveryUnitDescriptor;
277
202
  exports.parseSurfaceRef = __webpack_exports__.parseSurfaceRef;
278
- exports.projectDeliveryUnitToV1 = __webpack_exports__.projectDeliveryUnitToV1;
279
203
  exports.resolvePublicationZone = __webpack_exports__.resolvePublicationZone;
280
204
  exports.serializeDeliveryUnitDescriptor = __webpack_exports__.serializeDeliveryUnitDescriptor;
281
205
  for(var __rspack_i in __webpack_exports__)if (-1 === [
@@ -283,7 +207,6 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
283
207
  "formatSurfaceRef",
284
208
  "parseDeliveryUnitDescriptor",
285
209
  "parseSurfaceRef",
286
- "projectDeliveryUnitToV1",
287
210
  "resolvePublicationZone",
288
211
  "serializeDeliveryUnitDescriptor"
289
212
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
@@ -36,16 +36,28 @@ const external_delivery_unit_cjs_namespaceObject = require("./delivery-unit.cjs"
36
36
  function isPlainObject(value) {
37
37
  return 'object' == typeof value && null !== value && !Array.isArray(value);
38
38
  }
39
- function stampDeliveryUnitIdentity(entry, scope, app) {
40
- const block = (0, external_delivery_unit_cjs_namespaceObject.deliveryUnitContractBlock)((0, external_delivery_unit_cjs_namespaceObject.createDeliveryUnitRecord)(scope, app));
39
+ function stampDeliveryUnitIdentity(entry, scope, app, version) {
40
+ const block = {
41
+ ...isPlainObject(entry.deliveryUnit) ? entry.deliveryUnit : {},
42
+ ...(0, external_delivery_unit_cjs_namespaceObject.deliveryUnitContractBlock)((0, external_delivery_unit_cjs_namespaceObject.createDeliveryUnitRecord)(scope, app, version))
43
+ };
41
44
  entry.deliveryUnit = block;
42
45
  if (isPlainObject(entry.backendFederation)) {
43
- entry.backendFederation.deliveryUnit = block;
46
+ entry.backendFederation.deliveryUnit = {
47
+ ...isPlainObject(entry.backendFederation.deliveryUnit) ? entry.backendFederation.deliveryUnit : {},
48
+ ...block
49
+ };
44
50
  if (!isPlainObject(entry.backendFederation.versionBoundary)) entry.backendFederation.versionBoundary = {};
45
51
  entry.backendFederation.versionBoundary.identityRoot = 'deliveryUnit';
46
52
  return;
47
53
  }
48
- const contract = (0, external_backend_federation_cjs_namespaceObject.createBackendFederationContract)(scope, app);
54
+ const contract = (0, external_backend_federation_cjs_namespaceObject.createBackendFederationContract)(scope, {
55
+ ...app,
56
+ deliveryUnit: {
57
+ ...app.deliveryUnit,
58
+ ...block
59
+ }
60
+ });
49
61
  if (void 0 !== contract) entry.backendFederation = contract;
50
62
  }
51
63
  exports.isPlainObject = __webpack_exports__.isPlainObject;