@modern-js/runtime 2.54.6 → 2.56.0

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 (309) hide show
  1. package/dist/cjs/{ssr/serverRender/renderToString/index.js → cli/alias.js} +29 -18
  2. package/dist/cjs/cli/code.js +124 -0
  3. package/dist/cjs/cli/constants.js +23 -2
  4. package/dist/cjs/cli/index.js +91 -17
  5. package/dist/cjs/cli/ssr/index.js +137 -0
  6. package/dist/cjs/cli/template.js +101 -0
  7. package/dist/cjs/cli/template.server.js +71 -0
  8. package/dist/cjs/core/browser/hydrate.js +116 -0
  9. package/dist/cjs/core/browser/index.js +142 -0
  10. package/dist/cjs/core/compatible.js +39 -74
  11. package/dist/cjs/{ssr/serverRender/types.js → core/constants.js} +3 -3
  12. package/dist/cjs/core/context/index.js +39 -2
  13. package/dist/cjs/core/context/runtime.js +3 -3
  14. package/dist/cjs/core/loader/useLoader.js +2 -2
  15. package/dist/cjs/core/plugin/base.js +0 -4
  16. package/dist/cjs/core/plugin/index.js +6 -0
  17. package/dist/cjs/core/react/index.js +51 -0
  18. package/dist/cjs/{ssr/serverRender → core/server}/helmet.js +11 -2
  19. package/dist/cjs/core/server/index.js +38 -0
  20. package/dist/cjs/core/server/requestHandler.js +156 -0
  21. package/dist/cjs/core/server/server.js +34 -0
  22. package/dist/cjs/{ssr/serverRender/renderToStream/buildTemplate.share.js → core/server/shared.js} +7 -10
  23. package/dist/cjs/core/server/stream/afterTemplate.js +80 -0
  24. package/dist/cjs/{ssr/serverRender/renderToStream/bulidTemplate.before.js → core/server/stream/beforeTemplate.js} +11 -12
  25. package/dist/cjs/core/server/stream/createReadableStream.js +124 -0
  26. package/dist/cjs/core/server/stream/createReadableStream.worker.js +105 -0
  27. package/dist/cjs/core/server/stream/index.js +30 -0
  28. package/dist/cjs/core/server/stream/shared.js +112 -0
  29. package/dist/cjs/{ssr/serverRender/renderToStream → core/server/stream}/template.js +6 -10
  30. package/dist/cjs/core/server/string/index.js +152 -0
  31. package/dist/cjs/{ssr/serverRender/renderToString → core/server/string}/loadable.js +9 -12
  32. package/dist/cjs/core/server/string/prefetch.js +112 -0
  33. package/dist/cjs/core/server/string/ssrData.js +100 -0
  34. package/dist/cjs/core/server/string/styledComponent.js +53 -0
  35. package/dist/cjs/core/server/string/types.js +16 -0
  36. package/dist/cjs/core/server/tracer.js +60 -0
  37. package/dist/cjs/{ssr/serverRender → core/server}/utils.js +48 -2
  38. package/dist/cjs/{ssr/serverRender/renderToString/styledComponent.js → core/utils/merge.js} +28 -19
  39. package/dist/cjs/router/cli/code/index.js +12 -8
  40. package/dist/cjs/router/cli/code/templates.js +58 -3
  41. package/dist/cjs/router/cli/constants.js +6 -0
  42. package/dist/cjs/router/cli/entry.js +16 -17
  43. package/dist/cjs/router/cli/handler.js +22 -5
  44. package/dist/cjs/router/cli/index.js +29 -56
  45. package/dist/cjs/router/runtime/PrefetchLink.js +1 -1
  46. package/dist/cjs/router/runtime/index.js +2 -0
  47. package/dist/cjs/router/runtime/plugin.js +13 -40
  48. package/dist/cjs/router/runtime/plugin.node.js +24 -46
  49. package/dist/cjs/state/cli/index.js +7 -35
  50. package/dist/cjs/state/runtime/plugin.js +6 -15
  51. package/dist/esm/cli/alias.js +30 -0
  52. package/dist/esm/cli/code.js +131 -0
  53. package/dist/esm/cli/constants.js +15 -1
  54. package/dist/esm/cli/index.js +110 -18
  55. package/dist/esm/{ssr/cli → cli/ssr}/babel-plugin-ssr-loader-id.js +1 -1
  56. package/dist/esm/cli/ssr/index.js +127 -0
  57. package/dist/esm/{ssr/cli → cli/ssr}/loadable-bundler-plugin.js +1 -1
  58. package/dist/esm/cli/template.js +53 -0
  59. package/dist/esm/cli/template.server.js +26 -0
  60. package/dist/esm/core/browser/hydrate.js +88 -0
  61. package/dist/esm/core/browser/index.js +242 -0
  62. package/dist/esm/core/compatible.js +48 -90
  63. package/dist/esm/core/context/index.js +32 -1
  64. package/dist/esm/core/context/runtime.js +3 -2
  65. package/dist/esm/core/loader/useLoader.js +2 -2
  66. package/dist/esm/core/plugin/base.js +0 -4
  67. package/dist/esm/core/plugin/index.js +10 -0
  68. package/dist/esm/core/react/index.js +31 -0
  69. package/dist/esm/{ssr/serverRender → core/server}/helmet.js +10 -2
  70. package/dist/esm/core/server/index.js +16 -0
  71. package/dist/esm/core/server/react/prerender/type.js +0 -0
  72. package/dist/esm/core/server/requestHandler.js +181 -0
  73. package/dist/esm/core/server/server.js +8 -0
  74. package/dist/esm/core/server/shared.js +10 -0
  75. package/dist/esm/core/server/stream/afterTemplate.js +60 -0
  76. package/dist/esm/{ssr/serverRender/renderToStream/bulidTemplate.before.js → core/server/stream/beforeTemplate.js} +10 -11
  77. package/dist/esm/{ssr/serverRender/renderToStream/renderToPipe.js → core/server/stream/createReadableStream.js} +43 -38
  78. package/dist/esm/core/server/stream/createReadableStream.worker.js +142 -0
  79. package/dist/esm/core/server/stream/index.js +6 -0
  80. package/dist/esm/core/server/stream/shared.js +102 -0
  81. package/dist/esm/core/server/stream/template.js +42 -0
  82. package/dist/esm/core/server/string/index.js +219 -0
  83. package/dist/esm/{ssr/serverRender/renderToString → core/server/string}/loadable.js +10 -13
  84. package/dist/esm/{ssr → core/server/string}/prefetch.js +28 -22
  85. package/dist/esm/core/server/string/ssrData.js +83 -0
  86. package/dist/esm/core/server/string/styledComponent.js +34 -0
  87. package/dist/esm/core/server/string/types.js +0 -0
  88. package/dist/esm/core/server/tracer.js +34 -0
  89. package/dist/esm/core/server/utils.js +83 -0
  90. package/dist/esm/core/utils/merge.js +32 -0
  91. package/dist/esm/router/cli/code/index.js +13 -10
  92. package/dist/esm/router/cli/code/templates.js +100 -7
  93. package/dist/esm/router/cli/constants.js +4 -0
  94. package/dist/esm/router/cli/entry.js +19 -19
  95. package/dist/esm/router/cli/handler.js +70 -8
  96. package/dist/esm/router/cli/index.js +52 -65
  97. package/dist/esm/router/runtime/PrefetchLink.js +1 -1
  98. package/dist/esm/router/runtime/index.js +1 -0
  99. package/dist/esm/router/runtime/plugin.js +12 -20
  100. package/dist/esm/router/runtime/plugin.node.js +26 -82
  101. package/dist/esm/state/cli/index.js +9 -38
  102. package/dist/esm/state/runtime/plugin.js +5 -5
  103. package/dist/esm-node/cli/alias.js +28 -0
  104. package/dist/esm-node/cli/code.js +90 -0
  105. package/dist/esm-node/cli/constants.js +15 -1
  106. package/dist/esm-node/cli/index.js +83 -13
  107. package/dist/esm-node/{ssr/cli → cli/ssr}/babel-plugin-ssr-loader-id.js +1 -1
  108. package/dist/esm-node/cli/ssr/index.js +103 -0
  109. package/dist/esm-node/{ssr/cli → cli/ssr}/loadable-bundler-plugin.js +1 -1
  110. package/dist/esm-node/cli/template.js +64 -0
  111. package/dist/esm-node/cli/template.server.js +47 -0
  112. package/dist/esm-node/core/browser/hydrate.js +81 -0
  113. package/dist/esm-node/core/browser/index.js +108 -0
  114. package/dist/esm-node/core/compatible.js +39 -74
  115. package/dist/esm-node/core/context/index.js +32 -1
  116. package/dist/esm-node/core/context/runtime.js +3 -3
  117. package/dist/esm-node/core/loader/useLoader.js +2 -2
  118. package/dist/esm-node/core/plugin/base.js +0 -4
  119. package/dist/esm-node/core/plugin/index.js +5 -0
  120. package/dist/esm-node/core/react/index.js +27 -0
  121. package/dist/esm-node/{ssr/serverRender → core/server}/helmet.js +6 -2
  122. package/dist/esm-node/core/server/index.js +12 -0
  123. package/dist/esm-node/core/server/requestHandler.js +132 -0
  124. package/dist/esm-node/core/server/server.js +8 -0
  125. package/dist/esm-node/core/server/shared.js +6 -0
  126. package/dist/esm-node/core/server/stream/afterTemplate.js +56 -0
  127. package/dist/esm-node/{ssr/serverRender/renderToStream/bulidTemplate.before.js → core/server/stream/beforeTemplate.js} +8 -9
  128. package/dist/esm-node/{ssr/serverRender/renderToStream/renderToPipe.js → core/server/stream/createReadableStream.js} +41 -35
  129. package/dist/esm-node/core/server/stream/createReadableStream.worker.js +71 -0
  130. package/dist/esm-node/core/server/stream/index.js +6 -0
  131. package/dist/esm-node/core/server/stream/shared.js +75 -0
  132. package/dist/esm-node/core/server/stream/template.js +15 -0
  133. package/dist/esm-node/core/server/string/index.js +118 -0
  134. package/dist/esm-node/{ssr/serverRender/renderToString → core/server/string}/loadable.js +8 -11
  135. package/dist/esm-node/core/server/string/prefetch.js +78 -0
  136. package/dist/esm-node/core/server/string/ssrData.js +76 -0
  137. package/dist/esm-node/core/server/string/styledComponent.js +29 -0
  138. package/dist/esm-node/core/server/tracer.js +33 -0
  139. package/dist/esm-node/core/server/utils.js +60 -0
  140. package/dist/esm-node/core/utils/merge.js +29 -0
  141. package/dist/esm-node/router/cli/code/index.js +10 -7
  142. package/dist/esm-node/router/cli/code/templates.js +60 -6
  143. package/dist/esm-node/router/cli/constants.js +4 -0
  144. package/dist/esm-node/router/cli/entry.js +16 -17
  145. package/dist/esm-node/router/cli/handler.js +21 -5
  146. package/dist/esm-node/router/cli/index.js +31 -58
  147. package/dist/esm-node/router/runtime/PrefetchLink.js +1 -1
  148. package/dist/esm-node/router/runtime/index.js +1 -0
  149. package/dist/esm-node/router/runtime/plugin.js +13 -30
  150. package/dist/esm-node/router/runtime/plugin.node.js +25 -46
  151. package/dist/esm-node/state/cli/index.js +8 -36
  152. package/dist/esm-node/state/runtime/plugin.js +5 -5
  153. package/dist/types/cli/alias.d.ts +7 -0
  154. package/dist/types/cli/code.d.ts +10 -0
  155. package/dist/types/cli/constants.d.ts +7 -0
  156. package/dist/types/cli/index.d.ts +8 -1
  157. package/dist/types/cli/template.d.ts +27 -0
  158. package/dist/types/cli/template.server.d.ts +15 -0
  159. package/dist/types/common.d.ts +9 -0
  160. package/dist/types/core/browser/hydrate.d.ts +5 -0
  161. package/dist/types/core/browser/index.d.ts +3 -0
  162. package/dist/types/core/config.d.ts +5 -6
  163. package/dist/types/core/constants.d.ts +5 -0
  164. package/dist/types/core/context/index.d.ts +34 -1
  165. package/dist/types/core/context/runtime.d.ts +2 -2
  166. package/dist/types/core/plugin/base.d.ts +3 -33
  167. package/dist/types/core/plugin/index.d.ts +2 -11
  168. package/dist/types/core/plugin/runner.d.ts +1 -11
  169. package/dist/types/core/react/index.d.ts +6 -0
  170. package/dist/types/core/server/helmet.d.ts +3 -0
  171. package/dist/types/core/server/index.d.ts +4 -0
  172. package/dist/types/core/server/requestHandler.d.ts +11 -0
  173. package/dist/types/core/server/server.d.ts +4 -0
  174. package/dist/types/core/server/shared.d.ts +9 -0
  175. package/dist/types/core/server/stream/afterTemplate.d.ts +12 -0
  176. package/dist/types/core/server/stream/beforeTemplate.d.ts +8 -0
  177. package/dist/types/core/server/stream/createReadableStream.d.ts +2 -0
  178. package/dist/types/core/server/stream/createReadableStream.worker.d.ts +2 -0
  179. package/dist/types/core/server/stream/index.d.ts +1 -0
  180. package/dist/types/core/server/stream/shared.d.ts +22 -0
  181. package/dist/types/core/server/stream/template.d.ts +9 -0
  182. package/dist/types/core/server/string/index.d.ts +2 -0
  183. package/dist/types/core/server/string/loadable.d.ts +35 -0
  184. package/dist/types/core/server/string/prefetch.d.ts +16 -0
  185. package/dist/types/core/server/string/ssrData.d.ts +18 -0
  186. package/dist/types/core/server/string/styledComponent.d.ts +11 -0
  187. package/dist/types/core/server/string/types.d.ts +12 -0
  188. package/dist/types/core/server/tracer.d.ts +21 -0
  189. package/dist/types/core/server/utils.d.ts +19 -0
  190. package/dist/types/core/types.d.ts +35 -1
  191. package/dist/types/core/utils/merge.d.ts +6 -0
  192. package/dist/types/index.d.ts +1 -1
  193. package/dist/types/router/cli/code/index.d.ts +3 -4
  194. package/dist/types/router/cli/code/templates.d.ts +9 -1
  195. package/dist/types/router/cli/constants.d.ts +2 -0
  196. package/dist/types/router/cli/handler.d.ts +1 -0
  197. package/dist/types/router/runtime/index.d.ts +1 -0
  198. package/dist/types/router/runtime/plugin.d.ts +1 -1
  199. package/dist/types/router/runtime/plugin.node.d.ts +1 -3
  200. package/dist/types/router/runtime/types.d.ts +1 -2
  201. package/dist/types/state/runtime/plugin.d.ts +2 -2
  202. package/package.json +52 -45
  203. package/types/router.d.ts +7 -2
  204. package/dist/cjs/ssr/cli/index.js +0 -200
  205. package/dist/cjs/ssr/index.js +0 -183
  206. package/dist/cjs/ssr/index.node.js +0 -86
  207. package/dist/cjs/ssr/prefetch.js +0 -92
  208. package/dist/cjs/ssr/serverRender/index.js +0 -39
  209. package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -74
  210. package/dist/cjs/ssr/serverRender/renderToStream/index.js +0 -74
  211. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.js +0 -104
  212. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.worker.js +0 -108
  213. package/dist/cjs/ssr/serverRender/renderToString/buildHtml.js +0 -52
  214. package/dist/cjs/ssr/serverRender/renderToString/entry.js +0 -179
  215. package/dist/cjs/ssr/serverRender/renderToString/render.js +0 -61
  216. package/dist/cjs/ssr/serverRender/tracker.js +0 -113
  217. package/dist/cjs/ssr/utils.js +0 -94
  218. package/dist/esm/ssr/cli/index.js +0 -194
  219. package/dist/esm/ssr/index.js +0 -169
  220. package/dist/esm/ssr/index.node.js +0 -78
  221. package/dist/esm/ssr/serverRender/index.js +0 -55
  222. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -48
  223. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -12
  224. package/dist/esm/ssr/serverRender/renderToStream/index.js +0 -49
  225. package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.worker.js +0 -164
  226. package/dist/esm/ssr/serverRender/renderToStream/template.js +0 -46
  227. package/dist/esm/ssr/serverRender/renderToString/buildHtml.js +0 -34
  228. package/dist/esm/ssr/serverRender/renderToString/entry.js +0 -257
  229. package/dist/esm/ssr/serverRender/renderToString/index.js +0 -34
  230. package/dist/esm/ssr/serverRender/renderToString/render.js +0 -55
  231. package/dist/esm/ssr/serverRender/renderToString/styledComponent.js +0 -25
  232. package/dist/esm/ssr/serverRender/tracker.js +0 -82
  233. package/dist/esm/ssr/serverRender/utils.js +0 -21
  234. package/dist/esm/ssr/utils.js +0 -59
  235. package/dist/esm-node/ssr/cli/index.js +0 -166
  236. package/dist/esm-node/ssr/index.js +0 -147
  237. package/dist/esm-node/ssr/index.node.js +0 -50
  238. package/dist/esm-node/ssr/prefetch.js +0 -72
  239. package/dist/esm-node/ssr/serverRender/index.js +0 -19
  240. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -50
  241. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -8
  242. package/dist/esm-node/ssr/serverRender/renderToStream/index.js +0 -40
  243. package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.worker.js +0 -88
  244. package/dist/esm-node/ssr/serverRender/renderToStream/template.js +0 -19
  245. package/dist/esm-node/ssr/serverRender/renderToString/buildHtml.js +0 -24
  246. package/dist/esm-node/ssr/serverRender/renderToString/entry.js +0 -149
  247. package/dist/esm-node/ssr/serverRender/renderToString/index.js +0 -17
  248. package/dist/esm-node/ssr/serverRender/renderToString/render.js +0 -27
  249. package/dist/esm-node/ssr/serverRender/renderToString/styledComponent.js +0 -20
  250. package/dist/esm-node/ssr/serverRender/tracker.js +0 -87
  251. package/dist/esm-node/ssr/serverRender/utils.js +0 -17
  252. package/dist/esm-node/ssr/utils.js +0 -57
  253. package/dist/types/ssr/index.d.ts +0 -11
  254. package/dist/types/ssr/index.node.d.ts +0 -5
  255. package/dist/types/ssr/prefetch.d.ts +0 -16
  256. package/dist/types/ssr/serverRender/helmet.d.ts +0 -2
  257. package/dist/types/ssr/serverRender/index.d.ts +0 -2
  258. package/dist/types/ssr/serverRender/renderToStream/buildTemplate.after.d.ts +0 -7
  259. package/dist/types/ssr/serverRender/renderToStream/buildTemplate.share.d.ts +0 -3
  260. package/dist/types/ssr/serverRender/renderToStream/bulidTemplate.before.d.ts +0 -2
  261. package/dist/types/ssr/serverRender/renderToStream/index.d.ts +0 -3
  262. package/dist/types/ssr/serverRender/renderToStream/renderToPipe.d.ts +0 -7
  263. package/dist/types/ssr/serverRender/renderToStream/renderToPipe.worker.d.ts +0 -12
  264. package/dist/types/ssr/serverRender/renderToStream/template.d.ts +0 -6
  265. package/dist/types/ssr/serverRender/renderToString/buildHtml.d.ts +0 -6
  266. package/dist/types/ssr/serverRender/renderToString/entry.d.ts +0 -24
  267. package/dist/types/ssr/serverRender/renderToString/index.d.ts +0 -2
  268. package/dist/types/ssr/serverRender/renderToString/loadable.d.ts +0 -26
  269. package/dist/types/ssr/serverRender/renderToString/render.d.ts +0 -16
  270. package/dist/types/ssr/serverRender/renderToString/styledComponent.d.ts +0 -15
  271. package/dist/types/ssr/serverRender/tracker.d.ts +0 -20
  272. package/dist/types/ssr/serverRender/types.d.ts +0 -49
  273. package/dist/types/ssr/serverRender/utils.d.ts +0 -9
  274. package/dist/types/ssr/utils.d.ts +0 -10
  275. /package/dist/cjs/{ssr/cli → cli/ssr}/babel-plugin-ssr-loader-id.js +0 -0
  276. /package/dist/cjs/{ssr/cli → cli/ssr}/loadable-bundler-plugin.js +0 -0
  277. /package/dist/cjs/{ssr/react/withCallback/index.js → core/browser/withCallback.js} +0 -0
  278. /package/dist/cjs/{ssr/serverRender → core/server}/constants.js +0 -0
  279. /package/dist/cjs/{ssr → core/server}/react/index.js +0 -0
  280. /package/dist/cjs/{ssr → core/server}/react/nossr/index.js +0 -0
  281. /package/dist/cjs/{ssr → core/server}/react/prerender/index.js +0 -0
  282. /package/dist/cjs/{ssr → core/server}/react/prerender/type.js +0 -0
  283. /package/dist/cjs/{ssr → core/server}/react/prerender/util.js +0 -0
  284. /package/dist/esm/{ssr/react/withCallback/index.js → core/browser/withCallback.js} +0 -0
  285. /package/dist/esm/{ssr/serverRender/types.js → core/constants.js} +0 -0
  286. /package/dist/esm/{ssr/serverRender → core/server}/constants.js +0 -0
  287. /package/dist/esm/{ssr → core/server}/react/index.js +0 -0
  288. /package/dist/esm/{ssr → core/server}/react/nossr/index.js +0 -0
  289. /package/dist/esm/{ssr → core/server}/react/prerender/index.js +0 -0
  290. /package/dist/esm/{ssr → core/server}/react/prerender/util.js +0 -0
  291. /package/dist/esm-node/{ssr/react/withCallback/index.js → core/browser/withCallback.js} +0 -0
  292. /package/dist/esm-node/{ssr/serverRender/types.js → core/constants.js} +0 -0
  293. /package/dist/esm-node/{ssr/serverRender → core/server}/constants.js +0 -0
  294. /package/dist/esm-node/{ssr → core/server}/react/index.js +0 -0
  295. /package/dist/esm-node/{ssr → core/server}/react/nossr/index.js +0 -0
  296. /package/dist/esm-node/{ssr → core/server}/react/prerender/index.js +0 -0
  297. /package/dist/esm-node/{ssr → core/server}/react/prerender/type.js +0 -0
  298. /package/dist/esm-node/{ssr → core/server}/react/prerender/util.js +0 -0
  299. /package/dist/{esm/ssr/react/prerender/type.js → esm-node/core/server/string/types.js} +0 -0
  300. /package/dist/types/{ssr/cli → cli/ssr}/babel-plugin-ssr-loader-id.d.ts +0 -0
  301. /package/dist/types/{ssr/cli → cli/ssr}/index.d.ts +0 -0
  302. /package/dist/types/{ssr/cli → cli/ssr}/loadable-bundler-plugin.d.ts +0 -0
  303. /package/dist/types/{ssr/react/withCallback/index.d.ts → core/browser/withCallback.d.ts} +0 -0
  304. /package/dist/types/{ssr/serverRender → core/server}/constants.d.ts +0 -0
  305. /package/dist/types/{ssr → core/server}/react/index.d.ts +0 -0
  306. /package/dist/types/{ssr → core/server}/react/nossr/index.d.ts +0 -0
  307. /package/dist/types/{ssr → core/server}/react/prerender/index.d.ts +0 -0
  308. /package/dist/types/{ssr → core/server}/react/prerender/type.d.ts +0 -0
  309. /package/dist/types/{ssr → core/server}/react/prerender/util.d.ts +0 -0
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var template_server_exports = {};
20
+ __export(template_server_exports, {
21
+ serverIndex: () => serverIndex
22
+ });
23
+ module.exports = __toCommonJS(template_server_exports);
24
+ var import_utils = require("@modern-js/utils");
25
+ const SERVER_ENTRY = `
26
+ import {
27
+ #render,
28
+ createRequestHandler,
29
+ } from '@#metaName/runtime/ssr/server';
30
+
31
+ const handleRequest = async (request, ServerRoot, options) => {
32
+
33
+ const body = await #render(request, <ServerRoot />, options);
34
+
35
+ return new Response(body, {
36
+ headers: {
37
+ 'content-type': 'text/html; charset=utf-8',
38
+ #headers
39
+ },
40
+ })
41
+ };
42
+
43
+ export const requestHandler = createRequestHandler(handleRequest);
44
+ `;
45
+ const serverIndex = (options) => {
46
+ const { metaName = "modern-js", entryName } = options;
47
+ return `
48
+ import '@${metaName}/runtime/registry/${entryName}';
49
+ ${genHandlerCode(options)}
50
+ `;
51
+ };
52
+ function genHandlerCode({ mode, metaName, customServerEntry, srcDirectory, internalSrcAlias }) {
53
+ if (customServerEntry) {
54
+ return `export { default as requestHandler } from '${(0, import_utils.formatImportPath)(customServerEntry.replace(srcDirectory, internalSrcAlias))}'`;
55
+ } else {
56
+ const serverEntry = transformServerEntry(SERVER_ENTRY, {
57
+ metaName: metaName || "modern-js",
58
+ mode
59
+ });
60
+ return serverEntry;
61
+ }
62
+ }
63
+ function transformServerEntry(source, options) {
64
+ const { metaName = "modern-js", mode } = options;
65
+ const output = source.replace(/#metaName/g, metaName).replace(/#render/g, mode === "string" ? "renderString" : "renderStreaming").replace(/#headers/g, mode === "string" ? "" : `'transfer-encoding': 'chunked',`);
66
+ return output;
67
+ }
68
+ // Annotate the CommonJS export names for ESM import in node:
69
+ 0 && (module.exports = {
70
+ serverIndex
71
+ });
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var hydrate_exports = {};
30
+ __export(hydrate_exports, {
31
+ hydrateRoot: () => hydrateRoot,
32
+ isReact18: () => isReact18
33
+ });
34
+ module.exports = __toCommonJS(hydrate_exports);
35
+ var import_jsx_runtime = require("react/jsx-runtime");
36
+ var import_url = require("@modern-js/runtime-utils/url");
37
+ var import_component = require("@loadable/component");
38
+ var import_react = __toESM(require("react"));
39
+ var import_constants = require("../constants");
40
+ var import_withCallback = require("./withCallback");
41
+ const isReact18 = () => process.env.IS_REACT18 === "true";
42
+ function hydrateRoot(App, context, ModernRender, ModernHydrate) {
43
+ var _window__SSR_DATA, _window, _window__SSR_DATA1, _window1;
44
+ const hydrateContext = {
45
+ ...context,
46
+ get routes() {
47
+ return context.routes;
48
+ },
49
+ _hydration: true
50
+ };
51
+ const { ssrContext } = hydrateContext;
52
+ const currentPathname = (0, import_url.normalizePathname)(window.location.pathname);
53
+ const initialPathname = (0, import_url.normalizePathname)(ssrContext.request.pathname);
54
+ if (initialPathname !== currentPathname && context.router) {
55
+ const errorMsg = `The initial URL ${initialPathname} and the URL ${currentPathname} to be hydrated do not match, reload.`;
56
+ console.error(errorMsg);
57
+ window.location.reload();
58
+ }
59
+ const callback = () => {
60
+ delete hydrateContext._hydration;
61
+ };
62
+ const renderLevel = ((_window = window) === null || _window === void 0 ? void 0 : (_window__SSR_DATA = _window._SSR_DATA) === null || _window__SSR_DATA === void 0 ? void 0 : _window__SSR_DATA.renderLevel) || import_constants.RenderLevel.CLIENT_RENDER;
63
+ const renderMode = ((_window1 = window) === null || _window1 === void 0 ? void 0 : (_window__SSR_DATA1 = _window1._SSR_DATA) === null || _window__SSR_DATA1 === void 0 ? void 0 : _window__SSR_DATA1.mode) || "string";
64
+ if (isReact18() && renderMode === "stream") {
65
+ return streamSSRHydrate();
66
+ }
67
+ function streamSSRHydrate() {
68
+ if (renderLevel === import_constants.RenderLevel.SERVER_RENDER) {
69
+ const SSRApp = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_withCallback.WithCallback, {
70
+ callback,
71
+ children: /* @__PURE__ */ import_react.default.cloneElement(App, {
72
+ _internal_context: hydrateContext
73
+ })
74
+ });
75
+ return ModernHydrate(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SSRApp, {}));
76
+ } else {
77
+ return ModernRender(App);
78
+ }
79
+ }
80
+ return stringSSRHydrate();
81
+ function stringSSRHydrate() {
82
+ if (renderLevel === import_constants.RenderLevel.CLIENT_RENDER || renderLevel === import_constants.RenderLevel.SERVER_PREFETCH) {
83
+ return ModernRender(App);
84
+ } else if (renderLevel === import_constants.RenderLevel.SERVER_RENDER) {
85
+ return new Promise((resolve) => {
86
+ if (isReact18()) {
87
+ (0, import_component.loadableReady)(() => {
88
+ const SSRApp = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_withCallback.WithCallback, {
89
+ callback,
90
+ children: /* @__PURE__ */ import_react.default.cloneElement(App, {
91
+ _internal_context: hydrateContext
92
+ })
93
+ });
94
+ ModernHydrate(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SSRApp, {})).then((root) => {
95
+ resolve(root);
96
+ });
97
+ });
98
+ } else {
99
+ (0, import_component.loadableReady)(() => {
100
+ ModernHydrate(App, callback).then((root) => {
101
+ resolve(root);
102
+ });
103
+ });
104
+ }
105
+ });
106
+ } else {
107
+ console.warn(`unknow render level: ${renderLevel}, execute render()`);
108
+ return ModernRender(App);
109
+ }
110
+ }
111
+ }
112
+ // Annotate the CommonJS export names for ESM import in node:
113
+ 0 && (module.exports = {
114
+ hydrateRoot,
115
+ isReact18
116
+ });
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var browser_exports = {};
30
+ __export(browser_exports, {
31
+ render: () => render
32
+ });
33
+ module.exports = __toCommonJS(browser_exports);
34
+ var import_react = __toESM(require("react"));
35
+ var import_cookie = __toESM(require("cookie"));
36
+ var import_context = require("../context");
37
+ var import_runtime = require("../context/runtime");
38
+ var import_loaderManager = require("../loader/loaderManager");
39
+ var import_runner = require("../plugin/runner");
40
+ var import_hydrate = require("./hydrate");
41
+ const IS_REACT18 = process.env.IS_REACT18 === "true";
42
+ function getSSRData() {
43
+ const ssrData = window._SSR_DATA;
44
+ if (ssrData) {
45
+ const finalSSRData = {
46
+ ...ssrData,
47
+ context: {
48
+ ...ssrData.context,
49
+ request: {
50
+ ...ssrData.context.request,
51
+ cookieMap: import_cookie.default.parse(document.cookie || "") || {},
52
+ cookie: document.cookie || "",
53
+ userAgent: navigator.userAgent,
54
+ referer: document.referrer
55
+ }
56
+ }
57
+ };
58
+ return finalSSRData;
59
+ }
60
+ }
61
+ function isClientArgs(id) {
62
+ return typeof id === "undefined" || typeof id === "string" || typeof HTMLElement !== "undefined" && id instanceof HTMLElement;
63
+ }
64
+ async function render(App, id) {
65
+ const runner = (0, import_runner.getGlobalRunner)();
66
+ const context = (0, import_runtime.getInitialContext)(runner);
67
+ const runInit = (_context) => runner.init({
68
+ context: _context
69
+ }, {
70
+ onLast: ({ context: context1 }) => {
71
+ const init = (0, import_context.getGlobalAppInit)();
72
+ return init === null || init === void 0 ? void 0 : init(context1);
73
+ }
74
+ });
75
+ if (isClientArgs(id)) {
76
+ var _ssrData_data, _ssrData_data1;
77
+ const ssrData = getSSRData();
78
+ const loadersData = (ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data = ssrData.data) === null || _ssrData_data === void 0 ? void 0 : _ssrData_data.loadersData) || {};
79
+ const initialLoadersState = Object.keys(loadersData).reduce((res, key) => {
80
+ const loaderData = loadersData[key];
81
+ if ((loaderData === null || loaderData === void 0 ? void 0 : loaderData.loading) !== false) {
82
+ return res;
83
+ }
84
+ res[key] = loaderData;
85
+ return res;
86
+ }, {});
87
+ Object.assign(context, {
88
+ loaderManager: (0, import_loaderManager.createLoaderManager)(initialLoadersState, {
89
+ skipStatic: true
90
+ }),
91
+ ...ssrData ? {
92
+ ssrContext: ssrData === null || ssrData === void 0 ? void 0 : ssrData.context
93
+ } : {}
94
+ });
95
+ context.initialData = ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data1 = ssrData.data) === null || _ssrData_data1 === void 0 ? void 0 : _ssrData_data1.initialData;
96
+ const initialData = await runInit(context);
97
+ if (initialData) {
98
+ context.initialData = initialData;
99
+ }
100
+ const rootElement = id && typeof id !== "string" ? id : document.getElementById(id || "root");
101
+ async function ModernRender(App2) {
102
+ const renderFunc = IS_REACT18 ? renderWithReact18 : renderWithReact17;
103
+ return renderFunc(/* @__PURE__ */ import_react.default.cloneElement(App2, {
104
+ _internal_context: context
105
+ }), rootElement);
106
+ }
107
+ async function ModernHydrate(App2, callback) {
108
+ const hydrateFunc = IS_REACT18 ? hydrateWithReact18 : hydrateWithReact17;
109
+ return hydrateFunc(App2, rootElement, callback);
110
+ }
111
+ if (ssrData) {
112
+ return (0, import_hydrate.hydrateRoot)(App, context, ModernRender, ModernHydrate);
113
+ }
114
+ return ModernRender(App);
115
+ }
116
+ throw Error("`render` function needs id in browser environment, it needs to be string or element");
117
+ }
118
+ async function renderWithReact18(App, rootElement) {
119
+ const ReactDOM = await Promise.resolve().then(() => __toESM(require("react-dom/client")));
120
+ const root = ReactDOM.createRoot(rootElement);
121
+ root.render(App);
122
+ return root;
123
+ }
124
+ async function renderWithReact17(App, rootElement) {
125
+ const ReactDOM = await Promise.resolve().then(() => __toESM(require("react-dom")));
126
+ ReactDOM.render(App, rootElement);
127
+ return rootElement;
128
+ }
129
+ async function hydrateWithReact18(App, rootElement) {
130
+ const ReactDOM = await Promise.resolve().then(() => __toESM(require("react-dom/client")));
131
+ const root = ReactDOM.hydrateRoot(rootElement, App);
132
+ return root;
133
+ }
134
+ async function hydrateWithReact17(App, rootElement, callback) {
135
+ const ReactDOM = await Promise.resolve().then(() => __toESM(require("react-dom")));
136
+ const root = ReactDOM.hydrate(App, rootElement, callback);
137
+ return root;
138
+ }
139
+ // Annotate the CommonJS export names for ESM import in node:
140
+ 0 && (module.exports = {
141
+ render
142
+ });
@@ -35,12 +35,13 @@ __export(compatible_exports, {
35
35
  module.exports = __toCommonJS(compatible_exports);
36
36
  var import_jsx_runtime = require("react/jsx-runtime");
37
37
  var import_react = __toESM(require("react"));
38
- var import_hoist_non_react_statics = __toESM(require("hoist-non-react-statics"));
39
38
  var import_constants = require("@modern-js/utils/universal/constants");
40
39
  var import_runtime = require("./context/runtime");
41
40
  var import_plugin = require("./plugin");
42
41
  var import_loaderManager = require("./loader/loaderManager");
43
42
  var import_runner = require("./plugin/runner");
43
+ var import_context = require("./context");
44
+ var import_hydrate = require("./browser/hydrate");
44
45
  const IS_REACT18 = process.env.IS_REACT18 === "true";
45
46
  function isClientArgs(id) {
46
47
  return typeof id === "string" || typeof HTMLElement !== "undefined" && id instanceof HTMLElement;
@@ -64,24 +65,21 @@ const createApp = ({ plugins, runtime, props: globalProps }) => {
64
65
  ...props
65
66
  }) : child));
