@bleedingdev/modern-js-create 3.5.0-ultramodern.3 → 3.5.0-ultramodern.31

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 (461) hide show
  1. package/README.md +21 -17
  2. package/dist/cjs/cli/flags.cjs +326 -0
  3. package/dist/cjs/cli/help.cjs +106 -0
  4. package/dist/cjs/cli/package-source.cjs +186 -0
  5. package/dist/cjs/cli/project-setup.cjs +138 -0
  6. package/dist/cjs/cli/prompts.cjs +118 -0
  7. package/dist/cjs/index.cjs +24 -581
  8. package/dist/cjs/ultramodern-tooling/commands/cloudflare-output-verify.cjs +132 -0
  9. package/dist/cjs/ultramodern-tooling/commands/context.cjs +131 -0
  10. package/dist/cjs/ultramodern-tooling/commands/mf-types.cjs +55 -0
  11. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.cjs +158 -0
  12. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.cjs +49 -0
  13. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.cjs +87 -0
  14. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.cjs +58 -0
  15. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.cjs +62 -0
  16. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.cjs +60 -0
  17. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.cjs +132 -0
  18. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.cjs +67 -0
  19. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.cjs +93 -0
  20. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.cjs +60 -0
  21. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.cjs +67 -0
  22. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.cjs +67 -0
  23. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/help.cjs +54 -0
  24. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/install.cjs +52 -0
  25. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/io.cjs +133 -0
  26. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.cjs +219 -0
  27. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-source.cjs +76 -0
  28. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.cjs +131 -0
  29. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.cjs +161 -0
  30. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.cjs +88 -0
  31. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect.cjs +149 -0
  32. package/dist/cjs/ultramodern-tooling/commands/options.cjs +59 -0
  33. package/dist/cjs/ultramodern-tooling/commands/routes-generate.cjs +122 -0
  34. package/dist/cjs/ultramodern-tooling/commands/skills.cjs +49 -0
  35. package/dist/cjs/ultramodern-tooling/commands/sync-delivery-unit.cjs +40 -0
  36. package/dist/cjs/ultramodern-tooling/commands/validate.cjs +49 -0
  37. package/dist/cjs/ultramodern-tooling/commands.cjs +27 -478
  38. package/dist/cjs/ultramodern-tooling/config/constants.cjs +48 -0
  39. package/dist/cjs/ultramodern-tooling/config/index.cjs +104 -0
  40. package/dist/cjs/ultramodern-tooling/config/json.cjs +61 -0
  41. package/dist/cjs/ultramodern-tooling/config/load.cjs +62 -0
  42. package/dist/cjs/ultramodern-tooling/config/metadata.cjs +92 -0
  43. package/dist/cjs/ultramodern-tooling/config/normalize.cjs +160 -0
  44. package/dist/cjs/ultramodern-tooling/config/synthesize.cjs +157 -0
  45. package/dist/cjs/ultramodern-tooling/config/types.cjs +18 -0
  46. package/dist/cjs/ultramodern-tooling/config.cjs +23 -133
  47. package/dist/cjs/ultramodern-workspace/add-vertical/constants.cjs +52 -0
  48. package/dist/cjs/ultramodern-workspace/add-vertical/execute.cjs +156 -0
  49. package/dist/cjs/ultramodern-workspace/add-vertical/plan.cjs +246 -0
  50. package/dist/cjs/ultramodern-workspace/add-vertical/preflight.cjs +198 -0
  51. package/dist/cjs/ultramodern-workspace/add-vertical/shell-files.cjs +116 -0
  52. package/dist/cjs/ultramodern-workspace/add-vertical/topology.cjs +133 -0
  53. package/dist/cjs/ultramodern-workspace/add-vertical/workspace-state.cjs +107 -0
  54. package/dist/cjs/ultramodern-workspace/add-vertical.cjs +22 -571
  55. package/dist/cjs/ultramodern-workspace/api/checkout-cart.cjs +145 -0
  56. package/dist/cjs/ultramodern-workspace/api/client.cjs +218 -0
  57. package/dist/cjs/ultramodern-workspace/api/contracts.cjs +222 -0
  58. package/dist/cjs/ultramodern-workspace/api/names.cjs +98 -0
  59. package/dist/cjs/ultramodern-workspace/api/service.cjs +220 -0
  60. package/dist/cjs/ultramodern-workspace/api/shared.cjs +252 -0
  61. package/dist/cjs/ultramodern-workspace/api.cjs +29 -1004
  62. package/dist/cjs/ultramodern-workspace/app-files.cjs +11 -29
  63. package/dist/cjs/ultramodern-workspace/backend-federation.cjs +296 -0
  64. package/dist/cjs/ultramodern-workspace/bridge-config/cli.cjs +71 -0
  65. package/dist/cjs/ultramodern-workspace/bridge-config/defaults.cjs +43 -0
  66. package/dist/cjs/ultramodern-workspace/bridge-config/gates.cjs +93 -0
  67. package/dist/cjs/ultramodern-workspace/bridge-config/index.cjs +60 -0
  68. package/dist/cjs/ultramodern-workspace/bridge-config/normalize.cjs +68 -0
  69. package/dist/cjs/ultramodern-workspace/bridge-config/schema.cjs +78 -0
  70. package/dist/cjs/ultramodern-workspace/bridge-config/shared.cjs +110 -0
  71. package/dist/cjs/ultramodern-workspace/bridge-config/validation.cjs +68 -0
  72. package/dist/cjs/ultramodern-workspace/bridge-config/workspace-packages.cjs +108 -0
  73. package/dist/cjs/ultramodern-workspace/bridge-config.cjs +32 -297
  74. package/dist/cjs/ultramodern-workspace/contracts.cjs +24 -8
  75. package/dist/cjs/ultramodern-workspace/delivery-unit-sync.cjs +159 -0
  76. package/dist/cjs/ultramodern-workspace/delivery-unit.cjs +75 -0
  77. package/dist/cjs/ultramodern-workspace/demo-components.cjs +47 -189
  78. package/dist/cjs/ultramodern-workspace/descriptors.cjs +36 -1
  79. package/dist/cjs/ultramodern-workspace/effect-diagnostics.cjs +114 -0
  80. package/dist/cjs/ultramodern-workspace/fs-io.cjs +24 -2
  81. package/dist/cjs/ultramodern-workspace/index.cjs +4 -0
  82. package/dist/cjs/ultramodern-workspace/mf-validation/constants.cjs +69 -0
  83. package/dist/cjs/ultramodern-workspace/mf-validation/discovery.cjs +77 -0
  84. package/dist/cjs/ultramodern-workspace/mf-validation/inspect.cjs +92 -0
  85. package/dist/cjs/ultramodern-workspace/mf-validation/object-literal.cjs +203 -0
  86. package/dist/cjs/ultramodern-workspace/mf-validation/path-utils.cjs +171 -0
  87. package/dist/cjs/ultramodern-workspace/mf-validation/syntax.cjs +228 -0
  88. package/dist/cjs/ultramodern-workspace/mf-validation/types.cjs +18 -0
  89. package/dist/cjs/ultramodern-workspace/mf-validation/validate.cjs +112 -0
  90. package/dist/cjs/ultramodern-workspace/mf-validation.cjs +6 -529
  91. package/dist/cjs/ultramodern-workspace/module-federation/config.cjs +251 -0
  92. package/dist/cjs/ultramodern-workspace/module-federation/index.cjs +73 -0
  93. package/dist/cjs/ultramodern-workspace/module-federation/reexport-module.cjs +73 -0
  94. package/dist/cjs/ultramodern-workspace/module-federation/remote-refs.cjs +105 -0
  95. package/dist/cjs/ultramodern-workspace/module-federation/shared-config.cjs +53 -0
  96. package/dist/cjs/ultramodern-workspace/module-federation.cjs +18 -477
  97. package/dist/cjs/ultramodern-workspace/package-json.cjs +25 -258
  98. package/dist/cjs/ultramodern-workspace/pnpm-workspace-policy-plan.cjs +166 -0
  99. package/dist/cjs/ultramodern-workspace/routes.cjs +8 -142
  100. package/dist/cjs/ultramodern-workspace/shared-patches.cjs +44 -0
  101. package/dist/cjs/ultramodern-workspace/tooling-command-catalog.cjs +153 -0
  102. package/dist/cjs/ultramodern-workspace/tsconfigs.cjs +199 -0
  103. package/dist/cjs/ultramodern-workspace/versions.cjs +8 -3
  104. package/dist/cjs/ultramodern-workspace/workspace-script-plan.cjs +175 -0
  105. package/dist/cjs/ultramodern-workspace/workspace-scripts.cjs +104 -63
  106. package/dist/cjs/ultramodern-workspace/workspace-validation-contract.cjs +97 -0
  107. package/dist/cjs/ultramodern-workspace/write-app.cjs +128 -0
  108. package/dist/cjs/ultramodern-workspace/write-workspace.cjs +10 -59
  109. package/dist/cjs/ultramodern-workspace/zerops.cjs +103 -0
  110. package/dist/esm/cli/flags.js +228 -0
  111. package/dist/esm/cli/help.js +65 -0
  112. package/dist/esm/cli/package-source.js +119 -0
  113. package/dist/esm/cli/project-setup.js +81 -0
  114. package/dist/esm/cli/prompts.js +63 -0
  115. package/dist/esm/index.js +6 -559
  116. package/dist/esm/ultramodern-tooling/commands/cloudflare-output-verify.js +84 -0
  117. package/dist/esm/ultramodern-tooling/commands/context.js +66 -0
  118. package/dist/esm/ultramodern-tooling/commands/mf-types.js +17 -0
  119. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +106 -0
  120. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +11 -0
  121. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +38 -0
  122. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +10 -0
  123. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +14 -0
  124. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +12 -0
  125. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +83 -0
  126. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +16 -0
  127. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +44 -0
  128. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +12 -0
  129. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +7 -0
  130. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +15 -0
  131. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/help.js +16 -0
  132. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/install.js +14 -0
  133. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/io.js +69 -0
  134. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +175 -0
  135. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +38 -0
  136. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +76 -0
  137. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +105 -0
  138. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +16 -0
  139. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect.js +100 -0
  140. package/dist/esm/ultramodern-tooling/commands/options.js +18 -0
  141. package/dist/esm/ultramodern-tooling/commands/routes-generate.js +74 -0
  142. package/dist/esm/ultramodern-tooling/commands/skills.js +11 -0
  143. package/dist/esm/ultramodern-tooling/commands/sync-delivery-unit.js +1 -0
  144. package/dist/esm/ultramodern-tooling/commands/validate.js +11 -0
  145. package/dist/esm/ultramodern-tooling/commands.js +22 -468
  146. package/dist/esm/ultramodern-tooling/config/constants.js +4 -0
  147. package/dist/esm/ultramodern-tooling/config/index.js +7 -0
  148. package/dist/esm/ultramodern-tooling/config/json.js +10 -0
  149. package/dist/esm/ultramodern-tooling/config/load.js +13 -0
  150. package/dist/esm/ultramodern-tooling/config/metadata.js +37 -0
  151. package/dist/esm/ultramodern-tooling/config/normalize.js +106 -0
  152. package/dist/esm/ultramodern-tooling/config/synthesize.js +108 -0
  153. package/dist/esm/ultramodern-tooling/config/types.js +0 -0
  154. package/dist/esm/ultramodern-tooling/config.js +1 -120
  155. package/dist/esm/ultramodern-workspace/add-vertical/constants.js +5 -0
  156. package/dist/esm/ultramodern-workspace/add-vertical/execute.js +108 -0
  157. package/dist/esm/ultramodern-workspace/add-vertical/plan.js +184 -0
  158. package/dist/esm/ultramodern-workspace/add-vertical/preflight.js +122 -0
  159. package/dist/esm/ultramodern-workspace/add-vertical/shell-files.js +59 -0
  160. package/dist/esm/ultramodern-workspace/add-vertical/topology.js +89 -0
  161. package/dist/esm/ultramodern-workspace/add-vertical/workspace-state.js +43 -0
  162. package/dist/esm/ultramodern-workspace/add-vertical.js +6 -544
  163. package/dist/esm/ultramodern-workspace/api/checkout-cart.js +86 -0
  164. package/dist/esm/ultramodern-workspace/api/client.js +177 -0
  165. package/dist/esm/ultramodern-workspace/api/contracts.js +172 -0
  166. package/dist/esm/ultramodern-workspace/api/names.js +33 -0
  167. package/dist/esm/ultramodern-workspace/api/service.js +179 -0
  168. package/dist/esm/ultramodern-workspace/api/shared.js +208 -0
  169. package/dist/esm/ultramodern-workspace/api.js +5 -984
  170. package/dist/esm/ultramodern-workspace/app-files.js +11 -29
  171. package/dist/esm/ultramodern-workspace/backend-federation.js +231 -0
  172. package/dist/esm/ultramodern-workspace/bridge-config/cli.js +30 -0
  173. package/dist/esm/ultramodern-workspace/bridge-config/defaults.js +5 -0
  174. package/dist/esm/ultramodern-workspace/bridge-config/gates.js +52 -0
  175. package/dist/esm/ultramodern-workspace/bridge-config/index.js +3 -0
  176. package/dist/esm/ultramodern-workspace/bridge-config/normalize.js +30 -0
  177. package/dist/esm/ultramodern-workspace/bridge-config/schema.js +31 -0
  178. package/dist/esm/ultramodern-workspace/bridge-config/shared.js +51 -0
  179. package/dist/esm/ultramodern-workspace/bridge-config/validation.js +27 -0
  180. package/dist/esm/ultramodern-workspace/bridge-config/workspace-packages.js +67 -0
  181. package/dist/esm/ultramodern-workspace/bridge-config.js +1 -270
  182. package/dist/esm/ultramodern-workspace/contracts.js +24 -8
  183. package/dist/esm/ultramodern-workspace/delivery-unit-sync.js +110 -0
  184. package/dist/esm/ultramodern-workspace/delivery-unit.js +21 -0
  185. package/dist/esm/ultramodern-workspace/demo-components.js +47 -189
  186. package/dist/esm/ultramodern-workspace/descriptors.js +25 -2
  187. package/dist/esm/ultramodern-workspace/effect-diagnostics.js +76 -0
  188. package/dist/esm/ultramodern-workspace/fs-io.js +24 -2
  189. package/dist/esm/ultramodern-workspace/index.js +1 -0
  190. package/dist/esm/ultramodern-workspace/mf-validation/constants.js +19 -0
  191. package/dist/esm/ultramodern-workspace/mf-validation/discovery.js +28 -0
  192. package/dist/esm/ultramodern-workspace/mf-validation/inspect.js +45 -0
  193. package/dist/esm/ultramodern-workspace/mf-validation/object-literal.js +144 -0
  194. package/dist/esm/ultramodern-workspace/mf-validation/path-utils.js +89 -0
  195. package/dist/esm/ultramodern-workspace/mf-validation/syntax.js +154 -0
  196. package/dist/esm/ultramodern-workspace/mf-validation/types.js +0 -0
  197. package/dist/esm/ultramodern-workspace/mf-validation/validate.js +57 -0
  198. package/dist/esm/ultramodern-workspace/mf-validation.js +3 -516
  199. package/dist/esm/ultramodern-workspace/module-federation/config.js +204 -0
  200. package/dist/esm/ultramodern-workspace/module-federation/index.js +4 -0
  201. package/dist/esm/ultramodern-workspace/module-federation/reexport-module.js +29 -0
  202. package/dist/esm/ultramodern-workspace/module-federation/remote-refs.js +64 -0
  203. package/dist/esm/ultramodern-workspace/module-federation/shared-config.js +12 -0
  204. package/dist/esm/ultramodern-workspace/module-federation.js +2 -458
  205. package/dist/esm/ultramodern-workspace/package-json.js +18 -245
  206. package/dist/esm/ultramodern-workspace/pnpm-workspace-policy-plan.js +113 -0
  207. package/dist/esm/ultramodern-workspace/routes.js +8 -142
  208. package/dist/esm/ultramodern-workspace/shared-patches.js +6 -0
  209. package/dist/esm/ultramodern-workspace/tooling-command-catalog.js +100 -0
  210. package/dist/esm/ultramodern-workspace/tsconfigs.js +136 -0
  211. package/dist/esm/ultramodern-workspace/versions.js +6 -4
  212. package/dist/esm/ultramodern-workspace/workspace-script-plan.js +110 -0
  213. package/dist/esm/ultramodern-workspace/workspace-scripts.js +88 -65
  214. package/dist/esm/ultramodern-workspace/workspace-validation-contract.js +59 -0
  215. package/dist/esm/ultramodern-workspace/write-app.js +90 -0
  216. package/dist/esm/ultramodern-workspace/write-workspace.js +11 -60
  217. package/dist/esm/ultramodern-workspace/zerops.js +65 -0
  218. package/dist/esm-node/cli/flags.js +229 -0
  219. package/dist/esm-node/cli/help.js +66 -0
  220. package/dist/esm-node/cli/package-source.js +120 -0
  221. package/dist/esm-node/cli/project-setup.js +82 -0
  222. package/dist/esm-node/cli/prompts.js +64 -0
  223. package/dist/esm-node/index.js +6 -559
  224. package/dist/esm-node/ultramodern-tooling/commands/cloudflare-output-verify.js +85 -0
  225. package/dist/esm-node/ultramodern-tooling/commands/context.js +67 -0
  226. package/dist/esm-node/ultramodern-tooling/commands/mf-types.js +18 -0
  227. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +107 -0
  228. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +12 -0
  229. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +39 -0
  230. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +11 -0
  231. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +15 -0
  232. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +13 -0
  233. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +84 -0
  234. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +17 -0
  235. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +45 -0
  236. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +13 -0
  237. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +8 -0
  238. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +16 -0
  239. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/help.js +17 -0
  240. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/install.js +15 -0
  241. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/io.js +70 -0
  242. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +176 -0
  243. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +39 -0
  244. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +77 -0
  245. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +106 -0
  246. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +17 -0
  247. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect.js +101 -0
  248. package/dist/esm-node/ultramodern-tooling/commands/options.js +19 -0
  249. package/dist/esm-node/ultramodern-tooling/commands/routes-generate.js +75 -0
  250. package/dist/esm-node/ultramodern-tooling/commands/skills.js +12 -0
  251. package/dist/esm-node/ultramodern-tooling/commands/sync-delivery-unit.js +2 -0
  252. package/dist/esm-node/ultramodern-tooling/commands/validate.js +12 -0
  253. package/dist/esm-node/ultramodern-tooling/commands.js +22 -468
  254. package/dist/esm-node/ultramodern-tooling/config/constants.js +5 -0
  255. package/dist/esm-node/ultramodern-tooling/config/index.js +8 -0
  256. package/dist/esm-node/ultramodern-tooling/config/json.js +11 -0
  257. package/dist/esm-node/ultramodern-tooling/config/load.js +14 -0
  258. package/dist/esm-node/ultramodern-tooling/config/metadata.js +38 -0
  259. package/dist/esm-node/ultramodern-tooling/config/normalize.js +107 -0
  260. package/dist/esm-node/ultramodern-tooling/config/synthesize.js +109 -0
  261. package/dist/esm-node/ultramodern-tooling/config/types.js +1 -0
  262. package/dist/esm-node/ultramodern-tooling/config.js +1 -120
  263. package/dist/esm-node/ultramodern-workspace/add-vertical/constants.js +6 -0
  264. package/dist/esm-node/ultramodern-workspace/add-vertical/execute.js +109 -0
  265. package/dist/esm-node/ultramodern-workspace/add-vertical/plan.js +185 -0
  266. package/dist/esm-node/ultramodern-workspace/add-vertical/preflight.js +123 -0
  267. package/dist/esm-node/ultramodern-workspace/add-vertical/shell-files.js +60 -0
  268. package/dist/esm-node/ultramodern-workspace/add-vertical/topology.js +90 -0
  269. package/dist/esm-node/ultramodern-workspace/add-vertical/workspace-state.js +44 -0
  270. package/dist/esm-node/ultramodern-workspace/add-vertical.js +6 -544
  271. package/dist/esm-node/ultramodern-workspace/api/checkout-cart.js +87 -0
  272. package/dist/esm-node/ultramodern-workspace/api/client.js +178 -0
  273. package/dist/esm-node/ultramodern-workspace/api/contracts.js +173 -0
  274. package/dist/esm-node/ultramodern-workspace/api/names.js +34 -0
  275. package/dist/esm-node/ultramodern-workspace/api/service.js +180 -0
  276. package/dist/esm-node/ultramodern-workspace/api/shared.js +209 -0
  277. package/dist/esm-node/ultramodern-workspace/api.js +5 -984
  278. package/dist/esm-node/ultramodern-workspace/app-files.js +11 -29
  279. package/dist/esm-node/ultramodern-workspace/backend-federation.js +232 -0
  280. package/dist/esm-node/ultramodern-workspace/bridge-config/cli.js +31 -0
  281. package/dist/esm-node/ultramodern-workspace/bridge-config/defaults.js +6 -0
  282. package/dist/esm-node/ultramodern-workspace/bridge-config/gates.js +53 -0
  283. package/dist/esm-node/ultramodern-workspace/bridge-config/index.js +4 -0
  284. package/dist/esm-node/ultramodern-workspace/bridge-config/normalize.js +31 -0
  285. package/dist/esm-node/ultramodern-workspace/bridge-config/schema.js +32 -0
  286. package/dist/esm-node/ultramodern-workspace/bridge-config/shared.js +52 -0
  287. package/dist/esm-node/ultramodern-workspace/bridge-config/validation.js +28 -0
  288. package/dist/esm-node/ultramodern-workspace/bridge-config/workspace-packages.js +68 -0
  289. package/dist/esm-node/ultramodern-workspace/bridge-config.js +1 -270
  290. package/dist/esm-node/ultramodern-workspace/contracts.js +24 -8
  291. package/dist/esm-node/ultramodern-workspace/delivery-unit-sync.js +111 -0
  292. package/dist/esm-node/ultramodern-workspace/delivery-unit.js +22 -0
  293. package/dist/esm-node/ultramodern-workspace/demo-components.js +47 -189
  294. package/dist/esm-node/ultramodern-workspace/descriptors.js +25 -2
  295. package/dist/esm-node/ultramodern-workspace/effect-diagnostics.js +77 -0
  296. package/dist/esm-node/ultramodern-workspace/fs-io.js +24 -2
  297. package/dist/esm-node/ultramodern-workspace/index.js +1 -0
  298. package/dist/esm-node/ultramodern-workspace/mf-validation/constants.js +20 -0
  299. package/dist/esm-node/ultramodern-workspace/mf-validation/discovery.js +29 -0
  300. package/dist/esm-node/ultramodern-workspace/mf-validation/inspect.js +46 -0
  301. package/dist/esm-node/ultramodern-workspace/mf-validation/object-literal.js +145 -0
  302. package/dist/esm-node/ultramodern-workspace/mf-validation/path-utils.js +90 -0
  303. package/dist/esm-node/ultramodern-workspace/mf-validation/syntax.js +155 -0
  304. package/dist/esm-node/ultramodern-workspace/mf-validation/types.js +1 -0
  305. package/dist/esm-node/ultramodern-workspace/mf-validation/validate.js +58 -0
  306. package/dist/esm-node/ultramodern-workspace/mf-validation.js +3 -516
  307. package/dist/esm-node/ultramodern-workspace/module-federation/config.js +205 -0
  308. package/dist/esm-node/ultramodern-workspace/module-federation/index.js +5 -0
  309. package/dist/esm-node/ultramodern-workspace/module-federation/reexport-module.js +30 -0
  310. package/dist/esm-node/ultramodern-workspace/module-federation/remote-refs.js +65 -0
  311. package/dist/esm-node/ultramodern-workspace/module-federation/shared-config.js +13 -0
  312. package/dist/esm-node/ultramodern-workspace/module-federation.js +2 -458
  313. package/dist/esm-node/ultramodern-workspace/package-json.js +18 -245
  314. package/dist/esm-node/ultramodern-workspace/pnpm-workspace-policy-plan.js +114 -0
  315. package/dist/esm-node/ultramodern-workspace/routes.js +8 -142
  316. package/dist/esm-node/ultramodern-workspace/shared-patches.js +7 -0
  317. package/dist/esm-node/ultramodern-workspace/tooling-command-catalog.js +101 -0
  318. package/dist/esm-node/ultramodern-workspace/tsconfigs.js +137 -0
  319. package/dist/esm-node/ultramodern-workspace/versions.js +6 -4
  320. package/dist/esm-node/ultramodern-workspace/workspace-script-plan.js +111 -0
  321. package/dist/esm-node/ultramodern-workspace/workspace-scripts.js +88 -65
  322. package/dist/esm-node/ultramodern-workspace/workspace-validation-contract.js +60 -0
  323. package/dist/esm-node/ultramodern-workspace/write-app.js +91 -0
  324. package/dist/esm-node/ultramodern-workspace/write-workspace.js +11 -60
  325. package/dist/esm-node/ultramodern-workspace/zerops.js +66 -0
  326. package/dist/types/cli/flags.d.ts +30 -0
  327. package/dist/types/cli/help.d.ts +2 -0
  328. package/dist/types/cli/package-source.d.ts +15 -0
  329. package/dist/types/cli/project-setup.d.ts +8 -0
  330. package/dist/types/cli/prompts.d.ts +6 -0
  331. package/dist/types/ultramodern-tooling/commands/cloudflare-output-verify.d.ts +2 -0
  332. package/dist/types/ultramodern-tooling/commands/context.d.ts +11 -0
  333. package/dist/types/ultramodern-tooling/commands/mf-types.d.ts +2 -0
  334. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.d.ts +4 -0
  335. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.d.ts +4 -0
  336. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.d.ts +1 -0
  337. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.d.ts +3 -0
  338. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.d.ts +3 -0
  339. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.d.ts +3 -0
  340. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.d.ts +2 -0
  341. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.d.ts +4 -0
  342. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.d.ts +3 -0
  343. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.d.ts +3 -0
  344. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.d.ts +7 -0
  345. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.d.ts +3 -0
  346. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/help.d.ts +1 -0
  347. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/install.d.ts +2 -0
  348. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/io.d.ts +14 -0
  349. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.d.ts +9 -0
  350. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-source.d.ts +3 -0
  351. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.d.ts +4 -0
  352. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.d.ts +25 -0
  353. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.d.ts +9 -0
  354. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect.d.ts +2 -0
  355. package/dist/types/ultramodern-tooling/commands/options.d.ts +2 -0
  356. package/dist/types/ultramodern-tooling/commands/routes-generate.d.ts +2 -0
  357. package/dist/types/ultramodern-tooling/commands/skills.d.ts +2 -0
  358. package/dist/types/ultramodern-tooling/commands/sync-delivery-unit.d.ts +1 -0
  359. package/dist/types/ultramodern-tooling/commands/validate.d.ts +2 -0
  360. package/dist/types/ultramodern-tooling/config/constants.d.ts +3 -0
  361. package/dist/types/ultramodern-tooling/config/index.d.ts +7 -0
  362. package/dist/types/ultramodern-tooling/config/json.d.ts +2 -0
  363. package/dist/types/ultramodern-tooling/config/load.d.ts +2 -0
  364. package/dist/types/ultramodern-tooling/config/metadata.d.ts +4 -0
  365. package/dist/types/ultramodern-tooling/config/normalize.d.ts +5 -0
  366. package/dist/types/ultramodern-tooling/config/synthesize.d.ts +5 -0
  367. package/dist/types/ultramodern-tooling/config/types.d.ts +41 -0
  368. package/dist/types/ultramodern-tooling/config.d.ts +1 -43
  369. package/dist/types/ultramodern-workspace/add-vertical/constants.d.ts +4 -0
  370. package/dist/types/ultramodern-workspace/add-vertical/execute.d.ts +2 -0
  371. package/dist/types/ultramodern-workspace/add-vertical/plan.d.ts +7 -0
  372. package/dist/types/ultramodern-workspace/add-vertical/preflight.d.ts +28 -0
  373. package/dist/types/ultramodern-workspace/add-vertical/shell-files.d.ts +6 -0
  374. package/dist/types/ultramodern-workspace/add-vertical/topology.d.ts +9 -0
  375. package/dist/types/ultramodern-workspace/add-vertical/workspace-state.d.ts +8 -0
  376. package/dist/types/ultramodern-workspace/add-vertical.d.ts +7 -39
  377. package/dist/types/ultramodern-workspace/api/checkout-cart.d.ts +33 -0
  378. package/dist/types/ultramodern-workspace/api/client.d.ts +6 -0
  379. package/dist/types/ultramodern-workspace/api/contracts.d.ts +15 -0
  380. package/dist/types/ultramodern-workspace/api/names.d.ts +41 -0
  381. package/dist/types/ultramodern-workspace/api/service.d.ts +6 -0
  382. package/dist/types/ultramodern-workspace/api/shared.d.ts +10 -0
  383. package/dist/types/ultramodern-workspace/api.d.ts +5 -73
  384. package/dist/types/ultramodern-workspace/backend-federation.d.ts +11 -0
  385. package/dist/types/ultramodern-workspace/bridge-config/cli.d.ts +3 -0
  386. package/dist/types/ultramodern-workspace/bridge-config/defaults.d.ts +1 -0
  387. package/dist/types/ultramodern-workspace/bridge-config/gates.d.ts +3 -0
  388. package/dist/types/ultramodern-workspace/bridge-config/index.d.ts +4 -0
  389. package/dist/types/ultramodern-workspace/bridge-config/normalize.d.ts +2 -0
  390. package/dist/types/ultramodern-workspace/bridge-config/schema.d.ts +61 -0
  391. package/dist/types/ultramodern-workspace/bridge-config/shared.d.ts +12 -0
  392. package/dist/types/ultramodern-workspace/bridge-config/validation.d.ts +3 -0
  393. package/dist/types/ultramodern-workspace/bridge-config/workspace-packages.d.ts +3 -0
  394. package/dist/types/ultramodern-workspace/bridge-config.d.ts +1 -64
  395. package/dist/types/ultramodern-workspace/contracts.d.ts +1 -1
  396. package/dist/types/ultramodern-workspace/delivery-unit-sync.d.ts +6 -0
  397. package/dist/types/ultramodern-workspace/delivery-unit.d.ts +8 -0
  398. package/dist/types/ultramodern-workspace/descriptors.d.ts +4 -0
  399. package/dist/types/ultramodern-workspace/effect-diagnostics.d.ts +1 -0
  400. package/dist/types/ultramodern-workspace/index.d.ts +1 -0
  401. package/dist/types/ultramodern-workspace/mf-validation/constants.d.ts +5 -0
  402. package/dist/types/ultramodern-workspace/mf-validation/discovery.d.ts +2 -0
  403. package/dist/types/ultramodern-workspace/mf-validation/inspect.d.ts +5 -0
  404. package/dist/types/ultramodern-workspace/mf-validation/object-literal.d.ts +9 -0
  405. package/dist/types/ultramodern-workspace/mf-validation/path-utils.d.ts +13 -0
  406. package/dist/types/ultramodern-workspace/mf-validation/syntax.d.ts +14 -0
  407. package/dist/types/ultramodern-workspace/mf-validation/types.d.ts +33 -0
  408. package/dist/types/ultramodern-workspace/mf-validation/validate.d.ts +4 -0
  409. package/dist/types/ultramodern-workspace/mf-validation.d.ts +4 -27
  410. package/dist/types/ultramodern-workspace/module-federation/config.d.ts +5 -0
  411. package/dist/types/ultramodern-workspace/module-federation/index.d.ts +4 -0
  412. package/dist/types/ultramodern-workspace/module-federation/reexport-module.d.ts +4 -0
  413. package/dist/types/ultramodern-workspace/module-federation/remote-refs.d.ts +3 -0
  414. package/dist/types/ultramodern-workspace/module-federation/shared-config.d.ts +2 -0
  415. package/dist/types/ultramodern-workspace/module-federation.d.ts +2 -17
  416. package/dist/types/ultramodern-workspace/package-json.d.ts +1 -14
  417. package/dist/types/ultramodern-workspace/pnpm-workspace-policy-plan.d.ts +39 -0
  418. package/dist/types/ultramodern-workspace/shared-patches.d.ts +2 -0
  419. package/dist/types/ultramodern-workspace/tooling-command-catalog.d.ts +18 -0
  420. package/dist/types/ultramodern-workspace/tsconfigs.d.ts +13 -0
  421. package/dist/types/ultramodern-workspace/versions.d.ts +5 -3
  422. package/dist/types/ultramodern-workspace/workspace-script-plan.d.ts +72 -0
  423. package/dist/types/ultramodern-workspace/workspace-scripts.d.ts +13 -0
  424. package/dist/types/ultramodern-workspace/workspace-validation-contract.d.ts +42 -0
  425. package/dist/types/ultramodern-workspace/write-app.d.ts +3 -0
  426. package/dist/types/ultramodern-workspace/write-workspace.d.ts +2 -1
  427. package/dist/types/ultramodern-workspace/zerops.d.ts +2 -0
  428. package/package.json +4 -3
  429. package/template-workspace/.gitignore.handlebars +4 -0
  430. package/template-workspace/README.md.handlebars +18 -15
  431. package/template-workspace/patches/@module-federation__bridge-react@2.6.0.patch +140 -0
  432. package/template-workspace/patches/@module-federation__modern-js-v3@2.6.0.patch +57 -0
  433. package/template-workspace/patches/drizzle-orm-ts7-strict-declarations.patch +452 -0
  434. package/template-workspace/patches/effect-schema-error-type-id.patch +18 -0
  435. package/template-workspace/pnpm-workspace.yaml.handlebars +8 -0
  436. package/template-workspace/scripts/bootstrap-agent-skills.mjs +11 -3
  437. package/templates/workspace/apps/modern.config.shared-module-federation.ts.handlebars +37 -0
  438. package/templates/workspace/apps/modern.config.ts.handlebars +252 -0
  439. package/templates/workspace/apps/shared/src/routes/ultramodern-jsonld.ts.handlebars +119 -0
  440. package/templates/workspace/apps/shared/src/routes/ultramodern-route-metadata.ts.handlebars +21 -0
  441. package/templates/workspace/apps/shell-super-app/src/routes/[lang]/page.tsx.handlebars +49 -0
  442. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.helpers.tsx.handlebars +79 -0
  443. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.imports.tsx.handlebars +11 -0
  444. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.tsx.handlebars +46 -0
  445. package/templates/workspace/packages/shared-design-tokens/tokens.css.handlebars +7 -0
  446. package/templates/workspace/postcss.config.mjs.handlebars +5 -0
  447. package/templates/workspace/tailwind.config.ts.handlebars +3 -0
  448. package/templates/workspace/verticals/server/checkout-cart-handlers.ts.handlebars +49 -0
  449. package/templates/workspace/verticals/server/checkout-cart-state.ts.handlebars +23 -0
  450. package/templates/workspace/verticals/shared/api.checkout-cart-contract-fields.ts.handlebars +1 -0
  451. package/templates/workspace/verticals/shared/api.checkout-cart-endpoints.ts.handlebars +23 -0
  452. package/templates/workspace/verticals/shared/api.checkout-cart-operation-contexts.ts.handlebars +25 -0
  453. package/templates/workspace/verticals/shared/api.checkout-cart-schemas.ts.handlebars +48 -0
  454. package/templates/workspace/verticals/src/api/checkout-cart-client-exports.ts.handlebars +70 -0
  455. package/templates/workspace-scripts/check-ultramodern-api-boundaries.mts +40 -2
  456. package/templates/workspace-scripts/generate-node-backend-federation.mjs +299 -0
  457. package/templates/workspace-scripts/materialize-zerops-runtime.mjs +448 -0
  458. package/templates/workspace-scripts/proof-cloudflare-version.mjs +237 -9
  459. package/templates/workspace-scripts/proof-node-backend-federation.mjs +760 -0
  460. package/templates/workspace-scripts/ultramodern-cloudflare-proof.mjs +188 -2
  461. package/templates/workspace-scripts/validate-ultramodern-workspace.mjs.handlebars +476 -26
