@bleedingdev/modern-js-runtime 3.2.0-ultramodern.12 → 3.2.0-ultramodern.121

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 (330) hide show
  1. package/dist/cjs/boundary-debugger/index.js +307 -0
  2. package/dist/cjs/cache/index.js +9 -5
  3. package/dist/cjs/cli/alias.js +9 -5
  4. package/dist/cjs/cli/code.js +9 -5
  5. package/dist/cjs/cli/constants.js +20 -16
  6. package/dist/cjs/cli/entry.js +9 -5
  7. package/dist/cjs/cli/index.js +20 -5
  8. package/dist/cjs/cli/ssr/index.js +14 -20
  9. package/dist/cjs/cli/ssr/loadable-bundler-plugin.js +9 -5
  10. package/dist/cjs/cli/ssr/mode.js +12 -8
  11. package/dist/cjs/cli/template.js +9 -5
  12. package/dist/cjs/cli/template.server.js +10 -5
  13. package/dist/cjs/common.js +14 -10
  14. package/dist/cjs/core/browser/hydrate.js +9 -5
  15. package/dist/cjs/core/browser/index.js +9 -5
  16. package/dist/cjs/core/browser/withCallback.js +9 -5
  17. package/dist/cjs/core/compat/hooks.js +14 -10
  18. package/dist/cjs/core/compat/index.js +9 -5
  19. package/dist/cjs/core/compat/requestContext.js +13 -9
  20. package/dist/cjs/core/config.js +12 -8
  21. package/dist/cjs/core/constants.js +15 -10
  22. package/dist/cjs/core/context/extensions.js +69 -0
  23. package/dist/cjs/core/context/helmetContext.js +54 -0
  24. package/dist/cjs/core/context/index.js +74 -5
  25. package/dist/cjs/core/context/monitors/default.js +12 -8
  26. package/dist/cjs/core/context/monitors/index.js +9 -5
  27. package/dist/cjs/core/context/monitors/index.server.js +9 -5
  28. package/dist/cjs/core/context/request/index.js +12 -8
  29. package/dist/cjs/core/context/request/index.server.js +9 -5
  30. package/dist/cjs/core/context/response/index.js +15 -11
  31. package/dist/cjs/core/context/response/index.server.js +9 -5
  32. package/dist/cjs/core/context/runtime.js +9 -5
  33. package/dist/cjs/core/context/serverPayload/index.js +13 -9
  34. package/dist/cjs/core/context/serverPayload/index.server.js +9 -5
  35. package/dist/cjs/core/index.js +9 -5
  36. package/dist/cjs/core/plugin/index.js +9 -5
  37. package/dist/cjs/core/react/index.js +9 -5
  38. package/dist/cjs/core/react/wrapper.js +21 -9
  39. package/dist/cjs/core/server/constants.js +15 -11
  40. package/dist/cjs/core/server/federatedCss.js +51 -0
  41. package/dist/cjs/core/server/helmet.js +18 -7
  42. package/dist/cjs/core/server/index.js +9 -5
  43. package/dist/cjs/core/server/react/index.js +9 -5
  44. package/dist/cjs/core/server/react/no-ssr-cache/index.js +9 -5
  45. package/dist/cjs/core/server/react/nossr/index.js +9 -5
  46. package/dist/cjs/core/server/requestHandler.js +51 -34
  47. package/dist/cjs/core/server/routerCleanup.js +110 -0
  48. package/dist/cjs/core/server/scriptOrder.js +134 -0
  49. package/dist/cjs/core/server/server.js +9 -5
  50. package/dist/cjs/core/server/shared.js +12 -8
  51. package/dist/cjs/core/server/stream/afterTemplate.js +16 -16
  52. package/dist/cjs/core/server/stream/beforeTemplate.js +22 -25
  53. package/dist/cjs/core/server/stream/beforeTemplate.worker.js +102 -0
  54. package/dist/cjs/core/server/stream/createReadableStream.js +16 -7
  55. package/dist/cjs/core/server/stream/createReadableStream.worker.js +13 -7
  56. package/dist/cjs/core/server/stream/deferredScript.js +13 -6
  57. package/dist/cjs/core/server/stream/index.js +9 -5
  58. package/dist/cjs/core/server/stream/shared.js +12 -6
  59. package/dist/cjs/core/server/stream/template.js +9 -5
  60. package/dist/cjs/core/server/string/index.js +19 -14
  61. package/dist/cjs/core/server/string/loadable.js +56 -15
  62. package/dist/cjs/core/server/string/ssrData.js +10 -6
  63. package/dist/cjs/core/server/tracer.js +13 -9
  64. package/dist/cjs/core/server/utils.js +40 -13
  65. package/dist/cjs/document/Body.js +9 -5
  66. package/dist/cjs/document/Comment.js +9 -5
  67. package/dist/cjs/document/DocumentContext.js +9 -5
  68. package/dist/cjs/document/DocumentStructureContext.js +9 -5
  69. package/dist/cjs/document/Head.js +9 -5
  70. package/dist/cjs/document/Html.js +9 -5
  71. package/dist/cjs/document/Links.js +9 -5
  72. package/dist/cjs/document/Root.js +9 -5
  73. package/dist/cjs/document/Script.js +9 -5
  74. package/dist/cjs/document/Scripts.js +9 -5
  75. package/dist/cjs/document/Style.js +9 -5
  76. package/dist/cjs/document/Title.js +9 -5
  77. package/dist/cjs/document/cli/index.js +12 -6
  78. package/dist/cjs/document/constants.js +9 -5
  79. package/dist/cjs/document/index.js +9 -5
  80. package/dist/cjs/exports/config-routes.js +12 -8
  81. package/dist/cjs/exports/head.js +271 -10
  82. package/dist/cjs/exports/loadable.js +51 -12
  83. package/dist/cjs/exports/tanstack-router.js +50 -58
  84. package/dist/cjs/index.js +9 -5
  85. package/dist/cjs/internal.js +9 -5
  86. package/dist/cjs/module-federation/index.js +178 -0
  87. package/dist/cjs/react-server.js +9 -5
  88. package/dist/cjs/router/cli/code/getClientRoutes/getRoutes.js +9 -5
  89. package/dist/cjs/router/cli/code/getClientRoutes/index.js +9 -5
  90. package/dist/cjs/router/cli/code/getClientRoutes/utils.js +9 -5
  91. package/dist/cjs/router/cli/code/index.js +10 -52
  92. package/dist/cjs/router/cli/code/inspect.js +9 -5
  93. package/dist/cjs/router/cli/code/makeLegalIdentifier.js +12 -8
  94. package/dist/cjs/router/cli/code/nestedRoutes.js +9 -5
  95. package/dist/cjs/router/cli/code/templates.js +10 -13
  96. package/dist/cjs/router/cli/code/utils.js +9 -5
  97. package/dist/cjs/router/cli/config-routes/converter.js +9 -5
  98. package/dist/cjs/router/cli/config-routes/parseRouteConfig.js +9 -5
  99. package/dist/cjs/router/cli/constants.js +23 -19
  100. package/dist/cjs/router/cli/entry.js +9 -5
  101. package/dist/cjs/router/cli/handler.js +10 -6
  102. package/dist/cjs/router/cli/index.js +11 -28
  103. package/dist/cjs/router/index.js +9 -5
  104. package/dist/cjs/router/internal.js +12 -8
  105. package/dist/cjs/router/runtime/CSSLinks.js +9 -5
  106. package/dist/cjs/router/runtime/DefaultNotFound.js +9 -5
  107. package/dist/cjs/router/runtime/DeferredDataScripts.js +12 -8
  108. package/dist/cjs/router/runtime/DeferredDataScripts.node.js +25 -9
  109. package/dist/cjs/router/runtime/PrefetchLink.js +161 -26
  110. package/dist/cjs/router/runtime/constants.js +9 -5
  111. package/dist/cjs/router/runtime/hooks.js +9 -5
  112. package/dist/cjs/router/runtime/index.js +15 -10
  113. package/dist/cjs/router/runtime/internal.js +29 -18
  114. package/dist/cjs/router/runtime/lifecycle.js +38 -19
  115. package/dist/cjs/router/runtime/plugin.js +11 -14
  116. package/dist/cjs/router/runtime/plugin.node.js +11 -12
  117. package/dist/cjs/router/runtime/provider.js +107 -0
  118. package/dist/cjs/router/runtime/routerHelper.js +9 -5
  119. package/dist/cjs/router/runtime/rsc-router.js +9 -5
  120. package/dist/cjs/router/runtime/rsc.js +9 -5
  121. package/dist/cjs/router/runtime/server.js +9 -5
  122. package/dist/cjs/router/runtime/utils.js +44 -14
  123. package/dist/cjs/router/runtime/withRouter.js +9 -5
  124. package/dist/cjs/rsc/client.js +12 -8
  125. package/dist/cjs/rsc/server.js +9 -5
  126. package/dist/cjs/rsc/server.worker.js +62 -0
  127. package/dist/esm/boundary-debugger/index.mjs +267 -0
  128. package/dist/esm/cli/index.mjs +4 -2
  129. package/dist/esm/cli/ssr/index.mjs +5 -15
  130. package/dist/esm/cli/template.server.mjs +1 -0
  131. package/dist/esm/core/context/extensions.mjs +28 -0
  132. package/dist/esm/core/context/helmetContext.mjs +13 -0
  133. package/dist/esm/core/context/index.mjs +5 -0
  134. package/dist/esm/core/react/wrapper.mjs +12 -4
  135. package/dist/esm/core/server/federatedCss.mjs +13 -0
  136. package/dist/esm/core/server/helmet.mjs +6 -2
  137. package/dist/esm/core/server/requestHandler.mjs +43 -30
  138. package/dist/esm/core/server/routerCleanup.mjs +66 -0
  139. package/dist/esm/core/server/scriptOrder.mjs +84 -0
  140. package/dist/esm/core/server/stream/afterTemplate.mjs +7 -11
  141. package/dist/esm/core/server/stream/beforeTemplate.mjs +14 -11
  142. package/dist/esm/core/server/stream/beforeTemplate.worker.mjs +64 -0
  143. package/dist/esm/core/server/stream/createReadableStream.mjs +7 -2
  144. package/dist/esm/core/server/stream/createReadableStream.worker.mjs +4 -2
  145. package/dist/esm/core/server/stream/deferredScript.mjs +4 -1
  146. package/dist/esm/core/server/stream/shared.mjs +3 -1
  147. package/dist/esm/core/server/string/index.mjs +12 -10
  148. package/dist/esm/core/server/string/loadable.mjs +43 -9
  149. package/dist/esm/core/server/string/ssrData.mjs +2 -2
  150. package/dist/esm/core/server/utils.mjs +31 -8
  151. package/dist/esm/document/cli/index.mjs +3 -1
  152. package/dist/esm/exports/head.mjs +255 -4
  153. package/dist/esm/exports/loadable.mjs +26 -3
  154. package/dist/esm/exports/tanstack-router.mjs +30 -3
  155. package/dist/esm/module-federation/index.mjs +109 -0
  156. package/dist/esm/router/cli/code/index.mjs +1 -47
  157. package/dist/esm/router/cli/code/templates.mjs +1 -8
  158. package/dist/esm/router/cli/handler.mjs +1 -1
  159. package/dist/esm/router/cli/index.mjs +3 -24
  160. package/dist/esm/router/runtime/DeferredDataScripts.node.mjs +16 -4
  161. package/dist/esm/router/runtime/PrefetchLink.mjs +152 -21
  162. package/dist/esm/router/runtime/internal.mjs +16 -15
  163. package/dist/esm/router/runtime/lifecycle.mjs +22 -13
  164. package/dist/esm/router/runtime/plugin.mjs +4 -11
  165. package/dist/esm/router/runtime/plugin.node.mjs +4 -9
  166. package/dist/esm/router/runtime/provider.mjs +57 -0
  167. package/dist/esm/router/runtime/utils.mjs +35 -9
  168. package/dist/esm/rsc/server.worker.mjs +1 -0
  169. package/dist/esm-node/boundary-debugger/index.mjs +268 -0
  170. package/dist/esm-node/cli/index.mjs +4 -2
  171. package/dist/esm-node/cli/ssr/index.mjs +5 -15
  172. package/dist/esm-node/cli/template.server.mjs +1 -0
  173. package/dist/esm-node/core/context/extensions.mjs +29 -0
  174. package/dist/esm-node/core/context/helmetContext.mjs +14 -0
  175. package/dist/esm-node/core/context/index.mjs +5 -0
  176. package/dist/esm-node/core/react/wrapper.mjs +12 -4
  177. package/dist/esm-node/core/server/federatedCss.mjs +14 -0
  178. package/dist/esm-node/core/server/helmet.mjs +6 -2
  179. package/dist/esm-node/core/server/requestHandler.mjs +43 -30
  180. package/dist/esm-node/core/server/routerCleanup.mjs +67 -0
  181. package/dist/esm-node/core/server/scriptOrder.mjs +85 -0
  182. package/dist/esm-node/core/server/stream/afterTemplate.mjs +7 -11
  183. package/dist/esm-node/core/server/stream/beforeTemplate.mjs +14 -11
  184. package/dist/esm-node/core/server/stream/beforeTemplate.worker.mjs +65 -0
  185. package/dist/esm-node/core/server/stream/createReadableStream.mjs +7 -2
  186. package/dist/esm-node/core/server/stream/createReadableStream.worker.mjs +4 -2
  187. package/dist/esm-node/core/server/stream/deferredScript.mjs +4 -1
  188. package/dist/esm-node/core/server/stream/shared.mjs +3 -1
  189. package/dist/esm-node/core/server/string/index.mjs +12 -10
  190. package/dist/esm-node/core/server/string/loadable.mjs +43 -9
  191. package/dist/esm-node/core/server/string/ssrData.mjs +2 -2
  192. package/dist/esm-node/core/server/utils.mjs +31 -8
  193. package/dist/esm-node/document/cli/index.mjs +3 -1
  194. package/dist/esm-node/exports/head.mjs +255 -4
  195. package/dist/esm-node/exports/loadable.mjs +26 -3
  196. package/dist/esm-node/exports/tanstack-router.mjs +30 -3
  197. package/dist/esm-node/module-federation/index.mjs +110 -0
  198. package/dist/esm-node/router/cli/code/index.mjs +1 -47
  199. package/dist/esm-node/router/cli/code/templates.mjs +1 -8
  200. package/dist/esm-node/router/cli/handler.mjs +1 -1
  201. package/dist/esm-node/router/cli/index.mjs +3 -24
  202. package/dist/esm-node/router/runtime/DeferredDataScripts.node.mjs +16 -4
  203. package/dist/esm-node/router/runtime/PrefetchLink.mjs +152 -21
  204. package/dist/esm-node/router/runtime/internal.mjs +16 -15
  205. package/dist/esm-node/router/runtime/lifecycle.mjs +22 -13
  206. package/dist/esm-node/router/runtime/plugin.mjs +4 -11
  207. package/dist/esm-node/router/runtime/plugin.node.mjs +4 -9
  208. package/dist/esm-node/router/runtime/provider.mjs +58 -0
  209. package/dist/esm-node/router/runtime/utils.mjs +35 -9
  210. package/dist/esm-node/rsc/server.worker.mjs +2 -0
  211. package/dist/types/boundary-debugger/index.d.ts +28 -0
  212. package/dist/types/cli/entry.d.ts +2 -2
  213. package/dist/types/cli/index.d.ts +3 -1
  214. package/dist/types/core/context/extensions.d.ts +37 -0
  215. package/dist/types/core/context/helmetContext.d.ts +10 -0
  216. package/dist/types/core/context/index.d.ts +6 -0
  217. package/dist/types/core/context/response/index.server.d.ts +4 -1
  218. package/dist/types/core/context/runtime.d.ts +1 -7
  219. package/dist/types/core/plugin/index.d.ts +1 -1
  220. package/dist/types/core/server/federatedCss.d.ts +5 -0
  221. package/dist/types/core/server/helmet.d.ts +5 -3
  222. package/dist/types/core/server/routerCleanup.d.ts +28 -0
  223. package/dist/types/core/server/scriptOrder.d.ts +25 -0
  224. package/dist/types/core/server/stream/beforeTemplate.d.ts +1 -0
  225. package/dist/types/core/server/stream/beforeTemplate.worker.d.ts +10 -0
  226. package/dist/types/core/server/stream/shared.d.ts +8 -0
  227. package/dist/types/core/server/string/loadable.d.ts +5 -0
  228. package/dist/types/core/server/utils.d.ts +12 -1
  229. package/dist/types/document/constants.d.ts +3 -1
  230. package/dist/types/exports/head.d.ts +10 -3
  231. package/dist/types/exports/loadable.d.ts +8 -1
  232. package/dist/types/exports/tanstack-router.d.ts +88 -5
  233. package/dist/types/module-federation/index.d.ts +65 -0
  234. package/dist/types/router/cli/code/index.d.ts +1 -3
  235. package/dist/types/router/cli/code/utils.d.ts +1 -1
  236. package/dist/types/router/cli/entry.d.ts +1 -1
  237. package/dist/types/router/cli/handler.d.ts +0 -3
  238. package/dist/types/router/runtime/PrefetchLink.d.ts +5 -1
  239. package/dist/types/router/runtime/internal.d.ts +1 -0
  240. package/dist/types/router/runtime/lifecycle.d.ts +2 -0
  241. package/dist/types/router/runtime/plugin.d.ts +1 -1
  242. package/dist/types/router/runtime/plugin.node.d.ts +1 -1
  243. package/dist/types/router/runtime/provider.d.ts +61 -0
  244. package/dist/types/rsc/server.worker.d.ts +1 -0
  245. package/package.json +37 -27
  246. package/rstest.config.mts +2 -4
  247. package/dist/cjs/router/cli/code/tanstackTypes.js +0 -378
  248. package/dist/cjs/router/runtime/tanstack/basepathRewrite.js +0 -62
  249. package/dist/cjs/router/runtime/tanstack/dataMutation.js +0 -345
  250. package/dist/cjs/router/runtime/tanstack/plugin.js +0 -239
  251. package/dist/cjs/router/runtime/tanstack/plugin.node.js +0 -278
  252. package/dist/cjs/router/runtime/tanstack/prefetchLink.js +0 -55
  253. package/dist/cjs/router/runtime/tanstack/routeTree.js +0 -469
  254. package/dist/cjs/router/runtime/tanstack/rsc/ClientSlot.js +0 -53
  255. package/dist/cjs/router/runtime/tanstack/rsc/CompositeComponent.js +0 -75
  256. package/dist/cjs/router/runtime/tanstack/rsc/ReplayableStream.js +0 -141
  257. package/dist/cjs/router/runtime/tanstack/rsc/RscNodeRenderer.js +0 -65
  258. package/dist/cjs/router/runtime/tanstack/rsc/SlotContext.js +0 -54
  259. package/dist/cjs/router/runtime/tanstack/rsc/client.js +0 -93
  260. package/dist/cjs/router/runtime/tanstack/rsc/createRscProxy.js +0 -141
  261. package/dist/cjs/router/runtime/tanstack/rsc/index.js +0 -42
  262. package/dist/cjs/router/runtime/tanstack/rsc/server.js +0 -246
  263. package/dist/cjs/router/runtime/tanstack/rsc/slotUsageSanitizer.js +0 -65
  264. package/dist/cjs/router/runtime/tanstack/rsc/symbols.js +0 -72
  265. package/dist/cjs/ssr/index.node.js +0 -121
  266. package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -84
  267. package/dist/cjs/ssr/serverRender/renderToString/entry.js +0 -195
  268. package/dist/cjs/ssr/serverRender/types.js +0 -36
  269. package/dist/esm/router/cli/code/tanstackTypes.mjs +0 -331
  270. package/dist/esm/router/runtime/tanstack/basepathRewrite.mjs +0 -28
  271. package/dist/esm/router/runtime/tanstack/dataMutation.mjs +0 -305
  272. package/dist/esm/router/runtime/tanstack/plugin.mjs +0 -205
  273. package/dist/esm/router/runtime/tanstack/plugin.node.mjs +0 -244
  274. package/dist/esm/router/runtime/tanstack/prefetchLink.mjs +0 -18
  275. package/dist/esm/router/runtime/tanstack/routeTree.mjs +0 -429
  276. package/dist/esm/router/runtime/tanstack/rsc/ClientSlot.mjs +0 -19
  277. package/dist/esm/router/runtime/tanstack/rsc/CompositeComponent.mjs +0 -41
  278. package/dist/esm/router/runtime/tanstack/rsc/ReplayableStream.mjs +0 -104
  279. package/dist/esm/router/runtime/tanstack/rsc/RscNodeRenderer.mjs +0 -31
  280. package/dist/esm/router/runtime/tanstack/rsc/SlotContext.mjs +0 -17
  281. package/dist/esm/router/runtime/tanstack/rsc/client.mjs +0 -53
  282. package/dist/esm/router/runtime/tanstack/rsc/createRscProxy.mjs +0 -107
  283. package/dist/esm/router/runtime/tanstack/rsc/index.mjs +0 -1
  284. package/dist/esm/router/runtime/tanstack/rsc/server.mjs +0 -200
  285. package/dist/esm/router/runtime/tanstack/rsc/slotUsageSanitizer.mjs +0 -31
  286. package/dist/esm/router/runtime/tanstack/rsc/symbols.mjs +0 -17
  287. package/dist/esm/ssr/index.node.mjs +0 -44
  288. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.after.mjs +0 -50
  289. package/dist/esm/ssr/serverRender/renderToString/entry.mjs +0 -148
  290. package/dist/esm/ssr/serverRender/types.mjs +0 -1
  291. package/dist/esm-node/router/cli/code/tanstackTypes.mjs +0 -332
  292. package/dist/esm-node/router/runtime/tanstack/basepathRewrite.mjs +0 -29
  293. package/dist/esm-node/router/runtime/tanstack/dataMutation.mjs +0 -306
  294. package/dist/esm-node/router/runtime/tanstack/plugin.mjs +0 -206
  295. package/dist/esm-node/router/runtime/tanstack/plugin.node.mjs +0 -245
  296. package/dist/esm-node/router/runtime/tanstack/prefetchLink.mjs +0 -19
  297. package/dist/esm-node/router/runtime/tanstack/routeTree.mjs +0 -430
  298. package/dist/esm-node/router/runtime/tanstack/rsc/ClientSlot.mjs +0 -20
  299. package/dist/esm-node/router/runtime/tanstack/rsc/CompositeComponent.mjs +0 -42
  300. package/dist/esm-node/router/runtime/tanstack/rsc/ReplayableStream.mjs +0 -105
  301. package/dist/esm-node/router/runtime/tanstack/rsc/RscNodeRenderer.mjs +0 -32
  302. package/dist/esm-node/router/runtime/tanstack/rsc/SlotContext.mjs +0 -18
  303. package/dist/esm-node/router/runtime/tanstack/rsc/client.mjs +0 -54
  304. package/dist/esm-node/router/runtime/tanstack/rsc/createRscProxy.mjs +0 -108
  305. package/dist/esm-node/router/runtime/tanstack/rsc/index.mjs +0 -2
  306. package/dist/esm-node/router/runtime/tanstack/rsc/server.mjs +0 -201
  307. package/dist/esm-node/router/runtime/tanstack/rsc/slotUsageSanitizer.mjs +0 -32
  308. package/dist/esm-node/router/runtime/tanstack/rsc/symbols.mjs +0 -18
  309. package/dist/esm-node/ssr/index.node.mjs +0 -45
  310. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.after.mjs +0 -51
  311. package/dist/esm-node/ssr/serverRender/renderToString/entry.mjs +0 -149
  312. package/dist/esm-node/ssr/serverRender/types.mjs +0 -2
  313. package/dist/types/router/cli/code/tanstackTypes.d.ts +0 -10
  314. package/dist/types/router/runtime/tanstack/basepathRewrite.d.ts +0 -8
  315. package/dist/types/router/runtime/tanstack/dataMutation.d.ts +0 -29
  316. package/dist/types/router/runtime/tanstack/plugin.d.ts +0 -6
  317. package/dist/types/router/runtime/tanstack/plugin.node.d.ts +0 -6
  318. package/dist/types/router/runtime/tanstack/prefetchLink.d.ts +0 -11
  319. package/dist/types/router/runtime/tanstack/routeTree.d.ts +0 -8
  320. package/dist/types/router/runtime/tanstack/rsc/ClientSlot.d.ts +0 -5
  321. package/dist/types/router/runtime/tanstack/rsc/CompositeComponent.d.ts +0 -3
  322. package/dist/types/router/runtime/tanstack/rsc/ReplayableStream.d.ts +0 -24
  323. package/dist/types/router/runtime/tanstack/rsc/RscNodeRenderer.d.ts +0 -5
  324. package/dist/types/router/runtime/tanstack/rsc/SlotContext.d.ts +0 -11
  325. package/dist/types/router/runtime/tanstack/rsc/client.d.ts +0 -11
  326. package/dist/types/router/runtime/tanstack/rsc/createRscProxy.d.ts +0 -7
  327. package/dist/types/router/runtime/tanstack/rsc/index.d.ts +0 -2
  328. package/dist/types/router/runtime/tanstack/rsc/server.d.ts +0 -14
  329. package/dist/types/router/runtime/tanstack/rsc/slotUsageSanitizer.d.ts +0 -2
  330. package/dist/types/router/runtime/tanstack/rsc/symbols.d.ts +0 -46
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -47,6 +51,7 @@ const runtime_js_namespaceObject = require("../context/runtime.js");
47
51
  const serverPayload_index_js_namespaceObject = require("../context/serverPayload/index.js");
