@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
@@ -0,0 +1,91 @@
1
+ import "node:module";
2
+ import { createApiClient, createApiServiceEntry, createBackendEffectApiExpose, createSharedApi, createShellApiClient } from "./api.js";
3
+ import { createAppEnvDts, createAppRuntimeConfig, createAppStyles, createPostcssConfig, createShellFrameComponent, createTailwindConfig } from "./app-files.js";
4
+ import { createBackendFederationContractFile } from "./backend-federation.js";
5
+ import { createLayout, createRemoteEntry, createRemoteExposeComponent, createRemotePage, createShellPage, createShellRemoteComponents, remoteComponentOutputPath } from "./demo-components.js";
6
+ import { appHasApi, appI18nNamespace, createShellHost } from "./descriptors.js";
7
+ import { writeFile, writeJson } from "./fs-io.js";
8
+ import { createAppPublicLocaleMessages } from "./locales.js";
9
+ import { createAppModernConfig, createBackendModuleFederationConfig, createRemoteModuleFederationConfig, createShellModuleFederationConfig, createUltramodernBuildArtifactJson, createUltramodernBuildModule, createUltramodernBuildReexportModule } from "./module-federation.js";
10
+ import { createAppMfTypesTsConfig, createAppPackage, createAppTsConfig } from "./package-json.js";
11
+ import { createPublicWebAppArtifacts } from "./public-surface.js";
12
+ function writeApp(targetDir, scope, app, packageSource, enableTailwind, remotes = [], bridge) {
13
+ const resolvedApp = 'shell' === app.kind ? createShellHost(remotes) : app;
14
+ const publicWeb = createPublicWebAppArtifacts(resolvedApp);
15
+ const writeAppFile = (relativePath, content)=>{
16
+ writeFile(targetDir, `${resolvedApp.directory}/${relativePath}`, content);
17
+ };
18
+ const context = {
19
+ targetDir,
20
+ scope,
21
+ resolvedApp,
22
+ packageSource,
23
+ enableTailwind,
24
+ remotes,
25
+ bridge,
26
+ publicWeb,
27
+ writeAppFile
28
+ };
29
+ writeAppConfigFiles(context);
30
+ writeAppLocaleAndStyleFiles(context);
31
+ writeAppFederationConfigFiles(context);
32
+ writeAppRouteAndShellFiles(context);
33
+ writeAppApiAndRemoteExposeFiles(context);
34
+ }
35
+ function writeAppConfigFiles({ targetDir, scope, resolvedApp, packageSource, enableTailwind, remotes, bridge, publicWeb }) {
36
+ writeJson(targetDir, `${resolvedApp.directory}/package.json`, createAppPackage(scope, resolvedApp, packageSource, enableTailwind, remotes, bridge));
37
+ writeJson(targetDir, `${resolvedApp.directory}/tsconfig.json`, createAppTsConfig(resolvedApp, remotes));
38
+ writeJson(targetDir, `${resolvedApp.directory}/tsconfig.mf-types.json`, createAppMfTypesTsConfig(resolvedApp));
39
+ writeFile(targetDir, `${resolvedApp.directory}/src/modern-app-env.d.ts`, createAppEnvDts(resolvedApp, remotes));
40
+ writeFile(targetDir, `${resolvedApp.directory}/src/ultramodern-build.ts`, createUltramodernBuildReexportModule());
41
+ writeFile(targetDir, `${resolvedApp.directory}/shared/ultramodern-build.ts`, createUltramodernBuildModule());
42
+ writeFile(targetDir, `${resolvedApp.directory}/shared/ultramodern-build.json`, createUltramodernBuildArtifactJson(scope, resolvedApp));
43
+ writeFile(targetDir, publicWeb.jsonLdHelperFile.path, publicWeb.jsonLdHelperFile.content);
44
+ writeFile(targetDir, publicWeb.routeMetadataFile.path, publicWeb.routeMetadataFile.content);
45
+ writeFile(targetDir, publicWeb.routeHeadFile.path, publicWeb.routeHeadFile.content);
46
+ writeFile(targetDir, `${resolvedApp.directory}/modern.config.ts`, createAppModernConfig(scope, resolvedApp, remotes));
47
+ writeFile(targetDir, `${resolvedApp.directory}/src/modern.runtime.ts`, createAppRuntimeConfig(resolvedApp, scope, remotes));
48
+ }
49
+ function writeAppLocaleAndStyleFiles({ targetDir, scope, resolvedApp, enableTailwind, remotes }) {
50
+ writeJson(targetDir, `${resolvedApp.directory}/locales/en/translation.json`, createAppPublicLocaleMessages(resolvedApp, 'en', remotes));
51
+ writeJson(targetDir, `${resolvedApp.directory}/locales/en/${appI18nNamespace(resolvedApp)}.json`, createAppPublicLocaleMessages(resolvedApp, 'en', remotes));
52
+ writeJson(targetDir, `${resolvedApp.directory}/locales/cs/translation.json`, createAppPublicLocaleMessages(resolvedApp, 'cs', remotes));
53
+ writeJson(targetDir, `${resolvedApp.directory}/locales/cs/${appI18nNamespace(resolvedApp)}.json`, createAppPublicLocaleMessages(resolvedApp, 'cs', remotes));
54
+ writeFile(targetDir, `${resolvedApp.directory}/src/routes/index.css`, createAppStyles(enableTailwind, scope, resolvedApp));
55
+ if (enableTailwind) {
56
+ writeFile(targetDir, `${resolvedApp.directory}/postcss.config.mjs`, createPostcssConfig());
57
+ writeFile(targetDir, `${resolvedApp.directory}/tailwind.config.ts`, createTailwindConfig());
58
+ }
59
+ }
60
+ function writeAppFederationConfigFiles({ targetDir, scope, resolvedApp, remotes }) {
61
+ writeFile(targetDir, `${resolvedApp.directory}/module-federation.config.ts`, 'shell' === resolvedApp.kind ? createShellModuleFederationConfig(scope, remotes) : createRemoteModuleFederationConfig(scope, resolvedApp, remotes));
62
+ if (appHasApi(resolvedApp)) writeFile(targetDir, `${resolvedApp.directory}/backend-federation.config.ts`, createBackendModuleFederationConfig(resolvedApp));
63
+ }
64
+ function writeAppRouteAndShellFiles({ targetDir, scope, resolvedApp, remotes, publicWeb, writeAppFile }) {
65
+ writeAppFile('src/routes/layout.tsx', createLayout(resolvedApp.id));
66
+ writeAppFile('src/routes/[lang]/page.tsx', 'shell' === resolvedApp.kind ? createShellPage(remotes) : createRemotePage(resolvedApp));
67
+ for (const generatedFile of publicWeb.routeMetaFiles)writeFile(targetDir, generatedFile.path, generatedFile.content);
68
+ for (const generatedFile of publicWeb.routeAliasFiles)writeFile(targetDir, generatedFile.path, generatedFile.content);
69
+ if ('shell' === resolvedApp.kind) {
70
+ writeAppFile('src/routes/vertical-components.tsx', createShellRemoteComponents(scope, remotes));
71
+ writeAppFile('src/routes/shell-frame.tsx', createShellFrameComponent());
72
+ writeFile(targetDir, `${resolvedApp.directory}/src/api/vertical-clients.ts`, createShellApiClient(scope, remotes));
73
+ }
74
+ }
75
+ function writeAppApiAndRemoteExposeFiles({ targetDir, scope, resolvedApp, writeAppFile }) {
76
+ if (appHasApi(resolvedApp)) {
77
+ writeFile(targetDir, `${resolvedApp.directory}/shared/api.ts`, createSharedApi(resolvedApp));
78
+ writeFile(targetDir, `${resolvedApp.directory}/api/index.ts`, createApiServiceEntry(resolvedApp, '../shared/api.ts'));
79
+ writeFile(targetDir, `${resolvedApp.directory}/api/backend-federation.ts`, createBackendFederationContractFile(resolvedApp));
80
+ writeFile(targetDir, `${resolvedApp.directory}/api/effect-api.ts`, createBackendEffectApiExpose(scope, resolvedApp));
81
+ writeFile(targetDir, `${resolvedApp.directory}/src/api/${resolvedApp.api.stem}-client.ts`, createApiClient(resolvedApp, '../../shared/api'));
82
+ }
83
+ if ('vertical' === resolvedApp.kind) {
84
+ writeAppFile('src/federation-entry.tsx', createRemoteEntry(resolvedApp));
85
+ for (const expose of Object.keys(resolvedApp.exposes ?? {})){
86
+ const outputPath = remoteComponentOutputPath(resolvedApp, expose);
87
+ if (outputPath) writeAppFile(outputPath.slice(resolvedApp.directory.length + 1), createRemoteExposeComponent(resolvedApp, expose));
88
+ }
89
+ }
90
+ }
91
+ export { writeApp };
@@ -1,71 +1,19 @@
1
1
  import "node:module";
