@modern-js/runtime 2.69.7 → 3.0.0-alpha.1

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 (677) hide show
  1. package/dist/cjs/cache/index.js +55 -19
  2. package/dist/cjs/cli/alias.js +63 -57
  3. package/dist/cjs/cli/code.js +155 -163
  4. package/dist/cjs/cli/constants.js +65 -49
  5. package/dist/cjs/cli/entry.js +50 -41
  6. package/dist/cjs/cli/index.js +143 -178
  7. package/dist/cjs/cli/ssr/index.js +164 -142
  8. package/dist/cjs/cli/ssr/loadable-bundler-plugin.js +94 -102
  9. package/dist/cjs/cli/ssr/mode.js +48 -0
  10. package/dist/cjs/cli/template.js +110 -123
  11. package/dist/cjs/cli/template.server.js +55 -47
  12. package/dist/cjs/common.js +41 -31
  13. package/dist/cjs/core/browser/hydrate.js +82 -84
  14. package/dist/cjs/core/browser/index.js +133 -147
  15. package/dist/cjs/core/browser/withCallback.js +43 -37
  16. package/dist/cjs/core/compat/hooks.js +65 -70
  17. package/dist/cjs/core/compat/index.js +42 -38
  18. package/dist/cjs/core/compat/requestContext.js +53 -43
  19. package/dist/cjs/core/config.js +33 -38
  20. package/dist/cjs/core/constants.js +45 -36
  21. package/dist/cjs/core/context/index.js +100 -82
  22. package/dist/cjs/core/context/monitors/default.js +39 -33
  23. package/dist/cjs/core/context/monitors/index.js +34 -28
  24. package/dist/cjs/core/context/monitors/index.server.js +37 -29
  25. package/dist/cjs/core/context/request/index.js +33 -27
  26. package/dist/cjs/core/context/request/index.server.js +36 -28
  27. package/dist/cjs/core/context/response/index.js +46 -39
  28. package/dist/cjs/core/context/response/index.server.js +64 -55
  29. package/dist/cjs/core/context/runtime.js +58 -38
  30. package/dist/cjs/core/context/serverPayload/index.js +37 -31
  31. package/dist/cjs/core/context/serverPayload/index.server.js +42 -35
  32. package/dist/cjs/core/index.js +40 -41
  33. package/dist/cjs/core/plugin/index.js +55 -46
  34. package/dist/cjs/core/plugin/types.js +17 -15
  35. package/dist/cjs/core/react/index.js +45 -37
  36. package/dist/cjs/core/react/wrapper.js +49 -39
  37. package/dist/cjs/core/server/constants.js +45 -34
  38. package/dist/cjs/core/server/helmet.js +64 -63
  39. package/dist/cjs/core/server/index.js +47 -37
  40. package/dist/cjs/core/server/react/index.js +37 -31
  41. package/dist/cjs/core/server/react/no-ssr-cache/index.js +40 -33
  42. package/dist/cjs/core/server/react/nossr/index.js +50 -43
  43. package/dist/cjs/core/server/requestHandler.js +193 -211
  44. package/dist/cjs/core/server/server.js +41 -31
  45. package/dist/cjs/core/server/shared.js +33 -25
  46. package/dist/cjs/core/server/stream/afterTemplate.js +92 -92
  47. package/dist/cjs/core/server/stream/beforeTemplate.js +98 -110
  48. package/dist/cjs/core/server/stream/createReadableStream.js +164 -149
  49. package/dist/cjs/core/server/stream/createReadableStream.worker.js +145 -160
  50. package/dist/cjs/core/server/stream/deferredScript.js +92 -84
  51. package/dist/cjs/core/server/stream/index.js +35 -37
  52. package/dist/cjs/core/server/stream/shared.js +107 -102
  53. package/dist/cjs/core/server/stream/template.js +43 -35
  54. package/dist/cjs/core/server/string/index.js +131 -132
  55. package/dist/cjs/core/server/string/loadable.js +131 -173
  56. package/dist/cjs/core/server/string/ssrData.js +129 -89
  57. package/dist/cjs/core/server/string/types.js +17 -15
  58. package/dist/cjs/core/server/tracer.js +49 -42
  59. package/dist/cjs/core/server/utils.js +70 -68
  60. package/dist/cjs/core/types.js +17 -15
  61. package/dist/cjs/document/Body.js +49 -41
  62. package/dist/cjs/document/Comment.js +44 -35
  63. package/dist/cjs/document/DocumentContext.js +47 -39
  64. package/dist/cjs/document/DocumentStructureContext.js +50 -42
  65. package/dist/cjs/document/Head.js +59 -50
  66. package/dist/cjs/document/Html.js +96 -95
  67. package/dist/cjs/document/Links.js +38 -29
  68. package/dist/cjs/document/Root.js +59 -53
  69. package/dist/cjs/document/Script.js +50 -42
  70. package/dist/cjs/document/Scripts.js +38 -29
  71. package/dist/cjs/document/Style.js +45 -36
  72. package/dist/cjs/document/Title.js +37 -29
  73. package/dist/cjs/document/cli/index.js +361 -210
  74. package/dist/cjs/document/constants.js +125 -95
  75. package/dist/cjs/document/index.js +132 -41
  76. package/dist/cjs/exports/config-routes.js +38 -0
  77. package/dist/cjs/exports/head.js +63 -38
  78. package/dist/cjs/exports/loadable.js +63 -38
  79. package/dist/cjs/index.js +61 -53
  80. package/dist/cjs/internal.js +36 -0
  81. package/dist/cjs/react-server.js +47 -35
  82. package/dist/cjs/router/cli/code/getClientRoutes/getRoutes.js +147 -185
  83. package/dist/cjs/router/cli/code/getClientRoutes/index.js +33 -28
  84. package/dist/cjs/router/cli/code/getClientRoutes/utils.js +57 -54
  85. package/dist/cjs/router/cli/code/index.js +173 -150
  86. package/dist/cjs/router/cli/code/inspect.js +139 -0
  87. package/dist/cjs/router/cli/code/makeLegalIdentifier.js +38 -32
  88. package/dist/cjs/router/cli/code/nestedRoutes.js +225 -286
  89. package/dist/cjs/router/cli/code/templates.js +334 -405
  90. package/dist/cjs/router/cli/code/utils.js +131 -132
  91. package/dist/cjs/router/cli/config-routes/converter.js +129 -0
  92. package/dist/cjs/router/cli/config-routes/parseRouteConfig.js +155 -0
  93. package/dist/cjs/router/cli/constants.js +92 -82
  94. package/dist/cjs/router/cli/entry.js +67 -86
  95. package/dist/cjs/router/cli/handler.js +109 -96
  96. package/dist/cjs/router/cli/index.js +131 -142
  97. package/dist/cjs/router/index.js +55 -19
  98. package/dist/cjs/router/internal.js +61 -27
  99. package/dist/cjs/router/runtime/DefaultNotFound.js +44 -35
  100. package/dist/cjs/router/runtime/DeferredDataScripts.js +34 -24
  101. package/dist/cjs/router/runtime/DeferredDataScripts.node.js +148 -146
  102. package/dist/cjs/router/runtime/PrefetchLink.js +190 -210
  103. package/dist/cjs/router/runtime/constants.js +61 -46
  104. package/dist/cjs/router/runtime/hooks.js +38 -29
  105. package/dist/cjs/router/runtime/index.js +92 -46
  106. package/dist/cjs/router/runtime/internal.js +44 -33
  107. package/dist/cjs/router/runtime/plugin.js +206 -225
  108. package/dist/cjs/router/runtime/plugin.node.js +177 -203
  109. package/dist/cjs/router/runtime/routerHelper.js +55 -0
  110. package/dist/cjs/router/runtime/rsc-router.js +272 -305
  111. package/dist/cjs/router/runtime/rsc.js +58 -0
  112. package/dist/cjs/router/runtime/server.js +55 -19
  113. package/dist/cjs/router/runtime/types.js +17 -15
  114. package/dist/cjs/router/runtime/utils.js +202 -228
  115. package/dist/cjs/router/runtime/withRouter.js +45 -39
  116. package/dist/cjs/rsc/client.js +65 -30
  117. package/dist/cjs/rsc/server.js +55 -19
  118. package/dist/esm/cli/alias.mjs +24 -0
  119. package/dist/esm/cli/code.mjs +119 -0
  120. package/dist/esm/cli/constants.mjs +10 -0
  121. package/dist/esm/cli/entry.mjs +6 -0
  122. package/dist/esm/cli/index.mjs +89 -0
  123. package/dist/esm/cli/ssr/index.mjs +125 -0
  124. package/dist/esm/cli/ssr/loadable-bundler-plugin.mjs +75 -0
  125. package/dist/esm/cli/ssr/mode.mjs +14 -0
  126. package/dist/{esm-node/cli/template.js → esm/cli/template.mjs} +45 -82
  127. package/dist/esm/cli/template.server.mjs +147 -0
  128. package/dist/esm/common.mjs +4 -0
  129. package/dist/esm/core/browser/hydrate.mjs +53 -0
  130. package/dist/esm/core/browser/index.mjs +96 -0
  131. package/dist/esm/core/browser/withCallback.mjs +13 -0
  132. package/dist/esm/core/compat/hooks.mjs +35 -0
  133. package/dist/esm/core/compat/index.mjs +12 -0
  134. package/dist/esm/core/compat/requestContext.mjs +21 -0
  135. package/dist/esm/core/config.mjs +2 -0
  136. package/dist/esm/core/constants.mjs +8 -0
  137. package/dist/esm/core/context/index.mjs +45 -0
  138. package/dist/esm/core/context/monitors/default.mjs +10 -0
  139. package/dist/esm/core/context/monitors/index.mjs +3 -0
  140. package/dist/esm/core/context/monitors/index.server.mjs +7 -0
  141. package/dist/esm/core/context/request/index.mjs +2 -0
  142. package/dist/esm/core/context/request/index.server.mjs +6 -0
  143. package/dist/esm/core/context/response/index.mjs +7 -0
  144. package/dist/esm/core/context/response/index.server.mjs +28 -0
  145. package/dist/esm/core/context/runtime.mjs +15 -0
  146. package/dist/esm/core/context/serverPayload/index.mjs +3 -0
  147. package/dist/esm/core/context/serverPayload/index.server.mjs +10 -0
  148. package/dist/esm/core/index.mjs +3 -0
  149. package/dist/esm/core/plugin/index.mjs +25 -0
  150. package/dist/esm/core/react/index.mjs +16 -0
  151. package/dist/esm/core/react/wrapper.mjs +20 -0
  152. package/dist/esm/core/server/constants.mjs +5 -0
  153. package/dist/esm/core/server/helmet.mjs +38 -0
  154. package/dist/esm/core/server/index.mjs +7 -0
  155. package/dist/esm/core/server/react/index.mjs +3 -0
  156. package/dist/esm/core/server/react/no-ssr-cache/index.mjs +9 -0
  157. package/dist/esm/core/server/react/nossr/index.mjs +10 -0
  158. package/dist/esm/core/server/requestHandler.mjs +161 -0
  159. package/dist/{esm-node/core/server/server.js → esm/core/server/server.mjs} +1 -5
  160. package/dist/esm/core/server/shared.mjs +4 -0
  161. package/dist/esm/core/server/stream/afterTemplate.mjs +66 -0
  162. package/dist/esm/core/server/stream/beforeTemplate.mjs +63 -0
  163. package/dist/esm/core/server/stream/createReadableStream.mjs +128 -0
  164. package/dist/esm/core/server/stream/createReadableStream.worker.mjs +109 -0
  165. package/dist/esm/core/server/stream/deferredScript.mjs +62 -0
  166. package/dist/esm/core/server/stream/index.mjs +4 -0
  167. package/dist/esm/core/server/stream/shared.mjs +75 -0
  168. package/dist/esm/core/server/stream/template.mjs +13 -0
  169. package/dist/esm/core/server/string/index.mjs +101 -0
  170. package/dist/esm/core/server/string/loadable.mjs +112 -0
  171. package/dist/esm/core/server/string/ssrData.mjs +104 -0
  172. package/dist/esm/core/server/tracer.mjs +15 -0
  173. package/dist/esm/core/server/utils.mjs +39 -0
  174. package/dist/esm/document/Body.mjs +20 -0
  175. package/dist/esm/document/Comment.mjs +15 -0
  176. package/dist/esm/document/DocumentContext.mjs +7 -0
  177. package/dist/esm/document/DocumentStructureContext.mjs +10 -0
  178. package/dist/esm/document/Head.mjs +29 -0
  179. package/dist/esm/document/Html.mjs +74 -0
  180. package/dist/esm/document/Links.mjs +9 -0
  181. package/dist/esm/document/Root.mjs +29 -0
  182. package/dist/esm/document/Script.mjs +21 -0
  183. package/dist/esm/document/Scripts.mjs +9 -0
  184. package/dist/esm/document/Style.mjs +16 -0
  185. package/dist/esm/document/Title.mjs +8 -0
  186. package/dist/esm/document/cli/index.mjs +323 -0
  187. package/dist/esm/document/constants.mjs +34 -0
  188. package/dist/esm/exports/config-routes.mjs +4 -0
  189. package/dist/esm/exports/head.mjs +4 -0
  190. package/dist/esm/exports/loadable.mjs +4 -0
  191. package/dist/esm/index.mjs +6 -0
  192. package/dist/esm/internal.mjs +2 -0
  193. package/dist/esm/react-server.mjs +4 -0
  194. package/dist/esm/router/cli/code/getClientRoutes/getRoutes.mjs +115 -0
  195. package/dist/esm/router/cli/code/getClientRoutes/index.mjs +2 -0
  196. package/dist/esm/router/cli/code/getClientRoutes/utils.mjs +12 -0
  197. package/dist/esm/router/cli/code/index.mjs +132 -0
  198. package/dist/esm/router/cli/code/inspect.mjs +95 -0
  199. package/dist/esm/router/cli/code/makeLegalIdentifier.mjs +9 -0
  200. package/dist/esm/router/cli/code/nestedRoutes.mjs +193 -0
  201. package/dist/esm/router/cli/code/templates.mjs +365 -0
  202. package/dist/esm/router/cli/code/utils.mjs +73 -0
  203. package/dist/esm/router/cli/config-routes/converter.mjs +82 -0
  204. package/dist/esm/router/cli/config-routes/parseRouteConfig.mjs +105 -0
  205. package/dist/esm/router/cli/constants.mjs +32 -0
  206. package/dist/esm/router/cli/entry.mjs +22 -0
  207. package/dist/esm/router/cli/handler.mjs +66 -0
  208. package/dist/esm/router/cli/index.mjs +80 -0
  209. package/dist/{esm-node/router/internal.js → esm/router/internal.mjs} +2 -4
  210. package/dist/esm/router/runtime/DefaultNotFound.mjs +13 -0
  211. package/dist/esm/router/runtime/DeferredDataScripts.mjs +2 -0
  212. package/dist/esm/router/runtime/DeferredDataScripts.node.mjs +120 -0
  213. package/dist/esm/router/runtime/PrefetchLink.mjs +161 -0
  214. package/dist/{esm-node/router/runtime/constants.js → esm/router/runtime/constants.mjs} +7 -16
  215. package/dist/esm/router/runtime/hooks.mjs +4 -0
  216. package/dist/esm/router/runtime/index.mjs +9 -0
  217. package/dist/esm/router/runtime/internal.mjs +4 -0
  218. package/dist/esm/router/runtime/plugin.mjs +181 -0
  219. package/dist/esm/router/runtime/plugin.node.mjs +136 -0
  220. package/dist/esm/router/runtime/routerHelper.mjs +15 -0
  221. package/dist/esm/router/runtime/rsc-router.mjs +233 -0
  222. package/dist/esm/router/runtime/rsc.mjs +1 -0
  223. package/dist/esm/router/runtime/server.mjs +1 -0
  224. package/dist/esm/router/runtime/utils.mjs +165 -0
  225. package/dist/esm/router/runtime/withRouter.mjs +14 -0
  226. package/dist/esm/rsc/client.mjs +3 -0
  227. package/dist/esm-node/cli/alias.mjs +24 -0
  228. package/dist/esm-node/cli/code.mjs +119 -0
  229. package/dist/esm-node/cli/constants.mjs +10 -0
  230. package/dist/esm-node/cli/entry.mjs +6 -0
  231. package/dist/esm-node/cli/index.mjs +89 -0
  232. package/dist/esm-node/cli/ssr/index.mjs +125 -0
  233. package/dist/esm-node/cli/ssr/loadable-bundler-plugin.mjs +75 -0
  234. package/dist/esm-node/cli/ssr/mode.mjs +14 -0
  235. package/dist/esm-node/cli/template.mjs +168 -0
  236. package/dist/esm-node/cli/{template.server.js → template.server.mjs} +20 -24
  237. package/dist/esm-node/common.mjs +4 -0
  238. package/dist/esm-node/core/browser/hydrate.mjs +53 -0
  239. package/dist/esm-node/core/browser/index.mjs +96 -0
  240. package/dist/esm-node/core/browser/withCallback.mjs +13 -0
  241. package/dist/esm-node/core/compat/hooks.mjs +35 -0
  242. package/dist/esm-node/core/compat/index.mjs +12 -0
  243. package/dist/esm-node/core/compat/requestContext.mjs +21 -0
  244. package/dist/esm-node/core/config.mjs +2 -0
  245. package/dist/esm-node/core/constants.mjs +8 -0
  246. package/dist/esm-node/core/context/index.mjs +45 -0
  247. package/dist/esm-node/core/context/monitors/default.mjs +10 -0
  248. package/dist/esm-node/core/context/monitors/index.mjs +3 -0
  249. package/dist/esm-node/core/context/monitors/index.server.mjs +7 -0
  250. package/dist/esm-node/core/context/request/index.mjs +2 -0
  251. package/dist/esm-node/core/context/request/index.server.mjs +6 -0
  252. package/dist/esm-node/core/context/response/index.mjs +7 -0
  253. package/dist/esm-node/core/context/response/index.server.mjs +28 -0
  254. package/dist/esm-node/core/context/runtime.mjs +15 -0
  255. package/dist/esm-node/core/context/serverPayload/index.mjs +3 -0
  256. package/dist/esm-node/core/context/serverPayload/index.server.mjs +10 -0
  257. package/dist/esm-node/core/index.mjs +3 -0
  258. package/dist/esm-node/core/plugin/index.mjs +25 -0
  259. package/dist/esm-node/core/react/index.mjs +16 -0
  260. package/dist/esm-node/core/react/wrapper.mjs +20 -0
  261. package/dist/esm-node/core/server/constants.mjs +5 -0
  262. package/dist/esm-node/core/server/helmet.mjs +38 -0
  263. package/dist/esm-node/core/server/index.mjs +7 -0
  264. package/dist/esm-node/core/server/react/index.mjs +3 -0
  265. package/dist/esm-node/core/server/react/no-ssr-cache/index.mjs +9 -0
  266. package/dist/esm-node/core/server/react/nossr/index.mjs +10 -0
  267. package/dist/esm-node/core/server/requestHandler.mjs +161 -0
  268. package/dist/esm-node/core/server/server.mjs +4 -0
  269. package/dist/esm-node/core/server/shared.mjs +4 -0
  270. package/dist/esm-node/core/server/stream/afterTemplate.mjs +66 -0
  271. package/dist/esm-node/core/server/stream/beforeTemplate.mjs +63 -0
  272. package/dist/esm-node/core/server/stream/createReadableStream.mjs +128 -0
  273. package/dist/esm-node/core/server/stream/createReadableStream.worker.mjs +109 -0
  274. package/dist/esm-node/core/server/stream/deferredScript.mjs +62 -0
  275. package/dist/esm-node/core/server/stream/index.mjs +4 -0
  276. package/dist/esm-node/core/server/stream/shared.mjs +75 -0
  277. package/dist/esm-node/core/server/stream/template.mjs +13 -0
  278. package/dist/esm-node/core/server/string/index.mjs +101 -0
  279. package/dist/esm-node/core/server/string/loadable.mjs +112 -0
  280. package/dist/esm-node/core/server/string/ssrData.mjs +104 -0
  281. package/dist/esm-node/core/server/tracer.mjs +15 -0
  282. package/dist/esm-node/core/server/utils.mjs +39 -0
  283. package/dist/esm-node/document/Body.mjs +20 -0
  284. package/dist/esm-node/document/Comment.mjs +15 -0
  285. package/dist/esm-node/document/DocumentContext.mjs +7 -0
  286. package/dist/esm-node/document/DocumentStructureContext.mjs +10 -0
  287. package/dist/esm-node/document/Head.mjs +29 -0
  288. package/dist/esm-node/document/Html.mjs +74 -0
  289. package/dist/esm-node/document/Links.mjs +9 -0
  290. package/dist/esm-node/document/Root.mjs +29 -0
  291. package/dist/esm-node/document/Script.mjs +21 -0
  292. package/dist/esm-node/document/Scripts.mjs +9 -0
  293. package/dist/esm-node/document/Style.mjs +16 -0
  294. package/dist/esm-node/document/Title.mjs +8 -0
  295. package/dist/esm-node/document/cli/index.mjs +323 -0
  296. package/dist/esm-node/document/constants.mjs +34 -0
  297. package/dist/esm-node/document/index.mjs +12 -0
  298. package/dist/esm-node/exports/config-routes.mjs +4 -0
  299. package/dist/esm-node/exports/head.mjs +4 -0
  300. package/dist/esm-node/exports/loadable.mjs +4 -0
  301. package/dist/esm-node/index.mjs +6 -0
  302. package/dist/esm-node/internal.mjs +2 -0
  303. package/dist/esm-node/react-server.mjs +4 -0
  304. package/dist/esm-node/router/cli/code/getClientRoutes/getRoutes.mjs +115 -0
  305. package/dist/esm-node/router/cli/code/getClientRoutes/index.mjs +2 -0
  306. package/dist/esm-node/router/cli/code/getClientRoutes/utils.mjs +12 -0
  307. package/dist/esm-node/router/cli/code/index.mjs +132 -0
  308. package/dist/esm-node/router/cli/code/inspect.mjs +95 -0
  309. package/dist/esm-node/router/cli/code/{makeLegalIdentifier.js → makeLegalIdentifier.mjs} +7 -11
  310. package/dist/esm-node/router/cli/code/nestedRoutes.mjs +193 -0
  311. package/dist/esm-node/router/cli/code/templates.mjs +365 -0
  312. package/dist/esm-node/router/cli/code/utils.mjs +73 -0
  313. package/dist/esm-node/router/cli/config-routes/converter.mjs +82 -0
  314. package/dist/esm-node/router/cli/config-routes/parseRouteConfig.mjs +105 -0
  315. package/dist/esm-node/router/cli/constants.mjs +32 -0
  316. package/dist/esm-node/router/cli/entry.mjs +22 -0
  317. package/dist/esm-node/router/cli/handler.mjs +66 -0
  318. package/dist/esm-node/router/cli/index.mjs +80 -0
  319. package/dist/esm-node/router/index.mjs +1 -0
  320. package/dist/esm-node/router/internal.mjs +3 -0
  321. package/dist/esm-node/router/runtime/DefaultNotFound.mjs +13 -0
  322. package/dist/esm-node/router/runtime/DeferredDataScripts.mjs +2 -0
  323. package/dist/esm-node/router/runtime/DeferredDataScripts.node.mjs +120 -0
  324. package/dist/esm-node/router/runtime/PrefetchLink.mjs +161 -0
  325. package/dist/esm-node/router/runtime/constants.mjs +10 -0
  326. package/dist/esm-node/router/runtime/hooks.mjs +4 -0
  327. package/dist/esm-node/router/runtime/index.mjs +9 -0
  328. package/dist/esm-node/router/runtime/internal.mjs +4 -0
  329. package/dist/esm-node/router/runtime/plugin.mjs +181 -0
  330. package/dist/esm-node/router/runtime/plugin.node.mjs +136 -0
  331. package/dist/esm-node/router/runtime/routerHelper.mjs +15 -0
  332. package/dist/esm-node/router/runtime/rsc-router.mjs +233 -0
  333. package/dist/esm-node/router/runtime/rsc.mjs +1 -0
  334. package/dist/esm-node/router/runtime/server.mjs +1 -0
  335. package/dist/esm-node/router/runtime/utils.mjs +165 -0
  336. package/dist/esm-node/router/runtime/withRouter.mjs +14 -0
  337. package/dist/esm-node/rsc/client.mjs +3 -0
  338. package/dist/types/cli/code.d.ts +1 -1
  339. package/dist/types/cli/index.d.ts +3 -3
  340. package/dist/types/cli/ssr/index.d.ts +2 -2
  341. package/dist/types/cli/ssr/mode.d.ts +15 -0
  342. package/dist/types/cli/template.d.ts +3 -3
  343. package/dist/types/common.d.ts +2 -7
  344. package/dist/types/core/browser/hydrate.d.ts +2 -2
  345. package/dist/types/core/browser/index.d.ts +3 -1
  346. package/dist/types/core/compat/hooks.d.ts +2 -2
  347. package/dist/types/core/compat/index.d.ts +2 -2
  348. package/dist/types/core/compat/requestContext.d.ts +5 -24
  349. package/dist/types/core/config.d.ts +1 -8
  350. package/dist/types/core/constants.d.ts +0 -1
  351. package/dist/types/core/context/index.d.ts +9 -13
  352. package/dist/types/core/context/monitors/index.d.ts +1 -1
  353. package/dist/types/core/context/runtime.d.ts +26 -29
  354. package/dist/types/core/context/serverPayload/index.server.d.ts +1 -1
  355. package/dist/types/core/index.d.ts +4 -7
  356. package/dist/types/core/plugin/index.d.ts +13 -13
  357. package/dist/types/core/plugin/types.d.ts +9 -10
  358. package/dist/types/core/react/wrapper.d.ts +3 -3
  359. package/dist/types/core/server/index.d.ts +3 -3
  360. package/dist/types/core/server/react/index.d.ts +0 -1
  361. package/dist/types/core/server/requestHandler.d.ts +3 -3
  362. package/dist/types/core/server/stream/afterTemplate.d.ts +2 -2
  363. package/dist/types/core/server/stream/beforeTemplate.d.ts +2 -2
  364. package/dist/types/core/server/stream/shared.d.ts +2 -2
  365. package/dist/types/core/server/string/loadable.d.ts +2 -2
  366. package/dist/types/core/server/string/ssrData.d.ts +3 -2
  367. package/dist/types/core/server/tracer.d.ts +1 -3
  368. package/dist/types/core/server/utils.d.ts +2 -3
  369. package/dist/types/core/types.d.ts +4 -16
  370. package/dist/types/document/DocumentContext.d.ts +1 -1
  371. package/dist/types/document/cli/index.d.ts +3 -3
  372. package/dist/types/document/constants.d.ts +3 -1
  373. package/dist/types/exports/config-routes.d.ts +9 -0
  374. package/dist/types/index.d.ts +4 -5
  375. package/dist/types/internal.d.ts +2 -0
  376. package/dist/types/router/cli/code/getClientRoutes/index.d.ts +0 -1
  377. package/dist/types/router/cli/code/getClientRoutes/utils.d.ts +0 -1
  378. package/dist/types/router/cli/code/index.d.ts +7 -3
  379. package/dist/types/router/cli/code/inspect.d.ts +22 -0
  380. package/dist/types/router/cli/code/nestedRoutes.d.ts +10 -4
  381. package/dist/types/router/cli/code/templates.d.ts +3 -2
  382. package/dist/types/router/cli/config-routes/converter.d.ts +15 -0
  383. package/dist/types/router/cli/config-routes/parseRouteConfig.d.ts +32 -0
  384. package/dist/types/router/cli/constants.d.ts +0 -3
  385. package/dist/types/router/cli/entry.d.ts +1 -2
  386. package/dist/types/router/cli/handler.d.ts +4 -4
  387. package/dist/types/router/cli/index.d.ts +2 -4
  388. package/dist/types/router/runtime/DeferredDataScripts.node.d.ts +1 -1
  389. package/dist/types/router/runtime/hooks.d.ts +3 -3
  390. package/dist/types/router/runtime/index.d.ts +0 -1
  391. package/dist/types/router/runtime/plugin.d.ts +2 -2
  392. package/dist/types/router/runtime/plugin.node.d.ts +2 -2
  393. package/dist/types/router/runtime/{routeModule.d.ts → routerHelper.d.ts} +1 -1
  394. package/dist/types/router/runtime/rsc-router.d.ts +2 -2
  395. package/dist/types/router/runtime/rsc.d.ts +1 -0
  396. package/dist/types/router/runtime/server.d.ts +1 -1
  397. package/dist/types/router/runtime/types.d.ts +0 -1
  398. package/dist/types/router/runtime/utils.d.ts +5 -4
  399. package/package.json +90 -80
  400. package/rslib.config.mts +19 -0
  401. package/dist/cjs/cli/ssr/babel-plugin-ssr-loader-id.js +0 -133
  402. package/dist/cjs/config.js +0 -16
  403. package/dist/cjs/core/compatible.js +0 -192
  404. package/dist/cjs/core/loader/index.js +0 -38
  405. package/dist/cjs/core/loader/loaderManager.js +0 -186
  406. package/dist/cjs/core/loader/useLoader.js +0 -114
  407. package/dist/cjs/core/plugin/base.js +0 -16
  408. package/dist/cjs/core/server/react/prerender/index.js +0 -124
  409. package/dist/cjs/core/server/react/prerender/type.js +0 -16
  410. package/dist/cjs/core/server/react/prerender/util.js +0 -121
  411. package/dist/cjs/core/server/string/prefetch.js +0 -93
  412. package/dist/cjs/core/server/string/styledComponent.js +0 -53
  413. package/dist/cjs/exports/server.js +0 -28
  414. package/dist/cjs/exports/styled.js +0 -41
  415. package/dist/cjs/router/cli/code/getClientRoutes/getRoutesLegacy.js +0 -195
  416. package/dist/cjs/router/runtime/routeModule.js +0 -52
  417. package/dist/esm/cli/alias.js +0 -30
  418. package/dist/esm/cli/code.js +0 -265
  419. package/dist/esm/cli/constants.js +0 -20
  420. package/dist/esm/cli/entry.js +0 -15
  421. package/dist/esm/cli/index.js +0 -170
  422. package/dist/esm/cli/ssr/babel-plugin-ssr-loader-id.js +0 -118
  423. package/dist/esm/cli/ssr/index.js +0 -143
  424. package/dist/esm/cli/ssr/loadable-bundler-plugin.js +0 -102
  425. package/dist/esm/cli/template.js +0 -98
  426. package/dist/esm/cli/template.server.js +0 -34
  427. package/dist/esm/common.js +0 -10
  428. package/dist/esm/core/browser/hydrate.js +0 -75
  429. package/dist/esm/core/browser/index.js +0 -279
  430. package/dist/esm/core/browser/withCallback.js +0 -18
  431. package/dist/esm/core/compat/hooks.js +0 -88
  432. package/dist/esm/core/compat/index.js +0 -20
  433. package/dist/esm/core/compat/requestContext.js +0 -25
  434. package/dist/esm/core/compatible.js +0 -215
  435. package/dist/esm/core/config.js +0 -19
  436. package/dist/esm/core/constants.js +0 -13
  437. package/dist/esm/core/context/index.js +0 -67
  438. package/dist/esm/core/context/monitors/default.js +0 -20
  439. package/dist/esm/core/context/monitors/index.js +0 -7
  440. package/dist/esm/core/context/monitors/index.server.js +0 -9
  441. package/dist/esm/core/context/request/index.js +0 -6
  442. package/dist/esm/core/context/request/index.server.js +0 -8
  443. package/dist/esm/core/context/response/index.js +0 -16
  444. package/dist/esm/core/context/response/index.server.js +0 -41
  445. package/dist/esm/core/context/runtime.js +0 -18
  446. package/dist/esm/core/context/serverPayload/index.js +0 -9
  447. package/dist/esm/core/context/serverPayload/index.server.js +0 -15
  448. package/dist/esm/core/index.js +0 -12
  449. package/dist/esm/core/loader/index.js +0 -4
  450. package/dist/esm/core/loader/loaderManager.js +0 -234
  451. package/dist/esm/core/loader/useLoader.js +0 -89
  452. package/dist/esm/core/plugin/base.js +0 -0
  453. package/dist/esm/core/plugin/index.js +0 -33
  454. package/dist/esm/core/plugin/types.js +0 -0
  455. package/dist/esm/core/react/index.js +0 -18
  456. package/dist/esm/core/react/wrapper.js +0 -10
  457. package/dist/esm/core/server/constants.js +0 -10
  458. package/dist/esm/core/server/helmet.js +0 -53
  459. package/dist/esm/core/server/index.js +0 -17
  460. package/dist/esm/core/server/react/index.js +0 -8
  461. package/dist/esm/core/server/react/no-ssr-cache/index.js +0 -12
  462. package/dist/esm/core/server/react/nossr/index.js +0 -14
  463. package/dist/esm/core/server/react/prerender/index.js +0 -105
  464. package/dist/esm/core/server/react/prerender/type.js +0 -0
  465. package/dist/esm/core/server/react/prerender/util.js +0 -114
  466. package/dist/esm/core/server/requestHandler.js +0 -330
  467. package/dist/esm/core/server/server.js +0 -8
  468. package/dist/esm/core/server/shared.js +0 -10
  469. package/dist/esm/core/server/stream/afterTemplate.js +0 -107
  470. package/dist/esm/core/server/stream/beforeTemplate.js +0 -188
  471. package/dist/esm/core/server/stream/createReadableStream.js +0 -165
  472. package/dist/esm/core/server/stream/createReadableStream.worker.js +0 -239
  473. package/dist/esm/core/server/stream/deferredScript.js +0 -85
  474. package/dist/esm/core/server/stream/index.js +0 -10
  475. package/dist/esm/core/server/stream/shared.js +0 -113
  476. package/dist/esm/core/server/stream/template.js +0 -42
  477. package/dist/esm/core/server/string/index.js +0 -189
  478. package/dist/esm/core/server/string/loadable.js +0 -336
  479. package/dist/esm/core/server/string/prefetch.js +0 -105
  480. package/dist/esm/core/server/string/ssrData.js +0 -82
  481. package/dist/esm/core/server/string/styledComponent.js +0 -34
  482. package/dist/esm/core/server/string/types.js +0 -0
  483. package/dist/esm/core/server/tracer.js +0 -20
  484. package/dist/esm/core/server/utils.js +0 -80
  485. package/dist/esm/core/types.js +0 -0
  486. package/dist/esm/document/Body.js +0 -26
  487. package/dist/esm/document/Comment.js +0 -16
  488. package/dist/esm/document/DocumentContext.js +0 -9
  489. package/dist/esm/document/DocumentStructureContext.js +0 -12
  490. package/dist/esm/document/Head.js +0 -36
  491. package/dist/esm/document/Html.js +0 -108
  492. package/dist/esm/document/Links.js +0 -10
  493. package/dist/esm/document/Root.js +0 -41
  494. package/dist/esm/document/Script.js +0 -25
  495. package/dist/esm/document/Scripts.js +0 -10
  496. package/dist/esm/document/Style.js +0 -17
  497. package/dist/esm/document/Title.js +0 -10
  498. package/dist/esm/document/cli/index.js +0 -282
  499. package/dist/esm/document/constants.js +0 -56
  500. package/dist/esm/document/index.js +0 -12
  501. package/dist/esm/exports/head.js +0 -6
  502. package/dist/esm/exports/loadable.js +0 -6
  503. package/dist/esm/exports/server.js +0 -6
  504. package/dist/esm/exports/styled.js +0 -6
  505. package/dist/esm/index.js +0 -20
  506. package/dist/esm/react-server.js +0 -10
  507. package/dist/esm/router/cli/code/getClientRoutes/getRoutes.js +0 -185
  508. package/dist/esm/router/cli/code/getClientRoutes/getRoutesLegacy.js +0 -183
  509. package/dist/esm/router/cli/code/getClientRoutes/index.js +0 -6
  510. package/dist/esm/router/cli/code/getClientRoutes/utils.js +0 -28
  511. package/dist/esm/router/cli/code/index.js +0 -255
  512. package/dist/esm/router/cli/code/makeLegalIdentifier.js +0 -15
  513. package/dist/esm/router/cli/code/nestedRoutes.js +0 -397
  514. package/dist/esm/router/cli/code/templates.js +0 -554
  515. package/dist/esm/router/cli/code/utils.js +0 -212
  516. package/dist/esm/router/cli/constants.js +0 -51
  517. package/dist/esm/router/cli/entry.js +0 -61
  518. package/dist/esm/router/cli/handler.js +0 -191
  519. package/dist/esm/router/cli/index.js +0 -202
  520. package/dist/esm/router/index.js +0 -1
  521. package/dist/esm/router/internal.js +0 -5
  522. package/dist/esm/router/runtime/DefaultNotFound.js +0 -16
  523. package/dist/esm/router/runtime/DeferredDataScripts.js +0 -7
  524. package/dist/esm/router/runtime/DeferredDataScripts.node.js +0 -138
  525. package/dist/esm/router/runtime/PrefetchLink.js +0 -247
  526. package/dist/esm/router/runtime/constants.js +0 -19
  527. package/dist/esm/router/runtime/hooks.js +0 -7
  528. package/dist/esm/router/runtime/index.js +0 -17
  529. package/dist/esm/router/runtime/internal.js +0 -10
  530. package/dist/esm/router/runtime/plugin.js +0 -216
  531. package/dist/esm/router/runtime/plugin.node.js +0 -235
  532. package/dist/esm/router/runtime/routeModule.js +0 -26
  533. package/dist/esm/router/runtime/rsc-router.js +0 -437
  534. package/dist/esm/router/runtime/server.js +0 -1
  535. package/dist/esm/router/runtime/types.js +0 -0
  536. package/dist/esm/router/runtime/utils.js +0 -296
  537. package/dist/esm/router/runtime/withRouter.js +0 -19
  538. package/dist/esm/rsc/client.js +0 -7
  539. package/dist/esm-node/cli/alias.js +0 -28
  540. package/dist/esm-node/cli/code.js +0 -137
  541. package/dist/esm-node/cli/constants.js +0 -20
  542. package/dist/esm-node/cli/entry.js +0 -9
  543. package/dist/esm-node/cli/index.js +0 -145
  544. package/dist/esm-node/cli/ssr/babel-plugin-ssr-loader-id.js +0 -119
  545. package/dist/esm-node/cli/ssr/index.js +0 -116
  546. package/dist/esm-node/cli/ssr/loadable-bundler-plugin.js +0 -97
  547. package/dist/esm-node/common.js +0 -8
  548. package/dist/esm-node/core/browser/hydrate.js +0 -68
  549. package/dist/esm-node/core/browser/index.js +0 -128
  550. package/dist/esm-node/core/browser/withCallback.js +0 -17
  551. package/dist/esm-node/core/compat/hooks.js +0 -54
  552. package/dist/esm-node/core/compat/index.js +0 -18
  553. package/dist/esm-node/core/compat/requestContext.js +0 -23
  554. package/dist/esm-node/core/compatible.js +0 -156
  555. package/dist/esm-node/core/config.js +0 -15
  556. package/dist/esm-node/core/constants.js +0 -13
  557. package/dist/esm-node/core/context/index.js +0 -67
  558. package/dist/esm-node/core/context/monitors/default.js +0 -14
  559. package/dist/esm-node/core/context/monitors/index.js +0 -7
  560. package/dist/esm-node/core/context/monitors/index.server.js +0 -9
  561. package/dist/esm-node/core/context/request/index.js +0 -6
  562. package/dist/esm-node/core/context/request/index.server.js +0 -8
  563. package/dist/esm-node/core/context/response/index.js +0 -16
  564. package/dist/esm-node/core/context/response/index.server.js +0 -35
  565. package/dist/esm-node/core/context/runtime.js +0 -15
  566. package/dist/esm-node/core/context/serverPayload/index.js +0 -9
  567. package/dist/esm-node/core/context/serverPayload/index.server.js +0 -15
  568. package/dist/esm-node/core/index.js +0 -12
  569. package/dist/esm-node/core/loader/index.js +0 -4
  570. package/dist/esm-node/core/loader/loaderManager.js +0 -151
  571. package/dist/esm-node/core/loader/useLoader.js +0 -84
  572. package/dist/esm-node/core/plugin/index.js +0 -28
  573. package/dist/esm-node/core/react/index.js +0 -18
  574. package/dist/esm-node/core/react/wrapper.js +0 -10
  575. package/dist/esm-node/core/server/constants.js +0 -10
  576. package/dist/esm-node/core/server/helmet.js +0 -49
  577. package/dist/esm-node/core/server/index.js +0 -13
  578. package/dist/esm-node/core/server/react/index.js +0 -8
  579. package/dist/esm-node/core/server/react/no-ssr-cache/index.js +0 -12
  580. package/dist/esm-node/core/server/react/nossr/index.js +0 -13
  581. package/dist/esm-node/core/server/react/prerender/index.js +0 -90
  582. package/dist/esm-node/core/server/react/prerender/util.js +0 -93
  583. package/dist/esm-node/core/server/requestHandler.js +0 -199
  584. package/dist/esm-node/core/server/shared.js +0 -6
  585. package/dist/esm-node/core/server/stream/afterTemplate.js +0 -76
  586. package/dist/esm-node/core/server/stream/beforeTemplate.js +0 -85
  587. package/dist/esm-node/core/server/stream/createReadableStream.js +0 -123
  588. package/dist/esm-node/core/server/stream/createReadableStream.worker.js +0 -134
  589. package/dist/esm-node/core/server/stream/deferredScript.js +0 -76
  590. package/dist/esm-node/core/server/stream/index.js +0 -6
  591. package/dist/esm-node/core/server/stream/shared.js +0 -86
  592. package/dist/esm-node/core/server/stream/template.js +0 -15
  593. package/dist/esm-node/core/server/string/index.js +0 -113
  594. package/dist/esm-node/core/server/string/loadable.js +0 -154
  595. package/dist/esm-node/core/server/string/prefetch.js +0 -69
  596. package/dist/esm-node/core/server/string/ssrData.js +0 -74
  597. package/dist/esm-node/core/server/string/styledComponent.js +0 -29
  598. package/dist/esm-node/core/server/tracer.js +0 -20
  599. package/dist/esm-node/core/server/utils.js +0 -57
  600. package/dist/esm-node/document/Body.js +0 -22
  601. package/dist/esm-node/document/Comment.js +0 -16
  602. package/dist/esm-node/document/DocumentContext.js +0 -9
  603. package/dist/esm-node/document/DocumentStructureContext.js +0 -12
  604. package/dist/esm-node/document/Head.js +0 -32
  605. package/dist/esm-node/document/Html.js +0 -83
  606. package/dist/esm-node/document/Links.js +0 -10
  607. package/dist/esm-node/document/Root.js +0 -35
  608. package/dist/esm-node/document/Script.js +0 -23
  609. package/dist/esm-node/document/Scripts.js +0 -10
  610. package/dist/esm-node/document/Style.js +0 -17
  611. package/dist/esm-node/document/Title.js +0 -10
  612. package/dist/esm-node/document/cli/index.js +0 -188
  613. package/dist/esm-node/document/constants.js +0 -58
  614. package/dist/esm-node/exports/head.js +0 -6
  615. package/dist/esm-node/exports/loadable.js +0 -6
  616. package/dist/esm-node/exports/server.js +0 -4
  617. package/dist/esm-node/exports/styled.js +0 -6
  618. package/dist/esm-node/index.js +0 -20
  619. package/dist/esm-node/react-server.js +0 -10
  620. package/dist/esm-node/router/cli/code/getClientRoutes/getRoutes.js +0 -163
  621. package/dist/esm-node/router/cli/code/getClientRoutes/getRoutesLegacy.js +0 -161
  622. package/dist/esm-node/router/cli/code/getClientRoutes/index.js +0 -6
  623. package/dist/esm-node/router/cli/code/getClientRoutes/utils.js +0 -22
  624. package/dist/esm-node/router/cli/code/index.js +0 -126
  625. package/dist/esm-node/router/cli/code/nestedRoutes.js +0 -258
  626. package/dist/esm-node/router/cli/code/templates.js +0 -452
  627. package/dist/esm-node/router/cli/code/utils.js +0 -101
  628. package/dist/esm-node/router/cli/constants.js +0 -51
  629. package/dist/esm-node/router/cli/entry.js +0 -54
  630. package/dist/esm-node/router/cli/handler.js +0 -67
  631. package/dist/esm-node/router/cli/index.js +0 -110
  632. package/dist/esm-node/router/runtime/DefaultNotFound.js +0 -14
  633. package/dist/esm-node/router/runtime/DeferredDataScripts.js +0 -6
  634. package/dist/esm-node/router/runtime/DeferredDataScripts.node.js +0 -132
  635. package/dist/esm-node/router/runtime/PrefetchLink.js +0 -192
  636. package/dist/esm-node/router/runtime/hooks.js +0 -7
  637. package/dist/esm-node/router/runtime/index.js +0 -17
  638. package/dist/esm-node/router/runtime/internal.js +0 -10
  639. package/dist/esm-node/router/runtime/plugin.js +0 -206
  640. package/dist/esm-node/router/runtime/plugin.node.js +0 -174
  641. package/dist/esm-node/router/runtime/routeModule.js +0 -26
  642. package/dist/esm-node/router/runtime/rsc-router.js +0 -284
  643. package/dist/esm-node/router/runtime/server.js +0 -1
  644. package/dist/esm-node/router/runtime/utils.js +0 -218
  645. package/dist/esm-node/router/runtime/withRouter.js +0 -18
  646. package/dist/esm-node/rsc/client.js +0 -7
  647. package/dist/types/cli/ssr/babel-plugin-ssr-loader-id.d.ts +0 -1
  648. package/dist/types/config.d.ts +0 -6
  649. package/dist/types/core/compatible.d.ts +0 -24
  650. package/dist/types/core/loader/index.d.ts +0 -1
  651. package/dist/types/core/loader/loaderManager.d.ts +0 -56
  652. package/dist/types/core/loader/useLoader.d.ts +0 -36
  653. package/dist/types/core/plugin/base.d.ts +0 -15
  654. package/dist/types/core/server/react/prerender/index.d.ts +0 -5
  655. package/dist/types/core/server/react/prerender/type.d.ts +0 -29
  656. package/dist/types/core/server/react/prerender/util.d.ts +0 -6
  657. package/dist/types/core/server/string/prefetch.d.ts +0 -16
  658. package/dist/types/core/server/string/styledComponent.d.ts +0 -11
  659. package/dist/types/exports/server.d.ts +0 -14
  660. package/dist/types/exports/styled.d.ts +0 -3
  661. package/dist/types/router/cli/code/getClientRoutes/getRoutesLegacy.d.ts +0 -9
  662. package/types/index.d.ts +0 -7
  663. package/types/router.d.ts +0 -24
  664. /package/dist/esm/cache/{index.js → index.mjs} +0 -0
  665. /package/dist/{esm-node/core/server/string/types.js → esm/core/plugin/types.mjs} +0 -0
  666. /package/dist/{esm-node/core/types.js → esm/core/server/string/types.mjs} +0 -0
  667. /package/dist/{esm-node/router/runtime/types.js → esm/core/types.mjs} +0 -0
  668. /package/dist/{esm-node/document/index.js → esm/document/index.mjs} +0 -0
  669. /package/dist/{esm-node/router/index.js → esm/router/index.mjs} +0 -0
  670. /package/dist/esm/{config.js → router/runtime/types.mjs} +0 -0
  671. /package/dist/esm/rsc/{server.js → server.mjs} +0 -0
  672. /package/dist/esm-node/cache/{index.js → index.mjs} +0 -0
  673. /package/dist/esm-node/{config.js → core/plugin/types.mjs} +0 -0
  674. /package/dist/esm-node/core/{plugin/base.js → server/string/types.mjs} +0 -0
  675. /package/dist/esm-node/core/{plugin/types.js → types.mjs} +0 -0
  676. /package/dist/esm-node/{core/server/react/prerender/type.js → router/runtime/types.mjs} +0 -0
  677. /package/dist/esm-node/rsc/{server.js → server.mjs} +0 -0
