@bleedingdev/modern-js-ultramodern-create 3.8.3-ultramodern.2

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 (631) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +459 -0
  3. package/bin/run.js +74 -0
  4. package/dist/cjs/agent-files.cjs +96 -0
  5. package/dist/cjs/agents-md.cjs +98 -0
  6. package/dist/cjs/cli/flags.cjs +358 -0
  7. package/dist/cjs/cli/help.cjs +111 -0
  8. package/dist/cjs/cli/package-source.cjs +188 -0
  9. package/dist/cjs/cli/project-setup.cjs +159 -0
  10. package/dist/cjs/cli/prompts.cjs +100 -0
  11. package/dist/cjs/create-package-root.cjs +63 -0
  12. package/dist/cjs/docs-location.cjs +143 -0
  13. package/dist/cjs/index.cjs +169 -0
  14. package/dist/cjs/locale/en.cjs +126 -0
  15. package/dist/cjs/locale/index.cjs +50 -0
  16. package/dist/cjs/locale/zh.cjs +126 -0
  17. package/dist/cjs/ultramodern-package-source.cjs +115 -0
  18. package/dist/cjs/ultramodern-release-cohort.cjs +206 -0
  19. package/dist/cjs/ultramodern-tooling/commands/cloudflare-output-verify.cjs +132 -0
  20. package/dist/cjs/ultramodern-tooling/commands/context.cjs +131 -0
  21. package/dist/cjs/ultramodern-tooling/commands/mf-types.cjs +55 -0
  22. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.cjs +212 -0
  23. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.cjs +47 -0
  24. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.cjs +112 -0
  25. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.cjs +55 -0
  26. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.cjs +102 -0
  27. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.cjs +187 -0
  28. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.cjs +146 -0
  29. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.cjs +110 -0
  30. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.cjs +67 -0
  31. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.cjs +279 -0
  32. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.cjs +58 -0
  33. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.cjs +71 -0
  34. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.cjs +67 -0
  35. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.cjs +151 -0
  36. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/help.cjs +67 -0
  37. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/install.cjs +52 -0
  38. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/io.cjs +447 -0
  39. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.cjs +309 -0
  40. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-source.cjs +87 -0
  41. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.cjs +588 -0
  42. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.cjs +376 -0
  43. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.cjs +73 -0
  44. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.cjs +215 -0
  45. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.cjs +135 -0
  46. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect.cjs +454 -0
  47. package/dist/cjs/ultramodern-tooling/commands/options.cjs +59 -0
  48. package/dist/cjs/ultramodern-tooling/commands/routes-generate.cjs +122 -0
  49. package/dist/cjs/ultramodern-tooling/commands/skills.cjs +49 -0
  50. package/dist/cjs/ultramodern-tooling/commands/sync-delivery-unit.cjs +40 -0
  51. package/dist/cjs/ultramodern-tooling/commands/validate.cjs +53 -0
  52. package/dist/cjs/ultramodern-tooling/commands.cjs +99 -0
  53. package/dist/cjs/ultramodern-tooling/config/constants.cjs +48 -0
  54. package/dist/cjs/ultramodern-tooling/config/index.cjs +104 -0
  55. package/dist/cjs/ultramodern-tooling/config/json.cjs +61 -0
  56. package/dist/cjs/ultramodern-tooling/config/load.cjs +62 -0
  57. package/dist/cjs/ultramodern-tooling/config/metadata.cjs +92 -0
  58. package/dist/cjs/ultramodern-tooling/config/normalize.cjs +236 -0
  59. package/dist/cjs/ultramodern-tooling/config/synthesize.cjs +157 -0
  60. package/dist/cjs/ultramodern-tooling/config/types.cjs +18 -0
  61. package/dist/cjs/ultramodern-tooling/config.cjs +62 -0
  62. package/dist/cjs/ultramodern-workspace/add-shell.cjs +277 -0
  63. package/dist/cjs/ultramodern-workspace/add-vertical/constants.cjs +52 -0
  64. package/dist/cjs/ultramodern-workspace/add-vertical/execute.cjs +186 -0
  65. package/dist/cjs/ultramodern-workspace/add-vertical/plan.cjs +255 -0
  66. package/dist/cjs/ultramodern-workspace/add-vertical/preflight.cjs +256 -0
  67. package/dist/cjs/ultramodern-workspace/add-vertical/shell-files.cjs +99 -0
  68. package/dist/cjs/ultramodern-workspace/add-vertical/topology.cjs +152 -0
  69. package/dist/cjs/ultramodern-workspace/add-vertical/transaction.cjs +590 -0
  70. package/dist/cjs/ultramodern-workspace/add-vertical/workspace-state.cjs +137 -0
  71. package/dist/cjs/ultramodern-workspace/add-vertical.cjs +84 -0
  72. package/dist/cjs/ultramodern-workspace/api/checkout-cart.cjs +145 -0
  73. package/dist/cjs/ultramodern-workspace/api/client.cjs +224 -0
  74. package/dist/cjs/ultramodern-workspace/api/contracts.cjs +187 -0
  75. package/dist/cjs/ultramodern-workspace/api/names.cjs +98 -0
  76. package/dist/cjs/ultramodern-workspace/api/rpc.cjs +264 -0
  77. package/dist/cjs/ultramodern-workspace/api/service.cjs +252 -0
  78. package/dist/cjs/ultramodern-workspace/api/shared.cjs +264 -0
  79. package/dist/cjs/ultramodern-workspace/api.cjs +108 -0
  80. package/dist/cjs/ultramodern-workspace/app-files.cjs +206 -0
  81. package/dist/cjs/ultramodern-workspace/backend-federation.cjs +355 -0
  82. package/dist/cjs/ultramodern-workspace/bridge-config/cli.cjs +71 -0
  83. package/dist/cjs/ultramodern-workspace/bridge-config/defaults.cjs +44 -0
  84. package/dist/cjs/ultramodern-workspace/bridge-config/gates.cjs +93 -0
  85. package/dist/cjs/ultramodern-workspace/bridge-config/index.cjs +60 -0
  86. package/dist/cjs/ultramodern-workspace/bridge-config/normalize.cjs +68 -0
  87. package/dist/cjs/ultramodern-workspace/bridge-config/schema.cjs +78 -0
  88. package/dist/cjs/ultramodern-workspace/bridge-config/shared.cjs +110 -0
  89. package/dist/cjs/ultramodern-workspace/bridge-config/validation.cjs +68 -0
  90. package/dist/cjs/ultramodern-workspace/bridge-config/workspace-packages.cjs +108 -0
  91. package/dist/cjs/ultramodern-workspace/bridge-config.cjs +62 -0
  92. package/dist/cjs/ultramodern-workspace/codesmith.cjs +144 -0
  93. package/dist/cjs/ultramodern-workspace/contracts.cjs +366 -0
  94. package/dist/cjs/ultramodern-workspace/delivery-unit-schema/types.cjs +292 -0
  95. package/dist/cjs/ultramodern-workspace/delivery-unit-schema/up-projection.cjs +188 -0
  96. package/dist/cjs/ultramodern-workspace/delivery-unit-stamp.cjs +59 -0
  97. package/dist/cjs/ultramodern-workspace/delivery-unit-sync.cjs +150 -0
  98. package/dist/cjs/ultramodern-workspace/delivery-unit.cjs +75 -0
  99. package/dist/cjs/ultramodern-workspace/demo-components.cjs +685 -0
  100. package/dist/cjs/ultramodern-workspace/descriptors.cjs +307 -0
  101. package/dist/cjs/ultramodern-workspace/effect-diagnostics.cjs +114 -0
  102. package/dist/cjs/ultramodern-workspace/fs-io.cjs +324 -0
  103. package/dist/cjs/ultramodern-workspace/generation-result.cjs +191 -0
  104. package/dist/cjs/ultramodern-workspace/index.cjs +79 -0
  105. package/dist/cjs/ultramodern-workspace/locales.cjs +159 -0
  106. package/dist/cjs/ultramodern-workspace/mf-validation/constants.cjs +69 -0
  107. package/dist/cjs/ultramodern-workspace/mf-validation/discovery.cjs +77 -0
  108. package/dist/cjs/ultramodern-workspace/mf-validation/inspect.cjs +84 -0
  109. package/dist/cjs/ultramodern-workspace/mf-validation/object-literal.cjs +188 -0
  110. package/dist/cjs/ultramodern-workspace/mf-validation/path-utils.cjs +165 -0
  111. package/dist/cjs/ultramodern-workspace/mf-validation/syntax.cjs +211 -0
  112. package/dist/cjs/ultramodern-workspace/mf-validation/types.cjs +18 -0
  113. package/dist/cjs/ultramodern-workspace/mf-validation/validate.cjs +112 -0
  114. package/dist/cjs/ultramodern-workspace/mf-validation.cjs +48 -0
  115. package/dist/cjs/ultramodern-workspace/module-federation/config.cjs +343 -0
  116. package/dist/cjs/ultramodern-workspace/module-federation/reexport-module.cjs +111 -0
  117. package/dist/cjs/ultramodern-workspace/module-federation/remote-refs.cjs +106 -0
  118. package/dist/cjs/ultramodern-workspace/module-federation/shared-config.cjs +53 -0
  119. package/dist/cjs/ultramodern-workspace/module-federation.cjs +77 -0
  120. package/dist/cjs/ultramodern-workspace/naming.cjs +155 -0
  121. package/dist/cjs/ultramodern-workspace/overlay-baseline-guard.cjs +408 -0
  122. package/dist/cjs/ultramodern-workspace/overlays.cjs +155 -0
  123. package/dist/cjs/ultramodern-workspace/package-json.cjs +269 -0
  124. package/dist/cjs/ultramodern-workspace/package-source.cjs +68 -0
  125. package/dist/cjs/ultramodern-workspace/policy.cjs +1020 -0
  126. package/dist/cjs/ultramodern-workspace/public-api.cjs +58 -0
  127. package/dist/cjs/ultramodern-workspace/public-surface.cjs +247 -0
  128. package/dist/cjs/ultramodern-workspace/routes.cjs +226 -0
  129. package/dist/cjs/ultramodern-workspace/shared-patches.cjs +41 -0
  130. package/dist/cjs/ultramodern-workspace/shells.cjs +152 -0
  131. package/dist/cjs/ultramodern-workspace/tooling-command-catalog.cjs +147 -0
  132. package/dist/cjs/ultramodern-workspace/tsconfigs.cjs +201 -0
  133. package/dist/cjs/ultramodern-workspace/types.cjs +88 -0
  134. package/dist/cjs/ultramodern-workspace/versions.cjs +184 -0
  135. package/dist/cjs/ultramodern-workspace/workspace-script-plan.cjs +175 -0
  136. package/dist/cjs/ultramodern-workspace/workspace-scripts.cjs +261 -0
  137. package/dist/cjs/ultramodern-workspace/workspace-validation-contract.cjs +424 -0
  138. package/dist/cjs/ultramodern-workspace/write-app.cjs +148 -0
  139. package/dist/cjs/ultramodern-workspace/write-workspace.cjs +232 -0
  140. package/dist/cjs/ultramodern-workspace/zerops.cjs +108 -0
  141. package/dist/esm/agent-files.js +47 -0
  142. package/dist/esm/agents-md.js +50 -0
  143. package/dist/esm/cli/flags.js +263 -0
  144. package/dist/esm/cli/help.js +70 -0
  145. package/dist/esm/cli/package-source.js +124 -0
  146. package/dist/esm/cli/project-setup.js +102 -0
  147. package/dist/esm/cli/prompts.js +51 -0
  148. package/dist/esm/create-package-root.js +14 -0
  149. package/dist/esm/docs-location.js +79 -0
  150. package/dist/esm/index.js +133 -0
  151. package/dist/esm/locale/en.js +88 -0
  152. package/dist/esm/locale/index.js +9 -0
  153. package/dist/esm/locale/zh.js +88 -0
  154. package/dist/esm/ultramodern-package-source.js +43 -0
  155. package/dist/esm/ultramodern-release-cohort.js +133 -0
  156. package/dist/esm/ultramodern-tooling/commands/cloudflare-output-verify.js +84 -0
  157. package/dist/esm/ultramodern-tooling/commands/context.js +66 -0
  158. package/dist/esm/ultramodern-tooling/commands/mf-types.js +17 -0
  159. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +154 -0
  160. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +9 -0
  161. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +63 -0
  162. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +7 -0
  163. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +47 -0
  164. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +138 -0
  165. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +97 -0
  166. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.js +61 -0
  167. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +16 -0
  168. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +230 -0
  169. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +10 -0
  170. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +8 -0
  171. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +15 -0
  172. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.js +100 -0
  173. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/help.js +29 -0
  174. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/install.js +14 -0
  175. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/io.js +385 -0
  176. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +262 -0
  177. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +49 -0
  178. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +535 -0
  179. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +329 -0
  180. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +19 -0
  181. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.js +148 -0
  182. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.js +80 -0
  183. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect.js +405 -0
  184. package/dist/esm/ultramodern-tooling/commands/options.js +18 -0
  185. package/dist/esm/ultramodern-tooling/commands/routes-generate.js +74 -0
  186. package/dist/esm/ultramodern-tooling/commands/skills.js +11 -0
  187. package/dist/esm/ultramodern-tooling/commands/sync-delivery-unit.js +1 -0
  188. package/dist/esm/ultramodern-tooling/commands/validate.js +15 -0
  189. package/dist/esm/ultramodern-tooling/commands.js +51 -0
  190. package/dist/esm/ultramodern-tooling/config/constants.js +4 -0
  191. package/dist/esm/ultramodern-tooling/config/index.js +7 -0
  192. package/dist/esm/ultramodern-tooling/config/json.js +10 -0
  193. package/dist/esm/ultramodern-tooling/config/load.js +13 -0
  194. package/dist/esm/ultramodern-tooling/config/metadata.js +37 -0
  195. package/dist/esm/ultramodern-tooling/config/normalize.js +173 -0
  196. package/dist/esm/ultramodern-tooling/config/synthesize.js +108 -0
  197. package/dist/esm/ultramodern-tooling/config/types.js +0 -0
  198. package/dist/esm/ultramodern-tooling/config.js +1 -0
  199. package/dist/esm/ultramodern-workspace/add-shell.js +224 -0
  200. package/dist/esm/ultramodern-workspace/add-vertical/constants.js +5 -0
  201. package/dist/esm/ultramodern-workspace/add-vertical/execute.js +138 -0
  202. package/dist/esm/ultramodern-workspace/add-vertical/plan.js +205 -0
  203. package/dist/esm/ultramodern-workspace/add-vertical/preflight.js +198 -0
  204. package/dist/esm/ultramodern-workspace/add-vertical/shell-files.js +48 -0
  205. package/dist/esm/ultramodern-workspace/add-vertical/topology.js +108 -0
  206. package/dist/esm/ultramodern-workspace/add-vertical/transaction.js +529 -0
  207. package/dist/esm/ultramodern-workspace/add-vertical/workspace-state.js +67 -0
  208. package/dist/esm/ultramodern-workspace/add-vertical.js +6 -0
  209. package/dist/esm/ultramodern-workspace/api/checkout-cart.js +86 -0
  210. package/dist/esm/ultramodern-workspace/api/client.js +183 -0
  211. package/dist/esm/ultramodern-workspace/api/contracts.js +149 -0
  212. package/dist/esm/ultramodern-workspace/api/names.js +33 -0
  213. package/dist/esm/ultramodern-workspace/api/rpc.js +205 -0
  214. package/dist/esm/ultramodern-workspace/api/service.js +211 -0
  215. package/dist/esm/ultramodern-workspace/api/shared.js +226 -0
  216. package/dist/esm/ultramodern-workspace/api.js +6 -0
  217. package/dist/esm/ultramodern-workspace/app-files.js +150 -0
  218. package/dist/esm/ultramodern-workspace/backend-federation.js +290 -0
  219. package/dist/esm/ultramodern-workspace/bridge-config/cli.js +30 -0
  220. package/dist/esm/ultramodern-workspace/bridge-config/defaults.js +6 -0
  221. package/dist/esm/ultramodern-workspace/bridge-config/gates.js +52 -0
  222. package/dist/esm/ultramodern-workspace/bridge-config/index.js +3 -0
  223. package/dist/esm/ultramodern-workspace/bridge-config/normalize.js +30 -0
  224. package/dist/esm/ultramodern-workspace/bridge-config/schema.js +31 -0
  225. package/dist/esm/ultramodern-workspace/bridge-config/shared.js +51 -0
  226. package/dist/esm/ultramodern-workspace/bridge-config/validation.js +27 -0
  227. package/dist/esm/ultramodern-workspace/bridge-config/workspace-packages.js +67 -0
  228. package/dist/esm/ultramodern-workspace/bridge-config.js +1 -0
  229. package/dist/esm/ultramodern-workspace/codesmith.js +96 -0
  230. package/dist/esm/ultramodern-workspace/contracts.js +319 -0
  231. package/dist/esm/ultramodern-workspace/delivery-unit-schema/types.js +236 -0
  232. package/dist/esm/ultramodern-workspace/delivery-unit-schema/up-projection.js +129 -0
  233. package/dist/esm/ultramodern-workspace/delivery-unit-stamp.js +18 -0
  234. package/dist/esm/ultramodern-workspace/delivery-unit-sync.js +101 -0
  235. package/dist/esm/ultramodern-workspace/delivery-unit.js +21 -0
  236. package/dist/esm/ultramodern-workspace/demo-components.js +617 -0
  237. package/dist/esm/ultramodern-workspace/descriptors.js +191 -0
  238. package/dist/esm/ultramodern-workspace/effect-diagnostics.js +76 -0
  239. package/dist/esm/ultramodern-workspace/fs-io.js +235 -0
  240. package/dist/esm/ultramodern-workspace/generation-result.js +132 -0
  241. package/dist/esm/ultramodern-workspace/index.js +7 -0
  242. package/dist/esm/ultramodern-workspace/locales.js +121 -0
  243. package/dist/esm/ultramodern-workspace/mf-validation/constants.js +19 -0
  244. package/dist/esm/ultramodern-workspace/mf-validation/discovery.js +28 -0
  245. package/dist/esm/ultramodern-workspace/mf-validation/inspect.js +46 -0
  246. package/dist/esm/ultramodern-workspace/mf-validation/object-literal.js +144 -0
  247. package/dist/esm/ultramodern-workspace/mf-validation/path-utils.js +89 -0
  248. package/dist/esm/ultramodern-workspace/mf-validation/syntax.js +161 -0
  249. package/dist/esm/ultramodern-workspace/mf-validation/types.js +0 -0
  250. package/dist/esm/ultramodern-workspace/mf-validation/validate.js +57 -0
  251. package/dist/esm/ultramodern-workspace/mf-validation.js +3 -0
  252. package/dist/esm/ultramodern-workspace/module-federation/config.js +296 -0
  253. package/dist/esm/ultramodern-workspace/module-federation/reexport-module.js +67 -0
  254. package/dist/esm/ultramodern-workspace/module-federation/remote-refs.js +65 -0
  255. package/dist/esm/ultramodern-workspace/module-federation/shared-config.js +12 -0
  256. package/dist/esm/ultramodern-workspace/module-federation.js +5 -0
  257. package/dist/esm/ultramodern-workspace/naming.js +71 -0
  258. package/dist/esm/ultramodern-workspace/overlay-baseline-guard.js +350 -0
  259. package/dist/esm/ultramodern-workspace/overlays.js +103 -0
  260. package/dist/esm/ultramodern-workspace/package-json.js +201 -0
  261. package/dist/esm/ultramodern-workspace/package-source.js +27 -0
  262. package/dist/esm/ultramodern-workspace/policy.js +955 -0
  263. package/dist/esm/ultramodern-workspace/public-api.js +4 -0
  264. package/dist/esm/ultramodern-workspace/public-surface.js +183 -0
  265. package/dist/esm/ultramodern-workspace/routes.js +146 -0
  266. package/dist/esm/ultramodern-workspace/shared-patches.js +3 -0
  267. package/dist/esm/ultramodern-workspace/shells.js +96 -0
  268. package/dist/esm/ultramodern-workspace/tooling-command-catalog.js +100 -0
  269. package/dist/esm/ultramodern-workspace/tsconfigs.js +138 -0
  270. package/dist/esm/ultramodern-workspace/types.js +31 -0
  271. package/dist/esm/ultramodern-workspace/versions.js +38 -0
  272. package/dist/esm/ultramodern-workspace/workspace-script-plan.js +125 -0
  273. package/dist/esm/ultramodern-workspace/workspace-scripts.js +200 -0
  274. package/dist/esm/ultramodern-workspace/workspace-validation-contract.js +386 -0
  275. package/dist/esm/ultramodern-workspace/write-app.js +105 -0
  276. package/dist/esm/ultramodern-workspace/write-workspace.js +178 -0
  277. package/dist/esm/ultramodern-workspace/zerops.js +70 -0
  278. package/dist/esm-node/agent-files.js +48 -0
  279. package/dist/esm-node/agents-md.js +51 -0
  280. package/dist/esm-node/cli/flags.js +264 -0
  281. package/dist/esm-node/cli/help.js +71 -0
  282. package/dist/esm-node/cli/package-source.js +125 -0
  283. package/dist/esm-node/cli/project-setup.js +103 -0
  284. package/dist/esm-node/cli/prompts.js +52 -0
  285. package/dist/esm-node/create-package-root.js +15 -0
  286. package/dist/esm-node/docs-location.js +80 -0
  287. package/dist/esm-node/index.js +134 -0
  288. package/dist/esm-node/locale/en.js +89 -0
  289. package/dist/esm-node/locale/index.js +10 -0
  290. package/dist/esm-node/locale/zh.js +89 -0
  291. package/dist/esm-node/ultramodern-package-source.js +44 -0
  292. package/dist/esm-node/ultramodern-release-cohort.js +134 -0
  293. package/dist/esm-node/ultramodern-tooling/commands/cloudflare-output-verify.js +85 -0
  294. package/dist/esm-node/ultramodern-tooling/commands/context.js +67 -0
  295. package/dist/esm-node/ultramodern-tooling/commands/mf-types.js +18 -0
  296. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +155 -0
  297. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +10 -0
  298. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +64 -0
  299. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +8 -0
  300. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +48 -0
  301. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +139 -0
  302. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +98 -0
  303. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.js +62 -0
  304. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +17 -0
  305. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +231 -0
  306. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +11 -0
  307. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +9 -0
  308. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +16 -0
  309. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.js +101 -0
  310. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/help.js +30 -0
  311. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/install.js +15 -0
  312. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/io.js +386 -0
  313. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +263 -0
  314. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +50 -0
  315. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +536 -0
  316. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +330 -0
  317. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +20 -0
  318. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.js +149 -0
  319. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.js +81 -0
  320. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect.js +406 -0
  321. package/dist/esm-node/ultramodern-tooling/commands/options.js +19 -0
  322. package/dist/esm-node/ultramodern-tooling/commands/routes-generate.js +75 -0
  323. package/dist/esm-node/ultramodern-tooling/commands/skills.js +12 -0
  324. package/dist/esm-node/ultramodern-tooling/commands/sync-delivery-unit.js +2 -0
  325. package/dist/esm-node/ultramodern-tooling/commands/validate.js +16 -0
  326. package/dist/esm-node/ultramodern-tooling/commands.js +52 -0
  327. package/dist/esm-node/ultramodern-tooling/config/constants.js +5 -0
  328. package/dist/esm-node/ultramodern-tooling/config/index.js +8 -0
  329. package/dist/esm-node/ultramodern-tooling/config/json.js +11 -0
  330. package/dist/esm-node/ultramodern-tooling/config/load.js +14 -0
  331. package/dist/esm-node/ultramodern-tooling/config/metadata.js +38 -0
  332. package/dist/esm-node/ultramodern-tooling/config/normalize.js +174 -0
  333. package/dist/esm-node/ultramodern-tooling/config/synthesize.js +109 -0
  334. package/dist/esm-node/ultramodern-tooling/config/types.js +1 -0
  335. package/dist/esm-node/ultramodern-tooling/config.js +2 -0
  336. package/dist/esm-node/ultramodern-workspace/add-shell.js +225 -0
  337. package/dist/esm-node/ultramodern-workspace/add-vertical/constants.js +6 -0
  338. package/dist/esm-node/ultramodern-workspace/add-vertical/execute.js +139 -0
  339. package/dist/esm-node/ultramodern-workspace/add-vertical/plan.js +206 -0
  340. package/dist/esm-node/ultramodern-workspace/add-vertical/preflight.js +199 -0
  341. package/dist/esm-node/ultramodern-workspace/add-vertical/shell-files.js +49 -0
  342. package/dist/esm-node/ultramodern-workspace/add-vertical/topology.js +109 -0
  343. package/dist/esm-node/ultramodern-workspace/add-vertical/transaction.js +530 -0
  344. package/dist/esm-node/ultramodern-workspace/add-vertical/workspace-state.js +68 -0
  345. package/dist/esm-node/ultramodern-workspace/add-vertical.js +7 -0
  346. package/dist/esm-node/ultramodern-workspace/api/checkout-cart.js +87 -0
  347. package/dist/esm-node/ultramodern-workspace/api/client.js +184 -0
  348. package/dist/esm-node/ultramodern-workspace/api/contracts.js +150 -0
  349. package/dist/esm-node/ultramodern-workspace/api/names.js +34 -0
  350. package/dist/esm-node/ultramodern-workspace/api/rpc.js +206 -0
  351. package/dist/esm-node/ultramodern-workspace/api/service.js +212 -0
  352. package/dist/esm-node/ultramodern-workspace/api/shared.js +227 -0
  353. package/dist/esm-node/ultramodern-workspace/api.js +7 -0
  354. package/dist/esm-node/ultramodern-workspace/app-files.js +151 -0
  355. package/dist/esm-node/ultramodern-workspace/backend-federation.js +291 -0
  356. package/dist/esm-node/ultramodern-workspace/bridge-config/cli.js +31 -0
  357. package/dist/esm-node/ultramodern-workspace/bridge-config/defaults.js +7 -0
  358. package/dist/esm-node/ultramodern-workspace/bridge-config/gates.js +53 -0
  359. package/dist/esm-node/ultramodern-workspace/bridge-config/index.js +4 -0
  360. package/dist/esm-node/ultramodern-workspace/bridge-config/normalize.js +31 -0
  361. package/dist/esm-node/ultramodern-workspace/bridge-config/schema.js +32 -0
  362. package/dist/esm-node/ultramodern-workspace/bridge-config/shared.js +52 -0
  363. package/dist/esm-node/ultramodern-workspace/bridge-config/validation.js +28 -0
  364. package/dist/esm-node/ultramodern-workspace/bridge-config/workspace-packages.js +68 -0
  365. package/dist/esm-node/ultramodern-workspace/bridge-config.js +2 -0
  366. package/dist/esm-node/ultramodern-workspace/codesmith.js +97 -0
  367. package/dist/esm-node/ultramodern-workspace/contracts.js +320 -0
  368. package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/types.js +237 -0
  369. package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/up-projection.js +130 -0
  370. package/dist/esm-node/ultramodern-workspace/delivery-unit-stamp.js +19 -0
  371. package/dist/esm-node/ultramodern-workspace/delivery-unit-sync.js +102 -0
  372. package/dist/esm-node/ultramodern-workspace/delivery-unit.js +22 -0
  373. package/dist/esm-node/ultramodern-workspace/demo-components.js +618 -0
  374. package/dist/esm-node/ultramodern-workspace/descriptors.js +192 -0
  375. package/dist/esm-node/ultramodern-workspace/effect-diagnostics.js +77 -0
  376. package/dist/esm-node/ultramodern-workspace/fs-io.js +236 -0
  377. package/dist/esm-node/ultramodern-workspace/generation-result.js +133 -0
  378. package/dist/esm-node/ultramodern-workspace/index.js +8 -0
  379. package/dist/esm-node/ultramodern-workspace/locales.js +122 -0
  380. package/dist/esm-node/ultramodern-workspace/mf-validation/constants.js +20 -0
  381. package/dist/esm-node/ultramodern-workspace/mf-validation/discovery.js +29 -0
  382. package/dist/esm-node/ultramodern-workspace/mf-validation/inspect.js +47 -0
  383. package/dist/esm-node/ultramodern-workspace/mf-validation/object-literal.js +145 -0
  384. package/dist/esm-node/ultramodern-workspace/mf-validation/path-utils.js +90 -0
  385. package/dist/esm-node/ultramodern-workspace/mf-validation/syntax.js +162 -0
  386. package/dist/esm-node/ultramodern-workspace/mf-validation/types.js +1 -0
  387. package/dist/esm-node/ultramodern-workspace/mf-validation/validate.js +58 -0
  388. package/dist/esm-node/ultramodern-workspace/mf-validation.js +4 -0
  389. package/dist/esm-node/ultramodern-workspace/module-federation/config.js +297 -0
  390. package/dist/esm-node/ultramodern-workspace/module-federation/reexport-module.js +68 -0
  391. package/dist/esm-node/ultramodern-workspace/module-federation/remote-refs.js +66 -0
  392. package/dist/esm-node/ultramodern-workspace/module-federation/shared-config.js +13 -0
  393. package/dist/esm-node/ultramodern-workspace/module-federation.js +6 -0
  394. package/dist/esm-node/ultramodern-workspace/naming.js +72 -0
  395. package/dist/esm-node/ultramodern-workspace/overlay-baseline-guard.js +351 -0
  396. package/dist/esm-node/ultramodern-workspace/overlays.js +104 -0
  397. package/dist/esm-node/ultramodern-workspace/package-json.js +202 -0
  398. package/dist/esm-node/ultramodern-workspace/package-source.js +28 -0
  399. package/dist/esm-node/ultramodern-workspace/policy.js +956 -0
  400. package/dist/esm-node/ultramodern-workspace/public-api.js +5 -0
  401. package/dist/esm-node/ultramodern-workspace/public-surface.js +184 -0
  402. package/dist/esm-node/ultramodern-workspace/routes.js +147 -0
  403. package/dist/esm-node/ultramodern-workspace/shared-patches.js +4 -0
  404. package/dist/esm-node/ultramodern-workspace/shells.js +97 -0
  405. package/dist/esm-node/ultramodern-workspace/tooling-command-catalog.js +101 -0
  406. package/dist/esm-node/ultramodern-workspace/tsconfigs.js +139 -0
  407. package/dist/esm-node/ultramodern-workspace/types.js +32 -0
  408. package/dist/esm-node/ultramodern-workspace/versions.js +39 -0
  409. package/dist/esm-node/ultramodern-workspace/workspace-script-plan.js +126 -0
  410. package/dist/esm-node/ultramodern-workspace/workspace-scripts.js +201 -0
  411. package/dist/esm-node/ultramodern-workspace/workspace-validation-contract.js +387 -0
  412. package/dist/esm-node/ultramodern-workspace/write-app.js +106 -0
  413. package/dist/esm-node/ultramodern-workspace/write-workspace.js +179 -0
  414. package/dist/esm-node/ultramodern-workspace/zerops.js +71 -0
  415. package/dist/types/agent-files.d.ts +11 -0
  416. package/dist/types/agents-md.d.ts +1 -0
  417. package/dist/types/cli/flags.d.ts +35 -0
  418. package/dist/types/cli/help.d.ts +2 -0
  419. package/dist/types/cli/package-source.d.ts +15 -0
  420. package/dist/types/cli/project-setup.d.ts +8 -0
  421. package/dist/types/cli/prompts.d.ts +4 -0
  422. package/dist/types/create-package-root.d.ts +1 -0
  423. package/dist/types/docs-location.d.ts +23 -0
  424. package/dist/types/index.d.ts +1 -0
  425. package/dist/types/locale/en.d.ts +87 -0
  426. package/dist/types/locale/index.d.ts +176 -0
  427. package/dist/types/locale/zh.d.ts +87 -0
  428. package/dist/types/ultramodern-package-source.d.ts +20 -0
  429. package/dist/types/ultramodern-release-cohort.d.ts +30 -0
  430. package/dist/types/ultramodern-tooling/commands/cloudflare-output-verify.d.ts +2 -0
  431. package/dist/types/ultramodern-tooling/commands/context.d.ts +11 -0
  432. package/dist/types/ultramodern-tooling/commands/mf-types.d.ts +2 -0
  433. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.d.ts +12 -0
  434. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.d.ts +4 -0
  435. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.d.ts +1 -0
  436. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.d.ts +3 -0
  437. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.d.ts +5 -0
  438. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.d.ts +3 -0
  439. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.d.ts +2 -0
  440. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.d.ts +2 -0
  441. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.d.ts +4 -0
  442. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.d.ts +3 -0
  443. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.d.ts +3 -0
  444. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.d.ts +8 -0
  445. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.d.ts +3 -0
  446. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.d.ts +3 -0
  447. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/help.d.ts +1 -0
  448. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/install.d.ts +2 -0
  449. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/io.d.ts +26 -0
  450. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.d.ts +25 -0
  451. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-source.d.ts +3 -0
  452. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.d.ts +26 -0
  453. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.d.ts +26 -0
  454. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.d.ts +6 -0
  455. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.d.ts +37 -0
  456. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.d.ts +4 -0
  457. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect.d.ts +2 -0
  458. package/dist/types/ultramodern-tooling/commands/options.d.ts +2 -0
  459. package/dist/types/ultramodern-tooling/commands/routes-generate.d.ts +2 -0
  460. package/dist/types/ultramodern-tooling/commands/skills.d.ts +2 -0
  461. package/dist/types/ultramodern-tooling/commands/sync-delivery-unit.d.ts +1 -0
  462. package/dist/types/ultramodern-tooling/commands/validate.d.ts +2 -0
  463. package/dist/types/ultramodern-tooling/commands.d.ts +1 -0
  464. package/dist/types/ultramodern-tooling/config/constants.d.ts +3 -0
  465. package/dist/types/ultramodern-tooling/config/index.d.ts +7 -0
  466. package/dist/types/ultramodern-tooling/config/json.d.ts +2 -0
  467. package/dist/types/ultramodern-tooling/config/load.d.ts +2 -0
  468. package/dist/types/ultramodern-tooling/config/metadata.d.ts +4 -0
  469. package/dist/types/ultramodern-tooling/config/normalize.d.ts +22 -0
  470. package/dist/types/ultramodern-tooling/config/synthesize.d.ts +5 -0
  471. package/dist/types/ultramodern-tooling/config/types.d.ts +45 -0
  472. package/dist/types/ultramodern-tooling/config.d.ts +1 -0
  473. package/dist/types/ultramodern-workspace/add-shell.d.ts +14 -0
  474. package/dist/types/ultramodern-workspace/add-vertical/constants.d.ts +4 -0
  475. package/dist/types/ultramodern-workspace/add-vertical/execute.d.ts +9 -0
  476. package/dist/types/ultramodern-workspace/add-vertical/plan.d.ts +2 -0
  477. package/dist/types/ultramodern-workspace/add-vertical/preflight.d.ts +42 -0
  478. package/dist/types/ultramodern-workspace/add-vertical/shell-files.d.ts +4 -0
  479. package/dist/types/ultramodern-workspace/add-vertical/topology.d.ts +9 -0
  480. package/dist/types/ultramodern-workspace/add-vertical/transaction.d.ts +49 -0
  481. package/dist/types/ultramodern-workspace/add-vertical/workspace-state.d.ts +15 -0
  482. package/dist/types/ultramodern-workspace/add-vertical.d.ts +7 -0
  483. package/dist/types/ultramodern-workspace/api/checkout-cart.d.ts +33 -0
  484. package/dist/types/ultramodern-workspace/api/client.d.ts +6 -0
  485. package/dist/types/ultramodern-workspace/api/contracts.d.ts +2 -0
  486. package/dist/types/ultramodern-workspace/api/names.d.ts +41 -0
  487. package/dist/types/ultramodern-workspace/api/rpc.d.ts +41 -0
  488. package/dist/types/ultramodern-workspace/api/service.d.ts +6 -0
  489. package/dist/types/ultramodern-workspace/api/shared.d.ts +5 -0
  490. package/dist/types/ultramodern-workspace/api.d.ts +6 -0
  491. package/dist/types/ultramodern-workspace/app-files.d.ts +8 -0
  492. package/dist/types/ultramodern-workspace/backend-federation.d.ts +11 -0
  493. package/dist/types/ultramodern-workspace/bridge-config/cli.d.ts +3 -0
  494. package/dist/types/ultramodern-workspace/bridge-config/defaults.d.ts +1 -0
  495. package/dist/types/ultramodern-workspace/bridge-config/gates.d.ts +3 -0
  496. package/dist/types/ultramodern-workspace/bridge-config/index.d.ts +4 -0
  497. package/dist/types/ultramodern-workspace/bridge-config/normalize.d.ts +2 -0
  498. package/dist/types/ultramodern-workspace/bridge-config/schema.d.ts +61 -0
  499. package/dist/types/ultramodern-workspace/bridge-config/shared.d.ts +12 -0
  500. package/dist/types/ultramodern-workspace/bridge-config/validation.d.ts +3 -0
  501. package/dist/types/ultramodern-workspace/bridge-config/workspace-packages.d.ts +3 -0
  502. package/dist/types/ultramodern-workspace/bridge-config.d.ts +1 -0
  503. package/dist/types/ultramodern-workspace/codesmith.d.ts +60 -0
  504. package/dist/types/ultramodern-workspace/contracts.d.ts +6 -0
  505. package/dist/types/ultramodern-workspace/delivery-unit-schema/types.d.ts +290 -0
  506. package/dist/types/ultramodern-workspace/delivery-unit-schema/up-projection.d.ts +189 -0
  507. package/dist/types/ultramodern-workspace/delivery-unit-stamp.d.ts +4 -0
  508. package/dist/types/ultramodern-workspace/delivery-unit-sync.d.ts +6 -0
  509. package/dist/types/ultramodern-workspace/delivery-unit.d.ts +8 -0
  510. package/dist/types/ultramodern-workspace/demo-components.d.ts +19 -0
  511. package/dist/types/ultramodern-workspace/descriptors.d.ts +63 -0
  512. package/dist/types/ultramodern-workspace/effect-diagnostics.d.ts +1 -0
  513. package/dist/types/ultramodern-workspace/fs-io.d.ts +14 -0
  514. package/dist/types/ultramodern-workspace/generation-result.d.ts +16 -0
  515. package/dist/types/ultramodern-workspace/index.d.ts +10 -0
  516. package/dist/types/ultramodern-workspace/locales.d.ts +51 -0
  517. package/dist/types/ultramodern-workspace/mf-validation/constants.d.ts +5 -0
  518. package/dist/types/ultramodern-workspace/mf-validation/discovery.d.ts +2 -0
  519. package/dist/types/ultramodern-workspace/mf-validation/inspect.d.ts +2 -0
  520. package/dist/types/ultramodern-workspace/mf-validation/object-literal.d.ts +4 -0
  521. package/dist/types/ultramodern-workspace/mf-validation/path-utils.d.ts +11 -0
  522. package/dist/types/ultramodern-workspace/mf-validation/syntax.d.ts +6 -0
  523. package/dist/types/ultramodern-workspace/mf-validation/types.d.ts +38 -0
  524. package/dist/types/ultramodern-workspace/mf-validation/validate.d.ts +4 -0
  525. package/dist/types/ultramodern-workspace/mf-validation.d.ts +4 -0
  526. package/dist/types/ultramodern-workspace/module-federation/config.d.ts +5 -0
  527. package/dist/types/ultramodern-workspace/module-federation/reexport-module.d.ts +4 -0
  528. package/dist/types/ultramodern-workspace/module-federation/remote-refs.d.ts +3 -0
  529. package/dist/types/ultramodern-workspace/module-federation/shared-config.d.ts +2 -0
  530. package/dist/types/ultramodern-workspace/module-federation.d.ts +5 -0
  531. package/dist/types/ultramodern-workspace/naming.d.ts +14 -0
  532. package/dist/types/ultramodern-workspace/overlay-baseline-guard.d.ts +57 -0
  533. package/dist/types/ultramodern-workspace/overlays.d.ts +6 -0
  534. package/dist/types/ultramodern-workspace/package-json.d.ts +8 -0
  535. package/dist/types/ultramodern-workspace/package-source.d.ts +3 -0
  536. package/dist/types/ultramodern-workspace/policy.d.ts +281 -0
  537. package/dist/types/ultramodern-workspace/public-api.d.ts +6 -0
  538. package/dist/types/ultramodern-workspace/public-surface.d.ts +27 -0
  539. package/dist/types/ultramodern-workspace/routes.d.ts +16 -0
  540. package/dist/types/ultramodern-workspace/shared-patches.d.ts +1 -0
  541. package/dist/types/ultramodern-workspace/shells.d.ts +48 -0
  542. package/dist/types/ultramodern-workspace/tooling-command-catalog.d.ts +18 -0
  543. package/dist/types/ultramodern-workspace/tsconfigs.d.ts +14 -0
  544. package/dist/types/ultramodern-workspace/types.d.ts +334 -0
  545. package/dist/types/ultramodern-workspace/versions.d.ts +42 -0
  546. package/dist/types/ultramodern-workspace/workspace-script-plan.d.ts +63 -0
  547. package/dist/types/ultramodern-workspace/workspace-scripts.d.ts +16 -0
  548. package/dist/types/ultramodern-workspace/workspace-validation-contract.d.ts +217 -0
  549. package/dist/types/ultramodern-workspace/write-app.d.ts +4 -0
  550. package/dist/types/ultramodern-workspace/write-workspace.d.ts +6 -0
  551. package/dist/types/ultramodern-workspace/zerops.d.ts +2 -0
  552. package/package.json +115 -0
  553. package/template/AGENTS.md +20 -0
  554. package/template-workspace/.agents/agent-reference-repos.json +24 -0
  555. package/template-workspace/.codex/hooks.json +16 -0
  556. package/template-workspace/.codex/rstackjs-agent-skills-LICENSE +21 -0
  557. package/template-workspace/.codex/skills/rsbuild-best-practices/SKILL.md +57 -0
  558. package/template-workspace/.codex/skills/rsdoctor-analysis/SKILL.md +96 -0
  559. package/template-workspace/.codex/skills/rsdoctor-analysis/references/command-map.md +113 -0
  560. package/template-workspace/.codex/skills/rsdoctor-analysis/references/common-analysis-patterns.md +190 -0
  561. package/template-workspace/.codex/skills/rsdoctor-analysis/references/install-rsdoctor-common.md +88 -0
  562. package/template-workspace/.codex/skills/rsdoctor-analysis/references/install-rsdoctor-rspack.md +138 -0
  563. package/template-workspace/.codex/skills/rsdoctor-analysis/references/install-rsdoctor-webpack.md +71 -0
  564. package/template-workspace/.codex/skills/rsdoctor-analysis/references/install-rsdoctor.md +39 -0
  565. package/template-workspace/.codex/skills/rsdoctor-analysis/references/rsdoctor-data-types.md +103 -0
  566. package/template-workspace/.codex/skills/rslib-best-practices/SKILL.md +58 -0
  567. package/template-workspace/.codex/skills/rslib-modern-package/SKILL.md +173 -0
  568. package/template-workspace/.codex/skills/rspack-best-practices/SKILL.md +70 -0
  569. package/template-workspace/.codex/skills/rspack-tracing/SKILL.md +75 -0
  570. package/template-workspace/.codex/skills/rspack-tracing/references/bottlenecks.md +47 -0
  571. package/template-workspace/.codex/skills/rspack-tracing/references/tracing-guide.md +38 -0
  572. package/template-workspace/.codex/skills/rspack-tracing/scripts/analyze_trace.js +184 -0
  573. package/template-workspace/.codex/skills/rstest-best-practices/SKILL.md +133 -0
  574. package/template-workspace/.codex/skills-lock.json +114 -0
  575. package/template-workspace/.github/renovate.json +29 -0
  576. package/template-workspace/.github/workflows/ultramodern-workspace-gates.yml.handlebars +71 -0
  577. package/template-workspace/.gitignore.handlebars +16 -0
  578. package/template-workspace/.mise.toml.handlebars +3 -0
  579. package/template-workspace/.modernjs/release-cohort.json +244 -0
  580. package/template-workspace/AGENTS.md.handlebars +30 -0
  581. package/template-workspace/CLAUDE.md.handlebars +1 -0
  582. package/template-workspace/README.md.handlebars +229 -0
  583. package/template-workspace/lefthook.yml +24 -0
  584. package/template-workspace/oxfmt.config.ts +20 -0
  585. package/template-workspace/oxlint.config.ts +38 -0
  586. package/template-workspace/patches/@module-federation__bridge-react@2.9.0.patch +47 -0
  587. package/template-workspace/patches/@module-federation__dts-plugin@2.9.0.patch +26 -0
  588. package/template-workspace/patches/@module-federation__modern-js-v3@2.9.0.patch +268 -0
  589. package/template-workspace/patches/@module-federation__runtime-core@2.9.0.patch +13 -0
  590. package/template-workspace/patches/@tanstack__router-core@1.171.27.patch +28 -0
  591. package/template-workspace/patches/drizzle-orm-ts7-strict-declarations.patch +471 -0
  592. package/template-workspace/patches/msgpackr@2.0.6.patch +29 -0
  593. package/template-workspace/patches/zod@4.4.3.patch +54 -0
  594. package/template-workspace/pnpm-workspace.yaml.handlebars +54 -0
  595. package/template-workspace/scripts/bootstrap-agent-skills.mjs +308 -0
  596. package/template-workspace/scripts/setup-agent-reference-repos.mjs +370 -0
  597. package/templates/app/shell-frame.tsx +49 -0
  598. package/templates/app/ultramodern-route-head.tsx.handlebars +153 -0
  599. package/templates/packages/shared-contracts-index.ts +400 -0
  600. package/templates/workspace/apps/modern.config.shared-module-federation.ts.handlebars +42 -0
  601. package/templates/workspace/apps/modern.config.ts.handlebars +187 -0
  602. package/templates/workspace/apps/shared/src/routes/ultramodern-jsonld.ts.handlebars +119 -0
  603. package/templates/workspace/apps/shared/src/routes/ultramodern-route-metadata.ts.handlebars +21 -0
  604. package/templates/workspace/apps/shell-super-app/src/routes/[lang]/page.tsx.handlebars +49 -0
  605. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.helpers.tsx.handlebars +27 -0
  606. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.imports.tsx.handlebars +4 -0
  607. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.tsx.handlebars +44 -0
  608. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.worker.helpers.tsx.handlebars +17 -0
  609. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.worker.imports.tsx.handlebars +1 -0
  610. package/templates/workspace/packages/shared-design-tokens/tokens.css.handlebars +7 -0
  611. package/templates/workspace/tailwind.config.ts.handlebars +3 -0
  612. package/templates/workspace/verticals/server/checkout-cart-handlers.ts.handlebars +49 -0
  613. package/templates/workspace/verticals/server/checkout-cart-state.ts.handlebars +23 -0
  614. package/templates/workspace/verticals/shared/api.checkout-cart-contract-fields.ts.handlebars +1 -0
  615. package/templates/workspace/verticals/shared/api.checkout-cart-endpoints.ts.handlebars +23 -0
  616. package/templates/workspace/verticals/shared/api.checkout-cart-operation-contexts.ts.handlebars +29 -0
  617. package/templates/workspace/verticals/shared/api.checkout-cart-schemas.ts.handlebars +48 -0
  618. package/templates/workspace/verticals/src/api/checkout-cart-client-exports.ts.handlebars +70 -0
  619. package/templates/workspace-scripts/check-ultramodern-api-boundaries.mts +779 -0
  620. package/templates/workspace-scripts/check-ultramodern-i18n-boundaries.mts +9 -0
  621. package/templates/workspace-scripts/generate-node-backend-federation.mjs +383 -0
  622. package/templates/workspace-scripts/generate-public-surface-assets.mjs +766 -0
  623. package/templates/workspace-scripts/materialize-zerops-runtime.mjs +447 -0
  624. package/templates/workspace-scripts/proof-cloudflare-version.mjs +682 -0
  625. package/templates/workspace-scripts/proof-node-backend-federation.mjs +1281 -0
  626. package/templates/workspace-scripts/proof-workerd-ssr.mts +847 -0
  627. package/templates/workspace-scripts/ultramodern-cloudflare-proof.mjs +1116 -0
  628. package/templates/workspace-scripts/ultramodern-performance-readiness.config.mjs +7 -0
  629. package/templates/workspace-scripts/ultramodern-performance-readiness.mjs +412 -0
  630. package/templates/workspace-scripts/ultramodern-typecheck.mjs +159 -0
  631. package/templates/workspace-scripts/validate-ultramodern-workspace.mjs.handlebars +4094 -0
