@bleedingdev/modern-js-ultramodern-create 3.9.0-ultramodern.11 → 3.9.0-ultramodern.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (251) hide show
  1. package/README.md +32 -36
  2. package/dist/cjs/ultramodern-release-cohort.cjs +6 -21
  3. package/dist/cjs/ultramodern-tooling/commands/cloudflare-output-verify.cjs +29 -53
  4. package/dist/cjs/ultramodern-tooling/commands/context.cjs +1 -27
  5. package/dist/cjs/ultramodern-tooling/commands/routes-generate-app.cjs +60 -0
  6. package/dist/cjs/ultramodern-tooling/commands/routes-generate.cjs +12 -48
  7. package/dist/cjs/ultramodern-tooling/commands/validate.cjs +5 -58
  8. package/dist/cjs/ultramodern-tooling/commands.cjs +13 -3
  9. package/dist/cjs/ultramodern-tooling/config/index.cjs +11 -4
  10. package/dist/cjs/ultramodern-tooling/config/load.cjs +4 -17
  11. package/dist/cjs/ultramodern-tooling/config/metadata.cjs +41 -2
  12. package/dist/cjs/ultramodern-tooling/config/normalize.cjs +121 -198
  13. package/dist/cjs/ultramodern-workspace/add-shell.cjs +103 -147
  14. package/dist/cjs/ultramodern-workspace/add-vertical/execute.cjs +61 -94
  15. package/dist/cjs/ultramodern-workspace/add-vertical/plan.cjs +14 -160
  16. package/dist/cjs/ultramodern-workspace/add-vertical/preflight.cjs +8 -13
  17. package/dist/cjs/ultramodern-workspace/add-vertical/preview.cjs +78 -0
  18. package/dist/cjs/ultramodern-workspace/add-vertical/topology.cjs +0 -32
  19. package/dist/cjs/ultramodern-workspace/add-vertical/transaction.cjs +2 -2
  20. package/dist/cjs/ultramodern-workspace/add-vertical/workspace-state.cjs +19 -42
  21. package/dist/cjs/ultramodern-workspace/add-vertical.cjs +0 -9
  22. package/dist/cjs/ultramodern-workspace/api/contracts.cjs +2 -2
  23. package/dist/cjs/ultramodern-workspace/api/rpc.cjs +16 -14
  24. package/dist/cjs/ultramodern-workspace/api/service.cjs +4 -8
  25. package/dist/cjs/ultramodern-workspace/api/shared.cjs +1 -1
  26. package/dist/cjs/ultramodern-workspace/backend-federation.cjs +3 -3
  27. package/dist/cjs/ultramodern-workspace/contracts.cjs +14 -183
  28. package/dist/cjs/ultramodern-workspace/delivery-unit-stamp.cjs +10 -5
  29. package/dist/cjs/ultramodern-workspace/delivery-unit-sync.cjs +27 -17
  30. package/dist/cjs/ultramodern-workspace/delivery-unit.cjs +11 -6
  31. package/dist/cjs/ultramodern-workspace/demo-components.cjs +62 -115
  32. package/dist/cjs/ultramodern-workspace/descriptors.cjs +0 -4
  33. package/dist/cjs/ultramodern-workspace/generation-result.cjs +1 -1
  34. package/dist/cjs/ultramodern-workspace/index.cjs +2 -5
  35. package/dist/cjs/ultramodern-workspace/mf-validation/constants.cjs +0 -6
  36. package/dist/cjs/ultramodern-workspace/mf-validation/discovery.cjs +6 -6
  37. package/dist/cjs/ultramodern-workspace/mf-validation/path-utils.cjs +37 -38
  38. package/dist/cjs/ultramodern-workspace/module-federation/config.cjs +9 -16
  39. package/dist/cjs/ultramodern-workspace/module-federation/remote-refs.cjs +1 -43
  40. package/dist/cjs/ultramodern-workspace/package-json.cjs +47 -54
  41. package/dist/cjs/ultramodern-workspace/patch-inventory.cjs +122 -0
  42. package/dist/cjs/ultramodern-workspace/policy.cjs +6 -380
  43. package/dist/cjs/ultramodern-workspace/public-surface.cjs +2 -2
  44. package/dist/cjs/ultramodern-workspace/routes.cjs +11 -7
  45. package/dist/cjs/ultramodern-workspace/shared-patches.cjs +12 -2
  46. package/dist/cjs/ultramodern-workspace/shells.cjs +0 -70
  47. package/dist/cjs/ultramodern-workspace/tooling-command-catalog.cjs +6 -43
  48. package/dist/cjs/ultramodern-workspace/tsconfigs.cjs +3 -1
  49. package/dist/cjs/ultramodern-workspace/validation/architecture.cjs +397 -0
  50. package/dist/cjs/ultramodern-workspace/validation/assertions.cjs +140 -0
  51. package/dist/cjs/ultramodern-workspace/validation/types.cjs +18 -0
  52. package/dist/cjs/ultramodern-workspace/validation/workspace.cjs +343 -0
  53. package/dist/cjs/ultramodern-workspace/versions.cjs +25 -41
  54. package/dist/cjs/ultramodern-workspace/workspace-artifact-ownership.cjs +71 -31
  55. package/dist/cjs/ultramodern-workspace/workspace-script-plan.cjs +7 -7
  56. package/dist/cjs/ultramodern-workspace/workspace-scripts.cjs +17 -143
  57. package/dist/cjs/ultramodern-workspace/workspace-validation-contract.cjs +62 -371
  58. package/dist/cjs/ultramodern-workspace/write-app.cjs +5 -4
  59. package/dist/cjs/ultramodern-workspace/write-workspace.cjs +10 -50
  60. package/dist/esm/ultramodern-release-cohort.js +5 -14
  61. package/dist/esm/ultramodern-tooling/commands/cloudflare-output-verify.js +29 -53
  62. package/dist/esm/ultramodern-tooling/commands/context.js +3 -24
  63. package/dist/esm/ultramodern-tooling/commands/routes-generate-app.js +28 -0
  64. package/dist/esm/ultramodern-tooling/commands/routes-generate.js +13 -49
  65. package/dist/esm/ultramodern-tooling/commands/validate.js +6 -49
  66. package/dist/esm/ultramodern-tooling/commands.js +12 -3
  67. package/dist/esm/ultramodern-tooling/config/index.js +1 -0
  68. package/dist/esm/ultramodern-tooling/config/load.js +5 -17
  69. package/dist/esm/ultramodern-tooling/config/metadata.js +36 -1
  70. package/dist/esm/ultramodern-tooling/config/normalize.js +125 -191
  71. package/dist/esm/ultramodern-workspace/add-shell.js +110 -153
  72. package/dist/esm/ultramodern-workspace/add-vertical/execute.js +61 -98
  73. package/dist/esm/ultramodern-workspace/add-vertical/plan.js +16 -150
  74. package/dist/esm/ultramodern-workspace/add-vertical/preflight.js +6 -11
  75. package/dist/esm/ultramodern-workspace/add-vertical/preview.js +40 -0
  76. package/dist/esm/ultramodern-workspace/add-vertical/topology.js +1 -30
  77. package/dist/esm/ultramodern-workspace/add-vertical/transaction.js +2 -2
  78. package/dist/esm/ultramodern-workspace/add-vertical/workspace-state.js +15 -32
  79. package/dist/esm/ultramodern-workspace/add-vertical.js +1 -1
  80. package/dist/esm/ultramodern-workspace/api/contracts.js +2 -2
  81. package/dist/esm/ultramodern-workspace/api/rpc.js +16 -14
  82. package/dist/esm/ultramodern-workspace/api/service.js +4 -8
  83. package/dist/esm/ultramodern-workspace/api/shared.js +1 -1
  84. package/dist/esm/ultramodern-workspace/backend-federation.js +3 -3
  85. package/dist/esm/ultramodern-workspace/contracts.js +14 -180
  86. package/dist/esm/ultramodern-workspace/delivery-unit-stamp.js +10 -5
  87. package/dist/esm/ultramodern-workspace/delivery-unit-sync.js +28 -18
  88. package/dist/esm/ultramodern-workspace/delivery-unit.js +11 -6
  89. package/dist/esm/ultramodern-workspace/demo-components.js +62 -115
  90. package/dist/esm/ultramodern-workspace/descriptors.js +1 -2
  91. package/dist/esm/ultramodern-workspace/generation-result.js +2 -2
  92. package/dist/esm/ultramodern-workspace/index.js +1 -1
  93. package/dist/esm/ultramodern-workspace/mf-validation/constants.js +1 -4
  94. package/dist/esm/ultramodern-workspace/mf-validation/discovery.js +7 -7
  95. package/dist/esm/ultramodern-workspace/mf-validation/path-utils.js +36 -34
  96. package/dist/esm/ultramodern-workspace/module-federation/config.js +10 -17
  97. package/dist/esm/ultramodern-workspace/module-federation/remote-refs.js +1 -43
  98. package/dist/esm/ultramodern-workspace/package-json.js +48 -55
  99. package/dist/esm/ultramodern-workspace/patch-inventory.js +84 -0
  100. package/dist/esm/ultramodern-workspace/policy.js +6 -371
  101. package/dist/esm/ultramodern-workspace/public-surface.js +2 -2
  102. package/dist/esm/ultramodern-workspace/routes.js +11 -7
  103. package/dist/esm/ultramodern-workspace/shared-patches.js +2 -2
  104. package/dist/esm/ultramodern-workspace/shells.js +3 -67
  105. package/dist/esm/ultramodern-workspace/tooling-command-catalog.js +7 -41
  106. package/dist/esm/ultramodern-workspace/tsconfigs.js +4 -2
  107. package/dist/esm/ultramodern-workspace/validation/architecture.js +348 -0
  108. package/dist/esm/ultramodern-workspace/validation/assertions.js +65 -0
  109. package/dist/esm/ultramodern-workspace/validation/types.js +0 -0
  110. package/dist/esm/ultramodern-workspace/validation/workspace.js +285 -0
  111. package/dist/esm/ultramodern-workspace/versions.js +24 -28
  112. package/dist/esm/ultramodern-workspace/workspace-artifact-ownership.js +64 -30
  113. package/dist/esm/ultramodern-workspace/workspace-script-plan.js +7 -7
  114. package/dist/esm/ultramodern-workspace/workspace-scripts.js +19 -136
  115. package/dist/esm/ultramodern-workspace/workspace-validation-contract.js +64 -373
  116. package/dist/esm/ultramodern-workspace/write-app.js +4 -3
  117. package/dist/esm/ultramodern-workspace/write-workspace.js +16 -53
  118. package/dist/esm-node/ultramodern-release-cohort.js +5 -14
  119. package/dist/esm-node/ultramodern-tooling/commands/cloudflare-output-verify.js +29 -53
  120. package/dist/esm-node/ultramodern-tooling/commands/context.js +3 -24
  121. package/dist/esm-node/ultramodern-tooling/commands/routes-generate-app.js +29 -0
  122. package/dist/esm-node/ultramodern-tooling/commands/routes-generate.js +13 -49
  123. package/dist/esm-node/ultramodern-tooling/commands/validate.js +6 -49
  124. package/dist/esm-node/ultramodern-tooling/commands.js +12 -3
  125. package/dist/esm-node/ultramodern-tooling/config/index.js +1 -0
  126. package/dist/esm-node/ultramodern-tooling/config/load.js +5 -17
  127. package/dist/esm-node/ultramodern-tooling/config/metadata.js +36 -1
  128. package/dist/esm-node/ultramodern-tooling/config/normalize.js +125 -191
  129. package/dist/esm-node/ultramodern-workspace/add-shell.js +110 -153
  130. package/dist/esm-node/ultramodern-workspace/add-vertical/execute.js +61 -98
  131. package/dist/esm-node/ultramodern-workspace/add-vertical/plan.js +16 -150
  132. package/dist/esm-node/ultramodern-workspace/add-vertical/preflight.js +6 -11
  133. package/dist/esm-node/ultramodern-workspace/add-vertical/preview.js +41 -0
  134. package/dist/esm-node/ultramodern-workspace/add-vertical/topology.js +1 -30
  135. package/dist/esm-node/ultramodern-workspace/add-vertical/transaction.js +2 -2
  136. package/dist/esm-node/ultramodern-workspace/add-vertical/workspace-state.js +15 -32
  137. package/dist/esm-node/ultramodern-workspace/add-vertical.js +1 -1
  138. package/dist/esm-node/ultramodern-workspace/api/contracts.js +2 -2
  139. package/dist/esm-node/ultramodern-workspace/api/rpc.js +16 -14
  140. package/dist/esm-node/ultramodern-workspace/api/service.js +4 -8
  141. package/dist/esm-node/ultramodern-workspace/api/shared.js +1 -1
  142. package/dist/esm-node/ultramodern-workspace/backend-federation.js +3 -3
  143. package/dist/esm-node/ultramodern-workspace/contracts.js +14 -180
  144. package/dist/esm-node/ultramodern-workspace/delivery-unit-stamp.js +10 -5
  145. package/dist/esm-node/ultramodern-workspace/delivery-unit-sync.js +28 -18
  146. package/dist/esm-node/ultramodern-workspace/delivery-unit.js +11 -6
  147. package/dist/esm-node/ultramodern-workspace/demo-components.js +62 -115
  148. package/dist/esm-node/ultramodern-workspace/descriptors.js +1 -2
  149. package/dist/esm-node/ultramodern-workspace/generation-result.js +2 -2
  150. package/dist/esm-node/ultramodern-workspace/index.js +1 -1
  151. package/dist/esm-node/ultramodern-workspace/mf-validation/constants.js +1 -4
  152. package/dist/esm-node/ultramodern-workspace/mf-validation/discovery.js +7 -7
  153. package/dist/esm-node/ultramodern-workspace/mf-validation/path-utils.js +36 -34
  154. package/dist/esm-node/ultramodern-workspace/module-federation/config.js +10 -17
  155. package/dist/esm-node/ultramodern-workspace/module-federation/remote-refs.js +1 -43
  156. package/dist/esm-node/ultramodern-workspace/package-json.js +48 -55
  157. package/dist/esm-node/ultramodern-workspace/patch-inventory.js +85 -0
  158. package/dist/esm-node/ultramodern-workspace/policy.js +6 -371
  159. package/dist/esm-node/ultramodern-workspace/public-surface.js +2 -2
  160. package/dist/esm-node/ultramodern-workspace/routes.js +11 -7
  161. package/dist/esm-node/ultramodern-workspace/shared-patches.js +2 -2
  162. package/dist/esm-node/ultramodern-workspace/shells.js +3 -67
  163. package/dist/esm-node/ultramodern-workspace/tooling-command-catalog.js +7 -41
  164. package/dist/esm-node/ultramodern-workspace/tsconfigs.js +4 -2
  165. package/dist/esm-node/ultramodern-workspace/validation/architecture.js +349 -0
  166. package/dist/esm-node/ultramodern-workspace/validation/assertions.js +66 -0
  167. package/dist/esm-node/ultramodern-workspace/validation/types.js +1 -0
  168. package/dist/esm-node/ultramodern-workspace/validation/workspace.js +286 -0
  169. package/dist/esm-node/ultramodern-workspace/versions.js +24 -28
  170. package/dist/esm-node/ultramodern-workspace/workspace-artifact-ownership.js +64 -30
  171. package/dist/esm-node/ultramodern-workspace/workspace-script-plan.js +7 -7
  172. package/dist/esm-node/ultramodern-workspace/workspace-scripts.js +19 -136
  173. package/dist/esm-node/ultramodern-workspace/workspace-validation-contract.js +64 -373
  174. package/dist/esm-node/ultramodern-workspace/write-app.js +4 -3
  175. package/dist/esm-node/ultramodern-workspace/write-workspace.js +16 -53
  176. package/dist/types/ultramodern-release-cohort.d.ts +1 -3
  177. package/dist/types/ultramodern-tooling/commands/cloudflare-output-verify.d.ts +2 -2
  178. package/dist/types/ultramodern-tooling/commands/context.d.ts +0 -1
  179. package/dist/types/ultramodern-tooling/commands/routes-generate-app.d.ts +1 -0
  180. package/dist/types/ultramodern-tooling/commands/routes-generate.d.ts +1 -1
  181. package/dist/types/ultramodern-tooling/commands/validate.d.ts +1 -1
  182. package/dist/types/ultramodern-tooling/config/index.d.ts +1 -0
  183. package/dist/types/ultramodern-tooling/config/load.d.ts +6 -58
  184. package/dist/types/ultramodern-tooling/config/metadata.d.ts +3 -0
  185. package/dist/types/ultramodern-tooling/config/normalize.d.ts +9 -88
  186. package/dist/types/ultramodern-tooling/config/types.d.ts +1 -9
  187. package/dist/types/ultramodern-workspace/add-shell.d.ts +1 -1
  188. package/dist/types/ultramodern-workspace/add-vertical/execute.d.ts +1 -0
  189. package/dist/types/ultramodern-workspace/add-vertical/preflight.d.ts +4 -3
  190. package/dist/types/ultramodern-workspace/add-vertical/preview.d.ts +4 -0
  191. package/dist/types/ultramodern-workspace/add-vertical/topology.d.ts +0 -1
  192. package/dist/types/ultramodern-workspace/add-vertical/transaction.d.ts +4 -1
  193. package/dist/types/ultramodern-workspace/add-vertical/workspace-state.d.ts +8 -5
  194. package/dist/types/ultramodern-workspace/add-vertical.d.ts +1 -1
  195. package/dist/types/ultramodern-workspace/api/rpc.d.ts +1 -1
  196. package/dist/types/ultramodern-workspace/contracts.d.ts +1 -3
  197. package/dist/types/ultramodern-workspace/delivery-unit-stamp.d.ts +2 -2
  198. package/dist/types/ultramodern-workspace/delivery-unit.d.ts +2 -2
  199. package/dist/types/ultramodern-workspace/descriptors.d.ts +0 -1
  200. package/dist/types/ultramodern-workspace/index.d.ts +1 -1
  201. package/dist/types/ultramodern-workspace/mf-validation/constants.d.ts +0 -1
  202. package/dist/types/ultramodern-workspace/mf-validation/path-utils.d.ts +2 -3
  203. package/dist/types/ultramodern-workspace/module-federation/config.d.ts +1 -1
  204. package/dist/types/ultramodern-workspace/patch-inventory.d.ts +10 -0
  205. package/dist/types/ultramodern-workspace/policy.d.ts +60 -182
  206. package/dist/types/ultramodern-workspace/shells.d.ts +1 -14
  207. package/dist/types/ultramodern-workspace/tooling-command-catalog.d.ts +1 -6
  208. package/dist/types/ultramodern-workspace/validation/architecture.d.ts +2 -0
  209. package/dist/types/ultramodern-workspace/validation/assertions.d.ts +14 -0
  210. package/dist/types/ultramodern-workspace/validation/types.d.ts +9 -0
  211. package/dist/types/ultramodern-workspace/validation/workspace.d.ts +6 -0
  212. package/dist/types/ultramodern-workspace/versions.d.ts +23 -27
  213. package/dist/types/ultramodern-workspace/workspace-artifact-ownership.d.ts +5 -0
  214. package/dist/types/ultramodern-workspace/workspace-script-plan.d.ts +1 -1
  215. package/dist/types/ultramodern-workspace/workspace-scripts.d.ts +7 -19
  216. package/dist/types/ultramodern-workspace/workspace-validation-contract.d.ts +22 -188
  217. package/dist/types/ultramodern-workspace/write-workspace.d.ts +1 -3
  218. package/package.json +17 -16
  219. package/{template-workspace/.modernjs/release-cohort.json → release-cohort.json} +48 -48
  220. package/template-workspace/README.md.handlebars +9 -16
  221. package/template-workspace/pnpm-workspace.yaml.handlebars +0 -24
  222. package/templates/workspace/apps/modern.config.ts.handlebars +6 -6
  223. package/templates/workspace/apps/shared/src/routes/ultramodern-route-metadata.ts.handlebars +8 -21
  224. package/templates/workspace/apps/shell-super-app/src/routes/[lang]/page.tsx.handlebars +20 -20
  225. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.helpers.tsx.handlebars +1 -1
  226. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.tsx.handlebars +11 -11
  227. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.worker.helpers.tsx.handlebars +1 -1
  228. package/templates/workspace-scripts/generate-node-backend-federation.mjs +39 -49
  229. package/templates/workspace-scripts/generate-public-surface-assets.mjs +142 -206
  230. package/templates/workspace-scripts/materialize-zerops-runtime.mjs +3 -11
  231. package/templates/workspace-scripts/proof-cloudflare-version.mjs +53 -444
  232. package/templates/workspace-scripts/proof-node-backend-federation.mjs +193 -39
  233. package/templates/workspace-scripts/proof-workerd-ssr.mjs +126 -66
  234. package/templates/workspace-scripts/ultramodern-performance-readiness.mjs +45 -147
  235. package/dist/cjs/ultramodern-workspace/cohort-parity.cjs +0 -129
  236. package/dist/cjs/ultramodern-workspace/patch-parity.cjs +0 -163
  237. package/dist/esm/ultramodern-workspace/cohort-parity.js +0 -74
  238. package/dist/esm/ultramodern-workspace/patch-parity.js +0 -99
  239. package/dist/esm-node/ultramodern-workspace/cohort-parity.js +0 -75
  240. package/dist/esm-node/ultramodern-workspace/patch-parity.js +0 -100
  241. package/dist/types/ultramodern-workspace/cohort-parity.d.ts +0 -31
  242. package/dist/types/ultramodern-workspace/patch-parity.d.ts +0 -39
  243. package/template-workspace/patches/@module-federation__bridge-react@2.9.0.patch +0 -47
  244. package/template-workspace/patches/@module-federation__dts-plugin@2.9.0.patch +0 -100
  245. package/template-workspace/patches/@module-federation__modern-js-v3@2.9.0.patch +0 -268
  246. package/template-workspace/patches/@module-federation__runtime-core@2.9.0.patch +0 -13
  247. package/template-workspace/patches/drizzle-orm-ts7-strict-declarations.patch +0 -471
  248. package/template-workspace/patches/msgpackr@2.1.0.patch +0 -30
  249. package/template-workspace/patches/zod@4.5.4.patch +0 -56
  250. package/templates/packages/effect-bff-runtime.ts +0 -2
  251. package/templates/workspace-scripts/validate-ultramodern-workspace.mjs.handlebars +0 -4046
