@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,131 @@
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import { Suspense, useEffect, useRef, useMemo, useContext } from "react";
3
+ import {
4
+ Await,
5
+ UNSAFE_DataRouterContext as DataRouterContext,
6
+ useAsyncError
7
+ } from "react-router-dom";
8
+ import { serializeJson } from "@modern-js/utils/serialize";
9
+ import { JSX_SHELL_STREAM_END_MARK } from "../../common";
10
+ const setupFnStr = `function s(r,e){_ROUTER_DATA.r=_ROUTER_DATA.r||{},_ROUTER_DATA.r[r]=_ROUTER_DATA.r[r]||{};return new Promise((function(A,R){_ROUTER_DATA.r[r][e]={resolve:A,reject:R}}))};`;
11
+ const resolveFnStr = `function r(e,r,o,A){A?_ROUTER_DATA.r[e][r].reject(A):_ROUTER_DATA.r[e][r].resolve(o)};`;
12
+ const preResolvedFnStr = `function p(e,r){return void 0!==r?Promise.reject(new Error(r.message)):Promise.resovle(e)};`;
13
+ const DeferredDataScripts = () => {
14
+ const context = useContext(DataRouterContext);
15
+ const { staticContext } = context || {};
16
+ const hydratedRef = useRef(false);
17
+ useEffect(() => {
18
+ hydratedRef.current = true;
19
+ }, []);
20
+ const deferredScripts = useMemo(() => {
21
+ const activeDeferreds = (staticContext == null ? void 0 : staticContext.activeDeferreds) || [];
22
+ const _ROUTER_DATA = {
23
+ loaderData: staticContext == null ? void 0 : staticContext.loaderData
24
+ };
25
+ let initialScripts = [
26
+ `_ROUTER_DATA = ${serializeJson(_ROUTER_DATA)};`,
27
+ `_ROUTER_DATA.s = ${setupFnStr}`,
28
+ `_ROUTER_DATA.r = ${resolveFnStr}`,
29
+ `_ROUTER_DATA.p = ${preResolvedFnStr}`
30
+ ].join("\n");
31
+ const deferredDataScripts = [];
32
+ initialScripts += Object.entries(activeDeferreds).map(([routeId, deferredData]) => {
33
+ const pendingKeys = new Set(deferredData.pendingKeys);
34
+ const { deferredKeys } = deferredData;
35
+ const deferredKeyPromiseStr = deferredKeys.map((key) => {
36
+ if (pendingKeys.has(key)) {
37
+ deferredDataScripts.push(
38
+ /* @__PURE__ */ jsx(DeferredDataScript, {
39
+ data: deferredData.data[key],
40
+ dataKey: key,
41
+ routeId
42
+ }, `${routeId} | ${key}`)
43
+ );
44
+ return `${JSON.stringify(key)}: _ROUTER_DATA.s(${JSON.stringify(
45
+ routeId
46
+ )},${JSON.stringify(key)}) `;
47
+ } else {
48
+ const trackedPromise = deferredData.data[key];
49
+ if (typeof trackedPromise._error !== "undefined") {
50
+ const error = {
51
+ message: trackedPromise._error.message,
52
+ stack: process.env.NODE_ENV !== "production" ? trackedPromise._error.stack : void 0
53
+ };
54
+ return `${JSON.stringify(
55
+ key
56
+ )}: _ROUTER_DATA.p(${void 0}, ${serializeJson(error)})`;
57
+ } else {
58
+ if (typeof trackedPromise._data === "undefined") {
59
+ throw new Error(
60
+ `The deferred data for ${key} was not resolved, did you forget to return data from a deferred promise`
61
+ );
62
+ }
63
+ return `${JSON.stringify(key)}: _ROUTER_DATA.p(${serializeJson(
64
+ trackedPromise._data
65
+ )})`;
66
+ }
67
+ }
68
+ }).join(",\n");
69
+ return `Object.assign(_ROUTER_DATA.loaderData[${JSON.stringify(
70
+ routeId
71
+ )}], {${deferredKeyPromiseStr}});`;
72
+ }).join("\n");
73
+ return [initialScripts, deferredDataScripts];
74
+ }, []);
75
+ return /* @__PURE__ */ jsxs(Fragment, {
76
+ children: [
77
+ !hydratedRef.current && /* @__PURE__ */ jsx("script", {
78
+ async: true,
79
+ suppressHydrationWarning: true,
80
+ dangerouslySetInnerHTML: { __html: deferredScripts[0] }
81
+ }),
82
+ !hydratedRef.current && deferredScripts[1],
83
+ JSX_SHELL_STREAM_END_MARK
84
+ ]
85
+ });
86
+ };
87
+ const DeferredDataScript = ({
88
+ data,
89
+ routeId,
90
+ dataKey
91
+ }) => {
92
+ return /* @__PURE__ */ jsx(Suspense, {
93
+ children: typeof document === "undefined" && data && dataKey && routeId ? /* @__PURE__ */ jsx(Await, {
94
+ resolve: data,
95
+ errorElement: /* @__PURE__ */ jsx(ErrorDeferredDataScript, {
96
+ routeId,
97
+ dataKey
98
+ }),
99
+ children: (data2) => /* @__PURE__ */ jsx("script", {
100
+ async: true,
101
+ suppressHydrationWarning: true,
102
+ dangerouslySetInnerHTML: {
103
+ __html: `_ROUTER_DATA.r(${JSON.stringify(
104
+ routeId
105
+ )}, ${JSON.stringify(dataKey)}, ${serializeJson(data2)});`
106
+ }
107
+ })
108
+ }) : null
109
+ });
110
+ };
111
+ const ErrorDeferredDataScript = ({
112
+ routeId,
113
+ dataKey
114
+ }) => {
115
+ const error = useAsyncError();
116
+ return /* @__PURE__ */ jsx("script", {
117
+ suppressHydrationWarning: true,
118
+ dangerouslySetInnerHTML: {
119
+ __html: `_ROUTER_DATA.r(${JSON.stringify(routeId)}, ${JSON.stringify(
120
+ dataKey
121
+ )}, ${void 0}, ${serializeJson({
122
+ message: error.message,
123
+ stack: error.stack
124
+ })});`
125
+ }
126
+ });
127
+ };
128
+ var DeferredDataScripts_default = DeferredDataScripts;
129
+ export {
130
+ DeferredDataScripts_default as default
131
+ };
@@ -0,0 +1,58 @@
1
+ import { routerPlugin } from "./plugin";
2
+ var runtime_default = routerPlugin;
3
+ import { modifyRoutes } from "./plugin";
4
+ export * from "./withRouter";
5
+ import {
6
+ Form,
7
+ Outlet,
8
+ useAsyncError,
9
+ useAsyncValue,
10
+ isRouteErrorResponse,
11
+ useBeforeUnload,
12
+ useFormAction,
13
+ useHref,
14
+ useLocation,
15
+ useNavigate,
16
+ useNavigation,
17
+ useNavigationType,
18
+ useOutlet,
19
+ useOutletContext,
20
+ useParams,
21
+ useResolvedPath,
22
+ useRevalidator,
23
+ useRouteError,
24
+ useRouteLoaderData,
25
+ useSearchParams,
26
+ useSubmit,
27
+ unstable_useBlocker,
28
+ unstable_usePrompt
29
+ } from "react-router-dom";
30
+ import { defer } from "@modern-js/utils/remix-router";
31
+ export {
32
+ Form,
33
+ Outlet,
34
+ runtime_default as default,
35
+ defer,
36
+ isRouteErrorResponse,
37
+ modifyRoutes,
38
+ unstable_useBlocker,
39
+ unstable_usePrompt,
40
+ useAsyncError,
41
+ useAsyncValue,
42
+ useBeforeUnload,
43
+ useFormAction,
44
+ useHref,
45
+ useLocation,
46
+ useNavigate,
47
+ useNavigation,
48
+ useNavigationType,
49
+ useOutlet,
50
+ useOutletContext,
51
+ useParams,
52
+ useResolvedPath,
53
+ useRevalidator,
54
+ useRouteError,
55
+ useRouteLoaderData,
56
+ useSearchParams,
57
+ useSubmit
58
+ };
@@ -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 { jsx } from "react/jsx-runtime";
21
2
  import {
22
3
  createBrowserRouter,
@@ -74,12 +55,20 @@ const routerPlugin = ({
74
55
  const routes = createRoutes ? createRoutes() : createRoutesFromElements(renderRoutes(finalRouteConfig));
75
56
  const baseUrl = ((_a = window._SERVER_DATA) == null ? void 0 : _a.router.baseUrl) || select(location.pathname);
76
57
  const _basename = baseUrl === "/" ? urlJoin(baseUrl, basename) : baseUrl;
77
- const router = supportHtml5History ? createBrowserRouter(routes, { basename: _basename }) : createHashRouter(routes, { basename: _basename });
78
- return /* @__PURE__ */ jsx(App, __spreadProps(__spreadValues({}, props), {
58
+ const hydrationData = window._ROUTER_DATA;
59
+ const router = supportHtml5History ? createBrowserRouter(routes, {
60
+ basename: _basename,
61
+ hydrationData
62
+ }) : createHashRouter(routes, {
63
+ basename: _basename,
64
+ hydrationData
65
+ });
66
+ return /* @__PURE__ */ jsx(App, {
67
+ ...props,
79
68
  children: /* @__PURE__ */ jsx(RouterProvider, {
80
69
  router
81
70
  })
82
- }));
71
+ });
83
72
  };
84
73
  };
85
74
  const RouteApp = getRouteApp();
@@ -0,0 +1,109 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useContext } from "react";
3
+ import { createStaticHandler } from "@modern-js/utils/remix-router";
4
+ import {
5
+ createStaticRouter,
6
+ StaticRouterProvider
7
+ } from "react-router-dom/server";
8
+ import hoistNonReactStatics from "hoist-non-react-statics";
9
+ import { createRoutesFromElements } from "react-router-dom";
10
+ import { RuntimeReactContext } from "../../core";
11
+ import { renderRoutes, urlJoin } from "./utils";
12
+ import { installGlobals } from "./fetch";
13
+ installGlobals();
14
+ function createFetchRequest(req) {
15
+ const origin = `${req.protocol}://${req.host}`;
16
+ const url = new URL(req.originalUrl || req.url, origin);
17
+ const controller = new AbortController();
18
+ const init = {
19
+ method: req.method,
20
+ headers: createFetchHeaders(req.headers),
21
+ signal: controller.signal
22
+ };
23
+ return new Request(url.href, init);
24
+ }
25
+ function createFetchHeaders(requestHeaders) {
26
+ const headers = new Headers();
27
+ for (const [key, values] of Object.entries(requestHeaders || {})) {
28
+ if (values) {
29
+ if (Array.isArray(values)) {
30
+ for (const value of values) {
31
+ headers.append(key, value);
32
+ }
33
+ } else {
34
+ headers.set(key, values);
35
+ }
36
+ }
37
+ }
38
+ return headers;
39
+ }
40
+ const routerPlugin = ({
41
+ basename = "",
42
+ routesConfig,
43
+ createRoutes
44
+ }) => {
45
+ return {
46
+ name: "@modern-js/plugin-router",
47
+ setup: () => {
48
+ return {
49
+ async init({ context }, next) {
50
+ if (!routesConfig && !createRoutes) {
51
+ return next({ context });
52
+ }
53
+ const { request } = context.ssrContext;
54
+ const baseUrl = request.baseUrl;
55
+ const _basename = baseUrl === "/" ? urlJoin(baseUrl, basename) : baseUrl;
56
+ const routes = createRoutes ? createRoutes() : createRoutesFromElements(renderRoutes(routesConfig));
57
+ const { query } = createStaticHandler(routes, {
58
+ basename: _basename
59
+ });
60
+ const remixRequest = createFetchRequest(request);
61
+ const routerContext = await query(remixRequest);
62
+ if (routerContext instanceof Response) {
63
+ return routerContext;
64
+ }
65
+ const router = createStaticRouter(routes, routerContext);
66
+ context.router = router;
67
+ context.routerContext = routerContext;
68
+ context.routes = routes;
69
+ context.routeManifest = context.ssrContext.routeManifest;
70
+ return next({ context });
71
+ },
72
+ hoc: ({ App }, next) => {
73
+ if (!routesConfig) {
74
+ return next({ App });
75
+ }
76
+ const getRouteApp = () => {
77
+ return (props) => {
78
+ const { router, routerContext } = useContext(RuntimeReactContext);
79
+ return /* @__PURE__ */ jsx(App, {
80
+ ...props,
81
+ children: /* @__PURE__ */ jsx(StaticRouterProvider, {
82
+ router,
83
+ context: routerContext,
84
+ hydrate: false
85
+ })
86
+ });
87
+ };
88
+ };
89
+ const RouteApp = getRouteApp();
90
+ if (routesConfig == null ? void 0 : routesConfig.globalApp) {
91
+ return next({
92
+ App: hoistNonReactStatics(RouteApp, routesConfig.globalApp)
93
+ });
94
+ }
95
+ return next({
96
+ App: RouteApp
97
+ });
98
+ }
99
+ };
100
+ }
101
+ };
102
+ };
103
+ const modifyRoutes = () => {
104
+ };
105
+ export {
106
+ createFetchHeaders,
107
+ modifyRoutes,
108
+ routerPlugin
109
+ };
@@ -0,0 +1,90 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { Route } from "react-router-dom";
3
+ import { renderNestedRoute } from "@modern-js/utils/nestedRoutes";
4
+ import { DefaultNotFound } from "./DefaultNotFound";
5
+ import DeferredDataScripts from "./DeferredDataScripts";
6
+ function getRouteComponents(routes, globalApp) {
7
+ const Layout = ({ Component, ...props }) => {
8
+ const GlobalLayout = globalApp;
9
+ if (!GlobalLayout) {
10
+ return /* @__PURE__ */ jsx(Component, {
11
+ ...props
12
+ });
13
+ }
14
+ return /* @__PURE__ */ jsx(GlobalLayout, {
15
+ Component,
16
+ ...props
17
+ });
18
+ };
19
+ const routeElements = [];
20
+ for (const route of routes) {
21
+ if (route.type === "nested") {
22
+ const routeElement = renderNestedRoute(route, {
23
+ DeferredDataComponent: DeferredDataScripts
24
+ });
25
+ routeElements.push(routeElement);
26
+ } else {
27
+ const routeElement = /* @__PURE__ */ jsx(Route, {
28
+ path: route.path,
29
+ element: /* @__PURE__ */ jsx(Layout, {
30
+ Component: route.component
31
+ })
32
+ }, route.path);
33
+ routeElements.push(routeElement);
34
+ }
35
+ }
36
+ routeElements.push(/* @__PURE__ */ jsx(Route, {
37
+ path: "*",
38
+ element: /* @__PURE__ */ jsx(DefaultNotFound, {})
39
+ }, "*"));
40
+ return routeElements;
41
+ }
42
+ function renderRoutes(routesConfig) {
43
+ if (!routesConfig) {
44
+ return null;
45
+ }
46
+ const { routes, globalApp } = routesConfig;
47
+ if (!routes) {
48
+ return null;
49
+ }
50
+ const routeElements = getRouteComponents(routes, globalApp);
51
+ return routeElements;
52
+ }
53
+ function getLocation(serverContext) {
54
+ var _a;
55
+ const { pathname, url } = (serverContext == null ? void 0 : serverContext.request) || {};
56
+ const cleanUrl = (_a = url == null ? void 0 : url.replace("http://", "")) == null ? void 0 : _a.replace("https://", "");
57
+ const index = (cleanUrl || "").indexOf(pathname);
58
+ if (index === -1) {
59
+ return pathname;
60
+ }
61
+ return cleanUrl.substring(index);
62
+ }
63
+ const urlJoin = (...parts) => {
64
+ const separator = "/";
65
+ const replace = new RegExp(`${separator}{1,}`, "g");
66
+ return standardSlash(parts.join(separator).replace(replace, separator));
67
+ };
68
+ function standardSlash(str) {
69
+ let addr = str;
70
+ if (!addr || typeof addr !== "string") {
71
+ return addr;
72
+ }
73
+ if (addr.startsWith(".")) {
74
+ addr = addr.slice(1);
75
+ }
76
+ if (!addr.startsWith("/")) {
77
+ addr = `/${addr}`;
78
+ }
79
+ if (addr.endsWith("/") && addr !== "/") {
80
+ addr = addr.slice(0, addr.length - 1);
81
+ }
82
+ return addr;
83
+ }
84
+ export {
85
+ getLocation,
86
+ getRouteComponents,
87
+ renderRoutes,
88
+ standardSlash,
89
+ urlJoin
90
+ };
@@ -0,0 +1,18 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useLocation, useNavigate, useParams } from "react-router-dom";
3
+ const withRouter = (Component) => {
4
+ return (props) => {
5
+ const location = useLocation();
6
+ const params = useParams();
7
+ const navigate = useNavigate();
8
+ return /* @__PURE__ */ jsx(Component, {
9
+ ...props,
10
+ location,
11
+ params,
12
+ navigate
13
+ });
14
+ };
15
+ };
16
+ export {
17
+ withRouter
18
+ };
File without changes
@@ -1,19 +1,3 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
- var __hasOwnProp = Object.prototype.hasOwnProperty;
4
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
- var __spreadValues = (a, b) => {
7
- for (var prop in b || (b = {}))
8
- if (__hasOwnProp.call(b, prop))
9
- __defNormalProp(a, prop, b[prop]);
10
- if (__getOwnPropSymbols)
11
- for (var prop of __getOwnPropSymbols(b)) {
12
- if (__propIsEnum.call(b, prop))
13
- __defNormalProp(a, prop, b[prop]);
14
- }
15
- return a;
16
- };
17
1
  import path from "path";