2
2
  import node_fs from "node:fs";
3
- import { createApiClient, createApiServiceEntry, createSharedApi, createShellApiClient } from "./api.js";
4
- import { createAppEnvDts, createAppRuntimeConfig, createAppStyles, createPostcssConfig, createSharedDesignTokensCss, createShellFrameComponent, createTailwindConfig } from "./app-files.js";
3
+ import { createSharedDesignTokensCss } from "./app-files.js";
5
4
  import { normalizeUltramodernBridgeConfig } from "./bridge-config.js";
6
5
  import { createDevelopmentOverlay, createOwnership, createTopology, createUltramodernConfig } from "./contracts.js";
7
- import { createLayout, createRemoteEntry, createRemoteExposeComponent, createRemotePage, createShellPage, createShellRemoteComponents, remoteComponentOutputPath } from "./demo-components.js";
8
- import { ULTRAMODERN_CONFIG_PATH, appHasApi, appI18nNamespace, createShellHost, sharedPackages, shellApp } from "./descriptors.js";
6
+ import { ULTRAMODERN_CONFIG_PATH, createShellHost, sharedPackages, shellApp } from "./descriptors.js";
9
7
  import { copyRootTemplate, formatGeneratedWorkspaceFiles, writeFile, writeFileReplacing, writeJson } from "./fs-io.js";
10
8
  import { createFileSnapshot, createGenerationResult, diffFileSnapshots } from "./generation-result.js";
11
- import { createAppPublicLocaleMessages } from "./locales.js";
12
- import { createAppModernConfig, createRemoteModuleFederationConfig, createShellModuleFederationConfig, createUltramodernBuildModule, createUltramodernBuildReexportModule } from "./module-federation.js";
13
9
  import { assertUniqueTailwindPrefixes, toPackageScope } from "./naming.js";
