@bleedingdev/modern-js-ultramodern-create 3.9.0-ultramodern.2 → 3.9.0-ultramodern.21

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 (442) hide show
  1. package/README.md +43 -74
  2. package/dist/cjs/cli/package-source.cjs +2 -2
  3. package/dist/cjs/cli/project-setup.cjs +2 -22
  4. package/dist/cjs/index.cjs +9 -1
  5. package/dist/cjs/locale/en.cjs +2 -1
  6. package/dist/cjs/locale/zh.cjs +2 -1
  7. package/dist/cjs/ultramodern-package-source.cjs +13 -9
  8. package/dist/cjs/ultramodern-release-cohort.cjs +6 -21
  9. package/dist/cjs/ultramodern-tooling/commands/cloudflare-output-verify.cjs +49 -56
  10. package/dist/cjs/ultramodern-tooling/commands/context.cjs +11 -29
  11. package/dist/cjs/ultramodern-tooling/commands/routes-generate-app.cjs +67 -0
  12. package/dist/cjs/ultramodern-tooling/commands/routes-generate.cjs +24 -53
  13. package/dist/cjs/ultramodern-tooling/commands/validate.cjs +5 -11
  14. package/dist/cjs/ultramodern-tooling/commands.cjs +15 -8
  15. package/dist/cjs/ultramodern-tooling/config/index.cjs +10 -24
  16. package/dist/cjs/ultramodern-tooling/config/load.cjs +12 -10
  17. package/dist/cjs/ultramodern-tooling/config/metadata.cjs +34 -32
  18. package/dist/cjs/ultramodern-tooling/config/normalize.cjs +165 -164
  19. package/dist/cjs/ultramodern-workspace/add-shell.cjs +118 -118
  20. package/dist/cjs/ultramodern-workspace/add-vertical/execute.cjs +121 -25
  21. package/dist/cjs/ultramodern-workspace/add-vertical/plan.cjs +14 -160
  22. package/dist/cjs/ultramodern-workspace/add-vertical/preflight.cjs +16 -48
  23. package/dist/cjs/ultramodern-workspace/add-vertical/preview.cjs +78 -0
  24. package/dist/cjs/ultramodern-workspace/add-vertical/shell-files.cjs +87 -24
  25. package/dist/cjs/ultramodern-workspace/add-vertical/topology.cjs +4 -1
  26. package/dist/cjs/ultramodern-workspace/add-vertical/transaction.cjs +378 -45
  27. package/dist/cjs/ultramodern-workspace/add-vertical/workspace-state.cjs +21 -44
  28. package/dist/cjs/ultramodern-workspace/add-vertical.cjs +0 -9
  29. package/dist/cjs/ultramodern-workspace/api/client.cjs +5 -5
  30. package/dist/cjs/ultramodern-workspace/api/contracts.cjs +2 -2
  31. package/dist/cjs/ultramodern-workspace/api/rpc.cjs +20 -18
  32. package/dist/cjs/ultramodern-workspace/api/service.cjs +49 -24
  33. package/dist/cjs/ultramodern-workspace/api/shared.cjs +28 -18
  34. package/dist/cjs/ultramodern-workspace/app-files.cjs +3 -23
  35. package/dist/cjs/ultramodern-workspace/backend-federation.cjs +27 -27
  36. package/dist/cjs/ultramodern-workspace/contracts.cjs +14 -183
  37. package/dist/cjs/ultramodern-workspace/delivery-unit-schema/surfaces.cjs +85 -0
  38. package/dist/cjs/ultramodern-workspace/delivery-unit-schema/types.cjs +8 -85
  39. package/dist/cjs/ultramodern-workspace/delivery-unit-stamp.cjs +16 -4
  40. package/dist/cjs/ultramodern-workspace/delivery-unit-sync.cjs +27 -17
  41. package/dist/cjs/ultramodern-workspace/delivery-unit.cjs +16 -10
  42. package/dist/cjs/ultramodern-workspace/demo-components.cjs +66 -433
  43. package/dist/cjs/ultramodern-workspace/descriptors.cjs +0 -4
  44. package/dist/cjs/ultramodern-workspace/fs-io.cjs +37 -2
  45. package/dist/cjs/ultramodern-workspace/generation-result.cjs +4 -4
  46. package/dist/cjs/ultramodern-workspace/index.cjs +2 -5
  47. package/dist/cjs/ultramodern-workspace/mf-validation/constants.cjs +0 -6
  48. package/dist/cjs/ultramodern-workspace/mf-validation/discovery.cjs +6 -6
  49. package/dist/cjs/{ultramodern-tooling/commands/migrate-strict-effect/generated-patches.cjs → ultramodern-workspace/mf-validation/exposes.cjs} +13 -17
  50. package/dist/cjs/ultramodern-workspace/mf-validation/inspect.cjs +26 -7
  51. package/dist/cjs/ultramodern-workspace/mf-validation/object-literal.cjs +21 -122
  52. package/dist/cjs/ultramodern-workspace/mf-validation/path-utils.cjs +37 -38
  53. package/dist/cjs/ultramodern-workspace/mf-validation/syntax.cjs +93 -153
  54. package/dist/cjs/ultramodern-workspace/mf-validation.cjs +4 -0
  55. package/dist/cjs/ultramodern-workspace/module-federation/config.cjs +24 -29
  56. package/dist/cjs/ultramodern-workspace/module-federation/reexport-module.cjs +39 -58
  57. package/dist/cjs/ultramodern-workspace/module-federation/remote-refs.cjs +1 -43
  58. package/dist/cjs/ultramodern-workspace/package-json.cjs +63 -37
  59. package/dist/cjs/ultramodern-workspace/patch-inventory.cjs +104 -0
  60. package/dist/cjs/ultramodern-workspace/policy.cjs +3 -577
  61. package/dist/cjs/ultramodern-workspace/public-surface.cjs +3 -3
  62. package/dist/cjs/ultramodern-workspace/routes.cjs +2 -11
  63. package/dist/cjs/ultramodern-workspace/shared-patches.cjs +12 -2
  64. package/dist/cjs/ultramodern-workspace/shells.cjs +0 -70
  65. package/dist/cjs/ultramodern-workspace/tooling-command-catalog.cjs +27 -41
  66. package/dist/cjs/ultramodern-workspace/tsconfigs.cjs +8 -2
  67. package/dist/cjs/ultramodern-workspace/validation/architecture.cjs +397 -0
  68. package/dist/cjs/ultramodern-workspace/validation/assertions.cjs +140 -0
  69. package/dist/cjs/ultramodern-workspace/validation/types.cjs +18 -0
  70. package/dist/cjs/ultramodern-workspace/validation/workspace.cjs +344 -0
  71. package/dist/cjs/ultramodern-workspace/versions.cjs +81 -45
  72. package/dist/cjs/ultramodern-workspace/workspace-artifact-ownership.cjs +183 -0
  73. package/dist/cjs/ultramodern-workspace/workspace-script-plan.cjs +36 -25
  74. package/dist/cjs/ultramodern-workspace/workspace-scripts.cjs +11 -200
  75. package/dist/cjs/ultramodern-workspace/workspace-validation-contract.cjs +62 -373
  76. package/dist/cjs/ultramodern-workspace/write-app.cjs +19 -11
  77. package/dist/cjs/ultramodern-workspace/write-workspace.cjs +20 -50
  78. package/dist/cjs/ultramodern-workspace/zerops.cjs +2 -0
  79. package/dist/esm/cli/package-source.js +3 -3
  80. package/dist/esm/cli/project-setup.js +2 -22
  81. package/dist/esm/index.js +10 -2
  82. package/dist/esm/locale/en.js +2 -1
  83. package/dist/esm/locale/zh.js +2 -1
  84. package/dist/esm/ultramodern-package-source.js +14 -4
  85. package/dist/esm/ultramodern-release-cohort.js +5 -14
  86. package/dist/esm/ultramodern-tooling/commands/cloudflare-output-verify.js +49 -56
  87. package/dist/esm/ultramodern-tooling/commands/context.js +10 -26
  88. package/dist/esm/ultramodern-tooling/commands/routes-generate-app.js +35 -0
  89. package/dist/esm/ultramodern-tooling/commands/routes-generate.js +25 -54
  90. package/dist/esm/ultramodern-tooling/commands/validate.js +6 -12
  91. package/dist/esm/ultramodern-tooling/commands.js +15 -9
  92. package/dist/esm/ultramodern-tooling/config/index.js +0 -2
  93. package/dist/esm/ultramodern-tooling/config/load.js +9 -9
  94. package/dist/esm/ultramodern-tooling/config/metadata.js +33 -28
  95. package/dist/esm/ultramodern-tooling/config/normalize.js +159 -156
  96. package/dist/esm/ultramodern-workspace/add-shell.js +124 -123
  97. package/dist/esm/ultramodern-workspace/add-vertical/execute.js +119 -27
  98. package/dist/esm/ultramodern-workspace/add-vertical/plan.js +16 -150
  99. package/dist/esm/ultramodern-workspace/add-vertical/preflight.js +15 -47
  100. package/dist/esm/ultramodern-workspace/add-vertical/preview.js +40 -0
  101. package/dist/esm/ultramodern-workspace/add-vertical/shell-files.js +87 -25
  102. package/dist/esm/ultramodern-workspace/add-vertical/topology.js +4 -1
  103. package/dist/esm/ultramodern-workspace/add-vertical/transaction.js +373 -46
  104. package/dist/esm/ultramodern-workspace/add-vertical/workspace-state.js +17 -34
  105. package/dist/esm/ultramodern-workspace/add-vertical.js +1 -1
  106. package/dist/esm/ultramodern-workspace/api/client.js +5 -5
  107. package/dist/esm/ultramodern-workspace/api/contracts.js +2 -2
  108. package/dist/esm/ultramodern-workspace/api/rpc.js +20 -18
  109. package/dist/esm/ultramodern-workspace/api/service.js +49 -24
  110. package/dist/esm/ultramodern-workspace/api/shared.js +28 -18
  111. package/dist/esm/ultramodern-workspace/app-files.js +3 -23
  112. package/dist/esm/ultramodern-workspace/backend-federation.js +5 -5
  113. package/dist/esm/ultramodern-workspace/contracts.js +14 -180
  114. package/dist/esm/ultramodern-workspace/delivery-unit-schema/surfaces.js +41 -0
  115. package/dist/esm/ultramodern-workspace/delivery-unit-schema/types.js +1 -75
  116. package/dist/esm/ultramodern-workspace/delivery-unit-stamp.js +16 -4
  117. package/dist/esm/ultramodern-workspace/delivery-unit-sync.js +28 -18
  118. package/dist/esm/ultramodern-workspace/delivery-unit.js +12 -6
  119. package/dist/esm/ultramodern-workspace/demo-components.js +67 -428
  120. package/dist/esm/ultramodern-workspace/descriptors.js +1 -2
  121. package/dist/esm/ultramodern-workspace/fs-io.js +37 -2
  122. package/dist/esm/ultramodern-workspace/generation-result.js +3 -3
  123. package/dist/esm/ultramodern-workspace/index.js +1 -1
  124. package/dist/esm/ultramodern-workspace/mf-validation/constants.js +1 -4
  125. package/dist/esm/ultramodern-workspace/mf-validation/discovery.js +7 -7
  126. package/dist/esm/ultramodern-workspace/mf-validation/exposes.js +14 -0
  127. package/dist/esm/ultramodern-workspace/mf-validation/inspect.js +27 -8
  128. package/dist/esm/ultramodern-workspace/mf-validation/object-literal.js +22 -123
  129. package/dist/esm/ultramodern-workspace/mf-validation/path-utils.js +36 -34
  130. package/dist/esm/ultramodern-workspace/mf-validation/syntax.js +83 -143
  131. package/dist/esm/ultramodern-workspace/mf-validation.js +1 -0
  132. package/dist/esm/ultramodern-workspace/module-federation/config.js +25 -30
  133. package/dist/esm/ultramodern-workspace/module-federation/reexport-module.js +39 -58
  134. package/dist/esm/ultramodern-workspace/module-federation/remote-refs.js +1 -43
  135. package/dist/esm/ultramodern-workspace/package-json.js +58 -32
  136. package/dist/esm/ultramodern-workspace/patch-inventory.js +66 -0
  137. package/dist/esm/ultramodern-workspace/policy.js +2 -564
  138. package/dist/esm/ultramodern-workspace/public-surface.js +3 -3
  139. package/dist/esm/ultramodern-workspace/routes.js +2 -11
  140. package/dist/esm/ultramodern-workspace/shared-patches.js +2 -2
  141. package/dist/esm/ultramodern-workspace/shells.js +3 -67
  142. package/dist/esm/ultramodern-workspace/tooling-command-catalog.js +22 -37
  143. package/dist/esm/ultramodern-workspace/tsconfigs.js +9 -3
  144. package/dist/esm/ultramodern-workspace/validation/architecture.js +348 -0
  145. package/dist/esm/ultramodern-workspace/validation/assertions.js +65 -0
  146. package/dist/esm/ultramodern-workspace/validation/types.js +0 -0
  147. package/dist/esm/ultramodern-workspace/validation/workspace.js +286 -0
  148. package/dist/esm/ultramodern-workspace/versions.js +74 -29
  149. package/dist/esm/ultramodern-workspace/workspace-artifact-ownership.js +128 -0
  150. package/dist/esm/ultramodern-workspace/workspace-script-plan.js +35 -27
  151. package/dist/esm/ultramodern-workspace/workspace-scripts.js +10 -190
  152. package/dist/esm/ultramodern-workspace/workspace-validation-contract.js +65 -376
  153. package/dist/esm/ultramodern-workspace/write-app.js +18 -10
  154. package/dist/esm/ultramodern-workspace/write-workspace.js +25 -52
  155. package/dist/esm/ultramodern-workspace/zerops.js +2 -0
  156. package/dist/esm-node/cli/package-source.js +3 -3
  157. package/dist/esm-node/cli/project-setup.js +2 -22
  158. package/dist/esm-node/index.js +10 -2
  159. package/dist/esm-node/locale/en.js +2 -1
  160. package/dist/esm-node/locale/zh.js +2 -1
  161. package/dist/esm-node/ultramodern-package-source.js +14 -4
  162. package/dist/esm-node/ultramodern-release-cohort.js +5 -14
  163. package/dist/esm-node/ultramodern-tooling/commands/cloudflare-output-verify.js +49 -56
  164. package/dist/esm-node/ultramodern-tooling/commands/context.js +10 -26
  165. package/dist/esm-node/ultramodern-tooling/commands/routes-generate-app.js +36 -0
  166. package/dist/esm-node/ultramodern-tooling/commands/routes-generate.js +25 -54
  167. package/dist/esm-node/ultramodern-tooling/commands/validate.js +6 -12
  168. package/dist/esm-node/ultramodern-tooling/commands.js +15 -9
  169. package/dist/esm-node/ultramodern-tooling/config/index.js +0 -2
  170. package/dist/esm-node/ultramodern-tooling/config/load.js +9 -9
  171. package/dist/esm-node/ultramodern-tooling/config/metadata.js +33 -28
  172. package/dist/esm-node/ultramodern-tooling/config/normalize.js +159 -156
  173. package/dist/esm-node/ultramodern-workspace/add-shell.js +124 -123
  174. package/dist/esm-node/ultramodern-workspace/add-vertical/execute.js +119 -27
  175. package/dist/esm-node/ultramodern-workspace/add-vertical/plan.js +16 -150
  176. package/dist/esm-node/ultramodern-workspace/add-vertical/preflight.js +15 -47
  177. package/dist/esm-node/ultramodern-workspace/add-vertical/preview.js +41 -0
  178. package/dist/esm-node/ultramodern-workspace/add-vertical/shell-files.js +87 -25
  179. package/dist/esm-node/ultramodern-workspace/add-vertical/topology.js +4 -1
  180. package/dist/esm-node/ultramodern-workspace/add-vertical/transaction.js +373 -46
  181. package/dist/esm-node/ultramodern-workspace/add-vertical/workspace-state.js +17 -34
  182. package/dist/esm-node/ultramodern-workspace/add-vertical.js +1 -1
  183. package/dist/esm-node/ultramodern-workspace/api/client.js +5 -5
  184. package/dist/esm-node/ultramodern-workspace/api/contracts.js +2 -2
  185. package/dist/esm-node/ultramodern-workspace/api/rpc.js +20 -18
  186. package/dist/esm-node/ultramodern-workspace/api/service.js +49 -24
  187. package/dist/esm-node/ultramodern-workspace/api/shared.js +28 -18
  188. package/dist/esm-node/ultramodern-workspace/app-files.js +3 -23
  189. package/dist/esm-node/ultramodern-workspace/backend-federation.js +5 -5
  190. package/dist/esm-node/ultramodern-workspace/contracts.js +14 -180
  191. package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/surfaces.js +42 -0
  192. package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/types.js +1 -75
  193. package/dist/esm-node/ultramodern-workspace/delivery-unit-stamp.js +16 -4
  194. package/dist/esm-node/ultramodern-workspace/delivery-unit-sync.js +28 -18
  195. package/dist/esm-node/ultramodern-workspace/delivery-unit.js +12 -6
  196. package/dist/esm-node/ultramodern-workspace/demo-components.js +67 -428
  197. package/dist/esm-node/ultramodern-workspace/descriptors.js +1 -2
  198. package/dist/esm-node/ultramodern-workspace/fs-io.js +37 -2
  199. package/dist/esm-node/ultramodern-workspace/generation-result.js +3 -3
  200. package/dist/esm-node/ultramodern-workspace/index.js +1 -1
  201. package/dist/esm-node/ultramodern-workspace/mf-validation/constants.js +1 -4
  202. package/dist/esm-node/ultramodern-workspace/mf-validation/discovery.js +7 -7
  203. package/dist/esm-node/ultramodern-workspace/mf-validation/exposes.js +15 -0
  204. package/dist/esm-node/ultramodern-workspace/mf-validation/inspect.js +27 -8
  205. package/dist/esm-node/ultramodern-workspace/mf-validation/object-literal.js +22 -123
  206. package/dist/esm-node/ultramodern-workspace/mf-validation/path-utils.js +36 -34
  207. package/dist/esm-node/ultramodern-workspace/mf-validation/syntax.js +83 -143
  208. package/dist/esm-node/ultramodern-workspace/mf-validation.js +1 -0
  209. package/dist/esm-node/ultramodern-workspace/module-federation/config.js +25 -30
  210. package/dist/esm-node/ultramodern-workspace/module-federation/reexport-module.js +39 -58
  211. package/dist/esm-node/ultramodern-workspace/module-federation/remote-refs.js +1 -43
  212. package/dist/esm-node/ultramodern-workspace/package-json.js +58 -32
  213. package/dist/esm-node/ultramodern-workspace/patch-inventory.js +67 -0
  214. package/dist/esm-node/ultramodern-workspace/policy.js +2 -564
  215. package/dist/esm-node/ultramodern-workspace/public-surface.js +3 -3
  216. package/dist/esm-node/ultramodern-workspace/routes.js +2 -11
  217. package/dist/esm-node/ultramodern-workspace/shared-patches.js +2 -2
  218. package/dist/esm-node/ultramodern-workspace/shells.js +3 -67
  219. package/dist/esm-node/ultramodern-workspace/tooling-command-catalog.js +22 -37
  220. package/dist/esm-node/ultramodern-workspace/tsconfigs.js +9 -3
  221. package/dist/esm-node/ultramodern-workspace/validation/architecture.js +349 -0
  222. package/dist/esm-node/ultramodern-workspace/validation/assertions.js +66 -0
  223. package/dist/esm-node/ultramodern-workspace/validation/types.js +1 -0
  224. package/dist/esm-node/ultramodern-workspace/validation/workspace.js +287 -0
  225. package/dist/esm-node/ultramodern-workspace/versions.js +74 -29
  226. package/dist/esm-node/ultramodern-workspace/workspace-artifact-ownership.js +129 -0
  227. package/dist/esm-node/ultramodern-workspace/workspace-script-plan.js +35 -27
  228. package/dist/esm-node/ultramodern-workspace/workspace-scripts.js +10 -190
  229. package/dist/esm-node/ultramodern-workspace/workspace-validation-contract.js +65 -376
  230. package/dist/esm-node/ultramodern-workspace/write-app.js +18 -10
  231. package/dist/esm-node/ultramodern-workspace/write-workspace.js +25 -52
  232. package/dist/esm-node/ultramodern-workspace/zerops.js +2 -0
  233. package/dist/types/cli/project-setup.d.ts +1 -1
  234. package/dist/types/locale/en.d.ts +1 -0
  235. package/dist/types/locale/index.d.ts +2 -0
  236. package/dist/types/locale/zh.d.ts +1 -0
  237. package/dist/types/ultramodern-package-source.d.ts +2 -4
  238. package/dist/types/ultramodern-release-cohort.d.ts +1 -3
  239. package/dist/types/ultramodern-tooling/commands/cloudflare-output-verify.d.ts +2 -2
  240. package/dist/types/ultramodern-tooling/commands/context.d.ts +4 -1
  241. package/dist/types/ultramodern-tooling/commands/routes-generate-app.d.ts +1 -0
  242. package/dist/types/ultramodern-tooling/commands/routes-generate.d.ts +1 -1
  243. package/dist/types/ultramodern-tooling/commands/validate.d.ts +1 -1
  244. package/dist/types/ultramodern-tooling/config/index.d.ts +0 -2
  245. package/dist/types/ultramodern-tooling/config/load.d.ts +10 -2
  246. package/dist/types/ultramodern-tooling/config/metadata.d.ts +2 -2
  247. package/dist/types/ultramodern-tooling/config/normalize.d.ts +19 -19
  248. package/dist/types/ultramodern-tooling/config/types.d.ts +2 -9
  249. package/dist/types/ultramodern-workspace/add-shell.d.ts +1 -1
  250. package/dist/types/ultramodern-workspace/add-vertical/execute.d.ts +1 -0
  251. package/dist/types/ultramodern-workspace/add-vertical/preflight.d.ts +4 -3
  252. package/dist/types/ultramodern-workspace/add-vertical/preview.d.ts +4 -0
  253. package/dist/types/ultramodern-workspace/add-vertical/shell-files.d.ts +7 -2
  254. package/dist/types/ultramodern-workspace/add-vertical/transaction.d.ts +32 -6
  255. package/dist/types/ultramodern-workspace/add-vertical/workspace-state.d.ts +10 -7
  256. package/dist/types/ultramodern-workspace/add-vertical.d.ts +1 -1
  257. package/dist/types/ultramodern-workspace/api/client.d.ts +3 -1
  258. package/dist/types/ultramodern-workspace/api/rpc.d.ts +1 -1
  259. package/dist/types/ultramodern-workspace/api/service.d.ts +3 -1
  260. package/dist/types/ultramodern-workspace/api/shared.d.ts +2 -0
  261. package/dist/types/ultramodern-workspace/backend-federation.d.ts +1 -1
  262. package/dist/types/ultramodern-workspace/contracts.d.ts +1 -3
  263. package/dist/types/ultramodern-workspace/delivery-unit-schema/surfaces.d.ts +17 -0
  264. package/dist/types/ultramodern-workspace/delivery-unit-schema/types.d.ts +3 -68
  265. package/dist/types/ultramodern-workspace/delivery-unit-stamp.d.ts +2 -2
  266. package/dist/types/ultramodern-workspace/delivery-unit.d.ts +3 -3
  267. package/dist/types/ultramodern-workspace/demo-components.d.ts +0 -3
  268. package/dist/types/ultramodern-workspace/descriptors.d.ts +0 -1
  269. package/dist/types/ultramodern-workspace/fs-io.d.ts +1 -1
  270. package/dist/types/ultramodern-workspace/index.d.ts +1 -1
  271. package/dist/types/ultramodern-workspace/mf-validation/constants.d.ts +0 -1
  272. package/dist/types/ultramodern-workspace/mf-validation/exposes.d.ts +11 -0
  273. package/dist/types/ultramodern-workspace/mf-validation/path-utils.d.ts +2 -3
  274. package/dist/types/ultramodern-workspace/mf-validation/syntax.d.ts +4 -3
  275. package/dist/types/ultramodern-workspace/mf-validation/types.d.ts +1 -0
  276. package/dist/types/ultramodern-workspace/mf-validation.d.ts +1 -0
  277. package/dist/types/ultramodern-workspace/module-federation/config.d.ts +1 -1
  278. package/dist/types/ultramodern-workspace/module-federation/reexport-module.d.ts +2 -2
  279. package/dist/types/ultramodern-workspace/package-json.d.ts +1 -1
  280. package/dist/types/ultramodern-workspace/patch-inventory.d.ts +10 -0
  281. package/dist/types/ultramodern-workspace/policy.d.ts +31 -209
  282. package/dist/types/ultramodern-workspace/routes.d.ts +6 -1
  283. package/dist/types/ultramodern-workspace/shells.d.ts +2 -15
  284. package/dist/types/ultramodern-workspace/tooling-command-catalog.d.ts +8 -7
  285. package/dist/types/ultramodern-workspace/types.d.ts +9 -9
  286. package/dist/types/ultramodern-workspace/validation/architecture.d.ts +2 -0
  287. package/dist/types/ultramodern-workspace/validation/assertions.d.ts +14 -0
  288. package/dist/types/ultramodern-workspace/validation/types.d.ts +9 -0
  289. package/dist/types/ultramodern-workspace/validation/workspace.d.ts +6 -0
  290. package/dist/types/ultramodern-workspace/versions.d.ts +73 -28
  291. package/dist/types/ultramodern-workspace/workspace-artifact-ownership.d.ts +18 -0
  292. package/dist/types/ultramodern-workspace/workspace-script-plan.d.ts +4 -5
  293. package/dist/types/ultramodern-workspace/workspace-scripts.d.ts +8 -13
  294. package/dist/types/ultramodern-workspace/workspace-validation-contract.d.ts +22 -188
  295. package/dist/types/ultramodern-workspace/write-workspace.d.ts +1 -3
  296. package/package.json +18 -11
  297. package/{template-workspace/.modernjs/release-cohort.json → release-cohort.json} +88 -40
  298. package/template-workspace/.codex/skills/rspack-tracing/scripts/analyze_trace.js +1 -1
  299. package/template-workspace/README.md.handlebars +20 -35
  300. package/template-workspace/oxfmt.config.ts +3 -0
  301. package/template-workspace/pnpm-workspace.yaml.handlebars +0 -24
  302. package/template-workspace/scripts/bootstrap-agent-skills.mjs +4 -4
  303. package/templates/packages/shared-contracts-index.ts +4 -332
  304. package/templates/workspace/apps/modern.config.shared-module-federation.ts.handlebars +10 -0
  305. package/templates/workspace/apps/modern.config.ts.handlebars +13 -27
  306. package/templates/workspace/apps/shared/src/routes/ultramodern-route-metadata.ts.handlebars +21 -11
  307. package/templates/workspace/apps/shell-super-app/src/routes/[lang]/page.tsx.handlebars +20 -20
  308. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.helpers.tsx.handlebars +4 -6
  309. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.imports.tsx.handlebars +2 -2
  310. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.tsx.handlebars +11 -11
  311. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.worker.helpers.tsx.handlebars +1 -1
  312. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.worker.imports.tsx.handlebars +1 -1
  313. package/templates/workspace-scripts/generate-node-backend-federation.mjs +68 -77
  314. package/templates/workspace-scripts/generate-public-surface-assets.mjs +107 -207
  315. package/templates/workspace-scripts/materialize-zerops-runtime.mjs +12 -19
  316. package/templates/workspace-scripts/proof-cloudflare-version.mjs +53 -444
  317. package/templates/workspace-scripts/proof-node-backend-federation.mjs +212 -91
  318. package/templates/workspace-scripts/{proof-workerd-ssr.mts → proof-workerd-ssr.mjs} +434 -239
  319. package/templates/workspace-scripts/ultramodern-cloudflare-proof.mjs +25 -7
  320. package/templates/workspace-scripts/ultramodern-performance-readiness.mjs +45 -147
  321. package/templates/workspace-scripts/ultramodern-typecheck.mjs +1 -1
  322. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.cjs +0 -212
  323. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.cjs +0 -47
  324. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.cjs +0 -112
  325. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.cjs +0 -55
  326. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.cjs +0 -102
  327. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.cjs +0 -195
  328. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.cjs +0 -146
  329. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.cjs +0 -110
  330. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.cjs +0 -67
  331. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.cjs +0 -307
  332. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.cjs +0 -58
  333. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.cjs +0 -71
  334. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.cjs +0 -151
  335. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/help.cjs +0 -67
  336. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/install.cjs +0 -52
  337. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/io.cjs +0 -447
  338. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.cjs +0 -323
  339. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-source.cjs +0 -87
  340. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.cjs +0 -612
  341. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.cjs +0 -376
  342. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.cjs +0 -73
  343. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.cjs +0 -215
  344. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.cjs +0 -135
  345. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect.cjs +0 -454
  346. package/dist/cjs/ultramodern-tooling/config/constants.cjs +0 -48
  347. package/dist/cjs/ultramodern-tooling/config/synthesize.cjs +0 -157
  348. package/dist/cjs/ultramodern-workspace/delivery-unit-schema/up-projection.cjs +0 -188
  349. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +0 -154
  350. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +0 -9
  351. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +0 -63
  352. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +0 -7
  353. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +0 -47
  354. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +0 -146
  355. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +0 -97
  356. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.js +0 -61
  357. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +0 -16
  358. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +0 -258
  359. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +0 -10
  360. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +0 -8
  361. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +0 -15
  362. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.js +0 -100
  363. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/help.js +0 -29
  364. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/install.js +0 -14
  365. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/io.js +0 -385
  366. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +0 -276
  367. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +0 -49
  368. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +0 -559
  369. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +0 -329
  370. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +0 -19
  371. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.js +0 -148
  372. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.js +0 -80
  373. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect.js +0 -405
  374. package/dist/esm/ultramodern-tooling/config/constants.js +0 -4
  375. package/dist/esm/ultramodern-tooling/config/synthesize.js +0 -108
  376. package/dist/esm/ultramodern-workspace/delivery-unit-schema/up-projection.js +0 -129
  377. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +0 -155
  378. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +0 -10
  379. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +0 -64
  380. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +0 -8
  381. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +0 -48
  382. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +0 -147
  383. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +0 -98
  384. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.js +0 -62
  385. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +0 -17
  386. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +0 -259
  387. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +0 -11
  388. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +0 -9
  389. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +0 -16
  390. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.js +0 -101
  391. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/help.js +0 -30
  392. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/install.js +0 -15
  393. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/io.js +0 -386
  394. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +0 -277
  395. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +0 -50
  396. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +0 -560
  397. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +0 -330
  398. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +0 -20
  399. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.js +0 -149
  400. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.js +0 -81
  401. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect.js +0 -406
  402. package/dist/esm-node/ultramodern-tooling/config/constants.js +0 -5
  403. package/dist/esm-node/ultramodern-tooling/config/synthesize.js +0 -109
  404. package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/up-projection.js +0 -130
  405. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.d.ts +0 -12
  406. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.d.ts +0 -4
  407. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.d.ts +0 -1
  408. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.d.ts +0 -3
  409. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.d.ts +0 -5
  410. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.d.ts +0 -3
  411. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.d.ts +0 -2
  412. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.d.ts +0 -2
  413. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.d.ts +0 -4
  414. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.d.ts +0 -3
  415. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.d.ts +0 -3
  416. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.d.ts +0 -8
  417. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.d.ts +0 -3
  418. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.d.ts +0 -3
  419. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/help.d.ts +0 -1
  420. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/install.d.ts +0 -2
  421. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/io.d.ts +0 -26
  422. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.d.ts +0 -25
  423. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-source.d.ts +0 -3
  424. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.d.ts +0 -26
  425. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.d.ts +0 -26
  426. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.d.ts +0 -6
  427. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.d.ts +0 -37
  428. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.d.ts +0 -4
  429. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect.d.ts +0 -2
  430. package/dist/types/ultramodern-tooling/config/constants.d.ts +0 -3
  431. package/dist/types/ultramodern-tooling/config/synthesize.d.ts +0 -5
  432. package/dist/types/ultramodern-workspace/delivery-unit-schema/up-projection.d.ts +0 -189
  433. package/template-workspace/patches/@module-federation__bridge-react@2.9.0.patch +0 -47
  434. package/template-workspace/patches/@module-federation__dts-plugin@2.9.0.patch +0 -26
  435. package/template-workspace/patches/@module-federation__modern-js-v3@2.9.0.patch +0 -268
  436. package/template-workspace/patches/@module-federation__runtime-core@2.9.0.patch +0 -13
  437. package/template-workspace/patches/drizzle-orm-ts7-strict-declarations.patch +0 -471
  438. package/template-workspace/patches/msgpackr@2.1.0.patch +0 -30
  439. package/template-workspace/patches/zod@4.5.4.patch +0 -56
  440. package/templates/workspace-scripts/check-ultramodern-api-boundaries.mts +0 -779
  441. package/templates/workspace-scripts/check-ultramodern-i18n-boundaries.mts +0 -9
  442. package/templates/workspace-scripts/validate-ultramodern-workspace.mjs.handlebars +0 -4109
