@bleedingdev/modern-js-ultramodern-create 3.9.0-ultramodern.2 → 3.9.0-ultramodern.21

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 (442) hide show
  1. package/README.md +43 -74
  2. package/dist/cjs/cli/package-source.cjs +2 -2
  3. package/dist/cjs/cli/project-setup.cjs +2 -22
  4. package/dist/cjs/index.cjs +9 -1
  5. package/dist/cjs/locale/en.cjs +2 -1
  6. package/dist/cjs/locale/zh.cjs +2 -1
  7. package/dist/cjs/ultramodern-package-source.cjs +13 -9
  8. package/dist/cjs/ultramodern-release-cohort.cjs +6 -21
  9. package/dist/cjs/ultramodern-tooling/commands/cloudflare-output-verify.cjs +49 -56
  10. package/dist/cjs/ultramodern-tooling/commands/context.cjs +11 -29
  11. package/dist/cjs/ultramodern-tooling/commands/routes-generate-app.cjs +67 -0
  12. package/dist/cjs/ultramodern-tooling/commands/routes-generate.cjs +24 -53
  13. package/dist/cjs/ultramodern-tooling/commands/validate.cjs +5 -11
  14. package/dist/cjs/ultramodern-tooling/commands.cjs +15 -8
  15. package/dist/cjs/ultramodern-tooling/config/index.cjs +10 -24
  16. package/dist/cjs/ultramodern-tooling/config/load.cjs +12 -10
  17. package/dist/cjs/ultramodern-tooling/config/metadata.cjs +34 -32
  18. package/dist/cjs/ultramodern-tooling/config/normalize.cjs +165 -164
  19. package/dist/cjs/ultramodern-workspace/add-shell.cjs +118 -118
  20. package/dist/cjs/ultramodern-workspace/add-vertical/execute.cjs +121 -25
  21. package/dist/cjs/ultramodern-workspace/add-vertical/plan.cjs +14 -160
  22. package/dist/cjs/ultramodern-workspace/add-vertical/preflight.cjs +16 -48
  23. package/dist/cjs/ultramodern-workspace/add-vertical/preview.cjs +78 -0
  24. package/dist/cjs/ultramodern-workspace/add-vertical/shell-files.cjs +87 -24
  25. package/dist/cjs/ultramodern-workspace/add-vertical/topology.cjs +4 -1
  26. package/dist/cjs/ultramodern-workspace/add-vertical/transaction.cjs +378 -45
  27. package/dist/cjs/ultramodern-workspace/add-vertical/workspace-state.cjs +21 -44
  28. package/dist/cjs/ultramodern-workspace/add-vertical.cjs +0 -9
  29. package/dist/cjs/ultramodern-workspace/api/client.cjs +5 -5
  30. package/dist/cjs/ultramodern-workspace/api/contracts.cjs +2 -2
  31. package/dist/cjs/ultramodern-workspace/api/rpc.cjs +20 -18
  32. package/dist/cjs/ultramodern-workspace/api/service.cjs +49 -24
  33. package/dist/cjs/ultramodern-workspace/api/shared.cjs +28 -18
  34. package/dist/cjs/ultramodern-workspace/app-files.cjs +3 -23
  35. package/dist/cjs/ultramodern-workspace/backend-federation.cjs +27 -27
  36. package/dist/cjs/ultramodern-workspace/contracts.cjs +14 -183
  37. package/dist/cjs/ultramodern-workspace/delivery-unit-schema/surfaces.cjs +85 -0
  38. package/dist/cjs/ultramodern-workspace/delivery-unit-schema/types.cjs +8 -85
  39. package/dist/cjs/ultramodern-workspace/delivery-unit-stamp.cjs +16 -4
  40. package/dist/cjs/ultramodern-workspace/delivery-unit-sync.cjs +27 -17
  41. package/dist/cjs/ultramodern-workspace/delivery-unit.cjs +16 -10
  42. package/dist/cjs/ultramodern-workspace/demo-components.cjs +66 -433
  43. package/dist/cjs/ultramodern-workspace/descriptors.cjs +0 -4
  44. package/dist/cjs/ultramodern-workspace/fs-io.cjs +37 -2
  45. package/dist/cjs/ultramodern-workspace/generation-result.cjs +4 -4
  46. package/dist/cjs/ultramodern-workspace/index.cjs +2 -5
  47. package/dist/cjs/ultramodern-workspace/mf-validation/constants.cjs +0 -6
  48. package/dist/cjs/ultramodern-workspace/mf-validation/discovery.cjs +6 -6
  49. package/dist/cjs/{ultramodern-tooling/commands/migrate-strict-effect/generated-patches.cjs → ultramodern-workspace/mf-validation/exposes.cjs} +13 -17
  50. package/dist/cjs/ultramodern-workspace/mf-validation/inspect.cjs +26 -7
  51. package/dist/cjs/ultramodern-workspace/mf-validation/object-literal.cjs +21 -122
  52. package/dist/cjs/ultramodern-workspace/mf-validation/path-utils.cjs +37 -38
  53. package/dist/cjs/ultramodern-workspace/mf-validation/syntax.cjs +93 -153
  54. package/dist/cjs/ultramodern-workspace/mf-validation.cjs +4 -0
  55. package/dist/cjs/ultramodern-workspace/module-federation/config.cjs +24 -29
  56. package/dist/cjs/ultramodern-workspace/module-federation/reexport-module.cjs +39 -58
  57. package/dist/cjs/ultramodern-workspace/module-federation/remote-refs.cjs +1 -43
  58. package/dist/cjs/ultramodern-workspace/package-json.cjs +63 -37
  59. package/dist/cjs/ultramodern-workspace/patch-inventory.cjs +104 -0
  60. package/dist/cjs/ultramodern-workspace/policy.cjs +3 -577
  61. package/dist/cjs/ultramodern-workspace/public-surface.cjs +3 -3
  62. package/dist/cjs/ultramodern-workspace/routes.cjs +2 -11
  63. package/dist/cjs/ultramodern-workspace/shared-patches.cjs +12 -2
  64. package/dist/cjs/ultramodern-workspace/shells.cjs +0 -70
  65. package/dist/cjs/ultramodern-workspace/tooling-command-catalog.cjs +27 -41
  66. package/dist/cjs/ultramodern-workspace/tsconfigs.cjs +8 -2
  67. package/dist/cjs/ultramodern-workspace/validation/architecture.cjs +397 -0
  68. package/dist/cjs/ultramodern-workspace/validation/assertions.cjs +140 -0
  69. package/dist/cjs/ultramodern-workspace/validation/types.cjs +18 -0
  70. package/dist/cjs/ultramodern-workspace/validation/workspace.cjs +344 -0
  71. package/dist/cjs/ultramodern-workspace/versions.cjs +81 -45
  72. package/dist/cjs/ultramodern-workspace/workspace-artifact-ownership.cjs +183 -0
  73. package/dist/cjs/ultramodern-workspace/workspace-script-plan.cjs +36 -25
  74. package/dist/cjs/ultramodern-workspace/workspace-scripts.cjs +11 -200
  75. package/dist/cjs/ultramodern-workspace/workspace-validation-contract.cjs +62 -373
  76. package/dist/cjs/ultramodern-workspace/write-app.cjs +19 -11
  77. package/dist/cjs/ultramodern-workspace/write-workspace.cjs +20 -50
  78. package/dist/cjs/ultramodern-workspace/zerops.cjs +2 -0
  79. package/dist/esm/cli/package-source.js +3 -3
  80. package/dist/esm/cli/project-setup.js +2 -22
  81. package/dist/esm/index.js +10 -2
  82. package/dist/esm/locale/en.js +2 -1
  83. package/dist/esm/locale/zh.js +2 -1
  84. package/dist/esm/ultramodern-package-source.js +14 -4
  85. package/dist/esm/ultramodern-release-cohort.js +5 -14
  86. package/dist/esm/ultramodern-tooling/commands/cloudflare-output-verify.js +49 -56
  87. package/dist/esm/ultramodern-tooling/commands/context.js +10 -26
  88. package/dist/esm/ultramodern-tooling/commands/routes-generate-app.js +35 -0
  89. package/dist/esm/ultramodern-tooling/commands/routes-generate.js +25 -54
  90. package/dist/esm/ultramodern-tooling/commands/validate.js +6 -12
  91. package/dist/esm/ultramodern-tooling/commands.js +15 -9
  92. package/dist/esm/ultramodern-tooling/config/index.js +0 -2
  93. package/dist/esm/ultramodern-tooling/config/load.js +9 -9
  94. package/dist/esm/ultramodern-tooling/config/metadata.js +33 -28
  95. package/dist/esm/ultramodern-tooling/config/normalize.js +159 -156
  96. package/dist/esm/ultramodern-workspace/add-shell.js +124 -123
  97. package/dist/esm/ultramodern-workspace/add-vertical/execute.js +119 -27
  98. package/dist/esm/ultramodern-workspace/add-vertical/plan.js +16 -150
  99. package/dist/esm/ultramodern-workspace/add-vertical/preflight.js +15 -47
  100. package/dist/esm/ultramodern-workspace/add-vertical/preview.js +40 -0
  101. package/dist/esm/ultramodern-workspace/add-vertical/shell-files.js +87 -25
  102. package/dist/esm/ultramodern-workspace/add-vertical/topology.js +4 -1
  103. package/dist/esm/ultramodern-workspace/add-vertical/transaction.js +373 -46
  104. package/dist/esm/ultramodern-workspace/add-vertical/workspace-state.js +17 -34
  105. package/dist/esm/ultramodern-workspace/add-vertical.js +1 -1
  106. package/dist/esm/ultramodern-workspace/api/client.js +5 -5
  107. package/dist/esm/ultramodern-workspace/api/contracts.js +2 -2
  108. package/dist/esm/ultramodern-workspace/api/rpc.js +20 -18
  109. package/dist/esm/ultramodern-workspace/api/service.js +49 -24
  110. package/dist/esm/ultramodern-workspace/api/shared.js +28 -18
  111. package/dist/esm/ultramodern-workspace/app-files.js +3 -23
  112. package/dist/esm/ultramodern-workspace/backend-federation.js +5 -5
  113. package/dist/esm/ultramodern-workspace/contracts.js +14 -180
  114. package/dist/esm/ultramodern-workspace/delivery-unit-schema/surfaces.js +41 -0
  115. package/dist/esm/ultramodern-workspace/delivery-unit-schema/types.js +1 -75
  116. package/dist/esm/ultramodern-workspace/delivery-unit-stamp.js +16 -4
  117. package/dist/esm/ultramodern-workspace/delivery-unit-sync.js +28 -18
  118. package/dist/esm/ultramodern-workspace/delivery-unit.js +12 -6
  119. package/dist/esm/ultramodern-workspace/demo-components.js +67 -428
  120. package/dist/esm/ultramodern-workspace/descriptors.js +1 -2
  121. package/dist/esm/ultramodern-workspace/fs-io.js +37 -2
  122. package/dist/esm/ultramodern-workspace/generation-result.js +3 -3
  123. package/dist/esm/ultramodern-workspace/index.js +1 -1
  124. package/dist/esm/ultramodern-workspace/mf-validation/constants.js +1 -4
  125. package/dist/esm/ultramodern-workspace/mf-validation/discovery.js +7 -7
  126. package/dist/esm/ultramodern-workspace/mf-validation/exposes.js +14 -0
  127. package/dist/esm/ultramodern-workspace/mf-validation/inspect.js +27 -8
  128. package/dist/esm/ultramodern-workspace/mf-validation/object-literal.js +22 -123
  129. package/dist/esm/ultramodern-workspace/mf-validation/path-utils.js +36 -34
  130. package/dist/esm/ultramodern-workspace/mf-validation/syntax.js +83 -143
  131. package/dist/esm/ultramodern-workspace/mf-validation.js +1 -0
  132. package/dist/esm/ultramodern-workspace/module-federation/config.js +25 -30
  133. package/dist/esm/ultramodern-workspace/module-federation/reexport-module.js +39 -58
  134. package/dist/esm/ultramodern-workspace/module-federation/remote-refs.js +1 -43
  135. package/dist/esm/ultramodern-workspace/package-json.js +58 -32
  136. package/dist/esm/ultramodern-workspace/patch-inventory.js +66 -0
  137. package/dist/esm/ultramodern-workspace/policy.js +2 -564
  138. package/dist/esm/ultramodern-workspace/public-surface.js +3 -3
  139. package/dist/esm/ultramodern-workspace/routes.js +2 -11
  140. package/dist/esm/ultramodern-workspace/shared-patches.js +2 -2
  141. package/dist/esm/ultramodern-workspace/shells.js +3 -67
  142. package/dist/esm/ultramodern-workspace/tooling-command-catalog.js +22 -37
  143. package/dist/esm/ultramodern-workspace/tsconfigs.js +9 -3
  144. package/dist/esm/ultramodern-workspace/validation/architecture.js +348 -0
  145. package/dist/esm/ultramodern-workspace/validation/assertions.js +65 -0
  146. package/dist/esm/ultramodern-workspace/validation/types.js +0 -0
  147. package/dist/esm/ultramodern-workspace/validation/workspace.js +286 -0
  148. package/dist/esm/ultramodern-workspace/versions.js +74 -29
  149. package/dist/esm/ultramodern-workspace/workspace-artifact-ownership.js +128 -0
  150. package/dist/esm/ultramodern-workspace/workspace-script-plan.js +35 -27
  151. package/dist/esm/ultramodern-workspace/workspace-scripts.js +10 -190
  152. package/dist/esm/ultramodern-workspace/workspace-validation-contract.js +65 -376
  153. package/dist/esm/ultramodern-workspace/write-app.js +18 -10
  154. package/dist/esm/ultramodern-workspace/write-workspace.js +25 -52
  155. package/dist/esm/ultramodern-workspace/zerops.js +2 -0
  156. package/dist/esm-node/cli/package-source.js +3 -3
  157. package/dist/esm-node/cli/project-setup.js +2 -22
  158. package/dist/esm-node/index.js +10 -2
  159. package/dist/esm-node/locale/en.js +2 -1
  160. package/dist/esm-node/locale/zh.js +2 -1
  161. package/dist/esm-node/ultramodern-package-source.js +14 -4
  162. package/dist/esm-node/ultramodern-release-cohort.js +5 -14
  163. package/dist/esm-node/ultramodern-tooling/commands/cloudflare-output-verify.js +49 -56
  164. package/dist/esm-node/ultramodern-tooling/commands/context.js +10 -26
  165. package/dist/esm-node/ultramodern-tooling/commands/routes-generate-app.js +36 -0
  166. package/dist/esm-node/ultramodern-tooling/commands/routes-generate.js +25 -54
  167. package/dist/esm-node/ultramodern-tooling/commands/validate.js +6 -12
  168. package/dist/esm-node/ultramodern-tooling/commands.js +15 -9
  169. package/dist/esm-node/ultramodern-tooling/config/index.js +0 -2
  170. package/dist/esm-node/ultramodern-tooling/config/load.js +9 -9
  171. package/dist/esm-node/ultramodern-tooling/config/metadata.js +33 -28
  172. package/dist/esm-node/ultramodern-tooling/config/normalize.js +159 -156
  173. package/dist/esm-node/ultramodern-workspace/add-shell.js +124 -123
  174. package/dist/esm-node/ultramodern-workspace/add-vertical/execute.js +119 -27
  175. package/dist/esm-node/ultramodern-workspace/add-vertical/plan.js +16 -150
  176. package/dist/esm-node/ultramodern-workspace/add-vertical/preflight.js +15 -47
  177. package/dist/esm-node/ultramodern-workspace/add-vertical/preview.js +41 -0
  178. package/dist/esm-node/ultramodern-workspace/add-vertical/shell-files.js +87 -25
  179. package/dist/esm-node/ultramodern-workspace/add-vertical/topology.js +4 -1
  180. package/dist/esm-node/ultramodern-workspace/add-vertical/transaction.js +373 -46
  181. package/dist/esm-node/ultramodern-workspace/add-vertical/workspace-state.js +17 -34
  182. package/dist/esm-node/ultramodern-workspace/add-vertical.js +1 -1
  183. package/dist/esm-node/ultramodern-workspace/api/client.js +5 -5
  184. package/dist/esm-node/ultramodern-workspace/api/contracts.js +2 -2
  185. package/dist/esm-node/ultramodern-workspace/api/rpc.js +20 -18
  186. package/dist/esm-node/ultramodern-workspace/api/service.js +49 -24
  187. package/dist/esm-node/ultramodern-workspace/api/shared.js +28 -18
  188. package/dist/esm-node/ultramodern-workspace/app-files.js +3 -23
  189. package/dist/esm-node/ultramodern-workspace/backend-federation.js +5 -5
  190. package/dist/esm-node/ultramodern-workspace/contracts.js +14 -180
  191. package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/surfaces.js +42 -0
  192. package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/types.js +1 -75
  193. package/dist/esm-node/ultramodern-workspace/delivery-unit-stamp.js +16 -4
  194. package/dist/esm-node/ultramodern-workspace/delivery-unit-sync.js +28 -18
  195. package/dist/esm-node/ultramodern-workspace/delivery-unit.js +12 -6
  196. package/dist/esm-node/ultramodern-workspace/demo-components.js +67 -428
  197. package/dist/esm-node/ultramodern-workspace/descriptors.js +1 -2
  198. package/dist/esm-node/ultramodern-workspace/fs-io.js +37 -2
  199. package/dist/esm-node/ultramodern-workspace/generation-result.js +3 -3
  200. package/dist/esm-node/ultramodern-workspace/index.js +1 -1
  201. package/dist/esm-node/ultramodern-workspace/mf-validation/constants.js +1 -4
  202. package/dist/esm-node/ultramodern-workspace/mf-validation/discovery.js +7 -7
  203. package/dist/esm-node/ultramodern-workspace/mf-validation/exposes.js +15 -0
  204. package/dist/esm-node/ultramodern-workspace/mf-validation/inspect.js +27 -8
  205. package/dist/esm-node/ultramodern-workspace/mf-validation/object-literal.js +22 -123
  206. package/dist/esm-node/ultramodern-workspace/mf-validation/path-utils.js +36 -34
  207. package/dist/esm-node/ultramodern-workspace/mf-validation/syntax.js +83 -143
  208. package/dist/esm-node/ultramodern-workspace/mf-validation.js +1 -0
  209. package/dist/esm-node/ultramodern-workspace/module-federation/config.js +25 -30
  210. package/dist/esm-node/ultramodern-workspace/module-federation/reexport-module.js +39 -58
  211. package/dist/esm-node/ultramodern-workspace/module-federation/remote-refs.js +1 -43
  212. package/dist/esm-node/ultramodern-workspace/package-json.js +58 -32
  213. package/dist/esm-node/ultramodern-workspace/patch-inventory.js +67 -0
  214. package/dist/esm-node/ultramodern-workspace/policy.js +2 -564
  215. package/dist/esm-node/ultramodern-workspace/public-surface.js +3 -3
  216. package/dist/esm-node/ultramodern-workspace/routes.js +2 -11
  217. package/dist/esm-node/ultramodern-workspace/shared-patches.js +2 -2
  218. package/dist/esm-node/ultramodern-workspace/shells.js +3 -67
  219. package/dist/esm-node/ultramodern-workspace/tooling-command-catalog.js +22 -37
  220. package/dist/esm-node/ultramodern-workspace/tsconfigs.js +9 -3
  221. package/dist/esm-node/ultramodern-workspace/validation/architecture.js +349 -0
  222. package/dist/esm-node/ultramodern-workspace/validation/assertions.js +66 -0
  223. package/dist/esm-node/ultramodern-workspace/validation/types.js +1 -0
  224. package/dist/esm-node/ultramodern-workspace/validation/workspace.js +287 -0
  225. package/dist/esm-node/ultramodern-workspace/versions.js +74 -29
  226. package/dist/esm-node/ultramodern-workspace/workspace-artifact-ownership.js +129 -0
  227. package/dist/esm-node/ultramodern-workspace/workspace-script-plan.js +35 -27
  228. package/dist/esm-node/ultramodern-workspace/workspace-scripts.js +10 -190
  229. package/dist/esm-node/ultramodern-workspace/workspace-validation-contract.js +65 -376
  230. package/dist/esm-node/ultramodern-workspace/write-app.js +18 -10
  231. package/dist/esm-node/ultramodern-workspace/write-workspace.js +25 -52
  232. package/dist/esm-node/ultramodern-workspace/zerops.js +2 -0
  233. package/dist/types/cli/project-setup.d.ts +1 -1
  234. package/dist/types/locale/en.d.ts +1 -0
  235. package/dist/types/locale/index.d.ts +2 -0
  236. package/dist/types/locale/zh.d.ts +1 -0
  237. package/dist/types/ultramodern-package-source.d.ts +2 -4
  238. package/dist/types/ultramodern-release-cohort.d.ts +1 -3
  239. package/dist/types/ultramodern-tooling/commands/cloudflare-output-verify.d.ts +2 -2
  240. package/dist/types/ultramodern-tooling/commands/context.d.ts +4 -1
  241. package/dist/types/ultramodern-tooling/commands/routes-generate-app.d.ts +1 -0
  242. package/dist/types/ultramodern-tooling/commands/routes-generate.d.ts +1 -1
  243. package/dist/types/ultramodern-tooling/commands/validate.d.ts +1 -1
  244. package/dist/types/ultramodern-tooling/config/index.d.ts +0 -2
  245. package/dist/types/ultramodern-tooling/config/load.d.ts +10 -2
  246. package/dist/types/ultramodern-tooling/config/metadata.d.ts +2 -2
  247. package/dist/types/ultramodern-tooling/config/normalize.d.ts +19 -19
  248. package/dist/types/ultramodern-tooling/config/types.d.ts +2 -9
  249. package/dist/types/ultramodern-workspace/add-shell.d.ts +1 -1
  250. package/dist/types/ultramodern-workspace/add-vertical/execute.d.ts +1 -0
  251. package/dist/types/ultramodern-workspace/add-vertical/preflight.d.ts +4 -3
  252. package/dist/types/ultramodern-workspace/add-vertical/preview.d.ts +4 -0
  253. package/dist/types/ultramodern-workspace/add-vertical/shell-files.d.ts +7 -2
  254. package/dist/types/ultramodern-workspace/add-vertical/transaction.d.ts +32 -6
  255. package/dist/types/ultramodern-workspace/add-vertical/workspace-state.d.ts +10 -7
  256. package/dist/types/ultramodern-workspace/add-vertical.d.ts +1 -1
  257. package/dist/types/ultramodern-workspace/api/client.d.ts +3 -1
  258. package/dist/types/ultramodern-workspace/api/rpc.d.ts +1 -1
  259. package/dist/types/ultramodern-workspace/api/service.d.ts +3 -1
  260. package/dist/types/ultramodern-workspace/api/shared.d.ts +2 -0
  261. package/dist/types/ultramodern-workspace/backend-federation.d.ts +1 -1
  262. package/dist/types/ultramodern-workspace/contracts.d.ts +1 -3
  263. package/dist/types/ultramodern-workspace/delivery-unit-schema/surfaces.d.ts +17 -0
  264. package/dist/types/ultramodern-workspace/delivery-unit-schema/types.d.ts +3 -68
  265. package/dist/types/ultramodern-workspace/delivery-unit-stamp.d.ts +2 -2
  266. package/dist/types/ultramodern-workspace/delivery-unit.d.ts +3 -3
  267. package/dist/types/ultramodern-workspace/demo-components.d.ts +0 -3
  268. package/dist/types/ultramodern-workspace/descriptors.d.ts +0 -1
  269. package/dist/types/ultramodern-workspace/fs-io.d.ts +1 -1
  270. package/dist/types/ultramodern-workspace/index.d.ts +1 -1
  271. package/dist/types/ultramodern-workspace/mf-validation/constants.d.ts +0 -1
  272. package/dist/types/ultramodern-workspace/mf-validation/exposes.d.ts +11 -0
  273. package/dist/types/ultramodern-workspace/mf-validation/path-utils.d.ts +2 -3
  274. package/dist/types/ultramodern-workspace/mf-validation/syntax.d.ts +4 -3
  275. package/dist/types/ultramodern-workspace/mf-validation/types.d.ts +1 -0
  276. package/dist/types/ultramodern-workspace/mf-validation.d.ts +1 -0
  277. package/dist/types/ultramodern-workspace/module-federation/config.d.ts +1 -1
  278. package/dist/types/ultramodern-workspace/module-federation/reexport-module.d.ts +2 -2
  279. package/dist/types/ultramodern-workspace/package-json.d.ts +1 -1
  280. package/dist/types/ultramodern-workspace/patch-inventory.d.ts +10 -0
  281. package/dist/types/ultramodern-workspace/policy.d.ts +31 -209
  282. package/dist/types/ultramodern-workspace/routes.d.ts +6 -1
  283. package/dist/types/ultramodern-workspace/shells.d.ts +2 -15
  284. package/dist/types/ultramodern-workspace/tooling-command-catalog.d.ts +8 -7
  285. package/dist/types/ultramodern-workspace/types.d.ts +9 -9
  286. package/dist/types/ultramodern-workspace/validation/architecture.d.ts +2 -0
  287. package/dist/types/ultramodern-workspace/validation/assertions.d.ts +14 -0
  288. package/dist/types/ultramodern-workspace/validation/types.d.ts +9 -0
  289. package/dist/types/ultramodern-workspace/validation/workspace.d.ts +6 -0
  290. package/dist/types/ultramodern-workspace/versions.d.ts +73 -28
  291. package/dist/types/ultramodern-workspace/workspace-artifact-ownership.d.ts +18 -0
  292. package/dist/types/ultramodern-workspace/workspace-script-plan.d.ts +4 -5
  293. package/dist/types/ultramodern-workspace/workspace-scripts.d.ts +8 -13
  294. package/dist/types/ultramodern-workspace/workspace-validation-contract.d.ts +22 -188
  295. package/dist/types/ultramodern-workspace/write-workspace.d.ts +1 -3
  296. package/package.json +18 -11
  297. package/{template-workspace/.modernjs/release-cohort.json → release-cohort.json} +88 -40
  298. package/template-workspace/.codex/skills/rspack-tracing/scripts/analyze_trace.js +1 -1
  299. package/template-workspace/README.md.handlebars +20 -35
  300. package/template-workspace/oxfmt.config.ts +3 -0
  301. package/template-workspace/pnpm-workspace.yaml.handlebars +0 -24
  302. package/template-workspace/scripts/bootstrap-agent-skills.mjs +4 -4
  303. package/templates/packages/shared-contracts-index.ts +4 -332
  304. package/templates/workspace/apps/modern.config.shared-module-federation.ts.handlebars +10 -0
  305. package/templates/workspace/apps/modern.config.ts.handlebars +13 -27
  306. package/templates/workspace/apps/shared/src/routes/ultramodern-route-metadata.ts.handlebars +21 -11
  307. package/templates/workspace/apps/shell-super-app/src/routes/[lang]/page.tsx.handlebars +20 -20
  308. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.helpers.tsx.handlebars +4 -6
  309. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.imports.tsx.handlebars +2 -2
  310. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.tsx.handlebars +11 -11
  311. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.worker.helpers.tsx.handlebars +1 -1
  312. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.worker.imports.tsx.handlebars +1 -1
  313. package/templates/workspace-scripts/generate-node-backend-federation.mjs +68 -77
  314. package/templates/workspace-scripts/generate-public-surface-assets.mjs +107 -207
  315. package/templates/workspace-scripts/materialize-zerops-runtime.mjs +12 -19
  316. package/templates/workspace-scripts/proof-cloudflare-version.mjs +53 -444
  317. package/templates/workspace-scripts/proof-node-backend-federation.mjs +212 -91
  318. package/templates/workspace-scripts/{proof-workerd-ssr.mts → proof-workerd-ssr.mjs} +434 -239
  319. package/templates/workspace-scripts/ultramodern-cloudflare-proof.mjs +25 -7
  320. package/templates/workspace-scripts/ultramodern-performance-readiness.mjs +45 -147
  321. package/templates/workspace-scripts/ultramodern-typecheck.mjs +1 -1
  322. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.cjs +0 -212
  323. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.cjs +0 -47
  324. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.cjs +0 -112
  325. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.cjs +0 -55
  326. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.cjs +0 -102
  327. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.cjs +0 -195
  328. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.cjs +0 -146
  329. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.cjs +0 -110
  330. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.cjs +0 -67
  331. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.cjs +0 -307
  332. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.cjs +0 -58
  333. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.cjs +0 -71
  334. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.cjs +0 -151
  335. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/help.cjs +0 -67
  336. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/install.cjs +0 -52
  337. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/io.cjs +0 -447
  338. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.cjs +0 -323
  339. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-source.cjs +0 -87
  340. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.cjs +0 -612
  341. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.cjs +0 -376
  342. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.cjs +0 -73
  343. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.cjs +0 -215
  344. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.cjs +0 -135
  345. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect.cjs +0 -454
  346. package/dist/cjs/ultramodern-tooling/config/constants.cjs +0 -48
  347. package/dist/cjs/ultramodern-tooling/config/synthesize.cjs +0 -157
  348. package/dist/cjs/ultramodern-workspace/delivery-unit-schema/up-projection.cjs +0 -188
  349. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +0 -154
  350. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +0 -9
  351. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +0 -63
  352. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +0 -7
  353. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +0 -47
  354. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +0 -146
  355. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +0 -97
  356. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.js +0 -61
  357. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +0 -16
  358. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +0 -258
  359. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +0 -10
  360. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +0 -8
  361. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +0 -15
  362. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.js +0 -100
  363. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/help.js +0 -29
  364. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/install.js +0 -14
  365. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/io.js +0 -385
  366. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +0 -276
  367. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +0 -49
  368. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +0 -559
  369. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +0 -329
  370. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +0 -19
  371. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.js +0 -148
  372. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.js +0 -80
  373. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect.js +0 -405
  374. package/dist/esm/ultramodern-tooling/config/constants.js +0 -4
  375. package/dist/esm/ultramodern-tooling/config/synthesize.js +0 -108
  376. package/dist/esm/ultramodern-workspace/delivery-unit-schema/up-projection.js +0 -129
  377. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +0 -155
  378. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +0 -10
  379. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +0 -64
  380. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +0 -8
  381. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +0 -48
  382. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +0 -147
  383. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +0 -98
  384. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.js +0 -62
  385. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +0 -17
  386. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +0 -259
  387. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +0 -11
  388. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +0 -9
  389. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +0 -16
  390. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.js +0 -101
  391. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/help.js +0 -30
  392. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/install.js +0 -15
  393. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/io.js +0 -386
  394. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +0 -277
  395. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +0 -50
  396. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +0 -560
  397. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +0 -330
  398. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +0 -20
  399. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.js +0 -149
  400. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.js +0 -81
  401. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect.js +0 -406
  402. package/dist/esm-node/ultramodern-tooling/config/constants.js +0 -5
  403. package/dist/esm-node/ultramodern-tooling/config/synthesize.js +0 -109
  404. package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/up-projection.js +0 -130
  405. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.d.ts +0 -12
  406. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.d.ts +0 -4
  407. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.d.ts +0 -1
  408. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.d.ts +0 -3
  409. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.d.ts +0 -5
  410. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.d.ts +0 -3
  411. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.d.ts +0 -2
  412. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.d.ts +0 -2
  413. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.d.ts +0 -4
  414. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.d.ts +0 -3
  415. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.d.ts +0 -3
  416. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.d.ts +0 -8
  417. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.d.ts +0 -3
  418. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.d.ts +0 -3
  419. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/help.d.ts +0 -1
  420. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/install.d.ts +0 -2
  421. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/io.d.ts +0 -26
  422. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.d.ts +0 -25
  423. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-source.d.ts +0 -3
  424. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.d.ts +0 -26
  425. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.d.ts +0 -26
  426. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.d.ts +0 -6
  427. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.d.ts +0 -37
  428. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.d.ts +0 -4
  429. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect.d.ts +0 -2
  430. package/dist/types/ultramodern-tooling/config/constants.d.ts +0 -3
  431. package/dist/types/ultramodern-tooling/config/synthesize.d.ts +0 -5
  432. package/dist/types/ultramodern-workspace/delivery-unit-schema/up-projection.d.ts +0 -189
  433. package/template-workspace/patches/@module-federation__bridge-react@2.9.0.patch +0 -47
  434. package/template-workspace/patches/@module-federation__dts-plugin@2.9.0.patch +0 -26
  435. package/template-workspace/patches/@module-federation__modern-js-v3@2.9.0.patch +0 -268
  436. package/template-workspace/patches/@module-federation__runtime-core@2.9.0.patch +0 -13
  437. package/template-workspace/patches/drizzle-orm-ts7-strict-declarations.patch +0 -471
  438. package/template-workspace/patches/msgpackr@2.1.0.patch +0 -30
  439. package/template-workspace/patches/zod@4.5.4.patch +0 -56
  440. package/templates/workspace-scripts/check-ultramodern-api-boundaries.mts +0 -779
  441. package/templates/workspace-scripts/check-ultramodern-i18n-boundaries.mts +0 -9
  442. package/templates/workspace-scripts/validate-ultramodern-workspace.mjs.handlebars +0 -4109