@@ -38,60 +38,34 @@ __webpack_require__.d(__webpack_exports__, {
38
38
  remoteComponentOutputPath: ()=>remoteComponentOutputPath
39
39
  });
40
40
  const external_descriptors_cjs_namespaceObject = require("./descriptors.cjs");
41
+ const external_fs_io_cjs_namespaceObject = require("./fs-io.cjs");
41
42
  const external_naming_cjs_namespaceObject = require("./naming.cjs");
42
43
  function createShellPage(remotes = []) {
43
44
  const tw = (0, external_naming_cjs_namespaceObject.createTw)((0, external_naming_cjs_namespaceObject.tailwindPrefixForApp)(external_descriptors_cjs_namespaceObject.shellApp));
44
45
  const remoteCount = String(remotes.length);
45
- return `import { Link, useModernI18n } from '@modern-js/plugin-i18n/runtime';
46
- import ShellFrame from '../shell-frame';
47
- import { UltramodernRouteHead } from '../ultramodern-route-head';
48
- import { VerticalShowcase } from '../vertical-components';
49
- import { ultramodernUiMarker } from '../../ultramodern-build';
50
-
51
- export default function ShellHome() {
52
- const { t } = useModernI18n();
53
-
54
- return (
55
- <ShellFrame>
56
- <UltramodernRouteHead />
57
- <section className="${tw('mx-auto grid max-w-7xl items-center gap-8 py-8 md:grid-cols-[0.9fr_1.1fr] lg:gap-14')}">
58
- <div className="${tw('min-w-0')}">
59
- <p className="${tw('text-xs font-black uppercase tracking-[0.18em] text-emerald-800')}">{t('shell.hero.eyebrow')}</p>
60
- <h1 className="${tw('mt-3 max-w-3xl text-5xl font-black leading-none tracking-normal text-stone-950 md:text-7xl')}">{t('shell.title')}</h1>
61
- <p className="${tw('mt-5 max-w-2xl text-lg leading-8 text-stone-600')}">{t('shell.hero.lede')}</p>
62
- <div className="${tw('mt-7 flex flex-wrap gap-3')}">
63
- <Link className="${tw('inline-flex min-h-11 items-center justify-center rounded-full bg-emerald-800 px-5 font-bold text-white shadow-lg shadow-stone-900/10')}" to="/">
64
- {t('shell.hero.primary')}
65
- </Link>
66
- <span className="${tw('inline-flex min-h-11 items-center justify-center rounded-full border border-stone-900/15 bg-white/90 px-5 font-bold text-stone-950 shadow-lg shadow-stone-900/10')}">
67
- {t('shell.hero.secondary')}
68
- </span>
69
- </div>
70
- </div>
71
- <div className="${tw('rounded-3xl bg-white/90 p-6 shadow-2xl shadow-stone-900/15')}">
72
- <div className="${tw('grid gap-4 sm:grid-cols-2')}">
73
- <article className="${tw('rounded-2xl bg-emerald-50 p-5')}">
74
- <span className="${tw('text-sm font-black uppercase tracking-[0.16em] text-emerald-800')}">{t('shell.hero.cardOneKicker')}</span>
75
- <strong className="${tw('mt-3 block text-3xl font-black text-stone-950')}">${remoteCount}</strong>
76
- <p className="${tw('mt-2 text-sm font-semibold text-stone-600')}">{t('shell.hero.cardOne')}</p>
77
- </article>
78
- <article className="${tw('rounded-2xl bg-amber-50 p-5')}">
79
- <span className="${tw('text-sm font-black uppercase tracking-[0.16em] text-amber-800')}">{t('shell.hero.cardTwoKicker')}</span>
80
- <strong className="${tw('mt-3 block text-3xl font-black text-stone-950')}">SSR</strong>
81
- <p className="${tw('mt-2 text-sm font-semibold text-stone-600')}">{t('shell.hero.cardTwo')}</p>
82
- </article>
83
- </div>
84
- </div>
85
- </section>
86
- <VerticalShowcase />
87
- <p className="${tw('sr-only')}" data-testid="ultramodern-preset">presetUltramodern workspace</p>
88
- <p className="${tw('sr-only')}" data-build-marker={ultramodernUiMarker.build} data-testid="ultramodern-ui-marker">
89
- {ultramodernUiMarker.appId}:{ultramodernUiMarker.version}
90
- </p>
91
- </ShellFrame>
92
- );
93
- }
94
- `;
46
+ return (0, external_fs_io_cjs_namespaceObject.renderFileTemplate)('workspace/apps/shell-super-app/src/routes/[lang]/page.tsx', {
47
+ value0: tw('mx-auto grid max-w-7xl items-center gap-8 py-8 md:grid-cols-[0.9fr_1.1fr] lg:gap-14'),
48
+ value1: tw('min-w-0'),
49
+ value2: tw('text-xs font-black uppercase tracking-[0.18em] text-emerald-800'),
50
+ value3: tw('mt-3 max-w-3xl text-5xl font-black leading-none tracking-normal text-stone-950 md:text-7xl'),
51
+ value4: tw('mt-5 max-w-2xl text-lg leading-8 text-stone-600'),
52
+ value5: tw('mt-7 flex flex-wrap gap-3'),
53
+ value6: tw('inline-flex min-h-11 items-center justify-center rounded-full bg-emerald-800 px-5 font-bold text-white shadow-lg shadow-stone-900/10'),
54
+ value7: tw('inline-flex min-h-11 items-center justify-center rounded-full border border-stone-900/15 bg-white/90 px-5 font-bold text-stone-950 shadow-lg shadow-stone-900/10'),
55
+ value8: tw('rounded-3xl bg-white/90 p-6 shadow-2xl shadow-stone-900/15'),
56
+ value9: tw('grid gap-4 sm:grid-cols-2'),
57
+ value10: tw('rounded-2xl bg-emerald-50 p-5'),
58
+ value11: tw('text-sm font-black uppercase tracking-[0.16em] text-emerald-800'),
59
+ value12: tw('mt-3 block text-3xl font-black text-stone-950'),
60
+ value13: remoteCount,
61
+ value14: tw('mt-2 text-sm font-semibold text-stone-600'),
62
+ value15: tw('rounded-2xl bg-amber-50 p-5'),
63
+ value16: tw('text-sm font-black uppercase tracking-[0.16em] text-amber-800'),
64
+ value17: tw('mt-3 block text-3xl font-black text-stone-950'),
65
+ value18: tw('mt-2 text-sm font-semibold text-stone-600'),
66
+ value19: tw('sr-only'),
67
+ value20: tw('sr-only')
68
+ });
95
69
  }
