@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
@@ -26,26 +26,37 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var renderToString_exports = {};
30
- __export(renderToString_exports, {
31
- render: () => render
29
+ var alias_exports = {};
30
+ __export(alias_exports, {
31
+ builderPluginAlias: () => builderPluginAlias
32
32
  });
33
- module.exports = __toCommonJS(renderToString_exports);
34
- var import_node = require("@modern-js/runtime-utils/node");
35
- var import_entry = __toESM(require("./entry"));
36
- const render = ({ App, context, config }) => {
37
- const ssrContext = context.ssrContext;
38
- return (0, import_node.run)(ssrContext.request.headers, async () => {
39
- const entry = new import_entry.default({
40
- ctx: ssrContext,
41
- App,
42
- config
33
+ module.exports = __toCommonJS(alias_exports);
34
+ var import_path = __toESM(require("path"));
35
+ var import_constants = require("./constants");
36
+ const builderPluginAlias = ({ entrypoints, internalDirectory, metaName }) => ({
37
+ name: "runtime:alias",
38
+ setup(api) {
39
+ api.modifyRsbuildConfig((userConfig, { mergeRsbuildConfig }) => {
40
+ const entrypointsAlias = {};
41
+ const mainEntrypointsAlias = {};
42
+ entrypoints.forEach((entrypoint) => {
43
+ entrypointsAlias[`@${metaName}/runtime/registry/${entrypoint.entryName}`] = import_path.default.join(internalDirectory, entrypoint.entryName, import_constants.ENTRY_POINT_REGISTER_FILE_NAME);
44
+ if (entrypoint.isMainEntry) {
45
+ mainEntrypointsAlias[`@${metaName}/runtime/registry`] = import_path.default.join(internalDirectory, entrypoint.entryName, import_constants.ENTRY_POINT_REGISTER_FILE_NAME);
46
+ }
47
+ });
48
+ return mergeRsbuildConfig(userConfig, {
49
+ source: {
50
+ alias: {
51
+ ...entrypointsAlias,
52
+ ...mainEntrypointsAlias
53
+ }
54
+ }
55
+ });
43
56
  });
44
- const html = await entry.renderToHtml(context);
45
- return html;
46
- });
47
- };
57
+ }
58
+ });
48
59
  // Annotate the CommonJS export names for ESM import in node:
49
60
  0 && (module.exports = {
50
- render
61
+ builderPluginAlias
51
62
  });
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var code_exports = {};
30
+ __export(code_exports, {
31
+ generateCode: () => generateCode
32
+ });
33
+ module.exports = __toCommonJS(code_exports);
34
+ var import_path = __toESM(require("path"));
35
+ var import_utils = require("@modern-js/utils");
36
+ var import_constants = require("./constants");
37
+ var template = __toESM(require("./template"));
38
+ var serverTemplate = __toESM(require("./template.server"));
39
+ function getSSRMode(entry = import_utils.MAIN_ENTRY_NAME, config) {
40
+ const { ssr, ssrByEntries } = config.server;
41
+ if (config.output.ssg) {
42
+ return "string";
43
+ }
44
+ return checkSSRMode((ssrByEntries === null || ssrByEntries === void 0 ? void 0 : ssrByEntries[entry]) || ssr);
45
+ function checkSSRMode(ssr2) {
46
+ if (!ssr2) {
47
+ return false;
48
+ }
49
+ if (typeof ssr2 === "boolean") {
50
+ return ssr2 ? "string" : false;
51
+ }
52
+ return ssr2.mode === "stream" ? "stream" : "string";
53
+ }
54
+ }
55
+ const generateCode = async (entrypoints, appContext, config, onCollectRuntimePlugins) => {
56
+ const { mountId } = config.html;
57
+ const { enableAsyncEntry } = config.source;
58
+ const { runtimeConfigFile, internalDirectory, internalSrcAlias, metaName, srcDirectory } = appContext;
59
+ await Promise.all(entrypoints.map(async (entrypoint) => {
60
+ const { entryName, isAutoMount, entry, customEntry, customBootstrap, customServerEntry } = entrypoint;
61
+ const { plugins: runtimePlugins } = await onCollectRuntimePlugins({
62
+ entrypoint,
63
+ plugins: []
64
+ });
65
+ if (isAutoMount) {
66
+ const indexCode = template.index({
67
+ srcDirectory,
68
+ internalSrcAlias,
69
+ metaName,
70
+ entry,
71
+ entryName,
72
+ customEntry,
73
+ customBootstrap,
74
+ mountId
75
+ });
76
+ const indexFile = import_path.default.resolve(internalDirectory, `./${entryName}/${import_constants.ENTRY_POINT_FILE_NAME}`);
77
+ import_utils.fs.outputFileSync(indexFile, indexCode, "utf8");
78
+ if (enableAsyncEntry) {
79
+ const bootstrapFile = import_path.default.resolve(internalDirectory, `./${entryName}/${import_constants.ENTRY_BOOTSTRAP_FILE_NAME}`);
80
+ import_utils.fs.outputFileSync(bootstrapFile, `import('./${import_constants.INDEX_FILE_NAME}');`, "utf8");
81
+ }
82
+ const ssrMode = getSSRMode(entryName, config);
83
+ if (ssrMode) {
84
+ const indexServerCode = serverTemplate.serverIndex({
85
+ entry,
86
+ entryName,
87
+ internalSrcAlias,
88
+ metaName,
89
+ mode: ssrMode,
90
+ customServerEntry,
91
+ srcDirectory
92
+ });
93
+ const indexServerFile = import_path.default.resolve(internalDirectory, `./${entryName}/${import_constants.SERVER_ENTRY_POINT_FILE_NAME}`);
94
+ import_utils.fs.outputFileSync(indexServerFile, indexServerCode, "utf8");
95
+ }
96
+ const registerCode = template.register();
97
+ const registerFile = import_path.default.resolve(internalDirectory, `./${entryName}/${import_constants.ENTRY_POINT_REGISTER_FILE_NAME}`);
98
+ import_utils.fs.outputFileSync(registerFile, registerCode, "utf8");
99
+ const registerRuntimeCode = template.runtimeRegister({
100
+ entryName,
101
+ srcDirectory,
102
+ internalSrcAlias,
103
+ metaName,
104
+ runtimeConfigFile,
105
+ runtimePlugins
106
+ });
107
+ const registerRuntimeFile = import_path.default.resolve(internalDirectory, `./${entryName}/${import_constants.ENTRY_POINT_RUNTIME_REGISTER_FILE_NAME}`);
108
+ import_utils.fs.outputFileSync(registerRuntimeFile, registerRuntimeCode, "utf8");
109
+ const contextCode = template.runtimeGlobalContext({
110
+ srcDirectory,
111
+ internalSrcAlias,
112
+ metaName,
113
+ entry,
114
+ customEntry
115
+ });
116
+ const contextFile = import_path.default.resolve(internalDirectory, `./${entryName}/${import_constants.ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME}`);
117
+ import_utils.fs.outputFileSync(contextFile, contextCode, "utf8");
118
+ }
119
+ }));
120
+ };
121
+ // Annotate the CommonJS export names for ESM import in node:
122
+ 0 && (module.exports = {
123
+ generateCode
124
+ });
@@ -18,11 +18,32 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var constants_exports = {};
20
20
  __export(constants_exports, {
21
- APP_FILE_NAME: () => APP_FILE_NAME
21
+ APP_FILE_NAME: () => APP_FILE_NAME,
22
+ ENTRY_BOOTSTRAP_FILE_NAME: () => ENTRY_BOOTSTRAP_FILE_NAME,
23
+ ENTRY_POINT_FILE_NAME: () => ENTRY_POINT_FILE_NAME,
24
+ ENTRY_POINT_REGISTER_FILE_NAME: () => ENTRY_POINT_REGISTER_FILE_NAME,
25
+ ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME: () => ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME,
26
+ ENTRY_POINT_RUNTIME_REGISTER_FILE_NAME: () => ENTRY_POINT_RUNTIME_REGISTER_FILE_NAME,
27
+ INDEX_FILE_NAME: () => INDEX_FILE_NAME,
28
+ SERVER_ENTRY_POINT_FILE_NAME: () => SERVER_ENTRY_POINT_FILE_NAME
22
29
  });
23
30
  module.exports = __toCommonJS(constants_exports);
24
31
  const APP_FILE_NAME = "App";
32
+ const ENTRY_POINT_FILE_NAME = "index.jsx";
33
+ const SERVER_ENTRY_POINT_FILE_NAME = "index.server.jsx";
34
+ const INDEX_FILE_NAME = "index";
35
+ const ENTRY_BOOTSTRAP_FILE_NAME = "bootstrap.jsx";
36
+ const ENTRY_POINT_RUNTIME_REGISTER_FILE_NAME = "runtime-register.js";
37
+ const ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME = "runtime-global-context.js";
38
+ const ENTRY_POINT_REGISTER_FILE_NAME = "register.js";
25
39
  // Annotate the CommonJS export names for ESM import in node:
26
40
  0 && (module.exports = {
27
- APP_FILE_NAME
41
+ APP_FILE_NAME,
42
+ ENTRY_BOOTSTRAP_FILE_NAME,
43
+ ENTRY_POINT_FILE_NAME,
44
+ ENTRY_POINT_REGISTER_FILE_NAME,
45
+ ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME,
46
+ ENTRY_POINT_RUNTIME_REGISTER_FILE_NAME,
47
+ INDEX_FILE_NAME,
48
+ SERVER_ENTRY_POINT_FILE_NAME
28
49
  });
@@ -29,18 +29,26 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
29
29
  var cli_exports = {};
30
30
  __export(cli_exports, {
31
31
  default: () => cli_default,
32
+ documentPlugin: () => import_cli3.documentPlugin,
32
33
  isRuntimeEntry: () => import_entry2.isRuntimeEntry,
33
- runtimePlugin: () => runtimePlugin
34
+ routerPlugin: () => import_cli2.routerPlugin,
35
+ runtimePlugin: () => runtimePlugin,
36
+ ssrPlugin: () => import_ssr.ssrPlugin,
37
+ statePlugin: () => import_cli.statePlugin
34
38
  });
35
39
  module.exports = __toCommonJS(cli_exports);
40
+ var import_path = __toESM(require("path"));
36
41
  var import_utils = require("@modern-js/utils");
37
42
  var import_cli = require("../state/cli");
38
- var import_cli2 = require("../ssr/cli");
39
- var import_cli3 = require("../router/cli");
40
- var import_cli4 = require("../document/cli");
43
+ var import_cli2 = require("../router/cli");
44
+ var import_cli3 = require("../document/cli");
45
+ var import_ssr = require("./ssr");
41
46
  var import_entry = require("./entry");
47
+ var import_constants = require("./constants");
48
+ var import_code = require("./code");
49
+ var import_alias = require("./alias");
42
50
  var import_entry2 = require("./entry");
43
- const runtimePlugin = () => ({
51
+ const runtimePlugin = (params) => ({
44
52
  name: "@modern-js/runtime",
45
53
  post: [
46
54
  "@modern-js/plugin-ssr",
@@ -50,23 +58,58 @@ const runtimePlugin = () => ({
50
58
  "@modern-js/plugin-design-token"
51
59
  ],
52
60
  // the order of runtime plugins is affected by runtime hooks, mainly `init` and `hoc` hooks
53
- usePlugins: [
54
- (0, import_cli2.ssrPlugin)(),
61
+ usePlugins: (params === null || params === void 0 ? void 0 : params.plugins) || [
62
+ (0, import_ssr.ssrPlugin)(),
63
+ (0, import_cli2.routerPlugin)(),
55
64
  (0, import_cli.statePlugin)(),
56
- (0, import_cli3.routerPlugin)(),
57
- (0, import_cli4.documentPlugin)()
65
+ (0, import_cli3.documentPlugin)()
58
66
  ],
59
67
  setup: (api) => {
60
68
  return {
61
- checkEntryPoint({ path, entry }) {
69
+ checkEntryPoint({ path: path2, entry }) {
62
70
  return {
63
- path,
64
- entry: entry || (0, import_entry.isRuntimeEntry)(path)
71
+ path: path2,
72
+ entry: entry || (0, import_entry.isRuntimeEntry)(path2)
65
73
  };
66
74
  },
75
+ modifyEntrypoints({ entrypoints }) {
76
+ const { internalDirectory } = api.useAppContext();
77
+ const { source: { enableAsyncEntry } } = api.useResolvedConfigContext();
78
+ const newEntryPoints = entrypoints.map((entrypoint) => {
79
+ if (entrypoint.isAutoMount) {
80
+ entrypoint.internalEntry = import_path.default.resolve(internalDirectory, `./${entrypoint.entryName}/${enableAsyncEntry ? import_constants.ENTRY_BOOTSTRAP_FILE_NAME : import_constants.ENTRY_POINT_FILE_NAME}`);
81
+ }
82
+ return entrypoint;
83
+ });
84
+ return {
85
+ entrypoints: newEntryPoints
86
+ };
87
+ },
88
+ async generateEntryCode({ entrypoints }) {
89
+ const appContext = api.useAppContext();
90
+ const resolvedConfig = api.useResolvedConfigContext();
91
+ const runners = api.useHookRunners();
92
+ await (0, import_code.generateCode)(entrypoints, appContext, resolvedConfig, runners._internalRuntimePlugins);
93
+ },
94
+ /* Note that the execution time of the config hook is before prepare.
95
+ /* This means that the entry information cannot be obtained in the config hook.
96
+ /* Therefore, aliases cannot be set directly in the config.
97
+ */
98
+ prepare() {
99
+ const { builder, entrypoints, internalDirectory, metaName } = api.useAppContext();
100
+ builder === null || builder === void 0 ? void 0 : builder.addPlugins([
101
+ (0, import_alias.builderPluginAlias)({
102
+ entrypoints,
103
+ internalDirectory,
104
+ metaName
105
+ })
106
+ ]);
107
+ },
67
108
  config() {
68
- const appDir = api.useAppContext().appDirectory;
69
- process.env.IS_REACT18 = (0, import_utils.isReact18)(appDir).toString();
109
+ const { appDirectory, metaName, internalDirectory } = api.useAppContext();
110
+ const isReact18 = (0, import_utils.isReact18)(appDirectory);
111
+ process.env.IS_REACT18 = isReact18.toString();
112
+ const pluginsExportsUtils = (0, import_utils.createRuntimeExportsUtils)(internalDirectory, "plugins");
70
113
  return {
71
114
  runtime: {},
72
115
  runtimeByEntries: {},
@@ -77,7 +120,11 @@ const runtimePlugin = () => ({
77
120
  * But it will not be installed under the user project.
78
121
  * So need to add alias
79
122
  */
80
- "styled-components": require.resolve("styled-components")
123
+ "styled-components": require.resolve("styled-components"),
124
+ /**
125
+ * Compatible with the reference path of the old version of the plugin.
126
+ */
127
+ [`@${metaName}/runtime/plugins`]: pluginsExportsUtils.getPath()
81
128
  },
82
129
  globalVars: {
83
130
  "process.env.IS_REACT18": process.env.IS_REACT18
@@ -89,6 +136,29 @@ const runtimePlugin = () => ({
89
136
  topLevelImportPaths: [
90
137
  "@modern-js/runtime/styled"
91
138
  ]
139
+ },
140
+ /**
141
+ * Add IgnorePlugin to fix react-dom/client import error when use react17
142
+ */
143
+ webpackChain: (chain, { webpack }) => {
144
+ if (!isReact18) {
145
+ chain.plugin("ignore-plugin").use(webpack.IgnorePlugin, [
146
+ {
147
+ resourceRegExp: /^react-dom\/client$/,
148
+ contextRegExp: /./
149
+ }
150
+ ]);
151
+ }
152
+ },
153
+ rspack: (_config, { appendPlugins, rspack }) => {
154
+ if (!isReact18) {
155
+ appendPlugins([
156
+ new rspack.IgnorePlugin({
157
+ resourceRegExp: /^react-dom\/client$/,
158
+ contextRegExp: /./
159
+ })
160
+ ]);
161
+ }
92
162
  }
93
163
  }
94
164
  };
@@ -97,7 +167,7 @@ const runtimePlugin = () => ({
97
167
  (0, import_utils.cleanRequireCache)([
98
168
  require.resolve("../state/cli"),
99
169
  require.resolve("../router/cli"),
100
- require.resolve("../ssr/cli")
170
+ require.resolve("./ssr")
101
171
  ]);
102
172
  }
103
173
  };
@@ -106,6 +176,10 @@ const runtimePlugin = () => ({
106
176
  var cli_default = runtimePlugin;
107
177
  // Annotate the CommonJS export names for ESM import in node:
108
178
  0 && (module.exports = {
179
+ documentPlugin,
109
180
  isRuntimeEntry,
110
- runtimePlugin
181
+ routerPlugin,
182
+ runtimePlugin,
183
+ ssrPlugin,
184
+ statePlugin
111
185
  });
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var ssr_exports = {};
30
+ __export(ssr_exports, {
31
+ default: () => ssr_default,
32
+ ssrPlugin: () => ssrPlugin
33
+ });
34
+ module.exports = __toCommonJS(ssr_exports);
35
+ var import_path = __toESM(require("path"));
36
+ var import_utils = require("@modern-js/utils");
37
+ const hasStringSSREntry = (userConfig) => {
38
+ const isStreaming = (ssr) => ssr && typeof ssr === "object" && ssr.mode === "stream";
39
+ const { server, output } = userConfig;
40
+ if (((server === null || server === void 0 ? void 0 : server.ssr) || output.ssg) && !isStreaming(server.ssr)) {
41
+ return true;
42
+ }
43
+ if ((server === null || server === void 0 ? void 0 : server.ssrByEntries) && typeof server.ssrByEntries === "object") {
44
+ for (const name of Object.keys(server.ssrByEntries)) {
45
+ if (server.ssrByEntries[name] && !isStreaming(server.ssrByEntries[name])) {
46
+ return true;
47
+ }
48
+ }
49
+ }
50
+ return false;
51
+ };
52
+ const checkUseStringSSR = (config) => {
53
+ const { output } = config;
54
+ return Boolean(output === null || output === void 0 ? void 0 : output.ssg) || hasStringSSREntry(config);
55
+ };
56
+ const ssrBuilderPlugin = (modernAPI) => ({
57
+ name: "@modern-js/builder-plugin-ssr",
58
+ setup(api) {
59
+ api.modifyEnvironmentConfig((config, { name, mergeEnvironmentConfig }) => {
60
+ const isServerEnvironment = config.output.target === "node" || name === "serviceWorker";
61
+ const userConfig = modernAPI.useResolvedConfigContext();
62
+ const useLoadablePlugin = (0, import_utils.isUseSSRBundle)(userConfig) && !isServerEnvironment && checkUseStringSSR(userConfig);
63
+ return mergeEnvironmentConfig(config, {
64
+ source: {
65
+ define: {
66
+ "process.env.MODERN_TARGET": isServerEnvironment ? JSON.stringify("node") : JSON.stringify("browser")
67
+ }
68
+ },
69
+ tools: {
70
+ bundlerChain: useLoadablePlugin ? (chain) => {
71
+ const LoadableBundlerPlugin = require("./loadable-bundler-plugin.js");
72
+ chain.plugin("loadable").use(LoadableBundlerPlugin, [
73
+ {
74
+ filename: import_utils.LOADABLE_STATS_FILE
75
+ }
76
+ ]);
77
+ } : void 0
78
+ }
79
+ });
80
+ });
81
+ }
82
+ });
83
+ const ssrPlugin = () => ({
84
+ name: "@modern-js/plugin-ssr",
85
+ required: [
86
+ "@modern-js/runtime"
87
+ ],
88
+ setup: (api) => {
89
+ return {
90
+ // for bundle
91
+ config() {
92
+ const { bundlerType = "webpack" } = api.useAppContext();
93
+ const babelHandler = (() => {
94
+ if (bundlerType === "webpack") {
95
+ return (config) => {
96
+ var _config_plugins;
97
+ const userConfig = api.useResolvedConfigContext();
98
+ (_config_plugins = config.plugins) === null || _config_plugins === void 0 ? void 0 : _config_plugins.push(import_path.default.join(__dirname, "./babel-plugin-ssr-loader-id"));
99
+ if ((0, import_utils.isUseSSRBundle)(userConfig) && checkUseStringSSR(userConfig)) {
100
+ var _config_plugins1;
101
+ (_config_plugins1 = config.plugins) === null || _config_plugins1 === void 0 ? void 0 : _config_plugins1.push(require.resolve("@loadable/babel-plugin"));
102
+ }
103
+ };
104
+ } else if (bundlerType === "rspack") {
105
+ return (config) => {
106
+ const userConfig = api.useResolvedConfigContext();
107
+ if ((0, import_utils.isUseSSRBundle)(userConfig) && checkUseStringSSR(userConfig)) {
108
+ var _config_plugins, _config_plugins1;
109
+ (_config_plugins = config.plugins) === null || _config_plugins === void 0 ? void 0 : _config_plugins.push(import_path.default.join(__dirname, "./babel-plugin-ssr-loader-id"));
110
+ (_config_plugins1 = config.plugins) === null || _config_plugins1 === void 0 ? void 0 : _config_plugins1.push(require.resolve("@loadable/babel-plugin"));
111
+ }
112
+ };
113
+ }
114
+ })();
115
+ return {
116
+ builderPlugins: [
117
+ ssrBuilderPlugin(api)
118
+ ],
119
+ source: {
120
+ alias: {
121
+ // ensure that all packages use the same storage in @modern-js/runtime-utils/node
122
+ "@modern-js/runtime-utils/node$": require.resolve("@modern-js/runtime-utils/node")
123
+ }
124
+ },
125
+ tools: {
126
+ babel: babelHandler
127
+ }
128
+ };
129
+ }
130
+ };
131
+ }
132
+ });
133
+ var ssr_default = ssrPlugin;
134
+ // Annotate the CommonJS export names for ESM import in node:
135
+ 0 && (module.exports = {
136
+ ssrPlugin
137
+ });
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var template_exports = {};
30
+ __export(template_exports, {
31
+ index: () => index,
32
+ register: () => register,
33
+ runtimeGlobalContext: () => runtimeGlobalContext,
34
+ runtimeRegister: () => runtimeRegister
35
+ });
36
+ module.exports = __toCommonJS(template_exports);
37
+ var import_path = __toESM(require("path"));
38
+ var import_utils = require("@modern-js/utils");
39
+ var import_constants = require("./constants");
40
+ const genRenderCode = ({ srcDirectory, internalSrcAlias, metaName, entry, customEntry, customBootstrap, mountId }) => {
41
+ if (customEntry) {
42
+ return `import '${(0, import_utils.formatImportPath)(entry.replace(srcDirectory, internalSrcAlias))}'`;
43
+ }
44
+ return `import { createRoot } from '@${metaName}/runtime/react';
45
+ import { render } from '@${metaName}/runtime/browser';
46
+ ${customBootstrap ? `import customBootstrap from '${(0, import_utils.formatImportPath)(customBootstrap.replace(srcDirectory, internalSrcAlias))}';` : ""}
47
+
48
+ const ModernRoot = createRoot();
49
+
50
+ ${customBootstrap ? `customBootstrap(ModernRoot, () => render(<ModernRoot />, '${mountId || "root"}'));` : `render(<ModernRoot />, '${mountId || "root"}');`}`;
51
+ };
52
+ const index = ({ srcDirectory, internalSrcAlias, metaName, entry, entryName, customEntry, customBootstrap, mountId }) => `import '@${metaName}/runtime/registry/${entryName}';
53
+ ${genRenderCode({
54
+ srcDirectory,
55
+ internalSrcAlias,
56
+ metaName,
57
+ entry,
58
+ customEntry,
59
+ customBootstrap,
60
+ mountId
61
+ })}
62
+ `;
63
+ const register = () => `import './${import_constants.ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME}';
64
+ import './${import_constants.ENTRY_POINT_RUNTIME_REGISTER_FILE_NAME}';
65
+ `;
66
+ const getImportRuntimeConfigCode = (srcDirectory, internalSrcAlias, runtimeConfigFile) => {
67
+ if (runtimeConfigFile && (0, import_utils.findExists)(import_utils.JS_EXTENSIONS.map((ext) => import_path.default.resolve(srcDirectory, `${runtimeConfigFile}${ext}`)))) {
68
+ return `import runtimeConfig from '${internalSrcAlias}/${runtimeConfigFile}';`;
69
+ }
70
+ return `let runtimeConfig;`;
71
+ };
72
+ const getRegisterRuntimePluginCode = (entryName, name, config) => `plugins.push(${name}Plugin(mergeConfig(${JSON.stringify(config)}, (runtimeConfig || {})['${name}'], ((runtimeConfig || {})['${name}ByEntries'] || {})['${entryName}'], (getGlobalAppConfig() || {})['${name}'])));`;
73
+ const runtimeRegister = ({ entryName, srcDirectory, internalSrcAlias, metaName, runtimeConfigFile, runtimePlugins }) => `import { registerPlugin, mergeConfig } from '@${metaName}/runtime/plugin';
74
+ import { getGlobalAppConfig, getGlobalLayoutApp } from '@${metaName}/runtime/context';
75
+ ${getImportRuntimeConfigCode(srcDirectory, internalSrcAlias, runtimeConfigFile)}
76
+
77
+ const plugins = [];
78
+
79
+ ${runtimePlugins.map(({ name, path: path2, config }) => `import { ${name}Plugin } from '${path2}';
80
+
81
+ ${getRegisterRuntimePluginCode(entryName, name, config)}
82
+ `).join("\n")}
83
+ registerPlugin(plugins, runtimeConfig);
84
+ `;
85
+ const runtimeGlobalContext = ({ srcDirectory, internalSrcAlias, metaName, entry, customEntry }) => {
86
+ return `import { setGlobalContext } from '@${metaName}/runtime/context'
87
+
88
+ import App from '${// We need to get the path of App.tsx here, but the entry is `src/entry.tsx`
89
+ (0, import_utils.formatImportPath)(customEntry ? entry.replace("entry.tsx", "App.tsx").replace(srcDirectory, internalSrcAlias) : entry.replace(srcDirectory, internalSrcAlias))}';
90
+
91
+ setGlobalContext({
92
+ App,
93
+ });`;
94
+ };
95
+ // Annotate the CommonJS export names for ESM import in node:
96
+ 0 && (module.exports = {
97
+ index,
98
+ register,
99
+ runtimeGlobalContext,
100
+ runtimeRegister
101
+ });