@@ -0,0 +1,17 @@
1
+ import type { WorkspaceApi, WorkspaceApp } from '../types.js';
2
+ import type { ApiProtocol, ApiSurfaceDescriptor, ComponentSurfaceDescriptor, RouteSurfaceDescriptor } from './types.js';
3
+ /** Derive a canonical, SurfaceRef-valid `surfaceId` from an MF expose key. */
4
+ export declare function exposeSurfaceId(key: string): string;
5
+ /**
6
+ * Map an expose onto a component-or-route surface.
7
+ *
8
+ * Route heuristic: an expose whose key or local module path mentions `route`
9
+ * is a `route` surface; everything else is a `component`. The exposed local
10
+ * module path (e.g. `./src/...`) is a build detail the canonical model
11
+ * deliberately abstracts away, so it is dropped; the surface's single
12
+ * `browser-mf` location points at the app's MF manifest (derived from
13
+ * `app.port`, the development address for the browser bundle).
14
+ */
15
+ export declare function exposeSurface(app: WorkspaceApp, key: string, value: string): ComponentSurfaceDescriptor | RouteSurfaceDescriptor;
16
+ /** Build the API surface from its declared protocol and concrete transport mount. */
17
+ export declare function apiSurface(api: WorkspaceApi, protocol: ApiProtocol, address?: string): ApiSurfaceDescriptor;
@@ -1,20 +1,5 @@
1
- /**
2
- * Canonical MicroVertical delivery contracts (W4).
3
- *
4
- * This module DEFINES the canonical shapes only. It is intentionally UNWIRED:
5
- * no generator, normalizer, or runtime path imports it, and it does not change
6
- * any emitted output. The v1 down-projection here is a pure, tested function;
7
- * it is not invoked by any generation path.
8
- *
9
- * Binding vocabulary: root `CONTEXT.md`, ADR-0019 (Federated Loading, Unified
10
- * Delivery), ADR-0020 (Zoned Surface Versioning). See `packages/toolkit/ultramodern-create/delivery-unit-schema-SPEC.md` for the
11
- * SurfaceRef grammar, invariants, and the v1 mapping table.
12
- *
13
- * TS constraint: plain types + pure functions only. This file is scanned by
14
- * `tsgo-boundary.test.ts`; it must never import TypeScript compiler APIs.
15
- */
16
- import { type DeliveryUnitRecord } from '@modern-js/utils/universal';
17
- import { type JsonObject, type Ownership, type WorkspaceApp } from '../types.js';
1
+ /** Canonical MicroVertical delivery contracts, parsing, and serialization. */
2
+ import type { JsonObject } from '../types.js';
18
3
  /**
19
4
  * The single accountable owner of a delivery unit. Exactly one owner per unit
20
5
  * (CONTEXT.md: "MicroVertical never [has more than] one owner").
@@ -121,7 +106,7 @@ export type DeliveryUnitKind = 'microvertical' | 'shell' | 'horizontal-remote';
121
106
  * The canonical authoring shape for one indivisible delivery unit. All surfaces
122
107
  * derive from the single `sourceRevision` / `buildMarker` identity root
123
108
  * (ADR-0019 invariants 1-2). This is a superset of today's v1 `WorkspaceApp`;
124
- * see {@link projectDeliveryUnitToV1} for the lossy down-projection.
109
+ * Generator metadata supplies the concrete build and deployment addresses.
125
110
  */