96
70
  function createShellRemoteComponents(scope, remotes = []) {
97
71
  const tw = (0, external_naming_cjs_namespaceObject.createTw)((0, external_naming_cjs_namespaceObject.tailwindPrefixForApp)(external_descriptors_cjs_namespaceObject.shellApp));
@@ -101,150 +75,34 @@ function createShellRemoteComponents(scope, remotes = []) {
101
75
  const componentName = `${(0, external_naming_cjs_namespaceObject.toPascalCase)(remote.id)}Widget`;
102
76
  return `const ${componentName} = createHydratedRemote(${componentName}Server, '${(0, external_descriptors_cjs_namespaceObject.remoteDependencyAlias)(remote)}/Widget');`;
103
77
  }).join('\n');
104
- const federationImports = widgetRemotes.length > 0 ? `import {
105
- classifyModuleFederationFallback,
106
- createModuleFederationFallbackTelemetry,
107
- emitModuleFederationFallbackTelemetry,
108
- toModuleFederationFallbackAttributes,
109
- } from '@modern-js/runtime/module-federation';
110
- import { createLazyComponent } from '@module-federation/bridge-react';
111
- import { getInstance, loadRemote } from '@module-federation/modern-js-v3/runtime';
112
- import { Suspense, useEffect, useMemo, useState } from 'react';
113
- import type { ComponentType } from 'react';
114
- ${serverImports}
115
- ` : '';
116
- const federationHelpers = widgetRemotes.length > 0 ? `interface RemoteComponentModule {
117
- default: ComponentType;
118
- }
119
-
120
- const loadRemoteComponent = (specifier: string) =>
121
- loadRemote<RemoteComponentModule>(specifier) as Promise<RemoteComponentModule>;
122
-
123
- const createRemoteFallback = (specifier: string) =>
124
- ({ error }: { error: Error }) => {
125
- const { t } = useModernI18n();
126
- const classification = classifyModuleFederationFallback(error);
127
- const telemetryEntry =
128
- typeof window === 'undefined' ? undefined : window.location.href;
129
- const telemetry = createModuleFederationFallbackTelemetry({
130
- appName: '${external_descriptors_cjs_namespaceObject.shellApp.id}',
131
- classification,
132
- ...(telemetryEntry === undefined ? {} : { entry: telemetryEntry }),
133
- error,
134
- eventName: 'mf.client.remote.fallback',
135
- exportName: 'default',
136
- phase: 'load',
137
- remote: specifier,
138
- status: 'degraded',
139
- });
140
-
141
- useEffect(() => {
142
- void emitModuleFederationFallbackTelemetry({
143
- appName: telemetry.appName,
144
- classification,
145
- ...(telemetry.entry === undefined ? {} : { entry: telemetry.entry }),
146
- error,
147
- eventName: telemetry.eventName,
148
- exportName: 'default',
149
- metadata: telemetry.metadata,
150
- phase: telemetry.phase,
151
- remote: specifier,
152
- status: 'degraded',
153
- });
154
- }, [classification, error, telemetry]);
155
-
156
- return <div className="${tw('rounded-xl border border-red-900/20 bg-red-50 px-4 py-3 text-sm font-semibold text-red-900')}" data-remote-error={error.name} {...toModuleFederationFallbackAttributes(telemetry)}>{t('shell.remoteUnavailable')}</div>;
157
- };
158
-
159
- const createHydratedRemote =
160
- (ServerComponent: ComponentType, specifier: string) =>
161
- function HydratedRemote() {
162
- const [hydrated, setHydrated] = useState(false);
163
-
164
- useEffect(() => {
165
- setHydrated(true);
166
- }, []);
167
-
168
- const FederatedComponent = useMemo(() => {
169
- if (!hydrated) {
170
- return null;
171
- }
172
- const instance = getInstance();
173
- if (instance === null || instance === undefined) {
174
- return null;
175
- }
176
- return createLazyComponent({
177
- export: 'default',
178
- fallback: createRemoteFallback(specifier),
179
- instance,
180
- loader: () => loadRemoteComponent(specifier),
181
- loading: <ServerComponent />,
182
- });
183
- }, [hydrated]);
184
-
185
- if (FederatedComponent === null) {
186
- return <ServerComponent />;
187
- }
188
-
189
- return (
190
- <Suspense fallback={<ServerComponent />}>
191
- <FederatedComponent />
192
- </Suspense>
193
- );
194
- };
195
- ` : '';
78
+ const federationImports = widgetRemotes.length > 0 ? (0, external_fs_io_cjs_namespaceObject.renderFileTemplate)('workspace/apps/shell-super-app/src/routes/vertical-components.imports.tsx', {
79
+ value0: serverImports
80
+ }) : '';
81
+ const federationHelpers = widgetRemotes.length > 0 ? (0, external_fs_io_cjs_namespaceObject.renderFileTemplate)('workspace/apps/shell-super-app/src/routes/vertical-components.helpers.tsx', {
82
+ value0: external_descriptors_cjs_namespaceObject.shellApp.id,
83
+ value1: tw('rounded-xl border border-red-900/20 bg-red-50 px-4 py-3 text-sm font-semibold text-red-900')
84
+ }) : '';
196
85
  const showcaseItems = widgetRemotes.map((remote)=>{
197
86
  const componentName = `${(0, external_naming_cjs_namespaceObject.toPascalCase)(remote.id)}Widget`;
198
87
  return ` <${componentName} key="${remote.id}" />`;
199
88
  }).join('\n');