@@ -6,6 +6,9 @@ var __webpack_modules__ = {
6
6
  "./load" (module) {
7
7
  module.exports = require("./load.cjs");
8
8
  },
9
+ "./metadata" (module) {
10
+ module.exports = require("./metadata.cjs");
11
+ },
9
12
  "./normalize" (module) {
10
13
  module.exports = require("./normalize.cjs");
11
14
  },
@@ -68,13 +71,17 @@ var __webpack_exports__ = {};
68
71
  var __rspack_reexport = {};
69
72
  for(const __rspack_import_key in _load__rspack_import_1)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_load__rspack_import_1[__rspack_import_key];
70
73
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
71
- var _normalize__rspack_import_2 = __webpack_require__("./normalize");
74
+ var _metadata__rspack_import_2 = __webpack_require__("./metadata");
75
+ var __rspack_reexport = {};
76
+ for(const __rspack_import_key in _metadata__rspack_import_2)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_metadata__rspack_import_2[__rspack_import_key];
77
+ __webpack_require__.d(__webpack_exports__, __rspack_reexport);
78
+ var _normalize__rspack_import_3 = __webpack_require__("./normalize");
72
79
  var __rspack_reexport = {};
73
- for(const __rspack_import_key in _normalize__rspack_import_2)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_normalize__rspack_import_2[__rspack_import_key];
80
+ for(const __rspack_import_key in _normalize__rspack_import_3)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_normalize__rspack_import_3[__rspack_import_key];
74
81
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
75
- var _types__rspack_import_3 = __webpack_require__("./types");
82
+ var _types__rspack_import_4 = __webpack_require__("./types");
76
83
  var __rspack_reexport = {};
77
- for(const __rspack_import_key in _types__rspack_import_3)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_types__rspack_import_3[__rspack_import_key];
84
+ for(const __rspack_import_key in _types__rspack_import_4)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_types__rspack_import_4[__rspack_import_key];
78
85
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
79
86
  })();
