@bleedingdev/modern-js-create 3.5.0-ultramodern.6 → 3.5.0-ultramodern.75

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 (562) hide show
  1. package/README.md +25 -25
  2. package/bin/run.js +0 -0
  3. package/dist/cjs/cli/flags.cjs +357 -0
  4. package/dist/cjs/cli/help.cjs +108 -0
  5. package/dist/cjs/cli/package-source.cjs +188 -0
  6. package/dist/cjs/cli/project-setup.cjs +162 -0
  7. package/dist/cjs/cli/prompts.cjs +100 -0
  8. package/dist/cjs/index.cjs +35 -585
  9. package/dist/cjs/locale/en.cjs +5 -6
  10. package/dist/cjs/locale/zh.cjs +5 -6
  11. package/dist/cjs/ultramodern-package-source.cjs +0 -32
  12. package/dist/cjs/ultramodern-release-cohort.cjs +206 -0
  13. package/dist/cjs/ultramodern-tooling/commands/cloudflare-output-verify.cjs +136 -0
  14. package/dist/cjs/ultramodern-tooling/commands/context.cjs +131 -0
  15. package/dist/cjs/ultramodern-tooling/commands/mf-types.cjs +55 -0
  16. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.cjs +212 -0
  17. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.cjs +50 -0
  18. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.cjs +87 -0
  19. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.cjs +58 -0
  20. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.cjs +74 -0
  21. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.cjs +99 -0
  22. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.cjs +132 -0
  23. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.cjs +67 -0
  24. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.cjs +205 -0
  25. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.cjs +60 -0
  26. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.cjs +67 -0
  27. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.cjs +67 -0
  28. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/help.cjs +54 -0
  29. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/install.cjs +52 -0
  30. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/io.cjs +350 -0
  31. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.cjs +200 -0
  32. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-source.cjs +89 -0
  33. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.cjs +442 -0
  34. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.cjs +358 -0
  35. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.cjs +99 -0
  36. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.cjs +135 -0
  37. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect.cjs +410 -0
  38. package/dist/cjs/ultramodern-tooling/commands/options.cjs +59 -0
  39. package/dist/cjs/ultramodern-tooling/commands/routes-generate.cjs +122 -0
  40. package/dist/cjs/ultramodern-tooling/commands/skills.cjs +49 -0
  41. package/dist/cjs/ultramodern-tooling/commands/sync-delivery-unit.cjs +40 -0
  42. package/dist/cjs/ultramodern-tooling/commands/validate.cjs +53 -0
  43. package/dist/cjs/ultramodern-tooling/commands.cjs +27 -491
  44. package/dist/cjs/ultramodern-tooling/config/constants.cjs +48 -0
  45. package/dist/cjs/ultramodern-tooling/config/index.cjs +104 -0
  46. package/dist/cjs/ultramodern-tooling/config/json.cjs +61 -0
  47. package/dist/cjs/ultramodern-tooling/config/load.cjs +62 -0
  48. package/dist/cjs/ultramodern-tooling/config/metadata.cjs +92 -0
  49. package/dist/cjs/ultramodern-tooling/config/normalize.cjs +236 -0
  50. package/dist/cjs/ultramodern-tooling/config/synthesize.cjs +157 -0
  51. package/dist/cjs/ultramodern-tooling/config/types.cjs +18 -0
  52. package/dist/cjs/ultramodern-tooling/config.cjs +23 -133
  53. package/dist/cjs/ultramodern-workspace/add-shell.cjs +274 -0
  54. package/dist/cjs/ultramodern-workspace/add-vertical/constants.cjs +52 -0
  55. package/dist/cjs/ultramodern-workspace/add-vertical/execute.cjs +183 -0
  56. package/dist/cjs/ultramodern-workspace/add-vertical/plan.cjs +255 -0
  57. package/dist/cjs/ultramodern-workspace/add-vertical/preflight.cjs +256 -0
  58. package/dist/cjs/ultramodern-workspace/add-vertical/shell-files.cjs +122 -0
  59. package/dist/cjs/ultramodern-workspace/add-vertical/topology.cjs +152 -0
  60. package/dist/cjs/ultramodern-workspace/add-vertical/transaction.cjs +327 -0
  61. package/dist/cjs/ultramodern-workspace/add-vertical/workspace-state.cjs +137 -0
  62. package/dist/cjs/ultramodern-workspace/add-vertical.cjs +22 -571
  63. package/dist/cjs/ultramodern-workspace/api/checkout-cart.cjs +145 -0
  64. package/dist/cjs/ultramodern-workspace/api/client.cjs +224 -0
  65. package/dist/cjs/ultramodern-workspace/api/contracts.cjs +251 -0
  66. package/dist/cjs/ultramodern-workspace/api/names.cjs +98 -0
  67. package/dist/cjs/ultramodern-workspace/api/rpc.cjs +264 -0
  68. package/dist/cjs/ultramodern-workspace/api/service.cjs +252 -0
  69. package/dist/cjs/ultramodern-workspace/api/shared.cjs +270 -0
  70. package/dist/cjs/ultramodern-workspace/api.cjs +49 -1005
  71. package/dist/cjs/ultramodern-workspace/app-files.cjs +51 -69
  72. package/dist/cjs/ultramodern-workspace/backend-federation.cjs +346 -0
  73. package/dist/cjs/ultramodern-workspace/bridge-config/cli.cjs +71 -0
  74. package/dist/cjs/ultramodern-workspace/bridge-config/defaults.cjs +43 -0
  75. package/dist/cjs/ultramodern-workspace/bridge-config/gates.cjs +93 -0
  76. package/dist/cjs/ultramodern-workspace/bridge-config/index.cjs +60 -0
  77. package/dist/cjs/ultramodern-workspace/bridge-config/normalize.cjs +68 -0
  78. package/dist/cjs/ultramodern-workspace/bridge-config/schema.cjs +78 -0
  79. package/dist/cjs/ultramodern-workspace/bridge-config/shared.cjs +110 -0
  80. package/dist/cjs/ultramodern-workspace/bridge-config/validation.cjs +68 -0
  81. package/dist/cjs/ultramodern-workspace/bridge-config/workspace-packages.cjs +108 -0
  82. package/dist/cjs/ultramodern-workspace/bridge-config.cjs +32 -297
  83. package/dist/cjs/ultramodern-workspace/codesmith.cjs +10 -1
  84. package/dist/cjs/ultramodern-workspace/contracts.cjs +80 -26
  85. package/dist/cjs/ultramodern-workspace/delivery-unit-schema/types.cjs +291 -0
  86. package/dist/cjs/ultramodern-workspace/delivery-unit-schema/up-projection.cjs +188 -0
  87. package/dist/cjs/ultramodern-workspace/delivery-unit-stamp.cjs +56 -0
  88. package/dist/cjs/ultramodern-workspace/delivery-unit-sync.cjs +153 -0
  89. package/dist/cjs/ultramodern-workspace/delivery-unit.cjs +75 -0
  90. package/dist/cjs/ultramodern-workspace/demo-components.cjs +474 -205
  91. package/dist/cjs/ultramodern-workspace/descriptors.cjs +101 -16
  92. package/dist/cjs/ultramodern-workspace/effect-diagnostics.cjs +114 -0
  93. package/dist/cjs/ultramodern-workspace/fs-io.cjs +26 -36
  94. package/dist/cjs/ultramodern-workspace/generation-result.cjs +36 -3
  95. package/dist/cjs/ultramodern-workspace/index.cjs +28 -0
  96. package/dist/cjs/ultramodern-workspace/locales.cjs +3 -17
  97. package/dist/cjs/ultramodern-workspace/mf-validation/constants.cjs +69 -0
  98. package/dist/cjs/ultramodern-workspace/mf-validation/discovery.cjs +77 -0
  99. package/dist/cjs/ultramodern-workspace/mf-validation/inspect.cjs +84 -0
  100. package/dist/cjs/ultramodern-workspace/mf-validation/object-literal.cjs +188 -0
  101. package/dist/cjs/ultramodern-workspace/mf-validation/path-utils.cjs +165 -0
  102. package/dist/cjs/ultramodern-workspace/mf-validation/syntax.cjs +201 -0
  103. package/dist/cjs/ultramodern-workspace/mf-validation/types.cjs +18 -0
  104. package/dist/cjs/ultramodern-workspace/mf-validation/validate.cjs +112 -0
  105. package/dist/cjs/ultramodern-workspace/mf-validation.cjs +6 -529
  106. package/dist/cjs/ultramodern-workspace/module-federation/config.cjs +336 -0
  107. package/dist/cjs/ultramodern-workspace/module-federation/index.cjs +73 -0
  108. package/dist/cjs/ultramodern-workspace/module-federation/reexport-module.cjs +111 -0
  109. package/dist/cjs/ultramodern-workspace/module-federation/remote-refs.cjs +106 -0
  110. package/dist/cjs/ultramodern-workspace/module-federation/shared-config.cjs +53 -0
  111. package/dist/cjs/ultramodern-workspace/module-federation.cjs +18 -477
  112. package/dist/cjs/ultramodern-workspace/naming.cjs +1 -7
  113. package/dist/cjs/ultramodern-workspace/overlay-baseline-guard.cjs +408 -0
  114. package/dist/cjs/ultramodern-workspace/overlays.cjs +39 -5
  115. package/dist/cjs/ultramodern-workspace/package-json.cjs +54 -301
  116. package/dist/cjs/ultramodern-workspace/package-source.cjs +11 -2
  117. package/dist/cjs/ultramodern-workspace/policy.cjs +789 -24
  118. package/dist/cjs/ultramodern-workspace/public-surface.cjs +1 -22
  119. package/dist/cjs/ultramodern-workspace/routes.cjs +8 -157
  120. package/dist/cjs/ultramodern-workspace/shared-patches.cjs +41 -0
  121. package/dist/cjs/ultramodern-workspace/shells.cjs +151 -0
  122. package/dist/cjs/ultramodern-workspace/tooling-command-catalog.cjs +147 -0
  123. package/dist/cjs/ultramodern-workspace/tsconfigs.cjs +200 -0
  124. package/dist/cjs/ultramodern-workspace/types.cjs +27 -0
  125. package/dist/cjs/ultramodern-workspace/versions.cjs +52 -37
  126. package/dist/cjs/ultramodern-workspace/workspace-script-plan.cjs +174 -0
  127. package/dist/cjs/ultramodern-workspace/workspace-scripts.cjs +118 -88
  128. package/dist/cjs/ultramodern-workspace/workspace-validation-contract.cjs +642 -0
  129. package/dist/cjs/ultramodern-workspace/write-app.cjs +148 -0
  130. package/dist/cjs/ultramodern-workspace/write-workspace.cjs +45 -67
  131. package/dist/cjs/ultramodern-workspace/zerops.cjs +108 -0
  132. package/dist/esm/cli/flags.js +262 -0
  133. package/dist/esm/cli/help.js +67 -0
  134. package/dist/esm/cli/package-source.js +124 -0
  135. package/dist/esm/cli/project-setup.js +105 -0
  136. package/dist/esm/cli/prompts.js +51 -0
  137. package/dist/esm/index.js +19 -565
  138. package/dist/esm/locale/en.js +5 -6
  139. package/dist/esm/locale/zh.js +5 -6
  140. package/dist/esm/ultramodern-package-source.js +1 -24
  141. package/dist/esm/ultramodern-release-cohort.js +133 -0
  142. package/dist/esm/ultramodern-tooling/commands/cloudflare-output-verify.js +88 -0
  143. package/dist/esm/ultramodern-tooling/commands/context.js +66 -0
  144. package/dist/esm/ultramodern-tooling/commands/mf-types.js +17 -0
  145. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +154 -0
  146. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +12 -0
  147. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +38 -0
  148. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +10 -0
  149. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +22 -0
  150. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +50 -0
  151. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +83 -0
  152. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +16 -0
  153. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +156 -0
  154. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +12 -0
  155. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +7 -0
  156. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +15 -0
  157. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/help.js +16 -0
  158. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/install.js +14 -0
  159. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/io.js +285 -0
  160. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +156 -0
  161. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +51 -0
  162. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +383 -0
  163. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +311 -0
  164. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +24 -0
  165. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.js +80 -0
  166. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect.js +361 -0
  167. package/dist/esm/ultramodern-tooling/commands/options.js +18 -0
  168. package/dist/esm/ultramodern-tooling/commands/routes-generate.js +74 -0
  169. package/dist/esm/ultramodern-tooling/commands/skills.js +11 -0
  170. package/dist/esm/ultramodern-tooling/commands/sync-delivery-unit.js +1 -0
  171. package/dist/esm/ultramodern-tooling/commands/validate.js +15 -0
  172. package/dist/esm/ultramodern-tooling/commands.js +23 -482
  173. package/dist/esm/ultramodern-tooling/config/constants.js +4 -0
  174. package/dist/esm/ultramodern-tooling/config/index.js +7 -0
  175. package/dist/esm/ultramodern-tooling/config/json.js +10 -0
  176. package/dist/esm/ultramodern-tooling/config/load.js +13 -0
  177. package/dist/esm/ultramodern-tooling/config/metadata.js +37 -0
  178. package/dist/esm/ultramodern-tooling/config/normalize.js +173 -0
  179. package/dist/esm/ultramodern-tooling/config/synthesize.js +108 -0
  180. package/dist/esm/ultramodern-tooling/config/types.js +0 -0
  181. package/dist/esm/ultramodern-tooling/config.js +1 -120
  182. package/dist/esm/ultramodern-workspace/add-shell.js +221 -0
  183. package/dist/esm/ultramodern-workspace/add-vertical/constants.js +5 -0
  184. package/dist/esm/ultramodern-workspace/add-vertical/execute.js +135 -0
  185. package/dist/esm/ultramodern-workspace/add-vertical/plan.js +205 -0
  186. package/dist/esm/ultramodern-workspace/add-vertical/preflight.js +198 -0
  187. package/dist/esm/ultramodern-workspace/add-vertical/shell-files.js +65 -0
  188. package/dist/esm/ultramodern-workspace/add-vertical/topology.js +108 -0
  189. package/dist/esm/ultramodern-workspace/add-vertical/transaction.js +254 -0
  190. package/dist/esm/ultramodern-workspace/add-vertical/workspace-state.js +67 -0
  191. package/dist/esm/ultramodern-workspace/add-vertical.js +6 -544
  192. package/dist/esm/ultramodern-workspace/api/checkout-cart.js +86 -0
  193. package/dist/esm/ultramodern-workspace/api/client.js +183 -0
  194. package/dist/esm/ultramodern-workspace/api/contracts.js +201 -0
  195. package/dist/esm/ultramodern-workspace/api/names.js +33 -0
  196. package/dist/esm/ultramodern-workspace/api/rpc.js +205 -0
  197. package/dist/esm/ultramodern-workspace/api/service.js +211 -0
  198. package/dist/esm/ultramodern-workspace/api/shared.js +226 -0
  199. package/dist/esm/ultramodern-workspace/api.js +6 -984
  200. package/dist/esm/ultramodern-workspace/app-files.js +51 -51
  201. package/dist/esm/ultramodern-workspace/backend-federation.js +281 -0
  202. package/dist/esm/ultramodern-workspace/bridge-config/cli.js +30 -0
  203. package/dist/esm/ultramodern-workspace/bridge-config/defaults.js +5 -0
  204. package/dist/esm/ultramodern-workspace/bridge-config/gates.js +52 -0
  205. package/dist/esm/ultramodern-workspace/bridge-config/index.js +3 -0
  206. package/dist/esm/ultramodern-workspace/bridge-config/normalize.js +30 -0
  207. package/dist/esm/ultramodern-workspace/bridge-config/schema.js +31 -0
  208. package/dist/esm/ultramodern-workspace/bridge-config/shared.js +51 -0
  209. package/dist/esm/ultramodern-workspace/bridge-config/validation.js +27 -0
  210. package/dist/esm/ultramodern-workspace/bridge-config/workspace-packages.js +67 -0
  211. package/dist/esm/ultramodern-workspace/bridge-config.js +1 -270
  212. package/dist/esm/ultramodern-workspace/codesmith.js +10 -1
  213. package/dist/esm/ultramodern-workspace/contracts.js +81 -27
  214. package/dist/esm/ultramodern-workspace/delivery-unit-schema/types.js +235 -0
  215. package/dist/esm/ultramodern-workspace/delivery-unit-schema/up-projection.js +129 -0
  216. package/dist/esm/ultramodern-workspace/delivery-unit-stamp.js +18 -0
  217. package/dist/esm/ultramodern-workspace/delivery-unit-sync.js +104 -0
  218. package/dist/esm/ultramodern-workspace/delivery-unit.js +21 -0
  219. package/dist/esm/ultramodern-workspace/demo-components.js +461 -204
  220. package/dist/esm/ultramodern-workspace/descriptors.js +75 -17
  221. package/dist/esm/ultramodern-workspace/effect-diagnostics.js +76 -0
  222. package/dist/esm/ultramodern-workspace/fs-io.js +27 -18
  223. package/dist/esm/ultramodern-workspace/generation-result.js +33 -3
  224. package/dist/esm/ultramodern-workspace/index.js +4 -0
  225. package/dist/esm/ultramodern-workspace/locales.js +3 -4
  226. package/dist/esm/ultramodern-workspace/mf-validation/constants.js +19 -0
  227. package/dist/esm/ultramodern-workspace/mf-validation/discovery.js +28 -0
  228. package/dist/esm/ultramodern-workspace/mf-validation/inspect.js +46 -0
  229. package/dist/esm/ultramodern-workspace/mf-validation/object-literal.js +144 -0
  230. package/dist/esm/ultramodern-workspace/mf-validation/path-utils.js +89 -0
  231. package/dist/esm/ultramodern-workspace/mf-validation/syntax.js +154 -0
  232. package/dist/esm/ultramodern-workspace/mf-validation/types.js +0 -0
  233. package/dist/esm/ultramodern-workspace/mf-validation/validate.js +57 -0
  234. package/dist/esm/ultramodern-workspace/mf-validation.js +3 -516
  235. package/dist/esm/ultramodern-workspace/module-federation/config.js +289 -0
  236. package/dist/esm/ultramodern-workspace/module-federation/index.js +4 -0
  237. package/dist/esm/ultramodern-workspace/module-federation/reexport-module.js +67 -0
  238. package/dist/esm/ultramodern-workspace/module-federation/remote-refs.js +65 -0
  239. package/dist/esm/ultramodern-workspace/module-federation/shared-config.js +12 -0
  240. package/dist/esm/ultramodern-workspace/module-federation.js +2 -458
  241. package/dist/esm/ultramodern-workspace/naming.js +2 -2
  242. package/dist/esm/ultramodern-workspace/overlay-baseline-guard.js +350 -0
  243. package/dist/esm/ultramodern-workspace/overlays.js +28 -5
  244. package/dist/esm/ultramodern-workspace/package-json.js +48 -283
  245. package/dist/esm/ultramodern-workspace/package-source.js +7 -1
  246. package/dist/esm/ultramodern-workspace/policy.js +772 -10
  247. package/dist/esm/ultramodern-workspace/public-surface.js +2 -2
  248. package/dist/esm/ultramodern-workspace/routes.js +9 -143
  249. package/dist/esm/ultramodern-workspace/shared-patches.js +3 -0
  250. package/dist/esm/ultramodern-workspace/shells.js +92 -0
  251. package/dist/esm/ultramodern-workspace/tooling-command-catalog.js +100 -0
  252. package/dist/esm/ultramodern-workspace/tsconfigs.js +137 -0
  253. package/dist/esm/ultramodern-workspace/types.js +16 -1
  254. package/dist/esm/ultramodern-workspace/versions.js +35 -26
  255. package/dist/esm/ultramodern-workspace/workspace-script-plan.js +124 -0
  256. package/dist/esm/ultramodern-workspace/workspace-scripts.js +115 -85
  257. package/dist/esm/ultramodern-workspace/workspace-validation-contract.js +604 -0
  258. package/dist/esm/ultramodern-workspace/write-app.js +105 -0
  259. package/dist/esm/ultramodern-workspace/write-workspace.js +47 -66
  260. package/dist/esm/ultramodern-workspace/zerops.js +70 -0
  261. package/dist/esm-node/cli/flags.js +263 -0
  262. package/dist/esm-node/cli/help.js +68 -0
  263. package/dist/esm-node/cli/package-source.js +125 -0
  264. package/dist/esm-node/cli/project-setup.js +106 -0
  265. package/dist/esm-node/cli/prompts.js +52 -0
  266. package/dist/esm-node/index.js +19 -565
  267. package/dist/esm-node/locale/en.js +5 -6
  268. package/dist/esm-node/locale/zh.js +5 -6
  269. package/dist/esm-node/ultramodern-package-source.js +1 -24
  270. package/dist/esm-node/ultramodern-release-cohort.js +134 -0
  271. package/dist/esm-node/ultramodern-tooling/commands/cloudflare-output-verify.js +89 -0
  272. package/dist/esm-node/ultramodern-tooling/commands/context.js +67 -0
  273. package/dist/esm-node/ultramodern-tooling/commands/mf-types.js +18 -0
  274. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +155 -0
  275. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +13 -0
  276. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +39 -0
  277. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +11 -0
  278. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +23 -0
  279. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +51 -0
  280. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +84 -0
  281. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +17 -0
  282. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +157 -0
  283. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +13 -0
  284. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +8 -0
  285. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +16 -0
  286. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/help.js +17 -0
  287. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/install.js +15 -0
  288. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/io.js +286 -0
  289. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +157 -0
  290. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +52 -0
  291. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +384 -0
  292. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +312 -0
  293. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +25 -0
  294. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.js +81 -0
  295. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect.js +362 -0
  296. package/dist/esm-node/ultramodern-tooling/commands/options.js +19 -0
  297. package/dist/esm-node/ultramodern-tooling/commands/routes-generate.js +75 -0
  298. package/dist/esm-node/ultramodern-tooling/commands/skills.js +12 -0
  299. package/dist/esm-node/ultramodern-tooling/commands/sync-delivery-unit.js +2 -0
  300. package/dist/esm-node/ultramodern-tooling/commands/validate.js +16 -0
  301. package/dist/esm-node/ultramodern-tooling/commands.js +23 -482
  302. package/dist/esm-node/ultramodern-tooling/config/constants.js +5 -0
  303. package/dist/esm-node/ultramodern-tooling/config/index.js +8 -0
  304. package/dist/esm-node/ultramodern-tooling/config/json.js +11 -0
  305. package/dist/esm-node/ultramodern-tooling/config/load.js +14 -0
  306. package/dist/esm-node/ultramodern-tooling/config/metadata.js +38 -0
  307. package/dist/esm-node/ultramodern-tooling/config/normalize.js +174 -0
  308. package/dist/esm-node/ultramodern-tooling/config/synthesize.js +109 -0
  309. package/dist/esm-node/ultramodern-tooling/config/types.js +1 -0
  310. package/dist/esm-node/ultramodern-tooling/config.js +1 -120
  311. package/dist/esm-node/ultramodern-workspace/add-shell.js +222 -0
  312. package/dist/esm-node/ultramodern-workspace/add-vertical/constants.js +6 -0
  313. package/dist/esm-node/ultramodern-workspace/add-vertical/execute.js +136 -0
  314. package/dist/esm-node/ultramodern-workspace/add-vertical/plan.js +206 -0
  315. package/dist/esm-node/ultramodern-workspace/add-vertical/preflight.js +199 -0
  316. package/dist/esm-node/ultramodern-workspace/add-vertical/shell-files.js +66 -0
  317. package/dist/esm-node/ultramodern-workspace/add-vertical/topology.js +109 -0
  318. package/dist/esm-node/ultramodern-workspace/add-vertical/transaction.js +255 -0
  319. package/dist/esm-node/ultramodern-workspace/add-vertical/workspace-state.js +68 -0
  320. package/dist/esm-node/ultramodern-workspace/add-vertical.js +6 -544
  321. package/dist/esm-node/ultramodern-workspace/api/checkout-cart.js +87 -0
  322. package/dist/esm-node/ultramodern-workspace/api/client.js +184 -0
  323. package/dist/esm-node/ultramodern-workspace/api/contracts.js +202 -0
  324. package/dist/esm-node/ultramodern-workspace/api/names.js +34 -0
  325. package/dist/esm-node/ultramodern-workspace/api/rpc.js +206 -0
  326. package/dist/esm-node/ultramodern-workspace/api/service.js +212 -0
  327. package/dist/esm-node/ultramodern-workspace/api/shared.js +227 -0
  328. package/dist/esm-node/ultramodern-workspace/api.js +6 -984
  329. package/dist/esm-node/ultramodern-workspace/app-files.js +51 -51
  330. package/dist/esm-node/ultramodern-workspace/backend-federation.js +282 -0
  331. package/dist/esm-node/ultramodern-workspace/bridge-config/cli.js +31 -0
  332. package/dist/esm-node/ultramodern-workspace/bridge-config/defaults.js +6 -0
  333. package/dist/esm-node/ultramodern-workspace/bridge-config/gates.js +53 -0
  334. package/dist/esm-node/ultramodern-workspace/bridge-config/index.js +4 -0
  335. package/dist/esm-node/ultramodern-workspace/bridge-config/normalize.js +31 -0
  336. package/dist/esm-node/ultramodern-workspace/bridge-config/schema.js +32 -0
  337. package/dist/esm-node/ultramodern-workspace/bridge-config/shared.js +52 -0
  338. package/dist/esm-node/ultramodern-workspace/bridge-config/validation.js +28 -0
  339. package/dist/esm-node/ultramodern-workspace/bridge-config/workspace-packages.js +68 -0
  340. package/dist/esm-node/ultramodern-workspace/bridge-config.js +1 -270
  341. package/dist/esm-node/ultramodern-workspace/codesmith.js +10 -1
  342. package/dist/esm-node/ultramodern-workspace/contracts.js +81 -27
  343. package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/types.js +236 -0
  344. package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/up-projection.js +130 -0
  345. package/dist/esm-node/ultramodern-workspace/delivery-unit-stamp.js +19 -0
  346. package/dist/esm-node/ultramodern-workspace/delivery-unit-sync.js +105 -0
  347. package/dist/esm-node/ultramodern-workspace/delivery-unit.js +22 -0
  348. package/dist/esm-node/ultramodern-workspace/demo-components.js +461 -204
  349. package/dist/esm-node/ultramodern-workspace/descriptors.js +75 -17
  350. package/dist/esm-node/ultramodern-workspace/effect-diagnostics.js +77 -0
  351. package/dist/esm-node/ultramodern-workspace/fs-io.js +27 -18
  352. package/dist/esm-node/ultramodern-workspace/generation-result.js +33 -3
  353. package/dist/esm-node/ultramodern-workspace/index.js +4 -0
  354. package/dist/esm-node/ultramodern-workspace/locales.js +3 -4
  355. package/dist/esm-node/ultramodern-workspace/mf-validation/constants.js +20 -0
  356. package/dist/esm-node/ultramodern-workspace/mf-validation/discovery.js +29 -0
  357. package/dist/esm-node/ultramodern-workspace/mf-validation/inspect.js +47 -0
  358. package/dist/esm-node/ultramodern-workspace/mf-validation/object-literal.js +145 -0
  359. package/dist/esm-node/ultramodern-workspace/mf-validation/path-utils.js +90 -0
  360. package/dist/esm-node/ultramodern-workspace/mf-validation/syntax.js +155 -0
  361. package/dist/esm-node/ultramodern-workspace/mf-validation/types.js +1 -0
  362. package/dist/esm-node/ultramodern-workspace/mf-validation/validate.js +58 -0
  363. package/dist/esm-node/ultramodern-workspace/mf-validation.js +3 -516
  364. package/dist/esm-node/ultramodern-workspace/module-federation/config.js +290 -0
  365. package/dist/esm-node/ultramodern-workspace/module-federation/index.js +5 -0
  366. package/dist/esm-node/ultramodern-workspace/module-federation/reexport-module.js +68 -0
  367. package/dist/esm-node/ultramodern-workspace/module-federation/remote-refs.js +66 -0
  368. package/dist/esm-node/ultramodern-workspace/module-federation/shared-config.js +13 -0
  369. package/dist/esm-node/ultramodern-workspace/module-federation.js +2 -458
  370. package/dist/esm-node/ultramodern-workspace/naming.js +2 -2
  371. package/dist/esm-node/ultramodern-workspace/overlay-baseline-guard.js +351 -0
  372. package/dist/esm-node/ultramodern-workspace/overlays.js +28 -5
  373. package/dist/esm-node/ultramodern-workspace/package-json.js +48 -283
  374. package/dist/esm-node/ultramodern-workspace/package-source.js +7 -1
  375. package/dist/esm-node/ultramodern-workspace/policy.js +772 -10
  376. package/dist/esm-node/ultramodern-workspace/public-surface.js +2 -2
  377. package/dist/esm-node/ultramodern-workspace/routes.js +9 -143
  378. package/dist/esm-node/ultramodern-workspace/shared-patches.js +4 -0
  379. package/dist/esm-node/ultramodern-workspace/shells.js +93 -0
  380. package/dist/esm-node/ultramodern-workspace/tooling-command-catalog.js +101 -0
  381. package/dist/esm-node/ultramodern-workspace/tsconfigs.js +138 -0
  382. package/dist/esm-node/ultramodern-workspace/types.js +16 -1
  383. package/dist/esm-node/ultramodern-workspace/versions.js +35 -26
  384. package/dist/esm-node/ultramodern-workspace/workspace-script-plan.js +125 -0
  385. package/dist/esm-node/ultramodern-workspace/workspace-scripts.js +115 -85
  386. package/dist/esm-node/ultramodern-workspace/workspace-validation-contract.js +605 -0
  387. package/dist/esm-node/ultramodern-workspace/write-app.js +106 -0
  388. package/dist/esm-node/ultramodern-workspace/write-workspace.js +47 -66
  389. package/dist/esm-node/ultramodern-workspace/zerops.js +71 -0
  390. package/dist/types/cli/flags.d.ts +35 -0
  391. package/dist/types/cli/help.d.ts +2 -0
  392. package/dist/types/cli/package-source.d.ts +15 -0
  393. package/dist/types/cli/project-setup.d.ts +8 -0
  394. package/dist/types/cli/prompts.d.ts +4 -0
  395. package/dist/types/locale/en.d.ts +3 -4
  396. package/dist/types/locale/index.d.ts +6 -8
  397. package/dist/types/locale/zh.d.ts +3 -4
  398. package/dist/types/ultramodern-package-source.d.ts +0 -11
  399. package/dist/types/ultramodern-release-cohort.d.ts +30 -0
  400. package/dist/types/ultramodern-tooling/commands/cloudflare-output-verify.d.ts +2 -0
  401. package/dist/types/ultramodern-tooling/commands/context.d.ts +11 -0
  402. package/dist/types/ultramodern-tooling/commands/mf-types.d.ts +2 -0
  403. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.d.ts +12 -0
  404. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.d.ts +4 -0
  405. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.d.ts +1 -0
  406. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.d.ts +3 -0
  407. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.d.ts +4 -0
  408. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.d.ts +3 -0
  409. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.d.ts +2 -0
  410. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.d.ts +4 -0
  411. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.d.ts +3 -0
  412. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.d.ts +3 -0
  413. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.d.ts +7 -0
  414. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.d.ts +3 -0
  415. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/help.d.ts +1 -0
  416. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/install.d.ts +2 -0
  417. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/io.d.ts +20 -0
  418. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.d.ts +9 -0
  419. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-source.d.ts +3 -0
  420. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.d.ts +27 -0
  421. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.d.ts +26 -0
  422. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.d.ts +10 -0
  423. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.d.ts +4 -0
  424. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect.d.ts +2 -0
  425. package/dist/types/ultramodern-tooling/commands/options.d.ts +2 -0
  426. package/dist/types/ultramodern-tooling/commands/routes-generate.d.ts +2 -0
  427. package/dist/types/ultramodern-tooling/commands/skills.d.ts +2 -0
  428. package/dist/types/ultramodern-tooling/commands/sync-delivery-unit.d.ts +1 -0
  429. package/dist/types/ultramodern-tooling/commands/validate.d.ts +2 -0
  430. package/dist/types/ultramodern-tooling/commands.d.ts +1 -1
  431. package/dist/types/ultramodern-tooling/config/constants.d.ts +3 -0
  432. package/dist/types/ultramodern-tooling/config/index.d.ts +7 -0
  433. package/dist/types/ultramodern-tooling/config/json.d.ts +2 -0
  434. package/dist/types/ultramodern-tooling/config/load.d.ts +2 -0
  435. package/dist/types/ultramodern-tooling/config/metadata.d.ts +4 -0
  436. package/dist/types/ultramodern-tooling/config/normalize.d.ts +22 -0
  437. package/dist/types/ultramodern-tooling/config/synthesize.d.ts +5 -0
  438. package/dist/types/ultramodern-tooling/config/types.d.ts +45 -0
  439. package/dist/types/ultramodern-tooling/config.d.ts +1 -43
  440. package/dist/types/ultramodern-workspace/add-shell.d.ts +14 -0
  441. package/dist/types/ultramodern-workspace/add-vertical/constants.d.ts +4 -0
  442. package/dist/types/ultramodern-workspace/add-vertical/execute.d.ts +9 -0
  443. package/dist/types/ultramodern-workspace/add-vertical/plan.d.ts +2 -0
  444. package/dist/types/ultramodern-workspace/add-vertical/preflight.d.ts +42 -0
  445. package/dist/types/ultramodern-workspace/add-vertical/shell-files.d.ts +6 -0
  446. package/dist/types/ultramodern-workspace/add-vertical/topology.d.ts +9 -0
  447. package/dist/types/ultramodern-workspace/add-vertical/transaction.d.ts +80 -0
  448. package/dist/types/ultramodern-workspace/add-vertical/workspace-state.d.ts +15 -0
  449. package/dist/types/ultramodern-workspace/add-vertical.d.ts +7 -39
  450. package/dist/types/ultramodern-workspace/api/checkout-cart.d.ts +33 -0
  451. package/dist/types/ultramodern-workspace/api/client.d.ts +6 -0
  452. package/dist/types/ultramodern-workspace/api/contracts.d.ts +15 -0
  453. package/dist/types/ultramodern-workspace/api/names.d.ts +41 -0
  454. package/dist/types/ultramodern-workspace/api/rpc.d.ts +41 -0
  455. package/dist/types/ultramodern-workspace/api/service.d.ts +6 -0
  456. package/dist/types/ultramodern-workspace/api/shared.d.ts +10 -0
  457. package/dist/types/ultramodern-workspace/api.d.ts +6 -73
  458. package/dist/types/ultramodern-workspace/app-files.d.ts +4 -10
  459. package/dist/types/ultramodern-workspace/backend-federation.d.ts +11 -0
  460. package/dist/types/ultramodern-workspace/bridge-config/cli.d.ts +3 -0
  461. package/dist/types/ultramodern-workspace/bridge-config/defaults.d.ts +1 -0
  462. package/dist/types/ultramodern-workspace/bridge-config/gates.d.ts +3 -0
  463. package/dist/types/ultramodern-workspace/bridge-config/index.d.ts +4 -0
  464. package/dist/types/ultramodern-workspace/bridge-config/normalize.d.ts +2 -0
  465. package/dist/types/ultramodern-workspace/bridge-config/schema.d.ts +61 -0
  466. package/dist/types/ultramodern-workspace/bridge-config/shared.d.ts +12 -0
  467. package/dist/types/ultramodern-workspace/bridge-config/validation.d.ts +3 -0
  468. package/dist/types/ultramodern-workspace/bridge-config/workspace-packages.d.ts +3 -0
  469. package/dist/types/ultramodern-workspace/bridge-config.d.ts +1 -64
  470. package/dist/types/ultramodern-workspace/codesmith.d.ts +12 -6
  471. package/dist/types/ultramodern-workspace/contracts.d.ts +3 -3
  472. package/dist/types/ultramodern-workspace/delivery-unit-schema/types.d.ts +291 -0
  473. package/dist/types/ultramodern-workspace/delivery-unit-schema/up-projection.d.ts +189 -0
  474. package/dist/types/ultramodern-workspace/delivery-unit-stamp.d.ts +3 -0
  475. package/dist/types/ultramodern-workspace/delivery-unit-sync.d.ts +6 -0
  476. package/dist/types/ultramodern-workspace/delivery-unit.d.ts +8 -0
  477. package/dist/types/ultramodern-workspace/demo-components.d.ts +14 -3
  478. package/dist/types/ultramodern-workspace/descriptors.d.ts +27 -3
  479. package/dist/types/ultramodern-workspace/effect-diagnostics.d.ts +1 -0
  480. package/dist/types/ultramodern-workspace/fs-io.d.ts +2 -8
  481. package/dist/types/ultramodern-workspace/generation-result.d.ts +3 -1
  482. package/dist/types/ultramodern-workspace/index.d.ts +6 -1
  483. package/dist/types/ultramodern-workspace/locales.d.ts +1 -133
  484. package/dist/types/ultramodern-workspace/mf-validation/constants.d.ts +5 -0
  485. package/dist/types/ultramodern-workspace/mf-validation/discovery.d.ts +2 -0
  486. package/dist/types/ultramodern-workspace/mf-validation/inspect.d.ts +2 -0
  487. package/dist/types/ultramodern-workspace/mf-validation/object-literal.d.ts +4 -0
  488. package/dist/types/ultramodern-workspace/mf-validation/path-utils.d.ts +11 -0
  489. package/dist/types/ultramodern-workspace/mf-validation/syntax.d.ts +5 -0
  490. package/dist/types/ultramodern-workspace/mf-validation/types.d.ts +33 -0
  491. package/dist/types/ultramodern-workspace/mf-validation/validate.d.ts +4 -0
  492. package/dist/types/ultramodern-workspace/mf-validation.d.ts +4 -27
  493. package/dist/types/ultramodern-workspace/module-federation/config.d.ts +5 -0
  494. package/dist/types/ultramodern-workspace/module-federation/index.d.ts +4 -0
  495. package/dist/types/ultramodern-workspace/module-federation/reexport-module.d.ts +4 -0
  496. package/dist/types/ultramodern-workspace/module-federation/remote-refs.d.ts +3 -0
  497. package/dist/types/ultramodern-workspace/module-federation/shared-config.d.ts +2 -0
  498. package/dist/types/ultramodern-workspace/module-federation.d.ts +2 -17
  499. package/dist/types/ultramodern-workspace/naming.d.ts +0 -2
  500. package/dist/types/ultramodern-workspace/overlay-baseline-guard.d.ts +57 -0
  501. package/dist/types/ultramodern-workspace/package-json.d.ts +2 -17
  502. package/dist/types/ultramodern-workspace/package-source.d.ts +1 -0
  503. package/dist/types/ultramodern-workspace/policy.d.ts +254 -47
  504. package/dist/types/ultramodern-workspace/public-api.d.ts +1 -1
  505. package/dist/types/ultramodern-workspace/public-surface.d.ts +5 -15
  506. package/dist/types/ultramodern-workspace/routes.d.ts +0 -9
  507. package/dist/types/ultramodern-workspace/shared-patches.d.ts +1 -0
  508. package/dist/types/ultramodern-workspace/shells.d.ts +51 -0
  509. package/dist/types/ultramodern-workspace/tooling-command-catalog.d.ts +18 -0
  510. package/dist/types/ultramodern-workspace/tsconfigs.d.ts +13 -0
  511. package/dist/types/ultramodern-workspace/types.d.ts +134 -3
  512. package/dist/types/ultramodern-workspace/versions.d.ts +35 -26
  513. package/dist/types/ultramodern-workspace/workspace-script-plan.d.ts +63 -0
  514. package/dist/types/ultramodern-workspace/workspace-scripts.d.ts +15 -5
  515. package/dist/types/ultramodern-workspace/workspace-validation-contract.d.ts +243 -0
  516. package/dist/types/ultramodern-workspace/write-app.d.ts +4 -0
  517. package/dist/types/ultramodern-workspace/write-workspace.d.ts +3 -3
  518. package/dist/types/ultramodern-workspace/zerops.d.ts +2 -0
  519. package/package.json +15 -13
  520. package/template-workspace/.gitignore.handlebars +8 -0
  521. package/template-workspace/.modernjs/release-cohort.json +208 -0
  522. package/template-workspace/AGENTS.md.handlebars +16 -89
  523. package/template-workspace/README.md.handlebars +17 -16
  524. package/template-workspace/patches/@module-federation__bridge-react@2.8.0.patch +138 -0
  525. package/template-workspace/patches/@module-federation__modern-js-v3@2.8.0.patch +259 -0
  526. package/template-workspace/patches/@tanstack__router-core@1.171.14.patch +123 -0
  527. package/template-workspace/patches/drizzle-orm-ts7-strict-declarations.patch +452 -0
  528. package/template-workspace/patches/effect-schema-error-type-id.patch +18 -0
  529. package/template-workspace/pnpm-workspace.yaml.handlebars +8 -25
  530. package/template-workspace/scripts/bootstrap-agent-skills.mjs +11 -3
  531. package/templates/app/shell-frame.tsx +5 -4
  532. package/templates/workspace/apps/modern.config.shared-module-federation.ts.handlebars +37 -0
  533. package/templates/workspace/apps/modern.config.ts.handlebars +191 -0
  534. package/templates/workspace/apps/shared/src/routes/ultramodern-jsonld.ts.handlebars +119 -0
  535. package/templates/workspace/apps/shared/src/routes/ultramodern-route-metadata.ts.handlebars +21 -0
  536. package/templates/workspace/apps/shell-super-app/src/routes/[lang]/page.tsx.handlebars +49 -0
  537. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.helpers.tsx.handlebars +27 -0
  538. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.imports.tsx.handlebars +4 -0
  539. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.tsx.handlebars +44 -0
  540. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.worker.helpers.tsx.handlebars +17 -0
  541. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.worker.imports.tsx.handlebars +1 -0
  542. package/templates/workspace/packages/shared-design-tokens/tokens.css.handlebars +7 -0
  543. package/templates/workspace/tailwind.config.ts.handlebars +3 -0
  544. package/templates/workspace/verticals/server/checkout-cart-handlers.ts.handlebars +49 -0
  545. package/templates/workspace/verticals/server/checkout-cart-state.ts.handlebars +23 -0
  546. package/templates/workspace/verticals/shared/api.checkout-cart-contract-fields.ts.handlebars +1 -0
  547. package/templates/workspace/verticals/shared/api.checkout-cart-endpoints.ts.handlebars +23 -0
  548. package/templates/workspace/verticals/shared/api.checkout-cart-operation-contexts.ts.handlebars +29 -0
  549. package/templates/workspace/verticals/shared/api.checkout-cart-schemas.ts.handlebars +48 -0
  550. package/templates/workspace/verticals/src/api/checkout-cart-client-exports.ts.handlebars +70 -0
  551. package/templates/workspace-scripts/assert-mf-types.mjs.handlebars +4 -4
  552. package/templates/workspace-scripts/check-ultramodern-api-boundaries.mts +40 -2
  553. package/templates/workspace-scripts/generate-node-backend-federation.mjs +379 -0
  554. package/templates/workspace-scripts/generate-public-surface-assets.mjs +5 -5
  555. package/templates/workspace-scripts/materialize-zerops-runtime.mjs +447 -0
  556. package/templates/workspace-scripts/proof-cloudflare-version.mjs +237 -9
  557. package/templates/workspace-scripts/proof-node-backend-federation.mjs +984 -0
  558. package/templates/workspace-scripts/proof-workerd-ssr.mts +815 -0
  559. package/templates/workspace-scripts/ultramodern-cloudflare-proof.mjs +188 -2
  560. package/templates/workspace-scripts/ultramodern-typecheck.mjs +6 -46
  561. package/templates/workspace-scripts/validate-ultramodern-workspace.mjs.handlebars +2447 -249
  562. package/template-workspace/patches/@tanstack__router-core@1.171.13.patch +0 -51
