@modern-js/runtime 2.54.5 → 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,51 @@
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 react_exports = {};
20
+ __export(react_exports, {
21
+ createRoot: () => createRoot
22
+ });
23
+ module.exports = __toCommonJS(react_exports);
24
+ var import_jsx_runtime = require("react/jsx-runtime");
25
+ var import_context = require("../context");
26
+ var import_runner = require("../plugin/runner");
27
+ function createRoot(UserApp, config) {
28
+ const App = UserApp || (0, import_context.getGlobalApp)();
29
+ const runner = (0, import_runner.getGlobalRunner)();
30
+ const HOCApp = runner.hoc({
31
+ App,
32
+ config: config || {}
33
+ }, {
34
+ onLast: ({ App: App2 }) => {
35
+ const WrapComponent = ({ _internal_context, ...props }) => {
36
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_context.RuntimeReactContext.Provider, {
37
+ value: _internal_context,
38
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(App2, {
39
+ ...props
40
+ })
41
+ });
42
+ };
43
+ return WrapComponent;
44
+ }
45
+ });
46
+ return HOCApp;
47
+ }
48
+ // Annotate the CommonJS export names for ESM import in node:
49
+ 0 && (module.exports = {
50
+ createRoot
51
+ });
@@ -18,7 +18,8 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var helmet_exports = {};
20
20
  __export(helmet_exports, {
21
- default: () => helmet
21
+ createReplaceHelemt: () => createReplaceHelemt,
22
+ helmetReplace: () => helmetReplace
22
23
  });
23
24
  module.exports = __toCommonJS(helmet_exports);
24
25
  var import_os = require("os");
@@ -28,7 +29,10 @@ const RE_BODY_ATTR = /<body[^>]*>/;
28
29
  const RE_LAST_IN_HEAD = /<\/head>/;
29
30
  const RE_TITLE = /<title[^>]*>([\s\S\n\r]*?)<\/title>/;
30
31
  const TEST_TITLE_CONTENT = RegExp("(?<=<title[^>]*>)([\\s\\S\\n\\r]*?)([.|\\S])([\\s\\S\\n\\r]*?)(?=<\\/title>)");
