@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
@@ -1,10 +1,9 @@
1
1
  import "node:module";
2
- import { assertReleaseCohortPackageSource, parseUltramodernReleaseCohort, releaseCohortSelectors } from "../ultramodern-release-cohort.js";
3
2
  import { rpcPath } from "./api/rpc.js";
4
3
  import { appEmitsBrowserUi, appHasApi, appI18nNamespace, createCloudflarePublicUrlEnv, createCloudflareWorkerName, resolveApiPrefix, resolveApiProtocol, resolveApiStem } from "./descriptors.js";
5
4
  import { createLocalisedUrlsMap } from "./routes.js";
6
5
  import { isRecord } from "./types.js";
7
- import { CLOUDFLARE_COMPATIBILITY_DATE, CLOUDFLARE_WORKERS_TYPES_VERSION, CROSS_ENV_VERSION, DRIZZLE_ORM_VERSION, EFFECT_TSGO_VERSION, EFFECT_VERSION, EFFECT_VITEST_VERSION, I18NEXT_VERSION, LEFTHOOK_VERSION, MINIFLARE_VERSION, MODULE_FEDERATION_NODE_VERSION, MODULE_FEDERATION_VERSION, MSGPACKR_VERSION, NODE_FETCH_VERSION, NODE_VERSION, OXFMT_VERSION, OXLINT_VERSION, PNPM_VERSION, REACT_DOM_VERSION, REACT_VERSION, RSBUILD_PLUGIN_TAILWINDCSS_VERSION, TAILWIND_VERSION, TANSTACK_HISTORY_VERSION, TANSTACK_ROUTER_CORE_VERSION, TANSTACK_ROUTER_VERSION, TYPESCRIPT_NATIVE_PREVIEW_VERSION, TYPESCRIPT_VERSION, TYPES_NODE_VERSION, TYPES_REACT_DOM_VERSION, TYPES_REACT_VERSION, ULTRACITE_VERSION, WORKERD_VERSION, WRANGLER_VERSION, ZEPHYR_AGENT_VERSION, ZEPHYR_RSPACK_PLUGIN_VERSION, ZOD_VERSION } from "./versions.js";
6
+ import { CLOUDFLARE_COMPATIBILITY_DATE, EFFECT_VERSION, NODE_VERSION, PNPM_VERSION, ULTRAMODERN_PACKAGE_PINS } from "./versions.js";
8
7
  function createCloudflareProofRoute(app) {
9
8
  if ('shell' === app.kind) return {
10
9
  ssr: '/en',
@@ -208,10 +207,6 @@ function createCloudflareDeployContract(scope, app) {
208
207
  routes: createCloudflareProofRoute(app),
209
208
  security: createCloudflareSecurityContract(),
210
209
  qualityGates: createPublicWebsiteQualityGateContract(),
211
- evidence: {
212
- proofScript: "scripts/proof-cloudflare-version.mts",
213
- reportDefault: '.codex/reports/cloudflare-version-proof/public-url-proof.json'
214
- },
215
210
  ...app.api ? {
216
211
  jsonSmokeChecks: [
217
212
  createApiSmokeCheck(app)
@@ -219,344 +214,6 @@ function createCloudflareDeployContract(scope, app) {
219
214
  } : {}
220
215
  };
221
216
  }
222
- const ULTRAMODERN_PACKAGE_PINS = {
223
- appDependencies: {
224
- '@module-federation/bridge-react': MODULE_FEDERATION_VERSION,
225
- '@module-federation/modern-js-v3': MODULE_FEDERATION_VERSION,
226
- '@module-federation/runtime': MODULE_FEDERATION_VERSION,
227
- '@tanstack/react-router': TANSTACK_ROUTER_VERSION,
228
- i18next: I18NEXT_VERSION,
229
- 'node-fetch': NODE_FETCH_VERSION,
230
- react: REACT_VERSION,
231
- 'react-dom': REACT_DOM_VERSION
232
- },
233
- bffEffectDependencies: {
234
- '@effect/opentelemetry': EFFECT_VERSION,
235
- effect: EFFECT_VERSION
236
- },
237
- appDevDependencies: {
238
- '@effect/tsgo': EFFECT_TSGO_VERSION,
239
- '@rsbuild/plugin-tailwindcss': `^${RSBUILD_PLUGIN_TAILWINDCSS_VERSION}`,
240
- "@typescript/native": `npm:typescript@${TYPESCRIPT_VERSION}`,
241
- '@types/node': TYPES_NODE_VERSION,
242
- '@types/react': TYPES_REACT_VERSION,
243
- '@types/react-dom': TYPES_REACT_DOM_VERSION,
244
- 'cross-env': CROSS_ENV_VERSION,
245
- tailwindcss: `^${TAILWIND_VERSION}`,
246
- typescript: TYPESCRIPT_VERSION,
247
- wrangler: WRANGLER_VERSION,
248
- 'zephyr-rspack-plugin': ZEPHYR_RSPACK_PLUGIN_VERSION
249
- },
250
- rootDevDependencies: {
251
- '@effect/tsgo': EFFECT_TSGO_VERSION,
252
- "@typescript/native": `npm:typescript@${TYPESCRIPT_VERSION}`,
253
- 'cross-env': CROSS_ENV_VERSION,
254
- lefthook: LEFTHOOK_VERSION,
255
- miniflare: MINIFLARE_VERSION,
256
- oxlint: OXLINT_VERSION,
257
- oxfmt: OXFMT_VERSION,
258
- ultracite: ULTRACITE_VERSION,
259
- wrangler: WRANGLER_VERSION,
260
- 'zephyr-agent': ZEPHYR_AGENT_VERSION
261
- },
262
- transitiveDependencies: {
263
- '@cloudflare/workers-types': CLOUDFLARE_WORKERS_TYPES_VERSION,
264
- '@module-federation/node': MODULE_FEDERATION_NODE_VERSION,
265
- '@tanstack/history': TANSTACK_HISTORY_VERSION,
266
- '@tanstack/router-core': TANSTACK_ROUTER_CORE_VERSION,
267
- "@typescript/native-preview": TYPESCRIPT_NATIVE_PREVIEW_VERSION,
268
- miniflare: MINIFLARE_VERSION,
269
- workerd: WORKERD_VERSION
270
- }
271
- };
272
- const requiredPatchPolicies = [
273
- {
274
- packageName: '@module-federation/dts-plugin',
275
- version: MODULE_FEDERATION_VERSION,
276
- path: `patches/@module-federation__dts-plugin@${MODULE_FEDERATION_VERSION}.patch`
277
- },
278
- {
279
- packageName: '@module-federation/bridge-react',
280
- version: MODULE_FEDERATION_VERSION,
281
- path: `patches/@module-federation__bridge-react@${MODULE_FEDERATION_VERSION}.patch`
282
- },
283
- {
284
- packageName: '@module-federation/modern-js-v3',
285
- version: MODULE_FEDERATION_VERSION,
286
- path: `patches/@module-federation__modern-js-v3@${MODULE_FEDERATION_VERSION}.patch`
287
- },
288
- {
289
- packageName: '@module-federation/runtime-core',
290
- version: MODULE_FEDERATION_VERSION,
291
- path: `patches/@module-federation__runtime-core@${MODULE_FEDERATION_VERSION}.patch`
292
- },
293
- {
294
- packageName: 'msgpackr',
295
- version: MSGPACKR_VERSION,
296
- path: `patches/msgpackr@${MSGPACKR_VERSION}.patch`
297
- },
298
- {
299
- packageName: 'zod',
300
- version: ZOD_VERSION,
301
- path: `patches/zod@${ZOD_VERSION}.patch`
302
- }
303
- ];
304
- const conditionalPatchPolicies = [
305
- {
306
- packageName: 'drizzle-orm',
307
- version: DRIZZLE_ORM_VERSION,
308
- path: 'patches/drizzle-orm-ts7-strict-declarations.patch'
309
- }
310
- ];
311
- const stalePatchPolicies = [
312
- {
313
- packageName: '@tanstack/router-core',
314
- version: '1.171.27',
315
- path: 'patches/@tanstack__router-core@1.171.27.patch',
316
- sha256: 'd0e147ec82083771b70989d2a1da6aa47f342ae42071af86c4247649f6a5b9e9'
317
- },
318
- {
319
- packageName: 'msgpackr',
320
- version: '2.0.6',
321
- path: 'patches/msgpackr@2.0.6.patch',
322
- sha256: 'ea06f707e02e6b95d68e199347ada7bd640764e2653bfdd77664592390fac811'
323
- },
324
- {
325
- packageName: 'zod',
326
- version: '4.4.3',
327
- path: 'patches/zod@4.4.3.patch',
328
- sha256: '2ae01a829b3f4082e46f1ccb4cbcffdea0db8664c2544b3566cb507e2c471c77'
329
- },
330
- {
331
- packageName: '@module-federation/bridge-react',
332
- version: '2.8.2',
333
- path: 'patches/@module-federation__bridge-react@2.8.2.patch',
334
- sha256: '8c084f41790295af8fd015b897c6298bbc13d927b796c624ac96cb2bdb4bc87c'
335
- },
336
- {
337
- packageName: '@module-federation/modern-js-v3',
338
- version: '2.8.2',
339
- path: 'patches/@module-federation__modern-js-v3@2.8.2.patch',
340
- sha256: '948d2a725ae526f395b0343b113ff80dfaa50dbdec8158179746e98259925d20'
341
- },
342
- {
343
- packageName: '@module-federation/bridge-react',
344
- version: '2.8.0',
345
- path: 'patches/@module-federation__bridge-react@2.8.0.patch',
346
- sha256: '54bfc79e097473222f83cbfa6d717792e3026bf16b5097c2ed91715b7da126be'
347
- },
348
- {
349
- packageName: '@module-federation/modern-js-v3',
350
- version: '2.8.0',
351
- path: 'patches/@module-federation__modern-js-v3@2.8.0.patch',
352
- sha256: '948d2a725ae526f395b0343b113ff80dfaa50dbdec8158179746e98259925d20'
353
- },
354
- {
355
- packageName: '@module-federation/bridge-react',
356
- version: '2.7.0',
357
- path: 'patches/@module-federation__bridge-react@2.7.0.patch',
358
- sha256: '2f89441475f83a6e12d8c2a755b5b15c4d2b04523a1b33fd318c2d537382537f'
359
- },
360
- {
361
- packageName: '@module-federation/modern-js-v3',
362
- version: '2.7.0',
363
- path: 'patches/@module-federation__modern-js-v3@2.7.0.patch',
364
- sha256: 'f51adf0aa6c6e2daa5b7d2978a7716c0d4fb05b29af449b2f16257b957fb7923'
365
- },
366
- {
367
- packageName: 'effect',
368
- version: '4.0.0-beta.107',
369
- path: 'patches/effect-schema-error-type-id.patch',
370
- sha256: 'ed9f636f82a1a1e5c128fc85e99e24a8fcf4ba06a35e89e3dd6460250875153f'
371
- },
372
- {
373
- packageName: 'effect',
374
- version: '4.0.0-beta.94',
375
- path: 'patches/effect-schema-error-type-id.patch',
376
- sha256: 'ed9f636f82a1a1e5c128fc85e99e24a8fcf4ba06a35e89e3dd6460250875153f',
377
- acceptedLegacySha256: [
378
- 'd9e12b42d06a051957899a9df14b2b7b2385fc3a5677a89037eeee3674d64ebe',
379
- 'dc7e8088e600beb20185eb877754d749c4a93909fb79f49465e8319e40d6596a',
380
- 'bd29a0ae24f0674c6007e5e6060d847dbeb9499a6e2cf4c9f13b24ba9fb3af37'
381
- ]
382
- },
383
- {
384
- packageName: 'effect',
385
- version: '4.0.0-beta.97',
386
- path: 'patches/effect-schema-error-type-id.patch',
387
- sha256: 'ed9f636f82a1a1e5c128fc85e99e24a8fcf4ba06a35e89e3dd6460250875153f',
388
- acceptedLegacySha256: [
389
- 'd9e12b42d06a051957899a9df14b2b7b2385fc3a5677a89037eeee3674d64ebe',
390
- 'dc7e8088e600beb20185eb877754d749c4a93909fb79f49465e8319e40d6596a',
391
- 'bd29a0ae24f0674c6007e5e6060d847dbeb9499a6e2cf4c9f13b24ba9fb3af37'
392
- ]
393
- },
394
- {
395
- packageName: 'effect',
396
- version: '4.0.0-beta.102',
397
- path: 'patches/effect-schema-error-type-id.patch',
398
- sha256: 'ed9f636f82a1a1e5c128fc85e99e24a8fcf4ba06a35e89e3dd6460250875153f',
399
- acceptedLegacySha256: [
400
- 'd9e12b42d06a051957899a9df14b2b7b2385fc3a5677a89037eeee3674d64ebe',
401
- 'dc7e8088e600beb20185eb877754d749c4a93909fb79f49465e8319e40d6596a',
402
- 'bd29a0ae24f0674c6007e5e6060d847dbeb9499a6e2cf4c9f13b24ba9fb3af37'
403
- ]
404
- },
405
- {
406
- packageName: '@module-federation/dts-plugin',
407
- version: '2.7.0',
408
- path: 'patches/@module-federation__dts-plugin@2.7.0.patch',
409
- sha256: '768cc3bb22e2dede264515f141fdc8af937c8f53d4f8ef8f83469bb0cec1c9a0'
410
- },
411
- {
412
- packageName: '@module-federation/bridge-react',
413
- version: '2.6.0',
414
- path: 'patches/@module-federation__bridge-react@2.6.0.patch',
415
- sha256: '75982bd9b4d40922ce3110ded5254f7faca39112b79d41f27fe0ac4bb416c467'
416
- },
417
- {
418
- packageName: '@module-federation/dts-plugin',
419
- version: '2.6.0',
420
- path: 'patches/@module-federation__dts-plugin@2.6.0.patch',
421
- sha256: 'bc998f74617f7f060ea0f65235f071a5880aade3144ccd610d098d6bbc1c52fe',
422
- acceptedLegacySha256: [
423
- 'ad19439992ca0757dc7354ad4197eecd5ac83f3ef5ed990e9200c672138600d5'
424
- ]
425
- },
426
- {
427
- packageName: '@module-federation/modern-js-v3',
428
- version: '2.6.0',
429
- path: 'patches/@module-federation__modern-js-v3@2.6.0.patch',
430
- sha256: '51ab49dc776c56cdaa8eb43fbd0bb2788633d6b05acfb18fb2f3a1db81c02d87'
431
- },
432
- {
433
- packageName: '@tanstack/router-core',
434
- version: '1.171.21',
435
- path: 'patches/@tanstack__router-core@1.171.21.patch',
436
- sha256: 'fb269f2a1c6c789ffb2d4f9341f6dd6a1dbb977b5bb66ce8e31a3a9cdd197dad'
437
- },
438
- {
439
- packageName: '@tanstack/router-core',
440
- version: '1.171.13',
441
- path: 'patches/@tanstack__router-core@1.171.13.patch',
442
- sha256: '0c6119dcaa6ad35a11e1ce4fd95179bf929d5b5a86e9cbee110f45bd07c5c8d3'
443
- },
444
- {
445
- packageName: '@tanstack/router-core',
446
- version: '1.171.14',
447
- path: 'patches/@tanstack__router-core@1.171.14.patch',
448
- sha256: '1e1572940e00d6327c75bb8457c108e32e75a2292e4d90d764208d5b6f330155'
449
- },
450
- {
451
- packageName: 'react-server-dom-rspack',
452
- version: '0.0.3',
453
- path: 'patches/@react-server-dom-rspack@0.0.3.patch',
454
- sha256: '11e471512012c0015883a233017b3ad695765e344cbd1d8174e79196ab6ba567'
455
- }
456
- ];
457
- const moduleFederationRegistryReleases = [
458
- [
459
- 'bridge-react',
460
- '2026-08-24T08:18:02.542Z',
461
- 'sha512-3wEVz9IMsDnbdTZjG+0XA7BHUU2yIvfTqWRrMPR9RciSOVojJUXocZ6Anksu7WhuYnasc7am8szpms7pZGotnA=='
462
- ],
463
- [
464
- 'bridge-react-webpack-plugin',
465
- '2026-08-24T08:19:41.007Z',
466
- 'sha512-hv3fuQkGERQ/COBKTVbFV1GWovReSg/bzJzDuxWR1F84h6NYtbYMWQqX8Egvb7HKMtn9Rflzw0GeaLr8F08vDg=='
467
- ],
468
- [
469
- 'cli',
470
- '2026-08-24T08:21:41.802Z',
471
- 'sha512-r9RdlLRy3zWxuWQRonif48xdDu1reBGx18QpkZwLQ4JfSrOARjycNIGY2Y7QaUw7dedzxyee4FtKFeX/kOVLYQ=='
472
- ],
473
- [
474
- 'dts-plugin',
475
- '2026-08-24T08:19:17.035Z',
476
- 'sha512-uMGqEG/p9odG2BVr7WRbBe2OgrvzBd3LPzcp5WP+bm3djBdUJ4PZ3ozqKp6qpy+NFnlh6vnM815Xn6AXkKy1Vw=='
477
- ],
478
- [
479
- 'enhanced',
480
- '2026-08-24T08:20:25.023Z',
481
- 'sha512-Jd/JHoFL9fNKL4Nnzo/9hf6FD/oQo3gKpE8xt6EGuhxmrvg6wM0radPtqgHiSSWLMW7CiXr2agNjKvquKd83rw=='
482
- ],
483
- [
484
- 'error-codes',
485
- '2026-08-24T08:22:25.614Z',
486
- 'sha512-IGpd+VRlji3NyGOGGTsk7YEmPRKcDoBK4YHqIuP+OQwyb2YhHCUHO2vW9RXeQxCuKwi+c6xkTweRYG+Umy+0Zw=='
487
- ],
488
- [
489
- 'inject-external-runtime-core-plugin',
490
- '2026-08-24T08:21:16.321Z',
491
- 'sha512-k3wCSZsY21HjYQ61wmIJUQleOgcHgqx/sX4qXYw0XnJnzHuFo64rzMvgr+TuBIgZ1peAQtfILLlTnWyTRjtZHw=='
492
- ],
493
- [
494
- 'managers',
495
- '2026-08-24T08:19:45.898Z',
496
- 'sha512-8KhB2PF4g+M0hGaethU1H4GVWabLn5sF5TvnM6VxgAcDL4TfLY8aC/YobAXHG/SV0jpU5lsGe6s6xy6ccV0MQw=='
497
- ],
498
- [
499
- 'manifest',
500
- '2026-08-24T08:19:49.387Z',
501
- 'sha512-Zhm9luVOw9XPou50eTwsvdgr208CszoQ6cGORQDCPAMhjpGb5oYFtilJ+LKW7hQ1LktD15bEZmGhC1anvgXEiQ=='
502
- ],
503
- [
504
- 'modern-js-v3',
505
- '2026-08-24T08:21:54.080Z',
506
- 'sha512-IzFEJnO53vEVLrm5qlDrCPO1bEmN11TLaPHrZtPqHfy7yjwhBDi/63uLAVwcqKVGZnK5Erbqg9Y3hJkZKxd4AQ=='
507
- ],
508
- [
509
- 'rsbuild-plugin',
510
- '2026-08-24T08:19:38.788Z',
511
- 'sha512-CaWAxZg+zOMw/BfgRXQdNBQZ/e5U7DBZvE13LzG13GEclt7yxaMQgKH0si3uOsq9f/X2NC8UnuhNHLIkloqlqA=='
512
- ],
513
- [
514
- 'rspack',
515
- '2026-08-24T08:21:20.630Z',
516
- 'sha512-9zSlmQYKRHKVWqhlZSMyjstp2A3VVrQV2Of8mrF5NXhngFemNx7Hw35+MTo+gsRfF5glpN8bAzLyIokRUo1Cog=='
517
- ],
518
- [
519
- 'runtime',
520
- '2026-08-24T08:21:03.780Z',
521
- 'sha512-3cyAav0hWP+dNvB7qrcK9CKxQn+JvkbRvLtZz3zS2g0EyxtDFDjgbHY0Afcf7oHf8IHhKeEdzb/3Kjr1Pjmr7A=='
522
- ],
523
- [
524
- 'runtime-core',
525
- '2026-08-24T08:19:49.581Z',
526
- 'sha512-dLykRYfpbEJBTdk2NlbNoVVTB196O3qujawTBguLABJkPCWETJNk60NR1yZO34eI+DTH+eGwHU3m7FddAWnbnw=='
527
- ],
528
- [
529
- 'runtime-tools',
530
- '2026-08-24T08:19:57.575Z',
531
- 'sha512-u2puqsaHiw1bVvLNk1uh98iPo6UzaBuci/aTvOFwKvbT/RF18C3vGGnm+ShHPKQEnoN6ctPtnygyOZDPR+8cgg=='
532
- ],
533
- [
534
- 'sdk',
535
- '2026-08-24T08:20:29.076Z',
536
- 'sha512-IMjObgBGQTXd33jTTCYcxvz8iOQGLsZ2QIPOj90rDxuBtJsN4WJwYyXqligrhY/e5p/BipUPdbIgKmWL7zFhTw=='
537
- ],
538
- [
539
- 'third-party-dts-extractor',
540
- '2026-08-24T08:22:33.751Z',
541
- 'sha512-R1Xuqnqzw6wQxWV3yU9fX1FydXAeZF2TNVFAVo1N1oLBA2j5y7aUO/Fc3VSNgd9/gxMzJgTVBdA+nMiD2SFCgg=='
542
- ],
543
- [
544
- 'webpack-bundler-runtime',
545
- '2026-08-24T08:20:31.955Z',
546
- 'sha512-MdU6NQibT57MaJG3KPBjC30IVBrz5eU7IcjHoVDYnMh7OmASw3stagBu7hYjdMTP31luNdtzUn85s9axvdwTlw=='
547
- ]
548
- ];
549
- const moduleFederationNodeRegistryRelease = {
550
- packageName: '@module-federation/node',
551
- version: MODULE_FEDERATION_NODE_VERSION,
552
- registry: {
553
- publishedAt: '2026-08-24T08:22:30.137Z',
554
- dist: {
555
- integrity: 'sha512-mbpQRdafyeWgsmYoJfdhOQf76zS6onOGpC2X1ELpWXB1Y4BcZGloL0CLjNMNon9m3ucfpc99tOGAQqFzQVkSBQ=='
556
- }
557
- }
558
- };
559
- const releaseAgeApprovals = [];
560
217
  const ULTRAMODERN_WORKSPACE_POLICY = {
561
218
  schemaVersion: 1,
562
219
  dependencies: ULTRAMODERN_PACKAGE_PINS,
@@ -577,10 +234,6 @@ const ULTRAMODERN_WORKSPACE_POLICY = {
577
234
  minimumReleaseAgeIgnoreMissingTime: false,
578
235
  trustPolicy: 'no-downgrade',
579
236
  trustPolicyIgnoreAfter: 1440,
580
- trustPolicyExclude: [
581
- `@effect/opentelemetry@${EFFECT_VERSION}`,
582
- `effect@${EFFECT_VERSION}`
583
- ],
584
237
  blockExoticSubdeps: true,
585
238
  engineStrict: true,
586
239
  pmOnFail: 'error',
@@ -592,230 +245,15 @@ const ULTRAMODERN_WORKSPACE_POLICY = {
592
245
  '@effect/vitest>effect': EFFECT_VERSION
593
246
  }
594
247
  },
595
- overrides: {
596
- '@effect/opentelemetry': EFFECT_VERSION,
597
- '@effect/vitest': EFFECT_VITEST_VERSION,
598
- '@tanstack/history': TANSTACK_HISTORY_VERSION,
599
- '@tanstack/react-router': TANSTACK_ROUTER_VERSION,
600
- '@tanstack/router-core': TANSTACK_ROUTER_CORE_VERSION,
601
- effect: EFFECT_VERSION,
602
- msgpackr: MSGPACKR_VERSION,
603
- 'node-fetch': NODE_FETCH_VERSION,
604
- zod: ZOD_VERSION
605
- },
606
248
  allowBuilds: {
607
249
  '@parcel/watcher': true,
608
250
  '@swc/core': true,
609
251
  'core-js': true,
610
252
  esbuild: true,
611
253
  lefthook: true,
612
- 'msgpackr-extract': true,
613
254
  sharp: true,
614
255
  workerd: true
615
- },
616
- patchedDependencies: {
617
- required: requiredPatchPolicies,
618
- conditional: conditionalPatchPolicies,
619
- stale: stalePatchPolicies
620
- },
621
- releaseAge: {
622
- approvals: releaseAgeApprovals,
623
- registryEvidence: {
624
- moduleFederation: {
625
- version: MODULE_FEDERATION_VERSION,
626
- nodeVersion: MODULE_FEDERATION_NODE_VERSION,
627
- releases: moduleFederationRegistryReleases.map(([packageSuffix, publishedAt, integrity])=>({
628
- packageName: `@module-federation/${packageSuffix}`,
629
- version: MODULE_FEDERATION_VERSION,
630
- registry: {
631
- publishedAt,
632
- dist: {
633
- integrity
634
- }
635
- }
636
- })),
637
- node: moduleFederationNodeRegistryRelease
638
- }
639
- },
640
- firstParty: {
641
- source: 'authenticated-release-cohort-projection',
642
- exactVersionOnly: true,
643
- staticApprovals: false
644
- }
645
- }
646
- },
647
- metadata: {
648
- packageSource: {
649
- configPath: '.modernjs/ultramodern.json',
650
- rootManifestPath: 'modernjs.packageSource',
651
- ownedKeys: [
652
- 'strategy',
653
- 'modernPackageVersion',
654
- 'registry',
655
- 'aliasScope',
656
- 'aliasPackageNamePrefix'
657
- ]
658
- },
659
- moduleFederation: {
660
- version: MODULE_FEDERATION_VERSION,
661
- nodeVersion: MODULE_FEDERATION_NODE_VERSION,
662
- configPath: 'moduleFederation',
663
- appConfigPath: 'topology.apps[].moduleFederation'
664
- },
665
- nativePreview: {
666
- packageName: "@typescript/native-preview",
667
- version: TYPESCRIPT_NATIVE_PREVIEW_VERSION,
668
- generatedDependencyPolicy: 'forbidden',
669
- releaseAgePolicy: 'exact-reviewed-closure-only'
670
256
  }
671
257
  }
672
258
  };
673
- const exactPackageNamePattern = /^(?:@[a-z0-9][a-z0-9._~-]*\/[a-z0-9][a-z0-9._~-]*|[a-z0-9][a-z0-9._~-]*)$/u;
674
- const exactVersionPattern = /^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/u;
675
- const integrityPattern = /^sha(?:256|384|512)-[A-Za-z0-9+/]+={0,2}$/u;
676
- const sha256Pattern = /^[a-f0-9]{64}$/u;
677
- const immutableCommitUriPattern = /^https:\/\/github\.com\/[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+\/commit\/[a-f0-9]{40}$/u;
678
- function comparePackageVersions(left, right) {
679
- if (left.packageName !== right.packageName) return left.packageName < right.packageName ? -1 : 1;
680
- if (left.version === right.version) return 0;
681
- return left.version < right.version ? -1 : 1;
682
- }
683
- function packageVersionKey(value) {
684
- return `${value.packageName}@${value.version}`;
685
- }
686
- function assertCanonicalInstant(value, label) {
687
- if ('string' != typeof value) throw new Error(`${label} must be an ISO-8601 UTC timestamp.`);
688
- const timestamp = Date.parse(value);
689
- if (!Number.isFinite(timestamp) || new Date(timestamp).toISOString() !== value) throw new Error(`${label} must be a canonical ISO-8601 UTC timestamp.`);
690
- return timestamp;
691
- }
692
- function assertExactPackageVersion(value, label) {
693
- if ('string' != typeof value.packageName || !exactPackageNamePattern.test(value.packageName)) throw new Error(`${label}.packageName must be an exact npm package name without ranges, tags, or globs.`);
694
- if ('string' != typeof value.version || !exactVersionPattern.test(value.version)) throw new Error(`${label}.version must be one exact semantic version without ranges, tags, or globs.`);
695
- }
696
- function requiredRecord(value, label) {
697
- if (!value || 'object' != typeof value || Array.isArray(value)) throw new Error(`${label} must be an object.`);
698
- return value;
699
- }
700
- function validateReleaseAgeApprovals(approvals, options = {}) {
701
- if (!Array.isArray(approvals)) throw new Error('releaseAge.approvals must be an array.');
702
- const now = options.now ?? new Date();
703
- if (!Number.isFinite(now.getTime())) throw new Error('Release-age validation requires a valid current time.');
704
- const seen = new Set();
705
- const validated = approvals.map((rawApproval, index)=>{
706
- const label = `releaseAge.approvals[${index}]`;
707
- const approval = requiredRecord(rawApproval, label);
708
- assertExactPackageVersion(approval, label);
709
- const key = packageVersionKey({
710
- packageName: approval.packageName,
711
- version: approval.version
712
- });
713
- if (seen.has(key)) throw new Error(`Duplicate release-age approval for ${key}.`);
714
- seen.add(key);
715
- for (const field of [
716
- 'reason',
717
- 'reviewer'
718
- ]){
719
- const value = approval[field];
720
- if ('string' != typeof value || 0 === value.trim().length || /^(?:unknown|todo|tbd|placeholder)$/iu.test(value.trim())) throw new Error(`${label}.${field} must identify real review evidence.`);
721
- }
722
- const reviewedAt = assertCanonicalInstant(approval.reviewedAt, `${label}.reviewedAt`);
723
- const expiresAt = assertCanonicalInstant(approval.expiresAt, `${label}.expiresAt`);
724
- if (expiresAt <= reviewedAt) throw new Error(`${key} expiresAt must be after reviewedAt.`);
725
- const evidence = requiredRecord(approval.evidence, `${label}.evidence`);
726
- if ('string' != typeof evidence.uri || !immutableCommitUriPattern.test(evidence.uri)) throw new Error(`${label}.evidence.uri must reference an immutable full GitHub commit.`);
727
- if ('string' != typeof evidence.sha256 || !sha256Pattern.test(evidence.sha256)) throw new Error(`${label}.evidence.sha256 must be a SHA-256 digest.`);
728
- if ('git-commit-payload' !== evidence.sha256Subject) throw new Error(`${label}.evidence.sha256Subject must identify the raw Git commit payload.`);
729
- const registry = requiredRecord(approval.registry, `${label}.registry`);
730
- const publishedAt = assertCanonicalInstant(registry.publishedAt, `${label}.registry.publishedAt`);
731
- if (publishedAt > reviewedAt) throw new Error(`${key} cannot be reviewed before its registry publish time.`);
732
- const dist = requiredRecord(registry.dist, `${label}.registry.dist`);
733
- if ('string' != typeof dist.integrity || !integrityPattern.test(dist.integrity)) throw new Error(`${label}.registry.dist.integrity must be a valid SRI.`);
734
- return approval;
735
- });
736
- return validated.sort(comparePackageVersions);
737
- }
738
- function renderMinimumReleaseAgeExclude(options = {}) {
739
- const now = options.now ?? new Date();
740
- const nowTimestamp = now.getTime();
741
- const reviewedSelectors = validateReleaseAgeApprovals(options.approvals ?? ULTRAMODERN_WORKSPACE_POLICY.pnpm.releaseAge.approvals, {
742
- now
743
- }).filter((approval)=>{
744
- const reviewedAt = Date.parse(approval.reviewedAt);
745
- const expiresAt = Date.parse(approval.expiresAt);
746
- const maturesAt = Date.parse(approval.registry.publishedAt) + 60000 * ULTRAMODERN_WORKSPACE_POLICY.pnpm.minimumReleaseAge;
747
- return reviewedAt <= nowTimestamp && nowTimestamp < expiresAt && nowTimestamp < maturesAt;
748
- }).map(packageVersionKey).sort();
749
- const packageSource = options.packageSource;
750
- if (packageSource?.strategy !== 'install' || !exactVersionPattern.test(packageSource.modernPackageVersion)) return reviewedSelectors;
751
- if (void 0 === options.releaseCohort) throw new Error('Authenticated release cohort projection is required for install package sources.');
752
- const releaseCohort = parseUltramodernReleaseCohort(options.releaseCohort);
753
- assertReleaseCohortPackageSource(releaseCohort, packageSource);
754
- const firstPartySelectors = releaseCohortSelectors(releaseCohort);
755
- return [
756
- ...new Set([
757
- ...reviewedSelectors,
758
- ...firstPartySelectors
759
- ])
760
- ].sort();
761
- }
762
- function resolveReleaseAgeApprovals(candidates, options = {}) {
763
- if (!Array.isArray(candidates)) throw new Error('Release-age dependency closure must be an array.');
764
- const approvals = validateReleaseAgeApprovals(options.approvals ?? ULTRAMODERN_WORKSPACE_POLICY.pnpm.releaseAge.approvals, {
765
- now: options.now
766
- });
767
- const now = options.now ?? new Date();
768
- const nowTimestamp = now.getTime();
769
- const approvalsByKey = new Map(approvals.map((approval)=>[
770
- packageVersionKey(approval),
771
- approval
772
- ]));
773
- const candidatesByKey = new Map();
774
- for (const [index, candidate] of candidates.entries()){
775
- const label = `dependencyClosure[${index}]`;
776
- const record = requiredRecord(candidate, label);
777
- assertExactPackageVersion(record, label);
778
- const registry = requiredRecord(record.registry, `${label}.registry`);
779
- const dist = requiredRecord(registry.dist, `${label}.registry.dist`);
780
- if ('string' != typeof dist.integrity || !integrityPattern.test(dist.integrity)) throw new Error(`${label}.registry.dist.integrity is required; registry uncertainty is fail-closed.`);
781
- const publishedAt = assertCanonicalInstant(registry.publishedAt, `${label}.registry.publishedAt`);
782
- if (publishedAt > nowTimestamp) throw new Error(`${label}.registry.publishedAt is in the future; registry uncertainty is fail-closed.`);
783
- const key = packageVersionKey(record);
784
- if (candidatesByKey.has(key)) throw new Error(`Duplicate dependency-closure candidate for ${key}.`);
785
- candidatesByKey.set(key, {
786
- candidate,
787
- publishedAt
788
- });
789
- }
790
- const approved = [];
791
- const reviewCandidates = [];
792
- for (const [key, resolvedCandidate] of candidatesByKey){
793
- const { candidate, publishedAt } = resolvedCandidate;
794
- const approval = approvalsByKey.get(key);
795
- const maturesAt = publishedAt + 60000 * ULTRAMODERN_WORKSPACE_POLICY.pnpm.minimumReleaseAge;
796
- if (approval) {
797
- if (candidate.registry.dist.integrity !== approval.registry.dist.integrity) throw new Error(`Release-age approval ${key} does not match lock integrity.`);
798
- if (candidate.registry.publishedAt !== approval.registry.publishedAt) throw new Error(`Release-age approval ${key} does not match registry publish time.`);
799
- }
800
- if (!(nowTimestamp >= maturesAt)) {
801
- if (!approval || Date.parse(approval.reviewedAt) > nowTimestamp) {
802
- reviewCandidates.push(candidate);
803
- continue;
804
- }
805
- if (Date.parse(approval.expiresAt) <= nowTimestamp) throw new Error(`Release-age approval for immature ${key} expired at ${approval.expiresAt}.`);
806
- approved.push(candidate);
807
- }
808
- }
809
- for (const approval of approvals){
810
- const key = packageVersionKey(approval);
811
- const reviewedAt = Date.parse(approval.reviewedAt);
812
- const expiresAt = Date.parse(approval.expiresAt);
813
- const maturesAt = Date.parse(approval.registry.publishedAt) + 60000 * ULTRAMODERN_WORKSPACE_POLICY.pnpm.minimumReleaseAge;
814
- if (reviewedAt <= nowTimestamp && nowTimestamp < expiresAt && nowTimestamp < maturesAt && !candidatesByKey.has(key)) throw new Error(`Release-age approval ${key} is unmatched by the dependency closure.`);
815
- }
816
- return {
817
- minimumReleaseAgeExclude: approved.sort(comparePackageVersions).map(packageVersionKey),
818
- reviewCandidates: reviewCandidates.sort(comparePackageVersions)
819
- };
820
- }
821
- export { ULTRAMODERN_PACKAGE_PINS, ULTRAMODERN_WORKSPACE_POLICY, createCloudflareDeployContract, createCloudflareSecurityContract, createPublicHeadRobotsPolicy, createPublicSurfaceContentExpansionPolicy, formatTsJsonValue, renderMinimumReleaseAgeExclude, resolveReleaseAgeApprovals, validateReleaseAgeApprovals };
259
+ export { ULTRAMODERN_WORKSPACE_POLICY, createCloudflareDeployContract, createCloudflareSecurityContract, createPublicHeadRobotsPolicy, createPublicSurfaceContentExpansionPolicy, formatTsJsonValue };
@@ -49,7 +49,7 @@ function createPublicSurfaceOutputFiles(app) {
49
49
  ];
50
50
  }
51
51
  function createPublicSurfaceGenerationCommand(app, target, requirePublicOrigin = false) {
52
- return `node ${relativeRootFor(app.directory)}/scripts/generate-public-surface-assets.mts --app ${app.id} --target ${target}${requirePublicOrigin ? ' --require-public-origin' : ''}`;
52
+ return `pnpm --dir ${relativeRootFor(app.directory)} exec ultramodern-create ultramodern public-surface --app ${app.id} --target ${target}${requirePublicOrigin ? ' --require-public-origin' : ''}`;
53
53
  }
54
54
  function rewriteWorkspaceAssetsForApp(workspaceRoot, app) {
55
55
  for (const relativePath of publicSurfaceManagedSourceAssetPaths)node_fs.rmSync(node_path.join(workspaceRoot, app.directory, relativePath), {
@@ -65,7 +65,7 @@ function createPublicSurfaceContract(app) {
65
65
  generatedManifest: './src/routes/ultramodern-route-metadata',
66
66
  source: 'route-owned-public-routes',
67
67
  metadataExport: './src/routes/ultramodern-route-metadata',
68
- generator: "scripts/generate-public-surface-assets.mts",
68
+ generator: 'ultramodern-create ultramodern public-surface',
69
69
  outputRoot: 'dist/public',
70
70
  cloudflareBuildOutputRoot: 'dist-cloudflare/public',
71
71
  privateRoutePolicy: 'omit-from-generated-public-surface',
@@ -163,7 +163,7 @@ function createPublicWebAppArtifacts(app) {
163
163
  },
164
164
  routeMetadataFile: {
165
165
  path: `${app.directory}/src/routes/ultramodern-route-metadata.ts`,
166
- content: createRouteMetadataModule(app)
166
+ content: createRouteMetadataModule()
167
167
  },
168
168
  routeHeadFile: {
169
169
  path: `${app.directory}/src/routes/ultramodern-route-head.tsx`,
@@ -74,17 +74,8 @@ function createPublicRouteMetadata(app) {
74
74
  function createJsonLdHelperModule() {
75
75
  return renderFileTemplate('workspace/apps/shared/src/routes/ultramodern-jsonld.ts', {});
76
76
  }
77
- function createRouteMetadataModule(app) {
78
- const routes = sortJsonValue(createRouteOwnedI18nPaths(app));
79
- const localisedUrls = sortJsonValue(createLocalisedUrlsMap(app));
80
- const publicRoutes = sortJsonValue(createPublicRouteMetadata(app));
81
- const namespace = appI18nNamespace(app);
82
- return renderFileTemplate('workspace/apps/shared/src/routes/ultramodern-route-metadata.ts', {
83
- value0: namespace,
84
- value1: JSON.stringify(routes, null, 2),
85
- value2: JSON.stringify(localisedUrls, null, 2),
86
- value3: JSON.stringify(publicRoutes, null, 2)
87
- });
77
+ function createRouteMetadataModule() {
78
+ return renderFileTemplate('workspace/apps/shared/src/routes/ultramodern-route-metadata.ts', {});
88
79
  }
89
80
  function createRouteMetaModule(route) {
90
81
  return `const routeMeta = ${JSON.stringify(sortJsonValue(route), null, 2)} as const;
@@ -1,4 +1,4 @@
1
1
  import "node:module";
2
- import { ULTRAMODERN_WORKSPACE_POLICY } from "./policy.js";
3
- const SHARED_ULTRAMODERN_WORKSPACE_PATCH_FILES = ULTRAMODERN_WORKSPACE_POLICY.pnpm.patchedDependencies.required.map((patch)=>patch.path.replace(/^patches\//u, '')).filter((patchFile)=>patchFile.startsWith('@module-federation__') || patchFile.startsWith('@tanstack__') || patchFile.startsWith('msgpackr@') || patchFile.startsWith('zod@'));
2
+ import patch_inventory from "./patch-inventory.js";
3
+ const SHARED_ULTRAMODERN_WORKSPACE_PATCH_FILES = patch_inventory.filter((patch)=>patch.repository && null !== patch.workspace).map((patch)=>patch.path.slice(8));
4
4
  export { SHARED_ULTRAMODERN_WORKSPACE_PATCH_FILES };