@modern-js/runtime 2.15.0 → 2.15.1-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 (488) hide show
  1. package/dist/cjs/cli/index.js +32 -48
  2. package/dist/cjs/common.js +13 -27
  3. package/dist/cjs/config.js +4 -15
  4. package/dist/cjs/core/appConfig.js +13 -26
  5. package/dist/cjs/core/compatible.js +170 -158
  6. package/dist/cjs/core/index.js +38 -45
  7. package/dist/cjs/core/loader/index.js +12 -35
  8. package/dist/cjs/core/loader/loaderManager.js +42 -56
  9. package/dist/cjs/core/loader/useLoader.js +80 -105
  10. package/dist/cjs/core/plugin.js +28 -40
  11. package/dist/cjs/core/types.js +4 -15
  12. package/dist/cjs/document/Body.js +61 -37
  13. package/dist/cjs/document/Comment.js +22 -32
  14. package/dist/cjs/document/DocumentContext.js +14 -37
  15. package/dist/cjs/document/DocumentStructureContext.js +14 -37
  16. package/dist/cjs/document/Head.js +71 -40
  17. package/dist/cjs/document/Html.js +46 -58
  18. package/dist/cjs/document/Links.js +18 -28
  19. package/dist/cjs/document/Root.js +73 -44
  20. package/dist/cjs/document/Script.js +22 -32
  21. package/dist/cjs/document/Scripts.js +18 -28
  22. package/dist/cjs/document/cli/index.js +161 -207
  23. package/dist/cjs/document/constants.js +36 -75
  24. package/dist/cjs/document/index.js +28 -27
  25. package/dist/cjs/exports/head.js +27 -37
  26. package/dist/cjs/exports/loadable.js +27 -37
  27. package/dist/cjs/exports/server.js +7 -25
  28. package/dist/cjs/exports/styled.js +27 -37
  29. package/dist/cjs/index.js +22 -42
  30. package/dist/cjs/router/cli/index.js +91 -114
  31. package/dist/cjs/router/index.js +32 -39
  32. package/dist/cjs/router/runtime/DefaultNotFound.js +23 -38
  33. package/dist/cjs/router/runtime/DeferredDataScripts.js +8 -24
  34. package/dist/cjs/router/runtime/DeferredDataScripts.node.js +69 -112
  35. package/dist/cjs/router/runtime/PrefetchLink.js +117 -96
  36. package/dist/cjs/router/runtime/fetch.js +7 -25
  37. package/dist/cjs/router/runtime/fetch.node.js +7 -25
  38. package/dist/cjs/router/runtime/fetch.worker.js +7 -25
  39. package/dist/cjs/router/runtime/hooks.js +8 -26
  40. package/dist/cjs/router/runtime/index.js +100 -147
  41. package/dist/cjs/router/runtime/plugin.js +56 -76
  42. package/dist/cjs/router/runtime/plugin.node.js +95 -74
  43. package/dist/cjs/router/runtime/server.js +18 -17
  44. package/dist/cjs/router/runtime/types.js +4 -15
  45. package/dist/cjs/router/runtime/utils.js +57 -83
  46. package/dist/cjs/router/runtime/withRouter.js +24 -39
  47. package/dist/cjs/runtimeContext.js +14 -27
  48. package/dist/cjs/ssr/cli/babel-plugin-ssr-loader-id.js +75 -59
  49. package/dist/cjs/ssr/cli/index.js +120 -150
  50. package/dist/cjs/ssr/index.js +149 -132
  51. package/dist/cjs/ssr/index.node.js +73 -74
  52. package/dist/cjs/ssr/prefetch.js +51 -59
  53. package/dist/cjs/ssr/react/index.js +15 -28
  54. package/dist/cjs/ssr/react/nossr/index.js +51 -43
  55. package/dist/cjs/ssr/react/prerender/index.js +93 -59
  56. package/dist/cjs/ssr/react/prerender/type.js +4 -15
  57. package/dist/cjs/ssr/react/prerender/util.js +32 -51
  58. package/dist/cjs/ssr/react/withCallback/index.js +53 -29
  59. package/dist/cjs/ssr/serverRender/helmet.js +15 -26
  60. package/dist/cjs/ssr/serverRender/index.js +14 -32
  61. package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +15 -34
  62. package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.share.js +12 -28
  63. package/dist/cjs/ssr/serverRender/renderToStream/bulidTemplate.before.js +28 -55
  64. package/dist/cjs/ssr/serverRender/renderToStream/index.js +23 -48
  65. package/dist/cjs/ssr/serverRender/renderToStream/loadable.js +13 -32
  66. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.js +33 -64
  67. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.worker.js +26 -54
  68. package/dist/cjs/ssr/serverRender/renderToStream/styledComponent.js +9 -27
  69. package/dist/cjs/ssr/serverRender/renderToStream/template.js +11 -32
  70. package/dist/cjs/ssr/serverRender/renderToStream/type.js +4 -15
  71. package/dist/cjs/ssr/serverRender/renderToString/entry.js +133 -99
  72. package/dist/cjs/ssr/serverRender/renderToString/index.js +21 -48
  73. package/dist/cjs/ssr/serverRender/renderToString/loadable.js +20 -45
  74. package/dist/cjs/ssr/serverRender/renderToString/reduce.js +13 -25
  75. package/dist/cjs/ssr/serverRender/renderToString/styledComponent.js +9 -27
  76. package/dist/cjs/ssr/serverRender/renderToString/template.js +42 -37
  77. package/dist/cjs/ssr/serverRender/renderToString/type.js +10 -28
  78. package/dist/cjs/ssr/serverRender/time.js +7 -25
  79. package/dist/cjs/ssr/serverRender/time.worker.js +11 -26
  80. package/dist/cjs/ssr/serverRender/types.js +7 -25
  81. package/dist/cjs/ssr/serverRender/utils.js +12 -27
  82. package/dist/cjs/ssr/utils.js +26 -51
  83. package/dist/cjs/state/cli/index.js +71 -95
  84. package/dist/cjs/state/index.js +32 -39
  85. package/dist/cjs/state/plugins.js +26 -46
  86. package/dist/cjs/state/runtime/index.js +27 -37
  87. package/dist/cjs/state/runtime/plugin.js +82 -84
  88. package/dist/cjs/state/types.js +4 -15
  89. package/dist/esm/cli/index.js +184 -176
  90. package/dist/esm/common.js +4 -5
  91. package/dist/esm/config.js +1 -1
  92. package/dist/esm/core/appConfig.js +8 -7
  93. package/dist/esm/core/compatible.js +470 -448
  94. package/dist/esm/core/index.js +3 -4
  95. package/dist/esm/core/loader/index.js +1 -2
  96. package/dist/esm/core/loader/loaderManager.js +391 -366
  97. package/dist/esm/core/loader/useLoader.js +173 -162
  98. package/dist/esm/core/plugin.js +162 -155
  99. package/dist/esm/core/types.js +1 -1
  100. package/dist/esm/document/Body.js +12 -13
  101. package/dist/esm/document/Comment.js +11 -12
  102. package/dist/esm/document/DocumentContext.js +4 -5
  103. package/dist/esm/document/DocumentStructureContext.js +6 -7
  104. package/dist/esm/document/Head.js +16 -17
  105. package/dist/esm/document/Html.js +84 -85
  106. package/dist/esm/document/Links.js +5 -6
  107. package/dist/esm/document/Root.js +20 -21
  108. package/dist/esm/document/Script.js +12 -13
  109. package/dist/esm/document/Scripts.js +5 -6
  110. package/dist/esm/document/cli/index.js +390 -371
  111. package/dist/esm/document/constants.js +33 -34
  112. package/dist/esm/exports/head.js +1 -2
  113. package/dist/esm/exports/loadable.js +1 -2
  114. package/dist/esm/exports/server.js +2 -3
  115. package/dist/esm/exports/styled.js +1 -2
  116. package/dist/esm/index.js +2 -3
  117. package/dist/esm/router/cli/index.js +141 -141
  118. package/dist/esm/router/index.js +2 -3
  119. package/dist/esm/router/runtime/DefaultNotFound.js +12 -13
  120. package/dist/esm/router/runtime/DeferredDataScripts.js +4 -4
  121. package/dist/esm/router/runtime/DeferredDataScripts.node.js +154 -143
  122. package/dist/esm/router/runtime/PrefetchLink.js +418 -394
  123. package/dist/esm/router/runtime/fetch.js +2 -1
  124. package/dist/esm/router/runtime/fetch.worker.js +2 -1
  125. package/dist/esm/router/runtime/index.js +64 -6
  126. package/dist/esm/router/runtime/plugin.js +141 -142
  127. package/dist/esm/router/runtime/plugin.node.js +372 -353
  128. package/dist/esm/router/runtime/types.js +1 -1
  129. package/dist/esm/router/runtime/utils.js +295 -279
  130. package/dist/esm/router/runtime/withRouter.js +57 -58
  131. package/dist/esm/runtimeContext.js +2 -3
  132. package/dist/esm/ssr/cli/babel-plugin-ssr-loader-id.js +105 -118
  133. package/dist/esm/ssr/cli/index.js +146 -146
  134. package/dist/esm/ssr/index.js +303 -297
  135. package/dist/esm/ssr/index.node.js +227 -221
  136. package/dist/esm/ssr/prefetch.js +192 -186
  137. package/dist/esm/ssr/react/index.js +2 -3
  138. package/dist/esm/ssr/react/nossr/index.js +58 -47
  139. package/dist/esm/ssr/react/prerender/index.js +214 -206
  140. package/dist/esm/ssr/react/prerender/type.js +1 -1
  141. package/dist/esm/ssr/react/prerender/util.js +91 -92
  142. package/dist/esm/ssr/react/withCallback/index.js +13 -14
  143. package/dist/esm/ssr/serverRender/helmet.js +34 -35
  144. package/dist/esm/ssr/serverRender/index.js +167 -160
  145. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.after.js +58 -59
  146. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.share.js +5 -6
  147. package/dist/esm/ssr/serverRender/renderToStream/bulidTemplate.before.js +106 -93
  148. package/dist/esm/ssr/serverRender/renderToStream/index.js +157 -151
  149. package/dist/esm/ssr/serverRender/renderToStream/loadable.js +17 -18
  150. package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.js +117 -117
  151. package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.worker.js +286 -279
  152. package/dist/esm/ssr/serverRender/renderToStream/styledComponent.js +8 -9
  153. package/dist/esm/ssr/serverRender/renderToStream/template.js +62 -51
  154. package/dist/esm/ssr/serverRender/renderToStream/type.js +1 -1
  155. package/dist/esm/ssr/serverRender/renderToString/entry.js +393 -383
  156. package/dist/esm/ssr/serverRender/renderToString/index.js +158 -152
  157. package/dist/esm/ssr/serverRender/renderToString/loadable.js +46 -47
  158. package/dist/esm/ssr/serverRender/renderToString/reduce.js +7 -8
  159. package/dist/esm/ssr/serverRender/renderToString/styledComponent.js +6 -7
  160. package/dist/esm/ssr/serverRender/renderToString/template.js +142 -128
  161. package/dist/esm/ssr/serverRender/renderToString/type.js +6 -7
  162. package/dist/esm/ssr/serverRender/time.js +57 -46
  163. package/dist/esm/ssr/serverRender/time.worker.js +72 -61
  164. package/dist/esm/ssr/serverRender/utils.js +14 -15
  165. package/dist/esm/ssr/utils.js +128 -117
  166. package/dist/esm/state/cli/index.js +67 -67
  167. package/dist/esm/state/index.js +2 -3
  168. package/dist/esm/state/plugins.js +7 -8
  169. package/dist/esm/state/runtime/index.js +1 -2
  170. package/dist/esm/state/runtime/plugin.js +177 -166
  171. package/dist/esm/state/types.js +1 -1
  172. package/dist/esm-node/cli/index.js +11 -9
  173. package/dist/esm-node/common.js +3 -8
  174. package/dist/esm-node/config.js +1 -0
  175. package/dist/esm-node/core/appConfig.js +2 -6
  176. package/dist/esm-node/core/compatible.js +104 -120
  177. package/dist/esm-node/core/index.js +3 -13
  178. package/dist/esm-node/core/loader/index.js +1 -4
  179. package/dist/esm-node/core/loader/loaderManager.js +25 -25
  180. package/dist/esm-node/core/loader/useLoader.js +60 -74
  181. package/dist/esm-node/core/plugin.js +9 -15
  182. package/dist/esm-node/core/types.js +1 -0
  183. package/dist/esm-node/document/Body.js +11 -15
  184. package/dist/esm-node/document/Comment.js +10 -14
  185. package/dist/esm-node/document/DocumentContext.js +1 -4
  186. package/dist/esm-node/document/DocumentStructureContext.js +1 -4
  187. package/dist/esm-node/document/Head.js +14 -14
  188. package/dist/esm-node/document/Html.js +31 -34
  189. package/dist/esm-node/document/Links.js +5 -6
  190. package/dist/esm-node/document/Root.js +19 -21
  191. package/dist/esm-node/document/Script.js +10 -14
  192. package/dist/esm-node/document/Scripts.js +5 -6
  193. package/dist/esm-node/document/cli/index.js +136 -184
  194. package/dist/esm-node/document/constants.js +22 -52
  195. package/dist/esm-node/exports/head.js +1 -4
  196. package/dist/esm-node/exports/loadable.js +1 -4
  197. package/dist/esm-node/exports/server.js +1 -4
  198. package/dist/esm-node/exports/styled.js +1 -4
  199. package/dist/esm-node/index.js +2 -22
  200. package/dist/esm-node/router/cli/index.js +83 -98
  201. package/dist/esm-node/router/index.js +2 -6
  202. package/dist/esm-node/router/runtime/DefaultNotFound.js +11 -17
  203. package/dist/esm-node/router/runtime/DeferredDataScripts.js +1 -4
  204. package/dist/esm-node/router/runtime/DeferredDataScripts.node.js +51 -85
  205. package/dist/esm-node/router/runtime/PrefetchLink.js +53 -59
  206. package/dist/esm-node/router/runtime/fetch.js +1 -3
  207. package/dist/esm-node/router/runtime/fetch.node.js +1 -3
  208. package/dist/esm-node/router/runtime/fetch.worker.js +1 -3
  209. package/dist/esm-node/router/runtime/hooks.js +1 -3
  210. package/dist/esm-node/router/runtime/index.js +13 -68
  211. package/dist/esm-node/router/runtime/plugin.js +27 -41
  212. package/dist/esm-node/router/runtime/plugin.node.js +24 -32
  213. package/dist/esm-node/router/runtime/types.js +1 -0
  214. package/dist/esm-node/router/runtime/utils.js +34 -50
  215. package/dist/esm-node/router/runtime/withRouter.js +8 -14
  216. package/dist/esm-node/runtimeContext.js +2 -6
  217. package/dist/esm-node/ssr/cli/babel-plugin-ssr-loader-id.js +99 -119
  218. package/dist/esm-node/ssr/cli/index.js +106 -125
  219. package/dist/esm-node/ssr/index.js +112 -96
  220. package/dist/esm-node/ssr/index.node.js +39 -39
  221. package/dist/esm-node/ssr/prefetch.js +40 -35
  222. package/dist/esm-node/ssr/react/index.js +2 -6
  223. package/dist/esm-node/ssr/react/nossr/index.js +2 -9
  224. package/dist/esm-node/ssr/react/prerender/index.js +32 -23
  225. package/dist/esm-node/ssr/react/prerender/type.js +1 -0
  226. package/dist/esm-node/ssr/react/prerender/util.js +23 -33
  227. package/dist/esm-node/ssr/react/withCallback/index.js +4 -5
  228. package/dist/esm-node/ssr/serverRender/helmet.js +2 -5
  229. package/dist/esm-node/ssr/serverRender/index.js +5 -10
  230. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.after.js +5 -9
  231. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.share.js +3 -10
  232. package/dist/esm-node/ssr/serverRender/renderToStream/bulidTemplate.before.js +7 -17
  233. package/dist/esm-node/ssr/serverRender/renderToStream/index.js +2 -7
  234. package/dist/esm-node/ssr/serverRender/renderToStream/loadable.js +4 -8
  235. package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.js +21 -39
  236. package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.worker.js +16 -31
  237. package/dist/esm-node/ssr/serverRender/renderToStream/styledComponent.js +1 -4
  238. package/dist/esm-node/ssr/serverRender/renderToStream/template.js +2 -8
  239. package/dist/esm-node/ssr/serverRender/renderToStream/type.js +1 -0
  240. package/dist/esm-node/ssr/serverRender/renderToString/entry.js +50 -39
  241. package/dist/esm-node/ssr/serverRender/renderToString/index.js +1 -8
  242. package/dist/esm-node/ssr/serverRender/renderToString/loadable.js +8 -18
  243. package/dist/esm-node/ssr/serverRender/renderToString/reduce.js +1 -4
  244. package/dist/esm-node/ssr/serverRender/renderToString/styledComponent.js +1 -4
  245. package/dist/esm-node/ssr/serverRender/renderToString/template.js +32 -18
  246. package/dist/esm-node/ssr/serverRender/renderToString/type.js +3 -6
  247. package/dist/esm-node/ssr/serverRender/time.js +1 -4
  248. package/dist/esm-node/ssr/serverRender/time.worker.js +5 -5
  249. package/dist/esm-node/ssr/serverRender/types.js +1 -3
  250. package/dist/esm-node/ssr/serverRender/utils.js +4 -10
  251. package/dist/esm-node/ssr/utils.js +8 -19
  252. package/dist/esm-node/state/cli/index.js +63 -78
  253. package/dist/esm-node/state/index.js +2 -6
  254. package/dist/esm-node/state/plugins.js +4 -10
  255. package/dist/esm-node/state/runtime/index.js +1 -4
  256. package/dist/esm-node/state/runtime/plugin.js +47 -44
  257. package/dist/esm-node/state/types.js +1 -0
  258. package/dist/js/modern/cli/index.js +72 -0
  259. package/dist/js/modern/common.js +4 -0
  260. package/dist/js/modern/config.js +0 -0
  261. package/dist/js/modern/core/app-config.js +10 -0
  262. package/dist/js/modern/core/compatible.js +285 -0
  263. package/dist/js/modern/core/index.js +16 -0
  264. package/dist/js/modern/core/loader/index.js +4 -0
  265. package/dist/js/modern/core/loader/loaderManager.js +165 -0
  266. package/dist/js/modern/core/loader/useLoader.js +114 -0
  267. package/dist/js/modern/core/plugin.js +58 -0
  268. package/dist/js/modern/document/Body.js +23 -0
  269. package/dist/js/modern/document/DocumentContext.js +9 -0
  270. package/dist/js/modern/document/DocumentStructrueContext.js +11 -0
  271. package/dist/js/modern/document/Head.js +27 -0
  272. package/dist/js/modern/document/Html.js +78 -0
  273. package/dist/js/modern/document/Links.js +10 -0
  274. package/dist/js/modern/document/Root.js +33 -0
  275. package/dist/js/modern/document/Script.js +20 -0
  276. package/dist/js/modern/document/Scripts.js +10 -0
  277. package/dist/js/modern/document/cli/index.js +228 -0
  278. package/dist/js/modern/document/constants.js +49 -0
  279. package/dist/js/modern/document/index.js +10 -0
  280. package/dist/js/modern/exports/head.js +6 -0
  281. package/dist/js/modern/exports/loadable.js +6 -0
  282. package/dist/js/modern/exports/server.js +4 -0
  283. package/dist/js/modern/exports/styled.js +6 -0
  284. package/dist/js/modern/index.js +22 -0
  285. package/dist/js/modern/router/cli/index.js +120 -0
  286. package/dist/js/modern/router/index.js +7 -0
  287. package/dist/js/modern/router/runtime/DefaultNotFound.js +14 -0
  288. package/dist/js/modern/router/runtime/index.js +9 -0
  289. package/dist/js/modern/router/runtime/plugin.js +104 -0
  290. package/dist/js/modern/router/runtime/plugin.node.js +149 -0
  291. package/dist/js/modern/router/runtime/server.js +1 -0
  292. package/dist/js/modern/router/runtime/types.js +0 -0
  293. package/dist/js/modern/router/runtime/utils.js +196 -0
  294. package/dist/js/modern/router/runtime/withRouter.js +36 -0
  295. package/dist/js/modern/runtime-context.js +7 -0
  296. package/dist/js/modern/ssr/cli/babel-plugin-ssr-loader-id.js +130 -0
  297. package/dist/js/modern/ssr/cli/index.js +172 -0
  298. package/dist/js/modern/ssr/index.js +159 -0
  299. package/dist/js/modern/ssr/index.node.js +79 -0
  300. package/dist/js/modern/ssr/prefetch.js +69 -0
  301. package/dist/js/modern/ssr/react/index.js +6 -0
  302. package/dist/js/modern/ssr/react/nossr/index.js +14 -0
  303. package/dist/js/modern/ssr/react/prerender/index.js +108 -0
  304. package/dist/js/modern/ssr/react/prerender/type.js +0 -0
  305. package/dist/js/modern/ssr/react/prerender/util.js +96 -0
  306. package/dist/js/modern/ssr/react/withCallback/index.js +15 -0
  307. package/dist/js/modern/ssr/serverRender/helmet.js +44 -0
  308. package/dist/js/modern/ssr/serverRender/index.js +35 -0
  309. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.after.js +36 -0
  310. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.share.js +11 -0
  311. package/dist/js/modern/ssr/serverRender/renderToStream/bulidTemplate.before.js +61 -0
  312. package/dist/js/modern/ssr/serverRender/renderToStream/index.js +58 -0
  313. package/dist/js/modern/ssr/serverRender/renderToStream/loadable.js +24 -0
  314. package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.js +94 -0
  315. package/dist/js/modern/ssr/serverRender/renderToStream/styledComponent.js +12 -0
  316. package/dist/js/modern/ssr/serverRender/renderToStream/template.js +22 -0
  317. package/dist/js/modern/ssr/serverRender/renderToStream/type.js +0 -0
  318. package/dist/js/modern/ssr/serverRender/renderToString/entry.js +171 -0
  319. package/dist/js/modern/ssr/serverRender/renderToString/index.js +52 -0
  320. package/dist/js/modern/ssr/serverRender/renderToString/loadable.js +48 -0
  321. package/dist/js/modern/ssr/serverRender/renderToString/reduce.js +8 -0
  322. package/dist/js/modern/ssr/serverRender/renderToString/styledComponent.js +11 -0
  323. package/dist/js/modern/ssr/serverRender/renderToString/template.js +58 -0
  324. package/dist/js/modern/ssr/serverRender/renderToString/type.js +9 -0
  325. package/dist/js/modern/ssr/serverRender/types.js +4 -0
  326. package/dist/js/modern/ssr/serverRender/utils.js +22 -0
  327. package/dist/js/modern/ssr/utils.js +81 -0
  328. package/dist/js/modern/state/cli/index.js +83 -0
  329. package/dist/js/modern/state/index.js +7 -0
  330. package/dist/js/modern/state/plugins.js +13 -0
  331. package/dist/js/modern/state/runtime/index.js +9 -0
  332. package/dist/js/modern/state/runtime/plugin.js +97 -0
  333. package/dist/js/modern/state/types.js +0 -0
  334. package/dist/js/node/cli/index.js +99 -0
  335. package/dist/js/node/common.js +27 -0
  336. package/dist/js/node/config.js +15 -0
  337. package/dist/js/node/core/app-config.js +34 -0
  338. package/dist/js/node/core/compatible.js +312 -0
  339. package/dist/js/node/core/index.js +47 -0
  340. package/dist/js/node/core/loader/index.js +33 -0
  341. package/dist/js/node/core/loader/loaderManager.js +195 -0
  342. package/dist/js/node/core/loader/useLoader.js +132 -0
  343. package/dist/js/node/core/plugin.js +80 -0
  344. package/dist/js/node/document/Body.js +43 -0
  345. package/dist/js/node/document/DocumentContext.js +38 -0
  346. package/dist/js/node/document/DocumentStructrueContext.js +40 -0
  347. package/dist/js/node/document/Head.js +51 -0
  348. package/dist/js/node/document/Html.js +101 -0
  349. package/dist/js/node/document/Links.js +33 -0
  350. package/dist/js/node/document/Root.js +57 -0
  351. package/dist/js/node/document/Script.js +40 -0
  352. package/dist/js/node/document/Scripts.js +33 -0
  353. package/dist/js/node/document/cli/index.js +240 -0
  354. package/dist/js/node/document/constants.js +86 -0
  355. package/dist/js/node/document/index.js +26 -0
  356. package/dist/js/node/exports/head.js +34 -0
  357. package/dist/js/node/exports/loadable.js +34 -0
  358. package/dist/js/node/exports/server.js +27 -0
  359. package/dist/js/node/exports/styled.js +34 -0
  360. package/dist/js/node/index.js +44 -0
  361. package/dist/js/node/router/cli/index.js +135 -0
  362. package/dist/js/node/router/index.js +37 -0
  363. package/dist/js/node/router/runtime/DefaultNotFound.js +37 -0
  364. package/dist/js/node/router/runtime/index.js +33 -0
  365. package/dist/js/node/router/runtime/plugin.js +127 -0
  366. package/dist/js/node/router/runtime/plugin.node.js +175 -0
  367. package/dist/js/node/router/runtime/server.js +17 -0
  368. package/dist/js/node/router/runtime/types.js +15 -0
  369. package/dist/js/node/router/runtime/utils.js +221 -0
  370. package/dist/js/node/router/runtime/withRouter.js +57 -0
  371. package/dist/js/node/runtime-context.js +31 -0
  372. package/dist/js/node/ssr/cli/babel-plugin-ssr-loader-id.js +139 -0
  373. package/dist/js/node/ssr/cli/index.js +190 -0
  374. package/dist/js/node/ssr/index.js +185 -0
  375. package/dist/js/node/ssr/index.node.js +107 -0
  376. package/dist/js/node/ssr/prefetch.js +90 -0
  377. package/dist/js/node/ssr/react/index.js +30 -0
  378. package/dist/js/node/ssr/react/nossr/index.js +43 -0
  379. package/dist/js/node/ssr/react/prerender/index.js +130 -0
  380. package/dist/js/node/ssr/react/prerender/type.js +15 -0
  381. package/dist/js/node/ssr/react/prerender/util.js +123 -0
  382. package/dist/js/node/ssr/react/withCallback/index.js +38 -0
  383. package/dist/js/node/ssr/serverRender/helmet.js +65 -0
  384. package/dist/js/node/ssr/serverRender/index.js +56 -0
  385. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.after.js +65 -0
  386. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.share.js +35 -0
  387. package/dist/js/node/ssr/serverRender/renderToStream/bulidTemplate.before.js +87 -0
  388. package/dist/js/node/ssr/serverRender/renderToStream/index.js +87 -0
  389. package/dist/js/node/ssr/serverRender/renderToStream/loadable.js +47 -0
  390. package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.js +111 -0
  391. package/dist/js/node/ssr/serverRender/renderToStream/styledComponent.js +35 -0
  392. package/dist/js/node/ssr/serverRender/renderToStream/template.js +45 -0
  393. package/dist/js/node/ssr/serverRender/renderToStream/type.js +15 -0
  394. package/dist/js/node/ssr/serverRender/renderToString/entry.js +196 -0
  395. package/dist/js/node/ssr/serverRender/renderToString/index.js +81 -0
  396. package/dist/js/node/ssr/serverRender/renderToString/loadable.js +71 -0
  397. package/dist/js/node/ssr/serverRender/renderToString/reduce.js +31 -0
  398. package/dist/js/node/ssr/serverRender/renderToString/styledComponent.js +34 -0
  399. package/dist/js/node/ssr/serverRender/renderToString/template.js +82 -0
  400. package/dist/js/node/ssr/serverRender/renderToString/type.js +32 -0
  401. package/dist/js/node/ssr/serverRender/types.js +27 -0
  402. package/dist/js/node/ssr/serverRender/utils.js +46 -0
  403. package/dist/js/node/ssr/utils.js +106 -0
  404. package/dist/js/node/state/cli/index.js +100 -0
  405. package/dist/js/node/state/index.js +37 -0
  406. package/dist/js/node/state/plugins.js +45 -0
  407. package/dist/js/node/state/runtime/index.js +40 -0
  408. package/dist/js/node/state/runtime/plugin.js +121 -0
  409. package/dist/js/node/state/types.js +15 -0
  410. package/dist/js/treeshaking/cli/index.js +186 -0
  411. package/dist/js/treeshaking/common.js +4 -0
  412. package/dist/js/treeshaking/config.js +1 -0
  413. package/dist/js/treeshaking/core/app-config.js +9 -0
  414. package/dist/js/treeshaking/core/compatible.js +485 -0
  415. package/dist/js/treeshaking/core/index.js +7 -0
  416. package/dist/js/treeshaking/core/loader/index.js +2 -0
  417. package/dist/js/treeshaking/core/loader/loaderManager.js +406 -0
  418. package/dist/js/treeshaking/core/loader/useLoader.js +188 -0
  419. package/dist/js/treeshaking/core/plugin.js +176 -0
  420. package/dist/js/treeshaking/document/Body.js +18 -0
  421. package/dist/js/treeshaking/document/DocumentContext.js +7 -0
  422. package/dist/js/treeshaking/document/DocumentStructrueContext.js +9 -0
  423. package/dist/js/treeshaking/document/Head.js +24 -0
  424. package/dist/js/treeshaking/document/Html.js +99 -0
  425. package/dist/js/treeshaking/document/Links.js +8 -0
  426. package/dist/js/treeshaking/document/Root.js +26 -0
  427. package/dist/js/treeshaking/document/Script.js +15 -0
  428. package/dist/js/treeshaking/document/Scripts.js +8 -0
  429. package/dist/js/treeshaking/document/cli/index.js +393 -0
  430. package/dist/js/treeshaking/document/constants.js +35 -0
  431. package/dist/js/treeshaking/document/index.js +10 -0
  432. package/dist/js/treeshaking/exports/head.js +4 -0
  433. package/dist/js/treeshaking/exports/loadable.js +4 -0
  434. package/dist/js/treeshaking/exports/server.js +4 -0
  435. package/dist/js/treeshaking/exports/styled.js +4 -0
  436. package/dist/js/treeshaking/index.js +3 -0
  437. package/dist/js/treeshaking/router/cli/index.js +148 -0
  438. package/dist/js/treeshaking/router/index.js +4 -0
  439. package/dist/js/treeshaking/router/runtime/DefaultNotFound.js +14 -0
  440. package/dist/js/treeshaking/router/runtime/index.js +6 -0
  441. package/dist/js/treeshaking/router/runtime/plugin.js +132 -0
  442. package/dist/js/treeshaking/router/runtime/plugin.node.js +390 -0
  443. package/dist/js/treeshaking/router/runtime/server.js +1 -0
  444. package/dist/js/treeshaking/router/runtime/types.js +1 -0
  445. package/dist/js/treeshaking/router/runtime/utils.js +260 -0
  446. package/dist/js/treeshaking/router/runtime/withRouter.js +67 -0
  447. package/dist/js/treeshaking/runtime-context.js +4 -0
  448. package/dist/js/treeshaking/ssr/cli/babel-plugin-ssr-loader-id.js +122 -0
  449. package/dist/js/treeshaking/ssr/cli/index.js +217 -0
  450. package/dist/js/treeshaking/ssr/index.js +315 -0
  451. package/dist/js/treeshaking/ssr/index.node.js +240 -0
  452. package/dist/js/treeshaking/ssr/prefetch.js +199 -0
  453. package/dist/js/treeshaking/ssr/react/index.js +3 -0
  454. package/dist/js/treeshaking/ssr/react/nossr/index.js +58 -0
  455. package/dist/js/treeshaking/ssr/react/prerender/index.js +237 -0
  456. package/dist/js/treeshaking/ssr/react/prerender/type.js +1 -0
  457. package/dist/js/treeshaking/ssr/react/prerender/util.js +108 -0
  458. package/dist/js/treeshaking/ssr/react/withCallback/index.js +16 -0
  459. package/dist/js/treeshaking/ssr/serverRender/helmet.js +42 -0
  460. package/dist/js/treeshaking/ssr/serverRender/index.js +169 -0
  461. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.after.js +34 -0
  462. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.share.js +7 -0
  463. package/dist/js/treeshaking/ssr/serverRender/renderToStream/bulidTemplate.before.js +115 -0
  464. package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.js +165 -0
  465. package/dist/js/treeshaking/ssr/serverRender/renderToStream/loadable.js +22 -0
  466. package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.js +119 -0
  467. package/dist/js/treeshaking/ssr/serverRender/renderToStream/styledComponent.js +11 -0
  468. package/dist/js/treeshaking/ssr/serverRender/renderToStream/template.js +63 -0
  469. package/dist/js/treeshaking/ssr/serverRender/renderToStream/type.js +1 -0
  470. package/dist/js/treeshaking/ssr/serverRender/renderToString/entry.js +393 -0
  471. package/dist/js/treeshaking/ssr/serverRender/renderToString/index.js +165 -0
  472. package/dist/js/treeshaking/ssr/serverRender/renderToString/loadable.js +56 -0
  473. package/dist/js/treeshaking/ssr/serverRender/renderToString/reduce.js +10 -0
  474. package/dist/js/treeshaking/ssr/serverRender/renderToString/styledComponent.js +9 -0
  475. package/dist/js/treeshaking/ssr/serverRender/renderToString/template.js +156 -0
  476. package/dist/js/treeshaking/ssr/serverRender/renderToString/type.js +7 -0
  477. package/dist/js/treeshaking/ssr/serverRender/types.js +2 -0
  478. package/dist/js/treeshaking/ssr/serverRender/utils.js +69 -0
  479. package/dist/js/treeshaking/ssr/utils.js +134 -0
  480. package/dist/js/treeshaking/state/cli/index.js +71 -0
  481. package/dist/js/treeshaking/state/index.js +4 -0
  482. package/dist/js/treeshaking/state/plugins.js +14 -0
  483. package/dist/js/treeshaking/state/runtime/index.js +5 -0
  484. package/dist/js/treeshaking/state/runtime/plugin.js +198 -0
  485. package/dist/js/treeshaking/state/types.js +1 -0
  486. package/dist/types/router/runtime/index.d.ts +3 -1
  487. package/package.json +4 -4
  488. package/types/model.d.ts +1 -0
