@modern-js/runtime 2.22.0 → 2.22.2-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 (286) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/cjs/document/Html.js +2 -1
  3. package/dist/cjs/document/Style.js +26 -0
  4. package/dist/cjs/document/cli/index.js +3 -0
  5. package/dist/cjs/document/constants.js +11 -6
  6. package/dist/cjs/document/index.js +1 -0
  7. package/dist/cjs/router/runtime/DeferredDataScripts.node.js +9 -4
  8. package/dist/cjs/router/runtime/plugin.js +16 -1
  9. package/dist/cjs/router/runtime/plugin.node.js +5 -2
  10. package/dist/esm/document/Html.js +8 -3
  11. package/dist/esm/document/Style.js +14 -0
  12. package/dist/esm/document/cli/index.js +6 -1
  13. package/dist/esm/document/constants.js +3 -1
  14. package/dist/esm/document/index.js +1 -0
  15. package/dist/esm/router/runtime/DeferredDataScripts.node.js +9 -4
  16. package/dist/esm/router/runtime/plugin.js +20 -1
  17. package/dist/esm/router/runtime/plugin.node.js +6 -3
  18. package/dist/esm-node/document/Html.js +2 -1
  19. package/dist/esm-node/document/Style.js +14 -0
  20. package/dist/esm-node/document/cli/index.js +4 -1
  21. package/dist/esm-node/document/constants.js +3 -1
  22. package/dist/esm-node/document/index.js +1 -0
  23. package/dist/esm-node/router/runtime/DeferredDataScripts.node.js +9 -4
  24. package/dist/esm-node/router/runtime/plugin.js +16 -1
  25. package/dist/esm-node/router/runtime/plugin.node.js +5 -2
  26. package/dist/js/modern/cli/index.js +72 -0
  27. package/dist/js/modern/common.js +4 -0
  28. package/dist/js/modern/config.js +0 -0
  29. package/dist/js/modern/core/app-config.js +10 -0
  30. package/dist/js/modern/core/compatible.js +286 -0
  31. package/dist/js/modern/core/index.js +16 -0
  32. package/dist/js/modern/core/loader/index.js +4 -0
  33. package/dist/js/modern/core/loader/loaderManager.js +165 -0
  34. package/dist/js/modern/core/loader/useLoader.js +114 -0
  35. package/dist/js/modern/core/plugin.js +58 -0
  36. package/dist/js/modern/document/Body.js +23 -0
  37. package/dist/js/modern/document/DocumentContext.js +9 -0
  38. package/dist/js/modern/document/DocumentStructureContext.js +11 -0
  39. package/dist/js/modern/document/Head.js +27 -0
  40. package/dist/js/modern/document/Html.js +78 -0
  41. package/dist/js/modern/document/Links.js +10 -0
  42. package/dist/js/modern/document/Root.js +33 -0
  43. package/dist/js/modern/document/Script.js +20 -0
  44. package/dist/js/modern/document/Scripts.js +10 -0
  45. package/dist/js/modern/document/cli/index.js +228 -0
  46. package/dist/js/modern/document/constants.js +49 -0
  47. package/dist/js/modern/document/index.js +10 -0
  48. package/dist/js/modern/exports/head.js +6 -0
  49. package/dist/js/modern/exports/loadable.js +6 -0
  50. package/dist/js/modern/exports/server.js +4 -0
  51. package/dist/js/modern/exports/styled.js +6 -0
  52. package/dist/js/modern/index.js +22 -0
  53. package/dist/js/modern/router/cli/index.js +120 -0
  54. package/dist/js/modern/router/index.js +7 -0
  55. package/dist/js/modern/router/runtime/DefaultNotFound.js +14 -0
  56. package/dist/js/modern/router/runtime/fetch.js +5 -0
  57. package/dist/js/modern/router/runtime/fetch.node.js +4 -0
  58. package/dist/js/modern/router/runtime/fetch.worker.js +5 -0
  59. package/dist/js/modern/router/runtime/index.js +9 -0
  60. package/dist/js/modern/router/runtime/plugin.js +104 -0
  61. package/dist/js/modern/router/runtime/plugin.node.js +189 -0
  62. package/dist/js/modern/router/runtime/server.js +1 -0
  63. package/dist/js/modern/router/runtime/types.js +0 -0
  64. package/dist/js/modern/router/runtime/utils.js +196 -0
  65. package/dist/js/modern/router/runtime/withRouter.js +36 -0
  66. package/dist/js/modern/runtime-context.js +7 -0
  67. package/dist/js/modern/ssr/cli/babel-plugin-ssr-loader-id.js +130 -0
  68. package/dist/js/modern/ssr/cli/index.js +172 -0
  69. package/dist/js/modern/ssr/index.js +159 -0
  70. package/dist/js/modern/ssr/index.node.js +79 -0
  71. package/dist/js/modern/ssr/prefetch.js +69 -0
  72. package/dist/js/modern/ssr/prefetch.worker.js +66 -0
  73. package/dist/js/modern/ssr/react/index.js +6 -0
  74. package/dist/js/modern/ssr/react/nossr/index.js +18 -0
  75. package/dist/js/modern/ssr/react/prerender/index.js +108 -0
  76. package/dist/js/modern/ssr/react/prerender/type.js +0 -0
  77. package/dist/js/modern/ssr/react/prerender/util.js +96 -0
  78. package/dist/js/modern/ssr/react/withCallback/index.js +15 -0
  79. package/dist/js/modern/ssr/serverRender/helmet.js +44 -0
  80. package/dist/js/modern/ssr/serverRender/index.js +35 -0
  81. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.after.js +36 -0
  82. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.share.js +11 -0
  83. package/dist/js/modern/ssr/serverRender/renderToStream/bulidTemplate.before.js +61 -0
  84. package/dist/js/modern/ssr/serverRender/renderToStream/index.js +58 -0
  85. package/dist/js/modern/ssr/serverRender/renderToStream/index.worker.js +35 -0
  86. package/dist/js/modern/ssr/serverRender/renderToStream/loadable.js +24 -0
  87. package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.js +96 -0
  88. package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.worker.js +117 -0
  89. package/dist/js/modern/ssr/serverRender/renderToStream/styledComponent.js +12 -0
  90. package/dist/js/modern/ssr/serverRender/renderToStream/template.js +22 -0
  91. package/dist/js/modern/ssr/serverRender/renderToStream/type.js +0 -0
  92. package/dist/js/modern/ssr/serverRender/renderToString/entry.js +172 -0
  93. package/dist/js/modern/ssr/serverRender/renderToString/index.js +52 -0
  94. package/dist/js/modern/ssr/serverRender/renderToString/index.worker.js +49 -0
  95. package/dist/js/modern/ssr/serverRender/renderToString/loadable.js +48 -0
  96. package/dist/js/modern/ssr/serverRender/renderToString/reduce.js +8 -0
  97. package/dist/js/modern/ssr/serverRender/renderToString/styledComponent.js +11 -0
  98. package/dist/js/modern/ssr/serverRender/renderToString/template.js +58 -0
  99. package/dist/js/modern/ssr/serverRender/renderToString/type.js +9 -0
  100. package/dist/js/modern/ssr/serverRender/time.js +13 -0
  101. package/dist/js/modern/ssr/serverRender/time.worker.js +28 -0
  102. package/dist/js/modern/ssr/serverRender/types.js +4 -0
  103. package/dist/js/modern/ssr/serverRender/utils.js +11 -0
  104. package/dist/js/modern/ssr/utils.js +81 -0
  105. package/dist/js/modern/state/cli/index.js +83 -0
  106. package/dist/js/modern/state/index.js +7 -0
  107. package/dist/js/modern/state/plugins.js +13 -0
  108. package/dist/js/modern/state/runtime/index.js +9 -0
  109. package/dist/js/modern/state/runtime/plugin.js +97 -0
  110. package/dist/js/modern/state/types.js +0 -0
  111. package/dist/js/node/cli/index.js +99 -0
  112. package/dist/js/node/common.js +27 -0
  113. package/dist/js/node/config.js +15 -0
  114. package/dist/js/node/core/app-config.js +34 -0
  115. package/dist/js/node/core/compatible.js +313 -0
  116. package/dist/js/node/core/index.js +47 -0
  117. package/dist/js/node/core/loader/index.js +33 -0
  118. package/dist/js/node/core/loader/loaderManager.js +195 -0
  119. package/dist/js/node/core/loader/useLoader.js +132 -0
  120. package/dist/js/node/core/plugin.js +80 -0
  121. package/dist/js/node/document/Body.js +43 -0
  122. package/dist/js/node/document/DocumentContext.js +38 -0
  123. package/dist/js/node/document/DocumentStructureContext.js +40 -0
  124. package/dist/js/node/document/Head.js +51 -0
  125. package/dist/js/node/document/Html.js +101 -0
  126. package/dist/js/node/document/Links.js +33 -0
  127. package/dist/js/node/document/Root.js +57 -0
  128. package/dist/js/node/document/Script.js +40 -0
  129. package/dist/js/node/document/Scripts.js +33 -0
  130. package/dist/js/node/document/cli/index.js +240 -0
  131. package/dist/js/node/document/constants.js +86 -0
  132. package/dist/js/node/document/index.js +26 -0
  133. package/dist/js/node/exports/head.js +34 -0
  134. package/dist/js/node/exports/loadable.js +34 -0
  135. package/dist/js/node/exports/server.js +27 -0
  136. package/dist/js/node/exports/styled.js +34 -0
  137. package/dist/js/node/index.js +44 -0
  138. package/dist/js/node/router/cli/index.js +135 -0
  139. package/dist/js/node/router/index.js +37 -0
  140. package/dist/js/node/router/runtime/DefaultNotFound.js +37 -0
  141. package/dist/js/node/router/runtime/fetch.js +28 -0
  142. package/dist/js/node/router/runtime/fetch.node.js +27 -0
  143. package/dist/js/node/router/runtime/fetch.worker.js +28 -0
  144. package/dist/js/node/router/runtime/index.js +33 -0
  145. package/dist/js/node/router/runtime/plugin.js +127 -0
  146. package/dist/js/node/router/runtime/plugin.node.js +212 -0
  147. package/dist/js/node/router/runtime/server.js +17 -0
  148. package/dist/js/node/router/runtime/types.js +15 -0
  149. package/dist/js/node/router/runtime/utils.js +221 -0
  150. package/dist/js/node/router/runtime/withRouter.js +57 -0
  151. package/dist/js/node/runtime-context.js +31 -0
  152. package/dist/js/node/ssr/cli/babel-plugin-ssr-loader-id.js +139 -0
  153. package/dist/js/node/ssr/cli/index.js +190 -0
  154. package/dist/js/node/ssr/index.js +185 -0
  155. package/dist/js/node/ssr/index.node.js +107 -0
  156. package/dist/js/node/ssr/prefetch.js +90 -0
  157. package/dist/js/node/ssr/prefetch.worker.js +87 -0
  158. package/dist/js/node/ssr/react/index.js +30 -0
  159. package/dist/js/node/ssr/react/nossr/index.js +47 -0
  160. package/dist/js/node/ssr/react/prerender/index.js +130 -0
  161. package/dist/js/node/ssr/react/prerender/type.js +15 -0
  162. package/dist/js/node/ssr/react/prerender/util.js +123 -0
  163. package/dist/js/node/ssr/react/withCallback/index.js +38 -0
  164. package/dist/js/node/ssr/serverRender/helmet.js +65 -0
  165. package/dist/js/node/ssr/serverRender/index.js +56 -0
  166. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.after.js +65 -0
  167. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.share.js +35 -0
  168. package/dist/js/node/ssr/serverRender/renderToStream/bulidTemplate.before.js +87 -0
  169. package/dist/js/node/ssr/serverRender/renderToStream/index.js +87 -0
  170. package/dist/js/node/ssr/serverRender/renderToStream/index.worker.js +64 -0
  171. package/dist/js/node/ssr/serverRender/renderToStream/loadable.js +47 -0
  172. package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.js +115 -0
  173. package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.worker.js +136 -0
  174. package/dist/js/node/ssr/serverRender/renderToStream/styledComponent.js +35 -0
  175. package/dist/js/node/ssr/serverRender/renderToStream/template.js +45 -0
  176. package/dist/js/node/ssr/serverRender/renderToStream/type.js +15 -0
  177. package/dist/js/node/ssr/serverRender/renderToString/entry.js +197 -0
  178. package/dist/js/node/ssr/serverRender/renderToString/index.js +81 -0
  179. package/dist/js/node/ssr/serverRender/renderToString/index.worker.js +78 -0
  180. package/dist/js/node/ssr/serverRender/renderToString/loadable.js +71 -0
  181. package/dist/js/node/ssr/serverRender/renderToString/reduce.js +31 -0
  182. package/dist/js/node/ssr/serverRender/renderToString/styledComponent.js +34 -0
  183. package/dist/js/node/ssr/serverRender/renderToString/template.js +82 -0
  184. package/dist/js/node/ssr/serverRender/renderToString/type.js +32 -0
  185. package/dist/js/node/ssr/serverRender/time.js +36 -0
  186. package/dist/js/node/ssr/serverRender/time.worker.js +51 -0
  187. package/dist/js/node/ssr/serverRender/types.js +27 -0
  188. package/dist/js/node/ssr/serverRender/utils.js +34 -0
  189. package/dist/js/node/ssr/utils.js +106 -0
  190. package/dist/js/node/state/cli/index.js +100 -0
  191. package/dist/js/node/state/index.js +37 -0
  192. package/dist/js/node/state/plugins.js +45 -0
  193. package/dist/js/node/state/runtime/index.js +40 -0
  194. package/dist/js/node/state/runtime/plugin.js +121 -0
  195. package/dist/js/node/state/types.js +15 -0
  196. package/dist/js/treeshaking/cli/index.js +186 -0
  197. package/dist/js/treeshaking/common.js +4 -0
  198. package/dist/js/treeshaking/config.js +1 -0
  199. package/dist/js/treeshaking/core/app-config.js +9 -0
  200. package/dist/js/treeshaking/core/compatible.js +486 -0
  201. package/dist/js/treeshaking/core/index.js +7 -0
  202. package/dist/js/treeshaking/core/loader/index.js +2 -0
  203. package/dist/js/treeshaking/core/loader/loaderManager.js +406 -0
  204. package/dist/js/treeshaking/core/loader/useLoader.js +188 -0
  205. package/dist/js/treeshaking/core/plugin.js +176 -0
  206. package/dist/js/treeshaking/document/Body.js +18 -0
  207. package/dist/js/treeshaking/document/DocumentContext.js +7 -0
  208. package/dist/js/treeshaking/document/DocumentStructureContext.js +9 -0
  209. package/dist/js/treeshaking/document/Head.js +24 -0
  210. package/dist/js/treeshaking/document/Html.js +99 -0
  211. package/dist/js/treeshaking/document/Links.js +8 -0
  212. package/dist/js/treeshaking/document/Root.js +26 -0
  213. package/dist/js/treeshaking/document/Script.js +15 -0
  214. package/dist/js/treeshaking/document/Scripts.js +8 -0
  215. package/dist/js/treeshaking/document/cli/index.js +393 -0
  216. package/dist/js/treeshaking/document/constants.js +35 -0
  217. package/dist/js/treeshaking/document/index.js +10 -0
  218. package/dist/js/treeshaking/exports/head.js +4 -0
  219. package/dist/js/treeshaking/exports/loadable.js +4 -0
  220. package/dist/js/treeshaking/exports/server.js +4 -0
  221. package/dist/js/treeshaking/exports/styled.js +4 -0
  222. package/dist/js/treeshaking/index.js +3 -0
  223. package/dist/js/treeshaking/router/cli/index.js +148 -0
  224. package/dist/js/treeshaking/router/index.js +4 -0
  225. package/dist/js/treeshaking/router/runtime/DefaultNotFound.js +14 -0
  226. package/dist/js/treeshaking/router/runtime/fetch.js +2 -0
  227. package/dist/js/treeshaking/router/runtime/fetch.node.js +2 -0
  228. package/dist/js/treeshaking/router/runtime/fetch.worker.js +2 -0
  229. package/dist/js/treeshaking/router/runtime/index.js +6 -0
  230. package/dist/js/treeshaking/router/runtime/plugin.js +132 -0
  231. package/dist/js/treeshaking/router/runtime/plugin.node.js +447 -0
  232. package/dist/js/treeshaking/router/runtime/server.js +1 -0
  233. package/dist/js/treeshaking/router/runtime/types.js +1 -0
  234. package/dist/js/treeshaking/router/runtime/utils.js +260 -0
  235. package/dist/js/treeshaking/router/runtime/withRouter.js +67 -0
  236. package/dist/js/treeshaking/runtime-context.js +4 -0
  237. package/dist/js/treeshaking/ssr/cli/babel-plugin-ssr-loader-id.js +122 -0
  238. package/dist/js/treeshaking/ssr/cli/index.js +217 -0
  239. package/dist/js/treeshaking/ssr/index.js +315 -0
  240. package/dist/js/treeshaking/ssr/index.node.js +240 -0
  241. package/dist/js/treeshaking/ssr/prefetch.js +199 -0
  242. package/dist/js/treeshaking/ssr/prefetch.worker.js +191 -0
  243. package/dist/js/treeshaking/ssr/react/index.js +3 -0
  244. package/dist/js/treeshaking/ssr/react/nossr/index.js +58 -0
  245. package/dist/js/treeshaking/ssr/react/prerender/index.js +237 -0
  246. package/dist/js/treeshaking/ssr/react/prerender/type.js +1 -0
  247. package/dist/js/treeshaking/ssr/react/prerender/util.js +108 -0
  248. package/dist/js/treeshaking/ssr/react/withCallback/index.js +16 -0
  249. package/dist/js/treeshaking/ssr/serverRender/helmet.js +42 -0
  250. package/dist/js/treeshaking/ssr/serverRender/index.js +169 -0
  251. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.after.js +34 -0
  252. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.share.js +7 -0
  253. package/dist/js/treeshaking/ssr/serverRender/renderToStream/bulidTemplate.before.js +115 -0
  254. package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.js +165 -0
  255. package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.worker.js +32 -0
  256. package/dist/js/treeshaking/ssr/serverRender/renderToStream/loadable.js +22 -0
  257. package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.js +122 -0
  258. package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.worker.js +294 -0
  259. package/dist/js/treeshaking/ssr/serverRender/renderToStream/styledComponent.js +11 -0
  260. package/dist/js/treeshaking/ssr/serverRender/renderToStream/template.js +63 -0
  261. package/dist/js/treeshaking/ssr/serverRender/renderToStream/type.js +1 -0
  262. package/dist/js/treeshaking/ssr/serverRender/renderToString/entry.js +393 -0
  263. package/dist/js/treeshaking/ssr/serverRender/renderToString/index.js +165 -0
  264. package/dist/js/treeshaking/ssr/serverRender/renderToString/index.worker.js +167 -0
  265. package/dist/js/treeshaking/ssr/serverRender/renderToString/loadable.js +56 -0
  266. package/dist/js/treeshaking/ssr/serverRender/renderToString/reduce.js +10 -0
  267. package/dist/js/treeshaking/ssr/serverRender/renderToString/styledComponent.js +9 -0
  268. package/dist/js/treeshaking/ssr/serverRender/renderToString/template.js +156 -0
  269. package/dist/js/treeshaking/ssr/serverRender/renderToString/type.js +7 -0
  270. package/dist/js/treeshaking/ssr/serverRender/time.js +57 -0
  271. package/dist/js/treeshaking/ssr/serverRender/time.worker.js +75 -0
  272. package/dist/js/treeshaking/ssr/serverRender/types.js +2 -0
  273. package/dist/js/treeshaking/ssr/serverRender/utils.js +13 -0
  274. package/dist/js/treeshaking/ssr/utils.js +134 -0
  275. package/dist/js/treeshaking/state/cli/index.js +71 -0
  276. package/dist/js/treeshaking/state/index.js +4 -0
  277. package/dist/js/treeshaking/state/plugins.js +14 -0
  278. package/dist/js/treeshaking/state/runtime/index.js +5 -0
  279. package/dist/js/treeshaking/state/runtime/plugin.js +198 -0
  280. package/dist/js/treeshaking/state/types.js +1 -0
  281. package/dist/types/document/Style.d.ts +5 -0
  282. package/dist/types/document/constants.d.ts +2 -1
  283. package/dist/types/document/index.d.ts +1 -0
  284. package/dist/types/router/runtime/DeferredDataScripts.node.d.ts +3 -1
  285. package/dist/types/runtimeContext.d.ts +8 -0
  286. package/package.json +11 -10