126
111
  export type DeliveryUnitDescriptor = {
127
112
  unitId: string;
@@ -235,56 +220,6 @@ export declare function parseDeliveryUnitDescriptor(source: JsonObject): Deliver
235
220
  * win over a colliding unknown key.
236
221
  */
237
222
  export declare function serializeDeliveryUnitDescriptor(descriptor: DeliveryUnitDescriptor): JsonObject;
238
- /**
239
- * Generator-only fields that have no source in the canonical descriptor (port
240
- * assignment, directory layout, package identity, ownership metadata). The
241
- * descriptor deliberately does not own these; the v1 projection needs them to
242
- * reconstruct today's `WorkspaceApp` / `DeliveryUnitRecord`.
243
- */
244
- export type V1ProjectionContext = {
245
- /**
246
- * Which v1 wire vocabulary is being projected onto. Strict legacy v1 only
247
- * carries the historical WorkspaceApp fields; extended-v1 also carries the
248
- * additive delivery-unit discriminators introduced by the workspace
249
- * topology format.
250
- */
251
- mode?: V1ProjectionMode;
252
- directory: string;
253
- packageSuffix: string;
254
- displayName: string;
255
- portEnv: string;
256
- port: number;
257
- mfName: string;
258
- ownership: Ownership;
259
- packageName: string;
260
- version: string;
261
- };
262
- /**
263
- * The two v1 wire vocabularies understood by the projection pair.
264
- *
265
- * `strict-legacy` is the original v1 shape and intentionally rejects values
266
- * that would be silently collapsed by it. `extended-v1` is still schema
267
- * version 1, but permits the additive `deliveryUnitKind` and `api.protocol`
268
- * fields used by the UltraModern topology/config readers.
269
- */
270
- export type V1ProjectionMode = 'strict-legacy' | 'extended-v1';
271
- export type DeliveryUnitV1Projection = {
272
- app: WorkspaceApp;
273
- deliveryUnitRecord: DeliveryUnitRecord;
274
- /** Unknown descriptor-level fields, preserved for lossless re-serialization. */
275
- preservedUnknownFields: JsonObject;
276
- };
277
- /**
278
- * Down-project a canonical {@link DeliveryUnitDescriptor} onto today's v1
279
- * `WorkspaceApp` + `DeliveryUnitRecord` shapes. Pure and total.
280
- *
281
- * Invariant (schema-only migration preserves markers): `buildMarker`,
282
- * `sourceRevision`, and `unitId` flow straight through from the descriptor and
283
- * are never regenerated here. See `packages/toolkit/ultramodern-create/delivery-unit-schema-SPEC.md` for the field-by-field table.
284
- *
285
- * NOT wired into any generator path.
286
- */
287
- export declare function projectDeliveryUnitToV1(descriptor: DeliveryUnitDescriptor, context: V1ProjectionContext): DeliveryUnitV1Projection;
288
223
  /** Compile-time exhaustiveness guard for discriminated-union switches. */
289
224
  export declare function assertNever(value: never): never;
290
225
  export {};
@@ -1,4 +1,4 @@
1
1
  import type { WorkspaceApp } from './types.js';
2
2
  export declare function isPlainObject(value: unknown): value is Record<string, any>;
3
- /** Stamp one compact-config or reference-topology app with canonical identity. */
4
- export declare function stampDeliveryUnitIdentity(entry: Record<string, any>, scope: string, app: WorkspaceApp): void;
3
+ /** Stamp one topology app with identity derived from its package manifest. */
4
+ export declare function stampDeliveryUnitIdentity(entry: Record<string, any>, scope: string, app: WorkspaceApp, version: string): void;
@@ -1,8 +1,8 @@
1
- import { type DeliveryUnitRecord, deliveryUnitContractBlock } from '@modern-js/utils/universal';
1
+ import { type DeliveryUnitRecord, deliveryUnitContractBlock } from '@modern-js/backend-federation-contracts';
2
2
  import type { WorkspaceApp } from './types.js';
3
3
  export declare function createBuildMarker(scope: string, app: {
4
4
  id: string;
5
5
  packageSuffix: string;
6
- }): string;
6
+ }, version?: string): string;
7
7
  export { deliveryUnitContractBlock };