@@ -0,0 +1,386 @@
1
+ import { ULTRAMODERN_CREATE_PACKAGE } from "../ultramodern-package-source.js";
2
+ import { verticalApiGroupName } from "./api.js";
3
+ import { createBackendFederationMetadata } from "./backend-federation.js";
4
+ import { createDevelopmentOverlay, createOwnership, createTopology, createUltramodernConfig } from "./contracts.js";
5
+ import { createDeliveryUnitRecord } from "./delivery-unit.js";
6
+ import { remoteComponentOutputPath } from "./demo-components.js";
7
+ import { appEmitsBrowserUi, appHasApi, appI18nNamespace, createShellHost, remoteDependencyAlias, resolveApiProtocol, resolveApiStem, sharedPackages, shellApp } from "./descriptors.js";
8
+ import { packageName, tailwindPrefixForApp } from "./naming.js";
9
+ import { createCloudflareSecurityContract } from "./policy.js";
10
+ import { publicSurfaceManagedSourceAssetPaths } from "./public-surface.js";
11
+ import { createLocalisedUrlsMap, createRouteMetaFilePath, createRouteOwnedI18nPaths, createRoutePageFilePath } from "./routes.js";
12
+ import { createAdditionalShellConfigEntry, shellDeliveryUnitBlock } from "./shells.js";
13
+ import { resolveOwnerAttribution } from "./types.js";
14
+ import { CLOUDFLARE_COMPATIBILITY_DATE, CROSS_ENV_VERSION, EFFECT_VERSION, EFFECT_VITEST_VERSION, MODULE_FEDERATION_VERSION, NODE_VERSION, PNPM_VERSION, TANSTACK_HISTORY_VERSION } from "./versions.js";
15
+ import { createWorkspaceRootPackageScripts, createWorkspaceRootScriptPlan } from "./workspace-script-plan.js";
16
+ const WORKSPACE_VALIDATION_CONTRACT_SCHEMA_VERSION = 2;
17
+ const WORKSPACE_METADATA_SCHEMA_VERSION = 1;
18
+ const WORKSPACE_VALIDATION_CONTRACT_KIND = 'modernjs.ultramodern-workspace-validation-contract';
19
+ const modernPackageCohort = [
20
+ ULTRAMODERN_CREATE_PACKAGE,
21
+ '@modern-js/code-tools',
22
+ '@modern-js/app-tools',
23
+ '@modern-js/plugin-bff',
24
+ '@modern-js/plugin-i18n',
25
+ '@modern-js/plugin-tanstack',
26
+ '@modern-js/runtime'
27
+ ];
28
+ const asJsonRecord = (value)=>value;
29
+ function projectModuleFederationMetadata(value) {
30
+ const moduleFederation = asJsonRecord(value);
31
+ return {
32
+ ...moduleFederation,
33
+ ...Array.isArray(moduleFederation.remotes) ? {
34
+ remotes: moduleFederation.remotes.map((value)=>{
35
+ const remote = asJsonRecord(value);
36
+ return {
37
+ id: remote.id,
38
+ manifestUrl: remote.manifestUrl,
39
+ name: remote.name
40
+ };
41
+ })
42
+ } : {}
43
+ };
44
+ }
45
+ function createReferenceTopologyExpectation(scope, remotes, primaryShell) {
46
+ const topology = asJsonRecord(createTopology(scope, remotes, primaryShell));
47
+ const shell = asJsonRecord(topology.shell);
48
+ return {
49
+ ...topology,
50
+ shell: {
51
+ ...shell,
52
+ moduleFederation: projectModuleFederationMetadata(shell.moduleFederation)
53
+ },
54
+ verticals: Array.isArray(topology.verticals) ? topology.verticals.map((value)=>{
55
+ const vertical = asJsonRecord(value);
56
+ return {
57
+ ...vertical,
58
+ moduleFederation: projectModuleFederationMetadata(vertical.moduleFederation)
59
+ };
60
+ }) : topology.verticals
61
+ };
62
+ }
63
+ const validationEvidencePolicy = {
64
+ schemaVersion: 1,
65
+ required: [
66
+ {
67
+ id: "typescript-compiler",
68
+ kind: 'compiler'
69
+ },
70
+ {
71
+ id: 'architecture-compiler',
72
+ kind: 'compiler'
73
+ },
74
+ {
75
+ id: 'executable-modern-config',
76
+ kind: 'runtime'
77
+ },
78
+ {
79
+ id: 'executable-runtime-config',
80
+ kind: 'runtime'
81
+ },
82
+ {
83
+ id: 'executable-module-federation-config',
84
+ kind: 'runtime'
85
+ },
86
+ {
87
+ id: 'executable-build-facade',
88
+ kind: 'runtime'
89
+ },
90
+ {
91
+ id: 'structured-package-config',
92
+ kind: 'structured'
93
+ },
94
+ {
95
+ id: 'structured-deploy-config',
96
+ kind: 'structured'
97
+ },
98
+ {
99
+ id: 'public-behavior-gates',
100
+ kind: 'behavior'
101
+ }
102
+ ]
103
+ };
104
+ function createStructuralShellPolicy(workspaceApps) {
105
+ return {
106
+ schemaVersion: 1,
107
+ shells: workspaceApps.filter((app)=>'shell' === app.kind).map((app)=>({
108
+ id: app.id,
109
+ packageDir: app.directory,
110
+ srcDir: `${app.directory}/src`
111
+ })),
112
+ forbiddenPathClasses: [
113
+ {
114
+ id: 'shell-api-surface',
115
+ path: 'api',
116
+ diagnostic: 'A thin Shell must not own an API surface (api/); business APIs belong to a MicroVertical.'
117
+ },
118
+ {
119
+ id: 'shell-server-surface',
120
+ path: 'server',
121
+ diagnostic: 'A thin Shell must not own a server surface (server/); server capability belongs to a MicroVertical.'
122
+ },
123
+ {
124
+ id: 'shell-backend-federation',
125
+ path: 'backend-federation.config.ts',
126
+ diagnostic: 'A thin Shell must not own backend-federation artifacts; backend federation belongs to a MicroVertical delivery unit.'
127
+ }
128
+ ]
129
+ };
130
+ }
131
+ function createFederatedCompositionPolicy(scope, hosts, remotes) {
132
+ const remotesById = new Map(remotes.map((remote)=>[
133
+ remote.id,
134
+ remote
135
+ ]));
136
+ return {
137
+ schemaVersion: 1,
138
+ hosts: [
139
+ ...new Map(hosts.map((host)=>[
140
+ host.id,
141
+ host
142
+ ])).values()
143
+ ].filter((host)=>(host.verticalRefs?.length ?? 0) > 0).map((host)=>({
144
+ id: host.id,
145
+ srcDir: `${host.directory}/src`,
146
+ remotes: (host.verticalRefs ?? []).map((remoteId)=>{
147
+ const remote = remotesById.get(remoteId);
148
+ if (void 0 === remote) throw new Error(`Unknown remote vertical reference ${remoteId} for ${host.id}.`);
149
+ return {
150
+ id: remote.id,
151
+ directory: remote.directory,
152
+ packageName: packageName(scope, remote.packageSuffix)
153
+ };
154
+ })
155
+ }))
156
+ };
157
+ }
158
+ function createWorkspaceValidationContract(scope, enableTailwind, remotes = [], releaseCohort, additionalShells = [], primaryShell, compactConfigOverride, ownershipOverride, developmentOverlayOverride) {
159
+ const resolvedPrimaryShell = primaryShell ?? createShellHost(remotes);
160
+ const workspaceApps = [
161
+ resolvedPrimaryShell,
162
+ ...remotes
163
+ ];
164
+ const configuredShells = [
165
+ resolvedPrimaryShell,
166
+ ...additionalShells
167
+ ];
168
+ const compactConfig = asJsonRecord(compactConfigOverride ?? createUltramodernConfig(scope, 'workspace-validation-contract', {
169
+ strategy: 'workspace',
170
+ modernPackageVersion: 'workspace:*'
171
+ }, workspaceApps, enableTailwind, void 0, additionalShells, resolvedPrimaryShell));
172
+ const fullStackVerticals = remotes.map((remote)=>({
173
+ id: remote.id,
174
+ domain: remote.domain,
175
+ path: remote.directory,
176
+ port: remote.port,
177
+ mfName: remote.mfName,
178
+ emitsApi: appHasApi(remote),
179
+ emitsUi: appEmitsBrowserUi(remote),
180
+ surfaceProfile: remote.surfaceProfile ?? 'full-stack',
181
+ ...appHasApi(remote) ? {
182
+ stem: remote.api.stem,
183
+ group: verticalApiGroupName(remote),
184
+ apiPrefix: remote.api.prefix,
185
+ apiProtocol: resolveApiProtocol(remote),
186
+ apiContractExport: './api',
187
+ apiClientExport: 'rpc' === resolveApiProtocol(remote) ? './api/rpc-client' : './api/client',
188
+ apiContractPath: 'rpc' === resolveApiProtocol(remote) ? 'shared/rpc.ts' : 'shared/api.ts',
189
+ apiClientPath: `src/api/${resolveApiStem(remote)}-${'rpc' === resolveApiProtocol(remote) ? 'rpc-client' : 'client'}.ts`,
190
+ backendFederation: createBackendFederationMetadata(scope, remote)
191
+ } : {},
192
+ tailwindPrefix: tailwindPrefixForApp(remote),
193
+ zephyrAlias: remoteDependencyAlias(remote),
194
+ packageName: packageName(scope, remote.packageSuffix),
195
+ deliveryUnit: createDeliveryUnitRecord(scope, remote),
196
+ exposes: Object.keys(remote.exposes ?? {}),
197
+ componentPaths: Object.keys(remote.exposes ?? {}).map((expose)=>remoteComponentOutputPath(remote, expose)).filter((componentPath)=>Boolean(componentPath)),
198
+ namespace: appI18nNamespace(remote),
199
+ routePagePaths: createRouteOwnedI18nPaths(remote).filter((route)=>'/' !== route.canonicalPath).map((route)=>createRoutePageFilePath(remote, route.canonicalPath)),
200
+ routeMetaPaths: createRouteOwnedI18nPaths(remote).map((route)=>createRouteMetaFilePath(remote, route.canonicalPath)),
201
+ localisedUrls: createLocalisedUrlsMap(remote),
202
+ verticalRefs: remote.verticalRefs ?? []
203
+ }));
204
+ const additionalShellRecords = additionalShells.map((shell)=>{
205
+ const configEntry = createAdditionalShellConfigEntry(scope, shell, remotes);
206
+ return {
207
+ id: shell.id,
208
+ path: shell.directory,
209
+ packageName: packageName(scope, shell.packageSuffix),
210
+ port: shell.port,
211
+ portEnv: shell.portEnv,
212
+ mfName: shell.mfName,
213
+ tailwindPrefix: tailwindPrefixForApp(shell),
214
+ verticalRefs: shell.verticalRefs ?? [],
215
+ owner: resolveOwnerAttribution(shell.ownership),
216
+ deliveryUnit: shellDeliveryUnitBlock(scope, shell),
217
+ degradedState: {
218
+ required: (shell.verticalRefs ?? []).length > 0,
219
+ appId: shell.id,
220
+ status: 'degraded'
221
+ },
222
+ moduleFederation: configEntry.moduleFederation
223
+ };
224
+ });
225
+ return {
226
+ schemaVersion: WORKSPACE_VALIDATION_CONTRACT_SCHEMA_VERSION,
227
+ kind: WORKSPACE_VALIDATION_CONTRACT_KIND,
228
+ metadata: {
229
+ compactConfig: {
230
+ path: '.modernjs/ultramodern.json',
231
+ schemaVersion: WORKSPACE_METADATA_SCHEMA_VERSION
232
+ },
233
+ referenceTopology: {
234
+ path: 'topology/reference-topology.json',
235
+ schemaVersion: WORKSPACE_METADATA_SCHEMA_VERSION
236
+ },
237
+ ownership: {
238
+ path: 'topology/ownership.json',
239
+ schemaVersion: WORKSPACE_METADATA_SCHEMA_VERSION
240
+ },
241
+ developmentOverlay: {
242
+ path: 'topology/local-overlays/development.json',
243
+ schemaVersion: WORKSPACE_METADATA_SCHEMA_VERSION
244
+ },
245
+ ...releaseCohort ? {
246
+ releaseCohort: {
247
+ path: '.modernjs/release-cohort.json',
248
+ schemaVersion: releaseCohort.schemaVersion
249
+ }
250
+ } : {}
251
+ },
252
+ cohort: {
253
+ modernPackages: [
254
+ ...modernPackageCohort
255
+ ],
256
+ ...releaseCohort ? {
257
+ releaseCohort
258
+ } : {},
259
+ appIds: workspaceApps.map((app)=>app.id),
260
+ ...additionalShells.length > 0 ? {
261
+ additionalShellIds: additionalShells.map((app)=>app.id),
262
+ additionalShellOwnerIds: additionalShells.map((app)=>app.id),
263
+ additionalShellDeliveryUnitIds: additionalShells.map((app)=>app.id),
264
+ additionalShellDegradedStateIds: additionalShells.map((app)=>app.id),
265
+ additionalShellBuildMarkerIds: additionalShells.map((app)=>app.id)
266
+ } : {},
267
+ backendAppIds: fullStackVerticals.filter((app)=>app.emitsApi).map((app)=>app.id),
268
+ verticalIds: remotes.map((app)=>app.id),
269
+ sharedPackageIds: sharedPackages.map((sharedPackage)=>sharedPackage.id),
270
+ ownerIds: [
271
+ ...workspaceApps.map((app)=>app.id),
272
+ ...sharedPackages.map((sharedPackage)=>sharedPackage.id)
273
+ ],
274
+ packageManifests: [
275
+ {
276
+ id: 'workspace-root',
277
+ packageName: scope,
278
+ path: 'package.json',
279
+ role: 'workspace-root'
280
+ },
281
+ ...workspaceApps.map((app)=>({
282
+ id: app.id,
283
+ packageName: packageName(scope, app.packageSuffix),
284
+ path: `${app.directory}/package.json`,
285
+ role: app.kind
286
+ })),
287
+ ...sharedPackages.map((sharedPackage)=>({
288
+ id: sharedPackage.id,
289
+ packageName: packageName(scope, sharedPackage.id),
290
+ path: `${sharedPackage.directory}/package.json`,
291
+ role: 'shared-package'
292
+ }))
293
+ ],
294
+ ...additionalShells.length > 0 ? {
295
+ additionalShellManifests: additionalShells.map((app)=>({
296
+ id: app.id,
297
+ packageName: packageName(scope, app.packageSuffix),
298
+ path: `${app.directory}/package.json`,
299
+ role: 'shell'
300
+ }))
301
+ } : {}
302
+ },
303
+ topology: {
304
+ compactConfig: compactConfig.topology,
305
+ referenceTopology: createReferenceTopologyExpectation(scope, remotes, resolvedPrimaryShell),
306
+ ownership: ownershipOverride ?? createOwnership(scope, remotes),
307
+ developmentOverlay: developmentOverlayOverride ?? createDevelopmentOverlay(scope, remotes)
308
+ },
309
+ policy: {
310
+ compactConfig: {
311
+ schemaVersion: compactConfig.schemaVersion,
312
+ profile: compactConfig.profile,
313
+ workspace: compactConfig.workspace,
314
+ features: compactConfig.features,
315
+ deploy: compactConfig.deploy,
316
+ moduleFederation: compactConfig.moduleFederation,
317
+ backendFederation: compactConfig.backendFederation,
318
+ agentSkills: compactConfig.agentSkills,
319
+ tooling: compactConfig.tooling
320
+ }
321
+ },
322
+ legacy: {
323
+ retiredMetadataPaths: [
324
+ '.modernjs/ultramodern-generated-contract.json',
325
+ '.modernjs/ultramodern-package-source.json',
326
+ '.modernjs/ultramodern-workspace-template-manifest.json'
327
+ ],
328
+ forbiddenCompactConfigFields: [
329
+ 'generatedContract',
330
+ 'packageCohort',
331
+ 'workspaceValidationContract'
332
+ ],
333
+ forbiddenPackageSourceFields: [
334
+ 'generatedWorkspacePackages',
335
+ 'metadata',
336
+ 'modernPackages'
337
+ ],
338
+ forbiddenTopologyFields: [
339
+ 'effectServices',
340
+ 'remotes'
341
+ ]
342
+ },
343
+ validationEvidencePolicy: validationEvidencePolicy,
344
+ packageScope: scope,
345
+ node: {
346
+ version: NODE_VERSION,
347
+ engineRange: '>=26'
348
+ },
349
+ versions: {
350
+ cloudflareCompatibilityDate: CLOUDFLARE_COMPATIBILITY_DATE,
351
+ crossEnv: CROSS_ENV_VERSION,
352
+ effect: EFFECT_VERSION,
353
+ effectVitest: EFFECT_VITEST_VERSION,
354
+ moduleFederation: MODULE_FEDERATION_VERSION,
355
+ node: NODE_VERSION,
356
+ pnpm: PNPM_VERSION,
357
+ tanstackHistory: TANSTACK_HISTORY_VERSION
358
+ },
359
+ tailwindEnabled: enableTailwind,
360
+ structuralShellPolicy: createStructuralShellPolicy(configuredShells),
361
+ federatedCompositionPolicy: createFederatedCompositionPolicy(scope, [
362
+ ...configuredShells,
363
+ ...remotes
364
+ ], remotes),
365
+ ...additionalShellRecords.length > 0 ? {
366
+ additionalShells: additionalShellRecords
367
+ } : {},
368
+ fullStackVerticals,
369
+ shellNamespace: appI18nNamespace(shellApp),
370
+ oldRemotePaths: [
371
+ 'apps/remotes'
372
+ ],
373
+ scripts: createWorkspaceRootScriptPlan(remotes, {
374
+ shells: configuredShells
375
+ }),
376
+ packageScripts: createWorkspaceRootPackageScripts(remotes, {
377
+ shells: configuredShells
378
+ }),
379
+ cloudflareSecurity: createCloudflareSecurityContract(),
380
+ publicSurfaceManagedSourceAssetPaths: [
381
+ ...publicSurfaceManagedSourceAssetPaths
382
+ ],
383
+ shellRouteMetaPaths: createRouteOwnedI18nPaths(shellApp).map((route)=>createRouteMetaFilePath(shellApp, route.canonicalPath))
384
+ };
385
+ }
386
+ export { createWorkspaceValidationContract };
@@ -0,0 +1,105 @@
1
+ import { createApiClient, createApiServiceEntry, createBackendEffectApiExpose, createSharedApi, createShellApiClient } from "./api.js";
2
+ import { createRpcClientFile, createRpcContractFile } from "./api/rpc.js";
3
+ import { createAppEnvDts, createAppRuntimeConfig, createAppStyles, createShellFrameComponent, createTailwindConfig } from "./app-files.js";
4
+ import { createBackendFederationContractFile } from "./backend-federation.js";
5
+ import { createFederatedComponentsRegistry, createLayout, createRemoteEntry, createRemoteExposeComponent, createRemoteExposeFragmentPage, createRemotePage, createShellPage, createShellRemoteComponents, createShellWorkerRemoteComponents, remoteComponentOutputPath } from "./demo-components.js";
6
+ import { appEmitsBrowserUi, appHasApi, appI18nNamespace, createShellHost, distributedSsrExposes, distributedSsrFragmentSlug, resolveApiProtocol, resolveRemoteRefs } from "./descriptors.js";
7
+ import { writeFile, writeFileReplacing, writeJson } from "./fs-io.js";
8
+ import { createAppPublicLocaleMessages } from "./locales.js";
9
+ import { createAppModernConfig, createBackendModuleFederationConfig, createRemoteModuleFederationConfig, createShellModuleFederationConfig, createUltramodernBuildArtifactJson, createUltramodernBuildModule, createUltramodernBuildReexportModule } from "./module-federation.js";
10
+ import { createAppMfTypesTsConfig, createAppPackage, createAppTsConfig } from "./package-json.js";
11
+ import { createPublicWebAppArtifacts } from "./public-surface.js";
12
+ function writeApp(targetDir, scope, app, packageSource, enableTailwind, remotes = [], bridge, devPorts) {
13
+ const resolvedApp = 'shell' === app.kind && app.id === createShellHost(remotes).id ? createShellHost(remotes) : app;
14
+ const emitsUi = appEmitsBrowserUi(resolvedApp);
15
+ const appTailwind = enableTailwind && emitsUi;
16
+ const resolvedRemotes = 'shell' === resolvedApp.kind ? resolveRemoteRefs(resolvedApp, remotes) : remotes;
17
+ const publicWeb = createPublicWebAppArtifacts(resolvedApp);
18
+ const writeAppFile = (relativePath, content)=>{
19
+ writeFile(targetDir, `${resolvedApp.directory}/${relativePath}`, content);
20
+ };
21
+ const context = {
22
+ targetDir,
23
+ scope,
24
+ resolvedApp,
25
+ packageSource,
26
+ enableTailwind: appTailwind,
27
+ emitsUi,
28
+ remotes: resolvedRemotes,
29
+ bridge,
30
+ devPorts,
31
+ publicWeb,
32
+ writeAppFile
33
+ };
34
+ writeAppConfigFiles(context);
35
+ writeAppLocaleAndStyleFiles(context);
36
+ writeAppFederationConfigFiles(context);
37
+ writeAppRouteAndShellFiles(context);
38
+ writeAppApiAndRemoteExposeFiles(context);
39
+ }
40
+ function rewriteAppModernConfig(targetDir, scope, app, remotes, enableTailwind, devPorts) {
41
+ writeFileReplacing(targetDir, `${app.directory}/modern.config.ts`, createAppModernConfig(scope, app, remotes, enableTailwind, devPorts));
42
+ }
43
+ function writeAppConfigFiles({ targetDir, scope, resolvedApp, packageSource, enableTailwind, emitsUi, remotes, bridge, devPorts, publicWeb }) {
44
+ writeJson(targetDir, `${resolvedApp.directory}/package.json`, createAppPackage(scope, resolvedApp, packageSource, enableTailwind, remotes, bridge));
45
+ writeJson(targetDir, `${resolvedApp.directory}/tsconfig.json`, createAppTsConfig(resolvedApp, remotes));
46
+ writeJson(targetDir, `${resolvedApp.directory}/tsconfig.mf-types.json`, createAppMfTypesTsConfig(resolvedApp));
47
+ writeFile(targetDir, `${resolvedApp.directory}/src/modern-app-env.d.ts`, createAppEnvDts(resolvedApp, remotes, scope));
48
+ writeFile(targetDir, `${resolvedApp.directory}/src/ultramodern-build.ts`, createUltramodernBuildReexportModule());
49
+ writeFile(targetDir, `${resolvedApp.directory}/shared/ultramodern-build.ts`, createUltramodernBuildModule(scope, resolvedApp));
50
+ writeFile(targetDir, `${resolvedApp.directory}/shared/ultramodern-build.json`, createUltramodernBuildArtifactJson(scope, resolvedApp));
51
+ if (emitsUi) {
52
+ writeFile(targetDir, publicWeb.jsonLdHelperFile.path, publicWeb.jsonLdHelperFile.content);
53
+ writeFile(targetDir, publicWeb.routeMetadataFile.path, publicWeb.routeMetadataFile.content);
54
+ writeFile(targetDir, publicWeb.routeHeadFile.path, publicWeb.routeHeadFile.content);
55
+ }
56
+ writeFile(targetDir, `${resolvedApp.directory}/modern.config.ts`, createAppModernConfig(scope, resolvedApp, remotes, enableTailwind, devPorts));
57
+ writeFile(targetDir, `${resolvedApp.directory}/src/modern.runtime.ts`, createAppRuntimeConfig(resolvedApp, scope, remotes));
58
+ }
59
+ function writeAppLocaleAndStyleFiles({ targetDir, scope, resolvedApp, enableTailwind, emitsUi, remotes }) {
60
+ writeJson(targetDir, `${resolvedApp.directory}/locales/en/translation.json`, createAppPublicLocaleMessages(resolvedApp, 'en', remotes));
61
+ writeJson(targetDir, `${resolvedApp.directory}/locales/en/${appI18nNamespace(resolvedApp)}.json`, createAppPublicLocaleMessages(resolvedApp, 'en', remotes));
62
+ writeJson(targetDir, `${resolvedApp.directory}/locales/cs/translation.json`, createAppPublicLocaleMessages(resolvedApp, 'cs', remotes));
63
+ writeJson(targetDir, `${resolvedApp.directory}/locales/cs/${appI18nNamespace(resolvedApp)}.json`, createAppPublicLocaleMessages(resolvedApp, 'cs', remotes));
64
+ if (emitsUi) writeFile(targetDir, `${resolvedApp.directory}/src/routes/index.css`, createAppStyles(enableTailwind, scope, resolvedApp));
65
+ if (enableTailwind) writeFile(targetDir, `${resolvedApp.directory}/tailwind.config.ts`, createTailwindConfig());
66
+ }
67
+ function writeAppFederationConfigFiles({ targetDir, scope, resolvedApp, emitsUi, remotes }) {
68
+ if (emitsUi) writeFile(targetDir, `${resolvedApp.directory}/module-federation.config.ts`, 'shell' === resolvedApp.kind ? createShellModuleFederationConfig(scope, resolvedApp, remotes) : createRemoteModuleFederationConfig(scope, resolvedApp, remotes));
69
+ if (appHasApi(resolvedApp)) writeFile(targetDir, `${resolvedApp.directory}/backend-federation.config.ts`, createBackendModuleFederationConfig(resolvedApp));
70
+ }
71
+ function writeAppRouteAndShellFiles({ targetDir, scope, resolvedApp, emitsUi, remotes, publicWeb, writeAppFile }) {
72
+ if (!emitsUi) return;
73
+ if ((resolvedApp.verticalRefs?.length ?? 0) > 0) {
74
+ writeAppFile('src/federated-components.tsx', createFederatedComponentsRegistry(scope, resolvedApp, remotes));
75
+ writeAppFile('src/federated-components.worker.tsx', createFederatedComponentsRegistry(scope, resolvedApp, remotes, true));
76
+ }
77
+ writeAppFile('src/routes/layout.tsx', createLayout(resolvedApp.id));
78
+ writeAppFile('src/routes/[lang]/page.tsx', 'shell' === resolvedApp.kind ? createShellPage(resolvedApp, remotes.filter(appEmitsBrowserUi)) : createRemotePage(resolvedApp));
79
+ for (const generatedFile of publicWeb.routeMetaFiles)writeFile(targetDir, generatedFile.path, generatedFile.content);
80
+ for (const generatedFile of publicWeb.routeAliasFiles)writeFile(targetDir, generatedFile.path, generatedFile.content);
81
+ if ('shell' === resolvedApp.kind) {
82
+ writeAppFile('src/routes/vertical-components.tsx', createShellRemoteComponents(resolvedApp, remotes.filter(appEmitsBrowserUi)));
83
+ writeAppFile('src/routes/vertical-components.worker.tsx', createShellWorkerRemoteComponents(resolvedApp, remotes.filter(appEmitsBrowserUi)));
84
+ writeAppFile('src/routes/shell-frame.tsx', createShellFrameComponent(resolvedApp));
85
+ writeFile(targetDir, `${resolvedApp.directory}/src/api/vertical-clients.ts`, createShellApiClient(scope, remotes));
86
+ } else for (const expose of distributedSsrExposes(resolvedApp))writeAppFile(`src/routes/[lang]/_mf/fragment/${distributedSsrFragmentSlug(expose)}/page.tsx`, createRemoteExposeFragmentPage(resolvedApp, expose));
87
+ }
88
+ function writeAppApiAndRemoteExposeFiles({ targetDir, scope, resolvedApp, emitsUi, writeAppFile }) {
89
+ if (appHasApi(resolvedApp)) {
90
+ const rpcProtocol = 'rpc' === resolveApiProtocol(resolvedApp);
91
+ rpcProtocol ? writeFile(targetDir, `${resolvedApp.directory}/shared/rpc.ts`, createRpcContractFile(resolvedApp)) : writeFile(targetDir, `${resolvedApp.directory}/shared/api.ts`, createSharedApi(resolvedApp));
92
+ writeFile(targetDir, `${resolvedApp.directory}/api/index.ts`, createApiServiceEntry(resolvedApp, rpcProtocol ? '../shared/rpc.ts' : '../shared/api.ts'));
93
+ writeFile(targetDir, `${resolvedApp.directory}/api/backend-federation.ts`, createBackendFederationContractFile(resolvedApp));
94
+ writeFile(targetDir, `${resolvedApp.directory}/api/effect-api.ts`, createBackendEffectApiExpose(scope, resolvedApp));
95
+ rpcProtocol ? writeFile(targetDir, `${resolvedApp.directory}/src/api/${resolvedApp.api.stem}-rpc-client.ts`, createRpcClientFile(resolvedApp)) : writeFile(targetDir, `${resolvedApp.directory}/src/api/${resolvedApp.api.stem}-client.ts`, createApiClient(resolvedApp, '../../shared/api'));
96
+ }
97
+ if ('vertical' === resolvedApp.kind && emitsUi) {
98
+ writeAppFile('src/federation-entry.tsx', createRemoteEntry(resolvedApp));
99
+ for (const expose of Object.keys(resolvedApp.exposes ?? {})){
100
+ const outputPath = remoteComponentOutputPath(resolvedApp, expose);
101
+ if (outputPath) writeAppFile(outputPath.slice(resolvedApp.directory.length + 1), createRemoteExposeComponent(resolvedApp, expose));
102
+ }
103
+ }
104
+ }
105
+ export { rewriteAppModernConfig, writeApp };
@@ -0,0 +1,178 @@
1
+ import node_fs from "node:fs";
2
+ import { RELEASE_COHORT_PROJECTION_PATH, copyCreateReleaseCohort, isCreatePackageSourceCheckout, readCreateReleaseCohort } from "../ultramodern-release-cohort.js";
3
+ import { runFreshWorkspaceTransaction } from "./add-vertical/transaction.js";
4
+ import { createSharedDesignTokensCss } from "./app-files.js";
5
+ import { normalizeUltramodernBridgeConfig } from "./bridge-config.js";
6
+ import { createDevelopmentOverlay, createOwnership, createTopology, createUltramodernConfig } from "./contracts.js";
7
+ import { ULTRAMODERN_CONFIG_PATH, createShellHost, sharedPackages, shellApp } from "./descriptors.js";
8
+ import { copyRootTemplate, formatGeneratedWorkspaceFiles, writeFile, writeFileReplacing, writeJson } from "./fs-io.js";
9
+ import { createFileSnapshot, createGenerationResult, diffFileSnapshots } from "./generation-result.js";
10
+ import { assertUniqueTailwindPrefixes, toPackageScope } from "./naming.js";
11
+ import { runCodeSmithOverlays } from "./overlays.js";
12
+ import { createRootPackageJson, createRootTsConfig, createSharedContractsIndex, createSharedPackage, createSharedPackageTsConfig, createTsConfigBase } from "./package-json.js";
13
+ import { resolvePackageSource, resolveWorkspacePackageLinkingPolicy } from "./package-source.js";
14
+ import { renderMinimumReleaseAgeExclude } from "./policy.js";
15
+ import { DRIZZLE_ORM_VERSION, EFFECT_VERSION, EFFECT_VITEST_VERSION, I18NEXT_VERSION, MODULE_FEDERATION_VERSION, MSGPACKR_VERSION, NODE_FETCH_VERSION, NODE_VERSION, PNPM_VERSION, TANSTACK_HISTORY_VERSION, TANSTACK_ROUTER_CORE_VERSION, TANSTACK_ROUTER_VERSION, TYPESCRIPT_VERSION, WRANGLER_VERSION, ZOD_VERSION } from "./versions.js";
16
+ import { writeGeneratedWorkspaceScripts } from "./workspace-scripts.js";
17
+ import { writeApp } from "./write-app.js";
18
+ import { createZeropsYaml } from "./zerops.js";
19
+ function hasExplicitInstallRequest(options) {
20
+ return void 0 !== options.packageSource && 'workspace' !== options.packageSource.strategy;
21
+ }
22
+ function writeSharedPackages(targetDir, scope) {
23
+ for (const sharedPackage of sharedPackages){
24
+ writeJson(targetDir, `${sharedPackage.directory}/package.json`, createSharedPackage(scope, sharedPackage.id, sharedPackage.description));
25
+ writeJson(targetDir, `${sharedPackage.directory}/tsconfig.json`, createSharedPackageTsConfig(sharedPackage.directory));
26
+ }
27
+ writeFile(targetDir, 'packages/shared-contracts/src/index.ts', createSharedContractsIndex());
28
+ writeFile(targetDir, 'packages/shared-design-tokens/src/index.ts', `export const sharedDesignTokens = {
29
+ color: {
30
+ accent: '#2f8f68',
31
+ foreground: '#133225',
32
+ surface: '#f6fbf7',
33
+ },
34
+ } as const;
35
+ `);
36
+ writeFile(targetDir, 'packages/shared-design-tokens/src/tokens.css', createSharedDesignTokensCss());
37
+ }
38
+ function createCompactRootPackageJson(scope, packageSource, remotes, bridge) {
39
+ const rootPackage = createRootPackageJson(scope, packageSource, remotes, bridge);
40
+ if (rootPackage.modernjs?.packageSource && 'object' == typeof rootPackage.modernjs.packageSource) rootPackage.modernjs.packageSource.config = `./${ULTRAMODERN_CONFIG_PATH}`;
41
+ return rootPackage;
42
+ }
43
+ function createCompactUltramodernConfig(scope, modernVersion, packageSource, apps = [
44
+ createShellHost()
45
+ ], enableTailwind = true, bridge, additionalShells = [], primaryShell) {
46
+ const config = createUltramodernConfig(scope, modernVersion, packageSource, apps, enableTailwind, bridge, additionalShells, primaryShell);
47
+ if (config.packageSource && 'object' == typeof config.packageSource && !Array.isArray(config.packageSource)) delete config.packageSource.metadata;
48
+ return config;
49
+ }
50
+ function writePnpmWorkspacePackages(targetDir, bridge) {
51
+ if (!bridge) return;
52
+ const pnpmWorkspacePath = `${targetDir}/pnpm-workspace.yaml`;
53
+ const pnpmWorkspace = node_fs.readFileSync(pnpmWorkspacePath, 'utf-8');
54
+ const packages = [
55
+ 'apps/*',
56
+ 'verticals/*',
57
+ 'packages/*',
58
+ ...bridge.workspacePackages.map((entry)=>entry.pattern)
59
+ ];
60
+ const renderedPackages = packages.map((pattern)=>` - ${pattern}`).join('\n');
61
+ writeFileReplacing(targetDir, 'pnpm-workspace.yaml', pnpmWorkspace.replace(/^packages:\r?\n(?: {2}- .+\r?\n)+/u, `packages:\n${renderedPackages}\n`));
62
+ }
63
+ function generateUltramodernWorkspace(options) {
64
+ const result = runFreshWorkspaceTransaction(options.targetDir, (stagingRoot)=>generateUltramodernWorkspaceInPlace({
65
+ ...options,
66
+ targetDir: stagingRoot
67
+ }, options.targetDir));
68
+ return result;
69
+ }
70
+ function generateUltramodernWorkspaceInPlace(options, logicalWorkspaceRoot = options.targetDir) {
71
+ const beforeFiles = createFileSnapshot(options.targetDir);
72
+ const scope = toPackageScope(options.packageName);
73
+ let packageSource;
74
+ let releaseCohort;
75
+ if (isCreatePackageSourceCheckout()) {
76
+ if (hasExplicitInstallRequest(options)) throw new Error('A local @modern-js/ultramodern-create source checkout cannot satisfy an explicit install package source. Use workspace mode locally or run the packed published package with its authenticated release cohort projection.');
77
+ packageSource = resolvePackageSource({
78
+ ...options,
79
+ packageSource: {
80
+ strategy: 'workspace'
81
+ }
82
+ });
83
+ } else {
84
+ packageSource = resolvePackageSource(options);
85
+ if ('install' === packageSource.strategy) releaseCohort = readCreateReleaseCohort();
86
+ }
87
+ const bridge = normalizeUltramodernBridgeConfig(options.bridge);
88
+ const enableTailwind = false !== options.enableTailwind;
89
+ const initialVerticals = [];
90
+ const createdApps = [
91
+ createShellHost(initialVerticals),
92
+ ...initialVerticals
93
+ ];
94
+ assertUniqueTailwindPrefixes([
95
+ shellApp,
96
+ ...initialVerticals
97
+ ]);
98
+ node_fs.mkdirSync(options.targetDir, {
99
+ recursive: true
100
+ });
101
+ const minimumReleaseAgeExclude = renderMinimumReleaseAgeExclude({
102
+ packageSource,
103
+ releaseCohort
104
+ });
105
+ const workspacePackageLinkingPolicy = resolveWorkspacePackageLinkingPolicy(packageSource);
106
+ const excludedRootTemplates = new Set([
107
+ RELEASE_COHORT_PROJECTION_PATH
108
+ ]);
109
+ if (false === options.generateAgentFiles) {
110
+ excludedRootTemplates.add('AGENTS.md.handlebars');
111
+ excludedRootTemplates.add('CLAUDE.md.handlebars');
112
+ }
113
+ copyRootTemplate(options.targetDir, {
114
+ packageName: options.packageName,
115
+ packageScope: scope,
116
+ nodeVersion: NODE_VERSION,
117
+ pnpmVersion: PNPM_VERSION,
118
+ nodeFetchVersion: NODE_FETCH_VERSION,
119
+ drizzleOrmVersion: DRIZZLE_ORM_VERSION,
120
+ effectVersion: EFFECT_VERSION,
121
+ effectVitestVersion: EFFECT_VITEST_VERSION,
122
+ i18nextVersion: I18NEXT_VERSION,
123
+ moduleFederationVersion: MODULE_FEDERATION_VERSION,
124
+ msgpackrVersion: MSGPACKR_VERSION,
125
+ zodVersion: ZOD_VERSION,
126
+ tanstackHistoryVersion: TANSTACK_HISTORY_VERSION,
127
+ tanstackRouterCoreVersion: TANSTACK_ROUTER_CORE_VERSION,
128
+ tanstackRouterVersion: TANSTACK_ROUTER_VERSION,
129
+ typescriptVersion: TYPESCRIPT_VERSION,
130
+ wranglerVersion: WRANGLER_VERSION,
131
+ minimumReleaseAgeExcludeYaml: 0 === minimumReleaseAgeExclude.length ? ' []' : `\n${minimumReleaseAgeExclude.map((selector)=>` - '${selector}'`).join('\n')}`,
132
+ workspacePackageLinkingYaml: Object.entries(workspacePackageLinkingPolicy).map(([key, value])=>`${key}: ${String(value)}\n`).join(''),
133
+ tailwindEnabled: String(enableTailwind)
134
+ }, excludedRootTemplates);
135
+ if (releaseCohort) copyCreateReleaseCohort(options.targetDir);
136
+ writePnpmWorkspacePackages(options.targetDir, bridge);
137
+ writeJson(options.targetDir, 'package.json', createCompactRootPackageJson(scope, packageSource, initialVerticals, bridge));
138
+ if (initialVerticals.length > 0) writeFile(options.targetDir, 'zerops.yaml', `${createZeropsYaml(scope, createdApps)}\n`);
139
+ writeJson(options.targetDir, 'tsconfig.base.json', createTsConfigBase());
140
+ writeJson(options.targetDir, 'tsconfig.json', createRootTsConfig(createdApps));
141
+ writeJson(options.targetDir, 'topology/reference-topology.json', createTopology(scope, initialVerticals));
142
+ writeJson(options.targetDir, 'topology/ownership.json', createOwnership(scope, initialVerticals));
143
+ writeJson(options.targetDir, 'topology/local-overlays/development.json', createDevelopmentOverlay(scope, initialVerticals));
144
+ writeJson(options.targetDir, ULTRAMODERN_CONFIG_PATH, createCompactUltramodernConfig(scope, options.modernVersion, packageSource, createdApps, enableTailwind, bridge));
145
+ writeApp(options.targetDir, scope, shellApp, packageSource, enableTailwind, initialVerticals, bridge);
146
+ for (const remote of initialVerticals)writeApp(options.targetDir, scope, remote, packageSource, enableTailwind, initialVerticals, bridge);
147
+ writeSharedPackages(options.targetDir, scope);
148
+ writeGeneratedWorkspaceScripts(options.targetDir, scope, enableTailwind, initialVerticals, releaseCohort);
149
+ const preliminaryAfterFiles = createFileSnapshot(options.targetDir);
150
+ const preliminaryDiff = diffFileSnapshots(beforeFiles, preliminaryAfterFiles);
151
+ const preliminaryResult = createGenerationResult({
152
+ operation: 'workspace',
153
+ workspaceRoot: logicalWorkspaceRoot,
154
+ packageScope: scope,
155
+ packageSource,
156
+ createdApps,
157
+ createdPaths: preliminaryDiff.createdPaths,
158
+ rewrittenPaths: preliminaryDiff.rewrittenPaths
159
+ });
160
+ runCodeSmithOverlays({
161
+ workspaceRoot: options.targetDir,
162
+ overlays: options.overlays,
163
+ result: preliminaryResult
164
+ });
165
+ formatGeneratedWorkspaceFiles(options.targetDir);
166
+ const afterFiles = createFileSnapshot(options.targetDir);
167
+ const { createdPaths, rewrittenPaths } = diffFileSnapshots(beforeFiles, afterFiles);
168
+ return createGenerationResult({
169
+ operation: 'workspace',
170
+ workspaceRoot: logicalWorkspaceRoot,
171
+ packageScope: scope,
172
+ packageSource,
173
+ createdApps,
174
+ createdPaths,
175
+ rewrittenPaths
176
+ });
177
+ }
178
+ export { createCompactUltramodernConfig, generateUltramodernWorkspace, writeApp };