@rangojs/router 0.0.0-experimental.a62282ba → 0.0.0-experimental.a6f6907d

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 (940) hide show
  1. package/README.md +76 -18
  2. package/dist/bin/rango.js +138 -50
  3. package/dist/vite/index.js +839 -429
  4. package/package.json +2 -2
  5. package/skills/cache-guide/SKILL.md +32 -0
  6. package/skills/caching/SKILL.md +45 -4
  7. package/skills/links/SKILL.md +3 -1
  8. package/skills/loader/SKILL.md +53 -43
  9. package/skills/middleware/SKILL.md +2 -0
  10. package/skills/parallel/SKILL.md +126 -0
  11. package/skills/prerender/SKILL.md +110 -68
  12. package/skills/route/SKILL.md +31 -0
  13. package/skills/router-setup/SKILL.md +87 -2
  14. package/skills/typesafety/SKILL.md +10 -0
  15. package/src/__internal.ts +1 -1
  16. package/src/browser/app-version.ts +14 -0
  17. package/src/browser/event-controller.ts +5 -0
  18. package/src/browser/navigation-bridge.ts +24 -11
  19. package/src/browser/navigation-client.ts +142 -57
  20. package/src/browser/navigation-store.ts +43 -8
  21. package/src/browser/navigation-transaction.ts +11 -9
  22. package/src/browser/partial-update.ts +81 -13
  23. package/src/browser/prefetch/cache.ts +73 -11
  24. package/src/browser/prefetch/fetch.ts +98 -27
  25. package/src/browser/prefetch/queue.ts +92 -20
  26. package/src/browser/prefetch/resource-ready.ts +77 -0
  27. package/src/browser/react/Link.tsx +76 -9
  28. package/src/browser/react/NavigationProvider.tsx +40 -4
  29. package/src/browser/react/context.ts +7 -2
  30. package/src/browser/react/use-handle.ts +9 -58
  31. package/src/browser/react/use-router.ts +21 -8
  32. package/src/browser/rsc-router.tsx +134 -59
  33. package/src/browser/scroll-restoration.ts +21 -18
  34. package/src/browser/segment-reconciler.ts +32 -1
  35. package/src/browser/server-action-bridge.ts +8 -6
  36. package/src/browser/types.ts +36 -5
  37. package/src/build/generate-manifest.ts +6 -6
  38. package/src/build/generate-route-types.ts +3 -0
  39. package/src/build/route-types/include-resolution.ts +8 -1
  40. package/src/build/route-types/router-processing.ts +223 -74
  41. package/src/build/route-types/scan-filter.ts +8 -1
  42. package/src/cache/cache-runtime.ts +15 -11
  43. package/src/cache/cache-scope.ts +48 -7
  44. package/src/cache/cf/cf-cache-store.ts +453 -11
  45. package/src/cache/cf/index.ts +5 -1
  46. package/src/cache/document-cache.ts +17 -7
  47. package/src/cache/index.ts +1 -0
  48. package/src/cache/taint.ts +55 -0
  49. package/src/client.tsx +2 -56
  50. package/src/context-var.ts +72 -2
  51. package/src/debug.ts +2 -2
  52. package/src/handle.ts +40 -0
  53. package/src/index.rsc.ts +3 -1
  54. package/src/index.ts +12 -0
  55. package/src/prerender/store.ts +5 -4
  56. package/src/prerender.ts +138 -77
  57. package/src/reverse.ts +22 -1
  58. package/src/route-definition/dsl-helpers.ts +73 -25
  59. package/src/route-definition/helpers-types.ts +10 -6
  60. package/src/route-definition/index.ts +3 -0
  61. package/src/route-definition/redirect.ts +11 -3
  62. package/src/route-definition/resolve-handler-use.ts +149 -0
  63. package/src/route-types.ts +11 -0
  64. package/src/router/content-negotiation.ts +100 -1
  65. package/src/router/handler-context.ts +79 -23
  66. package/src/router/intercept-resolution.ts +9 -4
  67. package/src/router/lazy-includes.ts +2 -1
  68. package/src/router/loader-resolution.ts +156 -21
  69. package/src/router/logging.ts +1 -1
  70. package/src/router/manifest.ts +6 -2
  71. package/src/router/match-api.ts +124 -189
  72. package/src/router/match-middleware/background-revalidation.ts +30 -2
  73. package/src/router/match-middleware/cache-lookup.ts +94 -17
  74. package/src/router/match-middleware/cache-store.ts +53 -10
  75. package/src/router/match-middleware/intercept-resolution.ts +9 -7
  76. package/src/router/match-middleware/segment-resolution.ts +60 -5
  77. package/src/router/match-result.ts +104 -10
  78. package/src/router/metrics.ts +6 -1
  79. package/src/router/middleware-types.ts +6 -8
  80. package/src/router/middleware.ts +4 -6
  81. package/src/router/navigation-snapshot.ts +182 -0
  82. package/src/router/prerender-match.ts +110 -10
  83. package/src/router/preview-match.ts +30 -102
  84. package/src/router/request-classification.ts +310 -0
  85. package/src/router/route-snapshot.ts +245 -0
  86. package/src/router/router-context.ts +1 -0
  87. package/src/router/router-interfaces.ts +36 -4
  88. package/src/router/router-options.ts +37 -11
  89. package/src/router/segment-resolution/fresh.ts +198 -20
  90. package/src/router/segment-resolution/helpers.ts +29 -24
  91. package/src/router/segment-resolution/loader-cache.ts +1 -0
  92. package/src/router/segment-resolution/revalidation.ts +433 -296
  93. package/src/router/types.ts +1 -0
  94. package/src/router.ts +55 -6
  95. package/src/rsc/handler.ts +472 -372
  96. package/src/rsc/loader-fetch.ts +23 -3
  97. package/src/rsc/manifest-init.ts +5 -1
  98. package/src/rsc/progressive-enhancement.ts +14 -2
  99. package/src/rsc/rsc-rendering.ts +10 -1
  100. package/src/rsc/server-action.ts +8 -0
  101. package/src/rsc/ssr-setup.ts +2 -2
  102. package/src/rsc/types.ts +9 -1
  103. package/src/segment-system.tsx +140 -4
  104. package/src/server/context.ts +140 -14
  105. package/src/server/handle-store.ts +19 -0
  106. package/src/server/loader-registry.ts +9 -8
  107. package/src/server/request-context.ts +185 -19
  108. package/src/ssr/index.tsx +4 -0
  109. package/src/static-handler.ts +18 -6
  110. package/src/types/cache-types.ts +4 -4
  111. package/src/types/handler-context.ts +137 -33
  112. package/src/types/loader-types.ts +36 -9
  113. package/src/types/route-entry.ts +1 -1
  114. package/src/types/segments.ts +3 -0
  115. package/src/urls/path-helper-types.ts +9 -2
  116. package/src/urls/path-helper.ts +48 -13
  117. package/src/urls/pattern-types.ts +12 -0
  118. package/src/urls/response-types.ts +16 -6
  119. package/src/use-loader.tsx +77 -5
  120. package/src/vite/discovery/bundle-postprocess.ts +30 -33
  121. package/src/vite/discovery/discover-routers.ts +5 -1
  122. package/src/vite/discovery/prerender-collection.ts +128 -74
  123. package/src/vite/discovery/state.ts +13 -6
  124. package/src/vite/index.ts +4 -0
  125. package/src/vite/plugin-types.ts +51 -79
  126. package/src/vite/plugins/expose-action-id.ts +1 -3
  127. package/src/vite/plugins/expose-id-utils.ts +12 -0
  128. package/src/vite/plugins/expose-ids/handler-transform.ts +30 -0
  129. package/src/vite/plugins/expose-internal-ids.ts +257 -40
  130. package/src/vite/plugins/performance-tracks.ts +88 -0
  131. package/src/vite/plugins/refresh-cmd.ts +88 -26
  132. package/src/vite/plugins/version-plugin.ts +13 -1
  133. package/src/vite/rango.ts +163 -211
  134. package/src/vite/router-discovery.ts +178 -45
  135. package/src/vite/utils/banner.ts +3 -3
  136. package/src/vite/utils/prerender-utils.ts +18 -0
  137. package/src/vite/utils/shared-utils.ts +3 -2
  138. package/dist/__internal.d.ts +0 -83
  139. package/dist/__internal.d.ts.map +0 -1
  140. package/dist/__internal.js +0 -19
  141. package/dist/__internal.js.map +0 -1
  142. package/dist/__mocks__/version.d.ts +0 -7
  143. package/dist/__mocks__/version.d.ts.map +0 -1
  144. package/dist/__mocks__/version.js +0 -7
  145. package/dist/__mocks__/version.js.map +0 -1
  146. package/dist/__tests__/client-href.test.d.ts +0 -2
  147. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  148. package/dist/__tests__/client-href.test.js +0 -74
  149. package/dist/__tests__/client-href.test.js.map +0 -1
  150. package/dist/__tests__/component-utils.test.d.ts +0 -2
  151. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  152. package/dist/__tests__/component-utils.test.js +0 -51
  153. package/dist/__tests__/component-utils.test.js.map +0 -1
  154. package/dist/__tests__/event-controller.test.d.ts +0 -2
  155. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  156. package/dist/__tests__/event-controller.test.js +0 -538
  157. package/dist/__tests__/event-controller.test.js.map +0 -1
  158. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  159. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  160. package/dist/__tests__/helpers/route-tree.js +0 -374
  161. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  162. package/dist/__tests__/match-result.test.d.ts +0 -2
  163. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  164. package/dist/__tests__/match-result.test.js +0 -154
  165. package/dist/__tests__/match-result.test.js.map +0 -1
  166. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  167. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  168. package/dist/__tests__/navigation-store.test.js +0 -440
  169. package/dist/__tests__/navigation-store.test.js.map +0 -1
  170. package/dist/__tests__/partial-update.test.d.ts +0 -2
  171. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  172. package/dist/__tests__/partial-update.test.js +0 -1009
  173. package/dist/__tests__/partial-update.test.js.map +0 -1
  174. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  175. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  176. package/dist/__tests__/reverse-types.test.js +0 -656
  177. package/dist/__tests__/reverse-types.test.js.map +0 -1
  178. package/dist/__tests__/route-definition.test.d.ts +0 -2
  179. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  180. package/dist/__tests__/route-definition.test.js +0 -55
  181. package/dist/__tests__/route-definition.test.js.map +0 -1
  182. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  183. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  184. package/dist/__tests__/router-helpers.test.js +0 -377
  185. package/dist/__tests__/router-helpers.test.js.map +0 -1
  186. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  187. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  188. package/dist/__tests__/router-integration-2.test.js +0 -426
  189. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  190. package/dist/__tests__/router-integration.test.d.ts +0 -2
  191. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  192. package/dist/__tests__/router-integration.test.js +0 -1051
  193. package/dist/__tests__/router-integration.test.js.map +0 -1
  194. package/dist/__tests__/search-params.test.d.ts +0 -5
  195. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  196. package/dist/__tests__/search-params.test.js +0 -306
  197. package/dist/__tests__/search-params.test.js.map +0 -1
  198. package/dist/__tests__/segment-system.test.d.ts +0 -2
  199. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  200. package/dist/__tests__/segment-system.test.js +0 -627
  201. package/dist/__tests__/segment-system.test.js.map +0 -1
  202. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  203. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  204. package/dist/__tests__/static-handler-types.test.js +0 -63
  205. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  206. package/dist/__tests__/urls.test.d.ts +0 -2
  207. package/dist/__tests__/urls.test.d.ts.map +0 -1
  208. package/dist/__tests__/urls.test.js +0 -421
  209. package/dist/__tests__/urls.test.js.map +0 -1
  210. package/dist/__tests__/use-mount.test.d.ts +0 -2
  211. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  212. package/dist/__tests__/use-mount.test.js +0 -35
  213. package/dist/__tests__/use-mount.test.js.map +0 -1
  214. package/dist/bin/rango.d.ts +0 -2
  215. package/dist/bin/rango.d.ts.map +0 -1
  216. package/dist/bin/rango.js.map +0 -1
  217. package/dist/browser/event-controller.d.ts +0 -191
  218. package/dist/browser/event-controller.d.ts.map +0 -1
  219. package/dist/browser/event-controller.js +0 -559
  220. package/dist/browser/event-controller.js.map +0 -1
  221. package/dist/browser/index.d.ts +0 -2
  222. package/dist/browser/index.d.ts.map +0 -1
  223. package/dist/browser/index.js +0 -14
  224. package/dist/browser/index.js.map +0 -1
  225. package/dist/browser/link-interceptor.d.ts +0 -38
  226. package/dist/browser/link-interceptor.d.ts.map +0 -1
  227. package/dist/browser/link-interceptor.js +0 -99
  228. package/dist/browser/link-interceptor.js.map +0 -1
  229. package/dist/browser/logging.d.ts +0 -10
  230. package/dist/browser/logging.d.ts.map +0 -1
  231. package/dist/browser/logging.js +0 -29
  232. package/dist/browser/logging.js.map +0 -1
  233. package/dist/browser/lru-cache.d.ts +0 -17
  234. package/dist/browser/lru-cache.d.ts.map +0 -1
  235. package/dist/browser/lru-cache.js +0 -50
  236. package/dist/browser/lru-cache.js.map +0 -1
  237. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  238. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  239. package/dist/browser/merge-segment-loaders.js +0 -102
  240. package/dist/browser/merge-segment-loaders.js.map +0 -1
  241. package/dist/browser/navigation-bridge.d.ts +0 -102
  242. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  243. package/dist/browser/navigation-bridge.js +0 -708
  244. package/dist/browser/navigation-bridge.js.map +0 -1
  245. package/dist/browser/navigation-client.d.ts +0 -25
  246. package/dist/browser/navigation-client.d.ts.map +0 -1
  247. package/dist/browser/navigation-client.js +0 -157
  248. package/dist/browser/navigation-client.js.map +0 -1
  249. package/dist/browser/navigation-store.d.ts +0 -101
  250. package/dist/browser/navigation-store.d.ts.map +0 -1
  251. package/dist/browser/navigation-store.js +0 -625
  252. package/dist/browser/navigation-store.js.map +0 -1
  253. package/dist/browser/partial-update.d.ts +0 -75
  254. package/dist/browser/partial-update.d.ts.map +0 -1
  255. package/dist/browser/partial-update.js +0 -426
  256. package/dist/browser/partial-update.js.map +0 -1
  257. package/dist/browser/react/Link.d.ts +0 -86
  258. package/dist/browser/react/Link.d.ts.map +0 -1
  259. package/dist/browser/react/Link.js +0 -128
  260. package/dist/browser/react/Link.js.map +0 -1
  261. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  262. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  263. package/dist/browser/react/NavigationProvider.js +0 -216
  264. package/dist/browser/react/NavigationProvider.js.map +0 -1
  265. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  266. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  267. package/dist/browser/react/ScrollRestoration.js +0 -57
  268. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  269. package/dist/browser/react/context.d.ts +0 -46
  270. package/dist/browser/react/context.d.ts.map +0 -1
  271. package/dist/browser/react/context.js +0 -10
  272. package/dist/browser/react/context.js.map +0 -1
  273. package/dist/browser/react/index.d.ts +0 -11
  274. package/dist/browser/react/index.d.ts.map +0 -1
  275. package/dist/browser/react/index.js +0 -22
  276. package/dist/browser/react/index.js.map +0 -1
  277. package/dist/browser/react/location-state-shared.d.ts +0 -63
  278. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  279. package/dist/browser/react/location-state-shared.js +0 -81
  280. package/dist/browser/react/location-state-shared.js.map +0 -1
  281. package/dist/browser/react/location-state.d.ts +0 -23
  282. package/dist/browser/react/location-state.d.ts.map +0 -1
  283. package/dist/browser/react/location-state.js +0 -29
  284. package/dist/browser/react/location-state.js.map +0 -1
  285. package/dist/browser/react/mount-context.d.ts +0 -24
  286. package/dist/browser/react/mount-context.d.ts.map +0 -1
  287. package/dist/browser/react/mount-context.js +0 -24
  288. package/dist/browser/react/mount-context.js.map +0 -1
  289. package/dist/browser/react/use-action.d.ts +0 -64
  290. package/dist/browser/react/use-action.d.ts.map +0 -1
  291. package/dist/browser/react/use-action.js +0 -134
  292. package/dist/browser/react/use-action.js.map +0 -1
  293. package/dist/browser/react/use-client-cache.d.ts +0 -41
  294. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  295. package/dist/browser/react/use-client-cache.js +0 -39
  296. package/dist/browser/react/use-client-cache.js.map +0 -1
  297. package/dist/browser/react/use-handle.d.ts +0 -31
  298. package/dist/browser/react/use-handle.d.ts.map +0 -1
  299. package/dist/browser/react/use-handle.js +0 -144
  300. package/dist/browser/react/use-handle.js.map +0 -1
  301. package/dist/browser/react/use-href.d.ts +0 -33
  302. package/dist/browser/react/use-href.d.ts.map +0 -1
  303. package/dist/browser/react/use-href.js +0 -39
  304. package/dist/browser/react/use-href.js.map +0 -1
  305. package/dist/browser/react/use-link-status.d.ts +0 -37
  306. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  307. package/dist/browser/react/use-link-status.js +0 -99
  308. package/dist/browser/react/use-link-status.js.map +0 -1
  309. package/dist/browser/react/use-mount.d.ts +0 -25
  310. package/dist/browser/react/use-mount.d.ts.map +0 -1
  311. package/dist/browser/react/use-mount.js +0 -30
  312. package/dist/browser/react/use-mount.js.map +0 -1
  313. package/dist/browser/react/use-navigation.d.ts +0 -27
  314. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  315. package/dist/browser/react/use-navigation.js +0 -87
  316. package/dist/browser/react/use-navigation.js.map +0 -1
  317. package/dist/browser/react/use-segments.d.ts +0 -38
  318. package/dist/browser/react/use-segments.d.ts.map +0 -1
  319. package/dist/browser/react/use-segments.js +0 -130
  320. package/dist/browser/react/use-segments.js.map +0 -1
  321. package/dist/browser/request-controller.d.ts +0 -26
  322. package/dist/browser/request-controller.d.ts.map +0 -1
  323. package/dist/browser/request-controller.js +0 -147
  324. package/dist/browser/request-controller.js.map +0 -1
  325. package/dist/browser/rsc-router.d.ts +0 -129
  326. package/dist/browser/rsc-router.d.ts.map +0 -1
  327. package/dist/browser/rsc-router.js +0 -195
  328. package/dist/browser/rsc-router.js.map +0 -1
  329. package/dist/browser/scroll-restoration.d.ts +0 -93
  330. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  331. package/dist/browser/scroll-restoration.js +0 -321
  332. package/dist/browser/scroll-restoration.js.map +0 -1
  333. package/dist/browser/segment-structure-assert.d.ts +0 -17
  334. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  335. package/dist/browser/segment-structure-assert.js +0 -59
  336. package/dist/browser/segment-structure-assert.js.map +0 -1
  337. package/dist/browser/server-action-bridge.d.ts +0 -26
  338. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  339. package/dist/browser/server-action-bridge.js +0 -668
  340. package/dist/browser/server-action-bridge.js.map +0 -1
  341. package/dist/browser/shallow.d.ts +0 -12
  342. package/dist/browser/shallow.d.ts.map +0 -1
  343. package/dist/browser/shallow.js +0 -34
  344. package/dist/browser/shallow.js.map +0 -1
  345. package/dist/browser/types.d.ts +0 -369
  346. package/dist/browser/types.d.ts.map +0 -1
  347. package/dist/browser/types.js +0 -2
  348. package/dist/browser/types.js.map +0 -1
  349. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  350. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  351. package/dist/build/__tests__/generate-cli.test.js +0 -237
  352. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  353. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  354. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  355. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  356. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  357. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  358. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  359. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  360. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  361. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  362. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  363. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  364. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  365. package/dist/build/generate-manifest.d.ts +0 -81
  366. package/dist/build/generate-manifest.d.ts.map +0 -1
  367. package/dist/build/generate-manifest.js +0 -276
  368. package/dist/build/generate-manifest.js.map +0 -1
  369. package/dist/build/generate-route-types.d.ts +0 -115
  370. package/dist/build/generate-route-types.d.ts.map +0 -1
  371. package/dist/build/generate-route-types.js +0 -740
  372. package/dist/build/generate-route-types.js.map +0 -1
  373. package/dist/build/index.d.ts +0 -21
  374. package/dist/build/index.d.ts.map +0 -1
  375. package/dist/build/index.js +0 -21
  376. package/dist/build/index.js.map +0 -1
  377. package/dist/build/route-trie.d.ts +0 -71
  378. package/dist/build/route-trie.d.ts.map +0 -1
  379. package/dist/build/route-trie.js +0 -175
  380. package/dist/build/route-trie.js.map +0 -1
  381. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  382. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  383. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  384. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  385. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  386. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  387. package/dist/cache/__tests__/document-cache.test.js +0 -345
  388. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  389. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  390. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  391. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  392. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  393. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  394. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  395. package/dist/cache/__tests__/memory-store.test.js +0 -367
  396. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  397. package/dist/cache/cache-scope.d.ts +0 -102
  398. package/dist/cache/cache-scope.d.ts.map +0 -1
  399. package/dist/cache/cache-scope.js +0 -440
  400. package/dist/cache/cache-scope.js.map +0 -1
  401. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  402. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  403. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  404. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  405. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  406. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  407. package/dist/cache/cf/cf-cache-store.js +0 -242
  408. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  409. package/dist/cache/cf/index.d.ts +0 -14
  410. package/dist/cache/cf/index.d.ts.map +0 -1
  411. package/dist/cache/cf/index.js +0 -17
  412. package/dist/cache/cf/index.js.map +0 -1
  413. package/dist/cache/document-cache.d.ts +0 -64
  414. package/dist/cache/document-cache.d.ts.map +0 -1
  415. package/dist/cache/document-cache.js +0 -228
  416. package/dist/cache/document-cache.js.map +0 -1
  417. package/dist/cache/index.d.ts +0 -19
  418. package/dist/cache/index.d.ts.map +0 -1
  419. package/dist/cache/index.js +0 -21
  420. package/dist/cache/index.js.map +0 -1
  421. package/dist/cache/memory-segment-store.d.ts +0 -110
  422. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  423. package/dist/cache/memory-segment-store.js +0 -117
  424. package/dist/cache/memory-segment-store.js.map +0 -1
  425. package/dist/cache/memory-store.d.ts +0 -41
  426. package/dist/cache/memory-store.d.ts.map +0 -1
  427. package/dist/cache/memory-store.js +0 -191
  428. package/dist/cache/memory-store.js.map +0 -1
  429. package/dist/cache/types.d.ts +0 -317
  430. package/dist/cache/types.d.ts.map +0 -1
  431. package/dist/cache/types.js +0 -12
  432. package/dist/cache/types.js.map +0 -1
  433. package/dist/client.d.ts +0 -248
  434. package/dist/client.d.ts.map +0 -1
  435. package/dist/client.js +0 -367
  436. package/dist/client.js.map +0 -1
  437. package/dist/client.rsc.d.ts +0 -26
  438. package/dist/client.rsc.d.ts.map +0 -1
  439. package/dist/client.rsc.js +0 -46
  440. package/dist/client.rsc.js.map +0 -1
  441. package/dist/component-utils.d.ts +0 -36
  442. package/dist/component-utils.d.ts.map +0 -1
  443. package/dist/component-utils.js +0 -61
  444. package/dist/component-utils.js.map +0 -1
  445. package/dist/components/DefaultDocument.d.ts +0 -13
  446. package/dist/components/DefaultDocument.d.ts.map +0 -1
  447. package/dist/components/DefaultDocument.js +0 -15
  448. package/dist/components/DefaultDocument.js.map +0 -1
  449. package/dist/debug.d.ts +0 -58
  450. package/dist/debug.d.ts.map +0 -1
  451. package/dist/debug.js +0 -157
  452. package/dist/debug.js.map +0 -1
  453. package/dist/default-error-boundary.d.ts +0 -11
  454. package/dist/default-error-boundary.d.ts.map +0 -1
  455. package/dist/default-error-boundary.js +0 -45
  456. package/dist/default-error-boundary.js.map +0 -1
  457. package/dist/deps/browser.d.ts +0 -2
  458. package/dist/deps/browser.d.ts.map +0 -1
  459. package/dist/deps/browser.js +0 -3
  460. package/dist/deps/browser.js.map +0 -1
  461. package/dist/deps/html-stream-client.d.ts +0 -2
  462. package/dist/deps/html-stream-client.d.ts.map +0 -1
  463. package/dist/deps/html-stream-client.js +0 -3
  464. package/dist/deps/html-stream-client.js.map +0 -1
  465. package/dist/deps/html-stream-server.d.ts +0 -2
  466. package/dist/deps/html-stream-server.d.ts.map +0 -1
  467. package/dist/deps/html-stream-server.js +0 -3
  468. package/dist/deps/html-stream-server.js.map +0 -1
  469. package/dist/deps/rsc.d.ts +0 -2
  470. package/dist/deps/rsc.d.ts.map +0 -1
  471. package/dist/deps/rsc.js +0 -4
  472. package/dist/deps/rsc.js.map +0 -1
  473. package/dist/deps/ssr.d.ts +0 -2
  474. package/dist/deps/ssr.d.ts.map +0 -1
  475. package/dist/deps/ssr.js +0 -3
  476. package/dist/deps/ssr.js.map +0 -1
  477. package/dist/errors.d.ts +0 -174
  478. package/dist/errors.d.ts.map +0 -1
  479. package/dist/errors.js +0 -241
  480. package/dist/errors.js.map +0 -1
  481. package/dist/handle.d.ts +0 -78
  482. package/dist/handle.d.ts.map +0 -1
  483. package/dist/handle.js +0 -82
  484. package/dist/handle.js.map +0 -1
  485. package/dist/handles/MetaTags.d.ts +0 -14
  486. package/dist/handles/MetaTags.d.ts.map +0 -1
  487. package/dist/handles/MetaTags.js +0 -136
  488. package/dist/handles/MetaTags.js.map +0 -1
  489. package/dist/handles/index.d.ts +0 -6
  490. package/dist/handles/index.d.ts.map +0 -1
  491. package/dist/handles/index.js +0 -6
  492. package/dist/handles/index.js.map +0 -1
  493. package/dist/handles/meta.d.ts +0 -39
  494. package/dist/handles/meta.d.ts.map +0 -1
  495. package/dist/handles/meta.js +0 -202
  496. package/dist/handles/meta.js.map +0 -1
  497. package/dist/host/__tests__/errors.test.d.ts +0 -2
  498. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  499. package/dist/host/__tests__/errors.test.js +0 -76
  500. package/dist/host/__tests__/errors.test.js.map +0 -1
  501. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  502. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  503. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  504. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  505. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  506. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  507. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  508. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  509. package/dist/host/__tests__/router.test.d.ts +0 -2
  510. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  511. package/dist/host/__tests__/router.test.js +0 -241
  512. package/dist/host/__tests__/router.test.js.map +0 -1
  513. package/dist/host/__tests__/testing.test.d.ts +0 -2
  514. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  515. package/dist/host/__tests__/testing.test.js +0 -64
  516. package/dist/host/__tests__/testing.test.js.map +0 -1
  517. package/dist/host/__tests__/utils.test.d.ts +0 -2
  518. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  519. package/dist/host/__tests__/utils.test.js +0 -29
  520. package/dist/host/__tests__/utils.test.js.map +0 -1
  521. package/dist/host/cookie-handler.d.ts +0 -34
  522. package/dist/host/cookie-handler.d.ts.map +0 -1
  523. package/dist/host/cookie-handler.js +0 -124
  524. package/dist/host/cookie-handler.js.map +0 -1
  525. package/dist/host/errors.d.ts +0 -56
  526. package/dist/host/errors.d.ts.map +0 -1
  527. package/dist/host/errors.js +0 -79
  528. package/dist/host/errors.js.map +0 -1
  529. package/dist/host/index.d.ts +0 -29
  530. package/dist/host/index.d.ts.map +0 -1
  531. package/dist/host/index.js +0 -32
  532. package/dist/host/index.js.map +0 -1
  533. package/dist/host/pattern-matcher.d.ts +0 -36
  534. package/dist/host/pattern-matcher.d.ts.map +0 -1
  535. package/dist/host/pattern-matcher.js +0 -172
  536. package/dist/host/pattern-matcher.js.map +0 -1
  537. package/dist/host/router.d.ts +0 -26
  538. package/dist/host/router.d.ts.map +0 -1
  539. package/dist/host/router.js +0 -218
  540. package/dist/host/router.js.map +0 -1
  541. package/dist/host/testing.d.ts +0 -36
  542. package/dist/host/testing.d.ts.map +0 -1
  543. package/dist/host/testing.js +0 -55
  544. package/dist/host/testing.js.map +0 -1
  545. package/dist/host/types.d.ts +0 -115
  546. package/dist/host/types.d.ts.map +0 -1
  547. package/dist/host/types.js +0 -7
  548. package/dist/host/types.js.map +0 -1
  549. package/dist/host/utils.d.ts +0 -21
  550. package/dist/host/utils.d.ts.map +0 -1
  551. package/dist/host/utils.js +0 -23
  552. package/dist/host/utils.js.map +0 -1
  553. package/dist/href-client.d.ts +0 -131
  554. package/dist/href-client.d.ts.map +0 -1
  555. package/dist/href-client.js +0 -64
  556. package/dist/href-client.js.map +0 -1
  557. package/dist/href-context.d.ts +0 -29
  558. package/dist/href-context.d.ts.map +0 -1
  559. package/dist/href-context.js +0 -21
  560. package/dist/href-context.js.map +0 -1
  561. package/dist/index.d.ts +0 -73
  562. package/dist/index.d.ts.map +0 -1
  563. package/dist/index.js +0 -91
  564. package/dist/index.js.map +0 -1
  565. package/dist/index.rsc.d.ts +0 -32
  566. package/dist/index.rsc.d.ts.map +0 -1
  567. package/dist/index.rsc.js +0 -40
  568. package/dist/index.rsc.js.map +0 -1
  569. package/dist/internal-debug.d.ts +0 -2
  570. package/dist/internal-debug.d.ts.map +0 -1
  571. package/dist/internal-debug.js +0 -5
  572. package/dist/internal-debug.js.map +0 -1
  573. package/dist/loader.d.ts +0 -14
  574. package/dist/loader.d.ts.map +0 -1
  575. package/dist/loader.js +0 -20
  576. package/dist/loader.js.map +0 -1
  577. package/dist/loader.rsc.d.ts +0 -19
  578. package/dist/loader.rsc.d.ts.map +0 -1
  579. package/dist/loader.rsc.js +0 -99
  580. package/dist/loader.rsc.js.map +0 -1
  581. package/dist/network-error-thrower.d.ts +0 -17
  582. package/dist/network-error-thrower.d.ts.map +0 -1
  583. package/dist/network-error-thrower.js +0 -14
  584. package/dist/network-error-thrower.js.map +0 -1
  585. package/dist/outlet-context.d.ts +0 -13
  586. package/dist/outlet-context.d.ts.map +0 -1
  587. package/dist/outlet-context.js +0 -3
  588. package/dist/outlet-context.js.map +0 -1
  589. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  590. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  591. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  592. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  593. package/dist/prerender/param-hash.d.ts +0 -16
  594. package/dist/prerender/param-hash.d.ts.map +0 -1
  595. package/dist/prerender/param-hash.js +0 -36
  596. package/dist/prerender/param-hash.js.map +0 -1
  597. package/dist/prerender/store.d.ts +0 -38
  598. package/dist/prerender/store.d.ts.map +0 -1
  599. package/dist/prerender/store.js +0 -61
  600. package/dist/prerender/store.js.map +0 -1
  601. package/dist/prerender.d.ts +0 -66
  602. package/dist/prerender.d.ts.map +0 -1
  603. package/dist/prerender.js +0 -57
  604. package/dist/prerender.js.map +0 -1
  605. package/dist/reverse.d.ts +0 -196
  606. package/dist/reverse.d.ts.map +0 -1
  607. package/dist/reverse.js +0 -78
  608. package/dist/reverse.js.map +0 -1
  609. package/dist/root-error-boundary.d.ts +0 -33
  610. package/dist/root-error-boundary.d.ts.map +0 -1
  611. package/dist/root-error-boundary.js +0 -165
  612. package/dist/root-error-boundary.js.map +0 -1
  613. package/dist/route-content-wrapper.d.ts +0 -46
  614. package/dist/route-content-wrapper.d.ts.map +0 -1
  615. package/dist/route-content-wrapper.js +0 -77
  616. package/dist/route-content-wrapper.js.map +0 -1
  617. package/dist/route-definition.d.ts +0 -421
  618. package/dist/route-definition.d.ts.map +0 -1
  619. package/dist/route-definition.js +0 -868
  620. package/dist/route-definition.js.map +0 -1
  621. package/dist/route-map-builder.d.ts +0 -155
  622. package/dist/route-map-builder.d.ts.map +0 -1
  623. package/dist/route-map-builder.js +0 -237
  624. package/dist/route-map-builder.js.map +0 -1
  625. package/dist/route-types.d.ts +0 -165
  626. package/dist/route-types.d.ts.map +0 -1
  627. package/dist/route-types.js +0 -7
  628. package/dist/route-types.js.map +0 -1
  629. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  630. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  631. package/dist/router/__tests__/handler-context.test.js +0 -65
  632. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  633. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  634. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  635. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  636. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  637. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  638. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  639. package/dist/router/__tests__/match-context.test.js +0 -92
  640. package/dist/router/__tests__/match-context.test.js.map +0 -1
  641. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  642. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  643. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  644. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  645. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  646. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  647. package/dist/router/__tests__/match-result.test.js +0 -457
  648. package/dist/router/__tests__/match-result.test.js.map +0 -1
  649. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  650. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  651. package/dist/router/__tests__/on-error.test.js +0 -678
  652. package/dist/router/__tests__/on-error.test.js.map +0 -1
  653. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  654. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  655. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  656. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  657. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  658. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  659. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  660. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  661. package/dist/router/error-handling.d.ts +0 -77
  662. package/dist/router/error-handling.d.ts.map +0 -1
  663. package/dist/router/error-handling.js +0 -202
  664. package/dist/router/error-handling.js.map +0 -1
  665. package/dist/router/handler-context.d.ts +0 -20
  666. package/dist/router/handler-context.d.ts.map +0 -1
  667. package/dist/router/handler-context.js +0 -198
  668. package/dist/router/handler-context.js.map +0 -1
  669. package/dist/router/intercept-resolution.d.ts +0 -66
  670. package/dist/router/intercept-resolution.d.ts.map +0 -1
  671. package/dist/router/intercept-resolution.js +0 -246
  672. package/dist/router/intercept-resolution.js.map +0 -1
  673. package/dist/router/loader-resolution.d.ts +0 -64
  674. package/dist/router/loader-resolution.d.ts.map +0 -1
  675. package/dist/router/loader-resolution.js +0 -284
  676. package/dist/router/loader-resolution.js.map +0 -1
  677. package/dist/router/logging.d.ts +0 -15
  678. package/dist/router/logging.d.ts.map +0 -1
  679. package/dist/router/logging.js +0 -99
  680. package/dist/router/logging.js.map +0 -1
  681. package/dist/router/manifest.d.ts +0 -22
  682. package/dist/router/manifest.d.ts.map +0 -1
  683. package/dist/router/manifest.js +0 -181
  684. package/dist/router/manifest.js.map +0 -1
  685. package/dist/router/match-api.d.ts +0 -35
  686. package/dist/router/match-api.d.ts.map +0 -1
  687. package/dist/router/match-api.js +0 -406
  688. package/dist/router/match-api.js.map +0 -1
  689. package/dist/router/match-context.d.ts +0 -206
  690. package/dist/router/match-context.d.ts.map +0 -1
  691. package/dist/router/match-context.js +0 -17
  692. package/dist/router/match-context.js.map +0 -1
  693. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  694. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  695. package/dist/router/match-middleware/background-revalidation.js +0 -75
  696. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  697. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  698. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  699. package/dist/router/match-middleware/cache-lookup.js +0 -257
  700. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  701. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  702. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  703. package/dist/router/match-middleware/cache-store.js +0 -108
  704. package/dist/router/match-middleware/cache-store.js.map +0 -1
  705. package/dist/router/match-middleware/index.d.ts +0 -81
  706. package/dist/router/match-middleware/index.d.ts.map +0 -1
  707. package/dist/router/match-middleware/index.js +0 -80
  708. package/dist/router/match-middleware/index.js.map +0 -1
  709. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  710. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  711. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  712. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  713. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  714. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  715. package/dist/router/match-middleware/segment-resolution.js +0 -53
  716. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  717. package/dist/router/match-pipelines.d.ts +0 -147
  718. package/dist/router/match-pipelines.d.ts.map +0 -1
  719. package/dist/router/match-pipelines.js +0 -82
  720. package/dist/router/match-pipelines.js.map +0 -1
  721. package/dist/router/match-result.d.ts +0 -126
  722. package/dist/router/match-result.d.ts.map +0 -1
  723. package/dist/router/match-result.js +0 -93
  724. package/dist/router/match-result.js.map +0 -1
  725. package/dist/router/metrics.d.ts +0 -20
  726. package/dist/router/metrics.d.ts.map +0 -1
  727. package/dist/router/metrics.js +0 -47
  728. package/dist/router/metrics.js.map +0 -1
  729. package/dist/router/middleware.d.ts +0 -249
  730. package/dist/router/middleware.d.ts.map +0 -1
  731. package/dist/router/middleware.js +0 -434
  732. package/dist/router/middleware.js.map +0 -1
  733. package/dist/router/middleware.test.d.ts +0 -2
  734. package/dist/router/middleware.test.d.ts.map +0 -1
  735. package/dist/router/middleware.test.js +0 -816
  736. package/dist/router/middleware.test.js.map +0 -1
  737. package/dist/router/pattern-matching.d.ts +0 -149
  738. package/dist/router/pattern-matching.d.ts.map +0 -1
  739. package/dist/router/pattern-matching.js +0 -349
  740. package/dist/router/pattern-matching.js.map +0 -1
  741. package/dist/router/revalidation.d.ts +0 -44
  742. package/dist/router/revalidation.d.ts.map +0 -1
  743. package/dist/router/revalidation.js +0 -147
  744. package/dist/router/revalidation.js.map +0 -1
  745. package/dist/router/router-context.d.ts +0 -135
  746. package/dist/router/router-context.d.ts.map +0 -1
  747. package/dist/router/router-context.js +0 -36
  748. package/dist/router/router-context.js.map +0 -1
  749. package/dist/router/segment-resolution.d.ts +0 -127
  750. package/dist/router/segment-resolution.d.ts.map +0 -1
  751. package/dist/router/segment-resolution.js +0 -919
  752. package/dist/router/segment-resolution.js.map +0 -1
  753. package/dist/router/trie-matching.d.ts +0 -40
  754. package/dist/router/trie-matching.d.ts.map +0 -1
  755. package/dist/router/trie-matching.js +0 -127
  756. package/dist/router/trie-matching.js.map +0 -1
  757. package/dist/router/types.d.ts +0 -136
  758. package/dist/router/types.d.ts.map +0 -1
  759. package/dist/router/types.js +0 -7
  760. package/dist/router/types.js.map +0 -1
  761. package/dist/router.d.ts +0 -753
  762. package/dist/router.d.ts.map +0 -1
  763. package/dist/router.gen.d.ts +0 -6
  764. package/dist/router.gen.d.ts.map +0 -1
  765. package/dist/router.gen.js +0 -6
  766. package/dist/router.gen.js.map +0 -1
  767. package/dist/router.js +0 -1304
  768. package/dist/router.js.map +0 -1
  769. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  770. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  771. package/dist/rsc/__tests__/helpers.test.js +0 -140
  772. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  773. package/dist/rsc/handler.d.ts +0 -45
  774. package/dist/rsc/handler.d.ts.map +0 -1
  775. package/dist/rsc/handler.js +0 -1172
  776. package/dist/rsc/handler.js.map +0 -1
  777. package/dist/rsc/helpers.d.ts +0 -16
  778. package/dist/rsc/helpers.d.ts.map +0 -1
  779. package/dist/rsc/helpers.js +0 -55
  780. package/dist/rsc/helpers.js.map +0 -1
  781. package/dist/rsc/index.d.ts +0 -22
  782. package/dist/rsc/index.d.ts.map +0 -1
  783. package/dist/rsc/index.js +0 -23
  784. package/dist/rsc/index.js.map +0 -1
  785. package/dist/rsc/nonce.d.ts +0 -9
  786. package/dist/rsc/nonce.d.ts.map +0 -1
  787. package/dist/rsc/nonce.js +0 -18
  788. package/dist/rsc/nonce.js.map +0 -1
  789. package/dist/rsc/types.d.ts +0 -206
  790. package/dist/rsc/types.d.ts.map +0 -1
  791. package/dist/rsc/types.js +0 -8
  792. package/dist/rsc/types.js.map +0 -1
  793. package/dist/search-params.d.ts +0 -103
  794. package/dist/search-params.d.ts.map +0 -1
  795. package/dist/search-params.js +0 -74
  796. package/dist/search-params.js.map +0 -1
  797. package/dist/segment-system.d.ts +0 -75
  798. package/dist/segment-system.d.ts.map +0 -1
  799. package/dist/segment-system.js +0 -336
  800. package/dist/segment-system.js.map +0 -1
  801. package/dist/server/context.d.ts +0 -245
  802. package/dist/server/context.d.ts.map +0 -1
  803. package/dist/server/context.js +0 -197
  804. package/dist/server/context.js.map +0 -1
  805. package/dist/server/fetchable-loader-store.d.ts +0 -18
  806. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  807. package/dist/server/fetchable-loader-store.js +0 -18
  808. package/dist/server/fetchable-loader-store.js.map +0 -1
  809. package/dist/server/handle-store.d.ts +0 -85
  810. package/dist/server/handle-store.d.ts.map +0 -1
  811. package/dist/server/handle-store.js +0 -142
  812. package/dist/server/handle-store.js.map +0 -1
  813. package/dist/server/loader-registry.d.ts +0 -55
  814. package/dist/server/loader-registry.d.ts.map +0 -1
  815. package/dist/server/loader-registry.js +0 -132
  816. package/dist/server/loader-registry.js.map +0 -1
  817. package/dist/server/request-context.d.ts +0 -226
  818. package/dist/server/request-context.d.ts.map +0 -1
  819. package/dist/server/request-context.js +0 -290
  820. package/dist/server/request-context.js.map +0 -1
  821. package/dist/server/root-layout.d.ts +0 -4
  822. package/dist/server/root-layout.d.ts.map +0 -1
  823. package/dist/server/root-layout.js +0 -5
  824. package/dist/server/root-layout.js.map +0 -1
  825. package/dist/server.d.ts +0 -15
  826. package/dist/server.d.ts.map +0 -1
  827. package/dist/server.js +0 -20
  828. package/dist/server.js.map +0 -1
  829. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  830. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  831. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  832. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  833. package/dist/ssr/index.d.ts +0 -98
  834. package/dist/ssr/index.d.ts.map +0 -1
  835. package/dist/ssr/index.js +0 -158
  836. package/dist/ssr/index.js.map +0 -1
  837. package/dist/static-handler.d.ts +0 -50
  838. package/dist/static-handler.d.ts.map +0 -1
  839. package/dist/static-handler.gen.d.ts +0 -5
  840. package/dist/static-handler.gen.d.ts.map +0 -1
  841. package/dist/static-handler.gen.js +0 -5
  842. package/dist/static-handler.gen.js.map +0 -1
  843. package/dist/static-handler.js +0 -29
  844. package/dist/static-handler.js.map +0 -1
  845. package/dist/theme/ThemeProvider.d.ts +0 -20
  846. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  847. package/dist/theme/ThemeProvider.js +0 -240
  848. package/dist/theme/ThemeProvider.js.map +0 -1
  849. package/dist/theme/ThemeScript.d.ts +0 -48
  850. package/dist/theme/ThemeScript.d.ts.map +0 -1
  851. package/dist/theme/ThemeScript.js +0 -13
  852. package/dist/theme/ThemeScript.js.map +0 -1
  853. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  854. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  855. package/dist/theme/__tests__/theme.test.js +0 -103
  856. package/dist/theme/__tests__/theme.test.js.map +0 -1
  857. package/dist/theme/constants.d.ts +0 -29
  858. package/dist/theme/constants.d.ts.map +0 -1
  859. package/dist/theme/constants.js +0 -48
  860. package/dist/theme/constants.js.map +0 -1
  861. package/dist/theme/index.d.ts +0 -31
  862. package/dist/theme/index.d.ts.map +0 -1
  863. package/dist/theme/index.js +0 -36
  864. package/dist/theme/index.js.map +0 -1
  865. package/dist/theme/theme-context.d.ts +0 -40
  866. package/dist/theme/theme-context.d.ts.map +0 -1
  867. package/dist/theme/theme-context.js +0 -60
  868. package/dist/theme/theme-context.js.map +0 -1
  869. package/dist/theme/theme-script.d.ts +0 -27
  870. package/dist/theme/theme-script.d.ts.map +0 -1
  871. package/dist/theme/theme-script.js +0 -147
  872. package/dist/theme/theme-script.js.map +0 -1
  873. package/dist/theme/types.d.ts +0 -163
  874. package/dist/theme/types.d.ts.map +0 -1
  875. package/dist/theme/types.js +0 -11
  876. package/dist/theme/types.js.map +0 -1
  877. package/dist/theme/use-theme.d.ts +0 -12
  878. package/dist/theme/use-theme.d.ts.map +0 -1
  879. package/dist/theme/use-theme.js +0 -40
  880. package/dist/theme/use-theme.js.map +0 -1
  881. package/dist/types.d.ts +0 -1479
  882. package/dist/types.d.ts.map +0 -1
  883. package/dist/types.js +0 -10
  884. package/dist/types.js.map +0 -1
  885. package/dist/urls.d.ts +0 -441
  886. package/dist/urls.d.ts.map +0 -1
  887. package/dist/urls.gen.d.ts +0 -8
  888. package/dist/urls.gen.d.ts.map +0 -1
  889. package/dist/urls.gen.js +0 -8
  890. package/dist/urls.gen.js.map +0 -1
  891. package/dist/urls.js +0 -443
  892. package/dist/urls.js.map +0 -1
  893. package/dist/use-loader.d.ts +0 -127
  894. package/dist/use-loader.d.ts.map +0 -1
  895. package/dist/use-loader.js +0 -237
  896. package/dist/use-loader.js.map +0 -1
  897. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  898. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  899. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  900. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  901. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  902. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  903. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  904. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  905. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  906. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  907. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  908. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  909. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  910. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  911. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  912. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  913. package/dist/vite/ast-handler-extract.d.ts +0 -49
  914. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  915. package/dist/vite/ast-handler-extract.js +0 -249
  916. package/dist/vite/ast-handler-extract.js.map +0 -1
  917. package/dist/vite/expose-action-id.d.ts +0 -19
  918. package/dist/vite/expose-action-id.d.ts.map +0 -1
  919. package/dist/vite/expose-action-id.js +0 -250
  920. package/dist/vite/expose-action-id.js.map +0 -1
  921. package/dist/vite/expose-id-utils.d.ts +0 -69
  922. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  923. package/dist/vite/expose-id-utils.js +0 -289
  924. package/dist/vite/expose-id-utils.js.map +0 -1
  925. package/dist/vite/expose-internal-ids.d.ts +0 -22
  926. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  927. package/dist/vite/expose-internal-ids.js +0 -886
  928. package/dist/vite/expose-internal-ids.js.map +0 -1
  929. package/dist/vite/index.d.ts +0 -149
  930. package/dist/vite/index.d.ts.map +0 -1
  931. package/dist/vite/index.js.map +0 -1
  932. package/dist/vite/index.named-routes.gen.ts +0 -103
  933. package/dist/vite/package-resolution.d.ts +0 -43
  934. package/dist/vite/package-resolution.d.ts.map +0 -1
  935. package/dist/vite/package-resolution.js +0 -112
  936. package/dist/vite/package-resolution.js.map +0 -1
  937. package/dist/vite/virtual-entries.d.ts +0 -25
  938. package/dist/vite/virtual-entries.d.ts.map +0 -1
  939. package/dist/vite/virtual-entries.js +0 -110
  940. 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);