@bleedingdev/modern-js-runtime 3.2.0-ultramodern.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 (574) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +32 -0
  3. package/dist/cjs/cache/index.js +58 -0
  4. package/dist/cjs/cli/alias.js +68 -0
  5. package/dist/cjs/cli/code.js +193 -0
  6. package/dist/cjs/cli/constants.js +68 -0
  7. package/dist/cjs/cli/entry.js +53 -0
  8. package/dist/cjs/cli/index.js +166 -0
  9. package/dist/cjs/cli/ssr/index.js +240 -0
  10. package/dist/cjs/cli/ssr/loadable-bundler-plugin.js +131 -0
  11. package/dist/cjs/cli/ssr/mode.js +48 -0
  12. package/dist/cjs/cli/template.js +276 -0
  13. package/dist/cjs/cli/template.server.js +163 -0
  14. package/dist/cjs/common.js +44 -0
  15. package/dist/cjs/core/browser/hydrate.js +91 -0
  16. package/dist/cjs/core/browser/index.js +150 -0
  17. package/dist/cjs/core/browser/withCallback.js +47 -0
  18. package/dist/cjs/core/compat/hooks.js +75 -0
  19. package/dist/cjs/core/compat/index.js +46 -0
  20. package/dist/cjs/core/compat/requestContext.js +59 -0
  21. package/dist/cjs/core/config.js +36 -0
  22. package/dist/cjs/core/constants.js +48 -0
  23. package/dist/cjs/core/context/index.js +124 -0
  24. package/dist/cjs/core/context/monitors/default.js +44 -0
  25. package/dist/cjs/core/context/monitors/index.js +37 -0
  26. package/dist/cjs/core/context/monitors/index.server.js +41 -0
  27. package/dist/cjs/core/context/request/index.js +36 -0
  28. package/dist/cjs/core/context/request/index.server.js +40 -0
  29. package/dist/cjs/core/context/response/index.js +50 -0
  30. package/dist/cjs/core/context/response/index.server.js +71 -0
  31. package/dist/cjs/core/context/runtime.js +65 -0
  32. package/dist/cjs/core/context/serverPayload/index.js +40 -0
  33. package/dist/cjs/core/context/serverPayload/index.server.js +47 -0
  34. package/dist/cjs/core/index.js +43 -0
  35. package/dist/cjs/core/plugin/index.js +62 -0
  36. package/dist/cjs/core/plugin/types.js +18 -0
  37. package/dist/cjs/core/react/index.js +50 -0
  38. package/dist/cjs/core/react/wrapper.js +55 -0
  39. package/dist/cjs/core/server/constants.js +48 -0
  40. package/dist/cjs/core/server/helmet.js +75 -0
  41. package/dist/cjs/core/server/index.js +50 -0
  42. package/dist/cjs/core/server/react/index.js +40 -0
  43. package/dist/cjs/core/server/react/no-ssr-cache/index.js +43 -0
  44. package/dist/cjs/core/server/react/nossr/index.js +54 -0
  45. package/dist/cjs/core/server/requestHandler.js +218 -0
  46. package/dist/cjs/core/server/server.js +44 -0
  47. package/dist/cjs/core/server/shared.js +38 -0
  48. package/dist/cjs/core/server/stream/afterTemplate.js +103 -0
  49. package/dist/cjs/core/server/stream/beforeTemplate.js +111 -0
  50. package/dist/cjs/core/server/stream/createReadableStream.js +161 -0
  51. package/dist/cjs/core/server/stream/createReadableStream.worker.js +141 -0
  52. package/dist/cjs/core/server/stream/deferredScript.js +114 -0
  53. package/dist/cjs/core/server/stream/index.js +38 -0
  54. package/dist/cjs/core/server/stream/shared.js +154 -0
  55. package/dist/cjs/core/server/stream/template.js +47 -0
  56. package/dist/cjs/core/server/string/index.js +149 -0
  57. package/dist/cjs/core/server/string/loadable.js +146 -0
  58. package/dist/cjs/core/server/string/ssrData.js +151 -0
  59. package/dist/cjs/core/server/string/types.js +18 -0
  60. package/dist/cjs/core/server/tracer.js +52 -0
  61. package/dist/cjs/core/server/utils.js +88 -0
  62. package/dist/cjs/core/types.js +18 -0
  63. package/dist/cjs/document/Body.js +54 -0
  64. package/dist/cjs/document/Comment.js +49 -0
  65. package/dist/cjs/document/DocumentContext.js +51 -0
  66. package/dist/cjs/document/DocumentStructureContext.js +54 -0
  67. package/dist/cjs/document/Head.js +66 -0
  68. package/dist/cjs/document/Html.js +120 -0
  69. package/dist/cjs/document/Links.js +43 -0
  70. package/dist/cjs/document/Root.js +66 -0
  71. package/dist/cjs/document/Script.js +55 -0
  72. package/dist/cjs/document/Scripts.js +43 -0
  73. package/dist/cjs/document/Style.js +50 -0
  74. package/dist/cjs/document/Title.js +42 -0
  75. package/dist/cjs/document/cli/index.js +401 -0
  76. package/dist/cjs/document/constants.js +134 -0
  77. package/dist/cjs/document/index.js +135 -0
  78. package/dist/cjs/exports/config-routes.js +38 -0
  79. package/dist/cjs/exports/head.js +51 -0
  80. package/dist/cjs/exports/loadable.js +66 -0
  81. package/dist/cjs/exports/tanstack-router.js +91 -0
  82. package/dist/cjs/index.js +64 -0
  83. package/dist/cjs/internal.js +36 -0
  84. package/dist/cjs/react-server.js +50 -0
  85. package/dist/cjs/router/cli/code/getClientRoutes/getRoutes.js +159 -0
  86. package/dist/cjs/router/cli/code/getClientRoutes/index.js +36 -0
  87. package/dist/cjs/router/cli/code/getClientRoutes/utils.js +62 -0
  88. package/dist/cjs/router/cli/code/index.js +238 -0
  89. package/dist/cjs/router/cli/code/inspect.js +139 -0
  90. package/dist/cjs/router/cli/code/makeLegalIdentifier.js +43 -0
  91. package/dist/cjs/router/cli/code/nestedRoutes.js +233 -0
  92. package/dist/cjs/router/cli/code/tanstackTypes.js +378 -0
  93. package/dist/cjs/router/cli/code/templates.js +446 -0
  94. package/dist/cjs/router/cli/code/utils.js +151 -0
  95. package/dist/cjs/router/cli/config-routes/converter.js +129 -0
  96. package/dist/cjs/router/cli/config-routes/parseRouteConfig.js +155 -0
  97. package/dist/cjs/router/cli/constants.js +99 -0
  98. package/dist/cjs/router/cli/entry.js +105 -0
  99. package/dist/cjs/router/cli/handler.js +131 -0
  100. package/dist/cjs/router/cli/index.js +194 -0
  101. package/dist/cjs/router/index.js +58 -0
  102. package/dist/cjs/router/internal.js +64 -0
  103. package/dist/cjs/router/runtime/CSSLinks.js +46 -0
  104. package/dist/cjs/router/runtime/DefaultNotFound.js +47 -0
  105. package/dist/cjs/router/runtime/DeferredDataScripts.js +36 -0
  106. package/dist/cjs/router/runtime/DeferredDataScripts.node.js +154 -0
  107. package/dist/cjs/router/runtime/PrefetchLink.js +201 -0
  108. package/dist/cjs/router/runtime/constants.js +65 -0
  109. package/dist/cjs/router/runtime/hooks.js +57 -0
  110. package/dist/cjs/router/runtime/index.js +95 -0
  111. package/dist/cjs/router/runtime/internal.js +67 -0
  112. package/dist/cjs/router/runtime/lifecycle.js +148 -0
  113. package/dist/cjs/router/runtime/plugin.js +262 -0
  114. package/dist/cjs/router/runtime/plugin.node.js +226 -0
  115. package/dist/cjs/router/runtime/routerHelper.js +55 -0
  116. package/dist/cjs/router/runtime/rsc-router.js +377 -0
  117. package/dist/cjs/router/runtime/rsc.js +58 -0
  118. package/dist/cjs/router/runtime/server.js +58 -0
  119. package/dist/cjs/router/runtime/tanstack/basepathRewrite.js +62 -0
  120. package/dist/cjs/router/runtime/tanstack/dataMutation.js +345 -0
  121. package/dist/cjs/router/runtime/tanstack/plugin.js +239 -0
  122. package/dist/cjs/router/runtime/tanstack/plugin.node.js +278 -0
  123. package/dist/cjs/router/runtime/tanstack/prefetchLink.js +55 -0
  124. package/dist/cjs/router/runtime/tanstack/routeTree.js +469 -0
  125. package/dist/cjs/router/runtime/tanstack/rsc/ClientSlot.js +53 -0
  126. package/dist/cjs/router/runtime/tanstack/rsc/CompositeComponent.js +75 -0
  127. package/dist/cjs/router/runtime/tanstack/rsc/ReplayableStream.js +141 -0
  128. package/dist/cjs/router/runtime/tanstack/rsc/RscNodeRenderer.js +65 -0
  129. package/dist/cjs/router/runtime/tanstack/rsc/SlotContext.js +54 -0
  130. package/dist/cjs/router/runtime/tanstack/rsc/client.js +93 -0
  131. package/dist/cjs/router/runtime/tanstack/rsc/createRscProxy.js +141 -0
  132. package/dist/cjs/router/runtime/tanstack/rsc/index.js +42 -0
  133. package/dist/cjs/router/runtime/tanstack/rsc/server.js +246 -0
  134. package/dist/cjs/router/runtime/tanstack/rsc/slotUsageSanitizer.js +65 -0
  135. package/dist/cjs/router/runtime/tanstack/rsc/symbols.js +72 -0
  136. package/dist/cjs/router/runtime/types.js +18 -0
  137. package/dist/cjs/router/runtime/utils.js +243 -0
  138. package/dist/cjs/router/runtime/withRouter.js +48 -0
  139. package/dist/cjs/rsc/client.js +68 -0
  140. package/dist/cjs/rsc/server.js +58 -0
  141. package/dist/cjs/ssr/index.node.js +121 -0
  142. package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +84 -0
  143. package/dist/cjs/ssr/serverRender/renderToString/entry.js +195 -0
  144. package/dist/cjs/ssr/serverRender/types.js +36 -0
  145. package/dist/esm/cache/index.mjs +1 -0
  146. package/dist/esm/cli/alias.mjs +24 -0
  147. package/dist/esm/cli/code.mjs +149 -0
  148. package/dist/esm/cli/constants.mjs +10 -0
  149. package/dist/esm/cli/entry.mjs +6 -0
  150. package/dist/esm/cli/index.mjs +93 -0
  151. package/dist/esm/cli/ssr/index.mjs +190 -0
  152. package/dist/esm/cli/ssr/loadable-bundler-plugin.mjs +87 -0
  153. package/dist/esm/cli/ssr/mode.mjs +14 -0
  154. package/dist/esm/cli/template.mjs +211 -0
  155. package/dist/esm/cli/template.server.mjs +126 -0
  156. package/dist/esm/common.mjs +4 -0
  157. package/dist/esm/core/browser/hydrate.mjs +53 -0
  158. package/dist/esm/core/browser/index.mjs +104 -0
  159. package/dist/esm/core/browser/withCallback.mjs +13 -0
  160. package/dist/esm/core/compat/hooks.mjs +35 -0
  161. package/dist/esm/core/compat/index.mjs +12 -0
  162. package/dist/esm/core/compat/requestContext.mjs +22 -0
  163. package/dist/esm/core/config.mjs +2 -0
  164. package/dist/esm/core/constants.mjs +8 -0
  165. package/dist/esm/core/context/index.mjs +45 -0
  166. package/dist/esm/core/context/monitors/default.mjs +10 -0
  167. package/dist/esm/core/context/monitors/index.mjs +3 -0
  168. package/dist/esm/core/context/monitors/index.server.mjs +7 -0
  169. package/dist/esm/core/context/request/index.mjs +2 -0
  170. package/dist/esm/core/context/request/index.server.mjs +6 -0
  171. package/dist/esm/core/context/response/index.mjs +7 -0
  172. package/dist/esm/core/context/response/index.server.mjs +28 -0
  173. package/dist/esm/core/context/runtime.mjs +19 -0
  174. package/dist/esm/core/context/serverPayload/index.mjs +3 -0
  175. package/dist/esm/core/context/serverPayload/index.server.mjs +10 -0
  176. package/dist/esm/core/index.mjs +2 -0
  177. package/dist/esm/core/plugin/index.mjs +25 -0
  178. package/dist/esm/core/plugin/types.mjs +0 -0
  179. package/dist/esm/core/react/index.mjs +16 -0
  180. package/dist/esm/core/react/wrapper.mjs +21 -0
  181. package/dist/esm/core/server/constants.mjs +5 -0
  182. package/dist/esm/core/server/helmet.mjs +38 -0
  183. package/dist/esm/core/server/index.mjs +8 -0
  184. package/dist/esm/core/server/react/index.mjs +2 -0
  185. package/dist/esm/core/server/react/no-ssr-cache/index.mjs +9 -0
  186. package/dist/esm/core/server/react/nossr/index.mjs +10 -0
  187. package/dist/esm/core/server/requestHandler.mjs +174 -0
  188. package/dist/esm/core/server/server.mjs +3 -0
  189. package/dist/esm/core/server/shared.mjs +4 -0
  190. package/dist/esm/core/server/stream/afterTemplate.mjs +69 -0
  191. package/dist/esm/core/server/stream/beforeTemplate.mjs +67 -0
  192. package/dist/esm/core/server/stream/createReadableStream.mjs +127 -0
  193. package/dist/esm/core/server/stream/createReadableStream.worker.mjs +107 -0
  194. package/dist/esm/core/server/stream/deferredScript.mjs +62 -0
  195. package/dist/esm/core/server/stream/index.mjs +4 -0
  196. package/dist/esm/core/server/stream/shared.mjs +108 -0
  197. package/dist/esm/core/server/stream/template.mjs +13 -0
  198. package/dist/esm/core/server/string/index.mjs +104 -0
  199. package/dist/esm/core/server/string/loadable.mjs +112 -0
  200. package/dist/esm/core/server/string/ssrData.mjs +117 -0
  201. package/dist/esm/core/server/string/types.mjs +0 -0
  202. package/dist/esm/core/server/tracer.mjs +15 -0
  203. package/dist/esm/core/server/utils.mjs +39 -0
  204. package/dist/esm/core/types.mjs +0 -0
  205. package/dist/esm/document/Body.mjs +20 -0
  206. package/dist/esm/document/Comment.mjs +15 -0
  207. package/dist/esm/document/DocumentContext.mjs +7 -0
  208. package/dist/esm/document/DocumentStructureContext.mjs +10 -0
  209. package/dist/esm/document/Head.mjs +29 -0
  210. package/dist/esm/document/Html.mjs +86 -0
  211. package/dist/esm/document/Links.mjs +9 -0
  212. package/dist/esm/document/Root.mjs +29 -0
  213. package/dist/esm/document/Script.mjs +21 -0
  214. package/dist/esm/document/Scripts.mjs +9 -0
  215. package/dist/esm/document/Style.mjs +16 -0
  216. package/dist/esm/document/Title.mjs +8 -0
  217. package/dist/esm/document/cli/index.mjs +351 -0
  218. package/dist/esm/document/constants.mjs +34 -0
  219. package/dist/esm/document/index.mjs +12 -0
  220. package/dist/esm/exports/config-routes.mjs +4 -0
  221. package/dist/esm/exports/head.mjs +5 -0
  222. package/dist/esm/exports/loadable.mjs +4 -0
  223. package/dist/esm/exports/tanstack-router.mjs +3 -0
  224. package/dist/esm/index.mjs +5 -0
  225. package/dist/esm/internal.mjs +1 -0
  226. package/dist/esm/react-server.mjs +3 -0
  227. package/dist/esm/router/cli/code/getClientRoutes/getRoutes.mjs +115 -0
  228. package/dist/esm/router/cli/code/getClientRoutes/index.mjs +1 -0
  229. package/dist/esm/router/cli/code/getClientRoutes/utils.mjs +12 -0
  230. package/dist/esm/router/cli/code/index.mjs +185 -0
  231. package/dist/esm/router/cli/code/inspect.mjs +95 -0
  232. package/dist/esm/router/cli/code/makeLegalIdentifier.mjs +9 -0
  233. package/dist/esm/router/cli/code/nestedRoutes.mjs +193 -0
  234. package/dist/esm/router/cli/code/tanstackTypes.mjs +331 -0
  235. package/dist/esm/router/cli/code/templates.mjs +393 -0
  236. package/dist/esm/router/cli/code/utils.mjs +82 -0
  237. package/dist/esm/router/cli/config-routes/converter.mjs +82 -0
  238. package/dist/esm/router/cli/config-routes/parseRouteConfig.mjs +105 -0
  239. package/dist/esm/router/cli/constants.mjs +32 -0
  240. package/dist/esm/router/cli/entry.mjs +40 -0
  241. package/dist/esm/router/cli/handler.mjs +81 -0
  242. package/dist/esm/router/cli/index.mjs +127 -0
  243. package/dist/esm/router/index.mjs +1 -0
  244. package/dist/esm/router/internal.mjs +2 -0
  245. package/dist/esm/router/runtime/CSSLinks.mjs +12 -0
  246. package/dist/esm/router/runtime/DefaultNotFound.mjs +13 -0
  247. package/dist/esm/router/runtime/DeferredDataScripts.mjs +2 -0
  248. package/dist/esm/router/runtime/DeferredDataScripts.node.mjs +120 -0
  249. package/dist/esm/router/runtime/PrefetchLink.mjs +154 -0
  250. package/dist/esm/router/runtime/constants.mjs +10 -0
  251. package/dist/esm/router/runtime/hooks.mjs +8 -0
  252. package/dist/esm/router/runtime/index.mjs +9 -0
  253. package/dist/esm/router/runtime/internal.mjs +25 -0
  254. package/dist/esm/router/runtime/lifecycle.mjs +96 -0
  255. package/dist/esm/router/runtime/plugin.mjs +219 -0
  256. package/dist/esm/router/runtime/plugin.node.mjs +179 -0
  257. package/dist/esm/router/runtime/routerHelper.mjs +15 -0
  258. package/dist/esm/router/runtime/rsc-router.mjs +321 -0
  259. package/dist/esm/router/runtime/rsc.mjs +1 -0
  260. package/dist/esm/router/runtime/server.mjs +1 -0
  261. package/dist/esm/router/runtime/tanstack/basepathRewrite.mjs +28 -0
  262. package/dist/esm/router/runtime/tanstack/dataMutation.mjs +305 -0
  263. package/dist/esm/router/runtime/tanstack/plugin.mjs +205 -0
  264. package/dist/esm/router/runtime/tanstack/plugin.node.mjs +244 -0
  265. package/dist/esm/router/runtime/tanstack/prefetchLink.mjs +18 -0
  266. package/dist/esm/router/runtime/tanstack/routeTree.mjs +429 -0
  267. package/dist/esm/router/runtime/tanstack/rsc/ClientSlot.mjs +19 -0
  268. package/dist/esm/router/runtime/tanstack/rsc/CompositeComponent.mjs +41 -0
  269. package/dist/esm/router/runtime/tanstack/rsc/ReplayableStream.mjs +104 -0
  270. package/dist/esm/router/runtime/tanstack/rsc/RscNodeRenderer.mjs +31 -0
  271. package/dist/esm/router/runtime/tanstack/rsc/SlotContext.mjs +17 -0
  272. package/dist/esm/router/runtime/tanstack/rsc/client.mjs +53 -0
  273. package/dist/esm/router/runtime/tanstack/rsc/createRscProxy.mjs +107 -0
  274. package/dist/esm/router/runtime/tanstack/rsc/index.mjs +1 -0
  275. package/dist/esm/router/runtime/tanstack/rsc/server.mjs +200 -0
  276. package/dist/esm/router/runtime/tanstack/rsc/slotUsageSanitizer.mjs +31 -0
  277. package/dist/esm/router/runtime/tanstack/rsc/symbols.mjs +17 -0
  278. package/dist/esm/router/runtime/types.mjs +0 -0
  279. package/dist/esm/router/runtime/utils.mjs +174 -0
  280. package/dist/esm/router/runtime/withRouter.mjs +14 -0
  281. package/dist/esm/rsc/client.mjs +3 -0
  282. package/dist/esm/rsc/server.mjs +1 -0
  283. package/dist/esm/ssr/index.node.mjs +44 -0
  284. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.after.mjs +50 -0
  285. package/dist/esm/ssr/serverRender/renderToString/entry.mjs +148 -0
  286. package/dist/esm/ssr/serverRender/types.mjs +1 -0
  287. package/dist/esm-node/cache/index.mjs +2 -0
  288. package/dist/esm-node/cli/alias.mjs +25 -0
  289. package/dist/esm-node/cli/code.mjs +150 -0
  290. package/dist/esm-node/cli/constants.mjs +11 -0
  291. package/dist/esm-node/cli/entry.mjs +7 -0
  292. package/dist/esm-node/cli/index.mjs +95 -0
  293. package/dist/esm-node/cli/ssr/index.mjs +192 -0
  294. package/dist/esm-node/cli/ssr/loadable-bundler-plugin.mjs +88 -0
  295. package/dist/esm-node/cli/ssr/mode.mjs +15 -0
  296. package/dist/esm-node/cli/template.mjs +212 -0
  297. package/dist/esm-node/cli/template.server.mjs +127 -0
  298. package/dist/esm-node/common.mjs +5 -0
  299. package/dist/esm-node/core/browser/hydrate.mjs +54 -0
  300. package/dist/esm-node/core/browser/index.mjs +105 -0
  301. package/dist/esm-node/core/browser/withCallback.mjs +14 -0
  302. package/dist/esm-node/core/compat/hooks.mjs +36 -0
  303. package/dist/esm-node/core/compat/index.mjs +13 -0
  304. package/dist/esm-node/core/compat/requestContext.mjs +23 -0
  305. package/dist/esm-node/core/config.mjs +3 -0
  306. package/dist/esm-node/core/constants.mjs +9 -0
  307. package/dist/esm-node/core/context/index.mjs +46 -0
  308. package/dist/esm-node/core/context/monitors/default.mjs +11 -0
  309. package/dist/esm-node/core/context/monitors/index.mjs +4 -0
  310. package/dist/esm-node/core/context/monitors/index.server.mjs +8 -0
  311. package/dist/esm-node/core/context/request/index.mjs +3 -0
  312. package/dist/esm-node/core/context/request/index.server.mjs +7 -0
  313. package/dist/esm-node/core/context/response/index.mjs +8 -0
  314. package/dist/esm-node/core/context/response/index.server.mjs +29 -0
  315. package/dist/esm-node/core/context/runtime.mjs +20 -0
  316. package/dist/esm-node/core/context/serverPayload/index.mjs +4 -0
  317. package/dist/esm-node/core/context/serverPayload/index.server.mjs +11 -0
  318. package/dist/esm-node/core/index.mjs +3 -0
  319. package/dist/esm-node/core/plugin/index.mjs +26 -0
  320. package/dist/esm-node/core/plugin/types.mjs +1 -0
  321. package/dist/esm-node/core/react/index.mjs +17 -0
  322. package/dist/esm-node/core/react/wrapper.mjs +22 -0
  323. package/dist/esm-node/core/server/constants.mjs +6 -0
  324. package/dist/esm-node/core/server/helmet.mjs +39 -0
  325. package/dist/esm-node/core/server/index.mjs +9 -0
  326. package/dist/esm-node/core/server/react/index.mjs +3 -0
  327. package/dist/esm-node/core/server/react/no-ssr-cache/index.mjs +10 -0
  328. package/dist/esm-node/core/server/react/nossr/index.mjs +11 -0
  329. package/dist/esm-node/core/server/requestHandler.mjs +175 -0
  330. package/dist/esm-node/core/server/server.mjs +4 -0
  331. package/dist/esm-node/core/server/shared.mjs +5 -0
  332. package/dist/esm-node/core/server/stream/afterTemplate.mjs +70 -0
  333. package/dist/esm-node/core/server/stream/beforeTemplate.mjs +71 -0
  334. package/dist/esm-node/core/server/stream/createReadableStream.mjs +128 -0
  335. package/dist/esm-node/core/server/stream/createReadableStream.worker.mjs +108 -0
  336. package/dist/esm-node/core/server/stream/deferredScript.mjs +63 -0
  337. package/dist/esm-node/core/server/stream/index.mjs +5 -0
  338. package/dist/esm-node/core/server/stream/shared.mjs +109 -0
  339. package/dist/esm-node/core/server/stream/template.mjs +14 -0
  340. package/dist/esm-node/core/server/string/index.mjs +105 -0
  341. package/dist/esm-node/core/server/string/loadable.mjs +116 -0
  342. package/dist/esm-node/core/server/string/ssrData.mjs +118 -0
  343. package/dist/esm-node/core/server/string/types.mjs +1 -0
  344. package/dist/esm-node/core/server/tracer.mjs +16 -0
  345. package/dist/esm-node/core/server/utils.mjs +40 -0
  346. package/dist/esm-node/core/types.mjs +1 -0
  347. package/dist/esm-node/document/Body.mjs +21 -0
  348. package/dist/esm-node/document/Comment.mjs +16 -0
  349. package/dist/esm-node/document/DocumentContext.mjs +8 -0
  350. package/dist/esm-node/document/DocumentStructureContext.mjs +11 -0
  351. package/dist/esm-node/document/Head.mjs +30 -0
  352. package/dist/esm-node/document/Html.mjs +87 -0
  353. package/dist/esm-node/document/Links.mjs +10 -0
  354. package/dist/esm-node/document/Root.mjs +30 -0
  355. package/dist/esm-node/document/Script.mjs +22 -0
  356. package/dist/esm-node/document/Scripts.mjs +10 -0
  357. package/dist/esm-node/document/Style.mjs +17 -0
  358. package/dist/esm-node/document/Title.mjs +9 -0
  359. package/dist/esm-node/document/cli/index.mjs +353 -0
  360. package/dist/esm-node/document/constants.mjs +35 -0
  361. package/dist/esm-node/document/index.mjs +13 -0
  362. package/dist/esm-node/exports/config-routes.mjs +5 -0
  363. package/dist/esm-node/exports/head.mjs +6 -0
  364. package/dist/esm-node/exports/loadable.mjs +5 -0
  365. package/dist/esm-node/exports/tanstack-router.mjs +4 -0
  366. package/dist/esm-node/index.mjs +6 -0
  367. package/dist/esm-node/internal.mjs +2 -0
  368. package/dist/esm-node/react-server.mjs +4 -0
  369. package/dist/esm-node/router/cli/code/getClientRoutes/getRoutes.mjs +116 -0
  370. package/dist/esm-node/router/cli/code/getClientRoutes/index.mjs +2 -0
  371. package/dist/esm-node/router/cli/code/getClientRoutes/utils.mjs +13 -0
  372. package/dist/esm-node/router/cli/code/index.mjs +186 -0
  373. package/dist/esm-node/router/cli/code/inspect.mjs +96 -0
  374. package/dist/esm-node/router/cli/code/makeLegalIdentifier.mjs +10 -0
  375. package/dist/esm-node/router/cli/code/nestedRoutes.mjs +194 -0
  376. package/dist/esm-node/router/cli/code/tanstackTypes.mjs +332 -0
  377. package/dist/esm-node/router/cli/code/templates.mjs +395 -0
  378. package/dist/esm-node/router/cli/code/utils.mjs +83 -0
  379. package/dist/esm-node/router/cli/config-routes/converter.mjs +83 -0
  380. package/dist/esm-node/router/cli/config-routes/parseRouteConfig.mjs +106 -0
  381. package/dist/esm-node/router/cli/constants.mjs +33 -0
  382. package/dist/esm-node/router/cli/entry.mjs +41 -0
  383. package/dist/esm-node/router/cli/handler.mjs +82 -0
  384. package/dist/esm-node/router/cli/index.mjs +131 -0
  385. package/dist/esm-node/router/index.mjs +2 -0
  386. package/dist/esm-node/router/internal.mjs +3 -0
  387. package/dist/esm-node/router/runtime/CSSLinks.mjs +13 -0
  388. package/dist/esm-node/router/runtime/DefaultNotFound.mjs +14 -0
  389. package/dist/esm-node/router/runtime/DeferredDataScripts.mjs +3 -0
  390. package/dist/esm-node/router/runtime/DeferredDataScripts.node.mjs +121 -0
  391. package/dist/esm-node/router/runtime/PrefetchLink.mjs +155 -0
  392. package/dist/esm-node/router/runtime/constants.mjs +11 -0
  393. package/dist/esm-node/router/runtime/hooks.mjs +9 -0
  394. package/dist/esm-node/router/runtime/index.mjs +10 -0
  395. package/dist/esm-node/router/runtime/internal.mjs +26 -0
  396. package/dist/esm-node/router/runtime/lifecycle.mjs +97 -0
  397. package/dist/esm-node/router/runtime/plugin.mjs +220 -0
  398. package/dist/esm-node/router/runtime/plugin.node.mjs +180 -0
  399. package/dist/esm-node/router/runtime/routerHelper.mjs +16 -0
  400. package/dist/esm-node/router/runtime/rsc-router.mjs +322 -0
  401. package/dist/esm-node/router/runtime/rsc.mjs +2 -0
  402. package/dist/esm-node/router/runtime/server.mjs +2 -0
  403. package/dist/esm-node/router/runtime/tanstack/basepathRewrite.mjs +29 -0
  404. package/dist/esm-node/router/runtime/tanstack/dataMutation.mjs +306 -0
  405. package/dist/esm-node/router/runtime/tanstack/plugin.mjs +206 -0
  406. package/dist/esm-node/router/runtime/tanstack/plugin.node.mjs +245 -0
  407. package/dist/esm-node/router/runtime/tanstack/prefetchLink.mjs +19 -0
  408. package/dist/esm-node/router/runtime/tanstack/routeTree.mjs +430 -0
  409. package/dist/esm-node/router/runtime/tanstack/rsc/ClientSlot.mjs +20 -0
  410. package/dist/esm-node/router/runtime/tanstack/rsc/CompositeComponent.mjs +42 -0
  411. package/dist/esm-node/router/runtime/tanstack/rsc/ReplayableStream.mjs +105 -0
  412. package/dist/esm-node/router/runtime/tanstack/rsc/RscNodeRenderer.mjs +32 -0
  413. package/dist/esm-node/router/runtime/tanstack/rsc/SlotContext.mjs +18 -0
  414. package/dist/esm-node/router/runtime/tanstack/rsc/client.mjs +54 -0
  415. package/dist/esm-node/router/runtime/tanstack/rsc/createRscProxy.mjs +108 -0
  416. package/dist/esm-node/router/runtime/tanstack/rsc/index.mjs +2 -0
  417. package/dist/esm-node/router/runtime/tanstack/rsc/server.mjs +201 -0
  418. package/dist/esm-node/router/runtime/tanstack/rsc/slotUsageSanitizer.mjs +32 -0
  419. package/dist/esm-node/router/runtime/tanstack/rsc/symbols.mjs +18 -0
  420. package/dist/esm-node/router/runtime/types.mjs +1 -0
  421. package/dist/esm-node/router/runtime/utils.mjs +175 -0
  422. package/dist/esm-node/router/runtime/withRouter.mjs +15 -0
  423. package/dist/esm-node/rsc/client.mjs +4 -0
  424. package/dist/esm-node/rsc/server.mjs +2 -0
  425. package/dist/esm-node/ssr/index.node.mjs +45 -0
  426. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.after.mjs +51 -0
  427. package/dist/esm-node/ssr/serverRender/renderToString/entry.mjs +149 -0
  428. package/dist/esm-node/ssr/serverRender/types.mjs +2 -0
  429. package/dist/types/cache/index.d.ts +1 -0
  430. package/dist/types/cli/alias.d.ts +7 -0
  431. package/dist/types/cli/code.d.ts +3 -0
  432. package/dist/types/cli/constants.d.ts +9 -0
  433. package/dist/types/cli/entry.d.ts +2 -0
  434. package/dist/types/cli/index.d.ts +11 -0
  435. package/dist/types/cli/ssr/index.d.ts +6 -0
  436. package/dist/types/cli/ssr/loadable-bundler-plugin.d.ts +31 -0
  437. package/dist/types/cli/ssr/mode.d.ts +15 -0
  438. package/dist/types/cli/template.d.ts +50 -0
  439. package/dist/types/cli/template.server.d.ts +20 -0
  440. package/dist/types/common.d.ts +8 -0
  441. package/dist/types/core/browser/hydrate.d.ts +5 -0
  442. package/dist/types/core/browser/index.d.ts +9 -0
  443. package/dist/types/core/browser/withCallback.d.ts +5 -0
  444. package/dist/types/core/compat/hooks.d.ts +4 -0
  445. package/dist/types/core/compat/index.d.ts +2 -0
  446. package/dist/types/core/compat/requestContext.d.ts +5 -0
  447. package/dist/types/core/config.d.ts +6 -0
  448. package/dist/types/core/constants.d.ts +6 -0
  449. package/dist/types/core/context/index.d.ts +50 -0
  450. package/dist/types/core/context/monitors/default.d.ts +2 -0
  451. package/dist/types/core/context/monitors/index.d.ts +1 -0
  452. package/dist/types/core/context/monitors/index.server.d.ts +2 -0
  453. package/dist/types/core/context/request/index.d.ts +1 -0
  454. package/dist/types/core/context/request/index.server.d.ts +1 -0
  455. package/dist/types/core/context/response/index.d.ts +4 -0
  456. package/dist/types/core/context/response/index.server.d.ts +7 -0
  457. package/dist/types/core/context/runtime.d.ts +42 -0
  458. package/dist/types/core/context/serverPayload/index.d.ts +4 -0
  459. package/dist/types/core/context/serverPayload/index.server.d.ts +31 -0
  460. package/dist/types/core/index.d.ts +5 -0
  461. package/dist/types/core/plugin/index.d.ts +4 -0
  462. package/dist/types/core/plugin/types.d.ts +10 -0
  463. package/dist/types/core/react/index.d.ts +2 -0
  464. package/dist/types/core/react/wrapper.d.ts +3 -0
  465. package/dist/types/core/server/constants.d.ts +4 -0
  466. package/dist/types/core/server/helmet.d.ts +3 -0
  467. package/dist/types/core/server/index.d.ts +4 -0
  468. package/dist/types/core/server/react/index.d.ts +2 -0
  469. package/dist/types/core/server/react/no-ssr-cache/index.d.ts +2 -0
  470. package/dist/types/core/server/react/nossr/index.d.ts +4 -0
  471. package/dist/types/core/server/requestHandler.d.ts +13 -0
  472. package/dist/types/core/server/server.d.ts +4 -0
  473. package/dist/types/core/server/shared.d.ts +8 -0
  474. package/dist/types/core/server/stream/afterTemplate.d.ts +13 -0
  475. package/dist/types/core/server/stream/beforeTemplate.d.ts +9 -0
  476. package/dist/types/core/server/stream/createReadableStream.d.ts +2 -0
  477. package/dist/types/core/server/stream/createReadableStream.worker.d.ts +2 -0
  478. package/dist/types/core/server/stream/deferredScript.d.ts +15 -0
  479. package/dist/types/core/server/stream/index.d.ts +1 -0
  480. package/dist/types/core/server/stream/shared.d.ts +33 -0
  481. package/dist/types/core/server/stream/template.d.ts +9 -0
  482. package/dist/types/core/server/string/index.d.ts +2 -0
  483. package/dist/types/core/server/string/loadable.d.ts +36 -0
  484. package/dist/types/core/server/string/ssrData.d.ts +20 -0
  485. package/dist/types/core/server/string/types.d.ts +12 -0
  486. package/dist/types/core/server/tracer.d.ts +17 -0
  487. package/dist/types/core/server/utils.d.ts +29 -0
  488. package/dist/types/core/types.d.ts +49 -0
  489. package/dist/types/document/Body.d.ts +2 -0
  490. package/dist/types/document/Comment.d.ts +5 -0
  491. package/dist/types/document/DocumentContext.d.ts +13 -0
  492. package/dist/types/document/DocumentStructureContext.d.ts +12 -0
  493. package/dist/types/document/Head.d.ts +5 -0
  494. package/dist/types/document/Html.d.ts +4 -0
  495. package/dist/types/document/Links.d.ts +2 -0
  496. package/dist/types/document/Root.d.ts +7 -0
  497. package/dist/types/document/Script.d.ts +4 -0
  498. package/dist/types/document/Scripts.d.ts +2 -0
  499. package/dist/types/document/Style.d.ts +5 -0
  500. package/dist/types/document/Title.d.ts +1 -0
  501. package/dist/types/document/cli/index.d.ts +5 -0
  502. package/dist/types/document/constants.d.ts +25 -0
  503. package/dist/types/document/index.d.ts +12 -0
  504. package/dist/types/exports/config-routes.d.ts +9 -0
  505. package/dist/types/exports/head.d.ts +4 -0
  506. package/dist/types/exports/loadable.d.ts +3 -0
  507. package/dist/types/exports/tanstack-router.d.ts +5 -0
  508. package/dist/types/index.d.ts +10 -0
  509. package/dist/types/internal.d.ts +2 -0
  510. package/dist/types/react-server.d.ts +3 -0
  511. package/dist/types/router/cli/code/getClientRoutes/getRoutes.d.ts +8 -0
  512. package/dist/types/router/cli/code/getClientRoutes/index.d.ts +1 -0
  513. package/dist/types/router/cli/code/getClientRoutes/utils.d.ts +4 -0
  514. package/dist/types/router/cli/code/index.d.ts +12 -0
  515. package/dist/types/router/cli/code/inspect.d.ts +22 -0
  516. package/dist/types/router/cli/code/makeLegalIdentifier.d.ts +1 -0
  517. package/dist/types/router/cli/code/nestedRoutes.d.ts +13 -0
  518. package/dist/types/router/cli/code/tanstackTypes.d.ts +10 -0
  519. package/dist/types/router/cli/code/templates.d.ts +28 -0
  520. package/dist/types/router/cli/code/utils.d.ts +12 -0
  521. package/dist/types/router/cli/config-routes/converter.d.ts +15 -0
  522. package/dist/types/router/cli/config-routes/parseRouteConfig.d.ts +32 -0
  523. package/dist/types/router/cli/constants.d.ts +31 -0
  524. package/dist/types/router/cli/entry.d.ts +18 -0
  525. package/dist/types/router/cli/handler.d.ts +28 -0
  526. package/dist/types/router/cli/index.d.ts +5 -0
  527. package/dist/types/router/index.d.ts +1 -0
  528. package/dist/types/router/internal.d.ts +2 -0
  529. package/dist/types/router/runtime/CSSLinks.d.ts +9 -0
  530. package/dist/types/router/runtime/DefaultNotFound.d.ts +2 -0
  531. package/dist/types/router/runtime/DeferredDataScripts.d.ts +2 -0
  532. package/dist/types/router/runtime/DeferredDataScripts.node.d.ts +11 -0
  533. package/dist/types/router/runtime/PrefetchLink.d.ts +27 -0
  534. package/dist/types/router/runtime/constants.d.ts +146 -0
  535. package/dist/types/router/runtime/hooks.d.ts +18 -0
  536. package/dist/types/router/runtime/index.d.ts +7 -0
  537. package/dist/types/router/runtime/internal.d.ts +11 -0
  538. package/dist/types/router/runtime/lifecycle.d.ts +25 -0
  539. package/dist/types/router/runtime/plugin.d.ts +9 -0
  540. package/dist/types/router/runtime/plugin.node.d.ts +7 -0
  541. package/dist/types/router/runtime/routerHelper.d.ts +5 -0
  542. package/dist/types/router/runtime/rsc-router.d.ts +20 -0
  543. package/dist/types/router/runtime/rsc.d.ts +1 -0
  544. package/dist/types/router/runtime/server.d.ts +1 -0
  545. package/dist/types/router/runtime/tanstack/basepathRewrite.d.ts +8 -0
  546. package/dist/types/router/runtime/tanstack/dataMutation.d.ts +29 -0
  547. package/dist/types/router/runtime/tanstack/plugin.d.ts +6 -0
  548. package/dist/types/router/runtime/tanstack/plugin.node.d.ts +6 -0
  549. package/dist/types/router/runtime/tanstack/prefetchLink.d.ts +11 -0
  550. package/dist/types/router/runtime/tanstack/routeTree.d.ts +8 -0
  551. package/dist/types/router/runtime/tanstack/rsc/ClientSlot.d.ts +5 -0
  552. package/dist/types/router/runtime/tanstack/rsc/CompositeComponent.d.ts +3 -0
  553. package/dist/types/router/runtime/tanstack/rsc/ReplayableStream.d.ts +24 -0
  554. package/dist/types/router/runtime/tanstack/rsc/RscNodeRenderer.d.ts +5 -0
  555. package/dist/types/router/runtime/tanstack/rsc/SlotContext.d.ts +11 -0
  556. package/dist/types/router/runtime/tanstack/rsc/client.d.ts +11 -0
  557. package/dist/types/router/runtime/tanstack/rsc/createRscProxy.d.ts +7 -0
  558. package/dist/types/router/runtime/tanstack/rsc/index.d.ts +2 -0
  559. package/dist/types/router/runtime/tanstack/rsc/server.d.ts +14 -0
  560. package/dist/types/router/runtime/tanstack/rsc/slotUsageSanitizer.d.ts +2 -0
  561. package/dist/types/router/runtime/tanstack/rsc/symbols.d.ts +46 -0
  562. package/dist/types/router/runtime/types.d.ts +119 -0
  563. package/dist/types/router/runtime/utils.d.ts +48 -0
  564. package/dist/types/router/runtime/withRouter.d.ts +10 -0
  565. package/dist/types/rsc/client.d.ts +2 -0
  566. package/dist/types/rsc/server.d.ts +1 -0
  567. package/package.json +268 -0
  568. package/rslib.config.mts +19 -0
  569. package/rstest.config.mts +88 -0
  570. package/scripts/gen-static.mts +29 -0
  571. package/static/modern-inline.js +1 -0
  572. package/static/modern-run-router-data-fn.js +1 -0
  573. package/static/modern-run-window-fn.js +1 -0
  574. package/tsconfig.tsgo.json +6 -0
