@modern-js/runtime 2.54.5 → 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
@@ -0,0 +1,34 @@
1
+ import { _ as _instanceof } from "@swc/helpers/_/_instanceof";
2
+ var SSRTimings;
3
+ (function(SSRTimings2) {
4
+ SSRTimings2["PRERENDER"] = "ssr-prerender";
5
+ SSRTimings2["RENDER_HTML"] = "ssr-render-html";
6
+ SSRTimings2["RENDER_SHELL"] = "ssr-render-shell";
7
+ SSRTimings2["USE_LOADER"] = "use-loader";
8
+ })(SSRTimings || (SSRTimings = {}));
9
+ var SSRErrors;
10
+ (function(SSRErrors2) {
11
+ SSRErrors2["PRERENDER"] = "App Prerender";
12
+ SSRErrors2["USE_LOADER"] = "App run useLoader";
13
+ SSRErrors2["RENDER_HTML"] = "App Render To HTML";
14
+ SSRErrors2["RENDER_STREAM"] = "An error occurs during streaming SSR";
15
+ SSRErrors2["RENDER_SHELL"] = "An error occurs during streaming render shell";
16
+ })(SSRErrors || (SSRErrors = {}));
17
+ function createOnError(onError) {
18
+ return function(key, e) {
19
+ var error = _instanceof(e, Error) ? e : new Error("Unexpected Server Error");
20
+ error.name = key;
21
+ onError === null || onError === void 0 ? void 0 : onError(e);
22
+ };
23
+ }
24
+ function createOnTiming(onTiming) {
25
+ return function(key, cost) {
26
+ onTiming === null || onTiming === void 0 ? void 0 : onTiming(key, cost);
27
+ };
28
+ }
29
+ export {
30
+ SSRErrors,
31
+ SSRTimings,
32
+ createOnError,
33
+ createOnTiming
34
+ };
@@ -0,0 +1,83 @@
1
+ import { _ as _instanceof } from "@swc/helpers/_/_instanceof";
2
+ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
3
+ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
+ import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
5
+ import { isRouteErrorResponse } from "@modern-js/runtime-utils/remix-router";
6
+ function attributesToString(attributes) {
7
+ return Object.entries(attributes).reduce(function(str, param) {
8
+ var _param = _sliced_to_array(param, 2), key = _param[0], value = _param[1];
9
+ return value === void 0 ? str : "".concat(str, " ").concat(key, '="').concat(value, '"');
10
+ }, "");
11
+ }
12
+ function safeReplace(source, searchValue, replaceValue) {
13
+ return source.replace(searchValue, function() {
14
+ return replaceValue;
15
+ });
16
+ }
17
+ function checkIsNode() {
18
+ var _process_release;
19
+ return typeof process !== "undefined" && ((_process_release = process.release) === null || _process_release === void 0 ? void 0 : _process_release.name) === "node";
20
+ }
21
+ function serializeErrors(errors) {
22
+ if (!errors) {
23
+ return null;
24
+ }
25
+ var entries = Object.entries(errors);
26
+ var serialized = {};
27
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
28
+ try {
29
+ for (var _iterator = entries[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
30
+ var _step_value = _sliced_to_array(_step.value, 2), key = _step_value[0], val = _step_value[1];
31
+ if (isRouteErrorResponse(val)) {
32
+ serialized[key] = _object_spread_props(_object_spread({}, val), {
33
+ __type: "RouteErrorResponse"
34
+ });
35
+ } else if (_instanceof(val, Error)) {
36
+ serialized[key] = {
37
+ message: val.message,
38
+ stack: val.stack,
39
+ __type: "Error"
40
+ };
41
+ } else {
42
+ serialized[key] = val;
43
+ }
44
+ }
45
+ } catch (err) {
46
+ _didIteratorError = true;
47
+ _iteratorError = err;
48
+ } finally {
49
+ try {
50
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
51
+ _iterator.return();
52
+ }
53
+ } finally {
54
+ if (_didIteratorError) {
55
+ throw _iteratorError;
56
+ }
57
+ }
58
+ }
59
+ return serialized;
60
+ }
61
+ function getSSRConfigByEntry(entryName, ssr, ssrByEntries, staticGenerate) {
62
+ if (staticGenerate) {
63
+ return true;
64
+ }
65
+ if (ssrByEntries === null || ssrByEntries === void 0 ? void 0 : ssrByEntries[entryName]) {
66
+ return ssrByEntries[entryName];
67
+ }
68
+ return ssr;
69
+ }
70
+ function getSSRMode(ssrConfig) {
71
+ if (typeof ssrConfig === "boolean") {
72
+ return ssrConfig ? "string" : false;
73
+ }
74
+ return (ssrConfig === null || ssrConfig === void 0 ? void 0 : ssrConfig.mode) === "stream" ? "stream" : "string";
75
+ }
76
+ export {
77
+ attributesToString,
78
+ checkIsNode,
79
+ getSSRConfigByEntry,
80
+ getSSRMode,
81
+ safeReplace,
82
+ serializeErrors
83
+ };
@@ -3,23 +3,25 @@ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
3
  import path from "path";
