@bleedingdev/modern-js-create 3.5.0-ultramodern.3 → 3.5.0-ultramodern.31

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 (461) hide show
  1. package/README.md +21 -17
  2. package/dist/cjs/cli/flags.cjs +326 -0
  3. package/dist/cjs/cli/help.cjs +106 -0
  4. package/dist/cjs/cli/package-source.cjs +186 -0
  5. package/dist/cjs/cli/project-setup.cjs +138 -0
  6. package/dist/cjs/cli/prompts.cjs +118 -0
  7. package/dist/cjs/index.cjs +24 -581
  8. package/dist/cjs/ultramodern-tooling/commands/cloudflare-output-verify.cjs +132 -0
  9. package/dist/cjs/ultramodern-tooling/commands/context.cjs +131 -0
  10. package/dist/cjs/ultramodern-tooling/commands/mf-types.cjs +55 -0
  11. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.cjs +158 -0
  12. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.cjs +49 -0
  13. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.cjs +87 -0
  14. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.cjs +58 -0
  15. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.cjs +62 -0
  16. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.cjs +60 -0
  17. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.cjs +132 -0
  18. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.cjs +67 -0
  19. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.cjs +93 -0
  20. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.cjs +60 -0
  21. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.cjs +67 -0
  22. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.cjs +67 -0
  23. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/help.cjs +54 -0
  24. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/install.cjs +52 -0
  25. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/io.cjs +133 -0
  26. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.cjs +219 -0
  27. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-source.cjs +76 -0
  28. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.cjs +131 -0
  29. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.cjs +161 -0
  30. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.cjs +88 -0
  31. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect.cjs +149 -0
  32. package/dist/cjs/ultramodern-tooling/commands/options.cjs +59 -0
  33. package/dist/cjs/ultramodern-tooling/commands/routes-generate.cjs +122 -0
  34. package/dist/cjs/ultramodern-tooling/commands/skills.cjs +49 -0
  35. package/dist/cjs/ultramodern-tooling/commands/sync-delivery-unit.cjs +40 -0
  36. package/dist/cjs/ultramodern-tooling/commands/validate.cjs +49 -0
  37. package/dist/cjs/ultramodern-tooling/commands.cjs +27 -478
  38. package/dist/cjs/ultramodern-tooling/config/constants.cjs +48 -0
  39. package/dist/cjs/ultramodern-tooling/config/index.cjs +104 -0
  40. package/dist/cjs/ultramodern-tooling/config/json.cjs +61 -0
  41. package/dist/cjs/ultramodern-tooling/config/load.cjs +62 -0
  42. package/dist/cjs/ultramodern-tooling/config/metadata.cjs +92 -0
  43. package/dist/cjs/ultramodern-tooling/config/normalize.cjs +160 -0
  44. package/dist/cjs/ultramodern-tooling/config/synthesize.cjs +157 -0
  45. package/dist/cjs/ultramodern-tooling/config/types.cjs +18 -0
  46. package/dist/cjs/ultramodern-tooling/config.cjs +23 -133
  47. package/dist/cjs/ultramodern-workspace/add-vertical/constants.cjs +52 -0
  48. package/dist/cjs/ultramodern-workspace/add-vertical/execute.cjs +156 -0
  49. package/dist/cjs/ultramodern-workspace/add-vertical/plan.cjs +246 -0
  50. package/dist/cjs/ultramodern-workspace/add-vertical/preflight.cjs +198 -0
  51. package/dist/cjs/ultramodern-workspace/add-vertical/shell-files.cjs +116 -0
  52. package/dist/cjs/ultramodern-workspace/add-vertical/topology.cjs +133 -0
  53. package/dist/cjs/ultramodern-workspace/add-vertical/workspace-state.cjs +107 -0
  54. package/dist/cjs/ultramodern-workspace/add-vertical.cjs +22 -571
  55. package/dist/cjs/ultramodern-workspace/api/checkout-cart.cjs +145 -0
  56. package/dist/cjs/ultramodern-workspace/api/client.cjs +218 -0
  57. package/dist/cjs/ultramodern-workspace/api/contracts.cjs +222 -0
  58. package/dist/cjs/ultramodern-workspace/api/names.cjs +98 -0
  59. package/dist/cjs/ultramodern-workspace/api/service.cjs +220 -0
  60. package/dist/cjs/ultramodern-workspace/api/shared.cjs +252 -0
  61. package/dist/cjs/ultramodern-workspace/api.cjs +29 -1004
  62. package/dist/cjs/ultramodern-workspace/app-files.cjs +11 -29
  63. package/dist/cjs/ultramodern-workspace/backend-federation.cjs +296 -0
  64. package/dist/cjs/ultramodern-workspace/bridge-config/cli.cjs +71 -0
  65. package/dist/cjs/ultramodern-workspace/bridge-config/defaults.cjs +43 -0
  66. package/dist/cjs/ultramodern-workspace/bridge-config/gates.cjs +93 -0
  67. package/dist/cjs/ultramodern-workspace/bridge-config/index.cjs +60 -0
  68. package/dist/cjs/ultramodern-workspace/bridge-config/normalize.cjs +68 -0
  69. package/dist/cjs/ultramodern-workspace/bridge-config/schema.cjs +78 -0
  70. package/dist/cjs/ultramodern-workspace/bridge-config/shared.cjs +110 -0
  71. package/dist/cjs/ultramodern-workspace/bridge-config/validation.cjs +68 -0
  72. package/dist/cjs/ultramodern-workspace/bridge-config/workspace-packages.cjs +108 -0
  73. package/dist/cjs/ultramodern-workspace/bridge-config.cjs +32 -297
  74. package/dist/cjs/ultramodern-workspace/contracts.cjs +24 -8
  75. package/dist/cjs/ultramodern-workspace/delivery-unit-sync.cjs +159 -0
  76. package/dist/cjs/ultramodern-workspace/delivery-unit.cjs +75 -0
  77. package/dist/cjs/ultramodern-workspace/demo-components.cjs +47 -189
  78. package/dist/cjs/ultramodern-workspace/descriptors.cjs +36 -1
  79. package/dist/cjs/ultramodern-workspace/effect-diagnostics.cjs +114 -0
  80. package/dist/cjs/ultramodern-workspace/fs-io.cjs +24 -2
  81. package/dist/cjs/ultramodern-workspace/index.cjs +4 -0
  82. package/dist/cjs/ultramodern-workspace/mf-validation/constants.cjs +69 -0
  83. package/dist/cjs/ultramodern-workspace/mf-validation/discovery.cjs +77 -0
  84. package/dist/cjs/ultramodern-workspace/mf-validation/inspect.cjs +92 -0
  85. package/dist/cjs/ultramodern-workspace/mf-validation/object-literal.cjs +203 -0
  86. package/dist/cjs/ultramodern-workspace/mf-validation/path-utils.cjs +171 -0
  87. package/dist/cjs/ultramodern-workspace/mf-validation/syntax.cjs +228 -0
  88. package/dist/cjs/ultramodern-workspace/mf-validation/types.cjs +18 -0
  89. package/dist/cjs/ultramodern-workspace/mf-validation/validate.cjs +112 -0
  90. package/dist/cjs/ultramodern-workspace/mf-validation.cjs +6 -529
  91. package/dist/cjs/ultramodern-workspace/module-federation/config.cjs +251 -0
  92. package/dist/cjs/ultramodern-workspace/module-federation/index.cjs +73 -0
  93. package/dist/cjs/ultramodern-workspace/module-federation/reexport-module.cjs +73 -0
  94. package/dist/cjs/ultramodern-workspace/module-federation/remote-refs.cjs +105 -0
  95. package/dist/cjs/ultramodern-workspace/module-federation/shared-config.cjs +53 -0
  96. package/dist/cjs/ultramodern-workspace/module-federation.cjs +18 -477
  97. package/dist/cjs/ultramodern-workspace/package-json.cjs +25 -258
  98. package/dist/cjs/ultramodern-workspace/pnpm-workspace-policy-plan.cjs +166 -0
  99. package/dist/cjs/ultramodern-workspace/routes.cjs +8 -142
  100. package/dist/cjs/ultramodern-workspace/shared-patches.cjs +44 -0
  101. package/dist/cjs/ultramodern-workspace/tooling-command-catalog.cjs +153 -0
  102. package/dist/cjs/ultramodern-workspace/tsconfigs.cjs +199 -0
  103. package/dist/cjs/ultramodern-workspace/versions.cjs +8 -3
  104. package/dist/cjs/ultramodern-workspace/workspace-script-plan.cjs +175 -0
  105. package/dist/cjs/ultramodern-workspace/workspace-scripts.cjs +104 -63
  106. package/dist/cjs/ultramodern-workspace/workspace-validation-contract.cjs +97 -0
  107. package/dist/cjs/ultramodern-workspace/write-app.cjs +128 -0
  108. package/dist/cjs/ultramodern-workspace/write-workspace.cjs +10 -59
  109. package/dist/cjs/ultramodern-workspace/zerops.cjs +103 -0
  110. package/dist/esm/cli/flags.js +228 -0
  111. package/dist/esm/cli/help.js +65 -0
  112. package/dist/esm/cli/package-source.js +119 -0
  113. package/dist/esm/cli/project-setup.js +81 -0
  114. package/dist/esm/cli/prompts.js +63 -0
  115. package/dist/esm/index.js +6 -559
  116. package/dist/esm/ultramodern-tooling/commands/cloudflare-output-verify.js +84 -0
  117. package/dist/esm/ultramodern-tooling/commands/context.js +66 -0
  118. package/dist/esm/ultramodern-tooling/commands/mf-types.js +17 -0
  119. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +106 -0
  120. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +11 -0
  121. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +38 -0
  122. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +10 -0
  123. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +14 -0
  124. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +12 -0
  125. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +83 -0
  126. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +16 -0
  127. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +44 -0
  128. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +12 -0
  129. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +7 -0
  130. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +15 -0
  131. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/help.js +16 -0
  132. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/install.js +14 -0
  133. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/io.js +69 -0
  134. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +175 -0
  135. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +38 -0
  136. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +76 -0
  137. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +105 -0
  138. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +16 -0
  139. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect.js +100 -0
  140. package/dist/esm/ultramodern-tooling/commands/options.js +18 -0
  141. package/dist/esm/ultramodern-tooling/commands/routes-generate.js +74 -0
  142. package/dist/esm/ultramodern-tooling/commands/skills.js +11 -0
  143. package/dist/esm/ultramodern-tooling/commands/sync-delivery-unit.js +1 -0
  144. package/dist/esm/ultramodern-tooling/commands/validate.js +11 -0
  145. package/dist/esm/ultramodern-tooling/commands.js +22 -468
  146. package/dist/esm/ultramodern-tooling/config/constants.js +4 -0
  147. package/dist/esm/ultramodern-tooling/config/index.js +7 -0
  148. package/dist/esm/ultramodern-tooling/config/json.js +10 -0
  149. package/dist/esm/ultramodern-tooling/config/load.js +13 -0
  150. package/dist/esm/ultramodern-tooling/config/metadata.js +37 -0
  151. package/dist/esm/ultramodern-tooling/config/normalize.js +106 -0
  152. package/dist/esm/ultramodern-tooling/config/synthesize.js +108 -0
  153. package/dist/esm/ultramodern-tooling/config/types.js +0 -0
  154. package/dist/esm/ultramodern-tooling/config.js +1 -120
  155. package/dist/esm/ultramodern-workspace/add-vertical/constants.js +5 -0
  156. package/dist/esm/ultramodern-workspace/add-vertical/execute.js +108 -0
  157. package/dist/esm/ultramodern-workspace/add-vertical/plan.js +184 -0
  158. package/dist/esm/ultramodern-workspace/add-vertical/preflight.js +122 -0
  159. package/dist/esm/ultramodern-workspace/add-vertical/shell-files.js +59 -0
  160. package/dist/esm/ultramodern-workspace/add-vertical/topology.js +89 -0
  161. package/dist/esm/ultramodern-workspace/add-vertical/workspace-state.js +43 -0
  162. package/dist/esm/ultramodern-workspace/add-vertical.js +6 -544
  163. package/dist/esm/ultramodern-workspace/api/checkout-cart.js +86 -0
  164. package/dist/esm/ultramodern-workspace/api/client.js +177 -0
  165. package/dist/esm/ultramodern-workspace/api/contracts.js +172 -0
  166. package/dist/esm/ultramodern-workspace/api/names.js +33 -0
  167. package/dist/esm/ultramodern-workspace/api/service.js +179 -0
  168. package/dist/esm/ultramodern-workspace/api/shared.js +208 -0
  169. package/dist/esm/ultramodern-workspace/api.js +5 -984
  170. package/dist/esm/ultramodern-workspace/app-files.js +11 -29
  171. package/dist/esm/ultramodern-workspace/backend-federation.js +231 -0
  172. package/dist/esm/ultramodern-workspace/bridge-config/cli.js +30 -0
  173. package/dist/esm/ultramodern-workspace/bridge-config/defaults.js +5 -0
  174. package/dist/esm/ultramodern-workspace/bridge-config/gates.js +52 -0
  175. package/dist/esm/ultramodern-workspace/bridge-config/index.js +3 -0
  176. package/dist/esm/ultramodern-workspace/bridge-config/normalize.js +30 -0
  177. package/dist/esm/ultramodern-workspace/bridge-config/schema.js +31 -0
  178. package/dist/esm/ultramodern-workspace/bridge-config/shared.js +51 -0
  179. package/dist/esm/ultramodern-workspace/bridge-config/validation.js +27 -0
  180. package/dist/esm/ultramodern-workspace/bridge-config/workspace-packages.js +67 -0
  181. package/dist/esm/ultramodern-workspace/bridge-config.js +1 -270
  182. package/dist/esm/ultramodern-workspace/contracts.js +24 -8
  183. package/dist/esm/ultramodern-workspace/delivery-unit-sync.js +110 -0
  184. package/dist/esm/ultramodern-workspace/delivery-unit.js +21 -0
  185. package/dist/esm/ultramodern-workspace/demo-components.js +47 -189
  186. package/dist/esm/ultramodern-workspace/descriptors.js +25 -2
  187. package/dist/esm/ultramodern-workspace/effect-diagnostics.js +76 -0
  188. package/dist/esm/ultramodern-workspace/fs-io.js +24 -2
  189. package/dist/esm/ultramodern-workspace/index.js +1 -0
  190. package/dist/esm/ultramodern-workspace/mf-validation/constants.js +19 -0
  191. package/dist/esm/ultramodern-workspace/mf-validation/discovery.js +28 -0
  192. package/dist/esm/ultramodern-workspace/mf-validation/inspect.js +45 -0
  193. package/dist/esm/ultramodern-workspace/mf-validation/object-literal.js +144 -0
  194. package/dist/esm/ultramodern-workspace/mf-validation/path-utils.js +89 -0
  195. package/dist/esm/ultramodern-workspace/mf-validation/syntax.js +154 -0
  196. package/dist/esm/ultramodern-workspace/mf-validation/types.js +0 -0
  197. package/dist/esm/ultramodern-workspace/mf-validation/validate.js +57 -0
  198. package/dist/esm/ultramodern-workspace/mf-validation.js +3 -516
  199. package/dist/esm/ultramodern-workspace/module-federation/config.js +204 -0
  200. package/dist/esm/ultramodern-workspace/module-federation/index.js +4 -0
  201. package/dist/esm/ultramodern-workspace/module-federation/reexport-module.js +29 -0
  202. package/dist/esm/ultramodern-workspace/module-federation/remote-refs.js +64 -0
  203. package/dist/esm/ultramodern-workspace/module-federation/shared-config.js +12 -0
  204. package/dist/esm/ultramodern-workspace/module-federation.js +2 -458
  205. package/dist/esm/ultramodern-workspace/package-json.js +18 -245
  206. package/dist/esm/ultramodern-workspace/pnpm-workspace-policy-plan.js +113 -0
  207. package/dist/esm/ultramodern-workspace/routes.js +8 -142
  208. package/dist/esm/ultramodern-workspace/shared-patches.js +6 -0
  209. package/dist/esm/ultramodern-workspace/tooling-command-catalog.js +100 -0
  210. package/dist/esm/ultramodern-workspace/tsconfigs.js +136 -0
  211. package/dist/esm/ultramodern-workspace/versions.js +6 -4
  212. package/dist/esm/ultramodern-workspace/workspace-script-plan.js +110 -0
  213. package/dist/esm/ultramodern-workspace/workspace-scripts.js +88 -65
  214. package/dist/esm/ultramodern-workspace/workspace-validation-contract.js +59 -0
  215. package/dist/esm/ultramodern-workspace/write-app.js +90 -0
  216. package/dist/esm/ultramodern-workspace/write-workspace.js +11 -60
  217. package/dist/esm/ultramodern-workspace/zerops.js +65 -0
  218. package/dist/esm-node/cli/flags.js +229 -0
  219. package/dist/esm-node/cli/help.js +66 -0
  220. package/dist/esm-node/cli/package-source.js +120 -0
  221. package/dist/esm-node/cli/project-setup.js +82 -0
  222. package/dist/esm-node/cli/prompts.js +64 -0
  223. package/dist/esm-node/index.js +6 -559
  224. package/dist/esm-node/ultramodern-tooling/commands/cloudflare-output-verify.js +85 -0
  225. package/dist/esm-node/ultramodern-tooling/commands/context.js +67 -0
  226. package/dist/esm-node/ultramodern-tooling/commands/mf-types.js +18 -0
  227. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +107 -0
  228. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +12 -0
  229. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +39 -0
  230. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +11 -0
  231. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +15 -0
  232. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +13 -0
  233. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +84 -0
  234. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +17 -0
  235. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +45 -0
  236. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +13 -0
  237. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +8 -0
  238. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +16 -0
  239. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/help.js +17 -0
  240. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/install.js +15 -0
  241. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/io.js +70 -0
  242. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +176 -0
  243. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +39 -0
  244. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +77 -0
  245. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +106 -0
  246. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +17 -0
  247. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect.js +101 -0
  248. package/dist/esm-node/ultramodern-tooling/commands/options.js +19 -0
  249. package/dist/esm-node/ultramodern-tooling/commands/routes-generate.js +75 -0
  250. package/dist/esm-node/ultramodern-tooling/commands/skills.js +12 -0
  251. package/dist/esm-node/ultramodern-tooling/commands/sync-delivery-unit.js +2 -0
  252. package/dist/esm-node/ultramodern-tooling/commands/validate.js +12 -0
  253. package/dist/esm-node/ultramodern-tooling/commands.js +22 -468
  254. package/dist/esm-node/ultramodern-tooling/config/constants.js +5 -0
  255. package/dist/esm-node/ultramodern-tooling/config/index.js +8 -0
  256. package/dist/esm-node/ultramodern-tooling/config/json.js +11 -0
  257. package/dist/esm-node/ultramodern-tooling/config/load.js +14 -0
  258. package/dist/esm-node/ultramodern-tooling/config/metadata.js +38 -0
  259. package/dist/esm-node/ultramodern-tooling/config/normalize.js +107 -0
  260. package/dist/esm-node/ultramodern-tooling/config/synthesize.js +109 -0
  261. package/dist/esm-node/ultramodern-tooling/config/types.js +1 -0
  262. package/dist/esm-node/ultramodern-tooling/config.js +1 -120
  263. package/dist/esm-node/ultramodern-workspace/add-vertical/constants.js +6 -0
  264. package/dist/esm-node/ultramodern-workspace/add-vertical/execute.js +109 -0
  265. package/dist/esm-node/ultramodern-workspace/add-vertical/plan.js +185 -0
  266. package/dist/esm-node/ultramodern-workspace/add-vertical/preflight.js +123 -0
  267. package/dist/esm-node/ultramodern-workspace/add-vertical/shell-files.js +60 -0
  268. package/dist/esm-node/ultramodern-workspace/add-vertical/topology.js +90 -0
  269. package/dist/esm-node/ultramodern-workspace/add-vertical/workspace-state.js +44 -0
  270. package/dist/esm-node/ultramodern-workspace/add-vertical.js +6 -544
  271. package/dist/esm-node/ultramodern-workspace/api/checkout-cart.js +87 -0
  272. package/dist/esm-node/ultramodern-workspace/api/client.js +178 -0
  273. package/dist/esm-node/ultramodern-workspace/api/contracts.js +173 -0
  274. package/dist/esm-node/ultramodern-workspace/api/names.js +34 -0
  275. package/dist/esm-node/ultramodern-workspace/api/service.js +180 -0
  276. package/dist/esm-node/ultramodern-workspace/api/shared.js +209 -0
  277. package/dist/esm-node/ultramodern-workspace/api.js +5 -984
  278. package/dist/esm-node/ultramodern-workspace/app-files.js +11 -29
  279. package/dist/esm-node/ultramodern-workspace/backend-federation.js +232 -0
  280. package/dist/esm-node/ultramodern-workspace/bridge-config/cli.js +31 -0
  281. package/dist/esm-node/ultramodern-workspace/bridge-config/defaults.js +6 -0
  282. package/dist/esm-node/ultramodern-workspace/bridge-config/gates.js +53 -0
  283. package/dist/esm-node/ultramodern-workspace/bridge-config/index.js +4 -0
  284. package/dist/esm-node/ultramodern-workspace/bridge-config/normalize.js +31 -0
  285. package/dist/esm-node/ultramodern-workspace/bridge-config/schema.js +32 -0
  286. package/dist/esm-node/ultramodern-workspace/bridge-config/shared.js +52 -0
  287. package/dist/esm-node/ultramodern-workspace/bridge-config/validation.js +28 -0
  288. package/dist/esm-node/ultramodern-workspace/bridge-config/workspace-packages.js +68 -0
  289. package/dist/esm-node/ultramodern-workspace/bridge-config.js +1 -270
  290. package/dist/esm-node/ultramodern-workspace/contracts.js +24 -8
  291. package/dist/esm-node/ultramodern-workspace/delivery-unit-sync.js +111 -0
  292. package/dist/esm-node/ultramodern-workspace/delivery-unit.js +22 -0
  293. package/dist/esm-node/ultramodern-workspace/demo-components.js +47 -189
  294. package/dist/esm-node/ultramodern-workspace/descriptors.js +25 -2
  295. package/dist/esm-node/ultramodern-workspace/effect-diagnostics.js +77 -0
  296. package/dist/esm-node/ultramodern-workspace/fs-io.js +24 -2
  297. package/dist/esm-node/ultramodern-workspace/index.js +1 -0
  298. package/dist/esm-node/ultramodern-workspace/mf-validation/constants.js +20 -0
  299. package/dist/esm-node/ultramodern-workspace/mf-validation/discovery.js +29 -0
  300. package/dist/esm-node/ultramodern-workspace/mf-validation/inspect.js +46 -0
  301. package/dist/esm-node/ultramodern-workspace/mf-validation/object-literal.js +145 -0
  302. package/dist/esm-node/ultramodern-workspace/mf-validation/path-utils.js +90 -0
  303. package/dist/esm-node/ultramodern-workspace/mf-validation/syntax.js +155 -0
  304. package/dist/esm-node/ultramodern-workspace/mf-validation/types.js +1 -0
  305. package/dist/esm-node/ultramodern-workspace/mf-validation/validate.js +58 -0
  306. package/dist/esm-node/ultramodern-workspace/mf-validation.js +3 -516
  307. package/dist/esm-node/ultramodern-workspace/module-federation/config.js +205 -0
  308. package/dist/esm-node/ultramodern-workspace/module-federation/index.js +5 -0
  309. package/dist/esm-node/ultramodern-workspace/module-federation/reexport-module.js +30 -0
  310. package/dist/esm-node/ultramodern-workspace/module-federation/remote-refs.js +65 -0
  311. package/dist/esm-node/ultramodern-workspace/module-federation/shared-config.js +13 -0
  312. package/dist/esm-node/ultramodern-workspace/module-federation.js +2 -458
  313. package/dist/esm-node/ultramodern-workspace/package-json.js +18 -245
  314. package/dist/esm-node/ultramodern-workspace/pnpm-workspace-policy-plan.js +114 -0
  315. package/dist/esm-node/ultramodern-workspace/routes.js +8 -142
  316. package/dist/esm-node/ultramodern-workspace/shared-patches.js +7 -0
  317. package/dist/esm-node/ultramodern-workspace/tooling-command-catalog.js +101 -0
  318. package/dist/esm-node/ultramodern-workspace/tsconfigs.js +137 -0
  319. package/dist/esm-node/ultramodern-workspace/versions.js +6 -4
  320. package/dist/esm-node/ultramodern-workspace/workspace-script-plan.js +111 -0
  321. package/dist/esm-node/ultramodern-workspace/workspace-scripts.js +88 -65
  322. package/dist/esm-node/ultramodern-workspace/workspace-validation-contract.js +60 -0
  323. package/dist/esm-node/ultramodern-workspace/write-app.js +91 -0
  324. package/dist/esm-node/ultramodern-workspace/write-workspace.js +11 -60
  325. package/dist/esm-node/ultramodern-workspace/zerops.js +66 -0
  326. package/dist/types/cli/flags.d.ts +30 -0
  327. package/dist/types/cli/help.d.ts +2 -0
  328. package/dist/types/cli/package-source.d.ts +15 -0
  329. package/dist/types/cli/project-setup.d.ts +8 -0
  330. package/dist/types/cli/prompts.d.ts +6 -0
  331. package/dist/types/ultramodern-tooling/commands/cloudflare-output-verify.d.ts +2 -0
  332. package/dist/types/ultramodern-tooling/commands/context.d.ts +11 -0
  333. package/dist/types/ultramodern-tooling/commands/mf-types.d.ts +2 -0
  334. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.d.ts +4 -0
  335. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.d.ts +4 -0
  336. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.d.ts +1 -0
  337. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.d.ts +3 -0
  338. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.d.ts +3 -0
  339. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.d.ts +3 -0
  340. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.d.ts +2 -0
  341. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.d.ts +4 -0
  342. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.d.ts +3 -0
  343. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.d.ts +3 -0
  344. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.d.ts +7 -0
  345. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.d.ts +3 -0
  346. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/help.d.ts +1 -0
  347. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/install.d.ts +2 -0
  348. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/io.d.ts +14 -0
  349. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.d.ts +9 -0
  350. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-source.d.ts +3 -0
  351. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.d.ts +4 -0
  352. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.d.ts +25 -0
  353. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.d.ts +9 -0
  354. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect.d.ts +2 -0
  355. package/dist/types/ultramodern-tooling/commands/options.d.ts +2 -0
  356. package/dist/types/ultramodern-tooling/commands/routes-generate.d.ts +2 -0
  357. package/dist/types/ultramodern-tooling/commands/skills.d.ts +2 -0
  358. package/dist/types/ultramodern-tooling/commands/sync-delivery-unit.d.ts +1 -0
  359. package/dist/types/ultramodern-tooling/commands/validate.d.ts +2 -0
  360. package/dist/types/ultramodern-tooling/config/constants.d.ts +3 -0
  361. package/dist/types/ultramodern-tooling/config/index.d.ts +7 -0
  362. package/dist/types/ultramodern-tooling/config/json.d.ts +2 -0
  363. package/dist/types/ultramodern-tooling/config/load.d.ts +2 -0
  364. package/dist/types/ultramodern-tooling/config/metadata.d.ts +4 -0
  365. package/dist/types/ultramodern-tooling/config/normalize.d.ts +5 -0
  366. package/dist/types/ultramodern-tooling/config/synthesize.d.ts +5 -0
  367. package/dist/types/ultramodern-tooling/config/types.d.ts +41 -0
  368. package/dist/types/ultramodern-tooling/config.d.ts +1 -43
  369. package/dist/types/ultramodern-workspace/add-vertical/constants.d.ts +4 -0
  370. package/dist/types/ultramodern-workspace/add-vertical/execute.d.ts +2 -0
  371. package/dist/types/ultramodern-workspace/add-vertical/plan.d.ts +7 -0
  372. package/dist/types/ultramodern-workspace/add-vertical/preflight.d.ts +28 -0
  373. package/dist/types/ultramodern-workspace/add-vertical/shell-files.d.ts +6 -0
  374. package/dist/types/ultramodern-workspace/add-vertical/topology.d.ts +9 -0
  375. package/dist/types/ultramodern-workspace/add-vertical/workspace-state.d.ts +8 -0
  376. package/dist/types/ultramodern-workspace/add-vertical.d.ts +7 -39
  377. package/dist/types/ultramodern-workspace/api/checkout-cart.d.ts +33 -0
  378. package/dist/types/ultramodern-workspace/api/client.d.ts +6 -0
  379. package/dist/types/ultramodern-workspace/api/contracts.d.ts +15 -0
  380. package/dist/types/ultramodern-workspace/api/names.d.ts +41 -0
  381. package/dist/types/ultramodern-workspace/api/service.d.ts +6 -0
  382. package/dist/types/ultramodern-workspace/api/shared.d.ts +10 -0
  383. package/dist/types/ultramodern-workspace/api.d.ts +5 -73
  384. package/dist/types/ultramodern-workspace/backend-federation.d.ts +11 -0
  385. package/dist/types/ultramodern-workspace/bridge-config/cli.d.ts +3 -0
  386. package/dist/types/ultramodern-workspace/bridge-config/defaults.d.ts +1 -0
  387. package/dist/types/ultramodern-workspace/bridge-config/gates.d.ts +3 -0
  388. package/dist/types/ultramodern-workspace/bridge-config/index.d.ts +4 -0
  389. package/dist/types/ultramodern-workspace/bridge-config/normalize.d.ts +2 -0
  390. package/dist/types/ultramodern-workspace/bridge-config/schema.d.ts +61 -0
  391. package/dist/types/ultramodern-workspace/bridge-config/shared.d.ts +12 -0
  392. package/dist/types/ultramodern-workspace/bridge-config/validation.d.ts +3 -0
  393. package/dist/types/ultramodern-workspace/bridge-config/workspace-packages.d.ts +3 -0
  394. package/dist/types/ultramodern-workspace/bridge-config.d.ts +1 -64
  395. package/dist/types/ultramodern-workspace/contracts.d.ts +1 -1
  396. package/dist/types/ultramodern-workspace/delivery-unit-sync.d.ts +6 -0
  397. package/dist/types/ultramodern-workspace/delivery-unit.d.ts +8 -0
  398. package/dist/types/ultramodern-workspace/descriptors.d.ts +4 -0
  399. package/dist/types/ultramodern-workspace/effect-diagnostics.d.ts +1 -0
  400. package/dist/types/ultramodern-workspace/index.d.ts +1 -0
  401. package/dist/types/ultramodern-workspace/mf-validation/constants.d.ts +5 -0
  402. package/dist/types/ultramodern-workspace/mf-validation/discovery.d.ts +2 -0
  403. package/dist/types/ultramodern-workspace/mf-validation/inspect.d.ts +5 -0
  404. package/dist/types/ultramodern-workspace/mf-validation/object-literal.d.ts +9 -0
  405. package/dist/types/ultramodern-workspace/mf-validation/path-utils.d.ts +13 -0
  406. package/dist/types/ultramodern-workspace/mf-validation/syntax.d.ts +14 -0
  407. package/dist/types/ultramodern-workspace/mf-validation/types.d.ts +33 -0
  408. package/dist/types/ultramodern-workspace/mf-validation/validate.d.ts +4 -0
  409. package/dist/types/ultramodern-workspace/mf-validation.d.ts +4 -27
  410. package/dist/types/ultramodern-workspace/module-federation/config.d.ts +5 -0
  411. package/dist/types/ultramodern-workspace/module-federation/index.d.ts +4 -0
  412. package/dist/types/ultramodern-workspace/module-federation/reexport-module.d.ts +4 -0
  413. package/dist/types/ultramodern-workspace/module-federation/remote-refs.d.ts +3 -0
  414. package/dist/types/ultramodern-workspace/module-federation/shared-config.d.ts +2 -0
  415. package/dist/types/ultramodern-workspace/module-federation.d.ts +2 -17
  416. package/dist/types/ultramodern-workspace/package-json.d.ts +1 -14
  417. package/dist/types/ultramodern-workspace/pnpm-workspace-policy-plan.d.ts +39 -0
  418. package/dist/types/ultramodern-workspace/shared-patches.d.ts +2 -0
  419. package/dist/types/ultramodern-workspace/tooling-command-catalog.d.ts +18 -0
  420. package/dist/types/ultramodern-workspace/tsconfigs.d.ts +13 -0
  421. package/dist/types/ultramodern-workspace/versions.d.ts +5 -3
  422. package/dist/types/ultramodern-workspace/workspace-script-plan.d.ts +72 -0
  423. package/dist/types/ultramodern-workspace/workspace-scripts.d.ts +13 -0
  424. package/dist/types/ultramodern-workspace/workspace-validation-contract.d.ts +42 -0
  425. package/dist/types/ultramodern-workspace/write-app.d.ts +3 -0
  426. package/dist/types/ultramodern-workspace/write-workspace.d.ts +2 -1
  427. package/dist/types/ultramodern-workspace/zerops.d.ts +2 -0
  428. package/package.json +4 -3
  429. package/template-workspace/.gitignore.handlebars +4 -0
  430. package/template-workspace/README.md.handlebars +18 -15
  431. package/template-workspace/patches/@module-federation__bridge-react@2.6.0.patch +140 -0
  432. package/template-workspace/patches/@module-federation__modern-js-v3@2.6.0.patch +57 -0
  433. package/template-workspace/patches/drizzle-orm-ts7-strict-declarations.patch +452 -0
  434. package/template-workspace/patches/effect-schema-error-type-id.patch +18 -0
  435. package/template-workspace/pnpm-workspace.yaml.handlebars +8 -0
  436. package/template-workspace/scripts/bootstrap-agent-skills.mjs +11 -3
  437. package/templates/workspace/apps/modern.config.shared-module-federation.ts.handlebars +37 -0
  438. package/templates/workspace/apps/modern.config.ts.handlebars +252 -0
  439. package/templates/workspace/apps/shared/src/routes/ultramodern-jsonld.ts.handlebars +119 -0
  440. package/templates/workspace/apps/shared/src/routes/ultramodern-route-metadata.ts.handlebars +21 -0
  441. package/templates/workspace/apps/shell-super-app/src/routes/[lang]/page.tsx.handlebars +49 -0
  442. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.helpers.tsx.handlebars +79 -0
  443. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.imports.tsx.handlebars +11 -0
  444. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.tsx.handlebars +46 -0
  445. package/templates/workspace/packages/shared-design-tokens/tokens.css.handlebars +7 -0
  446. package/templates/workspace/postcss.config.mjs.handlebars +5 -0
  447. package/templates/workspace/tailwind.config.ts.handlebars +3 -0
  448. package/templates/workspace/verticals/server/checkout-cart-handlers.ts.handlebars +49 -0
  449. package/templates/workspace/verticals/server/checkout-cart-state.ts.handlebars +23 -0
  450. package/templates/workspace/verticals/shared/api.checkout-cart-contract-fields.ts.handlebars +1 -0
  451. package/templates/workspace/verticals/shared/api.checkout-cart-endpoints.ts.handlebars +23 -0
  452. package/templates/workspace/verticals/shared/api.checkout-cart-operation-contexts.ts.handlebars +25 -0
  453. package/templates/workspace/verticals/shared/api.checkout-cart-schemas.ts.handlebars +48 -0
  454. package/templates/workspace/verticals/src/api/checkout-cart-client-exports.ts.handlebars +70 -0
  455. package/templates/workspace-scripts/check-ultramodern-api-boundaries.mts +40 -2
  456. package/templates/workspace-scripts/generate-node-backend-federation.mjs +299 -0
  457. package/templates/workspace-scripts/materialize-zerops-runtime.mjs +448 -0
  458. package/templates/workspace-scripts/proof-cloudflare-version.mjs +237 -9
  459. package/templates/workspace-scripts/proof-node-backend-federation.mjs +760 -0
  460. package/templates/workspace-scripts/ultramodern-cloudflare-proof.mjs +188 -2
  461. package/templates/workspace-scripts/validate-ultramodern-workspace.mjs.handlebars +476 -26
