@bleedingdev/modern-js-create 3.5.0-ultramodern.9 → 3.5.0-ultramodern.90

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 (566) 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 +100 -0
  21. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.cjs +100 -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 +206 -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/generated-ui-source.cjs +148 -0
  29. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/help.cjs +54 -0
  30. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/install.cjs +52 -0
  31. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/io.cjs +350 -0
  32. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.cjs +200 -0
  33. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-source.cjs +89 -0
  34. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.cjs +476 -0
  35. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.cjs +376 -0
  36. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.cjs +99 -0
  37. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.cjs +135 -0
  38. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect.cjs +425 -0
  39. package/dist/cjs/ultramodern-tooling/commands/options.cjs +59 -0
  40. package/dist/cjs/ultramodern-tooling/commands/routes-generate.cjs +122 -0
  41. package/dist/cjs/ultramodern-tooling/commands/skills.cjs +49 -0
  42. package/dist/cjs/ultramodern-tooling/commands/sync-delivery-unit.cjs +40 -0
  43. package/dist/cjs/ultramodern-tooling/commands/validate.cjs +53 -0
  44. package/dist/cjs/ultramodern-tooling/commands.cjs +27 -491
  45. package/dist/cjs/ultramodern-tooling/config/constants.cjs +48 -0
  46. package/dist/cjs/ultramodern-tooling/config/index.cjs +104 -0
  47. package/dist/cjs/ultramodern-tooling/config/json.cjs +61 -0
  48. package/dist/cjs/ultramodern-tooling/config/load.cjs +62 -0
  49. package/dist/cjs/ultramodern-tooling/config/metadata.cjs +92 -0
  50. package/dist/cjs/ultramodern-tooling/config/normalize.cjs +236 -0
  51. package/dist/cjs/ultramodern-tooling/config/synthesize.cjs +157 -0
  52. package/dist/cjs/ultramodern-tooling/config/types.cjs +18 -0
  53. package/dist/cjs/ultramodern-tooling/config.cjs +23 -133
  54. package/dist/cjs/ultramodern-workspace/add-shell.cjs +274 -0
  55. package/dist/cjs/ultramodern-workspace/add-vertical/constants.cjs +52 -0
  56. package/dist/cjs/ultramodern-workspace/add-vertical/execute.cjs +183 -0
  57. package/dist/cjs/ultramodern-workspace/add-vertical/plan.cjs +255 -0
  58. package/dist/cjs/ultramodern-workspace/add-vertical/preflight.cjs +256 -0
  59. package/dist/cjs/ultramodern-workspace/add-vertical/shell-files.cjs +122 -0
  60. package/dist/cjs/ultramodern-workspace/add-vertical/topology.cjs +152 -0
  61. package/dist/cjs/ultramodern-workspace/add-vertical/transaction.cjs +327 -0
  62. package/dist/cjs/ultramodern-workspace/add-vertical/workspace-state.cjs +137 -0
  63. package/dist/cjs/ultramodern-workspace/add-vertical.cjs +22 -571
  64. package/dist/cjs/ultramodern-workspace/api/checkout-cart.cjs +145 -0
  65. package/dist/cjs/ultramodern-workspace/api/client.cjs +224 -0
  66. package/dist/cjs/ultramodern-workspace/api/contracts.cjs +251 -0
  67. package/dist/cjs/ultramodern-workspace/api/names.cjs +98 -0
  68. package/dist/cjs/ultramodern-workspace/api/rpc.cjs +264 -0
  69. package/dist/cjs/ultramodern-workspace/api/service.cjs +252 -0
  70. package/dist/cjs/ultramodern-workspace/api/shared.cjs +270 -0
  71. package/dist/cjs/ultramodern-workspace/api.cjs +49 -1005
  72. package/dist/cjs/ultramodern-workspace/app-files.cjs +51 -69
  73. package/dist/cjs/ultramodern-workspace/backend-federation.cjs +346 -0
  74. package/dist/cjs/ultramodern-workspace/bridge-config/cli.cjs +71 -0
  75. package/dist/cjs/ultramodern-workspace/bridge-config/defaults.cjs +43 -0
  76. package/dist/cjs/ultramodern-workspace/bridge-config/gates.cjs +93 -0
  77. package/dist/cjs/ultramodern-workspace/bridge-config/index.cjs +60 -0
  78. package/dist/cjs/ultramodern-workspace/bridge-config/normalize.cjs +68 -0
  79. package/dist/cjs/ultramodern-workspace/bridge-config/schema.cjs +78 -0
  80. package/dist/cjs/ultramodern-workspace/bridge-config/shared.cjs +110 -0
  81. package/dist/cjs/ultramodern-workspace/bridge-config/validation.cjs +68 -0
  82. package/dist/cjs/ultramodern-workspace/bridge-config/workspace-packages.cjs +108 -0
  83. package/dist/cjs/ultramodern-workspace/bridge-config.cjs +32 -297
  84. package/dist/cjs/ultramodern-workspace/codesmith.cjs +10 -1
  85. package/dist/cjs/ultramodern-workspace/contracts.cjs +80 -26
  86. package/dist/cjs/ultramodern-workspace/delivery-unit-schema/types.cjs +291 -0
  87. package/dist/cjs/ultramodern-workspace/delivery-unit-schema/up-projection.cjs +188 -0
  88. package/dist/cjs/ultramodern-workspace/delivery-unit-stamp.cjs +56 -0
  89. package/dist/cjs/ultramodern-workspace/delivery-unit-sync.cjs +153 -0
  90. package/dist/cjs/ultramodern-workspace/delivery-unit.cjs +75 -0
  91. package/dist/cjs/ultramodern-workspace/demo-components.cjs +474 -205
  92. package/dist/cjs/ultramodern-workspace/descriptors.cjs +101 -16
  93. package/dist/cjs/ultramodern-workspace/effect-diagnostics.cjs +114 -0
  94. package/dist/cjs/ultramodern-workspace/fs-io.cjs +26 -36
  95. package/dist/cjs/ultramodern-workspace/generation-result.cjs +36 -3
  96. package/dist/cjs/ultramodern-workspace/index.cjs +28 -0
  97. package/dist/cjs/ultramodern-workspace/locales.cjs +3 -17
  98. package/dist/cjs/ultramodern-workspace/mf-validation/constants.cjs +69 -0
  99. package/dist/cjs/ultramodern-workspace/mf-validation/discovery.cjs +77 -0
  100. package/dist/cjs/ultramodern-workspace/mf-validation/inspect.cjs +84 -0
  101. package/dist/cjs/ultramodern-workspace/mf-validation/object-literal.cjs +188 -0
  102. package/dist/cjs/ultramodern-workspace/mf-validation/path-utils.cjs +165 -0
  103. package/dist/cjs/ultramodern-workspace/mf-validation/syntax.cjs +201 -0
  104. package/dist/cjs/ultramodern-workspace/mf-validation/types.cjs +18 -0
  105. package/dist/cjs/ultramodern-workspace/mf-validation/validate.cjs +112 -0
  106. package/dist/cjs/ultramodern-workspace/mf-validation.cjs +6 -529
  107. package/dist/cjs/ultramodern-workspace/module-federation/config.cjs +336 -0
  108. package/dist/cjs/ultramodern-workspace/module-federation/index.cjs +73 -0
  109. package/dist/cjs/ultramodern-workspace/module-federation/reexport-module.cjs +111 -0
  110. package/dist/cjs/ultramodern-workspace/module-federation/remote-refs.cjs +106 -0
  111. package/dist/cjs/ultramodern-workspace/module-federation/shared-config.cjs +53 -0
  112. package/dist/cjs/ultramodern-workspace/module-federation.cjs +18 -477
  113. package/dist/cjs/ultramodern-workspace/naming.cjs +1 -7
  114. package/dist/cjs/ultramodern-workspace/overlay-baseline-guard.cjs +408 -0
  115. package/dist/cjs/ultramodern-workspace/overlays.cjs +39 -5
  116. package/dist/cjs/ultramodern-workspace/package-json.cjs +54 -301
  117. package/dist/cjs/ultramodern-workspace/package-source.cjs +11 -2
  118. package/dist/cjs/ultramodern-workspace/policy.cjs +801 -24
  119. package/dist/cjs/ultramodern-workspace/public-surface.cjs +1 -22
  120. package/dist/cjs/ultramodern-workspace/routes.cjs +8 -157
  121. package/dist/cjs/ultramodern-workspace/shared-patches.cjs +41 -0
  122. package/dist/cjs/ultramodern-workspace/shells.cjs +151 -0
  123. package/dist/cjs/ultramodern-workspace/tooling-command-catalog.cjs +147 -0
  124. package/dist/cjs/ultramodern-workspace/tsconfigs.cjs +200 -0
  125. package/dist/cjs/ultramodern-workspace/types.cjs +27 -0
  126. package/dist/cjs/ultramodern-workspace/versions.cjs +52 -37
  127. package/dist/cjs/ultramodern-workspace/workspace-script-plan.cjs +174 -0
  128. package/dist/cjs/ultramodern-workspace/workspace-scripts.cjs +118 -88
  129. package/dist/cjs/ultramodern-workspace/workspace-validation-contract.cjs +642 -0
  130. package/dist/cjs/ultramodern-workspace/write-app.cjs +148 -0
  131. package/dist/cjs/ultramodern-workspace/write-workspace.cjs +45 -67
  132. package/dist/cjs/ultramodern-workspace/zerops.cjs +108 -0
  133. package/dist/esm/cli/flags.js +262 -0
  134. package/dist/esm/cli/help.js +67 -0
  135. package/dist/esm/cli/package-source.js +124 -0
  136. package/dist/esm/cli/project-setup.js +105 -0
  137. package/dist/esm/cli/prompts.js +51 -0
  138. package/dist/esm/index.js +19 -565
  139. package/dist/esm/locale/en.js +5 -6
  140. package/dist/esm/locale/zh.js +5 -6
  141. package/dist/esm/ultramodern-package-source.js +1 -24
  142. package/dist/esm/ultramodern-release-cohort.js +133 -0
  143. package/dist/esm/ultramodern-tooling/commands/cloudflare-output-verify.js +88 -0
  144. package/dist/esm/ultramodern-tooling/commands/context.js +66 -0
  145. package/dist/esm/ultramodern-tooling/commands/mf-types.js +17 -0
  146. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +154 -0
  147. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +12 -0
  148. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +38 -0
  149. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +10 -0
  150. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +45 -0
  151. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +51 -0
  152. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +83 -0
  153. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +16 -0
  154. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +157 -0
  155. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +12 -0
  156. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +7 -0
  157. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +15 -0
  158. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.js +97 -0
  159. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/help.js +16 -0
  160. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/install.js +14 -0
  161. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/io.js +285 -0
  162. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +156 -0
  163. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +51 -0
  164. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +417 -0
  165. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +329 -0
  166. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +24 -0
  167. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.js +80 -0
  168. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect.js +376 -0
  169. package/dist/esm/ultramodern-tooling/commands/options.js +18 -0
  170. package/dist/esm/ultramodern-tooling/commands/routes-generate.js +74 -0
  171. package/dist/esm/ultramodern-tooling/commands/skills.js +11 -0
  172. package/dist/esm/ultramodern-tooling/commands/sync-delivery-unit.js +1 -0
  173. package/dist/esm/ultramodern-tooling/commands/validate.js +15 -0
  174. package/dist/esm/ultramodern-tooling/commands.js +23 -482
  175. package/dist/esm/ultramodern-tooling/config/constants.js +4 -0
  176. package/dist/esm/ultramodern-tooling/config/index.js +7 -0
  177. package/dist/esm/ultramodern-tooling/config/json.js +10 -0
  178. package/dist/esm/ultramodern-tooling/config/load.js +13 -0
  179. package/dist/esm/ultramodern-tooling/config/metadata.js +37 -0
  180. package/dist/esm/ultramodern-tooling/config/normalize.js +173 -0
  181. package/dist/esm/ultramodern-tooling/config/synthesize.js +108 -0
  182. package/dist/esm/ultramodern-tooling/config/types.js +0 -0
  183. package/dist/esm/ultramodern-tooling/config.js +1 -120
  184. package/dist/esm/ultramodern-workspace/add-shell.js +221 -0
  185. package/dist/esm/ultramodern-workspace/add-vertical/constants.js +5 -0
  186. package/dist/esm/ultramodern-workspace/add-vertical/execute.js +135 -0
  187. package/dist/esm/ultramodern-workspace/add-vertical/plan.js +205 -0
  188. package/dist/esm/ultramodern-workspace/add-vertical/preflight.js +198 -0
  189. package/dist/esm/ultramodern-workspace/add-vertical/shell-files.js +65 -0
  190. package/dist/esm/ultramodern-workspace/add-vertical/topology.js +108 -0
  191. package/dist/esm/ultramodern-workspace/add-vertical/transaction.js +254 -0
  192. package/dist/esm/ultramodern-workspace/add-vertical/workspace-state.js +67 -0
  193. package/dist/esm/ultramodern-workspace/add-vertical.js +6 -544
  194. package/dist/esm/ultramodern-workspace/api/checkout-cart.js +86 -0
  195. package/dist/esm/ultramodern-workspace/api/client.js +183 -0
  196. package/dist/esm/ultramodern-workspace/api/contracts.js +201 -0
  197. package/dist/esm/ultramodern-workspace/api/names.js +33 -0
  198. package/dist/esm/ultramodern-workspace/api/rpc.js +205 -0
  199. package/dist/esm/ultramodern-workspace/api/service.js +211 -0
  200. package/dist/esm/ultramodern-workspace/api/shared.js +226 -0
  201. package/dist/esm/ultramodern-workspace/api.js +6 -984
  202. package/dist/esm/ultramodern-workspace/app-files.js +51 -51
  203. package/dist/esm/ultramodern-workspace/backend-federation.js +281 -0
  204. package/dist/esm/ultramodern-workspace/bridge-config/cli.js +30 -0
  205. package/dist/esm/ultramodern-workspace/bridge-config/defaults.js +5 -0
  206. package/dist/esm/ultramodern-workspace/bridge-config/gates.js +52 -0
  207. package/dist/esm/ultramodern-workspace/bridge-config/index.js +3 -0
  208. package/dist/esm/ultramodern-workspace/bridge-config/normalize.js +30 -0
  209. package/dist/esm/ultramodern-workspace/bridge-config/schema.js +31 -0
  210. package/dist/esm/ultramodern-workspace/bridge-config/shared.js +51 -0
  211. package/dist/esm/ultramodern-workspace/bridge-config/validation.js +27 -0
  212. package/dist/esm/ultramodern-workspace/bridge-config/workspace-packages.js +67 -0
  213. package/dist/esm/ultramodern-workspace/bridge-config.js +1 -270
  214. package/dist/esm/ultramodern-workspace/codesmith.js +10 -1
  215. package/dist/esm/ultramodern-workspace/contracts.js +81 -27
  216. package/dist/esm/ultramodern-workspace/delivery-unit-schema/types.js +235 -0
  217. package/dist/esm/ultramodern-workspace/delivery-unit-schema/up-projection.js +129 -0
  218. package/dist/esm/ultramodern-workspace/delivery-unit-stamp.js +18 -0
  219. package/dist/esm/ultramodern-workspace/delivery-unit-sync.js +104 -0
  220. package/dist/esm/ultramodern-workspace/delivery-unit.js +21 -0
  221. package/dist/esm/ultramodern-workspace/demo-components.js +461 -204
  222. package/dist/esm/ultramodern-workspace/descriptors.js +75 -17
  223. package/dist/esm/ultramodern-workspace/effect-diagnostics.js +76 -0
  224. package/dist/esm/ultramodern-workspace/fs-io.js +27 -18
  225. package/dist/esm/ultramodern-workspace/generation-result.js +33 -3
  226. package/dist/esm/ultramodern-workspace/index.js +4 -0
  227. package/dist/esm/ultramodern-workspace/locales.js +3 -4
  228. package/dist/esm/ultramodern-workspace/mf-validation/constants.js +19 -0
  229. package/dist/esm/ultramodern-workspace/mf-validation/discovery.js +28 -0
  230. package/dist/esm/ultramodern-workspace/mf-validation/inspect.js +46 -0
  231. package/dist/esm/ultramodern-workspace/mf-validation/object-literal.js +144 -0
  232. package/dist/esm/ultramodern-workspace/mf-validation/path-utils.js +89 -0
  233. package/dist/esm/ultramodern-workspace/mf-validation/syntax.js +154 -0
  234. package/dist/esm/ultramodern-workspace/mf-validation/types.js +0 -0
  235. package/dist/esm/ultramodern-workspace/mf-validation/validate.js +57 -0
  236. package/dist/esm/ultramodern-workspace/mf-validation.js +3 -516
  237. package/dist/esm/ultramodern-workspace/module-federation/config.js +289 -0
  238. package/dist/esm/ultramodern-workspace/module-federation/index.js +4 -0
  239. package/dist/esm/ultramodern-workspace/module-federation/reexport-module.js +67 -0
  240. package/dist/esm/ultramodern-workspace/module-federation/remote-refs.js +65 -0
  241. package/dist/esm/ultramodern-workspace/module-federation/shared-config.js +12 -0
  242. package/dist/esm/ultramodern-workspace/module-federation.js +2 -458
  243. package/dist/esm/ultramodern-workspace/naming.js +2 -2
  244. package/dist/esm/ultramodern-workspace/overlay-baseline-guard.js +350 -0
  245. package/dist/esm/ultramodern-workspace/overlays.js +28 -5
  246. package/dist/esm/ultramodern-workspace/package-json.js +48 -283
  247. package/dist/esm/ultramodern-workspace/package-source.js +7 -1
  248. package/dist/esm/ultramodern-workspace/policy.js +784 -10
  249. package/dist/esm/ultramodern-workspace/public-surface.js +2 -2
  250. package/dist/esm/ultramodern-workspace/routes.js +9 -143
  251. package/dist/esm/ultramodern-workspace/shared-patches.js +3 -0
  252. package/dist/esm/ultramodern-workspace/shells.js +92 -0
  253. package/dist/esm/ultramodern-workspace/tooling-command-catalog.js +100 -0
  254. package/dist/esm/ultramodern-workspace/tsconfigs.js +137 -0
  255. package/dist/esm/ultramodern-workspace/types.js +16 -1
  256. package/dist/esm/ultramodern-workspace/versions.js +35 -26
  257. package/dist/esm/ultramodern-workspace/workspace-script-plan.js +124 -0
  258. package/dist/esm/ultramodern-workspace/workspace-scripts.js +115 -85
  259. package/dist/esm/ultramodern-workspace/workspace-validation-contract.js +604 -0
  260. package/dist/esm/ultramodern-workspace/write-app.js +105 -0
  261. package/dist/esm/ultramodern-workspace/write-workspace.js +47 -66
  262. package/dist/esm/ultramodern-workspace/zerops.js +70 -0
  263. package/dist/esm-node/cli/flags.js +263 -0
  264. package/dist/esm-node/cli/help.js +68 -0
  265. package/dist/esm-node/cli/package-source.js +125 -0
  266. package/dist/esm-node/cli/project-setup.js +106 -0
  267. package/dist/esm-node/cli/prompts.js +52 -0
  268. package/dist/esm-node/index.js +19 -565
  269. package/dist/esm-node/locale/en.js +5 -6
  270. package/dist/esm-node/locale/zh.js +5 -6
  271. package/dist/esm-node/ultramodern-package-source.js +1 -24
  272. package/dist/esm-node/ultramodern-release-cohort.js +134 -0
  273. package/dist/esm-node/ultramodern-tooling/commands/cloudflare-output-verify.js +89 -0
  274. package/dist/esm-node/ultramodern-tooling/commands/context.js +67 -0
  275. package/dist/esm-node/ultramodern-tooling/commands/mf-types.js +18 -0
  276. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +155 -0
  277. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +13 -0
  278. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +39 -0
  279. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +11 -0
  280. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +46 -0
  281. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +52 -0
  282. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +84 -0
  283. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +17 -0
  284. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +158 -0
  285. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +13 -0
  286. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +8 -0
  287. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +16 -0
  288. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.js +98 -0
  289. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/help.js +17 -0
  290. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/install.js +15 -0
  291. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/io.js +286 -0
  292. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +157 -0
  293. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +52 -0
  294. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +418 -0
  295. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +330 -0
  296. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +25 -0
  297. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.js +81 -0
  298. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect.js +377 -0
  299. package/dist/esm-node/ultramodern-tooling/commands/options.js +19 -0
  300. package/dist/esm-node/ultramodern-tooling/commands/routes-generate.js +75 -0
  301. package/dist/esm-node/ultramodern-tooling/commands/skills.js +12 -0
  302. package/dist/esm-node/ultramodern-tooling/commands/sync-delivery-unit.js +2 -0
  303. package/dist/esm-node/ultramodern-tooling/commands/validate.js +16 -0
  304. package/dist/esm-node/ultramodern-tooling/commands.js +23 -482
  305. package/dist/esm-node/ultramodern-tooling/config/constants.js +5 -0
  306. package/dist/esm-node/ultramodern-tooling/config/index.js +8 -0
  307. package/dist/esm-node/ultramodern-tooling/config/json.js +11 -0
  308. package/dist/esm-node/ultramodern-tooling/config/load.js +14 -0
  309. package/dist/esm-node/ultramodern-tooling/config/metadata.js +38 -0
  310. package/dist/esm-node/ultramodern-tooling/config/normalize.js +174 -0
  311. package/dist/esm-node/ultramodern-tooling/config/synthesize.js +109 -0
  312. package/dist/esm-node/ultramodern-tooling/config/types.js +1 -0
  313. package/dist/esm-node/ultramodern-tooling/config.js +1 -120
  314. package/dist/esm-node/ultramodern-workspace/add-shell.js +222 -0
  315. package/dist/esm-node/ultramodern-workspace/add-vertical/constants.js +6 -0
  316. package/dist/esm-node/ultramodern-workspace/add-vertical/execute.js +136 -0
  317. package/dist/esm-node/ultramodern-workspace/add-vertical/plan.js +206 -0
  318. package/dist/esm-node/ultramodern-workspace/add-vertical/preflight.js +199 -0
  319. package/dist/esm-node/ultramodern-workspace/add-vertical/shell-files.js +66 -0
  320. package/dist/esm-node/ultramodern-workspace/add-vertical/topology.js +109 -0
  321. package/dist/esm-node/ultramodern-workspace/add-vertical/transaction.js +255 -0
  322. package/dist/esm-node/ultramodern-workspace/add-vertical/workspace-state.js +68 -0
  323. package/dist/esm-node/ultramodern-workspace/add-vertical.js +6 -544
  324. package/dist/esm-node/ultramodern-workspace/api/checkout-cart.js +87 -0
  325. package/dist/esm-node/ultramodern-workspace/api/client.js +184 -0
  326. package/dist/esm-node/ultramodern-workspace/api/contracts.js +202 -0
  327. package/dist/esm-node/ultramodern-workspace/api/names.js +34 -0
  328. package/dist/esm-node/ultramodern-workspace/api/rpc.js +206 -0
  329. package/dist/esm-node/ultramodern-workspace/api/service.js +212 -0
  330. package/dist/esm-node/ultramodern-workspace/api/shared.js +227 -0
  331. package/dist/esm-node/ultramodern-workspace/api.js +6 -984
  332. package/dist/esm-node/ultramodern-workspace/app-files.js +51 -51
  333. package/dist/esm-node/ultramodern-workspace/backend-federation.js +282 -0
  334. package/dist/esm-node/ultramodern-workspace/bridge-config/cli.js +31 -0
  335. package/dist/esm-node/ultramodern-workspace/bridge-config/defaults.js +6 -0
  336. package/dist/esm-node/ultramodern-workspace/bridge-config/gates.js +53 -0
  337. package/dist/esm-node/ultramodern-workspace/bridge-config/index.js +4 -0
  338. package/dist/esm-node/ultramodern-workspace/bridge-config/normalize.js +31 -0
  339. package/dist/esm-node/ultramodern-workspace/bridge-config/schema.js +32 -0
  340. package/dist/esm-node/ultramodern-workspace/bridge-config/shared.js +52 -0
  341. package/dist/esm-node/ultramodern-workspace/bridge-config/validation.js +28 -0
  342. package/dist/esm-node/ultramodern-workspace/bridge-config/workspace-packages.js +68 -0
  343. package/dist/esm-node/ultramodern-workspace/bridge-config.js +1 -270
  344. package/dist/esm-node/ultramodern-workspace/codesmith.js +10 -1
  345. package/dist/esm-node/ultramodern-workspace/contracts.js +81 -27
  346. package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/types.js +236 -0
  347. package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/up-projection.js +130 -0
  348. package/dist/esm-node/ultramodern-workspace/delivery-unit-stamp.js +19 -0
  349. package/dist/esm-node/ultramodern-workspace/delivery-unit-sync.js +105 -0
  350. package/dist/esm-node/ultramodern-workspace/delivery-unit.js +22 -0
  351. package/dist/esm-node/ultramodern-workspace/demo-components.js +461 -204
  352. package/dist/esm-node/ultramodern-workspace/descriptors.js +75 -17
  353. package/dist/esm-node/ultramodern-workspace/effect-diagnostics.js +77 -0
  354. package/dist/esm-node/ultramodern-workspace/fs-io.js +27 -18
  355. package/dist/esm-node/ultramodern-workspace/generation-result.js +33 -3
  356. package/dist/esm-node/ultramodern-workspace/index.js +4 -0
  357. package/dist/esm-node/ultramodern-workspace/locales.js +3 -4
  358. package/dist/esm-node/ultramodern-workspace/mf-validation/constants.js +20 -0
  359. package/dist/esm-node/ultramodern-workspace/mf-validation/discovery.js +29 -0
  360. package/dist/esm-node/ultramodern-workspace/mf-validation/inspect.js +47 -0
  361. package/dist/esm-node/ultramodern-workspace/mf-validation/object-literal.js +145 -0
  362. package/dist/esm-node/ultramodern-workspace/mf-validation/path-utils.js +90 -0
  363. package/dist/esm-node/ultramodern-workspace/mf-validation/syntax.js +155 -0
  364. package/dist/esm-node/ultramodern-workspace/mf-validation/types.js +1 -0
  365. package/dist/esm-node/ultramodern-workspace/mf-validation/validate.js +58 -0
  366. package/dist/esm-node/ultramodern-workspace/mf-validation.js +3 -516
  367. package/dist/esm-node/ultramodern-workspace/module-federation/config.js +290 -0
  368. package/dist/esm-node/ultramodern-workspace/module-federation/index.js +5 -0
  369. package/dist/esm-node/ultramodern-workspace/module-federation/reexport-module.js +68 -0
  370. package/dist/esm-node/ultramodern-workspace/module-federation/remote-refs.js +66 -0
  371. package/dist/esm-node/ultramodern-workspace/module-federation/shared-config.js +13 -0
  372. package/dist/esm-node/ultramodern-workspace/module-federation.js +2 -458
  373. package/dist/esm-node/ultramodern-workspace/naming.js +2 -2
  374. package/dist/esm-node/ultramodern-workspace/overlay-baseline-guard.js +351 -0
  375. package/dist/esm-node/ultramodern-workspace/overlays.js +28 -5
  376. package/dist/esm-node/ultramodern-workspace/package-json.js +48 -283
  377. package/dist/esm-node/ultramodern-workspace/package-source.js +7 -1
  378. package/dist/esm-node/ultramodern-workspace/policy.js +784 -10
  379. package/dist/esm-node/ultramodern-workspace/public-surface.js +2 -2
  380. package/dist/esm-node/ultramodern-workspace/routes.js +9 -143
  381. package/dist/esm-node/ultramodern-workspace/shared-patches.js +4 -0
  382. package/dist/esm-node/ultramodern-workspace/shells.js +93 -0
  383. package/dist/esm-node/ultramodern-workspace/tooling-command-catalog.js +101 -0
  384. package/dist/esm-node/ultramodern-workspace/tsconfigs.js +138 -0
  385. package/dist/esm-node/ultramodern-workspace/types.js +16 -1
  386. package/dist/esm-node/ultramodern-workspace/versions.js +35 -26
  387. package/dist/esm-node/ultramodern-workspace/workspace-script-plan.js +125 -0
  388. package/dist/esm-node/ultramodern-workspace/workspace-scripts.js +115 -85
  389. package/dist/esm-node/ultramodern-workspace/workspace-validation-contract.js +605 -0
  390. package/dist/esm-node/ultramodern-workspace/write-app.js +106 -0
  391. package/dist/esm-node/ultramodern-workspace/write-workspace.js +47 -66
  392. package/dist/esm-node/ultramodern-workspace/zerops.js +71 -0
  393. package/dist/types/cli/flags.d.ts +35 -0
  394. package/dist/types/cli/help.d.ts +2 -0
  395. package/dist/types/cli/package-source.d.ts +15 -0
  396. package/dist/types/cli/project-setup.d.ts +8 -0
  397. package/dist/types/cli/prompts.d.ts +4 -0
  398. package/dist/types/locale/en.d.ts +3 -4
  399. package/dist/types/locale/index.d.ts +6 -8
  400. package/dist/types/locale/zh.d.ts +3 -4
  401. package/dist/types/ultramodern-package-source.d.ts +0 -11
  402. package/dist/types/ultramodern-release-cohort.d.ts +30 -0
  403. package/dist/types/ultramodern-tooling/commands/cloudflare-output-verify.d.ts +2 -0
  404. package/dist/types/ultramodern-tooling/commands/context.d.ts +11 -0
  405. package/dist/types/ultramodern-tooling/commands/mf-types.d.ts +2 -0
  406. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.d.ts +12 -0
  407. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.d.ts +4 -0
  408. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.d.ts +1 -0
  409. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.d.ts +3 -0
  410. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.d.ts +5 -0
  411. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.d.ts +3 -0
  412. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.d.ts +2 -0
  413. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.d.ts +4 -0
  414. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.d.ts +3 -0
  415. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.d.ts +3 -0
  416. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.d.ts +7 -0
  417. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.d.ts +3 -0
  418. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.d.ts +3 -0
  419. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/help.d.ts +1 -0
  420. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/install.d.ts +2 -0
  421. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/io.d.ts +20 -0
  422. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.d.ts +9 -0
  423. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-source.d.ts +3 -0
  424. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.d.ts +27 -0
  425. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.d.ts +26 -0
  426. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.d.ts +10 -0
  427. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.d.ts +4 -0
  428. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect.d.ts +2 -0
  429. package/dist/types/ultramodern-tooling/commands/options.d.ts +2 -0
  430. package/dist/types/ultramodern-tooling/commands/routes-generate.d.ts +2 -0
  431. package/dist/types/ultramodern-tooling/commands/skills.d.ts +2 -0
  432. package/dist/types/ultramodern-tooling/commands/sync-delivery-unit.d.ts +1 -0
  433. package/dist/types/ultramodern-tooling/commands/validate.d.ts +2 -0
  434. package/dist/types/ultramodern-tooling/commands.d.ts +1 -1
  435. package/dist/types/ultramodern-tooling/config/constants.d.ts +3 -0
  436. package/dist/types/ultramodern-tooling/config/index.d.ts +7 -0
  437. package/dist/types/ultramodern-tooling/config/json.d.ts +2 -0
  438. package/dist/types/ultramodern-tooling/config/load.d.ts +2 -0
  439. package/dist/types/ultramodern-tooling/config/metadata.d.ts +4 -0
  440. package/dist/types/ultramodern-tooling/config/normalize.d.ts +22 -0
  441. package/dist/types/ultramodern-tooling/config/synthesize.d.ts +5 -0
  442. package/dist/types/ultramodern-tooling/config/types.d.ts +45 -0
  443. package/dist/types/ultramodern-tooling/config.d.ts +1 -43
  444. package/dist/types/ultramodern-workspace/add-shell.d.ts +14 -0
  445. package/dist/types/ultramodern-workspace/add-vertical/constants.d.ts +4 -0
  446. package/dist/types/ultramodern-workspace/add-vertical/execute.d.ts +9 -0
  447. package/dist/types/ultramodern-workspace/add-vertical/plan.d.ts +2 -0
  448. package/dist/types/ultramodern-workspace/add-vertical/preflight.d.ts +42 -0
  449. package/dist/types/ultramodern-workspace/add-vertical/shell-files.d.ts +6 -0
  450. package/dist/types/ultramodern-workspace/add-vertical/topology.d.ts +9 -0
  451. package/dist/types/ultramodern-workspace/add-vertical/transaction.d.ts +80 -0
  452. package/dist/types/ultramodern-workspace/add-vertical/workspace-state.d.ts +15 -0
  453. package/dist/types/ultramodern-workspace/add-vertical.d.ts +7 -39
  454. package/dist/types/ultramodern-workspace/api/checkout-cart.d.ts +33 -0
  455. package/dist/types/ultramodern-workspace/api/client.d.ts +6 -0
  456. package/dist/types/ultramodern-workspace/api/contracts.d.ts +15 -0
  457. package/dist/types/ultramodern-workspace/api/names.d.ts +41 -0
  458. package/dist/types/ultramodern-workspace/api/rpc.d.ts +41 -0
  459. package/dist/types/ultramodern-workspace/api/service.d.ts +6 -0
  460. package/dist/types/ultramodern-workspace/api/shared.d.ts +10 -0
  461. package/dist/types/ultramodern-workspace/api.d.ts +6 -73
  462. package/dist/types/ultramodern-workspace/app-files.d.ts +4 -10
  463. package/dist/types/ultramodern-workspace/backend-federation.d.ts +11 -0
  464. package/dist/types/ultramodern-workspace/bridge-config/cli.d.ts +3 -0
  465. package/dist/types/ultramodern-workspace/bridge-config/defaults.d.ts +1 -0
  466. package/dist/types/ultramodern-workspace/bridge-config/gates.d.ts +3 -0
  467. package/dist/types/ultramodern-workspace/bridge-config/index.d.ts +4 -0
  468. package/dist/types/ultramodern-workspace/bridge-config/normalize.d.ts +2 -0
  469. package/dist/types/ultramodern-workspace/bridge-config/schema.d.ts +61 -0
  470. package/dist/types/ultramodern-workspace/bridge-config/shared.d.ts +12 -0
  471. package/dist/types/ultramodern-workspace/bridge-config/validation.d.ts +3 -0
  472. package/dist/types/ultramodern-workspace/bridge-config/workspace-packages.d.ts +3 -0
  473. package/dist/types/ultramodern-workspace/bridge-config.d.ts +1 -64
  474. package/dist/types/ultramodern-workspace/codesmith.d.ts +12 -6
  475. package/dist/types/ultramodern-workspace/contracts.d.ts +3 -3
  476. package/dist/types/ultramodern-workspace/delivery-unit-schema/types.d.ts +291 -0
  477. package/dist/types/ultramodern-workspace/delivery-unit-schema/up-projection.d.ts +189 -0
  478. package/dist/types/ultramodern-workspace/delivery-unit-stamp.d.ts +3 -0
  479. package/dist/types/ultramodern-workspace/delivery-unit-sync.d.ts +6 -0
  480. package/dist/types/ultramodern-workspace/delivery-unit.d.ts +8 -0
  481. package/dist/types/ultramodern-workspace/demo-components.d.ts +14 -3
  482. package/dist/types/ultramodern-workspace/descriptors.d.ts +27 -3
  483. package/dist/types/ultramodern-workspace/effect-diagnostics.d.ts +1 -0
  484. package/dist/types/ultramodern-workspace/fs-io.d.ts +2 -8
  485. package/dist/types/ultramodern-workspace/generation-result.d.ts +3 -1
  486. package/dist/types/ultramodern-workspace/index.d.ts +6 -1
  487. package/dist/types/ultramodern-workspace/locales.d.ts +1 -133
  488. package/dist/types/ultramodern-workspace/mf-validation/constants.d.ts +5 -0
  489. package/dist/types/ultramodern-workspace/mf-validation/discovery.d.ts +2 -0
  490. package/dist/types/ultramodern-workspace/mf-validation/inspect.d.ts +2 -0
  491. package/dist/types/ultramodern-workspace/mf-validation/object-literal.d.ts +4 -0
  492. package/dist/types/ultramodern-workspace/mf-validation/path-utils.d.ts +11 -0
  493. package/dist/types/ultramodern-workspace/mf-validation/syntax.d.ts +5 -0
  494. package/dist/types/ultramodern-workspace/mf-validation/types.d.ts +33 -0
  495. package/dist/types/ultramodern-workspace/mf-validation/validate.d.ts +4 -0
  496. package/dist/types/ultramodern-workspace/mf-validation.d.ts +4 -27
  497. package/dist/types/ultramodern-workspace/module-federation/config.d.ts +5 -0
  498. package/dist/types/ultramodern-workspace/module-federation/index.d.ts +4 -0
  499. package/dist/types/ultramodern-workspace/module-federation/reexport-module.d.ts +4 -0
  500. package/dist/types/ultramodern-workspace/module-federation/remote-refs.d.ts +3 -0
  501. package/dist/types/ultramodern-workspace/module-federation/shared-config.d.ts +2 -0
  502. package/dist/types/ultramodern-workspace/module-federation.d.ts +2 -17
  503. package/dist/types/ultramodern-workspace/naming.d.ts +0 -2
  504. package/dist/types/ultramodern-workspace/overlay-baseline-guard.d.ts +57 -0
  505. package/dist/types/ultramodern-workspace/package-json.d.ts +2 -17
  506. package/dist/types/ultramodern-workspace/package-source.d.ts +1 -0
  507. package/dist/types/ultramodern-workspace/policy.d.ts +254 -47
  508. package/dist/types/ultramodern-workspace/public-api.d.ts +1 -1
  509. package/dist/types/ultramodern-workspace/public-surface.d.ts +5 -15
  510. package/dist/types/ultramodern-workspace/routes.d.ts +0 -9
  511. package/dist/types/ultramodern-workspace/shared-patches.d.ts +1 -0
  512. package/dist/types/ultramodern-workspace/shells.d.ts +51 -0
  513. package/dist/types/ultramodern-workspace/tooling-command-catalog.d.ts +18 -0
  514. package/dist/types/ultramodern-workspace/tsconfigs.d.ts +13 -0
  515. package/dist/types/ultramodern-workspace/types.d.ts +134 -3
  516. package/dist/types/ultramodern-workspace/versions.d.ts +35 -26
  517. package/dist/types/ultramodern-workspace/workspace-script-plan.d.ts +63 -0
  518. package/dist/types/ultramodern-workspace/workspace-scripts.d.ts +15 -5
  519. package/dist/types/ultramodern-workspace/workspace-validation-contract.d.ts +243 -0
  520. package/dist/types/ultramodern-workspace/write-app.d.ts +4 -0
  521. package/dist/types/ultramodern-workspace/write-workspace.d.ts +3 -3
  522. package/dist/types/ultramodern-workspace/zerops.d.ts +2 -0
  523. package/package.json +15 -13
  524. package/template-workspace/.gitignore.handlebars +8 -0
  525. package/template-workspace/.modernjs/release-cohort.json +208 -0
  526. package/template-workspace/AGENTS.md.handlebars +16 -89
  527. package/template-workspace/README.md.handlebars +17 -16
  528. package/template-workspace/patches/@module-federation__bridge-react@2.8.0.patch +185 -0
  529. package/template-workspace/patches/@module-federation__modern-js-v3@2.8.0.patch +259 -0
  530. package/template-workspace/patches/@tanstack__router-core@1.171.14.patch +123 -0
  531. package/template-workspace/patches/drizzle-orm-ts7-strict-declarations.patch +452 -0
  532. package/template-workspace/patches/effect-schema-error-type-id.patch +18 -0
  533. package/template-workspace/pnpm-workspace.yaml.handlebars +8 -25
  534. package/template-workspace/scripts/bootstrap-agent-skills.mjs +11 -3
  535. package/templates/app/shell-frame.tsx +5 -4
  536. package/templates/workspace/apps/modern.config.shared-module-federation.ts.handlebars +37 -0
  537. package/templates/workspace/apps/modern.config.ts.handlebars +191 -0
  538. package/templates/workspace/apps/shared/src/routes/ultramodern-jsonld.ts.handlebars +119 -0
  539. package/templates/workspace/apps/shared/src/routes/ultramodern-route-metadata.ts.handlebars +21 -0
  540. package/templates/workspace/apps/shell-super-app/src/routes/[lang]/page.tsx.handlebars +49 -0
  541. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.helpers.tsx.handlebars +27 -0
  542. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.imports.tsx.handlebars +4 -0
  543. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.tsx.handlebars +44 -0
  544. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.worker.helpers.tsx.handlebars +17 -0
  545. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.worker.imports.tsx.handlebars +1 -0
  546. package/templates/workspace/packages/shared-design-tokens/tokens.css.handlebars +7 -0
  547. package/templates/workspace/tailwind.config.ts.handlebars +3 -0
  548. package/templates/workspace/verticals/server/checkout-cart-handlers.ts.handlebars +49 -0
  549. package/templates/workspace/verticals/server/checkout-cart-state.ts.handlebars +23 -0
  550. package/templates/workspace/verticals/shared/api.checkout-cart-contract-fields.ts.handlebars +1 -0
  551. package/templates/workspace/verticals/shared/api.checkout-cart-endpoints.ts.handlebars +23 -0
  552. package/templates/workspace/verticals/shared/api.checkout-cart-operation-contexts.ts.handlebars +29 -0
  553. package/templates/workspace/verticals/shared/api.checkout-cart-schemas.ts.handlebars +48 -0
  554. package/templates/workspace/verticals/src/api/checkout-cart-client-exports.ts.handlebars +70 -0
  555. package/templates/workspace-scripts/assert-mf-types.mjs.handlebars +4 -4
  556. package/templates/workspace-scripts/check-ultramodern-api-boundaries.mts +40 -2
  557. package/templates/workspace-scripts/generate-node-backend-federation.mjs +379 -0
  558. package/templates/workspace-scripts/generate-public-surface-assets.mjs +5 -5
  559. package/templates/workspace-scripts/materialize-zerops-runtime.mjs +447 -0
  560. package/templates/workspace-scripts/proof-cloudflare-version.mjs +237 -9
  561. package/templates/workspace-scripts/proof-node-backend-federation.mjs +1223 -0
  562. package/templates/workspace-scripts/proof-workerd-ssr.mts +815 -0
  563. package/templates/workspace-scripts/ultramodern-cloudflare-proof.mjs +188 -2
  564. package/templates/workspace-scripts/ultramodern-typecheck.mjs +6 -46
  565. package/templates/workspace-scripts/validate-ultramodern-workspace.mjs.handlebars +2436 -258
  566. package/template-workspace/patches/@tanstack__router-core@1.171.13.patch +0 -51
