@modern-js/runtime 2.54.6 → 2.55.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 (301) 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 +92 -17
  5. package/dist/cjs/{ssr/cli → cli/ssr}/index.js +7 -86
  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 +122 -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/{ssr/serverRender/renderToString → core/server/string}/styledComponent.js +20 -11
  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/router/cli/code/index.js +10 -6
  39. package/dist/cjs/router/cli/code/templates.js +58 -3
  40. package/dist/cjs/router/cli/constants.js +6 -0
  41. package/dist/cjs/router/cli/entry.js +2 -4
  42. package/dist/cjs/router/cli/handler.js +22 -5
  43. package/dist/cjs/router/cli/index.js +29 -56
  44. package/dist/cjs/router/runtime/index.js +2 -0
  45. package/dist/cjs/router/runtime/plugin.js +13 -40
  46. package/dist/cjs/router/runtime/plugin.node.js +17 -32
  47. package/dist/cjs/state/cli/index.js +7 -35
  48. package/dist/cjs/state/runtime/plugin.js +6 -15
  49. package/dist/esm/cli/alias.js +30 -0
  50. package/dist/esm/cli/code.js +131 -0
  51. package/dist/esm/cli/constants.js +15 -1
  52. package/dist/esm/cli/index.js +111 -18
  53. package/dist/esm/{ssr/cli → cli/ssr}/babel-plugin-ssr-loader-id.js +1 -1
  54. package/dist/esm/cli/ssr/index.js +110 -0
  55. package/dist/esm/{ssr/cli → cli/ssr}/loadable-bundler-plugin.js +1 -1
  56. package/dist/esm/cli/template.js +53 -0
  57. package/dist/esm/cli/template.server.js +26 -0
  58. package/dist/esm/core/browser/hydrate.js +88 -0
  59. package/dist/esm/core/browser/index.js +224 -0
  60. package/dist/esm/core/compatible.js +48 -90
  61. package/dist/esm/core/context/index.js +32 -1
  62. package/dist/esm/core/context/runtime.js +3 -2
  63. package/dist/esm/core/loader/useLoader.js +2 -2
  64. package/dist/esm/core/plugin/base.js +0 -4
  65. package/dist/esm/core/plugin/index.js +10 -0
  66. package/dist/esm/core/react/index.js +31 -0
  67. package/dist/esm/{ssr/serverRender → core/server}/helmet.js +10 -2
  68. package/dist/esm/core/server/index.js +16 -0
  69. package/dist/esm/core/server/react/prerender/type.js +0 -0
  70. package/dist/esm/core/server/requestHandler.js +181 -0
  71. package/dist/esm/core/server/server.js +8 -0
  72. package/dist/esm/core/server/shared.js +10 -0
  73. package/dist/esm/core/server/stream/afterTemplate.js +60 -0
  74. package/dist/esm/{ssr/serverRender/renderToStream/bulidTemplate.before.js → core/server/stream/beforeTemplate.js} +10 -11
  75. package/dist/esm/{ssr/serverRender/renderToStream/renderToPipe.js → core/server/stream/createReadableStream.js} +43 -38
  76. package/dist/esm/core/server/stream/createReadableStream.worker.js +142 -0
  77. package/dist/esm/core/server/stream/index.js +6 -0
  78. package/dist/esm/core/server/stream/shared.js +102 -0
  79. package/dist/esm/core/server/stream/template.js +42 -0
  80. package/dist/esm/core/server/string/index.js +219 -0
  81. package/dist/esm/{ssr/serverRender/renderToString → core/server/string}/loadable.js +10 -13
  82. package/dist/esm/{ssr → core/server/string}/prefetch.js +27 -21
  83. package/dist/esm/core/server/string/ssrData.js +83 -0
  84. package/dist/esm/core/server/string/styledComponent.js +34 -0
  85. package/dist/esm/core/server/string/types.js +0 -0
  86. package/dist/esm/core/server/tracer.js +34 -0
  87. package/dist/esm/core/server/utils.js +83 -0
  88. package/dist/esm/router/cli/code/index.js +11 -8
  89. package/dist/esm/router/cli/code/templates.js +100 -7
  90. package/dist/esm/router/cli/constants.js +4 -0
  91. package/dist/esm/router/cli/entry.js +2 -4
  92. package/dist/esm/router/cli/handler.js +70 -8
  93. package/dist/esm/router/cli/index.js +52 -65
  94. package/dist/esm/router/runtime/index.js +1 -0
  95. package/dist/esm/router/runtime/plugin.js +12 -20
  96. package/dist/esm/router/runtime/plugin.node.js +19 -34
  97. package/dist/esm/state/cli/index.js +9 -38
  98. package/dist/esm/state/runtime/plugin.js +5 -5
  99. package/dist/esm-node/cli/alias.js +28 -0
  100. package/dist/esm-node/cli/code.js +90 -0
  101. package/dist/esm-node/cli/constants.js +15 -1
  102. package/dist/esm-node/cli/index.js +84 -13
  103. package/dist/esm-node/{ssr/cli → cli/ssr}/babel-plugin-ssr-loader-id.js +1 -1
  104. package/dist/esm-node/cli/ssr/index.js +87 -0
  105. package/dist/esm-node/{ssr/cli → cli/ssr}/loadable-bundler-plugin.js +1 -1
  106. package/dist/esm-node/cli/template.js +64 -0
  107. package/dist/esm-node/cli/template.server.js +47 -0
  108. package/dist/esm-node/core/browser/hydrate.js +81 -0
  109. package/dist/esm-node/core/browser/index.js +88 -0
  110. package/dist/esm-node/core/compatible.js +39 -74
  111. package/dist/esm-node/core/context/index.js +32 -1
  112. package/dist/esm-node/core/context/runtime.js +3 -3
  113. package/dist/esm-node/core/loader/useLoader.js +2 -2
  114. package/dist/esm-node/core/plugin/base.js +0 -4
  115. package/dist/esm-node/core/plugin/index.js +5 -0
  116. package/dist/esm-node/core/react/index.js +27 -0
  117. package/dist/esm-node/{ssr/serverRender → core/server}/helmet.js +6 -2
  118. package/dist/esm-node/core/server/index.js +12 -0
  119. package/dist/esm-node/core/server/requestHandler.js +132 -0
  120. package/dist/esm-node/core/server/server.js +8 -0
  121. package/dist/esm-node/core/server/shared.js +6 -0
  122. package/dist/esm-node/core/server/stream/afterTemplate.js +56 -0
  123. package/dist/esm-node/{ssr/serverRender/renderToStream/bulidTemplate.before.js → core/server/stream/beforeTemplate.js} +8 -9
  124. package/dist/esm-node/{ssr/serverRender/renderToStream/renderToPipe.js → core/server/stream/createReadableStream.js} +41 -35
  125. package/dist/esm-node/core/server/stream/createReadableStream.worker.js +71 -0
  126. package/dist/esm-node/core/server/stream/index.js +6 -0
  127. package/dist/esm-node/core/server/stream/shared.js +75 -0
  128. package/dist/esm-node/core/server/stream/template.js +15 -0
  129. package/dist/esm-node/core/server/string/index.js +118 -0
  130. package/dist/esm-node/{ssr/serverRender/renderToString → core/server/string}/loadable.js +8 -11
  131. package/dist/esm-node/core/server/string/prefetch.js +78 -0
  132. package/dist/esm-node/core/server/string/ssrData.js +76 -0
  133. package/dist/esm-node/core/server/string/styledComponent.js +29 -0
  134. package/dist/esm-node/core/server/tracer.js +33 -0
  135. package/dist/esm-node/core/server/utils.js +60 -0
  136. package/dist/esm-node/router/cli/code/index.js +8 -5
  137. package/dist/esm-node/router/cli/code/templates.js +60 -6
  138. package/dist/esm-node/router/cli/constants.js +4 -0
  139. package/dist/esm-node/router/cli/entry.js +2 -4
  140. package/dist/esm-node/router/cli/handler.js +21 -5
  141. package/dist/esm-node/router/cli/index.js +31 -58
  142. package/dist/esm-node/router/runtime/index.js +1 -0
  143. package/dist/esm-node/router/runtime/plugin.js +13 -30
  144. package/dist/esm-node/router/runtime/plugin.node.js +18 -33
  145. package/dist/esm-node/state/cli/index.js +8 -36
  146. package/dist/esm-node/state/runtime/plugin.js +5 -5
  147. package/dist/types/cli/alias.d.ts +7 -0
  148. package/dist/types/cli/code.d.ts +10 -0
  149. package/dist/types/cli/constants.d.ts +7 -0
  150. package/dist/types/cli/index.d.ts +8 -1
  151. package/dist/types/cli/template.d.ts +27 -0
  152. package/dist/types/cli/template.server.d.ts +15 -0
  153. package/dist/types/common.d.ts +9 -0
  154. package/dist/types/core/browser/hydrate.d.ts +5 -0
  155. package/dist/types/core/browser/index.d.ts +2 -0
  156. package/dist/types/core/config.d.ts +5 -6
  157. package/dist/types/core/constants.d.ts +5 -0
  158. package/dist/types/core/context/index.d.ts +34 -1
  159. package/dist/types/core/context/runtime.d.ts +2 -2
  160. package/dist/types/core/plugin/base.d.ts +3 -33
  161. package/dist/types/core/plugin/index.d.ts +2 -11
  162. package/dist/types/core/plugin/runner.d.ts +1 -11
  163. package/dist/types/core/react/index.d.ts +6 -0
  164. package/dist/types/core/server/helmet.d.ts +3 -0
  165. package/dist/types/core/server/index.d.ts +4 -0
  166. package/dist/types/core/server/requestHandler.d.ts +11 -0
  167. package/dist/types/core/server/server.d.ts +4 -0
  168. package/dist/types/core/server/shared.d.ts +9 -0
  169. package/dist/types/core/server/stream/afterTemplate.d.ts +12 -0
  170. package/dist/types/core/server/stream/beforeTemplate.d.ts +8 -0
  171. package/dist/types/core/server/stream/createReadableStream.d.ts +2 -0
  172. package/dist/types/core/server/stream/createReadableStream.worker.d.ts +2 -0
  173. package/dist/types/core/server/stream/index.d.ts +1 -0
  174. package/dist/types/core/server/stream/shared.d.ts +22 -0
  175. package/dist/types/core/server/stream/template.d.ts +9 -0
  176. package/dist/types/core/server/string/index.d.ts +2 -0
  177. package/dist/types/core/server/string/loadable.d.ts +35 -0
  178. package/dist/types/core/server/string/prefetch.d.ts +15 -0
  179. package/dist/types/core/server/string/ssrData.d.ts +18 -0
  180. package/dist/types/core/server/string/styledComponent.d.ts +11 -0
  181. package/dist/types/core/server/string/types.d.ts +12 -0
  182. package/dist/types/core/server/tracer.d.ts +21 -0
  183. package/dist/types/core/server/utils.d.ts +19 -0
  184. package/dist/types/core/types.d.ts +35 -1
  185. package/dist/types/index.d.ts +1 -1
  186. package/dist/types/router/cli/code/index.d.ts +3 -4
  187. package/dist/types/router/cli/code/templates.d.ts +9 -1
  188. package/dist/types/router/cli/constants.d.ts +2 -0
  189. package/dist/types/router/cli/handler.d.ts +1 -0
  190. package/dist/types/router/runtime/index.d.ts +1 -0
  191. package/dist/types/router/runtime/plugin.d.ts +1 -1
  192. package/dist/types/router/runtime/plugin.node.d.ts +2 -2
  193. package/dist/types/router/runtime/types.d.ts +1 -2
  194. package/dist/types/state/runtime/plugin.d.ts +2 -2
  195. package/package.json +49 -42
  196. package/types/router.d.ts +7 -2
  197. package/dist/cjs/ssr/index.js +0 -183
  198. package/dist/cjs/ssr/index.node.js +0 -86
  199. package/dist/cjs/ssr/prefetch.js +0 -92
  200. package/dist/cjs/ssr/serverRender/index.js +0 -39
  201. package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -74
  202. package/dist/cjs/ssr/serverRender/renderToStream/index.js +0 -74
  203. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.js +0 -104
  204. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.worker.js +0 -108
  205. package/dist/cjs/ssr/serverRender/renderToString/buildHtml.js +0 -52
  206. package/dist/cjs/ssr/serverRender/renderToString/entry.js +0 -179
  207. package/dist/cjs/ssr/serverRender/renderToString/render.js +0 -61
  208. package/dist/cjs/ssr/serverRender/tracker.js +0 -113
  209. package/dist/cjs/ssr/utils.js +0 -94
  210. package/dist/esm/ssr/cli/index.js +0 -194
  211. package/dist/esm/ssr/index.js +0 -169
  212. package/dist/esm/ssr/index.node.js +0 -78
  213. package/dist/esm/ssr/serverRender/index.js +0 -55
  214. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -48
  215. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -12
  216. package/dist/esm/ssr/serverRender/renderToStream/index.js +0 -49
  217. package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.worker.js +0 -164
  218. package/dist/esm/ssr/serverRender/renderToStream/template.js +0 -46
  219. package/dist/esm/ssr/serverRender/renderToString/buildHtml.js +0 -34
  220. package/dist/esm/ssr/serverRender/renderToString/entry.js +0 -257
  221. package/dist/esm/ssr/serverRender/renderToString/index.js +0 -34
  222. package/dist/esm/ssr/serverRender/renderToString/render.js +0 -55
  223. package/dist/esm/ssr/serverRender/renderToString/styledComponent.js +0 -25
  224. package/dist/esm/ssr/serverRender/tracker.js +0 -82
  225. package/dist/esm/ssr/serverRender/utils.js +0 -21
  226. package/dist/esm/ssr/utils.js +0 -59
  227. package/dist/esm-node/ssr/cli/index.js +0 -166
  228. package/dist/esm-node/ssr/index.js +0 -147
  229. package/dist/esm-node/ssr/index.node.js +0 -50
  230. package/dist/esm-node/ssr/prefetch.js +0 -72
  231. package/dist/esm-node/ssr/serverRender/index.js +0 -19
  232. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -50
  233. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -8
  234. package/dist/esm-node/ssr/serverRender/renderToStream/index.js +0 -40
  235. package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.worker.js +0 -88
  236. package/dist/esm-node/ssr/serverRender/renderToStream/template.js +0 -19
  237. package/dist/esm-node/ssr/serverRender/renderToString/buildHtml.js +0 -24
  238. package/dist/esm-node/ssr/serverRender/renderToString/entry.js +0 -149
  239. package/dist/esm-node/ssr/serverRender/renderToString/index.js +0 -17
  240. package/dist/esm-node/ssr/serverRender/renderToString/render.js +0 -27
  241. package/dist/esm-node/ssr/serverRender/renderToString/styledComponent.js +0 -20
  242. package/dist/esm-node/ssr/serverRender/tracker.js +0 -87
  243. package/dist/esm-node/ssr/serverRender/utils.js +0 -17
  244. package/dist/esm-node/ssr/utils.js +0 -57
  245. package/dist/types/ssr/index.d.ts +0 -11
  246. package/dist/types/ssr/index.node.d.ts +0 -5
  247. package/dist/types/ssr/prefetch.d.ts +0 -16
  248. package/dist/types/ssr/serverRender/helmet.d.ts +0 -2
  249. package/dist/types/ssr/serverRender/index.d.ts +0 -2
  250. package/dist/types/ssr/serverRender/renderToStream/buildTemplate.after.d.ts +0 -7
  251. package/dist/types/ssr/serverRender/renderToStream/buildTemplate.share.d.ts +0 -3
  252. package/dist/types/ssr/serverRender/renderToStream/bulidTemplate.before.d.ts +0 -2
  253. package/dist/types/ssr/serverRender/renderToStream/index.d.ts +0 -3
  254. package/dist/types/ssr/serverRender/renderToStream/renderToPipe.d.ts +0 -7
  255. package/dist/types/ssr/serverRender/renderToStream/renderToPipe.worker.d.ts +0 -12
  256. package/dist/types/ssr/serverRender/renderToStream/template.d.ts +0 -6
  257. package/dist/types/ssr/serverRender/renderToString/buildHtml.d.ts +0 -6
  258. package/dist/types/ssr/serverRender/renderToString/entry.d.ts +0 -24
  259. package/dist/types/ssr/serverRender/renderToString/index.d.ts +0 -2
  260. package/dist/types/ssr/serverRender/renderToString/loadable.d.ts +0 -26
  261. package/dist/types/ssr/serverRender/renderToString/render.d.ts +0 -16
  262. package/dist/types/ssr/serverRender/renderToString/styledComponent.d.ts +0 -15
  263. package/dist/types/ssr/serverRender/tracker.d.ts +0 -20
  264. package/dist/types/ssr/serverRender/types.d.ts +0 -49
  265. package/dist/types/ssr/serverRender/utils.d.ts +0 -9
  266. package/dist/types/ssr/utils.d.ts +0 -10
  267. /package/dist/cjs/{ssr/cli → cli/ssr}/babel-plugin-ssr-loader-id.js +0 -0
  268. /package/dist/cjs/{ssr/cli → cli/ssr}/loadable-bundler-plugin.js +0 -0
  269. /package/dist/cjs/{ssr/react/withCallback/index.js → core/browser/withCallback.js} +0 -0
  270. /package/dist/cjs/{ssr/serverRender → core/server}/constants.js +0 -0
  271. /package/dist/cjs/{ssr → core/server}/react/index.js +0 -0
  272. /package/dist/cjs/{ssr → core/server}/react/nossr/index.js +0 -0
  273. /package/dist/cjs/{ssr → core/server}/react/prerender/index.js +0 -0
  274. /package/dist/cjs/{ssr → core/server}/react/prerender/type.js +0 -0
  275. /package/dist/cjs/{ssr → core/server}/react/prerender/util.js +0 -0
  276. /package/dist/esm/{ssr/react/withCallback/index.js → core/browser/withCallback.js} +0 -0
  277. /package/dist/esm/{ssr/serverRender/types.js → core/constants.js} +0 -0
  278. /package/dist/esm/{ssr/serverRender → core/server}/constants.js +0 -0
  279. /package/dist/esm/{ssr → core/server}/react/index.js +0 -0
  280. /package/dist/esm/{ssr → core/server}/react/nossr/index.js +0 -0
  281. /package/dist/esm/{ssr → core/server}/react/prerender/index.js +0 -0
  282. /package/dist/esm/{ssr → core/server}/react/prerender/util.js +0 -0
  283. /package/dist/esm-node/{ssr/react/withCallback/index.js → core/browser/withCallback.js} +0 -0
  284. /package/dist/esm-node/{ssr/serverRender/types.js → core/constants.js} +0 -0
  285. /package/dist/esm-node/{ssr/serverRender → core/server}/constants.js +0 -0
  286. /package/dist/esm-node/{ssr → core/server}/react/index.js +0 -0
  287. /package/dist/esm-node/{ssr → core/server}/react/nossr/index.js +0 -0
  288. /package/dist/esm-node/{ssr → core/server}/react/prerender/index.js +0 -0
  289. /package/dist/esm-node/{ssr → core/server}/react/prerender/type.js +0 -0
  290. /package/dist/esm-node/{ssr → core/server}/react/prerender/util.js +0 -0
  291. /package/dist/{esm/ssr/react/prerender/type.js → esm-node/core/server/string/types.js} +0 -0
  292. /package/dist/types/{ssr/cli → cli/ssr}/babel-plugin-ssr-loader-id.d.ts +0 -0
  293. /package/dist/types/{ssr/cli → cli/ssr}/index.d.ts +0 -0
  294. /package/dist/types/{ssr/cli → cli/ssr}/loadable-bundler-plugin.d.ts +0 -0
  295. /package/dist/types/{ssr/react/withCallback/index.d.ts → core/browser/withCallback.d.ts} +0 -0
  296. /package/dist/types/{ssr/serverRender → core/server}/constants.d.ts +0 -0
  297. /package/dist/types/{ssr → core/server}/react/index.d.ts +0 -0
  298. /package/dist/types/{ssr → core/server}/react/nossr/index.d.ts +0 -0
  299. /package/dist/types/{ssr → core/server}/react/prerender/index.d.ts +0 -0
  300. /package/dist/types/{ssr → core/server}/react/prerender/type.d.ts +0 -0
  301. /package/dist/types/{ssr → core/server}/react/prerender/util.d.ts +0 -0