8
- export declare function createDeliveryUnitRecord(scope: string, app: WorkspaceApp): DeliveryUnitRecord;
8
+ export declare function createDeliveryUnitRecord(scope: string, app: WorkspaceApp, version?: string): DeliveryUnitRecord;
@@ -15,6 +15,3 @@ export declare function createRemoteEntry(app: WorkspaceApp): string;
15
15
  export declare function createRemoteExposeFragmentPage(app: WorkspaceApp, expose: string): string;
16
16
  export declare function createRemoteExposeComponent(app: WorkspaceApp, expose: string): string;
17
17
  export declare function remoteComponentOutputPath(app: WorkspaceApp, expose: string): string | undefined;
18
- export type GeneratedNavigationSurfaceKind = 'checkout-add-to-cart' | 'checkout-page' | 'demo-component' | 'shell-frame';
19
- export declare function regenerateGeneratedProductRouteAdapter(source: string): string;
20
- export declare function regenerateGeneratedNavigationSurface(source: string, kind: GeneratedNavigationSurfaceKind): string;
@@ -1,5 +1,4 @@
1
1
  import type { Ownership, VerticalApiProtocol, VerticalPreset, WorkspaceApi, WorkspaceApp } from './types.js';
2
- export declare const ULTRAMODERN_CONFIG_PATH = ".modernjs/ultramodern.json";
3
2
  export declare function distributedSsrExposes(app: WorkspaceApp): string[];