package/package.json CHANGED
@@ -21,7 +21,7 @@
21
21
  "engines": {
22
22
  "node": ">=20"
23
23
  },
24
- "version": "3.5.0-ultramodern.9",
24
+ "version": "3.5.0-ultramodern.90",
25
25
  "types": "./dist/types/index.d.ts",
26
26
  "main": "./dist/esm-node/index.js",
27
27
  "bin": {
@@ -75,20 +75,21 @@
75
75
  ],
76
76
  "dependencies": {
77
77
  "@modern-js/codesmith": "2.6.9",
78
- "oxfmt": "0.56.0",
79
- "ultracite": "7.8.3",
80
- "@modern-js/i18n-utils": "npm:@bleedingdev/modern-js-i18n-utils@3.5.0-ultramodern.9"
78
+ "@modern-js/i18n-utils": "npm:@bleedingdev/modern-js-i18n-utils@3.5.0-ultramodern.90",
79
+ "@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.5.0-ultramodern.90",
80
+ "esbuild": "^0.28.1",
81
+ "oxfmt": "0.58.0",
82
+ "ultracite": "7.9.3"
81
83
  },
82
84
  "devDependencies": {
83
- "@rslib/core": "0.23.1",
84
- "@types/node": "^26.0.1",
85
- "@typescript/native-preview": "7.0.0-dev.20260628.1",
86
- "tsx": "^4.22.4",
87
- "typescript": "^6.0.3",
88
- "@scripts/rstest-config": "2.66.0"
85
+ "@rslib/core": "0.23.2",
86
+ "@scripts/rstest-config": "2.66.0",
87
+ "@types/node": "^26.1.1",
88
+ "@typescript/native-preview": "7.0.0-dev.20260707.2",
89
+ "tsx": "^4.23.0",
90
+ "typescript": "^7.0.2"
89
91
  },
