@modern-js/runtime 2.4.1-alpha.1 → 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 (293) hide show
  1. package/CHANGELOG.md +39 -0
  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/cjs/router/runtime/plugin.node.js +137 -0
  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 +8 -65
  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 +32 -36
  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 -189
  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/plugin.node.js +0 -212
  289. package/dist/js/node/router/runtime/utils.js +0 -221
  290. package/dist/js/node/ssr/prefetch.js +0 -90
  291. package/dist/js/node/ssr/serverRender/index.js +0 -56
  292. package/dist/js/treeshaking/common.js +0 -4
  293. package/dist/js/treeshaking/router/runtime/index.js +0 -6
@@ -0,0 +1,4 @@
1
+ import { routerPlugin } from "./runtime/plugin.node";
2
+ import { routerPlugin as routerPlugin2 } from "./runtime/plugin.node";
3
+ export * from "./runtime";
4
+ export { routerPlugin2 as default, routerPlugin as router };
@@ -0,0 +1,158 @@
1
+ function _arrayLikeToArray(arr, len) {
2
+ if (len == null || len > arr.length) len = arr.length;
3
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4
+ return arr2;
5
+ }
6
+ function _arrayWithHoles(arr) {
7
+ if (Array.isArray(arr)) return arr;
8
+ }
9
+ function _iterableToArrayLimit(arr, i) {
10
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
11
+ if (_i == null) return;
12
+ var _arr = [];
13
+ var _n = true;
14
+ var _d = false;
15
+ var _s, _e;
16
+ try {
17
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
18
+ _arr.push(_s.value);
19
+ if (i && _arr.length === i) break;
20
+ }
21
+ } catch (err) {
22
+ _d = true;
23
+ _e = err;
24
+ } finally{
25
+ try {
26
+ if (!_n && _i["return"] != null) _i["return"]();
27
+ } finally{
28
+ if (_d) throw _e;
29
+ }
30
+ }
31
+ return _arr;
32
+ }
33
+ function _nonIterableRest() {
34
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
35
+ }
36
+ function _slicedToArray(arr, i) {
37
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
38
+ }
39
+ function _unsupportedIterableToArray(o, minLen) {
40
+ if (!o) return;
41
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
42
+ var n = Object.prototype.toString.call(o).slice(8, -1);
43
+ if (n === "Object" && o.constructor) n = o.constructor.name;
44
+ if (n === "Map" || n === "Set") return Array.from(n);
45
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
46
+ }
47
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
48
+ import { Suspense, useEffect, useRef, useMemo, useContext } from "react";
49
+ import { Await, UNSAFE_DataRouterContext as DataRouterContext, useAsyncError } from "react-router-dom";
50
+ import { serializeJson } from "@modern-js/utils/serialize";
51
+ import { JSX_SHELL_STREAM_END_MARK } from "../../common";
52
+ var 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}}))};";
53
+ var resolveFnStr = "function r(e,r,o,A){A?_ROUTER_DATA.r[e][r].reject(A):_ROUTER_DATA.r[e][r].resolve(o)};";
54
+ var preResolvedFnStr = "function p(e,r){return void 0!==r?Promise.reject(new Error(r.message)):Promise.resovle(e)};";
55
+ var DeferredDataScripts = function() {
56
+ var context = useContext(DataRouterContext);
57
+ var staticContext = (context || {}).staticContext;
58
+ var hydratedRef = useRef(false);
59
+ useEffect(function() {
60
+ hydratedRef.current = true;
61
+ }, []);
62
+ var deferredScripts = useMemo(function() {
63
+ var activeDeferreds = (staticContext === null || staticContext === void 0 ? void 0 : staticContext.activeDeferreds) || [];
64
+ var _ROUTER_DATA = {
65
+ loaderData: staticContext === null || staticContext === void 0 ? void 0 : staticContext.loaderData
66
+ };
67
+ var initialScripts = [
68
+ "_ROUTER_DATA = ".concat(serializeJson(_ROUTER_DATA), ";"),
69
+ "_ROUTER_DATA.s = ".concat(setupFnStr),
70
+ "_ROUTER_DATA.r = ".concat(resolveFnStr),
71
+ "_ROUTER_DATA.p = ".concat(preResolvedFnStr)
72
+ ].join("\n");
73
+ var deferredDataScripts = [];
74
+ initialScripts += Object.entries(activeDeferreds).map(function(param) {
75
+ var _param = _slicedToArray(param, 2), routeId = _param[0], deferredData = _param[1];
76
+ var pendingKeys = new Set(deferredData.pendingKeys);
77
+ var deferredKeys = deferredData.deferredKeys;
78
+ var deferredKeyPromiseStr = deferredKeys.map(function(key) {
79
+ if (pendingKeys.has(key)) {
80
+ deferredDataScripts.push(/* @__PURE__ */ jsx(DeferredDataScript, {
81
+ data: deferredData.data[key],
82
+ dataKey: key,
83
+ routeId: routeId
84
+ }, "".concat(routeId, " | ").concat(key)));
85
+ return "".concat(JSON.stringify(key), ": _ROUTER_DATA.s(").concat(JSON.stringify(routeId), ",").concat(JSON.stringify(key), ") ");
86
+ } else {
87
+ var trackedPromise = deferredData.data[key];
88
+ if (typeof trackedPromise._error !== "undefined") {
89
+ var error = {
90
+ message: trackedPromise._error.message,
91
+ stack: process.env.NODE_ENV !== "production" ? trackedPromise._error.stack : void 0
92
+ };
93
+ return "".concat(JSON.stringify(key), ": _ROUTER_DATA.p(").concat(void 0, ", ").concat(serializeJson(error), ")");
94
+ } else {
95
+ if (typeof trackedPromise._data === "undefined") {
96
+ throw new Error("The deferred data for ".concat(key, " was not resolved, did you forget to return data from a deferred promise"));
97
+ }
98
+ return "".concat(JSON.stringify(key), ": _ROUTER_DATA.p(").concat(serializeJson(trackedPromise._data), ")");
99
+ }
100
+ }
101
+ }).join(",\n");
102
+ return "Object.assign(_ROUTER_DATA.loaderData[".concat(JSON.stringify(routeId), "], {").concat(deferredKeyPromiseStr, "});");
103
+ }).join("\n");
104
+ return [
105
+ initialScripts,
106
+ deferredDataScripts
107
+ ];
108
+ }, []);
109
+ return /* @__PURE__ */ jsxs(Fragment, {
110
+ children: [
111
+ !hydratedRef.current && /* @__PURE__ */ jsx("script", {
112
+ async: true,
113
+ suppressHydrationWarning: true,
114
+ dangerouslySetInnerHTML: {
115
+ __html: deferredScripts[0]
116
+ }
117
+ }),
118
+ !hydratedRef.current && deferredScripts[1],
119
+ JSX_SHELL_STREAM_END_MARK
120
+ ]
121
+ });
122
+ };
123
+ var DeferredDataScript = function(param) {
124
+ var data = param.data, routeId = param.routeId, dataKey = param.dataKey;
125
+ return /* @__PURE__ */ jsx(Suspense, {
126
+ children: typeof document === "undefined" && data && dataKey && routeId ? /* @__PURE__ */ jsx(Await, {
127
+ resolve: data,
128
+ errorElement: /* @__PURE__ */ jsx(ErrorDeferredDataScript, {
129
+ routeId: routeId,
130
+ dataKey: dataKey
131
+ }),
132
+ children: function(data2) {
133
+ return /* @__PURE__ */ jsx("script", {
134
+ async: true,
135
+ suppressHydrationWarning: true,
136
+ dangerouslySetInnerHTML: {
137
+ __html: "_ROUTER_DATA.r(".concat(JSON.stringify(routeId), ", ").concat(JSON.stringify(dataKey), ", ").concat(serializeJson(data2), ");")
138
+ }
139
+ });
140
+ }
141
+ }) : null
142
+ });
143
+ };
144
+ var ErrorDeferredDataScript = function(param) {
145
+ var routeId = param.routeId, dataKey = param.dataKey;
146
+ var error = useAsyncError();
147
+ return /* @__PURE__ */ jsx("script", {
148
+ suppressHydrationWarning: true,
149
+ dangerouslySetInnerHTML: {
150
+ __html: "_ROUTER_DATA.r(".concat(JSON.stringify(routeId), ", ").concat(JSON.stringify(dataKey), ", ").concat(void 0, ", ").concat(serializeJson({
151
+ message: error.message,
152
+ stack: error.stack
153
+ }), ");")
154
+ }
155
+ });
156
+ };
157
+ var DeferredDataScripts_default = DeferredDataScripts;
158
+ export { DeferredDataScripts_default as default };
@@ -0,0 +1,7 @@
1
+ import { routerPlugin } from "./plugin";
2
+ var runtime_default = routerPlugin;
3
+ import { modifyRoutes } from "./plugin";
4
+ export * from "./withRouter";
5
+ import { Form, Outlet, useAsyncError, useAsyncValue, isRouteErrorResponse, useBeforeUnload, useFormAction, useHref, useLocation, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRouteLoaderData, useSearchParams, useSubmit, unstable_useBlocker, unstable_usePrompt } from "react-router-dom";
6
+ import { defer } from "@modern-js/utils/remix-router";
7
+ export { Form, Outlet, runtime_default as default, defer, isRouteErrorResponse, modifyRoutes, unstable_useBlocker, unstable_usePrompt, useAsyncError, useAsyncValue, useBeforeUnload, useFormAction, useHref, useLocation, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRouteLoaderData, useSearchParams, useSubmit };
@@ -103,10 +103,13 @@ var routerPlugin = function(param) {
103
103
  var routes = createRoutes ? createRoutes() : createRoutesFromElements(renderRoutes(finalRouteConfig));
104
104
  var baseUrl = ((_window__SERVER_DATA = window._SERVER_DATA) === null || _window__SERVER_DATA === void 0 ? void 0 : _window__SERVER_DATA.router.baseUrl) || select(location.pathname);
105
105
  var _basename = baseUrl === "/" ? urlJoin(baseUrl, basename) : baseUrl;
106
+ var hydrationData = window._ROUTER_DATA;
106
107
  var router = supportHtml5History ? createBrowserRouter(routes, {
107
- basename: _basename
108
+ basename: _basename,
109
+ hydrationData: hydrationData
108
110
  }) : createHashRouter(routes, {
109
- basename: _basename
111
+ basename: _basename,
112
+ hydrationData: hydrationData
110
113
  });
111
114
  return /* @__PURE__ */ jsx(App, _objectSpreadProps(_objectSpread({}, props), {
112
115
  children: /* @__PURE__ */ jsx(RouterProvider, {
@@ -227,10 +227,9 @@ var __generator = this && this.__generator || function(thisArg, body) {
227
227
  };
228
228
  }
229
229
  };
230
- import { jsx, jsxs } from "react/jsx-runtime";
230
+ import { jsx } from "react/jsx-runtime";
231
231
  import { useContext } from "react";
232
- import serialize from "serialize-javascript";
233
- import { createStaticHandler, isRouteErrorResponse } from "@remix-run/router";
232
+ import { createStaticHandler } from "@modern-js/utils/remix-router";
234
233
  import { createStaticRouter, StaticRouterProvider } from "react-router-dom/server";
235
234
  import hoistNonReactStatics from "hoist-non-react-statics";
236
235
  import { createRoutesFromElements } from "react-router-dom";
@@ -298,45 +297,6 @@ function createFetchHeaders(requestHeaders) {
298
297
  }
299
298
  return headers;
300
299
  }
301
- function serializeErrors(errors) {
302
- if (!errors) {
303
- return null;
304
- }
305
- var entries = Object.entries(errors);
306
- var serialized = {};
307
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
308
- try {
309
- for(var _iterator = entries[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
310
- var _step_value = _slicedToArray(_step.value, 2), key = _step_value[0], val = _step_value[1];
311
- if (isRouteErrorResponse(val)) {
312
- serialized[key] = _objectSpreadProps(_objectSpread({}, val), {
313
- __type: "RouteErrorResponse"
314
- });
315
- } else if (_instanceof(val, Error)) {
316
- serialized[key] = {
317
- message: val.message,
318
- __type: "Error"
319
- };
320
- } else {
321
- serialized[key] = val;
322
- }
323
- }
324
- } catch (err) {
325
- _didIteratorError = true;
326
- _iteratorError = err;
327
- } finally{
328
- try {
329
- if (!_iteratorNormalCompletion && _iterator.return != null) {
330
- _iterator.return();
331
- }
332
- } finally{
333
- if (_didIteratorError) {
334
- throw _iteratorError;
335
- }
336
- }
337
- }
338
- return serialized;
339
- }
340
300
  var routerPlugin = function(param) {
341
301
  var _param_basename = param.basename, basename = _param_basename === void 0 ? "" : _param_basename, routesConfig = param.routesConfig, createRoutes = param.createRoutes;
342
302
  return {
@@ -403,29 +363,12 @@ var routerPlugin = function(param) {
403
363
  var getRouteApp = function() {
404
364
  return function(props) {
405
365
  var _useContext = useContext(RuntimeReactContext), router = _useContext.router, routerContext = _useContext.routerContext;
406
- var data = {
407
- loaderData: routerContext.loaderData,
408
- actionData: routerContext.actionData,
409
- errors: serializeErrors(routerContext.errors)
410
- };
411
- var hydrateScript = "window.__staticRouterHydrationData = ".concat(serialize(data, {
412
- isJSON: true
413
- }), ";");
414
- return /* @__PURE__ */ jsxs(App, _objectSpreadProps(_objectSpread({}, props), {
415
- children: [
416
- /* @__PURE__ */ jsx(StaticRouterProvider, {
417
- router: router,
418
- context: routerContext,
419
- hydrate: false
420
- }),
421
- /* @__PURE__ */ jsx("script", {
422
- suppressHydrationWarning: true,
423
- id: "the-nonce",
424
- dangerouslySetInnerHTML: {
425
- __html: hydrateScript
426
- }
427
- })
428
- ]
366
+ return /* @__PURE__ */ jsx(App, _objectSpreadProps(_objectSpread({}, props), {
367
+ children: /* @__PURE__ */ jsx(StaticRouterProvider, {
368
+ router: router,
369
+ context: routerContext,
370
+ hydrate: false
371
+ })
429
372
  }));
430
373
  };
431
374
  };
@@ -26,30 +26,6 @@ function _objectSpread(target) {
26
26
  }
27
27
  return target;
28
28
  }
29
- function ownKeys(object, enumerableOnly) {
30
- var keys = Object.keys(object);
31
- if (Object.getOwnPropertySymbols) {
32
- var symbols = Object.getOwnPropertySymbols(object);
33
- if (enumerableOnly) {
34
- symbols = symbols.filter(function(sym) {
35
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
36
- });
37
- }
38
- keys.push.apply(keys, symbols);
39
- }
40
- return keys;
41
- }
42
- function _objectSpreadProps(target, source) {
43
- source = source != null ? source : {};
44
- if (Object.getOwnPropertyDescriptors) {
45
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
46
- } else {
47
- ownKeys(Object(source)).forEach(function(key) {
48
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
49
- });
50
- }
51
- return target;
52
- }
53
29
  function _objectWithoutProperties(source, excluded) {
54
30
  if (source == null) return {};
55
31
  var target = _objectWithoutPropertiesLoose(source, excluded);
@@ -78,68 +54,10 @@ function _objectWithoutPropertiesLoose(source, excluded) {
78
54
  return target;
79
55
  }
80
56
  import { jsx } from "react/jsx-runtime";
81
- import { Suspense } from "react";
82
57
  import { Route } from "react-router-dom";
58
+ import { renderNestedRoute } from "@modern-js/utils/nestedRoutes";
83
59
  import { DefaultNotFound } from "./DefaultNotFound";
84
- var renderNestedRoute = function(nestedRoute, parent) {
85
- var children = nestedRoute.children, index = nestedRoute.index, id = nestedRoute.id, component = nestedRoute.component, isRoot = nestedRoute.isRoot;
86
- var Component = component;
87
- var routeProps = {
88
- caseSensitive: nestedRoute.caseSensitive,
89
- path: nestedRoute.path,
90
- id: nestedRoute.id,
91
- loader: createLoader(nestedRoute),
92
- action: nestedRoute.action,
93
- hasErrorBoundary: nestedRoute.hasErrorBoundary,
94
- shouldRevalidate: nestedRoute.shouldRevalidate,
95
- handle: nestedRoute.handle,
96
- index: nestedRoute.index,
97
- element: nestedRoute.element,
98
- errorElement: nestedRoute.errorElement
99
- };
100
- if (nestedRoute.error) {
101
- var errorElement = /* @__PURE__ */ jsx(nestedRoute.error, {});
102
- routeProps.errorElement = errorElement;
103
- }
104
- var element;
105
- if (Component) {
106
- if (parent === null || parent === void 0 ? void 0 : parent.loading) {
107
- var Loading = parent.loading;
108
- if (isLoadableComponent(Component)) {
109
- element = /* @__PURE__ */ jsx(Component, {
110
- fallback: /* @__PURE__ */ jsx(Loading, {})
111
- });
112
- } else {
113
- element = /* @__PURE__ */ jsx(Suspense, {
114
- fallback: /* @__PURE__ */ jsx(Loading, {}),
115
- children: /* @__PURE__ */ jsx(Component, {})
116
- });
117
- }
118
- } else if (isLoadableComponent(Component) || isRoot) {
119
- element = /* @__PURE__ */ jsx(Component, {});
120
- } else {
121
- element = /* @__PURE__ */ jsx(Suspense, {
122
- fallback: null,
123
- children: /* @__PURE__ */ jsx(Component, {})
124
- });
125
- }
126
- } else {
127
- nestedRoute.loading = parent === null || parent === void 0 ? void 0 : parent.loading;
128
- }
129
- if (element) {
130
- routeProps.element = element;
131
- }
132
- var childElements = children === null || children === void 0 ? void 0 : children.map(function(childRoute) {
133
- return renderNestedRoute(childRoute, nestedRoute);
134
- });
135
- var routeElement = index ? /* @__PURE__ */ jsx(Route, _objectSpreadProps(_objectSpread({}, routeProps), {
136
- index: true
137
- }), id) : /* @__PURE__ */ jsx(Route, _objectSpreadProps(_objectSpread({}, routeProps), {
138
- index: false,
139
- children: childElements
140
- }), id);
141
- return routeElement;
142
- };
60
+ import DeferredDataScripts from "./DeferredDataScripts";
143
61
  function getRouteComponents(routes, globalApp) {
144
62
  var Layout = function(_param) {
145
63
  var Component = _param.Component, props = _objectWithoutProperties(_param, [
@@ -159,7 +77,9 @@ function getRouteComponents(routes, globalApp) {
159
77
  for(var _iterator = routes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
160
78
  var route = _step.value;
161
79
  if (route.type === "nested") {
162
- var routeElement = renderNestedRoute(route);
80
+ var routeElement = renderNestedRoute(route, {
81
+ DeferredDataComponent: DeferredDataScripts
82
+ });
163
83
  routeElements.push(routeElement);
164
84
  } else {
165
85
  var routeElement1 = /* @__PURE__ */ jsx(Route, {
@@ -236,25 +156,4 @@ function standardSlash(str) {
236
156
  }
237
157
  return addr;
238
158
  }
239
- function createLoader(route) {
240
- var loader = route.loader;
241
- if (loader) {
242
- return function(args) {
243
- if (typeof route.lazyImport === "function") {
244
- route.lazyImport();
245
- }
246
- return loader(args);
247
- };
248
- } else {
249
- return function() {
250
- if (typeof route.lazyImport === "function") {
251
- route.lazyImport();
252
- }
253
- return null;
254
- };
255
- }
256
- }
257
- function isLoadableComponent(component) {
258
- return component && component.displayName === "Loadable" && component.preload && typeof component.preload === "function";
259
- }
260
159
  export { getLocation, getRouteComponents, renderRoutes, standardSlash, urlJoin };
File without changes
@@ -118,9 +118,9 @@ var cli_default = function() {
118
118
  },
119
119
  tools: {
120
120
  webpackChain: function(chain, param) {
121
- var name = param.name, isServer = param.isServer, isServiceWorker = param.isServiceWorker, CHAIN_ID = param.CHAIN_ID;
121
+ var isServer = param.isServer, isServiceWorker = param.isServiceWorker, CHAIN_ID = param.CHAIN_ID;
122
122
  var userConfig = api.useResolvedConfigContext();
123
- if (isUseSSRBundle(userConfig) && name !== "server" && hasStringSSREntry(userConfig)) {
123
+ if (isUseSSRBundle(userConfig) && !isServer && !isServiceWorker && hasStringSSREntry(userConfig)) {
124
124
  var LoadableWebpackPlugin = require("@loadable/webpack-plugin");
125
125
  chain.plugin(CHAIN_ID.PLUGIN.LOADABLE).use(LoadableWebpackPlugin, [
126
126
  {
File without changes
File without changes
File without changes
File without changes
@@ -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
  var injectSSRDataScript = function injectSSRDataScript(template) {
@@ -21,9 +21,7 @@ function buildShellAfterTemplate(afterAppTemplate, options) {
21
21
  },
22
22
  renderLevel: renderLevel
23
23
  };
24
- return "\n <script>window._SSR_DATA = ".concat(serialize(SSRData, {
25
- isJSON: true
26
- }), "</script>\n ");
24
+ return "\n <script>window._SSR_DATA = ".concat(serializeJson(SSRData), "</script>\n ");
27
25
  }
28
26
  };
29
27
  var callbacks = [
@@ -59,13 +59,16 @@ function _objectSpreadProps(target, source) {
59
59
  }
60
60
  import { Transform } from "stream";
61
61
  import { RenderLevel } from "../types";
62
+ import { ESCAPED_SHELL_STREAM_END_MARK } from "../../../common";
62
63
  import { getTemplates } from "./template";
64
+ var ShellChunkStatus = /* @__PURE__ */ function(ShellChunkStatus2) {
65
+ ShellChunkStatus2[ShellChunkStatus2["IDLE"] = 0] = "IDLE";
66
+ ShellChunkStatus2[ShellChunkStatus2["START"] = 1] = "START";
67
+ ShellChunkStatus2[ShellChunkStatus2["FINIESH"] = 2] = "FINIESH";
68
+ return ShellChunkStatus2;
69
+ }(ShellChunkStatus || {});
63
70
  function renderToPipe(rootElement, context, options) {
64
- var joinChunk = function joinChunk() {
65
- var before = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "", chunk = arguments.length > 1 ? arguments[1] : void 0, after = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "";
66
- return "".concat(before).concat(chunk.toString()).concat(after);
67
- };
68
- var isShellStream = true;
71
+ var shellChunkStatus = 0 /* IDLE */ ;
69
72
  var ssrContext = context.ssrContext;
70
73
  var forUserPipe = function(stream) {
71
74
  return new Promise(function(resolve) {
@@ -81,9 +84,17 @@ function renderToPipe(rootElement, context, options) {
81
84
  var injectableTransform = new Transform({
82
85
  transform: function transform(chunk, _encoding, callback) {
83
86
  try {
84
- if (isShellStream) {
85
- this.push(joinChunk(shellBefore, chunk, shellAfter));
86
- isShellStream = false;
87
+ if (shellChunkStatus !== 2 /* FINIESH */ ) {
88
+ var concatedChunk = chunk.toString();
89
+ if (shellChunkStatus === 0 /* IDLE */ ) {
90
+ concatedChunk = "".concat(shellBefore).concat(concatedChunk);
91
+ shellChunkStatus = 1 /* START */ ;
92
+ }
93
+ if (shellChunkStatus === 1 /* START */ && concatedChunk.endsWith(ESCAPED_SHELL_STREAM_END_MARK)) {
94
+ concatedChunk = concatedChunk.replace(ESCAPED_SHELL_STREAM_END_MARK, shellAfter);
95
+ shellChunkStatus = 2 /* FINIESH */ ;
96
+ }
97
+ this.push(concatedChunk);
87
98
  } else {
88
99
  this.push(chunk);
89
100
  }
@@ -213,31 +213,45 @@ function renderToPipe(rootElement, context, options) {
213
213
  reader = readableOriginal.getReader();
214
214
  injectableStream = new ReadableStream({
215
215
  start: function start(controller) {
216
- return _asyncToGenerator(function() {
217
- var value;
218
- return __generator(this, function(_state) {
219
- switch(_state.label){
220
- case 0:
221
- return [
222
- 4,
223
- reader.read()
224
- ];
225
- case 1:
226
- value = _state.sent().value;
227
- if (isShellStream) {
228
- controller.enqueue(encodeForWebStream(shellBefore));
229
- controller.enqueue(value);
230
- controller.enqueue(encodeForWebStream(shellAfter));
231
- isShellStream = false;
232
- } else {
233
- controller.enqueue(value);
234
- }
235
- return [
236
- 2
237
- ];
238
- }
216
+ function push() {
217
+ return _push.apply(this, arguments);
218
+ }
219
+ function _push() {
220
+ _push = _asyncToGenerator(function() {
221
+ var _ref, done, value;
222
+ return __generator(this, function(_state) {
223
+ switch(_state.label){
224
+ case 0:
225
+ return [
226
+ 4,
227
+ reader.read()
228
+ ];
229
+ case 1:
230
+ _ref = _state.sent(), done = _ref.done, value = _ref.value;
231
+ if (done) {
232
+ controller.close();
233
+ return [
234
+ 2
235
+ ];
236
+ }
237
+ if (isShellStream) {
238
+ controller.enqueue(encodeForWebStream(shellBefore));
239
+ controller.enqueue(value);
240
+ controller.enqueue(encodeForWebStream(shellAfter));
241
+ isShellStream = false;
242
+ } else {
243
+ controller.enqueue(value);
244
+ }
245
+ push();
246
+ return [
247
+ 2
248
+ ];
249
+ }
250
+ });
239
251
  });
240
- })();
252
+ return _push.apply(this, arguments);
253
+ }
254
+ push();
241
255
  }
242
256
  });
243
257
  return [