@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
@@ -27,184 +27,124 @@ var __webpack_require__ = {};
27
27
  })();
28
28
  var __webpack_exports__ = {};
29
29
  __webpack_require__.r(__webpack_exports__);
30
- function isEscaped(source, index) {
31
- let slashCount = 0;
32
- for(let cursor = index - 1; cursor >= 0 && '\\' === source[cursor]; cursor -= 1)slashCount += 1;
33
- return slashCount % 2 === 1;
34
- }
35
- function skipQuoted(source, start, quote) {
36
- for(let index = start + 1; index < source.length; index += 1)if (source[index] === quote && !isEscaped(source, index)) return index + 1;
37
- return source.length;
38
- }
39
- function skipLineComment(source, start) {
40
- const newline = source.indexOf('\n', start + 2);
41
- return -1 === newline ? source.length : newline + 1;
42
- }
43
- function skipBlockComment(source, start) {
44
- const close = source.indexOf('*/', start + 2);
45
- return -1 === close ? source.length : close + 2;
46
- }
47
- function skipTemplateExpression(source, start) {
48
- let depth = 1;
49
- for(let index = start + 1; index < source.length; index += 1){
50
- const char = source[index];
51
- const next = source[index + 1];
52
- if ("'" === char) {
53
- index = skipQuoted(source, index, "'") - 1;
54
- continue;
55
- }
56
- if ('"' === char) {
57
- index = skipQuoted(source, index, '"') - 1;
58
- continue;
59
- }
60
- if ('`' === char) {
61
- index = skipTemplate(source, index) - 1;
62
- continue;
63
- }
64
- if ('/' === char && '/' === next) {
65
- index = skipLineComment(source, index) - 1;
66
- continue;
67
- }
68
- if ('/' === char && '*' === next) {
69
- index = skipBlockComment(source, index) - 1;
70
- continue;
71
- }
72
- if ('{' === char) {
73
- depth += 1;
74
- continue;
75
- }
76
- if ('}' === char) {
77
- depth -= 1;
78
- if (0 === depth) return index + 1;
79
- }
80
- }
81
- return source.length;
30
+ __webpack_require__.d(__webpack_exports__, {
31
+ findCreateModuleFederationConfigObject: ()=>findCreateModuleFederationConfigObject,
32
+ findExportDefaultObject: ()=>findExportDefaultObject,
33
+ locateCreateModuleFederationConfigObject: ()=>locateCreateModuleFederationConfigObject,
34
+ parseConfigModule: ()=>parseConfigModule,
35
+ parseStaticExpression: ()=>parseStaticExpression
36
+ });
37
+ const parser_namespaceObject = require("@babel/parser");
38
+ function unwrapExpression(node) {
39
+ while('TSAsExpression' === node.type || 'TSSatisfiesExpression' === node.type || 'TSNonNullExpression' === node.type || 'TSTypeAssertion' === node.type || 'ParenthesizedExpression' === node.type)node = node.expression;
40
+ return node;
82
41
  }
83
- function skipTemplate(source, start) {
84
- for(let index = start + 1; index < source.length; index += 1){
85
- const char = source[index];
86
- const next = source[index + 1];
87
- if ('`' === char && !isEscaped(source, index)) return index + 1;
88
- if ('$' === char && '{' === next && !isEscaped(source, index)) index = skipTemplateExpression(source, index + 1) - 1;
42
+ function parseStaticExpression(source) {
43
+ if (void 0 === source) return;
44
+ try {
45
+ return unwrapExpression((0, parser_namespaceObject.parseExpression)(source, {
46
+ plugins: [
47
+ "typescript"
48
+ ]
49
+ }));
50
+ } catch {
51
+ return;
89
52
  }
90
- return source.length;
91
53
  }
92
- function skipSyntax(source, index) {
93
- const char = source[index];
94
- const next = source[index + 1];
95
- if ("'" === char) return skipQuoted(source, index, "'");
96
- if ('"' === char) return skipQuoted(source, index, '"');
97
- if ('`' === char) return skipTemplate(source, index);
98
- if ('/' === char && '/' === next) return skipLineComment(source, index);
99
- if ('/' === char && '*' === next) return skipBlockComment(source, index);
100
- return index;
54
+ function parseConfigModule(source) {
55
+ return (0, parser_namespaceObject.parse)(source, {
56
+ sourceType: 'module',
57
+ plugins: [
58
+ "typescript"
59
+ ]
60
+ });
101
61
  }
102
- function findBalanced(source, start, open, close) {
103
- let depth = 1;
104
- for(let index = start + 1; index < source.length; index += 1){
105
- const skipped = skipSyntax(source, index);
106
- if (skipped !== index) {
107
- index = skipped - 1;
108
- continue;
62
+ function locateExportedConfig(source, factory) {
63
+ const module = parseConfigModule(source);
64
+ const constants = new Map();
65
+ const bindingStarts = new Map();
66
+ const resolvedBindings = new Set();
67
+ const allowedReferences = new Set();
68
+ const factories = new Set();
69
+ const namespaces = new Set();
70
+ const defaults = [];
71
+ for (const statement of module.program.body){
72
+ if ('ImportDeclaration' === statement.type && 'type' !== statement.importKind && '@module-federation/modern-js-v3' === statement.source.value) {
73
+ for (const specifier of statement.specifiers)if ('ImportNamespaceSpecifier' === specifier.type) namespaces.add(specifier.local.name);
74
+ else if ('ImportSpecifier' === specifier.type && 'type' !== specifier.importKind && ('Identifier' === specifier.imported.type ? specifier.imported.name : specifier.imported.value) === 'createModuleFederationConfig') factories.add(specifier.local.name);
109
75
  }
110
- if (source[index] === open) {
111
- depth += 1;
112
- continue;
76
+ const declaration = 'ExportNamedDeclaration' === statement.type ? statement.declaration : statement;
77
+ if (declaration?.type === 'VariableDeclaration' && 'const' === declaration.kind) {
78
+ for (const binding of declaration.declarations)if ('Identifier' === binding.id.type && binding.init) {
79
+ constants.set(binding.id.name, binding.init);
80
+ bindingStarts.set(binding.id.name, binding.id.start);
81
+ }
113
82
  }
114
- if (source[index] === close) {
115
- depth -= 1;
116
- if (0 === depth) return index;
83
+ if ('ExportDefaultDeclaration' === statement.type) defaults.push(statement.declaration);
84
+ else if ('ExportNamedDeclaration' === statement.type && !statement.source && 'type' !== statement.exportKind) {
85
+ for (const specifier of statement.specifiers)if ('ExportSpecifier' === specifier.type && 'type' !== specifier.exportKind && ('Identifier' === specifier.exported.type ? specifier.exported.name : specifier.exported.value) === 'default') defaults.push(specifier.local);
117
86
  }
118
87
  }
119
- }
120
- function skipWhitespaceAndComments(source, start) {
121
- let index = start;
122
- while(index < source.length){
123
- const char = source[index];
124
- const next = source[index + 1];
125
- if (/\s/u.test(char ?? '')) {
126
- index += 1;
127
- continue;
88
+ const resolve = (node, seen = new Set())=>{
89
+ if (!node) return;
90
+ if ('Identifier' === node.type) {
91
+ if (seen.has(node.name)) return;
92
+ seen.add(node.name);
93
+ resolvedBindings.add(node.name);
94
+ if (null != node.start) allowedReferences.add(node.start);
95
+ const bindingStart = bindingStarts.get(node.name);
96
+ if (null != bindingStart) allowedReferences.add(bindingStart);
97
+ return resolve(constants.get(node.name), seen);
128
98
  }
129
- if ('/' === char && '/' === next) {
130
- index = skipLineComment(source, index);
131
- continue;
132
- }
133
- if ('/' === char && '*' === next) {
134
- index = skipBlockComment(source, index);
135
- continue;
136
- }
137
- break;
99
+ if ('TSAsExpression' === node.type || 'TSSatisfiesExpression' === node.type || 'TSNonNullExpression' === node.type || 'TSTypeAssertion' === node.type || 'ParenthesizedExpression' === node.type) return resolve(node.expression, seen);
100
+ return node;
101
+ };
102
+ if (1 !== defaults.length) return;
103
+ let node = resolve(defaults[0]);
104
+ if (factory) {
105
+ if (node?.type !== 'CallExpression' || 1 !== node.arguments.length) return;
106
+ const callee = node.callee;
107
+ const supported = 'Identifier' === callee.type && factories.has(callee.name) || 'MemberExpression' === callee.type && !callee.computed && 'Identifier' === callee.object.type && namespaces.has(callee.object.name) && 'Identifier' === callee.property.type && 'createModuleFederationConfig' === callee.property.name;
108
+ if (!supported) return;
109
+ const argument = node.arguments[0];
110
+ if (!argument || 'SpreadElement' === argument.type || 'ArgumentPlaceholder' === argument.type) return;
111
+ node = resolve(argument);
138
112
  }
139
- return index;
140
- }
141
- function hasIdentifierBoundary(source, start, end) {
142
- return !/[$\w]/u.test(source[start - 1] ?? '') && !/[$\w]/u.test(source[end] ?? '');
113
+ if (node?.type !== 'ObjectExpression' || null == node.start || null == node.end) return;
114
+ const hasOtherReference = (value)=>{
115
+ if (!value || 'object' != typeof value) return false;
116
+ if (Array.isArray(value)) return value.some(hasOtherReference);
117
+ const entry = value;
118
+ if ('Identifier' === entry.type && 'string' == typeof entry.name && resolvedBindings.has(entry.name) && ('number' != typeof entry.start || !allowedReferences.has(entry.start))) return true;
119
+ return Object.entries(entry).some(([key, child])=>'loc' !== key && 'comments' !== key && 'leadingComments' !== key && 'trailingComments' !== key && hasOtherReference(child));
120
+ };
121
+ if (hasOtherReference(module.program)) return;
122
+ return {
123
+ start: node.start,
124
+ end: node.end,
125
+ source: source.slice(node.start, node.end)
126
+ };
143
127
  }
144
128
  function locateCreateModuleFederationConfigObject(source) {
145
- const callee = 'createModuleFederationConfig';
146
- let offset = 0;
147
- while(offset < source.length){
148
- const index = source.indexOf(callee, offset);
149
- if (-1 === index) break;
150
- offset = index + callee.length;
151
- if (!hasIdentifierBoundary(source, index, offset)) continue;
152
- const parenIndex = skipWhitespaceAndComments(source, offset);
153
- if ('(' !== source[parenIndex]) continue;
154
- const argumentIndex = skipWhitespaceAndComments(source, parenIndex + 1);
155
- if ('{' !== source[argumentIndex]) throw new Error('Module Federation config must pass a static object literal to createModuleFederationConfig.');
156
- const closeIndex = findBalanced(source, argumentIndex, '{', '}');
157
- if (void 0 === closeIndex) throw new Error('Module Federation config object literal is not closed.');
158
- return {
159
- end: closeIndex + 1,
160
- source: source.slice(argumentIndex, closeIndex + 1),
161
- start: argumentIndex
162
- };
163
- }
129
+ return locateExportedConfig(source, true);
164
130
  }
165
131
  function findCreateModuleFederationConfigObject(source) {
166
132
  return locateCreateModuleFederationConfigObject(source)?.source;
167
133
  }
168
134
  function findExportDefaultObject(source) {
169
- const exportDefault = 'export default';
170
- const index = source.indexOf(exportDefault);
171
- if (-1 === index) return;
172
- const objectStart = skipWhitespaceAndComments(source, index + exportDefault.length);
173
- if ('{' !== source[objectStart]) return;
174
- const objectEnd = findBalanced(source, objectStart, '{', '}');
175
- if (void 0 === objectEnd) throw new Error('Module Federation export default object is not closed.');
176
- return source.slice(objectStart, objectEnd + 1);
135
+ return locateExportedConfig(source, false)?.source;
177
136
  }
178
- function getOuterBlock(source, open, close) {
179
- const trimmed = source.trim();
180
- if (trimmed[0] !== open) return;
181
- const end = findBalanced(trimmed, 0, open, close);
182
- if (void 0 === end) return;
183
- const suffix = trimmed.slice(end + 1).trim();
184
- if ('' !== suffix && !suffix.startsWith('as ') && !suffix.startsWith('satisfies ')) return;
185
- return {
186
- inner: trimmed.slice(1, end),
187
- suffix
188
- };
189
- }
190
- __webpack_require__.d(__webpack_exports__, {
191
- findCreateModuleFederationConfigObject: ()=>findCreateModuleFederationConfigObject,
192
- findExportDefaultObject: ()=>findExportDefaultObject,
193
- getOuterBlock: ()=>getOuterBlock,
194
- locateCreateModuleFederationConfigObject: ()=>locateCreateModuleFederationConfigObject,
195
- skipSyntax: ()=>skipSyntax
196
- });
197
137
  exports.findCreateModuleFederationConfigObject = __webpack_exports__.findCreateModuleFederationConfigObject;
198
138
  exports.findExportDefaultObject = __webpack_exports__.findExportDefaultObject;
199
- exports.getOuterBlock = __webpack_exports__.getOuterBlock;
200
139
  exports.locateCreateModuleFederationConfigObject = __webpack_exports__.locateCreateModuleFederationConfigObject;
201
- exports.skipSyntax = __webpack_exports__.skipSyntax;
140
+ exports.parseConfigModule = __webpack_exports__.parseConfigModule;
141
+ exports.parseStaticExpression = __webpack_exports__.parseStaticExpression;
202
142
  for(var __rspack_i in __webpack_exports__)if (-1 === [
203
143
  "findCreateModuleFederationConfigObject",
204
144
  "findExportDefaultObject",
205
- "getOuterBlock",
206
145
  "locateCreateModuleFederationConfigObject",
207
- "skipSyntax"
146
+ "parseConfigModule",
147
+ "parseStaticExpression"
208
148
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
209
149
  Object.defineProperty(exports, '__esModule', {
210
150
  value: true
@@ -30,17 +30,21 @@ __webpack_require__.r(__webpack_exports__);
30
30
  __webpack_require__.d(__webpack_exports__, {
31
31
  discoverModuleFederationConfigs: ()=>discovery_cjs_namespaceObject.discoverModuleFederationConfigs,
32
32
  inspectModuleFederationConfigSource: ()=>inspect_cjs_namespaceObject.inspectModuleFederationConfigSource,
33
+ readModuleFederationExposePaths: ()=>exposes_cjs_namespaceObject.readModuleFederationExposePaths,
33
34
  validateModuleFederationTypes: ()=>validate_cjs_namespaceObject.validateModuleFederationTypes
34
35
  });
35
36
  const discovery_cjs_namespaceObject = require("./mf-validation/discovery.cjs");
37
+ const exposes_cjs_namespaceObject = require("./mf-validation/exposes.cjs");
36
38
  const inspect_cjs_namespaceObject = require("./mf-validation/inspect.cjs");
37
39
  const validate_cjs_namespaceObject = require("./mf-validation/validate.cjs");
38
40
  exports.discoverModuleFederationConfigs = __webpack_exports__.discoverModuleFederationConfigs;
39
41
  exports.inspectModuleFederationConfigSource = __webpack_exports__.inspectModuleFederationConfigSource;
42
+ exports.readModuleFederationExposePaths = __webpack_exports__.readModuleFederationExposePaths;
40
43
  exports.validateModuleFederationTypes = __webpack_exports__.validateModuleFederationTypes;
41
44
  for(var __rspack_i in __webpack_exports__)if (-1 === [
42
45
  "discoverModuleFederationConfigs",
43
46
  "inspectModuleFederationConfigSource",
47
+ "readModuleFederationExposePaths",
44
48
  "validateModuleFederationTypes"
45
49
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
46
50
  Object.defineProperty(exports, '__esModule', {
@@ -43,14 +43,18 @@ const external_types_cjs_namespaceObject = require("../types.cjs");
43
43
  const external_versions_cjs_namespaceObject = require("../versions.cjs");
44
44
  const external_remote_refs_cjs_namespaceObject = require("./remote-refs.cjs");
45
45
  const external_shared_config_cjs_namespaceObject = require("./shared-config.cjs");
46
- function createAppModernConfig(scope, app, remotes = [], enableTailwind = true, configuredDevPorts) {
46
+ function createAppModernConfig(scope, app, remotes = [], enableTailwind = true, _configuredDevPorts) {
47
47
  const deliveryUnit = (0, external_delivery_unit_cjs_namespaceObject.createDeliveryUnitRecord)(scope, app);
48
48
  const emitsUi = (0, external_descriptors_cjs_namespaceObject.appEmitsBrowserUi)(app);
49
- const bffImport = (0, external_descriptors_cjs_namespaceObject.appHasApi)(app) ? "import { bffPlugin } from '@modern-js/plugin-bff';\n" : '';
50
- const uiImports = emitsUi ? `import { moduleFederationPlugin } from '@module-federation/modern-js-v3';
49
+ const bffImport = (0, external_descriptors_cjs_namespaceObject.appHasApi)(app) ? "import { bffPlugin } from '@modern-js/plugin-bff-build-extensions';\n" : '';
50
+ const uiImports = emitsUi ? `import {
51
+ getBuildConfigEnvironment,
52
+ resolveDeployTarget,
53
+ } from '@modern-js/app-tools-extensions/config';
54
+ import { moduleFederationPlugin } from '@module-federation/modern-js-v3';
51
55
  import { withZephyr as withZephyrRspack } from 'zephyr-rspack-plugin';
52
56
  import { ultramodernLocalisedUrls } from './src/routes/ultramodern-route-metadata';
53
- ` : '';
57
+ ` : "import {\n getBuildConfigEnvironment,\n resolveDeployTarget,\n} from '@modern-js/app-tools-extensions/config';\n";
54
58
  const zephyrPluginSource = emitsUi ? `const zephyrRspackPlugin = () => ({
55
59
  name: 'ultramodern-zephyr-rspack-plugin',
56
60
  pre: ['@modern-js/plugin-module-federation-config'],
@@ -67,16 +71,19 @@ import { ultramodernLocalisedUrls } from './src/routes/ultramodern-route-metadat
67
71
  // no account, and is never blocked. This is the framework's "works with or
68
72
  // without Zephyr" contract. The plugin stays registered unconditionally
69
73
  // (this gate keys on Zephyr's native deploy token, not any UltraModern
70
- // opt-out). When deploying, ZE_FAIL_BUILD=true makes an upload failure a
71
- // hard build failure.
74
+ // opt-out). The deploy environment sets ZE_FAIL_BUILD=true next to
75
+ // ZE_CI_TOKEN so an upload failure is a hard build failure.
72
76
  const zephyrCiDeploy =
73
77
  (getBuildConfigEnvironment('ZE_CI_TOKEN') ?? '').length > 0;
74
78
  if (!zephyrCiDeploy) {
75
79
  return;
76
80
  }
77
- api.modifyRspackConfig(
78
- withBuildConfigEnvironment('ZE_FAIL_BUILD', 'true', withZephyrRspack()),
79
- );
81
+ if (getBuildConfigEnvironment('ZE_FAIL_BUILD') !== 'true') {
82
+ throw new Error(
83
+ 'ZE_CI_TOKEN is set but ZE_FAIL_BUILD is not "true", so a failed Zephyr upload would not fail the deploy. Set ZE_FAIL_BUILD=true in the deploy environment next to ZE_CI_TOKEN.',
84
+ );
85
+ }
86
+ api.modifyRspackConfig(withZephyrRspack());
80
87
  },
81
88
  });
82
89
 
@@ -134,18 +141,7 @@ const defaultAssetPrefix = defaultRemoteAssetPrefix;`;
134
141
  assetPrefix: '/',` : ` // Remote dev manifests must publish an absolute publicPath so host
135
142
  // shells load remoteEntry.js and exposed chunks from this dev server.
136
143
  assetPrefix,`;
137
- const developmentPorts = [
138
- ...new Set((configuredDevPorts ?? [
139
- external_descriptors_cjs_namespaceObject.shellApp.port,
140
- app.port,
141
- ...remotes.map((remote)=>remote.port)
142
- ]).filter((port)=>'number' == typeof port && Number.isFinite(port)))
143
- ].toSorted((left, right)=>left - right);
144
- const legacyCorsSource = `const moduleFederationDevServerOrigin =
145
- envValue('ULTRAMODERN_MF_DEV_ORIGIN') || 'http://localhost:${external_descriptors_cjs_namespaceObject.shellApp.port}';`;
146
- const configuredCorsSource = `const moduleFederationDevServerAllowedOrigins = [
147
- ${developmentPorts.map((port)=>` 'http://localhost:${port}',`).join('\n')}
148
- ];`;
144
+ const configuredCorsSource = "const moduleFederationDevServerAllowedOrigins = Object.values(developmentOverlay.ports).map(localPort => `http://localhost:${localPort}`);";
149
145
  const configuredCorsDevServer = ` // MF assets are non-credentialed and only permit configured local app origins.
150
146
  server: {
151
147
  cors: {
@@ -153,8 +149,7 @@ ${developmentPorts.map((port)=>` 'http://localhost:${port}',`).join('\n')}
153
149
  origin: moduleFederationDevServerAllowedOrigins,
154
150
  },
155
151
  },`;
156
- const useConfiguredCorsAllowlist = void 0 !== configuredDevPorts;
157
- const configuredCorsHeader = useConfiguredCorsAllowlist ? 1 === developmentPorts.length ? "'Access-Control-Allow-Origin': moduleFederationDevServerAllowedOrigins[0]," : '' : "'Access-Control-Allow-Origin': moduleFederationDevServerOrigin,";
152
+ const configuredCorsHeader = "...(moduleFederationDevServerAllowedOrigins.length === 1 ? { 'Access-Control-Allow-Origin': moduleFederationDevServerAllowedOrigins[0] } : {}),";
158
153
  return (0, external_fs_io_cjs_namespaceObject.renderFileTemplate)('workspace/apps/modern.config.ts', {
159
154
  value0: `${bffImport}${tailwindImport}`,
160
155
  value1: app.id,
@@ -164,7 +159,6 @@ ${developmentPorts.map((port)=>` 'http://localhost:${port}',`).join('\n')}
164
159
  value5: (0, external_descriptors_cjs_namespaceObject.createCloudflarePublicUrlEnv)(app),
165
160
  value6: String(external_descriptors_cjs_namespaceObject.shellApp.port),
166
161
  value7: defaultAssetPrefixSource,
167
- value8: (0, external_descriptors_cjs_namespaceObject.createCloudflarePublicUrlEnv)(app),
168
162
  value9: bffConfig,
169
163
  value10: external_versions_cjs_namespaceObject.CLOUDFLARE_COMPATIBILITY_DATE,
170
164
  value11: (0, external_policy_cjs_namespaceObject.formatTsJsonValue)((0, external_types_cjs_namespaceObject.sortJsonValue)((0, external_policy_cjs_namespaceObject.createCloudflareSecurityContract)()), 16),
@@ -175,8 +169,8 @@ ${developmentPorts.map((port)=>` 'http://localhost:${port}',`).join('\n')}
175
169
  value16: (0, external_naming_cjs_namespaceObject.createRspackUniqueName)(app),
176
170
  value17: (0, external_naming_cjs_namespaceObject.createRspackChunkLoadingGlobal)(app),
177
171
  value18: tailwindBuilderPluginsConfig,
178
- value19: useConfiguredCorsAllowlist ? configuredCorsSource : legacyCorsSource,
179
- value20: useConfiguredCorsAllowlist ? configuredCorsDevServer : '',
172
+ value19: configuredCorsSource,
173
+ value20: configuredCorsDevServer,
180
174
  value21: configuredCorsHeader,
181
175
  value22: uiImports,
182
176
  value23: zephyrPluginSource,
@@ -184,7 +178,8 @@ ${developmentPorts.map((port)=>` 'http://localhost:${port}',`).join('\n')}
184
178
  value25: uiPluginEntries,
185
179
  value26: deliveryUnit.unitId,
186
180
  value27: deliveryUnit.buildMarker,
187
- value28: deliveryUnit.version
181
+ value28: deliveryUnit.version,
182
+ value29: (0, external_naming_cjs_namespaceObject.relativeRootFor)(app.directory)
188
183
  });
189
184
  }
190
185
  function createModuleFederationBridgeConfig(enableBridgeRouter) {
@@ -290,13 +285,13 @@ function createRemoteModuleFederationConfig(scope, app, remotes = [], enableBrid
290
285
  const hostOnlyMarker = hasExposes ? '' : '\n// ultramodern-mf: no-exposes';
291
286
  const appToolsConfigImports = [
292
287
  ...hasRemoteRefs ? [
293
- 'getBuildConfigEnvironment'
288
+ 'createRemoteManifestUrl'
294
289
  ] : [],
295
290
  ...hasExposes ? [
296
291
  'resolveEffectTsgoCompiler'
297
292
  ] : []
298
293
  ];
299
- const appToolsConfigImport = appToolsConfigImports.length > 0 ? `import { ${appToolsConfigImports.join(', ')} } from '@modern-js/app-tools/config';\n` : '';
294
+ const appToolsConfigImport = appToolsConfigImports.length > 0 ? `import { ${appToolsConfigImports.join(', ')} } from '@modern-js/app-tools-extensions/config';\n` : '';
300
295
  const tsgoCompilerInstance = hasExposes ? `
301
296
  const tsgoCompilerInstance =
302
297
  resolveEffectTsgoCompiler({ from: import.meta.url });
@@ -32,71 +32,52 @@ __webpack_require__.d(__webpack_exports__, {
32
32
  createUltramodernBuildModule: ()=>createUltramodernBuildModule,
33
33
  createUltramodernBuildReexportModule: ()=>createUltramodernBuildReexportModule
34
34
  });
35
- const universal_namespaceObject = require("@modern-js/utils/universal");
35
+ const backend_federation_contracts_namespaceObject = require("@modern-js/backend-federation-contracts");
36
36
  const external_delivery_unit_cjs_namespaceObject = require("../delivery-unit.cjs");
37
- function deliveryUnitRecordFor(scope, app) {
38
- return app.deliveryUnit ? app.deliveryUnit : (0, external_delivery_unit_cjs_namespaceObject.createDeliveryUnitRecord)(scope, app);
39
- }
37
+ const external_descriptors_cjs_namespaceObject = require("../descriptors.cjs");
40
38
  function createUltramodernBuildArtifactJson(scope, app) {
41
- const record = deliveryUnitRecordFor(scope, app);
42
- return `${JSON.stringify((0, universal_namespaceObject.createUltramodernBuildArtifact)(record), null, 2)}\n`;
39
+ const record = (0, external_delivery_unit_cjs_namespaceObject.createDeliveryUnitRecord)(scope, app);
40
+ const artifact = (0, backend_federation_contracts_namespaceObject.createUltramodernBuildArtifact)(record);
41
+ return `${JSON.stringify({
42
+ ...artifact,
43
+ deliveryUnit: {
44
+ ...record,
45
+ ...artifact.deliveryUnit
46
+ },
47
+ surfaces: {
48
+ api: {
49
+ ...record,
50
+ ...artifact.surfaces.api
51
+ },
52
+ ui: {
53
+ ...record,
54
+ ...artifact.surfaces.ui
55
+ }
56
+ }
57
+ }, null, 2)}\n`;
43
58
  }
44
- function createUltramodernBuildModule(scope, app) {
45
- const record = deliveryUnitRecordFor(scope, app);
46
- return `declare const ULTRAMODERN_BUILD_MARKER: string;
47
- declare const ULTRAMODERN_SOURCE_REVISION: string;
59
+ function createUltramodernBuildModule(_scope, app, includeUiMarker = (0, external_descriptors_cjs_namespaceObject.appEmitsBrowserUi)(app)) {
60
+ return `import buildArtifact = require('./ultramodern-build.json');
61
+ import { resolveUltramodernBuildArtifact } from '@modern-js/runtime-extensions/build-identity';
48
62
 
49
- const ultramodernGeneratedBuildArtifact = ${JSON.stringify((0, universal_namespaceObject.createUltramodernBuildArtifact)(record), null, 2)} as const;
50
- const ultramodernBuildMarker =
51
- typeof ULTRAMODERN_BUILD_MARKER === 'string'
52
- ? ULTRAMODERN_BUILD_MARKER
53
- : ultramodernGeneratedBuildArtifact.deliveryUnit.buildMarker;
54
- const ultramodernSourceRevision =
55
- typeof ULTRAMODERN_SOURCE_REVISION === 'string'
56
- ? ULTRAMODERN_SOURCE_REVISION
57
- : ultramodernGeneratedBuildArtifact.deliveryUnit.sourceRevision;
58
- const ultramodernBuildArtifact = {
59
- ...ultramodernGeneratedBuildArtifact,
60
- deliveryUnit: {
61
- ...ultramodernGeneratedBuildArtifact.deliveryUnit,
62
- build: ultramodernBuildMarker,
63
- buildMarker: ultramodernBuildMarker,
64
- sourceRevision: ultramodernSourceRevision,
65
- },
66
- surfaces: {
67
- api: {
68
- ...ultramodernGeneratedBuildArtifact.surfaces.api,
69
- build: ultramodernBuildMarker,
70
- buildMarker: ultramodernBuildMarker,
71
- sourceRevision: ultramodernSourceRevision,
72
- },
73
- ui: {
74
- ...ultramodernGeneratedBuildArtifact.surfaces.ui,
75
- build: ultramodernBuildMarker,
76
- buildMarker: ultramodernBuildMarker,
77
- sourceRevision: ultramodernSourceRevision,
78
- },
79
- },
80
- } as const;
63
+ declare const ULTRAMODERN_BUILD_MARKER: string;
64
+ declare const ULTRAMODERN_SOURCE_REVISION: string;
81
65
 
82
- export { ultramodernBuildArtifact };
66
+ const ultramodernBuildArtifact = resolveUltramodernBuildArtifact(buildArtifact, {
67
+ buildMarker: () => ULTRAMODERN_BUILD_MARKER,
68
+ sourceRevision: () => ULTRAMODERN_SOURCE_REVISION,
69
+ });
83
70
 
84
- export const ultramodernDeliveryUnit =
85
- ultramodernBuildArtifact.deliveryUnit;
86
- export const ultramodernVerticalIdentity = ultramodernDeliveryUnit;
87
- export const ultramodernUiMarker = ultramodernBuildArtifact.surfaces.ui;
88
- export const ultramodernApiMarker = ultramodernBuildArtifact.surfaces.api;
89
- `;
71
+ export const ultramodernDeliveryUnit = ultramodernBuildArtifact.deliveryUnit;
72
+ ${includeUiMarker ? 'export const ultramodernUiMarker = ultramodernBuildArtifact.surfaces.ui;\n' : ''}${'shell' !== app.kind && (0, external_descriptors_cjs_namespaceObject.appHasApi)(app) ? 'export const ultramodernApiMarker = ultramodernBuildArtifact.surfaces.api;\n' : ''}`;
90
73
  }
91
- function createUltramodernBuildReexportModule() {
92
- return `export {
93
- ultramodernBuildArtifact,
94
- ultramodernApiMarker,
95
- ultramodernDeliveryUnit,
96
- ultramodernUiMarker,
97
- ultramodernVerticalIdentity,
98
- } from '../shared/ultramodern-build';
99
- `;
74
+ function createUltramodernBuildReexportModule(app, includeUiMarker = (0, external_descriptors_cjs_namespaceObject.appEmitsBrowserUi)(app)) {
75
+ const names = [
76
+ 'ultramodernDeliveryUnit'
77
+ ];
78
+ if (includeUiMarker) names.push('ultramodernUiMarker');
79
+ if ('shell' !== app.kind && (0, external_descriptors_cjs_namespaceObject.appHasApi)(app)) names.push('ultramodernApiMarker');
80
+ return `export { ${names.join(', ')} } from '../shared/ultramodern-build';\n`;
100
81
  }
101
82
  exports.createUltramodernBuildArtifactJson = __webpack_exports__.createUltramodernBuildArtifactJson;
102
83
  exports.createUltramodernBuildModule = __webpack_exports__.createUltramodernBuildModule;
@@ -34,49 +34,7 @@ __webpack_require__.d(__webpack_exports__, {
34
34
  const external_descriptors_cjs_namespaceObject = require("../descriptors.cjs");
35
35
  function createModuleFederationRemoteUrlHelpers(app, remotes = [], includeAppToolsImport = true) {
36
36
  if (0 === (0, external_descriptors_cjs_namespaceObject.resolveRemoteRefs)(app, remotes).length) return '';
37
- const appToolsImport = includeAppToolsImport ? "import { getBuildConfigEnvironment } from '@modern-js/app-tools/config';\n\n" : '';
38
- return `${appToolsImport}const cloudflareDeployEnabled =
39
- getBuildConfigEnvironment('MODERNJS_DEPLOY') === 'cloudflare';
40
- const cloudflareWorkersDevSubdomain =
41
- getBuildConfigEnvironment('ULTRAMODERN_CLOUDFLARE_WORKERS_DEV_SUBDOMAIN')?.trim();
42
- const requireCloudflarePublicUrls =
43
- getBuildConfigEnvironment('ULTRAMODERN_CLOUDFLARE_REQUIRE_PUBLIC_URLS') === 'true';
44
-
45
- const createRemoteManifestUrl = (options: {
46
- manifestEnv: string;
47
- mfName: string;
48
- port: number;
49
- publicUrlEnv: string;
50
- workerName: string;
51
- }) => {
52
- const configuredManifest = getBuildConfigEnvironment(options.manifestEnv)?.trim();
53
- if (configuredManifest !== undefined && configuredManifest.length > 0) {
54
- return configuredManifest;
55
- }
56
-
57
- const configuredPublicUrl = getBuildConfigEnvironment(options.publicUrlEnv)?.trim();
58
- if (configuredPublicUrl !== undefined && configuredPublicUrl.length > 0) {
59
- return \`\${options.mfName}@\${configuredPublicUrl.replace(/\\/+$/u, '')}/mf-manifest.json\`;
60
- }
61
-
62
- if (
63
- cloudflareDeployEnabled &&
64
- cloudflareWorkersDevSubdomain !== undefined &&
65
- cloudflareWorkersDevSubdomain.length > 0
66
- ) {
67
- return \`\${options.mfName}@https://\${options.workerName}.\${cloudflareWorkersDevSubdomain}.workers.dev/mf-manifest.json\`;
68
- }
69
-
70
- if (cloudflareDeployEnabled && requireCloudflarePublicUrls) {
71
- throw new Error(
72
- \`Cloudflare deploy needs \${options.publicUrlEnv}, \${options.manifestEnv}, or ULTRAMODERN_CLOUDFLARE_WORKERS_DEV_SUBDOMAIN for remote \${options.mfName}.\`,
73
- );
74
- }
75
-
76
- return \`\${options.mfName}@http://localhost:\${options.port}/mf-manifest.json\`;
77
- };
78
-
79
- `;
37
+ return includeAppToolsImport ? "import { createRemoteManifestUrl } from '@modern-js/app-tools-extensions/config';\n\n" : '';
80
38
  }
81
39
  function createModuleFederationRemotesConfig(scope, app, remotes = []) {
82
40
  const remoteEntries = (0, external_descriptors_cjs_namespaceObject.resolveRemoteRefs)(app, remotes).toSorted((left, right)=>(0, external_descriptors_cjs_namespaceObject.remoteDependencyAlias)(left).localeCompare((0, external_descriptors_cjs_namespaceObject.remoteDependencyAlias)(right))).map((remote)=>{