90
92
  "publishConfig": {
91
- "registry": "https://registry.npmjs.org/",
92
93
  "access": "public"
93
94
  },
94
95
  "modern:source": "./src/index.ts",
@@ -96,9 +97,10 @@
96
97
  "build": "rm -rf dist && rslib build -c rslibconfig.mts && pnpm -w tsgo:dts \"$PWD\"",
97
98
  "dev": "rslib build -c rslibconfig.mts -w",
98
99
  "start": "node ./dist/esm-node/index.js",
99
- "test": "rm -rf dist && rslib build -c rslibconfig.mts && rstest --passWithNoTests"
100
+ "test": "rm -rf dist && rslib build -c rslibconfig.mts && pnpm -w tsgo:dts \"$PWD\" && rstest --passWithNoTests",
101
+ "type-check": "tsgo --noEmit -p tsconfig.json"
100
102
  },
101
103
  "ultramodern": {
102
- "frameworkVersion": "3.5.0-ultramodern.9"
104
+ "frameworkVersion": "3.5.0-ultramodern.90"
103
105
  }
104
106
  }
@@ -1,8 +1,16 @@
1
1
  node_modules/
2
2
  dist/
3
+ dist-cloudflare/
4
+ .output/
5
+ **/.output/
3
6
  build/
4
7
  .modernjs/cache/