@@ -0,0 +1,224 @@
1
+ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
+ import { _ as _instanceof } from "@swc/helpers/_/_instanceof";
3
+ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
4
+ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
5
+ import React from "react";
6
+ import { getGlobalAppInit } from "../context";
7
+ import { getInitialContext } from "../context/runtime";
8
+ import { createLoaderManager } from "../loader/loaderManager";
9
+ import { getGlobalRunner } from "../plugin/runner";
10
+ import { hydrateRoot } from "./hydrate";
11
+ var IS_REACT18 = process.env.IS_REACT18 === "true";
12
+ function isClientArgs(id) {
13
+ return typeof id === "undefined" || typeof id === "string" || typeof HTMLElement !== "undefined" && _instanceof(id, HTMLElement);
14
+ }
15
+ function render(App, id) {
16
+ return _render.apply(this, arguments);
17
+ }
18
+ function _render() {
19
+ _render = _async_to_generator(function(App, id) {
20
+ var runner, context, runInit, ModernRender, ModernHydrate, _ssrData_data, _ssrData_data1, ssrData, loadersData, initialLoadersState, initialData, rootElement;
21
+ function _ModernRender() {
22
+ _ModernRender = _async_to_generator(function(App2) {
23
+ var renderFunc;
24
+ return _ts_generator(this, function(_state) {
25
+ renderFunc = IS_REACT18 ? renderWithReact18 : renderWithReact17;
26
+ return [
27
+ 2,
28
+ renderFunc(/* @__PURE__ */ React.cloneElement(App2, {
29
+ _internal_context: context
30
+ }), rootElement)
31
+ ];
32
+ });
33
+ });
34
+ return _ModernRender.apply(this, arguments);
35
+ }
36
+ function _ModernHydrate() {
37
+ _ModernHydrate = _async_to_generator(function(App2, callback) {
38
+ var hydrateFunc;
39
+ return _ts_generator(this, function(_state) {
40
+ hydrateFunc = IS_REACT18 ? hydrateWithReact18 : hydrateWithReact17;
41
+ return [
42
+ 2,
43
+ hydrateFunc(App2, rootElement, callback)
44
+ ];
45
+ });
46
+ });
47
+ return _ModernHydrate.apply(this, arguments);
48
+ }
49
+ return _ts_generator(this, function(_state) {
50
+ switch (_state.label) {
51
+ case 0:
52
+ runner = getGlobalRunner();
53
+ context = getInitialContext(runner);
54
+ runInit = function(_context) {
55
+ return runner.init({
56
+ context: _context
57
+ }, {
58
+ onLast: function(param) {
59
+ var context1 = param.context;
60
+ var init = getGlobalAppInit();
61
+ return init === null || init === void 0 ? void 0 : init(context1);
62
+ }
63
+ });
64
+ };
65
+ if (!isClientArgs(id))
66
+ return [
67
+ 3,
68
+ 2
69
+ ];
70
+ ModernRender = function ModernRender2(App2) {
71
+ return _ModernRender.apply(this, arguments);
72
+ };
73
+ ModernHydrate = function ModernHydrate2(App2, callback) {
74
+ return _ModernHydrate.apply(this, arguments);
75
+ };
76
+ ssrData = window._SSR_DATA;
77
+ loadersData = (ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data = ssrData.data) === null || _ssrData_data === void 0 ? void 0 : _ssrData_data.loadersData) || {};
78
+ initialLoadersState = Object.keys(loadersData).reduce(function(res, key) {
79
+ var loaderData = loadersData[key];
80
+ if ((loaderData === null || loaderData === void 0 ? void 0 : loaderData.loading) !== false) {
81
+ return res;
82
+ }
83
+ res[key] = loaderData;
84
+ return res;
85
+ }, {});
86
+ Object.assign(context, _object_spread({
87
+ loaderManager: createLoaderManager(initialLoadersState, {
88
+ skipStatic: true
89
+ })
90
+ }, ssrData ? {
91
+ ssrContext: ssrData === null || ssrData === void 0 ? void 0 : ssrData.context
92
+ } : {}));
93
+ context.initialData = ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data1 = ssrData.data) === null || _ssrData_data1 === void 0 ? void 0 : _ssrData_data1.initialData;
94
+ return [
95
+ 4,
96
+ runInit(context)
97
+ ];
98
+ case 1:
99
+ initialData = _state.sent();
100
+ if (initialData) {
101
+ context.initialData = initialData;
102
+ }
103
+ rootElement = id && typeof id !== "string" ? id : document.getElementById(id || "root");
104
+ if (ssrData) {
105
+ return [
106
+ 2,
107
+ hydrateRoot(App, context, ModernRender, ModernHydrate)
108
+ ];
109
+ }
110
+ return [
111
+ 2,
112
+ ModernRender(App)
113
+ ];
114
+ case 2:
115
+ throw Error("`render` function needs id in browser environment, it needs to be string or element");
116
+ }
117
+ });
118
+ });
119
+ return _render.apply(this, arguments);
120
+ }
121
+ function renderWithReact18(App, rootElement) {
122
+ return _renderWithReact18.apply(this, arguments);
123
+ }
124
+ function _renderWithReact18() {
125
+ _renderWithReact18 = _async_to_generator(function(App, rootElement) {
126
+ var ReactDOM, root;
127
+ return _ts_generator(this, function(_state) {
128
+ switch (_state.label) {
129
+ case 0:
130
+ return [
131
+ 4,
132
+ import("react-dom/client")
133
+ ];
134
+ case 1:
135
+ ReactDOM = _state.sent();
136
+ root = ReactDOM.createRoot(rootElement);
137
+ root.render(App);
138
+ return [
139
+ 2,
140
+ root
141
+ ];
142
+ }
143
+ });
144
+ });
145
+ return _renderWithReact18.apply(this, arguments);
146
+ }
147
+ function renderWithReact17(App, rootElement) {
148
+ return _renderWithReact17.apply(this, arguments);
149
+ }
150
+ function _renderWithReact17() {
151
+ _renderWithReact17 = _async_to_generator(function(App, rootElement) {
152
+ var ReactDOM;
153
+ return _ts_generator(this, function(_state) {
154
+ switch (_state.label) {
155
+ case 0:
156
+ return [
157
+ 4,
158
+ import("react-dom")
159
+ ];
160
+ case 1:
161
+ ReactDOM = _state.sent();
162
+ ReactDOM.render(App, rootElement);
163
+ return [
164
+ 2,
165
+ rootElement
166
+ ];
167
+ }
168
+ });
169
+ });
170
+ return _renderWithReact17.apply(this, arguments);
171
+ }
172
+ function hydrateWithReact18(App, rootElement) {
173
+ return _hydrateWithReact18.apply(this, arguments);
174
+ }
175
+ function _hydrateWithReact18() {
176
+ _hydrateWithReact18 = _async_to_generator(function(App, rootElement) {
177
+ var ReactDOM, root;
178
+ return _ts_generator(this, function(_state) {
179
+ switch (_state.label) {
180
+ case 0:
181
+ return [
182
+ 4,
183
+ import("react-dom/client")
184
+ ];
185
+ case 1:
186
+ ReactDOM = _state.sent();
187
+ root = ReactDOM.hydrateRoot(rootElement, App);
188
+ return [
189
+ 2,
190
+ root
191
+ ];
192
+ }
193
+ });
194
+ });
195
+ return _hydrateWithReact18.apply(this, arguments);
196
+ }
197
+ function hydrateWithReact17(App, rootElement, callback) {
198
+ return _hydrateWithReact17.apply(this, arguments);
199
+ }
200
+ function _hydrateWithReact17() {
201
+ _hydrateWithReact17 = _async_to_generator(function(App, rootElement, callback) {
202
+ var ReactDOM, root;
203
+ return _ts_generator(this, function(_state) {
204
+ switch (_state.label) {
205
+ case 0:
206
+ return [
207
+ 4,
208
+ import("react-dom")
209
+ ];
210
+ case 1:
211
+ ReactDOM = _state.sent();
212
+ root = ReactDOM.hydrate(App, rootElement, callback);
213
+ return [
214
+ 2,
215
+ root
216
+ ];
217
+ }
218
+ });
219
+ });
220
+ return _hydrateWithReact17.apply(this, arguments);
221
+ }
222
+ export {
223
+ render
224
+ };
@@ -5,12 +5,13 @@ import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_
5
5
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
7
  import React, { useContext, useMemo } from "react";