48
52
  const external_react_index_js_namespaceObject = require("../react/index.js");
49
53
  const external_constants_js_namespaceObject = require("./constants.js");
54
+ const external_routerCleanup_js_namespaceObject = require("./routerCleanup.js");
50
55
  const external_tracer_js_namespaceObject = require("./tracer.js");
51
56
  const external_utils_js_namespaceObject = require("./utils.js");
52
57
  async function handleRSCRequest(request, Root, context, options, handleRequest) {
@@ -75,6 +80,39 @@ const processRedirect = (headers, status, ctx)=>{
75
80
  headers
76
81
  });
77
82
  };
83
+ const applyRouterSnapshotResult = (context, onError)=>{
84
+ const routerServerSnapshot = (0, lifecycle_js_namespaceObject.getRouterServerSnapshot)(context);
85
+ const routerStatusCode = routerServerSnapshot?.statusCode ?? context.routerContext?.statusCode;
86
+ if (routerStatusCode && 200 !== routerStatusCode) context.ssrContext?.response.status(routerStatusCode);
87
+ const errors = Object.values(routerServerSnapshot?.errors || context.routerContext?.errors || {});
88
+ if (errors.length > 0) onError(errors[0], external_tracer_js_namespaceObject.SSRErrors.LOADER_ERROR);
89
+ };
90
+ const createLoaderRedirectResponse = (beforeRenderResult, redirectCtx)=>{
91
+ if (!beforeRenderResult || !isRedirectStatus(beforeRenderResult.status)) return;
92
+ if (beforeRenderResult.headers.has('X-Modernjs-Redirect')) return beforeRenderResult;
93
+ const redirectUrl = beforeRenderResult.headers.get('Location') || '/';
94
+ return processRedirect(new Headers({
95
+ Location: redirectUrl
96
+ }), beforeRenderResult.status, redirectCtx);
97
+ };
98
+ const renderRequest = async (request, Root, context, options, handleRequest, enableRsc)=>{
99
+ if (enableRsc) return handleRSCRequest(request, Root, context, options, handleRequest);
100
+ return handleRequest(request, Root, {
101
+ ...options,
102
+ runtimeContext: context
103
+ });
104
+ };
105
+ const finalizeRenderResponse = (response, responseProxy, redirectCtx, routerCleanup)=>{
106
+ if (-1 !== responseProxy.status && isRedirectStatus(responseProxy.status) && responseProxy.headers.Location) return processRedirect(new Headers(responseProxy.headers), responseProxy.status, redirectCtx);
107
+ Object.entries(responseProxy.headers).forEach(([key, value])=>{
108
+ response.headers.set(key, value);
109
+ });
110
+ if (-1 !== responseProxy.status) return routerCleanup.deferUntilBodyDone(new Response(response.body, {
111
+ status: responseProxy.status,
112
+ headers: response.headers
113
+ }));
114
+ return routerCleanup.deferUntilBodyDone(response);
115
+ };
78
116
  function createSSRContext(request, options) {
79
117
  const { config, loaderContext, onError, onTiming, locals, resource, params, responseProxy, reporter } = options;
80
118
  const { nonce, useJsonScript } = config;
@@ -170,41 +208,20 @@ const createRequestHandler = async (handleRequest, createRequestOptions)=>{
170
208
  isRSCNavigation: 'true' === request.headers.get('x-rsc-tree'),
171
209
  basename: ssrContext.baseUrl || '/'
172
210
  };
173
- try {
211
+ return (0, external_routerCleanup_js_namespaceObject.withRouterCleanup)(context, options.onError, async (routerCleanup)=>{
174
212
  const beforeRenderResult = await runBeforeRender(context);
175
- const routerServerSnapshot = context.routerServerSnapshot;
176
- const routerStatusCode = routerServerSnapshot?.statusCode ?? context.routerContext?.statusCode;
177
- if (routerStatusCode && 200 !== routerStatusCode) context.ssrContext?.response.status(routerStatusCode);
178
- const errors = Object.values(routerServerSnapshot?.errors || context.routerContext?.errors || {});
179
- if (errors.length > 0) options.onError(errors[0], external_tracer_js_namespaceObject.SSRErrors.LOADER_ERROR);
180
- if ("u" > typeof Response && beforeRenderResult instanceof Response && isRedirectStatus(beforeRenderResult.status)) {
181
- if (beforeRenderResult.headers.has('X-Modernjs-Redirect')) return beforeRenderResult;
182
- const redirectUrl = beforeRenderResult.headers.get('Location') || '/';
183
- return processRedirect(new Headers({
184
- Location: redirectUrl
185
- }), beforeRenderResult.status, redirectCtx);
213
+ applyRouterSnapshotResult(context, options.onError);
214
+ if ("u" > typeof Response) {
215
+ const redirectResponse = createLoaderRedirectResponse(beforeRenderResult, redirectCtx);
216
+ if (redirectResponse) return redirectResponse;
186
217
  }
187
218
  if (!createRequestOptions?.enableRsc) {
188
219
  const { htmlTemplate } = options.resource;
189
220
  options.resource.htmlTemplate = htmlTemplate.replace('</head>', `${external_constants_js_namespaceObject.CHUNK_CSS_PLACEHOLDER}</head>`);
190
221
  }
191
- let response;
192
- response = createRequestOptions?.enableRsc ? await handleRSCRequest(request, Root, context, options, handleRequest) : await handleRequest(request, Root, {
193
- ...options,
194
- runtimeContext: context
195
- });
196
- if (-1 !== responseProxy.status && isRedirectStatus(responseProxy.status) && responseProxy.headers.Location) return processRedirect(new Headers(responseProxy.headers), responseProxy.status, redirectCtx);
197
- Object.entries(responseProxy.headers).forEach(([key, value])=>{
198
- response.headers.set(key, value);
199
- });
200
- if (-1 !== responseProxy.status) return new Response(response.body, {
201
- status: responseProxy.status,
202
- headers: response.headers
203
- });
204
- return response;
205
- } finally{
206
- await (0, lifecycle_js_namespaceObject.cleanupRouterRuntimeState)(context);
207
- }
222
+ const response = await renderRequest(request, Root, context, options, handleRequest, !!createRequestOptions?.enableRsc);
223
+ return finalizeRenderResponse(response, responseProxy, redirectCtx, routerCleanup);
224
+ });
208
225
  });