66
67
  };
67
- if (App) {
68
- (0, import_hoist_non_react_statics.default)(WrapperComponent, App);
69
- }
70
68
  const HOCApp = runner.hoc({
71
69
  App: WrapperComponent,
72
70
  config: globalProps || {}
73
71
  }, {
74
72
  onLast: ({ App: App2 }) => {
75
- const WrapComponent = ({ context, ...props }) => {
76
- let contextValue = context;
73
+ const WrapComponent = ({ _internal_context, ...props }) => {
74
+ let contextValue = _internal_context;
77
75
  if (!(contextValue === null || contextValue === void 0 ? void 0 : contextValue.runner)) {
78
76
  contextValue = getInitialContext(runner);
79
77
  runner.init({
80
78
  context: contextValue
81
79
  }, {
82
80
  onLast: ({ context: context1 }) => {
83
- var _App_init;
84
- return App2 === null || App2 === void 0 ? void 0 : (_App_init = App2.init) === null || _App_init === void 0 ? void 0 : _App_init.call(App2, context1);
81
+ var _getGlobalAppInit;
82
+ return (_getGlobalAppInit = (0, import_context.getGlobalAppInit)()) === null || _getGlobalAppInit === void 0 ? void 0 : _getGlobalAppInit(context1);
85
83
  }
86
84
  });
87
85
  }
@@ -96,7 +94,7 @@ const createApp = ({ plugins, runtime, props: globalProps }) => {
96
94
  })
97
95
  });
98
96
  };
99
- return (0, import_hoist_non_react_statics.default)(WrapComponent, App2);
97
+ return WrapComponent;
100
98
  }
