@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
@@ -0,0 +1,18 @@
1
+ diff --git a/dist/internal/schema/schema.d.ts b/dist/internal/schema/schema.d.ts
2
+ index 7fbeec1a56a85ab1569f8b80e319fb4638a91615..21d38f72238f748d989d3080f77d0edfc63c0e16 100644
3
+ --- a/dist/internal/schema/schema.d.ts
4
+ +++ b/dist/internal/schema/schema.d.ts
5
+ @@ -3,0 +4 @@
6
+ +export declare const SchemaErrorTypeId: "~effect/Schema/SchemaError";
7
+ diff --git a/dist/unstable/http/internal/preResponseHandler.d.ts b/dist/unstable/http/internal/preResponseHandler.d.ts
8
+ index 81e81e744fa55db2647a8483991db403d451e7dd..040d6c97b85d0c01d4a477013010b9f54d462de8 100644
9
+ --- a/dist/unstable/http/internal/preResponseHandler.d.ts
10
+ +++ b/dist/unstable/http/internal/preResponseHandler.d.ts
11
+ @@ -1 +1,6 @@
12
+ -export {};
13
+ +import type * as Effect from "../../../Effect.ts";
14
+ +import type { HttpServerError } from "../HttpServerError.ts";
15
+ +import type { HttpServerRequest } from "../HttpServerRequest.ts";
16
+ +import type { HttpServerResponse } from "../HttpServerResponse.ts";
17
+ +export declare const requestPreResponseHandlers: WeakMap<object, (request: HttpServerRequest, response: HttpServerResponse) => Effect.Effect<HttpServerResponse, HttpServerError>>;
18
+ +export declare const appendPreResponseHandlerUnsafe: (request: HttpServerRequest, handler: (request: HttpServerRequest, response: HttpServerResponse) => Effect.Effect<HttpServerResponse, HttpServerError>) => void;
@@ -8,6 +8,8 @@ minimumReleaseAgeStrict: true
8
8
  minimumReleaseAgeIgnoreMissingTime: false
9
9
  minimumReleaseAgeExclude:
10
10
  - '@bleedingdev/modern-js-*'
11
+ - 'effect@{{effectVersion}}'
12
+ - '@effect/opentelemetry@{{effectVersion}}'
11
13
  - '@tanstack/react-router'
12
14
  - '@tanstack/router-core'
13
15
  - 'typescript'
@@ -25,6 +27,7 @@ minimumReleaseAgeExclude:
25
27
  trustPolicy: no-downgrade
26
28
  trustPolicyIgnoreAfter: 1440
27
29
  trustPolicyExclude:
30
+ - 'effect@{{effectVersion}}'
28
31
  - '@effect/opentelemetry@{{effectVersion}}'
29
32
  blockExoticSubdeps: true
30
33
  engineStrict: true
@@ -45,11 +48,13 @@ peerDependencyRules:
45
48
  overrides:
46
49
  '@tanstack/react-router': {{tanstackRouterVersion}}
47
50
  '@tanstack/router-core': {{tanstackRouterCoreVersion}}
51
+ '@effect/opentelemetry': {{effectVersion}}
48
52
  '@effect/vitest': {{effectVitestVersion}}
49
53
  effect: {{effectVersion}}
50
54
  node-fetch: '{{nodeFetchVersion}}'
51
55
 
52
56
  allowBuilds:
57
+ '@parcel/watcher': true
53
58
  '@swc/core': true
54
59
  core-js: true
55
60
  esbuild: true
@@ -59,4 +64,7 @@ allowBuilds:
59
64
  workerd: true
60
65
 
61
66
  patchedDependencies:
67
+ '@module-federation/modern-js-v3@{{moduleFederationVersion}}': patches/@module-federation__modern-js-v3@{{moduleFederationVersion}}.patch
68
+ '@module-federation/bridge-react@{{moduleFederationVersion}}': patches/@module-federation__bridge-react@{{moduleFederationVersion}}.patch
62
69
  '@tanstack/router-core@{{tanstackRouterCoreVersion}}': patches/@tanstack__router-core@{{tanstackRouterCoreVersion}}.patch
70
+ 'effect@{{effectVersion}}': patches/effect-schema-error-type-id.patch
@@ -7,8 +7,14 @@ import { fileURLToPath } from 'node:url';
7
7
  const root = process.cwd();