@@ -0,0 +1,28 @@
1
+ import type { AppNormalizedConfig, AppToolsContext } from '@modern-js/app-tools';
2
+ import type { Entrypoint, NestedRouteForCli, PageRoute, RouteLegacy, SSRMode } from '@modern-js/types';
3
+ export declare const routesForServer: ({ routesForServerLoaderMatches, }: {
4
+ routesForServerLoaderMatches: (NestedRouteForCli | PageRoute)[];
5
+ }) => string;
6
+ export declare const fileSystemRoutes: ({ metaName, routes, ssrMode, nestedRoutesEntry, entryName, internalDirectory, splitRouteChunks, isRscClientBundle, srcDirectory, internalSrcAlias, }: {
7
+ metaName: string;
8
+ routes: RouteLegacy[] | (NestedRouteForCli | PageRoute)[];
9
+ ssrMode?: SSRMode;
10
+ nestedRoutesEntry?: string;
11
+ entryName: string;
12
+ internalDirectory: string;
13
+ splitRouteChunks?: boolean;
14
+ isRscClientBundle?: boolean;
15
+ srcDirectory?: string;
16
+ internalSrcAlias?: string;
17
+ }) => Promise<string>;
18
+ export declare function ssrLoaderCombinedModule(entrypoints: Entrypoint[], entrypoint: Entrypoint, config: AppNormalizedConfig, appContext: AppToolsContext): string | null;
19
+ export declare const runtimeGlobalContext: ({ entryName, metaName, srcDirectory, nestedRoutesEntry, internalSrcAlias, globalApp, rscType, basename, }: {
20
+ entryName: string;
21
+ metaName: string;
22
+ srcDirectory: string;
23
+ nestedRoutesEntry?: string;
24
+ internalSrcAlias: string;
25
+ globalApp?: string | false;
26
+ rscType?: 'server' | 'client' | false;
27
+ basename?: string;
28
+ }) => Promise<string>;
@@ -0,0 +1,12 @@
1
+ export declare const walkDirectory: (dir: string) => string[];
2
+ export declare const isPageComponentFile: (filePath: string) => boolean;
3
+ export declare const replaceWithAlias: (base: string, filePath: string, alias: string) => string;
4
+ export declare const parseModule: ({ source, filename, }: {
5
+ source: string;
6
+ filename: string;
7
+ }) => Promise<readonly [imports: readonly import("es-module-lexer").ImportSpecifier[], exports: readonly import("es-module-lexer").ExportSpecifier[], facade: boolean, hasModuleSyntax: boolean]>;
8
+ export declare const hasLoader: (filename: string, source?: string) => Promise<boolean>;
9
+ export declare const hasAction: (filename: string, source?: string) => Promise<boolean>;
10
+ export declare const getServerLoadersFile: (internalDirectory: string, entryName: string) => string;
11
+ export declare const getServerCombinedModuleFile: (internalDirectory: string, entryName: string) => string;
12
+ export declare const getPathWithoutExt: (filename: string) => string;
@@ -0,0 +1,15 @@
1
+ import type { NestedRouteForCli } from '@modern-js/types';
2
+ /**
3
+ * Process config-based routes: generate route id, normalize paths and discover related files.
4
+ * Data structure is unified to NestedRouteForCli, only metadata needs to be enriched.
5
+ */
6
+ export declare function processConfigRoutes(configRoutes: NestedRouteForCli[], entryName: string, isMainEntry: boolean, configRoutesDir: string, alias?: {
7
+ name: string;
8
+ basename: string;
9
+ }): Promise<NestedRouteForCli[]>;
10
+ /**
11
+ * Remove all `component` fields from a routes tree
12
+ * @param generatedRoutes - generated routes array
13
+ * @returns routes with `component` field removed
14
+ */
15
+ export declare function normalizeRoutes(generatedRoutes: NestedRouteForCli[]): NestedRouteForCli[];
@@ -0,0 +1,32 @@
1
+ import type { AppToolsContext } from '@modern-js/app-tools';
2
+ import type { Entrypoint, NestedRouteForCli } from '@modern-js/types';
3
+ /**
4
+ * Type definitions for config-based routing
5
+ */
6
+ export type RouteConfig = NestedRouteForCli;
7
+ export type RouteFunction = {
8
+ (component: string, path?: string, children?: RouteConfig[]): RouteConfig;
9
+ (component: string, children?: RouteConfig[]): RouteConfig;
10
+ };
11
+ export type LayoutFunction = {
12
+ (component: string, path?: string, children?: RouteConfig[]): RouteConfig;
13
+ (component: string, children?: RouteConfig[]): RouteConfig;
14
+ };
15
+ export type PageFunction = (component: string, path?: string) => RouteConfig;
16
+ export type WildcardFunction = (component: string, path?: string) => RouteConfig;
17
+ export interface RouteFunctions {
18
+ route: RouteFunction;
19
+ layout: LayoutFunction;
20
+ page: PageFunction;
21
+ $: WildcardFunction;
22
+ }
23
+ export type DefineRoutesFunction = (routesCallback: (routeFunctions: RouteFunctions, fileRoutes: RouteConfig[]) => RouteConfig[]) => (routeFunctions: RouteFunctions, fileRoutes: RouteConfig[]) => RouteConfig[];
24
+ export interface ConfigRouteFile {
25
+ entryName: string;
26
+ filePath: string;
27
+ routes: NestedRouteForCli[];
28
+ isMainEntry: boolean;
29
+ }
30
+ export declare function findConfigRoutesFile(entrypoint: Entrypoint, appContext: AppToolsContext): Promise<string | null>;
31
+ export declare function parseConfigRoutesFile(filePath: string, entrypoint: Entrypoint, fileRoutes?: NestedRouteForCli[]): Promise<ConfigRouteFile>;
32
+ export declare function discoverAndParseConfigRoutes(entrypoint: Entrypoint, appContext: AppToolsContext, fileRoutes?: NestedRouteForCli[]): Promise<ConfigRouteFile | null>;
@@ -0,0 +1,31 @@
1
+ export declare const NESTED_ROUTES_DIR = "routes";
2
+ export declare const FILE_SYSTEM_ROUTES_FILE_NAME = "routes.js";
3
+ export declare const LOADER_EXPORT_NAME = "loader";
4
+ export declare const ACTION_EXPORT_NAME = "action";
5
+ export declare const TEMP_LOADERS_DIR = "__loaders__";
6
+ export declare const FILE_SYSTEM_ROUTES_INDEX = "index";
7
+ export declare const FILE_SYSTEM_ROUTES_IGNORED_REGEX: RegExp;
8
+ export declare const FILE_SYSTEM_ROUTES_DYNAMIC_REGEXP: RegExp;
9
+ export declare const FILE_SYSTEM_ROUTES_COMPONENTS_DIR = "internal_components";
10
+ export declare const APP_CONFIG_NAME = "config";
11
+ export declare const APP_INIT_EXPORTED = "init";
12
+ export declare const NESTED_ROUTE: {
13
+ LAYOUT_FILE: string;
14
+ LAYOUT_CONFIG_FILE: string;
15
+ LAYOUT_LOADER_FILE: string;
16
+ LAYOUT_DATA_FILE: string;
17
+ LAYOUT_CLIENT_LOADER: string;
18
+ PAGE_FILE: string;
19
+ PAGE_CONFIG_FILE: string;
20
+ PAGE_LOADER_FILE: string;
21
+ PAGE_DATA_FILE: string;
22
+ PAGE_CLIENT_LOADER: string;
23
+ SPLATE_FILE: string;
24
+ SPLATE_CONFIG_FILE: string;
25
+ SPLATE_LOADER_FILE: string;
26
+ SPLATE_DATA_FILE: string;
27
+ SPLATE_CLIENT_DATA: string;
28
+ LOADING_FILE: string;
29
+ ERROR_FILE: string;
30
+ LOADER_FILE: string;
31
+ };
@@ -0,0 +1,18 @@
1
+ import type { Entrypoint } from '@modern-js/types';
2
+ export declare const ROUTES_DIR_META_KEY = "__modernRoutesDir";
3
+ export declare const ROUTES_OWNER_META_KEY = "__modernRoutesOwner";
4
+ export declare const BUILT_IN_ROUTES_OWNER = "@modern-js/plugin-router";
5
+ export type EntrypointWithRoutesMeta = Entrypoint & {
6
+ [ROUTES_DIR_META_KEY]?: string;
7
+ [ROUTES_OWNER_META_KEY]?: string;
8
+ };
9
+ export declare const getEntrypointRoutesDir: (entrypoint: {
10
+ [ROUTES_DIR_META_KEY]?: string;
11
+ nestedRoutesEntry?: string;
12
+ }) => string | null;
13
+ export declare const getEntrypointRoutesOwner: (entrypoint: {
14
+ [ROUTES_OWNER_META_KEY]?: string;
15
+ }) => string | null;
16
+ export declare const hasNestedRoutes: (dir: string, routesDir?: string) => boolean;
17
+ export declare const isRouteEntry: (dir: string, routesDir?: string) => string | false;
18
+ export declare const modifyEntrypoints: (entrypoints: Entrypoint[], routesDir?: string, routesOwner?: string) => EntrypointWithRoutesMeta[];
@@ -0,0 +1,28 @@
1
+ import type { AppNormalizedConfig, AppTools } from '@modern-js/app-tools';
2
+ import type { CLIPluginAPI } from '@modern-js/plugin';
3
+ import type { Entrypoint, NestedRouteForCli, PageRoute } from '@modern-js/types';
4
+ type GeneratedRoutesByEntry = Record<string, (NestedRouteForCli | PageRoute)[]>;
5
+ type RegenerateRoutesFn = (params: {
6
+ api: CLIPluginAPI<AppTools>;
7
+ appContext: ReturnType<CLIPluginAPI<AppTools>['getAppContext']>;
8
+ resolvedConfig: AppNormalizedConfig;
9
+ entrypoints: Entrypoint[];
10
+ }) => Promise<void>;
11
+ type HandleGeneratorEntryCodeOptions = {
12
+ entrypointsKey?: string;
13
+ generateCodeOptions?: {
14
+ enableTanstackTypes?: boolean;
15
+ };
16
+ };
17
+ type HandleFileChangeOptions = {
18
+ includeEntry?: (entrypoint: Entrypoint) => boolean;
19
+ regenerate?: RegenerateRoutesFn;
20
+ entrypointsKey?: string;
21
+ };
22
+ type HandleModifyEntrypointsOptions = {
23
+ routesOwner?: string;
24
+ };
25
+ export declare function handleModifyEntrypoints(entrypoints: Entrypoint[], routesDir?: string, options?: HandleModifyEntrypointsOptions): Promise<import("./entry").EntrypointWithRoutesMeta[]>;
26
+ export declare function handleGeneratorEntryCode(api: CLIPluginAPI<AppTools>, entrypoints: Entrypoint[], options?: HandleGeneratorEntryCodeOptions | string): Promise<GeneratedRoutesByEntry>;
27
+ export declare function handleFileChange(api: CLIPluginAPI<AppTools>, e: any, options?: HandleFileChangeOptions): Promise<void>;
28
+ export {};
@@ -0,0 +1,5 @@
1
+ import type { AppTools, CliPlugin } from '@modern-js/app-tools';
2
+ export { BUILT_IN_ROUTES_OWNER, getEntrypointRoutesDir, getEntrypointRoutesOwner, isRouteEntry, } from './entry';
3
+ export { handleFileChange, handleGeneratorEntryCode, handleModifyEntrypoints, } from './handler';
4
+ export declare const routerPlugin: () => CliPlugin<AppTools>;
5
+ export default routerPlugin;
@@ -0,0 +1 @@
1
+ export * from './runtime';
@@ -0,0 +1,2 @@
1
+ export * from './runtime/internal';
2
+ export { routerPlugin as default } from './runtime/internal';
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ /**
3
+ * Server Component that renders CSS link tags
4
+ * These will be serialized into RSC payload and automatically handled by React on client
5
+ * React will automatically hoist these link tags to the head
6
+ */
7
+ export declare function CSSLinks({ cssFiles }: {
8
+ cssFiles: string[];
9
+ }): React.JSX.Element | null;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const DefaultNotFound: () => React.JSX.Element;
@@ -0,0 +1,2 @@
1
+ declare const _default: () => null;
2
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import type { StaticHandlerContext } from '@modern-js/runtime-utils/router';
2
+ /**
3
+ * DeferredDataScripts only renders in server side,
4
+ * it doesn't need to be hydrated in client side.
5
+ */
6
+ declare const DeferredDataScripts: (props?: {
7
+ nonce?: string;
8
+ useJsonScript?: boolean;
9
+ context: StaticHandlerContext;
10
+ }) => import("react").JSX.Element | null;
11
+ export default DeferredDataScripts;
@@ -0,0 +1,27 @@
1
+ import { type LinkProps as RouterLinkProps, type NavLinkProps as RouterNavLinkProps } from '@modern-js/runtime-utils/router';
2
+ import React from 'react';
3
+ /**
4
+ * Modified from https://github.com/remix-run/remix/blob/9a0601bd704d2f3ee622e0ddacab9b611eb0c5bc/packages/remix-react/components.tsx#L218
5
+ *
6
+ * MIT Licensed
7
+ * Author Michael Jackson
8
+ * Copyright 2021 Remix Software Inc.
9
+ * https://github.com/remix-run/remix/blob/2b5e1a72fc628d0408e27cf4d72e537762f1dc5b/LICENSE.md
10
+ */
11
+ /**
12
+ * Defines the prefetching behavior of the link:
13
+ *
14
+ * - "intent": Fetched when the user focuses or hovers the link
15
+ * - "render": Fetched when the link is rendered
16
+ * - "none": Never fetched
17
+ */
18
+ type PrefetchBehavior = 'intent' | 'render' | 'none';
19
+ export interface LinkProps extends RouterLinkProps {
20
+ prefetch?: PrefetchBehavior;
21
+ }
22
+ export interface NavLinkProps extends RouterNavLinkProps {
23
+ prefetch?: PrefetchBehavior;
24
+ }
25
+ declare const Link: React.ForwardRefExoticComponent<LinkProps & React.RefAttributes<HTMLAnchorElement>>;
26
+ declare const NavLink: React.ForwardRefExoticComponent<NavLinkProps & React.RefAttributes<HTMLAnchorElement>>;
27
+ export { Link, NavLink };
@@ -0,0 +1,146 @@
1
+ /**
2
+ * setup promises for deferred data
3
+ * original function:
4
+ function setupDeferredPromise(routeId, key) {
5
+ _ROUTER_DATA.r = _ROUTER_DATA.r || {};
6
+ _ROUTER_DATA.r[routeId] = _ROUTER_DATA.r[routeId] || {};
7
+ const promise = new Promise(function (resolve, reject) {
8
+ _ROUTER_DATA.r[routeId][key] = {
9
+ resolve,
10
+ reject,
11
+ };
12
+ });
13
+ return promise;
14
+ };
15
+ *
16
+ */
17
+ export declare const setupFnStr = "function s(r,e){_ROUTER_DATA.r=_ROUTER_DATA.r||{},_ROUTER_DATA.r[r]=_ROUTER_DATA.r[r]||{};return new Promise((function(A,R){_ROUTER_DATA.r[r][e]={resolve:A,reject:R}}))};";
18
+ /**
19
+ * resolve promises for deferred data
20
+ * original function:
21
+ function resolveDeferredPromise(routeId, key, data, error) {
22
+ if (error) {
23
+ _ROUTER_DATA.r[routeId][key].reject(error);
24
+ } else {
25
+ _ROUTER_DATA.r[routeId][key].resolve(data);
26
+ }
27
+ };
28
+ */
29
+ export declare const resolveFnStr = "function r(e,r,o,A){A?_ROUTER_DATA.r[e][r].reject(A):_ROUTER_DATA.r[e][r].resolve(o)};";
30
+ /**
31
+ * update data for pre resolved promises
32
+ * original function:
33
+ * function preResolvedDeferredPromise(data, error) {
34
+ if(typeof error !== 'undefined'){
35
+ return Promise.reject(new Error(error.message));
36
+ }else{
37
+ return Promise.resolve(data);
38
+ }
39
+ }
40
+ */
41
+ export declare const preResolvedFnStr = "function p(e,r){return void 0!==r?Promise.reject(new Error(r.message)):Promise.resolve(e)};";
42
+ /**
43
+ * let initialScripts = '...';
44
+ * initialScripts += Object.entries(activeDeferreds)
45
+ .map(([routeId, deferredData]) => {
46
+ const pendingKeys = new Set(deferredData.pendingKeys);
47
+ const { deferredKeys } = deferredData;
48
+ const deferredKeyPromiseStr = deferredKeys
49
+ .map(key => {
50
+ if (pendingKeys.has(key)) {
51
+ deferredDataScripts.push(
52
+ <DeferredDataScript
53
+ nonce={props?.nonce}
54
+ key={`${routeId} | ${key}`}
55
+ data={deferredData.data[key]}
56
+ dataKey={key}
57
+ routeId={routeId}
58
+ />,
59
+ );
60
+
61
+ return `${JSON.stringify(key)}: _ROUTER_DATA.s(${JSON.stringify(
62
+ routeId,
63
+ )},${JSON.stringify(key)}) `;
64
+ } else {
65
+ const trackedPromise = deferredData.data[key] as TrackedPromise;
66
+ if (typeof trackedPromise._error !== 'undefined') {
67
+ const error = {
68
+ message: trackedPromise._error.message,
69
+ stack:
70
+ process.env.NODE_ENV !== 'production'
71
+ ? trackedPromise._error.stack
72
+ : undefined,
73
+ };
74
+ return `${JSON.stringify(
75
+ key,
76
+ )}: _ROUTER_DATA.p(${undefined}, ${serializeJson(error)})`;
77
+ } else {
78
+ if (typeof trackedPromise._data === 'undefined') {
79
+ throw new Error(
80
+ `The deferred data for ${key} was not resolved, did you forget to return data from a deferred promise`,
81
+ );
82
+ }
83
+ return `${JSON.stringify(key)}: _ROUTER_DATA.p(${serializeJson(
84
+ trackedPromise._data,
85
+ )})`;
86
+ }
87
+ }
88
+ })
89
+ .join(',\n');
90
+
91
+ return `Object.assign(_ROUTER_DATA.loaderData[${JSON.stringify(
92
+ routeId,
93
+ )}], {${deferredKeyPromiseStr}});`;
94
+ })
95
+ .join('\n');
96
+ */
97
+ /**
98
+ * Abstracting the above logic to `mergeLoaderData`:
99
+ * function mergeLoaderData (routeIdJsonStr, deferredKeyPromiseManifests) {
100
+ const source = deferredKeyPromiseManifests.reduce(function(o, {key, routerDataFnName, routerDataFnArgs }) {
101
+ const args = routerDataFnArgs.map(arg => {
102
+ if (arg === 'undefined' || arg === null) {
103
+ return undefined;
104
+ }
105
+ return JSON.parse(arg);
106
+ });
107
+ return {...o, [key]: _ROUTER_DATA[routerDataFnName](...args)};
108
+ }, {});
109
+ Object.assign(_ROUTER_DATA.loaderData[routeIdJsonStr], source);
110
+ };
111
+ */
112
+ export declare const mergeLoaderDataStr = "function mergeLoaderData(e,n){var r=n.reduce((function(e,{key:n,routerDataFnName:r,routerDataFnArgs:a}){var t=a.map((e=>{if(\"undefined\"!==e&&null!==e)return JSON.parse(e)}));return{...e,[n]:_ROUTER_DATA[r](...t)}}),{});_ROUTER_DATA.loaderData=_ROUTER_DATA.loaderData||{},_ROUTER_DATA.loaderData[e]=_ROUTER_DATA.loaderData[e]||{},Object.assign(_ROUTER_DATA.loaderData[e],r)}";
113
+ /**
114
+ * This original string is: ${setupFnStr};${resolveFnStr};${preResolvedFnStr};
115
+ * function mergeData (routeIdJsonStr, deferredKeyPromiseManifests) {
116
+ const source = deferredKeyPromiseManifests.reduce(function(o, {key, routerDataFnName, routerDataFnArgs }) {
117
+ return {...o, [key]: _ROUTER_DATA[routerDataFnName](...routerDataFnArgs)}
118
+ }, {});
119
+ Object.assign(_ROUTER_DATA.loaderData[routeIdJsonStr], source);
120
+ };
121
+ */
122
+ export declare const initRouterDataAttrs = "_ROUTER_DATA.s = function s(r,e){_ROUTER_DATA.r=_ROUTER_DATA.r||{},_ROUTER_DATA.r[r]=_ROUTER_DATA.r[r]||{};return new Promise((function(A,R){_ROUTER_DATA.r[r][e]={resolve:A,reject:R}}))};_ROUTER_DATA.r = function r(e,r,o,A){A?_ROUTER_DATA.r[e][r].reject(A):_ROUTER_DATA.r[e][r].resolve(o)};_ROUTER_DATA.p = function p(e,r){return void 0!==r?Promise.reject(new Error(r.message)):Promise.resolve(e)};function mergeLoaderData(e,n){var r=n.reduce((function(e,{key:n,routerDataFnName:r,routerDataFnArgs:a}){var t=a.map((e=>{if(\"undefined\"!==e&&null!==e)return JSON.parse(e)}));return{...e,[n]:_ROUTER_DATA[r](...t)}}),{});_ROUTER_DATA.loaderData=_ROUTER_DATA.loaderData||{},_ROUTER_DATA.loaderData[e]=_ROUTER_DATA.loaderData[e]||{},Object.assign(_ROUTER_DATA.loaderData[e],r)}";
123
+ /**
124
+ function runWindowFn() {
125
+ window[document.currentScript.getAttribute('data-fn-name')](...JSON.parse(document.currentScript.getAttribute('data-fn-args')))
126
+ }
127
+ function runRouterDataFn() {
128
+ _ROUTER_DATA[document.currentScript.getAttribute('data-fn-name')](...JSON.parse(document.currentScript.getAttribute('data-fn-args')))
129
+ }
130
+ function initRouterData(id) {
131
+ const ele = document.getElementById(id);
132
+ if (ele) {
133
+ try {
134
+ _ROUTER_DATA = JSON.parse(ele.textContent);
135
+ } catch(e) {
136
+ console.error("parse ".concat(id, " error"), t);
137
+ _ROUTER_DATA = {};
138
+ }
139
+ }
140
+ }
141
+ initRouterData();
142
+ ${initRouterDataAttrs}
143
+ */
144
+ export declare const modernInline = "function runWindowFn(){window[document.currentScript.getAttribute(\"data-fn-name\")].apply(window,JSON.parse(document.currentScript.getAttribute(\"data-fn-args\")))}function runRouterDataFn(){_ROUTER_DATA[document.currentScript.getAttribute(\"data-fn-name\")].apply(_ROUTER_DATA,JSON.parse(document.currentScript.getAttribute(\"data-fn-args\")))}function initRouterData(e){var r=document.getElementById(e);if(r)try{_ROUTER_DATA=JSON.parse(r.textContent)}catch(r){console.error(\"parse \".concat(e,\" error\"),t),_ROUTER_DATA={}}};initRouterData('__MODERN_ROUTER_DATA__');_ROUTER_DATA.s = function s(r,e){_ROUTER_DATA.r=_ROUTER_DATA.r||{},_ROUTER_DATA.r[r]=_ROUTER_DATA.r[r]||{};return new Promise((function(A,R){_ROUTER_DATA.r[r][e]={resolve:A,reject:R}}))};_ROUTER_DATA.r = function r(e,r,o,A){A?_ROUTER_DATA.r[e][r].reject(A):_ROUTER_DATA.r[e][r].resolve(o)};_ROUTER_DATA.p = function p(e,r){return void 0!==r?Promise.reject(new Error(r.message)):Promise.resolve(e)};function mergeLoaderData(e,n){var r=n.reduce((function(e,{key:n,routerDataFnName:r,routerDataFnArgs:a}){var t=a.map((e=>{if(\"undefined\"!==e&&null!==e)return JSON.parse(e)}));return{...e,[n]:_ROUTER_DATA[r](...t)}}),{});_ROUTER_DATA.loaderData=_ROUTER_DATA.loaderData||{},_ROUTER_DATA.loaderData[e]=_ROUTER_DATA.loaderData[e]||{},Object.assign(_ROUTER_DATA.loaderData[e],r)}";
145
+ export declare const runRouterDataFnStr = "runRouterDataFn();";
146
+ export declare const runWindowFnStr = "runWindowFn();";
@@ -0,0 +1,18 @@
1
+ import type { RouteObject } from '@modern-js/runtime-utils/router';
2
+ import type { TRuntimeContext } from '../../core/context/runtime';
3
+ import type { RouterLifecycleContext } from './lifecycle';
4
+ declare const modifyRoutes: import("@modern-js/plugin").SyncHook<(routes: RouteObject[]) => RouteObject[]>;
5
+ declare const onBeforeCreateRoutes: import("@modern-js/plugin").SyncHook<(context: TRuntimeContext) => void>;
6
+ declare const onBeforeCreateRouter: import("@modern-js/plugin").SyncHook<(context: RouterLifecycleContext) => void>;
7
+ declare const onAfterCreateRouter: import("@modern-js/plugin").SyncHook<(context: RouterLifecycleContext) => void>;
8
+ declare const onBeforeHydrateRouter: import("@modern-js/plugin").SyncHook<(context: RouterLifecycleContext) => void>;
9
+ declare const onAfterHydrateRouter: import("@modern-js/plugin").SyncHook<(context: RouterLifecycleContext) => void>;
10
+ export { modifyRoutes, onAfterCreateRouter, onAfterHydrateRouter, onBeforeCreateRouter, onBeforeCreateRoutes, onBeforeHydrateRouter, };
11
+ export type RouterExtendsHooks = {
12
+ modifyRoutes: typeof modifyRoutes;
13
+ onBeforeCreateRoutes: typeof onBeforeCreateRoutes;
14
+ onBeforeCreateRouter: typeof onBeforeCreateRouter;
15
+ onAfterCreateRouter: typeof onAfterCreateRouter;
16
+ onBeforeHydrateRouter: typeof onBeforeHydrateRouter;
17
+ onAfterHydrateRouter: typeof onAfterHydrateRouter;
18
+ };
@@ -0,0 +1,7 @@
1
+ import { useRouteLoaderData as useRouteData } from '@modern-js/runtime-utils/router';
2
+ export * from '@modern-js/runtime-utils/router';
3
+ export type { LinkProps, NavLinkProps } from './PrefetchLink';
4
+ export { Link, NavLink } from './PrefetchLink';
5
+ export declare const useRouteLoaderData: typeof useRouteData;
6
+ export type { LoaderFunction, LoaderFunctionArgs } from './types';
7
+ export * from './withRouter';
@@ -0,0 +1,11 @@
1
+ import type { RuntimePlugin } from '../../core';
2
+ import type { RouterExtendsHooks } from './hooks';
3
+ import type { RouterConfig, SingleRouteConfig } from './types';
4
+ export declare const routerPlugin: (userConfig?: Partial<RouterConfig>) => RuntimePlugin<{
5
+ extendHooks: RouterExtendsHooks;
6
+ }>;
7
+ export default routerPlugin;
8
+ export type { RouterExtendsHooks } from './hooks';
9
+ export { modifyRoutes } from './plugin';
10
+ export { renderRoutes } from './utils';
11
+ export type { RouterConfig, SingleRouteConfig };
@@ -0,0 +1,25 @@
1
+ import type { RouteObject } from '@modern-js/runtime-utils/router';
2
+ import type { TInternalRuntimeContext } from '../../core/context/runtime';
3
+ import type { InternalRouterRuntimeState, InternalRouterServerSnapshot, RouterFramework, RouterRouteMatchSnapshot, RouterServerPrepareResult } from './types';
4
+ export type RouterLifecyclePhase = 'ssr-prepare' | 'client-create' | 'hydrate';
5
+ export type RouterLifecycleContext = {
6
+ framework: RouterFramework;
7
+ phase: RouterLifecyclePhase;
8
+ routes: RouteObject[];
9
+ runtimeContext: TInternalRuntimeContext;
10
+ basename?: string;
11
+ hydrationData?: unknown;
12
+ router?: unknown;
13
+ matches?: RouterRouteMatchSnapshot[];
14
+ cleanup?: () => void | Promise<void>;
15
+ serverSnapshot?: InternalRouterServerSnapshot;
16
+ };
17
+ type RouterSnapshotLike = Partial<InternalRouterServerSnapshot>;
18
+ export declare function createRouterServerSnapshot(state: RouterSnapshotLike): InternalRouterServerSnapshot;
19
+ export declare function createRouterRuntimeState(state: InternalRouterRuntimeState): InternalRouterRuntimeState;
20
+ export declare function applyRouterRuntimeState(runtimeContext: TInternalRuntimeContext, state: InternalRouterRuntimeState): TInternalRuntimeContext;
21
+ export declare function applyRouterServerPrepareResult(runtimeContext: TInternalRuntimeContext, result: RouterServerPrepareResult): TInternalRuntimeContext;
22
+ export declare function getRouterHydrationScripts(runtimeContext: TInternalRuntimeContext): string[];
23
+ export declare function getRouterMatchedRouteIds(runtimeContext: TInternalRuntimeContext): string[] | undefined;
24
+ export declare function cleanupRouterRuntimeState(runtimeContext: TInternalRuntimeContext): Promise<void>;
25
+ export {};
@@ -0,0 +1,9 @@
1
+ import { type RuntimePlugin } from '../../core';
2
+ import { type RouterExtendsHooks } from './hooks';
3
+ import type { RouterConfig, Routes } from './types';
4
+ export declare let finalRouteConfig: RouterConfig['routesConfig'];
5
+ export declare let beforeCreateRouter: boolean;
6
+ export declare function modifyRoutes(modifyFunction: (routes: Routes) => Routes): void;
7
+ export declare const routerPlugin: (userConfig?: Partial<RouterConfig>) => RuntimePlugin<{
8
+ extendHooks: RouterExtendsHooks;
9
+ }>;
@@ -0,0 +1,7 @@
1
+ import type { RuntimePlugin } from '../../core';
2
+ import { type RouterExtendsHooks } from './hooks';
3
+ import type { RouterConfig } from './types';
4
+ export declare const routerPlugin: (userConfig?: Partial<RouterConfig>) => RuntimePlugin<{
5
+ extendHooks: RouterExtendsHooks;
6
+ }>;
7
+ export declare const modifyRoutes: () => void;
@@ -0,0 +1,5 @@
1
+ import type { ShouldRevalidateFunction } from '@modern-js/runtime-utils/router';
2
+ import type Module from 'module';
3
+ export declare const createShouldRevalidate: (routeId: string) => ShouldRevalidateFunction;
4
+ export declare const handleRouteModule: (routeModule: Module, routeId: string) => Module;
5
+ export declare const handleRouteModuleError: (error: Error) => null;
@@ -0,0 +1,20 @@
1
+ import { type RouteObject, type StaticHandlerContext } from '@modern-js/runtime-utils/router';
2
+ import React from 'react';
3
+ import type { ServerPayload } from '../../core/context';
4
+ import type { RouteManifest } from './types';
5
+ declare global {
6
+ interface Window {
7
+ _MODERNJS_ROUTE_MANIFEST?: RouteManifest;
8
+ __webpack_public_path__?: string;
9
+ }
10
+ }
11
+ export declare const createServerPayload: (routerContext: StaticHandlerContext, routes: RouteObject[]) => ServerPayload;
12
+ export declare const handleRSCRedirect: (headers: Headers, basename: string, status: number) => Response;
13
+ export declare const prepareRSCRoutes: (routes: RouteObject[]) => Promise<void>;
14
+ export declare const createClientRouterFromPayload: (payload: ServerPayload, originalRoutes: RouteObject[], basename?: string) => import("react-router").DataRouter;
15
+ interface RSCStaticRouterProps {
16
+ basename?: string;
17
+ useJsonScript?: boolean;
18
+ }
19
+ export declare const RSCStaticRouter: React.FC<RSCStaticRouterProps>;
20
+ export {};
@@ -0,0 +1 @@
1
+ export * from '@modern-js/runtime-utils/router/rsc';
@@ -0,0 +1 @@
1
+ export * from '@modern-js/runtime-utils/router';
@@ -0,0 +1,8 @@
1
+ export declare function createModernBasepathRewrite(basepath: string, caseSensitive?: boolean): {
2
+ input: ({ url }: {
3
+ url: URL;
4
+ }) => URL;
5
+ output: ({ url }: {
6
+ url: URL;
7
+ }) => URL;
8
+ } | undefined;
@@ -0,0 +1,29 @@
1
+ import type React from 'react';
2
+ type SubmitTarget = HTMLFormElement | FormData | URLSearchParams | Record<string, string | number | boolean | null | undefined>;
3
+ export type SubmitOptions = {
4
+ action?: string;
5
+ method?: string;
6
+ encType?: string;
7
+ };
8
+ export type FetcherState = 'idle' | 'submitting' | 'loading';
9
+ export declare class RouteActionResponseError<TData = unknown> extends Error {
10
+ readonly response: Response;
11
+ readonly data: TData;
12
+ constructor(response: Response, data: TData);
13
+ }
14
+ export type FormProps = Omit<React.FormHTMLAttributes<HTMLFormElement>, 'onSubmit' | 'action'> & {
15
+ action?: string;
16
+ onSubmit?: React.FormEventHandler<HTMLFormElement>;
17
+ reloadDocument?: boolean;
18
+ };
19
+ export declare function Form({ action, method, encType, reloadDocument, onSubmit, ...rest }: FormProps): React.JSX.Element;
20
+ export type FetcherSubmitOptions = SubmitOptions;
21
+ export type Fetcher = {
22
+ state: FetcherState;
23
+ data: unknown;
24
+ error: unknown;
25
+ Form: React.ComponentType<FormProps>;
26
+ submit: (target: SubmitTarget, options?: FetcherSubmitOptions) => Promise<void>;
27
+ };
28
+ export declare function useFetcher(): Fetcher;
29
+ export {};
@@ -0,0 +1,6 @@
1
+ import type { RuntimePlugin } from '../../../core';
2
+ import { type RouterExtendsHooks } from '../hooks';
3
+ import type { RouterConfig } from '../types';
4
+ export declare const tanstackRouterPlugin: (userConfig?: Partial<RouterConfig>) => RuntimePlugin<{
5
+ extendHooks: RouterExtendsHooks;
6
+ }>;
@@ -0,0 +1,6 @@
1
+ import type { RuntimePlugin } from '../../../core';
2
+ import type { RouterExtendsHooks } from '../hooks';
3
+ import type { RouterConfig } from '../types';
4
+ export declare const tanstackRouterPlugin: (userConfig?: Partial<RouterConfig>) => RuntimePlugin<{
5
+ extendHooks: RouterExtendsHooks;
6
+ }>;
@@ -0,0 +1,11 @@
1
+ import { type AnyRouter, type LinkComponentProps, type RegisteredRouter } from '@tanstack/react-router';
2
+ import type { ReactElement } from 'react';
3
+ export type PrefetchBehavior = 'intent' | 'render' | 'viewport' | 'none';
4
+ export type LinkProps<TRouter extends AnyRouter = RegisteredRouter, TFrom extends string = string, TTo extends string | undefined = '.', TMaskFrom extends string = TFrom, TMaskTo extends string = '.'> = LinkComponentProps<'a', TRouter, TFrom, TTo, TMaskFrom, TMaskTo> & {
5
+ prefetch?: PrefetchBehavior;
6
+ };
7
+ export type NavLinkProps<TRouter extends AnyRouter = RegisteredRouter, TFrom extends string = string, TTo extends string | undefined = '.', TMaskFrom extends string = TFrom, TMaskTo extends string = '.'> = LinkProps<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>;
8
+ type LinkComponent = <TRouter extends AnyRouter = RegisteredRouter, const TFrom extends string = string, const TTo extends string | undefined = undefined, const TMaskFrom extends string = TFrom, const TMaskTo extends string = ''>(props: LinkProps<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>) => ReactElement;
9
+ export declare const Link: LinkComponent;
10
+ export declare const NavLink: LinkComponent;
11
+ export {};
@@ -0,0 +1,8 @@
1
+ import type { RouteObject } from '@modern-js/runtime-utils/router';
2
+ import type { NestedRoute, PageRoute } from '@modern-js/types';
3
+ import type { AnyRouter, RootRoute as TanstackRootRoute } from '@tanstack/react-router';
4
+ type ModernTanstackRootRoute = TanstackRootRoute;
5
+ export declare function createRouteTreeFromModernRoutes(routes: Array<NestedRoute | PageRoute>): ModernTanstackRootRoute;
6
+ export declare function createRouteTreeFromRouteObjects(routes: RouteObject[]): ModernTanstackRootRoute;
7
+ export declare function getModernRouteIdsFromMatches(router: AnyRouter): string[];
8
+ export {};
@@ -0,0 +1,5 @@
1
+ import type React from 'react';
2
+ export declare function ClientSlot({ args, slot }: {
3
+ args: unknown[];
4
+ slot: string;
5
+ }): React.JSX.Element | null;
@@ -0,0 +1,3 @@
1
+ import type React from 'react';
2
+ import { type AnyCompositeComponent, type CompositeComponentProps } from './symbols';
3
+ export declare function CompositeComponent<TComp extends AnyCompositeComponent>(props: CompositeComponentProps<TComp>): React.JSX.Element;
@@ -0,0 +1,24 @@
1
+ export interface ReplayableStreamOptions {
2
+ signal?: AbortSignal;
3
+ }
4
+ export declare const REPLAYABLE_STREAM_MARKER: unique symbol;
5
+ export declare class ReplayableStream<T = Uint8Array> {
6
+ private source;
7
+ private options;
8
+ readonly [REPLAYABLE_STREAM_MARKER] = true;
9
+ private chunks;
10
+ private done;
11
+ private error;
12
+ private waiter;
13
+ private released;
14
+ private reader;
15
+ private abortListener;
16
+ constructor(source: ReadableStream<T>, options?: ReplayableStreamOptions);
17
+ private start;
18
+ private detachAbortListener;
19
+ private notify;
20
+ private wait;
21
+ release(): void;
22
+ isReleased(): boolean;
23
+ createReplayStream(): ReadableStream<T>;
24
+ }