101
99
  });
102
100
  return HOCApp;
@@ -110,13 +108,13 @@ const bootstrap = async (BootApp, id, root, ReactDOM) => {
110
108
  context: _context
111
109
  }, {
112
110
  onLast: ({ context: context1 }) => {
113
- var _App_init;
114
- return App === null || App === void 0 ? void 0 : (_App_init = App.init) === null || _App_init === void 0 ? void 0 : _App_init.call(App, context1);
111
+ const init = (0, import_context.getGlobalAppInit)();
112
+ return init === null || init === void 0 ? void 0 : init(context1);
115
113
  }
116
114
  });
117
115
  if (!id) {
118
116
  return /* @__PURE__ */ import_react.default.createElement(App, {
119
- context
117
+ _internal_context: context
120
118
  });
121
119
  }
122
120
  const isBrowser = typeof window !== "undefined" && window.name !== "nodejs";
@@ -127,7 +125,7 @@ const bootstrap = async (BootApp, id, root, ReactDOM) => {
127
125
  const loadersData = (ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data = ssrData.data) === null || _ssrData_data === void 0 ? void 0 : _ssrData_data.loadersData) || {};
128
126
  const initialLoadersState = Object.keys(loadersData).reduce((res, key) => {
129
127
  const loaderData = loadersData[key];
130
- if (loaderData.loading !== false) {
128
+ if ((loaderData === null || loaderData === void 0 ? void 0 : loaderData.loading) !== false) {
131
129
  return res;
132
130
  }
133
131
  res[key] = loaderData;
@@ -154,8 +152,12 @@ const bootstrap = async (BootApp, id, root, ReactDOM) => {
154
152
  if (IS_REACT18) {
155
153
  if (root) {
156
154
  root.render(App2);
157
- } else if (ReactDOM.createRoot) {
158
- ReactDOM.createRoot(rootElement).render(App2);
155
+ return root;
156
+ }
157
+ if (ReactDOM.createRoot) {
158
+ const root2 = ReactDOM.createRoot(rootElement);
159
+ root2.render(App2);
160
+ return root2;
159
161
  } else {
160
162
  throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `createRoot` method");
161
163
  }
@@ -164,6 +166,7 @@ const bootstrap = async (BootApp, id, root, ReactDOM) => {
164
166
  throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `render` method");
165
167
  }
166
168
  ReactDOM.render(App2, rootElement);
169
+ return rootElement;
167
170
  }
168
171
  };
169
172
  const ModernHydrate = (App2, callback) => {
@@ -172,78 +175,40 @@ const bootstrap = async (BootApp, id, root, ReactDOM) => {
172
175
  throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `hydrateRoot` method");
173
176
  }
174
177
  ReactDOM.hydrateRoot(rootElement, App2);
175
- } else {
176
- if (!ReactDOM.hydrate) {
177
- throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `hydrate` method");
178
- }
179
- ReactDOM.hydrate(App2, rootElement, callback);
178
+ return rootElement;
180
179
  }
181
- };
182
- return runner.client({
183
- App,
184
- context,
185
- ModernRender,
186
- ModernHydrate
187
- }, {
188
- onLast: ({ App: App2 }) => {
189
- ModernRender(/* @__PURE__ */ import_react.default.createElement(App2, {
190
- context
191
- }));
180
+ if (!ReactDOM.hydrate) {
181
+ throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `hydrate` method");
192
182
  }
193
- });
183
+ ReactDOM.hydrate(App2, rootElement, callback);
184
+ return rootElement;
185
+ };
186
+ if (ssrData) {
187
+ return (0, import_hydrate.hydrateRoot)(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, {}), context, ModernRender, ModernHydrate);
188
+ }
189
+ return ModernRender(/* @__PURE__ */ import_react.default.createElement(App, {
190
+ _internal_context: context
191
+ }));
194
192
  } else {
195
193
  throw Error("`bootstrap` needs id in browser environment, it needs to be string or element");
196
194
  }