80
87
  for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
@@ -40,31 +40,18 @@ __webpack_require__.d(__webpack_exports__, {
40
40
  readUltramodernConfig: ()=>readUltramodernConfig,
41
41
  readUltramodernWorkspaceInputs: ()=>readUltramodernWorkspaceInputs
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);
45
43
  const external_node_path_namespaceObject = require("node:path");
46
44
  var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
47
- const descriptors_cjs_namespaceObject = require("../../ultramodern-workspace/descriptors.cjs");
48
45
  const external_json_cjs_namespaceObject = require("./json.cjs");
49
46
  const external_normalize_cjs_namespaceObject = require("./normalize.cjs");
50
47
  function readUltramodernConfig(workspaceRoot = process.cwd()) {
51
- const { sourcePath, config } = readCompactInputs(workspaceRoot);
52
- return (0, external_normalize_cjs_namespaceObject.normalizeCompactConfig)(workspaceRoot, sourcePath, config);
48
+ return readUltramodernWorkspaceInputs(workspaceRoot).config;
53
49
  }
54
50
  function readUltramodernWorkspaceInputs(workspaceRoot = process.cwd(), inputs = {}) {
55
- const { sourcePath, config } = readCompactInputs(workspaceRoot);
56
51
  return (0, external_normalize_cjs_namespaceObject.normalizeWorkspaceInputs)(workspaceRoot, {
57
- ...inputs,
58
- config
59
- }, sourcePath);
60
- }
61
- function readCompactInputs(workspaceRoot) {
62
- const compactPath = external_node_path_default().join(workspaceRoot, descriptors_cjs_namespaceObject.ULTRAMODERN_CONFIG_PATH);
63
- if (external_node_fs_default().existsSync(compactPath)) return {
64
- sourcePath: compactPath,
65
- config: (0, external_json_cjs_namespaceObject.readJsonObject)(compactPath)
66
- };
67
- throw new Error(`Missing UltraModern config. Expected ${descriptors_cjs_namespaceObject.ULTRAMODERN_CONFIG_PATH}.`);
52
+ topology: inputs.topology ?? (0, external_json_cjs_namespaceObject.readJsonObject)(external_node_path_default().join(workspaceRoot, 'topology/reference-topology.json')),
53
+ overlay: inputs.overlay ?? (0, external_json_cjs_namespaceObject.readJsonObject)(external_node_path_default().join(workspaceRoot, 'topology/local-overlays/development.json'))
54
+ });
68
55
  }
