@bleedingdev/modern-js-create 3.5.0-ultramodern.30 → 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 (421) hide show
  1. package/dist/cjs/cli/flags.cjs +326 -0
  2. package/dist/cjs/cli/help.cjs +106 -0
  3. package/dist/cjs/cli/package-source.cjs +186 -0
  4. package/dist/cjs/cli/project-setup.cjs +138 -0
  5. package/dist/cjs/cli/prompts.cjs +118 -0
  6. package/dist/cjs/index.cjs +24 -581
  7. package/dist/cjs/ultramodern-tooling/commands/cloudflare-output-verify.cjs +132 -0
  8. package/dist/cjs/ultramodern-tooling/commands/context.cjs +131 -0
  9. package/dist/cjs/ultramodern-tooling/commands/mf-types.cjs +55 -0
  10. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.cjs +158 -0
  11. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.cjs +49 -0
  12. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.cjs +87 -0
  13. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.cjs +58 -0
  14. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.cjs +62 -0
  15. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.cjs +60 -0
  16. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.cjs +132 -0
  17. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.cjs +67 -0
  18. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.cjs +93 -0
  19. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.cjs +60 -0
  20. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.cjs +67 -0
  21. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.cjs +67 -0
  22. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/help.cjs +54 -0
  23. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/install.cjs +52 -0
  24. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/io.cjs +133 -0
  25. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.cjs +219 -0
  26. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-source.cjs +76 -0
  27. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.cjs +131 -0
  28. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.cjs +161 -0
  29. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.cjs +88 -0
  30. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect.cjs +149 -0
  31. package/dist/cjs/ultramodern-tooling/commands/options.cjs +59 -0
  32. package/dist/cjs/ultramodern-tooling/commands/routes-generate.cjs +122 -0
  33. package/dist/cjs/ultramodern-tooling/commands/skills.cjs +49 -0
  34. package/dist/cjs/ultramodern-tooling/commands/sync-delivery-unit.cjs +40 -0
  35. package/dist/cjs/ultramodern-tooling/commands/validate.cjs +49 -0
  36. package/dist/cjs/ultramodern-tooling/commands.cjs +17 -1165
  37. package/dist/cjs/ultramodern-tooling/config/constants.cjs +48 -0
  38. package/dist/cjs/ultramodern-tooling/config/index.cjs +104 -0
  39. package/dist/cjs/ultramodern-tooling/config/json.cjs +61 -0
  40. package/dist/cjs/ultramodern-tooling/config/load.cjs +62 -0
  41. package/dist/cjs/ultramodern-tooling/config/metadata.cjs +92 -0
  42. package/dist/cjs/ultramodern-tooling/config/normalize.cjs +160 -0
  43. package/dist/cjs/ultramodern-tooling/config/synthesize.cjs +157 -0
  44. package/dist/cjs/ultramodern-tooling/config/types.cjs +18 -0
  45. package/dist/cjs/ultramodern-tooling/config.cjs +23 -274
  46. package/dist/cjs/ultramodern-workspace/add-vertical/constants.cjs +52 -0
  47. package/dist/cjs/ultramodern-workspace/add-vertical/execute.cjs +156 -0
  48. package/dist/cjs/ultramodern-workspace/add-vertical/plan.cjs +246 -0
  49. package/dist/cjs/ultramodern-workspace/add-vertical/preflight.cjs +198 -0
  50. package/dist/cjs/ultramodern-workspace/add-vertical/shell-files.cjs +116 -0
  51. package/dist/cjs/ultramodern-workspace/add-vertical/topology.cjs +133 -0
  52. package/dist/cjs/ultramodern-workspace/add-vertical/workspace-state.cjs +107 -0
  53. package/dist/cjs/ultramodern-workspace/add-vertical.cjs +22 -596
  54. package/dist/cjs/ultramodern-workspace/api/checkout-cart.cjs +145 -0
  55. package/dist/cjs/ultramodern-workspace/api/client.cjs +218 -0
  56. package/dist/cjs/ultramodern-workspace/api/contracts.cjs +222 -0
  57. package/dist/cjs/ultramodern-workspace/api/names.cjs +98 -0
  58. package/dist/cjs/ultramodern-workspace/api/service.cjs +220 -0
  59. package/dist/cjs/ultramodern-workspace/api/shared.cjs +252 -0
  60. package/dist/cjs/ultramodern-workspace/api.cjs +27 -1046
  61. package/dist/cjs/ultramodern-workspace/app-files.cjs +3 -18
  62. package/dist/cjs/ultramodern-workspace/backend-federation.cjs +38 -24
  63. package/dist/cjs/ultramodern-workspace/bridge-config/cli.cjs +71 -0
  64. package/dist/cjs/ultramodern-workspace/bridge-config/defaults.cjs +43 -0
  65. package/dist/cjs/ultramodern-workspace/bridge-config/gates.cjs +93 -0
  66. package/dist/cjs/ultramodern-workspace/bridge-config/index.cjs +60 -0
  67. package/dist/cjs/ultramodern-workspace/bridge-config/normalize.cjs +68 -0
  68. package/dist/cjs/ultramodern-workspace/bridge-config/schema.cjs +78 -0
  69. package/dist/cjs/ultramodern-workspace/bridge-config/shared.cjs +110 -0
  70. package/dist/cjs/ultramodern-workspace/bridge-config/validation.cjs +68 -0
  71. package/dist/cjs/ultramodern-workspace/bridge-config/workspace-packages.cjs +108 -0
  72. package/dist/cjs/ultramodern-workspace/bridge-config.cjs +32 -297
  73. package/dist/cjs/ultramodern-workspace/delivery-unit-sync.cjs +22 -20
  74. package/dist/cjs/ultramodern-workspace/delivery-unit.cjs +7 -20
  75. package/dist/cjs/ultramodern-workspace/demo-components.cjs +47 -189
  76. package/dist/cjs/ultramodern-workspace/descriptors.cjs +12 -1
  77. package/dist/cjs/ultramodern-workspace/effect-diagnostics.cjs +114 -0
  78. package/dist/cjs/ultramodern-workspace/fs-io.cjs +24 -2
  79. package/dist/cjs/ultramodern-workspace/index.cjs +4 -0
  80. package/dist/cjs/ultramodern-workspace/mf-validation/constants.cjs +69 -0
  81. package/dist/cjs/ultramodern-workspace/mf-validation/discovery.cjs +77 -0
  82. package/dist/cjs/ultramodern-workspace/mf-validation/inspect.cjs +92 -0
  83. package/dist/cjs/ultramodern-workspace/mf-validation/object-literal.cjs +203 -0
  84. package/dist/cjs/ultramodern-workspace/mf-validation/path-utils.cjs +171 -0
  85. package/dist/cjs/ultramodern-workspace/mf-validation/syntax.cjs +228 -0
  86. package/dist/cjs/ultramodern-workspace/mf-validation/types.cjs +18 -0
  87. package/dist/cjs/ultramodern-workspace/mf-validation/validate.cjs +112 -0
  88. package/dist/cjs/ultramodern-workspace/mf-validation.cjs +6 -529
  89. package/dist/cjs/ultramodern-workspace/module-federation/config.cjs +251 -0
  90. package/dist/cjs/ultramodern-workspace/module-federation/index.cjs +73 -0
  91. package/dist/cjs/ultramodern-workspace/module-federation/reexport-module.cjs +73 -0
  92. package/dist/cjs/ultramodern-workspace/module-federation/remote-refs.cjs +105 -0
  93. package/dist/cjs/ultramodern-workspace/module-federation/shared-config.cjs +53 -0
  94. package/dist/cjs/ultramodern-workspace/module-federation.cjs +14 -584
  95. package/dist/cjs/ultramodern-workspace/package-json.cjs +13 -229
  96. package/dist/cjs/ultramodern-workspace/routes.cjs +8 -142
  97. package/dist/cjs/ultramodern-workspace/shared-patches.cjs +44 -0
  98. package/dist/cjs/ultramodern-workspace/tsconfigs.cjs +199 -0
  99. package/dist/cjs/ultramodern-workspace/workspace-script-plan.cjs +2 -2
  100. package/dist/cjs/ultramodern-workspace/write-app.cjs +128 -0
  101. package/dist/cjs/ultramodern-workspace/write-workspace.cjs +4 -61
  102. package/dist/cjs/ultramodern-workspace/zerops.cjs +13 -10
  103. package/dist/esm/cli/flags.js +228 -0
  104. package/dist/esm/cli/help.js +65 -0
  105. package/dist/esm/cli/package-source.js +119 -0
  106. package/dist/esm/cli/project-setup.js +81 -0
  107. package/dist/esm/cli/prompts.js +63 -0
  108. package/dist/esm/index.js +6 -559
  109. package/dist/esm/ultramodern-tooling/commands/cloudflare-output-verify.js +84 -0
  110. package/dist/esm/ultramodern-tooling/commands/context.js +66 -0
  111. package/dist/esm/ultramodern-tooling/commands/mf-types.js +17 -0
  112. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +106 -0
  113. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +11 -0
  114. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +38 -0
  115. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +10 -0
  116. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +14 -0
  117. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +12 -0
  118. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +83 -0
  119. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +16 -0
  120. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +44 -0
  121. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +12 -0
  122. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +7 -0
  123. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +15 -0
  124. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/help.js +16 -0
  125. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/install.js +14 -0
  126. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/io.js +69 -0
  127. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +175 -0
  128. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +38 -0
  129. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +76 -0
  130. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +105 -0
  131. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +16 -0
  132. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect.js +100 -0
  133. package/dist/esm/ultramodern-tooling/commands/options.js +18 -0
  134. package/dist/esm/ultramodern-tooling/commands/routes-generate.js +74 -0
  135. package/dist/esm/ultramodern-tooling/commands/skills.js +11 -0
  136. package/dist/esm/ultramodern-tooling/commands/sync-delivery-unit.js +1 -0
  137. package/dist/esm/ultramodern-tooling/commands/validate.js +11 -0
  138. package/dist/esm/ultramodern-tooling/commands.js +9 -1152
  139. package/dist/esm/ultramodern-tooling/config/constants.js +4 -0
  140. package/dist/esm/ultramodern-tooling/config/index.js +7 -0
  141. package/dist/esm/ultramodern-tooling/config/json.js +10 -0
  142. package/dist/esm/ultramodern-tooling/config/load.js +13 -0
  143. package/dist/esm/ultramodern-tooling/config/metadata.js +37 -0
  144. package/dist/esm/ultramodern-tooling/config/normalize.js +106 -0
  145. package/dist/esm/ultramodern-tooling/config/synthesize.js +108 -0
  146. package/dist/esm/ultramodern-tooling/config/types.js +0 -0
  147. package/dist/esm/ultramodern-tooling/config.js +1 -255
  148. package/dist/esm/ultramodern-workspace/add-vertical/constants.js +5 -0
  149. package/dist/esm/ultramodern-workspace/add-vertical/execute.js +108 -0
  150. package/dist/esm/ultramodern-workspace/add-vertical/plan.js +184 -0
  151. package/dist/esm/ultramodern-workspace/add-vertical/preflight.js +122 -0
  152. package/dist/esm/ultramodern-workspace/add-vertical/shell-files.js +59 -0
  153. package/dist/esm/ultramodern-workspace/add-vertical/topology.js +89 -0
  154. package/dist/esm/ultramodern-workspace/add-vertical/workspace-state.js +43 -0
  155. package/dist/esm/ultramodern-workspace/add-vertical.js +6 -569
  156. package/dist/esm/ultramodern-workspace/api/checkout-cart.js +86 -0
  157. package/dist/esm/ultramodern-workspace/api/client.js +177 -0
  158. package/dist/esm/ultramodern-workspace/api/contracts.js +172 -0
  159. package/dist/esm/ultramodern-workspace/api/names.js +33 -0
  160. package/dist/esm/ultramodern-workspace/api/service.js +179 -0
  161. package/dist/esm/ultramodern-workspace/api/shared.js +208 -0
  162. package/dist/esm/ultramodern-workspace/api.js +5 -1025
  163. package/dist/esm/ultramodern-workspace/app-files.js +3 -18
  164. package/dist/esm/ultramodern-workspace/backend-federation.js +27 -13
  165. package/dist/esm/ultramodern-workspace/bridge-config/cli.js +30 -0
  166. package/dist/esm/ultramodern-workspace/bridge-config/defaults.js +5 -0
  167. package/dist/esm/ultramodern-workspace/bridge-config/gates.js +52 -0
  168. package/dist/esm/ultramodern-workspace/bridge-config/index.js +3 -0
  169. package/dist/esm/ultramodern-workspace/bridge-config/normalize.js +30 -0
  170. package/dist/esm/ultramodern-workspace/bridge-config/schema.js +31 -0
  171. package/dist/esm/ultramodern-workspace/bridge-config/shared.js +51 -0
  172. package/dist/esm/ultramodern-workspace/bridge-config/validation.js +27 -0
  173. package/dist/esm/ultramodern-workspace/bridge-config/workspace-packages.js +67 -0
  174. package/dist/esm/ultramodern-workspace/bridge-config.js +1 -270
  175. package/dist/esm/ultramodern-workspace/delivery-unit-sync.js +23 -21
  176. package/dist/esm/ultramodern-workspace/delivery-unit.js +6 -16
  177. package/dist/esm/ultramodern-workspace/demo-components.js +47 -189
  178. package/dist/esm/ultramodern-workspace/descriptors.js +12 -1
  179. package/dist/esm/ultramodern-workspace/effect-diagnostics.js +76 -0
  180. package/dist/esm/ultramodern-workspace/fs-io.js +24 -2
  181. package/dist/esm/ultramodern-workspace/index.js +1 -0
  182. package/dist/esm/ultramodern-workspace/mf-validation/constants.js +19 -0
  183. package/dist/esm/ultramodern-workspace/mf-validation/discovery.js +28 -0
  184. package/dist/esm/ultramodern-workspace/mf-validation/inspect.js +45 -0
  185. package/dist/esm/ultramodern-workspace/mf-validation/object-literal.js +144 -0
  186. package/dist/esm/ultramodern-workspace/mf-validation/path-utils.js +89 -0
  187. package/dist/esm/ultramodern-workspace/mf-validation/syntax.js +154 -0
  188. package/dist/esm/ultramodern-workspace/mf-validation/types.js +0 -0
  189. package/dist/esm/ultramodern-workspace/mf-validation/validate.js +57 -0
  190. package/dist/esm/ultramodern-workspace/mf-validation.js +3 -516
  191. package/dist/esm/ultramodern-workspace/module-federation/config.js +204 -0
  192. package/dist/esm/ultramodern-workspace/module-federation/index.js +4 -0
  193. package/dist/esm/ultramodern-workspace/module-federation/reexport-module.js +29 -0
  194. package/dist/esm/ultramodern-workspace/module-federation/remote-refs.js +64 -0
  195. package/dist/esm/ultramodern-workspace/module-federation/shared-config.js +12 -0
  196. package/dist/esm/ultramodern-workspace/module-federation.js +2 -576
  197. package/dist/esm/ultramodern-workspace/package-json.js +7 -210
  198. package/dist/esm/ultramodern-workspace/routes.js +8 -142
  199. package/dist/esm/ultramodern-workspace/shared-patches.js +6 -0
  200. package/dist/esm/ultramodern-workspace/tsconfigs.js +136 -0
  201. package/dist/esm/ultramodern-workspace/workspace-script-plan.js +2 -2
  202. package/dist/esm/ultramodern-workspace/write-app.js +90 -0
  203. package/dist/esm/ultramodern-workspace/write-workspace.js +4 -61
  204. package/dist/esm/ultramodern-workspace/zerops.js +13 -10
  205. package/dist/esm-node/cli/flags.js +229 -0
  206. package/dist/esm-node/cli/help.js +66 -0
  207. package/dist/esm-node/cli/package-source.js +120 -0
  208. package/dist/esm-node/cli/project-setup.js +82 -0
  209. package/dist/esm-node/cli/prompts.js +64 -0
  210. package/dist/esm-node/index.js +6 -559
  211. package/dist/esm-node/ultramodern-tooling/commands/cloudflare-output-verify.js +85 -0
  212. package/dist/esm-node/ultramodern-tooling/commands/context.js +67 -0
  213. package/dist/esm-node/ultramodern-tooling/commands/mf-types.js +18 -0
  214. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +107 -0
  215. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +12 -0
  216. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +39 -0
  217. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +11 -0
  218. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +15 -0
  219. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +13 -0
  220. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +84 -0
  221. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +17 -0
  222. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +45 -0
  223. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +13 -0
  224. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +8 -0
  225. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +16 -0
  226. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/help.js +17 -0
  227. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/install.js +15 -0
  228. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/io.js +70 -0
  229. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +176 -0
  230. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +39 -0
  231. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +77 -0
  232. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +106 -0
  233. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +17 -0
  234. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect.js +101 -0
  235. package/dist/esm-node/ultramodern-tooling/commands/options.js +19 -0
  236. package/dist/esm-node/ultramodern-tooling/commands/routes-generate.js +75 -0
  237. package/dist/esm-node/ultramodern-tooling/commands/skills.js +12 -0
  238. package/dist/esm-node/ultramodern-tooling/commands/sync-delivery-unit.js +2 -0
  239. package/dist/esm-node/ultramodern-tooling/commands/validate.js +12 -0
  240. package/dist/esm-node/ultramodern-tooling/commands.js +9 -1152
  241. package/dist/esm-node/ultramodern-tooling/config/constants.js +5 -0
  242. package/dist/esm-node/ultramodern-tooling/config/index.js +8 -0
  243. package/dist/esm-node/ultramodern-tooling/config/json.js +11 -0
  244. package/dist/esm-node/ultramodern-tooling/config/load.js +14 -0
  245. package/dist/esm-node/ultramodern-tooling/config/metadata.js +38 -0
  246. package/dist/esm-node/ultramodern-tooling/config/normalize.js +107 -0
  247. package/dist/esm-node/ultramodern-tooling/config/synthesize.js +109 -0
  248. package/dist/esm-node/ultramodern-tooling/config/types.js +1 -0
  249. package/dist/esm-node/ultramodern-tooling/config.js +1 -255
  250. package/dist/esm-node/ultramodern-workspace/add-vertical/constants.js +6 -0
  251. package/dist/esm-node/ultramodern-workspace/add-vertical/execute.js +109 -0
  252. package/dist/esm-node/ultramodern-workspace/add-vertical/plan.js +185 -0
  253. package/dist/esm-node/ultramodern-workspace/add-vertical/preflight.js +123 -0
  254. package/dist/esm-node/ultramodern-workspace/add-vertical/shell-files.js +60 -0
  255. package/dist/esm-node/ultramodern-workspace/add-vertical/topology.js +90 -0
  256. package/dist/esm-node/ultramodern-workspace/add-vertical/workspace-state.js +44 -0
  257. package/dist/esm-node/ultramodern-workspace/add-vertical.js +6 -569
  258. package/dist/esm-node/ultramodern-workspace/api/checkout-cart.js +87 -0
  259. package/dist/esm-node/ultramodern-workspace/api/client.js +178 -0
  260. package/dist/esm-node/ultramodern-workspace/api/contracts.js +173 -0
  261. package/dist/esm-node/ultramodern-workspace/api/names.js +34 -0
  262. package/dist/esm-node/ultramodern-workspace/api/service.js +180 -0
  263. package/dist/esm-node/ultramodern-workspace/api/shared.js +209 -0
  264. package/dist/esm-node/ultramodern-workspace/api.js +5 -1025
  265. package/dist/esm-node/ultramodern-workspace/app-files.js +3 -18
  266. package/dist/esm-node/ultramodern-workspace/backend-federation.js +27 -13
  267. package/dist/esm-node/ultramodern-workspace/bridge-config/cli.js +31 -0
  268. package/dist/esm-node/ultramodern-workspace/bridge-config/defaults.js +6 -0
  269. package/dist/esm-node/ultramodern-workspace/bridge-config/gates.js +53 -0
  270. package/dist/esm-node/ultramodern-workspace/bridge-config/index.js +4 -0
  271. package/dist/esm-node/ultramodern-workspace/bridge-config/normalize.js +31 -0
  272. package/dist/esm-node/ultramodern-workspace/bridge-config/schema.js +32 -0
  273. package/dist/esm-node/ultramodern-workspace/bridge-config/shared.js +52 -0
  274. package/dist/esm-node/ultramodern-workspace/bridge-config/validation.js +28 -0
  275. package/dist/esm-node/ultramodern-workspace/bridge-config/workspace-packages.js +68 -0
  276. package/dist/esm-node/ultramodern-workspace/bridge-config.js +1 -270
  277. package/dist/esm-node/ultramodern-workspace/delivery-unit-sync.js +23 -21
  278. package/dist/esm-node/ultramodern-workspace/delivery-unit.js +6 -16
  279. package/dist/esm-node/ultramodern-workspace/demo-components.js +47 -189
  280. package/dist/esm-node/ultramodern-workspace/descriptors.js +12 -1
  281. package/dist/esm-node/ultramodern-workspace/effect-diagnostics.js +77 -0
  282. package/dist/esm-node/ultramodern-workspace/fs-io.js +24 -2
  283. package/dist/esm-node/ultramodern-workspace/index.js +1 -0
  284. package/dist/esm-node/ultramodern-workspace/mf-validation/constants.js +20 -0
  285. package/dist/esm-node/ultramodern-workspace/mf-validation/discovery.js +29 -0
  286. package/dist/esm-node/ultramodern-workspace/mf-validation/inspect.js +46 -0
  287. package/dist/esm-node/ultramodern-workspace/mf-validation/object-literal.js +145 -0
  288. package/dist/esm-node/ultramodern-workspace/mf-validation/path-utils.js +90 -0
  289. package/dist/esm-node/ultramodern-workspace/mf-validation/syntax.js +155 -0
  290. package/dist/esm-node/ultramodern-workspace/mf-validation/types.js +1 -0
  291. package/dist/esm-node/ultramodern-workspace/mf-validation/validate.js +58 -0
  292. package/dist/esm-node/ultramodern-workspace/mf-validation.js +3 -516
  293. package/dist/esm-node/ultramodern-workspace/module-federation/config.js +205 -0
  294. package/dist/esm-node/ultramodern-workspace/module-federation/index.js +5 -0
  295. package/dist/esm-node/ultramodern-workspace/module-federation/reexport-module.js +30 -0
  296. package/dist/esm-node/ultramodern-workspace/module-federation/remote-refs.js +65 -0
  297. package/dist/esm-node/ultramodern-workspace/module-federation/shared-config.js +13 -0
  298. package/dist/esm-node/ultramodern-workspace/module-federation.js +2 -576
  299. package/dist/esm-node/ultramodern-workspace/package-json.js +7 -210
  300. package/dist/esm-node/ultramodern-workspace/routes.js +8 -142
  301. package/dist/esm-node/ultramodern-workspace/shared-patches.js +7 -0
  302. package/dist/esm-node/ultramodern-workspace/tsconfigs.js +137 -0
  303. package/dist/esm-node/ultramodern-workspace/workspace-script-plan.js +2 -2
  304. package/dist/esm-node/ultramodern-workspace/write-app.js +91 -0
  305. package/dist/esm-node/ultramodern-workspace/write-workspace.js +4 -61
  306. package/dist/esm-node/ultramodern-workspace/zerops.js +13 -10
  307. package/dist/types/cli/flags.d.ts +30 -0
  308. package/dist/types/cli/help.d.ts +2 -0
  309. package/dist/types/cli/package-source.d.ts +15 -0
  310. package/dist/types/cli/project-setup.d.ts +8 -0
  311. package/dist/types/cli/prompts.d.ts +6 -0
  312. package/dist/types/ultramodern-tooling/commands/cloudflare-output-verify.d.ts +2 -0
  313. package/dist/types/ultramodern-tooling/commands/context.d.ts +11 -0
  314. package/dist/types/ultramodern-tooling/commands/mf-types.d.ts +2 -0
  315. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.d.ts +4 -0
  316. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.d.ts +4 -0
  317. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.d.ts +1 -0
  318. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.d.ts +3 -0
  319. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.d.ts +3 -0
  320. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.d.ts +3 -0
  321. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.d.ts +2 -0
  322. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.d.ts +4 -0
  323. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.d.ts +3 -0
  324. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.d.ts +3 -0
  325. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.d.ts +7 -0
  326. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.d.ts +3 -0
  327. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/help.d.ts +1 -0
  328. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/install.d.ts +2 -0
  329. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/io.d.ts +14 -0
  330. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.d.ts +9 -0
  331. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-source.d.ts +3 -0
  332. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.d.ts +4 -0
  333. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.d.ts +25 -0
  334. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.d.ts +9 -0
  335. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect.d.ts +2 -0
  336. package/dist/types/ultramodern-tooling/commands/options.d.ts +2 -0
  337. package/dist/types/ultramodern-tooling/commands/routes-generate.d.ts +2 -0
  338. package/dist/types/ultramodern-tooling/commands/skills.d.ts +2 -0
  339. package/dist/types/ultramodern-tooling/commands/sync-delivery-unit.d.ts +1 -0
  340. package/dist/types/ultramodern-tooling/commands/validate.d.ts +2 -0
  341. package/dist/types/ultramodern-tooling/config/constants.d.ts +3 -0
  342. package/dist/types/ultramodern-tooling/config/index.d.ts +7 -0
  343. package/dist/types/ultramodern-tooling/config/json.d.ts +2 -0
  344. package/dist/types/ultramodern-tooling/config/load.d.ts +2 -0
  345. package/dist/types/ultramodern-tooling/config/metadata.d.ts +4 -0
  346. package/dist/types/ultramodern-tooling/config/normalize.d.ts +5 -0
  347. package/dist/types/ultramodern-tooling/config/synthesize.d.ts +5 -0
  348. package/dist/types/ultramodern-tooling/config/types.d.ts +41 -0
  349. package/dist/types/ultramodern-tooling/config.d.ts +1 -49
  350. package/dist/types/ultramodern-workspace/add-vertical/constants.d.ts +4 -0
  351. package/dist/types/ultramodern-workspace/add-vertical/execute.d.ts +2 -0
  352. package/dist/types/ultramodern-workspace/add-vertical/plan.d.ts +7 -0
  353. package/dist/types/ultramodern-workspace/add-vertical/preflight.d.ts +28 -0
  354. package/dist/types/ultramodern-workspace/add-vertical/shell-files.d.ts +6 -0
  355. package/dist/types/ultramodern-workspace/add-vertical/topology.d.ts +9 -0
  356. package/dist/types/ultramodern-workspace/add-vertical/workspace-state.d.ts +8 -0
  357. package/dist/types/ultramodern-workspace/add-vertical.d.ts +7 -39
  358. package/dist/types/ultramodern-workspace/api/checkout-cart.d.ts +33 -0
  359. package/dist/types/ultramodern-workspace/api/client.d.ts +6 -0
  360. package/dist/types/ultramodern-workspace/api/contracts.d.ts +15 -0
  361. package/dist/types/ultramodern-workspace/api/names.d.ts +41 -0
  362. package/dist/types/ultramodern-workspace/api/service.d.ts +6 -0
  363. package/dist/types/ultramodern-workspace/api/shared.d.ts +10 -0
  364. package/dist/types/ultramodern-workspace/api.d.ts +5 -74
  365. package/dist/types/ultramodern-workspace/backend-federation.d.ts +2 -2
  366. package/dist/types/ultramodern-workspace/bridge-config/cli.d.ts +3 -0
  367. package/dist/types/ultramodern-workspace/bridge-config/defaults.d.ts +1 -0
  368. package/dist/types/ultramodern-workspace/bridge-config/gates.d.ts +3 -0
  369. package/dist/types/ultramodern-workspace/bridge-config/index.d.ts +4 -0
  370. package/dist/types/ultramodern-workspace/bridge-config/normalize.d.ts +2 -0
  371. package/dist/types/ultramodern-workspace/bridge-config/schema.d.ts +61 -0
  372. package/dist/types/ultramodern-workspace/bridge-config/shared.d.ts +12 -0
  373. package/dist/types/ultramodern-workspace/bridge-config/validation.d.ts +3 -0
  374. package/dist/types/ultramodern-workspace/bridge-config/workspace-packages.d.ts +3 -0
  375. package/dist/types/ultramodern-workspace/bridge-config.d.ts +1 -64
  376. package/dist/types/ultramodern-workspace/delivery-unit.d.ts +2 -21
  377. package/dist/types/ultramodern-workspace/effect-diagnostics.d.ts +1 -0
  378. package/dist/types/ultramodern-workspace/index.d.ts +1 -0
  379. package/dist/types/ultramodern-workspace/mf-validation/constants.d.ts +5 -0
  380. package/dist/types/ultramodern-workspace/mf-validation/discovery.d.ts +2 -0
  381. package/dist/types/ultramodern-workspace/mf-validation/inspect.d.ts +5 -0
  382. package/dist/types/ultramodern-workspace/mf-validation/object-literal.d.ts +9 -0
  383. package/dist/types/ultramodern-workspace/mf-validation/path-utils.d.ts +13 -0
  384. package/dist/types/ultramodern-workspace/mf-validation/syntax.d.ts +14 -0
  385. package/dist/types/ultramodern-workspace/mf-validation/types.d.ts +33 -0
  386. package/dist/types/ultramodern-workspace/mf-validation/validate.d.ts +4 -0
  387. package/dist/types/ultramodern-workspace/mf-validation.d.ts +4 -27
  388. package/dist/types/ultramodern-workspace/module-federation/config.d.ts +5 -0
  389. package/dist/types/ultramodern-workspace/module-federation/index.d.ts +4 -0
  390. package/dist/types/ultramodern-workspace/module-federation/reexport-module.d.ts +4 -0
  391. package/dist/types/ultramodern-workspace/module-federation/remote-refs.d.ts +3 -0
  392. package/dist/types/ultramodern-workspace/module-federation/shared-config.d.ts +2 -0
  393. package/dist/types/ultramodern-workspace/module-federation.d.ts +1 -11
  394. package/dist/types/ultramodern-workspace/package-json.d.ts +1 -13
  395. package/dist/types/ultramodern-workspace/shared-patches.d.ts +2 -0
  396. package/dist/types/ultramodern-workspace/tsconfigs.d.ts +13 -0
  397. package/dist/types/ultramodern-workspace/workspace-validation-contract.d.ts +1 -1
  398. package/dist/types/ultramodern-workspace/write-app.d.ts +3 -0
  399. package/dist/types/ultramodern-workspace/write-workspace.d.ts +2 -1
  400. package/package.json +4 -3
  401. package/templates/workspace/apps/modern.config.shared-module-federation.ts.handlebars +37 -0
  402. package/templates/workspace/apps/modern.config.ts.handlebars +252 -0
  403. package/templates/workspace/apps/shared/src/routes/ultramodern-jsonld.ts.handlebars +119 -0
  404. package/templates/workspace/apps/shared/src/routes/ultramodern-route-metadata.ts.handlebars +21 -0
  405. package/templates/workspace/apps/shell-super-app/src/routes/[lang]/page.tsx.handlebars +49 -0
  406. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.helpers.tsx.handlebars +79 -0
  407. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.imports.tsx.handlebars +11 -0
  408. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.tsx.handlebars +46 -0
  409. package/templates/workspace/packages/shared-design-tokens/tokens.css.handlebars +7 -0
  410. package/templates/workspace/postcss.config.mjs.handlebars +5 -0
  411. package/templates/workspace/tailwind.config.ts.handlebars +3 -0
  412. package/templates/workspace/verticals/server/checkout-cart-handlers.ts.handlebars +49 -0
  413. package/templates/workspace/verticals/server/checkout-cart-state.ts.handlebars +23 -0
  414. package/templates/workspace/verticals/shared/api.checkout-cart-contract-fields.ts.handlebars +1 -0
  415. package/templates/workspace/verticals/shared/api.checkout-cart-endpoints.ts.handlebars +23 -0
  416. package/templates/workspace/verticals/shared/api.checkout-cart-operation-contexts.ts.handlebars +25 -0
  417. package/templates/workspace/verticals/shared/api.checkout-cart-schemas.ts.handlebars +48 -0
  418. package/templates/workspace/verticals/src/api/checkout-cart-client-exports.ts.handlebars +70 -0
  419. package/templates/workspace-scripts/generate-node-backend-federation.mjs +29 -0
  420. package/templates/workspace-scripts/proof-node-backend-federation.mjs +31 -0
  421. package/templates/workspace-scripts/validate-ultramodern-workspace.mjs.handlebars +74 -40