8
8
  const scriptDir = path.dirname(fileURLToPath(import.meta.url));
9
9
  const templateWorkspaceDir = path.resolve(scriptDir, '..');
10
+ // Vendored skills always ship under template-workspace/.codex/skills; the
11
+ // workspace-side lockfile may live under .agents/ (agents-standard layout) or
12
+ // .codex/ (legacy default).
10
13
  const vendoredSkillsDir = path.join(templateWorkspaceDir, '.codex/skills');
11
- const lockPath = path.join(root, '.codex/skills-lock.json');
14
+ const lockRoot = fs.existsSync(path.join(root, '.agents/skills-lock.json'))
15
+ ? '.agents'
16
+ : '.codex';
17
+ const lockPath = path.join(root, `${lockRoot}/skills-lock.json`);
12
18
  const checkOnly = process.argv.includes('--check');
13
19
  const postinstall = process.argv.includes('--postinstall');
14
20
  const truthy = value => /^(1|true|yes|on)$/i.test(String(value ?? ''));
@@ -175,12 +181,14 @@ const resolveSkillDir = (sourceRoot, skillName) => {
175
181
  };
176
182
 
177
183
  if (!fs.existsSync(lockPath)) {
178
- console.error('Missing .codex/skills-lock.json');
184
+ console.error(
185
+ 'Missing skills-lock.json: expected .agents/skills-lock.json or .codex/skills-lock.json',
186
+ );
179
187
  process.exit(1);
180
188
  }
181
189
 
182
190
  const lock = readJson(lockPath);
183
- const installDir = path.join(root, lock.installDir ?? '.codex/skills');
191
+ const installDir = path.join(root, lock.installDir ?? `${lockRoot}/skills`);
184
192
  const sources = lock.sources ?? [];
185
193
  const vendoredSources = sources.filter(source => source.install === 'vendored');
186
194
  const cloneSources = sources.filter(source => source.install === 'clone');