200
89
  const remoteCount = String(widgetRemotes.length);
201
- return `${federationImports}import { Link, useModernI18n } from '@modern-js/plugin-i18n/runtime';
202
-
203
- const widgetCount = Number('${remoteCount}');
204
-
205
- ${federationHelpers}
206
- ${hydratedExports}
207
-
208
- export const Header = () => {
209
- const { t } = useModernI18n();
210
-
211
- return (
212
- <header className="${tw('flex min-w-0 flex-wrap items-center gap-x-8 gap-y-2 md:flex-1')}" data-modern-boundary-id="${external_descriptors_cjs_namespaceObject.shellApp.mfName}" data-modern-mf-expose="shell/Header">
213
- <Link className="${tw('whitespace-nowrap text-xl font-black tracking-normal text-stone-950 no-underline')}" to="/">{t('shell.title')}</Link>
214
- </header>
215
- );
216
- };
217
-
218
- export const StatusBadge = () => {
219
- const { t } = useModernI18n();
220
-
221
- return (
222
- <span className="${tw('inline-flex h-10 shrink-0 items-center justify-center rounded-full border border-stone-900/15 bg-white px-4 text-sm font-extrabold text-stone-950 shadow-lg shadow-stone-900/5')}">
223
- {widgetCount} {t('shell.hero.cardOneKicker')}
224
- </span>
225
- );
226
- };
227
-
228
- export const VerticalShowcase = () => {
229
- const { t } = useModernI18n();
230
-
231
- if (widgetCount === 0) {
232
- return (
233
- <section className="${tw('mx-auto mt-12 max-w-7xl rounded-2xl bg-white/90 p-6 shadow-xl shadow-stone-900/10')}">
234
- <p className="${tw('text-lg font-bold text-stone-700')}">{t('shell.hero.empty')}</p>
235
- </section>
236
- );
237
- }
238
-
239
- return (
240
- <section className="${tw('mx-auto mt-12 max-w-7xl')}" data-modern-boundary-id="${external_descriptors_cjs_namespaceObject.shellApp.mfName}">
241
- <div className="${tw('grid gap-4 md:grid-cols-2')}">
242
- ${showcaseItems}
243
- </div>
244
- </section>
245
- );
246
- };
247
- `;
90
+ return (0, external_fs_io_cjs_namespaceObject.renderFileTemplate)('workspace/apps/shell-super-app/src/routes/vertical-components.tsx', {
91
+ value0: federationImports,
92
+ value1: remoteCount,
93
+ value2: federationHelpers,
94
+ value3: hydratedExports,
95
+ value4: tw('flex min-w-0 flex-wrap items-center gap-x-8 gap-y-2 md:flex-1'),
96
+ value5: external_descriptors_cjs_namespaceObject.shellApp.mfName,
97
+ value6: tw('whitespace-nowrap text-xl font-black tracking-normal text-stone-950 no-underline'),
98
+ value7: tw('inline-flex h-10 shrink-0 items-center justify-center rounded-full border border-stone-900/15 bg-white px-4 text-sm font-extrabold text-stone-950 shadow-lg shadow-stone-900/5'),
99
+ value8: tw('mx-auto mt-12 max-w-7xl rounded-2xl bg-white/90 p-6 shadow-xl shadow-stone-900/10'),
100
+ value9: tw('text-lg font-bold text-stone-700'),
101
+ value10: tw('mx-auto mt-12 max-w-7xl'),
102
+ value11: external_descriptors_cjs_namespaceObject.shellApp.mfName,
103
+ value12: tw('grid gap-4 md:grid-cols-2'),
104
+ value13: showcaseItems
105
+ });
248
106
  }