@@ -0,0 +1,115 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __spreadValues = (a, b) => {
11
+ for (var prop in b || (b = {}))
12
+ if (__hasOwnProp.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ if (__getOwnPropSymbols)
15
+ for (var prop of __getOwnPropSymbols(b)) {
16
+ if (__propIsEnum.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ }
19
+ return a;
20
+ };
21
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
22
+ var __export = (target, all) => {
23
+ for (var name in all)
24
+ __defProp(target, name, { get: all[name], enumerable: true });
25
+ };
26
+ var __copyProps = (to, from, except, desc) => {
27
+ if (from && typeof from === "object" || typeof from === "function") {
28
+ for (let key of __getOwnPropNames(from))
29
+ if (!__hasOwnProp.call(to, key) && key !== except)
30
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
31
+ }
32
+ return to;
33
+ };
34
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
35
+ var renderToPipe_exports = {};
36
+ __export(renderToPipe_exports, {
37
+ default: () => renderToPipe_default
38
+ });
39
+ module.exports = __toCommonJS(renderToPipe_exports);
40
+ var import_stream = require("stream");
41
+ var import_types = require("../types");
42
+ var import_template = require("./template");
43
+ function renderToPipe(rootElement, context, options) {
44
+ let isShellStream = true;
45
+ const { ssrContext } = context;
46
+ const forUserPipe = (stream) => {
47
+ return new Promise((resolve) => {
48
+ let renderToPipeableStream;
49
+ try {
50
+ ({ renderToPipeableStream } = require("react-dom/server"));
51
+ } catch (e) {
52
+ }
53
+ const { pipe } = renderToPipeableStream(rootElement, __spreadProps(__spreadValues({}, options), {
54
+ onShellReady() {
55
+ var _a;
56
+ const { shellAfter, shellBefore } = (0, import_template.getTemplates)(
57
+ context,
58
+ import_types.RenderLevel.SERVER_RENDER
59
+ );
60
+ (_a = options == null ? void 0 : options.onShellReady) == null ? void 0 : _a.call(options);
61
+ const injectableTransform = new import_stream.Transform({
62
+ transform(chunk, _encoding, callback) {
63
+ try {
64
+ if (isShellStream) {
65
+ this.push(joinChunk(shellBefore, chunk, shellAfter));
66
+ isShellStream = false;
67
+ } else {
68
+ this.push(chunk);
69
+ }
70
+ callback();
71
+ } catch (e) {
72
+ if (e instanceof Error) {
73
+ callback(e);
74
+ } else {
75
+ callback(new Error("Received unkown error when streaming"));
76
+ }
77
+ }
78
+ }
79
+ });
80
+ resolve(pipe(injectableTransform).pipe(stream));
81
+ },
82
+ onShellError(error) {
83
+ var _a;
84
+ ssrContext.metrics.emitCounter(
85
+ "app.render.streaming.shell.error",
86
+ 1
87
+ );
88
+ const { shellAfter, shellBefore } = (0, import_template.getTemplates)(
89
+ context,
90
+ import_types.RenderLevel.CLIENT_RENDER
91
+ );
92
+ const fallbackHtml = `${shellBefore}${shellAfter}`;
93
+ resolve(fallbackHtml);
94
+ (_a = options == null ? void 0 : options.onShellError) == null ? void 0 : _a.call(options, error);
95
+ },
96
+ onError(error) {
97
+ var _a;
98
+ ssrContext.logger.error(
99
+ "An error occurs during streaming SSR",
100
+ error
101
+ );
102
+ ssrContext.metrics.emitCounter("app.render.streaming.error", 1);
103
+ (_a = options == null ? void 0 : options.onError) == null ? void 0 : _a.call(options, error);
104
+ }
105
+ }));
106
+ });
107
+ };
108
+ return forUserPipe;
109
+ function joinChunk(before = "", chunk, after = "") {
110
+ return `${before}${chunk.toString()}${after}`;
111
+ }
112
+ }
113
+ var renderToPipe_default = renderToPipe;
114
+ // Annotate the CommonJS export names for ESM import in node:
115
+ 0 && (module.exports = {});
@@ -0,0 +1,136 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __spreadValues = (a, b) => {
11
+ for (var prop in b || (b = {}))
12
+ if (__hasOwnProp.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ if (__getOwnPropSymbols)
15
+ for (var prop of __getOwnPropSymbols(b)) {
16
+ if (__propIsEnum.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ }
19
+ return a;
20
+ };
21
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
22
+ var __export = (target, all) => {
23
+ for (var name in all)
24
+ __defProp(target, name, { get: all[name], enumerable: true });
25
+ };
26
+ var __copyProps = (to, from, except, desc) => {
27
+ if (from && typeof from === "object" || typeof from === "function") {
28
+ for (let key of __getOwnPropNames(from))
29
+ if (!__hasOwnProp.call(to, key) && key !== except)
30
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
31
+ }
32
+ return to;
33
+ };
34
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
35
+ var __async = (__this, __arguments, generator) => {
36
+ return new Promise((resolve, reject) => {
37
+ var fulfilled = (value) => {
38
+ try {
39
+ step(generator.next(value));
40
+ } catch (e) {
41
+ reject(e);
42
+ }
43
+ };
44
+ var rejected = (value) => {
45
+ try {
46
+ step(generator.throw(value));
47
+ } catch (e) {
48
+ reject(e);
49
+ }
50
+ };
51
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
52
+ step((generator = generator.apply(__this, __arguments)).next());
53
+ });
54
+ };
55
+ var renderToPipe_worker_exports = {};
56
+ __export(renderToPipe_worker_exports, {
57
+ default: () => renderToPipe_worker_default
58
+ });
59
+ module.exports = __toCommonJS(renderToPipe_worker_exports);
60
+ var import_types = require("../types");
61
+ var import_template = require("./template");
62
+ function renderToPipe(rootElement, context, options) {
63
+ let isShellStream = true;
64
+ const { ssrContext } = context;
65
+ const forUserPipe = (stream) => __async(this, null, function* () {
66
+ let renderToReadableStream;
67
+ try {
68
+ ({ renderToReadableStream } = require("react-dom/server"));
69
+ } catch (e) {
70
+ }
71
+ const { shellAfter, shellBefore } = (0, import_template.getTemplates)(
72
+ context,
73
+ import_types.RenderLevel.SERVER_RENDER
74
+ );
75
+ try {
76
+ const readableOriginal = yield renderToReadableStream(rootElement, __spreadProps(__spreadValues({}, options), {
77
+ onError(error) {
78
+ var _a;
79
+ ssrContext.logger.error(
80
+ "An error occurs during streaming SSR",
81
+ error
82
+ );
83
+ ssrContext.metrics.emitCounter("app.render.streaming.error", 1);
84
+ (_a = options == null ? void 0 : options.onError) == null ? void 0 : _a.call(options, error);
85
+ }
86
+ }));
87
+ const reader = readableOriginal.getReader();
88
+ const injectableStream = new ReadableStream({
89
+ start(controller) {
90
+ function push() {
91
+ return __async(this, null, function* () {
92
+ const { done, value } = yield reader.read();
93
+ if (done) {
94
+ controller.close();
95
+ return;
96
+ }
97
+ if (isShellStream) {
98
+ controller.enqueue(encodeForWebStream(shellBefore));
99
+ controller.enqueue(value);
100
+ controller.enqueue(encodeForWebStream(shellAfter));
101
+ isShellStream = false;
102
+ } else {
103
+ controller.enqueue(value);
104
+ }
105
+ push();
106
+ });
107
+ }
108
+ push();
109
+ }
110
+ });
111
+ return readableOriginal(injectableStream).readableOriginal(stream);
112
+ } catch (err) {
113
+ ssrContext.metrics.emitCounter("app.render.streaming.shell.error", 1);
114
+ const { shellAfter: shellAfter2, shellBefore: shellBefore2 } = (0, import_template.getTemplates)(
115
+ context,
116
+ import_types.RenderLevel.CLIENT_RENDER
117
+ );
118
+ const fallbackHtml = `${shellBefore2}${shellAfter2}`;
119
+ return fallbackHtml;
120
+ }
121
+ });
122
+ return forUserPipe;
123
+ }
124
+ let encoder;
125
+ function encodeForWebStream(thing) {
126
+ if (!encoder) {
127
+ encoder = new TextEncoder();
128
+ }
129
+ if (typeof thing === "string") {
130
+ return encoder.encode(thing);
131
+ }
132
+ return thing;
133
+ }
134
+ var renderToPipe_worker_default = renderToPipe;
135
+ // Annotate the CommonJS export names for ESM import in node:
136
+ 0 && (module.exports = {});
@@ -0,0 +1,35 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var styledComponent_exports = {};
19
+ __export(styledComponent_exports, {
20
+ getStyledComponentCss: () => getStyledComponentCss
21
+ });
22
+ module.exports = __toCommonJS(styledComponent_exports);
23
+ var import_styled_components = require("styled-components");
24
+ function getStyledComponentCss({ jsx }) {
25
+ const sheet = new import_styled_components.ServerStyleSheet();
26
+ const collectedJsx = sheet.collectStyles(jsx);
27
+ return {
28
+ styleSheet: sheet,
29
+ jsx: collectedJsx
30
+ };
31
+ }
32
+ // Annotate the CommonJS export names for ESM import in node:
33
+ 0 && (module.exports = {
34
+ getStyledComponentCss
35
+ });
@@ -0,0 +1,45 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var template_exports = {};
19
+ __export(template_exports, {
20
+ getTemplates: () => getTemplates
21
+ });
22
+ module.exports = __toCommonJS(template_exports);
23
+ var import_buildTemplate = require("./buildTemplate.after");
24
+ var import_bulidTemplate = require("./bulidTemplate.before");
25
+ const HTML_SEPARATOR = "<!--<?- html ?>-->";
26
+ const getTemplates = (context, renderLevel) => {
27
+ const { ssrContext } = context;
28
+ const [beforeAppTemplate = "", afterAppHtmlTemplate = ""] = ssrContext.template.split(HTML_SEPARATOR) || [];
29
+ const builtBeforeTemplate = (0, import_bulidTemplate.buildShellBeforeTemplate)(
30
+ beforeAppTemplate,
31
+ context
32
+ );
33
+ const builtAfterTemplate = (0, import_buildTemplate.buildShellAfterTemplate)(afterAppHtmlTemplate, {
34
+ ssrContext,
35
+ renderLevel
36
+ });
37
+ return {
38
+ shellBefore: builtBeforeTemplate,
39
+ shellAfter: builtAfterTemplate
40
+ };
41
+ };
42
+ // Annotate the CommonJS export names for ESM import in node:
43
+ 0 && (module.exports = {
44
+ getTemplates
45
+ });
@@ -0,0 +1,15 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
+ var type_exports = {};
15
+ module.exports = __toCommonJS(type_exports);
@@ -0,0 +1,197 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
+ mod
22
+ ));
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+ var __async = (__this, __arguments, generator) => {
25
+ return new Promise((resolve, reject) => {
26
+ var fulfilled = (value) => {
27
+ try {
28
+ step(generator.next(value));
29
+ } catch (e) {
30
+ reject(e);
31
+ }
32
+ };
33
+ var rejected = (value) => {
34
+ try {
35
+ step(generator.throw(value));
36
+ } catch (e) {
37
+ reject(e);
38
+ }
39
+ };
40
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
41
+ step((generator = generator.apply(__this, __arguments)).next());
42
+ });
43
+ };
44
+ var entry_exports = {};
45
+ __export(entry_exports, {
46
+ default: () => Entry
47
+ });
48
+ module.exports = __toCommonJS(entry_exports);
49
+ var import_react = __toESM(require("react"));
50
+ var import_server = __toESM(require("react-dom/server"));
51
+ var import_serialize_javascript = __toESM(require("serialize-javascript"));
52
+ var import_react_helmet = __toESM(require("react-helmet"));
53
+ var import_helmet = __toESM(require("../helmet"));
54
+ var import_types = require("../types");
55
+ var import_time = require("../time");
56
+ var import_prefetch = __toESM(require("../../prefetch"));
57
+ var import_template = require("./template");
58
+ var import_reduce = require("./reduce");
59
+ var loadableRenderer = __toESM(require("./loadable"));
60
+ var styledComponentRenderer = __toESM(require("./styledComponent"));
61
+ const buildTemplateData = (context, data, renderLevel) => {
62
+ const { request } = context;
63
+ return {
64
+ data,
65
+ context: {
66
+ request: {
67
+ params: request.params,
68
+ query: request.query,
69
+ pathname: request.pathname,
70
+ host: request.host,
71
+ url: request.url,
72
+ headers: request.headers,
73
+ cookieMap: request.cookieMap
74
+ }
75
+ },
76
+ renderLevel
77
+ };
78
+ };
79
+ class Entry {
80
+ constructor(options) {
81
+ const { ctx, config } = options;
82
+ const {
83
+ entryName,
84
+ template,
85
+ request: { host }
86
+ } = ctx;
87
+ this.fragments = (0, import_template.toFragments)(template, entryName);
88
+ this.entryName = entryName;
89
+ this.host = host;
90
+ this.App = options.App;
91
+ this.pluginConfig = config;
92
+ this.metrics = ctx.metrics;
93
+ this.logger = ctx.logger;
94
+ this.result = {
95
+ renderLevel: import_types.RenderLevel.CLIENT_RENDER,
96
+ html: "",
97
+ chunksMap: {
98
+ js: "",
99
+ css: ""
100
+ }
101
+ };
102
+ }
103
+ renderToHtml(context) {
104
+ return __async(this, null, function* () {
105
+ var _a, _b, _c;
106
+ const ssrContext = context.ssrContext;
107
+ if ((_a = ssrContext.redirection) == null ? void 0 : _a.url) {
108
+ return "";
109
+ }
110
+ const prefetchData = yield this.prefetch(context);
111
+ if ((_b = ssrContext.redirection) == null ? void 0 : _b.url) {
112
+ return "";
113
+ }
114
+ if (this.result.renderLevel >= import_types.RenderLevel.SERVER_PREFETCH) {
115
+ this.result.html = this.renderToString(context);
116
+ }
117
+ if ((_c = ssrContext.redirection) == null ? void 0 : _c.url) {
118
+ return "";
119
+ }
120
+ let html = "";
121
+ const templateData = buildTemplateData(
122
+ ssrContext,
123
+ prefetchData,
124
+ this.result.renderLevel
125
+ );
126
+ const SSRData = this.getSSRDataScript(templateData);
127
+ for (const fragment of this.fragments) {
128
+ if (fragment.isVariable && fragment.content === "SSRDataScript") {
129
+ html += fragment.getValue(SSRData);
130
+ } else {
131
+ html += fragment.getValue(this.result);
132
+ }
133
+ }
134
+ const helmetData = import_react_helmet.default.renderStatic();
135
+ return helmetData ? (0, import_helmet.default)(html, helmetData) : html;
136
+ });
137
+ }
138
+ prefetch(context) {
139
+ return __async(this, null, function* () {
140
+ let prefetchData;
141
+ const end = (0, import_time.time)();
142
+ try {
143
+ prefetchData = yield (0, import_prefetch.default)(this.App, context);
144
+ this.result.renderLevel = import_types.RenderLevel.SERVER_PREFETCH;
145
+ const prefetchCost = end();
146
+ this.logger.debug(`App Prefetch cost = %d ms`, prefetchCost);
147
+ this.metrics.emitTimer("app.prefetch.cost", prefetchCost);
148
+ } catch (e) {
149
+ this.result.renderLevel = import_types.RenderLevel.CLIENT_RENDER;
150
+ this.logger.error("App Prefetch Render", e);
151
+ this.metrics.emitCounter("app.prefetch.render.error", 1);
152
+ }
153
+ return prefetchData || {};
154
+ });
155
+ }
156
+ renderToString(context) {
157
+ let html = "";
158
+ const end = (0, import_time.time)();
159
+ const { ssrContext } = context;
160
+ try {
161
+ const App = import_react.default.createElement(this.App, {
162
+ context: Object.assign(context, { ssr: true })
163
+ });
164
+ const renderContext = {
165
+ stats: ssrContext.loadableStats,
166
+ host: this.host,
167
+ result: this.result,
168
+ entryName: this.entryName,
169
+ config: this.pluginConfig
170
+ };
171
+ html = (0, import_reduce.reduce)(App, renderContext, [
172
+ styledComponentRenderer.toHtml,
173
+ loadableRenderer.toHtml,
174
+ (jsx) => import_server.default.renderToString(jsx)
175
+ ]);
176
+ const cost = end();
177
+ this.logger.debug("App Render To HTML cost = %d ms", cost);
178
+ this.metrics.emitTimer("app.render.html.cost", cost);
179
+ this.result.renderLevel = import_types.RenderLevel.SERVER_RENDER;
180
+ } catch (e) {
181
+ this.logger.error("App Render To HTML", e);
182
+ this.metrics.emitCounter("app.render.html.error", 1);
183
+ }
184
+ return html;
185
+ }
186
+ getSSRDataScript(templateData) {
187
+ return {
188
+ SSRDataScript: `
189
+ <script>window._SSR_DATA = ${(0, import_serialize_javascript.default)(templateData, {
190
+ isJSON: true
191
+ })}<\/script>
192
+ `
193
+ };
194
+ }
195
+ }
196
+ // Annotate the CommonJS export names for ESM import in node:
197
+ 0 && (module.exports = {});
@@ -0,0 +1,81 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
+ mod
22
+ ));
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+ var __async = (__this, __arguments, generator) => {
25
+ return new Promise((resolve, reject) => {
26
+ var fulfilled = (value) => {
27
+ try {
28
+ step(generator.next(value));
29
+ } catch (e) {
30
+ reject(e);
31
+ }
32
+ };
33
+ var rejected = (value) => {
34
+ try {
35
+ step(generator.throw(value));
36
+ } catch (e) {
37
+ reject(e);
38
+ }
39
+ };
40
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
41
+ step((generator = generator.apply(__this, __arguments)).next());
42
+ });
43
+ };
44
+ var renderToString_exports = {};
45
+ __export(renderToString_exports, {
46
+ render: () => render
47
+ });
48
+ module.exports = __toCommonJS(renderToString_exports);
49
+ var import_ssr = require("@modern-js/utils/ssr");
50
+ var import_prerender = require("../../react/prerender");
51
+ var import_time = require("../time");
52
+ var import_entry = __toESM(require("./entry"));
53
+ const render = ({
54
+ App,
55
+ context,
56
+ config
57
+ }) => {
58
+ const ssrContext = context.ssrContext;
59
+ return (0, import_ssr.run)(ssrContext.request.headers, () => __async(void 0, null, function* () {
60
+ const entry = new import_entry.default({
61
+ ctx: ssrContext,
62
+ App,
63
+ config
64
+ });
65
+ entry.metrics.emitCounter("app.visit.count", 1);
66
+ const end = (0, import_time.time)();
67
+ const html = yield entry.renderToHtml(context);
68
+ const cost = end();
69
+ entry.logger.info("App Render Total cost = %d ms", cost);
70
+ entry.metrics.emitTimer("app.render.cost", cost);
71
+ const cacheConfig = import_prerender.PreRender.config();
72
+ if (cacheConfig) {
73
+ context.ssrContext.cacheConfig = cacheConfig;
74
+ }
75
+ return html;
76
+ }));
77
+ };
78
+ // Annotate the CommonJS export names for ESM import in node:
79
+ 0 && (module.exports = {
80
+ render
81
+ });