@modern-js/runtime 2.4.1-beta.0 → 2.5.0-alpha.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 (292) hide show
  1. package/CHANGELOG.md +24 -2
  2. package/dist/{js/node → cjs}/cli/index.js +6 -28
  3. package/dist/{js/node → cjs}/common.js +6 -0
  4. package/dist/{js/node → cjs}/config.js +0 -0
  5. package/dist/{js/node → cjs}/core/app-config.js +0 -0
  6. package/dist/{js/node → cjs}/core/compatible.js +16 -60
  7. package/dist/{js/node → cjs}/core/index.js +0 -0
  8. package/dist/{js/node → cjs}/core/loader/index.js +0 -0
  9. package/dist/{js/node → cjs}/core/loader/loaderManager.js +5 -25
  10. package/dist/{js/node → cjs}/core/loader/useLoader.js +6 -21
  11. package/dist/{js/node → cjs}/core/plugin.js +3 -23
  12. package/dist/{js/node/router/runtime → cjs/core}/types.js +0 -0
  13. package/dist/{js/node → cjs}/document/Body.js +0 -0
  14. package/dist/{js/node → cjs}/document/DocumentContext.js +0 -0
  15. package/dist/{js/node → cjs}/document/DocumentStructureContext.js +0 -0
  16. package/dist/{js/node → cjs}/document/Head.js +0 -0
  17. package/dist/{js/node → cjs}/document/Html.js +0 -0
  18. package/dist/{js/node → cjs}/document/Links.js +0 -0
  19. package/dist/{js/node → cjs}/document/Root.js +0 -0
  20. package/dist/{js/node → cjs}/document/Script.js +0 -0
  21. package/dist/{js/node → cjs}/document/Scripts.js +0 -0
  22. package/dist/{js/node → cjs}/document/cli/index.js +18 -46
  23. package/dist/{js/node → cjs}/document/constants.js +0 -0
  24. package/dist/{js/node → cjs}/document/index.js +0 -0
  25. package/dist/{js/node → cjs}/exports/head.js +0 -0
  26. package/dist/{js/node → cjs}/exports/loadable.js +0 -0
  27. package/dist/{js/node → cjs}/exports/server.js +0 -0
  28. package/dist/{js/node → cjs}/exports/styled.js +0 -0
  29. package/dist/{js/node → cjs}/index.js +0 -0
  30. package/dist/{js/node → cjs}/router/cli/index.js +4 -21
  31. package/dist/{js/node → cjs}/router/index.js +0 -0
  32. package/dist/{js/node/router/runtime/index.js → cjs/router/index.node.js} +9 -11
  33. package/dist/{js/node → cjs}/router/runtime/DefaultNotFound.js +0 -0
  34. package/dist/cjs/router/runtime/DeferredDataScripts.js +148 -0
  35. package/dist/{js/node → cjs}/router/runtime/fetch.js +0 -0
  36. package/dist/{js/node → cjs}/router/runtime/fetch.node.js +0 -0
  37. package/dist/{js/node → cjs}/router/runtime/fetch.worker.js +0 -0
  38. package/dist/cjs/router/runtime/index.js +82 -0
  39. package/dist/{js/node → cjs}/router/runtime/plugin.js +11 -20
  40. package/dist/{js/node → cjs}/router/runtime/plugin.node.js +25 -63
  41. package/dist/{js/node → cjs}/router/runtime/server.js +0 -0
  42. package/dist/{js/node/state → cjs/router/runtime}/types.js +0 -0
  43. package/dist/cjs/router/runtime/utils.js +123 -0
  44. package/dist/{js/node → cjs}/router/runtime/withRouter.js +3 -19
  45. package/dist/{js/node → cjs}/runtime-context.js +0 -0
  46. package/dist/{js/node → cjs}/ssr/cli/babel-plugin-ssr-loader-id.js +0 -0
  47. package/dist/{js/node → cjs}/ssr/cli/index.js +6 -17
  48. package/dist/{js/node → cjs}/ssr/index.js +14 -47
  49. package/dist/{js/node → cjs}/ssr/index.node.js +6 -42
  50. package/dist/cjs/ssr/prefetch.js +68 -0
  51. package/dist/{js/node → cjs}/ssr/prefetch.worker.js +3 -23
  52. package/dist/{js/node → cjs}/ssr/react/index.js +0 -0
  53. package/dist/{js/node → cjs}/ssr/react/nossr/index.js +0 -0
  54. package/dist/{js/node → cjs}/ssr/react/prerender/index.js +3 -20
  55. package/dist/{js/node → cjs}/ssr/react/prerender/type.js +0 -0
  56. package/dist/{js/node → cjs}/ssr/react/prerender/util.js +0 -0
  57. package/dist/{js/node → cjs}/ssr/react/withCallback/index.js +0 -0
  58. package/dist/{js/node → cjs}/ssr/serverRender/helmet.js +1 -1
  59. package/dist/cjs/ssr/serverRender/index.js +34 -0
  60. package/dist/{js/node → cjs}/ssr/serverRender/renderToStream/buildTemplate.after.js +2 -10
  61. package/dist/{js/node → cjs}/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -0
  62. package/dist/{js/node → cjs}/ssr/serverRender/renderToStream/bulidTemplate.before.js +0 -0
  63. package/dist/{js/node → cjs}/ssr/serverRender/renderToStream/index.js +2 -22
  64. package/dist/{js/node → cjs}/ssr/serverRender/renderToStream/index.worker.js +0 -0
  65. package/dist/{js/node → cjs}/ssr/serverRender/renderToStream/loadable.js +0 -0
  66. package/dist/{js/node → cjs}/ssr/serverRender/renderToStream/renderToPipe.js +25 -26
  67. package/dist/{js/node → cjs}/ssr/serverRender/renderToStream/renderToPipe.worker.js +16 -47
  68. package/dist/{js/node → cjs}/ssr/serverRender/renderToStream/styledComponent.js +0 -0
  69. package/dist/{js/node → cjs}/ssr/serverRender/renderToStream/template.js +2 -1
  70. package/dist/{js/node → cjs}/ssr/serverRender/renderToStream/type.js +0 -0
  71. package/dist/{js/node → cjs}/ssr/serverRender/renderToString/entry.js +55 -75
  72. package/dist/{js/node → cjs}/ssr/serverRender/renderToString/index.js +3 -23
  73. package/dist/{js/node → cjs}/ssr/serverRender/renderToString/index.worker.js +4 -24
  74. package/dist/{js/node → cjs}/ssr/serverRender/renderToString/loadable.js +0 -0
  75. package/dist/{js/node → cjs}/ssr/serverRender/renderToString/reduce.js +0 -0
  76. package/dist/{js/node → cjs}/ssr/serverRender/renderToString/styledComponent.js +0 -0
  77. package/dist/{js/node → cjs}/ssr/serverRender/renderToString/template.js +0 -0
  78. package/dist/{js/node → cjs}/ssr/serverRender/renderToString/type.js +0 -0
  79. package/dist/{js/node → cjs}/ssr/serverRender/time.js +0 -0
  80. package/dist/{js/node → cjs}/ssr/serverRender/time.worker.js +0 -0
  81. package/dist/{js/node → cjs}/ssr/serverRender/types.js +0 -0
  82. package/dist/{js/node → cjs}/ssr/serverRender/utils.js +0 -0
  83. package/dist/{js/node → cjs}/ssr/utils.js +4 -17
  84. package/dist/{js/node → cjs}/state/cli/index.js +0 -0
  85. package/dist/{js/node → cjs}/state/index.js +0 -0
  86. package/dist/{js/node → cjs}/state/plugins.js +0 -0
  87. package/dist/{js/node → cjs}/state/runtime/index.js +0 -0
  88. package/dist/{js/node → cjs}/state/runtime/plugin.js +6 -20
  89. package/dist/cjs/state/types.js +15 -0
  90. package/dist/{js/treeshaking → esm}/cli/index.js +0 -0
  91. package/dist/esm/common.js +6 -0
  92. package/dist/{js/treeshaking → esm}/config.js +0 -0
  93. package/dist/{js/treeshaking → esm}/core/app-config.js +0 -0
  94. package/dist/{js/treeshaking → esm}/core/compatible.js +0 -0
  95. package/dist/{js/treeshaking → esm}/core/index.js +0 -0
  96. package/dist/{js/treeshaking → esm}/core/loader/index.js +0 -0
  97. package/dist/{js/treeshaking → esm}/core/loader/loaderManager.js +0 -0
  98. package/dist/{js/treeshaking → esm}/core/loader/useLoader.js +0 -0
  99. package/dist/{js/treeshaking → esm}/core/plugin.js +0 -0
  100. package/dist/{js/treeshaking/router/runtime → esm/core}/types.js +0 -0
  101. package/dist/{js/treeshaking → esm}/document/Body.js +0 -0
  102. package/dist/{js/treeshaking → esm}/document/DocumentContext.js +0 -0
  103. package/dist/{js/treeshaking → esm}/document/DocumentStructureContext.js +0 -0
  104. package/dist/{js/treeshaking → esm}/document/Head.js +0 -0
  105. package/dist/{js/treeshaking → esm}/document/Html.js +0 -0
  106. package/dist/{js/treeshaking → esm}/document/Links.js +0 -0
  107. package/dist/{js/treeshaking → esm}/document/Root.js +0 -0
  108. package/dist/{js/treeshaking → esm}/document/Script.js +0 -0
  109. package/dist/{js/treeshaking → esm}/document/Scripts.js +0 -0
  110. package/dist/{js/treeshaking → esm}/document/cli/index.js +2 -2
  111. package/dist/{js/treeshaking → esm}/document/constants.js +0 -0
  112. package/dist/{js/treeshaking → esm}/document/index.js +0 -0
  113. package/dist/{js/treeshaking → esm}/exports/head.js +0 -0
  114. package/dist/{js/treeshaking → esm}/exports/loadable.js +0 -0
  115. package/dist/{js/treeshaking → esm}/exports/server.js +0 -0
  116. package/dist/{js/treeshaking → esm}/exports/styled.js +0 -0
  117. package/dist/{js/treeshaking → esm}/index.js +0 -0
  118. package/dist/{js/treeshaking → esm}/router/cli/index.js +0 -0
  119. package/dist/{js/treeshaking → esm}/router/index.js +0 -0
  120. package/dist/esm/router/index.node.js +4 -0
  121. package/dist/{js/treeshaking → esm}/router/runtime/DefaultNotFound.js +0 -0
  122. package/dist/esm/router/runtime/DeferredDataScripts.js +158 -0
  123. package/dist/{js/treeshaking → esm}/router/runtime/fetch.js +0 -0
  124. package/dist/{js/treeshaking → esm}/router/runtime/fetch.node.js +0 -0
  125. package/dist/{js/treeshaking → esm}/router/runtime/fetch.worker.js +0 -0
  126. package/dist/esm/router/runtime/index.js +7 -0
  127. package/dist/{js/treeshaking → esm}/router/runtime/plugin.js +5 -2
  128. package/dist/{js/treeshaking → esm}/router/runtime/plugin.node.js +2 -2
  129. package/dist/{js/treeshaking → esm}/router/runtime/server.js +0 -0
  130. package/dist/{js/treeshaking/state → esm/router/runtime}/types.js +0 -0
  131. package/dist/{js/treeshaking → esm}/router/runtime/utils.js +5 -106
  132. package/dist/{js/treeshaking → esm}/router/runtime/withRouter.js +0 -0
  133. package/dist/{js/treeshaking → esm}/runtime-context.js +0 -0
  134. package/dist/{js/treeshaking → esm}/ssr/cli/babel-plugin-ssr-loader-id.js +0 -0
  135. package/dist/{js/treeshaking → esm}/ssr/cli/index.js +2 -2
  136. package/dist/{js/treeshaking → esm}/ssr/index.js +0 -0
  137. package/dist/{js/treeshaking → esm}/ssr/index.node.js +0 -0
  138. package/dist/{js/treeshaking → esm}/ssr/prefetch.js +0 -0
  139. package/dist/{js/treeshaking → esm}/ssr/prefetch.worker.js +0 -0
  140. package/dist/{js/treeshaking → esm}/ssr/react/index.js +0 -0
  141. package/dist/{js/treeshaking → esm}/ssr/react/nossr/index.js +0 -0
  142. package/dist/{js/treeshaking → esm}/ssr/react/prerender/index.js +0 -0
  143. package/dist/{js/treeshaking → esm}/ssr/react/prerender/type.js +0 -0
  144. package/dist/{js/treeshaking → esm}/ssr/react/prerender/util.js +0 -0
  145. package/dist/{js/treeshaking → esm}/ssr/react/withCallback/index.js +0 -0
  146. package/dist/{js/treeshaking → esm}/ssr/serverRender/helmet.js +0 -0
  147. package/dist/{js/treeshaking → esm}/ssr/serverRender/index.js +0 -0
  148. package/dist/{js/treeshaking → esm}/ssr/serverRender/renderToStream/buildTemplate.after.js +2 -4
  149. package/dist/{js/treeshaking → esm}/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -0
  150. package/dist/{js/treeshaking → esm}/ssr/serverRender/renderToStream/bulidTemplate.before.js +0 -0
  151. package/dist/{js/treeshaking → esm}/ssr/serverRender/renderToStream/index.js +0 -0
  152. package/dist/{js/treeshaking → esm}/ssr/serverRender/renderToStream/index.worker.js +0 -0
  153. package/dist/{js/treeshaking → esm}/ssr/serverRender/renderToStream/loadable.js +0 -0
  154. package/dist/{js/treeshaking → esm}/ssr/serverRender/renderToStream/renderToPipe.js +19 -8
  155. package/dist/{js/treeshaking → esm}/ssr/serverRender/renderToStream/renderToPipe.worker.js +38 -24
  156. package/dist/{js/treeshaking → esm}/ssr/serverRender/renderToStream/styledComponent.js +0 -0
  157. package/dist/{js/treeshaking → esm}/ssr/serverRender/renderToStream/template.js +2 -1
  158. package/dist/{js/treeshaking → esm}/ssr/serverRender/renderToStream/type.js +0 -0
  159. package/dist/{js/treeshaking → esm}/ssr/serverRender/renderToString/entry.js +10 -7
  160. package/dist/{js/treeshaking → esm}/ssr/serverRender/renderToString/index.js +0 -0
  161. package/dist/{js/treeshaking → esm}/ssr/serverRender/renderToString/index.worker.js +0 -0
  162. package/dist/{js/treeshaking → esm}/ssr/serverRender/renderToString/loadable.js +0 -0
  163. package/dist/{js/treeshaking → esm}/ssr/serverRender/renderToString/reduce.js +0 -0
  164. package/dist/{js/treeshaking → esm}/ssr/serverRender/renderToString/styledComponent.js +0 -0
  165. package/dist/{js/treeshaking → esm}/ssr/serverRender/renderToString/template.js +0 -0
  166. package/dist/{js/treeshaking → esm}/ssr/serverRender/renderToString/type.js +0 -0
  167. package/dist/{js/treeshaking → esm}/ssr/serverRender/time.js +0 -0
  168. package/dist/{js/treeshaking → esm}/ssr/serverRender/time.worker.js +0 -0
  169. package/dist/{js/treeshaking → esm}/ssr/serverRender/types.js +0 -0
  170. package/dist/{js/treeshaking → esm}/ssr/serverRender/utils.js +0 -0
  171. package/dist/{js/treeshaking → esm}/ssr/utils.js +0 -0
  172. package/dist/{js/treeshaking → esm}/state/cli/index.js +0 -0
  173. package/dist/{js/treeshaking → esm}/state/index.js +0 -0
  174. package/dist/{js/treeshaking → esm}/state/plugins.js +0 -0
  175. package/dist/{js/treeshaking → esm}/state/runtime/index.js +0 -0
  176. package/dist/{js/treeshaking → esm}/state/runtime/plugin.js +0 -0
  177. package/dist/esm/state/types.js +1 -0
  178. package/dist/{js/modern → esm-node}/cli/index.js +6 -28
  179. package/dist/esm-node/common.js +8 -0
  180. package/dist/{js/modern → esm-node}/config.js +0 -0
  181. package/dist/{js/modern → esm-node}/core/app-config.js +0 -0
  182. package/dist/{js/modern → esm-node}/core/compatible.js +16 -62
  183. package/dist/{js/modern → esm-node}/core/index.js +0 -0
  184. package/dist/{js/modern → esm-node}/core/loader/index.js +0 -0
  185. package/dist/{js/modern → esm-node}/core/loader/loaderManager.js +5 -25
  186. package/dist/{js/modern → esm-node}/core/loader/useLoader.js +6 -23
  187. package/dist/{js/modern → esm-node}/core/plugin.js +3 -23
  188. package/dist/{js/modern/router/runtime → esm-node/core}/types.js +0 -0
  189. package/dist/{js/modern → esm-node}/document/Body.js +0 -0
  190. package/dist/{js/modern → esm-node}/document/DocumentContext.js +0 -0
  191. package/dist/{js/modern → esm-node}/document/DocumentStructureContext.js +0 -0
  192. package/dist/{js/modern → esm-node}/document/Head.js +0 -0
  193. package/dist/{js/modern → esm-node}/document/Html.js +0 -0
  194. package/dist/{js/modern → esm-node}/document/Links.js +0 -0
  195. package/dist/{js/modern → esm-node}/document/Root.js +0 -0
  196. package/dist/{js/modern → esm-node}/document/Script.js +0 -0
  197. package/dist/{js/modern → esm-node}/document/Scripts.js +0 -0
  198. package/dist/{js/modern → esm-node}/document/cli/index.js +15 -47
  199. package/dist/{js/modern → esm-node}/document/constants.js +0 -0
  200. package/dist/{js/modern → esm-node}/document/index.js +0 -0
  201. package/dist/{js/modern → esm-node}/exports/head.js +0 -0
  202. package/dist/{js/modern → esm-node}/exports/loadable.js +0 -0
  203. package/dist/{js/modern → esm-node}/exports/server.js +0 -0
  204. package/dist/{js/modern → esm-node}/exports/styled.js +0 -0
  205. package/dist/{js/modern → esm-node}/index.js +0 -0
  206. package/dist/{js/modern → esm-node}/router/cli/index.js +4 -23
  207. package/dist/{js/modern → esm-node}/router/index.js +0 -0
  208. package/dist/esm-node/router/index.node.js +7 -0
  209. package/dist/{js/modern → esm-node}/router/runtime/DefaultNotFound.js +0 -0
  210. package/dist/esm-node/router/runtime/DeferredDataScripts.js +131 -0
  211. package/dist/{js/modern → esm-node}/router/runtime/fetch.js +0 -0
  212. package/dist/{js/modern → esm-node}/router/runtime/fetch.node.js +0 -0
  213. package/dist/{js/modern → esm-node}/router/runtime/fetch.worker.js +0 -0
  214. package/dist/esm-node/router/runtime/index.js +58 -0
  215. package/dist/{js/modern → esm-node}/router/runtime/plugin.js +11 -22
  216. package/dist/esm-node/router/runtime/plugin.node.js +109 -0
  217. package/dist/{js/modern → esm-node}/router/runtime/server.js +0 -0
  218. package/dist/{js/modern/state → esm-node/router/runtime}/types.js +0 -0
  219. package/dist/esm-node/router/runtime/utils.js +90 -0
  220. package/dist/esm-node/router/runtime/withRouter.js +18 -0
  221. package/dist/{js/modern → esm-node}/runtime-context.js +0 -0
  222. package/dist/{js/modern → esm-node}/ssr/cli/babel-plugin-ssr-loader-id.js +0 -0
  223. package/dist/{js/modern → esm-node}/ssr/cli/index.js +6 -19
  224. package/dist/{js/modern → esm-node}/ssr/index.js +14 -49
  225. package/dist/esm-node/ssr/index.node.js +41 -0
  226. package/dist/esm-node/ssr/prefetch.js +47 -0
  227. package/dist/{js/modern → esm-node}/ssr/prefetch.worker.js +3 -23
  228. package/dist/{js/modern → esm-node}/ssr/react/index.js +0 -0
  229. package/dist/{js/modern → esm-node}/ssr/react/nossr/index.js +0 -0
  230. package/dist/{js/modern → esm-node}/ssr/react/prerender/index.js +3 -22
  231. package/dist/{js/modern → esm-node}/ssr/react/prerender/type.js +0 -0
  232. package/dist/{js/modern → esm-node}/ssr/react/prerender/util.js +0 -0
  233. package/dist/{js/modern → esm-node}/ssr/react/withCallback/index.js +0 -0
  234. package/dist/{js/modern → esm-node}/ssr/serverRender/helmet.js +1 -1
  235. package/dist/esm-node/ssr/serverRender/index.js +13 -0
  236. package/dist/{js/modern → esm-node}/ssr/serverRender/renderToStream/buildTemplate.after.js +2 -4
  237. package/dist/{js/modern → esm-node}/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -0
  238. package/dist/{js/modern → esm-node}/ssr/serverRender/renderToStream/bulidTemplate.before.js +0 -0
  239. package/dist/{js/modern → esm-node}/ssr/serverRender/renderToStream/index.js +2 -22
  240. package/dist/{js/modern → esm-node}/ssr/serverRender/renderToStream/index.worker.js +0 -0
  241. package/dist/{js/modern → esm-node}/ssr/serverRender/renderToStream/loadable.js +0 -0
  242. package/dist/{js/modern → esm-node}/ssr/serverRender/renderToStream/renderToPipe.js +25 -28
  243. package/dist/{js/modern → esm-node}/ssr/serverRender/renderToStream/renderToPipe.worker.js +16 -49
  244. package/dist/{js/modern → esm-node}/ssr/serverRender/renderToStream/styledComponent.js +0 -0
  245. package/dist/{js/modern → esm-node}/ssr/serverRender/renderToStream/template.js +2 -1
  246. package/dist/{js/modern → esm-node}/ssr/serverRender/renderToStream/type.js +0 -0
  247. package/dist/esm-node/ssr/serverRender/renderToString/entry.js +152 -0
  248. package/dist/{js/modern → esm-node}/ssr/serverRender/renderToString/index.js +3 -23
  249. package/dist/esm-node/ssr/serverRender/renderToString/index.worker.js +29 -0
  250. package/dist/{js/modern → esm-node}/ssr/serverRender/renderToString/loadable.js +0 -0
  251. package/dist/{js/modern → esm-node}/ssr/serverRender/renderToString/reduce.js +0 -0
  252. package/dist/{js/modern → esm-node}/ssr/serverRender/renderToString/styledComponent.js +0 -0
  253. package/dist/{js/modern → esm-node}/ssr/serverRender/renderToString/template.js +0 -0
  254. package/dist/{js/modern → esm-node}/ssr/serverRender/renderToString/type.js +0 -0
  255. package/dist/{js/modern → esm-node}/ssr/serverRender/time.js +0 -0
  256. package/dist/{js/modern → esm-node}/ssr/serverRender/time.worker.js +0 -0
  257. package/dist/{js/modern → esm-node}/ssr/serverRender/types.js +0 -0
  258. package/dist/{js/modern → esm-node}/ssr/serverRender/utils.js +0 -0
  259. package/dist/{js/modern → esm-node}/ssr/utils.js +4 -19
  260. package/dist/{js/modern → esm-node}/state/cli/index.js +0 -0
  261. package/dist/{js/modern → esm-node}/state/index.js +0 -0
  262. package/dist/{js/modern → esm-node}/state/plugins.js +0 -0
  263. package/dist/{js/modern → esm-node}/state/runtime/index.js +0 -0
  264. package/dist/{js/modern → esm-node}/state/runtime/plugin.js +6 -22
  265. package/dist/esm-node/state/types.js +0 -0
  266. package/dist/types/common.d.ts +3 -1
  267. package/dist/types/core/index.d.ts +1 -0
  268. package/dist/types/core/loader/index.d.ts +1 -2
  269. package/dist/types/core/loader/useLoader.d.ts +1 -15
  270. package/dist/types/core/types.d.ts +21 -0
  271. package/dist/types/document/cli/index.d.ts +2 -0
  272. package/dist/types/router/index.node.d.ts +3 -0
  273. package/dist/types/router/runtime/DeferredDataScripts.d.ts +8 -0
  274. package/dist/types/router/runtime/index.d.ts +4 -2
  275. package/dist/types/runtime-context.d.ts +2 -0
  276. package/dist/types/ssr/serverRender/renderToStream/buildTemplate.after.d.ts +2 -0
  277. package/package.json +43 -35
  278. package/dist/js/modern/common.js +0 -4
  279. package/dist/js/modern/router/runtime/index.js +0 -9
  280. package/dist/js/modern/router/runtime/plugin.node.js +0 -149
  281. package/dist/js/modern/router/runtime/utils.js +0 -196
  282. package/dist/js/modern/router/runtime/withRouter.js +0 -36
  283. package/dist/js/modern/ssr/index.node.js +0 -79
  284. package/dist/js/modern/ssr/prefetch.js +0 -69
  285. package/dist/js/modern/ssr/serverRender/index.js +0 -35
  286. package/dist/js/modern/ssr/serverRender/renderToString/entry.js +0 -172
  287. package/dist/js/modern/ssr/serverRender/renderToString/index.worker.js +0 -49
  288. package/dist/js/node/router/runtime/utils.js +0 -221
  289. package/dist/js/node/ssr/prefetch.js +0 -90
  290. package/dist/js/node/ssr/serverRender/index.js +0 -56
  291. package/dist/js/treeshaking/common.js +0 -4
  292. package/dist/js/treeshaking/router/runtime/index.js +0 -6