69
56
  exports.readUltramodernConfig = __webpack_exports__.readUltramodernConfig;
70
57
  exports.readUltramodernWorkspaceInputs = __webpack_exports__.readUltramodernWorkspaceInputs;
@@ -37,18 +37,57 @@ var __webpack_require__ = {};
37
37
  var __webpack_exports__ = {};
38
38
  __webpack_require__.r(__webpack_exports__);
39
39
  __webpack_require__.d(__webpack_exports__, {
40
- packageScopeFromRoot: ()=>packageScopeFromRoot
40
+ packageScopeFromRoot: ()=>packageScopeFromRoot,
41
+ readWorkspacePackageSource: ()=>readWorkspacePackageSource
41
42
  });
43
+ const external_node_fs_namespaceObject = require("node:fs");
44
+ var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
42
45
  const external_node_path_namespaceObject = require("node:path");
43
46
  var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
47
+ const utils_namespaceObject = require("@modern-js/utils");
44
48
  const external_json_cjs_namespaceObject = require("./json.cjs");
45
49
  function packageScopeFromRoot(workspaceRoot) {
46
50
  const rootPackage = (0, external_json_cjs_namespaceObject.readOptionalJsonObject)(external_node_path_default().join(workspaceRoot, 'package.json'));
47
51
  return 'string' == typeof rootPackage.name && rootPackage.name.length > 0 ? rootPackage.name : external_node_path_default().basename(workspaceRoot);
48
52
  }
