@rangojs/router 0.0.0-experimental.0b82333f → 0.0.0-experimental.0c4f94c2

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 (950) hide show
  1. package/README.md +76 -18
  2. package/dist/bin/rango.js +138 -50
  3. package/dist/vite/index.js +853 -435
  4. package/package.json +3 -3
  5. package/skills/cache-guide/SKILL.md +32 -0
  6. package/skills/caching/SKILL.md +45 -4
  7. package/skills/handler-use/SKILL.md +362 -0
  8. package/skills/intercept/SKILL.md +20 -0
  9. package/skills/layout/SKILL.md +22 -0
  10. package/skills/links/SKILL.md +3 -1
  11. package/skills/loader/SKILL.md +53 -43
  12. package/skills/middleware/SKILL.md +34 -3
  13. package/skills/migrate-nextjs/SKILL.md +560 -0
  14. package/skills/migrate-react-router/SKILL.md +764 -0
  15. package/skills/parallel/SKILL.md +185 -0
  16. package/skills/prerender/SKILL.md +110 -68
  17. package/skills/rango/SKILL.md +24 -22
  18. package/skills/route/SKILL.md +55 -0
  19. package/skills/router-setup/SKILL.md +87 -2
  20. package/skills/typesafety/SKILL.md +10 -0
  21. package/src/__internal.ts +1 -1
  22. package/src/browser/app-version.ts +14 -0
  23. package/src/browser/event-controller.ts +5 -0
  24. package/src/browser/navigation-bridge.ts +24 -7
  25. package/src/browser/navigation-client.ts +142 -57
  26. package/src/browser/navigation-store.ts +43 -8
  27. package/src/browser/navigation-transaction.ts +11 -9
  28. package/src/browser/partial-update.ts +81 -13
  29. package/src/browser/prefetch/cache.ts +73 -11
  30. package/src/browser/prefetch/fetch.ts +98 -27
  31. package/src/browser/prefetch/queue.ts +92 -20
  32. package/src/browser/prefetch/resource-ready.ts +77 -0
  33. package/src/browser/react/Link.tsx +76 -9
  34. package/src/browser/react/NavigationProvider.tsx +40 -4
  35. package/src/browser/react/context.ts +7 -2
  36. package/src/browser/react/use-handle.ts +9 -58
  37. package/src/browser/react/use-router.ts +21 -8
  38. package/src/browser/rsc-router.tsx +134 -59
  39. package/src/browser/scroll-restoration.ts +30 -15
  40. package/src/browser/segment-reconciler.ts +32 -1
  41. package/src/browser/server-action-bridge.ts +8 -6
  42. package/src/browser/types.ts +36 -5
  43. package/src/build/generate-manifest.ts +6 -6
  44. package/src/build/generate-route-types.ts +3 -0
  45. package/src/build/route-trie.ts +50 -24
  46. package/src/build/route-types/include-resolution.ts +8 -1
  47. package/src/build/route-types/router-processing.ts +223 -74
  48. package/src/build/route-types/scan-filter.ts +8 -1
  49. package/src/cache/cache-runtime.ts +15 -11
  50. package/src/cache/cache-scope.ts +48 -7
  51. package/src/cache/cf/cf-cache-store.ts +453 -11
  52. package/src/cache/cf/index.ts +5 -1
  53. package/src/cache/document-cache.ts +17 -7
  54. package/src/cache/index.ts +1 -0
  55. package/src/cache/taint.ts +55 -0
  56. package/src/client.tsx +2 -56
  57. package/src/context-var.ts +72 -2
  58. package/src/debug.ts +2 -2
  59. package/src/handle.ts +40 -0
  60. package/src/index.rsc.ts +3 -1
  61. package/src/index.ts +46 -6
  62. package/src/prerender/store.ts +5 -4
  63. package/src/prerender.ts +138 -77
  64. package/src/reverse.ts +25 -1
  65. package/src/route-definition/dsl-helpers.ts +224 -37
  66. package/src/route-definition/helpers-types.ts +67 -19
  67. package/src/route-definition/index.ts +3 -0
  68. package/src/route-definition/redirect.ts +11 -3
  69. package/src/route-definition/resolve-handler-use.ts +149 -0
  70. package/src/route-map-builder.ts +7 -1
  71. package/src/route-types.ts +11 -0
  72. package/src/router/content-negotiation.ts +100 -1
  73. package/src/router/find-match.ts +4 -2
  74. package/src/router/handler-context.ts +82 -23
  75. package/src/router/intercept-resolution.ts +11 -4
  76. package/src/router/lazy-includes.ts +4 -1
  77. package/src/router/loader-resolution.ts +156 -21
  78. package/src/router/logging.ts +5 -2
  79. package/src/router/manifest.ts +9 -3
  80. package/src/router/match-api.ts +124 -189
  81. package/src/router/match-middleware/background-revalidation.ts +30 -2
  82. package/src/router/match-middleware/cache-lookup.ts +94 -17
  83. package/src/router/match-middleware/cache-store.ts +53 -10
  84. package/src/router/match-middleware/intercept-resolution.ts +9 -7
  85. package/src/router/match-middleware/segment-resolution.ts +61 -5
  86. package/src/router/match-result.ts +104 -10
  87. package/src/router/metrics.ts +6 -1
  88. package/src/router/middleware-types.ts +6 -8
  89. package/src/router/middleware.ts +4 -6
  90. package/src/router/navigation-snapshot.ts +182 -0
  91. package/src/router/prerender-match.ts +110 -10
  92. package/src/router/preview-match.ts +30 -102
  93. package/src/router/request-classification.ts +310 -0
  94. package/src/router/route-snapshot.ts +245 -0
  95. package/src/router/router-context.ts +6 -1
  96. package/src/router/router-interfaces.ts +36 -4
  97. package/src/router/router-options.ts +37 -11
  98. package/src/router/segment-resolution/fresh.ts +198 -20
  99. package/src/router/segment-resolution/helpers.ts +29 -24
  100. package/src/router/segment-resolution/loader-cache.ts +1 -0
  101. package/src/router/segment-resolution/revalidation.ts +437 -297
  102. package/src/router/segment-wrappers.ts +2 -0
  103. package/src/router/types.ts +1 -0
  104. package/src/router.ts +59 -6
  105. package/src/rsc/handler.ts +472 -372
  106. package/src/rsc/loader-fetch.ts +23 -3
  107. package/src/rsc/manifest-init.ts +5 -1
  108. package/src/rsc/progressive-enhancement.ts +14 -2
  109. package/src/rsc/rsc-rendering.ts +10 -1
  110. package/src/rsc/server-action.ts +8 -0
  111. package/src/rsc/ssr-setup.ts +2 -2
  112. package/src/rsc/types.ts +9 -1
  113. package/src/segment-system.tsx +185 -15
  114. package/src/server/context.ts +140 -14
  115. package/src/server/handle-store.ts +19 -0
  116. package/src/server/loader-registry.ts +9 -8
  117. package/src/server/request-context.ts +185 -19
  118. package/src/ssr/index.tsx +4 -0
  119. package/src/static-handler.ts +18 -6
  120. package/src/types/cache-types.ts +4 -4
  121. package/src/types/handler-context.ts +137 -33
  122. package/src/types/loader-types.ts +36 -9
  123. package/src/types/route-entry.ts +8 -1
  124. package/src/types/segments.ts +6 -0
  125. package/src/urls/path-helper-types.ts +39 -6
  126. package/src/urls/path-helper.ts +48 -13
  127. package/src/urls/pattern-types.ts +12 -0
  128. package/src/urls/response-types.ts +16 -6
  129. package/src/use-loader.tsx +77 -5
  130. package/src/vite/discovery/bundle-postprocess.ts +30 -33
  131. package/src/vite/discovery/discover-routers.ts +5 -1
  132. package/src/vite/discovery/prerender-collection.ts +128 -74
  133. package/src/vite/discovery/state.ts +13 -6
  134. package/src/vite/index.ts +4 -0
  135. package/src/vite/plugin-types.ts +51 -79
  136. package/src/vite/plugins/expose-action-id.ts +1 -3
  137. package/src/vite/plugins/expose-id-utils.ts +12 -0
  138. package/src/vite/plugins/expose-ids/handler-transform.ts +30 -0
  139. package/src/vite/plugins/expose-internal-ids.ts +257 -40
  140. package/src/vite/plugins/performance-tracks.ts +88 -0
  141. package/src/vite/plugins/refresh-cmd.ts +88 -26
  142. package/src/vite/plugins/version-plugin.ts +13 -1
  143. package/src/vite/rango.ts +163 -211
  144. package/src/vite/router-discovery.ts +178 -45
  145. package/src/vite/utils/banner.ts +3 -3
  146. package/src/vite/utils/prerender-utils.ts +37 -5
  147. package/src/vite/utils/shared-utils.ts +3 -2
  148. package/dist/__internal.d.ts +0 -83
  149. package/dist/__internal.d.ts.map +0 -1
  150. package/dist/__internal.js +0 -19
  151. package/dist/__internal.js.map +0 -1
  152. package/dist/__mocks__/version.d.ts +0 -7
  153. package/dist/__mocks__/version.d.ts.map +0 -1
  154. package/dist/__mocks__/version.js +0 -7
  155. package/dist/__mocks__/version.js.map +0 -1
  156. package/dist/__tests__/client-href.test.d.ts +0 -2
  157. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  158. package/dist/__tests__/client-href.test.js +0 -74
  159. package/dist/__tests__/client-href.test.js.map +0 -1
  160. package/dist/__tests__/component-utils.test.d.ts +0 -2
  161. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  162. package/dist/__tests__/component-utils.test.js +0 -51
  163. package/dist/__tests__/component-utils.test.js.map +0 -1
  164. package/dist/__tests__/event-controller.test.d.ts +0 -2
  165. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  166. package/dist/__tests__/event-controller.test.js +0 -538
  167. package/dist/__tests__/event-controller.test.js.map +0 -1
  168. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  169. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  170. package/dist/__tests__/helpers/route-tree.js +0 -374
  171. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  172. package/dist/__tests__/match-result.test.d.ts +0 -2
  173. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  174. package/dist/__tests__/match-result.test.js +0 -154
  175. package/dist/__tests__/match-result.test.js.map +0 -1
  176. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  177. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  178. package/dist/__tests__/navigation-store.test.js +0 -440
  179. package/dist/__tests__/navigation-store.test.js.map +0 -1
  180. package/dist/__tests__/partial-update.test.d.ts +0 -2
  181. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  182. package/dist/__tests__/partial-update.test.js +0 -1009
  183. package/dist/__tests__/partial-update.test.js.map +0 -1
  184. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  185. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  186. package/dist/__tests__/reverse-types.test.js +0 -656
  187. package/dist/__tests__/reverse-types.test.js.map +0 -1
  188. package/dist/__tests__/route-definition.test.d.ts +0 -2
  189. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  190. package/dist/__tests__/route-definition.test.js +0 -55
  191. package/dist/__tests__/route-definition.test.js.map +0 -1
  192. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  193. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  194. package/dist/__tests__/router-helpers.test.js +0 -377
  195. package/dist/__tests__/router-helpers.test.js.map +0 -1
  196. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  197. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  198. package/dist/__tests__/router-integration-2.test.js +0 -426
  199. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  200. package/dist/__tests__/router-integration.test.d.ts +0 -2
  201. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  202. package/dist/__tests__/router-integration.test.js +0 -1051
  203. package/dist/__tests__/router-integration.test.js.map +0 -1
  204. package/dist/__tests__/search-params.test.d.ts +0 -5
  205. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  206. package/dist/__tests__/search-params.test.js +0 -306
  207. package/dist/__tests__/search-params.test.js.map +0 -1
  208. package/dist/__tests__/segment-system.test.d.ts +0 -2
  209. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  210. package/dist/__tests__/segment-system.test.js +0 -627
  211. package/dist/__tests__/segment-system.test.js.map +0 -1
  212. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  213. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  214. package/dist/__tests__/static-handler-types.test.js +0 -63
  215. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  216. package/dist/__tests__/urls.test.d.ts +0 -2
  217. package/dist/__tests__/urls.test.d.ts.map +0 -1
  218. package/dist/__tests__/urls.test.js +0 -421
  219. package/dist/__tests__/urls.test.js.map +0 -1
  220. package/dist/__tests__/use-mount.test.d.ts +0 -2
  221. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  222. package/dist/__tests__/use-mount.test.js +0 -35
  223. package/dist/__tests__/use-mount.test.js.map +0 -1
  224. package/dist/bin/rango.d.ts +0 -2
  225. package/dist/bin/rango.d.ts.map +0 -1
  226. package/dist/bin/rango.js.map +0 -1
  227. package/dist/browser/event-controller.d.ts +0 -191
  228. package/dist/browser/event-controller.d.ts.map +0 -1
  229. package/dist/browser/event-controller.js +0 -559
  230. package/dist/browser/event-controller.js.map +0 -1
  231. package/dist/browser/index.d.ts +0 -2
  232. package/dist/browser/index.d.ts.map +0 -1
  233. package/dist/browser/index.js +0 -14
  234. package/dist/browser/index.js.map +0 -1
  235. package/dist/browser/link-interceptor.d.ts +0 -38
  236. package/dist/browser/link-interceptor.d.ts.map +0 -1
  237. package/dist/browser/link-interceptor.js +0 -99
  238. package/dist/browser/link-interceptor.js.map +0 -1
  239. package/dist/browser/logging.d.ts +0 -10
  240. package/dist/browser/logging.d.ts.map +0 -1
  241. package/dist/browser/logging.js +0 -29
  242. package/dist/browser/logging.js.map +0 -1
  243. package/dist/browser/lru-cache.d.ts +0 -17
  244. package/dist/browser/lru-cache.d.ts.map +0 -1
  245. package/dist/browser/lru-cache.js +0 -50
  246. package/dist/browser/lru-cache.js.map +0 -1
  247. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  248. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  249. package/dist/browser/merge-segment-loaders.js +0 -102
  250. package/dist/browser/merge-segment-loaders.js.map +0 -1
  251. package/dist/browser/navigation-bridge.d.ts +0 -102
  252. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  253. package/dist/browser/navigation-bridge.js +0 -708
  254. package/dist/browser/navigation-bridge.js.map +0 -1
  255. package/dist/browser/navigation-client.d.ts +0 -25
  256. package/dist/browser/navigation-client.d.ts.map +0 -1
  257. package/dist/browser/navigation-client.js +0 -157
  258. package/dist/browser/navigation-client.js.map +0 -1
  259. package/dist/browser/navigation-store.d.ts +0 -101
  260. package/dist/browser/navigation-store.d.ts.map +0 -1
  261. package/dist/browser/navigation-store.js +0 -625
  262. package/dist/browser/navigation-store.js.map +0 -1
  263. package/dist/browser/partial-update.d.ts +0 -75
  264. package/dist/browser/partial-update.d.ts.map +0 -1
  265. package/dist/browser/partial-update.js +0 -426
  266. package/dist/browser/partial-update.js.map +0 -1
  267. package/dist/browser/react/Link.d.ts +0 -86
  268. package/dist/browser/react/Link.d.ts.map +0 -1
  269. package/dist/browser/react/Link.js +0 -128
  270. package/dist/browser/react/Link.js.map +0 -1
  271. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  272. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  273. package/dist/browser/react/NavigationProvider.js +0 -216
  274. package/dist/browser/react/NavigationProvider.js.map +0 -1
  275. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  276. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  277. package/dist/browser/react/ScrollRestoration.js +0 -57
  278. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  279. package/dist/browser/react/context.d.ts +0 -46
  280. package/dist/browser/react/context.d.ts.map +0 -1
  281. package/dist/browser/react/context.js +0 -10
  282. package/dist/browser/react/context.js.map +0 -1
  283. package/dist/browser/react/index.d.ts +0 -11
  284. package/dist/browser/react/index.d.ts.map +0 -1
  285. package/dist/browser/react/index.js +0 -22
  286. package/dist/browser/react/index.js.map +0 -1
  287. package/dist/browser/react/location-state-shared.d.ts +0 -63
  288. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  289. package/dist/browser/react/location-state-shared.js +0 -81
  290. package/dist/browser/react/location-state-shared.js.map +0 -1
  291. package/dist/browser/react/location-state.d.ts +0 -23
  292. package/dist/browser/react/location-state.d.ts.map +0 -1
  293. package/dist/browser/react/location-state.js +0 -29
  294. package/dist/browser/react/location-state.js.map +0 -1
  295. package/dist/browser/react/mount-context.d.ts +0 -24
  296. package/dist/browser/react/mount-context.d.ts.map +0 -1
  297. package/dist/browser/react/mount-context.js +0 -24
  298. package/dist/browser/react/mount-context.js.map +0 -1
  299. package/dist/browser/react/use-action.d.ts +0 -64
  300. package/dist/browser/react/use-action.d.ts.map +0 -1
  301. package/dist/browser/react/use-action.js +0 -134
  302. package/dist/browser/react/use-action.js.map +0 -1
  303. package/dist/browser/react/use-client-cache.d.ts +0 -41
  304. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  305. package/dist/browser/react/use-client-cache.js +0 -39
  306. package/dist/browser/react/use-client-cache.js.map +0 -1
  307. package/dist/browser/react/use-handle.d.ts +0 -31
  308. package/dist/browser/react/use-handle.d.ts.map +0 -1
  309. package/dist/browser/react/use-handle.js +0 -144
  310. package/dist/browser/react/use-handle.js.map +0 -1
  311. package/dist/browser/react/use-href.d.ts +0 -33
  312. package/dist/browser/react/use-href.d.ts.map +0 -1
  313. package/dist/browser/react/use-href.js +0 -39
  314. package/dist/browser/react/use-href.js.map +0 -1
  315. package/dist/browser/react/use-link-status.d.ts +0 -37
  316. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  317. package/dist/browser/react/use-link-status.js +0 -99
  318. package/dist/browser/react/use-link-status.js.map +0 -1
  319. package/dist/browser/react/use-mount.d.ts +0 -25
  320. package/dist/browser/react/use-mount.d.ts.map +0 -1
  321. package/dist/browser/react/use-mount.js +0 -30
  322. package/dist/browser/react/use-mount.js.map +0 -1
  323. package/dist/browser/react/use-navigation.d.ts +0 -27
  324. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  325. package/dist/browser/react/use-navigation.js +0 -87
  326. package/dist/browser/react/use-navigation.js.map +0 -1
  327. package/dist/browser/react/use-segments.d.ts +0 -38
  328. package/dist/browser/react/use-segments.d.ts.map +0 -1
  329. package/dist/browser/react/use-segments.js +0 -130
  330. package/dist/browser/react/use-segments.js.map +0 -1
  331. package/dist/browser/request-controller.d.ts +0 -26
  332. package/dist/browser/request-controller.d.ts.map +0 -1
  333. package/dist/browser/request-controller.js +0 -147
  334. package/dist/browser/request-controller.js.map +0 -1
  335. package/dist/browser/rsc-router.d.ts +0 -129
  336. package/dist/browser/rsc-router.d.ts.map +0 -1
  337. package/dist/browser/rsc-router.js +0 -195
  338. package/dist/browser/rsc-router.js.map +0 -1
  339. package/dist/browser/scroll-restoration.d.ts +0 -93
  340. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  341. package/dist/browser/scroll-restoration.js +0 -321
  342. package/dist/browser/scroll-restoration.js.map +0 -1
  343. package/dist/browser/segment-structure-assert.d.ts +0 -17
  344. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  345. package/dist/browser/segment-structure-assert.js +0 -59
  346. package/dist/browser/segment-structure-assert.js.map +0 -1
  347. package/dist/browser/server-action-bridge.d.ts +0 -26
  348. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  349. package/dist/browser/server-action-bridge.js +0 -668
  350. package/dist/browser/server-action-bridge.js.map +0 -1
  351. package/dist/browser/shallow.d.ts +0 -12
  352. package/dist/browser/shallow.d.ts.map +0 -1
  353. package/dist/browser/shallow.js +0 -34
  354. package/dist/browser/shallow.js.map +0 -1
  355. package/dist/browser/types.d.ts +0 -369
  356. package/dist/browser/types.d.ts.map +0 -1
  357. package/dist/browser/types.js +0 -2
  358. package/dist/browser/types.js.map +0 -1
  359. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  360. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  361. package/dist/build/__tests__/generate-cli.test.js +0 -237
  362. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  363. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  364. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  365. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  366. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  367. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  368. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  369. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  370. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  371. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  372. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  373. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  374. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  375. package/dist/build/generate-manifest.d.ts +0 -81
  376. package/dist/build/generate-manifest.d.ts.map +0 -1
  377. package/dist/build/generate-manifest.js +0 -276
  378. package/dist/build/generate-manifest.js.map +0 -1
  379. package/dist/build/generate-route-types.d.ts +0 -115
  380. package/dist/build/generate-route-types.d.ts.map +0 -1
  381. package/dist/build/generate-route-types.js +0 -740
  382. package/dist/build/generate-route-types.js.map +0 -1
  383. package/dist/build/index.d.ts +0 -21
  384. package/dist/build/index.d.ts.map +0 -1
  385. package/dist/build/index.js +0 -21
  386. package/dist/build/index.js.map +0 -1
  387. package/dist/build/route-trie.d.ts +0 -71
  388. package/dist/build/route-trie.d.ts.map +0 -1
  389. package/dist/build/route-trie.js +0 -175
  390. package/dist/build/route-trie.js.map +0 -1
  391. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  392. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  393. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  394. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  395. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  396. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  397. package/dist/cache/__tests__/document-cache.test.js +0 -345
  398. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  399. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  400. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  401. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  402. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  403. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  404. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  405. package/dist/cache/__tests__/memory-store.test.js +0 -367
  406. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  407. package/dist/cache/cache-scope.d.ts +0 -102
  408. package/dist/cache/cache-scope.d.ts.map +0 -1
  409. package/dist/cache/cache-scope.js +0 -440
  410. package/dist/cache/cache-scope.js.map +0 -1
  411. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  412. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  413. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  414. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  415. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  416. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  417. package/dist/cache/cf/cf-cache-store.js +0 -242
  418. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  419. package/dist/cache/cf/index.d.ts +0 -14
  420. package/dist/cache/cf/index.d.ts.map +0 -1
  421. package/dist/cache/cf/index.js +0 -17
  422. package/dist/cache/cf/index.js.map +0 -1
  423. package/dist/cache/document-cache.d.ts +0 -64
  424. package/dist/cache/document-cache.d.ts.map +0 -1
  425. package/dist/cache/document-cache.js +0 -228
  426. package/dist/cache/document-cache.js.map +0 -1
  427. package/dist/cache/index.d.ts +0 -19
  428. package/dist/cache/index.d.ts.map +0 -1
  429. package/dist/cache/index.js +0 -21
  430. package/dist/cache/index.js.map +0 -1
  431. package/dist/cache/memory-segment-store.d.ts +0 -110
  432. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  433. package/dist/cache/memory-segment-store.js +0 -117
  434. package/dist/cache/memory-segment-store.js.map +0 -1
  435. package/dist/cache/memory-store.d.ts +0 -41
  436. package/dist/cache/memory-store.d.ts.map +0 -1
  437. package/dist/cache/memory-store.js +0 -191
  438. package/dist/cache/memory-store.js.map +0 -1
  439. package/dist/cache/types.d.ts +0 -317
  440. package/dist/cache/types.d.ts.map +0 -1
  441. package/dist/cache/types.js +0 -12
  442. package/dist/cache/types.js.map +0 -1
  443. package/dist/client.d.ts +0 -248
  444. package/dist/client.d.ts.map +0 -1
  445. package/dist/client.js +0 -367
  446. package/dist/client.js.map +0 -1
  447. package/dist/client.rsc.d.ts +0 -26
  448. package/dist/client.rsc.d.ts.map +0 -1
  449. package/dist/client.rsc.js +0 -46
  450. package/dist/client.rsc.js.map +0 -1
  451. package/dist/component-utils.d.ts +0 -36
  452. package/dist/component-utils.d.ts.map +0 -1
  453. package/dist/component-utils.js +0 -61
  454. package/dist/component-utils.js.map +0 -1
  455. package/dist/components/DefaultDocument.d.ts +0 -13
  456. package/dist/components/DefaultDocument.d.ts.map +0 -1
  457. package/dist/components/DefaultDocument.js +0 -15
  458. package/dist/components/DefaultDocument.js.map +0 -1
  459. package/dist/debug.d.ts +0 -58
  460. package/dist/debug.d.ts.map +0 -1
  461. package/dist/debug.js +0 -157
  462. package/dist/debug.js.map +0 -1
  463. package/dist/default-error-boundary.d.ts +0 -11
  464. package/dist/default-error-boundary.d.ts.map +0 -1
  465. package/dist/default-error-boundary.js +0 -45
  466. package/dist/default-error-boundary.js.map +0 -1
  467. package/dist/deps/browser.d.ts +0 -2
  468. package/dist/deps/browser.d.ts.map +0 -1
  469. package/dist/deps/browser.js +0 -3
  470. package/dist/deps/browser.js.map +0 -1
  471. package/dist/deps/html-stream-client.d.ts +0 -2
  472. package/dist/deps/html-stream-client.d.ts.map +0 -1
  473. package/dist/deps/html-stream-client.js +0 -3
  474. package/dist/deps/html-stream-client.js.map +0 -1
  475. package/dist/deps/html-stream-server.d.ts +0 -2
  476. package/dist/deps/html-stream-server.d.ts.map +0 -1
  477. package/dist/deps/html-stream-server.js +0 -3
  478. package/dist/deps/html-stream-server.js.map +0 -1
  479. package/dist/deps/rsc.d.ts +0 -2
  480. package/dist/deps/rsc.d.ts.map +0 -1
  481. package/dist/deps/rsc.js +0 -4
  482. package/dist/deps/rsc.js.map +0 -1
  483. package/dist/deps/ssr.d.ts +0 -2
  484. package/dist/deps/ssr.d.ts.map +0 -1
  485. package/dist/deps/ssr.js +0 -3
  486. package/dist/deps/ssr.js.map +0 -1
  487. package/dist/errors.d.ts +0 -174
  488. package/dist/errors.d.ts.map +0 -1
  489. package/dist/errors.js +0 -241
  490. package/dist/errors.js.map +0 -1
  491. package/dist/handle.d.ts +0 -78
  492. package/dist/handle.d.ts.map +0 -1
  493. package/dist/handle.js +0 -82
  494. package/dist/handle.js.map +0 -1
  495. package/dist/handles/MetaTags.d.ts +0 -14
  496. package/dist/handles/MetaTags.d.ts.map +0 -1
  497. package/dist/handles/MetaTags.js +0 -136
  498. package/dist/handles/MetaTags.js.map +0 -1
  499. package/dist/handles/index.d.ts +0 -6
  500. package/dist/handles/index.d.ts.map +0 -1
  501. package/dist/handles/index.js +0 -6
  502. package/dist/handles/index.js.map +0 -1
  503. package/dist/handles/meta.d.ts +0 -39
  504. package/dist/handles/meta.d.ts.map +0 -1
  505. package/dist/handles/meta.js +0 -202
  506. package/dist/handles/meta.js.map +0 -1
  507. package/dist/host/__tests__/errors.test.d.ts +0 -2
  508. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  509. package/dist/host/__tests__/errors.test.js +0 -76
  510. package/dist/host/__tests__/errors.test.js.map +0 -1
  511. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  512. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  513. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  514. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  515. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  516. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  517. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  518. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  519. package/dist/host/__tests__/router.test.d.ts +0 -2
  520. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  521. package/dist/host/__tests__/router.test.js +0 -241
  522. package/dist/host/__tests__/router.test.js.map +0 -1
  523. package/dist/host/__tests__/testing.test.d.ts +0 -2
  524. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  525. package/dist/host/__tests__/testing.test.js +0 -64
  526. package/dist/host/__tests__/testing.test.js.map +0 -1
  527. package/dist/host/__tests__/utils.test.d.ts +0 -2
  528. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  529. package/dist/host/__tests__/utils.test.js +0 -29
  530. package/dist/host/__tests__/utils.test.js.map +0 -1
  531. package/dist/host/cookie-handler.d.ts +0 -34
  532. package/dist/host/cookie-handler.d.ts.map +0 -1
  533. package/dist/host/cookie-handler.js +0 -124
  534. package/dist/host/cookie-handler.js.map +0 -1
  535. package/dist/host/errors.d.ts +0 -56
  536. package/dist/host/errors.d.ts.map +0 -1
  537. package/dist/host/errors.js +0 -79
  538. package/dist/host/errors.js.map +0 -1
  539. package/dist/host/index.d.ts +0 -29
  540. package/dist/host/index.d.ts.map +0 -1
  541. package/dist/host/index.js +0 -32
  542. package/dist/host/index.js.map +0 -1
  543. package/dist/host/pattern-matcher.d.ts +0 -36
  544. package/dist/host/pattern-matcher.d.ts.map +0 -1
  545. package/dist/host/pattern-matcher.js +0 -172
  546. package/dist/host/pattern-matcher.js.map +0 -1
  547. package/dist/host/router.d.ts +0 -26
  548. package/dist/host/router.d.ts.map +0 -1
  549. package/dist/host/router.js +0 -218
  550. package/dist/host/router.js.map +0 -1
  551. package/dist/host/testing.d.ts +0 -36
  552. package/dist/host/testing.d.ts.map +0 -1
  553. package/dist/host/testing.js +0 -55
  554. package/dist/host/testing.js.map +0 -1
  555. package/dist/host/types.d.ts +0 -115
  556. package/dist/host/types.d.ts.map +0 -1
  557. package/dist/host/types.js +0 -7
  558. package/dist/host/types.js.map +0 -1
  559. package/dist/host/utils.d.ts +0 -21
  560. package/dist/host/utils.d.ts.map +0 -1
  561. package/dist/host/utils.js +0 -23
  562. package/dist/host/utils.js.map +0 -1
  563. package/dist/href-client.d.ts +0 -131
  564. package/dist/href-client.d.ts.map +0 -1
  565. package/dist/href-client.js +0 -64
  566. package/dist/href-client.js.map +0 -1
  567. package/dist/href-context.d.ts +0 -29
  568. package/dist/href-context.d.ts.map +0 -1
  569. package/dist/href-context.js +0 -21
  570. package/dist/href-context.js.map +0 -1
  571. package/dist/index.d.ts +0 -73
  572. package/dist/index.d.ts.map +0 -1
  573. package/dist/index.js +0 -91
  574. package/dist/index.js.map +0 -1
  575. package/dist/index.rsc.d.ts +0 -32
  576. package/dist/index.rsc.d.ts.map +0 -1
  577. package/dist/index.rsc.js +0 -40
  578. package/dist/index.rsc.js.map +0 -1
  579. package/dist/internal-debug.d.ts +0 -2
  580. package/dist/internal-debug.d.ts.map +0 -1
  581. package/dist/internal-debug.js +0 -5
  582. package/dist/internal-debug.js.map +0 -1
  583. package/dist/loader.d.ts +0 -14
  584. package/dist/loader.d.ts.map +0 -1
  585. package/dist/loader.js +0 -20
  586. package/dist/loader.js.map +0 -1
  587. package/dist/loader.rsc.d.ts +0 -19
  588. package/dist/loader.rsc.d.ts.map +0 -1
  589. package/dist/loader.rsc.js +0 -99
  590. package/dist/loader.rsc.js.map +0 -1
  591. package/dist/network-error-thrower.d.ts +0 -17
  592. package/dist/network-error-thrower.d.ts.map +0 -1
  593. package/dist/network-error-thrower.js +0 -14
  594. package/dist/network-error-thrower.js.map +0 -1
  595. package/dist/outlet-context.d.ts +0 -13
  596. package/dist/outlet-context.d.ts.map +0 -1
  597. package/dist/outlet-context.js +0 -3
  598. package/dist/outlet-context.js.map +0 -1
  599. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  600. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  601. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  602. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  603. package/dist/prerender/param-hash.d.ts +0 -16
  604. package/dist/prerender/param-hash.d.ts.map +0 -1
  605. package/dist/prerender/param-hash.js +0 -36
  606. package/dist/prerender/param-hash.js.map +0 -1
  607. package/dist/prerender/store.d.ts +0 -38
  608. package/dist/prerender/store.d.ts.map +0 -1
  609. package/dist/prerender/store.js +0 -61
  610. package/dist/prerender/store.js.map +0 -1
  611. package/dist/prerender.d.ts +0 -66
  612. package/dist/prerender.d.ts.map +0 -1
  613. package/dist/prerender.js +0 -57
  614. package/dist/prerender.js.map +0 -1
  615. package/dist/reverse.d.ts +0 -196
  616. package/dist/reverse.d.ts.map +0 -1
  617. package/dist/reverse.js +0 -78
  618. package/dist/reverse.js.map +0 -1
  619. package/dist/root-error-boundary.d.ts +0 -33
  620. package/dist/root-error-boundary.d.ts.map +0 -1
  621. package/dist/root-error-boundary.js +0 -165
  622. package/dist/root-error-boundary.js.map +0 -1
  623. package/dist/route-content-wrapper.d.ts +0 -46
  624. package/dist/route-content-wrapper.d.ts.map +0 -1
  625. package/dist/route-content-wrapper.js +0 -77
  626. package/dist/route-content-wrapper.js.map +0 -1
  627. package/dist/route-definition.d.ts +0 -421
  628. package/dist/route-definition.d.ts.map +0 -1
  629. package/dist/route-definition.js +0 -868
  630. package/dist/route-definition.js.map +0 -1
  631. package/dist/route-map-builder.d.ts +0 -155
  632. package/dist/route-map-builder.d.ts.map +0 -1
  633. package/dist/route-map-builder.js +0 -237
  634. package/dist/route-map-builder.js.map +0 -1
  635. package/dist/route-types.d.ts +0 -165
  636. package/dist/route-types.d.ts.map +0 -1
  637. package/dist/route-types.js +0 -7
  638. package/dist/route-types.js.map +0 -1
  639. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  640. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  641. package/dist/router/__tests__/handler-context.test.js +0 -65
  642. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  643. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  644. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  645. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  646. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  647. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  648. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  649. package/dist/router/__tests__/match-context.test.js +0 -92
  650. package/dist/router/__tests__/match-context.test.js.map +0 -1
  651. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  652. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  653. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  654. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  655. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  656. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  657. package/dist/router/__tests__/match-result.test.js +0 -457
  658. package/dist/router/__tests__/match-result.test.js.map +0 -1
  659. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  660. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  661. package/dist/router/__tests__/on-error.test.js +0 -678
  662. package/dist/router/__tests__/on-error.test.js.map +0 -1
  663. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  664. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  665. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  666. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  667. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  668. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  669. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  670. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  671. package/dist/router/error-handling.d.ts +0 -77
  672. package/dist/router/error-handling.d.ts.map +0 -1
  673. package/dist/router/error-handling.js +0 -202
  674. package/dist/router/error-handling.js.map +0 -1
  675. package/dist/router/handler-context.d.ts +0 -20
  676. package/dist/router/handler-context.d.ts.map +0 -1
  677. package/dist/router/handler-context.js +0 -198
  678. package/dist/router/handler-context.js.map +0 -1
  679. package/dist/router/intercept-resolution.d.ts +0 -66
  680. package/dist/router/intercept-resolution.d.ts.map +0 -1
  681. package/dist/router/intercept-resolution.js +0 -246
  682. package/dist/router/intercept-resolution.js.map +0 -1
  683. package/dist/router/loader-resolution.d.ts +0 -64
  684. package/dist/router/loader-resolution.d.ts.map +0 -1
  685. package/dist/router/loader-resolution.js +0 -284
  686. package/dist/router/loader-resolution.js.map +0 -1
  687. package/dist/router/logging.d.ts +0 -15
  688. package/dist/router/logging.d.ts.map +0 -1
  689. package/dist/router/logging.js +0 -99
  690. package/dist/router/logging.js.map +0 -1
  691. package/dist/router/manifest.d.ts +0 -22
  692. package/dist/router/manifest.d.ts.map +0 -1
  693. package/dist/router/manifest.js +0 -181
  694. package/dist/router/manifest.js.map +0 -1
  695. package/dist/router/match-api.d.ts +0 -35
  696. package/dist/router/match-api.d.ts.map +0 -1
  697. package/dist/router/match-api.js +0 -406
  698. package/dist/router/match-api.js.map +0 -1
  699. package/dist/router/match-context.d.ts +0 -206
  700. package/dist/router/match-context.d.ts.map +0 -1
  701. package/dist/router/match-context.js +0 -17
  702. package/dist/router/match-context.js.map +0 -1
  703. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  704. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  705. package/dist/router/match-middleware/background-revalidation.js +0 -75
  706. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  707. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  708. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  709. package/dist/router/match-middleware/cache-lookup.js +0 -257
  710. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  711. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  712. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  713. package/dist/router/match-middleware/cache-store.js +0 -108
  714. package/dist/router/match-middleware/cache-store.js.map +0 -1
  715. package/dist/router/match-middleware/index.d.ts +0 -81
  716. package/dist/router/match-middleware/index.d.ts.map +0 -1
  717. package/dist/router/match-middleware/index.js +0 -80
  718. package/dist/router/match-middleware/index.js.map +0 -1
  719. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  720. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  721. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  722. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  723. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  724. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  725. package/dist/router/match-middleware/segment-resolution.js +0 -53
  726. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  727. package/dist/router/match-pipelines.d.ts +0 -147
  728. package/dist/router/match-pipelines.d.ts.map +0 -1
  729. package/dist/router/match-pipelines.js +0 -82
  730. package/dist/router/match-pipelines.js.map +0 -1
  731. package/dist/router/match-result.d.ts +0 -126
  732. package/dist/router/match-result.d.ts.map +0 -1
  733. package/dist/router/match-result.js +0 -93
  734. package/dist/router/match-result.js.map +0 -1
  735. package/dist/router/metrics.d.ts +0 -20
  736. package/dist/router/metrics.d.ts.map +0 -1
  737. package/dist/router/metrics.js +0 -47
  738. package/dist/router/metrics.js.map +0 -1
  739. package/dist/router/middleware.d.ts +0 -249
  740. package/dist/router/middleware.d.ts.map +0 -1
  741. package/dist/router/middleware.js +0 -434
  742. package/dist/router/middleware.js.map +0 -1
  743. package/dist/router/middleware.test.d.ts +0 -2
  744. package/dist/router/middleware.test.d.ts.map +0 -1
  745. package/dist/router/middleware.test.js +0 -816
  746. package/dist/router/middleware.test.js.map +0 -1
  747. package/dist/router/pattern-matching.d.ts +0 -149
  748. package/dist/router/pattern-matching.d.ts.map +0 -1
  749. package/dist/router/pattern-matching.js +0 -349
  750. package/dist/router/pattern-matching.js.map +0 -1
  751. package/dist/router/revalidation.d.ts +0 -44
  752. package/dist/router/revalidation.d.ts.map +0 -1
  753. package/dist/router/revalidation.js +0 -147
  754. package/dist/router/revalidation.js.map +0 -1
  755. package/dist/router/router-context.d.ts +0 -135
  756. package/dist/router/router-context.d.ts.map +0 -1
  757. package/dist/router/router-context.js +0 -36
  758. package/dist/router/router-context.js.map +0 -1
  759. package/dist/router/segment-resolution.d.ts +0 -127
  760. package/dist/router/segment-resolution.d.ts.map +0 -1
  761. package/dist/router/segment-resolution.js +0 -919
  762. package/dist/router/segment-resolution.js.map +0 -1
  763. package/dist/router/trie-matching.d.ts +0 -40
  764. package/dist/router/trie-matching.d.ts.map +0 -1
  765. package/dist/router/trie-matching.js +0 -127
  766. package/dist/router/trie-matching.js.map +0 -1
  767. package/dist/router/types.d.ts +0 -136
  768. package/dist/router/types.d.ts.map +0 -1
  769. package/dist/router/types.js +0 -7
  770. package/dist/router/types.js.map +0 -1
  771. package/dist/router.d.ts +0 -753
  772. package/dist/router.d.ts.map +0 -1
  773. package/dist/router.gen.d.ts +0 -6
  774. package/dist/router.gen.d.ts.map +0 -1
  775. package/dist/router.gen.js +0 -6
  776. package/dist/router.gen.js.map +0 -1
  777. package/dist/router.js +0 -1304
  778. package/dist/router.js.map +0 -1
  779. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  780. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  781. package/dist/rsc/__tests__/helpers.test.js +0 -140
  782. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  783. package/dist/rsc/handler.d.ts +0 -45
  784. package/dist/rsc/handler.d.ts.map +0 -1
  785. package/dist/rsc/handler.js +0 -1172
  786. package/dist/rsc/handler.js.map +0 -1
  787. package/dist/rsc/helpers.d.ts +0 -16
  788. package/dist/rsc/helpers.d.ts.map +0 -1
  789. package/dist/rsc/helpers.js +0 -55
  790. package/dist/rsc/helpers.js.map +0 -1
  791. package/dist/rsc/index.d.ts +0 -22
  792. package/dist/rsc/index.d.ts.map +0 -1
  793. package/dist/rsc/index.js +0 -23
  794. package/dist/rsc/index.js.map +0 -1
  795. package/dist/rsc/nonce.d.ts +0 -9
  796. package/dist/rsc/nonce.d.ts.map +0 -1
  797. package/dist/rsc/nonce.js +0 -18
  798. package/dist/rsc/nonce.js.map +0 -1
  799. package/dist/rsc/types.d.ts +0 -206
  800. package/dist/rsc/types.d.ts.map +0 -1
  801. package/dist/rsc/types.js +0 -8
  802. package/dist/rsc/types.js.map +0 -1
  803. package/dist/search-params.d.ts +0 -103
  804. package/dist/search-params.d.ts.map +0 -1
  805. package/dist/search-params.js +0 -74
  806. package/dist/search-params.js.map +0 -1
  807. package/dist/segment-system.d.ts +0 -75
  808. package/dist/segment-system.d.ts.map +0 -1
  809. package/dist/segment-system.js +0 -336
  810. package/dist/segment-system.js.map +0 -1
  811. package/dist/server/context.d.ts +0 -245
  812. package/dist/server/context.d.ts.map +0 -1
  813. package/dist/server/context.js +0 -197
  814. package/dist/server/context.js.map +0 -1
  815. package/dist/server/fetchable-loader-store.d.ts +0 -18
  816. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  817. package/dist/server/fetchable-loader-store.js +0 -18
  818. package/dist/server/fetchable-loader-store.js.map +0 -1
  819. package/dist/server/handle-store.d.ts +0 -85
  820. package/dist/server/handle-store.d.ts.map +0 -1
  821. package/dist/server/handle-store.js +0 -142
  822. package/dist/server/handle-store.js.map +0 -1
  823. package/dist/server/loader-registry.d.ts +0 -55
  824. package/dist/server/loader-registry.d.ts.map +0 -1
  825. package/dist/server/loader-registry.js +0 -132
  826. package/dist/server/loader-registry.js.map +0 -1
  827. package/dist/server/request-context.d.ts +0 -226
  828. package/dist/server/request-context.d.ts.map +0 -1
  829. package/dist/server/request-context.js +0 -290
  830. package/dist/server/request-context.js.map +0 -1
  831. package/dist/server/root-layout.d.ts +0 -4
  832. package/dist/server/root-layout.d.ts.map +0 -1
  833. package/dist/server/root-layout.js +0 -5
  834. package/dist/server/root-layout.js.map +0 -1
  835. package/dist/server.d.ts +0 -15
  836. package/dist/server.d.ts.map +0 -1
  837. package/dist/server.js +0 -20
  838. package/dist/server.js.map +0 -1
  839. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  840. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  841. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  842. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  843. package/dist/ssr/index.d.ts +0 -98
  844. package/dist/ssr/index.d.ts.map +0 -1
  845. package/dist/ssr/index.js +0 -158
  846. package/dist/ssr/index.js.map +0 -1
  847. package/dist/static-handler.d.ts +0 -50
  848. package/dist/static-handler.d.ts.map +0 -1
  849. package/dist/static-handler.gen.d.ts +0 -5
  850. package/dist/static-handler.gen.d.ts.map +0 -1
  851. package/dist/static-handler.gen.js +0 -5
  852. package/dist/static-handler.gen.js.map +0 -1
  853. package/dist/static-handler.js +0 -29
  854. package/dist/static-handler.js.map +0 -1
  855. package/dist/theme/ThemeProvider.d.ts +0 -20
  856. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  857. package/dist/theme/ThemeProvider.js +0 -240
  858. package/dist/theme/ThemeProvider.js.map +0 -1
  859. package/dist/theme/ThemeScript.d.ts +0 -48
  860. package/dist/theme/ThemeScript.d.ts.map +0 -1
  861. package/dist/theme/ThemeScript.js +0 -13
  862. package/dist/theme/ThemeScript.js.map +0 -1
  863. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  864. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  865. package/dist/theme/__tests__/theme.test.js +0 -103
  866. package/dist/theme/__tests__/theme.test.js.map +0 -1
  867. package/dist/theme/constants.d.ts +0 -29
  868. package/dist/theme/constants.d.ts.map +0 -1
  869. package/dist/theme/constants.js +0 -48
  870. package/dist/theme/constants.js.map +0 -1
  871. package/dist/theme/index.d.ts +0 -31
  872. package/dist/theme/index.d.ts.map +0 -1
  873. package/dist/theme/index.js +0 -36
  874. package/dist/theme/index.js.map +0 -1
  875. package/dist/theme/theme-context.d.ts +0 -40
  876. package/dist/theme/theme-context.d.ts.map +0 -1
  877. package/dist/theme/theme-context.js +0 -60
  878. package/dist/theme/theme-context.js.map +0 -1
  879. package/dist/theme/theme-script.d.ts +0 -27
  880. package/dist/theme/theme-script.d.ts.map +0 -1
  881. package/dist/theme/theme-script.js +0 -147
  882. package/dist/theme/theme-script.js.map +0 -1
  883. package/dist/theme/types.d.ts +0 -163
  884. package/dist/theme/types.d.ts.map +0 -1
  885. package/dist/theme/types.js +0 -11
  886. package/dist/theme/types.js.map +0 -1
  887. package/dist/theme/use-theme.d.ts +0 -12
  888. package/dist/theme/use-theme.d.ts.map +0 -1
  889. package/dist/theme/use-theme.js +0 -40
  890. package/dist/theme/use-theme.js.map +0 -1
  891. package/dist/types.d.ts +0 -1479
  892. package/dist/types.d.ts.map +0 -1
  893. package/dist/types.js +0 -10
  894. package/dist/types.js.map +0 -1
  895. package/dist/urls.d.ts +0 -441
  896. package/dist/urls.d.ts.map +0 -1
  897. package/dist/urls.gen.d.ts +0 -8
  898. package/dist/urls.gen.d.ts.map +0 -1
  899. package/dist/urls.gen.js +0 -8
  900. package/dist/urls.gen.js.map +0 -1
  901. package/dist/urls.js +0 -443
  902. package/dist/urls.js.map +0 -1
  903. package/dist/use-loader.d.ts +0 -127
  904. package/dist/use-loader.d.ts.map +0 -1
  905. package/dist/use-loader.js +0 -237
  906. package/dist/use-loader.js.map +0 -1
  907. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  908. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  909. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  910. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  911. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  912. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  913. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  914. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  915. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  916. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  917. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  918. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  919. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  920. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  921. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  922. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  923. package/dist/vite/ast-handler-extract.d.ts +0 -49
  924. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  925. package/dist/vite/ast-handler-extract.js +0 -249
  926. package/dist/vite/ast-handler-extract.js.map +0 -1
  927. package/dist/vite/expose-action-id.d.ts +0 -19
  928. package/dist/vite/expose-action-id.d.ts.map +0 -1
  929. package/dist/vite/expose-action-id.js +0 -250
  930. package/dist/vite/expose-action-id.js.map +0 -1
  931. package/dist/vite/expose-id-utils.d.ts +0 -69
  932. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  933. package/dist/vite/expose-id-utils.js +0 -289
  934. package/dist/vite/expose-id-utils.js.map +0 -1
  935. package/dist/vite/expose-internal-ids.d.ts +0 -22
  936. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  937. package/dist/vite/expose-internal-ids.js +0 -886
  938. package/dist/vite/expose-internal-ids.js.map +0 -1
  939. package/dist/vite/index.d.ts +0 -149
  940. package/dist/vite/index.d.ts.map +0 -1
  941. package/dist/vite/index.js.map +0 -1
  942. package/dist/vite/index.named-routes.gen.ts +0 -103
  943. package/dist/vite/package-resolution.d.ts +0 -43
  944. package/dist/vite/package-resolution.d.ts.map +0 -1
  945. package/dist/vite/package-resolution.js +0 -112
  946. package/dist/vite/package-resolution.js.map +0 -1
  947. package/dist/vite/virtual-entries.d.ts +0 -25
  948. package/dist/vite/virtual-entries.d.ts.map +0 -1
  949. package/dist/vite/virtual-entries.js +0 -110
  950. package/dist/vite/virtual-entries.js.map +0 -1