18
2
  import {
19
3
  getEntryOptions,
@@ -59,9 +43,9 @@ var cli_default = () => ({
59
43
  }
60
44
  },
61
45
  tools: {
62
- webpackChain: (chain, { name, isServer, isServiceWorker, CHAIN_ID }) => {
46
+ webpackChain: (chain, { isServer, isServiceWorker, CHAIN_ID }) => {
63
47
  const userConfig = api.useResolvedConfigContext();
64
- if (isUseSSRBundle(userConfig) && name !== "server" && hasStringSSREntry(userConfig)) {
48
+ if (isUseSSRBundle(userConfig) && !isServer && !isServiceWorker && hasStringSSREntry(userConfig)) {
65
49
  const LoadableWebpackPlugin = require("@loadable/webpack-plugin");
66
50
  chain.plugin(CHAIN_ID.PLUGIN.LOADABLE).use(LoadableWebpackPlugin, [
67
51
  { filename: LOADABLE_STATS_FILE }
@@ -75,7 +59,10 @@ var cli_default = () => ({
75
59
  chain.plugin(CHAIN_ID.PLUGIN.DEFINE).tap((args) => {
76
60
  const [vars, ...rest] = args;
77
61
  return [
78
- __spreadValues(__spreadValues({}, vars), modernVars),
62
+ {
63
+ ...vars,
64
+ ...modernVars
65
+ },
79
66
  ...rest
80
67
  ];
81
68
  });
@@ -1,42 +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
- 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 { jsx } from "react/jsx-runtime";
41
2
  import { loadableReady } from "@loadable/component";
42
3
  import hoistNonReactStatics from "hoist-non-react-statics";
@@ -50,11 +11,12 @@ const ssr = (config) => ({
50
11
  setup: () => {
51
12
  const mockResp = mockResponse();
52
13
  return {
53
- client: (_0) => __async(void 0, [_0], function* ({ App, context, ModernRender, ModernHydrate }) {
14
+ client: async ({ App, context, ModernRender, ModernHydrate }) => {
54
15
  var _a;
55
- const hydrateContext = __spreadProps(__spreadValues({}, context), {
16
+ const hydrateContext = {
17
+ ...context,
56
18
  _hydration: true
57
- });
19
+ };
58
20
  const callback = () => {
59
21
  delete hydrateContext._hydration;
60
22
  };
@@ -112,15 +74,16 @@ const ssr = (config) => ({
112
74
  }));
113
75
  }
114
76
  }
115
- }),
77
+ },
116
78
  init({ context }, next) {
117
79
  var _a, _b;
118
80
  const request = (_b = (_a = window == null ? void 0 : window._SSR_DATA) == null ? void 0 : _a.context) == null ? void 0 : _b.request;
119
81
  if (!request) {
120
- context.ssrContext = __spreadProps(__spreadValues({}, context.ssrContext), {
82
+ context.ssrContext = {
83
+ ...context.ssrContext,
121
84
  response: mockResp,
122
85
  request: formatClient({})
123
- });
86
+ };
124
87
  return next({ context });
125
88
  }
126
89
  context.ssrContext.response = mockResp;
@@ -134,18 +97,20 @@ const ssr = (config) => ({
134
97
  if (!request) {
135
98
  return next({
136
99
  context,
137
- pickedContext: __spreadProps(__spreadValues({}, pickedContext), {
100
+ pickedContext: {
101
+ ...pickedContext,
138
102
  initialData
139
- })
103
+ }
140
104
  });
141
105
  }
142
106
  return next({
143
107
  context,
144
- pickedContext: __spreadProps(__spreadValues({}, pickedContext), {
108
+ pickedContext: {
109
+ ...pickedContext,
145
110
  initialData,
146
111
  request,
147
112
  response: mockResp
148
- })
113
+ }
149
114
  });
150
115
  }
151
116
  };
@@ -0,0 +1,41 @@
1
+ import { formatServer } from "./utils";
2
+ import render from "./serverRender";
3
+ const ssr = (config = {}) => ({
4
+ name: "@modern-js/plugin-ssr",
5
+ setup: () => {
6
+ return {
7
+ server: async ({ App, context }) => {
8
+ const html = await render({
9
+ context,
10
+ App,
11
+ config
12
+ });
13
+ return html;
14
+ },
15
+ init({ context }, next) {
16
+ const { request } = context.ssrContext;
17
+ context.ssrContext.request = formatServer(request);
18
+ return next({ context });
19
+ },
20
+ pickContext: ({ context, pickedContext }, next) => {
21
+ const { request, response } = context == null ? void 0 : context.ssrContext;
22
+ const { initialData } = context;
23
+ return next({
24
+ context,
25
+ pickedContext: {
26
+ ...pickedContext,
27
+ initialData,
28
+ request,
29
+ response
30
+ }
31
+ });
32
+ }
33
+ };
34
+ }
35
+ });
36
+ var index_node_default = ssr;
37
+ export * from "./react";
38
+ export {
39
+ index_node_default as default,
40
+ ssr
41
+ };