@modern-js/runtime 2.54.6 → 2.55.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 (301) 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 +92 -17
  5. package/dist/cjs/{ssr/cli → cli/ssr}/index.js +7 -86
  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 +122 -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/{ssr/serverRender/renderToString → core/server/string}/styledComponent.js +20 -11
  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/router/cli/code/index.js +10 -6
  39. package/dist/cjs/router/cli/code/templates.js +58 -3
  40. package/dist/cjs/router/cli/constants.js +6 -0
  41. package/dist/cjs/router/cli/entry.js +2 -4
  42. package/dist/cjs/router/cli/handler.js +22 -5
  43. package/dist/cjs/router/cli/index.js +29 -56
  44. package/dist/cjs/router/runtime/index.js +2 -0
  45. package/dist/cjs/router/runtime/plugin.js +13 -40
  46. package/dist/cjs/router/runtime/plugin.node.js +17 -32
  47. package/dist/cjs/state/cli/index.js +7 -35
  48. package/dist/cjs/state/runtime/plugin.js +6 -15
  49. package/dist/esm/cli/alias.js +30 -0
  50. package/dist/esm/cli/code.js +131 -0
  51. package/dist/esm/cli/constants.js +15 -1
  52. package/dist/esm/cli/index.js +111 -18
  53. package/dist/esm/{ssr/cli → cli/ssr}/babel-plugin-ssr-loader-id.js +1 -1
  54. package/dist/esm/cli/ssr/index.js +110 -0
  55. package/dist/esm/{ssr/cli → cli/ssr}/loadable-bundler-plugin.js +1 -1
  56. package/dist/esm/cli/template.js +53 -0
  57. package/dist/esm/cli/template.server.js +26 -0
  58. package/dist/esm/core/browser/hydrate.js +88 -0
  59. package/dist/esm/core/browser/index.js +224 -0
  60. package/dist/esm/core/compatible.js +48 -90
  61. package/dist/esm/core/context/index.js +32 -1
  62. package/dist/esm/core/context/runtime.js +3 -2
  63. package/dist/esm/core/loader/useLoader.js +2 -2
  64. package/dist/esm/core/plugin/base.js +0 -4
  65. package/dist/esm/core/plugin/index.js +10 -0
  66. package/dist/esm/core/react/index.js +31 -0
  67. package/dist/esm/{ssr/serverRender → core/server}/helmet.js +10 -2
  68. package/dist/esm/core/server/index.js +16 -0
  69. package/dist/esm/core/server/react/prerender/type.js +0 -0
  70. package/dist/esm/core/server/requestHandler.js +181 -0
  71. package/dist/esm/core/server/server.js +8 -0
  72. package/dist/esm/core/server/shared.js +10 -0
  73. package/dist/esm/core/server/stream/afterTemplate.js +60 -0
  74. package/dist/esm/{ssr/serverRender/renderToStream/bulidTemplate.before.js → core/server/stream/beforeTemplate.js} +10 -11
  75. package/dist/esm/{ssr/serverRender/renderToStream/renderToPipe.js → core/server/stream/createReadableStream.js} +43 -38
  76. package/dist/esm/core/server/stream/createReadableStream.worker.js +142 -0
  77. package/dist/esm/core/server/stream/index.js +6 -0
  78. package/dist/esm/core/server/stream/shared.js +102 -0
  79. package/dist/esm/core/server/stream/template.js +42 -0
  80. package/dist/esm/core/server/string/index.js +219 -0
  81. package/dist/esm/{ssr/serverRender/renderToString → core/server/string}/loadable.js +10 -13
  82. package/dist/esm/{ssr → core/server/string}/prefetch.js +27 -21
  83. package/dist/esm/core/server/string/ssrData.js +83 -0
  84. package/dist/esm/core/server/string/styledComponent.js +34 -0
  85. package/dist/esm/core/server/string/types.js +0 -0
  86. package/dist/esm/core/server/tracer.js +34 -0
  87. package/dist/esm/core/server/utils.js +83 -0
  88. package/dist/esm/router/cli/code/index.js +11 -8
  89. package/dist/esm/router/cli/code/templates.js +100 -7
  90. package/dist/esm/router/cli/constants.js +4 -0
  91. package/dist/esm/router/cli/entry.js +2 -4
  92. package/dist/esm/router/cli/handler.js +70 -8
  93. package/dist/esm/router/cli/index.js +52 -65
  94. package/dist/esm/router/runtime/index.js +1 -0
  95. package/dist/esm/router/runtime/plugin.js +12 -20
  96. package/dist/esm/router/runtime/plugin.node.js +19 -34
  97. package/dist/esm/state/cli/index.js +9 -38
  98. package/dist/esm/state/runtime/plugin.js +5 -5
  99. package/dist/esm-node/cli/alias.js +28 -0
  100. package/dist/esm-node/cli/code.js +90 -0
  101. package/dist/esm-node/cli/constants.js +15 -1
  102. package/dist/esm-node/cli/index.js +84 -13
  103. package/dist/esm-node/{ssr/cli → cli/ssr}/babel-plugin-ssr-loader-id.js +1 -1
  104. package/dist/esm-node/cli/ssr/index.js +87 -0
  105. package/dist/esm-node/{ssr/cli → cli/ssr}/loadable-bundler-plugin.js +1 -1
  106. package/dist/esm-node/cli/template.js +64 -0
  107. package/dist/esm-node/cli/template.server.js +47 -0
  108. package/dist/esm-node/core/browser/hydrate.js +81 -0
  109. package/dist/esm-node/core/browser/index.js +88 -0
  110. package/dist/esm-node/core/compatible.js +39 -74
  111. package/dist/esm-node/core/context/index.js +32 -1
  112. package/dist/esm-node/core/context/runtime.js +3 -3
  113. package/dist/esm-node/core/loader/useLoader.js +2 -2
  114. package/dist/esm-node/core/plugin/base.js +0 -4
  115. package/dist/esm-node/core/plugin/index.js +5 -0
  116. package/dist/esm-node/core/react/index.js +27 -0
  117. package/dist/esm-node/{ssr/serverRender → core/server}/helmet.js +6 -2
  118. package/dist/esm-node/core/server/index.js +12 -0
  119. package/dist/esm-node/core/server/requestHandler.js +132 -0
  120. package/dist/esm-node/core/server/server.js +8 -0
  121. package/dist/esm-node/core/server/shared.js +6 -0
  122. package/dist/esm-node/core/server/stream/afterTemplate.js +56 -0
  123. package/dist/esm-node/{ssr/serverRender/renderToStream/bulidTemplate.before.js → core/server/stream/beforeTemplate.js} +8 -9
  124. package/dist/esm-node/{ssr/serverRender/renderToStream/renderToPipe.js → core/server/stream/createReadableStream.js} +41 -35
  125. package/dist/esm-node/core/server/stream/createReadableStream.worker.js +71 -0
  126. package/dist/esm-node/core/server/stream/index.js +6 -0
  127. package/dist/esm-node/core/server/stream/shared.js +75 -0
  128. package/dist/esm-node/core/server/stream/template.js +15 -0
  129. package/dist/esm-node/core/server/string/index.js +118 -0
  130. package/dist/esm-node/{ssr/serverRender/renderToString → core/server/string}/loadable.js +8 -11
  131. package/dist/esm-node/core/server/string/prefetch.js +78 -0
  132. package/dist/esm-node/core/server/string/ssrData.js +76 -0
  133. package/dist/esm-node/core/server/string/styledComponent.js +29 -0
  134. package/dist/esm-node/core/server/tracer.js +33 -0
  135. package/dist/esm-node/core/server/utils.js +60 -0
  136. package/dist/esm-node/router/cli/code/index.js +8 -5
  137. package/dist/esm-node/router/cli/code/templates.js +60 -6
  138. package/dist/esm-node/router/cli/constants.js +4 -0
  139. package/dist/esm-node/router/cli/entry.js +2 -4
  140. package/dist/esm-node/router/cli/handler.js +21 -5
  141. package/dist/esm-node/router/cli/index.js +31 -58
  142. package/dist/esm-node/router/runtime/index.js +1 -0
  143. package/dist/esm-node/router/runtime/plugin.js +13 -30
  144. package/dist/esm-node/router/runtime/plugin.node.js +18 -33
  145. package/dist/esm-node/state/cli/index.js +8 -36
  146. package/dist/esm-node/state/runtime/plugin.js +5 -5
  147. package/dist/types/cli/alias.d.ts +7 -0
  148. package/dist/types/cli/code.d.ts +10 -0
  149. package/dist/types/cli/constants.d.ts +7 -0
  150. package/dist/types/cli/index.d.ts +8 -1
  151. package/dist/types/cli/template.d.ts +27 -0
  152. package/dist/types/cli/template.server.d.ts +15 -0
  153. package/dist/types/common.d.ts +9 -0
  154. package/dist/types/core/browser/hydrate.d.ts +5 -0
  155. package/dist/types/core/browser/index.d.ts +2 -0
  156. package/dist/types/core/config.d.ts +5 -6
  157. package/dist/types/core/constants.d.ts +5 -0
  158. package/dist/types/core/context/index.d.ts +34 -1
  159. package/dist/types/core/context/runtime.d.ts +2 -2
  160. package/dist/types/core/plugin/base.d.ts +3 -33
  161. package/dist/types/core/plugin/index.d.ts +2 -11
  162. package/dist/types/core/plugin/runner.d.ts +1 -11
  163. package/dist/types/core/react/index.d.ts +6 -0
  164. package/dist/types/core/server/helmet.d.ts +3 -0
  165. package/dist/types/core/server/index.d.ts +4 -0
  166. package/dist/types/core/server/requestHandler.d.ts +11 -0
  167. package/dist/types/core/server/server.d.ts +4 -0
  168. package/dist/types/core/server/shared.d.ts +9 -0
  169. package/dist/types/core/server/stream/afterTemplate.d.ts +12 -0
  170. package/dist/types/core/server/stream/beforeTemplate.d.ts +8 -0
  171. package/dist/types/core/server/stream/createReadableStream.d.ts +2 -0
  172. package/dist/types/core/server/stream/createReadableStream.worker.d.ts +2 -0
  173. package/dist/types/core/server/stream/index.d.ts +1 -0
  174. package/dist/types/core/server/stream/shared.d.ts +22 -0
  175. package/dist/types/core/server/stream/template.d.ts +9 -0
  176. package/dist/types/core/server/string/index.d.ts +2 -0
  177. package/dist/types/core/server/string/loadable.d.ts +35 -0
  178. package/dist/types/core/server/string/prefetch.d.ts +15 -0
  179. package/dist/types/core/server/string/ssrData.d.ts +18 -0
  180. package/dist/types/core/server/string/styledComponent.d.ts +11 -0
  181. package/dist/types/core/server/string/types.d.ts +12 -0
  182. package/dist/types/core/server/tracer.d.ts +21 -0
  183. package/dist/types/core/server/utils.d.ts +19 -0
  184. package/dist/types/core/types.d.ts +35 -1
  185. package/dist/types/index.d.ts +1 -1
  186. package/dist/types/router/cli/code/index.d.ts +3 -4
  187. package/dist/types/router/cli/code/templates.d.ts +9 -1
  188. package/dist/types/router/cli/constants.d.ts +2 -0
  189. package/dist/types/router/cli/handler.d.ts +1 -0
  190. package/dist/types/router/runtime/index.d.ts +1 -0
  191. package/dist/types/router/runtime/plugin.d.ts +1 -1
  192. package/dist/types/router/runtime/plugin.node.d.ts +2 -2
  193. package/dist/types/router/runtime/types.d.ts +1 -2
  194. package/dist/types/state/runtime/plugin.d.ts +2 -2
  195. package/package.json +49 -42
  196. package/types/router.d.ts +7 -2
  197. package/dist/cjs/ssr/index.js +0 -183
  198. package/dist/cjs/ssr/index.node.js +0 -86
  199. package/dist/cjs/ssr/prefetch.js +0 -92
  200. package/dist/cjs/ssr/serverRender/index.js +0 -39
  201. package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -74
  202. package/dist/cjs/ssr/serverRender/renderToStream/index.js +0 -74
  203. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.js +0 -104
  204. package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.worker.js +0 -108
  205. package/dist/cjs/ssr/serverRender/renderToString/buildHtml.js +0 -52
  206. package/dist/cjs/ssr/serverRender/renderToString/entry.js +0 -179
  207. package/dist/cjs/ssr/serverRender/renderToString/render.js +0 -61
  208. package/dist/cjs/ssr/serverRender/tracker.js +0 -113
  209. package/dist/cjs/ssr/utils.js +0 -94
  210. package/dist/esm/ssr/cli/index.js +0 -194
  211. package/dist/esm/ssr/index.js +0 -169
  212. package/dist/esm/ssr/index.node.js +0 -78
  213. package/dist/esm/ssr/serverRender/index.js +0 -55
  214. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -48
  215. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -12
  216. package/dist/esm/ssr/serverRender/renderToStream/index.js +0 -49
  217. package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.worker.js +0 -164
  218. package/dist/esm/ssr/serverRender/renderToStream/template.js +0 -46
  219. package/dist/esm/ssr/serverRender/renderToString/buildHtml.js +0 -34
  220. package/dist/esm/ssr/serverRender/renderToString/entry.js +0 -257
  221. package/dist/esm/ssr/serverRender/renderToString/index.js +0 -34
  222. package/dist/esm/ssr/serverRender/renderToString/render.js +0 -55
  223. package/dist/esm/ssr/serverRender/renderToString/styledComponent.js +0 -25
  224. package/dist/esm/ssr/serverRender/tracker.js +0 -82
  225. package/dist/esm/ssr/serverRender/utils.js +0 -21
  226. package/dist/esm/ssr/utils.js +0 -59
  227. package/dist/esm-node/ssr/cli/index.js +0 -166
  228. package/dist/esm-node/ssr/index.js +0 -147
  229. package/dist/esm-node/ssr/index.node.js +0 -50
  230. package/dist/esm-node/ssr/prefetch.js +0 -72
  231. package/dist/esm-node/ssr/serverRender/index.js +0 -19
  232. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -50
  233. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -8
  234. package/dist/esm-node/ssr/serverRender/renderToStream/index.js +0 -40
  235. package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.worker.js +0 -88
  236. package/dist/esm-node/ssr/serverRender/renderToStream/template.js +0 -19
  237. package/dist/esm-node/ssr/serverRender/renderToString/buildHtml.js +0 -24
  238. package/dist/esm-node/ssr/serverRender/renderToString/entry.js +0 -149
  239. package/dist/esm-node/ssr/serverRender/renderToString/index.js +0 -17
  240. package/dist/esm-node/ssr/serverRender/renderToString/render.js +0 -27
  241. package/dist/esm-node/ssr/serverRender/renderToString/styledComponent.js +0 -20
  242. package/dist/esm-node/ssr/serverRender/tracker.js +0 -87
  243. package/dist/esm-node/ssr/serverRender/utils.js +0 -17
  244. package/dist/esm-node/ssr/utils.js +0 -57
  245. package/dist/types/ssr/index.d.ts +0 -11
  246. package/dist/types/ssr/index.node.d.ts +0 -5
  247. package/dist/types/ssr/prefetch.d.ts +0 -16
  248. package/dist/types/ssr/serverRender/helmet.d.ts +0 -2
  249. package/dist/types/ssr/serverRender/index.d.ts +0 -2
  250. package/dist/types/ssr/serverRender/renderToStream/buildTemplate.after.d.ts +0 -7
  251. package/dist/types/ssr/serverRender/renderToStream/buildTemplate.share.d.ts +0 -3
  252. package/dist/types/ssr/serverRender/renderToStream/bulidTemplate.before.d.ts +0 -2
  253. package/dist/types/ssr/serverRender/renderToStream/index.d.ts +0 -3
  254. package/dist/types/ssr/serverRender/renderToStream/renderToPipe.d.ts +0 -7
  255. package/dist/types/ssr/serverRender/renderToStream/renderToPipe.worker.d.ts +0 -12
  256. package/dist/types/ssr/serverRender/renderToStream/template.d.ts +0 -6
  257. package/dist/types/ssr/serverRender/renderToString/buildHtml.d.ts +0 -6
  258. package/dist/types/ssr/serverRender/renderToString/entry.d.ts +0 -24
  259. package/dist/types/ssr/serverRender/renderToString/index.d.ts +0 -2
  260. package/dist/types/ssr/serverRender/renderToString/loadable.d.ts +0 -26
  261. package/dist/types/ssr/serverRender/renderToString/render.d.ts +0 -16
  262. package/dist/types/ssr/serverRender/renderToString/styledComponent.d.ts +0 -15
  263. package/dist/types/ssr/serverRender/tracker.d.ts +0 -20
  264. package/dist/types/ssr/serverRender/types.d.ts +0 -49
  265. package/dist/types/ssr/serverRender/utils.d.ts +0 -9
  266. package/dist/types/ssr/utils.d.ts +0 -10
  267. /package/dist/cjs/{ssr/cli → cli/ssr}/babel-plugin-ssr-loader-id.js +0 -0
  268. /package/dist/cjs/{ssr/cli → cli/ssr}/loadable-bundler-plugin.js +0 -0
  269. /package/dist/cjs/{ssr/react/withCallback/index.js → core/browser/withCallback.js} +0 -0
  270. /package/dist/cjs/{ssr/serverRender → core/server}/constants.js +0 -0
  271. /package/dist/cjs/{ssr → core/server}/react/index.js +0 -0
  272. /package/dist/cjs/{ssr → core/server}/react/nossr/index.js +0 -0
  273. /package/dist/cjs/{ssr → core/server}/react/prerender/index.js +0 -0
  274. /package/dist/cjs/{ssr → core/server}/react/prerender/type.js +0 -0
  275. /package/dist/cjs/{ssr → core/server}/react/prerender/util.js +0 -0
  276. /package/dist/esm/{ssr/react/withCallback/index.js → core/browser/withCallback.js} +0 -0
  277. /package/dist/esm/{ssr/serverRender/types.js → core/constants.js} +0 -0
  278. /package/dist/esm/{ssr/serverRender → core/server}/constants.js +0 -0
  279. /package/dist/esm/{ssr → core/server}/react/index.js +0 -0
  280. /package/dist/esm/{ssr → core/server}/react/nossr/index.js +0 -0
  281. /package/dist/esm/{ssr → core/server}/react/prerender/index.js +0 -0
  282. /package/dist/esm/{ssr → core/server}/react/prerender/util.js +0 -0
  283. /package/dist/esm-node/{ssr/react/withCallback/index.js → core/browser/withCallback.js} +0 -0
  284. /package/dist/esm-node/{ssr/serverRender/types.js → core/constants.js} +0 -0
  285. /package/dist/esm-node/{ssr/serverRender → core/server}/constants.js +0 -0
  286. /package/dist/esm-node/{ssr → core/server}/react/index.js +0 -0
  287. /package/dist/esm-node/{ssr → core/server}/react/nossr/index.js +0 -0
  288. /package/dist/esm-node/{ssr → core/server}/react/prerender/index.js +0 -0
  289. /package/dist/esm-node/{ssr → core/server}/react/prerender/type.js +0 -0
  290. /package/dist/esm-node/{ssr → core/server}/react/prerender/util.js +0 -0
  291. /package/dist/{esm/ssr/react/prerender/type.js → esm-node/core/server/string/types.js} +0 -0
  292. /package/dist/types/{ssr/cli → cli/ssr}/babel-plugin-ssr-loader-id.d.ts +0 -0
  293. /package/dist/types/{ssr/cli → cli/ssr}/index.d.ts +0 -0
  294. /package/dist/types/{ssr/cli → cli/ssr}/loadable-bundler-plugin.d.ts +0 -0
  295. /package/dist/types/{ssr/react/withCallback/index.d.ts → core/browser/withCallback.d.ts} +0 -0
  296. /package/dist/types/{ssr/serverRender → core/server}/constants.d.ts +0 -0
  297. /package/dist/types/{ssr → core/server}/react/index.d.ts +0 -0
  298. /package/dist/types/{ssr → core/server}/react/nossr/index.d.ts +0 -0
  299. /package/dist/types/{ssr → core/server}/react/prerender/index.d.ts +0 -0
  300. /package/dist/types/{ssr → core/server}/react/prerender/type.d.ts +0 -0
  301. /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,27 @@ 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");