5
8
  .modern-js/
6
9
  **/.modern-js/
10
+ **/src/modern-tanstack/
11
+ **/.tsgo.*.resolved.json
12
+ .mf/
13
+ **/.mf/
7
14
  .modernjs/agent-reference-repos-tmp/
8
15
  .codex/reports/
16
+ .zerops/runtime/
@@ -0,0 +1,208 @@
1
+ {
2
+ "aliases": {
3
+ "@modern-js/adapter-rstest": "@bleedingdev/modern-js-adapter-rstest",
4
+ "@modern-js/app-tools": "@bleedingdev/modern-js-app-tools",
5
+ "@modern-js/bff-core": "@bleedingdev/modern-js-bff-core",
6
+ "@modern-js/bff-runtime": "@bleedingdev/modern-js-bff-runtime",
7
+ "@modern-js/builder": "@bleedingdev/modern-js-builder",
8
+ "@modern-js/code-tools": "@bleedingdev/modern-js-code-tools",
9
+ "@modern-js/create": "@bleedingdev/modern-js-create",
10
+ "@modern-js/create-request": "@bleedingdev/modern-js-create-request",
11
+ "@modern-js/i18n-utils": "@bleedingdev/modern-js-i18n-utils",
12
+ "@modern-js/image": "@bleedingdev/modern-js-image",
13
+ "@modern-js/main-doc": "@bleedingdev/modern-js-main-doc",
14
+ "@modern-js/plugin": "@bleedingdev/modern-js-plugin",
15
+ "@modern-js/plugin-bff": "@bleedingdev/modern-js-plugin-bff",
16
+ "@modern-js/plugin-data-loader": "@bleedingdev/modern-js-plugin-data-loader",
17
+ "@modern-js/plugin-i18n": "@bleedingdev/modern-js-plugin-i18n",
18
+ "@modern-js/plugin-polyfill": "@bleedingdev/modern-js-plugin-polyfill",
19
+ "@modern-js/plugin-ssg": "@bleedingdev/modern-js-plugin-ssg",
20
+ "@modern-js/plugin-styled-components": "@bleedingdev/modern-js-plugin-styled-components",
21
+ "@modern-js/plugin-tanstack": "@bleedingdev/modern-js-plugin-tanstack",
22
+ "@modern-js/prod-server": "@bleedingdev/modern-js-prod-server",
23
+ "@modern-js/render": "@bleedingdev/modern-js-render",
24
+ "@modern-js/runtime": "@bleedingdev/modern-js-runtime",
25
+ "@modern-js/runtime-utils": "@bleedingdev/modern-js-runtime-utils",
26
+ "@modern-js/sandpack-react": "@bleedingdev/modern-js-sandpack-react",
27
+ "@modern-js/server": "@bleedingdev/modern-js-server",
28
+ "@modern-js/server-core": "@bleedingdev/modern-js-server-core",
29
+ "@modern-js/server-runtime": "@bleedingdev/modern-js-server-runtime",
30
+ "@modern-js/server-runtime-extensions": "@bleedingdev/modern-js-server-runtime-extensions",
31
+ "@modern-js/server-utils": "@bleedingdev/modern-js-server-utils",
32
+ "@modern-js/tsconfig": "@bleedingdev/modern-js-tsconfig",
33
+ "@modern-js/types": "@bleedingdev/modern-js-types",
34
+ "@modern-js/utils": "@bleedingdev/modern-js-utils"
35
+ },
36
+ "packages": [
37
+ {
38
+ "sourceName": "@modern-js/adapter-rstest",
39
+ "targetName": "@bleedingdev/modern-js-adapter-rstest",
40
+ "version": "3.5.0-ultramodern.90"
41
+ },
42
+ {
43
+ "sourceName": "@modern-js/app-tools",
44
+ "targetName": "@bleedingdev/modern-js-app-tools",
45
+ "version": "3.5.0-ultramodern.90"
46
+ },
47
+ {
48
+ "sourceName": "@modern-js/bff-core",
49
+ "targetName": "@bleedingdev/modern-js-bff-core",
50
+ "version": "3.5.0-ultramodern.90"
51
+ },
52
+ {
53
+ "sourceName": "@modern-js/bff-runtime",
54
+ "targetName": "@bleedingdev/modern-js-bff-runtime",
55
+ "version": "3.5.0-ultramodern.90"
56
+ },
57
+ {
58
+ "sourceName": "@modern-js/builder",
59
+ "targetName": "@bleedingdev/modern-js-builder",
60
+ "version": "3.5.0-ultramodern.90"
61
+ },
62
+ {
63
+ "sourceName": "@modern-js/code-tools",
64
+ "targetName": "@bleedingdev/modern-js-code-tools",
65
+ "version": "3.5.0-ultramodern.90"
66
+ },
67
+ {
68
+ "sourceName": "@modern-js/create",
69
+ "targetName": "@bleedingdev/modern-js-create",
70
+ "version": "3.5.0-ultramodern.90"
71
+ },
72
+ {
73
+ "sourceName": "@modern-js/create-request",
74
+ "targetName": "@bleedingdev/modern-js-create-request",
75
+ "version": "3.5.0-ultramodern.90"
76
+ },
77
+ {
78
+ "sourceName": "@modern-js/i18n-utils",
79
+ "targetName": "@bleedingdev/modern-js-i18n-utils",
80
+ "version": "3.5.0-ultramodern.90"
81
+ },
82
+ {
83
+ "sourceName": "@modern-js/image",
84
+ "targetName": "@bleedingdev/modern-js-image",
85
+ "version": "3.5.0-ultramodern.90"
86
+ },
87
+ {
88
+ "sourceName": "@modern-js/main-doc",
89
+ "targetName": "@bleedingdev/modern-js-main-doc",
90
+ "version": "3.5.0-ultramodern.90"
91
+ },
92
+ {
93
+ "sourceName": "@modern-js/plugin",
94
+ "targetName": "@bleedingdev/modern-js-plugin",
95
+ "version": "3.5.0-ultramodern.90"
96
+ },
97
+ {
98
+ "sourceName": "@modern-js/plugin-bff",
99
+ "targetName": "@bleedingdev/modern-js-plugin-bff",
100
+ "version": "3.5.0-ultramodern.90"
101
+ },
102
+ {
103
+ "sourceName": "@modern-js/plugin-data-loader",
104
+ "targetName": "@bleedingdev/modern-js-plugin-data-loader",
105
+ "version": "3.5.0-ultramodern.90"
106
+ },
107
+ {
108
+ "sourceName": "@modern-js/plugin-i18n",
109
+ "targetName": "@bleedingdev/modern-js-plugin-i18n",
110
+ "version": "3.5.0-ultramodern.90"
111
+ },
112
+ {
113
+ "sourceName": "@modern-js/plugin-polyfill",
114
+ "targetName": "@bleedingdev/modern-js-plugin-polyfill",
115
+ "version": "3.5.0-ultramodern.90"
116
+ },
117
+ {
118
+ "sourceName": "@modern-js/plugin-ssg",
119
+ "targetName": "@bleedingdev/modern-js-plugin-ssg",
120
+ "version": "3.5.0-ultramodern.90"
121
+ },
122
+ {
123
+ "sourceName": "@modern-js/plugin-styled-components",
124
+ "targetName": "@bleedingdev/modern-js-plugin-styled-components",
125
+ "version": "3.5.0-ultramodern.90"
126
+ },
127
+ {
128
+ "sourceName": "@modern-js/plugin-tanstack",
129
+ "targetName": "@bleedingdev/modern-js-plugin-tanstack",
130
+ "version": "3.5.0-ultramodern.90"
131
+ },
132
+ {
133
+ "sourceName": "@modern-js/prod-server",
134
+ "targetName": "@bleedingdev/modern-js-prod-server",
135
+ "version": "3.5.0-ultramodern.90"
136
+ },
137
+ {
138
+ "sourceName": "@modern-js/render",
139
+ "targetName": "@bleedingdev/modern-js-render",
140
+ "version": "3.5.0-ultramodern.90"
141
+ },
142
+ {
143
+ "sourceName": "@modern-js/runtime",
144
+ "targetName": "@bleedingdev/modern-js-runtime",
145
+ "version": "3.5.0-ultramodern.90"
146
+ },
147
+ {
148
+ "sourceName": "@modern-js/runtime-utils",
149
+ "targetName": "@bleedingdev/modern-js-runtime-utils",
150
+ "version": "3.5.0-ultramodern.90"
151
+ },
152
+ {
153
+ "sourceName": "@modern-js/sandpack-react",
154
+ "targetName": "@bleedingdev/modern-js-sandpack-react",
155
+ "version": "3.5.0-ultramodern.90"
156
+ },
157
+ {
158
+ "sourceName": "@modern-js/server",
159
+ "targetName": "@bleedingdev/modern-js-server",
160
+ "version": "3.5.0-ultramodern.90"
161
+ },
162
+ {
163
+ "sourceName": "@modern-js/server-core",
164
+ "targetName": "@bleedingdev/modern-js-server-core",
165
+ "version": "3.5.0-ultramodern.90"
166
+ },
167
+ {
168
+ "sourceName": "@modern-js/server-runtime",
169
+ "targetName": "@bleedingdev/modern-js-server-runtime",
170
+ "version": "3.5.0-ultramodern.90"
171
+ },
172
+ {
173
+ "sourceName": "@modern-js/server-runtime-extensions",
174
+ "targetName": "@bleedingdev/modern-js-server-runtime-extensions",
175
+ "version": "3.5.0-ultramodern.90"
176
+ },
177
+ {
178
+ "sourceName": "@modern-js/server-utils",
179
+ "targetName": "@bleedingdev/modern-js-server-utils",
180
+ "version": "3.5.0-ultramodern.90"
181
+ },
182
+ {
183
+ "sourceName": "@modern-js/tsconfig",
184
+ "targetName": "@bleedingdev/modern-js-tsconfig",
185
+ "version": "3.5.0-ultramodern.90"
186
+ },
187
+ {
188
+ "sourceName": "@modern-js/types",
189
+ "targetName": "@bleedingdev/modern-js-types",
190
+ "version": "3.5.0-ultramodern.90"
191
+ },
192
+ {
193
+ "sourceName": "@modern-js/utils",
194
+ "targetName": "@bleedingdev/modern-js-utils",
195
+ "version": "3.5.0-ultramodern.90"
196
+ }
197
+ ],
198
+ "release": {
199
+ "tag": "latest",
200
+ "version": "3.5.0-ultramodern.90"
201
+ },
202
+ "schema": "bleedingdev.ultramodern.release-cohort",
203
+ "schemaVersion": 1,
204
+ "source": {
205
+ "commit": "2c97f471e61e0d312120bb4efb98bf043661ec0e",
206
+ "repository": "BleedingDev/ultramodern.js"
207
+ }
208
+ }
@@ -1,94 +1,21 @@
1
- # UltraModern Agent Contract
1
+ # UltraModern.js Workspace
2
2
 