4
3
  export declare function distributedSsrFragmentSlug(expose: string): string;
5
4
  export declare function distributedSsrFragmentRoute(expose: string): string;
@@ -6,7 +6,7 @@ export declare function renderFileTemplate(relativePath: string, data: Record<st
6
6
  export declare function writeFile(targetDir: string, relativePath: string, content: string): void;
7
7
  export declare function writeFileReplacing(targetDir: string, relativePath: string, content: string): void;
8
8
  export declare function writeJson(targetDir: string, relativePath: string, value: JsonValue): void;
9
- export declare function formatGeneratedSourceCandidates(sources: readonly (readonly [relativePath: string, source: string])[]): string[];
9
+ export declare function formatGeneratedSourceCandidates(sources: readonly (readonly [relativePath: string, source: string])[], formattingWorkspaceRoot?: string): string[];
10
10
  export declare function formatGeneratedWorkspaceFiles(targetDir: string, relativePaths?: readonly string[]): void;
11
11
  export declare function renderTemplate(template: string, data: Record<string, string>): string;
12
12
  export declare function copyRootTemplate(targetDir: string, data: Record<string, string>, excludedRelativePaths?: ReadonlySet<string>): void;
@@ -5,6 +5,6 @@ export { normalizeUltramodernBridgeConfig } from './bridge-config/index.js';
5
5
  export type { OverlayBaselineViolation } from './overlay-baseline-guard.js';
6
6
  export { BASELINE_DEPENDENCY_PINS, OverlayBaselineRelaxationError, } from './overlay-baseline-guard.js';
7
7
  export { SHARED_ULTRAMODERN_WORKSPACE_PATCH_FILES } from './shared-patches.js';
8
- export { createShellDescriptor, PRIMARY_SHELL_ID, resolveConfiguredAdditionalShells, } from './shells.js';
8
+ export { createShellDescriptor, PRIMARY_SHELL_ID, } from './shells.js';
9
9
  export type { AddUltramodernShellOptions, AddUltramodernVerticalOptions, UltramodernCodeSmithOverlay, UltramodernCodeSmithOverlayRuntimeConfig, UltramodernGeneratedAppDescriptor, UltramodernGeneratedContractChange, UltramodernGenerationOperation, UltramodernGenerationResult, UltramodernGenerationWarning, UltramodernJsonMutation, UltramodernShellDependencyChange, UltramodernVerticalPlan, UltramodernWorkspaceOptions, } from './types.js';
10
10
  export { generateUltramodernWorkspace } from './write-workspace.js';
@@ -3,6 +3,5 @@ export declare const mfTypesArchives: {
3
3
  readonly cloudflare: 'dist-cloudflare/@mf-types.zip';
4
4
  readonly node: 'dist/@mf-types.zip';
5
5
  };
6
- export declare const generatedMetadataPaths: string[];
7
6
  export declare const defaultAppRootDirs: string[];
8
7
  export declare const skippedScanDirs: Set<string>;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * The expose map an app's own Module Federation config declares, keyed by
3
+ * expose name (`./PageContacts`) with the package-relative source it points at
4
+ * (`./src/federation/page-contacts.tsx`).
5
+ *
6
+ * Returns undefined when the app ships no Module Federation config, or when the
7
+ * config cannot be inspected statically, so callers keep their own expectation
8
+ * rather than inventing a surface path. `ultramodern mf-types` reports those
9
+ * configs separately, so staying quiet here never hides a broken config.
10
+ */
11
+ export declare function readModuleFederationExposePaths(workspaceRoot: string, appDirectory: string): Record<string, string> | undefined;
@@ -4,8 +4,7 @@ export declare function toPosixPath(value: string): string;
4
4
  export declare function normalizeRelativePath(value: string): string;
5
5
  export declare function relativePath(root: string, target: string): string;
6
6
  export declare function readJsonIfExists(filePath: string): unknown;
7
- export declare function collectMetadataAppDirs(value: unknown, appDirs: Set<string>, hint?: string): void;
8
- export declare function collectBridgeScanRoots(value: unknown, roots: Set<string>): void;
9
- export declare function readGeneratedMetadata(workspaceRoot: string): unknown[];
7
+ export declare function collectMetadataAppDirs(value: unknown, appDirs: Set<string>): Set<string>;
8
+ export declare function collectWorkspaceScanRoots(workspaceRoot: string, roots: Set<string>): void;
10
9
  export declare function firstSegment(appDir: string): string | undefined;
11
10
  export declare function scanForModuleFederationConfigs(workspaceRoot: string, scanRoot: string, appDirs: Set<string>): void;
@@ -1,6 +1,7 @@
1
- import type { BalancedBlock, LocatedObjectLiteral } from './types.js';
2
- export declare function skipSyntax(source: string, index: number): number;
1
+ import { type Expression, type File } from '@babel/parser';
2
+ import type { LocatedObjectLiteral } from './types.js';
3
+ export declare function parseStaticExpression(source: string | undefined): Expression | undefined;
4
+ export declare function parseConfigModule(source: string): import("@babel/parser").ParseResult<File>;
3
5
  export declare function locateCreateModuleFederationConfigObject(source: string): LocatedObjectLiteral | undefined;
4
6
  export declare function findCreateModuleFederationConfigObject(source: string): string | undefined;
5
7
  export declare function findExportDefaultObject(source: string): string | undefined;
6
- export declare function getOuterBlock(source: string, open: '{' | '[', close: '}' | ']'): BalancedBlock | undefined;
@@ -6,6 +6,7 @@ export type ModuleFederationConfigInspection = {
6
6
  compilerInstance?: string;
7
7
  tsConfigPath?: string;
8
8
  };
9
+ exposePaths: Record<string, string>;
9
10
  exposes: string[];
10
11
  hostOnlyNoExposes: boolean;
11
12
  };
