@modern-js/runtime 2.54.6 → 2.56.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 (309) hide show
  1. package/dist/cjs/{ssr/serverRender/renderToString/index.js → cli/alias.js} +29 -18
  2. package/dist/cjs/cli/code.js +124 -0
  3. package/dist/cjs/cli/constants.js +23 -2
  4. package/dist/cjs/cli/index.js +91 -17
  5. package/dist/cjs/cli/ssr/index.js +137 -0
  6. package/dist/cjs/cli/template.js +101 -0
  7. package/dist/cjs/cli/template.server.js +71 -0
  8. package/dist/cjs/core/browser/hydrate.js +116 -0
  9. package/dist/cjs/core/browser/index.js +142 -0
  10. package/dist/cjs/core/compatible.js +39 -74
  11. package/dist/cjs/{ssr/serverRender/types.js → core/constants.js} +3 -3
  12. package/dist/cjs/core/context/index.js +39 -2
  13. package/dist/cjs/core/context/runtime.js +3 -3
  14. package/dist/cjs/core/loader/useLoader.js +2 -2
  15. package/dist/cjs/core/plugin/base.js +0 -4
  16. package/dist/cjs/core/plugin/index.js +6 -0
  17. package/dist/cjs/core/react/index.js +51 -0
  18. package/dist/cjs/{ssr/serverRender → core/server}/helmet.js +11 -2
  19. package/dist/cjs/core/server/index.js +38 -0
  20. package/dist/cjs/core/server/requestHandler.js +156 -0
  21. package/dist/cjs/core/server/server.js +34 -0
  22. package/dist/cjs/{ssr/serverRender/renderToStream/buildTemplate.share.js → core/server/shared.js} +7 -10
  23. package/dist/cjs/core/server/stream/afterTemplate.js +80 -0
  24. package/dist/cjs/{ssr/serverRender/renderToStream/bulidTemplate.before.js → core/server/stream/beforeTemplate.js} +11 -12
  25. package/dist/cjs/core/server/stream/createReadableStream.js +124 -0
  26. package/dist/cjs/core/server/stream/createReadableStream.worker.js +105 -0
  27. package/dist/cjs/core/server/stream/index.js +30 -0
  28. package/dist/cjs/core/server/stream/shared.js +112 -0
  29. package/dist/cjs/{ssr/serverRender/renderToStream → core/server/stream}/template.js +6 -10
  30. package/dist/cjs/core/server/string/index.js +152 -0
  31. package/dist/cjs/{ssr/serverRender/renderToString → core/server/string}/loadable.js +9 -12
  32. package/dist/cjs/core/server/string/prefetch.js +112 -0
  33. package/dist/cjs/core/server/string/ssrData.js +100 -0
  34. package/dist/cjs/core/server/string/styledComponent.js +53 -0
  35. package/dist/cjs/core/server/string/types.js +16 -0
  36. package/dist/cjs/core/server/tracer.js +60 -0
  37. package/dist/cjs/{ssr/serverRender → core/server}/utils.js +48 -2
  38. package/dist/cjs/{ssr/serverRender/renderToString/styledComponent.js → core/utils/merge.js} +28 -19
  39. package/dist/cjs/router/cli/code/index.js +12 -8
  40. package/dist/cjs/router/cli/code/templates.js +58 -3
  41. package/dist/cjs/router/cli/constants.js +6 -0
  42. package/dist/cjs/router/cli/entry.js +16 -17
  43. package/dist/cjs/router/cli/handler.js +22 -5
  44. package/dist/cjs/router/cli/index.js +29 -56
  45. package/dist/cjs/router/runtime/PrefetchLink.js +1 -1
  46. package/dist/cjs/router/runtime/index.js +2 -0
  47. package/dist/cjs/router/runtime/plugin.js +13 -40
  48. package/dist/cjs/router/runtime/plugin.node.js +24 -46
  49. package/dist/cjs/state/cli/index.js +7 -35
  50. package/dist/cjs/state/runtime/plugin.js +6 -15
  51. package/dist/esm/cli/alias.js +30 -0
  52. package/dist/esm/cli/code.js +131 -0
  53. package/dist/esm/cli/constants.js +15 -1
  54. package/dist/esm/cli/index.js +110 -18
  55. package/dist/esm/{ssr/cli → cli/ssr}/babel-plugin-ssr-loader-id.js +1 -1
  56. package/dist/esm/cli/ssr/index.js +127 -0
  57. package/dist/esm/{ssr/cli → cli/ssr}/loadable-bundler-plugin.js +1 -1
  58. package/dist/esm/cli/template.js +53 -0
  59. package/dist/esm/cli/template.server.js +26 -0
  60. package/dist/esm/core/browser/hydrate.js +88 -0
  61. package/dist/esm/core/browser/index.js +242 -0
  62. package/dist/esm/core/compatible.js +48 -90
  63. package/dist/esm/core/context/index.js +32 -1
  64. package/dist/esm/core/context/runtime.js +3 -2
  65. package/dist/esm/core/loader/useLoader.js +2 -2
  66. package/dist/esm/core/plugin/base.js +0 -4
  67. package/dist/esm/core/plugin/index.js +10 -0
  68. package/dist/esm/core/react/index.js +31 -0
  69. package/dist/esm/{ssr/serverRender → core/server}/helmet.js +10 -2
  70. package/dist/esm/core/server/index.js +16 -0
  71. package/dist/esm/core/server/react/prerender/type.js +0 -0
  72. package/dist/esm/core/server/requestHandler.js +181 -0
  73. package/dist/esm/core/server/server.js +8 -0
  74. package/dist/esm/core/server/shared.js +10 -0
  75. package/dist/esm/core/server/stream/afterTemplate.js +60 -0
  76. package/dist/esm/{ssr/serverRender/renderToStream/bulidTemplate.before.js → core/server/stream/beforeTemplate.js} +10 -11
  77. package/dist/esm/{ssr/serverRender/renderToStream/renderToPipe.js → core/server/stream/createReadableStream.js} +43 -38
  78. package/dist/esm/core/server/stream/createReadableStream.worker.js +142 -0
  79. package/dist/esm/core/server/stream/index.js +6 -0
  80. package/dist/esm/core/server/stream/shared.js +102 -0
  81. package/dist/esm/core/server/stream/template.js +42 -0
  82. package/dist/esm/core/server/string/index.js +219 -0
  83. package/dist/esm/{ssr/serverRender/renderToString → core/server/string}/loadable.js +10 -13
  84. package/dist/esm/{ssr → core/server/string}/prefetch.js +28 -22
  85. package/dist/esm/core/server/string/ssrData.js +83 -0
  86. package/dist/esm/core/server/string/styledComponent.js +34 -0
  87. package/dist/esm/core/server/string/types.js +0 -0
  88. package/dist/esm/core/server/tracer.js +34 -0
  89. package/dist/esm/core/server/utils.js +83 -0
  90. package/dist/esm/core/utils/merge.js +32 -0
  91. package/dist/esm/router/cli/code/index.js +13 -10
  92. package/dist/esm/router/cli/code/templates.js +100 -7
  93. package/dist/esm/router/cli/constants.js +4 -0
  94. package/dist/esm/router/cli/entry.js +19 -19
  95. package/dist/esm/router/cli/handler.js +70 -8
  96. package/dist/esm/router/cli/index.js +52 -65
  97. package/dist/esm/router/runtime/PrefetchLink.js +1 -1
  98. package/dist/esm/router/runtime/index.js +1 -0
  99. package/dist/esm/router/runtime/plugin.js +12 -20
  100. package/dist/esm/router/runtime/plugin.node.js +26 -82
  101. package/dist/esm/state/cli/index.js +9 -38
  102. package/dist/esm/state/runtime/plugin.js +5 -5
  103. package/dist/esm-node/cli/alias.js +28 -0
  104. package/dist/esm-node/cli/code.js +90 -0
  105. package/dist/esm-node/cli/constants.js +15 -1
  106. package/dist/esm-node/cli/index.js +83 -13
  107. package/dist/esm-node/{ssr/cli → cli/ssr}/babel-plugin-ssr-loader-id.js +1 -1
  108. package/dist/esm-node/cli/ssr/index.js +103 -0
  109. package/dist/esm-node/{ssr/cli → cli/ssr}/loadable-bundler-plugin.js +1 -1
  110. package/dist/esm-node/cli/template.js +64 -0
  111. package/dist/esm-node/cli/template.server.js +47 -0
  112. package/dist/esm-node/core/browser/hydrate.js +81 -0
  113. package/dist/esm-node/core/browser/index.js +108 -0
  114. package/dist/esm-node/core/compatible.js +39 -74
  115. package/dist/esm-node/core/context/index.js +32 -1
  116. package/dist/esm-node/core/context/runtime.js +3 -3
  117. package/dist/esm-node/core/loader/useLoader.js +2 -2
  118. package/dist/esm-node/core/plugin/base.js +0 -4
  119. package/dist/esm-node/core/plugin/index.js +5 -0
  120. package/dist/esm-node/core/react/index.js +27 -0
  121. package/dist/esm-node/{ssr/serverRender → core/server}/helmet.js +6 -2
  122. package/dist/esm-node/core/server/index.js +12 -0
  123. package/dist/esm-node/core/server/requestHandler.js +132 -0
  124. package/dist/esm-node/core/server/server.js +8 -0
  125. package/dist/esm-node/core/server/shared.js +6 -0
  126. package/dist/esm-node/core/server/stream/afterTemplate.js +56 -0
  127. package/dist/esm-node/{ssr/serverRender/renderToStream/bulidTemplate.before.js → core/server/stream/beforeTemplate.js} +8 -9
  128. package/dist/esm-node/{ssr/serverRender/renderToStream/renderToPipe.js → core/server/stream/createReadableStream.js} +41 -35
  129. package/dist/esm-node/core/server/stream/createReadableStream.worker.js +71 -0
  130. package/dist/esm-node/core/server/stream/index.js +6 -0
  131. package/dist/esm-node/core/server/stream/shared.js +75 -0
  132. package/dist/esm-node/core/server/stream/template.js +15 -0
  133. package/dist/esm-node/core/server/string/index.js +118 -0
  134. package/dist/esm-node/{ssr/serverRender/renderToString → core/server/string}/loadable.js +8 -11
  135. package/dist/esm-node/core/server/string/prefetch.js +78 -0
  136. package/dist/esm-node/core/server/string/ssrData.js +76 -0
  137. package/dist/esm-node/core/server/string/styledComponent.js +29 -0
  138. package/dist/esm-node/core/server/tracer.js +33 -0
  139. package/dist/esm-node/core/server/utils.js +60 -0
  140. package/dist/esm-node/core/utils/merge.js +29 -0
  141. package/dist/esm-node/router/cli/code/index.js +10 -7
  142. package/dist/esm-node/router/cli/code/templates.js +60 -6
  143. package/dist/esm-node/router/cli/constants.js +4 -0
  144. package/dist/esm-node/router/cli/entry.js +16 -17
  145. package/dist/esm-node/router/cli/handler.js +21 -5
  146. package/dist/esm-node/router/cli/index.js +31 -58
  147. package/dist/esm-node/router/runtime/PrefetchLink.js +1 -1
  148. package/dist/esm-node/router/runtime/index.js +1 -0
  149. package/dist/esm-node/router/runtime/plugin.js +13 -30
  150. package/dist/esm-node/router/runtime/plugin.node.js +25 -46
  151. package/dist/esm-node/state/cli/index.js +8 -36
  152. package/dist/esm-node/state/runtime/plugin.js +5 -5
  153. package/dist/types/cli/alias.d.ts +7 -0
  154. package/dist/types/cli/code.d.ts +10 -0
  155. package/dist/types/cli/constants.d.ts +7 -0
  156. package/dist/types/cli/index.d.ts +8 -1
  157. package/dist/types/cli/template.d.ts +27 -0
  158. package/dist/types/cli/template.server.d.ts +15 -0
  159. package/dist/types/common.d.ts +9 -0
  160. package/dist/types/core/browser/hydrate.d.ts +5 -0
  161. package/dist/types/core/browser/index.d.ts +3 -0
  162. package/dist/types/core/config.d.ts +5 -6
  163. package/dist/types/core/constants.d.ts +5 -0
  164. package/dist/types/core/context/index.d.ts +34 -1
  165. package/dist/types/core/context/runtime.d.ts +2 -2
  166. package/dist/types/core/plugin/base.d.ts +3 -33
  167. package/dist/types/core/plugin/index.d.ts +2 -11
  168. package/dist/types/core/plugin/runner.d.ts +1 -11
  169. package/dist/types/core/react/index.d.ts +6 -0
  170. package/dist/types/core/server/helmet.d.ts +3 -0
  171. package/dist/types/core/server/index.d.ts +4 -0
  172. package/dist/types/core/server/requestHandler.d.ts +11 -0
  173. package/dist/types/core/server/server.d.ts +4 -0
  174. package/dist/types/core/server/shared.d.ts +9 -0
  175. package/dist/types/core/server/stream/afterTemplate.d.ts +12 -0
  176. package/dist/types/core/server/stream/beforeTemplate.d.ts +8 -0
  177. package/dist/types/core/server/stream/createReadableStream.d.ts +2 -0
  178. package/dist/types/core/server/stream/createReadableStream.worker.d.ts +2 -0
  179. package/dist/types/core/server/stream/index.d.ts +1 -0
  180. package/dist/types/core/server/stream/shared.d.ts +22 -0
  181. package/dist/types/core/server/stream/template.d.ts +9 -0
  182. package/dist/types/core/server/string/index.d.ts +2 -0
  183. package/dist/types/core/server/string/loadable.d.ts +35 -0
  184. package/dist/types/core/server/string/prefetch.d.ts +16 -0
  185. package/dist/types/core/server/string/ssrData.d.ts +18 -0
  186. package/dist/types/core/server/string/styledComponent.d.ts +11 -0
  187. package/dist/types/core/server/string/types.d.ts +12 -0
  188. package/dist/types/core/server/tracer.d.ts +21 -0
  189. package/dist/types/core/server/utils.d.ts +19 -0
  190. package/dist/types/core/types.d.ts +35 -1
  191. package/dist/types/core/utils/merge.d.ts +6 -0
  192. package/dist/types/index.d.ts +1 -1
  193. package/dist/types/router/cli/code/index.d.ts +3 -4
  194. package/dist/types/router/cli/code/templates.d.ts +9 -1
  195. package/dist/types/router/cli/constants.d.ts +2 -0
  196. package/dist/types/router/cli/handler.d.ts +1 -0
  197. package/dist/types/router/runtime/index.d.ts +1 -0
  198. package/dist/types/router/runtime/plugin.d.ts +1 -1
  199. package/dist/types/router/runtime/plugin.node.d.ts +1 -3
  200. package/dist/types/router/runtime/types.d.ts +1 -2
  201. package/dist/types/state/runtime/plugin.d.ts +2 -2
  202. package/package.json +52 -45
  203. package/types/router.d.ts +7 -2
  204. package/dist/cjs/ssr/cli/index.js +0 -200
  205. package/dist/cjs/ssr/index.js +0 -183
  206. package/dist/cjs/ssr/index.node.js +0 -86
  207. package/dist/cjs/ssr/prefetch.js +0 -92
  208. package/dist/cjs/ssr/serverRender/index.js +0 -39
  209. package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -74
  210. package/dist/cjs/ssr/serverRender/renderToStream/index.js +0 -74
  211. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.js +0 -104
  212. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.worker.js +0 -108
  213. package/dist/cjs/ssr/serverRender/renderToString/buildHtml.js +0 -52
  214. package/dist/cjs/ssr/serverRender/renderToString/entry.js +0 -179
  215. package/dist/cjs/ssr/serverRender/renderToString/render.js +0 -61
  216. package/dist/cjs/ssr/serverRender/tracker.js +0 -113
  217. package/dist/cjs/ssr/utils.js +0 -94
  218. package/dist/esm/ssr/cli/index.js +0 -194
  219. package/dist/esm/ssr/index.js +0 -169
  220. package/dist/esm/ssr/index.node.js +0 -78
  221. package/dist/esm/ssr/serverRender/index.js +0 -55
  222. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -48
  223. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -12
  224. package/dist/esm/ssr/serverRender/renderToStream/index.js +0 -49
  225. package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.worker.js +0 -164
  226. package/dist/esm/ssr/serverRender/renderToStream/template.js +0 -46
  227. package/dist/esm/ssr/serverRender/renderToString/buildHtml.js +0 -34
  228. package/dist/esm/ssr/serverRender/renderToString/entry.js +0 -257
  229. package/dist/esm/ssr/serverRender/renderToString/index.js +0 -34
  230. package/dist/esm/ssr/serverRender/renderToString/render.js +0 -55
  231. package/dist/esm/ssr/serverRender/renderToString/styledComponent.js +0 -25
  232. package/dist/esm/ssr/serverRender/tracker.js +0 -82
  233. package/dist/esm/ssr/serverRender/utils.js +0 -21
  234. package/dist/esm/ssr/utils.js +0 -59
  235. package/dist/esm-node/ssr/cli/index.js +0 -166
  236. package/dist/esm-node/ssr/index.js +0 -147
  237. package/dist/esm-node/ssr/index.node.js +0 -50
  238. package/dist/esm-node/ssr/prefetch.js +0 -72
  239. package/dist/esm-node/ssr/serverRender/index.js +0 -19
  240. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -50
  241. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -8
  242. package/dist/esm-node/ssr/serverRender/renderToStream/index.js +0 -40
  243. package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.worker.js +0 -88
  244. package/dist/esm-node/ssr/serverRender/renderToStream/template.js +0 -19
  245. package/dist/esm-node/ssr/serverRender/renderToString/buildHtml.js +0 -24
  246. package/dist/esm-node/ssr/serverRender/renderToString/entry.js +0 -149
  247. package/dist/esm-node/ssr/serverRender/renderToString/index.js +0 -17
  248. package/dist/esm-node/ssr/serverRender/renderToString/render.js +0 -27
  249. package/dist/esm-node/ssr/serverRender/renderToString/styledComponent.js +0 -20
  250. package/dist/esm-node/ssr/serverRender/tracker.js +0 -87
  251. package/dist/esm-node/ssr/serverRender/utils.js +0 -17
  252. package/dist/esm-node/ssr/utils.js +0 -57
  253. package/dist/types/ssr/index.d.ts +0 -11
  254. package/dist/types/ssr/index.node.d.ts +0 -5
  255. package/dist/types/ssr/prefetch.d.ts +0 -16
  256. package/dist/types/ssr/serverRender/helmet.d.ts +0 -2
  257. package/dist/types/ssr/serverRender/index.d.ts +0 -2
  258. package/dist/types/ssr/serverRender/renderToStream/buildTemplate.after.d.ts +0 -7
  259. package/dist/types/ssr/serverRender/renderToStream/buildTemplate.share.d.ts +0 -3
  260. package/dist/types/ssr/serverRender/renderToStream/bulidTemplate.before.d.ts +0 -2
  261. package/dist/types/ssr/serverRender/renderToStream/index.d.ts +0 -3
  262. package/dist/types/ssr/serverRender/renderToStream/renderToPipe.d.ts +0 -7
  263. package/dist/types/ssr/serverRender/renderToStream/renderToPipe.worker.d.ts +0 -12
  264. package/dist/types/ssr/serverRender/renderToStream/template.d.ts +0 -6
  265. package/dist/types/ssr/serverRender/renderToString/buildHtml.d.ts +0 -6
  266. package/dist/types/ssr/serverRender/renderToString/entry.d.ts +0 -24
  267. package/dist/types/ssr/serverRender/renderToString/index.d.ts +0 -2
  268. package/dist/types/ssr/serverRender/renderToString/loadable.d.ts +0 -26
  269. package/dist/types/ssr/serverRender/renderToString/render.d.ts +0 -16
  270. package/dist/types/ssr/serverRender/renderToString/styledComponent.d.ts +0 -15
  271. package/dist/types/ssr/serverRender/tracker.d.ts +0 -20
  272. package/dist/types/ssr/serverRender/types.d.ts +0 -49
  273. package/dist/types/ssr/serverRender/utils.d.ts +0 -9
  274. package/dist/types/ssr/utils.d.ts +0 -10
  275. /package/dist/cjs/{ssr/cli → cli/ssr}/babel-plugin-ssr-loader-id.js +0 -0
  276. /package/dist/cjs/{ssr/cli → cli/ssr}/loadable-bundler-plugin.js +0 -0
  277. /package/dist/cjs/{ssr/react/withCallback/index.js → core/browser/withCallback.js} +0 -0
  278. /package/dist/cjs/{ssr/serverRender → core/server}/constants.js +0 -0
  279. /package/dist/cjs/{ssr → core/server}/react/index.js +0 -0
  280. /package/dist/cjs/{ssr → core/server}/react/nossr/index.js +0 -0
  281. /package/dist/cjs/{ssr → core/server}/react/prerender/index.js +0 -0
  282. /package/dist/cjs/{ssr → core/server}/react/prerender/type.js +0 -0
  283. /package/dist/cjs/{ssr → core/server}/react/prerender/util.js +0 -0
  284. /package/dist/esm/{ssr/react/withCallback/index.js → core/browser/withCallback.js} +0 -0
  285. /package/dist/esm/{ssr/serverRender/types.js → core/constants.js} +0 -0
  286. /package/dist/esm/{ssr/serverRender → core/server}/constants.js +0 -0
  287. /package/dist/esm/{ssr → core/server}/react/index.js +0 -0
  288. /package/dist/esm/{ssr → core/server}/react/nossr/index.js +0 -0
  289. /package/dist/esm/{ssr → core/server}/react/prerender/index.js +0 -0
  290. /package/dist/esm/{ssr → core/server}/react/prerender/util.js +0 -0
  291. /package/dist/esm-node/{ssr/react/withCallback/index.js → core/browser/withCallback.js} +0 -0
  292. /package/dist/esm-node/{ssr/serverRender/types.js → core/constants.js} +0 -0
  293. /package/dist/esm-node/{ssr/serverRender → core/server}/constants.js +0 -0
  294. /package/dist/esm-node/{ssr → core/server}/react/index.js +0 -0
  295. /package/dist/esm-node/{ssr → core/server}/react/nossr/index.js +0 -0
  296. /package/dist/esm-node/{ssr → core/server}/react/prerender/index.js +0 -0
  297. /package/dist/esm-node/{ssr → core/server}/react/prerender/type.js +0 -0
  298. /package/dist/esm-node/{ssr → core/server}/react/prerender/util.js +0 -0
  299. /package/dist/{esm/ssr/react/prerender/type.js → esm-node/core/server/string/types.js} +0 -0
  300. /package/dist/types/{ssr/cli → cli/ssr}/babel-plugin-ssr-loader-id.d.ts +0 -0
  301. /package/dist/types/{ssr/cli → cli/ssr}/index.d.ts +0 -0
  302. /package/dist/types/{ssr/cli → cli/ssr}/loadable-bundler-plugin.d.ts +0 -0
  303. /package/dist/types/{ssr/react/withCallback/index.d.ts → core/browser/withCallback.d.ts} +0 -0
  304. /package/dist/types/{ssr/serverRender → core/server}/constants.d.ts +0 -0
  305. /package/dist/types/{ssr → core/server}/react/index.d.ts +0 -0
  306. /package/dist/types/{ssr → core/server}/react/nossr/index.d.ts +0 -0
  307. /package/dist/types/{ssr → core/server}/react/prerender/index.d.ts +0 -0
  308. /package/dist/types/{ssr → core/server}/react/prerender/type.d.ts +0 -0
  309. /package/dist/types/{ssr → core/server}/react/prerender/util.d.ts +0 -0