3
- This workspace is generated as an agent-ready UltraModern.js SuperApp shell.
4
- Codex should treat the files under `.codex/skills` as local project
5
- instructions, not optional reading.
3
+ This is an UltraModern.js SuperApp: a composition shell plus independently
4
+ owned business MicroVerticals.
6
5
 
7
- ## Quality Gates
6
+ ## Work Here
8
7
 
9
- Generated workspaces target Node `>=26` and pnpm `{{pnpmVersion}}`. Keep
10
- `packageManager`, `.mise.toml`, generated validation, and CI aligned to that
11
- baseline; do not reintroduce Corepack or older pnpm aliases.
8
+ - Use Node `>=26` and pnpm `{{pnpmVersion}}`. Run `mise install` before
9
+ `pnpm install` when the active toolchain differs.
10
+ - Keep business features out of the shell. Follow [README.md](./README.md) to
11
+ add a MicroVertical.
12
+ - Run checks relevant to the change. Before finishing code changes, run
13
+ `pnpm check`; also run `pnpm build` for runtime, build, routing, or deployment
14
+ changes.
12
15
 
13
- - `pnpm lint` runs Oxlint with the Ultracite preset.
14
- - `pnpm format` runs oxfmt.
15
- - `pnpm typecheck` runs TS7 native-preview through effect-tsgo in project-reference build mode with parallel `--checkers` and `--builders`.
16
- - `pnpm i18n:boundaries` verifies workspace source boundaries through `@modern-js/code-tools`.
17
- - `pnpm contract:check` verifies the generated workspace contract.
18
- - `pnpm mf:types` verifies Module Federation type outputs after builds.
19
- - `pnpm check` is a local convenience aggregate for the primitive gates.
20
- - Generated CI runs primitive gates as separate matrix jobs instead of calling `pnpm check`.
21
- - Generated Codex stop hooks and subagent-stop hooks run `pnpm format && pnpm lint:fix && pnpm check`.
22
- - `postinstall` formats the generated tree, installs/updates pinned Codex skills, and installs `lefthook`. It never installs system packages. Clone-backed public skills are attempted by default; offline clone failures are advisory. Reference repos remain an explicit `pnpm agents:refs:install` step. Generated `lefthook.yml` runs separate format and lint-fix commands on pre-commit; pre-push runs read-only primitive gates in parallel.
16
+ ## Reusable Guidance
23
17
 