@@ -0,0 +1,4 @@
1
+ export { createAppModernConfig, createBackendModuleFederationConfig, createRemoteModuleFederationConfig, createShellModuleFederationConfig, } from './config';
2
+ export { createUltramodernBuildArtifactJson, createUltramodernBuildModule, createUltramodernBuildReexportModule, } from './reexport-module';
3
+ export { createModuleFederationRemotesConfig, createModuleFederationRemoteUrlHelpers, } from './remote-refs';
4
+ export { createSharedModuleFederationConfig, formatTsObjectLiteral, } from './shared-config';
@@ -0,0 +1,4 @@
1
+ import type { WorkspaceApp } from '../types';
2
+ export declare function createUltramodernBuildArtifactJson(scope: string, app: WorkspaceApp): string;
3
+ export declare function createUltramodernBuildModule(): string;
4
+ export declare function createUltramodernBuildReexportModule(): string;
@@ -0,0 +1,3 @@
1
+ import type { WorkspaceApp } from '../types';
2
+ export declare function createModuleFederationRemoteUrlHelpers(app: WorkspaceApp, remotes?: WorkspaceApp[]): string;
3
+ export declare function createModuleFederationRemotesConfig(scope: string, app: WorkspaceApp, remotes?: WorkspaceApp[]): string;
@@ -0,0 +1,2 @@
1
+ export declare function createSharedModuleFederationConfig(): string;
2
+ export declare function formatTsObjectLiteral(value: Record<string, string>): string;
@@ -1,12 +1,2 @@
1
- import type { WorkspaceApp } from './types';
2
- export declare function createAppModernConfig(scope: string, app: WorkspaceApp, remotes?: WorkspaceApp[]): string;
3
- export declare function createSharedModuleFederationConfig(): string;
4
- export declare function formatTsObjectLiteral(value: Record<string, string>): string;
5
- export declare function createModuleFederationRemoteUrlHelpers(app: WorkspaceApp, remotes?: WorkspaceApp[]): string;
6
- export declare function createModuleFederationRemotesConfig(scope: string, app: WorkspaceApp, remotes?: WorkspaceApp[]): string;
7
- export declare function createShellModuleFederationConfig(scope: string, remotes?: WorkspaceApp[]): string;
8
- export declare function createBackendModuleFederationConfig(app: WorkspaceApp): string;
9
1
  export { createBuildMarker } from './delivery-unit';