14
10
  import { runCodeSmithOverlays } from "./overlays.js";
15
- import { createAppMfTypesTsConfig, createAppPackage, createAppTsConfig, createRootPackageJson, createRootTsConfig, createSharedContractsIndex, createSharedPackage, createSharedPackageTsConfig, createTsConfigBase } from "./package-json.js";
11
+ import { createRootPackageJson, createRootTsConfig, createSharedContractsIndex, createSharedPackage, createSharedPackageTsConfig, createTsConfigBase } from "./package-json.js";
16
12
  import { resolvePackageSource } from "./package-source.js";
17
- import { createPublicWebAppArtifacts } from "./public-surface.js";
18
- import { EFFECT_VERSION, EFFECT_VITEST_VERSION, NODE_FETCH_VERSION, NODE_VERSION, PNPM_VERSION, TANSTACK_ROUTER_CORE_VERSION, TANSTACK_ROUTER_VERSION, TYPESCRIPT_VERSION } from "./versions.js";
13
+ import { DRIZZLE_ORM_VERSION, EFFECT_VERSION, EFFECT_VITEST_VERSION, MODULE_FEDERATION_VERSION, NODE_FETCH_VERSION, NODE_VERSION, PNPM_VERSION, TANSTACK_ROUTER_CORE_VERSION, TANSTACK_ROUTER_VERSION, TYPESCRIPT_VERSION } from "./versions.js";
19
14
  import { writeGeneratedWorkspaceScripts } from "./workspace-scripts.js";