24
- ## Localized Routes
25
-
26
- Generated apps keep locale-prefixed entry routes under `src/routes/[lang]`,
27
- static language links, and canonical plus `hreflang` metadata. A new workspace
28
- starts shell-only; `create <domain> --vertical` adds route-owned metadata,
29
- localized resources, and Effect BFF surfaces for that domain. Runtime i18n is
30
- not enabled in the starter because the current React 19 + Module Federation
31
- streaming SSR stack must render predictably first. Canonical and hreflang URLs
32
- use `MODERN_PUBLIC_SITE_URL` only. JS/CSS/static assets use
33
- `MODERN_ASSET_PREFIX`, then `ULTRAMODERN_ASSET_PREFIX`, then `/`; do not use
34
- `MODERN_PUBLIC_SITE_URL` or stale public URL aliases as asset-prefix fallbacks.
35
- Without an asset prefix, builds emit origin-relative asset paths so pages work
36
- behind tunnels and reverse proxies.
37
-
38
- ## Required Skill Baseline
39
-
40
- Use these skills when the task touches the matching subsystem:
41
-
42
- - `rsbuild-best-practices`: Modern.js app build configuration, Rsbuild options, assets, type checking, and build debugging.
43
- - `rspack-best-practices`: Rspack-level bundling, CSS, assets, profiling, and production build behavior.
44
- - `rspack-tracing`: Rspack build failures, slow builds, crash localization, and trace analysis.
45
- - `rsdoctor-analysis`: Evidence-based bundle analysis from `rsdoctor-data.json`, including duplicate packages, large chunks, and retained modules.
46
- - `rslib-best-practices`: Shared packages, generated libraries, declaration output, and Rslib configuration.
47
- - `rslib-modern-package`: Package contracts for shared libraries, exports, side effects, dependency placement, README, and release readiness.
48
- - `rstest-best-practices`: Rstest configuration, test writing, mocking, snapshots, coverage, and CI test behavior.
49
- - `mf`: Module Federation docs, Modern.js integration, DTS/type checks, shared dependency checks, runtime errors, and observability troubleshooting.
50
-
51
- Skill bodies are lockfile-pinned in `.codex/skills-lock.json` and installed
52
- into the repo-owned `.codex/skills` directory by default. The installer updates
53
- only pinned skill directories and preserves unrelated user skills already
54
- present under `.codex/skills`. Set `ULTRAMODERN_SKIP_CODEX_SKILLS=1` or
55
- `ULTRAMODERN_CODEX_SKILLS=0` to opt out during install. `pnpm skills:check` is
56
- advisory when local skill bodies are missing so offline CI can still run the
57
- normal gate.
58
-
59
- ## Private Skills
60
-
61
- ScriptedAlchemy/TechsioCZ skills are private and are cloned only when the current developer is authorized for `TechsioCZ/skills`.
62
-
63
- ```bash
64
- pnpm skills:install
65
- ```
66
-
67
- The installer copies only the pinned private skills from `.codex/skills-lock.json`: `plan-graph`, `dag`, `subagent-graph`, `helm`, and `debugger-mode`.
68
-
69
- ## Agent Reference Repositories
70
-
71
- The workspace can install read-only source references under `repos/` with the explicit `pnpm agents:refs:install` command using `git subtree add --squash`. These repositories are reference material for coding agents, not application source:
72
-
73
- - `repos/effect` from `Effect-TS/effect`.
74
- - `repos/ultramodern.js` from `BleedingDev/ultramodern.js`.
75
-
76
- Agents may read files under `repos/` to understand upstream patterns, APIs, and project conventions. Do not edit files under `repos/`, import from them, or make production code depend on them. `ULTRAMODERN_SKIP_AGENT_REPOS=1` disables the installer even when invoked explicitly.
77
-
78
- ## Project Priorities
79
-
80
- - Keep `presetUltramodern` as the single preset.
81
- - Maximize TS7 latest dev usage through `@typescript/native-preview` and TS-Go. Keep classic `typescript` on latest TS6 only for compatibility peers and tooling that cannot consume native-preview yet.
82
- - Keep the initial workspace shell-only unless a user explicitly asks for a
83
- starter vertical.
84
- - Use `create <domain> --vertical` as the growth path for real business
85
- MicroVerticals.
86
- - Prefer Effect for BFF code.
87
- - Prefer TanStack Router for app routing.
88
- - Keep UI-kit or design-system code as ordinary vertical or shared package code, not a special core path.
89
- - Keep generated packages explicit and publishable: stable `exports`, correct declarations, small public APIs, and clear ownership metadata.
90
- - Do not add migration tooling or codemods unless the project owner explicitly asks for migration work.
91
-
92
- ## Skill Provenance
93
-
94
- The Rstack skills, public Module Federation skill, and private TechsioCZ skill set are pinned in `.codex/skills-lock.json`. Do not update, remove, or replace them casually. If a skill needs updating, update the lock file and run the affected primitive gate plus `pnpm check`.
18
+ - Read only the relevant sections of [README.md](./README.md) for architecture,
19
+ routes and i18n, environment variables, deployment, and troubleshooting.
20
+ - Use a skill under [`.codex/skills`](./.codex/skills) only when its description
21
+ matches the task; read that skill's `SKILL.md` and referenced files on demand.
@@ -70,10 +70,9 @@ separate matrix jobs so failures are isolated and parallelizable.
70
70
 