package/README.md CHANGED
@@ -91,24 +91,29 @@ This file is a server/RSC module and should import router construction APIs from
91
91
 
92
92
  ```tsx
93
93
  // src/router.tsx
94
- import { createRouter, urls } from "@rangojs/router";
95
- import { Document } from "./document";
94
+ import { createRouter } from "@rangojs/router";
96
95
 
97
- const blogPatterns = urls(({ path }) => [
98
- path("/", BlogIndexPage, { name: "index" }),
99
- path("/:slug", BlogPostPage, { name: "post" }),
96
+ export const router = createRouter().routes(({ path }) => [
97
+ path("/", HomePage, { name: "home" }),
98
+ path("/about", AboutPage, { name: "about" }),
100
99
  ]);
101
100
 
101
+ export const reverse = router.reverse;
102
+ // reverse("home") -> "/"
103
+ ```
104
+
105
+ For larger apps, extract route modules with `urls()` and compose with `include()`:
106
+
107
+ ```tsx
108
+ import { createRouter, urls } from "@rangojs/router";
109
+ import { blogPatterns } from "./urls/blog";
110
+
102
111
  const urlpatterns = urls(({ path, include }) => [
103
112
  path("/", HomePage, { name: "home" }),
104
113
  include("/blog", blogPatterns, { name: "blog" }),
105
114
  ]);
106
115
 
107
- export const router = createRouter({ document: Document }).routes(urlpatterns);
108
-
109
- // Export typed reverse function for URL generation by route name
110
- export const reverse = router.reverse;
111
-
116
+ export const router = createRouter().routes(urlpatterns);
112
117
  // reverse("blog.post", { slug: "hello-world" }) -> "/blog/hello-world"
113
118
  ```