@@ -0,0 +1,132 @@
1
+ import path from "path";
2
+ import { filterRoutesForServer, filterRoutesLoader, fs, getEntryOptions, isUseRsc, isUseSSRBundle, logger, markRoutes } from "@modern-js/utils";
3
+ import { cloneDeep } from "@modern-js/utils/lodash";
4
+ import { ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME } from "../../../cli/constants.mjs";
5
+ import { resolveSSRMode } from "../../../cli/ssr/mode.mjs";
6
+ import { FILE_SYSTEM_ROUTES_FILE_NAME } from "../constants.mjs";
7
+ import { walk } from "./nestedRoutes.mjs";
8
+ import { fileSystemRoutes, routesForServer, ssrLoaderCombinedModule } from "./templates.mjs";
9
+ import { getServerCombinedModueFile, getServerLoadersFile } from "./utils.mjs";
10
+ async function generateRoutesForEntry(entrypoint, appContext) {
11
+ const routes = [];
12
+ if (entrypoint.nestedRoutesEntry) {
13
+ const nestedRoutes = await walk({
14
+ dirname: entrypoint.nestedRoutesEntry,
15
+ rootDir: entrypoint.nestedRoutesEntry,
16
+ alias: {
17
+ name: appContext.internalSrcAlias,
18
+ basename: appContext.srcDirectory
19
+ },
20
+ entryName: entrypoint.entryName,
21
+ isMainEntry: entrypoint.isMainEntry
22
+ });
23
+ if (nestedRoutes) if (Array.isArray(nestedRoutes)) routes.push(...nestedRoutes);
24
+ else routes.push(nestedRoutes);
25
+ }
26
+ const fileRoutes = routes.length > 0 ? Array.isArray(routes) ? routes : [
27
+ routes
28
+ ] : [];
29
+ const { discoverAndParseConfigRoutes } = await import("../config-routes/parseRouteConfig.mjs");
30
+ const configRoutesData = await discoverAndParseConfigRoutes(entrypoint, appContext, fileRoutes);
31
+ if (configRoutesData) {
32
+ const { processConfigRoutes } = await import("../config-routes/converter.mjs");
33
+ const processedConfigRoutes = await processConfigRoutes(configRoutesData.routes, entrypoint.entryName, entrypoint.isMainEntry || false, path.dirname(configRoutesData.filePath), {
34
+ name: appContext.internalSrcAlias,
35
+ basename: appContext.srcDirectory
36
+ });
37
+ routes.length = 0;
38
+ routes.push(...processedConfigRoutes);
39
+ }
40
+ return routes;
41
+ }
42
+ const generateCode = async (appContext, config, entrypoints, api)=>{
43
+ const { internalDirectory, srcDirectory, internalSrcAlias, packageName } = appContext;
44
+ const hooks = api.getHooks();
45
+ await Promise.all(entrypoints.map(generateEntryCode));
46
+ async function generateEntryCode(entrypoint) {
47
+ const { entryName, isMainEntry, isAutoMount, pageRoutesEntry, nestedRoutesEntry } = entrypoint;
48
+ const { metaName } = api.getAppContext();
49
+ if (isAutoMount) {
50
+ const config = api.getNormalizedConfig();
51
+ getEntryOptions(entryName, isMainEntry, config.server.ssr, config.server.ssrByEntries, packageName);
52
+ const ssrMode = resolveSSRMode({
53
+ entry: entrypoint.entryName,
54
+ config,
55
+ appDirectory: appContext.appDirectory,
56
+ nestedRoutesEntry: entrypoint.nestedRoutesEntry
57
+ });
58
+ if (!nestedRoutesEntry && ssrMode && 'string' !== ssrMode && !isUseRsc(config)) {
59
+ logger.error('Streaming SSR is only supported for convention-based routing (nested routes). Please set `server.ssr.mode` to `"string"` for non-convention-based routing projects.');
60
+ process.exit(1);
61
+ }
62
+ if (pageRoutesEntry || nestedRoutesEntry) {
63
+ const initialRoutes = [];
64
+ const generatedRoutes = await generateRoutesForEntry(entrypoint, appContext);
65
+ const { normalizeRoutes: removeComponentFields } = await import("../config-routes/converter.mjs");
66
+ const normalizedRoutes = removeComponentFields(generatedRoutes);
67
+ for (const route of normalizedRoutes)initialRoutes.unshift(route);
68
+ const ssrByRouteIds = config.server.ssrByRouteIds || [];
69
+ const clonedRoutes = cloneDeep(initialRoutes);
70
+ const markedRoutes = ssrByRouteIds.length > 0 ? markRoutes(clonedRoutes, ssrByRouteIds) : initialRoutes;
71
+ const { routes } = await hooks.modifyFileSystemRoutes.call({
72
+ entrypoint,
73
+ routes: markedRoutes
74
+ });
75
+ if ('stream' === ssrMode) {
76
+ const hasPageRoute = routes.some((route)=>'type' in route && 'page' === route.type);
77
+ if (hasPageRoute) {
78
+ logger.error('Streaming ssr is not supported when pages dir exists');
79
+ process.exit(1);
80
+ }
81
+ }
82
+ const { code } = await hooks.onBeforeGenerateRoutes.call({
83
+ entrypoint,
84
+ code: await fileSystemRoutes({
85
+ metaName,
86
+ routes: routes,
87
+ ssrMode: isUseRsc(config) ? 'stream' : ssrMode,
88
+ nestedRoutesEntry: entrypoint.nestedRoutesEntry,
89
+ entryName: entrypoint.entryName,
90
+ internalDirectory,
91
+ splitRouteChunks: config?.output?.splitRouteChunks,
92
+ isRscClient: isUseRsc(config)
93
+ })
94
+ });
95
+ if (entrypoint.nestedRoutesEntry && (isUseSSRBundle(config) || isUseRsc(config))) {
96
+ const routesServerFile = getServerLoadersFile(internalDirectory, entryName);
97
+ const filtedRoutesForServer = filterRoutesForServer(routes);
98
+ const routesForServerLoaderMatches = filterRoutesLoader(routes);
99
+ const code = routesForServer({
100
+ routesForServerLoaderMatches
101
+ });
102
+ await fs.ensureFile(routesServerFile);
103
+ await fs.writeFile(routesServerFile, code);
104
+ const serverRoutesCode = await fileSystemRoutes({
105
+ metaName,
106
+ routes: filtedRoutesForServer,
107
+ ssrMode,
108
+ nestedRoutesEntry: entrypoint.nestedRoutesEntry,
109
+ entryName: entrypoint.entryName,
110
+ internalDirectory,
111
+ splitRouteChunks: config?.output?.splitRouteChunks,
112
+ isRscClient: false
113
+ });
114
+ await fs.outputFile(path.resolve(internalDirectory, `./${entryName}/routes.server.js`), serverRoutesCode, 'utf8');
115
+ }
116
+ const serverLoaderCombined = ssrLoaderCombinedModule(entrypoints, entrypoint, config, appContext);
117
+ if (serverLoaderCombined) {
118
+ const serverLoaderFile = getServerCombinedModueFile(internalDirectory, entryName);
119
+ await fs.outputFile(serverLoaderFile, serverLoaderCombined);
120
+ }
121
+ await fs.outputFile(path.resolve(internalDirectory, `./${entryName}/${FILE_SYSTEM_ROUTES_FILE_NAME}`), code, 'utf8');
122
+ }
123
+ }
124
+ }
125
+ };
126
+ function generatorRegisterCode(internalDirectory, entryName, code) {
127
+ fs.outputFileSync(path.resolve(internalDirectory, `./${entryName}/${ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME}.js`), code, 'utf8');
128
+ }
129
+ function generatorServerRegisterCode(internalDirectory, entryName, code) {
130
+ fs.outputFileSync(path.resolve(internalDirectory, `./${entryName}/${ENTRY_POINT_RUNTIME_GLOBAL_CONTEXT_FILE_NAME}.server.js`), code, 'utf8');
131
+ }
132
+ export { generateCode, generateRoutesForEntry, generatorRegisterCode, generatorServerRegisterCode };
@@ -0,0 +1,95 @@
1
+ import path from "path";
2
+ import { fs } from "@modern-js/utils";
3
+ import { cloneDeep } from "@modern-js/utils/lodash";
4
+ import { modifyEntrypoints } from "../entry.mjs";
5
+ import { generateRoutesForEntry } from "./index.mjs";
6
+ function convertRouteToInspectFormat(route) {
7
+ const inspectRoute = {
8
+ path: route.path ?? void 0,
9
+ component: route._component || ''
10
+ };
11
+ if (route.path?.includes(':')) {
12
+ const params = route.path.match(/:[^\/]+/g)?.map((param)=>param.slice(1)) || [];
13
+ inspectRoute.params = params;
14
+ }
15
+ if (route.data) inspectRoute.data = route.data;
16
+ if (route.clientData) inspectRoute.clientData = route.clientData;
17
+ if (route.error) inspectRoute.error = route.error;
18
+ if (route.loading) inspectRoute.loading = route.loading;
19
+ if (route.config) inspectRoute.config = 'string' == typeof route.config ? route.config : String(route.config);
20
+ if ('children' in route && route.children && route.children.length > 0) inspectRoute.children = route.children.filter((child)=>{
21
+ const hasComponent = Boolean(child._component);
22
+ const hasChildren = 'children' in child && child.children && child.children.length > 0;
23
+ const hasPath = void 0 !== child.path;
24
+ return hasComponent || hasChildren || hasPath;
25
+ }).map((child)=>convertRouteToInspectFormat(child));
26
+ return inspectRoute;
27
+ }
28
+ async function generateInspectReportForEntry(entrypoint, appContext, config, api) {
29
+ const { entryName } = entrypoint;
30
+ console.log(`🔍 Analyzing routes for entry "${entryName}"...`);
31
+ const routes = await generateRoutesForEntry(entrypoint, appContext);
32
+ if (0 === routes.length) {
33
+ console.log(`⚠️ No routes found for entry "${entryName}"`);
34
+ return {
35
+ entryName,
36
+ routes: []
37
+ };
38
+ }
39
+ const hooks = api.getHooks();
40
+ const clonedRoutes = cloneDeep(routes);
41
+ const { routes: finalRoutes } = await hooks.modifyFileSystemRoutes.call({
42
+ entrypoint,
43
+ routes: clonedRoutes
44
+ });
45
+ const inspectRoutes = finalRoutes.filter((route)=>{
46
+ const hasComponent = Boolean(route._component);
47
+ const hasChildren = 'children' in route && route.children && route.children.length > 0;
48
+ const hasPath = void 0 !== route.path;
49
+ return hasComponent || hasChildren || hasPath;
50
+ }).map((route)=>convertRouteToInspectFormat(route));
51
+ console.log(`✅ Found ${inspectRoutes.length} routes for entry "${entryName}"`);
52
+ return {
53
+ entryName,
54
+ routes: inspectRoutes
55
+ };
56
+ }
57
+ async function generateRoutesInspectReport(api) {
58
+ try {
59
+ console.log('🚀 Start generating route inspection report...\n');
60
+ const appContext = api.getAppContext();
61
+ const config = api.getNormalizedConfig();
62
+ const { entrypoints, distDirectory } = appContext;
63
+ const modifiedEntrypoints = modifyEntrypoints(entrypoints);
64
+ const routesEntrypoints = modifiedEntrypoints.filter((entrypoint)=>entrypoint.isAutoMount);
65
+ if (0 === routesEntrypoints.length) return void console.log('⚠️ No entrypoints with routes (file-system or config-based) were found');
66
+ console.log(`📁 Found ${routesEntrypoints.length} entrypoints with routes`);
67
+ const reports = [];
68
+ for (const entrypoint of routesEntrypoints)if (entrypoint.nestedRoutesEntry) {
69
+ const report = await generateInspectReportForEntry(entrypoint, appContext, config, api);
70
+ reports.push(report);
71
+ }
72
+ let finalReport;
73
+ if (1 === reports.length) finalReport = {
74
+ routes: reports[0].routes
75
+ };
76
+ else {
77
+ finalReport = {};
78
+ for (const report of reports)finalReport[report.entryName] = {
79
+ routes: report.routes
80
+ };
81
+ }
82
+ await fs.ensureDir(distDirectory);
83
+ const reportPath = path.join(distDirectory, 'routes-inspect.json');
84
+ await fs.writeJSON(reportPath, finalReport, {
85
+ spaces: 2
86
+ });
87
+ console.log(`\n✨ Route inspection report has been generated: ${reportPath}`);
88
+ const totalRoutes = reports.reduce((sum, report)=>sum + report.routes.length, 0);
89
+ console.log(`📊 Found a total of ${totalRoutes} routes across ${reports.length} entrypoints`);
90
+ } catch (error) {
91
+ console.error('❌ Failed to generate route inspection report:', error);
92
+ process.exit(1);
93
+ }
94
+ }
95
+ export { generateRoutesInspectReport };
@@ -1,13 +1,9 @@
1
- const reservedWords = "break case class catch const continue debugger default delete do else export extends finally for function if import in instanceof let new return super switch this throw try typeof var void while with yield enum await implements package protected static interface private public";
2
- const builtins = "arguments Infinity NaN undefined null true false eval uneval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Symbol Error EvalError InternalError RangeError ReferenceError SyntaxError TypeError URIError Number Math Date String RegExp Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array Map Set WeakMap WeakSet SIMD ArrayBuffer DataView JSON Promise Generator GeneratorFunction Reflect Proxy Intl";
3
- const forbidList = new Set(`${reservedWords} ${builtins}`.split(" "));
1
+ const reservedWords = 'break case class catch const continue debugger default delete do else export extends finally for function if import in instanceof let new return super switch this throw try typeof var void while with yield enum await implements package protected static interface private public';
2
+ const builtins = 'arguments Infinity NaN undefined null true false eval uneval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Symbol Error EvalError InternalError RangeError ReferenceError SyntaxError TypeError URIError Number Math Date String RegExp Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array Map Set WeakMap WeakSet SIMD ArrayBuffer DataView JSON Promise Generator GeneratorFunction Reflect Proxy Intl';
3
+ const forbidList = new Set(`${reservedWords} ${builtins}`.split(' '));
4
4
  function makeLegalIdentifier(str) {
5
- const identifier = str.replace(/-(\w)/g, (_, letter) => letter.toUpperCase()).replace(/[^$_a-zA-Z0-9]/g, "_");
6
- if (/\d/.test(identifier[0]) || forbidList.has(identifier)) {
7
- return `_${identifier}`;
8
- }
9
- return identifier || "_";
5
+ const identifier = str.replace(/-(\w)/g, (_, letter)=>letter.toUpperCase()).replace(/[^$_a-zA-Z0-9]/g, '_');
6
+ if (/\d/.test(identifier[0]) || forbidList.has(identifier)) return `_${identifier}`;
7
+ return identifier || '_';
10
8
  }