@@ -1,4 +1,5 @@
1
1
  export { discoverModuleFederationConfigs } from './mf-validation/discovery.js';
2
+ export { readModuleFederationExposePaths } from './mf-validation/exposes.js';
2
3
  export { inspectModuleFederationConfigSource } from './mf-validation/inspect.js';
3
4
  export type { ModuleFederationConfigInspection, ModuleFederationDiscoveredConfig, ModuleFederationValidationOptions, ModuleFederationValidationResult, ModuleFederationValidationTarget, } from './mf-validation/types.js';
4
5
  export { validateModuleFederationTypes } from './mf-validation/validate.js';
@@ -1,5 +1,5 @@
1
1
  import type { WorkspaceApp } from '../types.js';
2
- export declare function createAppModernConfig(scope: string, app: WorkspaceApp, remotes?: WorkspaceApp[], enableTailwind?: boolean, configuredDevPorts?: number[]): string;
2
+ export declare function createAppModernConfig(scope: string, app: WorkspaceApp, remotes?: WorkspaceApp[], enableTailwind?: boolean, _configuredDevPorts?: number[]): string;
3
3
  export declare function createShellModuleFederationConfig(scope: string, shell: WorkspaceApp, remotes?: WorkspaceApp[], enableBridgeRouter?: boolean): string;
4
4
  export declare function createBackendModuleFederationConfig(app: WorkspaceApp): string;
5
5
  export declare function createRemoteModuleFederationConfig(scope: string, app: WorkspaceApp, remotes?: WorkspaceApp[], enableBridgeRouter?: boolean): string;
@@ -1,4 +1,4 @@
1
1
  import type { WorkspaceApp } from '../types.js';
2
2
  export declare function createUltramodernBuildArtifactJson(scope: string, app: WorkspaceApp): string;