71
71
  Type checking is TS7-first. `pnpm typecheck` runs
72
72
  `scripts/ultramodern-typecheck.mts` in TS-Go build mode over
73
- `tsconfig.json` project references, with native-preview `--checkers` and
74
- `--builders` enabled by default. `@typescript/native-preview` is the TS7 latest
75
- dev compiler lane. The classic `typescript` package is pinned to latest TS6
76
- only where compatibility peers or tooling still require it.
73
+ `tsconfig.json` project references, with `--checkers` and `--builders`
74
+ enabled by default. The stable `typescript` package is pinned to TS7 so
75
+ Modern/Rspack type checking uses TS-Go by default.
77
76
 
78
77
  Read-only agent reference repositories under `repos/` (Effect and
79
78
  UltraModern.js source lookup using squashed git subtrees) are an explicit
@@ -117,19 +116,21 @@ regenerating or updating the workspace.
117
116
  | `ULTRAMODERN_ASSET_PREFIX` | UltraModern compatibility asset prefix | Modern/Rspack-emitted asset URLs when `MODERN_ASSET_PREFIX` is unset |
118
117
  | `ULTRAMODERN_PUBLIC_URL_<APP_ID>` | Per-app deployment/proof URL | Cloudflare proof inputs and Module Federation remote URLs |
119
118
 
120
- Asset URLs use this precedence: `MODERN_ASSET_PREFIX` →
121
- `ULTRAMODERN_ASSET_PREFIX` → origin-relative `/`. `MODERN_PUBLIC_SITE_URL` is
122
- canonical/SEO-only and must not be used as an asset-prefix fallback.
119
+ Shell asset URLs use this precedence: `MODERN_ASSET_PREFIX` →
120
+ `ULTRAMODERN_ASSET_PREFIX` → origin-relative `/`. Module Federation remotes use
121
+ the same env precedence, then fall back to their per-app public origin:
122
+ configured public URL, inferred workers.dev URL, or local dev port.
123
+ `MODERN_PUBLIC_SITE_URL` is canonical/SEO-only and must not be used as an
124
+ asset-prefix fallback.
123
125
  SEO output uses `MODERN_PUBLIC_SITE_URL`; if it is unset, generated local and
124
126
  preview outputs remain non-public until deployment proof provides explicit
125
127
  public URLs.
126
128
 
127
- Without public URLs configured, asset paths are origin-relative (`/`), and the
128
- dev server uses `dev.assetPrefix: '/'` so apps work through tunnels and
129
- reverse proxies (ngrok, cloudflared) without triggering Chrome's Local Network
130
- Access prompt or mixed-content errors. Shell-only workspaces can set
131
- `MODERN_PUBLIC_SITE_URL` for SEO output without changing where assets load
132
- from.
129
+ Without public URLs configured, shell asset paths are origin-relative (`/`).
130
+ Remote dev manifests publish their own local origin so host shells load
131
+ `remoteEntry.js` and exposed chunks from the remote dev server. Shell-only
132
+ workspaces can set `MODERN_PUBLIC_SITE_URL` for SEO output without changing
133
+ where assets load from.
133
134
 
134
135
  ## Cloudflare Proof
135
136
 
@@ -144,7 +145,7 @@ pattern with hyphens converted to underscores and uppercased.
144
145
  ```bash
145
146
  pnpm cloudflare:deploy
146
147
  ULTRAMODERN_PUBLIC_URL_SHELL_SUPER_APP=https://shell-super-app.example.workers.dev \
147
- pnpm cloudflare:proof -- --require-public-urls
148
+ pnpm cloudflare:proof --require-public-urls
148
149
  ```
149
150
 
150
151
  ## Strict Effect API
@@ -177,8 +178,8 @@ from trusted-publisher metadata to provenance attestations.
177
178
  For older generated workspaces, run the framework migration command first:
178
179
 
179
180
  ```bash
180
- pnpm dlx @bleedingdev/modern-js-create@3.5.0-ultramodern.9 ultramodern \
181
- migrate-strict-effect --version 3.5.0-ultramodern.9
181
+ pnpm dlx @bleedingdev/modern-js-create@3.5.0-ultramodern.10 ultramodern \
182
+ migrate-strict-effect --version 3.5.0-ultramodern.10
182
183
  pnpm api:check
183
184
  pnpm contract:check
184
185
  ```
