@bleedingdev/modern-js-ultramodern-create 3.9.0-ultramodern.4 → 3.9.0-ultramodern.6

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 (326) hide show
  1. package/README.md +1 -35
  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 +12 -9
  8. package/dist/cjs/ultramodern-tooling/commands/cloudflare-output-verify.cjs +1 -1
  9. package/dist/cjs/ultramodern-tooling/commands/context.cjs +10 -2
  10. package/dist/cjs/ultramodern-tooling/commands/validate.cjs +34 -6
  11. package/dist/cjs/ultramodern-tooling/commands.cjs +2 -5
  12. package/dist/cjs/ultramodern-tooling/config/index.cjs +8 -29
  13. package/dist/cjs/ultramodern-tooling/config/load.cjs +21 -6
  14. package/dist/cjs/ultramodern-tooling/config/metadata.cjs +2 -39
  15. package/dist/cjs/ultramodern-tooling/config/normalize.cjs +76 -0
  16. package/dist/cjs/ultramodern-workspace/add-shell.cjs +60 -16
  17. package/dist/cjs/ultramodern-workspace/add-vertical/execute.cjs +144 -15
  18. package/dist/cjs/ultramodern-workspace/add-vertical/preflight.cjs +12 -39
  19. package/dist/cjs/ultramodern-workspace/add-vertical/shell-files.cjs +87 -24
  20. package/dist/cjs/ultramodern-workspace/add-vertical/topology.cjs +36 -1
  21. package/dist/cjs/ultramodern-workspace/add-vertical/transaction.cjs +378 -45
  22. package/dist/cjs/ultramodern-workspace/api/client.cjs +3 -3
  23. package/dist/cjs/ultramodern-workspace/api/rpc.cjs +4 -4
  24. package/dist/cjs/ultramodern-workspace/api/service.cjs +2 -2
  25. package/dist/cjs/ultramodern-workspace/api/shared.cjs +3 -3
  26. package/dist/cjs/ultramodern-workspace/app-files.cjs +3 -23
  27. package/dist/cjs/ultramodern-workspace/backend-federation.cjs +24 -24
  28. package/dist/cjs/ultramodern-workspace/contracts.cjs +4 -4
  29. package/dist/cjs/ultramodern-workspace/delivery-unit-schema/surfaces.cjs +85 -0
  30. package/dist/cjs/ultramodern-workspace/delivery-unit-schema/types.cjs +8 -85
  31. package/dist/cjs/ultramodern-workspace/delivery-unit-stamp.cjs +9 -2
  32. package/dist/cjs/ultramodern-workspace/delivery-unit-sync.cjs +1 -1
  33. package/dist/cjs/ultramodern-workspace/delivery-unit.cjs +7 -6
  34. package/dist/cjs/ultramodern-workspace/demo-components.cjs +2 -314
  35. package/dist/cjs/ultramodern-workspace/fs-io.cjs +35 -1
  36. package/dist/cjs/ultramodern-workspace/generation-result.cjs +3 -3
  37. package/dist/cjs/ultramodern-workspace/mf-validation/inspect.cjs +1 -1
  38. package/dist/cjs/ultramodern-workspace/mf-validation/object-literal.cjs +21 -122
  39. package/dist/cjs/ultramodern-workspace/mf-validation/syntax.cjs +93 -153
  40. package/dist/cjs/ultramodern-workspace/module-federation/config.cjs +5 -8
  41. package/dist/cjs/ultramodern-workspace/module-federation/reexport-module.cjs +24 -10
  42. package/dist/cjs/ultramodern-workspace/module-federation/remote-refs.cjs +1 -1
  43. package/dist/cjs/ultramodern-workspace/package-json.cjs +24 -4
  44. package/dist/cjs/ultramodern-workspace/policy.cjs +1 -148
  45. package/dist/cjs/ultramodern-workspace/tooling-command-catalog.cjs +33 -10
  46. package/dist/cjs/ultramodern-workspace/tsconfigs.cjs +2 -1
  47. package/dist/cjs/ultramodern-workspace/workspace-artifact-ownership.cjs +143 -0
  48. package/dist/cjs/ultramodern-workspace/workspace-script-plan.cjs +10 -8
  49. package/dist/cjs/ultramodern-workspace/workspace-scripts.cjs +49 -113
  50. package/dist/cjs/ultramodern-workspace/workspace-validation-contract.cjs +5 -13
  51. package/dist/cjs/ultramodern-workspace/write-app.cjs +5 -4
  52. package/dist/cjs/ultramodern-workspace/write-workspace.cjs +3 -2
  53. package/dist/esm/cli/package-source.js +3 -3
  54. package/dist/esm/cli/project-setup.js +2 -22
  55. package/dist/esm/index.js +10 -2
  56. package/dist/esm/locale/en.js +2 -1
  57. package/dist/esm/locale/zh.js +2 -1
  58. package/dist/esm/ultramodern-package-source.js +13 -4
  59. package/dist/esm/ultramodern-tooling/commands/cloudflare-output-verify.js +1 -1
  60. package/dist/esm/ultramodern-tooling/commands/context.js +8 -3
  61. package/dist/esm/ultramodern-tooling/commands/validate.js +26 -8
  62. package/dist/esm/ultramodern-tooling/commands.js +3 -6
  63. package/dist/esm/ultramodern-tooling/config/index.js +0 -3
  64. package/dist/esm/ultramodern-tooling/config/load.js +18 -6
  65. package/dist/esm/ultramodern-tooling/config/metadata.js +2 -32
  66. package/dist/esm/ultramodern-tooling/config/normalize.js +68 -1
  67. package/dist/esm/ultramodern-workspace/add-shell.js +64 -20
  68. package/dist/esm/ultramodern-workspace/add-vertical/execute.js +147 -18
  69. package/dist/esm/ultramodern-workspace/add-vertical/preflight.js +14 -41
  70. package/dist/esm/ultramodern-workspace/add-vertical/shell-files.js +87 -25
  71. package/dist/esm/ultramodern-workspace/add-vertical/topology.js +34 -2
  72. package/dist/esm/ultramodern-workspace/add-vertical/transaction.js +373 -46
  73. package/dist/esm/ultramodern-workspace/api/client.js +3 -3
  74. package/dist/esm/ultramodern-workspace/api/rpc.js +4 -4
  75. package/dist/esm/ultramodern-workspace/api/service.js +2 -2
  76. package/dist/esm/ultramodern-workspace/api/shared.js +4 -4
  77. package/dist/esm/ultramodern-workspace/app-files.js +3 -23
  78. package/dist/esm/ultramodern-workspace/backend-federation.js +2 -2
  79. package/dist/esm/ultramodern-workspace/contracts.js +4 -4
  80. package/dist/esm/ultramodern-workspace/delivery-unit-schema/surfaces.js +41 -0
  81. package/dist/esm/ultramodern-workspace/delivery-unit-schema/types.js +1 -75
  82. package/dist/esm/ultramodern-workspace/delivery-unit-stamp.js +9 -2
  83. package/dist/esm/ultramodern-workspace/delivery-unit-sync.js +1 -1
  84. package/dist/esm/ultramodern-workspace/delivery-unit.js +3 -2
  85. package/dist/esm/ultramodern-workspace/demo-components.js +3 -309
  86. package/dist/esm/ultramodern-workspace/fs-io.js +35 -1
  87. package/dist/esm/ultramodern-workspace/generation-result.js +1 -1
  88. package/dist/esm/ultramodern-workspace/mf-validation/inspect.js +2 -2
  89. package/dist/esm/ultramodern-workspace/mf-validation/object-literal.js +22 -123
  90. package/dist/esm/ultramodern-workspace/mf-validation/syntax.js +83 -143
  91. package/dist/esm/ultramodern-workspace/module-federation/config.js +5 -8
  92. package/dist/esm/ultramodern-workspace/module-federation/reexport-module.js +24 -10
  93. package/dist/esm/ultramodern-workspace/module-federation/remote-refs.js +1 -1
  94. package/dist/esm/ultramodern-workspace/package-json.js +24 -4
  95. package/dist/esm/ultramodern-workspace/policy.js +1 -148
  96. package/dist/esm/ultramodern-workspace/tooling-command-catalog.js +28 -9
  97. package/dist/esm/ultramodern-workspace/tsconfigs.js +2 -1
  98. package/dist/esm/ultramodern-workspace/workspace-artifact-ownership.js +94 -0
  99. package/dist/esm/ultramodern-workspace/workspace-script-plan.js +8 -9
  100. package/dist/esm/ultramodern-workspace/workspace-scripts.js +48 -112
  101. package/dist/esm/ultramodern-workspace/workspace-validation-contract.js +6 -14
  102. package/dist/esm/ultramodern-workspace/write-app.js +5 -4
  103. package/dist/esm/ultramodern-workspace/write-workspace.js +3 -2
  104. package/dist/esm-node/cli/package-source.js +3 -3
  105. package/dist/esm-node/cli/project-setup.js +2 -22
  106. package/dist/esm-node/index.js +10 -2
  107. package/dist/esm-node/locale/en.js +2 -1
  108. package/dist/esm-node/locale/zh.js +2 -1
  109. package/dist/esm-node/ultramodern-package-source.js +13 -4
  110. package/dist/esm-node/ultramodern-tooling/commands/cloudflare-output-verify.js +1 -1
  111. package/dist/esm-node/ultramodern-tooling/commands/context.js +8 -3
  112. package/dist/esm-node/ultramodern-tooling/commands/validate.js +26 -8
  113. package/dist/esm-node/ultramodern-tooling/commands.js +3 -6
  114. package/dist/esm-node/ultramodern-tooling/config/index.js +0 -3
  115. package/dist/esm-node/ultramodern-tooling/config/load.js +18 -6
  116. package/dist/esm-node/ultramodern-tooling/config/metadata.js +2 -32
  117. package/dist/esm-node/ultramodern-tooling/config/normalize.js +68 -1
  118. package/dist/esm-node/ultramodern-workspace/add-shell.js +64 -20
  119. package/dist/esm-node/ultramodern-workspace/add-vertical/execute.js +147 -18
  120. package/dist/esm-node/ultramodern-workspace/add-vertical/preflight.js +14 -41
  121. package/dist/esm-node/ultramodern-workspace/add-vertical/shell-files.js +87 -25
  122. package/dist/esm-node/ultramodern-workspace/add-vertical/topology.js +34 -2
  123. package/dist/esm-node/ultramodern-workspace/add-vertical/transaction.js +373 -46
  124. package/dist/esm-node/ultramodern-workspace/api/client.js +3 -3
  125. package/dist/esm-node/ultramodern-workspace/api/rpc.js +4 -4
  126. package/dist/esm-node/ultramodern-workspace/api/service.js +2 -2
  127. package/dist/esm-node/ultramodern-workspace/api/shared.js +4 -4
  128. package/dist/esm-node/ultramodern-workspace/app-files.js +3 -23
  129. package/dist/esm-node/ultramodern-workspace/backend-federation.js +2 -2
  130. package/dist/esm-node/ultramodern-workspace/contracts.js +4 -4
  131. package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/surfaces.js +42 -0
  132. package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/types.js +1 -75
  133. package/dist/esm-node/ultramodern-workspace/delivery-unit-stamp.js +9 -2
  134. package/dist/esm-node/ultramodern-workspace/delivery-unit-sync.js +1 -1
  135. package/dist/esm-node/ultramodern-workspace/delivery-unit.js +3 -2
  136. package/dist/esm-node/ultramodern-workspace/demo-components.js +3 -309
  137. package/dist/esm-node/ultramodern-workspace/fs-io.js +35 -1
  138. package/dist/esm-node/ultramodern-workspace/generation-result.js +1 -1
  139. package/dist/esm-node/ultramodern-workspace/mf-validation/inspect.js +2 -2
  140. package/dist/esm-node/ultramodern-workspace/mf-validation/object-literal.js +22 -123
  141. package/dist/esm-node/ultramodern-workspace/mf-validation/syntax.js +83 -143
  142. package/dist/esm-node/ultramodern-workspace/module-federation/config.js +5 -8
  143. package/dist/esm-node/ultramodern-workspace/module-federation/reexport-module.js +24 -10
  144. package/dist/esm-node/ultramodern-workspace/module-federation/remote-refs.js +1 -1
  145. package/dist/esm-node/ultramodern-workspace/package-json.js +24 -4
  146. package/dist/esm-node/ultramodern-workspace/policy.js +1 -148
  147. package/dist/esm-node/ultramodern-workspace/tooling-command-catalog.js +28 -9
  148. package/dist/esm-node/ultramodern-workspace/tsconfigs.js +2 -1
  149. package/dist/esm-node/ultramodern-workspace/workspace-artifact-ownership.js +95 -0
  150. package/dist/esm-node/ultramodern-workspace/workspace-script-plan.js +8 -9
  151. package/dist/esm-node/ultramodern-workspace/workspace-scripts.js +48 -112
  152. package/dist/esm-node/ultramodern-workspace/workspace-validation-contract.js +6 -14
  153. package/dist/esm-node/ultramodern-workspace/write-app.js +5 -4
  154. package/dist/esm-node/ultramodern-workspace/write-workspace.js +3 -2
  155. package/dist/types/cli/project-setup.d.ts +1 -1
  156. package/dist/types/locale/en.d.ts +1 -0
  157. package/dist/types/locale/index.d.ts +2 -0
  158. package/dist/types/locale/zh.d.ts +1 -0
  159. package/dist/types/ultramodern-package-source.d.ts +2 -4
  160. package/dist/types/ultramodern-tooling/commands/context.d.ts +4 -0
  161. package/dist/types/ultramodern-tooling/config/index.d.ts +0 -3
  162. package/dist/types/ultramodern-tooling/config/load.d.ts +60 -0
  163. package/dist/types/ultramodern-tooling/config/metadata.d.ts +0 -3
  164. package/dist/types/ultramodern-tooling/config/normalize.d.ts +74 -0
  165. package/dist/types/ultramodern-tooling/config/types.d.ts +1 -0
  166. package/dist/types/ultramodern-workspace/add-vertical/preflight.d.ts +1 -1
  167. package/dist/types/ultramodern-workspace/add-vertical/shell-files.d.ts +7 -2
  168. package/dist/types/ultramodern-workspace/add-vertical/topology.d.ts +1 -0
  169. package/dist/types/ultramodern-workspace/add-vertical/transaction.d.ts +29 -6
  170. package/dist/types/ultramodern-workspace/backend-federation.d.ts +1 -1
  171. package/dist/types/ultramodern-workspace/contracts.d.ts +1 -1
  172. package/dist/types/ultramodern-workspace/delivery-unit-schema/surfaces.d.ts +17 -0
  173. package/dist/types/ultramodern-workspace/delivery-unit-schema/types.d.ts +3 -68
  174. package/dist/types/ultramodern-workspace/delivery-unit.d.ts +1 -1
  175. package/dist/types/ultramodern-workspace/demo-components.d.ts +0 -3
  176. package/dist/types/ultramodern-workspace/fs-io.d.ts +1 -1
  177. package/dist/types/ultramodern-workspace/mf-validation/syntax.d.ts +4 -3
  178. package/dist/types/ultramodern-workspace/module-federation/reexport-module.d.ts +1 -1
  179. package/dist/types/ultramodern-workspace/policy.d.ts +0 -5
  180. package/dist/types/ultramodern-workspace/shells.d.ts +2 -2
  181. package/dist/types/ultramodern-workspace/tooling-command-catalog.d.ts +9 -3
  182. package/dist/types/ultramodern-workspace/types.d.ts +9 -9
  183. package/dist/types/ultramodern-workspace/workspace-artifact-ownership.d.ts +13 -0
  184. package/dist/types/ultramodern-workspace/workspace-script-plan.d.ts +4 -5
  185. package/dist/types/ultramodern-workspace/workspace-scripts.d.ts +15 -8
  186. package/dist/types/ultramodern-workspace/workspace-validation-contract.d.ts +2 -2
  187. package/package.json +11 -5
  188. package/template-workspace/.modernjs/release-cohort.json +88 -40
  189. package/template-workspace/README.md.handlebars +0 -15
  190. package/template-workspace/oxfmt.config.ts +2 -0
  191. package/template-workspace/patches/@module-federation__modern-js-v3@2.9.0.patch +3 -3
  192. package/templates/packages/effect-bff-runtime.ts +2 -50
  193. package/templates/packages/shared-contracts-index.ts +4 -332
  194. package/templates/workspace/apps/modern.config.ts.handlebars +7 -8
  195. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.imports.tsx.handlebars +1 -1
  196. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.worker.imports.tsx.handlebars +1 -1
  197. package/templates/workspace-scripts/generate-node-backend-federation.mjs +1 -1
  198. package/templates/workspace-scripts/materialize-zerops-runtime.mjs +9 -8
  199. package/templates/workspace-scripts/proof-cloudflare-version.mjs +1 -1
  200. package/templates/workspace-scripts/proof-node-backend-federation.mjs +18 -51
  201. package/templates/workspace-scripts/{proof-workerd-ssr.mts → proof-workerd-ssr.mjs} +1 -1
  202. package/templates/workspace-scripts/ultramodern-typecheck.mjs +1 -1
  203. package/templates/workspace-scripts/validate-ultramodern-workspace.mjs.handlebars +152 -215
  204. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.cjs +0 -212
  205. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.cjs +0 -47
  206. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.cjs +0 -112
  207. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.cjs +0 -55
  208. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.cjs +0 -105
  209. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.cjs +0 -200
  210. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.cjs +0 -146
  211. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.cjs +0 -110
  212. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.cjs +0 -67
  213. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.cjs +0 -308
  214. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.cjs +0 -58
  215. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.cjs +0 -71
  216. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.cjs +0 -67
  217. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.cjs +0 -151
  218. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/help.cjs +0 -67
  219. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/install.cjs +0 -52
  220. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/io.cjs +0 -447
  221. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.cjs +0 -344
  222. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-source.cjs +0 -87
  223. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.cjs +0 -608
  224. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.cjs +0 -399
  225. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.cjs +0 -73
  226. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.cjs +0 -215
  227. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/shared-api-infrastructure.cjs +0 -99
  228. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.cjs +0 -144
  229. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/workspace-artifact-ownership.cjs +0 -215
  230. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect.cjs +0 -518
  231. package/dist/cjs/ultramodern-tooling/config/constants.cjs +0 -48
  232. package/dist/cjs/ultramodern-tooling/config/synthesize.cjs +0 -157
  233. package/dist/cjs/ultramodern-workspace/delivery-unit-schema/up-projection.cjs +0 -188
  234. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +0 -154
  235. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +0 -9
  236. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +0 -63
  237. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +0 -7
  238. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +0 -50
  239. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +0 -151
  240. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +0 -97
  241. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.js +0 -61
  242. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +0 -16
  243. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +0 -259
  244. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +0 -10
  245. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +0 -8
  246. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +0 -15
  247. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.js +0 -100
  248. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/help.js +0 -29
  249. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/install.js +0 -14
  250. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/io.js +0 -385
  251. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +0 -297
  252. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +0 -49
  253. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +0 -555
  254. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +0 -352
  255. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +0 -19
  256. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.js +0 -148
  257. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/shared-api-infrastructure.js +0 -50
  258. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.js +0 -89
  259. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/workspace-artifact-ownership.js +0 -166
  260. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect.js +0 -469
  261. package/dist/esm/ultramodern-tooling/config/constants.js +0 -4
  262. package/dist/esm/ultramodern-tooling/config/synthesize.js +0 -108
  263. package/dist/esm/ultramodern-workspace/delivery-unit-schema/up-projection.js +0 -129
  264. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +0 -155
  265. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +0 -10
  266. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +0 -64
  267. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +0 -8
  268. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +0 -51
  269. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +0 -152
  270. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +0 -98
  271. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.js +0 -62
  272. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +0 -17
  273. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +0 -260
  274. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +0 -11
  275. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +0 -9
  276. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +0 -16
  277. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.js +0 -101
  278. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/help.js +0 -30
  279. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/install.js +0 -15
  280. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/io.js +0 -386
  281. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +0 -298
  282. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +0 -50
  283. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +0 -556
  284. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +0 -353
  285. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +0 -20
  286. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.js +0 -149
  287. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/shared-api-infrastructure.js +0 -51
  288. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.js +0 -90
  289. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/workspace-artifact-ownership.js +0 -167
  290. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect.js +0 -470
  291. package/dist/esm-node/ultramodern-tooling/config/constants.js +0 -5
  292. package/dist/esm-node/ultramodern-tooling/config/synthesize.js +0 -109
  293. package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/up-projection.js +0 -130
  294. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.d.ts +0 -12
  295. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.d.ts +0 -4
  296. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.d.ts +0 -1
  297. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.d.ts +0 -3
  298. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.d.ts +0 -5
  299. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.d.ts +0 -3
  300. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.d.ts +0 -2
  301. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.d.ts +0 -2
  302. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.d.ts +0 -4
  303. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.d.ts +0 -3
  304. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.d.ts +0 -3
  305. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.d.ts +0 -8
  306. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.d.ts +0 -3
  307. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.d.ts +0 -3
  308. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/help.d.ts +0 -1
  309. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/install.d.ts +0 -2
  310. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/io.d.ts +0 -26
  311. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.d.ts +0 -27
  312. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-source.d.ts +0 -3
  313. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.d.ts +0 -26
  314. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.d.ts +0 -33
  315. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.d.ts +0 -6
  316. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.d.ts +0 -37
  317. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/shared-api-infrastructure.d.ts +0 -4
  318. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.d.ts +0 -4
  319. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/workspace-artifact-ownership.d.ts +0 -27
  320. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect.d.ts +0 -2
  321. package/dist/types/ultramodern-tooling/config/constants.d.ts +0 -3
  322. package/dist/types/ultramodern-tooling/config/synthesize.d.ts +0 -5
  323. package/dist/types/ultramodern-workspace/delivery-unit-schema/up-projection.d.ts +0 -189
  324. package/templates/packages/microvertical-api-baseline.ts +0 -102
  325. package/templates/workspace-scripts/check-ultramodern-api-boundaries.mts +0 -800
  326. package/templates/workspace-scripts/microvertical-api-baseline-boundary.mts +0 -944