@@ -0,0 +1,47 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { renderToStaticMarkup } from "react-dom/server";
3
+ import { run } from "@modern-js/utils/ssr";
4
+ import { ChunkExtractor } from "@loadable/server";
5
+ const prefetch = async (App, context) => run(context.ssrContext.request.headers, async () => {
6
+ var _a;
7
+ const { ssrContext } = context;
8
+ const { loadableStats } = ssrContext;
9
+ if (loadableStats) {
10
+ const extractor = new ChunkExtractor({
11
+ stats: loadableStats,
12
+ entrypoints: [ssrContext.entryName].filter(Boolean)
13
+ });
14
+ renderToStaticMarkup(extractor.collectChunks(/* @__PURE__ */ jsx(App, {
15
+ context
16
+ })));
17
+ } else {
18
+ renderToStaticMarkup(/* @__PURE__ */ jsx(App, {
19
+ context
20
+ }));
21
+ }
22
+ if (!context.loaderManager.hasPendingLoaders()) {
23
+ return {
24
+ initialData: context.initialData,
25
+ i18nData: context.__i18nData__
26
+ };
27
+ }
28
+ const loadersData = await context.loaderManager.awaitPendingLoaders();
29
+ Object.keys(loadersData).forEach((id) => {
30
+ const data = loadersData[id];
31
+ if (data._error) {
32
+ ssrContext.logger.error("App Prefetch Loader", data._error);
33
+ ssrContext.metrics.emitCounter("app.prefetch.loader.error", 1);
34
+ delete data._error;
35
+ }
36
+ });
37
+ return {
38
+ loadersData,
39
+ initialData: context.initialData,
40
+ i18nData: context.__i18nData__,
41
+ storeState: (_a = context == null ? void 0 : context.store) == null ? void 0 : _a.getState()
42
+ };
43
+ });
44
+ var prefetch_default = prefetch;
45
+ export {
46
+ prefetch_default as default
47
+ };
@@ -1,27 +1,7 @@
1
- var __async = (__this, __arguments, generator) => {
2
- return new Promise((resolve, reject) => {
3
- var fulfilled = (value) => {
4
- try {
5
- step(generator.next(value));
6
- } catch (e) {
7
- reject(e);
8
- }
9
- };
10
- var rejected = (value) => {
11
- try {
12
- step(generator.throw(value));
13
- } catch (e) {
14
- reject(e);
15
- }
16
- };
17
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
- step((generator = generator.apply(__this, __arguments)).next());
19
- });
20
- };
21
1
  import { jsx } from "react/jsx-runtime";