209
226
  };
210
227
  return requestHandler;
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
13
+ };
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
17
+ })();
18
+ (()=>{
19
+ __webpack_require__.r = (exports1)=>{
20
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
21
+ value: 'Module'
22
+ });
23
+ Object.defineProperty(exports1, '__esModule', {
24
+ value: true
25
+ });
26
+ };
27
+ })();
28
+ var __webpack_exports__ = {};
29
+ __webpack_require__.r(__webpack_exports__);
30
+ __webpack_require__.d(__webpack_exports__, {
31
+ ROUTER_CLEANUP_ERROR: ()=>ROUTER_CLEANUP_ERROR,
32
+ createRouterCleanup: ()=>createRouterCleanup,
33
+ withRouterCleanup: ()=>withRouterCleanup
34
+ });
35
+ const lifecycle_js_namespaceObject = require("../../router/runtime/lifecycle.js");
36
+ const ROUTER_CLEANUP_ERROR = 'An error occurs during router runtime cleanup';
37
+ async function withRouterCleanup(runtimeContext, onError, callback) {
38
+ const routerCleanup = createRouterCleanup(runtimeContext, onError);
39
+ try {
40
+ return await callback(routerCleanup);
41
+ } finally{
42
+ if (!routerCleanup.deferred) await routerCleanup.run();
43
+ }
44
+ }
45
+ function createRouterCleanup(runtimeContext, onError) {
46
+ let deferred = false;
47
+ let finished = false;
48
+ const run = async ()=>{
49
+ if (finished) return;
50
+ finished = true;
51
+ try {
52
+ await (0, lifecycle_js_namespaceObject.getRouterRuntimeState)(runtimeContext)?.cleanup?.();
53
+ } catch (error) {
54
+ onError(error, ROUTER_CLEANUP_ERROR);
55
+ }
56
+ };
57
+ const deferUntilBodyDone = (response)=>{
58
+ const { body } = response;
59
+ if (!body || body.locked) return response;
60
+ deferred = true;
61
+ const reader = body.getReader();
62
+ const wrappedBody = new ReadableStream({
63
+ async pull (controller) {
64
+ let result;
65
+ try {
66
+ result = await reader.read();
67
+ } catch (error) {
68
+ controller.error(error);
69
+ await run();
70
+ return;
71
+ }
72
+ if (result.done) {
73
+ controller.close();
74
+ await run();
75
+ return;
76
+ }
77
+ controller.enqueue(result.value);
78
+ },
79
+ async cancel (reason) {
80
+ try {
81
+ await reader.cancel(reason);
82
+ } catch {}
83
+ await run();
84
+ }
85
+ });
86
+ return new Response(wrappedBody, {
87
+ status: response.status,
88
+ statusText: response.statusText,
89
+ headers: response.headers
90
+ });
91
+ };
92
+ return {
93
+ get deferred () {
94
+ return deferred;
95
+ },
96
+ run,
97
+ deferUntilBodyDone
98
+ };
99
+ }
100
+ exports.ROUTER_CLEANUP_ERROR = __webpack_exports__.ROUTER_CLEANUP_ERROR;
101
+ exports.createRouterCleanup = __webpack_exports__.createRouterCleanup;
102
+ exports.withRouterCleanup = __webpack_exports__.withRouterCleanup;
103
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
104
+ "ROUTER_CLEANUP_ERROR",
105
+ "createRouterCleanup",
106
+ "withRouterCleanup"
107
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
108
+ Object.defineProperty(exports, '__esModule', {
109
+ value: true
110
+ });
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
13
+ };
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
17
+ })();
18
+ (()=>{
19
+ __webpack_require__.r = (exports1)=>{
20
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
21
+ value: 'Module'
22
+ });
23
+ Object.defineProperty(exports1, '__esModule', {
24
+ value: true
25
+ });
26
+ };
27
+ })();
28
+ var __webpack_exports__ = {};
29
+ __webpack_require__.r(__webpack_exports__);
30
+ __webpack_require__.d(__webpack_exports__, {
31
+ createRouteHydrationScriptTags: ()=>createRouteHydrationScriptTags,
32
+ getMatchedRouteAssets: ()=>getMatchedRouteAssets,
33
+ injectBeforeHydrationEntryScript: ()=>injectBeforeHydrationEntryScript,
34
+ orderHydrationScriptChunks: ()=>orderHydrationScriptChunks,
35
+ replaceChunkJsPlaceholder: ()=>replaceChunkJsPlaceholder
36
+ });
37
+ const lifecycle_js_namespaceObject = require("../../router/runtime/lifecycle.js");
38
+ const external_constants_js_namespaceObject = require("./constants.js");
39
+ const external_utils_js_namespaceObject = require("./utils.js");
40
+ function getScriptTags(template) {
41
+ const scriptRegExp = /<script\b[^>]*\bsrc=(["'])(.*?)\1[^>]*><\/script>/g;
42
+ return Array.from(template.matchAll(scriptRegExp)).map((match)=>({
43
+ index: match.index ?? 0,
44
+ tag: match[0],
45
+ src: match[2]
46
+ }));
47
+ }
48
+ function getAssetBasename(src) {
49
+ const withoutQuery = src.split(/[?#]/)[0];
50
+ return withoutQuery.split('/').pop() || withoutQuery;
51
+ }
52
+ function isEntryScript(src, entryName, asyncEntry) {
53
+ const basename = getAssetBasename(src);
54
+ const prefix = asyncEntry ? `async-${entryName}` : entryName;
55
+ return basename === `${prefix}.js` || basename.startsWith(`${prefix}.`) || basename.startsWith(`${prefix}-`);
56
+ }
57
+ const dedupeByUrl = (chunks)=>{
58
+ const seen = new Set();
59
+ return chunks.filter((chunk)=>{
60
+ if (void 0 === chunk.url || '' === chunk.url || seen.has(chunk.url)) return false;
61
+ seen.add(chunk.url);
62
+ return true;
63
+ });
64
+ };
65
+ const isAsyncEntryScriptChunk = (chunk, entryName)=>{
66
+ if (void 0 === chunk.url || !chunk.url.endsWith('.js')) return false;
67
+ const asyncEntryName = `async-${entryName}`;
68
+ const filename = chunk.filename ?? chunk.url;
69
+ const basename = filename.split('/').pop() ?? filename;
70
+ return basename === `${asyncEntryName}.js` || basename.startsWith(`${asyncEntryName}.`) || basename.startsWith(`${asyncEntryName}-`);
71
+ };
72
+ function getRouteAssets(runtimeContext, routeManifest = runtimeContext.routeManifest) {
73
+ return routeManifest?.routeAssets;
74
+ }
75
+ function getMatchedRouteAssets(runtimeContext, routeManifest) {
76
+ const routeAssets = getRouteAssets(runtimeContext, routeManifest);
77
+ if (void 0 === routeAssets) return [];
78
+ const matchedRouteIds = (0, lifecycle_js_namespaceObject.getRouterMatchedRouteIds)(runtimeContext) ?? [];
79
+ return matchedRouteIds.flatMap((routeId)=>routeAssets[routeId]?.assets ?? []);
80
+ }
81
+ const orderHydrationScriptChunks = ({ asyncEntryChunks, collectedChunks, matchedRouteChunks, entryName })=>{
82
+ const asyncEntryScriptChunks = [];
83
+ const asyncEntryDependencyChunks = [];
84
+ for (const chunk of asyncEntryChunks)if (isAsyncEntryScriptChunk(chunk, entryName)) asyncEntryScriptChunks.push(chunk);
85
+ else asyncEntryDependencyChunks.push(chunk);
86
+ return dedupeByUrl([
87
+ ...asyncEntryDependencyChunks,
88
+ ...collectedChunks,
89
+ ...matchedRouteChunks,
90
+ ...asyncEntryScriptChunks
91
+ ]);
92
+ };
93
+ function injectBeforeHydrationEntryScript(template, scripts, entryName = 'index') {
94
+ if ('' === scripts) return template;
95
+ const scriptTags = getScriptTags(template);
96
+ const target = scriptTags.find((match)=>isEntryScript(match.src, entryName, false)) ?? scriptTags.find((match)=>isEntryScript(match.src, entryName, true));
97
+ if (void 0 === target) return template;
98
+ return `${template.slice(0, target.index)}${scripts}${template.slice(target.index)}`;
99
+ }
100
+ function replaceChunkJsPlaceholder(template, scripts, entryName, placeholder = external_constants_js_namespaceObject.CHUNK_JS_PLACEHOLDER) {
101
+ if ('' === scripts) return (0, external_utils_js_namespaceObject.safeReplace)(template, placeholder, '');
102
+ const withoutPlaceholder = (0, external_utils_js_namespaceObject.safeReplace)(template, placeholder, '');
103
+ const withEarlyScripts = injectBeforeHydrationEntryScript(withoutPlaceholder, scripts, entryName);
104
+ if (withEarlyScripts !== withoutPlaceholder) return withEarlyScripts;
105
+ return (0, external_utils_js_namespaceObject.safeReplace)(template, placeholder, scripts);
106
+ }
107
+ function createRouteHydrationScriptTags(runtimeContext, entryName, options = {}) {
108
+ const { nonce, template } = options;
109
+ const routeAssets = getRouteAssets(runtimeContext);
110
+ if (void 0 === routeAssets) return '';
111
+ const matchedRouteIds = (0, lifecycle_js_namespaceObject.getRouterMatchedRouteIds)(runtimeContext) ?? [];
112
+ const assetEntries = [
113
+ ...matchedRouteIds.map((routeId)=>routeAssets[routeId]),
114
+ routeAssets[`async-${entryName}`]
115
+ ].filter((entry)=>void 0 !== entry);
116
+ const jsAssets = Array.from(new Set(assetEntries.flatMap((entry)=>(entry.assets ?? []).filter((asset)=>asset.endsWith('.js')))));
117
+ const nonceAttr = void 0 === nonce || '' === nonce ? '' : ` nonce="${nonce}"`;
118
+ return jsAssets.filter((asset)=>template?.includes(asset) !== true).map((asset)=>`<script src=${asset}${nonceAttr}></script>`).join(' ');
119
+ }
120
+ exports.createRouteHydrationScriptTags = __webpack_exports__.createRouteHydrationScriptTags;
121
+ exports.getMatchedRouteAssets = __webpack_exports__.getMatchedRouteAssets;
122
+ exports.injectBeforeHydrationEntryScript = __webpack_exports__.injectBeforeHydrationEntryScript;
123
+ exports.orderHydrationScriptChunks = __webpack_exports__.orderHydrationScriptChunks;
124
+ exports.replaceChunkJsPlaceholder = __webpack_exports__.replaceChunkJsPlaceholder;
125
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
126
+ "createRouteHydrationScriptTags",
127
+ "getMatchedRouteAssets",
128
+ "injectBeforeHydrationEntryScript",
129
+ "orderHydrationScriptChunks",
130
+ "replaceChunkJsPlaceholder"
131
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
132
+ Object.defineProperty(exports, '__esModule', {
133
+ value: true
134
+ });
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
9
13
  };
10
14
  })();
11
15
  (()=>{
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
9
13
  };
10
14
  })();