197
195
  } else {
198
- Object.assign(context, {
199
- ssrContext: id,
200
- isBrowser: false,
201
- loaderManager: (0, import_loaderManager.createLoaderManager)({}, {
202
- skipNonStatic: id.staticGenerate,
203
- // if not static generate, only non-static loader can exec on prod env
204
- skipStatic: process.env.NODE_ENV === "production" && !id.staticGenerate
205
- })
206
- });
207
- const isRedirectResponse = (result) => {
208
- if (typeof Response !== "undefined" && // fix: ssg workflow doesn't inject Web Response
209
- result instanceof Response && result.status >= 300 && result.status <= 399) {
210
- const { status } = result;
211
- const redirectUrl = result.headers.get("Location") || "/";
212
- const { ssrContext } = context;
213
- if (ssrContext) {
214
- var _ssrContext_res;
215
- ssrContext.res && (ssrContext.res.statusCode = status);
216
- (_ssrContext_res = ssrContext.res) === null || _ssrContext_res === void 0 ? void 0 : _ssrContext_res.setHeader("Location", redirectUrl);
217
- ssrContext.redirection = ssrContext.redirection || {};
218
- ssrContext.redirection.status = status;
219
- ssrContext.redirection.url = redirectUrl;
220
- }
221
- return true;
222
- }
223
- return false;
224
- };
225
- const initialData = await runInit(context);
226
- if (!isRedirectResponse(initialData)) {
227
- var _context_routerContext, _context_routerContext1;
228
- context.initialData = initialData;
229
- if (((_context_routerContext = context.routerContext) === null || _context_routerContext === void 0 ? void 0 : _context_routerContext.statusCode) && ((_context_routerContext1 = context.routerContext) === null || _context_routerContext1 === void 0 ? void 0 : _context_routerContext1.statusCode) !== 200) {
230
- var _context_routerContext2, _context_ssrContext;
231
- (_context_ssrContext = context.ssrContext) === null || _context_ssrContext === void 0 ? void 0 : _context_ssrContext.response.status((_context_routerContext2 = context.routerContext) === null || _context_routerContext2 === void 0 ? void 0 : _context_routerContext2.statusCode);
232
- }
233
- return runner.server({
234
- App,
235
- context
236
- });
237
- }
196
+ throw Error("Bootstrap function not support ssr render");
238
197
  }