@@ -37,61 +37,33 @@ __webpack_require__.d(__webpack_exports__, {
37
37
  createShellPage: ()=>createShellPage,
38
38
  createShellRemoteComponents: ()=>createShellRemoteComponents,
39
39
  createShellWorkerRemoteComponents: ()=>createShellWorkerRemoteComponents,
40
- regenerateGeneratedNavigationSurface: ()=>regenerateGeneratedNavigationSurface,
41
- regenerateGeneratedProductRouteAdapter: ()=>regenerateGeneratedProductRouteAdapter,
42
40
  remoteComponentOutputPath: ()=>remoteComponentOutputPath
43
41
  });
44
42
  const external_descriptors_cjs_namespaceObject = require("./descriptors.cjs");
45
43
  const external_fs_io_cjs_namespaceObject = require("./fs-io.cjs");
46
44
  const external_naming_cjs_namespaceObject = require("./naming.cjs");
47
- function createFederatedI18nSetup(app, localeRoot) {
48
- const namespace = (0, external_descriptors_cjs_namespaceObject.appI18nNamespace)(app);
49
- return `import type { JSX } from 'react';
50
- import { FederatedI18nBoundary, useModernI18n } from '@modern-js/plugin-i18n/runtime/consumer';
51
- import csResource from '${localeRoot}/cs/${namespace}.json';
52
- import enResource from '${localeRoot}/en/${namespace}.json';
53
-
54
- const federatedI18nLanguages = ['en', 'cs'];
55
- const federatedI18nResources = {
56
- cs: { ${JSON.stringify(namespace)}: csResource },
57
- en: { ${JSON.stringify(namespace)}: enResource },
58
- };`;
59
- }
60
- function createFederatedI18nBoundary(namespace, content) {
61
- return `<FederatedI18nBoundary
62
- defaultNamespace="${namespace}"
63
- fallbackLanguage="en"
64
- resources={federatedI18nResources}
65
- supportedLanguages={federatedI18nLanguages}
66
- >
67
- ${content}
68
- </FederatedI18nBoundary>`;
69
- }
70
45
  function createShellPage(shell, remotes = []) {
71
46
  const tw = (0, external_naming_cjs_namespaceObject.createTw)((0, external_naming_cjs_namespaceObject.tailwindPrefixForApp)(shell));
72
47
  const remoteCount = String(remotes.length);
73
48
  return (0, external_fs_io_cjs_namespaceObject.renderFileTemplate)('workspace/apps/shell-super-app/src/routes/[lang]/page.tsx', {
74
- value0: tw('mx-auto grid max-w-7xl items-center gap-8 py-8 md:grid-cols-[0.9fr_1.1fr] lg:gap-14'),
75
- value1: tw('min-w-0'),
76
- value2: tw('text-xs font-black uppercase tracking-[0.18em] text-emerald-800'),
77
- value3: tw('mt-3 max-w-3xl text-5xl font-black leading-none tracking-normal text-stone-950 md:text-7xl'),
78
- value4: tw('mt-5 max-w-2xl text-lg leading-8 text-stone-600'),
79
- value5: tw('mt-7 flex flex-wrap gap-3'),
80
- value6: tw('inline-flex min-h-11 items-center justify-center rounded-full bg-emerald-800 px-5 font-bold text-white shadow-lg shadow-stone-900/10'),
81
- value7: tw('inline-flex min-h-11 items-center justify-center rounded-full border border-stone-900/15 bg-white/90 px-5 font-bold text-stone-950 shadow-lg shadow-stone-900/10'),
82
- value8: tw('rounded-3xl bg-white/90 p-6 shadow-2xl shadow-stone-900/15'),
83
- value9: tw('grid gap-4 sm:grid-cols-2'),
84
- value10: tw('rounded-2xl bg-emerald-50 p-5'),
85
- value11: tw('text-sm font-black uppercase tracking-[0.16em] text-emerald-800'),
86
- value12: tw('mt-3 block text-3xl font-black text-stone-950'),
87
- value13: remoteCount,
88
- value14: tw('mt-2 text-sm font-semibold text-stone-600'),
89
- value15: tw('rounded-2xl bg-amber-50 p-5'),
90
- value16: tw('text-sm font-black uppercase tracking-[0.16em] text-amber-800'),
91
- value17: tw('mt-3 block text-3xl font-black text-stone-950'),
92
- value18: tw('mt-2 text-sm font-semibold text-stone-600'),
93
- value19: tw('sr-only'),
94
- value20: tw('sr-only')
49
+ heroClassName: tw('mx-auto grid max-w-7xl items-center gap-8 py-8 md:grid-cols-[0.9fr_1.1fr] lg:gap-14'),
50
+ heroContentClassName: tw('min-w-0'),
51
+ eyebrowClassName: tw('text-xs font-black uppercase tracking-[0.18em] text-emerald-800'),
52
+ titleClassName: tw('mt-3 max-w-3xl text-5xl font-black leading-none tracking-normal text-stone-950 md:text-7xl'),
53
+ ledeClassName: tw('mt-5 max-w-2xl text-lg leading-8 text-stone-600'),
54
+ actionsClassName: tw('mt-7 flex flex-wrap gap-3'),
55
+ primaryActionClassName: tw('inline-flex min-h-11 items-center justify-center rounded-full bg-emerald-800 px-5 font-bold text-white shadow-lg shadow-stone-900/10'),
56
+ secondaryActionClassName: tw('inline-flex min-h-11 items-center justify-center rounded-full border border-stone-900/15 bg-white/90 px-5 font-bold text-stone-950 shadow-lg shadow-stone-900/10'),
57
+ cardsClassName: tw('rounded-3xl bg-white/90 p-6 shadow-2xl shadow-stone-900/15'),
58
+ cardsGridClassName: tw('grid gap-4 sm:grid-cols-2'),
59
+ remoteCardClassName: tw('rounded-2xl bg-emerald-50 p-5'),
60
+ remoteCardKickerClassName: tw('text-sm font-black uppercase tracking-[0.16em] text-emerald-800'),
61
+ cardValueClassName: tw('mt-3 block text-3xl font-black text-stone-950'),
62
+ remoteCount,
63
+ cardBodyClassName: tw('mt-2 text-sm font-semibold text-stone-600'),
64
+ ssrCardClassName: tw('rounded-2xl bg-amber-50 p-5'),
65
+ ssrCardKickerClassName: tw('text-sm font-black uppercase tracking-[0.16em] text-amber-800'),
66
+ hiddenClassName: tw('sr-only')
95
67
  });
96
68
  }