@@ -0,0 +1,37 @@
1
+ shared: {
2
+ '@modern-js/plugin-i18n/runtime/no-react-i18next': {
3
+ requiredVersion: pluginI18nVersion,
4
+ singleton: true,
5
+ treeShaking: false,
6
+ },
7
+ '@modern-js/plugin-tanstack/runtime': {
8
+ requiredVersion: pluginTanstackVersion,
9
+ singleton: true,
10
+ treeShaking: false,
11
+ },
12
+ '@modern-js/runtime': {
13
+ requiredVersion: runtimeVersion,
14
+ singleton: true,
15
+ treeShaking: false,
16
+ },
17
+ '@tanstack/react-router': {
18
+ requiredVersion: dependencies['@tanstack/react-router'],
19
+ singleton: true,
20
+ treeShaking: false,
21
+ },
22
+ react: {
23
+ requiredVersion: reactVersion,
24
+ singleton: true,
25
+ treeShaking: false,
26
+ },
27
+ 'react-dom': {
28
+ requiredVersion: reactDomVersion,
29
+ singleton: true,
30
+ treeShaking: false,
31
+ },
32
+ 'react-dom/client': {
33
+ requiredVersion: reactDomVersion,
34
+ singleton: true,
35
+ treeShaking: false,
36
+ },
37
+ }
@@ -0,0 +1,252 @@
1
+ // @effect-diagnostics processEnv:off
2
+ import { setTimeout as delay } from 'node:timers/promises';
3
+ import {
4
+ appTools,
5
+ defineConfig,
6
+ presetUltramodern,
7
+ } from '@modern-js/app-tools';
8
+ {{value0}}import { i18nPlugin } from '@modern-js/plugin-i18n';
9
+ import { tanstackRouterPlugin } from '@modern-js/plugin-tanstack';
10
+ import { moduleFederationPlugin } from '@module-federation/modern-js-v3';
11
+ import { withZephyr as withZephyrRspack } from 'zephyr-rspack-plugin';
12
+ import { ultramodernLocalisedUrls } from './src/routes/ultramodern-route-metadata';
13
+
14
+ type ZephyrRspackConfig = Parameters<ReturnType<typeof withZephyrRspack>>[0];
15
+
16
+ const zephyrEnabled = process.env['ULTRAMODERN_ZEPHYR'] !== 'false';
17
+ const cloudflareDeployEnabled =
18
+ process.env['MODERNJS_DEPLOY'] === 'cloudflare';
19
+
20
+ const parsedZephyrTimeoutMs = Number.parseInt(
21
+ process.env['ULTRAMODERN_ZEPHYR_TIMEOUT_MS'] ?? '',
22
+ 10,
23
+ );
24
+ const zephyrTimeoutMs =
25
+ Number.isFinite(parsedZephyrTimeoutMs) && parsedZephyrTimeoutMs > 0
26
+ ? parsedZephyrTimeoutMs
27
+ : 45_000;
28
+
29
+ const zephyrWarn = (error: unknown) => {
30
+ const message = error instanceof Error ? error.message : String(error);
31
+ console.warn(
32
+ `[ultramodern] zephyr-rspack-plugin failed; continuing without Zephyr (set ULTRAMODERN_ZEPHYR=false to disable it): ${message}`,
33
+ );
34
+ };
35
+
36
+ const zephyrRspackPlugin = () => ({
37
+ name: 'ultramodern-zephyr-rspack-plugin',
38
+ pre: ['@modern-js/plugin-module-federation-config'],
39
+ setup(api: {
40
+ modifyRspackConfig: (
41
+ handler: (
42
+ config: ZephyrRspackConfig,
43
+ ) => ZephyrRspackConfig | Promise<ZephyrRspackConfig>,
44
+ ) => void;
45
+ }) {
46
+ if (!zephyrEnabled) {
47
+ return;
48
+ }
49
+ api.modifyRspackConfig(async config => {
50
+ try {
51
+ // Zephyr can not only throw/reject but also hang on a stalled network
52
+ // call, wedging the whole build. Race it against a watchdog so a hang
53
+ // degrades to an unmodified config instead of blocking indefinitely.
54
+ const zephyrConfig = (async () => {
55
+ try {
56
+ return await withZephyrRspack()(config);
57
+ } catch (error) {
58
+ zephyrWarn(error);
59
+ return config;
60
+ }
61
+ })();
62
+ const watchdog = async () => {
63
+ await delay(zephyrTimeoutMs, undefined, { ref: false });
64
+ zephyrWarn(
65
+ `timed out after ${zephyrTimeoutMs}ms (override with ULTRAMODERN_ZEPHYR_TIMEOUT_MS)`,
66
+ );
67
+ return config;
68
+ };
69
+ return await Promise.race([zephyrConfig, watchdog()]);
70
+ } catch (error) {
71
+ zephyrWarn(error);
72
+ return config;
73
+ }
74
+ });
75
+ },
76
+ });
77
+
78
+ const appId = '{{value1}}';
79
+ const cloudflareWorkerName = '{{value2}}';
80
+ const port = Number(process.env['{{value3}}'] ?? {{value4}});
81
+ const envValue = (name: string) => {
82
+ const value = process.env[name]?.trim();
83
+ return value !== undefined && value.length > 0 ? value : undefined;
84
+ };
85
+ const configuredSiteUrl = envValue('MODERN_PUBLIC_SITE_URL');
86
+ const configuredCloudflareUrl = envValue('{{value5}}');
87
+ const configuredUltramodernAssetPrefix = envValue('ULTRAMODERN_ASSET_PREFIX');
88
+ const configuredModernAssetPrefix = envValue('MODERN_ASSET_PREFIX');
89
+ const moduleFederationDevServerOrigin =
90
+ envValue('ULTRAMODERN_MF_DEV_ORIGIN') || 'http://localhost:{{value6}}';
91
+ const cloudflareWorkersDevSubdomain = envValue(
92
+ 'ULTRAMODERN_CLOUDFLARE_WORKERS_DEV_SUBDOMAIN',
93
+ );
94
+ const inferredCloudflareUrl =
95
+ cloudflareDeployEnabled && cloudflareWorkersDevSubdomain !== undefined
96
+ ? `https://${cloudflareWorkerName}.${cloudflareWorkersDevSubdomain}.workers.dev`
97
+ : undefined;
98
+ // Site origin (SEO: canonical/hreflang URLs) prefers the site-wide public URL;
99
+ // the per-app deployment URL only fills in when no site origin is configured.
100
+ const siteUrl =
101
+ configuredSiteUrl ||
102
+ configuredCloudflareUrl ||
103
+ inferredCloudflareUrl ||
104
+ `http://localhost:${port}`;
105
+ {{value7}}
106
+ // Asset loading is intentionally independent from the canonical site URL.
107
+ // Module Federation remotes must publish an absolute publicPath so browsers
108
+ // load remoteEntry.js and exposed chunks from the remote origin, not the host.
109
+ const assetPrefix =
110
+ configuredModernAssetPrefix || configuredUltramodernAssetPrefix || defaultAssetPrefix;
111
+ const buildTarget = cloudflareDeployEnabled ? 'cloudflare' : 'web';
112
+ const buildOutputRoot = cloudflareDeployEnabled ? 'dist-cloudflare' : 'dist';
113
+ const buildTempDirectory = `node_modules/.modern-js-${appId}-${buildTarget}`;
114
+ const buildCacheDirectory = `node_modules/.cache/rspack-${appId}-${buildTarget}`;
115
+
116
+ if (
117
+ cloudflareDeployEnabled &&
118
+ process.env['ULTRAMODERN_CLOUDFLARE_REQUIRE_PUBLIC_URLS'] === 'true' &&
119
+ configuredCloudflareUrl === undefined &&
120
+ configuredSiteUrl === undefined &&
121
+ inferredCloudflareUrl === undefined
122
+ ) {
123
+ throw new Error(
124
+ `Cloudflare deploy for ${appId} needs {{value8}}, MODERN_PUBLIC_SITE_URL, or ULTRAMODERN_CLOUDFLARE_WORKERS_DEV_SUBDOMAIN.`,
125
+ );
126
+ }
127
+
128
+ export default defineConfig(
129
+ presetUltramodern(
130
+ {
131
+ {{value9}} ...(cloudflareDeployEnabled
132
+ ? {
133
+ deploy: {
134
+ worker: {
135
+ compatibilityDate: '{{value10}}',
136
+ name: cloudflareWorkerName,
137
+ security: {{value11}},
138
+ {{value12}} ssr: true,
139
+ },
140
+ },
141
+ }
142
+ : {}),
143
+ dev: {
144
+ {{value13}}
145
+ },
146
+ html: {
147
+ outputStructure: 'flat',
148
+ },
149
+ output: {
150
+ assetPrefix,
151
+ disableTsChecker: false,
152
+ distPath: {
153
+ html: './',
154
+ root: buildOutputRoot,
155
+ },
156
+ polyfill: 'off',
157
+ splitRouteChunks: true,
158
+ tempDir: buildTempDirectory,
159
+ },
160
+ performance: {
161
+ buildCache: {
162
+ cacheDigest: [appId, buildTarget],
163
+ cacheDirectory: buildCacheDirectory,
164
+ },
165
+ rsdoctor: {
166
+ disableClientServer: true,
167
+ enabled: process.env['ULTRAMODERN_RSDOCTOR'] === 'true',
168
+ },
169
+ },
170
+ plugins: [
171
+ appTools(),
172
+ tanstackRouterPlugin(),
173
+ i18nPlugin({
174
+ backend: {
175
+ enabled: true,
176
+ loadPath: '/locales/{{lng}}/{{ns}}.json',
177
+ },
178
+ localeDetection: {
179
+ fallbackLanguage: 'en',
180
+ ignoreRedirectRoutes: [
181
+ '/@mf-types',
182
+ '/assets',
183
+ '/bundles',
184
+ '{{value14}}',
185
+ '/locales',
186
+ '/mf-manifest.json',
187
+ '/mf-stats.json',
188
+ '/remoteEntry.js',
189
+ '/robots.txt',
190
+ '/site.webmanifest',
191
+ '/sitemap.xml',
192
+ '/static',
193
+ '/zephyr-manifest.json',
194
+ ],
195
+ languages: ['en', 'cs'],
196
+ localePathRedirect: true,
197
+ localisedUrls: ultramodernLocalisedUrls as Record<string, Record<string, string>>,
198
+ },
199
+ reactI18next: false,
200
+ }),
201
+ {{value15}} moduleFederationPlugin(),
202
+ zephyrRspackPlugin(),
203
+ ],
204
+ server: {
205
+ port,
206
+ publicDir: ['./locales', './assets'],
207
+ ssr: {
208
+ mode: 'string',
209
+ moduleFederationAppSSR: true,
210
+ },
211
+ },
212
+ source: {
213
+ alias: {
214
+ '@modern-js/plugin-i18n/runtime':
215
+ '@modern-js/plugin-i18n/runtime/no-react-i18next',
216
+ },
217
+ globalVars: {
218
+ ULTRAMODERN_SITE_URL: siteUrl,
219
+ },
220
+ mainEntryName: 'index',
221
+ },
222
+ splitChunks: {
223
+ chunks: 'async',
224
+ },
225
+ tools: {
226
+ autoprefixer: {
227
+ overrideBrowserslist: ['defaults'],
228
+ },
229
+ bundlerChain: chain => {
230
+ chain.output
231
+ .uniqueName('{{value16}}')
232
+ .chunkLoadingGlobal('{{value17}}');
233
+ },
234
+ devServer: {
235
+ headers: {
236
+ 'Access-Control-Allow-Headers':
237
+ 'Accept, Authorization, Content-Type, X-Requested-With',
238
+ 'Access-Control-Allow-Methods': 'GET, HEAD, OPTIONS',
239
+ 'Access-Control-Allow-Origin': moduleFederationDevServerOrigin,
240
+ },
241
+ },
242
+ },
243
+ },
244
+ {
245
+ appId,
246
+ enableBffRequestId: true,
247
+ enableModuleFederationSSR: true,
248
+ enableTelemetryExporters: true,
249
+ telemetryFailLoudStartup: false,
250
+ },
251
+ ),
252
+ );
@@ -0,0 +1,119 @@
1
+ export type JsonLdPrimitive = string | number | boolean | null;
2
+ export type JsonLdValue =
3
+ | JsonLdPrimitive
4
+ | readonly JsonLdValue[]
5
+ | { readonly [key: string]: JsonLdValue };
6
+ export type JsonLdObject = Readonly<Record<string, JsonLdValue>>;
7
+ export type RouteJsonLd = JsonLdObject | readonly JsonLdObject[];
8
+
9
+ const schemaContext = 'https://schema.org' as const;
10
+
11
+ type SchemaObject<TType extends string> = JsonLdObject & {
12
+ readonly '@context': typeof schemaContext;
13
+ readonly '@type': TType;
14
+ };
15
+
16
+ type ThingReference =
17
+ | string
18
+ | {
19
+ readonly '@id'?: string;
20
+ readonly '@type'?: string;
21
+ readonly name?: string;
22
+ readonly url?: string;
23
+ };
24
+
25
+ const withSchemaContext = <TType extends string, TInput extends object>(
26
+ type: TType,
27
+ input: TInput,
28
+ ): SchemaObject<TType> & TInput => ({
29
+ '@context': schemaContext,
30
+ '@type': type,
31
+ ...input,
32
+ });
33
+
34
+ export const defineRouteJsonLd = <TJsonLd extends RouteJsonLd>(
35
+ jsonLd: TJsonLd,
36
+ ): TJsonLd => jsonLd;
37
+
38
+ export interface WebPageJsonLdInput {
39
+ readonly name: string;
40
+ readonly url: string;
41
+ readonly description?: string;
42
+ readonly inLanguage?: string | readonly string[];
43
+ readonly isPartOf?: ThingReference;
44
+ }
45
+
46
+ export const webPageJsonLd = (input: WebPageJsonLdInput) =>
47
+ withSchemaContext('WebPage', input);
48
+
49
+ export interface WebApplicationJsonLdInput {
50
+ readonly name: string;
51
+ readonly url: string;
52
+ readonly applicationCategory?: string;
53
+ readonly browserRequirements?: string;
54
+ readonly description?: string;
55
+ readonly operatingSystem?: string;
56
+ }
57
+
58
+ export const webApplicationJsonLd = (input: WebApplicationJsonLdInput) =>
59
+ withSchemaContext('WebApplication', input);
60
+
61
+ export interface SoftwareApplicationJsonLdInput {
62
+ readonly name: string;
63
+ readonly url: string;
64
+ readonly applicationCategory?: string;
65
+ readonly applicationSubCategory?: string;
66
+ readonly description?: string;
67
+ readonly offers?: ThingReference;
68
+ readonly operatingSystem?: string;
69
+ }
70
+
71
+ export const softwareApplicationJsonLd = (
72
+ input: SoftwareApplicationJsonLdInput,
73
+ ) => withSchemaContext('SoftwareApplication', input);
74
+
75
+ export interface OrganizationJsonLdInput {
76
+ readonly name: string;
77
+ readonly url?: string;
78
+ readonly logo?: string;
79
+ readonly sameAs?: readonly string[];
80
+ }
81
+
82
+ export const organizationJsonLd = (input: OrganizationJsonLdInput) =>
83
+ withSchemaContext('Organization', input);
84
+
85
+ export interface BreadcrumbListItemInput {
86
+ readonly name: string;
87
+ readonly item: string;
88
+ }
89
+
90
+ export const breadcrumbListJsonLd = (
91
+ items: readonly BreadcrumbListItemInput[],
92
+ ) =>
93
+ withSchemaContext('BreadcrumbList', {
94
+ itemListElement: items.map((entry, index) => ({
95
+ '@type': 'ListItem',
96
+ item: entry.item,
97
+ name: entry.name,
98
+ position: index + 1,
99
+ })),
100
+ });
101
+
102
+ export interface FAQPageQuestionInput {
103
+ readonly name: string;
104
+ readonly acceptedAnswer: {
105
+ readonly text: string;
106
+ };
107
+ }
108
+
109
+ export const faqPageJsonLd = (questions: readonly FAQPageQuestionInput[]) =>
110
+ withSchemaContext('FAQPage', {
111
+ mainEntity: questions.map(question => ({
112
+ '@type': 'Question',
113
+ acceptedAnswer: {
114
+ '@type': 'Answer',
115
+ text: question.acceptedAnswer.text,
116
+ },
117
+ name: question.name,
118
+ })),
119
+ });
@@ -0,0 +1,21 @@
1
+ // @generated by @modern-js/create.
2
+ // Author route metadata in colocated src/routes/**/route.meta.ts files.
3
+ // This compatibility manifest is regenerated from route-owned metadata.
4
+
5
+ export const ultramodernRouteNamespace = '{{value0}}' as const;
6
+
7
+ export const ultramodernRouteMetadata = {{value1}} as const;
8
+
9
+ export const ultramodernLocalisedUrls = {{value2}} as const;
10
+
11
+ export const ultramodernPublicRoutes = {{value3}} as const;
12
+
13
+ export const ultramodernRouteConfig = {
14
+ authoring: 'colocated-route-meta',
15
+ generatedManifest: true,
16
+ localisedUrls: ultramodernLocalisedUrls,
17
+ namespace: ultramodernRouteNamespace,
18
+ publicRoutes: ultramodernPublicRoutes,
19
+ routes: ultramodernRouteMetadata,
20
+ source: 'route-owned',
21
+ } as const;
@@ -0,0 +1,49 @@
1
+ import { Link, useModernI18n } from '@modern-js/plugin-i18n/runtime';
2
+ import ShellFrame from '../shell-frame';
3
+ import { UltramodernRouteHead } from '../ultramodern-route-head';
4
+ import { VerticalShowcase } from '../vertical-components';
5
+ import { ultramodernUiMarker } from '../../ultramodern-build';
6
+
7
+ export default function ShellHome() {
8
+ const { t } = useModernI18n();
9
+
10
+ return (
11
+ <ShellFrame>
12
+ <UltramodernRouteHead />
13
+ <section className="{{value0}}">
14
+ <div className="{{value1}}">
15
+ <p className="{{value2}}">{t('shell.hero.eyebrow')}</p>
16
+ <h1 className="{{value3}}">{t('shell.title')}</h1>
17
+ <p className="{{value4}}">{t('shell.hero.lede')}</p>
18
+ <div className="{{value5}}">
19
+ <Link className="{{value6}}" to="/">
20
+ {t('shell.hero.primary')}
21
+ </Link>
22
+ <span className="{{value7}}">
23
+ {t('shell.hero.secondary')}
24
+ </span>
25
+ </div>
26
+ </div>
27
+ <div className="{{value8}}">
28
+ <div className="{{value9}}">
29
+ <article className="{{value10}}">
30
+ <span className="{{value11}}">{t('shell.hero.cardOneKicker')}</span>
31
+ <strong className="{{value12}}">{{value13}}</strong>
32
+ <p className="{{value14}}">{t('shell.hero.cardOne')}</p>
33
+ </article>
34
+ <article className="{{value15}}">
35
+ <span className="{{value16}}">{t('shell.hero.cardTwoKicker')}</span>
36
+ <strong className="{{value17}}">SSR</strong>
37
+ <p className="{{value18}}">{t('shell.hero.cardTwo')}</p>
38
+ </article>
39
+ </div>
40
+ </div>
41
+ </section>
42
+ <VerticalShowcase />
43
+ <p className="{{value19}}" data-testid="ultramodern-preset">presetUltramodern workspace</p>
44
+ <p className="{{value20}}" data-build-marker={ultramodernUiMarker.build} data-testid="ultramodern-ui-marker">
45
+ {ultramodernUiMarker.appId}:{ultramodernUiMarker.version}
46
+ </p>
47
+ </ShellFrame>
48
+ );
49
+ }
@@ -0,0 +1,79 @@
1
+ interface RemoteComponentModule {
2
+ default: ComponentType;
3
+ }
4
+
5
+ const loadRemoteComponent = (specifier: string) =>
6
+ loadRemote<RemoteComponentModule>(specifier) as Promise<RemoteComponentModule>;
7
+
8
+ const createRemoteFallback = (specifier: string) =>
9
+ ({ error }: { error: Error }) => {
10
+ const { t } = useModernI18n();
11
+ const classification = classifyModuleFederationFallback(error);
12
+ const telemetryEntry =
13
+ typeof window === 'undefined' ? undefined : window.location.href;
14
+ const telemetry = createModuleFederationFallbackTelemetry({
15
+ appName: '{{value0}}',
16
+ classification,
17
+ ...(telemetryEntry === undefined ? {} : { entry: telemetryEntry }),
18
+ error,
19
+ eventName: 'mf.client.remote.fallback',
20
+ exportName: 'default',
21
+ phase: 'load',
22
+ remote: specifier,
23
+ status: 'degraded',
24
+ });
25
+
26
+ useEffect(() => {
27
+ void emitModuleFederationFallbackTelemetry({
28
+ appName: telemetry.appName,
29
+ classification,
30
+ ...(telemetry.entry === undefined ? {} : { entry: telemetry.entry }),
31
+ error,
32
+ eventName: telemetry.eventName,
33
+ exportName: 'default',
34
+ metadata: telemetry.metadata,
35
+ phase: telemetry.phase,
36
+ remote: specifier,
37
+ status: 'degraded',
38
+ });
39
+ }, [classification, error, telemetry]);
40
+
41
+ return <div className="{{value1}}" data-remote-error={error.name} {...toModuleFederationFallbackAttributes(telemetry)}>{t('shell.remoteUnavailable')}</div>;
42
+ };
43
+
44
+ const createHydratedRemote =
45
+ (ServerComponent: ComponentType, specifier: string) =>
46
+ function HydratedRemote() {
47
+ const [hydrated, setHydrated] = useState(false);
48
+
49
+ useEffect(() => {
50
+ setHydrated(true);
51
+ }, []);
52
+
53
+ const FederatedComponent = useMemo(() => {
54
+ if (!hydrated) {
55
+ return null;
56
+ }
57
+ const instance = getInstance();
58
+ if (instance === null || instance === undefined) {
59
+ return null;
60
+ }
61
+ return createLazyComponent({
62
+ export: 'default',
63
+ fallback: createRemoteFallback(specifier),
64
+ instance,
65
+ loader: () => loadRemoteComponent(specifier),
66
+ loading: <ServerComponent />,
67
+ });
68
+ }, [hydrated]);
69
+
70
+ if (FederatedComponent === null) {
71
+ return <ServerComponent />;
72
+ }
73
+
74
+ return (
75
+ <Suspense fallback={<ServerComponent />}>
76
+ <FederatedComponent />
77
+ </Suspense>
78
+ );
79
+ };
@@ -0,0 +1,11 @@
1
+ import {
2
+ classifyModuleFederationFallback,
3
+ createModuleFederationFallbackTelemetry,
4
+ emitModuleFederationFallbackTelemetry,
5
+ toModuleFederationFallbackAttributes,
6
+ } from '@modern-js/runtime/module-federation';
7
+ import { createLazyComponent } from '@module-federation/bridge-react';
8
+ import { getInstance, loadRemote } from '@module-federation/modern-js-v3/runtime';
9
+ import { Suspense, useEffect, useMemo, useState } from 'react';
10
+ import type { ComponentType } from 'react';
11
+ {{value0}}