22
2
  import { renderToStaticMarkup } from "react-dom/server";
23
3
  import { ChunkExtractor } from "@loadable/server";
24
- const prefetch = (App, context) => __async(void 0, null, function* () {
4
+ const prefetch = async (App, context) => {
25
5
  var _a;
26
6
  const { ssrContext } = context;
27
7
  const { loadableStats } = ssrContext;
@@ -44,7 +24,7 @@ const prefetch = (App, context) => __async(void 0, null, function* () {
44
24
  i18nData: context.__i18nData__
45
25
  };
46
26
  }
47
- const loadersData = yield context.loaderManager.awaitPendingLoaders();
27
+ const loadersData = await context.loaderManager.awaitPendingLoaders();
48
28
  Object.keys(loadersData).forEach((id) => {
49
29
  const data = loadersData[id];
50
30
  if (data._error) {
@@ -59,7 +39,7 @@ const prefetch = (App, context) => __async(void 0, null, function* () {
59
39
  i18nData: context.__i18nData__,
60
40
  storeState: (_a = context == null ? void 0 : context.store) == null ? void 0 : _a.getState()
61
41
  };
62
- });
42
+ };
63
43
  var prefetch_worker_default = prefetch;
64
44
  export {
65
45
  prefetch_worker_default as default
File without changes
@@ -1,22 +1,3 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
1
  import withSideEffect from "react-side-effect";
21
2
  import React, { createElement } from "react";
22
3
  import {
@@ -51,7 +32,7 @@ const mapStateOnServer = (reduceProps) => {
51
32
  const reduceProp = reduceProps[propKey];
52
33
  let nextProps = props;
53
34
  if (exist(reduceProp)) {
54
- nextProps = __spreadProps(__spreadValues({}, props), { [propKey]: reduceProp });
35
+ nextProps = { ...props, [propKey]: reduceProp };
55
36
  }
56
37
  return nextProps;
57
38
  }, defaultProps);
@@ -80,12 +61,12 @@ function factory(Component) {
80
61
  return true;
81
62
  }
82
63
  render() {
83
- const newProps = __spreadValues({}, this.props);
64
+ const newProps = { ...this.props };
84
65
  const validate = this.verify();
85
66
  if (!validate) {
86
67
  throw new Error("invalid props, check usage");
87
68
  }
88
- return createElement(Component, __spreadValues({}, newProps));
69
+ return createElement(Component, { ...newProps });
89
70
  }
90
71
  }
91
72
  Spr.peek = Component.peek;
@@ -3,7 +3,7 @@ const RE_HTML_ATTR = /<html[^>]*>/;
3
3
  const RE_BODY_ATTR = /<body[^>]*>/;
4
4
  const RE_LAST_IN_HEAD = /<\/head>/;
5
5
  const RE_TITLE = /<title[^>]*>([\s\S\n\r]*?)<\/title>/;
6
- const TEST_TITLE_CONTENT = new RegExp("(?<=<title[^>]*>)([\\s\\S\\n\\r]*?)([.|\\S])([\\s\\S\\n\\r]*?)(?=<\\/title>)");
6
+ const TEST_TITLE_CONTENT = /(?<=<title[^>]*>)([\s\S\n\r]*?)([.|\S])([\s\S\n\r]*?)(?=<\/title>)/;
7
7
  function helmet(content, helmetData) {
8
8
  let result = content;
9
9
  const bodyAttributes = helmetData.bodyAttributes.toString();
@@ -0,0 +1,13 @@
1
+ import { isReact18 } from "../utils";
2
+ async function serverRender(options) {
3
+ if (isReact18() && options.config.mode === "stream") {
4
+ const pipe = await require("./renderToStream").render(options);
5
+ return pipe;
6
+ } else {
7
+ const html = await require("./renderToString").render(options);
8
+ return html;
9
+ }
10
+ }
11
+ export {
12
+ serverRender as default
13
+ };
@@ -1,4 +1,4 @@
1
- import serialize from "serialize-javascript";
1
+ import { serializeJson } from "@modern-js/utils/serialize";
2
2
  import { buildTemplate } from "./buildTemplate.share";
3
3
  function buildShellAfterTemplate(afterAppTemplate, options) {
4
4
  const callbacks = [injectSSRDataScript];
@@ -24,9 +24,7 @@ function buildShellAfterTemplate(afterAppTemplate, options) {
24
24
  renderLevel
25
25
  };
26
26
  return `
27
- <script>window._SSR_DATA = ${serialize(SSRData, {
28
- isJSON: true
29
- })}<\/script>
27
+ <script>window._SSR_DATA = ${serializeJson(SSRData)}<\/script>
30
28
  `;
31
29
  }
32
30
  }
@@ -1,23 +1,3 @@
1
- var __async = (__this, __arguments, generator) => {
2
- return new Promise((resolve, reject) => {
3
- var fulfilled = (value) => {
4
- try {
5
- step(generator.next(value));
6
- } catch (e) {
7
- reject(e);
8
- }
9
- };
10
- var rejected = (value) => {
11
- try {
12
- step(generator.throw(value));
13
- } catch (e) {
14
- reject(e);
15
- }
16
- };
17
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
- step((generator = generator.apply(__this, __arguments)).next());
19
- });
20
- };
21
1
  import { createElement } from "react";
22
2
  import { run } from "@modern-js/utils/ssr";
23
3
  import { PreRender } from "../../react/prerender";
@@ -30,7 +10,7 @@ const render = ({ App, context }) => {
30
10
  'The "ssrContext" must not be undefined, but received undefined'
31
11
  );
32
12
  }
33
- return run(ssrContext.request.headers, () => __async(void 0, null, function* () {
13
+ return run(ssrContext.request.headers, async () => {
34
14
  const end = time();
35
15
  const rootElement = createElement(App, {
36
16
  context: Object.assign(context || {}, {
@@ -51,7 +31,7 @@ const render = ({ App, context }) => {
51
31
  }
52
32
  });
53
33
  return pipe;
54
- }));
34
+ });
55
35
  };
56
36
  export {
57
37
  render
@@ -1,27 +1,15 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
1
  import { Transform } from "stream";
21
2
  import { RenderLevel } from "../types";
3
+ import { ESCAPED_SHELL_STREAM_END_MARK } from "../../../common";
22
4
  import { getTemplates } from "./template";
5
+ var ShellChunkStatus = /* @__PURE__ */ ((ShellChunkStatus2) => {
6
+ ShellChunkStatus2[ShellChunkStatus2["IDLE"] = 0] = "IDLE";
7
+ ShellChunkStatus2[ShellChunkStatus2["START"] = 1] = "START";
8
+ ShellChunkStatus2[ShellChunkStatus2["FINIESH"] = 2] = "FINIESH";
9
+ return ShellChunkStatus2;
10
+ })(ShellChunkStatus || {});
23
11
  function renderToPipe(rootElement, context, options) {
24
- let isShellStream = true;
12
+ let shellChunkStatus = 0 /* IDLE */;
25
13
  const { ssrContext } = context;
26
14
  const forUserPipe = (stream) => {
27
15
  return new Promise((resolve) => {
@@ -30,7 +18,8 @@ function renderToPipe(rootElement, context, options) {
30
18
  ({ renderToPipeableStream } = require("react-dom/server"));
31
19
  } catch (e) {
32
20
  }
33
- const { pipe } = renderToPipeableStream(rootElement, __spreadProps(__spreadValues({}, options), {
21
+ const { pipe } = renderToPipeableStream(rootElement, {
22
+ ...options,
34
23
  onShellReady() {
35
24
  var _a;
36
25
  const { shellAfter, shellBefore } = getTemplates(
@@ -41,9 +30,20 @@ function renderToPipe(rootElement, context, options) {
41
30
  const injectableTransform = new Transform({
42
31
  transform(chunk, _encoding, callback) {
43
32
  try {
44
- if (isShellStream) {
45
- this.push(joinChunk(shellBefore, chunk, shellAfter));
46
- isShellStream = false;
33
+ if (shellChunkStatus !== 2 /* FINIESH */) {
34
+ let concatedChunk = chunk.toString();
35
+ if (shellChunkStatus === 0 /* IDLE */) {
36
+ concatedChunk = `${shellBefore}${concatedChunk}`;
37
+ shellChunkStatus = 1 /* START */;
38
+ }
39
+ if (shellChunkStatus === 1 /* START */ && concatedChunk.endsWith(ESCAPED_SHELL_STREAM_END_MARK)) {
40
+ concatedChunk = concatedChunk.replace(
41
+ ESCAPED_SHELL_STREAM_END_MARK,
42
+ shellAfter
43
+ );
44
+ shellChunkStatus = 2 /* FINIESH */;
45
+ }
46
+ this.push(concatedChunk);
47
47
  } else {
48
48
  this.push(chunk);
49
49
  }
@@ -82,13 +82,10 @@ function renderToPipe(rootElement, context, options) {
82
82
  ssrContext.metrics.emitCounter("app.render.streaming.error", 1);
83
83
  (_a = options == null ? void 0 : options.onError) == null ? void 0 : _a.call(options, error);
84
84
  }
85
- }));
85
+ });
86
86
  });
87
87
  };
88
88
  return forUserPipe;
89
- function joinChunk(before = "", chunk, after = "") {
90
- return `${before}${chunk.toString()}${after}`;
91
- }
92
89
  }
93
90
  var renderToPipe_default = renderToPipe;
94
91
  export {
@@ -1,48 +1,9 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- var __async = (__this, __arguments, generator) => {
21
- return new Promise((resolve, reject) => {
22
- var fulfilled = (value) => {
23
- try {
24
- step(generator.next(value));
25
- } catch (e) {
26
- reject(e);
27
- }
28
- };
29
- var rejected = (value) => {
30
- try {
31
- step(generator.throw(value));
32
- } catch (e) {
33
- reject(e);
34
- }
35
- };
36
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
37
- step((generator = generator.apply(__this, __arguments)).next());
38
- });
39
- };
40
1
  import { RenderLevel } from "../types";
41
2
  import { getTemplates } from "./template";
42
3
  function renderToPipe(rootElement, context, options) {
43
4
  let isShellStream = true;
44
5
  const { ssrContext } = context;
45
- const forUserPipe = (stream) => __async(this, null, function* () {
6
+ const forUserPipe = async (stream) => {
46
7
  let renderToReadableStream;
47
8
  try {
48
9
  ({ renderToReadableStream } = require("react-dom/server"));
@@ -53,23 +14,27 @@ function renderToPipe(rootElement, context, options) {
53
14
  RenderLevel.SERVER_RENDER
54
15
  );
55
16
  try {
56
- let _a;
57
- const readableOriginal = yield renderToReadableStream(rootElement, __spreadProps(__spreadValues({}, options), {
17
+ const readableOriginal = await renderToReadableStream(rootElement, {
18
+ ...options,
58
19
  onError(error) {
59
- var _a2;
20
+ var _a;
60
21
  ssrContext.logger.error(
61
22
  "An error occurs during streaming SSR",
62
23
  error
63
24
  );
64
25
  ssrContext.metrics.emitCounter("app.render.streaming.error", 1);
65
- (_a2 = options == null ? void 0 : options.onError) == null ? void 0 : _a2.call(options, error);
26
+ (_a = options == null ? void 0 : options.onError) == null ? void 0 : _a.call(options, error);
66
27
  }
67
- }));
28
+ });
68
29
  const reader = readableOriginal.getReader();
69
30
  const injectableStream = new ReadableStream({
70
31
  start(controller) {
71
- return __async(this, null, function* () {
72
- const { value } = yield reader.read();
32
+ async function push() {
33
+ const { done, value } = await reader.read();
34
+ if (done) {
35
+ controller.close();
36
+ return;
37
+ }
73
38
  if (isShellStream) {
74
39
  controller.enqueue(encodeForWebStream(shellBefore));
75
40
  controller.enqueue(value);
@@ -78,7 +43,9 @@ function renderToPipe(rootElement, context, options) {
78
43
  } else {
79
44
  controller.enqueue(value);
80
45
  }
81
- });
46
+ push();
47
+ }
48
+ push();
82
49
  }
83
50
  });
84
51
  return readableOriginal(injectableStream).readableOriginal(stream);
@@ -91,7 +58,7 @@ function renderToPipe(rootElement, context, options) {
91
58
  const fallbackHtml = `${shellBefore2}${shellAfter2}`;
92
59
  return fallbackHtml;
93
60
  }
94
- });
61
+ };
95
62
  return forUserPipe;
96
63
  }
97
64
  let encoder;
@@ -2,7 +2,7 @@ import { buildShellAfterTemplate } from "./buildTemplate.after";
2
2
  import { buildShellBeforeTemplate } from "./bulidTemplate.before";
3
3
  const HTML_SEPARATOR = "<!--<?- html ?>-->";
4
4
  const getTemplates = (context, renderLevel) => {
5
- const { ssrContext } = context;
5
+ const { ssrContext, routerContext } = context;
6
6
  const [beforeAppTemplate = "", afterAppHtmlTemplate = ""] = ssrContext.template.split(HTML_SEPARATOR) || [];
7
7
  const builtBeforeTemplate = buildShellBeforeTemplate(
8
8
  beforeAppTemplate,
@@ -10,6 +10,7 @@ const getTemplates = (context, renderLevel) => {
10
10
  );
11
11
  const builtAfterTemplate = buildShellAfterTemplate(afterAppHtmlTemplate, {
12
12
  ssrContext,
13
+ routerContext,
13
14
  renderLevel
14
15
  });
15
16
  return {
@@ -0,0 +1,152 @@
1
+ import React from "react";
2
+ import ReactDomServer from "react-dom/server";
3
+ import { serializeJson } from "@modern-js/utils/serialize";
4
+ import ReactHelmet from "react-helmet";
5
+ import helmetReplace from "../helmet";
6
+ import {
7
+ RenderLevel
8
+ } from "../types";
9
+ import { time } from "../time";
10
+ import prefetch from "../../prefetch";
11
+ import { toFragments } from "./template";
12
+ import { reduce } from "./reduce";
13
+ import * as loadableRenderer from "./loadable";
14
+ import * as styledComponentRenderer from "./styledComponent";
15
+ const buildTemplateData = (context, data, routerData, renderLevel) => {
16
+ const { request } = context;
17
+ return {
18
+ data,
19
+ routerData,
20
+ context: {
21
+ request: {
22
+ params: request.params,
23
+ query: request.query,
24
+ pathname: request.pathname,
25
+ host: request.host,
26
+ url: request.url,
27
+ headers: request.headers,
28
+ cookieMap: request.cookieMap
29
+ }
30
+ },
31
+ renderLevel
32
+ };
33
+ };
34
+ class Entry {
35
+ constructor(options) {
36
+ const { ctx, config } = options;
37
+ const {
38
+ entryName,
39
+ template,
40
+ request: { host }
41
+ } = ctx;
42
+ this.fragments = toFragments(template, entryName);
43
+ this.entryName = entryName;
44
+ this.host = host;
45
+ this.App = options.App;
46
+ this.pluginConfig = config;
47
+ this.metrics = ctx.metrics;
48
+ this.logger = ctx.logger;
49
+ this.result = {
50
+ renderLevel: RenderLevel.CLIENT_RENDER,
51
+ html: "",
52
+ chunksMap: {
53
+ js: "",
54
+ css: ""
55
+ }
56
+ };
57
+ }
58
+ async renderToHtml(context) {
59
+ var _a, _b, _c;
60
+ const ssrContext = context.ssrContext;
61
+ if ((_a = ssrContext.redirection) == null ? void 0 : _a.url) {
62
+ return "";
63
+ }
64
+ const prefetchData = await this.prefetch(context);
65
+ if ((_b = ssrContext.redirection) == null ? void 0 : _b.url) {
66
+ return "";
67
+ }
68
+ if (this.result.renderLevel >= RenderLevel.SERVER_PREFETCH) {
69
+ this.result.html = this.renderToString(context);
70
+ }
71
+ if ((_c = ssrContext.redirection) == null ? void 0 : _c.url) {
72
+ return "";
73
+ }
74
+ const { routerContext } = context;
75
+ const routerData = routerContext != null ? routerContext : {
76
+ loaderData: routerContext.loaderData
77
+ };
78
+ let html = "";
79
+ const templateData = buildTemplateData(
80
+ ssrContext,
81
+ prefetchData,
82
+ routerData,
83
+ this.result.renderLevel
84
+ );
85
+ const SSRData = this.getSSRDataScript(templateData);
86
+ for (const fragment of this.fragments) {
87
+ if (fragment.isVariable && fragment.content === "SSRDataScript") {
88
+ html += fragment.getValue(SSRData);
89
+ } else {
90
+ html += fragment.getValue(this.result);
91
+ }
92
+ }
93
+ const helmetData = ReactHelmet.renderStatic();
94
+ return helmetData ? helmetReplace(html, helmetData) : html;
95
+ }
96
+ async prefetch(context) {
97
+ let prefetchData;
98
+ const end = time();
99
+ try {
100
+ prefetchData = await prefetch(this.App, context);
101
+ this.result.renderLevel = RenderLevel.SERVER_PREFETCH;
102
+ const prefetchCost = end();
103
+ this.logger.debug(`App Prefetch cost = %d ms`, prefetchCost);
104
+ this.metrics.emitTimer("app.prefetch.cost", prefetchCost);
105
+ } catch (e) {
106
+ this.result.renderLevel = RenderLevel.CLIENT_RENDER;
107
+ this.logger.error("App Prefetch Render", e);
108
+ this.metrics.emitCounter("app.prefetch.render.error", 1);
109
+ }
110
+ return prefetchData || {};
111
+ }
112
+ renderToString(context) {
113
+ let html = "";
114
+ const end = time();
115
+ const { ssrContext } = context;
116
+ try {
117
+ const App = React.createElement(this.App, {
118
+ context: Object.assign(context, { ssr: true })
119
+ });
120
+ const renderContext = {
121
+ stats: ssrContext.loadableStats,
122
+ host: this.host,
123
+ result: this.result,
124
+ entryName: this.entryName,
125
+ config: this.pluginConfig
126
+ };
127
+ html = reduce(App, renderContext, [
128
+ styledComponentRenderer.toHtml,
129
+ loadableRenderer.toHtml,
130
+ (jsx) => ReactDomServer.renderToString(jsx)
131
+ ]);
132
+ const cost = end();
133
+ this.logger.debug("App Render To HTML cost = %d ms", cost);
134
+ this.metrics.emitTimer("app.render.html.cost", cost);
135
+ this.result.renderLevel = RenderLevel.SERVER_RENDER;
136
+ } catch (e) {
137
+ this.logger.error("App Render To HTML", e);
138
+ this.metrics.emitCounter("app.render.html.error", 1);
139
+ }
140
+ return html;
141
+ }
142
+ getSSRDataScript(templateData) {
143
+ return {
144
+ SSRDataScript: `
145
+ <script>window._SSR_DATA = ${serializeJson(templateData)}<\/script>
146
+ `
147
+ };
148
+ }
149
+ }
150
+ export {
151
+ Entry as default
152
+ };
@@ -1,23 +1,3 @@
1
- var __async = (__this, __arguments, generator) => {
2
- return new Promise((resolve, reject) => {
3
- var fulfilled = (value) => {
4
- try {
5
- step(generator.next(value));
6
- } catch (e) {
7
- reject(e);
8
- }
9
- };
10
- var rejected = (value) => {
11
- try {
12
- step(generator.throw(value));
13
- } catch (e) {
14
- reject(e);
15
- }
16
- };
17
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
- step((generator = generator.apply(__this, __arguments)).next());
19
- });
20
- };
21
1
  import { run } from "@modern-js/utils/ssr";
22
2
  import { PreRender } from "../../react/prerender";
23
3
  import { time } from "../time";
@@ -28,7 +8,7 @@ const render = ({
28
8
  config
29
9
  }) => {
30
10
  const ssrContext = context.ssrContext;
31
- return run(ssrContext.request.headers, () => __async(void 0, null, function* () {
11
+ return run(ssrContext.request.headers, async () => {
32
12
  const entry = new SSREntry({
33
13
  ctx: ssrContext,
34
14
  App,
@@ -36,7 +16,7 @@ const render = ({
36
16
  });
37
17
  entry.metrics.emitCounter("app.visit.count", 1);
38
18
  const end = time();
39
- const html = yield entry.renderToHtml(context);
19
+ const html = await entry.renderToHtml(context);
40
20
  const cost = end();
41
21
  entry.logger.info("App Render Total cost = %d ms", cost);
42
22
  entry.metrics.emitTimer("app.render.cost", cost);
@@ -45,7 +25,7 @@ const render = ({
45
25
  context.ssrContext.cacheConfig = cacheConfig;
46
26
  }
47
27
  return html;
48
- }));
28
+ });
49
29
  };
50
30
  export {
51
31
  render