10
- export declare function createUltramodernBuildModule(scope: string, app: WorkspaceApp): string;
11
- export declare function createUltramodernBuildReexportModule(): string;
12
- export declare function createRemoteModuleFederationConfig(scope: string, app: WorkspaceApp, remotes?: WorkspaceApp[]): string;
2
+ export { createAppModernConfig, createBackendModuleFederationConfig, createModuleFederationRemotesConfig, createModuleFederationRemoteUrlHelpers, createRemoteModuleFederationConfig, createSharedModuleFederationConfig, createShellModuleFederationConfig, createUltramodernBuildArtifactJson, createUltramodernBuildModule, createUltramodernBuildReexportModule, formatTsObjectLiteral, } from './module-federation/index';
@@ -1,22 +1,10 @@
1
1
  import type { UltramodernBridgeConfig } from './bridge-config';
2
2
  import type { JsonValue, ResolvedPackageSource, WorkspaceApp } from './types';
3
- export declare const effectDiagnostics: string[];
4
3
  export declare function appDependencies(scope: string, packageSource: ResolvedPackageSource, app: WorkspaceApp, remotes?: WorkspaceApp[], bridge?: UltramodernBridgeConfig): Record<string, string>;
5
4
  export declare function appDevDependencies(packageSource: ResolvedPackageSource, enableTailwind: boolean): Record<string, string>;