@@ -1,10 +1,8 @@
1
- import { jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import React, { useContext, useMemo } from "react";
3
3
  import hoistNonReactStatics from "hoist-non-react-statics";
4
4
  import { ROUTE_MANIFEST } from "@modern-js/utils/universal/constants";
5
- import {
6
- RuntimeReactContext
7
- } from "../runtimeContext";
5
+ import { RuntimeReactContext } from "../runtimeContext";
8
6
  import { runtime } from "./plugin";
9
7
  import { createLoaderManager } from "./loader/loaderManager";
10
8
  const IS_REACT18 = process.env.IS_REACT18 === "true";
@@ -18,110 +16,116 @@ const getInitialContext = (runner) => ({
18
16
  isBrowser: true,
19
17
  routeManifest: typeof window !== "undefined" && window[ROUTE_MANIFEST]
20
18
  });
21
- const createApp = ({
22
- plugins,
23
- props: globalProps
24
- }) => {
19
+ export const createApp = ({ plugins, props: globalProps }) => {
25
20
  const appRuntime = runtime.clone();
26
21
  appRuntime.usePlugin(...plugins);
27
22
  return (App) => {
28
23
  const runner = appRuntime.init();
29
24
  const WrapperComponent = (props) => {
30
- var _a;
31
- const element = React.createElement(
32
- App || React.Fragment,
33
- App ? { ...props } : null,
34
- App ? props.children : React.cloneElement(props.children, {
35
- ...(_a = props.children) == null ? void 0 : _a.props,
36
- ...props
37
- })
38
- );
25
+ var _props_children;
26
+ const element = /* @__PURE__ */ React.createElement(App || React.Fragment, App ? {
27
+ ...props
28
+ } : null, App ? props.children : /* @__PURE__ */ React.cloneElement(props.children, {
29
+ ...(_props_children = props.children) === null || _props_children === void 0 ? void 0 : _props_children.props,
30
+ ...props
31
+ }));
39
32
  const context = useContext(RuntimeReactContext);
40
- return runner.provide(
41
- { element, props: { ...props }, context },
42
- {
43
- onLast: ({ element: element2 }) => element2
44
- }
45
- );
33
+ return runner.provide({
34
+ element,
35
+ props: {
36
+ ...props
37
+ },
38
+ context
39
+ }, {
40
+ onLast: ({ element: element2 }) => element2
41
+ });
46
42
  };
47
43
  if (App) {
48
44
  hoistNonReactStatics(WrapperComponent, App);
49
45
  }
50
- const HOCApp = runner.hoc(
51
- { App: WrapperComponent },
52
- {
53
- onLast: ({ App: App2 }) => {
54
- const WrapComponent = ({ context, ...props }) => {
55
- let contextValue = context;
56
- if (!(contextValue == null ? void 0 : contextValue.runner)) {
57
- contextValue = getInitialContext(runner);
58
- runner.init(
59
- { context: contextValue },
60
- {
61
- onLast: ({ context: context1 }) => {
62
- var _a;
63
- return (_a = App2 == null ? void 0 : App2.init) == null ? void 0 : _a.call(App2, context1);
64
- }
65
- }
66
- );
67
- }
68
- const mergedProps = { ...props, ...globalProps };
69
- return /* @__PURE__ */ jsx(RuntimeReactContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(App2, { ...mergedProps }) });
46
+ const HOCApp = runner.hoc({
47
+ App: WrapperComponent
48
+ }, {
49
+ onLast: ({ App: App2 }) => {
50
+ const WrapComponent = ({ context, ...props }) => {
51
+ let contextValue = context;
52
+ if (!(contextValue === null || contextValue === void 0 ? void 0 : contextValue.runner)) {
53
+ contextValue = getInitialContext(runner);
54
+ runner.init({
55
+ context: contextValue
56
+ }, {
57
+ onLast: ({ context: context1 }) => {
58
+ var _App_init;
59
+ return App2 === null || App2 === void 0 ? void 0 : (_App_init = App2.init) === null || _App_init === void 0 ? void 0 : _App_init.call(App2, context1);
60
+ }
61
+ });
62
+ }
63
+ const mergedProps = {
64
+ ...props,
65
+ ...globalProps
70
66
  };
71
- return hoistNonReactStatics(WrapComponent, App2);
72
- }
67
+ return /* @__PURE__ */ _jsx(RuntimeReactContext.Provider, {
68
+ value: contextValue,
69
+ children: /* @__PURE__ */ _jsx(App2, {
70
+ ...mergedProps
71
+ })
72
+ });
73
+ };
74
+ return hoistNonReactStatics(WrapComponent, App2);
73
75
  }
74
- );
76
+ });
75
77
  runnerMap.set(HOCApp, runner);
76
78
  return HOCApp;
77
79
  };
78
80
  };
79
- const bootstrap = async (BootApp, id, root, ReactDOM) => {
80
- var _a, _b;
81
+ export const bootstrap = async (BootApp, id, root, ReactDOM) => {
81
82
  let App = BootApp;
82
83
  let runner = runnerMap.get(App);
83
84
  if (!runner) {
84
- App = createApp({ plugins: [] })(App);
85
+ App = createApp({
86
+ plugins: []
87
+ })(App);
85
88
  runner = runnerMap.get(App);
86
89
  }
87
90
  const context = getInitialContext(runner);
88
- const runInit = (_context) => runner.init(
89
- { context: _context },
90
- {
91
+ const runInit = (_context) => {
92
+ return runner.init({
93
+ context: _context
94
+ }, {
91
95
  onLast: ({ context: context1 }) => {
92
- var _a2;
93
- return (_a2 = App == null ? void 0 : App.init) == null ? void 0 : _a2.call(App, context1);
96
+ var _App_init;
97
+ return App === null || App === void 0 ? void 0 : (_App_init = App.init) === null || _App_init === void 0 ? void 0 : _App_init.call(App, context1);
94
98
  }
95
- }
96
- );
99
+ });
100
+ };
97
101
  if (!id) {
98
- return React.createElement(App, {
102
+ return /* @__PURE__ */ React.createElement(App, {
99
103
  context
100
104
  });
101
105
  }
102
106
  const isBrowser = typeof window !== "undefined" && window.name !== "nodejs";
103
107
  if (isBrowser) {
104
108
  if (isClientArgs(id)) {
109
+ var _ssrData_data, _ssrData_data1;
105
110
  const ssrData = window._SSR_DATA;
106
- const loadersData = ((_a = ssrData == null ? void 0 : ssrData.data) == null ? void 0 : _a.loadersData) || {};
107
- const initialLoadersState = Object.keys(loadersData).reduce(
108
- (res, key) => {
109
- const loaderData = loadersData[key];
110
- if (loaderData.loading !== false) {
111
- return res;
112
- }
113
- res[key] = loaderData;
111
+ const loadersData = (ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data = ssrData.data) === null || _ssrData_data === void 0 ? void 0 : _ssrData_data.loadersData) || {};
112
+ const initialLoadersState = Object.keys(loadersData).reduce((res, key) => {
113
+ const loaderData = loadersData[key];
114
+ if (loaderData.loading !== false) {
114
115
  return res;
115
- },
116
- {}
117
- );
116
+ }
117
+ res[key] = loaderData;
118
+ return res;
119
+ }, {});
118
120
  Object.assign(context, {
119
121
  loaderManager: createLoaderManager(initialLoadersState, {
120
122
  skipStatic: true
121
123
  }),
122
- ...ssrData ? { ssrContext: ssrData == null ? void 0 : ssrData.context } : {}
124
+ ...ssrData ? {
125
+ ssrContext: ssrData === null || ssrData === void 0 ? void 0 : ssrData.context
126
+ } : {}
123
127
  });
124
- context.initialData = (_b = ssrData == null ? void 0 : ssrData.data) == null ? void 0 : _b.initialData;
128
+ context.initialData = ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data1 = ssrData.data) === null || _ssrData_data1 === void 0 ? void 0 : _ssrData_data1.initialData;
125
129
  const initialData = await runInit(context);
126
130
  if (initialData) {
127
131
  context.initialData = initialData;
@@ -137,15 +141,11 @@ const bootstrap = async (BootApp, id, root, ReactDOM) => {
137
141
  } else if (ReactDOM.createRoot) {
138
142
  ReactDOM.createRoot(rootElement).render(App2);
139
143
  } else {
140
- throw Error(
141
- "The `bootstrap` `ReactDOM` parameter needs to provide the `createRoot` method"
142
- );
144
+ throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `createRoot` method");
143
145
  }
144
146
  } else {
145
147
  if (!ReactDOM.render) {
146
- throw Error(
147
- "The `bootstrap` `ReactDOM` parameter needs to provide the `render` method"
148
- );
148
+ throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `render` method");
149
149
  }
150
150
  ReactDOM.render(App2, rootElement);
151
151
  }
@@ -153,50 +153,40 @@ const bootstrap = async (BootApp, id, root, ReactDOM) => {
153
153
  const ModernHydrate = (App2, callback) => {
154
154
  if (IS_REACT18) {
155
155
  if (!ReactDOM.hydrateRoot) {
156
- throw Error(
157
- "The `bootstrap` `ReactDOM` parameter needs to provide the `hydrateRoot` method"
158
- );
156
+ throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `hydrateRoot` method");
159
157
  }
160
158
  ReactDOM.hydrateRoot(rootElement, App2);
161
159
  } else {
162
160
  if (!ReactDOM.hydrate) {
163
- throw Error(
164
- "The `bootstrap` `ReactDOM` parameter needs to provide the `hydrate` method"
165
- );
161
+ throw Error("The `bootstrap` `ReactDOM` parameter needs to provide the `hydrate` method");
166
162
  }
167
163
  ReactDOM.hydrate(App2, rootElement, callback);
168
164
  }
169
165
  };
170
- return runner.client(
171
- {
172
- App,
173
- context,
174
- ModernRender,
175
- ModernHydrate
176
- },
177
- {
178
- onLast: ({ App: App2 }) => {
179
- ModernRender(React.createElement(App2, { context }));
180
- }
166
+ return runner.client({
167
+ App,
168
+ context,
169
+ ModernRender,
170
+ ModernHydrate
171
+ }, {
172
+ onLast: ({ App: App2 }) => {
173
+ ModernRender(/* @__PURE__ */ React.createElement(App2, {
174
+ context
175
+ }));
181
176
  }
182
- );
177
+ });
183
178
  } else {
184
- throw Error(
185
- "`bootstrap` needs id in browser environment, it needs to be string or element"
186
- );
179
+ throw Error("`bootstrap` needs id in browser environment, it needs to be string or element");
187
180
  }
188
181
  } else {
189
182
  Object.assign(context, {
190
183
  ssrContext: id,
191
184
  isBrowser: false,
192
- loaderManager: createLoaderManager(
193
- {},
194
- {
195
- skipNonStatic: id.staticGenerate,
196
- // if not static generate, only non-static loader can exec on prod env
197
- skipStatic: process.env.NODE_ENV === "production" && !id.staticGenerate
198
- }
199
- )
185
+ loaderManager: createLoaderManager({}, {
186
+ skipNonStatic: id.staticGenerate,
187
+ // if not static generate, only non-static loader can exec on prod env
188
+ skipStatic: process.env.NODE_ENV === "production" && !id.staticGenerate
189
+ })
200
190
  });
201
191
  const isRedirectResponse = (result) => {
202
192
  if (typeof Response !== "undefined" && // fix: ssg workflow doesn't inject Web Response
@@ -225,21 +215,15 @@ const bootstrap = async (BootApp, id, root, ReactDOM) => {
225
215
  }
226
216
  }
227
217
  };
228
- const useRuntimeContext = () => {
218
+ export const useRuntimeContext = () => {
229
219
  const context = useContext(RuntimeReactContext);
230
- const memoizedContext = useMemo(
231
- () => context.runner.pickContext(
232
- { context, pickedContext: {} },
233
- {
234
- onLast: ({ pickedContext }) => pickedContext
235
- }
236
- ),
237
- [context]
238
- );
220
+ const memoizedContext = useMemo(() => context.runner.pickContext({
221
+ context,
222
+ pickedContext: {}
223
+ }, {
224
+ onLast: ({ pickedContext }) => pickedContext
225
+ }), [
226
+ context
227
+ ]);
239
228
  return memoizedContext;
240
229
  };
241
- export {
242
- bootstrap,
243
- createApp,
244
- useRuntimeContext
245
- };
@@ -1,16 +1,6 @@
1
- import { createPlugin, createRuntime, runtime, registerInit } from "./plugin";
2
- import { defineConfig, getConfig } from "./appConfig";
1
+ export { createPlugin, createRuntime, runtime, registerInit } from "./plugin";
2
+ export { defineConfig, getConfig } from "./appConfig";
3
3
  export * from "./compatible";
4
- import { RuntimeReactContext, ServerRouterContext } from "../runtimeContext";
4
+ export { RuntimeReactContext, ServerRouterContext } from "../runtimeContext";
5
5
  export * from "./loader";
6
6
  export * from "@modern-js/plugin";
7
- export {
8
- RuntimeReactContext,
9
- ServerRouterContext,
10
- createPlugin,
11
- createRuntime,
12
- defineConfig,
13
- getConfig,
14
- registerInit,
15
- runtime
16
- };
@@ -1,4 +1 @@
1
- import { default as default2 } from "./useLoader";
2
- export {
3
- default2 as useLoader
4
- };
1
+ export { default as useLoader } from "./useLoader";
@@ -12,13 +12,13 @@ const createGetId = () => {
12
12
  return id;
13
13
  };
14
14
  };
15
- var LoaderStatus = /* @__PURE__ */ ((LoaderStatus2) => {
15
+ export var LoaderStatus;
16
+ (function(LoaderStatus2) {
16
17
  LoaderStatus2[LoaderStatus2["idle"] = 0] = "idle";
17
18
  LoaderStatus2[LoaderStatus2["loading"] = 1] = "loading";
18
19
  LoaderStatus2[LoaderStatus2["fulfilled"] = 2] = "fulfilled";
19
20
  LoaderStatus2[LoaderStatus2["rejected"] = 3] = "rejected";
20
- return LoaderStatus2;
21
- })(LoaderStatus || {});
21
+ })(LoaderStatus || (LoaderStatus = {}));
22
22
  const createLoader = (id, initialData = {
23
23
  loading: false,
24
24
  reloading: false,
@@ -26,7 +26,7 @@ const createLoader = (id, initialData = {
26
26
  error: void 0
27
27
  }, loaderFn, skip = false) => {
28
28
  let promise;
29
- let status = 0 /* idle */;
29
+ let status = LoaderStatus.idle;
30
30
  let { data, error } = initialData;
31
31
  let hasLoaded = false;
32
32
  const handlers = /* @__PURE__ */ new Set();
@@ -34,19 +34,19 @@ const createLoader = (id, initialData = {
34
34
  if (skip) {
35
35
  return promise;
36
36
  }
37
- if (status === 1 /* loading */) {
37
+ if (status === LoaderStatus.loading) {
38
38
  return promise;
39
39
  }
40
- status = 1 /* loading */;
40
+ status = LoaderStatus.loading;
41
41
  notify();
42
42
  promise = loaderFn().then((value) => {
43
43
  data = value;
44
44
  error = null;
45
- status = 2 /* fulfilled */;
45
+ status = LoaderStatus.fulfilled;
46
46
  }).catch((e) => {
47
47
  error = e;
48
48
  data = null;
49
- status = 3 /* rejected */;
49
+ status = LoaderStatus.rejected;
50
50
  }).finally(() => {
51
51
  promise = null;
52
52
  hasLoaded = true;
@@ -55,15 +55,17 @@ const createLoader = (id, initialData = {
55
55
  return promise;
56
56
  };
57
57
  const getResult = () => ({
58
- loading: !hasLoaded && status === 1 /* loading */,
59
- reloading: hasLoaded && status === 1 /* loading */,
58
+ loading: !hasLoaded && status === LoaderStatus.loading,
59
+ reloading: hasLoaded && status === LoaderStatus.loading,
60
60
  data,
61
61
  error: error instanceof Error ? `${error.message}` : error,
62
62
  // redundant fields for ssr log
63
63
  _error: error
64
64
  });
65
65
  const notify = () => {
66
- [...handlers].forEach((handler) => {
66
+ [
67
+ ...handlers
68
+ ].forEach((handler) => {
67
69
  handler(status, getResult());
68
70
  });
69
71
  };
@@ -84,7 +86,7 @@ const createLoader = (id, initialData = {
84
86
  load
85
87
  };
86
88
  };
87
- const createLoaderManager = (initialDataMap, managerOptions = {}) => {
89
+ export const createLoaderManager = (initialDataMap, managerOptions = {}) => {
88
90
  const { skipStatic = false, skipNonStatic = false } = managerOptions;
89
91
  const loadersMap = /* @__PURE__ */ new Map();
90
92
  const getId = createGetId();
@@ -98,7 +100,9 @@ const createLoaderManager = (initialDataMap, managerOptions = {}) => {
98
100
  const skipExec = ignoreNonStatic || ignoreStatic;
99
101
  loader = createLoader(
100
102
  id,
101
- typeof initialDataMap[id] !== "undefined" ? initialDataMap[id] : { data: loaderOptions.initialData },
103
+ typeof initialDataMap[id] !== "undefined" ? initialDataMap[id] : {
104
+ data: loaderOptions.initialData
105
+ },
102
106
  loaderFn,
103
107
  // Todo whether static loader is exec when CSR
104
108
  skipExec
@@ -122,17 +126,17 @@ const createLoaderManager = (initialDataMap, managerOptions = {}) => {
122
126
  for (const [id, loader] of loadersMap) {
123
127
  const { promise } = loader;
124
128
  if (promise instanceof Promise) {
125
- pendingLoaders.push([id, loader]);
129
+ pendingLoaders.push([
130
+ id,
131
+ loader
132
+ ]);
126
133
  }
127
134
  }
128
135
  await Promise.all(pendingLoaders.map((item) => item[1].promise));
129
- return pendingLoaders.reduce(
130
- (res, [id, loader]) => {
131
- res[id] = loader.result;
132
- return res;
133
- },
134
- {}
135
- );
136
+ return pendingLoaders.reduce((res, [id, loader]) => {
137
+ res[id] = loader.result;
138
+ return res;
139
+ }, {});
136
140
  };
137
141
  return {
138
142
  hasPendingLoaders,
@@ -141,7 +145,3 @@ const createLoaderManager = (initialDataMap, managerOptions = {}) => {
141
145
  get
142
146
  };
143
147
  };
144
- export {
145
- LoaderStatus,
146
- createLoaderManager
147
- };
@@ -1,15 +1,10 @@
1
- import {
2
- useContext,
3
- useRef,
4
- useMemo,
5
- useState,
6
- useCallback,
7
- useEffect
8
- } from "react";
1
+ import { useContext, useRef, useMemo, useState, useCallback, useEffect } from "react";
9
2
  import invariant from "invariant";
10
3
  import { RuntimeReactContext } from "../../runtimeContext";
11
4
  import { LoaderStatus } from "./loaderManager";
12
- const useLoader = (loaderFn, options = { params: void 0 }) => {
5
+ const useLoader = (loaderFn, options = {
6
+ params: void 0
7
+ }) => {
13
8
  const context = useContext(RuntimeReactContext);
14
9
  const isSSRRender = Boolean(context.ssr);
15
10
  const { loaderManager } = context;
@@ -18,80 +13,71 @@ const useLoader = (loaderFn, options = { params: void 0 }) => {
18
13
  if (isSSRRender && Object.prototype.hasOwnProperty.call(options, "_cache")) {
19
14
  delete options._cache;
20
15
  }
21
- const load = useCallback(
22
- (params) => {
23
- var _a, _b, _c, _d, _e, _f;
24
- if (typeof params === "undefined") {
25
- return (_a = loaderRef.current) == null ? void 0 : _a.load();
26
- }
27
- const id = loaderManager.add(
28
- () => {
29
- try {
30
- const res2 = loaderFn(context, params);
31
- if (res2 instanceof Promise) {
32
- return res2;
33
- }
34
- return Promise.resolve(res2);
35
- } catch (e) {
36
- return Promise.reject(e);
37
- }
38
- },
39
- {
40
- ...options,
41
- params
16
+ const load = useCallback((params) => {
17
+ var _unlistenLoaderChangeRef_current, _window__SSR_DATA_data_loadersData_id, _window__SSR_DATA, _window__SSR_DATA_data, _loaderRef_current;
18
+ if (typeof params === "undefined") {
19
+ var _loaderRef_current1;
20
+ return (_loaderRef_current1 = loaderRef.current) === null || _loaderRef_current1 === void 0 ? void 0 : _loaderRef_current1.load();
21
+ }
22
+ const id = loaderManager.add(() => {
23
+ try {
24
+ const res2 = loaderFn(context, params);
25
+ if (res2 instanceof Promise) {
26
+ return res2;
42
27
  }
43
- );
44
- loaderRef.current = loaderManager.get(id);
45
- (_b = unlistenLoaderChangeRef.current) == null ? void 0 : _b.call(unlistenLoaderChangeRef);
46
- if (isSSRRender) {
47
- return void 0;
28
+ return Promise.resolve(res2);
29
+ } catch (e) {
30
+ return Promise.reject(e);
48
31
  }
49
- if (options.skip) {
50
- return void 0;
32
+ }, {
33
+ ...options,
34
+ params
35
+ });
36
+ loaderRef.current = loaderManager.get(id);
37
+ (_unlistenLoaderChangeRef_current = unlistenLoaderChangeRef.current) === null || _unlistenLoaderChangeRef_current === void 0 ? void 0 : _unlistenLoaderChangeRef_current.call(unlistenLoaderChangeRef);
38
+ if (isSSRRender) {
39
+ return void 0;
40
+ }
41
+ if (options.skip) {
42
+ return void 0;
43
+ }
44
+ if (context._hydration && ((_window__SSR_DATA_data_loadersData_id = window === null || window === void 0 ? void 0 : (_window__SSR_DATA = window._SSR_DATA) === null || _window__SSR_DATA === void 0 ? void 0 : (_window__SSR_DATA_data = _window__SSR_DATA.data) === null || _window__SSR_DATA_data === void 0 ? void 0 : _window__SSR_DATA_data.loadersData[id]) === null || _window__SSR_DATA_data_loadersData_id === void 0 ? void 0 : _window__SSR_DATA_data_loadersData_id.error) === null) {
45
+ return void 0;
46
+ }
47
+ const res = loaderRef.current.load();
48
+ unlistenLoaderChangeRef.current = (_loaderRef_current = loaderRef.current) === null || _loaderRef_current === void 0 ? void 0 : _loaderRef_current.onChange((_status, _result) => {
49
+ setResult(_result);
50
+ if (_status === LoaderStatus.fulfilled) {
51
+ var _options_onSuccess;
52
+ options === null || options === void 0 ? void 0 : (_options_onSuccess = options.onSuccess) === null || _options_onSuccess === void 0 ? void 0 : _options_onSuccess.call(options, _result.data);
51
53
  }
52
- if (context._hydration && ((_e = (_d = (_c = window == null ? void 0 : window._SSR_DATA) == null ? void 0 : _c.data) == null ? void 0 : _d.loadersData[id]) == null ? void 0 : _e.error) === null) {
53
- return void 0;
54
+ if (_status === LoaderStatus.rejected) {
55
+ var _options_onError;
56
+ options === null || options === void 0 ? void 0 : (_options_onError = options.onError) === null || _options_onError === void 0 ? void 0 : _options_onError.call(options, _result.error);
54
57
  }
55
- const res = loaderRef.current.load();
56
- unlistenLoaderChangeRef.current = (_f = loaderRef.current) == null ? void 0 : _f.onChange(
57
- (_status, _result) => {
58
- var _a2, _b2;
59
- setResult(_result);
60
- if (_status === LoaderStatus.fulfilled) {
61
- (_a2 = options == null ? void 0 : options.onSuccess) == null ? void 0 : _a2.call(options, _result.data);
62
- }
63
- if (_status === LoaderStatus.rejected) {
64
- (_b2 = options == null ? void 0 : options.onError) == null ? void 0 : _b2.call(options, _result.error);
65
- }
66
- }
67
- );
68
- return res;
69
- },
70
- [options.skip]
71
- );
72
- useEffect(
73
- () => () => {
74
- var _a;
75
- (_a = unlistenLoaderChangeRef.current) == null ? void 0 : _a.call(unlistenLoaderChangeRef);
76
- },
77
- []
78
- );
58
+ });
59
+ return res;
60
+ }, [
61
+ options.skip
62
+ ]);
63
+ useEffect(() => {
64
+ return () => {
65
+ var _unlistenLoaderChangeRef_current;
66
+ (_unlistenLoaderChangeRef_current = unlistenLoaderChangeRef.current) === null || _unlistenLoaderChangeRef_current === void 0 ? void 0 : _unlistenLoaderChangeRef_current.call(unlistenLoaderChangeRef);
67
+ };
68
+ }, []);
79
69
  useMemo(() => {
80
- var _a;
81
- const p = (_a = options.params) != null ? _a : loaderFn.id;
82
- invariant(
83
- typeof p !== "undefined" && p !== null,
84
- "Params is required in useLoader"
85
- );
70
+ var _options_params;
71
+ const p = (_options_params = options.params) !== null && _options_params !== void 0 ? _options_params : loaderFn.id;
72
+ invariant(typeof p !== "undefined" && p !== null, "Params is required in useLoader");
86
73
  load(p);
87
- }, [options.params]);
74
+ }, [
75
+ options.params
76
+ ]);
88
77
  const [result, setResult] = useState(loaderRef.current.result);
89
78
  return {
90
79
  ...result,
91
80
  reload: load
92
81
  };
93
82
  };
94
- var useLoader_default = useLoader;
95
- export {
96
- useLoader_default as default
97
- };
83
+ export default useLoader;
@@ -1,8 +1,4 @@
1
- import {
2
- createManager,
3
- createPipeline,
4
- createAsyncPipeline
5
- } from "@modern-js/plugin";
1
+ import { createManager, createPipeline, createAsyncPipeline } from "@modern-js/plugin";
6
2
  import { createLoaderManager } from "./loader/loaderManager";
7
3
  const hoc = createPipeline();
8
4
  const provide = createPipeline();
@@ -18,21 +14,19 @@ const runtimeHooks = {
18
14
  init,
19
15
  pickContext
20
16
  };
21
- const createRuntime = () => createManager(runtimeHooks);
17
+ export const createRuntime = () => createManager(runtimeHooks);
22
18
  const registerInit = (App, _init) => {
23
19
  const originalInit = App.init;
24
20
  App.init = async (context) => {
25
21
  if (!context.loaderManager) {
26
22
  context.loaderManager = createLoaderManager({});
27
23
  }
28
- await Promise.all([originalInit == null ? void 0 : originalInit(context), _init == null ? void 0 : _init(context)]);
24
+ await Promise.all([
25
+ originalInit === null || originalInit === void 0 ? void 0 : originalInit(context),
26
+ _init === null || _init === void 0 ? void 0 : _init(context)
27
+ ]);
29
28
  };
30
29
  };
31
- const runtime = createRuntime();
32
- const { createPlugin } = runtime;
33
- export {
34
- createPlugin,
35
- createRuntime,
36
- registerInit,
37
- runtime
38
- };
30
+ export const runtime = createRuntime();
31
+ export const { createPlugin } = runtime;
32
+ export { registerInit };
@@ -0,0 +1 @@
1
+ export {};