@modern-js/runtime 2.15.1-alpha.2 → 2.16.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 (488) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/cjs/cli/index.js +32 -48
  3. package/dist/cjs/common.js +13 -27
  4. package/dist/cjs/config.js +4 -15
  5. package/dist/cjs/core/appConfig.js +13 -26
  6. package/dist/cjs/core/compatible.js +170 -158
  7. package/dist/cjs/core/index.js +38 -45
  8. package/dist/cjs/core/loader/index.js +12 -35
  9. package/dist/cjs/core/loader/loaderManager.js +42 -56
  10. package/dist/cjs/core/loader/useLoader.js +80 -105
  11. package/dist/cjs/core/plugin.js +28 -40
  12. package/dist/cjs/core/types.js +4 -15
  13. package/dist/cjs/document/Body.js +61 -37
  14. package/dist/cjs/document/Comment.js +22 -32
  15. package/dist/cjs/document/DocumentContext.js +14 -37
  16. package/dist/cjs/document/DocumentStructureContext.js +14 -37
  17. package/dist/cjs/document/Head.js +71 -40
  18. package/dist/cjs/document/Html.js +46 -58
  19. package/dist/cjs/document/Links.js +18 -28
  20. package/dist/cjs/document/Root.js +73 -44
  21. package/dist/cjs/document/Script.js +22 -32
  22. package/dist/cjs/document/Scripts.js +18 -28
  23. package/dist/cjs/document/cli/index.js +161 -207
  24. package/dist/cjs/document/constants.js +36 -75
  25. package/dist/cjs/document/index.js +28 -27
  26. package/dist/cjs/exports/head.js +27 -37
  27. package/dist/cjs/exports/loadable.js +27 -37
  28. package/dist/cjs/exports/server.js +7 -25
  29. package/dist/cjs/exports/styled.js +27 -37
  30. package/dist/cjs/index.js +22 -42
  31. package/dist/cjs/router/cli/index.js +91 -114
  32. package/dist/cjs/router/index.js +32 -39
  33. package/dist/cjs/router/runtime/DefaultNotFound.js +23 -38
  34. package/dist/cjs/router/runtime/DeferredDataScripts.js +8 -24
  35. package/dist/cjs/router/runtime/DeferredDataScripts.node.js +69 -112
  36. package/dist/cjs/router/runtime/PrefetchLink.js +117 -96
  37. package/dist/cjs/router/runtime/fetch.js +7 -25
  38. package/dist/cjs/router/runtime/fetch.node.js +7 -25
  39. package/dist/cjs/router/runtime/fetch.worker.js +7 -25
  40. package/dist/cjs/router/runtime/hooks.js +8 -26
  41. package/dist/cjs/router/runtime/index.js +94 -148
  42. package/dist/cjs/router/runtime/plugin.js +56 -76
  43. package/dist/cjs/router/runtime/plugin.node.js +95 -74
  44. package/dist/cjs/router/runtime/server.js +18 -17
  45. package/dist/cjs/router/runtime/types.js +4 -15
  46. package/dist/cjs/router/runtime/utils.js +57 -83
  47. package/dist/cjs/router/runtime/withRouter.js +24 -39
  48. package/dist/cjs/runtimeContext.js +14 -27
  49. package/dist/cjs/ssr/cli/babel-plugin-ssr-loader-id.js +75 -59
  50. package/dist/cjs/ssr/cli/index.js +120 -150
  51. package/dist/cjs/ssr/index.js +149 -132
  52. package/dist/cjs/ssr/index.node.js +73 -74
  53. package/dist/cjs/ssr/prefetch.js +51 -59
  54. package/dist/cjs/ssr/react/index.js +15 -28
  55. package/dist/cjs/ssr/react/nossr/index.js +51 -43
  56. package/dist/cjs/ssr/react/prerender/index.js +93 -59
  57. package/dist/cjs/ssr/react/prerender/type.js +4 -15
  58. package/dist/cjs/ssr/react/prerender/util.js +32 -51
  59. package/dist/cjs/ssr/react/withCallback/index.js +53 -29
  60. package/dist/cjs/ssr/serverRender/helmet.js +15 -26
  61. package/dist/cjs/ssr/serverRender/index.js +14 -32
  62. package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +15 -34
  63. package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.share.js +12 -28
  64. package/dist/cjs/ssr/serverRender/renderToStream/bulidTemplate.before.js +28 -55
  65. package/dist/cjs/ssr/serverRender/renderToStream/index.js +23 -48
  66. package/dist/cjs/ssr/serverRender/renderToStream/loadable.js +13 -32
  67. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.js +33 -64
  68. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.worker.js +26 -54
  69. package/dist/cjs/ssr/serverRender/renderToStream/styledComponent.js +9 -27
  70. package/dist/cjs/ssr/serverRender/renderToStream/template.js +11 -32
  71. package/dist/cjs/ssr/serverRender/renderToStream/type.js +4 -15
  72. package/dist/cjs/ssr/serverRender/renderToString/entry.js +133 -99
  73. package/dist/cjs/ssr/serverRender/renderToString/index.js +21 -48
  74. package/dist/cjs/ssr/serverRender/renderToString/loadable.js +20 -45
  75. package/dist/cjs/ssr/serverRender/renderToString/reduce.js +13 -25
  76. package/dist/cjs/ssr/serverRender/renderToString/styledComponent.js +9 -27
  77. package/dist/cjs/ssr/serverRender/renderToString/template.js +42 -37
  78. package/dist/cjs/ssr/serverRender/renderToString/type.js +10 -28
  79. package/dist/cjs/ssr/serverRender/time.js +7 -25
  80. package/dist/cjs/ssr/serverRender/time.worker.js +11 -26
  81. package/dist/cjs/ssr/serverRender/types.js +7 -25
  82. package/dist/cjs/ssr/serverRender/utils.js +12 -27
  83. package/dist/cjs/ssr/utils.js +26 -51
  84. package/dist/cjs/state/cli/index.js +71 -95
  85. package/dist/cjs/state/index.js +32 -39
  86. package/dist/cjs/state/plugins.js +26 -46
  87. package/dist/cjs/state/runtime/index.js +27 -37
  88. package/dist/cjs/state/runtime/plugin.js +82 -84
  89. package/dist/cjs/state/types.js +4 -15
  90. package/dist/esm/cli/index.js +184 -176
  91. package/dist/esm/common.js +4 -5
  92. package/dist/esm/config.js +1 -1
  93. package/dist/esm/core/appConfig.js +8 -7
  94. package/dist/esm/core/compatible.js +470 -448
  95. package/dist/esm/core/index.js +3 -4
  96. package/dist/esm/core/loader/index.js +1 -2
  97. package/dist/esm/core/loader/loaderManager.js +391 -366
  98. package/dist/esm/core/loader/useLoader.js +173 -162
  99. package/dist/esm/core/plugin.js +162 -155
  100. package/dist/esm/core/types.js +1 -1
  101. package/dist/esm/document/Body.js +12 -13
  102. package/dist/esm/document/Comment.js +11 -12
  103. package/dist/esm/document/DocumentContext.js +4 -5
  104. package/dist/esm/document/DocumentStructureContext.js +6 -7
  105. package/dist/esm/document/Head.js +16 -17
  106. package/dist/esm/document/Html.js +84 -85
  107. package/dist/esm/document/Links.js +5 -6
  108. package/dist/esm/document/Root.js +20 -21
  109. package/dist/esm/document/Script.js +12 -13
  110. package/dist/esm/document/Scripts.js +5 -6
  111. package/dist/esm/document/cli/index.js +390 -371
  112. package/dist/esm/document/constants.js +33 -34
  113. package/dist/esm/exports/head.js +1 -2
  114. package/dist/esm/exports/loadable.js +1 -2
  115. package/dist/esm/exports/server.js +2 -3
  116. package/dist/esm/exports/styled.js +1 -2
  117. package/dist/esm/index.js +2 -3
  118. package/dist/esm/router/cli/index.js +141 -141
  119. package/dist/esm/router/index.js +2 -3
  120. package/dist/esm/router/runtime/DefaultNotFound.js +12 -13
  121. package/dist/esm/router/runtime/DeferredDataScripts.js +4 -4
  122. package/dist/esm/router/runtime/DeferredDataScripts.node.js +154 -143
  123. package/dist/esm/router/runtime/PrefetchLink.js +418 -394
  124. package/dist/esm/router/runtime/fetch.js +2 -1
  125. package/dist/esm/router/runtime/fetch.worker.js +2 -1
  126. package/dist/esm/router/runtime/index.js +60 -9
  127. package/dist/esm/router/runtime/plugin.js +141 -142
  128. package/dist/esm/router/runtime/plugin.node.js +372 -353
  129. package/dist/esm/router/runtime/types.js +1 -1
  130. package/dist/esm/router/runtime/utils.js +295 -279
  131. package/dist/esm/router/runtime/withRouter.js +57 -58
  132. package/dist/esm/runtimeContext.js +2 -3
  133. package/dist/esm/ssr/cli/babel-plugin-ssr-loader-id.js +105 -118
  134. package/dist/esm/ssr/cli/index.js +146 -146
  135. package/dist/esm/ssr/index.js +303 -297
  136. package/dist/esm/ssr/index.node.js +227 -221
  137. package/dist/esm/ssr/prefetch.js +192 -186
  138. package/dist/esm/ssr/react/index.js +2 -3
  139. package/dist/esm/ssr/react/nossr/index.js +58 -47
  140. package/dist/esm/ssr/react/prerender/index.js +214 -206
  141. package/dist/esm/ssr/react/prerender/type.js +1 -1
  142. package/dist/esm/ssr/react/prerender/util.js +91 -92
  143. package/dist/esm/ssr/react/withCallback/index.js +13 -14
  144. package/dist/esm/ssr/serverRender/helmet.js +34 -35
  145. package/dist/esm/ssr/serverRender/index.js +167 -160
  146. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.after.js +58 -59
  147. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.share.js +5 -6
  148. package/dist/esm/ssr/serverRender/renderToStream/bulidTemplate.before.js +106 -93
  149. package/dist/esm/ssr/serverRender/renderToStream/index.js +157 -151
  150. package/dist/esm/ssr/serverRender/renderToStream/loadable.js +17 -18
  151. package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.js +117 -117
  152. package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.worker.js +286 -279
  153. package/dist/esm/ssr/serverRender/renderToStream/styledComponent.js +8 -9
  154. package/dist/esm/ssr/serverRender/renderToStream/template.js +62 -51
  155. package/dist/esm/ssr/serverRender/renderToStream/type.js +1 -1
  156. package/dist/esm/ssr/serverRender/renderToString/entry.js +393 -383
  157. package/dist/esm/ssr/serverRender/renderToString/index.js +158 -152
  158. package/dist/esm/ssr/serverRender/renderToString/loadable.js +46 -47
  159. package/dist/esm/ssr/serverRender/renderToString/reduce.js +7 -8
  160. package/dist/esm/ssr/serverRender/renderToString/styledComponent.js +6 -7
  161. package/dist/esm/ssr/serverRender/renderToString/template.js +142 -128
  162. package/dist/esm/ssr/serverRender/renderToString/type.js +6 -7
  163. package/dist/esm/ssr/serverRender/time.js +57 -46
  164. package/dist/esm/ssr/serverRender/time.worker.js +72 -61
  165. package/dist/esm/ssr/serverRender/utils.js +14 -15
  166. package/dist/esm/ssr/utils.js +128 -117
  167. package/dist/esm/state/cli/index.js +67 -67
  168. package/dist/esm/state/index.js +2 -3
  169. package/dist/esm/state/plugins.js +7 -8
  170. package/dist/esm/state/runtime/index.js +1 -2
  171. package/dist/esm/state/runtime/plugin.js +177 -166
  172. package/dist/esm/state/types.js +1 -1
  173. package/dist/esm-node/cli/index.js +11 -9
  174. package/dist/esm-node/common.js +3 -8
  175. package/dist/esm-node/config.js +1 -0
  176. package/dist/esm-node/core/appConfig.js +2 -6
  177. package/dist/esm-node/core/compatible.js +104 -120
  178. package/dist/esm-node/core/index.js +3 -13
  179. package/dist/esm-node/core/loader/index.js +1 -4
  180. package/dist/esm-node/core/loader/loaderManager.js +25 -25
  181. package/dist/esm-node/core/loader/useLoader.js +60 -74
  182. package/dist/esm-node/core/plugin.js +9 -15
  183. package/dist/esm-node/core/types.js +1 -0
  184. package/dist/esm-node/document/Body.js +11 -15
  185. package/dist/esm-node/document/Comment.js +10 -14
  186. package/dist/esm-node/document/DocumentContext.js +1 -4
  187. package/dist/esm-node/document/DocumentStructureContext.js +1 -4
  188. package/dist/esm-node/document/Head.js +14 -14
  189. package/dist/esm-node/document/Html.js +31 -34
  190. package/dist/esm-node/document/Links.js +5 -6
  191. package/dist/esm-node/document/Root.js +19 -21
  192. package/dist/esm-node/document/Script.js +10 -14
  193. package/dist/esm-node/document/Scripts.js +5 -6
  194. package/dist/esm-node/document/cli/index.js +136 -184
  195. package/dist/esm-node/document/constants.js +22 -52
  196. package/dist/esm-node/exports/head.js +1 -4
  197. package/dist/esm-node/exports/loadable.js +1 -4
  198. package/dist/esm-node/exports/server.js +1 -4
  199. package/dist/esm-node/exports/styled.js +1 -4
  200. package/dist/esm-node/index.js +2 -22
  201. package/dist/esm-node/router/cli/index.js +83 -98
  202. package/dist/esm-node/router/index.js +2 -6
  203. package/dist/esm-node/router/runtime/DefaultNotFound.js +11 -17
  204. package/dist/esm-node/router/runtime/DeferredDataScripts.js +1 -4
  205. package/dist/esm-node/router/runtime/DeferredDataScripts.node.js +51 -85
  206. package/dist/esm-node/router/runtime/PrefetchLink.js +53 -59
  207. package/dist/esm-node/router/runtime/fetch.js +1 -3
  208. package/dist/esm-node/router/runtime/fetch.node.js +1 -3
  209. package/dist/esm-node/router/runtime/fetch.worker.js +1 -3
  210. package/dist/esm-node/router/runtime/hooks.js +1 -3
  211. package/dist/esm-node/router/runtime/index.js +6 -67
  212. package/dist/esm-node/router/runtime/plugin.js +27 -41
  213. package/dist/esm-node/router/runtime/plugin.node.js +24 -32
  214. package/dist/esm-node/router/runtime/types.js +1 -0
  215. package/dist/esm-node/router/runtime/utils.js +34 -50
  216. package/dist/esm-node/router/runtime/withRouter.js +8 -14
  217. package/dist/esm-node/runtimeContext.js +2 -6
  218. package/dist/esm-node/ssr/cli/babel-plugin-ssr-loader-id.js +99 -119
  219. package/dist/esm-node/ssr/cli/index.js +106 -125
  220. package/dist/esm-node/ssr/index.js +112 -96
  221. package/dist/esm-node/ssr/index.node.js +39 -39
  222. package/dist/esm-node/ssr/prefetch.js +40 -35
  223. package/dist/esm-node/ssr/react/index.js +2 -6
  224. package/dist/esm-node/ssr/react/nossr/index.js +2 -9
  225. package/dist/esm-node/ssr/react/prerender/index.js +32 -23
  226. package/dist/esm-node/ssr/react/prerender/type.js +1 -0
  227. package/dist/esm-node/ssr/react/prerender/util.js +23 -33
  228. package/dist/esm-node/ssr/react/withCallback/index.js +4 -5
  229. package/dist/esm-node/ssr/serverRender/helmet.js +2 -5
  230. package/dist/esm-node/ssr/serverRender/index.js +5 -10
  231. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.after.js +5 -9
  232. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.share.js +3 -10
  233. package/dist/esm-node/ssr/serverRender/renderToStream/bulidTemplate.before.js +7 -17
  234. package/dist/esm-node/ssr/serverRender/renderToStream/index.js +2 -7
  235. package/dist/esm-node/ssr/serverRender/renderToStream/loadable.js +4 -8
  236. package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.js +21 -39
  237. package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.worker.js +16 -31
  238. package/dist/esm-node/ssr/serverRender/renderToStream/styledComponent.js +1 -4
  239. package/dist/esm-node/ssr/serverRender/renderToStream/template.js +2 -8
  240. package/dist/esm-node/ssr/serverRender/renderToStream/type.js +1 -0
  241. package/dist/esm-node/ssr/serverRender/renderToString/entry.js +50 -39
  242. package/dist/esm-node/ssr/serverRender/renderToString/index.js +1 -8
  243. package/dist/esm-node/ssr/serverRender/renderToString/loadable.js +8 -18
  244. package/dist/esm-node/ssr/serverRender/renderToString/reduce.js +1 -4
  245. package/dist/esm-node/ssr/serverRender/renderToString/styledComponent.js +1 -4
  246. package/dist/esm-node/ssr/serverRender/renderToString/template.js +32 -18
  247. package/dist/esm-node/ssr/serverRender/renderToString/type.js +3 -6
  248. package/dist/esm-node/ssr/serverRender/time.js +1 -4
  249. package/dist/esm-node/ssr/serverRender/time.worker.js +5 -5
  250. package/dist/esm-node/ssr/serverRender/types.js +1 -3
  251. package/dist/esm-node/ssr/serverRender/utils.js +4 -10
  252. package/dist/esm-node/ssr/utils.js +8 -19
  253. package/dist/esm-node/state/cli/index.js +63 -78
  254. package/dist/esm-node/state/index.js +2 -6
  255. package/dist/esm-node/state/plugins.js +4 -10
  256. package/dist/esm-node/state/runtime/index.js +1 -4
  257. package/dist/esm-node/state/runtime/plugin.js +47 -44
  258. package/dist/esm-node/state/types.js +1 -0
  259. package/package.json +14 -10
  260. package/types/model.d.ts +1 -0
  261. package/dist/js/modern/cli/index.js +0 -72
  262. package/dist/js/modern/common.js +0 -4
  263. package/dist/js/modern/config.js +0 -0
  264. package/dist/js/modern/core/app-config.js +0 -10
  265. package/dist/js/modern/core/compatible.js +0 -285
  266. package/dist/js/modern/core/index.js +0 -16
  267. package/dist/js/modern/core/loader/index.js +0 -4
  268. package/dist/js/modern/core/loader/loaderManager.js +0 -165
  269. package/dist/js/modern/core/loader/useLoader.js +0 -114
  270. package/dist/js/modern/core/plugin.js +0 -58
  271. package/dist/js/modern/document/Body.js +0 -23
  272. package/dist/js/modern/document/DocumentContext.js +0 -9
  273. package/dist/js/modern/document/DocumentStructrueContext.js +0 -11
  274. package/dist/js/modern/document/Head.js +0 -27
  275. package/dist/js/modern/document/Html.js +0 -78
  276. package/dist/js/modern/document/Links.js +0 -10
  277. package/dist/js/modern/document/Root.js +0 -33
  278. package/dist/js/modern/document/Script.js +0 -20
  279. package/dist/js/modern/document/Scripts.js +0 -10
  280. package/dist/js/modern/document/cli/index.js +0 -228
  281. package/dist/js/modern/document/constants.js +0 -49
  282. package/dist/js/modern/document/index.js +0 -10
  283. package/dist/js/modern/exports/head.js +0 -6
  284. package/dist/js/modern/exports/loadable.js +0 -6
  285. package/dist/js/modern/exports/server.js +0 -4
  286. package/dist/js/modern/exports/styled.js +0 -6
  287. package/dist/js/modern/index.js +0 -22
  288. package/dist/js/modern/router/cli/index.js +0 -120
  289. package/dist/js/modern/router/index.js +0 -7
  290. package/dist/js/modern/router/runtime/DefaultNotFound.js +0 -14
  291. package/dist/js/modern/router/runtime/index.js +0 -9
  292. package/dist/js/modern/router/runtime/plugin.js +0 -104
  293. package/dist/js/modern/router/runtime/plugin.node.js +0 -149
  294. package/dist/js/modern/router/runtime/server.js +0 -1
  295. package/dist/js/modern/router/runtime/types.js +0 -0
  296. package/dist/js/modern/router/runtime/utils.js +0 -196
  297. package/dist/js/modern/router/runtime/withRouter.js +0 -36
  298. package/dist/js/modern/runtime-context.js +0 -7
  299. package/dist/js/modern/ssr/cli/babel-plugin-ssr-loader-id.js +0 -130
  300. package/dist/js/modern/ssr/cli/index.js +0 -172
  301. package/dist/js/modern/ssr/index.js +0 -159
  302. package/dist/js/modern/ssr/index.node.js +0 -79
  303. package/dist/js/modern/ssr/prefetch.js +0 -69
  304. package/dist/js/modern/ssr/react/index.js +0 -6
  305. package/dist/js/modern/ssr/react/nossr/index.js +0 -14
  306. package/dist/js/modern/ssr/react/prerender/index.js +0 -108
  307. package/dist/js/modern/ssr/react/prerender/type.js +0 -0
  308. package/dist/js/modern/ssr/react/prerender/util.js +0 -96
  309. package/dist/js/modern/ssr/react/withCallback/index.js +0 -15
  310. package/dist/js/modern/ssr/serverRender/helmet.js +0 -44
  311. package/dist/js/modern/ssr/serverRender/index.js +0 -35
  312. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -36
  313. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -11
  314. package/dist/js/modern/ssr/serverRender/renderToStream/bulidTemplate.before.js +0 -61
  315. package/dist/js/modern/ssr/serverRender/renderToStream/index.js +0 -58
  316. package/dist/js/modern/ssr/serverRender/renderToStream/loadable.js +0 -24
  317. package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.js +0 -94
  318. package/dist/js/modern/ssr/serverRender/renderToStream/styledComponent.js +0 -12
  319. package/dist/js/modern/ssr/serverRender/renderToStream/template.js +0 -22
  320. package/dist/js/modern/ssr/serverRender/renderToStream/type.js +0 -0
  321. package/dist/js/modern/ssr/serverRender/renderToString/entry.js +0 -171
  322. package/dist/js/modern/ssr/serverRender/renderToString/index.js +0 -52
  323. package/dist/js/modern/ssr/serverRender/renderToString/loadable.js +0 -48
  324. package/dist/js/modern/ssr/serverRender/renderToString/reduce.js +0 -8
  325. package/dist/js/modern/ssr/serverRender/renderToString/styledComponent.js +0 -11
  326. package/dist/js/modern/ssr/serverRender/renderToString/template.js +0 -58
  327. package/dist/js/modern/ssr/serverRender/renderToString/type.js +0 -9
  328. package/dist/js/modern/ssr/serverRender/types.js +0 -4
  329. package/dist/js/modern/ssr/serverRender/utils.js +0 -22
  330. package/dist/js/modern/ssr/utils.js +0 -81
  331. package/dist/js/modern/state/cli/index.js +0 -83
  332. package/dist/js/modern/state/index.js +0 -7
  333. package/dist/js/modern/state/plugins.js +0 -13
  334. package/dist/js/modern/state/runtime/index.js +0 -9
  335. package/dist/js/modern/state/runtime/plugin.js +0 -97
  336. package/dist/js/modern/state/types.js +0 -0
  337. package/dist/js/node/cli/index.js +0 -99
  338. package/dist/js/node/common.js +0 -27
  339. package/dist/js/node/config.js +0 -15
  340. package/dist/js/node/core/app-config.js +0 -34
  341. package/dist/js/node/core/compatible.js +0 -312
  342. package/dist/js/node/core/index.js +0 -47
  343. package/dist/js/node/core/loader/index.js +0 -33
  344. package/dist/js/node/core/loader/loaderManager.js +0 -195
  345. package/dist/js/node/core/loader/useLoader.js +0 -132
  346. package/dist/js/node/core/plugin.js +0 -80
  347. package/dist/js/node/document/Body.js +0 -43
  348. package/dist/js/node/document/DocumentContext.js +0 -38
  349. package/dist/js/node/document/DocumentStructrueContext.js +0 -40
  350. package/dist/js/node/document/Head.js +0 -51
  351. package/dist/js/node/document/Html.js +0 -101
  352. package/dist/js/node/document/Links.js +0 -33
  353. package/dist/js/node/document/Root.js +0 -57
  354. package/dist/js/node/document/Script.js +0 -40
  355. package/dist/js/node/document/Scripts.js +0 -33
  356. package/dist/js/node/document/cli/index.js +0 -240
  357. package/dist/js/node/document/constants.js +0 -86
  358. package/dist/js/node/document/index.js +0 -26
  359. package/dist/js/node/exports/head.js +0 -34
  360. package/dist/js/node/exports/loadable.js +0 -34
  361. package/dist/js/node/exports/server.js +0 -27
  362. package/dist/js/node/exports/styled.js +0 -34
  363. package/dist/js/node/index.js +0 -44
  364. package/dist/js/node/router/cli/index.js +0 -135
  365. package/dist/js/node/router/index.js +0 -37
  366. package/dist/js/node/router/runtime/DefaultNotFound.js +0 -37
  367. package/dist/js/node/router/runtime/index.js +0 -33
  368. package/dist/js/node/router/runtime/plugin.js +0 -127
  369. package/dist/js/node/router/runtime/plugin.node.js +0 -175
  370. package/dist/js/node/router/runtime/server.js +0 -17
  371. package/dist/js/node/router/runtime/types.js +0 -15
  372. package/dist/js/node/router/runtime/utils.js +0 -221
  373. package/dist/js/node/router/runtime/withRouter.js +0 -57
  374. package/dist/js/node/runtime-context.js +0 -31
  375. package/dist/js/node/ssr/cli/babel-plugin-ssr-loader-id.js +0 -139
  376. package/dist/js/node/ssr/cli/index.js +0 -190
  377. package/dist/js/node/ssr/index.js +0 -185
  378. package/dist/js/node/ssr/index.node.js +0 -107
  379. package/dist/js/node/ssr/prefetch.js +0 -90
  380. package/dist/js/node/ssr/react/index.js +0 -30
  381. package/dist/js/node/ssr/react/nossr/index.js +0 -43
  382. package/dist/js/node/ssr/react/prerender/index.js +0 -130
  383. package/dist/js/node/ssr/react/prerender/type.js +0 -15
  384. package/dist/js/node/ssr/react/prerender/util.js +0 -123
  385. package/dist/js/node/ssr/react/withCallback/index.js +0 -38
  386. package/dist/js/node/ssr/serverRender/helmet.js +0 -65
  387. package/dist/js/node/ssr/serverRender/index.js +0 -56
  388. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -65
  389. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -35
  390. package/dist/js/node/ssr/serverRender/renderToStream/bulidTemplate.before.js +0 -87
  391. package/dist/js/node/ssr/serverRender/renderToStream/index.js +0 -87
  392. package/dist/js/node/ssr/serverRender/renderToStream/loadable.js +0 -47
  393. package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.js +0 -111
  394. package/dist/js/node/ssr/serverRender/renderToStream/styledComponent.js +0 -35
  395. package/dist/js/node/ssr/serverRender/renderToStream/template.js +0 -45
  396. package/dist/js/node/ssr/serverRender/renderToStream/type.js +0 -15
  397. package/dist/js/node/ssr/serverRender/renderToString/entry.js +0 -196
  398. package/dist/js/node/ssr/serverRender/renderToString/index.js +0 -81
  399. package/dist/js/node/ssr/serverRender/renderToString/loadable.js +0 -71
  400. package/dist/js/node/ssr/serverRender/renderToString/reduce.js +0 -31
  401. package/dist/js/node/ssr/serverRender/renderToString/styledComponent.js +0 -34
  402. package/dist/js/node/ssr/serverRender/renderToString/template.js +0 -82
  403. package/dist/js/node/ssr/serverRender/renderToString/type.js +0 -32
  404. package/dist/js/node/ssr/serverRender/types.js +0 -27
  405. package/dist/js/node/ssr/serverRender/utils.js +0 -46
  406. package/dist/js/node/ssr/utils.js +0 -106
  407. package/dist/js/node/state/cli/index.js +0 -100
  408. package/dist/js/node/state/index.js +0 -37
  409. package/dist/js/node/state/plugins.js +0 -45
  410. package/dist/js/node/state/runtime/index.js +0 -40
  411. package/dist/js/node/state/runtime/plugin.js +0 -121
  412. package/dist/js/node/state/types.js +0 -15
  413. package/dist/js/treeshaking/cli/index.js +0 -186
  414. package/dist/js/treeshaking/common.js +0 -4
  415. package/dist/js/treeshaking/config.js +0 -1
  416. package/dist/js/treeshaking/core/app-config.js +0 -9
  417. package/dist/js/treeshaking/core/compatible.js +0 -485
  418. package/dist/js/treeshaking/core/index.js +0 -7
  419. package/dist/js/treeshaking/core/loader/index.js +0 -2
  420. package/dist/js/treeshaking/core/loader/loaderManager.js +0 -406
  421. package/dist/js/treeshaking/core/loader/useLoader.js +0 -188
  422. package/dist/js/treeshaking/core/plugin.js +0 -176
  423. package/dist/js/treeshaking/document/Body.js +0 -18
  424. package/dist/js/treeshaking/document/DocumentContext.js +0 -7
  425. package/dist/js/treeshaking/document/DocumentStructrueContext.js +0 -9
  426. package/dist/js/treeshaking/document/Head.js +0 -24
  427. package/dist/js/treeshaking/document/Html.js +0 -99
  428. package/dist/js/treeshaking/document/Links.js +0 -8
  429. package/dist/js/treeshaking/document/Root.js +0 -26
  430. package/dist/js/treeshaking/document/Script.js +0 -15
  431. package/dist/js/treeshaking/document/Scripts.js +0 -8
  432. package/dist/js/treeshaking/document/cli/index.js +0 -393
  433. package/dist/js/treeshaking/document/constants.js +0 -35
  434. package/dist/js/treeshaking/document/index.js +0 -10
  435. package/dist/js/treeshaking/exports/head.js +0 -4
  436. package/dist/js/treeshaking/exports/loadable.js +0 -4
  437. package/dist/js/treeshaking/exports/server.js +0 -4
  438. package/dist/js/treeshaking/exports/styled.js +0 -4
  439. package/dist/js/treeshaking/index.js +0 -3
  440. package/dist/js/treeshaking/router/cli/index.js +0 -148
  441. package/dist/js/treeshaking/router/index.js +0 -4
  442. package/dist/js/treeshaking/router/runtime/DefaultNotFound.js +0 -14
  443. package/dist/js/treeshaking/router/runtime/index.js +0 -6
  444. package/dist/js/treeshaking/router/runtime/plugin.js +0 -132
  445. package/dist/js/treeshaking/router/runtime/plugin.node.js +0 -390
  446. package/dist/js/treeshaking/router/runtime/server.js +0 -1
  447. package/dist/js/treeshaking/router/runtime/types.js +0 -1
  448. package/dist/js/treeshaking/router/runtime/utils.js +0 -260
  449. package/dist/js/treeshaking/router/runtime/withRouter.js +0 -67
  450. package/dist/js/treeshaking/runtime-context.js +0 -4
  451. package/dist/js/treeshaking/ssr/cli/babel-plugin-ssr-loader-id.js +0 -122
  452. package/dist/js/treeshaking/ssr/cli/index.js +0 -217
  453. package/dist/js/treeshaking/ssr/index.js +0 -315
  454. package/dist/js/treeshaking/ssr/index.node.js +0 -240
  455. package/dist/js/treeshaking/ssr/prefetch.js +0 -199
  456. package/dist/js/treeshaking/ssr/react/index.js +0 -3
  457. package/dist/js/treeshaking/ssr/react/nossr/index.js +0 -58
  458. package/dist/js/treeshaking/ssr/react/prerender/index.js +0 -237
  459. package/dist/js/treeshaking/ssr/react/prerender/type.js +0 -1
  460. package/dist/js/treeshaking/ssr/react/prerender/util.js +0 -108
  461. package/dist/js/treeshaking/ssr/react/withCallback/index.js +0 -16
  462. package/dist/js/treeshaking/ssr/serverRender/helmet.js +0 -42
  463. package/dist/js/treeshaking/ssr/serverRender/index.js +0 -169
  464. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -34
  465. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -7
  466. package/dist/js/treeshaking/ssr/serverRender/renderToStream/bulidTemplate.before.js +0 -115
  467. package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.js +0 -165
  468. package/dist/js/treeshaking/ssr/serverRender/renderToStream/loadable.js +0 -22
  469. package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.js +0 -119
  470. package/dist/js/treeshaking/ssr/serverRender/renderToStream/styledComponent.js +0 -11
  471. package/dist/js/treeshaking/ssr/serverRender/renderToStream/template.js +0 -63
  472. package/dist/js/treeshaking/ssr/serverRender/renderToStream/type.js +0 -1
  473. package/dist/js/treeshaking/ssr/serverRender/renderToString/entry.js +0 -393
  474. package/dist/js/treeshaking/ssr/serverRender/renderToString/index.js +0 -165
  475. package/dist/js/treeshaking/ssr/serverRender/renderToString/loadable.js +0 -56
  476. package/dist/js/treeshaking/ssr/serverRender/renderToString/reduce.js +0 -10
  477. package/dist/js/treeshaking/ssr/serverRender/renderToString/styledComponent.js +0 -9
  478. package/dist/js/treeshaking/ssr/serverRender/renderToString/template.js +0 -156
  479. package/dist/js/treeshaking/ssr/serverRender/renderToString/type.js +0 -7
  480. package/dist/js/treeshaking/ssr/serverRender/types.js +0 -2
  481. package/dist/js/treeshaking/ssr/serverRender/utils.js +0 -69
  482. package/dist/js/treeshaking/ssr/utils.js +0 -134
  483. package/dist/js/treeshaking/state/cli/index.js +0 -71
  484. package/dist/js/treeshaking/state/index.js +0 -4
  485. package/dist/js/treeshaking/state/plugins.js +0 -14
  486. package/dist/js/treeshaking/state/runtime/index.js +0 -5
  487. package/dist/js/treeshaking/state/runtime/plugin.js +0 -198
  488. package/dist/js/treeshaking/state/types.js +0 -1