3
- export declare function createUltramodernBuildModule(scope: string, app: WorkspaceApp): string;
4
- export declare function createUltramodernBuildReexportModule(): string;
3
+ export declare function createUltramodernBuildModule(_scope: string, app: WorkspaceApp, includeUiMarker?: boolean): string;
4
+ export declare function createUltramodernBuildReexportModule(app: WorkspaceApp, includeUiMarker?: boolean): string;
@@ -4,5 +4,5 @@ export declare function appDependencies(scope: string, packageSource: ResolvedPa
4
4
  export declare function createRootPackageJson(scope: string, packageSource: ResolvedPackageSource, remotes?: WorkspaceApp[], bridge?: UltramodernBridgeConfig, additionalShells?: WorkspaceApp[]): JsonValue;
5
5
  export { createAppMfTypesTsConfig, createAppTsConfig, createPackageTsConfig, createRootTsConfig, createSharedPackageTsConfig, createTsConfigBase, } from './tsconfigs.js';
6
6
  export declare function createAppPackage(scope: string, app: WorkspaceApp, packageSource: ResolvedPackageSource, enableTailwind: boolean, remotes?: WorkspaceApp[], bridge?: UltramodernBridgeConfig): JsonValue;
7
- export declare function createSharedPackage(scope: string, id: string, description: string): JsonValue;
7
+ export declare function createSharedPackage(scope: string, id: string, description: string, packageSource?: ResolvedPackageSource): JsonValue;
8
8
  export declare function createSharedContractsIndex(): string;
@@ -0,0 +1,10 @@
1
+ declare const _default: {
2
+ packageName: string;
3
+ version: string;
4
+ path: string;
5
+ sha256: string;
6
+ repository: boolean;
7
+ workspace: null;
8
+ reason: string;
9
+ }[];
10
+ export default _default;
@@ -1,5 +1,3 @@
1
- import type { ResolvedUltramodernPackageSource } from '../ultramodern-package-source.js';
2
- import { type UltramodernReleaseCohort } from '../ultramodern-release-cohort.js';
3
1
  import type { JsonValue, WorkspaceApp } from './types.js';
4
2
  export declare function createCloudflareSecurityContract(): JsonValue;
5
3
  export declare function formatTsJsonValue(value: JsonValue, indent: number): string;
@@ -13,144 +11,55 @@ export declare function createPublicSurfaceContentExpansionPolicy(): {
13
11
  indexablePolicy: string;
14
12
  };
15
13
  export declare function createCloudflareDeployContract(scope: string, app: WorkspaceApp): JsonValue;
16
- export type UltramodernReleaseAgeApproval = {
17
- packageName: string;
18
- version: string;
19
- reason: string;
20
- reviewer: string;
21
- reviewedAt: string;
22
- evidence: {
23
- uri: string;
24
- sha256: string;
25
- sha256Subject: 'git-commit-payload';
26
- };
27
- registry: {
28
- publishedAt: string;
29
- dist: {
30
- integrity: string;
31
- };
32
- };
33
- expiresAt: string;
34
- };
35
- export type UltramodernReleaseAgeCandidate = {
36
- packageName: string;
37
- version: string;
38
- registry: {
39
- publishedAt?: string;
40
- dist: {
41
- integrity: string;
42
- };
43
- };
44
- };
45
- export type UltramodernPatchPolicy = {
46
- packageName: string;
47
- version: string;
48
- path: string;
49
- };
50
- export type UltramodernStalePatchPolicy = UltramodernPatchPolicy & {
51
- sha256: string;
52
- acceptedLegacySha256?: readonly string[];
53
- };
54
- export declare const ULTRAMODERN_PACKAGE_PINS: {
55
- readonly appDependencies: {
56
- readonly '@module-federation/bridge-react': "2.9.0";
57
- readonly '@module-federation/modern-js-v3': "2.9.0";
58
- readonly '@module-federation/runtime': "2.9.0";
59
- readonly '@tanstack/react-router': "1.170.33";
60
- readonly i18next: "26.4.2";
61
- readonly 'node-fetch': "^3.3.2";
62
- readonly react: "19.2.8";
63
- readonly 'react-dom': "19.2.8";
64
- };
65
- readonly bffEffectDependencies: {
66
- readonly '@effect/opentelemetry': "4.0.0-rc.112";
67
- readonly effect: "4.0.0-rc.112";
68
- };
69
- readonly appDevDependencies: {
70
- readonly '@effect/tsgo': "0.41.0";
71
- readonly '@rsbuild/plugin-tailwindcss': "^2.0.3";
72
- readonly '@typescript/native': "npm:typescript@7.0.2";
73
- readonly '@types/node': "^26.4.1";
74
- readonly '@types/react': "^19.2.18";
75
- readonly '@types/react-dom': "^19.2.7";
76
- readonly 'cross-env': "10.1.0";
77
- readonly tailwindcss: "^4.3.3";
78
- readonly typescript: "7.0.2";
79
- readonly wrangler: "4.116.0";
80
- readonly 'zephyr-rspack-plugin': "1.2.4";
81
- };
82
- readonly rootDevDependencies: {
83
- readonly '@effect/tsgo': "0.41.0";
84
- readonly '@typescript/native': "npm:typescript@7.0.2";
85
- readonly 'cross-env': "10.1.0";
86
- readonly lefthook: "^2.1.10";
87
- readonly miniflare: "4.20260730.0";
88
- readonly oxlint: "1.81.0";
89
- readonly oxfmt: "0.66.0";
90
- readonly ultracite: "7.11.0";
91
- readonly wrangler: "4.116.0";
92
- readonly 'zephyr-agent': "1.2.4";
93
- };
94
- readonly transitiveDependencies: {
95
- readonly '@cloudflare/workers-types': "5.20260906.1";
96
- readonly '@module-federation/node': "2.7.50";
97
- readonly '@tanstack/history': "1.162.2";
98
- readonly '@tanstack/router-core': "1.171.28";
99
- readonly '@typescript/native-preview': "7.0.0-dev.20260707.2";
100
- readonly miniflare: "4.20260730.0";
101
- readonly workerd: "1.20260730.1";
102
- };
103
- };
104
14
  export declare const ULTRAMODERN_WORKSPACE_POLICY: {
105
15
  readonly schemaVersion: 1;
106
16
  readonly dependencies: {
107
17
  readonly appDependencies: {
108
- readonly '@module-federation/bridge-react': "2.9.0";
109
- readonly '@module-federation/modern-js-v3': "2.9.0";
110
- readonly '@module-federation/runtime': "2.9.0";
111
- readonly '@tanstack/react-router': "1.170.33";
18
+ readonly '@module-federation/bridge-react': "npm:@bleedingdev/mf-bridge-react@2.9.2";
19
+ readonly '@module-federation/modern-js-v3': "npm:@bleedingdev/mf-modern-js-v3@2.9.3";
20
+ readonly '@module-federation/runtime': "npm:@bleedingdev/mf-runtime@2.9.2";
21
+ readonly '@tanstack/react-router': "1.170.39";
112
22
  readonly i18next: "26.4.2";
113
23
  readonly 'node-fetch': "^3.3.2";
114
- readonly react: "19.2.8";
115
- readonly 'react-dom': "19.2.8";
24
+ readonly react: "19.3.0";
25
+ readonly 'react-dom': "19.3.0";
116
26
  };
117
27
  readonly bffEffectDependencies: {
118
- readonly '@effect/opentelemetry': "4.0.0-rc.112";
119
- readonly effect: "4.0.0-rc.112";
28
+ readonly '@effect/opentelemetry': "4.0.0-rc.117";
29
+ readonly effect: "4.0.0-rc.117";
120
30
  };
121
31
  readonly appDevDependencies: {
122
- readonly '@effect/tsgo': "0.41.0";
32
+ readonly '@effect/tsgo': "0.45.0";
123
33
  readonly '@rsbuild/plugin-tailwindcss': "^2.0.3";
124
34
  readonly '@typescript/native': "npm:typescript@7.0.2";
125
- readonly '@types/node': "^26.4.1";
126
- readonly '@types/react': "^19.2.18";
127
- readonly '@types/react-dom': "^19.2.7";
128
- readonly 'cross-env': "10.1.0";
35
+ readonly '@types/node': "^26.6.2";
36
+ readonly '@types/react': "^19.3.0";
37
+ readonly '@types/react-dom': "^19.3.0";
129
38
  readonly tailwindcss: "^4.3.3";
130
39
  readonly typescript: "7.0.2";
131
- readonly wrangler: "4.116.0";
132
- readonly 'zephyr-rspack-plugin': "1.2.4";
40
+ readonly wrangler: "4.137.0";
41
+ readonly 'zephyr-rspack-plugin': "1.4.0";
133
42
  };
134
43
  readonly rootDevDependencies: {
135
- readonly '@effect/tsgo': "0.41.0";
44
+ readonly '@effect/tsgo': "0.45.0";
136
45
  readonly '@typescript/native': "npm:typescript@7.0.2";
137
- readonly 'cross-env': "10.1.0";
138
- readonly lefthook: "^2.1.10";
139
- readonly miniflare: "4.20260730.0";
140
- readonly oxlint: "1.81.0";
141
- readonly oxfmt: "0.66.0";
142
- readonly ultracite: "7.11.0";
143
- readonly wrangler: "4.116.0";
144
- readonly 'zephyr-agent': "1.2.4";
46
+ readonly '@types/node': "^26.6.2";
47
+ readonly lefthook: "^2.1.14";
48
+ readonly miniflare: "5.20260921.0-alpha";
49
+ readonly oxlint: "1.85.0";
50
+ readonly oxfmt: "0.70.0";
51
+ readonly ultracite: "7.12.0";
52
+ readonly wrangler: "4.137.0";
53
+ readonly 'zephyr-agent': "1.4.0";
145
54
  };
146
55
  readonly transitiveDependencies: {
147
- readonly '@cloudflare/workers-types': "5.20260906.1";
148
- readonly '@module-federation/node': "2.7.50";
149
- readonly '@tanstack/history': "1.162.2";
150
- readonly '@tanstack/router-core': "1.171.28";
56
+ readonly '@cloudflare/workers-types': "5.20260923.1";
57
+ readonly '@module-federation/node': "2.7.52";
58
+ readonly '@tanstack/history': "1.162.4";
59
+ readonly '@tanstack/router-core': "1.171.32";
151
60
  readonly '@typescript/native-preview': "7.0.0-dev.20260707.2";
152
- readonly miniflare: "4.20260730.0";
153
- readonly workerd: "1.20260730.1";
61
+ readonly miniflare: "5.20260921.0-alpha";
62
+ readonly workerd: "1.20260921.1";
154
63
  };
155
64
  };
156
65
  readonly toolchain: {
@@ -160,7 +69,7 @@ export declare const ULTRAMODERN_WORKSPACE_POLICY: {
160
69
  };
161
70
  readonly packageManager: {
162
71
  readonly name: 'pnpm';
163
- readonly version: "11.24.0";
72
+ readonly version: "11.27.1";
164
73
  readonly engineRange: '>=11';
165
74
  };
166
75
  };
@@ -170,7 +79,6 @@ export declare const ULTRAMODERN_WORKSPACE_POLICY: {
170
79
  readonly minimumReleaseAgeIgnoreMissingTime: false;
171
80
  readonly trustPolicy: 'no-downgrade';
172
81
  readonly trustPolicyIgnoreAfter: 1440;
173
- readonly trustPolicyExclude: readonly ["@effect/opentelemetry@4.0.0-rc.112", "effect@4.0.0-rc.112"];
174
82
  readonly blockExoticSubdeps: true;
175
83
  readonly engineStrict: true;
176
84
  readonly pmOnFail: 'error';
@@ -179,103 +87,17 @@ export declare const ULTRAMODERN_WORKSPACE_POLICY: {
179
87
  readonly peerDependencyRules: {
180
88
  readonly allowedVersions: {
181
89
  readonly react: '>=19.0.0';
182
- readonly '@effect/vitest>effect': "4.0.0-rc.112";
90
+ readonly '@effect/vitest>effect': "4.0.0-rc.117";
183
91
  };
184
92
  };
185
- readonly overrides: {
186
- readonly '@effect/opentelemetry': "4.0.0-rc.112";
187
- readonly '@effect/vitest': "4.0.0-rc.112";
188
- readonly '@tanstack/history': "1.162.2";
189
- readonly '@tanstack/react-router': "1.170.33";
190
- readonly '@tanstack/router-core': "1.171.28";
191
- readonly effect: "4.0.0-rc.112";
192
- readonly msgpackr: "2.1.0";
193
- readonly 'node-fetch': "^3.3.2";
194
- readonly zod: "4.5.4";
195
- };
196
93
  readonly allowBuilds: {
197
94
  readonly '@parcel/watcher': true;
198
95
  readonly '@swc/core': true;
199
96
  readonly 'core-js': true;
200
97
  readonly esbuild: true;
201
98
  readonly lefthook: true;
202
- readonly 'msgpackr-extract': true;
203
99
  readonly sharp: true;
204
100
  readonly workerd: true;
205
101
  };
206
- readonly patchedDependencies: {
207
- readonly required: readonly UltramodernPatchPolicy[];
208
- readonly conditional: readonly UltramodernPatchPolicy[];
209
- readonly stale: readonly UltramodernStalePatchPolicy[];
210
- };
211
- readonly releaseAge: {
212
- readonly approvals: readonly UltramodernReleaseAgeApproval[];
213
- readonly registryEvidence: {
214
- readonly moduleFederation: {
215
- readonly version: "2.9.0";
216
- readonly nodeVersion: "2.7.50";
217
- readonly releases: {
218
- packageName: string;
219
- version: string;
220
- registry: {
221
- publishedAt: "2026-08-24T08:18:02.542Z" | "2026-08-24T08:19:17.035Z" | "2026-08-24T08:19:38.788Z" | "2026-08-24T08:19:41.007Z" | "2026-08-24T08:19:45.898Z" | "2026-08-24T08:19:49.387Z" | "2026-08-24T08:19:49.581Z" | "2026-08-24T08:19:57.575Z" | "2026-08-24T08:20:25.023Z" | "2026-08-24T08:20:29.076Z" | "2026-08-24T08:20:31.955Z" | "2026-08-24T08:21:03.780Z" | "2026-08-24T08:21:16.321Z" | "2026-08-24T08:21:20.630Z" | "2026-08-24T08:21:41.802Z" | "2026-08-24T08:21:54.080Z" | "2026-08-24T08:22:25.614Z" | "2026-08-24T08:22:33.751Z";
222
- dist: {
223
- integrity: "sha512-3cyAav0hWP+dNvB7qrcK9CKxQn+JvkbRvLtZz3zS2g0EyxtDFDjgbHY0Afcf7oHf8IHhKeEdzb/3Kjr1Pjmr7A==" | "sha512-3wEVz9IMsDnbdTZjG+0XA7BHUU2yIvfTqWRrMPR9RciSOVojJUXocZ6Anksu7WhuYnasc7am8szpms7pZGotnA==" | "sha512-8KhB2PF4g+M0hGaethU1H4GVWabLn5sF5TvnM6VxgAcDL4TfLY8aC/YobAXHG/SV0jpU5lsGe6s6xy6ccV0MQw==" | "sha512-9zSlmQYKRHKVWqhlZSMyjstp2A3VVrQV2Of8mrF5NXhngFemNx7Hw35+MTo+gsRfF5glpN8bAzLyIokRUo1Cog==" | "sha512-CaWAxZg+zOMw/BfgRXQdNBQZ/e5U7DBZvE13LzG13GEclt7yxaMQgKH0si3uOsq9f/X2NC8UnuhNHLIkloqlqA==" | "sha512-IGpd+VRlji3NyGOGGTsk7YEmPRKcDoBK4YHqIuP+OQwyb2YhHCUHO2vW9RXeQxCuKwi+c6xkTweRYG+Umy+0Zw==" | "sha512-IMjObgBGQTXd33jTTCYcxvz8iOQGLsZ2QIPOj90rDxuBtJsN4WJwYyXqligrhY/e5p/BipUPdbIgKmWL7zFhTw==" | "sha512-IzFEJnO53vEVLrm5qlDrCPO1bEmN11TLaPHrZtPqHfy7yjwhBDi/63uLAVwcqKVGZnK5Erbqg9Y3hJkZKxd4AQ==" | "sha512-Jd/JHoFL9fNKL4Nnzo/9hf6FD/oQo3gKpE8xt6EGuhxmrvg6wM0radPtqgHiSSWLMW7CiXr2agNjKvquKd83rw==" | "sha512-MdU6NQibT57MaJG3KPBjC30IVBrz5eU7IcjHoVDYnMh7OmASw3stagBu7hYjdMTP31luNdtzUn85s9axvdwTlw==" | "sha512-R1Xuqnqzw6wQxWV3yU9fX1FydXAeZF2TNVFAVo1N1oLBA2j5y7aUO/Fc3VSNgd9/gxMzJgTVBdA+nMiD2SFCgg==" | "sha512-Zhm9luVOw9XPou50eTwsvdgr208CszoQ6cGORQDCPAMhjpGb5oYFtilJ+LKW7hQ1LktD15bEZmGhC1anvgXEiQ==" | "sha512-dLykRYfpbEJBTdk2NlbNoVVTB196O3qujawTBguLABJkPCWETJNk60NR1yZO34eI+DTH+eGwHU3m7FddAWnbnw==" | "sha512-hv3fuQkGERQ/COBKTVbFV1GWovReSg/bzJzDuxWR1F84h6NYtbYMWQqX8Egvb7HKMtn9Rflzw0GeaLr8F08vDg==" | "sha512-k3wCSZsY21HjYQ61wmIJUQleOgcHgqx/sX4qXYw0XnJnzHuFo64rzMvgr+TuBIgZ1peAQtfILLlTnWyTRjtZHw==" | "sha512-r9RdlLRy3zWxuWQRonif48xdDu1reBGx18QpkZwLQ4JfSrOARjycNIGY2Y7QaUw7dedzxyee4FtKFeX/kOVLYQ==" | "sha512-u2puqsaHiw1bVvLNk1uh98iPo6UzaBuci/aTvOFwKvbT/RF18C3vGGnm+ShHPKQEnoN6ctPtnygyOZDPR+8cgg==" | "sha512-uMGqEG/p9odG2BVr7WRbBe2OgrvzBd3LPzcp5WP+bm3djBdUJ4PZ3ozqKp6qpy+NFnlh6vnM815Xn6AXkKy1Vw==";
224
- };
225
- };
226
- }[];
227
- readonly node: {
228
- readonly packageName: '@module-federation/node';
229
- readonly version: "2.7.50";
230
- readonly registry: {
231
- readonly publishedAt: '2026-08-24T08:22:30.137Z';
232
- readonly dist: {
233
- readonly integrity: 'sha512-mbpQRdafyeWgsmYoJfdhOQf76zS6onOGpC2X1ELpWXB1Y4BcZGloL0CLjNMNon9m3ucfpc99tOGAQqFzQVkSBQ==';
234
- };
235
- };
236
- };
237
- };
238
- };
239
- readonly firstParty: {
240
- readonly source: 'authenticated-release-cohort-projection';
241
- readonly exactVersionOnly: true;
242
- readonly staticApprovals: false;
243
- };
244
- };
245
- };
246
- readonly metadata: {
247
- readonly packageSource: {
248
- readonly configPath: '.modernjs/ultramodern.json';
249
- readonly rootManifestPath: 'modernjs.packageSource';
250
- readonly ownedKeys: readonly ['strategy', 'modernPackageVersion', 'registry', 'aliasScope', 'aliasPackageNamePrefix'];
251
- };
252
- readonly moduleFederation: {
253
- readonly version: "2.9.0";
254
- readonly nodeVersion: "2.7.50";
255
- readonly configPath: 'moduleFederation';
256
- readonly appConfigPath: 'topology.apps[].moduleFederation';
257
- };
258
- readonly nativePreview: {
259
- readonly packageName: '@typescript/native-preview';
260
- readonly version: "7.0.0-dev.20260707.2";
261
- readonly generatedDependencyPolicy: 'forbidden';
262
- readonly releaseAgePolicy: 'exact-reviewed-closure-only';
263
- };
264
102
  };
265
103
  };
266
- export declare function validateReleaseAgeApprovals(approvals: readonly unknown[], options?: {
267
- now?: Date;
268
- }): UltramodernReleaseAgeApproval[];
269
- export declare function renderMinimumReleaseAgeExclude(options?: {
270
- approvals?: readonly unknown[];
271
- now?: Date;
272
- packageSource?: ResolvedUltramodernPackageSource;
273
- releaseCohort?: UltramodernReleaseCohort;
274
- }): string[];
275
- export declare function resolveReleaseAgeApprovals(candidates: readonly UltramodernReleaseAgeCandidate[], options?: {
276
- approvals?: readonly unknown[];
277
- now?: Date;
278
- }): {
279
- minimumReleaseAgeExclude: string[];
280
- reviewCandidates: UltramodernReleaseAgeCandidate[];
281
- };
@@ -5,7 +5,12 @@ export declare function createLocalisedUrlsMap(app: WorkspaceApp): Record<string
5
5
  export declare function createPublicRouteMetadataFromRoutes(routes: RouteOwnedI18nPath[]): PublicRouteMetadata[];
6
6
  export declare function createPublicRouteMetadata(app: WorkspaceApp): PublicRouteMetadata[];
7
7
  export declare function createJsonLdHelperModule(): string;
8
- export declare function createRouteMetadataModule(app: WorkspaceApp): string;
8
+ /**
9
+ * The manifest `ultramodern-create ultramodern routes-generate` writes for the
10
+ * single `[lang]/route.meta.ts` a new app starts with. plugin-tanstack owns the
11
+ * format; tests keep this copy byte-identical to its output.
12
+ */
13
+ export declare function createRouteMetadataModule(): string;
9
14
  export declare function createRouteMetaModule(route: RouteOwnedI18nPath): string;
10
15
  export declare function normalisePublicPath(pathname: string): string;
11
16
  export declare function splitPublicPathSegments(pathname: string): string[];
@@ -1,9 +1,9 @@
1
- import { type JsonObject, type JsonValue, type WorkspaceApp } from './types.js';
1
+ import { type JsonValue, type WorkspaceApp } from './types.js';
2
2
  /**
3
3
  * Multi-shell model (G28). A workspace models N Shells, each its own Delivery
4
4
  * Unit with a distinct id / path / port / Module Federation host name. Default
5
5
  * generation still emits exactly one shell — the primary shell — with today's
6
- * id and path, so legacy output stays byte-identical; additional shells are
6
+ * id and path, so default output stays byte-identical; additional shells are
7
7
  * added explicitly via the `add-shell` operation.
8
8
  *
9
9
  * A Shell (CONTEXT.md) is a thin composition host: it owns top-level routing,
@@ -33,16 +33,3 @@ export declare function assertValidShellName(name: string): string;
33
33
  * Delivery Unit with its own build marker and unit id.
34
34
  */
35
35
  export declare function shellDeliveryUnitBlock(scope: string, shell: WorkspaceApp): JsonValue;
36
- /**
37
- * Serialize one additional shell into the additive compact-config collection.
38
- * The primary shell remains projected through topology.apps; this record is
39
- * the durable source for every non-primary shell's identity and composition.
40
- */
41
- export declare function createAdditionalShellConfigEntry(scope: string, shell: WorkspaceApp, remotes?: WorkspaceApp[]): JsonObject;
42
- /**
43
- * Resolve the configured shells collection from a compact UltraModern config
44
- * (G28). Always includes the primary shell; additional shells are read from the
45
- * additive `shells` array so a legacy single-shell config resolves to exactly
46
- * `[primaryShell]`.
47
- */
48
- export declare function resolveConfiguredAdditionalShells(config: Record<string, unknown> | undefined): WorkspaceApp[];