@@ -1,85 +1,9 @@
1
1
  import { WORKSPACE_PACKAGE_VERSION, modernPackageSpecifier } from "../ultramodern-package-source.js";
2
- import { appHasApi, remoteDependencyAlias, resolveRemoteRefs, sharedPackages, shellApp, verticalApiApps, zephyrRemoteDependency } from "./descriptors.js";
2
+ import { appHasApi, remoteDependencyAlias, resolveRemoteRefs, shellApp, verticalApiApps, zephyrRemoteDependency } from "./descriptors.js";
3
3
  import { readFileTemplate } from "./fs-io.js";
4
4
  import { packageName, relativeRootFor } from "./naming.js";
5
- import { createPublicSurfaceGenerationCommand } from "./public-surface.js";
6
5
  import { EFFECT_TSGO_VERSION, I18NEXT_VERSION, LEFTHOOK_VERSION, MODULE_FEDERATION_VERSION, NODE_FETCH_VERSION, OXFMT_VERSION, OXLINT_VERSION, PNPM_VERSION, POSTCSS_VERSION, REACT_DOM_VERSION, REACT_ROUTER_VERSION, REACT_VERSION, TAILWIND_POSTCSS_VERSION, TAILWIND_VERSION, TANSTACK_ROUTER_VERSION, TYPESCRIPT_NATIVE_PREVIEW_VERSION, TYPESCRIPT_VERSION, TYPES_REACT_DOM_VERSION, TYPES_REACT_VERSION, ULTRACITE_VERSION, WRANGLER_VERSION, ZEPHYR_AGENT_VERSION, ZEPHYR_RSPACK_PLUGIN_VERSION } from "./versions.js";