53
+ function readWorkspacePackageSource(workspaceRoot) {
54
+ const manifest = (0, external_json_cjs_namespaceObject.readOptionalJsonObject)(external_node_path_default().join(workspaceRoot, 'package.json'));
55
+ const name = '@modern-js/ultramodern-create';
56
+ let request = manifest.devDependencies?.[name] ?? manifest.dependencies?.[name];
57
+ if ('string' != typeof request) throw new Error(`Missing ${name} dependency in package.json.`);
58
+ if (request.startsWith('catalog:')) {
59
+ const config = utils_namespaceObject.yaml.load(external_node_fs_default().readFileSync(external_node_path_default().join(workspaceRoot, 'pnpm-workspace.yaml'), 'utf8'));
60
+ const catalog = request.slice(8);
61
+ request = (catalog ? config.catalogs?.[catalog] : config.catalog)?.[name];
62
+ if ('string' != typeof request) throw new Error(`Missing ${name} in pnpm catalog ${catalog || 'default'}.`);
63
+ }
64
+ if (request.startsWith('workspace:')) return {
65
+ strategy: 'workspace',
66
+ modernPackageVersion: 'workspace:*'
67
+ };
68
+ const alias = /^npm:@([^/]+)\/([^@]+)@([^@]+)$/u.exec(request);
69
+ if (alias) {
70
+ const [, aliasScope, target, modernPackageVersion] = alias;
71
+ const suffix = 'ultramodern-create';
72
+ if (!target.endsWith(suffix)) throw new Error(`Unsupported framework package alias: ${request}.`);
73
+ return {
74
+ strategy: 'install',
75
+ modernPackageVersion,
76
+ aliasScope,
77
+ aliasPackageNamePrefix: target.slice(0, -suffix.length)
78
+ };
79
+ }
80
+ if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/u.test(request)) throw new Error(`Framework dependency must use an exact version or workspace source: ${request}.`);
81
+ return {
82
+ strategy: 'install',
83
+ modernPackageVersion: request
84
+ };
85
+ }
49
86
  exports.packageScopeFromRoot = __webpack_exports__.packageScopeFromRoot;