package/README.md CHANGED
@@ -180,41 +180,7 @@ Package source is explicit and recorded in `.modernjs/ultramodern.json`.
180
180
  | `install` | Published BleedingDev package cohort or release proof | Default for the BleedingDev create package; optional `--ultramodern-package-version`, `--ultramodern-package-registry` (serves the cohort scope only; release-age metadata for every other dependency is validated against npmjs), `--ultramodern-package-scope`, and `--ultramodern-package-name-prefix` |
181
181
  | `workspace` | Local monorepo testing against unreleased packages | `--workspace` or `--ultramodern-package-source=workspace` |
182
182
 
183
- ## Migrating Older Workspaces
184
-
185
- Older generated repos should move by adopting one published BleedingDev cohort
186
- at a time. Start with a dry-run vertical addition so validation reports
187
- topology, ownership, package-source, overlay, Tailwind prefix, Module Federation,
188
- and compact UltraModern config conflicts before files are written:
189
-
190
- ```bash
191
- pnpm dlx @bleedingdev/modern-js-ultramodern-create@latest catalog --vertical --dry-run
192
- pnpm dlx @bleedingdev/modern-js-ultramodern-create@latest catalog --vertical
193
- mise install
194
- mise exec -- pnpm install
195
- mise exec -- pnpm check
196
- mise exec -- pnpm build
197
- ```
198
-
199
- For strict Effect API migrations, update generated package metadata and Modern
200
- package aliases through the framework command before hand-editing app code:
201
-
202
- ```bash
203
- pnpm dlx @bleedingdev/modern-js-ultramodern-create@3.5.0-ultramodern.10 ultramodern \
204
- migrate-strict-effect --version 3.5.0-ultramodern.10
205
- pnpm api:check
206
- pnpm contract:check
207
- pnpm check
208
- pnpm build
209
- ```
210
-
211
- The command updates `.modernjs/ultramodern.json`, root `modernjs.packageSource`,
212
- generated Modern package aliases, framework-owned toolchain pins, old direct
213
- topology metadata, strict Effect pnpm overrides/trust policy, and the pnpm
214
- lockfile. It does not invent compatibility shims or move business code behind
215
- your back. If `pnpm api:check` still fails, migrate the source to
216
- `shared/api.ts`, `api/index.ts`, and `src/api/*-client.ts` and delete
217
- `api/effect`, `api/lambda`, `shared/effect`, and `src/effect` paths.
183
+ ## Framework Cohort
218
184
 