6
5
  export declare function createRootPackageJson(scope: string, packageSource: ResolvedPackageSource, remotes?: WorkspaceApp[], bridge?: UltramodernBridgeConfig): JsonValue;
7
6
  export declare function createZephyrDependencies(scope: string, app: WorkspaceApp, remotes?: WorkspaceApp[]): JsonValue;
8
- export declare function createTsConfigBase(): JsonValue;
9
- type CreatePackageTsConfigOptions = {
10
- include?: string[];
11
- includeApi?: boolean;
12
- references?: string[];
13
- };
14
- export declare function createPackageTsConfig(packageDir: string, options?: CreatePackageTsConfigOptions | boolean): JsonValue;
15
- export declare function createAppTsConfig(app: WorkspaceApp, remotes?: WorkspaceApp[]): JsonValue;
16
- export declare function createAppMfTypesTsConfig(app: WorkspaceApp): JsonValue;
17
- export declare function createSharedPackageTsConfig(packageDir: string): JsonValue;
18
- export declare function createRootTsConfig(apps?: WorkspaceApp[]): JsonValue;
7
+ export { createAppMfTypesTsConfig, createAppTsConfig, createPackageTsConfig, createRootTsConfig, createSharedPackageTsConfig, createTsConfigBase, } from './tsconfigs';
19
8
  export declare function createAppPackage(scope: string, app: WorkspaceApp, packageSource: ResolvedPackageSource, enableTailwind: boolean, remotes?: WorkspaceApp[], bridge?: UltramodernBridgeConfig): JsonValue;