@@ -1,66 +1,55 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useContext } from "react";
3
3
  import { createStaticHandler } from "@modern-js/runtime-utils/remix-router";
4
4
  import { createStaticRouter, StaticRouterProvider } from "@modern-js/runtime-utils/node/router";
5
- import hoistNonReactStatics from "hoist-non-react-statics";
6
5
  import { createRoutesFromElements } from "@modern-js/runtime-utils/router";
7
6
  import { reporterCtx, createRequestContext } from "@modern-js/runtime-utils/node";
8
7
  import { time } from "@modern-js/runtime-utils/time";
9
8
  import { LOADER_REPORTER_NAME } from "@modern-js/utils/universal/constants";
10
9
  import { JSX_SHELL_STREAM_END_MARK } from "../../common";
11
10
  import { RuntimeReactContext } from "../../core";
11
+ import { getGlobalLayoutApp, getGlobalRoutes } from "../../core/context";
12
12
  import { renderRoutes, urlJoin } from "./utils";
13
13
  import { modifyRoutes as modifyRoutesHook } from "./hooks";
14
14
  import DeferredDataScripts from "./DeferredDataScripts.node";
15
- function createFetchRequest(req) {
16
- const origin = `${req.protocol}://${req.host}`;
17
- const url = new URL(req.originalUrl || req.url, origin);
15
+ function createRemixReuqest(request) {
16
+ const method = "GET";
17
+ const { headers } = request;
18
18
  const controller = new AbortController();
19
- const init = {
20
- method: req.method,
21
- headers: createFetchHeaders(req.headers),
19
+ return new Request(request.url, {
20
+ method,
21
+ headers,
22
22
  signal: controller.signal
23
- };
24
- return new Request(url.href, init);
23
+ });
25
24
  }
26
- function createFetchHeaders(requestHeaders) {
27
- const headers = new Headers();
28
- for (const [key, values] of Object.entries(requestHeaders || {})) {
29
- if (values) {
30
- if (Array.isArray(values)) {
31
- for (const value of values) {
32
- headers.append(key, value);
33
- }
34
- } else {
35
- headers.set(key, values);
36
- }
37
- }
38
- }
39
- return headers;
40
- }
41
- const routerPlugin = ({ basename = "", originalBaseUrl = "", routesConfig, createRoutes }) => {
25
+ const routerPlugin = ({ basename = "", routesConfig, createRoutes }) => {
42
26
  return {
43
27
  name: "@modern-js/plugin-router",
44
28
  registerHook: {
45
29
  modifyRoutes: modifyRoutesHook
46
30
  },
47
31
  setup: (api) => {
32
+ const finalRouteConfig = {
33
+ routes: getGlobalRoutes(),
34
+ globalApp: getGlobalLayoutApp(),
35
+ ...routesConfig
36
+ };
48
37
  return {
49
38
  async init({ context }, next) {
50
- var _context_ssrContext;
51
- if (!routesConfig && !createRoutes) {
39
+ var _context_ssrContext, _context_ssrContext_onTiming, _context_ssrContext1;
40
+ if (!finalRouteConfig.routes && !createRoutes) {
52
41
  return next({
53
42
  context
54
43
  });
55
44
  }
56
45
  const { request, mode: ssrMode, nonce, loaderFailureMode = "errorBoundary" } = context.ssrContext;
57
- const baseUrl = originalBaseUrl || request.baseUrl;
46
+ const { baseUrl } = request;
58
47
  const _basename = baseUrl === "/" ? urlJoin(baseUrl, basename) : baseUrl;
59
- const { reporter, serverTiming } = context.ssrContext;
48
+ const { reporter } = context.ssrContext;
60
49
  const requestContext = createRequestContext((_context_ssrContext = context.ssrContext) === null || _context_ssrContext === void 0 ? void 0 : _context_ssrContext.loaderContext);
61
50
  requestContext.set(reporterCtx, reporter);
62
51
  let routes = createRoutes ? createRoutes() : createRoutesFromElements(renderRoutes({
63
- routesConfig,
52
+ routesConfig: finalRouteConfig,
64
53
  ssrMode,
65
54
  props: {
66
55
  nonce
@@ -72,14 +61,13 @@ const routerPlugin = ({ basename = "", originalBaseUrl = "", routesConfig, creat
72
61
  const { query } = createStaticHandler(routes, {
73
62
  basename: _basename
74
63
  });
75
- const remixRequest = createFetchRequest(request);
64
+ const remixRequest = createRemixReuqest(context.ssrContext.request.raw);
76
65
  const end = time();
77
66
  const routerContext = await query(remixRequest, {
78
67
  requestContext
79
68
  });
80
69
  const cost = end();
81
- reporter === null || reporter === void 0 ? void 0 : reporter.reportTiming(LOADER_REPORTER_NAME, cost);
82
- serverTiming.addServeTiming(LOADER_REPORTER_NAME, cost);
70
+ (_context_ssrContext1 = context.ssrContext) === null || _context_ssrContext1 === void 0 ? void 0 : (_context_ssrContext_onTiming = _context_ssrContext1.onTiming) === null || _context_ssrContext_onTiming === void 0 ? void 0 : _context_ssrContext_onTiming.call(_context_ssrContext1, LOADER_REPORTER_NAME, cost);
83
71
  if (routerContext instanceof Response) {
84
72
  return routerContext;
85
73
  }
@@ -91,24 +79,22 @@ const routerPlugin = ({ basename = "", originalBaseUrl = "", routesConfig, creat
91
79
  context.remixRouter = router;
92
80
  context.routerContext = routerContext;
93
81
  context.routes = routes;
94
- context.routeManifest = context.ssrContext.routeManifest;
95
82
  return next({
96
83
  context
97
84
  });
98
85
  },
99
86
  hoc: ({ App, config }, next) => {
100
- if (!routesConfig) {
87
+ if (!finalRouteConfig) {
101
88
  return next({
102
89
  App,
103
90
  config
104
91
  });
105
92
  }
106
93
  const getRouteApp = () => {
107
- return (props) => {
94
+ return () => {
108
95
  const { remixRouter, routerContext, ssrContext } = useContext(RuntimeReactContext);
109
96
  const { nonce, mode } = ssrContext;
110
- return /* @__PURE__ */ _jsxs(App, {
111
- ...props,
97
+ return /* @__PURE__ */ _jsxs(_Fragment, {
112
98
  children: [
113
99
  /* @__PURE__ */ _jsx(StaticRouterProvider, {
114
100
  router: remixRouter,
@@ -125,12 +111,6 @@ const routerPlugin = ({ basename = "", originalBaseUrl = "", routesConfig, creat
125
111
  };
126
112
  };
127
113
  const RouteApp = getRouteApp();
128
- if (routesConfig === null || routesConfig === void 0 ? void 0 : routesConfig.globalApp) {
129
- return next({
130
- App: hoistNonReactStatics(RouteApp, routesConfig.globalApp),
131
- config
132
- });
133
- }
134
114
  return next({
135
115
  App: RouteApp,
136
116
  config
@@ -165,7 +145,6 @@ const routerPlugin = ({ basename = "", originalBaseUrl = "", routesConfig, creat
165
145
  const modifyRoutes = () => {
166
146
  };
167
147
  export {
168
- createFetchHeaders,
169
148
  modifyRoutes,
170
149
  routerPlugin
171
150
  };
@@ -1,4 +1,4 @@
1
- import { getEntryOptions, createRuntimeExportsUtils } from "@modern-js/utils";
1
+ import { createRuntimeExportsUtils, getEntryOptions } from "@modern-js/utils";
2
2
  const PLUGIN_IDENTIFIER = "state";
3
3
  const statePlugin = () => ({
4
4
  name: "@modern-js/plugin-state",
@@ -6,48 +6,18 @@ const statePlugin = () => ({
6
6
  "@modern-js/runtime"
7
7
  ],
8
8
  setup: (api) => {
9
- const stateConfigMap = /* @__PURE__ */ new Map();
10
- let pluginsExportsUtils;
11
9
  return {
12
- config() {
13
- const appContext = api.useAppContext();
14
- pluginsExportsUtils = createRuntimeExportsUtils(appContext.internalDirectory, "plugins");
15
- return {
16
- source: {
17
- alias: {
18
- "@modern-js/runtime/plugins": pluginsExportsUtils.getPath()
19
- }
20
- }
21
- };
22
- },
23
- modifyEntryImports({ entrypoint, imports }) {
10
+ _internalRuntimePlugins({ entrypoint, plugins }) {
24
11
  var _getEntryOptions;
25
12
  const { entryName, isMainEntry } = entrypoint;
26
13
  const userConfig = api.useResolvedConfigContext();
27
- const { packageName } = api.useAppContext();
14
+ const { packageName, metaName } = api.useAppContext();
28
15
  const stateConfig = (_getEntryOptions = getEntryOptions(entryName, isMainEntry, userConfig.runtime, userConfig.runtimeByEntries, packageName)) === null || _getEntryOptions === void 0 ? void 0 : _getEntryOptions.state;
29
- stateConfigMap.set(entryName, stateConfig);
30
16
  if (stateConfig) {
31
- imports.push({
32
- value: "@modern-js/runtime/plugins",
33
- specifiers: [
34
- {
35
- imported: PLUGIN_IDENTIFIER
36
- }
37
- ]
38
- });
39
- }
40
- return {
41
- entrypoint,
42
- imports
43
- };
44
- },
45
- modifyEntryRuntimePlugins({ entrypoint, plugins }) {
46
- const stateOptions = stateConfigMap.get(entrypoint.entryName);
47
- if (stateOptions) {
48
17
  plugins.push({
49
18
  name: PLUGIN_IDENTIFIER,
50
- options: `${JSON.stringify(stateConfigMap.get(entrypoint.entryName))}`
19
+ path: `@${metaName}/runtime/model`,
20
+ config: typeof stateConfig === "boolean" ? {} : stateConfig
51
21
  });
52
22
  }
53
23
  return {
@@ -56,7 +26,9 @@ const statePlugin = () => ({
56
26
  };
57
27
  },
58
28
  addRuntimeExports() {
59
- pluginsExportsUtils.addExport(`export { default as state } from '@modern-js/runtime/model'`);
29
+ const { internalDirectory, metaName } = api.useAppContext();
30
+ const pluginsExportsUtils = createRuntimeExportsUtils(internalDirectory, "plugins");
31
+ pluginsExportsUtils.addExport(`export { default as state } from '@${metaName}/runtime/model'`);
60
32
  }
61
33
  };
62
34
  }
@@ -2,7 +2,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useContext } from "react";
3
3
  import { createStore } from "@modern-js-reduck/store";
4
4
  import { Provider } from "@modern-js-reduck/react";
5
- import hoistNonReactStatics from "hoist-non-react-statics";
6
5
  import { immer, effects, autoActions, devtools } from "../plugins";
7
6
  import { RuntimeReactContext } from "../../core";
8
7
  import { isBrowser } from "../../common";
@@ -30,7 +29,7 @@ const getStoreConfig = (config) => {
30
29
  storeConfig.plugins = plugins;
31
30
  return storeConfig;
32
31
  };
33
- const state = (config) => ({
32
+ const statePlugin = (config) => ({
34
33
  name: "@modern-js/plugin-state",
35
34
  setup: () => {
36
35
  const storeConfig = getStoreConfig(config);
@@ -47,7 +46,7 @@ const state = (config) => ({
47
46
  });
48
47
  };
49
48
  return next({
50
- App: hoistNonReactStatics(getStateApp, App),
49
+ App: getStateApp,
51
50
  config: config2
52
51
  });
53
52
  },
@@ -73,8 +72,9 @@ const state = (config) => ({
73
72
  };
74
73
  }
75
74
  });
76
- var plugin_default = state;
75
+ var plugin_default = statePlugin;
77
76
  export * from "../plugins";
78
77
  export {
79
- plugin_default as default
78
+ plugin_default as default,
79
+ statePlugin
80
80
  };
@@ -0,0 +1,7 @@
1
+ import { Entrypoint } from '@modern-js/types';
2
+ import type { RsbuildPlugin } from '@rsbuild/core';
3
+ export declare const builderPluginAlias: ({ entrypoints, internalDirectory, metaName, }: {
4
+ entrypoints: Entrypoint[];
5
+ internalDirectory: string;
6
+ metaName: string;
7
+ }) => RsbuildPlugin;
@@ -0,0 +1,10 @@
1
+ import type { AppTools, IAppContext, NormalizedConfig, RuntimePlugin } from '@modern-js/app-tools';
2
+ import { Entrypoint } from '@modern-js/types';
3
+ import type { MaybeAsync } from '@modern-js/plugin';
4
+ export declare const generateCode: (entrypoints: Entrypoint[], appContext: IAppContext, config: NormalizedConfig<AppTools>, onCollectRuntimePlugins: (params: {
5
+ entrypoint: Entrypoint;
6
+ plugins: RuntimePlugin[];
7
+ }) => MaybeAsync<{
8
+ entrypoint: Entrypoint;
9
+ plugins: RuntimePlugin[];
10
+ }>) => Promise<void>;
@@ -1 +1,8 @@
1
1
  export declare const APP_FILE_NAME = "App";
2
+ export declare const ENTRY_POINT_FILE_NAME = "index.jsx";
3
+ export declare const SERVER_ENTRY_POINT_FILE_NAME = "index.server.jsx";
4
+ export declare const INDEX_FILE_NAME = "index";
5
+ export declare const ENTRY_BOOTSTRAP_FILE_NAME = "bootstrap.jsx";
6
+ export declare const ENTRY_POINT_RUNTIME_REGISTER_FILE_NAME = "runtime-register.js";
7
+ export declare const ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME = "runtime-global-context.js";
8
+ export declare const ENTRY_POINT_REGISTER_FILE_NAME = "register.js";
@@ -1,4 +1,11 @@
1
1
  import type { CliPlugin, AppTools } from '@modern-js/app-tools';
2
+ import { statePlugin } from '../state/cli';
3
+ import { routerPlugin } from '../router/cli';
4
+ import { documentPlugin } from '../document/cli';
5
+ import { ssrPlugin } from './ssr';
2
6
  export { isRuntimeEntry } from './entry';
3
- export declare const runtimePlugin: () => CliPlugin<AppTools>;
7
+ export { statePlugin, ssrPlugin, routerPlugin, documentPlugin };
8
+ export declare const runtimePlugin: (params?: {
9
+ plugins?: CliPlugin<AppTools>[];
10
+ }) => CliPlugin<AppTools>;
4
11
  export default runtimePlugin;
@@ -0,0 +1,27 @@
1
+ import type { RuntimePlugin } from '@modern-js/app-tools';
2
+ export declare const index: ({ srcDirectory, internalSrcAlias, metaName, entry, entryName, customEntry, customBootstrap, mountId, }: {
3
+ srcDirectory: string;
4
+ internalSrcAlias: string;
5
+ metaName: string;
6
+ entry: string;
7
+ entryName: string;
8
+ customEntry?: boolean | undefined;
9
+ customBootstrap?: string | false | undefined;
10
+ mountId?: string | undefined;
11
+ }) => string;
12
+ export declare const register: () => string;
13
+ export declare const runtimeRegister: ({ entryName, srcDirectory, internalSrcAlias, metaName, runtimeConfigFile, runtimePlugins, }: {
14
+ entryName: string;
15
+ srcDirectory: string;
16
+ internalSrcAlias: string;
17
+ metaName: string;
18
+ runtimeConfigFile: string | false;
19
+ runtimePlugins: RuntimePlugin[];
20
+ }) => string;
21
+ export declare const runtimeGlobalContext: ({ srcDirectory, internalSrcAlias, metaName, entry, customEntry, }: {
22
+ srcDirectory: string;
23
+ internalSrcAlias: string;
24
+ metaName: string;
25
+ entry: string;
26
+ customEntry?: boolean | undefined;
27
+ }) => string;
@@ -0,0 +1,15 @@
1
+ type ServerIndexOptinos = GenHandlerCodeOptions & {
2
+ entryName: string;
3
+ };
4
+ export declare const serverIndex: (options: ServerIndexOptinos) => string;
5
+ type GenHandlerCodeOptions = {
6
+ customServerEntry?: string | false;
7
+ srcDirectory: string;
8
+ internalSrcAlias: string;
9
+ entry: string;
10
+ } & TransformServerEntryOptions;
11
+ type TransformServerEntryOptions = {
12
+ metaName?: string;
13
+ mode: 'string' | 'stream';
14
+ };
15
+ export {};
@@ -1,8 +1,17 @@
1
1
  import type { StateConfig } from './state';
2
+ import type { Plugin } from './core/plugin';
2
3
  export declare const isBrowser: () => boolean;
3
4
  export interface AppConfig {
4
5
  state?: StateConfig | boolean;
5
6
  [key: string]: any;
6
7
  }
8
+ export interface RuntimeConfig {
9
+ state?: StateConfig;
10
+ stateByEntries?: {
11
+ [name: string]: StateConfig;
12
+ };
13
+ plugins?: Plugin[];
14
+ [key: string]: any;
15
+ }
7
16
  export declare const JSX_SHELL_STREAM_END_MARK = "<!--<?- SHELL_STREAM_END ?>-->";
8
17
  export declare const ESCAPED_SHELL_STREAM_END_MARK = "&lt;!--&lt;?- SHELL_STREAM_END ?&gt;--&gt;";
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { Root } from 'react-dom/client';
3
+ import { RuntimeContext } from '../context';
4
+ export declare const isReact18: () => boolean;
5
+ export declare function hydrateRoot(App: React.ReactElement, context: RuntimeContext, ModernRender: (App: React.ReactElement) => Promise<HTMLElement | Root>, ModernHydrate: (App: React.ReactElement, callback?: () => void) => Promise<HTMLElement | Root>): Promise<HTMLElement | Root>;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export type RenderFunc = typeof render;
3
+ export declare function render(App: React.ReactElement, id?: HTMLElement | string): Promise<HTMLElement | import("react-dom/client").Root>;
@@ -1,14 +1,13 @@
1
1
  import type React from 'react';
2
- import { AppConfig } from '../common';
3
- import { Plugin } from './plugin';
2
+ import { AppConfig, RuntimeConfig } from '../common';
4
3
  export declare const getConfig: (Component: React.ComponentType<any>) => AppConfig | undefined;
4
+ /**
5
+ * @deprecated
6
+ * define config in modern.runtime.ts file
7
+ */
5
8
  export declare const defineConfig: (Component: React.ComponentType<any>, config: AppConfig) => React.ComponentType<any>;
6
- interface RuntimeConfig {
7
- plugins: Plugin[];
8
- }
9
9
  /**
10
10
  * This function helps you to autocomplete configuration types.
11
11
  * It accepts a direct config object, or a function that returns a config.
12
12
  */
13
13
  export declare const defineRuntimeConfig: (config: RuntimeConfig) => RuntimeConfig;
14
- export {};
@@ -0,0 +1,5 @@
1
+ export declare enum RenderLevel {
2
+ CLIENT_RENDER = 0,
3
+ SERVER_PREFETCH = 1,
4
+ SERVER_RENDER = 2
5
+ }
@@ -1 +1,34 @@
1
- export { RuntimeReactContext } from './runtime';
1
+ /// <reference types="react" />
2
+ import type { NestedRoute, PageRoute } from '@modern-js/types';
3
+ import { AppConfig } from '../../common';
4
+ export { RuntimeReactContext, type RuntimeContext } from './runtime';
5
+ interface GlobalContext {
6
+ /**
7
+ * App.tsx export default component
8
+ */
9
+ App?: React.ComponentType;
10
+ /**
11
+ * nest router and page router config
12
+ */
13
+ routes?: (NestedRoute | PageRoute)[];
14
+ /**
15
+ * nest router init function
16
+ */
17
+ appInit?: () => Promise<unknown>;
18
+ /**
19
+ * nest router config function
20
+ */
21
+ appConfig?: AppConfig;
22
+ /**
23
+ * page router _app.tsx export layout app
24
+ */
25
+ layoutApp?: React.ComponentType;
26
+ }
27
+ export declare function setGlobalContext(context: Omit<GlobalContext, 'appConfig'> & {
28
+ appConfig: () => AppConfig;
29
+ }): void;
30
+ export declare function getGlobalApp(): import("react").ComponentType<{}> | undefined;
31
+ export declare function getGlobalRoutes(): undefined | (NestedRoute | PageRoute)[];
32
+ export declare function getGlobalAppInit(): any;
33
+ export declare function getGlobalAppConfig(): any;
34
+ export declare function getGlobalLayoutApp(): import("react").ComponentType<{}> | undefined;
@@ -4,7 +4,7 @@ import { type StaticHandlerContext, type Router, type RouterState } from '@moder
4
4
  import { createLoaderManager } from '../loader/loaderManager';
5
5
  import { PluginRunner, runtime } from '../plugin';
6
6
  import { RouteManifest } from '../../router/runtime/types';
7
- import { SSRServerContext } from '../../ssr/serverRender/types';
7
+ import { SSRServerContext } from '../types';
8
8
  export interface BaseRuntimeContext {
9
9
  initialData?: Record<string, unknown>;
10
10
  loaderManager: ReturnType<typeof createLoaderManager>;
@@ -40,4 +40,4 @@ export interface BaseTRuntimeContext {
40
40
  export interface TRuntimeContext extends BaseTRuntimeContext {
41
41
  [key: string]: any;
42
42
  }
43
- export declare const getInitialContext: (runner: PluginRunner) => RuntimeContext;
43
+ export declare const getInitialContext: (runner: PluginRunner, isBrowser?: boolean, routeManifest?: RouteManifest) => RuntimeContext;
@@ -10,17 +10,7 @@ declare const runtimeHooks: {
10
10
  }, import("react").ComponentType<any>>;
11
11
  init: import("@modern-js/plugin").AsyncPipeline<{
12
12
  context: RuntimeContext;
13
- }, RuntimeContext>;
14
- client: import("@modern-js/plugin").AsyncPipeline<{
15
- App: React.ComponentType<any>;
16
- readonly context: RuntimeContext;
17
- ModernRender: (App: React.ReactElement) => void;
18
- ModernHydrate: (App: React.ReactElement, callback?: () => void) => void;
19
- }, void>;
20
- server: import("@modern-js/plugin").AsyncPipeline<{
21
- App: React.ComponentType<any>;
22
- readonly context: RuntimeContext;
23
- }, string>;
13
+ }, unknown>;
24
14
  pickContext: import("@modern-js/plugin").Pipeline<{
25
15
  context: RuntimeContext;
26
16
  pickedContext: TRuntimeContext;
@@ -37,17 +27,7 @@ export declare const createRuntime: () => import("@modern-js/plugin").Manager<{
37
27
  }, import("react").ComponentType<any>>;
38
28
  init: import("@modern-js/plugin").AsyncPipeline<{
39
29
  context: RuntimeContext;
40
- }, RuntimeContext>;
41
- client: import("@modern-js/plugin").AsyncPipeline<{
42
- App: React.ComponentType<any>;
43
- readonly context: RuntimeContext;
44
- ModernRender: (App: React.ReactElement) => void;
45
- ModernHydrate: (App: React.ReactElement, callback?: () => void) => void;
46
- }, void>;
47
- server: import("@modern-js/plugin").AsyncPipeline<{
48
- App: React.ComponentType<any>;
49
- readonly context: RuntimeContext;
50
- }, string>;
30
+ }, unknown>;
51
31
  pickContext: import("@modern-js/plugin").Pipeline<{
52
32
  context: RuntimeContext;
53
33
  pickedContext: TRuntimeContext;
@@ -60,17 +40,7 @@ export declare const runtime: import("@modern-js/plugin").Manager<{
60
40
  }, import("react").ComponentType<any>>;
61
41
  init: import("@modern-js/plugin").AsyncPipeline<{
62
42
  context: RuntimeContext;
63
- }, RuntimeContext>;
64
- client: import("@modern-js/plugin").AsyncPipeline<{
65
- App: React.ComponentType<any>;
66
- readonly context: RuntimeContext;
67
- ModernRender: (App: React.ReactElement) => void;
68
- ModernHydrate: (App: React.ReactElement, callback?: () => void) => void;
69
- }, void>;
70
- server: import("@modern-js/plugin").AsyncPipeline<{
71
- App: React.ComponentType<any>;
72
- readonly context: RuntimeContext;
73
- }, string>;
43
+ }, unknown>;
74
44
  pickContext: import("@modern-js/plugin").Pipeline<{
75
45
  context: RuntimeContext;
76
46
  pickedContext: TRuntimeContext;
@@ -11,19 +11,10 @@ export declare function registerPlugin(internalPlugins: Plugin[], runtimeConfig?
11
11
  }, import("react").ComponentType<any>>;
12
12
  init: import("@modern-js/plugin").AsyncPipeline<{
13
13
  context: import("..").RuntimeContext;
14
- }, import("..").RuntimeContext>;
15
- client: import("@modern-js/plugin").AsyncPipeline<{
16
- App: import("react").ComponentType<any>;
17
- readonly context: import("..").RuntimeContext;
18
- ModernRender: (App: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>) => void;
19
- ModernHydrate: (App: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>, callback?: (() => void) | undefined) => void;
20
- }, void>;
21
- server: import("@modern-js/plugin").AsyncPipeline<{
22
- App: import("react").ComponentType<any>;
23
- readonly context: import("..").RuntimeContext;
24
- }, string>;
14
+ }, unknown>;
25
15
  pickContext: import("@modern-js/plugin").Pipeline<{
26
16
  context: import("..").RuntimeContext;
27
17
  pickedContext: import("../context/runtime").TRuntimeContext;
28
18
  }, import("../context/runtime").TRuntimeContext>;
29
19
  }>;
20
+ export declare function mergeConfig(config: Record<string, any>, ...otherConfig: Record<string, any>[]): Record<string, any>;
@@ -8,17 +8,7 @@ export declare function getGlobalRunner(): import("@modern-js/plugin").ToRunners
8
8
  }, import("react").ComponentType<any>>;
9
9
  init: import("@modern-js/plugin").AsyncPipeline<{
10
10
  context: import("..").RuntimeContext;
11
- }, import("..").RuntimeContext>;
12
- client: import("@modern-js/plugin").AsyncPipeline<{
13
- App: import("react").ComponentType<any>;
14
- readonly context: import("..").RuntimeContext;
15
- ModernRender: (App: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>) => void;
16
- ModernHydrate: (App: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>, callback?: (() => void) | undefined) => void;
17
- }, void>;
18
- server: import("@modern-js/plugin").AsyncPipeline<{
19
- App: import("react").ComponentType<any>;
20
- readonly context: import("..").RuntimeContext;
21
- }, string>;
11
+ }, unknown>;
22
12
  pickContext: import("@modern-js/plugin").Pipeline<{
23
13
  context: import("..").RuntimeContext;
24
14
  pickedContext: import("../context/runtime").TRuntimeContext;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export declare function createRoot(UserApp?: React.ComponentType | null, config?: {
3
+ router: {
4
+ basename: string;
5
+ };
6
+ }): React.ComponentType<any>;
@@ -0,0 +1,3 @@
1
+ import { HelmetData } from 'react-helmet';
2
+ export declare function createReplaceHelemt(helmetData?: HelmetData): (template: string) => string;
3
+ export declare function helmetReplace(content: string, helmetData: HelmetData): string;
@@ -0,0 +1,4 @@
1
+ import { Plugin } from '../plugin';
2
+ export { PreRender, NoSSR } from './react';
3
+ export declare const ssr: (_config: any) => Plugin;
4
+ export default ssr;
@@ -0,0 +1,11 @@
1
+ import { RequestHandler, RequestHandlerOptions } from '@modern-js/app-tools';
2
+ import React from 'react';
3
+ import { RuntimeContext } from '../context';
4
+ export type { RequestHandlerConfig as HandleRequestConfig } from '@modern-js/app-tools';
5
+ export type HandleRequestOptions = Exclude<RequestHandlerOptions, 'staticGenerate'> & {
6
+ runtimeContext: RuntimeContext;
7
+ };
8
+ export type HandleRequest = (request: Request, ServerRoot: React.ComponentType, // App, routes,
9
+ options: HandleRequestOptions) => Promise<Response>;
10
+ export type CreateRequestHandler = (handleRequest: HandleRequest) => Promise<RequestHandler>;
11
+ export declare const createRequestHandler: CreateRequestHandler;
@@ -0,0 +1,4 @@
1
+ export { renderString } from './string';
2
+ export { renderStreaming } from './stream';
3
+ export { createRequestHandler, type HandleRequest, type HandleRequestOptions, type HandleRequestConfig, type CreateRequestHandler, } from './requestHandler';
4
+ export type { RenderStreaming, RenderString, RenderOptions } from './shared';
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import type { ServerUserConfig } from '@modern-js/app-tools';
3
+ import type { HandleRequestOptions } from './requestHandler';
4
+ export type RenderOptions = HandleRequestOptions;
5
+ export type SSRConfig = NonNullable<ServerUserConfig['ssr']>;
6
+ export type RenderStreaming = (request: Request, serverRoot: React.ReactElement, optinos: RenderOptions) => Promise<ReadableStream>;
7
+ export type RenderString = (request: Request, serverRoot: React.ReactElement, optinos: RenderOptions) => Promise<string>;
8
+ export type BuildHtmlCb = (template: string) => string | Promise<string>;
9
+ export declare function buildHtml(template: string, callbacks: BuildHtmlCb[]): Promise<string>;
@@ -0,0 +1,12 @@
1
+ import { SSRConfig } from '../shared';
2
+ import { RenderLevel } from '../../constants';
3
+ import { HandleRequestConfig } from '../requestHandler';
4
+ import { RuntimeContext } from '../../context';
5
+ export type BuildShellAfterTemplateOptions = {
6
+ runtimeContext: RuntimeContext;
7
+ renderLevel: RenderLevel;
8
+ ssrConfig: SSRConfig;
9
+ request: Request;
10
+ config: HandleRequestConfig;
11
+ };
12
+ export declare function buildShellAfterTemplate(afterAppTemplate: string, options: BuildShellAfterTemplateOptions): Promise<string>;
@@ -0,0 +1,8 @@
1
+ import { RuntimeContext } from '../../context';
2
+ import { HandleRequestConfig } from '../requestHandler';
3
+ export interface BuildShellBeforeTemplateOptions {
4
+ runtimeContext: RuntimeContext;
5
+ config: HandleRequestConfig;
6
+ styledComponentsStyleTags?: string;
7
+ }
8
+ export declare function buildShellBeforeTemplate(beforeAppTemplate: string, options: BuildShellBeforeTemplateOptions): Promise<string>;
@@ -0,0 +1,2 @@
1
+ import { CreateReadableStreamFromElement } from './shared';
2
+ export declare const createReadableStreamFromElement: CreateReadableStreamFromElement;
@@ -0,0 +1,2 @@
1
+ import { CreateReadableStreamFromElement } from './shared';
2
+ export declare const createReadableStreamFromElement: CreateReadableStreamFromElement;
@@ -0,0 +1 @@
1
+ export declare const renderStreaming: import("../shared").RenderStreaming;