97
69
  function createShellRemoteComponentsSource(shell, remotes = [], worker = false) {
@@ -110,8 +82,7 @@ function createShellRemoteComponentsSource(shell, remotes = [], worker = false)
110
82
  }).join('\n');
111
83
  const federationImports = widgetRemotes.length > 0 ? (0, external_fs_io_cjs_namespaceObject.renderFileTemplate)(worker ? 'workspace/apps/shell-super-app/src/routes/vertical-components.worker.imports.tsx' : 'workspace/apps/shell-super-app/src/routes/vertical-components.imports.tsx', {}) : '';
112
84
  const federationHelpers = widgetRemotes.length > 0 ? (0, external_fs_io_cjs_namespaceObject.renderFileTemplate)(worker ? 'workspace/apps/shell-super-app/src/routes/vertical-components.worker.helpers.tsx' : 'workspace/apps/shell-super-app/src/routes/vertical-components.helpers.tsx', {
113
- value0: shell.id,
114
- value1: tw('rounded-xl border border-red-900/20 bg-red-50 px-4 py-3 text-sm font-semibold text-red-900')
85
+ unavailableClassName: tw('rounded-xl border border-red-900/20 bg-red-50 px-4 py-3 text-sm font-semibold text-red-900')
115
86
  }) : '';