11
15
  (()=>{
@@ -23,12 +27,12 @@ var __webpack_require__ = {};
23
27
  })();
24
28
  var __webpack_exports__ = {};
25
29
  __webpack_require__.r(__webpack_exports__);
26
- __webpack_require__.d(__webpack_exports__, {
27
- buildHtml: ()=>buildHtml
28
- });
29
30
  function buildHtml(template, callbacks) {
30
31
  return callbacks.reduce((promise, buildHtmlCb)=>promise.then((template)=>buildHtmlCb(template)), Promise.resolve(template));
31
32
  }
33
+ __webpack_require__.d(__webpack_exports__, {
34
+ buildHtml: ()=>buildHtml
35
+ });
32
36
  exports.buildHtml = __webpack_exports__.buildHtml;
33
37
  for(var __rspack_i in __webpack_exports__)if (-1 === [
34
38
  "buildHtml"
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
9
13
  };
10
14
  })();
11
15
  (()=>{
@@ -30,6 +34,7 @@ const node_namespaceObject = require("@modern-js/runtime-utils/node");
30
34
  const lifecycle_js_namespaceObject = require("../../../router/runtime/lifecycle.js");
31
35
  const external_constants_js_namespaceObject = require("../../constants.js");
32
36
  const external_constants_js_namespaceObject_1 = require("../constants.js");
37
+ const external_scriptOrder_js_namespaceObject = require("../scriptOrder.js");
33
38
  const external_shared_js_namespaceObject = require("../shared.js");
34
39
  const external_utils_js_namespaceObject = require("../utils.js");
35
40
  function buildShellAfterTemplate(afterAppTemplate, options) {
@@ -46,17 +51,12 @@ function buildShellAfterTemplate(afterAppTemplate, options) {
46
51
  (template)=>injectJs(template, entryName, config.nonce)
47
52
  ];
48
53
  async function injectJs(template, entryName, nonce) {
49
- const { routeManifest } = runtimeContext;
50
- if (!routeManifest) return template;
51
- const { routeAssets } = routeManifest;
52
- if (!routeAssets) return template;
53
- const asyncEntry = routeAssets[`async-${entryName}`];
54
- if (asyncEntry) {
55
- const { assets } = asyncEntry;
56
- const jsChunkStr = assets?.filter((asset)=>asset.endsWith('.js'))?.map((asset)=>`<script src=${asset} nonce="${nonce}"></script>`).join(' ');
57
- if (jsChunkStr) return (0, external_utils_js_namespaceObject.safeReplace)(template, '<!--<?- chunksMap.js ?>-->', jsChunkStr);
58
- }
59
- return template;
54
+ const jsChunkStr = (0, external_scriptOrder_js_namespaceObject.createRouteHydrationScriptTags)(runtimeContext, entryName, {
55
+ nonce,
56
+ template
57
+ });
58
+ if (!jsChunkStr) return template;
59
+ return (0, external_scriptOrder_js_namespaceObject.replaceChunkJsPlaceholder)(template, jsChunkStr, entryName);
60
60
  }
61
61
  return (0, external_shared_js_namespaceObject.buildHtml)(afterAppTemplate, callbacks);
62
62
  }
@@ -1,20 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.n = (module)=>{
5
- var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
- __webpack_require__.d(getter, {
7
- a: getter
8
- });
9
- return getter;
10
- };
11
- })();
12
- (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
18
13
  };