20
9
  export declare function createSharedPackage(scope: string, id: string, description: string): JsonValue;
21
10
  export declare function createSharedContractsIndex(): string;
22
- export {};
@@ -0,0 +1,2 @@
1
+ export declare const SHARED_ULTRAMODERN_WORKSPACE_PATCH_FILES: readonly ['@module-federation__bridge-react@2.6.0.patch', '@module-federation__modern-js-v3@2.6.0.patch', '@tanstack__router-core@1.171.13.patch'];
2
+ export type SharedUltramodernWorkspacePatchFile = (typeof SHARED_ULTRAMODERN_WORKSPACE_PATCH_FILES)[number];
@@ -0,0 +1,13 @@
1
+ import type { JsonValue, WorkspaceApp } from './types';
2
+ export declare function createTsConfigBase(): JsonValue;
3
+ type CreatePackageTsConfigOptions = {
4
+ include?: string[];
5
+ includeApi?: boolean;
6
+ references?: string[];
7
+ };
8
+ export declare function createPackageTsConfig(packageDir: string, options?: CreatePackageTsConfigOptions | boolean): JsonValue;
9
+ export declare function createAppTsConfig(app: WorkspaceApp, remotes?: WorkspaceApp[]): JsonValue;
10
+ export declare function createAppMfTypesTsConfig(app: WorkspaceApp): JsonValue;
11
+ export declare function createSharedPackageTsConfig(packageDir: string): JsonValue;
12
+ export declare function createRootTsConfig(apps?: WorkspaceApp[]): JsonValue;
13
+ export {};
@@ -23,7 +23,7 @@ export declare function createWorkspaceValidationContract(scope: string, enableT
23
23
  zephyrAlias: string;
24
24
  packageName: string;
25
25
  backendFederation: import("./types").JsonValue | undefined;
26
- deliveryUnit: import("./delivery-unit").DeliveryUnitRecord;
26
+ deliveryUnit: import("@modern-js/utils/universal").DeliveryUnitRecord;
27
27
  exposes: string[];
28
28
  componentPaths: string[];
29
29
  namespace: string;
@@ -0,0 +1,3 @@
1
+ import type { UltramodernBridgeConfig } from './bridge-config';
2
+ import type { ResolvedPackageSource, WorkspaceApp } from './types';
3
+ export declare function writeApp(targetDir: string, scope: string, app: WorkspaceApp, packageSource: ResolvedPackageSource, enableTailwind: boolean, remotes?: WorkspaceApp[], bridge?: UltramodernBridgeConfig): void;
@@ -1,6 +1,7 @@
1
1
  import type { UltramodernBridgeConfig } from './bridge-config';
2
2
  import type { JsonValue, ResolvedPackageSource, UltramodernGenerationResult, UltramodernWorkspaceOptions, WorkspaceApp } from './types';
3
- export declare function writeApp(targetDir: string, scope: string, app: WorkspaceApp, packageSource: ResolvedPackageSource, enableTailwind: boolean, remotes?: WorkspaceApp[], bridge?: UltramodernBridgeConfig): void;
3
+ import { writeApp } from './write-app';
4
+ export { writeApp };
4
5
  export declare function writeSharedPackages(targetDir: string, scope: string): void;
5
6
  export declare function createCompactUltramodernConfig(scope: string, modernVersion: string, packageSource: ResolvedPackageSource, apps?: WorkspaceApp[], enableTailwind?: boolean, bridge?: UltramodernBridgeConfig): JsonValue;
6
7
  export declare function generateUltramodernWorkspace(options: UltramodernWorkspaceOptions): UltramodernGenerationResult;
package/package.json CHANGED
@@ -21,7 +21,7 @@
21
21
  "engines": {
22
22
  "node": ">=20"
23
23
  },
24
- "version": "3.5.0-ultramodern.30",
24
+ "version": "3.5.0-ultramodern.31",
25
25
  "types": "./dist/types/index.d.ts",
26
26
  "main": "./dist/esm-node/index.js",
27
27
  "bin": {
@@ -77,7 +77,8 @@
77
77
  "@modern-js/codesmith": "2.6.9",
78
78
  "oxfmt": "0.56.0",
79
79
  "ultracite": "7.8.3",
80
- "@modern-js/i18n-utils": "npm:@bleedingdev/modern-js-i18n-utils@3.5.0-ultramodern.30"
80
+ "@modern-js/i18n-utils": "npm:@bleedingdev/modern-js-i18n-utils@3.5.0-ultramodern.31",
81
+ "@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.5.0-ultramodern.31"
81
82
  },
82
83
  "devDependencies": {
83
84
  "@rslib/core": "0.23.1",
@@ -99,6 +100,6 @@
99
100
  "test": "rm -rf dist && rslib build -c rslibconfig.mts && rstest --passWithNoTests"
100
101
  },
101
102
  "ultramodern": {
102
- "frameworkVersion": "3.5.0-ultramodern.30"
103
+ "frameworkVersion": "3.5.0-ultramodern.31"
103
104
  }
104
105
  }
@@ -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
+ }