31
- function helmet(content, helmetData) {
32
+ function createReplaceHelemt(helmetData) {
33
+ return helmetData ? (template) => helmetReplace(template, helmetData) : (tempalte) => tempalte;
34
+ }
35
+ function helmetReplace(content, helmetData) {
32
36
  let result = content;
33
37
  const bodyAttributes = helmetData.bodyAttributes.toString();
34
38
  if (bodyAttributes) {
@@ -63,3 +67,8 @@ function helmet(content, helmetData) {
63
67
  }, "");
64
68
  return (0, import_utils.safeReplace)(result, RE_LAST_IN_HEAD, `${helmetStr}</head>`);
65
69
  }
70
+ // Annotate the CommonJS export names for ESM import in node:
71
+ 0 && (module.exports = {
72
+ createReplaceHelemt,
73
+ helmetReplace
74
+ });
@@ -0,0 +1,38 @@
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 server_exports = {};
20
+ __export(server_exports, {
21
+ NoSSR: () => import_react.NoSSR,
22
+ PreRender: () => import_react.PreRender,
23
+ default: () => server_default,
24
+ ssr: () => ssr
25
+ });
26
+ module.exports = __toCommonJS(server_exports);
27
+ var import_react = require("./react");
28
+ const ssr = (_config) => ({
29
+ name: "@modern-js/plugin-ssr",
30
+ setup: () => ({})
31
+ });
32
+ var server_default = ssr;
33
+ // Annotate the CommonJS export names for ESM import in node:
34
+ 0 && (module.exports = {
35
+ NoSSR,
36
+ PreRender,
37
+ ssr
38
+ });
@@ -0,0 +1,156 @@
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 requestHandler_exports = {};
20
+ __export(requestHandler_exports, {
21
+ createRequestHandler: () => createRequestHandler
22
+ });
23
+ module.exports = __toCommonJS(requestHandler_exports);
24
+ var import_request = require("@modern-js/runtime-utils/universal/request");
25
+ var import_react2 = require("../react");
26
+ var import_context = require("../context");
27
+ var import_runner = require("../plugin/runner");
28
+ var import_runtime = require("../context/runtime");
29
+ var import_loaderManager = require("../loader/loaderManager");
30
+ var import_utils = require("./utils");
31
+ var import_constants = require("./constants");
32
+ function createSSRContext(request, options) {
33
+ const { config, loaderContext, onError, onTiming, locals, resource, params, responseProxy, staticGenerate, logger, metrics, reporter } = options;
34
+ const { nonce } = config;
35
+ const { entryName, route } = resource;
36
+ const cookie = request.headers.get("cookie");
37
+ const cookieMap = (0, import_request.parseCookie)(request);
38
+ const pathname = (0, import_request.getPathname)(request);
39
+ const query = (0, import_request.parseQuery)(request);
40
+ const headersData = (0, import_request.parseHeaders)(request);
41
+ const url = new URL(request.url);
42
+ const ssrConfig = (0, import_utils.getSSRConfigByEntry)(entryName, config.ssr, config.ssrByEntries, staticGenerate);
43
+ const ssrMode = (0, import_utils.getSSRMode)(ssrConfig);
44
+ const loaderFailureMode = typeof ssrConfig === "object" ? ssrConfig.loaderFailureMode : void 0;
45
+ return {
46
+ nonce,
47
+ loaderContext,
48
+ redirection: {},
49
+ htmlModifiers: [],
50
+ logger,
51
+ metrics,
52
+ request: {
53
+ baseUrl: route.urlPath,
54
+ userAgent: request.headers.get("user-agent"),
55
+ cookie,
56
+ cookieMap,
57
+ pathname,
58
+ query,
59
+ params,
60
+ headers: headersData,
61
+ host: url.host,
62
+ raw: request
63
+ },
64
+ response: {
65
+ setHeader(key, value) {
66
+ responseProxy.headers[key] = value;
67
+ },
68
+ status(code) {
69
+ responseProxy.code = code;
70
+ },
71
+ locals: locals || {}
72
+ },
73
+ reporter,
74
+ mode: ssrMode,
75
+ onError,
76
+ onTiming,
77
+ loaderFailureMode
78
+ };
79
+ }
80
+ const createRequestHandler = async (handleRequest) => {
81
+ const requestHandler = async (request, options) => {
82
+ const Root = (0, import_react2.createRoot)();
83
+ const runner = (0, import_runner.getGlobalRunner)();
84
+ const { routeManifest } = options.resource;
85
+ const context = (0, import_runtime.getInitialContext)(runner, false, routeManifest);
86
+ const runInit = (_context) => runner.init({
87
+ context: _context
88
+ }, {
89
+ onLast: ({ context: context1 }) => {
90
+ const init = (0, import_context.getGlobalAppInit)();
91
+ return init === null || init === void 0 ? void 0 : init(context1);
92
+ }
93
+ });
94
+ const responseProxy = {
95
+ headers: {},
96
+ code: -1
97
+ };
98
+ const ssrContext = createSSRContext(request, {
99
+ ...options,
100
+ responseProxy
101
+ });
102
+ Object.assign(context, {
103
+ ssrContext,
104
+ isBrowser: false,
105
+ loaderManager: (0, import_loaderManager.createLoaderManager)({}, {
106
+ skipNonStatic: options.staticGenerate,
107
+ // if not static generate, only non-static loader can exec on prod env
108
+ skipStatic: process.env.NODE_ENV === "production" && !options.staticGenerate
109
+ })
110
+ });
111
+ const getRedirectResponse = (result) => {
112
+ if (typeof Response !== "undefined" && // fix: ssg workflow doesn't inject Web Response
113
+ result instanceof Response && result.status >= 300 && result.status <= 399) {
114
+ const { status } = result;
115
+ const redirectUrl = result.headers.get("Location") || "/";
116
+ const { ssrContext: ssrContext2 } = context;
117
+ if (ssrContext2) {
118
+ return new Response(null, {
119
+ status,
120
+ headers: {
121
+ Location: redirectUrl
122
+ }
123
+ });
124
+ }
125
+ }
126
+ return void 0;
127
+ };
128
+ const initialData = await runInit(context);
129
+ context.initialData = initialData;
130
+ const redirectResponse = getRedirectResponse(initialData);
131
+ if (redirectResponse) {
132
+ return redirectResponse;
133
+ }
134
+ const { htmlTemplate } = options.resource;
135
+ options.resource.htmlTemplate = htmlTemplate.replace("</head>", `${import_constants.CHUNK_CSS_PLACEHOLDER}</head>`);
136
+ const response = await handleRequest(request, Root, {
137
+ ...options,
138
+ runtimeContext: context
139
+ });
140
+ Object.entries(responseProxy.headers).forEach(([key, value]) => {
141
+ response.headers.set(key, value);
142
+ });
143
+ if (responseProxy.code !== -1) {
144
+ return new Response(response.body, {
145
+ status: responseProxy.code,
146
+ headers: response.headers
147
+ });
148
+ }
149
+ return response;
150
+ };
151
+ return requestHandler;
152
+ };
153
+ // Annotate the CommonJS export names for ESM import in node:
154
+ 0 && (module.exports = {
155
+ createRequestHandler
156
+ });
@@ -0,0 +1,34 @@
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 server_exports = {};
20
+ __export(server_exports, {
21
+ createRequestHandler: () => import_requestHandler.createRequestHandler,
22
+ renderStreaming: () => import_stream.renderStreaming,
23
+ renderString: () => import_string.renderString
24
+ });
25
+ module.exports = __toCommonJS(server_exports);
26
+ var import_string = require("./string");
27
+ var import_stream = require("./stream");
28
+ var import_requestHandler = require("./requestHandler");
29
+ // Annotate the CommonJS export names for ESM import in node:
30
+ 0 && (module.exports = {
31
+ createRequestHandler,
32
+ renderStreaming,
33
+ renderString
34
+ });
@@ -16,18 +16,15 @@ 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 buildTemplate_share_exports = {};
20
- __export(buildTemplate_share_exports, {
21
- HEAD_REG_EXP: () => HEAD_REG_EXP,
22
- buildTemplate: () => buildTemplate
19
+ var shared_exports = {};
20
+ __export(shared_exports, {
21
+ buildHtml: () => buildHtml
23
22
  });
24
- module.exports = __toCommonJS(buildTemplate_share_exports);
25
- const HEAD_REG_EXP = /<head(.|\n)*>(.|\n)*<\/head>/;
26
- function buildTemplate(template, callbacks) {
27
- return callbacks.reduce((promise, buildTemplateCb) => promise.then((template2) => buildTemplateCb(template2)), Promise.resolve(template));
23
+ module.exports = __toCommonJS(shared_exports);
24
+ function buildHtml(template, callbacks) {
25
+ return callbacks.reduce((promise, buildHtmlCb) => promise.then((template2) => buildHtmlCb(template2)), Promise.resolve(template));
28
26
  }
29
27
  // Annotate the CommonJS export names for ESM import in node:
30
28
  0 && (module.exports = {
31
- HEAD_REG_EXP,
32
- buildTemplate
29
+ buildHtml
33
30
  });
@@ -0,0 +1,80 @@
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 afterTemplate_exports = {};
20
+ __export(afterTemplate_exports, {
21
+ buildShellAfterTemplate: () => buildShellAfterTemplate
22
+ });
23
+ module.exports = __toCommonJS(afterTemplate_exports);
24
+ var import_node = require("@modern-js/runtime-utils/node");
25
+ var import_utils = require("../utils");
26
+ var import_constants = require("../constants");
27
+ var import_shared = require("../shared");
28
+ function buildShellAfterTemplate(afterAppTemplate, options) {
29
+ const { request, config, ssrConfig, runtimeContext, renderLevel } = options;
30
+ const callbacks = [
31
+ createReplaceSSRData({
32
+ request,
33
+ ssrConfig,
34
+ nonce: config.nonce,
35
+ runtimeContext,
36
+ renderLevel
37
+ })
38
+ ];
39
+ return (0, import_shared.buildHtml)(afterAppTemplate, callbacks);
40
+ }
41
+ function createReplaceSSRData(options) {
42
+ const { runtimeContext, nonce, renderLevel, ssrConfig } = options;
43
+ const { request, reporter } = runtimeContext.ssrContext;
44
+ const headers = typeof ssrConfig === "object" && ssrConfig.unsafeHeaders ? Object.fromEntries(Object.entries(request.headers).filter(([key, _]) => {
45
+ var _ssrConfig_unsafeHeaders_map, _ssrConfig_unsafeHeaders;
46
+ return (_ssrConfig_unsafeHeaders = ssrConfig.unsafeHeaders) === null || _ssrConfig_unsafeHeaders === void 0 ? void 0 : (_ssrConfig_unsafeHeaders_map = _ssrConfig_unsafeHeaders.map((header) => header.toLowerCase())) === null || _ssrConfig_unsafeHeaders_map === void 0 ? void 0 : _ssrConfig_unsafeHeaders_map.includes(key.toLowerCase());
47
+ })) : void 0;
48
+ const ssrData = {
49
+ data: {
50
+ initialData: runtimeContext.initialData,
51
+ i18nData: runtimeContext.__i18nData__
52
+ },
53
+ context: {
54
+ reporter: {
55
+ sessionId: reporter === null || reporter === void 0 ? void 0 : reporter.sessionId
56
+ },
57
+ request: {
58
+ query: request.query,
59
+ params: request.params,
60
+ pathname: request.pathname,
61
+ host: request.host,
62
+ url: request.raw.url,
63
+ headers
64
+ }
65
+ },
66
+ mode: "stream",
67
+ renderLevel
68
+ };
69
+ const attrsStr = (0, import_utils.attributesToString)({
70
+ nonce
71
+ });
72
+ const ssrDataScript = `
73
+ <script${attrsStr}>window._SSR_DATA = ${(0, import_node.serializeJson)(ssrData)}</script>
74
+ `;
75
+ return (template) => (0, import_utils.safeReplace)(template, import_constants.SSR_DATA_PLACEHOLDER, ssrDataScript);
76
+ }
77
+ // Annotate the CommonJS export names for ESM import in node:
78
+ 0 && (module.exports = {
79
+ buildShellAfterTemplate
80
+ });
@@ -26,17 +26,17 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var bulidTemplate_before_exports = {};
30
- __export(bulidTemplate_before_exports, {
29
+ var beforeTemplate_exports = {};
30
+ __export(beforeTemplate_exports, {
31
31
  buildShellBeforeTemplate: () => buildShellBeforeTemplate
32
32
  });
33
- module.exports = __toCommonJS(bulidTemplate_before_exports);
33
+ module.exports = __toCommonJS(beforeTemplate_exports);
34
34
  var import_react_helmet = __toESM(require("react-helmet"));
35
35
  var import_router = require("@modern-js/runtime-utils/router");
36
- var import_helmet = __toESM(require("../helmet"));
36
+ var import_helmet = require("../helmet");
37
37
  var import_constants = require("../constants");
38
38
  var import_utils = require("../utils");
39
- var import_buildTemplate = require("./buildTemplate.share");
39
+ var import_shared = require("../shared");
40
40
  const readAsset = async (chunk) => {
41
41
  const fs = await Promise.resolve().then(() => __toESM(require("fs/promises")));
42
42
  const path = await Promise.resolve().then(() => __toESM(require("path")));
@@ -54,16 +54,15 @@ const checkIsInline = (chunk, enableInline) => {
54
54
  return false;
55
55
  }
56
56
  };
57
- async function buildShellBeforeTemplate(beforeAppTemplate, context, pluginConfig, styledComponentsStyleTags) {
57
+ async function buildShellBeforeTemplate(beforeAppTemplate, options) {
58
+ const { config, runtimeContext, styledComponentsStyleTags } = options;
58
59
  const helmetData = import_react_helmet.default.renderStatic();
59
60
  const callbacks = [
60
- (headTemplate) => {
61
- return helmetData ? (0, import_helmet.default)(headTemplate, helmetData) : headTemplate;
62
- },
61
+ (0, import_helmet.createReplaceHelemt)(helmetData),
63
62
  // @TODO: prefetch scripts of lazy component
64
63
  (template) => injectCss(template, styledComponentsStyleTags)
65
64
  ];
66
- return (0, import_buildTemplate.buildTemplate)(beforeAppTemplate, callbacks);
65
+ return (0, import_shared.buildHtml)(beforeAppTemplate, callbacks);
67
66
  async function injectCss(template, styledComponentsStyleTags2) {
68
67
  let css = await getCssChunks();
69
68
  if (styledComponentsStyleTags2) {
@@ -71,7 +70,7 @@ async function buildShellBeforeTemplate(beforeAppTemplate, context, pluginConfig
71
70
  }
72
71
  return (0, import_utils.safeReplace)(template, import_constants.CHUNK_CSS_PLACEHOLDER, css);
73
72
  async function getCssChunks() {
74
- const { routeManifest, routerContext, routes } = context;
73
+ const { routeManifest, routerContext, routes } = runtimeContext;
75
74
  if (!routeManifest || !routerContext || !routes) {
76
75
  return "";
77
76
  }
@@ -92,7 +91,7 @@ async function buildShellBeforeTemplate(beforeAppTemplate, context, pluginConfig
92
91
  }
93
92
  }
94
93
  });
95
- const { enableInlineStyles } = pluginConfig;
94
+ const { enableInlineStyles } = config;
96
95
  const styles = await Promise.all(cssChunks.map(async (chunk) => {
97
96
  const link = `<link href="${chunk}" rel="stylesheet" />`;
98
97
  if ((0, import_utils.checkIsNode)() && checkIsInline(chunk, enableInlineStyles)) {
@@ -0,0 +1,124 @@
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 createReadableStream_exports = {};
30
+ __export(createReadableStream_exports, {
31
+ createReadableStreamFromElement: () => createReadableStreamFromElement
32
+ });
33
+ module.exports = __toCommonJS(createReadableStream_exports);
34
+ var import_stream = require("stream");
35
+ var import_server = require("react-dom/server");
36
+ var import_node = require("@modern-js/runtime-utils/node");
37
+ var import_styled_components = require("styled-components");
38
+ var import_isbot = __toESM(require("isbot"));
39
+ var import_common = require("../../../common");
40
+ var import_constants = require("../../constants");
41
+ var import_template = require("./template");
42
+ var import_shared = require("./shared");
43
+ const createReadableStreamFromElement = (request, rootElement, options) => {
44
+ const { runtimeContext, htmlTemplate, config, ssrConfig } = options;
45
+ let shellChunkStatus = import_shared.ShellChunkStatus.START;
46
+ let renderLevel = import_constants.RenderLevel.SERVER_RENDER;
47
+ const forceStream2String = Boolean(process.env.MODERN_JS_STREAM_TO_STRING);
48
+ const isbot = (0, import_isbot.default)(request.headers.get("user-agent"));
49
+ const onReady = isbot || forceStream2String ? "onAllReady" : "onShellReady";
50
+ const sheet = new import_styled_components.ServerStyleSheet();
51
+ const chunkVec = [];
52
+ const root = forceStream2String ? sheet.collectStyles(rootElement) : rootElement;
53
+ return new Promise((resolve) => {
54
+ const { pipe } = (0, import_server.renderToPipeableStream)(root, {
55
+ nonce: config.nonce,
56
+ [onReady]() {
57
+ var _options_onReady;
58
+ const styledComponentsStyleTags = forceStream2String ? sheet.getStyleTags() : "";
59
+ (_options_onReady = options[onReady]) === null || _options_onReady === void 0 ? void 0 : _options_onReady.call(options);
60
+ (0, import_template.getTemplates)(htmlTemplate, {
61
+ request,
62
+ ssrConfig,
63
+ renderLevel,
64
+ runtimeContext,
65
+ config,
66
+ styledComponentsStyleTags
67
+ }).then(({ shellAfter, shellBefore }) => {
68
+ const body = new import_stream.Transform({
69
+ transform(chunk, _encoding, callback) {
70
+ try {
71
+ if (shellChunkStatus !== import_shared.ShellChunkStatus.FINISH) {
72
+ chunkVec.push(chunk.toString());
73
+ let concatedChunk = chunkVec.join("");
74
+ if (concatedChunk.includes(import_common.ESCAPED_SHELL_STREAM_END_MARK)) {
75
+ concatedChunk = concatedChunk.replace(import_common.ESCAPED_SHELL_STREAM_END_MARK, "");
76
+ shellChunkStatus = import_shared.ShellChunkStatus.FINISH;
77
+ this.push(`${shellBefore}${concatedChunk}${shellAfter}`);
78
+ }
79
+ } else {
80
+ this.push(chunk);
81
+ }
82
+ callback();
83
+ } catch (e) {
84
+ if (e instanceof Error) {
85
+ callback(e);
86
+ } else {
87
+ callback(new Error("Received unkown error when streaming"));
88
+ }
89
+ }
90
+ }
91
+ });
92
+ const stream = (0, import_node.createReadableStreamFromReadable)(body);
93
+ resolve(stream);
94
+ pipe(body);
95
+ });
96
+ },
97
+ onShellError(error) {
98
+ renderLevel = import_constants.RenderLevel.CLIENT_RENDER;
99
+ (0, import_template.getTemplates)(htmlTemplate, {
100
+ request,
101
+ ssrConfig,
102
+ renderLevel,
103
+ runtimeContext,
104
+ config
105
+ }).then(({ shellAfter, shellBefore }) => {
106
+ var _options_onShellError;
107
+ const fallbackHtml = `${shellBefore}${shellAfter}`;
108
+ const readableStream = (0, import_shared.getReadableStreamFromString)(fallbackHtml);
109
+ resolve(readableStream);
110
+ options === null || options === void 0 ? void 0 : (_options_onShellError = options.onShellError) === null || _options_onShellError === void 0 ? void 0 : _options_onShellError.call(options, error);
111
+ });
112
+ },
113
+ onError(error) {
114
+ var _options_onError;
115
+ renderLevel = import_constants.RenderLevel.CLIENT_RENDER;
116
+ options === null || options === void 0 ? void 0 : (_options_onError = options.onError) === null || _options_onError === void 0 ? void 0 : _options_onError.call(options, error);
117
+ }
118
+ });
119
+ });
120
+ };
121
+ // Annotate the CommonJS export names for ESM import in node:
122
+ 0 && (module.exports = {
123
+ createReadableStreamFromElement
124
+ });