87
+ exports.readWorkspacePackageSource = __webpack_exports__.readWorkspacePackageSource;
50
88
  for(var __rspack_i in __webpack_exports__)if (-1 === [
51
- "packageScopeFromRoot"
89
+ "packageScopeFromRoot",
90
+ "readWorkspacePackageSource"
52
91
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
53
92
  Object.defineProperty(exports, '__esModule', {
54
93
  value: true
@@ -37,224 +37,155 @@ var __webpack_require__ = {};
37
37
  var __webpack_exports__ = {};
38
38
  __webpack_require__.r(__webpack_exports__);
39
39
  __webpack_require__.d(__webpack_exports__, {
40
- UnsupportedUltramodernConfigError: ()=>UnsupportedUltramodernConfigError,
41
- additionalShellsFromToolingConfig: ()=>additionalShellsFromToolingConfig,
42
40
  allWorkspaceAppsFromToolingConfig: ()=>allWorkspaceAppsFromToolingConfig,
43
- normalizeCompactConfig: ()=>normalizeCompactConfig,
44
- normalizeCompactUltramodernConfig: ()=>normalizeCompactUltramodernConfig,
45
41
  normalizeWorkspaceInputs: ()=>normalizeWorkspaceInputs,
46
42
  preserveUnknownProjectionFields: ()=>preserveUnknownProjectionFields,
47
43
  reconcileGeneratedOverlayUrls: ()=>reconcileGeneratedOverlayUrls,
48
44
  workspaceAppsFromToolingConfig: ()=>workspaceAppsFromToolingConfig
49
45
  });
46
+ const external_node_fs_namespaceObject = require("node:fs");
47
+ var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
50
48
  const external_node_path_namespaceObject = require("node:path");
51
49
  var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
52
50
  const topology_cjs_namespaceObject = require("../../ultramodern-workspace/add-vertical/topology.cjs");
53
- const bridge_config_cjs_namespaceObject = require("../../ultramodern-workspace/bridge-config.cjs");
54
51
  const descriptors_cjs_namespaceObject = require("../../ultramodern-workspace/descriptors.cjs");
55
52
  const mf_validation_cjs_namespaceObject = require("../../ultramodern-workspace/mf-validation.cjs");
56
53
  const naming_cjs_namespaceObject = require("../../ultramodern-workspace/naming.cjs");
57
- const shells_cjs_namespaceObject = require("../../ultramodern-workspace/shells.cjs");
58
- const types_cjs_namespaceObject = require("../../ultramodern-workspace/types.cjs");
54
+ const external_json_cjs_namespaceObject = require("./json.cjs");
59
55
  const external_metadata_cjs_namespaceObject = require("./metadata.cjs");
60
- class UnsupportedUltramodernConfigError extends Error {
61
- constructor(sourcePath, issue){
62
- const value = formatUnsupportedConfigValue(issue.value);
63
- const message = 'schemaVersion' === issue.field ? formatSchemaVersionError(sourcePath, issue.reason, value) : `Unsupported UltraModern config app kind ${value} at ${sourcePath} topology.apps[${issue.index}].kind. Supported kinds: shell, vertical.`;
64
- super(message), this.sourcePath = sourcePath, this.issue = issue;
65
- this.name = 'UnsupportedUltramodernConfigError';
66
- }
67
- }
68
- function normalizeCompactConfig(workspaceRoot, sourcePath, config) {
69
- const schemaVersion = config.schemaVersion;
70
- if (1 !== schemaVersion) throw new UnsupportedUltramodernConfigError(sourcePath, {
71
- field: 'schemaVersion',
72
- value: schemaVersion,
73
- reason: void 0 === schemaVersion ? 'missing' : Number.isInteger(schemaVersion) ? 'unsupported' : 'non-integer'
56
+ function normalizeWorkspaceInputs(workspaceRoot, inputs) {
57
+ const { topology, overlay } = inputs;
58
+ if (1 !== topology.schemaVersion || !topology.shell || !Array.isArray(topology.verticals) || void 0 !== topology.shells && !Array.isArray(topology.shells)) throw new Error('Invalid topology/reference-topology.json: expected schemaVersion 1, shell, verticals and optional shells.');
59
+ if (1 !== overlay.schemaVersion || !overlay.ports || 'object' != typeof overlay.ports) throw new Error('Invalid development overlay: expected schemaVersion 1 and ports.');
60
+ const records = [
61
+ topology.shell,
62
+ ...topology.verticals,
63
+ ...topology.shells ?? []
64
+ ];
65
+ const ids = new Set();
66
+ const paths = new Set();
67
+ const ports = new Map();
68
+ const root = external_node_fs_default().realpathSync(workspaceRoot);
69
+ const manifests = new Map();
70
+ const apps = records.map((entry, index)=>{
71
+ if ('string' != typeof entry.id || !entry.id || ids.has(entry.id)) throw new Error(`Missing or duplicate topology app id: ${entry.id}.`);
72
+ ids.add(entry.id);
73
+ if ('string' != typeof entry.path || !entry.path || external_node_path_default().isAbsolute(entry.path)) throw new Error(`Topology ${entry.id} requires a relative path.`);
74
+ const appRoot = external_node_fs_default().realpathSync(external_node_path_default().resolve(root, entry.path));
75
+ const relative = external_node_path_default().relative(root, appRoot);
76
+ if (!relative || '..' === relative || relative.startsWith(`..${external_node_path_default().sep}`) || external_node_path_default().isAbsolute(relative) || paths.has(appRoot)) throw new Error(`Topology ${entry.id} has an unsafe or duplicate path: ${entry.path}.`);
77
+ paths.add(appRoot);
78
+ const manifest = (0, external_json_cjs_namespaceObject.readJsonObject)(external_node_path_default().join(appRoot, 'package.json'));
79
+ if ('string' != typeof manifest.name || !manifest.name || void 0 !== entry.package && manifest.name !== entry.package) throw new Error(`Topology ${entry.id} package identity disagrees with ${entry.path}/package.json.`);
80
+ manifests.set(entry.id, manifest);
81
+ const port = overlay.ports[entry.id];
82
+ if (!Number.isInteger(port) || port < 1 || port > 65535 || ports.has(port)) throw new Error(`Invalid or duplicate development port for ${entry.id}: ${port}.`);
83
+ ports.set(port, entry.id);
84
+ const isShell = 0 === index || index > topology.verticals.length;
85
+ if (entry.kind !== (isShell ? 'shell' : 'vertical')) throw new Error(`Invalid topology app kind for ${entry.id}.`);
86
+ const packageSuffix = manifest.name.split('/').at(-1);
87
+ if (isShell) return {
88
+ ...descriptors_cjs_namespaceObject.shellApp,
89
+ id: entry.id,
90
+ directory: entry.path,
91
+ packageSuffix,
92
+ displayName: entry.displayName ?? entry.id,
93
+ port,
94
+ portEnv: entry.portEnv ?? (entry.id === descriptors_cjs_namespaceObject.shellApp.id ? descriptors_cjs_namespaceObject.shellApp.portEnv : `SHELL_${(0, naming_cjs_namespaceObject.toEnvSegment)(entry.id.replace(/^shell-/u, ''))}_PORT`),
95
+ mfName: entry.moduleFederation?.name ?? entry.id,
96
+ verticalRefs: entry.verticalRefs ?? entry.moduleFederation?.verticalRefs ?? [],
97
+ ...entry.deliveryUnit ? {
98
+ deliveryUnit: entry.deliveryUnit
99
+ } : {},
100
+ ownership: entry.ownership ?? (0, descriptors_cjs_namespaceObject.createNeutralOwnership)(entry.id, 'tier-0-shell')
101
+ };
102
+ const [app] = (0, topology_cjs_namespaceObject.verticalsFromTopology)({
103
+ verticals: [
104
+ entry
105
+ ]
106
+ }, overlay.ports);
107
+ const actualExposes = (0, mf_validation_cjs_namespaceObject.readModuleFederationExposePaths)(workspaceRoot, entry.path);
108
+ return {
109
+ ...app,
110
+ packageSuffix,
111
+ ...actualExposes ? {
112
+ exposes: actualExposes
113
+ } : {}
114
+ };
74
115
  });
75
- return normalizeCompactConfigV1(workspaceRoot, sourcePath, config);
76
- }
77
- function normalizeCompactConfigV1(workspaceRoot, sourcePath, config) {
78
- const packageSource = config.packageSource && 'object' == typeof config.packageSource ? {
79
- strategy: 'install' === config.packageSource.strategy ? 'install' : 'workspace',
80
- modernPackageVersion: 'string' == typeof config.packageSource.modernPackageVersion ? config.packageSource.modernPackageVersion : 'workspace:*',
81
- registry: 'string' == typeof config.packageSource.registry ? config.packageSource.registry : void 0,
82
- aliasScope: 'string' == typeof config.packageSource.aliasScope ? config.packageSource.aliasScope : void 0,
83
- aliasPackageNamePrefix: 'string' == typeof config.packageSource.aliasPackageNamePrefix ? config.packageSource.aliasPackageNamePrefix : void 0
84
- } : void 0;
85
- return {
86
- schemaVersion: 1,
87
- profile: 'string' == typeof config.profile ? config.profile : void 0,
88
- source: 'compact',
89
- sourcePath,
116
+ const knownPackages = new Set([
117
+ ...[
118
+ ...manifests.values()
119
+ ].map((manifest)=>manifest.name),
120
+ ...(topology.sharedPackages ?? []).map((entry)=>entry.package)
121
+ ]);
122
+ const primaryManifest = manifests.get(apps[0].id);
123
+ const inheritedWorkspaceDependencies = Object.fromEntries(Object.entries(primaryManifest.dependencies ?? {}).filter(([name, value])=>'string' == typeof value && value.startsWith('workspace:') && !name.startsWith('@modern-js/') && !knownPackages.has(name)));
124
+ const config = {
90
125
  workspace: {
91
- packageScope: 'string' == typeof config.workspace?.packageScope ? config.workspace.packageScope : (0, external_metadata_cjs_namespaceObject.packageScopeFromRoot)(workspaceRoot)
126
+ packageScope: (0, external_metadata_cjs_namespaceObject.packageScopeFromRoot)(workspaceRoot)
92
127
  },
93
- packageSource,
128
+ packageSource: (0, external_metadata_cjs_namespaceObject.readWorkspacePackageSource)(workspaceRoot),
94
129
  features: {
95
- tailwind: config.features?.tailwind !== false
130
+ tailwind: Boolean(primaryManifest.devDependencies?.tailwindcss ?? primaryManifest.dependencies?.tailwindcss)
96
131
  },
97
- bridge: (0, bridge_config_cjs_namespaceObject.normalizeUltramodernBridgeConfig)(config.bridge),
132
+ inheritedWorkspaceDependencies,
98
133
  topology: {
99
- apps: Array.isArray(config.topology?.apps) ? config.topology.apps.map((app, index)=>{
100
- if ('shell' !== app.kind && 'vertical' !== app.kind) throw new UnsupportedUltramodernConfigError(sourcePath, {
101
- field: 'topology.apps.kind',
102
- index,
103
- value: app.kind
104
- });
105
- return {
106
- id: String(app.id),
107
- ...app.deliveryUnit ? {
108
- deliveryUnit: app.deliveryUnit
109
- } : {},
134
+ apps: apps.map((app)=>({
135
+ id: app.id,
110
136
  kind: app.kind,
111
- path: 'string' == typeof app.path ? app.path : '.',
112
- package: 'string' == typeof app.package ? app.package : void 0,
113
- packageSuffix: 'string' == typeof app.packageSuffix ? app.packageSuffix : void 0,
114
- displayName: 'string' == typeof app.displayName ? app.displayName : void 0,
115
- domain: 'string' == typeof app.domain ? app.domain : void 0,
116
- ...(0, types_cjs_namespaceObject.isVerticalPreset)(app.surfaceProfile) ? {
117
- surfaceProfile: app.surfaceProfile
118
- } : {},
119
- ...(0, types_cjs_namespaceObject.isWorkspaceDeliveryUnitKind)(app.deliveryUnitKind) ? {
120
- deliveryUnitKind: app.deliveryUnitKind
121
- } : {},
122
- port: 'number' == typeof app.port ? app.port : void 0,
123
- portEnv: 'string' == typeof app.portEnv ? app.portEnv : void 0,
124
- moduleFederation: app.moduleFederation && 'object' == typeof app.moduleFederation ? {
125
- role: 'remote' === app.moduleFederation.role ? 'remote' : 'host',
126
- name: 'string' == typeof app.moduleFederation.name ? app.moduleFederation.name : void 0,
127
- exposes: Array.isArray(app.moduleFederation.exposes) ? app.moduleFederation.exposes.filter((expose)=>'string' == typeof expose) : void 0,
128
- exposePaths: null === app.moduleFederation.exposePaths || 'object' != typeof app.moduleFederation.exposePaths || Array.isArray(app.moduleFederation.exposePaths) ? void 0 : Object.fromEntries(Object.entries(app.moduleFederation.exposePaths).filter((entry)=>'string' == typeof entry[0] && 'string' == typeof entry[1])),
129
- verticalRefs: Array.isArray(app.moduleFederation.verticalRefs) ? app.moduleFederation.verticalRefs.filter((ref)=>'string' == typeof ref) : void 0,
130
- hostOnly: true === app.moduleFederation.hostOnly,
131
- noExposes: true === app.moduleFederation.noExposes
132
- } : void 0,
133
- api: app.api && 'object' == typeof app.api ? {
134
- stem: 'string' == typeof app.api.stem ? app.api.stem : String(app.id),
135
- prefix: 'string' == typeof app.api.prefix ? app.api.prefix : `/${String(app.id)}-api`,
136
- consumedBy: Array.isArray(app.api.consumedBy) ? app.api.consumedBy.filter((consumer)=>'string' == typeof consumer) : [
137
- descriptors_cjs_namespaceObject.shellApp.id,
138
- String(app.id)
139
- ],
140
- ...(0, types_cjs_namespaceObject.isVerticalApiProtocol)(app.api.protocol) ? {
141
- protocol: app.api.protocol
142
- } : {}
143
- } : void 0
144
- };
145
- }) : []
146
- },
147
- ...Array.isArray(config.shells) && config.shells.length > 0 ? {
148
- shells: config.shells.filter((shell)=>null !== shell && 'object' == typeof shell && !Array.isArray(shell))
149
- } : {}
137
+ path: app.directory,
138
+ package: manifests.get(app.id).name,
139
+ packageSuffix: app.packageSuffix,
140
+ displayName: app.displayName,
141
+ domain: app.domain,
142
+ port: app.port,
143
+ portEnv: app.portEnv,
144
+ surfaceProfile: app.surfaceProfile,
145
+ deliveryUnitKind: app.deliveryUnitKind,
146
+ deliveryUnit: app.deliveryUnit,
147
+ moduleFederation: {
148
+ role: 'shell' === app.kind ? 'host' : 'remote',
149
+ name: app.mfName,
150
+ exposes: Object.keys(app.exposes ?? {}),
151
+ exposePaths: app.exposes,
152
+ verticalRefs: app.verticalRefs
153
+ },
154
+ api: app.api
155
+ }))
156
+ }
157
+ };
158
+ return {
159
+ raw: inputs,
160
+ config,
161
+ apps,
162
+ primaryShell: apps[0],
163
+ verticals: apps.filter((app)=>'vertical' === app.kind),
164
+ additionalShells: apps.filter((app, index)=>index > 0 && 'shell' === app.kind)
150
165
  };
151
166
  }
152
- function formatUnsupportedConfigValue(value) {
153
- if (void 0 === value) return 'missing';
154
- return JSON.stringify(value) ?? String(value);
155
- }
156
- function formatSchemaVersionError(sourcePath, reason, value) {
157
- switch(reason){
158
- case 'missing':
159
- return `UltraModern config schemaVersion is required in ${sourcePath}. Versionless v1 configs are not supported; set schemaVersion to the integer 1.`;
160
- case 'non-integer':
161
- return `Invalid UltraModern config schemaVersion ${value} in ${sourcePath}. schemaVersion must be the integer 1; versionless v1 configs are not supported.`;
162
- case 'unsupported':
163
- return `Unsupported UltraModern config schemaVersion ${value} in ${sourcePath}. Supported schema versions: 1. Versionless v1 configs are not supported.`;
164
- }
165
- }
166
- function normalizeCompactUltramodernConfig(workspaceRoot, compact) {
167
- return normalizeCompactConfig(workspaceRoot, external_node_path_default().join(workspaceRoot, descriptors_cjs_namespaceObject.ULTRAMODERN_CONFIG_PATH), compact);
168
- }
169
- function workspaceAppsFromToolingConfig(config, workspaceRoot) {
170
- return config.topology.apps.map((app)=>{
171
- if ('shell' === app.kind) return {
172
- ...descriptors_cjs_namespaceObject.shellApp,
173
- ...app.deliveryUnit ? {
174
- deliveryUnit: app.deliveryUnit
175
- } : {},
176
- directory: app.path,
177
- packageSuffix: app.packageSuffix ?? descriptors_cjs_namespaceObject.shellApp.packageSuffix,
178
- displayName: app.displayName ?? descriptors_cjs_namespaceObject.shellApp.displayName,
179
- port: app.port ?? descriptors_cjs_namespaceObject.shellApp.port,
180
- portEnv: app.portEnv ?? descriptors_cjs_namespaceObject.shellApp.portEnv,
181
- mfName: app.moduleFederation?.name ?? descriptors_cjs_namespaceObject.shellApp.mfName,
182
- verticalRefs: app.moduleFederation?.verticalRefs ?? []
183
- };
184
- const domain = app.domain ?? app.id;
185
- const packageSuffix = app.packageSuffix ?? domain;
186
- const exposePaths = app.moduleFederation?.exposePaths ?? {};
187
- const federatedPaths = void 0 === workspaceRoot ? void 0 : (0, mf_validation_cjs_namespaceObject.readModuleFederationExposePaths)(workspaceRoot, app.path);
188
- const exposes = Object.fromEntries((app.moduleFederation?.exposes ?? []).map((expose)=>{
189
- const configuredPath = federatedPaths?.[expose] ?? exposePaths[expose];
190
- const inferredPath = './Route' === expose ? './src/federation-entry.tsx' : './Widget' === expose ? `./src/components/${domain}-widget.tsx` : `./src/components/${(0, naming_cjs_namespaceObject.toKebabCase)(expose.replace(/^\.\//u, ''))}.tsx`;
191
- return [
192
- expose,
193
- configuredPath ?? inferredPath
194
- ];
195
- }));
196
- return {
167
+ function workspaceAppsFromToolingConfig(config, _workspaceRoot) {
168
+ return config.topology.apps.map((app)=>({
197
169
  id: app.id,
198
- ...app.deliveryUnit ? {
199
- deliveryUnit: app.deliveryUnit
200
- } : {},
170
+ kind: app.kind,
201
171
  directory: app.path,
202
- packageSuffix,
203
- displayName: app.displayName ?? `${domain} Vertical`,
204
- kind: 'vertical',
205
- domain,
206
- portEnv: app.portEnv ?? `VERTICAL_${domain.replace(/[^a-zA-Z0-9]+/g, '_').toUpperCase()}_PORT`,
207
- port: app.port ?? 0,
172
+ packageSuffix: app.packageSuffix ?? app.id,
173
+ displayName: app.displayName ?? app.id,
174
+ port: app.port,
175
+ portEnv: app.portEnv,
208
176
  mfName: app.moduleFederation?.name ?? app.id,
209
- exposes,
210
- ...app.moduleFederation?.verticalRefs ? {
211
- verticalRefs: app.moduleFederation.verticalRefs
212
- } : {},
213
- ...void 0 === app.surfaceProfile ? {} : {
214
- surfaceProfile: app.surfaceProfile
215
- },
216
- ...void 0 === app.deliveryUnitKind ? {} : {
217
- deliveryUnitKind: app.deliveryUnitKind
218
- },
219
- ...app.api ? {
220
- api: app.api
221
- } : {},
177
+ domain: app.domain,
178
+ surfaceProfile: app.surfaceProfile,
179
+ deliveryUnitKind: app.deliveryUnitKind,
180
+ deliveryUnit: app.deliveryUnit,
181
+ exposes: app.moduleFederation?.exposePaths,
182
+ verticalRefs: app.moduleFederation?.verticalRefs,
183
+ api: app.api,
222
184
  ownership: (0, descriptors_cjs_namespaceObject.createNeutralOwnership)(app.id)
223
- };
224
- });
225
- }
226
- function additionalShellsFromToolingConfig(config) {
227
- return (0, shells_cjs_namespaceObject.resolveConfiguredAdditionalShells)(config);
185
+ }));
228
186
  }
229
187
  function allWorkspaceAppsFromToolingConfig(config, workspaceRoot) {
230
- return [
231
- ...workspaceAppsFromToolingConfig(config, workspaceRoot),
232
- ...additionalShellsFromToolingConfig(config)
233
- ];
234
- }
235
- function normalizeWorkspaceInputs(workspaceRoot, inputs, sourcePath = external_node_path_default().join(workspaceRoot, descriptors_cjs_namespaceObject.ULTRAMODERN_CONFIG_PATH)) {
236
- const config = normalizeCompactConfig(workspaceRoot, sourcePath, inputs.config);
237
- const ports = inputs.overlay?.ports ?? {};
238
- const additionalShells = additionalShellsFromToolingConfig(config);
239
- const topologyApps = inputs.topology ? [
240
- (0, topology_cjs_namespaceObject.createPrimaryShellDescriptor)(inputs.topology, inputs.config),
241
- ...(0, topology_cjs_namespaceObject.verticalsFromTopology)(inputs.topology, ports)
242
- ] : workspaceAppsFromToolingConfig(config, workspaceRoot);
243
- const apps = [
244
- ...topologyApps.map((app)=>({
245
- ...app,
246
- port: 'number' == typeof ports[app.id] ? ports[app.id] : app.port
247
- })),
248
- ...additionalShells
249
- ];
250
- return {
251
- raw: inputs,
252
- config,
253
- apps,
254
- primaryShell: apps.find((app)=>app.id === descriptors_cjs_namespaceObject.shellApp.id),
255
- verticals: apps.filter((app)=>'vertical' === app.kind),
256
- additionalShells
257
- };
188
+ return workspaceAppsFromToolingConfig(config, workspaceRoot);
258
189
  }
259
190
  function reconcileGeneratedOverlayUrls(existing, previous, projected) {
260
191
  return Object.fromEntries([
@@ -289,21 +220,13 @@ function preserveUnknownProjectionFields(current, projected) {
289
220
  ]))
290
221
  };
291
222
  }
292
- exports.UnsupportedUltramodernConfigError = __webpack_exports__.UnsupportedUltramodernConfigError;
293
- exports.additionalShellsFromToolingConfig = __webpack_exports__.additionalShellsFromToolingConfig;
294
223
  exports.allWorkspaceAppsFromToolingConfig = __webpack_exports__.allWorkspaceAppsFromToolingConfig;
295
- exports.normalizeCompactConfig = __webpack_exports__.normalizeCompactConfig;
296
- exports.normalizeCompactUltramodernConfig = __webpack_exports__.normalizeCompactUltramodernConfig;
297
224
  exports.normalizeWorkspaceInputs = __webpack_exports__.normalizeWorkspaceInputs;
298
225
  exports.preserveUnknownProjectionFields = __webpack_exports__.preserveUnknownProjectionFields;
299
226
  exports.reconcileGeneratedOverlayUrls = __webpack_exports__.reconcileGeneratedOverlayUrls;
300
227
  exports.workspaceAppsFromToolingConfig = __webpack_exports__.workspaceAppsFromToolingConfig;
301
228
  for(var __rspack_i in __webpack_exports__)if (-1 === [
302
- "UnsupportedUltramodernConfigError",
303
- "additionalShellsFromToolingConfig",
304
229
  "allWorkspaceAppsFromToolingConfig",
305
- "normalizeCompactConfig",
306
- "normalizeCompactUltramodernConfig",
307
230
  "normalizeWorkspaceInputs",
308
231
  "preserveUnknownProjectionFields",
309
232
  "reconcileGeneratedOverlayUrls",