116
87
  const showcaseItems = widgetRemotes.map((remote)=>{
117
88
  const componentName = `${(0, external_naming_cjs_namespaceObject.toPascalCase)(remote.id)}Widget`;
@@ -123,19 +94,18 @@ ${showcaseItems}
123
94
  </div>`;
124
95
  const remoteCount = String(widgetRemotes.length);
125
96
  return (0, external_fs_io_cjs_namespaceObject.renderFileTemplate)('workspace/apps/shell-super-app/src/routes/vertical-components.tsx', {
126
- value0: federationImports,
127
- value1: remoteCount,
128
- value2: federationHelpers,
129
- value3: remoteComponentExports,
130
- value4: tw('flex min-w-0 flex-wrap items-center gap-x-8 gap-y-2 md:flex-1'),
131
- value5: shell.mfName,
132
- value6: tw('whitespace-nowrap text-xl font-black tracking-normal text-stone-950 no-underline'),
133
- value7: tw('inline-flex h-10 shrink-0 items-center justify-center rounded-full border border-stone-900/15 bg-white px-4 text-sm font-extrabold text-stone-950 shadow-lg shadow-stone-900/5'),
134
- value8: tw('mx-auto mt-12 max-w-7xl rounded-2xl bg-white/90 p-6 shadow-xl shadow-stone-900/10'),
135
- value9: tw('text-lg font-bold text-stone-700'),
136
- value10: tw('mx-auto mt-12 max-w-7xl'),
137
- value11: shell.mfName,
138
- value12: showcaseGrid
97
+ federationImports,
98
+ widgetCount: remoteCount,
99
+ federationHelpers,
100
+ remoteComponentExports,
101
+ headerClassName: tw('flex min-w-0 flex-wrap items-center gap-x-8 gap-y-2 md:flex-1'),
102
+ boundaryId: shell.mfName,
103
+ titleClassName: tw('whitespace-nowrap text-xl font-black tracking-normal text-stone-950 no-underline'),
104
+ statusBadgeClassName: tw('inline-flex h-10 shrink-0 items-center justify-center rounded-full border border-stone-900/15 bg-white px-4 text-sm font-extrabold text-stone-950 shadow-lg shadow-stone-900/5'),
105
+ emptyShowcaseClassName: tw('mx-auto mt-12 max-w-7xl rounded-2xl bg-white/90 p-6 shadow-xl shadow-stone-900/10'),
106
+ emptyMessageClassName: tw('text-lg font-bold text-stone-700'),
107
+ showcaseClassName: tw('mx-auto mt-12 max-w-7xl'),
108
+ showcaseGrid
139
109
  });
140
110
  }
141
111
  function createShellRemoteComponents(shell, remotes = []) {
@@ -182,25 +152,23 @@ function createFederatedComponentsRegistry(scope, host, remotes, worker = false)
182
152
  {null}
183
153
  </DistributedSsrBoundary>
184
154
  ),` : ` ${entry.exportName}: createDistributedSsrComponent<${entry.exportName}Props>({
185
- createComponent: () =>
155
+ createComponent: options =>
186
156
  createLazyComponent<
187
157
  RemoteComponentModule<${entry.exportName}Props>,
188
158
  'default'
189
159
  >({
190
- export: 'default',
191
- fallback,
160
+ ...options,
192
161
  instance: getInstance(),
193
162
  loader: () =>
194
163
  import('${entry.remoteAlias}') as Promise<
195
164
  RemoteComponentModule<${entry.exportName}Props>
196
165
  >,
197
- loading: null,
198
166
  }),
199
167
  expose: '${entry.expose}',
200
168
  fallback,
201
169
  remote: '${entry.remoteId}',
202
170
  }),`).join('\n');
203
- const runtimeImports = worker ? "import { DistributedSsrBoundary } from '@modern-js/runtime/module-federation';\nimport type { ComponentType, ReactNode } from 'react';" : "import { createLazyComponent } from '@module-federation/modern-js-v3/react';\nimport { getInstance } from '@module-federation/modern-js-v3/runtime';\nimport { createDistributedSsrComponent } from '@modern-js/runtime/module-federation';\nimport type { ComponentType, FunctionComponent, ReactNode } from 'react';";
171
+ const runtimeImports = worker ? "import { DistributedSsrBoundary } from '@modern-js/federation-runtime';\nimport type { ComponentType, ReactNode } from 'react';" : "import { createLazyComponent } from '@module-federation/modern-js-v3/react';\nimport { getInstance } from '@module-federation/modern-js-v3/runtime';\nimport { createDistributedSsrComponent } from '@modern-js/federation-runtime';\nimport type { ComponentType, FunctionComponent, ReactNode } from 'react';";
204
172
  const moduleType = `
205
173
  ${worker ? '' : `interface RemoteComponentModule<Props extends object> {
206
174
  default: FunctionComponent<Props>;
@@ -320,46 +288,35 @@ export default function Layout() {
320
288
  `;
321
289
  }
322
290
  function createRemoteEntry(app) {
291
+ return createRemoteSurface(app, {
292
+ expose: './Route',
293
+ localeRoot: '../locales',
294
+ bodyTranslationKey: 'routeSurface'
295
+ });
296
+ }
297
+ function createRemoteSurface(app, { expose, localeRoot, bodyTranslationKey }) {
323
298
  const tw = (0, external_naming_cjs_namespaceObject.createTw)((0, external_naming_cjs_namespaceObject.tailwindPrefixForApp)(app));
324
299
  const domain = app.domain ?? app.id;
325
300
  const namespace = (0, external_descriptors_cjs_namespaceObject.appI18nNamespace)(app);
326
- const componentName = `${(0, external_naming_cjs_namespaceObject.toPascalCase)(domain)}Route`;
327
- return `${createFederatedI18nSetup(app, '../locales')}
328
-
329
- const ${componentName}Content = () => {
330
- const { t } = useModernI18n();
301
+ const componentName = `${(0, external_naming_cjs_namespaceObject.toPascalCase)(domain)}${(0, external_naming_cjs_namespaceObject.toPascalCase)(expose.replace(/^\.\//u, ''))}`;
302
+ return `import type { JSX } from 'react';
303
+ import { FederatedI18nBoundary, useModernI18n } from '@modern-js/plugin-i18n/runtime/consumer';
304
+ import csResource from '${localeRoot}/cs/${namespace}.json';
305
+ import enResource from '${localeRoot}/en/${namespace}.json';
331
306
 
332
- return (
333
- <section className="${tw('rounded-2xl bg-white/90 p-5 shadow-xl shadow-stone-900/10')}" data-modern-boundary-id="${app.mfName}" data-modern-mf-expose="./Route">
334
- <h2 className="${tw('text-2xl font-black')}">{t('${domain}.title')}</h2>
335
- <p className="${tw('mt-2 text-stone-600')}">{t('${domain}.routeSurface')}</p>
336
- </section>
337
- );
307
+ const federatedI18nLanguages = ['en', 'cs'];
308
+ const federatedI18nResources = {
309
+ cs: { ${JSON.stringify(namespace)}: csResource },
310
+ en: { ${JSON.stringify(namespace)}: enResource },
338
311
  };
339
312
 
340
- export default function ${componentName}(props: Record<string, never>): JSX.Element {
341
- void props;
342
-
343
- return (
344
- ${createFederatedI18nBoundary(namespace, `<${componentName}Content />`)}
345
- );
346
- }
347
- `;
348
- }
349
- function createRemoteWidget(app) {
350
- const tw = (0, external_naming_cjs_namespaceObject.createTw)((0, external_naming_cjs_namespaceObject.tailwindPrefixForApp)(app));
351
- const domain = app.domain ?? app.id;
352
- const componentName = `${(0, external_naming_cjs_namespaceObject.toPascalCase)(domain)}Widget`;
353
- const namespace = (0, external_descriptors_cjs_namespaceObject.appI18nNamespace)(app);
354
- return `${createFederatedI18nSetup(app, '../../locales')}
355
-
356
313
  const ${componentName}Content = () => {
357
314
  const { t } = useModernI18n();
358
315
 
359
316
  return (
360
- <section className="${tw('rounded-2xl bg-white/90 p-5 shadow-xl shadow-stone-900/10')}" data-modern-boundary-id="${app.mfName}" data-modern-mf-expose="./Widget">
317
+ <section className="${tw('rounded-2xl bg-white/90 p-5 shadow-xl shadow-stone-900/10')}" data-modern-boundary-id="${app.mfName}" data-modern-mf-expose="${expose}">
361
318
  <h2 className="${tw('text-2xl font-black')}">{t('${domain}.title')}</h2>
362
- <p className="${tw('mt-2 text-stone-600')}">{t('${domain}.widgetBody')}</p>
319
+ <p className="${tw('mt-2 text-stone-600')}">{t('${domain}.${bodyTranslationKey}')}</p>
363
320
  </section>
364
321
  );
365
322
  };
@@ -368,7 +325,14 @@ export default function ${componentName}(props: Record<string, never>): JSX.Elem
368
325
  void props;
369
326
 
370
327
  return (
371
- ${createFederatedI18nBoundary(namespace, `<${componentName}Content />`)}
328
+ <FederatedI18nBoundary
329
+ defaultNamespace="${namespace}"
330
+ fallbackLanguage="en"
331
+ resources={federatedI18nResources}
332
+ supportedLanguages={federatedI18nLanguages}
333
+ >
334
+ <${componentName}Content />
335
+ </FederatedI18nBoundary>
372
336
  );
373
337
  }
374
338
  `;
@@ -380,7 +344,7 @@ function createRemoteExposeFragmentPage(app, expose) {
380
344
  const componentName = (0, external_naming_cjs_namespaceObject.toPascalCase)(expose.replace(/^\.\//u, ''));
381
345
  const pageName = `${componentName}FragmentPage`;
382
346
  return `import type { ComponentProps } from 'react';
383
- import { useDistributedSsrFragmentProps } from '@modern-js/runtime/module-federation/distributed-ssr';
347
+ import { useDistributedSsrFragmentProps } from '@modern-js/federation-runtime/distributed-ssr';
384
348
  import ${componentName} from '${importPath}';
385
349
 
386
350
  export default function ${pageName}() {
@@ -400,344 +364,17 @@ export default function ${pageName}() {
400
364
  `;
401
365
  }
402
366
  function createRemoteExposeComponent(app, expose) {
403
- const tw = (0, external_naming_cjs_namespaceObject.createTw)((0, external_naming_cjs_namespaceObject.tailwindPrefixForApp)(app));
404
- if ('./Widget' === expose) return createRemoteWidget(app);
405
- const componentName = `${(0, external_naming_cjs_namespaceObject.toPascalCase)(app.domain ?? app.id)}${(0, external_naming_cjs_namespaceObject.toPascalCase)(expose.replace(/^\.\//u, ''))}`;
406
- const domain = app.domain ?? app.id;
407
- const namespace = (0, external_descriptors_cjs_namespaceObject.appI18nNamespace)(app);
408
- return `${createFederatedI18nSetup(app, '../../locales')}
409
-
410
- const ${componentName}Content = () => {
411
- const { t } = useModernI18n();
412
-
413
- return (
414
- <section className="${tw('rounded-2xl bg-white/90 p-5 shadow-xl shadow-stone-900/10')}" data-modern-boundary-id="${app.mfName}" data-modern-mf-expose="${expose}">
415
- <h2 className="${tw('text-2xl font-black')}">{t('${domain}.title')}</h2>
416
- <p className="${tw('mt-2 text-stone-600')}">{t('${domain}.federatedSurface')}</p>
417
- </section>
418
- );
419
- };
420
-
421
- export default function ${componentName}(props: Record<string, never>): JSX.Element {
422
- void props;
423
-
424
- return (
425
- ${createFederatedI18nBoundary(namespace, `<${componentName}Content />`)}
426
- );
427
- }
428
- `;
367
+ return createRemoteSurface(app, {
368
+ expose,
369
+ localeRoot: '../../locales',
370
+ bodyTranslationKey: './Widget' === expose ? 'widgetBody' : 'federatedSurface'
371
+ });
429
372
  }
430
373
  function remoteComponentOutputPath(app, expose) {
431
374
  const exposePath = app.exposes?.[expose];
432
375
  if (!exposePath?.startsWith('./src/components/')) return;
433
376
  return `${app.directory}/${exposePath.replace(/^\.\//u, '')}`;
434
377
  }
435
- const tanstackRuntimeModule = '@modern-js/plugin-tanstack/runtime';
436
- function ensureNamedImport(source, moduleName, names) {
437
- const importEndMarker = `from '${moduleName}';`;
438
- const importEnd = source.indexOf(importEndMarker);
439
- if (importEnd >= 0) {
440
- const importStart = source.lastIndexOf('import ', importEnd);
441
- const openBrace = source.indexOf('{', importStart);
442
- const closeBrace = source.indexOf('}', openBrace);
443
- if (openBrace >= 0 && closeBrace >= 0 && closeBrace < importEnd) {
444
- const existingNames = source.slice(openBrace + 1, closeBrace).split(',').map((name)=>name.trim()).filter(Boolean);
445
- const missingNames = names.filter((name)=>!existingNames.includes(name));
446
- if (0 === missingNames.length) return source;
447
- const importedNames = [
448
- ...existingNames,
449
- ...missingNames
450
- ].toSorted((left, right)=>left.localeCompare(right));
451
- return `${source.slice(0, openBrace + 1)} ${importedNames.join(', ')} ${source.slice(closeBrace)}`;
452
- }
453
- }
454
- const firstImportEnd = source.indexOf('\n');
455
- const importLine = `import { ${names.join(', ')} } from '${moduleName}';\n`;
456
- return firstImportEnd < 0 ? `${importLine}${source}` : `${source.slice(0, firstImportEnd + 1)}${importLine}${source.slice(firstImportEnd + 1)}`;
457
- }
458
- function removeNamedImport(source, moduleName, name) {
459
- const importEndMarker = `from '${moduleName}';`;
460
- const importEnd = source.indexOf(importEndMarker);
461
- if (importEnd < 0) return source;
462
- const importStart = source.lastIndexOf('import ', importEnd);
463
- const openBrace = source.indexOf('{', importStart);
464
- const closeBrace = source.indexOf('}', openBrace);
465
- if (openBrace < 0 || closeBrace < 0 || closeBrace > importEnd) return source;
466
- const names = source.slice(openBrace + 1, closeBrace).split(',').map((importName)=>importName.trim()).filter((importName)=>'' !== importName && importName !== name);
467
- if (0 === names.length) {
468
- const lineEnd = source.indexOf('\n', importEnd + importEndMarker.length);
469
- return `${source.slice(0, importStart)}${source.slice(lineEnd < 0 ? source.length : lineEnd + 1)}`;
470
- }
471
- return `${source.slice(0, openBrace + 1)} ${names.join(', ')} ${source.slice(closeBrace)}`;
472
- }
473
- function ensureNavigateHook(source) {
474
- if (source.includes('const navigate = useNavigate();')) return source;
475
- const functionStart = source.indexOf('export default function ');
476
- const parametersEnd = source.indexOf(')', functionStart);
477
- const bodyStart = source.indexOf('{', parametersEnd);
478
- if (functionStart < 0 || parametersEnd < 0 || bodyStart < 0) return source;
479
- return `${source.slice(0, bodyStart + 1)}\n const navigate = useNavigate();${source.slice(bodyStart + 1)}`;
480
- }
481
- function closingParenthesis(source, openingParenthesis) {
482
- let depth = 0;
483
- let quote = '';
484
- let escaped = false;
485
- for(let index = openingParenthesis; index < source.length; index += 1){
486
- const character = source[index] ?? '';
487
- if ('' !== quote) {
488
- if (escaped) escaped = false;
489
- else if ('\\' === character) escaped = true;
490
- else if (character === quote) quote = '';
491
- continue;
492
- }
493
- if ("'" === character || '"' === character || '`' === character) quote = character;
494
- else if ('(' === character) depth += 1;
495
- else if (')' === character) {
496
- depth -= 1;
497
- if (0 === depth) return index;
498
- }
499
- }
500
- return -1;
501
- }
502
- function removeLegacyLocationSuffixHelper(source) {
503
- return source.replace(/(^|\n)const locationSuffix = \(location: \{ hash\?: unknown; search\?: unknown; searchStr\?: unknown \}\) => \{[\s\S]*?\n\};\n/u, '$1').replace('\n const suffix = locationSuffix(location);', '');
504
- }
505
- function rewriteRouterLocationSuffix(source) {
506
- let changed = false;
507
- const next = source.replace(/^(\s*)to: `\$\{([^`\n]+)\}\$\{suffix\}`,/gmu, (_match, indentation, destination)=>{
508
- changed = true;
509
- return `${indentation}hash: true,\n${indentation}search: true,\n${indentation}to: ${destination},`;
510
- });
511
- return {
512
- changed,
513
- source: changed ? removeLegacyLocationSuffixHelper(next) : next
514
- };
515
- }
516
- function rewriteWindowLocationAssignments(source) {
517
- const callMarker = 'window.location.assign';
518
- let next = source;
519
- let searchFrom = 0;
520
- let changed = false;
521
- let preservesCurrentLocationState = false;
522
- while(true){
523
- const callStart = next.indexOf(callMarker, searchFrom);
524
- if (callStart < 0) break;
525
- const openingParenthesis = next.indexOf('(', callStart + callMarker.length);
526
- if (openingParenthesis < 0) break;
527
- const callEnd = closingParenthesis(next, openingParenthesis);
528
- if (callEnd < 0) break;
529
- let destination = next.slice(openingParenthesis + 1, callEnd).trim();
530
- if (destination.endsWith(',')) destination = destination.slice(0, -1).trimEnd();
531
- const preservesSuffix = destination.includes("${suffix}") && next.includes('const suffix = locationSuffix(location);');
532
- if (preservesSuffix) {
533
- destination = destination.replace("${suffix}", '');
534
- if (destination.startsWith('`${') && destination.endsWith('}`')) destination = destination.slice(3, -2);
535
- preservesCurrentLocationState = true;
536
- }
537
- const lineStart = next.lastIndexOf('\n', callStart) + 1;
538
- const indentation = next.slice(lineStart, callStart);
539
- const options = preservesSuffix ? `hash: true,\n${indentation} search: true,\n${indentation} to: ${destination},` : `to: ${destination},`;
540
- const replacement = `void navigate({\n${indentation} ${options}\n${indentation}})`;
541
- next = `${next.slice(0, callStart)}${replacement}${next.slice(callEnd + 1)}`;
542
- searchFrom = callStart + replacement.length;
543
- changed = true;
544
- }
545
- if (preservesCurrentLocationState) next = removeLegacyLocationSuffixHelper(next);
546
- return {
547
- changed,
548
- source: next
549
- };
550
- }
551
- function closingJsxTag(source, openingTagStart) {
552
- let braces = 0;
553
- let quote = '';
554
- let escaped = false;
555
- for(let index = openingTagStart; index < source.length; index += 1){
556
- const character = source[index] ?? '';
557
- if ('' !== quote) {
558
- if (escaped) escaped = false;
559
- else if ('\\' === character) escaped = true;
560
- else if (character === quote) quote = '';
561
- continue;
562
- }
563
- if ("'" === character || '"' === character || '`' === character) quote = character;
564
- else if ('{' === character) braces += 1;
565
- else if ('}' === character) braces -= 1;
566
- else if ('>' === character && 0 === braces) return index;
567
- }
568
- return -1;
569
- }
570
- function isInternalHref(openingTag) {
571
- return openingTag.includes('href="/') || openingTag.includes("href='/") || openingTag.includes('href={`/');
572
- }
573
- function removeSyntheticClickHandler(openingTag) {
574
- const onClickStart = openingTag.indexOf(' onClick=');
575
- if (onClickStart < 0) return openingTag;
576
- const valueStart = openingTag.indexOf('{', onClickStart);
577
- if (valueStart < 0) return openingTag;
578
- let depth = 0;
579
- for(let index = valueStart; index < openingTag.length; index += 1){
580
- const character = openingTag[index] ?? '';
581
- if ('{' === character) depth += 1;
582
- else if ('}' === character) {
583
- depth -= 1;
584
- if (0 === depth) {
585
- const handler = openingTag.slice(valueStart, index + 1);
586
- return handler.includes('preventDefault') ? `${openingTag.slice(0, onClickStart)}${openingTag.slice(index + 1)}` : openingTag;
587
- }
588
- }
589
- }
590
- return openingTag;
591
- }
592
- function rewriteCheckoutCartLink(source) {
593
- let changed = false;
594
- const next = source.replace(/^(\s*)to=\{`\/\$\{language\}\/cart\?sku=\$\{sku\}`\},?$/gmu, (_match, indentation)=>{
595
- changed = true;
596
- return `${indentation}params={{ lang: language }}\n${indentation}search={{ sku }}\n${indentation}to="/$lang/cart"`;
597
- });
598
- return {
599
- changed,
600
- source: next
601
- };
602
- }
603
- function rewriteCrossRemoteTractorsLink(source) {
604
- let next = source;
605
- let searchFrom = 0;
606
- let changed = false;
607
- while(true){
608
- const openingTagStart = next.indexOf('<Link', searchFrom);
609
- if (openingTagStart < 0) break;
610
- const openingTagEnd = closingJsxTag(next, openingTagStart);
611
- if (openingTagEnd < 0) break;
612
- const openingTag = next.slice(openingTagStart, openingTagEnd + 1);
613
- if (!openingTag.includes("to={`/${language}/tractors`}")) {
614
- searchFrom = openingTagEnd + 1;
615
- continue;
616
- }
617
- const closingTagStart = next.indexOf('</Link>', openingTagEnd + 1);
618
- if (closingTagStart < 0) break;
619
- const nativeOpeningTag = openingTag.replace('<Link', '<a').replace('to=', 'href=');
620
- next = `${next.slice(0, openingTagStart)}${nativeOpeningTag}${next.slice(openingTagEnd + 1, closingTagStart)}</a>${next.slice(closingTagStart + 7)}`;
621
- searchFrom = openingTagStart + nativeOpeningTag.length;
622
- changed = true;
623
- }
624
- return {
625
- changed,
626
- source: next
627
- };
628
- }
629
- function rewriteInternalAnchors(source) {
630
- let next = source;
631
- let searchFrom = 0;
632
- let changed = false;
633
- while(true){
634
- const openingTagStart = next.indexOf('<a', searchFrom);
635
- if (openingTagStart < 0) break;
636
- const boundary = next[openingTagStart + 2];
637
- if (' ' !== boundary && '\n' !== boundary && '\t' !== boundary) {
638
- searchFrom = openingTagStart + 2;
639
- continue;
640
- }
641
- const openingTagEnd = closingJsxTag(next, openingTagStart);
642
- if (openingTagEnd < 0) break;
643
- const openingTag = next.slice(openingTagStart, openingTagEnd + 1);
644
- if (!isInternalHref(openingTag)) {
645
- searchFrom = openingTagEnd + 1;
646
- continue;
647
- }
648
- const closingTagStart = next.indexOf('</a>', openingTagEnd + 1);
649
- if (closingTagStart < 0) break;
650
- const nativeOpeningTag = removeSyntheticClickHandler(openingTag).replace('<a', '<Link').replace('href=', 'to=');
651
- next = `${next.slice(0, openingTagStart)}${nativeOpeningTag}${next.slice(openingTagEnd + 1, closingTagStart)}</Link>${next.slice(closingTagStart + 4)}`;
652
- searchFrom = openingTagStart + nativeOpeningTag.length;
653
- changed = true;
654
- }
655
- return {
656
- changed,
657
- source: next
658
- };
659
- }
660
- function rewriteJsxElementName(source, elementName, componentName) {
661
- const openingMarker = `<${elementName}`;
662
- const closingMarker = `</${elementName}>`;
663
- let next = source;
664
- let searchFrom = 0;
665
- let changed = false;
666
- while(true){
667
- const openingTagStart = next.indexOf(openingMarker, searchFrom);
668
- if (openingTagStart < 0) break;
669
- const boundary = next[openingTagStart + openingMarker.length];
670
- if (' ' !== boundary && '\n' !== boundary && '\t' !== boundary) {
671
- searchFrom = openingTagStart + openingMarker.length;
672
- continue;
673
- }
674
- const openingTagEnd = closingJsxTag(next, openingTagStart);
675
- const closingTagStart = next.indexOf(closingMarker, openingTagEnd + 1);
676
- if (openingTagEnd < 0 || closingTagStart < 0) break;
677
- next = `${next.slice(0, openingTagStart)}<${componentName}${next.slice(openingTagStart + openingMarker.length, closingTagStart)}</${componentName}>${next.slice(closingTagStart + closingMarker.length)}`;
678
- searchFrom = openingTagStart + componentName.length + 1;
679
- changed = true;
680
- }
681
- return {
682
- changed,
683
- source: next
684
- };
685
- }
686
- function ensureNoPropsComponentContract(source) {
687
- let changed = false;
688
- let next = source.replace(/export default function ([A-Za-z_$][\w$]*)\(\) \{/u, (_match, componentName)=>{
689
- changed = true;
690
- return `export default function ${componentName}(\n props: Record<string, never>\n): JSX.Element {\n void props;`;
691
- });
692
- if (changed) next = ensureNamedImport(next, 'react', [
693
- 'JSX'
694
- ]);
695
- return {
696
- changed,
697
- source: next
698
- };
699
- }
700
- function regenerateGeneratedProductRouteAdapter(source) {
701
- let next = source.replaceAll('search.sku', "search['sku']");
702
- next = next.replace(/<(DecideProductPage|ProductPage) sku=\{sku\} slug=\{slug\} \/>/u, `<$1\n {...(sku === undefined ? {} : { sku })}\n {...(slug === undefined ? {} : { slug })}\n />`);
703
- return next;
704
- }
705
- function regenerateGeneratedNavigationSurface(source, kind) {
706
- const routerLocationSuffix = rewriteRouterLocationSuffix(source);
707
- const anchors = 'checkout-page' === kind ? rewriteCrossRemoteTractorsLink(routerLocationSuffix.source) : rewriteInternalAnchors(routerLocationSuffix.source);
708
- const cartLink = 'checkout-add-to-cart' === kind ? rewriteCheckoutCartLink(anchors.source) : {
709
- changed: false,
710
- source: anchors.source
711
- };
712
- const locationAssignments = rewriteWindowLocationAssignments(cartLink.source);
713
- const forms = 'demo-component' === kind || 'checkout-page' === kind ? rewriteJsxElementName(locationAssignments.source, 'form', 'Form') : {
714
- changed: false,
715
- source: locationAssignments.source
716
- };
717
- const noProps = 'checkout-page' === kind ? ensureNoPropsComponentContract(forms.source) : {
718
- changed: false,
719
- source: forms.source
720
- };
721
- let next = noProps.source;
722
- const usesLink = next.includes('<Link');
723
- if (forms.changed || anchors.changed && usesLink || locationAssignments.changed) {
724
- const imports = [
725
- ...forms.changed ? [
726
- 'Form'
727
- ] : [],
728
- ...anchors.changed && usesLink ? [
729
- 'Link'
730
- ] : [],
731
- ...locationAssignments.changed ? [
732
- 'useNavigate'
733
- ] : []
734
- ];
735
- next = ensureNamedImport(next, tanstackRuntimeModule, imports);
736
- }
737
- if (!usesLink) next = removeNamedImport(next, tanstackRuntimeModule, 'Link');
738
- if (locationAssignments.changed) next = ensureNavigateHook(next);
739
- return next;
740
- }
741
378
  exports.createFederatedComponentsRegistry = __webpack_exports__.createFederatedComponentsRegistry;
742
379
  exports.createLayout = __webpack_exports__.createLayout;
743
380
  exports.createRemoteEntry = __webpack_exports__.createRemoteEntry;
@@ -747,8 +384,6 @@ exports.createRemotePage = __webpack_exports__.createRemotePage;
747
384
  exports.createShellPage = __webpack_exports__.createShellPage;
748
385
  exports.createShellRemoteComponents = __webpack_exports__.createShellRemoteComponents;
749
386
  exports.createShellWorkerRemoteComponents = __webpack_exports__.createShellWorkerRemoteComponents;
750
- exports.regenerateGeneratedNavigationSurface = __webpack_exports__.regenerateGeneratedNavigationSurface;
751
- exports.regenerateGeneratedProductRouteAdapter = __webpack_exports__.regenerateGeneratedProductRouteAdapter;
752
387
  exports.remoteComponentOutputPath = __webpack_exports__.remoteComponentOutputPath;
753
388
  for(var __rspack_i in __webpack_exports__)if (-1 === [
754
389
  "createFederatedComponentsRegistry",
@@ -760,8 +395,6 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
760
395
  "createShellPage",
761
396
  "createShellRemoteComponents",
762
397
  "createShellWorkerRemoteComponents",
763
- "regenerateGeneratedNavigationSurface",
764
- "regenerateGeneratedProductRouteAdapter",
765
398
  "remoteComponentOutputPath"
766
399
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
767
400
  Object.defineProperty(exports, '__esModule', {
@@ -28,7 +28,6 @@ var __webpack_require__ = {};
28
28
  var __webpack_exports__ = {};
29
29
  __webpack_require__.r(__webpack_exports__);
30
30
  __webpack_require__.d(__webpack_exports__, {
31
- ULTRAMODERN_CONFIG_PATH: ()=>ULTRAMODERN_CONFIG_PATH,
32
31
  appEmitsBrowserUi: ()=>appEmitsBrowserUi,
33
32
  appHasApi: ()=>appHasApi,
34
33
  appI18nNamespace: ()=>appI18nNamespace,
@@ -57,7 +56,6 @@ __webpack_require__.d(__webpack_exports__, {
57
56
  zephyrRemoteDependency: ()=>zephyrRemoteDependency
58
57
  });
59
58
  const external_naming_cjs_namespaceObject = require("./naming.cjs");
60
- const ULTRAMODERN_CONFIG_PATH = '.modernjs/ultramodern.json';
61
59
  function distributedSsrExposes(app) {
62
60
  return Object.keys(app.exposes ?? {}).filter((expose)=>'./Route' !== expose).toSorted();
63
61
  }
@@ -246,7 +244,6 @@ function createCloudflarePublicUrlEnv(app) {
246
244
  function appI18nNamespace(app) {
247
245
  return 'shell' === app.kind ? 'shell' : app.domain ?? app.id;
248
246
  }
249
- exports.ULTRAMODERN_CONFIG_PATH = __webpack_exports__.ULTRAMODERN_CONFIG_PATH;
250
247
  exports.appEmitsBrowserUi = __webpack_exports__.appEmitsBrowserUi;
251
248
  exports.appHasApi = __webpack_exports__.appHasApi;
252
249
  exports.appI18nNamespace = __webpack_exports__.appI18nNamespace;
@@ -274,7 +271,6 @@ exports.shellApp = __webpack_exports__.shellApp;
274
271
  exports.verticalApiApps = __webpack_exports__.verticalApiApps;
275
272
  exports.zephyrRemoteDependency = __webpack_exports__.zephyrRemoteDependency;
276
273
  for(var __rspack_i in __webpack_exports__)if (-1 === [
277
- "ULTRAMODERN_CONFIG_PATH",
278
274
  "appEmitsBrowserUi",
279
275
  "appHasApi",
280
276
  "appI18nNamespace",