@bleedingdev/modern-js-create 3.5.0-ultramodern.4 → 3.5.0-ultramodern.40

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 (499) hide show
  1. package/README.md +28 -28
  2. package/dist/cjs/cli/flags.cjs +295 -0
  3. package/dist/cjs/cli/help.cjs +105 -0
  4. package/dist/cjs/cli/package-source.cjs +183 -0
  5. package/dist/cjs/cli/project-setup.cjs +138 -0
  6. package/dist/cjs/cli/prompts.cjs +100 -0
  7. package/dist/cjs/index.cjs +22 -584
  8. package/dist/cjs/locale/en.cjs +2 -6
  9. package/dist/cjs/locale/zh.cjs +2 -6
  10. package/dist/cjs/ultramodern-package-source.cjs +0 -32
  11. package/dist/cjs/ultramodern-tooling/commands/cloudflare-output-verify.cjs +132 -0
  12. package/dist/cjs/ultramodern-tooling/commands/context.cjs +131 -0
  13. package/dist/cjs/ultramodern-tooling/commands/mf-types.cjs +55 -0
  14. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.cjs +158 -0
  15. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.cjs +50 -0
  16. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.cjs +87 -0
  17. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.cjs +58 -0
  18. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.cjs +62 -0
  19. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.cjs +60 -0
  20. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.cjs +132 -0
  21. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.cjs +67 -0
  22. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.cjs +93 -0
  23. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.cjs +60 -0
  24. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.cjs +67 -0
  25. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.cjs +67 -0
  26. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/help.cjs +54 -0
  27. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/install.cjs +52 -0
  28. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/io.cjs +133 -0
  29. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.cjs +245 -0
  30. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-source.cjs +76 -0
  31. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.cjs +142 -0
  32. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.cjs +155 -0
  33. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.cjs +155 -0
  34. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect.cjs +149 -0
  35. package/dist/cjs/ultramodern-tooling/commands/options.cjs +59 -0
  36. package/dist/cjs/ultramodern-tooling/commands/routes-generate.cjs +122 -0
  37. package/dist/cjs/ultramodern-tooling/commands/skills.cjs +49 -0
  38. package/dist/cjs/ultramodern-tooling/commands/sync-delivery-unit.cjs +40 -0
  39. package/dist/cjs/ultramodern-tooling/commands/validate.cjs +49 -0
  40. package/dist/cjs/ultramodern-tooling/commands.cjs +27 -485
  41. package/dist/cjs/ultramodern-tooling/config/constants.cjs +48 -0
  42. package/dist/cjs/ultramodern-tooling/config/index.cjs +104 -0
  43. package/dist/cjs/ultramodern-tooling/config/json.cjs +61 -0
  44. package/dist/cjs/ultramodern-tooling/config/load.cjs +62 -0
  45. package/dist/cjs/ultramodern-tooling/config/metadata.cjs +92 -0
  46. package/dist/cjs/ultramodern-tooling/config/normalize.cjs +160 -0
  47. package/dist/cjs/ultramodern-tooling/config/synthesize.cjs +157 -0
  48. package/dist/cjs/ultramodern-tooling/config/types.cjs +18 -0
  49. package/dist/cjs/ultramodern-tooling/config.cjs +23 -133
  50. package/dist/cjs/ultramodern-workspace/add-vertical/constants.cjs +52 -0
  51. package/dist/cjs/ultramodern-workspace/add-vertical/execute.cjs +156 -0
  52. package/dist/cjs/ultramodern-workspace/add-vertical/plan.cjs +234 -0
  53. package/dist/cjs/ultramodern-workspace/add-vertical/preflight.cjs +174 -0
  54. package/dist/cjs/ultramodern-workspace/add-vertical/shell-files.cjs +116 -0
  55. package/dist/cjs/ultramodern-workspace/add-vertical/topology.cjs +135 -0
  56. package/dist/cjs/ultramodern-workspace/add-vertical/workspace-state.cjs +107 -0
  57. package/dist/cjs/ultramodern-workspace/add-vertical.cjs +22 -571
  58. package/dist/cjs/ultramodern-workspace/api/checkout-cart.cjs +145 -0
  59. package/dist/cjs/ultramodern-workspace/api/client.cjs +218 -0
  60. package/dist/cjs/ultramodern-workspace/api/contracts.cjs +222 -0
  61. package/dist/cjs/ultramodern-workspace/api/names.cjs +98 -0
  62. package/dist/cjs/ultramodern-workspace/api/service.cjs +220 -0
  63. package/dist/cjs/ultramodern-workspace/api/shared.cjs +252 -0
  64. package/dist/cjs/ultramodern-workspace/api.cjs +29 -1004
  65. package/dist/cjs/ultramodern-workspace/app-files.cjs +12 -51
  66. package/dist/cjs/ultramodern-workspace/backend-federation.cjs +296 -0
  67. package/dist/cjs/ultramodern-workspace/bridge-config/cli.cjs +71 -0
  68. package/dist/cjs/ultramodern-workspace/bridge-config/defaults.cjs +43 -0
  69. package/dist/cjs/ultramodern-workspace/bridge-config/gates.cjs +93 -0
  70. package/dist/cjs/ultramodern-workspace/bridge-config/index.cjs +60 -0
  71. package/dist/cjs/ultramodern-workspace/bridge-config/normalize.cjs +68 -0
  72. package/dist/cjs/ultramodern-workspace/bridge-config/schema.cjs +78 -0
  73. package/dist/cjs/ultramodern-workspace/bridge-config/shared.cjs +110 -0
  74. package/dist/cjs/ultramodern-workspace/bridge-config/validation.cjs +68 -0
  75. package/dist/cjs/ultramodern-workspace/bridge-config/workspace-packages.cjs +108 -0
  76. package/dist/cjs/ultramodern-workspace/bridge-config.cjs +32 -297
  77. package/dist/cjs/ultramodern-workspace/contracts.cjs +40 -15
  78. package/dist/cjs/ultramodern-workspace/delivery-unit-sync.cjs +159 -0
  79. package/dist/cjs/ultramodern-workspace/delivery-unit.cjs +75 -0
  80. package/dist/cjs/ultramodern-workspace/demo-components.cjs +47 -192
  81. package/dist/cjs/ultramodern-workspace/descriptors.cjs +36 -1
  82. package/dist/cjs/ultramodern-workspace/effect-diagnostics.cjs +114 -0
  83. package/dist/cjs/ultramodern-workspace/fs-io.cjs +24 -35
  84. package/dist/cjs/ultramodern-workspace/index.cjs +4 -0
  85. package/dist/cjs/ultramodern-workspace/locales.cjs +1 -14
  86. package/dist/cjs/ultramodern-workspace/mf-validation/constants.cjs +69 -0
  87. package/dist/cjs/ultramodern-workspace/mf-validation/discovery.cjs +77 -0
  88. package/dist/cjs/ultramodern-workspace/mf-validation/inspect.cjs +84 -0
  89. package/dist/cjs/ultramodern-workspace/mf-validation/object-literal.cjs +188 -0
  90. package/dist/cjs/ultramodern-workspace/mf-validation/path-utils.cjs +165 -0
  91. package/dist/cjs/ultramodern-workspace/mf-validation/syntax.cjs +201 -0
  92. package/dist/cjs/ultramodern-workspace/mf-validation/types.cjs +18 -0
  93. package/dist/cjs/ultramodern-workspace/mf-validation/validate.cjs +112 -0
  94. package/dist/cjs/ultramodern-workspace/mf-validation.cjs +6 -529
  95. package/dist/cjs/ultramodern-workspace/module-federation/config.cjs +262 -0
  96. package/dist/cjs/ultramodern-workspace/module-federation/index.cjs +73 -0
  97. package/dist/cjs/ultramodern-workspace/module-federation/reexport-module.cjs +74 -0
  98. package/dist/cjs/ultramodern-workspace/module-federation/remote-refs.cjs +105 -0
  99. package/dist/cjs/ultramodern-workspace/module-federation/shared-config.cjs +53 -0
  100. package/dist/cjs/ultramodern-workspace/module-federation.cjs +18 -477
  101. package/dist/cjs/ultramodern-workspace/naming.cjs +0 -6
  102. package/dist/cjs/ultramodern-workspace/package-json.cjs +27 -269
  103. package/dist/cjs/ultramodern-workspace/policy.cjs +0 -21
  104. package/dist/cjs/ultramodern-workspace/public-surface.cjs +0 -21
  105. package/dist/cjs/ultramodern-workspace/routes.cjs +8 -157
  106. package/dist/cjs/ultramodern-workspace/shared-patches.cjs +45 -0
  107. package/dist/cjs/ultramodern-workspace/tooling-command-catalog.cjs +147 -0
  108. package/dist/cjs/ultramodern-workspace/tsconfigs.cjs +199 -0
  109. package/dist/cjs/ultramodern-workspace/versions.cjs +31 -38
  110. package/dist/cjs/ultramodern-workspace/workspace-script-plan.cjs +163 -0
  111. package/dist/cjs/ultramodern-workspace/workspace-scripts.cjs +96 -73
  112. package/dist/cjs/ultramodern-workspace/workspace-validation-contract.cjs +97 -0
  113. package/dist/cjs/ultramodern-workspace/write-app.cjs +125 -0
  114. package/dist/cjs/ultramodern-workspace/write-workspace.cjs +13 -63
  115. package/dist/cjs/ultramodern-workspace/zerops.cjs +103 -0
  116. package/dist/esm/cli/flags.js +218 -0
  117. package/dist/esm/cli/help.js +64 -0
  118. package/dist/esm/cli/package-source.js +119 -0
  119. package/dist/esm/cli/project-setup.js +81 -0
  120. package/dist/esm/cli/prompts.js +51 -0
  121. package/dist/esm/index.js +6 -564
  122. package/dist/esm/locale/en.js +2 -6
  123. package/dist/esm/locale/zh.js +2 -6
  124. package/dist/esm/ultramodern-package-source.js +1 -24
  125. package/dist/esm/ultramodern-tooling/commands/cloudflare-output-verify.js +84 -0
  126. package/dist/esm/ultramodern-tooling/commands/context.js +66 -0
  127. package/dist/esm/ultramodern-tooling/commands/mf-types.js +17 -0
  128. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +106 -0
  129. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +12 -0
  130. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +38 -0
  131. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +10 -0
  132. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +14 -0
  133. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +12 -0
  134. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +83 -0
  135. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +16 -0
  136. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +44 -0
  137. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +12 -0
  138. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +7 -0
  139. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +15 -0
  140. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/help.js +16 -0
  141. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/install.js +14 -0
  142. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/io.js +69 -0
  143. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +201 -0
  144. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +38 -0
  145. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +87 -0
  146. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +105 -0
  147. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +71 -0
  148. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect.js +100 -0
  149. package/dist/esm/ultramodern-tooling/commands/options.js +18 -0
  150. package/dist/esm/ultramodern-tooling/commands/routes-generate.js +74 -0
  151. package/dist/esm/ultramodern-tooling/commands/skills.js +11 -0
  152. package/dist/esm/ultramodern-tooling/commands/sync-delivery-unit.js +1 -0
  153. package/dist/esm/ultramodern-tooling/commands/validate.js +11 -0
  154. package/dist/esm/ultramodern-tooling/commands.js +22 -475
  155. package/dist/esm/ultramodern-tooling/config/constants.js +4 -0
  156. package/dist/esm/ultramodern-tooling/config/index.js +7 -0
  157. package/dist/esm/ultramodern-tooling/config/json.js +10 -0
  158. package/dist/esm/ultramodern-tooling/config/load.js +13 -0
  159. package/dist/esm/ultramodern-tooling/config/metadata.js +37 -0
  160. package/dist/esm/ultramodern-tooling/config/normalize.js +106 -0
  161. package/dist/esm/ultramodern-tooling/config/synthesize.js +108 -0
  162. package/dist/esm/ultramodern-tooling/config/types.js +0 -0
  163. package/dist/esm/ultramodern-tooling/config.js +1 -120
  164. package/dist/esm/ultramodern-workspace/add-vertical/constants.js +5 -0
  165. package/dist/esm/ultramodern-workspace/add-vertical/execute.js +108 -0
  166. package/dist/esm/ultramodern-workspace/add-vertical/plan.js +184 -0
  167. package/dist/esm/ultramodern-workspace/add-vertical/preflight.js +122 -0
  168. package/dist/esm/ultramodern-workspace/add-vertical/shell-files.js +59 -0
  169. package/dist/esm/ultramodern-workspace/add-vertical/topology.js +91 -0
  170. package/dist/esm/ultramodern-workspace/add-vertical/workspace-state.js +43 -0
  171. package/dist/esm/ultramodern-workspace/add-vertical.js +6 -544
  172. package/dist/esm/ultramodern-workspace/api/checkout-cart.js +86 -0
  173. package/dist/esm/ultramodern-workspace/api/client.js +177 -0
  174. package/dist/esm/ultramodern-workspace/api/contracts.js +172 -0
  175. package/dist/esm/ultramodern-workspace/api/names.js +33 -0
  176. package/dist/esm/ultramodern-workspace/api/service.js +179 -0
  177. package/dist/esm/ultramodern-workspace/api/shared.js +208 -0
  178. package/dist/esm/ultramodern-workspace/api.js +5 -984
  179. package/dist/esm/ultramodern-workspace/app-files.js +11 -32
  180. package/dist/esm/ultramodern-workspace/backend-federation.js +231 -0
  181. package/dist/esm/ultramodern-workspace/bridge-config/cli.js +30 -0
  182. package/dist/esm/ultramodern-workspace/bridge-config/defaults.js +5 -0
  183. package/dist/esm/ultramodern-workspace/bridge-config/gates.js +52 -0
  184. package/dist/esm/ultramodern-workspace/bridge-config/index.js +3 -0
  185. package/dist/esm/ultramodern-workspace/bridge-config/normalize.js +30 -0
  186. package/dist/esm/ultramodern-workspace/bridge-config/schema.js +31 -0
  187. package/dist/esm/ultramodern-workspace/bridge-config/shared.js +51 -0
  188. package/dist/esm/ultramodern-workspace/bridge-config/validation.js +27 -0
  189. package/dist/esm/ultramodern-workspace/bridge-config/workspace-packages.js +67 -0
  190. package/dist/esm/ultramodern-workspace/bridge-config.js +1 -270
  191. package/dist/esm/ultramodern-workspace/contracts.js +40 -15
  192. package/dist/esm/ultramodern-workspace/delivery-unit-sync.js +110 -0
  193. package/dist/esm/ultramodern-workspace/delivery-unit.js +21 -0
  194. package/dist/esm/ultramodern-workspace/demo-components.js +48 -190
  195. package/dist/esm/ultramodern-workspace/descriptors.js +25 -2
  196. package/dist/esm/ultramodern-workspace/effect-diagnostics.js +76 -0
  197. package/dist/esm/ultramodern-workspace/fs-io.js +25 -17
  198. package/dist/esm/ultramodern-workspace/index.js +1 -0
  199. package/dist/esm/ultramodern-workspace/locales.js +1 -1
  200. package/dist/esm/ultramodern-workspace/mf-validation/constants.js +19 -0
  201. package/dist/esm/ultramodern-workspace/mf-validation/discovery.js +28 -0
  202. package/dist/esm/ultramodern-workspace/mf-validation/inspect.js +46 -0
  203. package/dist/esm/ultramodern-workspace/mf-validation/object-literal.js +144 -0
  204. package/dist/esm/ultramodern-workspace/mf-validation/path-utils.js +89 -0
  205. package/dist/esm/ultramodern-workspace/mf-validation/syntax.js +154 -0
  206. package/dist/esm/ultramodern-workspace/mf-validation/types.js +0 -0
  207. package/dist/esm/ultramodern-workspace/mf-validation/validate.js +57 -0
  208. package/dist/esm/ultramodern-workspace/mf-validation.js +3 -516
  209. package/dist/esm/ultramodern-workspace/module-federation/config.js +215 -0
  210. package/dist/esm/ultramodern-workspace/module-federation/index.js +4 -0
  211. package/dist/esm/ultramodern-workspace/module-federation/reexport-module.js +30 -0
  212. package/dist/esm/ultramodern-workspace/module-federation/remote-refs.js +64 -0
  213. package/dist/esm/ultramodern-workspace/module-federation/shared-config.js +12 -0
  214. package/dist/esm/ultramodern-workspace/module-federation.js +2 -458
  215. package/dist/esm/ultramodern-workspace/naming.js +1 -1
  216. package/dist/esm/ultramodern-workspace/package-json.js +22 -252
  217. package/dist/esm/ultramodern-workspace/policy.js +1 -7
  218. package/dist/esm/ultramodern-workspace/public-surface.js +1 -1
  219. package/dist/esm/ultramodern-workspace/routes.js +9 -143
  220. package/dist/esm/ultramodern-workspace/shared-patches.js +7 -0
  221. package/dist/esm/ultramodern-workspace/tooling-command-catalog.js +100 -0
  222. package/dist/esm/ultramodern-workspace/tsconfigs.js +136 -0
  223. package/dist/esm/ultramodern-workspace/versions.js +23 -24
  224. package/dist/esm/ultramodern-workspace/workspace-script-plan.js +116 -0
  225. package/dist/esm/ultramodern-workspace/workspace-scripts.js +92 -69
  226. package/dist/esm/ultramodern-workspace/workspace-validation-contract.js +59 -0
  227. package/dist/esm/ultramodern-workspace/write-app.js +87 -0
  228. package/dist/esm/ultramodern-workspace/write-workspace.js +14 -61
  229. package/dist/esm/ultramodern-workspace/zerops.js +65 -0
  230. package/dist/esm-node/cli/flags.js +219 -0
  231. package/dist/esm-node/cli/help.js +65 -0
  232. package/dist/esm-node/cli/package-source.js +120 -0
  233. package/dist/esm-node/cli/project-setup.js +82 -0
  234. package/dist/esm-node/cli/prompts.js +52 -0
  235. package/dist/esm-node/index.js +6 -564
  236. package/dist/esm-node/locale/en.js +2 -6
  237. package/dist/esm-node/locale/zh.js +2 -6
  238. package/dist/esm-node/ultramodern-package-source.js +1 -24
  239. package/dist/esm-node/ultramodern-tooling/commands/cloudflare-output-verify.js +85 -0
  240. package/dist/esm-node/ultramodern-tooling/commands/context.js +67 -0
  241. package/dist/esm-node/ultramodern-tooling/commands/mf-types.js +18 -0
  242. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +107 -0
  243. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +13 -0
  244. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +39 -0
  245. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +11 -0
  246. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +15 -0
  247. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +13 -0
  248. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +84 -0
  249. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +17 -0
  250. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +45 -0
  251. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +13 -0
  252. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +8 -0
  253. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +16 -0
  254. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/help.js +17 -0
  255. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/install.js +15 -0
  256. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/io.js +70 -0
  257. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +202 -0
  258. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +39 -0
  259. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +88 -0
  260. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +106 -0
  261. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +72 -0
  262. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect.js +101 -0
  263. package/dist/esm-node/ultramodern-tooling/commands/options.js +19 -0
  264. package/dist/esm-node/ultramodern-tooling/commands/routes-generate.js +75 -0
  265. package/dist/esm-node/ultramodern-tooling/commands/skills.js +12 -0
  266. package/dist/esm-node/ultramodern-tooling/commands/sync-delivery-unit.js +2 -0
  267. package/dist/esm-node/ultramodern-tooling/commands/validate.js +12 -0
  268. package/dist/esm-node/ultramodern-tooling/commands.js +22 -475
  269. package/dist/esm-node/ultramodern-tooling/config/constants.js +5 -0
  270. package/dist/esm-node/ultramodern-tooling/config/index.js +8 -0
  271. package/dist/esm-node/ultramodern-tooling/config/json.js +11 -0
  272. package/dist/esm-node/ultramodern-tooling/config/load.js +14 -0
  273. package/dist/esm-node/ultramodern-tooling/config/metadata.js +38 -0
  274. package/dist/esm-node/ultramodern-tooling/config/normalize.js +107 -0
  275. package/dist/esm-node/ultramodern-tooling/config/synthesize.js +109 -0
  276. package/dist/esm-node/ultramodern-tooling/config/types.js +1 -0
  277. package/dist/esm-node/ultramodern-tooling/config.js +1 -120
  278. package/dist/esm-node/ultramodern-workspace/add-vertical/constants.js +6 -0
  279. package/dist/esm-node/ultramodern-workspace/add-vertical/execute.js +109 -0
  280. package/dist/esm-node/ultramodern-workspace/add-vertical/plan.js +185 -0
  281. package/dist/esm-node/ultramodern-workspace/add-vertical/preflight.js +123 -0
  282. package/dist/esm-node/ultramodern-workspace/add-vertical/shell-files.js +60 -0
  283. package/dist/esm-node/ultramodern-workspace/add-vertical/topology.js +92 -0
  284. package/dist/esm-node/ultramodern-workspace/add-vertical/workspace-state.js +44 -0
  285. package/dist/esm-node/ultramodern-workspace/add-vertical.js +6 -544
  286. package/dist/esm-node/ultramodern-workspace/api/checkout-cart.js +87 -0
  287. package/dist/esm-node/ultramodern-workspace/api/client.js +178 -0
  288. package/dist/esm-node/ultramodern-workspace/api/contracts.js +173 -0
  289. package/dist/esm-node/ultramodern-workspace/api/names.js +34 -0
  290. package/dist/esm-node/ultramodern-workspace/api/service.js +180 -0
  291. package/dist/esm-node/ultramodern-workspace/api/shared.js +209 -0
  292. package/dist/esm-node/ultramodern-workspace/api.js +5 -984
  293. package/dist/esm-node/ultramodern-workspace/app-files.js +11 -32
  294. package/dist/esm-node/ultramodern-workspace/backend-federation.js +232 -0
  295. package/dist/esm-node/ultramodern-workspace/bridge-config/cli.js +31 -0
  296. package/dist/esm-node/ultramodern-workspace/bridge-config/defaults.js +6 -0
  297. package/dist/esm-node/ultramodern-workspace/bridge-config/gates.js +53 -0
  298. package/dist/esm-node/ultramodern-workspace/bridge-config/index.js +4 -0
  299. package/dist/esm-node/ultramodern-workspace/bridge-config/normalize.js +31 -0
  300. package/dist/esm-node/ultramodern-workspace/bridge-config/schema.js +32 -0
  301. package/dist/esm-node/ultramodern-workspace/bridge-config/shared.js +52 -0
  302. package/dist/esm-node/ultramodern-workspace/bridge-config/validation.js +28 -0
  303. package/dist/esm-node/ultramodern-workspace/bridge-config/workspace-packages.js +68 -0
  304. package/dist/esm-node/ultramodern-workspace/bridge-config.js +1 -270
  305. package/dist/esm-node/ultramodern-workspace/contracts.js +40 -15
  306. package/dist/esm-node/ultramodern-workspace/delivery-unit-sync.js +111 -0
  307. package/dist/esm-node/ultramodern-workspace/delivery-unit.js +22 -0
  308. package/dist/esm-node/ultramodern-workspace/demo-components.js +48 -190
  309. package/dist/esm-node/ultramodern-workspace/descriptors.js +25 -2
  310. package/dist/esm-node/ultramodern-workspace/effect-diagnostics.js +77 -0
  311. package/dist/esm-node/ultramodern-workspace/fs-io.js +25 -17
  312. package/dist/esm-node/ultramodern-workspace/index.js +1 -0
  313. package/dist/esm-node/ultramodern-workspace/locales.js +1 -1
  314. package/dist/esm-node/ultramodern-workspace/mf-validation/constants.js +20 -0
  315. package/dist/esm-node/ultramodern-workspace/mf-validation/discovery.js +29 -0
  316. package/dist/esm-node/ultramodern-workspace/mf-validation/inspect.js +47 -0
  317. package/dist/esm-node/ultramodern-workspace/mf-validation/object-literal.js +145 -0
  318. package/dist/esm-node/ultramodern-workspace/mf-validation/path-utils.js +90 -0
  319. package/dist/esm-node/ultramodern-workspace/mf-validation/syntax.js +155 -0
  320. package/dist/esm-node/ultramodern-workspace/mf-validation/types.js +1 -0
  321. package/dist/esm-node/ultramodern-workspace/mf-validation/validate.js +58 -0
  322. package/dist/esm-node/ultramodern-workspace/mf-validation.js +3 -516
  323. package/dist/esm-node/ultramodern-workspace/module-federation/config.js +216 -0
  324. package/dist/esm-node/ultramodern-workspace/module-federation/index.js +5 -0
  325. package/dist/esm-node/ultramodern-workspace/module-federation/reexport-module.js +31 -0
  326. package/dist/esm-node/ultramodern-workspace/module-federation/remote-refs.js +65 -0
  327. package/dist/esm-node/ultramodern-workspace/module-federation/shared-config.js +13 -0
  328. package/dist/esm-node/ultramodern-workspace/module-federation.js +2 -458
  329. package/dist/esm-node/ultramodern-workspace/naming.js +1 -1
  330. package/dist/esm-node/ultramodern-workspace/package-json.js +22 -252
  331. package/dist/esm-node/ultramodern-workspace/policy.js +1 -7
  332. package/dist/esm-node/ultramodern-workspace/public-surface.js +1 -1
  333. package/dist/esm-node/ultramodern-workspace/routes.js +9 -143
  334. package/dist/esm-node/ultramodern-workspace/shared-patches.js +8 -0
  335. package/dist/esm-node/ultramodern-workspace/tooling-command-catalog.js +101 -0
  336. package/dist/esm-node/ultramodern-workspace/tsconfigs.js +137 -0
  337. package/dist/esm-node/ultramodern-workspace/versions.js +23 -24
  338. package/dist/esm-node/ultramodern-workspace/workspace-script-plan.js +117 -0
  339. package/dist/esm-node/ultramodern-workspace/workspace-scripts.js +92 -69
  340. package/dist/esm-node/ultramodern-workspace/workspace-validation-contract.js +60 -0
  341. package/dist/esm-node/ultramodern-workspace/write-app.js +88 -0
  342. package/dist/esm-node/ultramodern-workspace/write-workspace.js +14 -61
  343. package/dist/esm-node/ultramodern-workspace/zerops.js +66 -0
  344. package/dist/types/cli/flags.d.ts +25 -0
  345. package/dist/types/cli/help.d.ts +2 -0
  346. package/dist/types/cli/package-source.d.ts +15 -0
  347. package/dist/types/cli/project-setup.d.ts +8 -0
  348. package/dist/types/cli/prompts.d.ts +4 -0
  349. package/dist/types/locale/en.d.ts +0 -4
  350. package/dist/types/locale/index.d.ts +0 -8
  351. package/dist/types/locale/zh.d.ts +0 -4
  352. package/dist/types/ultramodern-package-source.d.ts +0 -11
  353. package/dist/types/ultramodern-tooling/commands/cloudflare-output-verify.d.ts +2 -0
  354. package/dist/types/ultramodern-tooling/commands/context.d.ts +11 -0
  355. package/dist/types/ultramodern-tooling/commands/mf-types.d.ts +2 -0
  356. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.d.ts +4 -0
  357. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.d.ts +4 -0
  358. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.d.ts +1 -0
  359. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.d.ts +3 -0
  360. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.d.ts +3 -0
  361. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.d.ts +3 -0
  362. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.d.ts +2 -0
  363. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.d.ts +4 -0
  364. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.d.ts +3 -0
  365. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.d.ts +3 -0
  366. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.d.ts +7 -0
  367. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.d.ts +3 -0
  368. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/help.d.ts +1 -0
  369. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/install.d.ts +2 -0
  370. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/io.d.ts +14 -0
  371. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.d.ts +9 -0
  372. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-source.d.ts +3 -0
  373. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.d.ts +4 -0
  374. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.d.ts +20 -0
  375. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.d.ts +13 -0
  376. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect.d.ts +2 -0
  377. package/dist/types/ultramodern-tooling/commands/options.d.ts +2 -0
  378. package/dist/types/ultramodern-tooling/commands/routes-generate.d.ts +2 -0
  379. package/dist/types/ultramodern-tooling/commands/skills.d.ts +2 -0
  380. package/dist/types/ultramodern-tooling/commands/sync-delivery-unit.d.ts +1 -0
  381. package/dist/types/ultramodern-tooling/commands/validate.d.ts +2 -0
  382. package/dist/types/ultramodern-tooling/commands.d.ts +1 -1
  383. package/dist/types/ultramodern-tooling/config/constants.d.ts +3 -0
  384. package/dist/types/ultramodern-tooling/config/index.d.ts +7 -0
  385. package/dist/types/ultramodern-tooling/config/json.d.ts +2 -0
  386. package/dist/types/ultramodern-tooling/config/load.d.ts +2 -0
  387. package/dist/types/ultramodern-tooling/config/metadata.d.ts +4 -0
  388. package/dist/types/ultramodern-tooling/config/normalize.d.ts +5 -0
  389. package/dist/types/ultramodern-tooling/config/synthesize.d.ts +5 -0
  390. package/dist/types/ultramodern-tooling/config/types.d.ts +41 -0
  391. package/dist/types/ultramodern-tooling/config.d.ts +1 -43
  392. package/dist/types/ultramodern-workspace/add-vertical/constants.d.ts +4 -0
  393. package/dist/types/ultramodern-workspace/add-vertical/execute.d.ts +2 -0
  394. package/dist/types/ultramodern-workspace/add-vertical/plan.d.ts +2 -0
  395. package/dist/types/ultramodern-workspace/add-vertical/preflight.d.ts +20 -0
  396. package/dist/types/ultramodern-workspace/add-vertical/shell-files.d.ts +6 -0
  397. package/dist/types/ultramodern-workspace/add-vertical/topology.d.ts +9 -0
  398. package/dist/types/ultramodern-workspace/add-vertical/workspace-state.d.ts +8 -0
  399. package/dist/types/ultramodern-workspace/add-vertical.d.ts +7 -39
  400. package/dist/types/ultramodern-workspace/api/checkout-cart.d.ts +33 -0
  401. package/dist/types/ultramodern-workspace/api/client.d.ts +6 -0
  402. package/dist/types/ultramodern-workspace/api/contracts.d.ts +15 -0
  403. package/dist/types/ultramodern-workspace/api/names.d.ts +41 -0
  404. package/dist/types/ultramodern-workspace/api/service.d.ts +6 -0
  405. package/dist/types/ultramodern-workspace/api/shared.d.ts +10 -0
  406. package/dist/types/ultramodern-workspace/api.d.ts +5 -73
  407. package/dist/types/ultramodern-workspace/app-files.d.ts +1 -7
  408. package/dist/types/ultramodern-workspace/backend-federation.d.ts +11 -0
  409. package/dist/types/ultramodern-workspace/bridge-config/cli.d.ts +3 -0
  410. package/dist/types/ultramodern-workspace/bridge-config/defaults.d.ts +1 -0
  411. package/dist/types/ultramodern-workspace/bridge-config/gates.d.ts +3 -0
  412. package/dist/types/ultramodern-workspace/bridge-config/index.d.ts +4 -0
  413. package/dist/types/ultramodern-workspace/bridge-config/normalize.d.ts +2 -0
  414. package/dist/types/ultramodern-workspace/bridge-config/schema.d.ts +61 -0
  415. package/dist/types/ultramodern-workspace/bridge-config/shared.d.ts +12 -0
  416. package/dist/types/ultramodern-workspace/bridge-config/validation.d.ts +3 -0
  417. package/dist/types/ultramodern-workspace/bridge-config/workspace-packages.d.ts +3 -0
  418. package/dist/types/ultramodern-workspace/bridge-config.d.ts +1 -64
  419. package/dist/types/ultramodern-workspace/codesmith.d.ts +5 -5
  420. package/dist/types/ultramodern-workspace/contracts.d.ts +1 -1
  421. package/dist/types/ultramodern-workspace/delivery-unit-sync.d.ts +6 -0
  422. package/dist/types/ultramodern-workspace/delivery-unit.d.ts +8 -0
  423. package/dist/types/ultramodern-workspace/demo-components.d.ts +0 -1
  424. package/dist/types/ultramodern-workspace/descriptors.d.ts +4 -0
  425. package/dist/types/ultramodern-workspace/effect-diagnostics.d.ts +1 -0
  426. package/dist/types/ultramodern-workspace/fs-io.d.ts +1 -7
  427. package/dist/types/ultramodern-workspace/generation-result.d.ts +2 -1
  428. package/dist/types/ultramodern-workspace/index.d.ts +1 -0
  429. package/dist/types/ultramodern-workspace/locales.d.ts +0 -181
  430. package/dist/types/ultramodern-workspace/mf-validation/constants.d.ts +5 -0
  431. package/dist/types/ultramodern-workspace/mf-validation/discovery.d.ts +2 -0
  432. package/dist/types/ultramodern-workspace/mf-validation/inspect.d.ts +2 -0
  433. package/dist/types/ultramodern-workspace/mf-validation/object-literal.d.ts +4 -0
  434. package/dist/types/ultramodern-workspace/mf-validation/path-utils.d.ts +11 -0
  435. package/dist/types/ultramodern-workspace/mf-validation/syntax.d.ts +5 -0
  436. package/dist/types/ultramodern-workspace/mf-validation/types.d.ts +33 -0
  437. package/dist/types/ultramodern-workspace/mf-validation/validate.d.ts +4 -0
  438. package/dist/types/ultramodern-workspace/mf-validation.d.ts +4 -27
  439. package/dist/types/ultramodern-workspace/module-federation/config.d.ts +5 -0
  440. package/dist/types/ultramodern-workspace/module-federation/index.d.ts +4 -0
  441. package/dist/types/ultramodern-workspace/module-federation/reexport-module.d.ts +4 -0
  442. package/dist/types/ultramodern-workspace/module-federation/remote-refs.d.ts +3 -0
  443. package/dist/types/ultramodern-workspace/module-federation/shared-config.d.ts +2 -0
  444. package/dist/types/ultramodern-workspace/module-federation.d.ts +2 -17
  445. package/dist/types/ultramodern-workspace/naming.d.ts +0 -2
  446. package/dist/types/ultramodern-workspace/package-json.d.ts +1 -16
  447. package/dist/types/ultramodern-workspace/policy.d.ts +0 -47
  448. package/dist/types/ultramodern-workspace/public-surface.d.ts +5 -15
  449. package/dist/types/ultramodern-workspace/routes.d.ts +0 -9
  450. package/dist/types/ultramodern-workspace/shared-patches.d.ts +1 -0
  451. package/dist/types/ultramodern-workspace/tooling-command-catalog.d.ts +18 -0
  452. package/dist/types/ultramodern-workspace/tsconfigs.d.ts +13 -0
  453. package/dist/types/ultramodern-workspace/types.d.ts +3 -2
  454. package/dist/types/ultramodern-workspace/versions.d.ts +23 -24
  455. package/dist/types/ultramodern-workspace/workspace-script-plan.d.ts +58 -0
  456. package/dist/types/ultramodern-workspace/workspace-scripts.d.ts +12 -4
  457. package/dist/types/ultramodern-workspace/workspace-validation-contract.d.ts +41 -0
  458. package/dist/types/ultramodern-workspace/write-app.d.ts +3 -0
  459. package/dist/types/ultramodern-workspace/write-workspace.d.ts +2 -2
  460. package/dist/types/ultramodern-workspace/zerops.d.ts +2 -0
  461. package/package.json +14 -11
  462. package/template-workspace/.gitignore.handlebars +4 -0
  463. package/template-workspace/AGENTS.md.handlebars +2 -2
  464. package/template-workspace/README.md.handlebars +21 -20
  465. package/template-workspace/patches/@module-federation__bridge-react@2.7.0.patch +140 -0
  466. package/template-workspace/patches/@module-federation__dts-plugin@2.7.0.patch +37 -0
  467. package/template-workspace/patches/@module-federation__modern-js-v3@2.7.0.patch +57 -0
  468. package/template-workspace/patches/@tanstack__router-core@1.171.14.patch +123 -0
  469. package/template-workspace/patches/drizzle-orm-ts7-strict-declarations.patch +452 -0
  470. package/template-workspace/patches/effect-schema-error-type-id.patch +18 -0
  471. package/template-workspace/pnpm-workspace.yaml.handlebars +80 -2
  472. package/template-workspace/scripts/bootstrap-agent-skills.mjs +11 -3
  473. package/templates/workspace/apps/modern.config.shared-module-federation.ts.handlebars +37 -0
  474. package/templates/workspace/apps/modern.config.ts.handlebars +252 -0
  475. package/templates/workspace/apps/shared/src/routes/ultramodern-jsonld.ts.handlebars +119 -0
  476. package/templates/workspace/apps/shared/src/routes/ultramodern-route-metadata.ts.handlebars +21 -0
  477. package/templates/workspace/apps/shell-super-app/src/routes/[lang]/page.tsx.handlebars +49 -0
  478. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.helpers.tsx.handlebars +79 -0
  479. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.imports.tsx.handlebars +11 -0
  480. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.tsx.handlebars +46 -0
  481. package/templates/workspace/packages/shared-design-tokens/tokens.css.handlebars +7 -0
  482. package/templates/workspace/tailwind.config.ts.handlebars +3 -0
  483. package/templates/workspace/verticals/server/checkout-cart-handlers.ts.handlebars +49 -0
  484. package/templates/workspace/verticals/server/checkout-cart-state.ts.handlebars +23 -0
  485. package/templates/workspace/verticals/shared/api.checkout-cart-contract-fields.ts.handlebars +1 -0
  486. package/templates/workspace/verticals/shared/api.checkout-cart-endpoints.ts.handlebars +23 -0
  487. package/templates/workspace/verticals/shared/api.checkout-cart-operation-contexts.ts.handlebars +25 -0
  488. package/templates/workspace/verticals/shared/api.checkout-cart-schemas.ts.handlebars +48 -0
  489. package/templates/workspace/verticals/src/api/checkout-cart-client-exports.ts.handlebars +70 -0
  490. package/templates/workspace-scripts/assert-mf-types.mjs.handlebars +4 -4
  491. package/templates/workspace-scripts/check-ultramodern-api-boundaries.mts +40 -2
  492. package/templates/workspace-scripts/generate-node-backend-federation.mjs +299 -0
  493. package/templates/workspace-scripts/materialize-zerops-runtime.mjs +448 -0
  494. package/templates/workspace-scripts/proof-cloudflare-version.mjs +237 -9
  495. package/templates/workspace-scripts/proof-node-backend-federation.mjs +760 -0
  496. package/templates/workspace-scripts/ultramodern-cloudflare-proof.mjs +188 -2
  497. package/templates/workspace-scripts/ultramodern-typecheck.mjs +1 -1
  498. package/templates/workspace-scripts/validate-ultramodern-workspace.mjs.handlebars +479 -31
  499. package/template-workspace/patches/@tanstack__router-core@1.171.13.patch +0 -51