@@ -0,0 +1,12 @@
1
+ import type { ResolvedUltramodernPackageSource } from '../../../ultramodern-package-source';
2
+ import { type MigrationIo } from './io';
3
+ type PackageSourceReconciliationOptions = {
4
+ canonical: Record<string, unknown>;
5
+ label: string;
6
+ ownedKeys: readonly string[];
7
+ };
8
+ export declare function reconcilePackageSourceMetadata(value: unknown, { canonical, label, ownedKeys }: PackageSourceReconciliationOptions): Record<string, unknown>;
9
+ export declare function reconcileCompactPackageSourceMetadata(value: unknown, packageSource: ResolvedUltramodernPackageSource): Record<string, unknown>;
10
+ export declare function updateUltramodernConfig(io: MigrationIo, config: Record<string, any>, packageSource: ResolvedUltramodernPackageSource): void;
11
+ export declare function updateReferenceTopology(io: MigrationIo): boolean;
12
+ export {};
@@ -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,4 @@
1
+ import { type UltramodernToolingConfig } from '../../config';
2
+ import { type MigrationIo } from './io';
3
+ export declare function rewriteLegacyApiMarkerBinding(source: string): string;
4
+ 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): number;
@@ -0,0 +1,20 @@
1
+ type MigrationTransactionOptions<T> = {
2
+ commitWhen?: (result: T) => boolean;
3
+ };
4
+ export type MigrationIo = {
5
+ workspaceRoot: string;
6
+ dryRun: boolean;
7
+ plan: string[];
8
+ write(filePath: string, content: string): boolean;
9
+ remove(filePath: string): boolean;
10
+ log(message: string): void;
11
+ transaction<T>(operation: () => T, options?: MigrationTransactionOptions<Awaited<T>>): T;
12
+ withStagedWorkspace<T>(operation: (stagedWorkspaceRoot: string) => T): T;
13
+ };
14
+ export declare function createMigrationIo(workspaceRoot: string, dryRun: boolean): MigrationIo;
15
+ export declare function readJsonFile(filePath: string): any;
16
+ export declare function writeJsonFile(io: MigrationIo, filePath: string, value: unknown): boolean;
17
+ export declare function writeJsonIfChanged(io: MigrationIo, filePath: string, value: unknown): boolean;
18
+ export declare function writeTextIfChanged(io: MigrationIo, filePath: string, value: string): boolean;
19
+ export declare function listWorkspacePackageFiles(workspaceRoot: string): string[];
20
+ export {};
@@ -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,27 @@
1
+ import type { ResolvedUltramodernPackageSource } from '../../../ultramodern-package-source';
2
+ import { type UltramodernReleaseCohort } from '../../../ultramodern-release-cohort';
3
+ import type { MigrationIo } from './io';
4
+ export { ensureGeneratedDeclarationPatches } from './declaration-patches';
5
+ export { workspaceUsesDependency } from './dependency-usage';
6
+ type RegistryResponse = {
7
+ ok: boolean;
8
+ status: number;
9
+ json: () => Promise<unknown>;
10
+ };
11
+ export type ReleaseAgeRegistryFetch = (url: URL, init: {
12
+ headers: Record<string, string>;
13
+ redirect: 'error';
14
+ }) => Promise<RegistryResponse>;
15
+ export declare function updateGeneratedPnpmWorkspacePolicy(io: MigrationIo, packageSource: ResolvedUltramodernPackageSource, options?: {
16
+ now?: Date;
17
+ releaseCohort?: UltramodernReleaseCohort;
18
+ }): boolean;
19
+ export declare function validateGeneratedPnpmLockReleaseAgePolicy(workspaceRoot: string, packageSource: ResolvedUltramodernPackageSource, options?: {
20
+ fetchImpl?: ReleaseAgeRegistryFetch;
21
+ now?: Date;
22
+ registryUrl?: string;
23
+ releaseCohort?: UltramodernReleaseCohort;
24
+ }): Promise<{
25
+ reviewCandidates: import("../../../ultramodern-workspace/policy").UltramodernReleaseAgeCandidate[];
26
+ minimumReleaseAgeExclude: string[];
27
+ }>;
@@ -0,0 +1,26 @@
1
+ export type PnpmWorkspaceYaml = Record<string, any>;
2
+ export type PnpmLockReleaseAgeCandidate = {
3
+ packageName: string;
4
+ version: string;
5
+ registry: {
6
+ dist: {
7
+ integrity: string;
8
+ };
9
+ };
10
+ path: string[];
11
+ };
12
+ export type PnpmLockReleaseAgeClosure = {
13
+ candidates: PnpmLockReleaseAgeCandidate[];
14
+ unresolved: Array<{
15
+ package?: string;
16
+ path: string[];
17
+ reason: string;
18
+ }>;
19
+ };
20
+ export declare function isYamlRecord(value: unknown): value is PnpmWorkspaceYaml;
21
+ export declare function discoverReachablePnpmLockReleaseAgeClosure(lockfile: unknown): PnpmLockReleaseAgeClosure;
22
+ export declare function parsePnpmWorkspaceYaml(source: string, filename?: string): {
23
+ document: PnpmWorkspaceYaml;
24
+ lineEnding: string;
25
+ };
26
+ export declare function stringifyPnpmWorkspaceYaml(document: PnpmWorkspaceYaml, lineEnding?: string): string;
@@ -0,0 +1,10 @@
1
+ export declare const moduleFederationModernJsPatchPath: string;
2
+ export declare const moduleFederationModernJsPatchSourcePath: string;
3
+ export declare const moduleFederationBridgeReactPatchPath: string;
4
+ export declare const moduleFederationBridgeReactPatchSourcePath: string;
5
+ export declare const effectDeclarationPatchPath: string;
6
+ export declare const tanstackRouterCorePatchPath: string;
7
+ export declare const tanstackRouterCorePatchSourcePath: string;
8
+ export declare const effectDeclarationPatchSourcePath: string;
9
+ export declare const drizzleOrmDeclarationPatchPath: string;
10
+ export declare const drizzleOrmDeclarationPatchSourcePath: string;
@@ -0,0 +1,4 @@
1
+ import type { MigrationIo } from './io';
2
+ export declare function updateUltramodernConfigToolchain(config: Record<string, any>): void;
3
+ export declare function updateRootPackageToolchain(packageJson: Record<string, any>): void;
4
+ export declare function updateGeneratedToolchainFiles(io: MigrationIo): void;
@@ -0,0 +1,2 @@
1
+ import type { CommandContext } from './context';
2
+ export declare function runMigrateStrictEffect(args: string[], context: CommandContext): number | Promise<number>;
@@ -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): number;
@@ -0,0 +1,2 @@
1
+ import { type CommandContext } from './context';
2
+ export declare function runSkills(args: string[], context: CommandContext): number;
@@ -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): number;
@@ -1 +1 @@
1
- export declare function runUltramodernToolingCli(args: string[], workspaceRoot?: any): Promise<number>;
1
+ export declare function runUltramodernToolingCli(args: string[], workspaceRoot?: string): Promise<number>;
@@ -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?: string): 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,22 @@
1
+ import type { WorkspaceApp } from '../../ultramodern-workspace/types';
2
+ import type { UltramodernToolingConfig } from './types';
3
+ type UnsupportedUltramodernConfigIssue = {
4
+ field: 'schemaVersion';
5
+ value: unknown;
6
+ reason: 'missing' | 'non-integer' | 'unsupported';
7
+ } | {
8
+ field: 'topology.apps.kind';
9
+ index: number;
10
+ value: unknown;
11
+ };
12
+ export declare class UnsupportedUltramodernConfigError extends Error {
13
+ readonly sourcePath: string;
14
+ readonly issue: UnsupportedUltramodernConfigIssue;
15
+ constructor(sourcePath: string, issue: UnsupportedUltramodernConfigIssue);
16
+ }
17
+ export declare function normalizeCompactConfig(workspaceRoot: string, sourcePath: string, config: Record<string, any>): UltramodernToolingConfig;
18
+ export declare function normalizeCompactUltramodernConfig(workspaceRoot: string, compact: Record<string, any>): UltramodernToolingConfig;
19
+ export declare function workspaceAppsFromToolingConfig(config: UltramodernToolingConfig): WorkspaceApp[];
20
+ export declare function additionalShellsFromToolingConfig(config: UltramodernToolingConfig): WorkspaceApp[];
21
+ export declare function allWorkspaceAppsFromToolingConfig(config: UltramodernToolingConfig): WorkspaceApp[];
22
+ export {};
@@ -0,0 +1,5 @@
1
+ export declare function synthesizeCompactUltramodernConfig(workspaceRoot: string): {
2
+ compact: Record<string, any>;
3
+ missing: string[];
4
+ sources: string[];
5
+ } | undefined;
@@ -0,0 +1,45 @@
1
+ import type { UltramodernBridgeConfig } from '../../ultramodern-workspace/bridge-config';
2
+ import type { ResolvedPackageSource, VerticalPreset, WorkspaceApi, WorkspaceApp, WorkspaceDeliveryUnitKind } from '../../ultramodern-workspace/types';
3
+ export type UltramodernToolingConfigSource = 'compact';
4
+ export type UltramodernToolingConfigApp = {
5
+ id: string;
6
+ kind: WorkspaceApp['kind'];
7
+ path: string;
8
+ package?: string;
9
+ packageSuffix?: string;
10
+ displayName?: string;
11
+ domain?: string;
12
+ surfaceProfile?: VerticalPreset;
13
+ deliveryUnitKind?: WorkspaceDeliveryUnitKind;
14
+ port?: number;
15
+ portEnv?: string;
16
+ moduleFederation?: {
17
+ role?: 'host' | 'remote';
18
+ name?: string;
19
+ exposes?: string[];
20
+ exposePaths?: Record<string, string>;
21
+ verticalRefs?: string[];
22
+ hostOnly?: boolean;
23
+ noExposes?: boolean;
24
+ };
25
+ api?: WorkspaceApi;
26
+ };
27
+ export type UltramodernToolingConfig = {
28
+ schemaVersion: number;
29
+ profile?: string;
30
+ source: UltramodernToolingConfigSource;
31
+ sourcePath: string;
32
+ workspace: {
33
+ packageScope: string;
34
+ };
35
+ packageSource?: ResolvedPackageSource;
36
+ features: {
37
+ tailwind: boolean;
38
+ };
39
+ bridge?: UltramodernBridgeConfig;
40
+ topology: {
41
+ apps: UltramodernToolingConfigApp[];
42
+ };
43
+ /** Additional shells live in the additive compact-config collection. */
44
+ shells?: Array<Record<string, unknown>>;
45
+ };
@@ -1,43 +1 @@
1
- import { type UltramodernBridgeConfig } from '../ultramodern-workspace/bridge-config';
2
- import type { ResolvedPackageSource, WorkspaceApi, WorkspaceApp } from '../ultramodern-workspace/types';
3
- export type UltramodernToolingConfigSource = 'compact';
4
- export type UltramodernToolingConfigApp = {
5
- id: string;
6
- kind: WorkspaceApp['kind'];
7
- path: string;
8
- package?: string;
9
- packageSuffix?: string;
10
- displayName?: string;
11
- domain?: string;
12
- port?: number;
13
- portEnv?: string;
14
- moduleFederation?: {
15
- role?: 'host' | 'remote';
16
- name?: string;
17
- exposes?: string[];
18
- exposePaths?: Record<string, string>;
19
- verticalRefs?: string[];
20
- hostOnly?: boolean;
21
- noExposes?: boolean;
22
- };
23
- api?: WorkspaceApi;
24
- };
25
- export type UltramodernToolingConfig = {
26
- schemaVersion: number;
27
- profile?: string;
28
- source: UltramodernToolingConfigSource;
29
- sourcePath: string;
30
- workspace: {
31
- packageScope: string;
32
- };
33
- packageSource?: ResolvedPackageSource;
34
- features: {
35
- tailwind: boolean;
36
- };
37
- bridge?: UltramodernBridgeConfig;
38
- topology: {
39
- apps: UltramodernToolingConfigApp[];
40
- };
41
- };
42
- export declare function readUltramodernConfig(workspaceRoot?: any): UltramodernToolingConfig;
43
- export declare function workspaceAppsFromToolingConfig(config: UltramodernToolingConfig): WorkspaceApp[];
1
+ export * from './config/index';
@@ -0,0 +1,14 @@
1
+ import type { AddUltramodernShellOptions, UltramodernGenerationResult, UltramodernVerticalPlan } from './types';
2
+ /**
3
+ * Add an additional thin shell to an existing workspace (G28). Transactional:
4
+ * the whole write-set is applied inside {@link runWorkspaceTransaction}; any
5
+ * failure restores the workspace byte-identical to its pre-call state.
6
+ */
7
+ export declare function addUltramodernShell(options: AddUltramodernShellOptions): UltramodernGenerationResult;
8
+ /**
9
+ * Dry-run parity for {@link addUltramodernShell} (G28). Applies the operation
10
+ * against a throwaway copy of the workspace and returns the planned result
11
+ * (created/rewritten paths, delivery-unit identity) without touching the real
12
+ * workspace.
13
+ */
14
+ export declare function planUltramodernShell(options: AddUltramodernShellOptions): UltramodernVerticalPlan;
@@ -0,0 +1,4 @@
1
+ export declare const FIRST_VERTICAL_PORT = 4101;
2
+ export declare const TOPOLOGY_PATH = "topology/reference-topology.json";
3
+ export declare const OWNERSHIP_PATH = "topology/ownership.json";
4
+ export declare const DEVELOPMENT_OVERLAY_PATH = "topology/local-overlays/development.json";
@@ -0,0 +1,9 @@
1
+ import type { AddUltramodernVerticalOptions, UltramodernGenerationResult } from '../types';
2
+ /**
3
+ * Add a MicroVertical to an existing workspace. Transactional (G1c): the
4
+ * whole write-set is applied inside {@link runWorkspaceTransaction}; if any
5
+ * step throws (preflight rejection, write failure, overlay failure,
6
+ * formatting failure) the workspace is restored byte-identical to its
7
+ * pre-call state and the error is rethrown.
8
+ */
9
+ export declare function addUltramodernVertical(options: AddUltramodernVerticalOptions): UltramodernGenerationResult;
@@ -0,0 +1,2 @@
1
+ import type { AddUltramodernVerticalOptions, UltramodernVerticalPlan } from '../types';
2
+ export declare function planUltramodernVertical(options: AddUltramodernVerticalOptions): UltramodernVerticalPlan;
@@ -0,0 +1,42 @@
1
+ import type { UltramodernBridgeConfig } from '../bridge-config';
2
+ import type { AddUltramodernVerticalOptions, ResolvedPackageSource, WorkspaceApp } from '../types';
3
+ export type AddUltramodernVerticalPreflight = {
4
+ name: string;
5
+ scope: string;
6
+ topologyPath: string;
7
+ ownershipPath: string;
8
+ overlayPath: string;
9
+ rootPackage: Record<string, any>;
10
+ topology: Record<string, any>;
11
+ ownership: Record<string, any>;
12
+ overlay: Record<string, any>;
13
+ packageSource: ResolvedPackageSource;
14
+ enableTailwind: boolean;
15
+ bridge?: UltramodernBridgeConfig;
16
+ config: Record<string, any>;
17
+ primaryShell: WorkspaceApp;
18
+ additionalShells: WorkspaceApp[];
19
+ targetShell: WorkspaceApp;
20
+ targetVerticals: WorkspaceApp[];
21
+ vertical: WorkspaceApp;
22
+ updatedVerticals: WorkspaceApp[];
23
+ };
24
+ export type UnknownUltramodernShellIssue = {
25
+ field: 'shell';
26
+ value: string;
27
+ reason: 'unknown';
28
+ available: string[];
29
+ };
30
+ /**
31
+ * Typed preflight rejection for an add-vertical request whose shell target is
32
+ * not present in the workspace's additive config.shells collection.
33
+ */
34
+ export declare class UnknownUltramodernShellError extends Error {
35
+ readonly sourcePath: string;
36
+ readonly code = "ULTRAMODERN_UNKNOWN_TARGET_SHELL";
37
+ readonly issue: UnknownUltramodernShellIssue;
38
+ constructor(sourcePath: string, requestedShellId: string, available: string[]);
39
+ }
40
+ export declare function prepareAddUltramodernVertical(options: AddUltramodernVerticalOptions): AddUltramodernVerticalPreflight;
41
+ export declare function createPrimaryShellDescriptor(topology: Record<string, any>, config: Record<string, any>): WorkspaceApp;
42
+ export declare function assertNonEmptyString(value: unknown, label: string): void;
@@ -0,0 +1,6 @@
1
+ import type { UltramodernBridgeConfig } from '../bridge-config';
2
+ import type { ResolvedPackageSource, WorkspaceApp } from '../types';
3
+ export declare function updateRootWorkspaceScripts(workspaceRoot: string, scope: string, packageSource: ResolvedPackageSource, remotes: WorkspaceApp[], bridge?: UltramodernBridgeConfig, additionalShells?: WorkspaceApp[]): void;
4
+ export declare function rewriteShellAppFiles(workspaceRoot: string, scope: string, packageSource: ResolvedPackageSource, enableTailwind: boolean, remotes: WorkspaceApp[], bridge?: UltramodernBridgeConfig, shell?: WorkspaceApp, devPorts?: number[]): void;
5
+ export declare function addShellZephyrDependency(workspaceRoot: string, scope: string, remote: WorkspaceApp, shell?: WorkspaceApp): void;
6
+ export declare function addShellWorkspaceDependency(workspaceRoot: string, scope: string, remote: WorkspaceApp, shell?: WorkspaceApp): void;
@@ -0,0 +1,9 @@
1
+ import type { JsonValue, Ownership, WorkspaceApp } from '../types';
2
+ export declare function verticalTopologyEntry(scope: string, vertical: WorkspaceApp, remotes?: WorkspaceApp[]): JsonValue;
3
+ export declare function ownershipEntry(scope: string, owner: {
4
+ id: string;
5
+ packageSuffix: string;
6
+ directory: string;
7
+ ownership: Ownership;
8
+ }): JsonValue;
9
+ export declare function verticalsFromTopology(topology: Record<string, any>, ports: Record<string, unknown>): WorkspaceApp[];
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Transactional workspace mutation support (G1c). `captureWorkspaceBackup`
3
+ * records the full byte content of every tracked workspace file before a
4
+ * mutation; `restoreWorkspaceBackup` puts the tree back byte-identical when
5
+ * the mutation fails part-way: files created by the failed run are removed
6
+ * (with now-empty directories pruned), and files it rewrote or deleted are
7
+ * restored from the backed-up bytes.
8
+ *
9
+ * The same ignore set as the generation-result snapshots applies, so build
10
+ * output and dependency trees are never captured or touched.
11
+ */
12
+ export type WorkspaceBackup = {
13
+ root: string;
14
+ files: Map<string, Buffer>;
15
+ };
16
+ export declare function captureWorkspaceBackup(root: string): WorkspaceBackup;
17
+ export declare function restoreWorkspaceBackup(backup: WorkspaceBackup): void;
18
+ /** Directory (relative to the workspace root) holding the mutation lockfile. */
19
+ export declare const ULTRAMODERN_LOCK_DIRECTORY = ".modernjs";
20
+ /** Lockfile name for the workspace-wide exclusive mutation lock. */
21
+ export declare const ULTRAMODERN_LOCK_FILE = ".ultramodern-mutation.lock";
22
+ /**
23
+ * Default age after which a held lock is treated as stale and taken over. A
24
+ * mutation is a short synchronous burst; a lock older than this almost always
25
+ * belongs to a crashed process that never released it.
26
+ */
27
+ export declare const DEFAULT_STALE_LOCK_MS = 30000;
28
+ /**
29
+ * A typed error raised when a second mutation tries to enter a workspace that
30
+ * is already locked by a live mutation. `code` is always `'workspace-locked'`.
31
+ * Concurrent attempts fail immediately (no queueing).
32
+ */
33
+ export declare class WorkspaceLockedError extends Error {
34
+ readonly code: 'workspace-locked';
35
+ constructor(message: string);
36
+ }
37
+ /**
38
+ * Raised when release or takeover detects that the on-disk lock state can no
39
+ * longer be reconciled without discarding a lock some other live holder may
40
+ * still own — e.g. a newer claimant seized the pathname during the restore
41
+ * window. This is deliberately never swallowed: surfacing the corruption is
42
+ * strictly safer than silently double-granting the workspace, and the moved
43
+ * lock bytes are left in place for recovery. `code` is always
44
+ * `'workspace-lock-integrity'`.
45
+ */
46
+ export declare class WorkspaceLockIntegrityError extends Error {
47
+ readonly code: 'workspace-lock-integrity';
48
+ constructor(message: string, options?: {
49
+ cause?: unknown;
50
+ });
51
+ }
52
+ /**
53
+ * Test-only seam. `releaseWorkspaceLock` invokes these hooks between its
54
+ * in-place ownership read and the rename (`afterOwnershipRead`) and between the
55
+ * rename and a mismatch restore (`beforeRestore`), letting a test deterministically
56
+ * inject a successor lock or a competing claimant into the release windows
57
+ * without timing races. Never set in production code.
58
+ */
59
+ export declare const __releaseTestHooks: {
60
+ afterOwnershipRead?: (handle: {
61
+ lockPath: string;
62
+ token: string;
63
+ }) => void;
64
+ beforeRestore?: (handle: {
65
+ lockPath: string;
66
+ token: string;
67
+ }) => void;
68
+ };
69
+ /**
70
+ * Run a workspace mutation transactionally under an exclusive lock (G1c). The
71
+ * whole transaction — backup, mutation, and any restore — is wrapped in a
72
+ * workspace-wide lock so concurrent adds cannot interleave snapshot/restore and
73
+ * erase each other; a concurrent attempt fails immediately with a typed
74
+ * {@link WorkspaceLockedError}. On any thrown error the workspace is restored
75
+ * byte-identical from the pre-mutation backup and the original error is
76
+ * rethrown. The lock is released on success, failure, and restore paths.
77
+ */
78
+ export declare function runWorkspaceTransaction<T>(root: string, mutate: () => T, options?: {
79
+ staleLockMs?: number;
80
+ }): T;
@@ -0,0 +1,15 @@
1
+ import type { UltramodernBridgeConfig } from '../bridge-config';
2
+ import type { ResolvedPackageSource, UltramodernWorkspaceOptions, WorkspaceApp } from '../types';
3
+ export declare function existingPackageSource(workspaceRoot: string, modernVersion: string, packageSource?: UltramodernWorkspaceOptions['packageSource']): ResolvedPackageSource;
4
+ export declare function existingTailwindEnabled(workspaceRoot: string): boolean;
5
+ export declare function existingBridgeConfig(workspaceRoot: string): UltramodernBridgeConfig | undefined;
6
+ export declare function assertValidVerticalName(name: string): string;
7
+ export declare function configuredDevelopmentPorts(ports: Record<string, unknown>, additionalShells?: WorkspaceApp[]): number[];
8
+ export declare function assertGlobalPortUniqueness(ports: Record<string, unknown>, additionalShells?: WorkspaceApp[]): void;
9
+ /**
10
+ * Allocate from the one workspace-wide port set. The caller supplies the
11
+ * lower bound for its app class (verticals start at 4101; additional shells at
12
+ * 3120), while existing overlay and shell ports always participate.
13
+ */
14
+ export declare function nextAvailablePort(ports: Record<string, unknown>, additionalShells?: WorkspaceApp[], minimumPort?: number): number;
15
+ export declare function assertCanCreate(workspaceRoot: string, relativePath: string): void;
@@ -1,39 +1,7 @@
1
- import type { UltramodernBridgeConfig } from './bridge-config';
2
- import type { AddUltramodernVerticalOptions, JsonValue, Ownership, ResolvedPackageSource, UltramodernGenerationResult, UltramodernVerticalPlan, UltramodernWorkspaceOptions, WorkspaceApp } from './types';
3
- export type AddUltramodernVerticalPreflight = {
4
- name: string;
5
- scope: string;
6
- topologyPath: string;
7
- ownershipPath: string;
8
- overlayPath: string;
9
- rootPackage: Record<string, any>;
10
- topology: Record<string, any>;
11
- ownership: Record<string, any>;
12
- overlay: Record<string, any>;
13
- packageSource: ResolvedPackageSource;
14
- enableTailwind: boolean;
15
- bridge?: UltramodernBridgeConfig;
16
- vertical: WorkspaceApp;
17
- updatedVerticals: WorkspaceApp[];
18
- };
19
- export declare function existingPackageSource(workspaceRoot: string, modernVersion: string, packageSource?: UltramodernWorkspaceOptions['packageSource']): ResolvedPackageSource;
20
- export declare function existingTailwindEnabled(workspaceRoot: string): boolean;
21
- export declare function existingBridgeConfig(workspaceRoot: string): UltramodernBridgeConfig | undefined;
22
- export declare function assertValidVerticalName(name: string): string;
23
- export declare function nextAvailablePort(ports: Record<string, unknown>): number;
24
- export declare function assertCanCreate(workspaceRoot: string, relativePath: string): void;
25
- export declare function updateRootWorkspaceScripts(workspaceRoot: string, scope: string, packageSource: ResolvedPackageSource, remotes: WorkspaceApp[], bridge?: UltramodernBridgeConfig): void;
26
- export declare function rewriteShellAppFiles(workspaceRoot: string, scope: string, packageSource: ResolvedPackageSource, enableTailwind: boolean, remotes: WorkspaceApp[], bridge?: UltramodernBridgeConfig): void;
27
- export declare function addShellZephyrDependency(workspaceRoot: string, scope: string, remote: WorkspaceApp): void;
28
- export declare function addShellWorkspaceDependency(workspaceRoot: string, scope: string, remote: WorkspaceApp): void;
29
- export declare function verticalTopologyEntry(scope: string, vertical: WorkspaceApp, remotes?: WorkspaceApp[]): JsonValue;
30
- export declare function ownershipEntry(scope: string, owner: {
31
- id: string;
32
- packageSuffix: string;
33
- directory: string;
34
- ownership: Ownership;
35
- }): JsonValue;
36
- export declare function verticalsFromTopology(topology: Record<string, any>, ports: Record<string, unknown>): WorkspaceApp[];
37
- export declare function prepareAddUltramodernVertical(options: AddUltramodernVerticalOptions): AddUltramodernVerticalPreflight;
38
- export declare function planUltramodernVertical(options: AddUltramodernVerticalOptions): UltramodernVerticalPlan;
39
- export declare function addUltramodernVertical(options: AddUltramodernVerticalOptions): UltramodernGenerationResult;
1
+ export { addUltramodernVertical } from './add-vertical/execute';
2
+ export { planUltramodernVertical } from './add-vertical/plan';
3
+ export type { AddUltramodernVerticalPreflight } from './add-vertical/preflight';
4
+ export { prepareAddUltramodernVertical } from './add-vertical/preflight';
5
+ export { addShellWorkspaceDependency, addShellZephyrDependency, rewriteShellAppFiles, updateRootWorkspaceScripts, } from './add-vertical/shell-files';
6
+ export { ownershipEntry, verticalsFromTopology, verticalTopologyEntry, } from './add-vertical/topology';
7
+ export { assertCanCreate, assertValidVerticalName, existingBridgeConfig, existingPackageSource, existingTailwindEnabled, nextAvailablePort, } from './add-vertical/workspace-state';