@@ -1,96 +0,0 @@
1
- const REQUEST_META = ["header", "query"];
2
- const getInnermostProperty = function getInnermostProperty2(propsList, propName) {
3
- for (let i = propsList.length - 1; i >= 0; i--) {
4
- const props = propsList[i];
5
- if (props.hasOwnProperty(propName)) {
6
- return props[propName];
7
- }
8
- }
9
- return null;
10
- };
11
- const getOutermostProperty = function getOutermostProperty2(propsList, propName) {
12
- for (const props of propsList) {
13
- if (props.hasOwnProperty(propName)) {
14
- return props[propName];
15
- }
16
- }
17
- return null;
18
- };
19
- const aggKeysFromPropsList = function aggKeysFromPropsList2(propsList, propName) {
20
- const initResult = REQUEST_META.reduce(
21
- (result, next) => {
22
- const key = next;
23
- result[key] = [];
24
- return result;
25
- },
26
- {}
27
- );
28
- const res = propsList.filter((props) => usefulObject(props[propName])).reduce((result, next) => {
29
- REQUEST_META.forEach((key) => {
30
- const prop = next[propName];
31
- if ((prop == null ? void 0 : prop.hasOwnProperty(key)) && usefulArray(prop[key])) {
32
- result[key] = unique(result[key].concat(prop[key]));
33
- }
34
- });
35
- return result;
36
- }, initResult);
37
- return REQUEST_META.reduce((result, next) => {
38
- var _a;
39
- const key = next;
40
- if (result[key] && ((_a = result[key]) == null ? void 0 : _a.length) === 0) {
41
- delete result[key];
42
- }
43
- return result;
44
- }, res);
45
- };
46
- const aggMatchesFromPropsList = function aggMatchesFromPropsList2(propsList, propName) {
47
- const initResult = REQUEST_META.reduce(
48
- (result, next) => {
49
- const key = next;
50
- result[key] = {};
51
- return result;
52
- },
53
- {}
54
- );
55
- const res = propsList.filter((props) => usefulObject(props[propName])).reduce((result, next) => {
56
- REQUEST_META.forEach((key) => {
57
- const prop = next[propName];
58
- if ((prop == null ? void 0 : prop.hasOwnProperty(key)) && usefulObject(prop[key])) {
59
- result[key] = Object.assign(result[key], prop[key]);
60
- }
61
- });
62
- return result;
63
- }, initResult);
64
- return REQUEST_META.reduce((result, next) => {
65
- const key = next;
66
- if (result[key] && Object.keys(result[key]).length === 0) {
67
- delete result[key];
68
- }
69
- return result;
70
- }, res);
71
- };
72
- function unique(arr) {
73
- return Array.from(new Set(arr));
74
- }
75
- function usefulObject(target) {
76
- if (!exist(target)) {
77
- return false;
78
- }
79
- return target.constructor === Object && Object.keys(target).length > 0;
80
- }
81
- function usefulArray(target) {
82
- if (!exist(target)) {
83
- return false;
84
- }
85
- return Array.isArray(target) && target.length > 0;
86
- }
87
- function exist(target) {
88
- return target != null;
89
- }
90
- export {
91
- aggKeysFromPropsList,
92
- aggMatchesFromPropsList,
93
- exist,
94
- getInnermostProperty,
95
- getOutermostProperty
96
- };
@@ -1,15 +0,0 @@
1
- import { useRef, useLayoutEffect } from "react";
2
- const WithCallback = ({ callback, children }) => {
3
- const once = useRef(false);
4
- useLayoutEffect(() => {
5
- if (once.current) {
6
- return;
7
- }
8
- once.current = true;
9
- callback();
10
- }, [callback]);
11
- return children;
12
- };
13
- export {
14
- WithCallback
15
- };
@@ -1,44 +0,0 @@
1
- import { EOL } from "os";
2
- const RE_HTML_ATTR = /<html[^>]*>/;
3
- const RE_BODY_ATTR = /<body[^>]*>/;
4
- const RE_LAST_IN_HEAD = /<\/head>/;
5
- const RE_TITLE = /<title[^>]*>([\s\S\n\r]*?)<\/title>/;
6
- const TEST_TITLE_CONTENT = new RegExp("(?<=<title[^>]*>)([\\s\\S\\n\\r]*?)([.|\\S])([\\s\\S\\n\\r]*?)(?=<\\/title>)");
7
- function helmet(content, helmetData) {
8
- let result = content;
9
- const bodyAttributes = helmetData.bodyAttributes.toString();
10
- if (bodyAttributes) {
11
- result = result.replace(RE_BODY_ATTR, `<body ${bodyAttributes}>`);
12
- }
13
- const htmlAttributes = helmetData.htmlAttributes.toString();
14
- if (htmlAttributes) {
15
- result = result.replace(RE_HTML_ATTR, `<html ${htmlAttributes}>`);
16
- }
17
- const base = helmetData.base.toString();
18
- const link = helmetData.link.toString();
19
- const meta = helmetData.meta.toString();
20
- const noscript = helmetData.noscript.toString();
21
- const script = helmetData.script.toString();
22
- const style = helmetData.style.toString();
23
- const title = helmetData.title.toString();
24
- const existTitleTag = RE_TITLE.test(content);
25
- const shouldReplaceTitle = existTitleTag && TEST_TITLE_CONTENT.test(title.trim());
26
- if (shouldReplaceTitle) {
27
- result = result.replace(RE_TITLE, title);
28
- }
29
- const helmetStr = [
30
- base,
31
- link,
32
- meta,
33
- noscript,
34
- script,
35
- style,
36
- !existTitleTag ? title : ""
37
- ].reduce((pre, cur) => {
38
- return pre + (cur.length > 0 ? ` ${cur}${EOL}` : "");
39
- }, "");
40
- return result.replace(RE_LAST_IN_HEAD, `${helmetStr}</head>`);
41
- }
42
- export {
43
- helmet as default
44
- };
@@ -1,35 +0,0 @@
1
- var __async = (__this, __arguments, generator) => {
2
- return new Promise((resolve, reject) => {
3
- var fulfilled = (value) => {
4
- try {
5
- step(generator.next(value));
6
- } catch (e) {
7
- reject(e);
8
- }
9
- };
10
- var rejected = (value) => {
11
- try {
12
- step(generator.throw(value));
13
- } catch (e) {
14
- reject(e);
15
- }
16
- };
17
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
- step((generator = generator.apply(__this, __arguments)).next());
19
- });
20
- };
21
- import { isReact18 } from "../utils";
22
- function serverRender(options) {
23
- return __async(this, null, function* () {
24
- if (isReact18() && options.config.mode === "stream") {
25
- const pipe = yield require("./renderToStream").render(options);
26
- return pipe;
27
- } else {
28
- const html = yield require("./renderToString").render(options);
29
- return html;
30
- }
31
- });
32
- }
33
- export {
34
- serverRender as default
35
- };
@@ -1,36 +0,0 @@
1
- import serialize from "serialize-javascript";
2
- import { buildTemplate } from "./buildTemplate.share";
3
- function buildShellAfterTemplate(afterAppTemplate, options) {
4
- const callbacks = [injectSSRDataScript];
5
- return buildTemplate(afterAppTemplate, callbacks);
6
- function injectSSRDataScript(template) {
7
- const ssrDataScript = buildSSRDataScript();
8
- return template.replace("<!--<?- SSRDataScript ?>-->", ssrDataScript);
9
- function buildSSRDataScript() {
10
- const { ssrContext, renderLevel } = options;
11
- const { request } = ssrContext;
12
- const SSRData = {
13
- context: {
14
- request: {
15
- params: request.params,
16
- query: request.query,
17
- pathname: request.pathname,
18
- host: request.host,
19
- url: request.url,
20
- headers: request.headers,
21
- cookieMap: request.cookieMap
22
- }
23
- },
24
- renderLevel
25
- };
26
- return `
27
- <script>window._SSR_DATA = ${serialize(SSRData, {
28
- isJSON: true
29
- })}<\/script>
30
- `;
31
- }
32
- }
33
- }
34
- export {
35
- buildShellAfterTemplate
36
- };
@@ -1,11 +0,0 @@
1
- const HEAD_REG_EXP = /<head(.|\n)*>(.|\n)*<\/head>/;
2
- function buildTemplate(template, callbacks) {
3
- return callbacks.reduce(
4
- (template2, buildTemplateCb) => buildTemplateCb(template2),
5
- template
6
- );
7
- }
8
- export {
9
- HEAD_REG_EXP,
10
- buildTemplate
11
- };
@@ -1,61 +0,0 @@
1
- import ReactHelmet from "react-helmet";
2
- import { matchRoutes } from "react-router-dom";
3
- import helmetReplace from "../helmet";
4
- import {
5
- HEAD_REG_EXP,
6
- buildTemplate
7
- } from "./buildTemplate.share";
8
- const CSS_CHUNKS_PLACEHOLDER = "<!--<?- chunksMap.css ?>-->";
9
- function getHeadTemplate(beforeEntryTemplate, context) {
10
- const callbacks = [
11
- (headTemplate2) => {
12
- const helmetData = ReactHelmet.renderStatic();
13
- return helmetData ? helmetReplace(headTemplate2, helmetData) : headTemplate2;
14
- },
15
- injectCss
16
- ];
17
- const [headTemplate = ""] = beforeEntryTemplate.match(HEAD_REG_EXP) || [];
18
- if (!headTemplate.length) {
19
- return "";
20
- }
21
- return buildTemplate(headTemplate, callbacks);
22
- function injectCss(headTemplate2) {
23
- return headTemplate2.replace(CSS_CHUNKS_PLACEHOLDER, getCssChunks());
24
- function getCssChunks() {
25
- const { routeManifest, routerContext, routes } = context;
26
- if (!routeManifest || !routerContext || !routes) {
27
- return "";
28
- }
29
- const { routeAssets } = routeManifest;
30
- const cssChunks = [];
31
- const matches = matchRoutes(routes, routerContext.location);
32
- matches == null ? void 0 : matches.forEach((match, index) => {
33
- if (!index) {
34
- return;
35
- }
36
- const routeId = match.route.id;
37
- if (routeId) {
38
- const routeManifest2 = routeAssets[routeId];
39
- if (routeManifest2) {
40
- const { assets = [] } = routeManifest2;
41
- const _cssChunks = assets.filter(
42
- (asset) => asset == null ? void 0 : asset.endsWith(".css")
43
- );
44
- cssChunks.push(..._cssChunks);
45
- }
46
- }
47
- });
48
- const styleLinks = cssChunks.map((chunk) => {
49
- return `<link href="${chunk}" rel="stylesheet" />`;
50
- });
51
- return `${styleLinks.join("")}`;
52
- }
53
- }
54
- }
55
- function buildShellBeforeTemplate(beforeAppTemplate, context) {
56
- const headTemplate = getHeadTemplate(beforeAppTemplate, context);
57
- return beforeAppTemplate.replace(HEAD_REG_EXP, headTemplate);
58
- }
59
- export {
60
- buildShellBeforeTemplate
61
- };
@@ -1,58 +0,0 @@
1
- var __async = (__this, __arguments, generator) => {
2
- return new Promise((resolve, reject) => {
3
- var fulfilled = (value) => {
4
- try {
5
- step(generator.next(value));
6
- } catch (e) {
7
- reject(e);
8
- }
9
- };
10
- var rejected = (value) => {
11
- try {
12
- step(generator.throw(value));
13
- } catch (e) {
14
- reject(e);
15
- }
16
- };
17
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
- step((generator = generator.apply(__this, __arguments)).next());
19
- });
20
- };
21
- import { createElement } from "react";
22
- import { run } from "@modern-js/utils/ssr";
23
- import { PreRender } from "../../react/prerender";
24
- import { time } from "../utils";
25
- import renderToPipe from "./renderToPipe";
26
- const render = ({ App, context }) => {
27
- const { ssrContext } = context;
28
- if (!ssrContext) {
29
- throw new Error(
30
- 'The "ssrContext" must not be undefined, but received undefined'
31
- );
32
- }
33
- return run(ssrContext.request.headers, () => __async(void 0, null, function* () {
34
- const end = time();
35
- const rootElement = createElement(App, {
36
- context: Object.assign(context || {}, {
37
- ssr: true
38
- })
39
- });
40
- const pipe = renderToPipe(rootElement, context, {
41
- onShellReady() {
42
- const cacheConfig = PreRender.config();
43
- if (cacheConfig) {
44
- ssrContext.cacheConfig = cacheConfig;
45
- }
46
- },
47
- onAllReady() {
48
- const cost = end();
49
- ssrContext.logger.debug("App Render To HTML cost = %d ms", cost);
50
- ssrContext.metrics.emitTimer("app.render.html.cost", cost);
51
- }
52
- });
53
- return pipe;
54
- }));
55
- };
56
- export {
57
- render
58
- };
@@ -1,24 +0,0 @@
1
- import { ChunkExtractor } from "@loadable/server";
2
- function getLoadableChunks({
3
- context,
4
- jsx
5
- }) {
6
- const { loadableStats, entryName } = context.ssrContext;
7
- if (!loadableStats) {
8
- return {
9
- jsx
10
- };
11
- }
12
- const extractor = new ChunkExtractor({
13
- stats: loadableStats,
14
- entrypoints: [entryName]
15
- });
16
- const collectedJsx = extractor.collectChunks(jsx);
17
- return {
18
- jsx: collectedJsx,
19
- chunkExtractor: extractor
20
- };
21
- }
22
- export {
23
- getLoadableChunks
24
- };
@@ -1,94 +0,0 @@
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
- import { Transform } from "stream";
21
- import {
22
- renderToPipeableStream
23
- } from "react-dom/server";
24
- import { RenderLevel } from "../types";
25
- import { getTemplates } from "./template";
26
- function renderToPipe(rootElement, context, options) {
27
- let isShellStream = true;
28
- const { ssrContext } = context;
29
- const forUserPipe = (stream) => {
30
- return new Promise((resolve) => {
31
- const { pipe } = renderToPipeableStream(rootElement, __spreadProps(__spreadValues({}, options), {
32
- onShellReady() {
33
- var _a;
34
- const { shellAfter, shellBefore } = getTemplates(
35
- context,
36
- RenderLevel.SERVER_RENDER
37
- );
38
- (_a = options == null ? void 0 : options.onShellReady) == null ? void 0 : _a.call(options);
39
- const injectableTransform = new Transform({
40
- transform(chunk, _encoding, callback) {
41
- try {
42
- if (isShellStream) {
43
- this.push(joinChunk(shellBefore, chunk, shellAfter));
44
- isShellStream = false;
45
- } else {
46
- this.push(chunk);
47
- }
48
- callback();
49
- } catch (e) {
50
- if (e instanceof Error) {
51
- callback(e);
52
- } else {
53
- callback(new Error("Received unkown error when streaming"));
54
- }
55
- }
56
- }
57
- });
58
- resolve(pipe(injectableTransform).pipe(stream));
59
- },
60
- onShellError(error) {
61
- var _a;
62
- ssrContext.metrics.emitCounter(
63
- "app.render.streaming.shell.error",
64
- 1
65
- );
66
- const { shellAfter, shellBefore } = getTemplates(
67
- context,
68
- RenderLevel.CLIENT_RENDER
69
- );
70
- const fallbackHtml = `${shellBefore}${shellAfter}`;
71
- resolve(fallbackHtml);
72
- (_a = options == null ? void 0 : options.onShellError) == null ? void 0 : _a.call(options, error);
73
- },
74
- onError(error) {
75
- var _a;
76
- ssrContext.logger.error(
77
- "An error occurs during streaming SSR",
78
- error
79
- );
80
- ssrContext.metrics.emitCounter("app.render.streaming.error", 1);
81
- (_a = options == null ? void 0 : options.onError) == null ? void 0 : _a.call(options, error);
82
- }
83
- }));
84
- });
85
- };
86
- return forUserPipe;
87
- function joinChunk(before = "", chunk, after = "") {
88
- return `${before}${chunk.toString()}${after}`;
89
- }
90
- }
91
- var renderToPipe_default = renderToPipe;
92
- export {
93
- renderToPipe_default as default
94
- };
@@ -1,12 +0,0 @@
1
- import { ServerStyleSheet } from "styled-components";
2
- function getStyledComponentCss({ jsx }) {
3
- const sheet = new ServerStyleSheet();
4
- const collectedJsx = sheet.collectStyles(jsx);
5
- return {
6
- styleSheet: sheet,
7
- jsx: collectedJsx
8
- };
9
- }
10
- export {
11
- getStyledComponentCss
12
- };
@@ -1,22 +0,0 @@
1
- import { buildShellAfterTemplate } from "./buildTemplate.after";
2
- import { buildShellBeforeTemplate } from "./bulidTemplate.before";
3
- const HTML_SEPARATOR = "<!--<?- html ?>-->";
4
- const getTemplates = (context, renderLevel) => {
5
- const { ssrContext } = context;
6
- const [beforeAppTemplate = "", afterAppHtmlTemplate = ""] = ssrContext.template.split(HTML_SEPARATOR) || [];
7
- const builtBeforeTemplate = buildShellBeforeTemplate(
8
- beforeAppTemplate,
9
- context
10
- );
11
- const builtAfterTemplate = buildShellAfterTemplate(afterAppHtmlTemplate, {
12
- ssrContext,
13
- renderLevel
14
- });
15
- return {
16
- shellBefore: builtBeforeTemplate,
17
- shellAfter: builtAfterTemplate
18
- };
19
- };
20
- export {
21
- getTemplates
22
- };
@@ -1,171 +0,0 @@
1
- var __async = (__this, __arguments, generator) => {
2
- return new Promise((resolve, reject) => {
3
- var fulfilled = (value) => {
4
- try {
5
- step(generator.next(value));
6
- } catch (e) {
7
- reject(e);
8
- }
9
- };
10
- var rejected = (value) => {
11
- try {
12
- step(generator.throw(value));
13
- } catch (e) {
14
- reject(e);
15
- }
16
- };
17
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
- step((generator = generator.apply(__this, __arguments)).next());
19
- });
20
- };
21
- import React from "react";
22
- import ReactDomServer from "react-dom/server";
23
- import serialize from "serialize-javascript";
24
- import ReactHelmet from "react-helmet";
25
- import helmetReplace from "../helmet";
26
- import {
27
- RenderLevel
28
- } from "../types";
29
- import { time } from "../utils";
30
- import prefetch from "../../prefetch";
31
- import { toFragments } from "./template";
32
- import { reduce } from "./reduce";
33
- import * as loadableRenderer from "./loadable";
34
- import * as styledComponentRenderer from "./styledComponent";
35
- const buildTemplateData = (context, data, renderLevel) => {
36
- const { request } = context;
37
- return {
38
- data,
39
- context: {
40
- request: {
41
- params: request.params,
42
- query: request.query,
43
- pathname: request.pathname,
44
- host: request.host,
45
- url: request.url,
46
- headers: request.headers,
47
- cookieMap: request.cookieMap
48
- }
49
- },
50
- renderLevel
51
- };
52
- };
53
- class Entry {
54
- constructor(options) {
55
- const { ctx, config } = options;
56
- const {
57
- entryName,
58
- template,
59
- request: { host }
60
- } = ctx;
61
- this.fragments = toFragments(template, entryName);
62
- this.entryName = entryName;
63
- this.host = host;
64
- this.App = options.App;
65
- this.pluginConfig = config;
66
- this.metrics = ctx.metrics;
67
- this.logger = ctx.logger;
68
- this.result = {
69
- renderLevel: RenderLevel.CLIENT_RENDER,
70
- html: "",
71
- chunksMap: {
72
- js: "",
73
- css: ""
74
- }
75
- };
76
- }
77
- renderToHtml(context) {
78
- return __async(this, null, function* () {
79
- const ssrContext = context.ssrContext;
80
- if (ssrContext.redirection.url) {
81
- return "";
82
- }
83
- const prefetchData = yield this.prefetch(context);
84
- if (ssrContext.redirection.url) {
85
- return "";
86
- }
87
- if (this.result.renderLevel >= RenderLevel.SERVER_PREFETCH) {
88
- this.result.html = this.renderToString(context);
89
- }
90
- if (ssrContext.redirection.url) {
91
- return "";
92
- }
93
- let html = "";
94
- const templateData = buildTemplateData(
95
- ssrContext,
96
- prefetchData,
97
- this.result.renderLevel
98
- );
99
- const SSRData = this.getSSRDataScript(templateData);
100
- for (const fragment of this.fragments) {
101
- if (fragment.isVariable && fragment.content === "SSRDataScript") {
102
- html += fragment.getValue(SSRData);
103
- } else {
104
- html += fragment.getValue(this.result);
105
- }
106
- }
107
- const helmetData = ReactHelmet.renderStatic();
108
- return helmetData ? helmetReplace(html, helmetData) : html;
109
- });
110
- }
111
- prefetch(context) {
112
- return __async(this, null, function* () {
113
- let prefetchData;
114
- const end = time();
115
- try {
116
- prefetchData = yield prefetch(this.App, context);
117
- this.result.renderLevel = RenderLevel.SERVER_PREFETCH;
118
- const prefetchCost = end();
119
- this.logger.debug(`App Prefetch cost = %d ms`, prefetchCost);
120
- this.metrics.emitTimer("app.prefetch.cost", prefetchCost);
121
- } catch (e) {
122
- this.result.renderLevel = RenderLevel.CLIENT_RENDER;
123
- this.logger.error("App Prefetch Render", e);
124
- this.metrics.emitCounter("app.prefetch.render.error", 1);
125
- }
126
- return prefetchData || {};
127
- });
128
- }
129
- renderToString(context) {
130
- let html = "";
131
- const end = time();
132
- const { ssrContext } = context;
133
- try {
134
- const App = React.createElement(this.App, {
135
- context: Object.assign(context, { ssr: true })
136
- });
137
- const renderContext = {
138
- stats: ssrContext.loadableStats,
139
- host: this.host,
140
- result: this.result,
141
- entryName: this.entryName,
142
- config: this.pluginConfig
143
- };
144
- html = reduce(App, renderContext, [
145
- styledComponentRenderer.toHtml,
146
- loadableRenderer.toHtml,
147
- (jsx) => ReactDomServer.renderToString(jsx)
148
- ]);
149
- const cost = end();
150
- this.logger.debug("App Render To HTML cost = %d ms", cost);
151
- this.metrics.emitTimer("app.render.html.cost", cost);
152
- this.result.renderLevel = RenderLevel.SERVER_RENDER;
153
- } catch (e) {
154
- this.logger.error("App Render To HTML", e);
155
- this.metrics.emitCounter("app.render.html.error", 1);
156
- }
157
- return html;
158
- }
159
- getSSRDataScript(templateData) {
160
- return {
161
- SSRDataScript: `
162
- <script>window._SSR_DATA = ${serialize(templateData, {
163
- isJSON: true
164
- })}<\/script>
165
- `
166
- };
167
- }
168
- }
169
- export {
170
- Entry as default
171
- };