249
107
  function createRemotePage(app) {
250
108
  const tw = (0, external_naming_cjs_namespaceObject.createTw)((0, external_naming_cjs_namespaceObject.tailwindPrefixForApp)(app));
@@ -31,6 +31,10 @@ __webpack_require__.d(__webpack_exports__, {
31
31
  ULTRAMODERN_CONFIG_PATH: ()=>ULTRAMODERN_CONFIG_PATH,
32
32
  appHasApi: ()=>appHasApi,
33
33
  appI18nNamespace: ()=>appI18nNamespace,
34
+ createBackendFederationContainerEntry: ()=>createBackendFederationContainerEntry,
35
+ createBackendFederationManifestEnv: ()=>createBackendFederationManifestEnv,
36
+ createBackendFederationManifestUrl: ()=>createBackendFederationManifestUrl,
37
+ createBackendFederationName: ()=>createBackendFederationName,
34
38
  createCloudflarePublicUrlEnv: ()=>createCloudflarePublicUrlEnv,
35
39
  createCloudflareWorkerName: ()=>createCloudflareWorkerName,
36
40
  createModuleFederationRemoteContracts: ()=>createModuleFederationRemoteContracts,
@@ -156,11 +160,34 @@ function zephyrRemoteDependency(scope, remote) {
156
160
  }
157
161
  function resolveRemoteRefs(app, remotes = []) {
158
162
  const verticalRefs = app.verticalRefs ?? [];
159
- return verticalRefs.map((remoteRef)=>remotes.find((remote)=>remote.id === remoteRef)).filter((remote)=>void 0 !== remote);
163
+ const remotesById = new Map(remotes.map((remote)=>[
164
+ remote.id,
165
+ remote
166
+ ]));
167
+ return verticalRefs.map((remoteRef)=>{
168
+ const remote = remotesById.get(remoteRef);
169
+ if (void 0 === remote) {
170
+ const availableRemotes = remotes.map((remote)=>remote.id).join(', ');
171
+ throw new Error(`Unknown remote vertical reference ${remoteRef} for ${app.id}. Available remotes: ${availableRemotes || 'none'}.`);
172
+ }
173
+ return remote;
174
+ });
160
175
  }
161
176
  function createRemoteManifestEnv(remote) {
162
177
  return `VERTICAL_${(0, external_naming_cjs_namespaceObject.toEnvSegment)(remote.domain ?? remote.id)}_MF_MANIFEST`;
163
178
  }
179
+ function createBackendFederationManifestEnv(remote) {
180
+ return `VERTICAL_${(0, external_naming_cjs_namespaceObject.toEnvSegment)(remote.domain ?? remote.id)}_BACKEND_MF_MANIFEST`;
181
+ }
182
+ function createBackendFederationName(app) {
183
+ return `${app.mfName}Backend`;
184
+ }
185
+ function createBackendFederationManifestUrl(app) {
186
+ return `http://localhost:${app.port}/backend-mf-manifest.json`;
187
+ }
188
+ function createBackendFederationContainerEntry(app) {
189
+ return `http://localhost:${app.port}/backendRemoteEntry.mjs`;
190
+ }
164
191
  function createModuleFederationRemoteContracts(app, remotes = []) {
165
192
  return resolveRemoteRefs(app, remotes).map((remote)=>({
166
193
  id: remote.id,
@@ -182,6 +209,10 @@ function appI18nNamespace(app) {
182
209
  exports.ULTRAMODERN_CONFIG_PATH = __webpack_exports__.ULTRAMODERN_CONFIG_PATH;
183
210
  exports.appHasApi = __webpack_exports__.appHasApi;
184
211
  exports.appI18nNamespace = __webpack_exports__.appI18nNamespace;
212
+ exports.createBackendFederationContainerEntry = __webpack_exports__.createBackendFederationContainerEntry;
213
+ exports.createBackendFederationManifestEnv = __webpack_exports__.createBackendFederationManifestEnv;
214
+ exports.createBackendFederationManifestUrl = __webpack_exports__.createBackendFederationManifestUrl;
215
+ exports.createBackendFederationName = __webpack_exports__.createBackendFederationName;
185
216
  exports.createCloudflarePublicUrlEnv = __webpack_exports__.createCloudflarePublicUrlEnv;
186
217
  exports.createCloudflareWorkerName = __webpack_exports__.createCloudflareWorkerName;
187
218
  exports.createModuleFederationRemoteContracts = __webpack_exports__.createModuleFederationRemoteContracts;
@@ -201,6 +232,10 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
201
232
  "ULTRAMODERN_CONFIG_PATH",
202
233
  "appHasApi",
203
234
  "appI18nNamespace",
235
+ "createBackendFederationContainerEntry",
236
+ "createBackendFederationManifestEnv",
237
+ "createBackendFederationManifestUrl",
238
+ "createBackendFederationName",
204
239
  "createCloudflarePublicUrlEnv",
205
240
  "createCloudflareWorkerName",
206
241
  "createModuleFederationRemoteContracts",
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
13
+ };
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
17
+ })();
18
+ (()=>{
19
+ __webpack_require__.r = (exports1)=>{
20
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
21
+ value: 'Module'
22
+ });
23
+ Object.defineProperty(exports1, '__esModule', {
24
+ value: true
25
+ });
26
+ };
27
+ })();
28
+ var __webpack_exports__ = {};
29
+ __webpack_require__.r(__webpack_exports__);
30
+ const effectDiagnostics = [
31
+ 'anyUnknownInErrorContext',
32
+ 'classSelfMismatch',
33
+ 'duplicatePackage',
34
+ 'effectFnImplicitAny',
35
+ 'floatingEffect',
36
+ 'genericEffectServices',
37
+ 'missingEffectContext',
38
+ 'missingEffectError',
39
+ 'missingLayerContext',
40
+ 'missingReturnYieldStar',
41
+ 'missingStarInYieldEffectGen',
42
+ 'nonObjectEffectServiceType',
43
+ 'outdatedApi',
44
+ 'overriddenSchemaConstructor',
45
+ 'catchUnfailableEffect',
46
+ 'effectFnIife',
47
+ 'effectGenUsesAdapter',
48
+ 'effectInFailure',
49
+ 'effectInVoidSuccess',
50
+ 'globalErrorInEffectCatch',
51
+ 'globalErrorInEffectFailure',
52
+ 'layerMergeAllWithDependencies',
53
+ 'lazyPromiseInEffectSync',
54
+ 'leakingRequirements',
55
+ 'multipleEffectProvide',
56
+ 'returnEffectInGen',
57
+ 'runEffectInsideEffect',
58
+ 'schemaSyncInEffect',
59
+ 'scopeInLayerEffect',
60
+ 'strictEffectProvide',
61
+ 'tryCatchInEffectGen',
62
+ 'unknownInEffectCatch',
63
+ 'asyncFunction',
64
+ 'cryptoRandomUUID',
65
+ 'cryptoRandomUUIDInEffect',
66
+ 'extendsNativeError',
67
+ 'globalConsole',
68
+ 'globalConsoleInEffect',
69
+ 'globalDate',
70
+ 'globalDateInEffect',
71
+ 'globalFetch',
72
+ 'globalFetchInEffect',
73
+ 'globalRandom',
74
+ 'globalRandomInEffect',
75
+ 'globalTimers',
76
+ 'globalTimersInEffect',
77
+ 'instanceOfSchema',
78
+ 'newPromise',
79
+ 'nodeBuiltinImport',
80
+ 'preferSchemaOverJson',
81
+ 'processEnv',
82
+ 'processEnvInEffect',
83
+ 'unsafeEffectTypeAssertion',
84
+ 'catchAllToMapError',
85
+ 'deterministicKeys',
86
+ 'effectDoNotation',
87
+ 'effectFnOpportunity',
88
+ 'effectMapFlatten',
89
+ 'effectMapVoid',
90
+ 'effectSucceedWithVoid',
91
+ 'missedPipeableOpportunity',
92
+ 'missingEffectServiceDependency',
93
+ 'nestedEffectGenYield',
94
+ 'redundantSchemaTagIdentifier',
95
+ 'schemaStructWithTag',
96
+ 'schemaUnionOfLiterals',
97
+ 'serviceNotAsClass',
98
+ 'strictBooleanExpressions',
99
+ 'unnecessaryArrowBlock',
100
+ 'unnecessaryEffectGen',
101
+ 'unnecessaryFailYieldableError',
102
+ 'unnecessaryPipe',
103
+ 'unnecessaryPipeChain'
104
+ ];
105
+ __webpack_require__.d(__webpack_exports__, {}, {
106
+ effectDiagnostics: effectDiagnostics
107
+ });
108
+ exports.effectDiagnostics = __webpack_exports__.effectDiagnostics;
109
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
110
+ "effectDiagnostics"
111
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
112
+ Object.defineProperty(exports, '__esModule', {
113
+ value: true
114
+ });
@@ -115,9 +115,31 @@ function renderFileTemplate(relativePath, data) {
115
115
  function assertSafeRelativePath(relativePath) {
116
116
  if (0 === relativePath.length || external_node_path_default().isAbsolute(relativePath) || relativePath.split(/[\\/]+/).includes('..')) throw new Error(`Unsafe workspace template path: ${relativePath}`);
117
117
  }
118
- function ensureInsideRoot(root, targetPath) {
118
+ function isPathInsideRoot(root, targetPath) {
119
119
  const relativePath = external_node_path_default().relative(root, targetPath);
120
- if (relativePath.startsWith('..') || external_node_path_default().isAbsolute(relativePath)) throw new Error(`Refusing to write outside workspace root: ${targetPath}`);
120
+ return '' === relativePath || !relativePath.startsWith('..') && !external_node_path_default().isAbsolute(relativePath);
121
+ }
122
+ function findExistingAncestor(targetPath) {
123
+ let currentPath = targetPath;
124
+ while(!external_node_fs_default().existsSync(currentPath)){
125
+ const parentPath = external_node_path_default().dirname(currentPath);
126
+ if (parentPath === currentPath) return;
127
+ currentPath = parentPath;
128
+ }
129
+ return currentPath;
130
+ }
131
+ function ensureInsideRoot(root, targetPath) {
132
+ const absoluteRoot = external_node_path_default().resolve(root);
133
+ const absoluteTargetPath = external_node_path_default().resolve(targetPath);
134
+ if (!isPathInsideRoot(absoluteRoot, absoluteTargetPath)) throw new Error(`Refusing to write outside workspace root: ${targetPath}`);
135
+ if (!external_node_fs_default().existsSync(absoluteRoot)) return;
136
+ const existingAncestor = findExistingAncestor(absoluteTargetPath);
137
+ if (!existingAncestor) return;
138
+ const rootRealPath = external_node_fs_default().realpathSync.native(absoluteRoot);
139
+ const ancestorRealPath = external_node_fs_default().realpathSync.native(existingAncestor);
140
+ const unresolvedRelativePath = external_node_path_default().relative(existingAncestor, absoluteTargetPath);
141
+ const resolvedTargetPath = external_node_path_default().resolve(ancestorRealPath, unresolvedRelativePath);
142
+ if (!isPathInsideRoot(rootRealPath, resolvedTargetPath)) throw new Error(`Refusing to write outside workspace root: ${targetPath}`);
121
143
  }
122
144
  function writeFile(targetDir, relativePath, content) {
123
145
  assertSafeRelativePath(relativePath);
@@ -28,6 +28,7 @@ var __webpack_require__ = {};
28
28
  var __webpack_exports__ = {};
29
29
  __webpack_require__.r(__webpack_exports__);
30
30
  __webpack_require__.d(__webpack_exports__, {
31
+ SHARED_ULTRAMODERN_WORKSPACE_PATCH_FILES: ()=>external_shared_patches_cjs_namespaceObject.SHARED_ULTRAMODERN_WORKSPACE_PATCH_FILES,
31
32
  addUltramodernVertical: ()=>external_add_vertical_cjs_namespaceObject.addUltramodernVertical,
32
33
  generateUltramodernWorkspace: ()=>external_write_workspace_cjs_namespaceObject.generateUltramodernWorkspace,
33
34
  normalizeUltramodernBridgeConfig: ()=>external_bridge_config_cjs_namespaceObject.normalizeUltramodernBridgeConfig,
@@ -36,14 +37,17 @@ __webpack_require__.d(__webpack_exports__, {
36
37
  });
37
38
  const external_add_vertical_cjs_namespaceObject = require("./add-vertical.cjs");
38
39
  const external_bridge_config_cjs_namespaceObject = require("./bridge-config.cjs");
40
+ const external_shared_patches_cjs_namespaceObject = require("./shared-patches.cjs");
39
41
  const external_versions_cjs_namespaceObject = require("./versions.cjs");
40
42
  const external_write_workspace_cjs_namespaceObject = require("./write-workspace.cjs");
43
+ exports.SHARED_ULTRAMODERN_WORKSPACE_PATCH_FILES = __webpack_exports__.SHARED_ULTRAMODERN_WORKSPACE_PATCH_FILES;
41
44
  exports.addUltramodernVertical = __webpack_exports__.addUltramodernVertical;
42
45
  exports.generateUltramodernWorkspace = __webpack_exports__.generateUltramodernWorkspace;
43
46
  exports.normalizeUltramodernBridgeConfig = __webpack_exports__.normalizeUltramodernBridgeConfig;
44
47
  exports.planUltramodernVertical = __webpack_exports__.planUltramodernVertical;
45
48
  exports.ultramodernWorkspaceVersions = __webpack_exports__.ultramodernWorkspaceVersions;
46
49
  for(var __rspack_i in __webpack_exports__)if (-1 === [
50
+ "SHARED_ULTRAMODERN_WORKSPACE_PATCH_FILES",
47
51
  "addUltramodernVertical",
48
52
  "generateUltramodernWorkspace",
49
53
  "normalizeUltramodernBridgeConfig",
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
13
+ };
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
17
+ })();
18
+ (()=>{
19
+ __webpack_require__.r = (exports1)=>{
20
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
21
+ value: 'Module'
22
+ });
23
+ Object.defineProperty(exports1, '__esModule', {
24
+ value: true
25
+ });
26
+ };
27
+ })();
28
+ var __webpack_exports__ = {};
29
+ __webpack_require__.r(__webpack_exports__);
30
+ const moduleFederationConfigFile = 'module-federation.config.ts';
31
+ const mfTypesArchive = 'dist/@mf-types.zip';
32
+ const generatedMetadataPaths = [
33
+ '.modernjs/ultramodern.json'
34
+ ];
35
+ const defaultAppRootDirs = [
36
+ 'apps',
37
+ 'verticals'
38
+ ];
39
+ const skippedScanDirs = new Set([
40
+ '.git',
41
+ '.modernjs',
42
+ '.nx',
43
+ '.turbo',
44
+ 'coverage',
45
+ 'dist',
46
+ 'node_modules'
47
+ ]);
48
+ __webpack_require__.d(__webpack_exports__, {}, {
49
+ defaultAppRootDirs: defaultAppRootDirs,
50
+ generatedMetadataPaths: generatedMetadataPaths,
51
+ mfTypesArchive: mfTypesArchive,
52
+ moduleFederationConfigFile: moduleFederationConfigFile,
53
+ skippedScanDirs: skippedScanDirs
54
+ });
55
+ exports.defaultAppRootDirs = __webpack_exports__.defaultAppRootDirs;
56
+ exports.generatedMetadataPaths = __webpack_exports__.generatedMetadataPaths;
57
+ exports.mfTypesArchive = __webpack_exports__.mfTypesArchive;
58
+ exports.moduleFederationConfigFile = __webpack_exports__.moduleFederationConfigFile;
59
+ exports.skippedScanDirs = __webpack_exports__.skippedScanDirs;
60
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
61
+ "defaultAppRootDirs",
62
+ "generatedMetadataPaths",
63
+ "mfTypesArchive",
64
+ "moduleFederationConfigFile",
65
+ "skippedScanDirs"
66
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
67
+ Object.defineProperty(exports, '__esModule', {
68
+ value: true
69
+ });
@@ -0,0 +1,77 @@
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
+ discoverModuleFederationConfigs: ()=>discoverModuleFederationConfigs
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_constants_cjs_namespaceObject = require("./constants.cjs");
47
+ const external_path_utils_cjs_namespaceObject = require("./path-utils.cjs");
48
+ function discoverModuleFederationConfigs(options) {
49
+ const workspaceRoot = external_node_path_default().resolve(options.workspaceRoot);
50
+ const appDirs = new Set();
51
+ if (options.appDirs && options.appDirs.length > 0) for (const appDir of options.appDirs)appDirs.add((0, external_path_utils_cjs_namespaceObject.normalizeRelativePath)(appDir));
52
+ else {
53
+ const metadata = (0, external_path_utils_cjs_namespaceObject.readGeneratedMetadata)(workspaceRoot);
54
+ const scanRoots = new Set(external_constants_cjs_namespaceObject.defaultAppRootDirs);
55
+ for (const metadataEntry of metadata){
56
+ (0, external_path_utils_cjs_namespaceObject.collectMetadataAppDirs)(metadataEntry, appDirs);
57
+ (0, external_path_utils_cjs_namespaceObject.collectBridgeScanRoots)(metadataEntry, scanRoots);
58
+ }
59
+ for (const appDir of appDirs){
60
+ const segment = (0, external_path_utils_cjs_namespaceObject.firstSegment)(appDir);
61
+ if (segment) scanRoots.add(segment);
62
+ }
63
+ if (external_node_fs_default().existsSync(external_node_path_default().join(workspaceRoot, external_constants_cjs_namespaceObject.moduleFederationConfigFile))) appDirs.add('.');
64
+ for (const scanRoot of scanRoots)(0, external_path_utils_cjs_namespaceObject.scanForModuleFederationConfigs)(workspaceRoot, scanRoot, appDirs);
65
+ }
66
+ return Array.from(appDirs).sort().map((appDir)=>({
67
+ appDir,
68
+ configPath: external_node_path_default().join(workspaceRoot, appDir, external_constants_cjs_namespaceObject.moduleFederationConfigFile)
69
+ }));
70
+ }
71
+ exports.discoverModuleFederationConfigs = __webpack_exports__.discoverModuleFederationConfigs;
72
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
73
+ "discoverModuleFederationConfigs"
74
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
75
+ Object.defineProperty(exports, '__esModule', {
76
+ value: true
77
+ });