114
119
 
@@ -711,10 +716,12 @@ export const BlogPost = Prerender(
711
716
 
712
717
  ### Passthrough for Unknown Params
713
718
 
719
+ Wrap a `Prerender` definition with `Passthrough()` to add a live handler for unknown params at runtime. The build handler runs at build time, the live handler runs at request time for params not in the prerender cache.
720
+
714
721
  ```tsx
715
- import { Prerender } from "@rangojs/router";
722
+ import { Prerender, Passthrough } from "@rangojs/router";
716
723
 
717
- export const ProductPage = Prerender(
724
+ export const ProductPageDef = Prerender(
718
725
  async () => {
719
726
  const featured = await db.getFeaturedProducts();
720
727
  return featured.map((p) => ({ id: p.id }));
@@ -723,16 +730,22 @@ export const ProductPage = Prerender(
723
730
  const product = await db.getProduct(ctx.params.id);
724
731
  return <Product data={product} />;
725
732
  },
726
- { passthrough: true },
727
733
  );
728
- ```
729
734
 
730
- With `passthrough: true`, known params are served from the build-time cache and unknown params fall through to live rendering.
735
+ // In route definition:
736
+ path(
737
+ "/products/:id",
738
+ Passthrough(ProductPageDef, async (ctx) => {
739
+ const product = await ctx.env.DB.getProduct(ctx.params.id);
740
+ return <Product data={product} />;
741
+ }),
742
+ );
743
+ ```
731
744
 
732
- Handlers can also skip individual param sets with `ctx.passthrough()`, deferring them to the live handler at runtime:
745
+ Build handlers can also skip individual param sets with `ctx.passthrough()`, deferring them to the live handler:
733
746
 
734
747
  ```tsx
735
- export const ProductPage = Prerender(
748
+ export const ProductPageDef = Prerender(
736
749
  async () => {
737
750
  const all = await db.getAllProducts();
738
751
  return all.map((p) => ({ id: p.id }));
@@ -742,10 +755,55 @@ export const ProductPage = Prerender(
742
755
  if (!product.published) return ctx.passthrough();
743
756
  return <Product data={product} />;
744
757
  },
745
- { passthrough: true },
746
758
  );
747
759
  ```
748
760
 
761
+ ### Build-Time Environment Bindings
762
+
763
+ Prerender handlers can access platform bindings (KV, D1, R2) at build time when `buildEnv` is configured in the Vite plugin:
764
+
765
+ ```ts
766
+ // vite.config.ts
767
+ import { rango } from "@rangojs/router/vite";
768
+
769
+ rango({ preset: "cloudflare", buildEnv: "auto" });
770
+ ```
771
+
772
+ With `buildEnv: "auto"`, the plugin calls `wrangler.getPlatformProxy()` to provide local bindings. Handlers then access `ctx.env` during build:
773
+
774
+ ```tsx
775
+ export const BlogPosts = Prerender<{ slug: string }>(
776
+ async (ctx) => {
777
+ const rows = await ctx.env.DB.prepare("SELECT slug FROM posts").all();
778
+ return rows.map((r) => ({ slug: r.slug }));
779
+ },
780
+ async (ctx) => {
781
+ const post = await ctx.env.DB.prepare("SELECT * FROM posts WHERE slug = ?")
782
+ .bind(ctx.params.slug)
783
+ .first();
784
+ return <BlogPost post={post} />;
785
+ },
786
+ );
787
+ ```
788
+
789
+ `buildEnv` also accepts a factory function or plain object:
790
+
791
+ ```ts
792
+ // Custom factory
793
+ rango({
794
+ buildEnv: async (ctx) => {
795
+ const { getPlatformProxy } = await import("wrangler");
796
+ const proxy = await getPlatformProxy();
797
+ return { env: proxy.env, dispose: proxy.dispose };
798
+ },
799
+ });
800
+
801
+ // Plain object (Node.js)
802
+ rango({ buildEnv: { DATABASE_URL: process.env.DATABASE_URL } });
803
+ ```
804
+
805
+ Build-time env applies to both production builds and dev on-demand prerender. Without `buildEnv`, accessing `ctx.env` in a Prerender handler throws with a clear error.
806
+
749
807
  ## Theme
750
808
 
751
809
  ### Router Configuration
package/dist/bin/rango.js CHANGED
@@ -218,7 +218,8 @@ function findTsFiles(dir, filter) {
218
218
  for (const entry of entries) {
219
219
  const fullPath = join(dir, entry.name);
220
220
  if (entry.isDirectory()) {
221
- if (entry.name === "node_modules" || entry.name.startsWith(".")) continue;
221
+ if (entry.name === "node_modules" || entry.name.startsWith(".") || entry.name === "dist" || entry.name === "build" || entry.name === "coverage")
222
+ continue;
222
223
  results.push(...findTsFiles(fullPath, filter));
223
224
  } else if ((entry.name.endsWith(".ts") || entry.name.endsWith(".tsx") || entry.name.endsWith(".js") || entry.name.endsWith(".jsx")) && !entry.name.includes(".gen.")) {
224
225
  if (filter && !filter(fullPath)) continue;
@@ -450,7 +451,7 @@ function buildRouteMapFromBlock(block, fullSource, filePath, visited, searchSche
450
451
  }
451
452
  return routeMap;
452
453
  }
453
- function buildCombinedRouteMapWithSearch(filePath, variableName, visited, diagnosticsOut) {
454
+ function buildCombinedRouteMapWithSearch(filePath, variableName, visited, diagnosticsOut, inlineBlock) {
454
455
  visited = visited ?? /* @__PURE__ */ new Set();
455
456
  const realPath = resolve(filePath);
456
457
  const key = variableName ? `${realPath}:${variableName}` : realPath;
@@ -466,7 +467,9 @@ function buildCombinedRouteMapWithSearch(filePath, variableName, visited, diagno
466
467
  return { routes: {}, searchSchemas: {} };
467
468
  }
468
469
  let block;
469
- if (variableName) {
470
+ if (inlineBlock) {
471
+ block = inlineBlock;
472
+ } else if (variableName) {
470
473
  const extracted = extractUrlsBlockForVariable(source, variableName);
471
474
  if (!extracted) return { routes: {}, searchSchemas: {} };
472
475
  block = extracted;
@@ -601,7 +604,7 @@ function countPublicRouteEntries(source) {
601
604
  return count;
602
605
  }
603
606
  function isRoutableSourceFile(name) {
604
- return (name.endsWith(".ts") || name.endsWith(".tsx") || name.endsWith(".js") || name.endsWith(".jsx")) && !name.includes(".gen.");
607
+ return (name.endsWith(".ts") || name.endsWith(".tsx") || name.endsWith(".js") || name.endsWith(".jsx")) && !name.includes(".gen.") && !name.includes(".test.") && !name.includes(".spec.");
605
608
  }
606
609
  function findRouterFilesRecursive(dir, filter, results) {
607
610
  let entries;
@@ -618,7 +621,8 @@ function findRouterFilesRecursive(dir, filter, results) {
618
621
  for (const entry of entries) {
619
622
  const fullPath = join2(dir, entry.name);
620
623
  if (entry.isDirectory()) {
621
- if (entry.name === "node_modules" || entry.name.startsWith(".")) continue;
624
+ if (entry.name === "node_modules" || entry.name === "dist" || entry.name === "coverage" || entry.name === "__tests__" || entry.name === "__mocks__" || entry.name.startsWith("."))
625
+ continue;
622
626
  childDirs.push(fullPath);
623
627
  continue;
624
628
  }
@@ -670,7 +674,7 @@ Router root: ${conflict.ancestor}
670
674
  Nested router: ${conflict.nested}
671
675
  Move the nested router into a sibling directory or configure it as a separate app root.`;
672
676
  }
673
- function extractUrlsVariableFromRouter(code) {
677
+ function extractUrlsFromRouter(code) {
674
678
  const sourceFile = ts5.createSourceFile(
675
679
  "router.tsx",
676
680
  code,
@@ -684,24 +688,70 @@ function extractUrlsVariableFromRouter(code) {
684
688
  const callee = node.expression;
685
689
  return ts5.isIdentifier(callee) && callee.text === "createRouter";
686
690
  }
691
+ function isInlineBuilder(node) {
692
+ return ts5.isArrowFunction(node) || ts5.isFunctionExpression(node);
693
+ }
694
+ function isRoutesOnCreateRouter(node) {
695
+ if (!ts5.isPropertyAccessExpression(node.expression) || node.expression.name.text !== "routes")
696
+ return false;
697
+ let inner = node.expression.expression;
698
+ while (ts5.isCallExpression(inner) && ts5.isPropertyAccessExpression(inner.expression)) {
699
+ inner = inner.expression.expression;
700
+ }
701
+ return isCreateRouterCall(inner);
702
+ }
687
703
  function visit(node) {
688
704
  if (result) return;
689
- if (ts5.isCallExpression(node) && ts5.isPropertyAccessExpression(node.expression) && node.expression.name.text === "routes" && node.arguments.length >= 1 && ts5.isIdentifier(node.arguments[0])) {
690
- let inner = node.expression.expression;
691
- while (ts5.isCallExpression(inner) && ts5.isPropertyAccessExpression(inner.expression)) {
692
- inner = inner.expression.expression;
693
- }
694
- if (isCreateRouterCall(inner)) {
695
- result = node.arguments[0].text;
696
- return;
705
+ if (ts5.isCallExpression(node) && node.arguments.length >= 1 && isRoutesOnCreateRouter(node)) {
706
+ const arg = node.arguments[0];
707
+ if (ts5.isIdentifier(arg)) {
708
+ result = { kind: "variable", name: arg.text };
709
+ } else if (isInlineBuilder(arg)) {
710
+ result = { kind: "inline", block: arg.getText(sourceFile) };
697
711
  }
712
+ return;
698
713
  }
699
714
  if (isCreateRouterCall(node)) {
700
715
  const callExpr = node;
701
- for (const arg of callExpr.arguments) {
716
+ for (const callArg of callExpr.arguments) {
717
+ if (ts5.isObjectLiteralExpression(callArg)) {
718
+ for (const prop of callArg.properties) {
719
+ if (ts5.isPropertyAssignment(prop) && ts5.isIdentifier(prop.name) && prop.name.text === "urls") {
720
+ if (ts5.isIdentifier(prop.initializer)) {
721
+ result = { kind: "variable", name: prop.initializer.text };
722
+ } else if (isInlineBuilder(prop.initializer)) {
723
+ result = {
724
+ kind: "inline",
725
+ block: prop.initializer.getText(sourceFile)
726
+ };
727
+ }
728
+ return;
729
+ }
730
+ }
731
+ }
732
+ }
733
+ }
734
+ ts5.forEachChild(node, visit);
735
+ }
736
+ visit(sourceFile);
737
+ return result;
738
+ }
739
+ function extractBasenameFromRouter(code) {
740
+ const sourceFile = ts5.createSourceFile(
741
+ "router.tsx",
742
+ code,
743
+ ts5.ScriptTarget.Latest,
744
+ true,
745
+ ts5.ScriptKind.TSX
746
+ );
747
+ let result;
748
+ function visit(node) {
749
+ if (result !== void 0) return;
750
+ if (ts5.isCallExpression(node) && ts5.isIdentifier(node.expression) && node.expression.text === "createRouter") {
751
+ for (const arg of node.arguments) {
702
752
  if (ts5.isObjectLiteralExpression(arg)) {
703
753
  for (const prop of arg.properties) {
704
- if (ts5.isPropertyAssignment(prop) && ts5.isIdentifier(prop.name) && prop.name.text === "urls" && ts5.isIdentifier(prop.initializer)) {
754
+ if (ts5.isPropertyAssignment(prop) && ts5.isIdentifier(prop.name) && prop.name.text === "basename" && ts5.isStringLiteral(prop.initializer)) {
705
755
  result = prop.initializer.text;
706
756
  return;
707
757
  }
@@ -714,6 +764,19 @@ function extractUrlsVariableFromRouter(code) {
714
764
  visit(sourceFile);
715
765
  return result;
716
766
  }
767
+ function applyBasenameToRoutes(result, basename2) {
768
+ const prefixed = {};
769
+ for (const [name, pattern] of Object.entries(result.routes)) {
770
+ if (pattern === "/") {
771
+ prefixed[name] = basename2;
772
+ } else if (basename2.endsWith("/") && pattern.startsWith("/")) {
773
+ prefixed[name] = basename2 + pattern.slice(1);
774
+ } else {
775
+ prefixed[name] = basename2 + pattern;
776
+ }
777
+ }
778
+ return { routes: prefixed, searchSchemas: result.searchSchemas };
779
+ }
717
780
  function buildCombinedRouteMapForRouterFile(routerFilePath) {
718
781
  let routerSource;
719
782
  try {
@@ -721,19 +784,40 @@ function buildCombinedRouteMapForRouterFile(routerFilePath) {
721
784
  } catch {
722
785
  return { routes: {}, searchSchemas: {} };
723
786
  }
724
- const urlsVarName = extractUrlsVariableFromRouter(routerSource);
725
- if (!urlsVarName) {
787
+ const extraction = extractUrlsFromRouter(routerSource);
788
+ if (!extraction) {
726
789
  return { routes: {}, searchSchemas: {} };
727
790
  }
728
- const imported = resolveImportedVariable(routerSource, urlsVarName);
729
- if (imported) {
730
- const targetFile = resolveImportPath(imported.specifier, routerFilePath);
731
- if (!targetFile) {
732
- return { routes: {}, searchSchemas: {} };
791
+ const rawBasename = extractBasenameFromRouter(routerSource);
792
+ const basename2 = rawBasename ? ("/" + rawBasename.replace(/^\/+|\/+$/g, "")).replace(/^\/$/, "") : void 0;
793
+ let result;
794
+ if (extraction.kind === "inline") {
795
+ result = buildCombinedRouteMapWithSearch(
796
+ routerFilePath,
797
+ void 0,
798
+ void 0,
799
+ void 0,
800
+ extraction.block
801
+ );
802
+ } else {
803
+ const imported = resolveImportedVariable(routerSource, extraction.name);
804
+ if (imported) {
805
+ const targetFile = resolveImportPath(imported.specifier, routerFilePath);
806
+ if (!targetFile) {
807
+ return { routes: {}, searchSchemas: {} };
808
+ }
809
+ result = buildCombinedRouteMapWithSearch(
810
+ targetFile,
811
+ imported.exportedName
812
+ );
813
+ } else {
814
+ result = buildCombinedRouteMapWithSearch(routerFilePath, extraction.name);
733
815
  }
734
- return buildCombinedRouteMapWithSearch(targetFile, imported.exportedName);
735
816
  }
736
- return buildCombinedRouteMapWithSearch(routerFilePath, urlsVarName);
817
+ if (basename2) {
818
+ result = applyBasenameToRoutes(result, basename2);
819
+ }
820
+ return result;
737
821
  }
738
822
  function detectUnresolvableIncludes(routerFilePath) {
739
823
  const realPath = resolve2(routerFilePath);
@@ -743,9 +827,20 @@ function detectUnresolvableIncludes(routerFilePath) {
743
827
  } catch {
744
828
  return [];
745
829
  }
746
- const urlsVarName = extractUrlsVariableFromRouter(source);
747
- if (!urlsVarName) return [];
748
- const imported = resolveImportedVariable(source, urlsVarName);
830
+ const extraction = extractUrlsFromRouter(source);
831
+ if (!extraction) return [];
832
+ const diagnostics = [];
833
+ if (extraction.kind === "inline") {
834
+ buildCombinedRouteMapWithSearch(
835
+ realPath,
836
+ void 0,
837
+ /* @__PURE__ */ new Set(),
838
+ diagnostics,
839
+ extraction.block
840
+ );
841
+ return diagnostics;
842
+ }
843
+ const imported = resolveImportedVariable(source, extraction.name);
749
844
  let targetFile;
750
845
  let exportedName;
751
846
  if (imported) {
@@ -765,9 +860,8 @@ function detectUnresolvableIncludes(routerFilePath) {
765
860
  exportedName = imported.exportedName;
766
861
  } else {
767
862
  targetFile = realPath;
768
- exportedName = urlsVarName;
863
+ exportedName = extraction.name;
769
864
  }
770
- const diagnostics = [];
771
865
  buildCombinedRouteMapWithSearch(
772
866
  targetFile,
773
867
  exportedName,
@@ -815,25 +909,15 @@ function writeCombinedRouteTypes(root, knownRouterFiles, opts) {
815
909
  throw new Error(formatNestedRouterConflictError(nestedRouterConflict));
816
910
  }
817
911
  for (const routerFilePath of routerFilePaths) {
818
- let routerSource;
819
- try {
820
- routerSource = readFileSync3(routerFilePath, "utf-8");
821
- } catch {
822
- continue;
823
- }
824
- const urlsVarName = extractUrlsVariableFromRouter(routerSource);
825
- if (!urlsVarName) continue;
826
- let result;
827
- const imported = resolveImportedVariable(routerSource, urlsVarName);
828
- if (imported) {
829
- const targetFile = resolveImportPath(imported.specifier, routerFilePath);
830
- if (!targetFile) continue;
831
- result = buildCombinedRouteMapWithSearch(
832
- targetFile,
833
- imported.exportedName
834
- );
835
- } else {
836
- result = buildCombinedRouteMapWithSearch(routerFilePath, urlsVarName);
912
+ const result = buildCombinedRouteMapForRouterFile(routerFilePath);
913
+ if (Object.keys(result.routes).length === 0 && Object.keys(result.searchSchemas).length === 0) {
914
+ let routerSource;
915
+ try {
916
+ routerSource = readFileSync3(routerFilePath, "utf-8");
917
+ } catch {
918
+ continue;
919
+ }
920
+ if (!extractUrlsFromRouter(routerSource)) continue;
837
921
  }
838
922
  const routerBasename = pathBasename(routerFilePath).replace(
839
923
  /\.(tsx?|jsx?)$/,
@@ -1062,8 +1146,9 @@ function createVersionPlugin() {
1062
1146
  let isDev = false;
1063
1147
  let server = null;
1064
1148
  const clientModuleSignatures = /* @__PURE__ */ new Map();
1149
+ let versionCounter = 0;
1065
1150
  const bumpVersion = (reason) => {
1066
- currentVersion = Date.now().toString(16);
1151
+ currentVersion = Date.now().toString(16) + String(++versionCounter);
1067
1152
  console.log(`[rsc-router] ${reason}, version updated: ${currentVersion}`);
1068
1153
  const rscEnv = server?.environments?.rsc;
1069
1154
  const versionMod = rscEnv?.moduleGraph?.getModuleById(
@@ -1119,6 +1204,9 @@ function createVersionPlugin() {
1119
1204
  if (!isDev) return;
1120
1205
  const isRscModule = this.environment?.name === "rsc";
1121
1206
  if (!isRscModule) return;
1207
+ if (ctx.modules.length === 1 && ctx.modules[0].id === "\0" + VIRTUAL_IDS.version) {
1208
+ return;
1209
+ }
1122
1210
  if (isCodeModule(ctx.file)) {
1123
1211
  const filePath = normalizeModuleId(ctx.file);
1124
1212
  const previousSignature = clientModuleSignatures.get(filePath);