19
14
  })();
20
15
  (()=>{
@@ -36,10 +31,9 @@ __webpack_require__.d(__webpack_exports__, {
36
31
  buildShellBeforeTemplate: ()=>buildShellBeforeTemplate
37
32
  });
38
33
  const router_namespaceObject = require("@modern-js/runtime-utils/router");
39
- const external_react_helmet_namespaceObject = require("react-helmet");
40
- var external_react_helmet_default = /*#__PURE__*/ __webpack_require__.n(external_react_helmet_namespaceObject);
41
34
  const lifecycle_js_namespaceObject = require("../../../router/runtime/lifecycle.js");
42
35
  const external_constants_js_namespaceObject = require("../constants.js");
36
+ const external_federatedCss_js_namespaceObject = require("../federatedCss.js");
43
37
  const external_helmet_js_namespaceObject = require("../helmet.js");
44
38
  const external_shared_js_namespaceObject = require("../shared.js");
45
39
  const external_utils_js_namespaceObject = require("../utils.js");
@@ -55,8 +49,8 @@ const checkIsInline = (chunk, enableInline)=>{
55
49
  return Boolean(enableInline);
56
50
  };
57
51
  async function buildShellBeforeTemplate(beforeAppTemplate, options) {
58
- const { config, runtimeContext, styledComponentsStyleTags, entryName } = options;
59
- const helmetData = external_react_helmet_default().renderStatic();
52
+ const { config, runtimeContext, styledComponentsStyleTags, entryName, moduleFederationCssAssets } = options;
53
+ const helmetData = (0, external_helmet_js_namespaceObject.getHelmetData)(runtimeContext);
60
54
  const callbacks = [
61
55
  (0, external_helmet_js_namespaceObject.createReplaceHelemt)(helmetData),
62
56
  (template)=>injectCss(template, entryName, styledComponentsStyleTags)
@@ -65,33 +59,36 @@ async function buildShellBeforeTemplate(beforeAppTemplate, options) {
65
59
  async function injectCss(template, entryName, styledComponentsStyleTags) {
66
60
  let css = await getCssChunks();
67
61
  if (styledComponentsStyleTags) css += styledComponentsStyleTags;
62
+ css += (0, external_federatedCss_js_namespaceObject.createFederatedCssLinks)(moduleFederationCssAssets, {
63
+ template,
64
+ existingAssets: css.match(/href="([^"]+)"/g)?.map((item)=>item.replace(/^href="/, '').replace(/"$/, ''))
65
+ });
68
66
  return (0, external_utils_js_namespaceObject.safeReplace)(template, external_constants_js_namespaceObject.CHUNK_CSS_PLACEHOLDER, css);
69
67
  async function getCssChunks() {
70
68
  const { routeManifest, routerContext, routes } = runtimeContext;
71
69
  if (!routeManifest) return '';
72
70
  const { routeAssets } = routeManifest;
73
- let matchedRouteManifests;
71
+ let matchedRouteManifests = [];
74
72
  const matchedRouteIds = (0, lifecycle_js_namespaceObject.getRouterMatchedRouteIds)(runtimeContext);
75
73
  if (matchedRouteIds?.length) matchedRouteManifests = matchedRouteIds.map((routeId)=>routeAssets[routeId]).filter(Boolean);
76
- else {
77
- if (!routerContext || !routes) return '';
74
+ else if (routerContext && routes) {
78
75
  const matches = (0, router_namespaceObject.matchRoutes)(routes, routerContext.location, routerContext.basename);
79
76
  matchedRouteManifests = matches?.map((match, index)=>{
80
77
  if (!index) return;
81
78
  const routeId = match.route.id;
82
79
  if (routeId) return routeAssets[routeId];
83
- }).filter(Boolean);
80
+ }).filter((routeManifest)=>void 0 !== routeManifest) ?? [];
84
81
  }
85
82
  const asyncEntry = routeAssets[`async-${entryName}`];
86
- if (asyncEntry) matchedRouteManifests?.push(asyncEntry);
87
- const cssChunks = matchedRouteManifests ? matchedRouteManifests.reduce((chunks, routeManifest)=>{
83
+ if (asyncEntry) matchedRouteManifests.push(asyncEntry);
84
+ const cssChunks = matchedRouteManifests.reduce((chunks, routeManifest)=>{
88
85
  const { referenceCssAssets = [] } = routeManifest;
89
86
  const _cssChunks = referenceCssAssets.filter((asset)=>asset?.endsWith('.css') && !template.includes(asset));
90
87
  return [
91
88
  ...chunks,
92
89
  ..._cssChunks
93
90
  ];
94
- }, []) : [];
91
+ }, []);
95
92
  const { inlineStyles } = config;
96
93
  const styles = await Promise.all(cssChunks.map(async (chunk)=>{
97
94
  const link = `<link href="${chunk}" rel="stylesheet" />`;