@@ -1,5 +1,28 @@
1
1
  "use strict";
2
- var __webpack_require__ = {};
2
+ var __webpack_modules__ = {
3
+ "./bridge-config/index" (module) {
4
+ module.exports = require("./bridge-config/index.cjs");
5
+ }
6
+ };
7
+ var __webpack_module_cache__ = {};
8
+ function __webpack_require__(moduleId) {
9
+ var cachedModule = __webpack_module_cache__[moduleId];
10
+ if (void 0 !== cachedModule) return cachedModule.exports;
11
+ var module = __webpack_module_cache__[moduleId] = {
12
+ exports: {}
13
+ };
14
+ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
15
+ return module.exports;
16
+ }
17
+ (()=>{
18
+ __webpack_require__.n = (module)=>{
19
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
20
+ __webpack_require__.d(getter, {
21
+ a: getter
22
+ });
23
+ return getter;
24
+ };
25
+ })();
3
26
  (()=>{
4
27
  __webpack_require__.d = (exports1, getters, values)=>{
5
28
  var define = (defs, kind)=>{
@@ -26,302 +49,14 @@ var __webpack_require__ = {};
26
49
  };
27
50
  })();
28
51
  var __webpack_exports__ = {};
29
- __webpack_require__.r(__webpack_exports__);
30
- const ultramodernBridgeCliFlags = {
31
- enabled: '--bridge',
32
- parentRoot: '--bridge-parent-root',
33
- workspacePackage: '--bridge-workspace-package',
34
- workspacePackageName: '--bridge-workspace-package-name',
35
- testAlias: '--bridge-test-alias',
36
- dependency: '--bridge-dependency',
37
- lockfilePolicy: '--bridge-lockfile-policy',
38
- gate: '--bridge-gate',
39
- gateCwd: '--bridge-gate-cwd',
40
- reactSingleton: '--bridge-react-singleton'
41
- };
42
- const ultramodernBridgeCliValueFlags = [
43
- ultramodernBridgeCliFlags.parentRoot,
44
- ultramodernBridgeCliFlags.workspacePackage,
45
- ultramodernBridgeCliFlags.workspacePackageName,
46
- ultramodernBridgeCliFlags.testAlias,
47
- ultramodernBridgeCliFlags.dependency,
48
- ultramodernBridgeCliFlags.lockfilePolicy,
49
- ultramodernBridgeCliFlags.gate,
50
- ultramodernBridgeCliFlags.gateCwd,
51
- ultramodernBridgeCliFlags.reactSingleton
52
- ];
53
- const ultramodernBridgeCliBooleanFlags = [
54
- ultramodernBridgeCliFlags.enabled
55
- ];
56
- const ultramodernBridgeLockfilePolicies = [
57
- 'nested',
58
- 'parent'
59
- ];
60
- const defaultReactSingletons = [
61
- 'react',
62
- 'react-dom'
63
- ];
64
- function hasUltramodernBridgeCliOptions(args) {
65
- return args.some((arg)=>[
66
- ...ultramodernBridgeCliBooleanFlags,
67
- ...ultramodernBridgeCliValueFlags
68
- ].some((flag)=>arg === flag || arg.startsWith(`${flag}=`)));
69
- }
70
- function parseUltramodernBridgeCliOptions(args) {
71
- rejectBooleanFlagValues(args);
72
- if (!hasUltramodernBridgeCliOptions(args)) return;
73
- const parentRoot = readSingleValue(args, ultramodernBridgeCliFlags.parentRoot);
74
- const lockfilePolicy = readSingleValue(args, ultramodernBridgeCliFlags.lockfilePolicy) ?? 'nested';
75
- const workspacePackages = readWorkspacePackages(args);
76
- const gates = readBridgeGates(args);
77
- const reactSingletons = readCsvOptionValues(args, ultramodernBridgeCliFlags.reactSingleton);
78
- return normalizeUltramodernBridgeConfig({
79
- enabled: true,
80
- parentRoot: requireNonEmptyValue(parentRoot, ultramodernBridgeCliFlags.parentRoot),
81
- workspacePackages,
82
- dependencies: readCsvOptionValues(args, ultramodernBridgeCliFlags.dependency),
83
- lockfilePolicy: parseLockfilePolicy(lockfilePolicy),
84
- gates,
85
- reactSingletons: reactSingletons.length > 0 ? reactSingletons : void 0
86
- });
87
- }
88
- function normalizeUltramodernBridgeConfig(bridge) {
89
- if (!bridge || false === bridge.enabled) return;
90
- const parentRoot = requireNonEmptyValue(bridge.parentRoot, 'bridge.parentRoot');
91
- const workspacePackages = normalizeWorkspacePackages(bridge.workspacePackages);
92
- const dependencies = uniqueNonEmptyValues(bridge.dependencies, 'bridge.dependencies');
93
- const gates = normalizeBridgeGates(bridge.gates);
94
- const reactSingletons = bridge.reactSingletons && bridge.reactSingletons.length > 0 ? uniqueNonEmptyValues(bridge.reactSingletons, 'bridge.reactSingletons') : [
95
- ...defaultReactSingletons
96
- ];
97
- if (0 === workspacePackages.length) throw new Error('Bridge mode requires at least one bridge.workspacePackages entry.');
98
- if (0 === dependencies.length) throw new Error('Bridge mode requires at least one explicit bridge.dependencies package name.');
99
- if (0 === gates.length) throw new Error('Bridge mode requires at least one bridge.gates delegated parent command.');
100
- validateParentPackageCoverage(workspacePackages, dependencies);
101
- validateReactSingletons(reactSingletons);
102
- return {
103
- enabled: true,
104
- parentRoot,
105
- workspacePackages,
106
- dependencies,
107
- lockfilePolicy: parseLockfilePolicy(bridge.lockfilePolicy ?? 'nested'),
108
- gates,
109
- reactSingletons
110
- };
111
- }
112
- function rejectBooleanFlagValues(args) {
113
- for (const flag of ultramodernBridgeCliBooleanFlags)if (args.some((arg)=>arg.startsWith(`${flag}=`))) throw new Error(`${flag} does not accept a value.`);
114
- }
115
- function readRepeatedOptionValues(args, flag) {
116
- const values = [];
117
- for(let index = 0; index < args.length; index++){
118
- const arg = args[index];
119
- if (arg === flag) {
120
- const value = args[index + 1];
121
- if (!value || value.startsWith('-')) throw new Error(`${flag} requires a value.`);
122
- values.push(value);
123
- index += 1;
124
- continue;
125
- }
126
- if (arg.startsWith(`${flag}=`)) values.push(arg.slice(flag.length + 1));
127
- }
128
- return values;
129
- }
130
- function readSingleValue(args, flag) {
131
- const values = readRepeatedOptionValues(args, flag);
132
- if (values.length > 1) throw new Error(`${flag} can be provided only once.`);
133
- return values[0];
134
- }
135
- function readCsvOptionValues(args, flag) {
136
- return readRepeatedOptionValues(args, flag).flatMap((value)=>value.split(',').map((entry)=>entry.trim()).filter(Boolean));
137
- }
138
- function requireNonEmptyValue(value, label) {
139
- if ('string' != typeof value || 0 === value.trim().length) throw new Error(`${label} must be a non-empty string.`);
140
- return value.trim();
141
- }
142
- function parseLockfilePolicy(value) {
143
- if (!ultramodernBridgeLockfilePolicies.includes(value)) throw new Error(`${ultramodernBridgeCliFlags.lockfilePolicy} must be "nested" or "parent".`);
144
- return value;
145
- }
146
- function readWorkspacePackages(args) {
147
- const drafts = new Map();
148
- const getDraft = (pattern)=>{
149
- const normalizedPattern = requireNonEmptyValue(pattern, ultramodernBridgeCliFlags.workspacePackage);
150
- const existing = drafts.get(normalizedPattern);
151
- if (existing) return existing;
152
- const draft = {
153
- pattern: normalizedPattern,
154
- packageNames: [],
155
- testAliases: []
156
- };
157
- drafts.set(normalizedPattern, draft);
158
- return draft;
159
- };
160
- for (const pattern of readRepeatedOptionValues(args, ultramodernBridgeCliFlags.workspacePackage))getDraft(pattern);
161
- for (const value of readRepeatedOptionValues(args, ultramodernBridgeCliFlags.workspacePackageName)){
162
- const { left: pattern, right: packageNames } = splitAssignment(value, ultramodernBridgeCliFlags.workspacePackageName, '<pattern>=<package-name>[,<package-name>]');
163
- getDraft(pattern).packageNames.push(...packageNames.split(',').map((packageName)=>packageName.trim()).filter(Boolean));
164
- }
165
- for (const value of readRepeatedOptionValues(args, ultramodernBridgeCliFlags.testAlias)){
166
- const separator = value.indexOf(':');
167
- if (-1 === separator) throw new Error(`${ultramodernBridgeCliFlags.testAlias} must use <pattern>:<alias>=<target>.`);
168
- const pattern = value.slice(0, separator);
169
- const aliasDefinition = value.slice(separator + 1);
170
- const { left: alias, right: target } = splitAssignment(aliasDefinition, ultramodernBridgeCliFlags.testAlias, '<pattern>:<alias>=<target>');
171
- getDraft(pattern).testAliases.push({
172
- alias: requireNonEmptyValue(alias, `${ultramodernBridgeCliFlags.testAlias} alias`),
173
- target: requireNonEmptyValue(target, `${ultramodernBridgeCliFlags.testAlias} target`)
174
- });
175
- }
176
- return normalizeWorkspacePackages([
177
- ...drafts.values()
178
- ]);
179
- }
180
- function readBridgeGates(args) {
181
- const gates = new Map();
182
- const getGate = (name)=>{
183
- const normalizedName = requireNonEmptyValue(name, `${ultramodernBridgeCliFlags.gate} name`);
184
- const existing = gates.get(normalizedName);
185
- if (existing) return existing;
186
- const draft = {
187
- name: normalizedName
188
- };
189
- gates.set(normalizedName, draft);
190
- return draft;
191
- };
192
- for (const value of readRepeatedOptionValues(args, ultramodernBridgeCliFlags.gate)){
193
- const { left: name, right: command } = splitAssignment(value, ultramodernBridgeCliFlags.gate, '<name>=<command>');
194
- getGate(name).command = requireNonEmptyValue(command, `${ultramodernBridgeCliFlags.gate} command`);
195
- }
196
- for (const value of readRepeatedOptionValues(args, ultramodernBridgeCliFlags.gateCwd)){
197
- const { left: name, right: cwd } = splitAssignment(value, ultramodernBridgeCliFlags.gateCwd, '<name>=<cwd>');
198
- getGate(name).cwd = requireNonEmptyValue(cwd, `${ultramodernBridgeCliFlags.gateCwd} cwd`);
199
- }
200
- const missingCommand = [
201
- ...gates.values()
202
- ].find((gate)=>!gate.command);
203
- if (missingCommand) throw new Error(`${ultramodernBridgeCliFlags.gateCwd} references "${missingCommand.name}" without a matching ${ultramodernBridgeCliFlags.gate}.`);
204
- return normalizeBridgeGates([
205
- ...gates.values()
206
- ].map((gate)=>({
207
- name: gate.name,
208
- command: gate.command,
209
- cwd: gate.cwd
210
- })));
211
- }
212
- function splitAssignment(value, flag, usage) {
213
- const separator = value.indexOf('=');
214
- if (-1 === separator) throw new Error(`${flag} must use ${usage}.`);
215
- return {
216
- left: value.slice(0, separator),
217
- right: value.slice(separator + 1)
218
- };
219
- }
220
- function normalizeWorkspacePackages(workspacePackages) {
221
- return workspacePackages.map((entry, index)=>{
222
- const label = `bridge.workspacePackages[${index}]`;
223
- const packageNames = entry.packageNames && entry.packageNames.length > 0 ? uniqueNonEmptyValues(entry.packageNames, `${label}.packageNames`) : void 0;
224
- const testAliases = entry.testAliases && entry.testAliases.length > 0 ? normalizeTestAliases(entry.testAliases, label) : void 0;
225
- return {
226
- pattern: requireNonEmptyValue(entry.pattern, `${label}.pattern`),
227
- ...packageNames ? {
228
- packageNames
229
- } : {},
230
- ...testAliases ? {
231
- testAliases
232
- } : {}
233
- };
234
- });
235
- }
236
- function validateParentPackageCoverage(workspacePackages, dependencies) {
237
- const declaredPackages = new Set();
238
- for (const [index, entry] of workspacePackages.entries()){
239
- const label = `bridge.workspacePackages[${index}]`;
240
- const packageNames = entry.packageNames ?? [];
241
- if (0 === packageNames.length && (entry.testAliases ?? []).length > 0) throw new Error(`${label}.packageNames must declare the parent package names covered by "${entry.pattern}" before testAliases can be checked.`);
242
- for (const packageName of packageNames)declaredPackages.add(packageName);
243
- for (const alias of entry.testAliases ?? []){
244
- if (!packageNames.some((packageName)=>aliasMatchesPackage(alias.alias, packageName))) throw new Error(`${label}.testAliases entry "${alias.alias}" must match one of ${label}.packageNames.`);
245
- if (pointsAtBuildOutput(alias.target)) throw new Error(`${label}.testAliases target "${alias.target}" must point at source files, not dist output.`);
246
- }
247
- }
248
- const missingDependencies = dependencies.filter((dependency)=>!declaredPackages.has(dependency));
249
- if (declaredPackages.size > 0 && missingDependencies.length > 0) throw new Error(`Bridge mode dependencies must be declared by bridge.workspacePackages[].packageNames: ${missingDependencies.join(', ')}.`);
250
- }
251
- function aliasMatchesPackage(alias, packageName) {
252
- return alias === packageName || alias.startsWith(`${packageName}/`);
253
- }
254
- function pointsAtBuildOutput(target) {
255
- return target.split(/[\\/]/u).includes('dist');
256
- }
257
- function validateReactSingletons(reactSingletons) {
258
- const missing = defaultReactSingletons.filter((packageName)=>!reactSingletons.includes(packageName));
259
- if (missing.length > 0) throw new Error(`Bridge mode React singleton/dedupe declarations must include ${defaultReactSingletons.join(' and ')}. Missing: ${missing.join(', ')}.`);
260
- }
261
- function normalizeTestAliases(testAliases, parentLabel) {
262
- const aliases = new Map();
263
- for (const [index, alias] of testAliases.entries()){
264
- const label = `${parentLabel}.testAliases[${index}]`;
265
- const normalizedAlias = requireNonEmptyValue(alias.alias, `${label}.alias`);
266
- aliases.set(normalizedAlias, {
267
- alias: normalizedAlias,
268
- target: requireNonEmptyValue(alias.target, `${label}.target`)
269
- });
270
- }
271
- return [
272
- ...aliases.values()
273
- ];
274
- }
275
- function normalizeBridgeGates(gates) {
276
- const normalized = new Map();
277
- for (const [index, gate] of gates.entries()){
278
- const label = `bridge.gates[${index}]`;
279
- const name = requireNonEmptyValue(gate.name, `${label}.name`);
280
- normalized.set(name, {
281
- name,
282
- command: requireNonEmptyValue(gate.command, `${label}.command`),
283
- ...gate.cwd ? {
284
- cwd: requireNonEmptyValue(gate.cwd, `${label}.cwd`)
285
- } : {}
286
- });
287
- }
288
- return [
289
- ...normalized.values()
290
- ];
291
- }
292
- function uniqueNonEmptyValues(values, label) {
293
- const unique = new Set();
294
- for (const [index, value] of values.entries())unique.add(requireNonEmptyValue(value, `${label}[${index}]`));
295
- return [
296
- ...unique
297
- ];
298
- }
299
- __webpack_require__.d(__webpack_exports__, {
300
- hasUltramodernBridgeCliOptions: ()=>hasUltramodernBridgeCliOptions,
301
- normalizeUltramodernBridgeConfig: ()=>normalizeUltramodernBridgeConfig,
302
- parseUltramodernBridgeCliOptions: ()=>parseUltramodernBridgeCliOptions
303
- }, {
304
- ultramodernBridgeCliBooleanFlags: ultramodernBridgeCliBooleanFlags,
305
- ultramodernBridgeCliFlags: ultramodernBridgeCliFlags,
306
- ultramodernBridgeCliValueFlags: ultramodernBridgeCliValueFlags,
307
- ultramodernBridgeLockfilePolicies: ultramodernBridgeLockfilePolicies
308
- });
309
- exports.hasUltramodernBridgeCliOptions = __webpack_exports__.hasUltramodernBridgeCliOptions;
310
- exports.normalizeUltramodernBridgeConfig = __webpack_exports__.normalizeUltramodernBridgeConfig;
311
- exports.parseUltramodernBridgeCliOptions = __webpack_exports__.parseUltramodernBridgeCliOptions;
312
- exports.ultramodernBridgeCliBooleanFlags = __webpack_exports__.ultramodernBridgeCliBooleanFlags;
313
- exports.ultramodernBridgeCliFlags = __webpack_exports__.ultramodernBridgeCliFlags;
314
- exports.ultramodernBridgeCliValueFlags = __webpack_exports__.ultramodernBridgeCliValueFlags;
315
- exports.ultramodernBridgeLockfilePolicies = __webpack_exports__.ultramodernBridgeLockfilePolicies;
316
- for(var __rspack_i in __webpack_exports__)if (-1 === [
317
- "hasUltramodernBridgeCliOptions",
318
- "normalizeUltramodernBridgeConfig",
319
- "parseUltramodernBridgeCliOptions",
320
- "ultramodernBridgeCliBooleanFlags",
321
- "ultramodernBridgeCliFlags",
322
- "ultramodernBridgeCliValueFlags",
323
- "ultramodernBridgeLockfilePolicies"
324
- ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
52
+ (()=>{
53
+ __webpack_require__.r(__webpack_exports__);
54
+ var _bridge_config_index__rspack_import_0 = __webpack_require__("./bridge-config/index");
55
+ var __rspack_reexport = {};
56
+ for(const __rspack_import_key in _bridge_config_index__rspack_import_0)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_bridge_config_index__rspack_import_0[__rspack_import_key];
57
+ __webpack_require__.d(__webpack_exports__, __rspack_reexport);
58
+ })();
59
+ for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
325
60
  Object.defineProperty(exports, '__esModule', {
326
61
  value: true
327
62
  });
@@ -34,10 +34,27 @@ __webpack_require__.d(__webpack_exports__, {
34
34
  createUltramodernConfig: ()=>createUltramodernConfig
35
35
  });
36
36
  const external_api_cjs_namespaceObject = require("./api.cjs");
37
+ const external_backend_federation_cjs_namespaceObject = require("./backend-federation.cjs");
38
+ const external_delivery_unit_cjs_namespaceObject = require("./delivery-unit.cjs");
37
39
  const external_descriptors_cjs_namespaceObject = require("./descriptors.cjs");
38
40
  const external_naming_cjs_namespaceObject = require("./naming.cjs");
39
41
  const external_policy_cjs_namespaceObject = require("./policy.cjs");
42
+ const external_tooling_command_catalog_cjs_namespaceObject = require("./tooling-command-catalog.cjs");
40
43
  const external_versions_cjs_namespaceObject = require("./versions.cjs");
44
+ function isJsonValue(value) {
45
+ return void 0 !== value;
46
+ }
47
+ function optionalJsonEntry(key, value) {
48
+ return void 0 === value ? {} : {
49
+ [key]: value
50
+ };
51
+ }
52
+ function jsonEntries(entries) {
53
+ return Object.fromEntries(entries.filter((entry)=>isJsonValue(entry[1])));
54
+ }
55
+ function presentJsonValues(values) {
56
+ return values.filter(isJsonValue);
57
+ }
41
58
  function createTopology(scope, remotes = []) {
42
59
  const shellHost = (0, external_descriptors_cjs_namespaceObject.createShellHost)(remotes);
43
60
  return {
@@ -49,7 +66,7 @@ function createTopology(scope, remotes = []) {
49
66
  id: external_descriptors_cjs_namespaceObject.shellApp.id,
50
67
  kind: 'shell',
51
68
  package: (0, external_naming_cjs_namespaceObject.packageName)(scope, external_descriptors_cjs_namespaceObject.shellApp.packageSuffix),
52
- verticalRefs: shellHost.verticalRefs,
69
+ verticalRefs: shellHost.verticalRefs ?? [],
53
70
  moduleFederation: {
54
71
  role: 'host',
55
72
  name: external_descriptors_cjs_namespaceObject.shellApp.mfName,
@@ -63,7 +80,9 @@ function createTopology(scope, remotes = []) {
63
80
  verticals: remotes.map((vertical)=>({
64
81
  id: vertical.id,
65
82
  kind: vertical.kind,
66
- domain: vertical.domain,
83
+ ...vertical.domain ? {
84
+ domain: vertical.domain
85
+ } : {},
67
86
  package: (0, external_naming_cjs_namespaceObject.packageName)(scope, vertical.packageSuffix),
68
87
  path: vertical.directory,
69
88
  moduleFederation: {
@@ -76,12 +95,13 @@ function createTopology(scope, remotes = []) {
76
95
  remotes: (0, external_descriptors_cjs_namespaceObject.createModuleFederationRemoteContracts)(vertical)
77
96
  } : {},
78
97
  ssr: true,
79
- fallbackTelemetryEvent: 'modernjs:mv-runtime-parity',
80
98
  sharedContractVersion: 'mf-ssr-contract-v1'
81
99
  },
82
- ...(0, external_api_cjs_namespaceObject.apiTopologyMetadata)(vertical) ? {
83
- api: (0, external_api_cjs_namespaceObject.apiTopologyMetadata)(vertical)
100
+ ...optionalJsonEntry('backendFederation', (0, external_backend_federation_cjs_namespaceObject.createBackendFederationContract)(scope, vertical)),
101
+ ...vertical.api ? {
102
+ deliveryUnit: (0, external_delivery_unit_cjs_namespaceObject.deliveryUnitContractBlock)((0, external_delivery_unit_cjs_namespaceObject.createDeliveryUnitRecord)(scope, vertical))
84
103
  } : {},
104
+ ...optionalJsonEntry('api', (0, external_api_cjs_namespaceObject.apiTopologyMetadata)(vertical)),
85
105
  cloudflare: (0, external_policy_cjs_namespaceObject.createCloudflareDeployContract)(scope, vertical),
86
106
  ownership: vertical.ownership
87
107
  })),
@@ -134,7 +154,7 @@ function createOwnership(scope, remotes = []) {
134
154
  }))
135
155
  };
136
156
  }
137
- function createDevelopmentOverlay(remotes = []) {
157
+ function createDevelopmentOverlay(scope, remotes = []) {
138
158
  return {
139
159
  schemaVersion: 1,
140
160
  environment: 'development',
@@ -150,6 +170,10 @@ function createDevelopmentOverlay(remotes = []) {
150
170
  remote.id,
151
171
  `http://localhost:${remote.port}/mf-manifest.json`
152
172
  ])),
173
+ serverExecution: jsonEntries((0, external_descriptors_cjs_namespaceObject.verticalApiApps)(remotes).map((app)=>[
174
+ app.id,
175
+ (0, external_backend_federation_cjs_namespaceObject.createServerExecutionOverlay)(scope, app)
176
+ ])),
153
177
  apis: Object.fromEntries((0, external_descriptors_cjs_namespaceObject.verticalApiApps)(remotes).map((app)=>[
154
178
  app.id,
155
179
  `http://localhost:${app.port}${(0, external_descriptors_cjs_namespaceObject.resolveApiPrefix)(app)}`
@@ -214,7 +238,7 @@ function createUltramodernConfig(scope, modernVersion, packageSource, apps = [
214
238
  name: app.mfName,
215
239
  exposes: Object.keys(app.exposes ?? {}),
216
240
  ...'shell' === app.kind ? {
217
- verticalRefs: shellHost.verticalRefs,
241
+ verticalRefs: shellHost.verticalRefs ?? [],
218
242
  remotes: (0, external_descriptors_cjs_namespaceObject.createModuleFederationRemoteContracts)(shellHost, remotes)
219
243
  } : app.verticalRefs?.length ? {
220
244
  verticalRefs: app.verticalRefs,
@@ -222,10 +246,14 @@ function createUltramodernConfig(scope, modernVersion, packageSource, apps = [
222
246
  } : {},
223
247
  ssr: true,
224
248
  dts: {
225
- compilerInstance: 'tsgo',
249
+ compilerInstance: 'effect-tsgo',
226
250
  tsConfigPath: './tsconfig.mf-types.json'
227
251
  }
228
252
  },
253
+ ...optionalJsonEntry('backendFederation', (0, external_backend_federation_cjs_namespaceObject.createBackendFederationContract)(scope, app)),
254
+ ...app.api ? {
255
+ deliveryUnit: (0, external_delivery_unit_cjs_namespaceObject.deliveryUnitContractBlock)((0, external_delivery_unit_cjs_namespaceObject.createDeliveryUnitRecord)(scope, app))
256
+ } : {},
229
257
  ...app.api ? {
230
258
  api: {
231
259
  stem: app.api.stem,
@@ -269,6 +297,9 @@ function createUltramodernConfig(scope, modernVersion, packageSource, apps = [
269
297
  hostOnly: 'shell' === app.kind && 0 === Object.keys(app.exposes ?? {}).length
270
298
  }))
271
299
  },
300
+ backendFederation: {
301
+ apps: presentJsonValues((0, external_descriptors_cjs_namespaceObject.verticalApiApps)(remotes).map((app)=>(0, external_backend_federation_cjs_namespaceObject.createBackendFederationSummary)(scope, app)))
302
+ },
272
303
  agentSkills: {
273
304
  target: 'codex',
274
305
  lockfile: './.codex/skills-lock.json',
@@ -283,13 +314,7 @@ function createUltramodernConfig(scope, modernVersion, packageSource, apps = [
283
314
  tooling: {
284
315
  command: 'modern-js-create ultramodern',
285
316
  wrappers: {
286
- validate: "scripts/validate-ultramodern-workspace.mts",
287
- typecheck: "scripts/ultramodern-typecheck.mts",
288
- mfTypes: "scripts/assert-mf-types.mts",
289
- publicSurface: "scripts/generate-public-surface-assets.mts",
290
- cloudflareProof: "scripts/proof-cloudflare-version.mts",
291
- performanceReadiness: "scripts/ultramodern-performance-readiness.mts",
292
- migrateStrictEffect: "scripts/migrate-strict-effect.mts",
317
+ ...(0, external_tooling_command_catalog_cjs_namespaceObject.createGeneratedToolingWrapperMap)(),
293
318
  apiBoundaries: "scripts/check-ultramodern-api-boundaries.mts",
294
319
  skills: "scripts/bootstrap-agent-skills.mts"
295
320
  }
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.n = (module)=>{
5
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
+ __webpack_require__.d(getter, {
7
+ a: getter
8
+ });
9
+ return getter;
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
22
+ };
23
+ })();
24
+ (()=>{
25
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
26
+ })();
27
+ (()=>{
28
+ __webpack_require__.r = (exports1)=>{
29
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
30
+ value: 'Module'
31
+ });
32
+ Object.defineProperty(exports1, '__esModule', {
33
+ value: true
34
+ });
35
+ };
36
+ })();
37
+ var __webpack_exports__ = {};
38
+ __webpack_require__.r(__webpack_exports__);
39
+ __webpack_require__.d(__webpack_exports__, {
40
+ runSyncDeliveryUnit: ()=>runSyncDeliveryUnit
41
+ });
42
+ const external_node_fs_namespaceObject = require("node:fs");
43
+ var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
44
+ const external_node_path_namespaceObject = require("node:path");
45
+ var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
46
+ const external_node_util_namespaceObject = require("node:util");
47
+ const config_cjs_namespaceObject = require("../ultramodern-tooling/config.cjs");
48
+ const external_backend_federation_cjs_namespaceObject = require("./backend-federation.cjs");
49
+ const external_delivery_unit_cjs_namespaceObject = require("./delivery-unit.cjs");
50
+ const external_descriptors_cjs_namespaceObject = require("./descriptors.cjs");
51
+ const external_module_federation_cjs_namespaceObject = require("./module-federation.cjs");
52
+ const REFERENCE_TOPOLOGY_PATH = 'topology/reference-topology.json';
53
+ function isPlainObject(value) {
54
+ return 'object' == typeof value && null !== value && !Array.isArray(value);
55
+ }
56
+ function writeTextIfChanged(absolutePath, content) {
57
+ if (external_node_fs_default().existsSync(absolutePath) && external_node_fs_default().readFileSync(absolutePath, 'utf-8') === content) return false;
58
+ external_node_fs_default().mkdirSync(external_node_path_default().dirname(absolutePath), {
59
+ recursive: true
60
+ });
61
+ external_node_fs_default().writeFileSync(absolutePath, content, 'utf-8');
62
+ return true;
63
+ }
64
+ function writeJsonIfChanged(absolutePath, value) {
65
+ return writeTextIfChanged(absolutePath, `${JSON.stringify(value, null, 2)}\n`);
66
+ }
67
+ function stampDeliveryUnitIdentity(entry, scope, app) {
68
+ const block = (0, external_delivery_unit_cjs_namespaceObject.deliveryUnitContractBlock)((0, external_delivery_unit_cjs_namespaceObject.createDeliveryUnitRecord)(scope, app));
69
+ entry.deliveryUnit = block;
70
+ if (isPlainObject(entry.backendFederation)) {
71
+ entry.backendFederation.deliveryUnit = block;
72
+ if (!isPlainObject(entry.backendFederation.versionBoundary)) entry.backendFederation.versionBoundary = {};
73
+ entry.backendFederation.versionBoundary.identityRoot = 'deliveryUnit';
74
+ } else entry.backendFederation = (0, external_backend_federation_cjs_namespaceObject.createBackendFederationContract)(scope, app);
75
+ }
76
+ function runSyncDeliveryUnit(args, context) {
77
+ const parsed = (0, external_node_util_namespaceObject.parseArgs)({
78
+ args,
79
+ options: {
80
+ help: {
81
+ type: 'boolean',
82
+ short: 'h'
83
+ },
84
+ workspace: {
85
+ type: 'string'
86
+ }
87
+ },
88
+ strict: true,
89
+ allowPositionals: false
90
+ });
91
+ if (parsed.values.help) {
92
+ process.stdout.write(`Usage:
93
+ modern-js-create ultramodern sync-delivery-unit [--workspace <dir>]
94
+
95
+ Backfills the per-vertical delivery-unit identity blocks required by
96
+ \`ultramodern validate\` onto an existing generated workspace, in place and
97
+ through framework tooling only. For each full-stack vertical it writes the
98
+ delivery-unit block into .modernjs/ultramodern.json topology.apps[] and
99
+ topology/reference-topology.json verticals[] (plus backendFederation.deliveryUnit
100
+ and backendFederation.versionBoundary.identityRoot) and regenerates
101
+ verticals/<id>/shared/ultramodern-build.{json,ts}. Idempotent: a second run writes
102
+ nothing.
103
+ `);
104
+ return 0;
105
+ }
106
+ const workspaceOverride = parsed.values.workspace;
107
+ const workspaceRoot = workspaceOverride ? external_node_path_default().resolve(context.invocationCwd, workspaceOverride) : context.workspaceRoot;
108
+ const compactPath = external_node_path_default().join(workspaceRoot, external_descriptors_cjs_namespaceObject.ULTRAMODERN_CONFIG_PATH);
109
+ if (!external_node_fs_default().existsSync(compactPath)) throw new Error(`Missing ${external_descriptors_cjs_namespaceObject.ULTRAMODERN_CONFIG_PATH}. sync-delivery-unit needs the compact UltraModern config; run \`modern-js-create ultramodern migrate-strict-effect\` first.`);
110
+ const config = (0, config_cjs_namespaceObject.readUltramodernConfig)(workspaceRoot);
111
+ const scope = config.workspace.packageScope;
112
+ const apiApps = (0, config_cjs_namespaceObject.workspaceAppsFromToolingConfig)(config).filter((app)=>Boolean(app.api));
113
+ const written = [];
114
+ const unchanged = [];
115
+ const track = (relativePath, changed)=>{
116
+ (changed ? written : unchanged).push(relativePath);
117
+ };
118
+ const appById = new Map(apiApps.map((app)=>[
119
+ app.id,
120
+ app
121
+ ]));
122
+ const compact = JSON.parse(external_node_fs_default().readFileSync(compactPath, 'utf-8'));
123
+ if (isPlainObject(compact) && Array.isArray(compact.topology?.apps)) for (const entry of compact.topology.apps){
124
+ if (!isPlainObject(entry)) continue;
125
+ const app = appById.get(String(entry.id));
126
+ if (app) stampDeliveryUnitIdentity(entry, scope, app);
127
+ }
128
+ track(external_descriptors_cjs_namespaceObject.ULTRAMODERN_CONFIG_PATH, writeJsonIfChanged(compactPath, compact));
129
+ const topologyPath = external_node_path_default().join(workspaceRoot, REFERENCE_TOPOLOGY_PATH);
130
+ if (external_node_fs_default().existsSync(topologyPath)) {
131
+ const topology = JSON.parse(external_node_fs_default().readFileSync(topologyPath, 'utf-8'));
132
+ if (isPlainObject(topology) && Array.isArray(topology.verticals)) for (const entry of topology.verticals){
133
+ if (!isPlainObject(entry)) continue;
134
+ const app = appById.get(String(entry.id));
135
+ if (app) stampDeliveryUnitIdentity(entry, scope, app);
136
+ }
137
+ track(REFERENCE_TOPOLOGY_PATH, writeJsonIfChanged(topologyPath, topology));
138
+ }
139
+ for (const app of apiApps){
140
+ const buildModulePath = external_node_path_default().join(app.directory, 'shared/ultramodern-build.ts');
141
+ const buildArtifactPath = external_node_path_default().join(app.directory, 'shared/ultramodern-build.json');
142
+ track(buildModulePath, writeTextIfChanged(external_node_path_default().join(workspaceRoot, buildModulePath), (0, external_module_federation_cjs_namespaceObject.createUltramodernBuildModule)(scope, app)));
143
+ track(buildArtifactPath, writeTextIfChanged(external_node_path_default().join(workspaceRoot, buildArtifactPath), (0, external_module_federation_cjs_namespaceObject.createUltramodernBuildArtifactJson)(scope, app)));
144
+ }
145
+ if (0 === written.length) process.stdout.write('[ultramodern] sync-delivery-unit: already in sync; no files written.\n');
146
+ else {
147
+ process.stdout.write(`[ultramodern] sync-delivery-unit: wrote ${written.length} file(s):\n`);
148
+ for (const relativePath of written)process.stdout.write(` wrote ${relativePath}\n`);
149
+ for (const relativePath of unchanged)process.stdout.write(` in-sync ${relativePath}\n`);
150
+ }
151
+ return 0;
152
+ }
153
+ exports.runSyncDeliveryUnit = __webpack_exports__.runSyncDeliveryUnit;
154
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
155
+ "runSyncDeliveryUnit"
156
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
157
+ Object.defineProperty(exports, '__esModule', {
158
+ value: true
159
+ });