42
+ var import_core = require("@rsbuild/core");
37
43
  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");
44
+ var import_cli2 = require("../router/cli");
45
+ var import_cli3 = require("../document/cli");
46
+ var import_ssr = require("./ssr");
41
47
  var import_entry = require("./entry");
48
+ var import_constants = require("./constants");
49
+ var import_code = require("./code");
50
+ var import_alias = require("./alias");
42
51
  var import_entry2 = require("./entry");
43
- const runtimePlugin = () => ({
52
+ const runtimePlugin = (params) => ({
44
53
  name: "@modern-js/runtime",
45
54
  post: [
46
55
  "@modern-js/plugin-ssr",
@@ -50,23 +59,58 @@ const runtimePlugin = () => ({
50
59
  "@modern-js/plugin-design-token"
51
60
  ],
52
61
  // the order of runtime plugins is affected by runtime hooks, mainly `init` and `hoc` hooks
53
- usePlugins: [
54
- (0, import_cli2.ssrPlugin)(),
62
+ usePlugins: (params === null || params === void 0 ? void 0 : params.plugins) || [
63
+ (0, import_ssr.ssrPlugin)(),
64
+ (0, import_cli2.routerPlugin)(),
55
65
  (0, import_cli.statePlugin)(),
56
- (0, import_cli3.routerPlugin)(),
57
- (0, import_cli4.documentPlugin)()
66
+ (0, import_cli3.documentPlugin)()
58
67
  ],
59
68
  setup: (api) => {
60
69
  return {
61
- checkEntryPoint({ path, entry }) {
70
+ checkEntryPoint({ path: path2, entry }) {
62
71
  return {
63
- path,
64
- entry: entry || (0, import_entry.isRuntimeEntry)(path)
72
+ path: path2,
73
+ entry: entry || (0, import_entry.isRuntimeEntry)(path2)
65
74
  };
66
75
  },
76
+ modifyEntrypoints({ entrypoints }) {
77
+ const { internalDirectory } = api.useAppContext();
78
+ const { source: { enableAsyncEntry } } = api.useResolvedConfigContext();
79
+ const newEntryPoints = entrypoints.map((entrypoint) => {
80
+ if (entrypoint.isAutoMount) {
81
+ entrypoint.internalEntry = import_path.default.resolve(internalDirectory, `./${entrypoint.entryName}/${enableAsyncEntry ? import_constants.ENTRY_BOOTSTRAP_FILE_NAME : import_constants.ENTRY_POINT_FILE_NAME}`);
82
+ }
83
+ return entrypoint;
84
+ });
85
+ return {
86
+ entrypoints: newEntryPoints
87
+ };
88
+ },
89
+ async generateEntryCode({ entrypoints }) {
90
+ const appContext = api.useAppContext();
91
+ const resolvedConfig = api.useResolvedConfigContext();
92
+ const runners = api.useHookRunners();
93
+ await (0, import_code.generateCode)(entrypoints, appContext, resolvedConfig, runners._internalRuntimePlugins);
94
+ },
95
+ /* Note that the execution time of the config hook is before prepare.
96
+ /* This means that the entry information cannot be obtained in the config hook.
97
+ /* Therefore, aliases cannot be set directly in the config.
98
+ */
99
+ prepare() {
100
+ const { builder, entrypoints, internalDirectory, metaName } = api.useAppContext();
101
+ builder === null || builder === void 0 ? void 0 : builder.addPlugins([
102
+ (0, import_alias.builderPluginAlias)({
103
+ entrypoints,
104
+ internalDirectory,
105
+ metaName
106
+ })
107
+ ]);
108
+ },
67
109
  config() {
68
- const appDir = api.useAppContext().appDirectory;
69
- process.env.IS_REACT18 = (0, import_utils.isReact18)(appDir).toString();
110
+ const { appDirectory, metaName, internalDirectory } = api.useAppContext();
111
+ const isReact18 = (0, import_utils.isReact18)(appDirectory);
112
+ process.env.IS_REACT18 = isReact18.toString();
113
+ const pluginsExportsUtils = (0, import_utils.createRuntimeExportsUtils)(internalDirectory, "plugins");
70
114
  return {
71
115
  runtime: {},
72
116
  runtimeByEntries: {},
@@ -77,7 +121,11 @@ const runtimePlugin = () => ({
77
121
  * But it will not be installed under the user project.
78
122
  * So need to add alias
79
123
  */
80
- "styled-components": require.resolve("styled-components")
124
+ "styled-components": require.resolve("styled-components"),
125
+ /**
126
+ * Compatible with the reference path of the old version of the plugin.
127
+ */
128
+ [`@${metaName}/runtime/plugins`]: pluginsExportsUtils.getPath()
81
129
  },
82
130
  globalVars: {
83
131
  "process.env.IS_REACT18": process.env.IS_REACT18
@@ -89,6 +137,29 @@ const runtimePlugin = () => ({
89
137
  topLevelImportPaths: [
90
138
  "@modern-js/runtime/styled"
91
139
  ]
140
+ },
141
+ /**
142
+ * Add IgnorePlugin to fix react-dom/client import error when use react17
143
+ */
144
+ webpackChain: (chain, { webpack }) => {
145
+ if (!isReact18) {
146
+ chain.plugin("ignore-plugin").use(webpack.IgnorePlugin, [
147
+ {
148
+ resourceRegExp: /^react-dom\/client$/,
149
+ contextRegExp: /./
150
+ }
151
+ ]);
152
+ }
153
+ },
154
+ rspack: (_config, { appendPlugins }) => {
155
+ if (!isReact18) {
156
+ appendPlugins([
157
+ new import_core.rspack.IgnorePlugin({
158
+ resourceRegExp: /^react-dom\/client$/,
159
+ contextRegExp: /./
160
+ })
161
+ ]);
162
+ }
92
163
  }
93
164
  }
94
165
  };
@@ -97,7 +168,7 @@ const runtimePlugin = () => ({
97
168
  (0, import_utils.cleanRequireCache)([
98
169
  require.resolve("../state/cli"),
99
170
  require.resolve("../router/cli"),
100
- require.resolve("../ssr/cli")
171
+ require.resolve("./ssr")
101
172
  ]);
102
173
  }
103
174
  };
@@ -106,6 +177,10 @@ const runtimePlugin = () => ({
106
177
  var cli_default = runtimePlugin;
107
178
  // Annotate the CommonJS export names for ESM import in node:
108
179
  0 && (module.exports = {
180
+ documentPlugin,
109
181
  isRuntimeEntry,
110
- runtimePlugin
182
+ routerPlugin,
183
+ runtimePlugin,
184
+ ssrPlugin,
185
+ statePlugin
111
186
  });
@@ -26,15 +26,14 @@ 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 cli_exports = {};
30
- __export(cli_exports, {
31
- default: () => cli_default,
29
+ var ssr_exports = {};
30
+ __export(ssr_exports, {
31
+ default: () => ssr_default,
32
32
  ssrPlugin: () => ssrPlugin
33
33
  });
34
- module.exports = __toCommonJS(cli_exports);
34
+ module.exports = __toCommonJS(ssr_exports);
35
35
  var import_path = __toESM(require("path"));
36
36
  var import_utils = require("@modern-js/utils");
37
- const PLUGIN_IDENTIFIER = "ssr";
38
37
  const hasStringSSREntry = (userConfig) => {
39
38
  const isStreaming = (ssr) => ssr && typeof ssr === "object" && ssr.mode === "stream";
40
39
  const { server, output } = userConfig;
@@ -60,12 +59,9 @@ const ssrPlugin = () => ({
60
59
  "@modern-js/runtime"
61
60
  ],
62
61
  setup: (api) => {
63
- const ssrConfigMap = /* @__PURE__ */ new Map();
64
- let pluginsExportsUtils;
65
62
  return {
63
+ // for bundle
66
64
  config() {
67
- const appContext = api.useAppContext();
68
- pluginsExportsUtils = (0, import_utils.createRuntimeExportsUtils)(appContext.internalDirectory, "plugins");
69
65
  const { bundlerType = "webpack" } = api.useAppContext();
70
66
  const babelHandler = (() => {
71
67
  if (bundlerType === "webpack") {
@@ -93,8 +89,7 @@ const ssrPlugin = () => ({
93
89
  source: {
94
90
  alias: {
95
91
  // ensure that all packages use the same storage in @modern-js/runtime-utils/node
96
- "@modern-js/runtime-utils/node$": require.resolve("@modern-js/runtime-utils/node"),
97
- "@modern-js/runtime/plugins": pluginsExportsUtils.getPath()
92
+ "@modern-js/runtime-utils/node$": require.resolve("@modern-js/runtime-utils/node")
98
93
  },
99
94
  globalVars: (values, { target }) => {
100
95
  values["process.env.MODERN_TARGET"] = target === "node" || target === "service-worker" ? "node" : "browser";
@@ -115,85 +110,11 @@ const ssrPlugin = () => ({
115
110
  babel: babelHandler
116
111
  }
117
112
  };
118
- },
119
- modifyEntryImports({ entrypoint, imports }) {
120
- const { entryName, isMainEntry, fileSystemRoutes } = entrypoint;
121
- const userConfig = api.useResolvedConfigContext();
122
- const { packageName, entrypoints } = api.useAppContext();
123
- pluginsExportsUtils.addExport(`export { default as ssr } from '@modern-js/runtime/ssr'`);
124
- const ssrConfig = (0, import_utils.getEntryOptions)(entryName, isMainEntry, userConfig.server.ssr, userConfig.server.ssrByEntries, packageName);
125
- if (typeof ssrConfig === "object" && ssrConfig.mode === "stream") {
126
- var _this;
127
- const runtimeConfig = (0, import_utils.getEntryOptions)(entryName, isMainEntry, userConfig.runtime, userConfig.runtimeByEntries, packageName);
128
- if (((_this = runtimeConfig === null || runtimeConfig === void 0 ? void 0 : runtimeConfig.router) === null || _this === void 0 ? void 0 : _this.mode) === "react-router-5") {
129
- throw new Error(`router v5 plugin doesn't support streaming SSR, check your config 'runtime.router'`);
130
- }
131
- if (fileSystemRoutes && !entrypoint.nestedRoutesEntry) {
132
- throw new Error("You should switch to file-system based router to support streaming SSR.");
133
- }
134
- }
135
- const useSSG = (0, import_utils.isSSGEntry)(userConfig, entryName, entrypoints);
136
- ssrConfigMap.set(entryName, ssrConfig || useSSG);
137
- if (ssrConfig || useSSG) {
138
- imports.push({
139
- value: "@modern-js/runtime/plugins",
140
- specifiers: [
141
- {
142
- imported: PLUGIN_IDENTIFIER
143
- }
144
- ]
145
- });
146
- }
147
- return {
148
- entrypoint,
149
- imports
150
- };
151
- },
152
- modifyEntryRuntimePlugins({ entrypoint, plugins, bundlerConfigs }) {
153
- if (ssrConfigMap.get(entrypoint.entryName)) {
154
- var _bundlerConfigs_find_output, _bundlerConfigs_find;
155
- const chunkLoadingGlobal = bundlerConfigs === null || bundlerConfigs === void 0 ? void 0 : (_bundlerConfigs_find = bundlerConfigs.find((config2) => config2.name === "client")) === null || _bundlerConfigs_find === void 0 ? void 0 : (_bundlerConfigs_find_output = _bundlerConfigs_find.output) === null || _bundlerConfigs_find_output === void 0 ? void 0 : _bundlerConfigs_find_output.chunkLoadingGlobal;
156
- const config = api.useResolvedConfigContext();
157
- const { enableInlineScripts, enableInlineStyles } = config.output;
158
- const { crossorigin, scriptLoading } = config.html;
159
- plugins.push({
160
- name: PLUGIN_IDENTIFIER,
161
- options: JSON.stringify({
162
- scriptLoading,
163
- ...ssrConfigMap.get(entrypoint.entryName) || {},
164
- crossorigin,
165
- chunkLoadingGlobal,
166
- enableInlineScripts: typeof enableInlineScripts === "function" ? void 0 : enableInlineScripts,
167
- enableInlineStyles: typeof enableInlineStyles === "function" ? void 0 : enableInlineStyles
168
- })
169
- });
170
- }
171
- return {
172
- entrypoint,
173
- plugins
174
- };
175
- },
176
- modifyEntryExport({ entrypoint, exportStatement }) {
177
- if (ssrConfigMap.get(entrypoint.entryName)) {
178
- return {
179
- entrypoint,
180
- exportStatement: [
181
- `export function ${import_utils.SERVER_RENDER_FUNCTION_NAME}(context) {
182
- return bootstrap(AppWrapper, context)
183
- }`,
184
- exportStatement
185
- ].join("\n")
186
- };
187
- }
188
- return {
189
- entrypoint,
190
- exportStatement
191
- };
192
113
  }
193
114
  };
194
115
  }
195
116
  });
196
- var cli_default = ssrPlugin;
117
+ var ssr_default = ssrPlugin;
197
118
  // Annotate the CommonJS export names for ESM import in node:
198
119
  0 && (module.exports = {
199
120
  ssrPlugin
@@ -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
+ });