7
- const createStrictTsgoTypecheckCommand = (packageDir)=>`node ${relativeRootFor(packageDir)}/scripts/ultramodern-typecheck.mts --project tsconfig.json`;
8
- const effectDiagnostics = [
9
- 'anyUnknownInErrorContext',
10
- 'classSelfMismatch',
11
- 'duplicatePackage',
12
- 'effectFnImplicitAny',
13
- 'floatingEffect',
14
- 'genericEffectServices',
15
- 'missingEffectContext',
16
- 'missingEffectError',
17
- 'missingLayerContext',
18
- 'missingReturnYieldStar',
19
- 'missingStarInYieldEffectGen',
20
- 'nonObjectEffectServiceType',
21
- 'outdatedApi',
22
- 'overriddenSchemaConstructor',
23
- 'catchUnfailableEffect',
24
- 'effectFnIife',
25
- 'effectGenUsesAdapter',
26
- 'effectInFailure',
27
- 'effectInVoidSuccess',
28
- 'globalErrorInEffectCatch',
29
- 'globalErrorInEffectFailure',
30
- 'layerMergeAllWithDependencies',
31
- 'lazyPromiseInEffectSync',
32
- 'leakingRequirements',
33
- 'multipleEffectProvide',
34
- 'returnEffectInGen',
35
- 'runEffectInsideEffect',
36
- 'schemaSyncInEffect',
37
- 'scopeInLayerEffect',
38
- 'strictEffectProvide',
39
- 'tryCatchInEffectGen',
40
- 'unknownInEffectCatch',
41
- 'asyncFunction',
42
- 'cryptoRandomUUID',
43
- 'cryptoRandomUUIDInEffect',
44
- 'extendsNativeError',
45
- 'globalConsole',
46
- 'globalConsoleInEffect',
47
- 'globalDate',
48
- 'globalDateInEffect',
49
- 'globalFetch',
50
- 'globalFetchInEffect',
51
- 'globalRandom',
52
- 'globalRandomInEffect',
53
- 'globalTimers',
54
- 'globalTimersInEffect',
55
- 'instanceOfSchema',
56
- 'newPromise',
57
- 'nodeBuiltinImport',
58
- 'preferSchemaOverJson',
59
- 'processEnv',
60
- 'processEnvInEffect',
61
- 'unsafeEffectTypeAssertion',
62
- 'catchAllToMapError',
63
- 'deterministicKeys',
64
- 'effectDoNotation',
65
- 'effectFnOpportunity',
66
- 'effectMapFlatten',
67
- 'effectMapVoid',
68
- 'effectSucceedWithVoid',
69
- 'missedPipeableOpportunity',
70
- 'missingEffectServiceDependency',
71
- 'nestedEffectGenYield',
72
- 'redundantSchemaTagIdentifier',
73
- 'schemaStructWithTag',
74
- 'schemaUnionOfLiterals',
75
- 'serviceNotAsClass',
76
- 'strictBooleanExpressions',
77
- 'unnecessaryArrowBlock',
78
- 'unnecessaryEffectGen',
79
- 'unnecessaryFailYieldableError',
80
- 'unnecessaryPipe',
81
- 'unnecessaryPipeChain'
82
- ];
6
+ import { createStrictTsgoTypecheckCommand, createWorkspaceAppPackageScripts, createWorkspaceRootPackageScripts } from "./workspace-script-plan.js";
83
7
  function appDependencies(scope, packageSource, app, remotes = [], bridge) {
84
8
  const dependencies = {
85
9
  '@modern-js/plugin-tanstack': modernPackageSpecifier('@modern-js/plugin-tanstack', packageSource),
@@ -95,10 +19,12 @@ function appDependencies(scope, packageSource, app, remotes = [], bridge) {
95
19
  [packageName(scope, 'shared-design-tokens')]: WORKSPACE_PACKAGE_VERSION,
96
20
  react: REACT_VERSION,
97
21
  'react-dom': REACT_DOM_VERSION,
98
- 'react-router': REACT_ROUTER_VERSION,
99
- 'react-router-dom': REACT_ROUTER_VERSION
22
+ 'react-router': REACT_ROUTER_VERSION
100
23
  };
101
- for (const dependency of bridge?.dependencies ?? [])dependencies[dependency] = WORKSPACE_PACKAGE_VERSION;
24
+ for (const dependency of bridge?.dependencies ?? []){
25
+ if (Object.hasOwn(dependencies, dependency)) throw new Error(`Bridge mode dependency "${dependency}" conflicts with generated app dependency.`);
26
+ dependencies[dependency] = WORKSPACE_PACKAGE_VERSION;
27
+ }
102
28
  if ('shell' === app.kind) {
103
29
  dependencies['@modern-js/plugin-bff'] = modernPackageSpecifier('@modern-js/plugin-bff', packageSource);
104
30
  for (const remote of verticalApiApps(remotes))dependencies[packageName(scope, remote.packageSuffix)] = WORKSPACE_PACKAGE_VERSION;
@@ -128,11 +54,6 @@ function appDevDependencies(packageSource, enableTailwind) {
128
54
  function createRootPackageJson(scope, packageSource, remotes = [], bridge) {
129
55
  const shellFilter = `--filter ${packageName(scope, shellApp.packageSuffix)}`;
130
56
  const remoteFilters = remotes.map((remote)=>`--filter ${packageName(scope, remote.packageSuffix)}`);
131
- const remoteBuildPrefix = remotes.length > 0 ? 'ULTRAMODERN_ZEPHYR=false pnpm -r --filter "./verticals/*" run build && ' : '';
132
- const remoteCloudflareBuildPrefix = remotes.length > 0 ? 'pnpm -r --filter "./verticals/*" run cloudflare:build && ' : '';
133
- const remoteCloudflareDeployPrefix = remotes.length > 0 ? 'pnpm -r --filter "./verticals/*" run cloudflare:deploy && ' : '';
134
- const generatedPackageTypecheck = 'pnpm -r --filter "./apps/*" --filter "./verticals/*" --filter "./packages/*" run typecheck';
135
- const typecheck = bridge ? generatedPackageTypecheck : "node ./scripts/ultramodern-typecheck.mts --build tsconfig.json";
136
57
  const bridgeScripts = bridge ? {
137
58
  ...Object.fromEntries(bridge.gates.map((gate)=>[
138
59
  `bridge:${gate.name}`,
@@ -141,6 +62,11 @@ function createRootPackageJson(scope, packageSource, remotes = [], bridge) {
141
62
  'bridge:check': bridge.gates.map((gate)=>`pnpm run bridge:${gate.name}`).join(' && ')
142
63
  } : {};
143
64
  const bridgeCheck = bridge ? ' && pnpm bridge:check' : '';
65
+ const bridgeTypecheck = bridge ? 'pnpm -r --filter "./apps/*" --filter "./verticals/*" --filter "./packages/*" run typecheck' : void 0;
66
+ const rootPackageScripts = createWorkspaceRootPackageScripts(remotes, {
67
+ bridgeCheck,
68
+ typecheck: bridgeTypecheck
69
+ });
144
70
  const workspacePackages = [
145
71
  'apps/*',
146
72
  'verticals/*',
@@ -163,28 +89,19 @@ function createRootPackageJson(scope, packageSource, remotes = [], bridge) {
163
89
  `dev:${remote.packageSuffix}`,
164
90
  `pnpm --filter ${packageName(scope, remote.packageSuffix)} dev`
165
91
  ])),
166
- build: `${remoteBuildPrefix}ULTRAMODERN_ZEPHYR=false pnpm --filter "./apps/shell-super-app" run build && pnpm mf:types && pnpm performance:readiness`,
92
+ ...rootPackageScripts,
167
93
  format: "oxfmt . '!repos/**'",
168
94
  'format:check': "oxfmt --check . '!repos/**'",
169
95
  lint: 'oxlint apps verticals packages',
170
96
  'lint:fix': 'oxlint apps verticals packages --fix',
171
- typecheck,
172
- 'cloudflare:build': `${remoteCloudflareBuildPrefix}pnpm --filter "./apps/shell-super-app" run cloudflare:build && pnpm mf:types`,
173
- 'cloudflare:deploy': `${remoteCloudflareDeployPrefix}pnpm --filter "./apps/shell-super-app" run cloudflare:deploy`,
174
- 'cloudflare:proof': "node ./scripts/proof-cloudflare-version.mts --out .codex/reports/cloudflare-version-proof/public-url-proof.json",
175
97
  'skills:install': "node ./scripts/bootstrap-agent-skills.mts",
176
98
  'skills:check': "node ./scripts/bootstrap-agent-skills.mts --check",
177
99
  'agents:refs:install': "node ./scripts/setup-agent-reference-repos.mts",
178
100
  'agents:refs:check': "node ./scripts/setup-agent-reference-repos.mts --check",
179
- 'mf:types': "node ./scripts/assert-mf-types.mts",
180
- 'performance:readiness': "node ./scripts/ultramodern-performance-readiness.mts",
181
- 'migrate:strict-effect': "node ./scripts/migrate-strict-effect.mts",
182
- 'contract:check': "node ./scripts/validate-ultramodern-workspace.mts",
183
101
  'api:check': "node ./scripts/check-ultramodern-api-boundaries.mts",
184
102
  'i18n:boundaries': "node ./scripts/check-ultramodern-i18n-boundaries.mts",
185
103
  ...bridgeScripts,
186
- postinstall: "oxfmt . '!repos/**' && node ./scripts/bootstrap-agent-skills.mts --postinstall",
187
- check: `pnpm format:check && pnpm lint && pnpm typecheck && pnpm skills:check && pnpm i18n:boundaries && pnpm api:check && pnpm contract:check && pnpm performance:readiness${bridgeCheck}`
104
+ postinstall: "oxfmt . '!repos/**' && node ./scripts/bootstrap-agent-skills.mts --postinstall"
188
105
  },
189
106
  engines: {
190
107
  node: '>=26',
@@ -205,6 +122,7 @@ function createRootPackageJson(scope, packageSource, remotes = [], bridge) {
205
122
  '@effect/tsgo': EFFECT_TSGO_VERSION,
206
123
  '@modern-js/code-tools': modernPackageSpecifier('@modern-js/code-tools', packageSource),
207
124
  '@modern-js/create': modernPackageSpecifier('@modern-js/create', packageSource),
125
+ '@modern-js/plugin-bff': modernPackageSpecifier('@modern-js/plugin-bff', packageSource),
208
126
  "@typescript/native-preview": TYPESCRIPT_NATIVE_PREVIEW_VERSION,
209
127
  lefthook: LEFTHOOK_VERSION,
210
128
  oxlint: OXLINT_VERSION,
@@ -222,144 +140,7 @@ function createZephyrDependencies(scope, app, remotes = []) {
222
140
  zephyrRemoteDependency(scope, remote)
223
141
  ]));
224
142
  }
225
- function createTsConfigBase() {
226
- return {
227
- compilerOptions: {
228
- target: 'ESNext',
229
- lib: [
230
- 'ESNext',
231
- 'DOM',
232
- 'DOM.Iterable'
233
- ],
234
- module: 'preserve',
235
- moduleResolution: 'Bundler',
236
- moduleDetection: 'force',
237
- jsx: 'preserve',
238
- isolatedModules: true,
239
- verbatimModuleSyntax: true,
240
- strict: true,
241
- noEmit: true,
242
- allowImportingTsExtensions: true,
243
- allowJs: true,
244
- esModuleInterop: true,
245
- noUncheckedIndexedAccess: true,
246
- exactOptionalPropertyTypes: true,
247
- noImplicitOverride: true,
248
- noFallthroughCasesInSwitch: true,
249
- noPropertyAccessFromIndexSignature: true,
250
- noImplicitReturns: true,
251
- skipLibCheck: true,
252
- resolveJsonModule: true,
253
- plugins: [
254
- {
255
- name: '@effect/language-service',
256
- diagnostics: true,
257
- includeSuggestionsInTsc: true,
258
- ignoreEffectSuggestionsInTscExitCode: false,
259
- ignoreEffectWarningsInTscExitCode: false,
260
- ignoreEffectErrorsInTscExitCode: false,
261
- skipDisabledOptimization: true,
262
- diagnosticSeverity: Object.fromEntries(effectDiagnostics.map((name)=>[
263
- name,
264
- 'error'
265
- ]))
266
- }
267
- ]
268
- }
269
- };
270
- }
271
- function createTsBuildInfoFile(packageDir) {
272
- const cacheKey = packageDir.replace(/[^a-zA-Z0-9._-]+/gu, '__');
273
- return `${relativeRootFor(packageDir)}/node_modules/.cache/tsgo/${cacheKey}.tsbuildinfo`;
274
- }
275
- function createTsDeclarationOutDir(packageDir) {
276
- const cacheKey = packageDir.replace(/[^a-zA-Z0-9._-]+/gu, '__');
277
- return `${relativeRootFor(packageDir)}/node_modules/.cache/tsgo/declarations/${cacheKey}`;
278
- }
279
- function createReferences(packageDir, references) {
280
- return [
281
- ...new Set(references)
282
- ].filter((reference)=>reference !== packageDir).map((reference)=>({
283
- path: `${relativeRootFor(packageDir)}/${reference}`
284
- }));
285
- }
286
- function createPackageTsConfig(packageDir, options = {}) {
287
- const resolvedOptions = 'boolean' == typeof options ? {
288
- includeApi: options
289
- } : options;
290
- const include = resolvedOptions.include ?? [
291
- 'src',
292
- 'locales/**/*.json',
293
- 'modern.config.ts',
294
- 'module-federation.config.ts',
295
- 'package.json',
296
- 'shared'
297
- ];
298
- if (resolvedOptions.includeApi) include.push('api');
299
- const references = createReferences(packageDir, resolvedOptions.references ?? []);
300
- const tsconfig = {
301
- extends: `${relativeRootFor(packageDir)}/tsconfig.base.json`,
302
- compilerOptions: {
303
- composite: true,
304
- declaration: true,
305
- declarationMap: false,
306
- emitDeclarationOnly: true,
307
- incremental: true,
308
- noEmit: false,
309
- outDir: createTsDeclarationOutDir(packageDir),
310
- tsBuildInfoFile: createTsBuildInfoFile(packageDir)
311
- },
312
- include
313
- };
314
- if (references.length > 0) tsconfig.references = references;
315
- return tsconfig;
316
- }
317
- function createAppTsConfig(app, remotes = []) {
318
- const references = [
319
- ...sharedPackages.map((sharedPackage)=>sharedPackage.directory),
320
- ...'shell' === app.kind ? verticalApiApps(remotes).map((remote)=>remote.directory) : resolveRemoteRefs(app, remotes).map((remote)=>remote.directory)
321
- ];
322
- return createPackageTsConfig(app.directory, {
323
- includeApi: appHasApi(app),
324
- references
325
- });
326
- }
327
- function createAppMfTypesTsConfig(app) {
328
- const exposedFiles = Object.values(app.exposes ?? {}).map((exposePath)=>exposePath.replace(/^\.\//u, ''));
329
- return {
330
- extends: './tsconfig.json',
331
- include: [
332
- ...new Set([
333
- ...exposedFiles,
334
- 'src/modern-app-env.d.ts'
335
- ])
336
- ]
337
- };
338
- }
339
- function createSharedPackageTsConfig(packageDir) {
340
- return createPackageTsConfig(packageDir, {
341
- include: [
342
- 'src'
343
- ]
344
- });
345
- }
346
- function createRootTsConfig(apps = []) {
347
- return {
348
- files: [],
349
- references: [
350
- ...sharedPackages.map((sharedPackage)=>({
351
- path: sharedPackage.directory
352
- })),
353
- ...apps.map((app)=>({
354
- path: app.directory
355
- }))
356
- ]
357
- };
358
- }
359
143
  function createAppPackage(scope, app, packageSource, enableTailwind, remotes = [], bridge) {
360
- const publicSurfaceBuildCommand = createPublicSurfaceGenerationCommand(app, 'dist');
361
- const publicSurfaceCloudflareBuildCommand = createPublicSurfaceGenerationCommand(app, 'dist');
362
- const publicSurfaceCloudflareOutputCommand = createPublicSurfaceGenerationCommand(app, 'cloudflare');
363
144
  const packageExports = Object.fromEntries(Object.entries(app.exposes ?? {}).map(([expose, source])=>[
364
145
  expose,
365
146
  source
@@ -368,16 +149,7 @@ function createAppPackage(scope, app, packageSource, enableTailwind, remotes = [
368
149
  private: true,
369
150
  name: packageName(scope, app.packageSuffix),
370
151
  version: '0.1.0',
371
- scripts: {
372
- dev: 'modern dev',
373
- build: app.exposes ? `ULTRAMODERN_ZEPHYR=false modern build && ${publicSurfaceBuildCommand} && node ${relativeRootFor(app.directory)}/scripts/assert-mf-types.mts` : `ULTRAMODERN_ZEPHYR=false modern build && ${publicSurfaceBuildCommand}`,
374
- 'cloudflare:build': `ULTRAMODERN_ZEPHYR=false MODERNJS_DEPLOY=cloudflare modern build && ${publicSurfaceCloudflareBuildCommand} && ULTRAMODERN_ZEPHYR=false MODERNJS_DEPLOY=cloudflare modern deploy && ${publicSurfaceCloudflareOutputCommand}`,
375
- 'cloudflare:deploy': 'ULTRAMODERN_CLOUDFLARE_REQUIRE_PUBLIC_URLS=true pnpm run cloudflare:build && wrangler deploy --config .output/wrangler.json',
376
- 'cloudflare:preview': 'pnpm run cloudflare:build && wrangler dev --config .output/wrangler.json',
377
- 'cloudflare:proof': `node ${relativeRootFor(app.directory)}/scripts/proof-cloudflare-version.mts --app ${app.id}`,
378
- serve: 'modern serve',
379
- typecheck: createStrictTsgoTypecheckCommand(app.directory)
380
- },
152
+ scripts: createWorkspaceAppPackageScripts(app),
381
153
  modernjs: {
382
154
  preset: 'presetUltramodern',
383
155
  role: 'shell' === app.kind ? 'shell' : 'module-federation-remote',
@@ -428,4 +200,5 @@ function createSharedPackage(scope, id, description) {
428
200
  function createSharedContractsIndex() {
429
201
  return readFileTemplate('packages/shared-contracts-index.ts');
430
202
  }
431
- export { appDependencies, appDevDependencies, createAppMfTypesTsConfig, createAppPackage, createAppTsConfig, createPackageTsConfig, createRootPackageJson, createRootTsConfig, createSharedContractsIndex, createSharedPackage, createSharedPackageTsConfig, createStrictTsgoTypecheckCommand, createTsConfigBase, createZephyrDependencies, effectDiagnostics };
203
+ export { createAppMfTypesTsConfig, createAppTsConfig, createPackageTsConfig, createRootTsConfig, createSharedPackageTsConfig, createTsConfigBase } from "./tsconfigs.js";
204
+ export { appDependencies, appDevDependencies, createAppPackage, createRootPackageJson, createSharedContractsIndex, createSharedPackage, createZephyrDependencies };
@@ -0,0 +1,113 @@
1
+ import { DRIZZLE_ORM_VERSION, EFFECT_VERSION, EFFECT_VITEST_VERSION, MODULE_FEDERATION_VERSION } from "./versions.js";
2
+ const strictEffectPackageVersionPolicyExclusions = [
3
+ `effect@${EFFECT_VERSION}`,
4
+ `@effect/opentelemetry@${EFFECT_VERSION}`
5
+ ];
6
+ const moduleFederationModernJsPatchPath = `patches/@module-federation__modern-js-v3@${MODULE_FEDERATION_VERSION}.patch`;
7
+ const moduleFederationBridgeReactPatchPath = `patches/@module-federation__bridge-react@${MODULE_FEDERATION_VERSION}.patch`;
8
+ const effectDeclarationPatchPath = 'patches/effect-schema-error-type-id.patch';
9
+ const drizzleOrmDeclarationPatchPath = 'patches/drizzle-orm-ts7-strict-declarations.patch';
10
+ function createPnpmWorkspacePolicyPlan(options) {
11
+ return {
12
+ yamlActions: [
13
+ {
14
+ kind: 'replace-line',
15
+ pattern: /^ {4}'@effect\/vitest>effect': .+$/mu,
16
+ replacement: ` '@effect/vitest>effect': '${EFFECT_VERSION}'`
17
+ },
18
+ {
19
+ kind: 'ensure-scalar-map-entry',
20
+ key: 'overrides',
21
+ entryKey: "'@effect/opentelemetry'",
22
+ value: EFFECT_VERSION
23
+ },
24
+ {
25
+ kind: 'ensure-scalar-map-entry',
26
+ key: 'overrides',
27
+ entryKey: "'@effect/vitest'",
28
+ value: EFFECT_VITEST_VERSION
29
+ },
30
+ {
31
+ kind: 'ensure-scalar-map-entry',
32
+ key: 'overrides',
33
+ entryKey: 'effect',
34
+ value: EFFECT_VERSION
35
+ },
36
+ {
37
+ kind: 'ensure-scalar-map-entry',
38
+ key: 'allowBuilds',
39
+ entryKey: "'@parcel/watcher'",
40
+ value: 'true'
41
+ },
42
+ ...strictEffectPackageVersionPolicyExclusions.flatMap((item)=>createStrictEffectPackageVersionPolicyActions(item)),
43
+ {
44
+ kind: 'ensure-map-entry',
45
+ key: 'patchedDependencies',
46
+ entryKey: `effect@${EFFECT_VERSION}`,
47
+ value: effectDeclarationPatchPath
48
+ },
49
+ {
50
+ kind: 'ensure-map-entry',
51
+ key: 'patchedDependencies',
52
+ entryKey: `@module-federation/modern-js-v3@${MODULE_FEDERATION_VERSION}`,
53
+ value: moduleFederationModernJsPatchPath
54
+ },
55
+ {
56
+ kind: 'ensure-map-entry',
57
+ key: 'patchedDependencies',
58
+ entryKey: `@module-federation/bridge-react@${MODULE_FEDERATION_VERSION}`,
59
+ value: moduleFederationBridgeReactPatchPath
60
+ },
61
+ options.usesDrizzleOrm ? {
62
+ kind: 'ensure-map-entry',
63
+ key: 'patchedDependencies',
64
+ entryKey: `drizzle-orm@${DRIZZLE_ORM_VERSION}`,
65
+ value: drizzleOrmDeclarationPatchPath
66
+ } : {
67
+ kind: 'remove-map-entry',
68
+ entryKey: `drizzle-orm@${DRIZZLE_ORM_VERSION}`
69
+ }
70
+ ],
71
+ declarationPatchActions: [
72
+ {
73
+ kind: 'ensure',
74
+ relativePatchPath: moduleFederationModernJsPatchPath
75
+ },
76
+ {
77
+ kind: 'ensure',
78
+ relativePatchPath: moduleFederationBridgeReactPatchPath
79
+ },
80
+ {
81
+ kind: 'ensure',
82
+ relativePatchPath: effectDeclarationPatchPath
83
+ },
84
+ {
85
+ kind: options.usesDrizzleOrm ? 'ensure' : 'remove-if-unchanged',
86
+ relativePatchPath: drizzleOrmDeclarationPatchPath
87
+ }
88
+ ],
89
+ requiresInstallOnChange: true
90
+ };
91
+ }
92
+ function createStrictEffectPackageVersionPolicyActions(item) {
93
+ const packageName = item.slice(0, item.lastIndexOf('@'));
94
+ const escapedPackageName = packageName.replace(/[.*+?^${}()|[\]\\]/gu, '\\$&');
95
+ return [
96
+ {
97
+ kind: 'replace-line',
98
+ pattern: new RegExp(`^ {2}- '${escapedPackageName}@[^']+'$`, 'gmu'),
99
+ replacement: ` - '${item}'`
100
+ },
101
+ {
102
+ kind: 'ensure-list-item',
103
+ key: 'minimumReleaseAgeExclude',
104
+ item
105
+ },
106
+ {
107
+ kind: 'ensure-list-item',
108
+ key: 'trustPolicyExclude',
109
+ item
110
+ }
111
+ ];
112
+ }
113
+ export { createPnpmWorkspacePolicyPlan, drizzleOrmDeclarationPatchPath, effectDeclarationPatchPath, moduleFederationBridgeReactPatchPath, moduleFederationModernJsPatchPath, strictEffectPackageVersionPolicyExclusions };
@@ -1,4 +1,5 @@
1
1
  import { appI18nNamespace } from "./descriptors.js";
2
+ import { renderFileTemplate } from "./fs-io.js";
2
3
  import { sortJsonValue } from "./types.js";
3
4
  const privateAppRoutePublicness = {
4
5
  indexable: false,
@@ -76,154 +77,19 @@ function createPublicRouteMetadata(app) {
76
77
  return createPublicRouteMetadataFromRoutes(createRouteOwnedI18nPaths(app));
77
78
  }
78
79
  function createJsonLdHelperModule() {
79
- return `export type JsonLdPrimitive = string | number | boolean | null;
80
- export type JsonLdValue =
81
- | JsonLdPrimitive
82
- | readonly JsonLdValue[]
83
- | { readonly [key: string]: JsonLdValue };
84
- export type JsonLdObject = Readonly<Record<string, JsonLdValue>>;
85
- export type RouteJsonLd = JsonLdObject | readonly JsonLdObject[];
86
-
87
- const schemaContext = 'https://schema.org' as const;
88
-
89
- type SchemaObject<TType extends string> = JsonLdObject & {
90
- readonly '@context': typeof schemaContext;
91
- readonly '@type': TType;
92
- };
93
-
94
- type ThingReference =
95
- | string
96
- | {
97
- readonly '@id'?: string;
98
- readonly '@type'?: string;
99
- readonly name?: string;
100
- readonly url?: string;
101
- };
102
-
103
- const withSchemaContext = <TType extends string, TInput extends object>(
104
- type: TType,
105
- input: TInput,
106
- ): SchemaObject<TType> & TInput => ({
107
- '@context': schemaContext,
108
- '@type': type,
109
- ...input,
110
- });
111
-
112
- export const defineRouteJsonLd = <TJsonLd extends RouteJsonLd>(
113
- jsonLd: TJsonLd,
114
- ): TJsonLd => jsonLd;
115
-
116
- export interface WebPageJsonLdInput {
117
- readonly name: string;
118
- readonly url: string;
119
- readonly description?: string;
120
- readonly inLanguage?: string | readonly string[];
121
- readonly isPartOf?: ThingReference;
122
- }
123
-
124
- export const webPageJsonLd = (input: WebPageJsonLdInput) =>
125
- withSchemaContext('WebPage', input);
126
-
127
- export interface WebApplicationJsonLdInput {
128
- readonly name: string;
129
- readonly url: string;
130
- readonly applicationCategory?: string;
131
- readonly browserRequirements?: string;
132
- readonly description?: string;
133
- readonly operatingSystem?: string;
134
- }
135
-
136
- export const webApplicationJsonLd = (input: WebApplicationJsonLdInput) =>
137
- withSchemaContext('WebApplication', input);
138
-
139
- export interface SoftwareApplicationJsonLdInput {
140
- readonly name: string;
141
- readonly url: string;
142
- readonly applicationCategory?: string;
143
- readonly applicationSubCategory?: string;
144
- readonly description?: string;
145
- readonly offers?: ThingReference;
146
- readonly operatingSystem?: string;
147
- }
148
-
149
- export const softwareApplicationJsonLd = (
150
- input: SoftwareApplicationJsonLdInput,
151
- ) => withSchemaContext('SoftwareApplication', input);
152
-
153
- export interface OrganizationJsonLdInput {
154
- readonly name: string;
155
- readonly url?: string;
156
- readonly logo?: string;
157
- readonly sameAs?: readonly string[];
158
- }
159
-
160
- export const organizationJsonLd = (input: OrganizationJsonLdInput) =>
161
- withSchemaContext('Organization', input);
162
-
163
- export interface BreadcrumbListItemInput {
164
- readonly name: string;
165
- readonly item: string;
166
- }
167
-
168
- export const breadcrumbListJsonLd = (
169
- items: readonly BreadcrumbListItemInput[],
170
- ) =>
171
- withSchemaContext('BreadcrumbList', {
172
- itemListElement: items.map((entry, index) => ({
173
- '@type': 'ListItem',
174
- item: entry.item,
175
- name: entry.name,
176
- position: index + 1,
177
- })),
178
- });
179
-
180
- export interface FAQPageQuestionInput {
181
- readonly name: string;
182
- readonly acceptedAnswer: {
183
- readonly text: string;
184
- };
185
- }
186
-
187
- export const faqPageJsonLd = (questions: readonly FAQPageQuestionInput[]) =>
188
- withSchemaContext('FAQPage', {
189
- mainEntity: questions.map(question => ({
190
- '@type': 'Question',
191
- acceptedAnswer: {
192
- '@type': 'Answer',
193
- text: question.acceptedAnswer.text,
194
- },
195
- name: question.name,
196
- })),
197
- });
198
- `;
80
+ return renderFileTemplate('workspace/apps/shared/src/routes/ultramodern-jsonld.ts', {});
199
81
  }
200
82
  function createRouteMetadataModule(app) {
201
83
  const routes = sortJsonValue(createRouteOwnedI18nPaths(app));
202
84
  const localisedUrls = sortJsonValue(createLocalisedUrlsMap(app));
203
85
  const publicRoutes = sortJsonValue(createPublicRouteMetadata(app));
204
86
  const namespace = appI18nNamespace(app);
205
- return `// @generated by @modern-js/create.
206
- // Author route metadata in colocated src/routes/**/route.meta.ts files.
207
- // This compatibility manifest is regenerated from route-owned metadata.
208
-
209
- export const ultramodernRouteNamespace = '${namespace}' as const;
210
-
211
- export const ultramodernRouteMetadata = ${JSON.stringify(routes, null, 2)} as const;
212
-
213
- export const ultramodernLocalisedUrls = ${JSON.stringify(localisedUrls, null, 2)} as const;
214
-
215
- export const ultramodernPublicRoutes = ${JSON.stringify(publicRoutes, null, 2)} as const;
216
-
217
- export const ultramodernRouteConfig = {
218
- authoring: 'colocated-route-meta',
219
- generatedManifest: true,
220
- localisedUrls: ultramodernLocalisedUrls,
221
- namespace: ultramodernRouteNamespace,
222
- publicRoutes: ultramodernPublicRoutes,
223
- routes: ultramodernRouteMetadata,
224
- source: 'route-owned',
225
- } as const;
226
- `;
87
+ return renderFileTemplate('workspace/apps/shared/src/routes/ultramodern-route-metadata.ts', {
88
+ value0: namespace,
89
+ value1: JSON.stringify(routes, null, 2),
90
+ value2: JSON.stringify(localisedUrls, null, 2),
91
+ value3: JSON.stringify(publicRoutes, null, 2)
92
+ });
227
93
  }
228
94
  function createRouteMetaModule(route) {
229
95
  return `const routeMeta = ${JSON.stringify(sortJsonValue(route), null, 2)} as const;
@@ -0,0 +1,6 @@
1
+ const SHARED_ULTRAMODERN_WORKSPACE_PATCH_FILES = [
2
+ '@module-federation__bridge-react@2.6.0.patch',
3
+ '@module-federation__modern-js-v3@2.6.0.patch',
4
+ '@tanstack__router-core@1.171.13.patch'
5
+ ];
6
+ export { SHARED_ULTRAMODERN_WORKSPACE_PATCH_FILES };