20
- function writeApp(targetDir, scope, app, packageSource, enableTailwind, remotes = [], bridge) {
21
- const resolvedApp = 'shell' === app.kind ? createShellHost(remotes) : app;
22
- const publicWeb = createPublicWebAppArtifacts(resolvedApp);
23
- const writeAppFile = (relativePath, content)=>{
24
- writeFile(targetDir, `${resolvedApp.directory}/${relativePath}`, content);
25
- };
26
- writeJson(targetDir, `${resolvedApp.directory}/package.json`, createAppPackage(scope, resolvedApp, packageSource, enableTailwind, remotes, bridge));
27
- writeJson(targetDir, `${resolvedApp.directory}/tsconfig.json`, createAppTsConfig(resolvedApp, remotes));
28
- writeJson(targetDir, `${resolvedApp.directory}/tsconfig.mf-types.json`, createAppMfTypesTsConfig(resolvedApp));
29
- writeFile(targetDir, `${resolvedApp.directory}/src/modern-app-env.d.ts`, createAppEnvDts(resolvedApp, remotes));
30
- writeFile(targetDir, `${resolvedApp.directory}/src/ultramodern-build.ts`, createUltramodernBuildReexportModule());
31
- writeFile(targetDir, `${resolvedApp.directory}/shared/ultramodern-build.ts`, createUltramodernBuildModule(scope, resolvedApp));
32
- writeFile(targetDir, publicWeb.jsonLdHelperFile.path, publicWeb.jsonLdHelperFile.content);
33
- writeFile(targetDir, publicWeb.routeMetadataFile.path, publicWeb.routeMetadataFile.content);
34
- writeFile(targetDir, publicWeb.routeHeadFile.path, publicWeb.routeHeadFile.content);
35
- writeFile(targetDir, `${resolvedApp.directory}/modern.config.ts`, createAppModernConfig(scope, resolvedApp));
36
- writeFile(targetDir, `${resolvedApp.directory}/src/modern.runtime.ts`, createAppRuntimeConfig(resolvedApp, scope, remotes));
37
- writeJson(targetDir, `${resolvedApp.directory}/locales/en/translation.json`, createAppPublicLocaleMessages(resolvedApp, 'en', remotes));
38
- writeJson(targetDir, `${resolvedApp.directory}/locales/en/${appI18nNamespace(resolvedApp)}.json`, createAppPublicLocaleMessages(resolvedApp, 'en', remotes));
39
- writeJson(targetDir, `${resolvedApp.directory}/locales/cs/translation.json`, createAppPublicLocaleMessages(resolvedApp, 'cs', remotes));
40
- writeJson(targetDir, `${resolvedApp.directory}/locales/cs/${appI18nNamespace(resolvedApp)}.json`, createAppPublicLocaleMessages(resolvedApp, 'cs', remotes));
41
- writeFile(targetDir, `${resolvedApp.directory}/src/routes/index.css`, createAppStyles(enableTailwind, scope, resolvedApp));
42
- if (enableTailwind) {
43
- writeFile(targetDir, `${resolvedApp.directory}/postcss.config.mjs`, createPostcssConfig());
44
- writeFile(targetDir, `${resolvedApp.directory}/tailwind.config.ts`, createTailwindConfig());
45
- }
46
- writeFile(targetDir, `${resolvedApp.directory}/module-federation.config.ts`, 'shell' === resolvedApp.kind ? createShellModuleFederationConfig(scope, remotes) : createRemoteModuleFederationConfig(scope, resolvedApp, remotes));
47
- writeAppFile('src/routes/layout.tsx', createLayout(resolvedApp.id));
48
- writeAppFile('src/routes/[lang]/page.tsx', 'shell' === resolvedApp.kind ? createShellPage(remotes) : createRemotePage(resolvedApp));
49
- for (const generatedFile of publicWeb.routeMetaFiles)writeFile(targetDir, generatedFile.path, generatedFile.content);
50
- for (const generatedFile of publicWeb.routeAliasFiles)writeFile(targetDir, generatedFile.path, generatedFile.content);
51
- if ('shell' === resolvedApp.kind) {
52
- writeAppFile('src/routes/vertical-components.tsx', createShellRemoteComponents(scope, remotes));
53
- writeAppFile('src/routes/shell-frame.tsx', createShellFrameComponent());
54
- writeFile(targetDir, `${resolvedApp.directory}/src/api/vertical-clients.ts`, createShellApiClient(scope, remotes));
55
- }
56
- if (appHasApi(resolvedApp)) {
57
- writeFile(targetDir, `${resolvedApp.directory}/shared/api.ts`, createSharedApi(resolvedApp));
58
- writeFile(targetDir, `${resolvedApp.directory}/api/index.ts`, createApiServiceEntry(resolvedApp, '../shared/api.ts'));
59
- writeFile(targetDir, `${resolvedApp.directory}/src/api/${resolvedApp.api.stem}-client.ts`, createApiClient(resolvedApp, '../../shared/api'));
60
- }
61
- if ('vertical' === resolvedApp.kind) {
62
- writeAppFile('src/federation-entry.tsx', createRemoteEntry(resolvedApp));
63
- for (const expose of Object.keys(resolvedApp.exposes ?? {})){
64
- const outputPath = remoteComponentOutputPath(resolvedApp, expose);
65
- if (outputPath) writeAppFile(outputPath.slice(resolvedApp.directory.length + 1), createRemoteExposeComponent(resolvedApp, expose));
66
- }
67
- }
68
- }
15
+ import { writeApp } from "./write-app.js";
16
+ import { createZeropsYaml } from "./zerops.js";
69
17
  function writeSharedPackages(targetDir, scope) {
70
18
  for (const sharedPackage of sharedPackages){
71
19
  writeJson(targetDir, `${sharedPackage.directory}/package.json`, createSharedPackage(scope, sharedPackage.id, sharedPackage.description));
@@ -105,7 +53,7 @@ function writePnpmWorkspacePackages(targetDir, bridge) {
105
53
  ...bridge.workspacePackages.map((entry)=>entry.pattern)
106
54
  ];
107
55
  const renderedPackages = packages.map((pattern)=>` - ${pattern}`).join('\n');
108
- writeFileReplacing(targetDir, 'pnpm-workspace.yaml', pnpmWorkspace.replace(/^packages:\n(?: {2}- .+\n)+/u, `packages:\n${renderedPackages}\n`));
56
+ writeFileReplacing(targetDir, 'pnpm-workspace.yaml', pnpmWorkspace.replace(/^packages:\r?\n(?: {2}- .+\r?\n)+/u, `packages:\n${renderedPackages}\n`));
109
57
  }
110
58
  function generateUltramodernWorkspace(options) {
111
59
  const beforeFiles = createFileSnapshot(options.targetDir);
@@ -131,8 +79,10 @@ function generateUltramodernWorkspace(options) {
131
79
  nodeVersion: NODE_VERSION,
132
80
  pnpmVersion: PNPM_VERSION,
133
81
  nodeFetchVersion: NODE_FETCH_VERSION,
82
+ drizzleOrmVersion: DRIZZLE_ORM_VERSION,
134
83
  effectVersion: EFFECT_VERSION,
135
84
  effectVitestVersion: EFFECT_VITEST_VERSION,
85
+ moduleFederationVersion: MODULE_FEDERATION_VERSION,
136
86
  tanstackRouterCoreVersion: TANSTACK_ROUTER_CORE_VERSION,
137
87
  tanstackRouterVersion: TANSTACK_ROUTER_VERSION,
138
88
  typescriptVersion: TYPESCRIPT_VERSION,
@@ -140,11 +90,12 @@ function generateUltramodernWorkspace(options) {
140
90
  });
141
91
  writePnpmWorkspacePackages(options.targetDir, bridge);
142
92
  writeJson(options.targetDir, 'package.json', createCompactRootPackageJson(scope, packageSource, initialVerticals, bridge));
93
+ writeFile(options.targetDir, 'zerops.yaml', `${createZeropsYaml(scope, createdApps)}\n`);
143
94
  writeJson(options.targetDir, 'tsconfig.base.json', createTsConfigBase());
144
95
  writeJson(options.targetDir, 'tsconfig.json', createRootTsConfig(createdApps));
145
96
  writeJson(options.targetDir, 'topology/reference-topology.json', createTopology(scope, initialVerticals));
146
97
  writeJson(options.targetDir, 'topology/ownership.json', createOwnership(scope, initialVerticals));
147
- writeJson(options.targetDir, 'topology/local-overlays/development.json', createDevelopmentOverlay(initialVerticals));
98
+ writeJson(options.targetDir, 'topology/local-overlays/development.json', createDevelopmentOverlay(scope, initialVerticals));
148
99
  writeJson(options.targetDir, ULTRAMODERN_CONFIG_PATH, createCompactUltramodernConfig(scope, options.modernVersion, packageSource, createdApps, enableTailwind, bridge));
149
100
  writeApp(options.targetDir, scope, shellApp, packageSource, enableTailwind, initialVerticals, bridge);
150
101
  for (const remote of initialVerticals)writeApp(options.targetDir, scope, remote, packageSource, enableTailwind, initialVerticals, bridge);
@@ -0,0 +1,66 @@
1
+ import "node:module";
2
+ import { appHasApi, resolveApiPrefix, resolveApiStem } from "./descriptors.js";
3
+ import { packageName } from "./naming.js";
4
+ import { NODE_VERSION } from "./versions.js";
5
+ const zeropsNodeRuntime = `nodejs@${NODE_VERSION.split('.')[0]}`;
6
+ function quoteYamlString(value) {
7
+ return `'${value.replace(/'/gu, "''")}'`;
8
+ }
9
+ function quoteShellValue(value) {
10
+ return `'${value.replace(/'/gu, "'\\''")}'`;
11
+ }
12
+ function readinessPath(app) {
13
+ if (!appHasApi(app)) return '/';
14
+ return `${resolveApiPrefix(app)}/${resolveApiStem(app)}/readiness`;
15
+ }
16
+ function createZeropsService(scope, app) {
17
+ const runtimeDirectory = `.zerops/runtime/${app.id}`;
18
+ const appPackageName = packageName(scope, app.packageSuffix);
19
+ const commands = [
20
+ 'curl https://mise.run | sh',
21
+ '~/.local/bin/mise install',
22
+ '~/.local/bin/mise exec -- pnpm install --frozen-lockfile',
23
+ `~/.local/bin/mise exec -- pnpm --filter ${quoteShellValue(appPackageName)} run build`,
24
+ `~/.local/bin/mise exec -- pnpm run zerops:materialize -- --app ${quoteShellValue(app.id)} --package ${quoteShellValue(appPackageName)} --package-dir ${quoteShellValue(app.directory)}`,
25
+ `cp ${quoteShellValue('topology/reference-topology.json')} ${quoteShellValue(`${runtimeDirectory}/topology.json`)}`,
26
+ `cp ${quoteShellValue('topology/local-overlays/development.json')} ${quoteShellValue(`${runtimeDirectory}/local-overlay.json`)}`
27
+ ];
28
+ return [
29
+ ` - setup: ${quoteYamlString(app.id)}`,
30
+ ' build:',
31
+ ` base: ${quoteYamlString(zeropsNodeRuntime)}`,
32
+ ' buildCommands:',
33
+ ' - |',
34
+ ...commands.map((command)=>` ${command}`),
35
+ ' deployFiles:',
36
+ ` - ${quoteYamlString(runtimeDirectory)}`,
37
+ ' deploy:',
38
+ ' temporaryShutdown: false',
39
+ ' readinessCheck:',
40
+ ' httpGet:',
41
+ ` port: ${app.port}`,
42
+ ` path: ${quoteYamlString(readinessPath(app))}`,
43
+ ' failureTimeout: 120',
44
+ ' retryPeriod: 10',
45
+ ' run:',
46
+ ` base: ${quoteYamlString(zeropsNodeRuntime)}`,
47
+ ' ports:',
48
+ ` - port: ${app.port}`,
49
+ ' protocol: TCP',
50
+ ' httpSupport: true',
51
+ ' envVariables:',
52
+ ' NODE_ENV: production',
53
+ ` ${app.portEnv}: ${quoteYamlString(String(app.port))}`,
54
+ ` ULTRAMODERN_ZEROPS_SERVICE: ${quoteYamlString(app.id)}`,
55
+ ` start: cd ${quoteShellValue(runtimeDirectory)} && npm run serve`
56
+ ].join('\n');
57
+ }
58
+ function createZeropsYaml(scope, apps) {
59
+ return [
60
+ '# Generated by Modern.js UltraModern workspace tooling.',
61
+ '# Zerops runs each full-stack MicroVertical as a package-owned Node service.',
62
+ 'zerops:',
63
+ ...apps.map((app)=>createZeropsService(scope, app))
64
+ ].join('\n\n');
65
+ }
66
+ export { createZeropsYaml };
@@ -0,0 +1,30 @@
1
+ export declare const LEGACY_MODERN_JS_FLAG = "--legacy-modern-js";
2
+ export declare const LEGACY_MODERN_JS_CONFIRMATION = "USE LEGACY MODERN.JS";
3
+ export declare const WORKSPACE_PROTOCOL_FLAG = "--workspace";
4
+ export declare const DRY_RUN_FLAG = "--dry-run";
5
+ export declare const VERTICAL_FLAG = "--vertical";
6
+ export declare const VERTICAL_NAME_FLAG = "--vertical-name";
7
+ export declare const CODESMITH_OVERLAY_FLAG = "--codesmith-overlay";
8
+ export declare const BFF_FLAG = "--bff";
9
+ export declare const BFF_RUNTIME_OPTION = "--bff-runtime";
10
+ export declare const SUPPORTED_BFF_RUNTIMES: readonly ['effect'];
11
+ export type SupportedBffRuntime = (typeof SUPPORTED_BFF_RUNTIMES)[number];
12
+ export declare function getOptionValue(args: string[], names: string[]): string | undefined;
13
+ export declare const detectLanguage: () => 'zh' | 'en';
14
+ export declare function detectLegacyModernJsFlag(args: string[]): boolean;
15
+ export declare function detectBffRuntime(args: string[]): SupportedBffRuntime;
16
+ export declare function detectTailwindFlag(): boolean;
17
+ export declare function detectExplicitTailwindFlag(): boolean | undefined;
18
+ export type VerticalCliInput = {
19
+ addVertical: false;
20
+ } | {
21
+ addVertical: true;
22
+ name: string;
23
+ };
24
+ export declare function collectPositionalArgs(args: string[]): string[];
25
+ export declare function resolveVerticalCliInput(args: string[]): VerticalCliInput;
26
+ export declare function detectDryRunFlag(args: string[]): boolean;
27
+ export declare function detectCodeSmithOverlays(args: string[]): {
28
+ generator: string;
29
+ }[] | undefined;
30
+ export declare function readBridgeCliOptions(args: string[]): import("../ultramodern-workspace").UltramodernBridgeConfig | undefined;
@@ -0,0 +1,2 @@
1
+ export declare function showVersion(): void;
2
+ export declare function showHelp(): void;
@@ -0,0 +1,15 @@
1
+ import { type ResolvedUltramodernPackageSource } from '../ultramodern-package-source';
2
+ export type UltramodernPackageSource = ResolvedUltramodernPackageSource;
3
+ export type CreatePackageJson = {
4
+ name?: string;
5
+ version?: string;
6
+ ultramodern?: {
7
+ frameworkVersion?: string;
8
+ };
9
+ };
10
+ export declare function readCreatePackageJson(): CreatePackageJson;
11
+ export declare function isBleedingDevCreatePackage(createPackage: CreatePackageJson): boolean;
12
+ export declare function getBleedingDevFrameworkVersion(createPackage: CreatePackageJson, fallbackVersion: string): string;
13
+ export declare function detectUltramodernPackageSource(args: string[], defaultPackageVersion: string, createPackage: CreatePackageJson): UltramodernPackageSource;
14
+ export declare function resolveInstallBackedPackageSource(args: string[], createPackage: CreatePackageJson, packageSource: UltramodernPackageSource): UltramodernPackageSource;
15
+ export declare function resolveWorkspacePackageSource(args: string[], createPackage: CreatePackageJson, packageSource: UltramodernPackageSource): UltramodernPackageSource;
@@ -0,0 +1,8 @@
1
+ export declare function runSetupCommand(command: string, args: string[], options?: {
2
+ cwd?: string;
3
+ stdio?: 'ignore' | 'inherit';
4
+ timeoutMs?: number;
5
+ }): any;
6
+ export declare function commandExists(command: string): boolean;
7
+ export declare function initializeGeneratedGitRepository(targetDir: string): void;
8
+ export declare function isDirectoryEmpty(dirPath: string): boolean;
@@ -0,0 +1,6 @@
1
+ export declare function promptInput(question: string): Promise<string>;
2
+ export declare function confirmLegacyModernJsSetup(): Promise<void>;
3
+ export declare function getProjectName(): Promise<{
4
+ name: string;
5
+ useCurrentDir: boolean;
6
+ }>;
@@ -0,0 +1,2 @@
1
+ import { type CommandContext } from './context';
2
+ export declare function runCloudflareOutputVerify(args: string[], context: CommandContext): any;
@@ -0,0 +1,11 @@
1
+ export declare const createPackageRoot: string;
2
+ export type CommandContext = {
3
+ workspaceRoot: string;
4
+ invocationCwd: string;
5
+ };
6
+ export declare function printHelp(): void;
7
+ export declare function spawnNodeScript(relativeScriptPath: string, args: string[], context: CommandContext, options?: {
8
+ cwd?: string;
9
+ }): any;
10
+ export declare function runTemplateBackedToolingCommand(command: string, args: string[], context: CommandContext): any;
11
+ export declare function runRenderedModule(source: string, context: CommandContext): any;
@@ -0,0 +1,2 @@
1
+ import type { CommandContext } from './context';
2
+ export declare function runMfTypes(args: string[], context: CommandContext): number;
@@ -0,0 +1,4 @@
1
+ import type { ResolvedUltramodernPackageSource } from '../../../ultramodern-package-source';
2
+ import { type MigrationIo } from './io';
3
+ export declare function updateUltramodernConfig(io: MigrationIo, config: Record<string, any>, packageSource: ResolvedUltramodernPackageSource): void;
4
+ export declare function updateReferenceTopology(io: MigrationIo): boolean;
@@ -0,0 +1,4 @@
1
+ import type { MigrationIo } from './io';
2
+ export declare function ensureGeneratedDeclarationPatches(io: MigrationIo, options: {
3
+ includeDrizzleOrmPatch: boolean;
4
+ }): boolean;
@@ -0,0 +1 @@
1
+ export declare function workspaceUsesDependency(workspaceRoot: string, packageName: string): boolean;
@@ -0,0 +1,3 @@
1
+ import { type UltramodernToolingConfig } from '../../config';
2
+ import { type MigrationIo } from './io';
3
+ export declare function updateGeneratedBackendFederationContractFiles(io: MigrationIo, config: UltramodernToolingConfig): boolean;
@@ -0,0 +1,3 @@
1
+ import { type UltramodernToolingConfig } from '../../config';
2
+ import { type MigrationIo } from './io';
3
+ export declare function updateGeneratedBuildIdentityModules(io: MigrationIo, config: UltramodernToolingConfig): boolean;
@@ -0,0 +1,3 @@
1
+ import { type UltramodernToolingConfig } from '../../config';
2
+ import { type MigrationIo } from './io';
3
+ export declare function updateGeneratedModernConfigs(io: MigrationIo, config: UltramodernToolingConfig): boolean;
@@ -0,0 +1,2 @@
1
+ import { type MigrationIo } from './io';
2
+ export declare function ensureGeneratedOxfmtIgnorePatterns(io: MigrationIo): boolean;
@@ -0,0 +1,4 @@
1
+ import { type UltramodernToolingConfig } from '../../config';
2
+ import { type MigrationIo } from './io';
3
+ export declare function removeGeneratedFileIfExists(io: MigrationIo, relativePath: string): boolean;
4
+ export declare function removeStaleBackendFederationArtifacts(io: MigrationIo, config: UltramodernToolingConfig): boolean;
@@ -0,0 +1,3 @@
1
+ import { type UltramodernToolingConfig } from '../../config';
2
+ import { type MigrationIo } from './io';
3
+ export declare function updateGeneratedTypeScriptSurfaces(io: MigrationIo, config: UltramodernToolingConfig): boolean;
@@ -0,0 +1,3 @@
1
+ import { type UltramodernToolingConfig } from '../../config';
2
+ import { type MigrationIo } from './io';
3
+ export declare function updateGeneratedZeropsArtifacts(io: MigrationIo, config: UltramodernToolingConfig): boolean;
@@ -0,0 +1,7 @@
1
+ export { updateGeneratedBackendFederationContractFiles } from './generated-artifacts-backend-federation';
2
+ export { updateGeneratedBuildIdentityModules } from './generated-artifacts-build-identity';
3
+ export { updateGeneratedModernConfigs } from './generated-artifacts-modern-configs';
4
+ export { ensureGeneratedOxfmtIgnorePatterns } from './generated-artifacts-oxfmt';
5
+ export { removeGeneratedFileIfExists, removeStaleBackendFederationArtifacts, } from './generated-artifacts-removal';
6
+ export { updateGeneratedTypeScriptSurfaces } from './generated-artifacts-typescript';
7
+ export { updateGeneratedZeropsArtifacts } from './generated-artifacts-zerops';
@@ -0,0 +1,3 @@
1
+ import type { MigrationIo } from './io';
2
+ export declare function ensureGeneratedPatchFile(io: MigrationIo, relativePatchPath: string, sourcePatchPath: string): boolean;
3
+ export declare function removeGeneratedPatchFileIfUnchanged(io: MigrationIo, relativePatchPath: string, sourcePatchPath: string): boolean;
@@ -0,0 +1 @@
1
+ export declare const migrateStrictEffectHelp = "Usage:\n modern-js-create ultramodern migrate-strict-effect --version <version> [--dry-run] [--skip-install]\n\nUpdates generated UltraModern package-source metadata, Modern package aliases,\nframework-owned toolchain pins, direct Effect API topology metadata, strict\nEffect pnpm overrides/trust policy, framework-owned TypeScript config\nsurfaces, and the pnpm lockfile. Source code still has to pass pnpm api:check\nand pnpm contract:check.\n\nWhen the compact config is absent but legacy UltraModern 3.2 metadata is\npresent, the compact config is synthesized from it first. Shell-only\nworkspaces skip the backend-federation and Zerops runtime stages. Pass\n--dry-run to print the planned filesystem changes without writing anything\n(implies --skip-install).\n";
@@ -0,0 +1,2 @@
1
+ import type { CommandContext } from '../context';
2
+ export declare function runPnpmLockfileRefresh(context: CommandContext): any;
@@ -0,0 +1,14 @@
1
+ export type MigrationIo = {
2
+ workspaceRoot: string;
3
+ dryRun: boolean;
4
+ plan: string[];
5
+ write(filePath: string, content: string): boolean;
6
+ remove(filePath: string): boolean;
7
+ log(message: string): void;
8
+ };
9
+ export declare function createMigrationIo(workspaceRoot: string, dryRun: boolean): MigrationIo;
10
+ export declare function readJsonFile(filePath: string): any;
11
+ export declare function writeJsonFile(io: MigrationIo, filePath: string, value: unknown): boolean;
12
+ export declare function writeJsonIfChanged(io: MigrationIo, filePath: string, value: unknown): boolean;
13
+ export declare function writeTextIfChanged(io: MigrationIo, filePath: string, value: string): boolean;
14
+ export declare function listWorkspacePackageFiles(workspaceRoot: string): string[];
@@ -0,0 +1,9 @@
1
+ import { type ResolvedUltramodernPackageSource } from '../../../ultramodern-package-source';
2
+ import type { WorkspaceApp } from '../../../ultramodern-workspace/types';
3
+ export declare function updateModernDependencies(packageJson: Record<string, any>, packageSource: ResolvedUltramodernPackageSource): boolean;
4
+ export declare function updateGeneratedToolingDependencies(packageJson: Record<string, any>): boolean;
5
+ export declare function updateGeneratedPackageScripts(packageJson: Record<string, any>, options?: {
6
+ relativePackageFile?: string;
7
+ apps?: WorkspaceApp[];
8
+ shellOnly?: boolean;
9
+ }): boolean;
@@ -0,0 +1,3 @@
1
+ import { type ResolvedUltramodernPackageSource } from '../../../ultramodern-package-source';
2
+ import { readUltramodernConfig } from '../../config';
3
+ export declare function createMigrationPackageSource(args: string[], current: ReturnType<typeof readUltramodernConfig>): ResolvedUltramodernPackageSource;
@@ -0,0 +1,4 @@
1
+ import type { MigrationIo } from './io';
2
+ export { ensureGeneratedDeclarationPatches } from './declaration-patches';
3
+ export { workspaceUsesDependency } from './dependency-usage';
4
+ export declare function updateGeneratedPnpmWorkspacePolicy(io: MigrationIo): boolean;
@@ -0,0 +1,25 @@
1
+ export declare function replaceYamlLine(source: string, pattern: RegExp, replacement: string): {
2
+ source: string;
3
+ changed: boolean;
4
+ };
5
+ export declare function ensureYamlListItem(source: string, key: string, item: string): {
6
+ source: string;
7
+ changed: boolean;
8
+ };
9
+ export declare function yamlEntryPattern(entryKey: string, scalar?: boolean): RegExp;
10
+ export declare function upsertYamlEntry(source: string, key: string, entryLine: string, pattern: RegExp): {
11
+ source: string;
12
+ changed: boolean;
13
+ };
14
+ export declare function ensureYamlMapEntry(source: string, key: string, entryKey: string, value: string): {
15
+ source: string;
16
+ changed: boolean;
17
+ };
18
+ export declare function ensureYamlScalarMapEntry(source: string, key: string, entryKey: string, value: string): {
19
+ source: string;
20
+ changed: boolean;
21
+ };
22
+ export declare function removeYamlMapEntry(source: string, entryKey: string): {
23
+ source: string;
24
+ changed: boolean;
25
+ };
@@ -0,0 +1,9 @@
1
+ export declare const strictEffectPackageVersionPolicyExclusions: string[];
2
+ export declare const moduleFederationModernJsPatchPath = "patches/@module-federation__modern-js-v3@2.6.0.patch";
3
+ export declare const moduleFederationModernJsPatchSourcePath: any;
4
+ export declare const moduleFederationBridgeReactPatchPath = "patches/@module-federation__bridge-react@2.6.0.patch";
5
+ export declare const moduleFederationBridgeReactPatchSourcePath: any;
6
+ export declare const effectDeclarationPatchPath = "patches/effect-schema-error-type-id.patch";
7
+ export declare const effectDeclarationPatchSourcePath: any;
8
+ export declare const drizzleOrmDeclarationPatchPath = "patches/drizzle-orm-ts7-strict-declarations.patch";
9
+ export declare const drizzleOrmDeclarationPatchSourcePath: any;
@@ -0,0 +1,2 @@
1
+ import type { CommandContext } from './context';
2
+ export declare function runMigrateStrictEffect(args: string[], context: CommandContext): any;
@@ -0,0 +1,2 @@
1
+ export declare function readOption(args: string[], name: string): string | undefined;
2
+ export declare function hasFlag(args: string[], name: string): boolean;
@@ -0,0 +1,2 @@
1
+ import { type CommandContext } from './context';
2
+ export declare function runRoutesGenerate(args: string[], context: CommandContext): any;
@@ -0,0 +1,2 @@
1
+ import { type CommandContext } from './context';
2
+ export declare function runSkills(args: string[], context: CommandContext): any;
@@ -0,0 +1 @@
1
+ export { runSyncDeliveryUnit } from '../../ultramodern-workspace/delivery-unit-sync';
@@ -0,0 +1,2 @@
1
+ import { type CommandContext } from './context';
2
+ export declare function runValidate(context: CommandContext): any;
@@ -0,0 +1,3 @@
1
+ export declare const LEGACY_GENERATED_CONTRACT_PATH = ".modernjs/ultramodern-generated-contract.json";
2
+ export declare const LEGACY_PACKAGE_SOURCE_METADATA_PATH = ".modernjs/ultramodern-package-source.json";
3
+ export declare const LEGACY_DEVELOPMENT_OVERLAY_PATH = "topology/local-overlays/development.json";
@@ -0,0 +1,7 @@
1
+ export * from './constants';
2
+ export * from './json';
3
+ export * from './load';
4
+ export * from './metadata';
5
+ export * from './normalize';
6
+ export * from './synthesize';
7
+ export * from './types';
@@ -0,0 +1,2 @@
1
+ export declare function readJsonObject(filePath: string): Record<string, any>;
2
+ export declare function readOptionalJsonObject(filePath: string): Record<string, any>;
@@ -0,0 +1,2 @@
1
+ import type { UltramodernToolingConfig } from './types';
2
+ export declare function readUltramodernConfig(workspaceRoot?: any): UltramodernToolingConfig;
@@ -0,0 +1,4 @@
1
+ import type { ResolvedPackageSource } from '../../ultramodern-workspace/types';
2
+ export declare function packageScopeFromRoot(workspaceRoot: string): string;
3
+ export declare function packageSourceFromMetadata(workspaceRoot: string): ResolvedPackageSource | undefined;
4
+ export declare function readOverlayPorts(workspaceRoot: string): Record<string, number>;
@@ -0,0 +1,5 @@
1
+ import type { WorkspaceApp } from '../../ultramodern-workspace/types';
2
+ import type { UltramodernToolingConfig } from './types';
3
+ export declare function normalizeCompactConfig(workspaceRoot: string, sourcePath: string, config: Record<string, any>): UltramodernToolingConfig;
4
+ export declare function normalizeCompactUltramodernConfig(workspaceRoot: string, compact: Record<string, any>): UltramodernToolingConfig;
5
+ export declare function workspaceAppsFromToolingConfig(config: UltramodernToolingConfig): WorkspaceApp[];
@@ -0,0 +1,5 @@
1
+ export declare function synthesizeCompactUltramodernConfig(workspaceRoot: string): {
2
+ compact: Record<string, any>;
3
+ missing: string[];
4
+ sources: string[];
5
+ } | undefined;