219
185
  Generated strict Effect workspaces pin the compatible Effect cohort through
220
186
  `pnpm-workspace.yaml` overrides: `effect@4.0.0-rc.112`,
@@ -65,7 +65,7 @@ function readCreatePackageJson() {
65
65
  return JSON.parse(external_node_fs_default().readFileSync(createPackageJson, 'utf-8'));
66
66
  }
67
67
  function isBleedingDevCreatePackage(createPackage) {
68
- return createPackage.name === external_ultramodern_package_source_cjs_namespaceObject.BLEEDINGDEV_CREATE_PACKAGE || createPackage.name === external_ultramodern_package_source_cjs_namespaceObject.LEGACY_BLEEDINGDEV_CREATE_PACKAGE;
68
+ return createPackage.name === external_ultramodern_package_source_cjs_namespaceObject.BLEEDINGDEV_CREATE_PACKAGE;
69
69
  }
70
70
  function getBleedingDevFrameworkVersion(createPackage, fallbackVersion) {
71
71
  const frameworkVersion = createPackage.ultramodern?.frameworkVersion;
@@ -106,7 +106,7 @@ function hasExplicitUltramodernPackageSource(args, value) {
106
106
  return value ? configuredValue === value : void 0 !== configuredValue;
107
107
  }
108
108
  function readBleedingDevFrameworkVersionFromRegistry(fallbackVersion) {
109
- const envVersion = (process.env[external_ultramodern_package_source_cjs_namespaceObject.ULTRAMODERN_FRAMEWORK_VERSION_ENV] ?? process.env[external_ultramodern_package_source_cjs_namespaceObject.BLEEDINGDEV_FRAMEWORK_VERSION_ENV])?.trim();
109
+ const envVersion = process.env[external_ultramodern_package_source_cjs_namespaceObject.ULTRAMODERN_FRAMEWORK_VERSION_ENV]?.trim();
110
110
  if (envVersion) {
111
111
  if (!semverPattern.test(envVersion)) {
112
112
  console.error(`${external_ultramodern_package_source_cjs_namespaceObject.ULTRAMODERN_FRAMEWORK_VERSION_ENV} must be a valid semver version`);
@@ -87,7 +87,7 @@ function isInsideGitWorkTree(targetDir) {
87
87
  }
88
88
  function initializeGeneratedGitRepository(targetDir) {
89
89
  assertGitAvailableForGeneratedProject();
90
- if (isInsideGitWorkTree(targetDir)) return;
90
+ if (isInsideGitWorkTree(targetDir)) return false;
91
91
  try {
92
92
  runSetupCommand('git', [
93
93
  'init',
@@ -113,27 +113,7 @@ function initializeGeneratedGitRepository(targetDir) {
113
113
  stdio: 'inherit'
114
114
  });
115
115
  }
116
- runSetupCommand('git', [
117
- 'add',
118
- '-A'
119
- ], {
120
- cwd: targetDir,
121
- stdio: 'inherit'
122
- });
123
- runSetupCommand('git', [
124
- '-c',
125
- 'user.name=UltraModern',
126
- '-c',
127
- 'user.email=ultramodern@bleedingdev.dev',
128
- '-c',
129
- 'commit.gpgsign=false',
130
- 'commit',
131
- '-m',
132
- 'chore: initial UltraModern scaffold'
133
- ], {
134
- cwd: targetDir,
135
- stdio: 'inherit'
136
- });
116
+ return true;
137
117
  }
138
118
  function isDirectoryEmpty(dirPath) {
139
119
  if (!external_node_fs_default().existsSync(dirPath)) return false;
@@ -42,6 +42,7 @@ const prompts_cjs_namespaceObject = require("./cli/prompts.cjs");
42
42
  const index_cjs_namespaceObject = require("./locale/index.cjs");
43
43
  const commands_cjs_namespaceObject = require("./ultramodern-tooling/commands.cjs");
44
44
  const external_ultramodern_workspace_index_cjs_namespaceObject = require("./ultramodern-workspace/index.cjs");
45
+ const transaction_cjs_namespaceObject = require("./ultramodern-workspace/add-vertical/transaction.cjs");
45
46
  const bridge_config_cjs_namespaceObject = require("./ultramodern-workspace/bridge-config.cjs");
46
47
  const src_dirname = external_node_path_default().dirname((0, external_node_url_namespaceObject.fileURLToPath)(__rslib_import_meta_url__));
47
48
  const templateDir = [
@@ -122,9 +123,11 @@ async function main() {
122
123
  console.log(`${dim} pnpm check${reset}\n`);
123
124
  return;
124
125
  }
126
+ if (0 === (0, flags_cjs_namespaceObject.collectPositionalArgs)(args).length) (0, transaction_cjs_namespaceObject.recoverFreshWorkspaceTransactions)(process.cwd());
125
127
  const { name: projectName, useCurrentDir } = await (0, prompts_cjs_namespaceObject.getProjectName)();
126
128
  const targetDir = useCurrentDir ? process.cwd() : external_node_path_default().isAbsolute(projectName) ? projectName : external_node_path_default().resolve(process.cwd(), projectName);
127
129
  const generatedPackageName = useCurrentDir || external_node_path_default().isAbsolute(projectName) ? external_node_path_default().basename(targetDir) : projectName;
130
+ (0, transaction_cjs_namespaceObject.recoverFreshWorkspaceTransactions)(targetDir);
128
131
  if (external_node_fs_default().existsSync(targetDir)) {
129
132
  const files = external_node_fs_default().readdirSync(targetDir);
130
133
  if (files.length > 0) {
@@ -146,7 +149,7 @@ async function main() {
146
149
  packageSource,
147
150
  generateAgentFiles
148
151
  });
149
- (0, project_setup_cjs_namespaceObject.initializeGeneratedGitRepository)(targetDir);
152
+ const initializedGitRepository = (0, project_setup_cjs_namespaceObject.initializeGeneratedGitRepository)(targetDir);
150
153
  const dim = '\x1b[2m\x1b[3m';
151
154
  const reset = '\x1b[0m';
152
155
  console.log(`${index_cjs_namespaceObject.i18n.t(index_cjs_namespaceObject.localeKeys.message.success)}\n`);
@@ -157,6 +160,11 @@ async function main() {
157
160
  })}${reset}`);
158
161
  console.log(`${dim} ${index_cjs_namespaceObject.i18n.t(index_cjs_namespaceObject.localeKeys.message.step2)}${reset}`);
159
162
  console.log(`${dim} pnpm check${reset}`);
163
+ if (initializedGitRepository) {
164
+ console.log(index_cjs_namespaceObject.i18n.t(index_cjs_namespaceObject.localeKeys.message.initialCommit));
165
+ console.log(`${dim} git add .${reset}`);
166
+ console.log(`${dim} git commit -m "chore: initial UltraModern scaffold"${reset}`);
167
+ }
160
168
  console.log(`${dim} ${index_cjs_namespaceObject.i18n.t(index_cjs_namespaceObject.localeKeys.message.step3)}${reset}\n`);
161
169
  }
162
170
  main().catch((error)=>{
@@ -46,7 +46,8 @@ const EN_LOCALE = {
46
46
  nextSteps: '📋 Next steps:',
47
47
  step1: 'cd {projectName}',
48
48
  step2: 'pnpm install',
49
- step3: 'pnpm dev'
49
+ step3: 'pnpm dev',
50
+ initialCommit: 'Commit the checked scaffold before starting development or CI builds. Git uses your configured identity and hooks.'
50
51
  },
51
52
  agentsCmd: {
52
53
  created: '✔ Created {file}',
@@ -46,7 +46,8 @@ const ZH_LOCALE = {
46
46
  nextSteps: '📋 下一步:',
47
47
  step1: 'cd {projectName}',
48
48
  step2: 'pnpm install',
49
- step3: 'pnpm dev'
49
+ step3: 'pnpm dev',
50
+ initialCommit: '启动开发或 CI 构建前,请提交已检查的项目。Git 将使用你配置的身份和钩子。'
50
51
  },
51
52
  agentsCmd: {
52
53
  created: '✔ 已创建 {file}',
@@ -30,11 +30,9 @@ __webpack_require__.r(__webpack_exports__);
30
30
  const WORKSPACE_PACKAGE_VERSION = 'workspace:*';
31
31
  const ULTRAMODERN_CREATE_PACKAGE = '@modern-js/ultramodern-create';
32
32
  const BLEEDINGDEV_CREATE_PACKAGE = '@bleedingdev/modern-js-ultramodern-create';
33
- const LEGACY_BLEEDINGDEV_CREATE_PACKAGE = '@bleedingdev/modern-js-create';
34
33
  const BLEEDINGDEV_PACKAGE_SCOPE = 'bleedingdev';
35
34
  const BLEEDINGDEV_PACKAGE_NAME_PREFIX = 'modern-js-';
36
35
  const ULTRAMODERN_FRAMEWORK_VERSION_ENV = 'ULTRAMODERN_CREATE_FRAMEWORK_VERSION';
37
- const BLEEDINGDEV_FRAMEWORK_VERSION_ENV = 'MODERN_CREATE_ULTRAMODERN_FRAMEWORK_VERSION';
38
36
  const ULTRAMODERN_SINGLE_APP_MODERN_PACKAGES = [
39
37
  ULTRAMODERN_CREATE_PACKAGE,
40
38
  '@modern-js/code-tools',
@@ -44,17 +42,28 @@ const ULTRAMODERN_SINGLE_APP_MODERN_PACKAGES = [
44
42
  '@modern-js/plugin-i18n',
45
43
  '@modern-js/plugin-tanstack',
46
44
  '@modern-js/plugin-bff',
45
+ '@modern-js/plugin-bff-build-extensions',
46
+ '@modern-js/plugin-bff-extensions',
47
47
  '@modern-js/adapter-rstest'
48
48
  ];
49
49
  const ULTRAMODERN_WORKSPACE_MODERN_PACKAGES = [
50
+ '@modern-js/bff-effect',
51
+ '@modern-js/boundary-debugger',
50
52
  ULTRAMODERN_CREATE_PACKAGE,
51
53
  '@modern-js/code-tools',
52
54
  '@modern-js/app-tools',
53
55
  '@modern-js/plugin-bff',
56
+ '@modern-js/plugin-bff-build-extensions',
57
+ '@modern-js/plugin-bff-extensions',
54
58
  '@modern-js/plugin-i18n',
59
+ '@modern-js/i18n-integration',
55
60
  '@modern-js/plugin-tanstack',
56
61
  '@modern-js/runtime',
57
- '@modern-js/runtime-extensions'
62
+ '@modern-js/runtime-extensions',
63
+ '@modern-js/runtime-renderer-extensions',
64
+ '@modern-js/federation-runtime',
65
+ '@modern-js/app-tools-extensions',
66
+ '@modern-js/ultramodern-app-tools'
58
67
  ];
59
68
  function modernPackageVersion(packageSource) {
60
69
  return 'install' === packageSource.strategy ? packageSource.modernPackageVersion : WORKSPACE_PACKAGE_VERSION;
@@ -75,10 +84,8 @@ __webpack_require__.d(__webpack_exports__, {
75
84
  modernPackageVersion: ()=>modernPackageVersion
76
85
  }, {
77
86
  BLEEDINGDEV_CREATE_PACKAGE: BLEEDINGDEV_CREATE_PACKAGE,
78
- BLEEDINGDEV_FRAMEWORK_VERSION_ENV: BLEEDINGDEV_FRAMEWORK_VERSION_ENV,
79
87
  BLEEDINGDEV_PACKAGE_NAME_PREFIX: BLEEDINGDEV_PACKAGE_NAME_PREFIX,
80
88
  BLEEDINGDEV_PACKAGE_SCOPE: BLEEDINGDEV_PACKAGE_SCOPE,
81
- LEGACY_BLEEDINGDEV_CREATE_PACKAGE: LEGACY_BLEEDINGDEV_CREATE_PACKAGE,
82
89
  ULTRAMODERN_CREATE_PACKAGE: ULTRAMODERN_CREATE_PACKAGE,
83
90
  ULTRAMODERN_FRAMEWORK_VERSION_ENV: ULTRAMODERN_FRAMEWORK_VERSION_ENV,
84
91
  ULTRAMODERN_SINGLE_APP_MODERN_PACKAGES: ULTRAMODERN_SINGLE_APP_MODERN_PACKAGES,
@@ -86,10 +93,8 @@ __webpack_require__.d(__webpack_exports__, {
86
93
  WORKSPACE_PACKAGE_VERSION: WORKSPACE_PACKAGE_VERSION
87
94
  });
88
95
  exports.BLEEDINGDEV_CREATE_PACKAGE = __webpack_exports__.BLEEDINGDEV_CREATE_PACKAGE;
89
- exports.BLEEDINGDEV_FRAMEWORK_VERSION_ENV = __webpack_exports__.BLEEDINGDEV_FRAMEWORK_VERSION_ENV;
90
96
  exports.BLEEDINGDEV_PACKAGE_NAME_PREFIX = __webpack_exports__.BLEEDINGDEV_PACKAGE_NAME_PREFIX;
91
97
  exports.BLEEDINGDEV_PACKAGE_SCOPE = __webpack_exports__.BLEEDINGDEV_PACKAGE_SCOPE;
92
- exports.LEGACY_BLEEDINGDEV_CREATE_PACKAGE = __webpack_exports__.LEGACY_BLEEDINGDEV_CREATE_PACKAGE;
93
98
  exports.ULTRAMODERN_CREATE_PACKAGE = __webpack_exports__.ULTRAMODERN_CREATE_PACKAGE;
94
99
  exports.ULTRAMODERN_FRAMEWORK_VERSION_ENV = __webpack_exports__.ULTRAMODERN_FRAMEWORK_VERSION_ENV;
95
100
  exports.ULTRAMODERN_SINGLE_APP_MODERN_PACKAGES = __webpack_exports__.ULTRAMODERN_SINGLE_APP_MODERN_PACKAGES;
@@ -99,10 +104,8 @@ exports.modernPackageSpecifier = __webpack_exports__.modernPackageSpecifier;
99
104
  exports.modernPackageVersion = __webpack_exports__.modernPackageVersion;
100
105
  for(var __rspack_i in __webpack_exports__)if (-1 === [
101
106
  "BLEEDINGDEV_CREATE_PACKAGE",
102
- "BLEEDINGDEV_FRAMEWORK_VERSION_ENV",
103
107
  "BLEEDINGDEV_PACKAGE_NAME_PREFIX",
104
108
  "BLEEDINGDEV_PACKAGE_SCOPE",
105
- "LEGACY_BLEEDINGDEV_CREATE_PACKAGE",
106
109
  "ULTRAMODERN_CREATE_PACKAGE",
107
110
  "ULTRAMODERN_FRAMEWORK_VERSION_ENV",
108
111
  "ULTRAMODERN_SINGLE_APP_MODERN_PACKAGES",
@@ -72,7 +72,7 @@ const verifierRequire = createRequire(path.join(workspaceRoot, 'package.json'));
72
72
  const {
73
73
  verifyCloudflareOutput,
74
74
  verifyCloudflareOutputMutationPolicy,
75
- } = verifierRequire('@modern-js/app-tools/cloudflare-output-verifier');
75
+ } = verifierRequire('@modern-js/app-tools-extensions/cloudflare-output-verifier');
76
76
 
77
77
  let failed = false;
78
78
  for (const target of targets) {
@@ -40,6 +40,7 @@ var __webpack_require__ = {};
40
40
  var __webpack_exports__ = {};
41
41
  __webpack_require__.r(__webpack_exports__);
42
42
  __webpack_require__.d(__webpack_exports__, {
43
+ AD_HOC_TOOLING_COMMANDS: ()=>AD_HOC_TOOLING_COMMANDS,
43
44
  createPackageRoot: ()=>createPackageRoot,
44
45
  printHelp: ()=>printHelp,
45
46
  runRenderedModule: ()=>runRenderedModule,
@@ -58,11 +59,16 @@ const external_create_package_root_cjs_namespaceObject = require("../../create-p
58
59
  const tooling_command_catalog_cjs_namespaceObject = require("../../ultramodern-workspace/tooling-command-catalog.cjs");
59
60
  const context_dirname = external_node_path_default().dirname((0, external_node_url_namespaceObject.fileURLToPath)(__rslib_import_meta_url__));
60
61
  const createPackageRoot = (0, external_create_package_root_cjs_namespaceObject.resolveCreatePackageRoot)(context_dirname);
62
+ const AD_HOC_TOOLING_COMMANDS = {
63
+ syncDeliveryUnit: 'sync-delivery-unit',
64
+ skills: 'skills'
65
+ };
61
66
  function printHelp() {
62
67
  const commands = [
63
68
  ...(0, tooling_command_catalog_cjs_namespaceObject.generatedToolingCommandList)().map((command)=>` ${command}`),
64
- ' skills install',
65
- ' skills check'
69
+ ` ${AD_HOC_TOOLING_COMMANDS.syncDeliveryUnit}`,
70
+ ` ${AD_HOC_TOOLING_COMMANDS.skills} install`,
71
+ ` ${AD_HOC_TOOLING_COMMANDS.skills} check`
66
72
  ].join('\n');
67
73
  process.stdout.write(`Usage:
68
74
  ultramodern-create ultramodern <command> [args]
@@ -114,12 +120,14 @@ function runRenderedModule(source, context) {
114
120
  });
115
121
  }
116
122
  }
123
+ exports.AD_HOC_TOOLING_COMMANDS = __webpack_exports__.AD_HOC_TOOLING_COMMANDS;
117
124
  exports.createPackageRoot = __webpack_exports__.createPackageRoot;
118
125
  exports.printHelp = __webpack_exports__.printHelp;
119
126
  exports.runRenderedModule = __webpack_exports__.runRenderedModule;
120
127
  exports.runTemplateBackedToolingCommand = __webpack_exports__.runTemplateBackedToolingCommand;
121
128
  exports.spawnNodeScript = __webpack_exports__.spawnNodeScript;
122
129
  for(var __rspack_i in __webpack_exports__)if (-1 === [
130
+ "AD_HOC_TOOLING_COMMANDS",
123
131
  "createPackageRoot",
124
132
  "printHelp",
125
133
  "runRenderedModule",
@@ -1,5 +1,14 @@
1
1
  "use strict";
2
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
+ })();
3
12
  (()=>{
4
13
  __webpack_require__.d = (exports1, getters, values)=>{
5
14
  var define = (defs, kind)=>{
@@ -30,18 +39,37 @@ __webpack_require__.r(__webpack_exports__);
30
39
  __webpack_require__.d(__webpack_exports__, {
31
40
  runValidate: ()=>runValidate
32
41
  });
42
+ const external_node_path_namespaceObject = require("node:path");
43
+ var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
33
44
  const external_ultramodern_release_cohort_cjs_namespaceObject = require("../../ultramodern-release-cohort.cjs");
45
+ const contracts_cjs_namespaceObject = require("../../ultramodern-workspace/contracts.cjs");
46
+ const descriptors_cjs_namespaceObject = require("../../ultramodern-workspace/descriptors.cjs");
34
47
  const workspace_scripts_cjs_namespaceObject = require("../../ultramodern-workspace/workspace-scripts.cjs");
35
48
  const external_config_cjs_namespaceObject = require("../config.cjs");
36
49
  const external_context_cjs_namespaceObject = require("./context.cjs");
37
50
  function runValidate(context) {
38
- const config = (0, external_config_cjs_namespaceObject.readUltramodernConfig)(context.workspaceRoot);
39
- const apps = (0, external_config_cjs_namespaceObject.workspaceAppsFromToolingConfig)(config);
40
- const remotes = apps.filter((app)=>'shell' !== app.kind);
41
- const primaryShell = apps.find((app)=>'shell' === app.kind);
42
- const additionalShells = (0, external_config_cjs_namespaceObject.additionalShellsFromToolingConfig)(config);
51
+ const workspace = (0, external_config_cjs_namespaceObject.readUltramodernWorkspaceInputs)(context.workspaceRoot, {
52
+ overlay: (0, external_config_cjs_namespaceObject.readJsonObject)(external_node_path_default().join(context.workspaceRoot, 'topology/local-overlays/development.json'))
53
+ });
54
+ const { config, verticals: remotes, primaryShell, additionalShells } = workspace;
55
+ const compactApps = (0, external_config_cjs_namespaceObject.workspaceAppsFromToolingConfig)(config);
56
+ const compactPrimaryShell = compactApps.find((app)=>'shell' === app.kind) ?? (0, descriptors_cjs_namespaceObject.createShellHost)(remotes);
57
+ const compactConfig = (0, contracts_cjs_namespaceObject.createUltramodernConfig)(config.workspace.packageScope, 'workspace-validation-contract', {
58
+ strategy: 'workspace',
59
+ modernPackageVersion: 'workspace:*'
60
+ }, compactApps, config.features.tailwind, void 0, additionalShells, compactPrimaryShell, remotes);
61
+ const declaredCompact = (0, external_config_cjs_namespaceObject.readJsonObject)(config.sourcePath);
62
+ const compactTopology = compactConfig.topology;
63
+ for (const app of compactTopology.apps){
64
+ const declared = declaredCompact.topology?.apps?.find((entry)=>entry.id === app.id)?.deploy?.cloudflare;
65
+ for (const key of [
66
+ 'routes',
67
+ 'distributedSsrProofRoutes',
68
+ 'jsonSmokeChecks'
69
+ ])if (declared && Object.hasOwn(declared, key)) app.deploy.cloudflare[key] = declared[key];
70
+ }
43
71
  const releaseCohort = config.packageSource?.strategy === 'install' ? (0, external_ultramodern_release_cohort_cjs_namespaceObject.readWorkspaceReleaseCohort)(context.workspaceRoot) : void 0;
44
- const source = (0, workspace_scripts_cjs_namespaceObject.createWorkspaceValidationScript)(config.workspace.packageScope, config.features.tailwind, remotes, releaseCohort, additionalShells, primaryShell);
72
+ const source = (0, workspace_scripts_cjs_namespaceObject.createPackagedWorkspaceValidationScript)(config.workspace.packageScope, config.features.tailwind, remotes, releaseCohort, additionalShells, primaryShell, compactConfig, (0, external_config_cjs_namespaceObject.readJsonObject)(external_node_path_default().join(context.workspaceRoot, 'topology/ownership.json')));
45
73
  return (0, external_context_cjs_namespaceObject.runRenderedModule)(source, context);
46
74
  }
47
75
  exports.runValidate = __webpack_exports__.runValidate;
@@ -45,7 +45,6 @@ const tooling_command_catalog_cjs_namespaceObject = require("../ultramodern-work
45
45
  const cloudflare_output_verify_cjs_namespaceObject = require("./commands/cloudflare-output-verify.cjs");
46
46
  const context_cjs_namespaceObject = require("./commands/context.cjs");
47
47
  const mf_types_cjs_namespaceObject = require("./commands/mf-types.cjs");
48
- const migrate_strict_effect_cjs_namespaceObject = require("./commands/migrate-strict-effect.cjs");
49
48
  const routes_generate_cjs_namespaceObject = require("./commands/routes-generate.cjs");
50
49
  const skills_cjs_namespaceObject = require("./commands/skills.cjs");
51
50
  const sync_delivery_unit_cjs_namespaceObject = require("./commands/sync-delivery-unit.cjs");
@@ -67,15 +66,13 @@ async function runUltramodernToolingCli(args, workspaceRoot = process.env.ULTRAM
67
66
  return (0, validate_cjs_namespaceObject.runValidate)(context);
68
67
  case tooling_command_catalog_cjs_namespaceObject.GENERATED_TOOLING_COMMANDS.mfTypes.command:
69
68
  return (0, mf_types_cjs_namespaceObject.runMfTypes)(rest, context);
70
- case tooling_command_catalog_cjs_namespaceObject.GENERATED_TOOLING_COMMANDS.migrateStrictEffect.command:
71
- return await (0, migrate_strict_effect_cjs_namespaceObject.runMigrateStrictEffect)(rest, context);
72
69
  case tooling_command_catalog_cjs_namespaceObject.GENERATED_TOOLING_COMMANDS.cloudflareOutputVerify.command:
73
70
  return (0, cloudflare_output_verify_cjs_namespaceObject.runCloudflareOutputVerify)(rest, context);
74
71
  case tooling_command_catalog_cjs_namespaceObject.GENERATED_TOOLING_COMMANDS.routesGenerate.command:
75
72
  return (0, routes_generate_cjs_namespaceObject.runRoutesGenerate)(rest, context);
76
- case 'sync-delivery-unit':
73
+ case context_cjs_namespaceObject.AD_HOC_TOOLING_COMMANDS.syncDeliveryUnit:
77
74
  return (0, sync_delivery_unit_cjs_namespaceObject.runSyncDeliveryUnit)(rest, context);
78
- case 'skills':
75
+ case context_cjs_namespaceObject.AD_HOC_TOOLING_COMMANDS.skills:
79
76
  return (0, skills_cjs_namespaceObject.runSkills)(rest, context);
80
77
  default:
81
78
  {
@@ -1,23 +1,14 @@
1
1
  "use strict";
2
2
  var __webpack_modules__ = {
3
- "./constants" (module) {
4
- module.exports = require("./constants.cjs");
5
- },
6
3
  "./json" (module) {
7
4
  module.exports = require("./json.cjs");
8
5
  },
9
6
  "./load" (module) {
10
7
  module.exports = require("./load.cjs");
11
8
  },
12
- "./metadata" (module) {
13
- module.exports = require("./metadata.cjs");
14
- },
15
9
  "./normalize" (module) {
16
10
  module.exports = require("./normalize.cjs");
17
11
  },
18
- "./synthesize" (module) {
19
- module.exports = require("./synthesize.cjs");
20
- },
21
12
  "./types" (module) {
22
13
  module.exports = require("./types.cjs");
23
14
  }
@@ -69,33 +60,21 @@ function __webpack_require__(moduleId) {
69
60
  var __webpack_exports__ = {};
70
61
  (()=>{
71
62
  __webpack_require__.r(__webpack_exports__);
72
- var _constants__rspack_import_0 = __webpack_require__("./constants");
73
- var __rspack_reexport = {};
74
- for(const __rspack_import_key in _constants__rspack_import_0)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_constants__rspack_import_0[__rspack_import_key];
75
- __webpack_require__.d(__webpack_exports__, __rspack_reexport);
76
- var _json__rspack_import_1 = __webpack_require__("./json");
77
- var __rspack_reexport = {};
78
- for(const __rspack_import_key in _json__rspack_import_1)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_json__rspack_import_1[__rspack_import_key];
79
- __webpack_require__.d(__webpack_exports__, __rspack_reexport);
80
- var _load__rspack_import_2 = __webpack_require__("./load");
81
- var __rspack_reexport = {};
82
- for(const __rspack_import_key in _load__rspack_import_2)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_load__rspack_import_2[__rspack_import_key];
83
- __webpack_require__.d(__webpack_exports__, __rspack_reexport);
84
- var _metadata__rspack_import_3 = __webpack_require__("./metadata");
63
+ var _json__rspack_import_0 = __webpack_require__("./json");
85
64
  var __rspack_reexport = {};
86
- for(const __rspack_import_key in _metadata__rspack_import_3)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_metadata__rspack_import_3[__rspack_import_key];
65
+ for(const __rspack_import_key in _json__rspack_import_0)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_json__rspack_import_0[__rspack_import_key];
87
66
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
88
- var _normalize__rspack_import_4 = __webpack_require__("./normalize");
67
+ var _load__rspack_import_1 = __webpack_require__("./load");
89
68
  var __rspack_reexport = {};
90
- for(const __rspack_import_key in _normalize__rspack_import_4)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_normalize__rspack_import_4[__rspack_import_key];
69
+ for(const __rspack_import_key in _load__rspack_import_1)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_load__rspack_import_1[__rspack_import_key];
91
70
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
92
- var _synthesize__rspack_import_5 = __webpack_require__("./synthesize");
71
+ var _normalize__rspack_import_2 = __webpack_require__("./normalize");
93
72
  var __rspack_reexport = {};
94
- for(const __rspack_import_key in _synthesize__rspack_import_5)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_synthesize__rspack_import_5[__rspack_import_key];
73
+ for(const __rspack_import_key in _normalize__rspack_import_2)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_normalize__rspack_import_2[__rspack_import_key];
95
74
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
96
- var _types__rspack_import_6 = __webpack_require__("./types");
75
+ var _types__rspack_import_3 = __webpack_require__("./types");
97
76
  var __rspack_reexport = {};
98
- for(const __rspack_import_key in _types__rspack_import_6)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_types__rspack_import_6[__rspack_import_key];
77
+ for(const __rspack_import_key in _types__rspack_import_3)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_types__rspack_import_3[__rspack_import_key];
99
78
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
100
79
  })();
101
80
  for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
@@ -37,25 +37,40 @@ var __webpack_require__ = {};
37
37
  var __webpack_exports__ = {};
38
38
  __webpack_require__.r(__webpack_exports__);
39
39
  __webpack_require__.d(__webpack_exports__, {
40
- readUltramodernConfig: ()=>readUltramodernConfig
40
+ readUltramodernConfig: ()=>readUltramodernConfig,
41
+ readUltramodernWorkspaceInputs: ()=>readUltramodernWorkspaceInputs
41
42
  });
42
43
  const external_node_fs_namespaceObject = require("node:fs");
43
44
  var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
44
45
  const external_node_path_namespaceObject = require("node:path");
45
46
  var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
46
47
  const descriptors_cjs_namespaceObject = require("../../ultramodern-workspace/descriptors.cjs");
47
- const external_constants_cjs_namespaceObject = require("./constants.cjs");
48
48
  const external_json_cjs_namespaceObject = require("./json.cjs");
49
49
  const external_normalize_cjs_namespaceObject = require("./normalize.cjs");
50
50
  function readUltramodernConfig(workspaceRoot = process.cwd()) {
51
+ const { sourcePath, config } = readCompactInputs(workspaceRoot);
52
+ return (0, external_normalize_cjs_namespaceObject.normalizeCompactConfig)(workspaceRoot, sourcePath, config);
53
+ }
54
+ function readUltramodernWorkspaceInputs(workspaceRoot = process.cwd(), inputs = {}) {
55
+ const { sourcePath, config } = readCompactInputs(workspaceRoot);
56
+ return (0, external_normalize_cjs_namespaceObject.normalizeWorkspaceInputs)(workspaceRoot, {
57
+ ...inputs,
58
+ config
59
+ }, sourcePath);
60
+ }
61
+ function readCompactInputs(workspaceRoot) {
51
62
  const compactPath = external_node_path_default().join(workspaceRoot, descriptors_cjs_namespaceObject.ULTRAMODERN_CONFIG_PATH);
52
- if (external_node_fs_default().existsSync(compactPath)) return (0, external_normalize_cjs_namespaceObject.normalizeCompactConfig)(workspaceRoot, compactPath, (0, external_json_cjs_namespaceObject.readJsonObject)(compactPath));
53
- if (external_node_fs_default().existsSync(external_node_path_default().join(workspaceRoot, external_constants_cjs_namespaceObject.LEGACY_GENERATED_CONTRACT_PATH))) throw new Error(`Missing ${descriptors_cjs_namespaceObject.ULTRAMODERN_CONFIG_PATH}. Legacy UltraModern metadata detected — run \`ultramodern-create ultramodern migrate-strict-effect\` to synthesize it.`);
54
- throw new Error(`Missing UltraModern config. Expected ${descriptors_cjs_namespaceObject.ULTRAMODERN_CONFIG_PATH}. Run \`ultramodern-create ultramodern migrate-strict-effect\` if you have legacy UltraModern metadata to migrate.`);
63
+ if (external_node_fs_default().existsSync(compactPath)) return {
64
+ sourcePath: compactPath,
65
+ config: (0, external_json_cjs_namespaceObject.readJsonObject)(compactPath)
66
+ };
67
+ throw new Error(`Missing UltraModern config. Expected ${descriptors_cjs_namespaceObject.ULTRAMODERN_CONFIG_PATH}.`);
55
68
  }
56
69
  exports.readUltramodernConfig = __webpack_exports__.readUltramodernConfig;
70
+ exports.readUltramodernWorkspaceInputs = __webpack_exports__.readUltramodernWorkspaceInputs;
57
71
  for(var __rspack_i in __webpack_exports__)if (-1 === [
58
- "readUltramodernConfig"
72
+ "readUltramodernConfig",
73
+ "readUltramodernWorkspaceInputs"
59
74
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
60
75
  Object.defineProperty(exports, '__esModule', {
61
76
  value: true
@@ -37,55 +37,18 @@ var __webpack_require__ = {};
37
37
  var __webpack_exports__ = {};
38
38
  __webpack_require__.r(__webpack_exports__);
39
39
  __webpack_require__.d(__webpack_exports__, {
40
- packageScopeFromRoot: ()=>packageScopeFromRoot,
41
- packageSourceFromMetadata: ()=>packageSourceFromMetadata,
42
- readOverlayPorts: ()=>readOverlayPorts
40
+ packageScopeFromRoot: ()=>packageScopeFromRoot
43
41
  });
44
- const external_node_fs_namespaceObject = require("node:fs");
45
- var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
46
42
  const external_node_path_namespaceObject = require("node:path");
47
43
  var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
48
- const external_constants_cjs_namespaceObject = require("./constants.cjs");
49
44
  const external_json_cjs_namespaceObject = require("./json.cjs");
50
45
  function packageScopeFromRoot(workspaceRoot) {
51
46
  const rootPackage = (0, external_json_cjs_namespaceObject.readOptionalJsonObject)(external_node_path_default().join(workspaceRoot, 'package.json'));
52
47
  return 'string' == typeof rootPackage.name && rootPackage.name.length > 0 ? rootPackage.name : external_node_path_default().basename(workspaceRoot);
53
48
  }
54
- function packageSourceFromMetadata(workspaceRoot) {
55
- const metadataPath = external_node_path_default().join(workspaceRoot, external_constants_cjs_namespaceObject.LEGACY_PACKAGE_SOURCE_METADATA_PATH);
56
- if (!external_node_fs_default().existsSync(metadataPath)) return;
57
- const metadata = (0, external_json_cjs_namespaceObject.readJsonObject)(metadataPath);
58
- const aliases = metadata.modernPackages?.aliases ?? {};
59
- const firstAliasEntry = Object.entries(aliases).find((entry)=>'string' == typeof entry[1]);
60
- const firstPackage = firstAliasEntry?.[0];
61
- const firstAlias = firstAliasEntry?.[1];
62
- const aliasScope = firstAlias?.match(/^@([^/]+)\//u)?.[1];
63
- const unscopedName = firstPackage?.split('/').at(-1) ?? '';
64
- const aliasUnscopedName = firstAlias?.split('/').at(-1) ?? '';
65
- const aliasPackageNamePrefix = aliasUnscopedName && unscopedName && aliasUnscopedName.endsWith(unscopedName) ? aliasUnscopedName.slice(0, -unscopedName.length) : void 0;
66
- return {
67
- strategy: 'install' === metadata.strategy ? 'install' : 'workspace',
68
- modernPackageVersion: 'string' == typeof metadata.modernPackages?.specifier ? metadata.modernPackages.specifier : 'workspace:*',
69
- registry: 'string' == typeof metadata.modernPackages?.registry ? metadata.modernPackages.registry : void 0,
70
- aliasScope,
71
- aliasPackageNamePrefix
72
- };
73
- }
74
- function readOverlayPorts(workspaceRoot) {
75
- const overlayPath = external_node_path_default().join(workspaceRoot, external_constants_cjs_namespaceObject.LEGACY_DEVELOPMENT_OVERLAY_PATH);
76
- if (!external_node_fs_default().existsSync(overlayPath)) return {};
77
- const overlay = (0, external_json_cjs_namespaceObject.readJsonObject)(overlayPath);
78
- const ports = overlay.ports;
79
- if (null === ports || 'object' != typeof ports || Array.isArray(ports)) return {};
80
- return Object.fromEntries(Object.entries(ports).filter((entry)=>'number' == typeof entry[1]));
81
- }
82
49
  exports.packageScopeFromRoot = __webpack_exports__.packageScopeFromRoot;
83
- exports.packageSourceFromMetadata = __webpack_exports__.packageSourceFromMetadata;
84
- exports.readOverlayPorts = __webpack_exports__.readOverlayPorts;
85
50
  for(var __rspack_i in __webpack_exports__)if (-1 === [
86
- "packageScopeFromRoot",
87
- "packageSourceFromMetadata",
88
- "readOverlayPorts"
51
+ "packageScopeFromRoot"
89
52
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
90
53
  Object.defineProperty(exports, '__esModule', {
91
54
  value: true