@@ -0,0 +1,185 @@
1
+ diff --git a/dist/lazy-load-component-plugin-FKp6nQa-.js b/dist/lazy-load-component-plugin-FKp6nQa-.js
2
+ --- a/dist/lazy-load-component-plugin-FKp6nQa-.js
3
+ +++ b/dist/lazy-load-component-plugin-FKp6nQa-.js
4
+ @@ -236,6 +236,41 @@ function getTargetModuleInfo(id, instance) {
5
+ remoteEntry
6
+ };
7
+ }
8
+ +function normalizeHref(href) {
9
+ + if (typeof document === "undefined") {
10
+ + return href;
11
+ + }
12
+ + try {
13
+ + return new URL(href, document.baseURI).href;
14
+ + } catch {
15
+ + return href;
16
+ + }
17
+ +}
18
+ +function isStylesheetLink(link) {
19
+ + return link.relList.contains("stylesheet") || link.rel.toLowerCase().split(/\s+/u).includes("stylesheet");
20
+ +}
21
+ +function hasStylesheetLinkInHead(href, ignoredLink) {
22
+ + if (typeof document === "undefined" || !document.head) {
23
+ + return false;
24
+ + }
25
+ + const normalizedHref = normalizeHref(href);
26
+ + return Array.from(
27
+ + document.head.querySelectorAll("link[href]")
28
+ + ).some(
29
+ + (link) => link !== ignoredLink && isStylesheetLink(link) && normalizeHref(link.href) === normalizedHref
30
+ + );
31
+ +}
32
+ +function StylesheetAsset({ href }) {
33
+ + const [shouldRender, setShouldRender] = React.useState(true);
34
+ + const linkRef = React.useRef(null);
35
+ + React.useEffect(() => {
36
+ + setShouldRender(!hasStylesheetLinkInHead(href, linkRef.current));
37
+ + }, [href]);
38
+ + if (!shouldRender) {
39
+ + return null;
40
+ + }
41
+ + return /* @__PURE__ */ React.createElement("link", { ref: linkRef, href, rel: "stylesheet", type: "text/css" });
42
+ +}
43
+ function collectSSRAssets(options) {
44
+ const {
45
+ id,
46
+ @@ -254,15 +289,19 @@ function collectSSRAssets(options) {
47
+ }
48
+ const { module: targetModule, publicPath, remoteEntry } = moduleAndPublicPath;
49
+ if (injectLink) {
50
+ + const stylesheetHrefs = /* @__PURE__ */ new Set();
51
+ [...targetModule.assets.css.sync, ...targetModule.assets.css.async].sort().forEach((file, index) => {
52
+ + const href = `${publicPath}${file}`;
53
+ + if (stylesheetHrefs.has(href)) {
54
+ + return;
55
+ + }
56
+ + stylesheetHrefs.add(href);
57
+ links.push(
58
+ /* @__PURE__ */ React.createElement(
59
+ - "link",
60
+ + StylesheetAsset,
61
+ {
62
+ key: `${file.split(".")[0]}_${index}`,
63
+ - href: `${publicPath}${file}`,
64
+ - rel: "stylesheet",
65
+ - type: "text/css"
66
+ + href
67
+ }
68
+ )
69
+ );
70
+ diff --git a/dist/lazy-load-component-plugin-DEu-DfZt.mjs b/dist/lazy-load-component-plugin-DEu-DfZt.mjs
71
+ --- a/dist/lazy-load-component-plugin-DEu-DfZt.mjs
72
+ +++ b/dist/lazy-load-component-plugin-DEu-DfZt.mjs
73
+ @@ -235,6 +235,41 @@ function getTargetModuleInfo(id, instance) {
74
+ remoteEntry
75
+ };
76
+ }
77
+ +function normalizeHref(href) {
78
+ + if (typeof document === "undefined") {
79
+ + return href;
80
+ + }
81
+ + try {
82
+ + return new URL(href, document.baseURI).href;
83
+ + } catch {
84
+ + return href;
85
+ + }
86
+ +}
87
+ +function isStylesheetLink(link) {
88
+ + return link.relList.contains("stylesheet") || link.rel.toLowerCase().split(/\s+/u).includes("stylesheet");
89
+ +}
90
+ +function hasStylesheetLinkInHead(href, ignoredLink) {
91
+ + if (typeof document === "undefined" || !document.head) {
92
+ + return false;
93
+ + }
94
+ + const normalizedHref = normalizeHref(href);
95
+ + return Array.from(
96
+ + document.head.querySelectorAll("link[href]")
97
+ + ).some(
98
+ + (link) => link !== ignoredLink && isStylesheetLink(link) && normalizeHref(link.href) === normalizedHref
99
+ + );
100
+ +}
101
+ +function StylesheetAsset({ href }) {
102
+ + const [shouldRender, setShouldRender] = useState(true);
103
+ + const linkRef = useRef(null);
104
+ + useEffect(() => {
105
+ + setShouldRender(!hasStylesheetLinkInHead(href, linkRef.current));
106
+ + }, [href]);
107
+ + if (!shouldRender) {
108
+ + return null;
109
+ + }
110
+ + return /* @__PURE__ */ React__default.createElement("link", { ref: linkRef, href, rel: "stylesheet", type: "text/css" });
111
+ +}
112
+ function collectSSRAssets(options) {
113
+ const {
114
+ id,
115
+ @@ -253,15 +288,19 @@ function collectSSRAssets(options) {
116
+ }
117
+ const { module: targetModule, publicPath, remoteEntry } = moduleAndPublicPath;
118
+ if (injectLink) {
119
+ + const stylesheetHrefs = /* @__PURE__ */ new Set();
120
+ [...targetModule.assets.css.sync, ...targetModule.assets.css.async].sort().forEach((file, index) => {
121
+ + const href = `${publicPath}${file}`;
122
+ + if (stylesheetHrefs.has(href)) {
123
+ + return;
124
+ + }
125
+ + stylesheetHrefs.add(href);
126
+ links.push(
127
+ /* @__PURE__ */ React__default.createElement(
128
+ - "link",
129
+ + StylesheetAsset,
130
+ {
131
+ key: `${file.split(".")[0]}_${index}`,
132
+ - href: `${publicPath}${file}`,
133
+ - rel: "stylesheet",
134
+ - type: "text/css"
135
+ + href
136
+ }
137
+ )
138
+ );
139
+ diff --git a/dist/lazy/wrapNoSSR.d.ts b/dist/lazy/wrapNoSSR.d.ts
140
+ --- a/dist/lazy/wrapNoSSR.d.ts
141
+ +++ b/dist/lazy/wrapNoSSR.d.ts
142
+ @@ -6,4 +6,4 @@ export declare function wrapNoSSR<T, E extends keyof T>(createLazyComponentFn:
143
+ key?: React.Key | null;
144
+ } : {
145
+ key?: React.Key | null;
146
+ -}) => import("node_modules/@types/react").JSX.Element;
147
+ +}) => import("react").JSX.Element;
148
+ diff --git a/dist/provider/versions/v18.d.ts b/dist/provider/versions/v18.d.ts
149
+ --- a/dist/provider/versions/v18.d.ts
150
+ +++ b/dist/provider/versions/v18.d.ts
151
+ @@ -12,7 +12,7 @@ export interface Root {
152
+ unmount(): void;
153
+ }
154
+ export declare function createReact18Root(container: Element | DocumentFragment, options?: CreateRootOptions): Root;
155
+ -export declare function hydrateReact18Root(container: Element | DocumentFragment, initialChildren: React.ReactNode, options?: CreateRootOptions): import("node_modules/@types/react-dom/client").Root;
156
+ +export declare function hydrateReact18Root(container: Element | DocumentFragment, initialChildren: React.ReactNode, options?: CreateRootOptions): import("react-dom/client").Root;
157
+ export declare function createBridgeComponent<T = any>(bridgeInfo: Omit<ProviderFnParams<T>, 'createRoot'>): () => {
158
+ render(info: import("../..").RenderParams): Promise<void>;
159
+ destroy(info: import("../..").DestroyParams): void;
160
+ diff --git a/dist/remote/base-component/create.d.ts b/dist/remote/base-component/create.d.ts
161
+ --- a/dist/remote/base-component/create.d.ts
162
+ +++ b/dist/remote/base-component/create.d.ts
163
+ @@ -1,7 +1,7 @@
164
+ import { type LazyRemoteComponentInfo } from '../createHelpers';
165
+ export type { LazyRemoteComponentInfo };
166
+ -declare const createLazyRemoteComponent: <T = Record<string, unknown>, E extends keyof T = keyof T>(info: LazyRemoteComponentInfo<T, E>) => import("node_modules/@types/react").LazyExoticComponent<import("node_modules/@types/react").ForwardRefExoticComponent<Omit<import("../..").RemoteComponentProps<Record<string, unknown>>, "ref"> & import("node_modules/@types/react").RefAttributes<HTMLDivElement>>>;
167
+ -export declare const createRemoteAppComponent: <T = Record<string, unknown>, E extends keyof T = keyof T>(info: LazyRemoteComponentInfo<T, E>) => import("node_modules/@types/react").ForwardRefExoticComponent<Omit<import("../..").RemoteComponentProps<Record<string, unknown>>, "ref"> & import("node_modules/@types/react").RefAttributes<HTMLDivElement>>;
168
+ +declare const createLazyRemoteComponent: <T = Record<string, unknown>, E extends keyof T = keyof T>(info: LazyRemoteComponentInfo<T, E>) => import("react").LazyExoticComponent<import("react").ForwardRefExoticComponent<Omit<import("../..").RemoteComponentProps<Record<string, unknown>>, "ref"> & import("react").RefAttributes<HTMLDivElement>>>;
169
+ +export declare const createRemoteAppComponent: <T = Record<string, unknown>, E extends keyof T = keyof T>(info: LazyRemoteComponentInfo<T, E>) => import("react").ForwardRefExoticComponent<Omit<import("../..").RemoteComponentProps<Record<string, unknown>>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
170
+ /**
171
+ * @deprecated createRemoteComponent is deprecated, please use createRemoteAppComponent instead!
172
+ */
173
+ diff --git a/dist/remote/router-component/create.d.ts b/dist/remote/router-component/create.d.ts
174
+ --- a/dist/remote/router-component/create.d.ts
175
+ +++ b/dist/remote/router-component/create.d.ts
176
+ @@ -1,7 +1,7 @@
177
+ import { type LazyRemoteComponentInfo } from '../createHelpers';
178
+ export type { LazyRemoteComponentInfo };
179
+ -declare const createLazyRemoteComponent: <T = Record<string, unknown>, E extends keyof T = keyof T>(info: LazyRemoteComponentInfo<T, E>) => import("node_modules/@types/react").LazyExoticComponent<import("node_modules/@types/react").ForwardRefExoticComponent<Omit<import("../..").RemoteComponentProps<Record<string, unknown>>, "ref"> & import("node_modules/@types/react").RefAttributes<HTMLDivElement>>>;
180
+ -export declare const createRemoteAppComponent: <T = Record<string, unknown>, E extends keyof T = keyof T>(info: LazyRemoteComponentInfo<T, E>) => import("node_modules/@types/react").ForwardRefExoticComponent<Omit<import("../..").RemoteComponentProps<Record<string, unknown>>, "ref"> & import("node_modules/@types/react").RefAttributes<HTMLDivElement>>;
181
+ +declare const createLazyRemoteComponent: <T = Record<string, unknown>, E extends keyof T = keyof T>(info: LazyRemoteComponentInfo<T, E>) => import("react").LazyExoticComponent<import("react").ForwardRefExoticComponent<Omit<import("../..").RemoteComponentProps<Record<string, unknown>>, "ref"> & import("react").RefAttributes<HTMLDivElement>>>;
182
+ +export declare const createRemoteAppComponent: <T = Record<string, unknown>, E extends keyof T = keyof T>(info: LazyRemoteComponentInfo<T, E>) => import("react").ForwardRefExoticComponent<Omit<import("../..").RemoteComponentProps<Record<string, unknown>>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
183
+ /**
184
+ * @deprecated createRemoteComponent is deprecated, please use createRemoteAppComponent instead!
185
+ */