8
- import hoistNonReactStatics from "hoist-non-react-statics";
9
8
  import { ROUTE_MANIFEST } from "@modern-js/utils/universal/constants";
10
9
  import { RuntimeReactContext } from "./context/runtime";
11
10
  import { registerPlugin } from "./plugin";
12
11
  import { createLoaderManager } from "./loader/loaderManager";
13
12
  import { getGlobalRunner } from "./plugin/runner";
13
+ import { getGlobalAppInit } from "./context";
14
+ import { hydrateRoot as ModernHydrateRoot } from "./browser/hydrate";
14
15
  var IS_REACT18 = process.env.IS_REACT18 === "true";
15
16
  function isClientArgs(id) {
16
17
  return typeof id === "string" || typeof HTMLElement !== "undefined" && _instanceof(id, HTMLElement);
@@ -34,20 +35,17 @@ var createApp = function(param) {
34
35
  return /* @__PURE__ */ React.isValidElement(child) ? /* @__PURE__ */ React.cloneElement(child, _object_spread({}, child.props, props)) : child;
35
36
  }));
36
37
  };
37
- if (App) {
38
- hoistNonReactStatics(WrapperComponent, App);
39
- }
40
38
  var HOCApp = runner.hoc({
41
39
  App: WrapperComponent,
42
40
  config: globalProps || {}
43
41
  }, {
44
42
  onLast: function(param2) {
45
- var _$App = param2.App;
43
+ var App2 = param2.App;
46
44
  var WrapComponent = function(_param) {
47
- var context = _param.context, props = _object_without_properties(_param, [
48
- "context"
45
+ var _internal_context = _param._internal_context, props = _object_without_properties(_param, [
46
+ "_internal_context"
49
47
  ]);
50
- var contextValue = context;
48
+ var contextValue = _internal_context;
51
49
  if (!(contextValue === null || contextValue === void 0 ? void 0 : contextValue.runner)) {
52
50
  contextValue = getInitialContext(runner);
53
51
  runner.init({
@@ -55,18 +53,18 @@ var createApp = function(param) {
55
53
  }, {
56
54
  onLast: function(param3) {
57
55
  var context1 = param3.context;
58
- var _App_init;
59
- return _$App === null || _$App === void 0 ? void 0 : (_App_init = _$App.init) === null || _App_init === void 0 ? void 0 : _App_init.call(_$App, context1);
56
+ var _getGlobalAppInit;
57
+ return (_getGlobalAppInit = getGlobalAppInit()) === null || _getGlobalAppInit === void 0 ? void 0 : _getGlobalAppInit(context1);
60
58
  }
61
59
  });
62
60
  }
63
61
  var mergedProps = _object_spread({}, props, globalProps);
64
62
  return /* @__PURE__ */ _jsx(RuntimeReactContext.Provider, {
65
63
  value: contextValue,
66
- children: /* @__PURE__ */ _jsx(_$App, _object_spread({}, mergedProps))
64
+ children: /* @__PURE__ */ _jsx(App2, _object_spread({}, mergedProps))
67
65
  });
68
66
  };
69
- return hoistNonReactStatics(WrapComponent, _$App);
67
+ return WrapComponent;
70
68
  }
71
69
  });
72
70
  return HOCApp;
@@ -74,7 +72,7 @@ var createApp = function(param) {
74
72
  };
75
73
  var bootstrap = function() {
76
74
  var _ref = _async_to_generator(function(BootApp, id, root, ReactDOM) {
77
- var App, runner, context, runInit, isBrowser, _ssrData_data, _ssrData_data1, ssrData, loadersData, initialLoadersState, initialData, rootElement, ModernRender, ModernHydrate, isRedirectResponse, initialData1, _context_routerContext, _context_routerContext1, _context_routerContext2, _context_ssrContext;
75
+ var App, runner, context, runInit, isBrowser, _ssrData_data, _ssrData_data1, ssrData, loadersData, initialLoadersState, initialData, rootElement, ModernRender, ModernHydrate;
78
76
  return _ts_generator(this, function(_state) {
79
77
  switch (_state.label) {
80
78
  case 0:
@@ -87,8 +85,8 @@ var bootstrap = function() {
87
85
  }, {
88
86
  onLast: function(param) {
89
87
  var context1 = param.context;
90
- var _App_init;
91
- return App === null || App === void 0 ? void 0 : (_App_init = App.init) === null || _App_init === void 0 ? void 0 : _App_init.call(App, context1);
88
+ var init = getGlobalAppInit();
89
+ return init === null || init === void 0 ? void 0 : init(context1);
92
90
  }
93
91
  });
94
92
  };
@@ -96,7 +94,7 @@ var bootstrap = function() {
96
94
  return [
97
95
  2,
98
96
  /* @__PURE__ */ React.createElement(App, {
99
- context
97
+ _internal_context: context
100
98
  })
101
99
  ];
102
100
  }
@@ -115,7 +113,7 @@ var bootstrap = function() {
115
113
  loadersData = (ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data = ssrData.data) === null || _ssrData_data === void 0 ? void 0 : _ssrData_data.loadersData) || {};
116
114
  initialLoadersState = Object.keys(loadersData).reduce(function(res, key) {
117
115
  var loaderData = loadersData[key];
118
- if (loaderData.loading !== false) {
116
+ if ((loaderData === null || loaderData === void 0 ? void 0 : loaderData.loading) !== false) {
119
117
  return res;
120
118
  }
121
119
  res[key] = loaderData;
@@ -146,8 +144,12 @@ var bootstrap = function() {
146
144
  if (IS_REACT18) {
147
145
  if (root) {
148
146
  root.render(App2);
149
- } else if (ReactDOM.createRoot) {
150
- ReactDOM.createRoot(rootElement).render(App2);
147
+ return root;
148
+ }
149
+ if (ReactDOM.createRoot) {
150
+ var _$root = ReactDOM.createRoot(rootElement);
151
+ _$root.render(App2);
152
+ return _$root;
151
153
  } else {
152
154
  throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `createRoot` method");
153
155
  }
@@ -156,6 +158,7 @@ var bootstrap = function() {
156
158
  throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `render` method");
157
159
  }
158
160
  ReactDOM.render(App2, rootElement);
161
+ return rootElement;
159
162
  }
160
163
  };
161
164
  ModernHydrate = function(App2, callback) {
@@ -164,87 +167,36 @@ var bootstrap = function() {
164
167
  throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `hydrateRoot` method");
165
168
  }
166
169
  ReactDOM.hydrateRoot(rootElement, App2);
167
- } else {
168
- if (!ReactDOM.hydrate) {
169
- throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `hydrate` method");
170
- }
171
- ReactDOM.hydrate(App2, rootElement, callback);
170
+ return rootElement;
171
+ }
172
+ if (!ReactDOM.hydrate) {
173
+ throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `hydrate` method");
172
174
  }
175
+ ReactDOM.hydrate(App2, rootElement, callback);
176
+ return rootElement;
173
177
  };
178
+ if (ssrData) {
179
+ return [
180
+ 2,
181
+ ModernHydrateRoot(/* @__PURE__ */ _jsx(App, {}), context, ModernRender, ModernHydrate)
182
+ ];
183
+ }
174
184
  return [
175
185
  2,
176
- runner.client({
177
- App,
178
- context,
179
- ModernRender,
180
- ModernHydrate
181
- }, {
182
- onLast: function(param) {
183
- var App2 = param.App;
184
- ModernRender(/* @__PURE__ */ React.createElement(App2, {
185
- context
186
- }));
187
- }
188
- })
186
+ ModernRender(/* @__PURE__ */ React.createElement(App, {
187
+ _internal_context: context
188
+ }))
189
189
  ];
190
190
  case 2:
191
191
  throw Error("`bootstrap` needs id in browser environment, it needs to be string or element");
192
192
  case 3:
193
193
  return [
194
194
  3,
195
- 6
195
+ 5
196
196
  ];
197
197
  case 4:
198
- Object.assign(context, {
199
- ssrContext: id,
200
- isBrowser: false,
201
- 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
- isRedirectResponse = function(result) {
208
- if (typeof Response !== "undefined" && // fix: ssg workflow doesn't inject Web Response
209
- _instanceof(result, Response) && result.status >= 300 && result.status <= 399) {
210
- var status = result.status;
211
- var redirectUrl = result.headers.get("Location") || "/";
212
- var ssrContext = context.ssrContext;
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
- return [
226
- 4,
227
- runInit(context)
228
- ];
198
+ throw Error("Bootstrap function not support ssr render");
229
199
  case 5:
230
- initialData1 = _state.sent();
231
- if (!isRedirectResponse(initialData1)) {
232
- ;
233
- context.initialData = initialData1;
234
- 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) {
235
- ;
236
- (_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);
237
- }
238
- return [
239
- 2,
240
- runner.server({
241
- App,
242
- context
243
- })
244
- ];
245
- }
246
- _state.label = 6;
247
- case 6:
248
200
  return [
249
201
  2
250
202
  ];
@@ -256,15 +208,21 @@ var bootstrap = function() {
256
208
  };
257
209
  }();
258
210
  var useRuntimeContext = function() {
211
+ var _context_ssrContext, _context_ssrContext1;
259
212
  var context = useContext(RuntimeReactContext);
213
+ var pickedContext = {
214
+ initialData: context.initialData,
215
+ request: (_context_ssrContext = context.ssrContext) === null || _context_ssrContext === void 0 ? void 0 : _context_ssrContext.request,
216
+ response: (_context_ssrContext1 = context.ssrContext) === null || _context_ssrContext1 === void 0 ? void 0 : _context_ssrContext1.response
217
+ };
260
218
  var memoizedContext = useMemo(function() {
261
219
  return context.runner.pickContext({
262
220
  context,
263
- pickedContext: {}
221
+ pickedContext
264
222
  }, {
265
223
  onLast: function(param) {
266
- var pickedContext = param.pickedContext;
267
- return pickedContext;
224
+ var pickedContext2 = param.pickedContext;
225
+ return pickedContext2;
268
226
  }
269
227
  });
270
228
  }, [
@@ -1,4 +1,35 @@
1
1
  import { RuntimeReactContext } from "./runtime";
2
+ var globalContext = {};
3
+ function setGlobalContext(context) {
4
+ globalContext.App = context.App;
5
+ globalContext.routes = context.routes;
6
+ globalContext.appInit = context.appInit;
7
+ globalContext.appConfig = typeof context.appConfig === "function" ? context.appConfig() : context.appConfig;
8
+ globalContext.layoutApp = context.layoutApp;
9
+ }
10
+ function getGlobalApp() {
11
+ return globalContext.App;
12
+ }
13
+ function getGlobalRoutes() {
14
+ return globalContext.routes;
15
+ }
16
+ function getGlobalAppInit() {
17
+ var _getGlobalApp, _getGlobalLayoutApp;
18
+ return globalContext.appInit || ((_getGlobalApp = getGlobalApp()) === null || _getGlobalApp === void 0 ? void 0 : _getGlobalApp.init) || ((_getGlobalLayoutApp = getGlobalLayoutApp()) === null || _getGlobalLayoutApp === void 0 ? void 0 : _getGlobalLayoutApp.init);
19
+ }
20
+ function getGlobalAppConfig() {
21
+ var _getGlobalApp, _getGlobalLayoutApp;
22
+ return globalContext.appConfig || ((_getGlobalApp = getGlobalApp()) === null || _getGlobalApp === void 0 ? void 0 : _getGlobalApp.config) || ((_getGlobalLayoutApp = getGlobalLayoutApp()) === null || _getGlobalLayoutApp === void 0 ? void 0 : _getGlobalLayoutApp.config);
23
+ }
24
+ function getGlobalLayoutApp() {
25
+ return globalContext.layoutApp;
26
+ }
2
27
  export {
3
- RuntimeReactContext
28
+ RuntimeReactContext,
29
+ getGlobalApp,
30
+ getGlobalAppConfig,
31
+ getGlobalAppInit,
32
+ getGlobalLayoutApp,
33
+ getGlobalRoutes,
34
+ setGlobalContext
4
35
  };
@@ -4,11 +4,12 @@ import { createLoaderManager } from "../loader/loaderManager";
4
4
  var RuntimeReactContext = createContext({});
5
5
  var ServerRouterContext = createContext({});
6
6
  var getInitialContext = function(runner) {
7
+ var isBrowser = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true, routeManifest = arguments.length > 2 ? arguments[2] : void 0;
7
8
  return {
8
9
  loaderManager: createLoaderManager({}),
9
10
  runner,
10
- isBrowser: true,
11
- routeManifest: typeof window !== "undefined" && window[ROUTE_MANIFEST]
11
+ isBrowser,
12
+ routeManifest: routeManifest || typeof window !== "undefined" && window[ROUTE_MANIFEST]
12
13
  };
13
14
  };
14
15
  export {
@@ -19,7 +19,7 @@ var useLoader = function(loaderFn) {
19
19
  delete options._cache;
20
20
  }
21
21
  var load = useCallback(function(params) {
22
- var _unlistenLoaderChangeRef_current, _window__SSR_DATA_data_loadersData_id, _window__SSR_DATA_data, _window__SSR_DATA, _window, _loaderRef_current;
22
+ var _unlistenLoaderChangeRef_current, _window__SSR_DATA_data_loadersData_id, _window__SSR_DATA_data_loadersData, _window__SSR_DATA_data, _window__SSR_DATA, _window, _loaderRef_current;
23
23
  if (typeof params === "undefined") {
24
24
  var _loaderRef_current1;
25
25
  return (_loaderRef_current1 = loaderRef.current) === null || _loaderRef_current1 === void 0 ? void 0 : _loaderRef_current1.load();
@@ -45,7 +45,7 @@ var useLoader = function(loaderFn) {
45
45
  if (options.skip) {
46
46
  return void 0;
47
47
  }
48
- 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) {
48
+ 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) {
49
49
  return void 0;
50
50
  }
51
51
  var res = loaderRef.current.load();
@@ -1,14 +1,10 @@
1
1
  import { createManager, createPipeline, createAsyncPipeline } from "@modern-js/plugin";
2
- var client = createAsyncPipeline();
3
- var server = createAsyncPipeline();
4
2
  var hoc = createPipeline();
5
3
  var init = createAsyncPipeline();
6
4
  var pickContext = createPipeline();
7
5
  var runtimeHooks = {
8
6
  hoc,
9
7
  init,
10
- client,
11
- server,
12
8
  pickContext
13
9
  };
14
10
  var createRuntime = function() {
@@ -1,4 +1,5 @@
1
1
  import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
2
+ import { merge } from "@modern-js/utils/lodash";
2
3
  import { runtime } from "./base";
3
4
  import { setGlobalRunner } from "./runner";
4
5
  export * from "./base";
@@ -10,6 +11,15 @@ function registerPlugin(internalPlugins, runtimeConfig, customRuntime) {
10
11
  setGlobalRunner(runner);
11
12
  return runner;
12
13
  }
14
+ function mergeConfig(config) {
15
+ for (var _len = arguments.length, otherConfig = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
16
+ otherConfig[_key - 1] = arguments[_key];
17
+ }
18
+ return merge.apply(void 0, [
19
+ config
20
+ ].concat(_to_consumable_array(otherConfig)));
21
+ }
13
22
  export {
23
+ mergeConfig,
14
24
  registerPlugin
15
25
  };
@@ -0,0 +1,31 @@
1
+ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
+ import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ import { RuntimeReactContext, getGlobalApp } from "../context";
5
+ import { getGlobalRunner } from "../plugin/runner";
6
+ function createRoot(UserApp, config) {
7
+ var App = UserApp || getGlobalApp();
8
+ var runner = getGlobalRunner();
9
+ var HOCApp = runner.hoc({
10
+ App,
11
+ config: config || {}
12
+ }, {
13
+ onLast: function(param) {
14
+ var App2 = param.App;
15
+ var WrapComponent = function(_param) {
16
+ var _internal_context = _param._internal_context, props = _object_without_properties(_param, [
17
+ "_internal_context"
18
+ ]);
19
+ return /* @__PURE__ */ _jsx(RuntimeReactContext.Provider, {
20
+ value: _internal_context,
21
+ children: /* @__PURE__ */ _jsx(App2, _object_spread({}, props))
22
+ });
23
+ };
24
+ return WrapComponent;
25
+ }
26
+ });
27
+ return HOCApp;
28
+ }
29
+ export {
30
+ createRoot
31
+ };
@@ -5,7 +5,14 @@ var RE_BODY_ATTR = /<body[^>]*>/;
5
5
  var RE_LAST_IN_HEAD = /<\/head>/;
6
6
  var RE_TITLE = /<title[^>]*>([\s\S\n\r]*?)<\/title>/;
7
7
  var TEST_TITLE_CONTENT = RegExp("(?<=<title[^>]*>)([\\s\\S\\n\\r]*?)([.|\\S])([\\s\\S\\n\\r]*?)(?=<\\/title>)");
8
- function helmet(content, helmetData) {
8
+ function createReplaceHelemt(helmetData) {
9
+ return helmetData ? function(template) {
10
+ return helmetReplace(template, helmetData);
11
+ } : function(tempalte) {
12
+ return tempalte;
13
+ };
14
+ }
15
+ function helmetReplace(content, helmetData) {
9
16
  var result = content;
10
17
  var bodyAttributes = helmetData.bodyAttributes.toString();
11
18
  if (bodyAttributes) {
@@ -41,5 +48,6 @@ function helmet(content, helmetData) {
41
48
  return safeReplace(result, RE_LAST_IN_HEAD, "".concat(helmetStr, "</head>"));
42
49
  }
43
50
  export {
44
- helmet as default
51
+ createReplaceHelemt,
52
+ helmetReplace
45
53
  };
@@ -0,0 +1,16 @@
1
+ import { PreRender, NoSSR } from "./react";
2
+ var ssr = function(_config) {
3
+ return {
4
+ name: "@modern-js/plugin-ssr",
5
+ setup: function() {
6
+ return {};
7
+ }
8
+ };
9
+ };
10
+ var server_default = ssr;
11
+ export {
12
+ NoSSR,
13
+ PreRender,
14
+ server_default as default,
15
+ ssr
16
+ };
File without changes