11
- export {
12
- makeLegalIdentifier
13
- };
9
+ export { makeLegalIdentifier };
@@ -0,0 +1,193 @@
1
+ import { extname as external_path_extname, join, relative, sep } from "path";
2
+ import { JS_EXTENSIONS, fs, normalizeToPosixPath } from "@modern-js/utils";
3
+ import { NESTED_ROUTE } from "../constants.mjs";
4
+ import { getPathWithoutExt, hasAction, replaceWithAlias } from "./utils.mjs";
5
+ const conventionNames = Object.values(NESTED_ROUTE);
6
+ const replaceDynamicPath = (routePath)=>routePath.replace(/\[(.*?)\]/g, ':$1');
7
+ const getRouteId = (componentPath, routesDir, entryName, isMainEntry)=>{
8
+ const relativePath = normalizeToPosixPath(relative(routesDir, componentPath));
9
+ const pathWithoutExt = getPathWithoutExt(relativePath);
10
+ let id = "";
11
+ id = isMainEntry ? pathWithoutExt : `${entryName}_${pathWithoutExt}`;
12
+ return id.replace(/\[(.*?)\]/g, '($1)');
13
+ };
14
+ const createIndexRoute = (routeInfo, rootDir, filename, entryName, isMainEntry)=>createRoute({
15
+ ...routeInfo,
16
+ index: true,
17
+ children: void 0,
18
+ routeType: 'page'
19
+ }, rootDir, filename, entryName, isMainEntry);
20
+ const createRoute = (routeInfo, rootDir, filename, entryName, isMainEntry)=>{
21
+ const id = getRouteId(filename, rootDir, entryName, isMainEntry);
22
+ const hasChildren = routeInfo.children && routeInfo.children.length > 0;
23
+ return {
24
+ ...routeInfo,
25
+ id,
26
+ type: 'nested',
27
+ routeType: hasChildren ? 'layout' : 'page',
28
+ origin: 'file-system',
29
+ component: routeInfo._component ? filename : void 0
30
+ };
31
+ };
32
+ const optimizeRoute = (routeTree)=>{
33
+ if (!routeTree.children || 0 === routeTree.children.length) return [
34
+ routeTree
35
+ ];
36
+ const { children } = routeTree;
37
+ if (routeTree._component || routeTree.error || routeTree.loading || routeTree.config || routeTree.clientData) {
38
+ const optimizedChildren = routeTree.children.flatMap(optimizeRoute);
39
+ return [
40
+ {
41
+ ...routeTree,
42
+ children: optimizedChildren
43
+ }
44
+ ];
45
+ }
46
+ {
47
+ const newRoutes = children.map((child)=>{
48
+ const routePath = routeTree.path ? `${routeTree.path}${child.path ? `/${child.path}` : ''}` : child.path || '';
49
+ const newRoute = {
50
+ ...child,
51
+ path: routePath.replace(/\/\//g, '/'),
52
+ component: child.component || void 0,
53
+ origin: 'file-system'
54
+ };
55
+ if (routePath.length > 0) delete newRoute.index;
56
+ else delete newRoute.path;
57
+ return newRoute;
58
+ });
59
+ return Array.from(new Set(newRoutes)).flatMap(optimizeRoute);
60
+ }
61
+ };
62
+ const walk = async (options)=>{
63
+ const { dirname, rootDir, alias, entryName, isMainEntry } = options;
64
+ if (!await fs.pathExists(dirname)) return null;
65
+ const isDirectory = (await fs.stat(dirname)).isDirectory();
66
+ if (!isDirectory) return null;
67
+ const relativeDir = relative(rootDir, dirname);
68
+ const pathSegments = relativeDir.split(sep);
69
+ const lastSegment = pathSegments[pathSegments.length - 1];
70
+ const isRoot = '' === lastSegment;
71
+ const isPathlessLayout = lastSegment.startsWith('__');
72
+ const isWithoutLayoutPath = lastSegment.includes('.');
73
+ let routePath = isRoot || isPathlessLayout ? '/' : `${lastSegment}`;
74
+ if (isWithoutLayoutPath) routePath = lastSegment.split('.').join('/');
75
+ routePath = replaceDynamicPath(routePath);
76
+ const route = {
77
+ path: routePath?.replace(/\$$/, '?'),
78
+ children: [],
79
+ isRoot,
80
+ origin: 'file-system'
81
+ };
82
+ let pageLoaderFile = '';
83
+ let pageRoute = null;
84
+ let pageConfigFile = '';
85
+ let pageClientData = '';
86
+ let pageData = '';
87
+ let pageAction = '';
88
+ let splatLoaderFile = '';
89
+ let splatRoute = null;
90
+ let splatConfigFile = '';
91
+ let splatClientData = '';
92
+ let splatData = '';
93
+ let splatAction = '';
94
+ const items = await fs.readdir(dirname);
95
+ for (const item of items){
96
+ const itemPath = join(dirname, item);
97
+ const itemPathWithAlias = alias ? getPathWithoutExt(replaceWithAlias(alias.basename, itemPath, alias.name)) : getPathWithoutExt(itemPath);
98
+ const extname = external_path_extname(item);
99
+ const itemWithoutExt = item.slice(0, -extname.length);
100
+ const isDirectory = (await fs.stat(itemPath)).isDirectory();
101
+ if (isDirectory) {
102
+ const childRoute = await walk({
103
+ dirname: itemPath,
104
+ rootDir,
105
+ alias,
106
+ entryName,
107
+ isMainEntry
108
+ });
109
+ if (childRoute && !Array.isArray(childRoute)) route.children?.push(childRoute);
110
+ }
111
+ if (!extname || JS_EXTENSIONS.includes(extname) && conventionNames.includes(itemWithoutExt)) {
112
+ if (itemWithoutExt === NESTED_ROUTE.LAYOUT_LOADER_FILE) {
113
+ if (!route.loader) route.loader = itemPathWithAlias;
114
+ }
115
+ if (itemWithoutExt === NESTED_ROUTE.LAYOUT_CLIENT_LOADER) route.clientData = itemPathWithAlias;
116
+ if (itemWithoutExt === NESTED_ROUTE.LAYOUT_DATA_FILE) {
117
+ route.data = itemPathWithAlias;
118
+ if (await hasAction(itemPath)) route.action = itemPathWithAlias;
119
+ }
120
+ if (itemWithoutExt === NESTED_ROUTE.LAYOUT_CONFIG_FILE) {
121
+ if (!route.config) route.config = itemPathWithAlias;
122
+ }
123
+ if (itemWithoutExt === NESTED_ROUTE.LAYOUT_FILE) route._component = itemPathWithAlias;
124
+ if (itemWithoutExt === NESTED_ROUTE.PAGE_LOADER_FILE) pageLoaderFile = itemPathWithAlias;
125
+ if (itemWithoutExt === NESTED_ROUTE.PAGE_CLIENT_LOADER) pageClientData = itemPathWithAlias;
126
+ if (itemWithoutExt === NESTED_ROUTE.PAGE_DATA_FILE) {
127
+ pageData = itemPathWithAlias;
128
+ if (await hasAction(itemPath)) pageAction = itemPathWithAlias;
129
+ }
130
+ if (itemWithoutExt === NESTED_ROUTE.PAGE_CONFIG_FILE) pageConfigFile = itemPathWithAlias;
131
+ if (itemWithoutExt === NESTED_ROUTE.PAGE_FILE) {
132
+ pageRoute = createIndexRoute({
133
+ _component: itemPathWithAlias
134
+ }, rootDir, itemPath, entryName, isMainEntry);
135
+ if (pageLoaderFile) pageRoute.loader = pageLoaderFile;
136
+ if (pageConfigFile) pageRoute.config = pageConfigFile;
137
+ if (pageData) pageRoute.data = pageData;
138
+ if (pageClientData) pageRoute.clientData = pageClientData;
139
+ if (pageAction) pageRoute.action = pageAction;
140
+ route.children?.unshift(pageRoute);
141
+ }
142
+ if (itemWithoutExt === NESTED_ROUTE.SPLATE_LOADER_FILE) splatLoaderFile = itemPathWithAlias;
143
+ if (itemWithoutExt === NESTED_ROUTE.SPLATE_CLIENT_DATA) splatClientData = itemPathWithAlias;
144
+ if (itemWithoutExt === NESTED_ROUTE.SPLATE_CONFIG_FILE) {
145
+ if (!route.config) splatConfigFile = alias ? replaceWithAlias(alias.basename, itemPath, alias.name) : getPathWithoutExt(itemPath);
146
+ }
147
+ if (itemWithoutExt === NESTED_ROUTE.SPLATE_DATA_FILE) {
148
+ splatData = itemPathWithAlias;
149
+ if (await hasAction(itemPath)) splatAction = itemPathWithAlias;
150
+ }
151
+ if (itemWithoutExt === NESTED_ROUTE.SPLATE_FILE) {
152
+ splatRoute = createRoute({
153
+ _component: itemPathWithAlias,
154
+ path: '*',
155
+ origin: 'file-system'
156
+ }, rootDir, itemPath, entryName, isMainEntry);
157
+ if (splatLoaderFile) splatRoute.loader = splatLoaderFile;
158
+ if (splatClientData) splatRoute.clientData = splatClientData;
159
+ if (splatData) splatRoute.data = splatData;
160
+ if (splatConfigFile) splatRoute.config = splatConfigFile;
161
+ if (splatAction) splatRoute.action = splatAction;
162
+ route.children?.push(splatRoute);
163
+ }
164
+ if (itemWithoutExt === NESTED_ROUTE.LOADING_FILE) route.loading = itemPathWithAlias;
165
+ if (itemWithoutExt === NESTED_ROUTE.ERROR_FILE) route.error = itemPathWithAlias;
166
+ }
167
+ }
168
+ let finalRoute = createRoute({
169
+ ...route,
170
+ origin: 'file-system'
171
+ }, rootDir, join(dirname, `${NESTED_ROUTE.LAYOUT_FILE}.ts`), entryName, isMainEntry);
172
+ if (isPathlessLayout) delete finalRoute.path;
173
+ const childRoutes = finalRoute.children = finalRoute.children?.filter((childRoute)=>childRoute);
174
+ if (childRoutes && 0 === childRoutes.length && !finalRoute.index && !finalRoute._component) return null;
175
+ if (childRoutes && 1 === childRoutes.length && !finalRoute._component) {
176
+ const childRoute = childRoutes[0];
177
+ if ('*' === childRoute.path) {
178
+ const path = `${finalRoute.path || ''}/${childRoute.path || ''}`;
179
+ finalRoute = {
180
+ ...childRoute,
181
+ path,
182
+ component: childRoute.component || void 0
183
+ };
184
+ }
185
+ }
186
+ if (isRoot && !finalRoute._component) throw new Error('The root layout component is required, make sure the routes/layout.tsx file exists.');
187
+ if (isRoot) {
188
+ const optimizedRoutes = optimizeRoute(finalRoute);
189
+ return optimizedRoutes;
190
+ }
191
+ return finalRoute;
192
+ };
193
+ export { getRouteId, optimizeRoute, walk };