4
4
  import { fs, getEntryOptions, isRouterV5, isSSGEntry, isUseSSRBundle, logger } from "@modern-js/utils";
5
5
  import { FILE_SYSTEM_ROUTES_FILE_NAME } from "../constants";
6
+ import { ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME } from "../../../cli/constants";
6
7
  import * as templates from "./templates";
7
8
  import { getClientRoutes, getClientRoutesLegacy } from "./getClientRoutes";
8
9
  import { getServerLoadersFile, getServerCombinedModueFile } from "./utils";
9
10
  import { walk } from "./nestedRoutes";
10
11
  var generateCode = function() {
11
12
  var _ref = _async_to_generator(function(appContext, config, entrypoints, api) {
12
- var internalDirectory, srcDirectory, internalDirAlias, internalSrcAlias, packageName, hookRunners, isV5, getRoutes, importsStatemets, oldVersion;
13
+ var internalDirectory, srcDirectory, internalDirAlias, internalSrcAlias, packageName, hookRunners, isV5, getRoutes, oldVersion;
13
14
  function generateEntryCode(entrypoint) {
14
15
  return _generateEntryCode.apply(this, arguments);
15
16
  }
16
17
  function _generateEntryCode() {
17
18
  _generateEntryCode = _async_to_generator(function(entrypoint) {
18
- var entryName, isMainEntry, isAutoMount, fileSystemRoutes, _config_output, initialRoutes, nestedRoutes, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, route, routes, _$config, ssr, useSSG, mode, hasPageRoute, code, _, _tmp, routesServerFile, code1, serverLoaderCombined, serverLoaderFile;
19
+ var entryName, isMainEntry, isAutoMount, fileSystemRoutes, metaName, _config_output, initialRoutes, nestedRoutes, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, route, routes, _$config, ssr, useSSG, mode, hasPageRoute, code, _, _tmp, routesServerFile, code1, serverLoaderCombined, serverLoaderFile;
19
20
  return _ts_generator(this, function(_state) {
20
21
  switch (_state.label) {
21
22
  case 0:
22
23
  entryName = entrypoint.entryName, isMainEntry = entrypoint.isMainEntry, isAutoMount = entrypoint.isAutoMount, fileSystemRoutes = entrypoint.fileSystemRoutes;
24
+ metaName = api.useAppContext().metaName;
23
25
  if (!isAutoMount)
24
26
  return [
25
27
  3,
@@ -115,6 +117,7 @@ var generateCode = function() {
115
117
  return [
116
118
  4,
117
119
  templates.fileSystemRoutes({
120
+ metaName,
118
121
  routes,
119
122
  ssrMode: useSSG ? "string" : mode,
120
123
  nestedRoutesEntry: entrypoint.nestedRoutesEntry,
@@ -188,7 +191,6 @@ var generateCode = function() {
188
191
  hookRunners = api.useHookRunners();
189
192
  isV5 = isRouterV5(config);
190
193
  getRoutes = isV5 ? getClientRoutesLegacy : getClientRoutes;
191
- importsStatemets = /* @__PURE__ */ new Map();
192
194
  oldVersion = typeof (config === null || config === void 0 ? void 0 : config.runtime.router) === "object" ? Boolean((config === null || config === void 0 ? void 0 : config.runtime.router).oldVersion) : false;
193
195
  return [
194
196
  4,
@@ -197,10 +199,7 @@ var generateCode = function() {
197
199
  case 1:
198
200
  _state.sent();
199
201
  return [
200
- 2,
201
- {
202
- importsStatemets
203
- }
202
+ 2
204
203
  ];
205
204
  }
206
205
  });
@@ -209,6 +208,10 @@ var generateCode = function() {
209
208
  return _ref.apply(this, arguments);
210
209
  };
211
210
  }();
211
+ function generatorRegisterCode(internalDirectory, entryName, code) {
212
+ fs.outputFileSync(path.resolve(internalDirectory, "./".concat(entryName, "/").concat(ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME)), code, "utf8");
213
+ }
212
214
  export {
213
- generateCode
215
+ generateCode,
216
+ generatorRegisterCode
214
217
  };
@@ -4,10 +4,10 @@ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
4
  import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
5
5
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
6
6
  import path from "path";
7
- import { fs, getEntryOptions, isSSGEntry, slash } from "@modern-js/utils";
7
+ import { findExists, formatImportPath, fs, getEntryOptions, isSSGEntry, slash } from "@modern-js/utils";
8
8
  import { ROUTE_MODULES } from "@modern-js/utils/universal/constants";
9
- import { TEMP_LOADERS_DIR } from "../constants";
10
- import { getServerLoadersFile } from "./utils";
9
+ import { APP_CONFIG_NAME, APP_INIT_EXPORTED, TEMP_LOADERS_DIR } from "../constants";
10
+ import { getPathWithoutExt, getServerLoadersFile, parseModule, replaceWithAlias } from "./utils";
11
11
  var routesForServer = function(param) {
12
12
  var routes = param.routes;
13
13
  var loaders = [];
@@ -120,11 +120,11 @@ var createMatchReg = function(keyword) {
120
120
  };
121
121
  var fileSystemRoutes = function() {
122
122
  var _ref = _async_to_generator(function(param) {
123
- var routes, ssrMode, nestedRoutesEntry, entryName, internalDirectory, _param_splitRouteChunks, splitRouteChunks, components, loadings, errors, loaders, loadersMap, configs, configsMap, loadersMapFile, importLazyCode, rootLayoutCode, getDataLoaderPath, traverseRouteTree, routeComponentsCode, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, route, newRoute, routeStr, keywords, regs, newRouteStr, component, finalRoute, keywords1, routeStr1, regs1, newRouteStr1, importLoadingCode, importComponentsCode, importErrorComponentsCode, importLoadersCode, _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1, _iterator1, _step1, _step_value, key, loaderInfo, route1, importConfigsCode, _iteratorNormalCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, _step_value1, key1, configPath, importRuntimeRouterCode, routeModulesCode;
123
+ var metaName, routes, ssrMode, nestedRoutesEntry, entryName, internalDirectory, _param_splitRouteChunks, splitRouteChunks, components, loadings, errors, loaders, loadersMap, configs, configsMap, loadersMapFile, importLazyCode, rootLayoutCode, getDataLoaderPath, traverseRouteTree, routeComponentsCode, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, route, newRoute, routeStr, keywords, regs, newRouteStr, component, finalRoute, keywords1, routeStr1, regs1, newRouteStr1, importLoadingCode, importComponentsCode, importErrorComponentsCode, importLoadersCode, _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1, _iterator1, _step1, _step_value, key, loaderInfo, route1, importConfigsCode, _iteratorNormalCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, _step_value1, key1, configPath, importRuntimeRouterCode, routeModulesCode;
124
124
  return _ts_generator(this, function(_state) {
125
125
  switch (_state.label) {
126
126
  case 0:
127
- routes = param.routes, ssrMode = param.ssrMode, nestedRoutesEntry = param.nestedRoutesEntry, entryName = param.entryName, internalDirectory = param.internalDirectory, _param_splitRouteChunks = param.splitRouteChunks, splitRouteChunks = _param_splitRouteChunks === void 0 ? true : _param_splitRouteChunks;
127
+ metaName = param.metaName, routes = param.routes, ssrMode = param.ssrMode, nestedRoutesEntry = param.nestedRoutesEntry, entryName = param.entryName, internalDirectory = param.internalDirectory, _param_splitRouteChunks = param.splitRouteChunks, splitRouteChunks = _param_splitRouteChunks === void 0 ? true : _param_splitRouteChunks;
128
128
  components = [];
129
129
  loadings = [];
130
130
  errors = [];
@@ -133,7 +133,7 @@ var fileSystemRoutes = function() {
133
133
  configs = [];
134
134
  configsMap = {};
135
135
  loadersMapFile = path.join(internalDirectory, entryName, TEMP_LOADERS_DIR, "map.json");
136
- importLazyCode = '\n import { lazy } from "react";\n import loadable, { lazy as loadableLazy } from "@modern-js/runtime/loadable"\n ';
136
+ importLazyCode = '\n import { lazy } from "react";\n import loadable, { lazy as loadableLazy } from "@'.concat(metaName, '/runtime/loadable"\n ');
137
137
  rootLayoutCode = "";
138
138
  getDataLoaderPath = function(param2) {
139
139
  var loaderId = param2.loaderId, clientData = param2.clientData, action = param2.action, inline = param2.inline, routeId = param2.routeId;
@@ -384,7 +384,7 @@ var fileSystemRoutes = function() {
384
384
  ];
385
385
  case 2:
386
386
  _state.sent();
387
- importRuntimeRouterCode = "\n import { createShouldRevalidate, handleRouteModule, handleRouteModuleError} from '@modern-js/runtime/router';\n ";
387
+ importRuntimeRouterCode = "\n import { createShouldRevalidate, handleRouteModule, handleRouteModuleError} from '@".concat(metaName, "/runtime/router';\n ");
388
388
  routeModulesCode = "\n if(typeof document !== 'undefined'){\n window.".concat(ROUTE_MODULES, " = {}\n }\n ");
389
389
  return [
390
390
  2,
@@ -410,8 +410,101 @@ function ssrLoaderCombinedModule(entrypoints, entrypoint, config, appContext) {
410
410
  }
411
411
  return null;
412
412
  }
413
+ var runtimeGlobalContext = function() {
414
+ var _ref = _async_to_generator(function(param) {
415
+ var metaName, srcDirectory, nestedRoutesEntry, internalSrcAlias, globalApp, imports, rootLayoutPath, rootLayoutFile, rootLayoutBuffer, rootLayout, _ref2, moduleExports, hasAppConfig, hasAppInit, layoutPath;
416
+ return _ts_generator(this, function(_state) {
417
+ switch (_state.label) {
418
+ case 0:
419
+ metaName = param.metaName, srcDirectory = param.srcDirectory, nestedRoutesEntry = param.nestedRoutesEntry, internalSrcAlias = param.internalSrcAlias, globalApp = param.globalApp;
420
+ imports = [
421
+ "import { setGlobalContext } from '@".concat(metaName, "/runtime/context';")
422
+ ];
423
+ if (!nestedRoutesEntry)
424
+ return [
425
+ 3,
426
+ 4
427
+ ];
428
+ rootLayoutPath = path.join(nestedRoutesEntry, "layout");
429
+ rootLayoutFile = findExists([
430
+ ".js",
431
+ ".ts",
432
+ ".jsx",
433
+ ".tsx"
434
+ ].map(function(ext) {
435
+ return "".concat(rootLayoutPath).concat(ext);
436
+ }));
437
+ if (!rootLayoutFile)
438
+ return [
439
+ 3,
440
+ 3
441
+ ];
442
+ return [
443
+ 4,
444
+ fs.readFile(rootLayoutFile)
445
+ ];
446
+ case 1:
447
+ rootLayoutBuffer = _state.sent();
448
+ rootLayout = rootLayoutBuffer.toString();
449
+ return [
450
+ 4,
451
+ parseModule({
452
+ source: rootLayout.toString(),
453
+ filename: rootLayoutFile
454
+ })
455
+ ];
456
+ case 2:
457
+ _ref2 = _sliced_to_array.apply(void 0, [
458
+ _state.sent(),
459
+ 2
460
+ ]), moduleExports = _ref2[1];
461
+ hasAppConfig = moduleExports.some(function(e) {
462
+ return e.n === APP_CONFIG_NAME;
463
+ });
464
+ hasAppInit = moduleExports.some(function(e) {
465
+ return e.n === APP_INIT_EXPORTED;
466
+ });
467
+ layoutPath = formatImportPath(getPathWithoutExt(replaceWithAlias(srcDirectory, rootLayoutFile, internalSrcAlias)));
468
+ if (hasAppConfig) {
469
+ imports.push("import { config as appConfig } from '".concat(layoutPath, "';"));
470
+ } else {
471
+ imports.push("let appConfig;");
472
+ }
473
+ if (hasAppInit) {
474
+ imports.push("import { init as appInit } from '".concat(layoutPath, "';"));
475
+ } else {
476
+ imports.push("let appInit;");
477
+ }
478
+ _state.label = 3;
479
+ case 3:
480
+ return [
481
+ 3,
482
+ 5
483
+ ];
484
+ case 4:
485
+ imports.push("let appConfig;");
486
+ imports.push("let appInit;");
487
+ _state.label = 5;
488
+ case 5:
489
+ if (globalApp) {
490
+ imports.push("import layoutApp from '".concat(formatImportPath(globalApp.replace(srcDirectory, internalSrcAlias)), "';"));
491
+ } else {
492
+ imports.push("let layoutApp;");
493
+ }
494
+ return [
495
+ 2,
496
+ "".concat(imports.join("\n"), "\n\nimport { routes } from './routes.js';\n\nsetGlobalContext({\n layoutApp,\n routes,\n appInit,\n appConfig,\n});")
497
+ ];
498
+ }
499
+ });
500
+ });
501
+ return function runtimeGlobalContext2(_) {
502
+ return _ref.apply(this, arguments);
503
+ };
504
+ }();
413
505
  export {
414
506
  fileSystemRoutes,
415
507
  routesForServer,
508
+ runtimeGlobalContext,
416
509
  ssrLoaderCombinedModule
417
510
  };
@@ -10,6 +10,8 @@ var FILE_SYSTEM_ROUTES_INDEX = "index";
10
10
  var FILE_SYSTEM_ROUTES_IGNORED_REGEX = /\.(d|test|spec|e2e)\.(js|jsx|ts|tsx)$/;
11
11
  var FILE_SYSTEM_ROUTES_DYNAMIC_REGEXP = /^\[(\S+)\]([*+?]?)$/;
12
12
  var FILE_SYSTEM_ROUTES_COMPONENTS_DIR = "internal_components";
13
+ var APP_CONFIG_NAME = "config";
14
+ var APP_INIT_EXPORTED = "init";
13
15
  var NESTED_ROUTE = {
14
16
  LAYOUT_FILE: "layout",
15
17
  LAYOUT_CONFIG_FILE: "layout.config",
@@ -32,6 +34,8 @@ var NESTED_ROUTE = {
32
34
  };
33
35
  export {
34
36
  ACTION_EXPORT_NAME,
37
+ APP_CONFIG_NAME,
38
+ APP_INIT_EXPORTED,
35
39
  FILE_SYSTEM_ROUTES_COMPONENTS_DIR,
36
40
  FILE_SYSTEM_ROUTES_DYNAMIC_REGEXP,
37
41
  FILE_SYSTEM_ROUTES_FILE_NAME,
@@ -41,12 +41,10 @@ var modifyEntrypoints = function(entrypoints) {
41
41
  }))
42
42
  };
43
43
  if (isHasPages) {
44
- entrypoint.entry = path.join(entrypoint.absoluteEntryDir, PAGES_DIR_NAME);
45
- entrypoint.pageRoutesEntry = entrypoint.entry;
44
+ entrypoint.pageRoutesEntry = path.join(entrypoint.absoluteEntryDir, PAGES_DIR_NAME);
46
45
  }
47
46
  if (isHasNestedRoutes) {
48
- entrypoint.entry = path.join(entrypoint.absoluteEntryDir, NESTED_ROUTES_DIR);
49
- entrypoint.nestedRoutesEntry = entrypoint.entry;
47
+ entrypoint.nestedRoutesEntry = path.join(entrypoint.absoluteEntryDir, NESTED_ROUTES_DIR);
50
48
  }
51
49
  } else {
52
50
  throw Error("Custom entries with conventional routing not support use react router v5!");
@@ -4,42 +4,103 @@ import path from "path";
4
4
  import { cloneDeep } from "@modern-js/utils/lodash";
5
5
  import { modifyEntrypoints } from "./entry";
6
6
  import { isPageComponentFile } from "./code/utils";
7
+ import * as templates from "./code/templates";
7
8
  var originEntrypoints = [];
8
9
  function handleModifyEntrypoints(api, entrypoints) {
9
10
  return _handleModifyEntrypoints.apply(this, arguments);
10
11
  }
11
12
  function _handleModifyEntrypoints() {
12
13
  _handleModifyEntrypoints = _async_to_generator(function(api, entrypoints) {
13
- var config, newEntryPoints, appContext, resolvedConfig, generateCode;
14
+ var config;
15
+ return _ts_generator(this, function(_state) {
16
+ config = api.useResolvedConfigContext();
17
+ return [
18
+ 2,
19
+ modifyEntrypoints(entrypoints, config)
20
+ ];
21
+ });
22
+ });
23
+ return _handleModifyEntrypoints.apply(this, arguments);
24
+ }
25
+ function handleGeneratorEntryCode(api, entrypoints) {
26
+ return _handleGeneratorEntryCode.apply(this, arguments);
27
+ }
28
+ function _handleGeneratorEntryCode() {
29
+ _handleGeneratorEntryCode = _async_to_generator(function(api, entrypoints) {
30
+ var appContext, internalDirectory, resolvedConfig, _ref, generatorRegisterCode, generateCode;
14
31
  return _ts_generator(this, function(_state) {
15
32
  switch (_state.label) {
16
33
  case 0:
17
- config = api.useResolvedConfigContext();
18
- newEntryPoints = modifyEntrypoints(entrypoints, config);
19
34
  appContext = api.useAppContext();
35
+ internalDirectory = api.useAppContext().internalDirectory;
20
36
  resolvedConfig = api.useResolvedConfigContext();
21
- appContext.entrypoints = newEntryPoints;
22
- originEntrypoints = cloneDeep(newEntryPoints);
23
37
  return [
24
38
  4,
25
39
  import("./code")
26
40
  ];
27
41
  case 1:
28
- generateCode = _state.sent().generateCode;
42
+ _ref = _state.sent(), generatorRegisterCode = _ref.generatorRegisterCode, generateCode = _ref.generateCode;
43
+ originEntrypoints = cloneDeep(entrypoints);
29
44
  return [
30
45
  4,
31
46
  generateCode(appContext, resolvedConfig, entrypoints, api)
32
47
  ];
33
48
  case 2:
49
+ _state.sent();
50
+ return [
51
+ 4,
52
+ Promise.all(entrypoints.map(function() {
53
+ var _ref2 = _async_to_generator(function(entrypoint) {
54
+ var _entrypoint_fileSystemRoutes, _tmp;
55
+ return _ts_generator(this, function(_state2) {
56
+ switch (_state2.label) {
57
+ case 0:
58
+ if (!(entrypoint.nestedRoutesEntry || entrypoint.pageRoutesEntry))
59
+ return [
60
+ 3,
61
+ 2
62
+ ];
63
+ _tmp = [
64
+ internalDirectory,
65
+ entrypoint.entryName
66
+ ];
67
+ return [
68
+ 4,
69
+ templates.runtimeGlobalContext({
70
+ metaName: appContext.metaName,
71
+ srcDirectory: appContext.srcDirectory,
72
+ nestedRoutesEntry: entrypoint.nestedRoutesEntry,
73
+ internalSrcAlias: appContext.internalSrcAlias,
74
+ globalApp: (_entrypoint_fileSystemRoutes = entrypoint.fileSystemRoutes) === null || _entrypoint_fileSystemRoutes === void 0 ? void 0 : _entrypoint_fileSystemRoutes.globalApp
75
+ })
76
+ ];
77
+ case 1:
78
+ generatorRegisterCode.apply(void 0, _tmp.concat([
79
+ _state2.sent()
80
+ ]));
81
+ _state2.label = 2;
82
+ case 2:
83
+ return [
84
+ 2
85
+ ];
86
+ }
87
+ });
88
+ });
89
+ return function(entrypoint) {
90
+ return _ref2.apply(this, arguments);
91
+ };
92
+ }()))
93
+ ];
94
+ case 3:
34
95
  _state.sent();
35
96
  return [
36
97
  2,
37
- newEntryPoints
98
+ entrypoints
38
99
  ];
39
100
  }
40
101
  });
41
102
  });
42
- return _handleModifyEntrypoints.apply(this, arguments);
103
+ return _handleGeneratorEntryCode.apply(this, arguments);
43
104
  }
44
105
  function handleFileChange(api, e) {
45
106
  return _handleFileChange.apply(this, arguments);
@@ -99,5 +160,6 @@ function _handleFileChange() {
99
160
  }
100
161
  export {
101
162
  handleFileChange,
163
+ handleGeneratorEntryCode,
102
164
  handleModifyEntrypoints
103
165
  };
@@ -2,13 +2,11 @@ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
2
  import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
3
3
  import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
4
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
5
- import { getEntryOptions, createRuntimeExportsUtils, isRouterV5 as isV5 } from "@modern-js/utils";
5
+ import { createRuntimeExportsUtils, getEntryOptions, isRouterV5 as isV5 } from "@modern-js/utils";
6
6
  import { isRouteEntry } from "./entry";
7
- import { handleFileChange, handleModifyEntrypoints } from "./handler";
7
+ import { handleFileChange, handleGeneratorEntryCode, handleModifyEntrypoints } from "./handler";
8
8
  import { isRouteEntry as isRouteEntry2 } from "./entry";
9
9
  import { handleFileChange as handleFileChange2, handleModifyEntrypoints as handleModifyEntrypoints2 } from "./handler";
10
- var PLUGIN_IDENTIFIER = "router";
11
- var ROUTES_IDENTIFIER = "routes";
12
10
  var routerPlugin = function() {
13
11
  return {
14
12
  name: "@modern-js/plugin-router",
@@ -16,9 +14,36 @@ var routerPlugin = function() {
16
14
  "@modern-js/runtime"
17
15
  ],
18
16
  setup: function(api) {
19
- var runtimeConfigMap = /* @__PURE__ */ new Map();
20
- var pluginsExportsUtils;
21
17
  return {
18
+ _internalRuntimePlugins: function _internalRuntimePlugins(param) {
19
+ var entrypoint = param.entrypoint, plugins = param.plugins;
20
+ var _getEntryOptions;
21
+ var _api_useAppContext = api.useAppContext(), packageName = _api_useAppContext.packageName, serverRoutes = _api_useAppContext.serverRoutes, metaName = _api_useAppContext.metaName;
22
+ var serverBase = serverRoutes.filter(function(route) {
23
+ return route.entryName === entrypoint.entryName;
24
+ }).map(function(route) {
25
+ return route.urlPath;
26
+ }).sort(function(a, b) {
27
+ return a.length - b.length > 0 ? -1 : 1;
28
+ });
29
+ var userConfig = api.useResolvedConfigContext();
30
+ var routerConfig = (_getEntryOptions = getEntryOptions(entrypoint.entryName, entrypoint.isMainEntry, userConfig.runtime, userConfig.runtimeByEntries, packageName)) === null || _getEntryOptions === void 0 ? void 0 : _getEntryOptions.router;
31
+ if (routerConfig && !isV5(userConfig)) {
32
+ plugins.push({
33
+ name: "router",
34
+ path: "@".concat(metaName, "/runtime/router"),
35
+ config: typeof routerConfig === "boolean" ? {
36
+ serverBase
37
+ } : _object_spread_props(_object_spread({}, routerConfig), {
38
+ serverBase
39
+ })
40
+ });
41
+ }
42
+ return {
43
+ entrypoint,
44
+ plugins
45
+ };
46
+ },
22
47
  checkEntryPoint: function checkEntryPoint(param) {
23
48
  var path = param.path, entry = param.entry;
24
49
  return {
@@ -27,8 +52,6 @@ var routerPlugin = function() {
27
52
  };
28
53
  },
29
54
  config: function config() {
30
- var appContext = api.useAppContext();
31
- pluginsExportsUtils = createRuntimeExportsUtils(appContext.internalDirectory, "plugins");
32
55
  return {
33
56
  source: {
34
57
  include: [
@@ -38,10 +61,7 @@ var routerPlugin = function() {
38
61
  /node_modules\/react-router/,
39
62
  /node_modules\/react-router-dom/,
40
63
  /node_modules\/@remix-run\/router/
41
- ],
42
- alias: {
43
- "@modern-js/runtime/plugins": pluginsExportsUtils.getPath()
44
- }
64
+ ]
45
65
  }
46
66
  };
47
67
  },
@@ -68,64 +88,31 @@ var routerPlugin = function() {
68
88
  });
69
89
  })();
70
90
  },
71
- modifyEntryImports: function modifyEntryImports(param) {
72
- var entrypoint = param.entrypoint, imports = param.imports;
73
- var entryName = entrypoint.entryName, isMainEntry = entrypoint.isMainEntry, fileSystemRoutes = entrypoint.fileSystemRoutes;
74
- var userConfig = api.useResolvedConfigContext();
75
- var packageName = api.useAppContext().packageName;
76
- var runtimeConfig = getEntryOptions(entryName, isMainEntry, userConfig.runtime, userConfig.runtimeByEntries, packageName);
77
- runtimeConfigMap.set(entryName, runtimeConfig);
78
- if (runtimeConfig === null || runtimeConfig === void 0 ? void 0 : runtimeConfig.router) {
79
- if (!isV5(userConfig)) {
80
- imports.push({
81
- value: "@modern-js/runtime/plugins",
82
- specifiers: [
83
- {
84
- imported: PLUGIN_IDENTIFIER
85
- }
86
- ]
87
- });
88
- }
89
- } else if (fileSystemRoutes) {
90
- throw new Error("should enable runtime.router for entry ".concat(entryName));
91
- }
92
- return {
93
- entrypoint,
94
- imports
95
- };
96
- },
97
- modifyEntryRuntimePlugins: function modifyEntryRuntimePlugins(param) {
98
- var entrypoint = param.entrypoint, plugins = param.plugins;
99
- var entryName = entrypoint.entryName, fileSystemRoutes = entrypoint.fileSystemRoutes;
100
- var serverRoutes = api.useAppContext().serverRoutes;
101
- var userConfig = api.useResolvedConfigContext();
102
- var runtimeConfig = runtimeConfigMap.get(entryName);
103
- if (runtimeConfig.router && !isV5(userConfig)) {
104
- var serverBase = serverRoutes.filter(function(route) {
105
- return route.entryName === entryName;
106
- }).map(function(route) {
107
- return route.urlPath;
108
- }).sort(function(a, b) {
109
- return a.length - b.length > 0 ? -1 : 1;
110
- });
111
- plugins.push({
112
- name: PLUGIN_IDENTIFIER,
113
- options: JSON.stringify(_object_spread_props(_object_spread({
114
- serverBase
115
- }, runtimeConfig.router), {
116
- routesConfig: fileSystemRoutes ? "{ ".concat(ROUTES_IDENTIFIER, ", globalApp: App }") : void 0
117
- })).replace(/"routesConfig"\s*:\s*"((\S|\s)+)"/g, '"routesConfig": $1,')
91
+ generateEntryCode: function generateEntryCode(param) {
92
+ var entrypoints = param.entrypoints;
93
+ return _async_to_generator(function() {
94
+ return _ts_generator(this, function(_state) {
95
+ switch (_state.label) {
96
+ case 0:
97
+ return [
98
+ 4,
99
+ handleGeneratorEntryCode(api, entrypoints)
100
+ ];
101
+ case 1:
102
+ _state.sent();
103
+ return [
104
+ 2
105
+ ];
106
+ }
118
107
  });
119
- }
120
- return {
121
- entrypoint,
122
- plugins
123
- };
108
+ })();
124
109
  },
125
110
  addRuntimeExports: function addRuntimeExports() {
126
111
  var userConfig = api.useResolvedConfigContext();
112
+ var _api_useAppContext = api.useAppContext(), internalDirectory = _api_useAppContext.internalDirectory, metaName = _api_useAppContext.metaName;
113
+ var pluginsExportsUtils = createRuntimeExportsUtils(internalDirectory, "plugins");
127
114
  if (!isV5(userConfig)) {
128
- pluginsExportsUtils.addExport("export { default as router } from '@modern-js/runtime/router'");
115
+ pluginsExportsUtils.addExport("export { default as router } from '@".concat(metaName, "/runtime/router'"));
129
116
  }
130
117
  },
131
118
  fileChange: function fileChange(e) {
@@ -20,5 +20,6 @@ export {
20
20
  handleRouteModuleError,
21
21
  modifyRoutes,
22
22
  renderRoutes,
23
+ routerPlugin,
23
24
  useRouteLoaderData
24
25
  };