239
198
  };
240
199
  const useRuntimeContext = () => {
200
+ var _context_ssrContext, _context_ssrContext1;
241
201
  const context = (0, import_react.useContext)(import_runtime.RuntimeReactContext);
202
+ const pickedContext = {
203
+ initialData: context.initialData,
204
+ request: (_context_ssrContext = context.ssrContext) === null || _context_ssrContext === void 0 ? void 0 : _context_ssrContext.request,
205
+ response: (_context_ssrContext1 = context.ssrContext) === null || _context_ssrContext1 === void 0 ? void 0 : _context_ssrContext1.response
206
+ };
242
207
  const memoizedContext = (0, import_react.useMemo)(() => context.runner.pickContext({
243
208
  context,
244
- pickedContext: {}
209
+ pickedContext
245
210
  }, {
246
- onLast: ({ pickedContext }) => pickedContext
211
+ onLast: ({ pickedContext: pickedContext2 }) => pickedContext2
247
212
  }), [
248
213
  context
249
214
  ]);
@@ -16,11 +16,11 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var types_exports = {};
20
- __export(types_exports, {
19
+ var constants_exports = {};
20
+ __export(constants_exports, {
21
21
  RenderLevel: () => RenderLevel
22
22
  });
23
- module.exports = __toCommonJS(types_exports);
23
+ module.exports = __toCommonJS(constants_exports);
24
24
  var RenderLevel;
25
25
  (function(RenderLevel2) {
26
26
  RenderLevel2[RenderLevel2["CLIENT_RENDER"] = 0] = "CLIENT_RENDER";
@@ -18,11 +18,48 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var context_exports = {};
20
20
  __export(context_exports, {
21
- RuntimeReactContext: () => import_runtime.RuntimeReactContext
21
+ RuntimeReactContext: () => import_runtime.RuntimeReactContext,
22
+ getGlobalApp: () => getGlobalApp,
23
+ getGlobalAppConfig: () => getGlobalAppConfig,
24
+ getGlobalAppInit: () => getGlobalAppInit,
25
+ getGlobalLayoutApp: () => getGlobalLayoutApp,
26
+ getGlobalRoutes: () => getGlobalRoutes,
27
+ setGlobalContext: () => setGlobalContext
22
28
  });
23
29
  module.exports = __toCommonJS(context_exports);
24
30
  var import_runtime = require("./runtime");
31
+ const globalContext = {};
32
+ function setGlobalContext(context) {
33
+ globalContext.App = context.App;
34
+ globalContext.routes = context.routes;
35
+ globalContext.appInit = context.appInit;
36
+ globalContext.appConfig = typeof context.appConfig === "function" ? context.appConfig() : context.appConfig;
37
+ globalContext.layoutApp = context.layoutApp;
38
+ }
39
+ function getGlobalApp() {
40
+ return globalContext.App;
41
+ }
42
+ function getGlobalRoutes() {
43
+ return globalContext.routes;
44
+ }
45
+ function getGlobalAppInit() {
46
+ var _getGlobalApp, _getGlobalLayoutApp;
47
+ return globalContext.appInit || ((_getGlobalApp = getGlobalApp()) === null || _getGlobalApp === void 0 ? void 0 : _getGlobalApp.init) || ((_getGlobalLayoutApp = getGlobalLayoutApp()) === null || _getGlobalLayoutApp === void 0 ? void 0 : _getGlobalLayoutApp.init);
48
+ }
49
+ function getGlobalAppConfig() {
50
+ var _getGlobalApp, _getGlobalLayoutApp;
51
+ return globalContext.appConfig || ((_getGlobalApp = getGlobalApp()) === null || _getGlobalApp === void 0 ? void 0 : _getGlobalApp.config) || ((_getGlobalLayoutApp = getGlobalLayoutApp()) === null || _getGlobalLayoutApp === void 0 ? void 0 : _getGlobalLayoutApp.config);
52
+ }
53
+ function getGlobalLayoutApp() {
54
+ return globalContext.layoutApp;
55
+ }
25
56
  // Annotate the CommonJS export names for ESM import in node:
26
57
  0 && (module.exports = {
27
- RuntimeReactContext
58
+ RuntimeReactContext,
59
+ getGlobalApp,
60
+ getGlobalAppConfig,
61
+ getGlobalAppInit,
62
+ getGlobalLayoutApp,
63
+ getGlobalRoutes,
64
+ setGlobalContext
28
65
  });
@@ -28,11 +28,11 @@ var import_constants = require("@modern-js/utils/universal/constants");
28
28
  var import_loaderManager = require("../loader/loaderManager");
29
29
  const RuntimeReactContext = (0, import_react.createContext)({});
30
30
  const ServerRouterContext = (0, import_react.createContext)({});
31
- const getInitialContext = (runner) => ({
31
+ const getInitialContext = (runner, isBrowser = true, routeManifest) => ({
32
32
  loaderManager: (0, import_loaderManager.createLoaderManager)({}),
33
33
  runner,
34
- isBrowser: true,
35
- routeManifest: typeof window !== "undefined" && window[import_constants.ROUTE_MANIFEST]
34
+ isBrowser,
35
+ routeManifest: routeManifest || typeof window !== "undefined" && window[import_constants.ROUTE_MANIFEST]
36
36
  });
37
37
  // Annotate the CommonJS export names for ESM import in node:
38
38
  0 && (module.exports = {
@@ -47,7 +47,7 @@ const useLoader = (loaderFn, options = {
47
47
  delete options._cache;
48
48
  }
49
49
  const load = (0, import_react.useCallback)((params) => {
50
- var _unlistenLoaderChangeRef_current, _window__SSR_DATA_data_loadersData_id, _window__SSR_DATA_data, _window__SSR_DATA, _window, _loaderRef_current;
50
+ var _unlistenLoaderChangeRef_current, _window__SSR_DATA_data_loadersData_id, _window__SSR_DATA_data_loadersData, _window__SSR_DATA_data, _window__SSR_DATA, _window, _loaderRef_current;
51
51
  if (typeof params === "undefined") {
52
52
  var _loaderRef_current1;
53
53
  return (_loaderRef_current1 = loaderRef.current) === null || _loaderRef_current1 === void 0 ? void 0 : _loaderRef_current1.load();
@@ -74,7 +74,7 @@ const useLoader = (loaderFn, options = {
74
74
  if (options.skip) {
75
75
  return void 0;
76
76
  }
77
- if (context._hydration && ((_window = window) === null || _window === void 0 ? void 0 : (_window__SSR_DATA = _window._SSR_DATA) === null || _window__SSR_DATA === void 0 ? void 0 : (_window__SSR_DATA_data = _window__SSR_DATA.data) === null || _window__SSR_DATA_data === void 0 ? void 0 : (_window__SSR_DATA_data_loadersData_id = _window__SSR_DATA_data.loadersData[id]) === null || _window__SSR_DATA_data_loadersData_id === void 0 ? void 0 : _window__SSR_DATA_data_loadersData_id.error) === null) {
77
+ if (context._hydration && ((_window = window) === null || _window === void 0 ? void 0 : (_window__SSR_DATA = _window._SSR_DATA) === null || _window__SSR_DATA === void 0 ? void 0 : (_window__SSR_DATA_data = _window__SSR_DATA.data) === null || _window__SSR_DATA_data === void 0 ? void 0 : (_window__SSR_DATA_data_loadersData = _window__SSR_DATA_data.loadersData) === null || _window__SSR_DATA_data_loadersData === void 0 ? void 0 : (_window__SSR_DATA_data_loadersData_id = _window__SSR_DATA_data_loadersData[id]) === null || _window__SSR_DATA_data_loadersData_id === void 0 ? void 0 : _window__SSR_DATA_data_loadersData_id.error) === null) {
78
78
  return void 0;
79
79
  }
80
80
  const res = loaderRef.current.load();
@@ -23,16 +23,12 @@ __export(base_exports, {
23
23
  });
24
24
  module.exports = __toCommonJS(base_exports);
25
25
  var import_plugin = require("@modern-js/plugin");
26
- const client = (0, import_plugin.createAsyncPipeline)();
27
- const server = (0, import_plugin.createAsyncPipeline)();
28
26
  const hoc = (0, import_plugin.createPipeline)();
29
27
  const init = (0, import_plugin.createAsyncPipeline)();
30
28
  const pickContext = (0, import_plugin.createPipeline)();
31
29
  const runtimeHooks = {
32
30
  hoc,
33
31
  init,
34
- client,
35
- server,
36
32
  pickContext
37
33
  };
38
34
  const createRuntime = () => (0, import_plugin.createManager)(runtimeHooks);