@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,612 +0,0 @@
1
- "use strict";
2
- var __webpack_require__ = {};
3
- (()=>{
4
- __webpack_require__.n = (module)=>{
5
- var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
- __webpack_require__.d(getter, {
7
- a: getter
8
- });
9
- return getter;
10
- };
11
- })();
12
- (()=>{
13
- __webpack_require__.d = (exports1, getters, values)=>{
14
- var define = (defs, kind)=>{
15
- for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
- enumerable: true,
17
- [kind]: defs[key]
18
- });
19
- };
20
- define(getters, "get");
21
- define(values, "value");
22
- };
23
- })();
24
- (()=>{
25
- __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
26
- })();
27
- (()=>{
28
- __webpack_require__.r = (exports1)=>{
29
- if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
30
- value: 'Module'
31
- });
32
- Object.defineProperty(exports1, '__esModule', {
33
- value: true
34
- });
35
- };
36
- })();
37
- var __webpack_exports__ = {};
38
- __webpack_require__.r(__webpack_exports__);
39
- __webpack_require__.d(__webpack_exports__, {
40
- updateGeneratedPnpmWorkspacePolicy: ()=>updateGeneratedPnpmWorkspacePolicy,
41
- validateGeneratedPnpmLockReleaseAgePolicy: ()=>validateGeneratedPnpmLockReleaseAgePolicy
42
- });
43
- const external_node_crypto_namespaceObject = require("node:crypto");
44
- var external_node_crypto_default = /*#__PURE__*/ __webpack_require__.n(external_node_crypto_namespaceObject);
45
- const external_node_fs_namespaceObject = require("node:fs");
46
- var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
47
- const external_node_path_namespaceObject = require("node:path");
48
- var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
49
- const external_ultramodern_release_cohort_cjs_namespaceObject = require("../../../ultramodern-release-cohort.cjs");
50
- const package_source_cjs_namespaceObject = require("../../../ultramodern-workspace/package-source.cjs");
51
- const policy_cjs_namespaceObject = require("../../../ultramodern-workspace/policy.cjs");
52
- const external_dependency_usage_cjs_namespaceObject = require("./dependency-usage.cjs");
53
- const external_pnpm_yaml_cjs_namespaceObject = require("./pnpm-yaml.cjs");
54
- const legacyBareReleaseAgePackages = new Set([
55
- ...Object.keys(policy_cjs_namespaceObject.ULTRAMODERN_PACKAGE_PINS.appDependencies),
56
- ...Object.keys(policy_cjs_namespaceObject.ULTRAMODERN_PACKAGE_PINS.appDevDependencies),
57
- ...Object.keys(policy_cjs_namespaceObject.ULTRAMODERN_PACKAGE_PINS.transitiveDependencies),
58
- '@module-federation/bridge-react-webpack-plugin',
59
- '@module-federation/cli',
60
- '@module-federation/dts-plugin',
61
- '@module-federation/enhanced',
62
- '@module-federation/error-codes',
63
- '@module-federation/inject-external-runtime-core-plugin',
64
- '@module-federation/managers',
65
- '@module-federation/manifest',
66
- '@module-federation/rsbuild-plugin',
67
- '@module-federation/rspack',
68
- '@module-federation/runtime-core',
69
- '@module-federation/runtime-tools',
70
- '@module-federation/sdk',
71
- '@module-federation/third-party-dts-extractor',
72
- '@module-federation/webpack-bundler-runtime',
73
- '@rsbuild/core',
74
- '@rsbuild/plugin-react',
75
- '@rsbuild/plugin-type-check',
76
- '@rspack/binding',
77
- '@rspack/core',
78
- '@rspack/plugin-react-refresh',
79
- 'ts-checker-rspack-plugin'
80
- ]);
81
- const staleOxcBindingTargets = [
82
- 'android-arm-eabi',
83
- 'android-arm64',
84
- 'darwin-arm64',
85
- 'darwin-x64',
86
- 'freebsd-x64',
87
- 'linux-arm-gnueabihf',
88
- 'linux-arm-musleabihf',
89
- 'linux-arm64-gnu',
90
- 'linux-arm64-musl',
91
- 'linux-ppc64-gnu',
92
- 'linux-riscv64-gnu',
93
- 'linux-riscv64-musl',
94
- 'linux-s390x-gnu',
95
- 'linux-x64-gnu',
96
- 'linux-x64-musl',
97
- 'openharmony-arm64',
98
- 'win32-arm64-msvc',
99
- 'win32-ia32-msvc',
100
- 'win32-x64-msvc'
101
- ];
102
- const reviewedAugust10EffectTsgoPackages = [
103
- '@effect/tsgo',
104
- '@effect/tsgo-win32-x64',
105
- '@effect/tsgo-win32-arm64',
106
- '@effect/tsgo-linux-x64',
107
- '@effect/tsgo-linux-arm64',
108
- '@effect/tsgo-linux-arm',
109
- '@effect/tsgo-darwin-x64',
110
- '@effect/tsgo-darwin-arm64'
111
- ];
112
- const reviewedAugust10StaleReleaseAgeEntries = [
113
- 'effect@4.0.0-beta.107',
114
- '@effect/opentelemetry@4.0.0-beta.107',
115
- '@effect/vitest@4.0.0-beta.107',
116
- ...reviewedAugust10EffectTsgoPackages.map((packageName)=>`${packageName}@0.36.2`),
117
- 'oxlint@1.78.0',
118
- ...staleOxcBindingTargets.map((target)=>`@oxlint/binding-${target}@1.78.0`),
119
- 'oxfmt@0.63.0',
120
- ...staleOxcBindingTargets.map((target)=>`@oxfmt/binding-${target}@0.63.0`)
121
- ];
122
- const reviewedAugust24And25StaleReleaseAgeEntries = [
123
- '@rsbuild/core@2.2.0-rc.0',
124
- 'baseline-browser-mapping@2.11.19',
125
- 'electron-to-chromium@1.5.413',
126
- 'caniuse-lite@1.0.30001810',
127
- 'electron-to-chromium@1.5.414'
128
- ];
129
- const reviewedAugust26StaleReleaseAgeEntries = [
130
- '@rsbuild/core@2.2.0',
131
- '@rspack/binding-darwin-arm64@2.2.0',
132
- '@rspack/binding-darwin-x64@2.2.0',
133
- '@rspack/binding-linux-arm64-gnu@2.2.0',
134
- '@rspack/binding-linux-arm64-musl@2.2.0',
135
- '@rspack/binding-linux-ppc64-gnu@2.2.0',
136
- '@rspack/binding-linux-riscv64-gnu@2.2.0',
137
- '@rspack/binding-linux-riscv64-musl@2.2.0',
138
- '@rspack/binding-linux-s390x-gnu@2.2.0',
139
- '@rspack/binding-linux-x64-gnu@2.2.0',
140
- '@rspack/binding-linux-x64-musl@2.2.0',
141
- '@rspack/binding-wasm32-wasi@2.2.0',
142
- '@rspack/binding-win32-arm64-msvc@2.2.0',
143
- '@rspack/binding-win32-ia32-msvc@2.2.0',
144
- '@rspack/binding-win32-x64-msvc@2.2.0',
145
- '@rspack/binding@2.2.0',
146
- '@rspack/core@2.2.0'
147
- ];
148
- const knownStaleReleaseAgeEntries = new Set([
149
- '@effect/opentelemetry@4.0.0-beta.92',
150
- '@effect/opentelemetry@4.0.0-beta.94',
151
- '@effect/opentelemetry@4.0.0-beta.97',
152
- '@effect/vitest@4.0.0-beta.97',
153
- "@typescript/native-preview@7.0.0-dev.20260628.1",
154
- "@typescript/typescript6@6.0.2",
155
- '@cloudflare/workers-types@5.20260708.1',
156
- 'effect@4.0.0-beta.92',
157
- 'effect@4.0.0-beta.94',
158
- 'effect@4.0.0-beta.97',
159
- 'i18next@26.3.1',
160
- 'miniflare@4.20260708.0',
161
- 'workerd@1.20260708.1',
162
- 'wrangler@4.109.0',
163
- 'ultracite@7.10.2',
164
- 'ultracite@7.10.5',
165
- 'oxfmt@0.64.0',
166
- 'oxlint@1.79.0',
167
- ...staleOxcBindingTargets.map((target)=>`@oxfmt/binding-${target}@0.64.0`),
168
- ...staleOxcBindingTargets.map((target)=>`@oxlint/binding-${target}@1.79.0`),
169
- ...reviewedAugust10StaleReleaseAgeEntries,
170
- ...reviewedAugust24And25StaleReleaseAgeEntries,
171
- ...reviewedAugust26StaleReleaseAgeEntries,
172
- ...policy_cjs_namespaceObject.ULTRAMODERN_WORKSPACE_POLICY.pnpm.releaseAge.approvals.filter((approval)=>approval.packageName.startsWith('@module-federation/')).map((approval)=>`${approval.packageName}@2.6.0`)
173
- ]);
174
- const canonicalReleaseAgeEntries = new Set(policy_cjs_namespaceObject.ULTRAMODERN_WORKSPACE_POLICY.pnpm.releaseAge.approvals.map((approval)=>`${approval.packageName}@${approval.version}`));
175
- const retiredTypescriptPeerOverrides = new Set([
176
- "@module-federation/dts-plugin>typescript",
177
- "@module-federation/enhanced>typescript",
178
- "@module-federation/modern-js-v3>typescript",
179
- "@module-federation/rspack>typescript",
180
- "i18next>typescript"
181
- ]);
182
- function ensureMap(document, key) {
183
- const current = document[key];
184
- if (void 0 === current) {
185
- const created = {};
186
- document[key] = created;
187
- return created;
188
- }
189
- if (!(0, external_pnpm_yaml_cjs_namespaceObject.isYamlRecord)(current)) throw new Error(`pnpm-workspace.yaml ${key} must be a mapping.`);
190
- return current;
191
- }
192
- function setOwnedScalar(document, key, value) {
193
- const current = document[key];
194
- if (void 0 !== current && 'object' == typeof current) throw new Error(`pnpm-workspace.yaml ${key} must be a scalar.`);
195
- document[key] = value;
196
- }
197
- function reconcileOwnedMap(target, expected) {
198
- for (const [key, value] of Object.entries(expected))target[key] = value;
199
- }
200
- function assertUniqueStringList(value, key) {
201
- if (!Array.isArray(value) || value.some((item)=>'string' != typeof item)) throw new Error(`pnpm-workspace.yaml ${key} must be a string list.`);
202
- const entries = value;
203
- if (new Set(entries).size !== entries.length) throw new Error(`pnpm-workspace.yaml ${key} contains duplicate entries.`);
204
- return entries;
205
- }
206
- function packageVersionParts(selector) {
207
- const separator = selector.lastIndexOf('@');
208
- if (separator <= 0) return;
209
- return {
210
- packageName: selector.slice(0, separator),
211
- version: selector.slice(separator + 1)
212
- };
213
- }
214
- function assertOwnedReleaseAgeList(current, expected) {
215
- const entries = assertUniqueStringList(current, 'minimumReleaseAgeExclude');
216
- const expectedSet = new Set(expected);
217
- for (const entry of entries){
218
- if (!(expectedSet.has(entry) || canonicalReleaseAgeEntries.has(entry) || knownStaleReleaseAgeEntries.has(entry))) {
219
- if (!('@bleedingdev/modern-js-*' === entry || '@module-federation/*' === entry || '@rspack/binding-*' === entry || legacyBareReleaseAgePackages.has(entry))) {
220
- if (!/^@bleedingdev\/modern-js-[^@]+@[^@]+$/u.test(entry)) throw new Error(`Unapproved release-age exclusion "${entry}" has no canonical review evidence.`);
221
- }
222
- }
223
- }
224
- }
225
- function assertOwnedTrustPolicyList(current, expected) {
226
- const entries = assertUniqueStringList(current, 'trustPolicyExclude');
227
- const expectedSet = new Set(expected);
228
- for (const entry of entries)if (!expectedSet.has(entry) && 'effect@4.0.0-beta.92' !== entry && '@effect/opentelemetry@4.0.0-beta.92' !== entry && 'effect@4.0.0-beta.94' !== entry && '@effect/opentelemetry@4.0.0-beta.94' !== entry && 'effect@4.0.0-beta.97' !== entry && '@effect/opentelemetry@4.0.0-beta.97' !== entry && 'effect@4.0.0-beta.102' !== entry && '@effect/opentelemetry@4.0.0-beta.102' !== entry && 'effect@4.0.0-beta.107' !== entry && '@effect/opentelemetry@4.0.0-beta.107' !== entry) throw new Error(`Unmatched trust-policy exclusion "${entry}" cannot be migrated safely.`);
229
- }
230
- function patchKey(patch) {
231
- return `${patch.packageName}@${patch.version}`;
232
- }
233
- function reconcilePatchedDependencies(document, includeDrizzleOrmPatch) {
234
- const policy = policy_cjs_namespaceObject.ULTRAMODERN_WORKSPACE_POLICY.pnpm.patchedDependencies;
235
- const expectedPatches = [
236
- ...policy.required,
237
- ...includeDrizzleOrmPatch ? policy.conditional : []
238
- ];
239
- const expected = new Map(expectedPatches.map((patch)=>[
240
- patchKey(patch),
241
- patch.path
242
- ]));
243
- const stale = new Map(policy.stale.map((patch)=>[
244
- patchKey(patch),
245
- patch
246
- ]));
247
- const ownedPackageNames = new Set([
248
- ...policy.required,
249
- ...policy.conditional,
250
- ...policy.stale
251
- ].map((patch)=>patch.packageName));
252
- const patchedDependencies = ensureMap(document, 'patchedDependencies');
253
- for (const [selector, patchPath] of Object.entries(patchedDependencies)){
254
- const stalePatch = stale.get(selector);
255
- if (stalePatch) {
256
- if (patchPath !== stalePatch.path) throw new Error(`Stale framework patch ${selector} uses an unrecognized path and cannot be removed safely.`);
257
- delete patchedDependencies[selector];
258
- continue;
259
- }
260
- const parts = packageVersionParts(selector);
261
- if (parts && ownedPackageNames.has(parts.packageName) && !expected.has(selector)) {
262
- const conditionalPatch = policy.conditional.find((patch)=>patchKey(patch) === selector);
263
- if (conditionalPatch && !includeDrizzleOrmPatch && patchPath === conditionalPatch.path) {
264
- delete patchedDependencies[selector];
265
- continue;
266
- }
267
- throw new Error(`Framework-owned patch selector ${selector} has unknown provenance.`);
268
- }
269
- }
270
- for (const [selector, patchPath] of expected)patchedDependencies[selector] = patchPath;
271
- }
272
- function reconcilePnpmPolicy(document, includeDrizzleOrmPatch, packageSource, releaseCohort, now) {
273
- const policy = policy_cjs_namespaceObject.ULTRAMODERN_WORKSPACE_POLICY.pnpm;
274
- const minimumReleaseAgeExclude = (0, policy_cjs_namespaceObject.renderMinimumReleaseAgeExclude)({
275
- now,
276
- packageSource,
277
- releaseCohort
278
- });
279
- const workspacePackageLinkingPolicy = (0, package_source_cjs_namespaceObject.resolveWorkspacePackageLinkingPolicy)(packageSource);
280
- if (void 0 !== document.minimumReleaseAgeExclude) assertOwnedReleaseAgeList(document.minimumReleaseAgeExclude, minimumReleaseAgeExclude);
281
- if (void 0 !== document.trustPolicyExclude) assertOwnedTrustPolicyList(document.trustPolicyExclude, policy.trustPolicyExclude);
282
- for (const [key, value] of [
283
- [
284
- 'minimumReleaseAge',
285
- policy.minimumReleaseAge
286
- ],
287
- [
288
- 'minimumReleaseAgeStrict',
289
- policy.minimumReleaseAgeStrict
290
- ],
291
- [
292
- 'minimumReleaseAgeIgnoreMissingTime',
293
- policy.minimumReleaseAgeIgnoreMissingTime
294
- ],
295
- [
296
- 'trustPolicy',
297
- policy.trustPolicy
298
- ],
299
- [
300
- 'trustPolicyIgnoreAfter',
301
- policy.trustPolicyIgnoreAfter
302
- ],
303
- [
304
- 'blockExoticSubdeps',
305
- policy.blockExoticSubdeps
306
- ],
307
- [
308
- 'engineStrict',
309
- policy.engineStrict
310
- ],
311
- [
312
- 'pmOnFail',
313
- policy.pmOnFail
314
- ],
315
- [
316
- 'verifyDepsBeforeRun',
317
- policy.verifyDepsBeforeRun
318
- ],
319
- [
320
- 'strictDepBuilds',
321
- policy.strictDepBuilds
322
- ]
323
- ])setOwnedScalar(document, key, value);
324
- for (const key of [
325
- 'injectWorkspacePackages',
326
- 'linkWorkspacePackages'
327
- ]){
328
- const value = workspacePackageLinkingPolicy[key];
329
- if (void 0 === value) delete document[key];
330
- else setOwnedScalar(document, key, value);
331
- }
332
- document.minimumReleaseAgeExclude = minimumReleaseAgeExclude;
333
- document.trustPolicyExclude = [
334
- ...policy.trustPolicyExclude
335
- ];
336
- const peerDependencyRules = ensureMap(document, 'peerDependencyRules');
337
- const allowedVersions = ensureMap(peerDependencyRules, 'allowedVersions');
338
- for (const selector of retiredTypescriptPeerOverrides)delete allowedVersions[selector];
339
- reconcileOwnedMap(allowedVersions, policy.peerDependencyRules.allowedVersions);
340
- const overrides = ensureMap(document, 'overrides');
341
- const ownedOverrideNames = new Set(Object.keys(policy.overrides));
342
- for (const selector of Object.keys(overrides)){
343
- const parts = packageVersionParts(selector);
344
- if (parts && ownedOverrideNames.has(parts.packageName)) delete overrides[selector];
345
- }
346
- reconcileOwnedMap(overrides, policy.overrides);
347
- const packageExtensions = document.packageExtensions;
348
- if (void 0 !== packageExtensions) {
349
- if (!(0, external_pnpm_yaml_cjs_namespaceObject.isYamlRecord)(packageExtensions)) throw new Error('pnpm-workspace.yaml packageExtensions must be a mapping.');
350
- for (const selector of Object.keys(packageExtensions))if (packageVersionParts(selector)?.packageName === '@module-federation/dts-plugin') delete packageExtensions[selector];
351
- if (0 === Object.keys(packageExtensions).length) delete document.packageExtensions;
352
- }
353
- reconcileOwnedMap(ensureMap(document, 'allowBuilds'), policy.allowBuilds);
354
- reconcilePatchedDependencies(document, includeDrizzleOrmPatch);
355
- }
356
- function stalePatchFilesToRemove(workspaceRoot, document) {
357
- const staleFiles = [];
358
- const patchedDependencies = ensureMap(document, 'patchedDependencies');
359
- const lexicalWorkspaceRoot = external_node_path_default().resolve(workspaceRoot);
360
- const physicalWorkspaceRoot = external_node_fs_default().realpathSync.native(lexicalWorkspaceRoot);
361
- const isOutsideRoot = (root, candidate)=>{
362
- const relativePath = external_node_path_default().relative(root, candidate);
363
- return '' === relativePath || '..' === relativePath || relativePath.startsWith(`..${external_node_path_default().sep}`) || external_node_path_default().isAbsolute(relativePath);
364
- };
365
- const resolvePhysicalPath = (absolutePath)=>{
366
- const missingSegments = [];
367
- let existingAncestor = absolutePath;
368
- while(!external_node_fs_default().existsSync(existingAncestor)){
369
- const parent = external_node_path_default().dirname(existingAncestor);
370
- if (parent === existingAncestor) break;
371
- missingSegments.unshift(external_node_path_default().basename(existingAncestor));
372
- existingAncestor = parent;
373
- }
374
- return external_node_path_default().resolve(external_node_fs_default().realpathSync.native(existingAncestor), ...missingSegments);
375
- };
376
- const resolvePatchPath = (selector, patchPath)=>{
377
- if ('string' != typeof patchPath || 0 === patchPath.length) throw new Error(`Patched dependency ${selector} must reference a non-empty path string.`);
378
- const absolutePath = external_node_path_default().resolve(lexicalWorkspaceRoot, patchPath.replaceAll('\\', '/'));
379
- if (isOutsideRoot(lexicalWorkspaceRoot, absolutePath)) throw new Error(`Patched dependency ${selector} references a path outside the workspace: ${patchPath}`);
380
- const physicalPath = resolvePhysicalPath(absolutePath);
381
- if (isOutsideRoot(physicalWorkspaceRoot, physicalPath)) throw new Error(`Patched dependency ${selector} resolves outside the workspace: ${patchPath}`);
382
- return {
383
- absolutePath,
384
- identity: 'win32' === process.platform ? physicalPath.toLowerCase() : physicalPath
385
- };
386
- };
387
- const resolvedPatchedDependencies = Object.entries(patchedDependencies).map(([selector, patchPath])=>({
388
- ...resolvePatchPath(selector, patchPath),
389
- selector
390
- }));
391
- const resolvedBySelector = new Map(resolvedPatchedDependencies.map((resolved)=>[
392
- resolved.selector,
393
- resolved
394
- ]));
395
- const activeFrameworkPatchIdentities = new Set([
396
- ...policy_cjs_namespaceObject.ULTRAMODERN_WORKSPACE_POLICY.pnpm.patchedDependencies.required,
397
- ...policy_cjs_namespaceObject.ULTRAMODERN_WORKSPACE_POLICY.pnpm.patchedDependencies.conditional
398
- ].map((patch)=>({
399
- actual: resolvedBySelector.get(patchKey(patch)),
400
- expected: resolvePatchPath(patchKey(patch), patch.path)
401
- })).filter(({ actual, expected })=>actual?.identity === expected.identity).map(({ expected })=>expected.identity));
402
- const stalePatchesByIdentity = new Map();
403
- for (const patch of policy_cjs_namespaceObject.ULTRAMODERN_WORKSPACE_POLICY.pnpm.patchedDependencies.stale){
404
- const stalePath = resolvePatchPath(patchKey(patch), patch.path);
405
- const existing = stalePatchesByIdentity.get(stalePath.identity);
406
- const acceptedDigests = [
407
- patch.sha256,
408
- ...patch.acceptedLegacySha256 ?? []
409
- ];
410
- if (existing) {
411
- for (const digest of acceptedDigests)existing.acceptedDigests.add(digest);
412
- continue;
413
- }
414
- stalePatchesByIdentity.set(stalePath.identity, {
415
- acceptedDigests: new Set(acceptedDigests),
416
- absolutePath: stalePath.absolutePath,
417
- policyPath: patch.path
418
- });
419
- }
420
- for (const [identity, stalePatch] of stalePatchesByIdentity){
421
- if (activeFrameworkPatchIdentities.has(identity)) continue;
422
- const survivingSelectors = resolvedPatchedDependencies.filter((resolved)=>resolved.identity === identity).map((resolved)=>resolved.selector);
423
- if (survivingSelectors.length > 0) throw new Error(`Stale framework patch ${stalePatch.policyPath} is still referenced by consumer-owned selector(s): ${survivingSelectors.join(', ')}; refusing to mutate the workspace.`);
424
- const patchPath = stalePatch.absolutePath;
425
- if (!external_node_fs_default().existsSync(patchPath)) continue;
426
- const digest = external_node_crypto_default().createHash('sha256').update(external_node_fs_default().readFileSync(patchPath)).digest('hex');
427
- if (!stalePatch.acceptedDigests.has(digest)) throw new Error(`Stale framework patch ${stalePatch.policyPath} was modified (expected a reviewed sha256, found ${digest}); refusing to delete it.`);
428
- staleFiles.push(patchPath);
429
- }
430
- return staleFiles;
431
- }
432
- function updateGeneratedPnpmWorkspacePolicy(io, packageSource, options = {}) {
433
- const workspaceFile = external_node_path_default().join(io.workspaceRoot, 'pnpm-workspace.yaml');
434
- if (!external_node_fs_default().existsSync(workspaceFile)) return false;
435
- const source = external_node_fs_default().readFileSync(workspaceFile, 'utf-8');
436
- const { document, lineEnding } = (0, external_pnpm_yaml_cjs_namespaceObject.parsePnpmWorkspaceYaml)(source, workspaceFile);
437
- const before = JSON.stringify(document);
438
- const drizzleOrmPatch = policy_cjs_namespaceObject.ULTRAMODERN_WORKSPACE_POLICY.pnpm.patchedDependencies.conditional.find((patch)=>'drizzle-orm' === patch.packageName);
439
- reconcilePnpmPolicy(document, void 0 !== drizzleOrmPatch && (0, external_dependency_usage_cjs_namespaceObject.workspaceUsesDependency)(io.workspaceRoot, drizzleOrmPatch.packageName, drizzleOrmPatch.version), packageSource, options.releaseCohort, options.now);
440
- const stalePatchFiles = stalePatchFilesToRemove(io.workspaceRoot, document);
441
- let changed = false;
442
- if (JSON.stringify(document) !== before) changed = io.write(workspaceFile, (0, external_pnpm_yaml_cjs_namespaceObject.stringifyPnpmWorkspaceYaml)(document, lineEnding)) || changed;
443
- for (const stalePatchFile of stalePatchFiles)changed = io.remove(stalePatchFile) || changed;
444
- return changed;
445
- }
446
- const NPM_REGISTRY_URL = 'https://registry.npmjs.org/';
447
- const LOOPBACK_REGISTRY_HOST = '127.0.0.1';
448
- function packageRegistryUrl(registryUrl, packageName) {
449
- let base;
450
- try {
451
- base = new URL(registryUrl);
452
- } catch {
453
- throw new Error(`Registry URL is invalid: ${registryUrl}`);
454
- }
455
- if ('https:' !== base.protocol && !('http:' === base.protocol && base.hostname === LOOPBACK_REGISTRY_HOST)) throw new Error(`Registry URL must use HTTPS: ${registryUrl}`);
456
- const encodedName = packageName.startsWith('@') ? packageName.replace('/', '%2f') : encodeURIComponent(packageName);
457
- return new URL(encodedName, base);
458
- }
459
- function packageVersionKey(packageName, version) {
460
- return `${packageName}@${version}`;
461
- }
462
- function isRegistryRecord(value) {
463
- return Boolean(value) && 'object' == typeof value && !Array.isArray(value);
464
- }
465
- const registryFetchConcurrency = 16;
466
- const registryFetchAttempts = 3;
467
- const registryFetchRetryDelayMs = 250;
468
- function isTransientRegistryStatus(status) {
469
- return 429 === status || status >= 500;
470
- }
471
- async function fetchRegistryResponse(fetchImpl, url) {
472
- let lastError;
473
- for(let attempt = 0; attempt < registryFetchAttempts; attempt += 1){
474
- try {
475
- const response = await fetchImpl(url, {
476
- headers: {
477
- accept: 'application/json'
478
- },
479
- redirect: 'error'
480
- });
481
- if (response.ok || !isTransientRegistryStatus(response.status) || attempt === registryFetchAttempts - 1) return response;
482
- lastError = new Error(`HTTP ${response.status}`);
483
- } catch (error) {
484
- lastError = error;
485
- if (attempt === registryFetchAttempts - 1) throw error;
486
- }
487
- await new Promise((resolve)=>setTimeout(resolve, registryFetchRetryDelayMs * 2 ** attempt));
488
- }
489
- throw lastError;
490
- }
491
- async function resolveRegistryCandidates(candidates, options) {
492
- const nowTimestamp = options.now.getTime();
493
- if (!Number.isFinite(nowTimestamp)) throw new Error('Release-age validation requires a valid current time.');
494
- async function resolveCandidate(candidate) {
495
- const key = packageVersionKey(candidate.packageName, candidate.version);
496
- let response;
497
- try {
498
- response = await fetchRegistryResponse(options.fetchImpl, packageRegistryUrl(options.registryUrlFor(candidate.packageName), candidate.packageName));
499
- } catch (error) {
500
- throw new Error(`Registry metadata is uncertain for ${key} (${candidate.path.join(' -> ')}): ${error instanceof Error ? error.message : String(error)}`);
501
- }
502
- if (!response.ok) throw new Error(`Registry metadata is uncertain for ${key} (${candidate.path.join(' -> ')}): HTTP ${response.status}`);
503
- let packument;
504
- try {
505
- packument = await response.json();
506
- } catch (error) {
507
- throw new Error(`Registry metadata is invalid JSON for ${key}: ${error instanceof Error ? error.message : String(error)}`);
508
- }
509
- if (!isRegistryRecord(packument)) throw new Error(`Registry metadata is invalid for ${key}.`);
510
- const versions = packument.versions;
511
- const time = packument.time;
512
- const versionMetadata = isRegistryRecord(versions) ? versions[candidate.version] : void 0;
513
- const dist = isRegistryRecord(versionMetadata) ? versionMetadata.dist : void 0;
514
- const integrity = isRegistryRecord(dist) ? dist.integrity : void 0;
515
- if (integrity !== candidate.registry.dist.integrity) throw new Error(`Registry metadata integrity mismatch for ${key}: lock has ${candidate.registry.dist.integrity}, registry has ${String(integrity)}`);
516
- const publishedAt = isRegistryRecord(time) ? time[candidate.version] : void 0;
517
- const publishedAtTimestamp = 'string' == typeof publishedAt ? Date.parse(publishedAt) : 0 / 0;
518
- if ('string' != typeof publishedAt || !Number.isFinite(publishedAtTimestamp) || publishedAtTimestamp > nowTimestamp) throw new Error(`Registry publication time is missing, invalid, or in the future for ${key}.`);
519
- return {
520
- ...candidate,
521
- registry: {
522
- ...candidate.registry,
523
- publishedAt: new Date(publishedAtTimestamp).toISOString()
524
- }
525
- };
526
- }
527
- const results = new Array(candidates.length);
528
- let nextIndex = 0;
529
- async function worker() {
530
- while(nextIndex < candidates.length){
531
- const index = nextIndex;
532
- nextIndex += 1;
533
- results[index] = await resolveCandidate(candidates[index]);
534
- }
535
- }
536
- await Promise.all(Array.from({
537
- length: Math.min(registryFetchConcurrency, candidates.length)
538
- }, ()=>worker()));
539
- return results;
540
- }
541
- async function validateGeneratedPnpmLockReleaseAgePolicy(workspaceRoot, packageSource, options = {}) {
542
- const lockfilePath = external_node_path_default().join(workspaceRoot, 'pnpm-lock.yaml');
543
- if (!external_node_fs_default().existsSync(lockfilePath)) throw new Error('Cannot validate release-age approvals without pnpm-lock.yaml.');
544
- const now = options.now ?? new Date();
545
- const releaseCohort = options.releaseCohort ?? ('install' === packageSource.strategy ? (0, external_ultramodern_release_cohort_cjs_namespaceObject.readWorkspaceReleaseCohort)(workspaceRoot) : void 0);
546
- const activeSelectors = (0, policy_cjs_namespaceObject.renderMinimumReleaseAgeExclude)({
547
- now,
548
- packageSource,
549
- releaseCohort
550
- });
551
- const workspacePolicyPath = external_node_path_default().join(workspaceRoot, 'pnpm-workspace.yaml');
552
- const { document: workspacePolicy } = (0, external_pnpm_yaml_cjs_namespaceObject.parsePnpmWorkspaceYaml)(external_node_fs_default().readFileSync(workspacePolicyPath, 'utf-8'), workspacePolicyPath);
553
- const renderedSelectors = assertUniqueStringList(workspacePolicy.minimumReleaseAgeExclude, 'minimumReleaseAgeExclude');
554
- if (JSON.stringify(renderedSelectors) !== JSON.stringify(activeSelectors)) throw new Error('pnpm-workspace.yaml release-age exclusions do not match canonical policy.');
555
- const firstPartySelectors = new Set(releaseCohort ? (0, external_ultramodern_release_cohort_cjs_namespaceObject.releaseCohortSelectors)(releaseCohort) : []);
556
- const firstPartyTargetNames = new Set(releaseCohort?.packages.map((item)=>item.targetName) ?? []);
557
- const { document: lockfile } = (0, external_pnpm_yaml_cjs_namespaceObject.parsePnpmWorkspaceYaml)(external_node_fs_default().readFileSync(lockfilePath, 'utf-8'), lockfilePath);
558
- const closure = (0, external_pnpm_yaml_cjs_namespaceObject.discoverReachablePnpmLockReleaseAgeClosure)(lockfile);
559
- if (closure.unresolved.length > 0) {
560
- const unresolved = closure.unresolved.slice(0, 20).map((candidate)=>{
561
- const packageName = candidate.package ?? 'unknown package';
562
- return `- ${packageName}: ${candidate.reason}; path ${candidate.path.join(' -> ')}`;
563
- }).join('\n');
564
- throw new Error(`Dependency closure has unresolved candidates:\n${unresolved}`);
565
- }
566
- const closureKeys = new Set(closure.candidates.map((candidate)=>packageVersionKey(candidate.packageName, candidate.version)));
567
- const approvals = policy_cjs_namespaceObject.ULTRAMODERN_WORKSPACE_POLICY.pnpm.releaseAge.approvals.filter((approval)=>closureKeys.has(`${approval.packageName}@${approval.version}`));
568
- const isFirstPartyCandidate = (packageName, version)=>{
569
- if (!firstPartyTargetNames.has(packageName)) return false;
570
- const key = `${packageName}@${version}`;
571
- if (!firstPartySelectors.has(key)) throw new Error(`First-party lock candidate ${key} is absent from the authenticated release cohort.`);
572
- return true;
573
- };
574
- const thirdPartyCandidates = closure.candidates.filter((candidate)=>!isFirstPartyCandidate(candidate.packageName, candidate.version));
575
- const scopeRegistryUrl = options.registryUrl ?? packageSource.registry ?? NPM_REGISTRY_URL;
576
- const scopePrefix = packageSource.aliasScope ? `@${packageSource.aliasScope.replace(/^@/u, '')}/` : void 0;
577
- const activeCandidates = await resolveRegistryCandidates(thirdPartyCandidates, {
578
- fetchImpl: options.fetchImpl ?? fetch,
579
- now,
580
- registryUrlFor: (packageName)=>void 0 !== scopePrefix && packageName.startsWith(scopePrefix) ? scopeRegistryUrl : NPM_REGISTRY_URL
581
- });
582
- const resolved = (0, policy_cjs_namespaceObject.resolveReleaseAgeApprovals)(activeCandidates, {
583
- approvals,
584
- now
585
- });
586
- if (resolved.reviewCandidates.length > 0) {
587
- const pathsByKey = new Map(thirdPartyCandidates.map((candidate)=>[
588
- packageVersionKey(candidate.packageName, candidate.version),
589
- candidate.path
590
- ]));
591
- throw new Error([
592
- `Dependency closure contains ${resolved.reviewCandidates.length} immature package(s) without an exact, unexpired approval:`,
593
- ...resolved.reviewCandidates.slice(0, 20).map((candidate)=>{
594
- const key = packageVersionKey(candidate.packageName, candidate.version);
595
- return `- ${key}; path ${pathsByKey.get(key)?.join(' -> ') ?? 'unknown'}`;
596
- })
597
- ].join('\n'));
598
- }
599
- return {
600
- ...resolved,
601
- minimumReleaseAgeExclude: activeSelectors
602
- };
603
- }
604
- exports.updateGeneratedPnpmWorkspacePolicy = __webpack_exports__.updateGeneratedPnpmWorkspacePolicy;
605
- exports.validateGeneratedPnpmLockReleaseAgePolicy = __webpack_exports__.validateGeneratedPnpmLockReleaseAgePolicy;
606
- for(var __rspack_i in __webpack_exports__)if (-1 === [
607
- "updateGeneratedPnpmWorkspacePolicy",
608
- "validateGeneratedPnpmLockReleaseAgePolicy"
609
- ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
610
- Object.defineProperty(exports, '__esModule', {
611
- value: true
612
- });