@rangojs/router 0.0.0-experimental.39 → 0.0.0-experimental.39528925

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 (1697) hide show
  1. package/AGENTS.md +8 -4
  2. package/README.md +320 -735
  3. package/dist/bin/rango.js +721 -197
  4. package/dist/testing/vitest.js +82 -0
  5. package/dist/types/__internal.d.ts +127 -0
  6. package/dist/types/bin/rango.d.ts +1 -0
  7. package/dist/types/browser/action-coordinator.d.ts +57 -0
  8. package/dist/types/browser/action-fence.d.ts +33 -0
  9. package/dist/types/browser/app-shell.d.ts +34 -0
  10. package/dist/types/browser/app-version.d.ts +6 -0
  11. package/dist/types/browser/connection-warmup.d.ts +31 -0
  12. package/dist/types/browser/cookie-name.d.ts +66 -0
  13. package/dist/types/browser/dev-discovery.d.ts +11 -0
  14. package/dist/types/browser/event-controller.d.ts +231 -0
  15. package/dist/types/browser/history-state.d.ts +26 -0
  16. package/dist/types/browser/index.d.ts +1 -0
  17. package/dist/types/browser/intercept-utils.d.ts +30 -0
  18. package/dist/types/browser/invalidate-client-cache.d.ts +17 -0
  19. package/dist/types/browser/link-interceptor.d.ts +53 -0
  20. package/dist/types/browser/logging.d.ts +33 -0
  21. package/dist/types/browser/merge-segment-loaders.d.ts +38 -0
  22. package/dist/types/browser/navigation-bridge.d.ts +39 -0
  23. package/dist/types/browser/navigation-client.d.ts +17 -0
  24. package/dist/types/browser/navigation-store-handle.d.ts +25 -0
  25. package/dist/types/browser/navigation-store.d.ts +85 -0
  26. package/dist/types/browser/navigation-transaction.d.ts +75 -0
  27. package/dist/types/browser/network-error-handler.d.ts +35 -0
  28. package/dist/types/browser/notify-listeners.d.ts +2 -0
  29. package/dist/types/browser/partial-update.d.ts +61 -0
  30. package/dist/types/browser/prefetch/cache.d.ts +224 -0
  31. package/dist/types/browser/prefetch/default-strategy.d.ts +31 -0
  32. package/dist/types/browser/prefetch/fetch.d.ts +52 -0
  33. package/dist/types/browser/prefetch/invalidation.d.ts +6 -0
  34. package/dist/types/browser/prefetch/loader.d.ts +12 -0
  35. package/dist/types/browser/prefetch/observer.d.ts +24 -0
  36. package/dist/types/browser/prefetch/policy.d.ts +13 -0
  37. package/dist/types/browser/prefetch/queue.d.ts +48 -0
  38. package/dist/types/browser/prefetch/resource-ready.d.ts +28 -0
  39. package/dist/types/browser/prefetch/runtime.d.ts +2 -0
  40. package/dist/types/browser/rango-state.d.ts +56 -0
  41. package/dist/types/browser/react/Link.d.ts +132 -0
  42. package/dist/types/browser/react/NavigationProvider.d.ts +88 -0
  43. package/dist/types/browser/react/ScrollRestoration.d.ts +78 -0
  44. package/dist/types/browser/react/context.d.ts +57 -0
  45. package/dist/types/browser/react/filter-segment-order.d.ts +35 -0
  46. package/dist/types/browser/react/index.d.ts +1 -0
  47. package/dist/types/browser/react/location-state-shared.d.ts +162 -0
  48. package/dist/types/browser/react/location-state.d.ts +29 -0
  49. package/dist/types/browser/react/mount-context.d.ts +23 -0
  50. package/dist/types/browser/react/nonce-context.d.ts +14 -0
  51. package/dist/types/browser/react/shallow-equal.d.ts +5 -0
  52. package/dist/types/browser/react/use-action.d.ts +61 -0
  53. package/dist/types/browser/react/use-handle.d.ts +21 -0
  54. package/dist/types/browser/react/use-href.d.ts +32 -0
  55. package/dist/types/browser/react/use-link-status.d.ts +36 -0
  56. package/dist/types/browser/react/use-mount.d.ts +24 -0
  57. package/dist/types/browser/react/use-navigation.d.ts +15 -0
  58. package/dist/types/browser/react/use-params.d.ts +21 -0
  59. package/dist/types/browser/react/use-pathname.d.ts +13 -0
  60. package/dist/types/browser/react/use-reverse.d.ts +40 -0
  61. package/dist/types/browser/react/use-router.d.ts +23 -0
  62. package/dist/types/browser/react/use-search-params.d.ts +19 -0
  63. package/dist/types/browser/react/use-segments.d.ts +29 -0
  64. package/dist/types/browser/response-adapter.d.ts +58 -0
  65. package/dist/types/browser/rsc-router.d.ts +146 -0
  66. package/dist/types/browser/scroll-restoration.d.ts +103 -0
  67. package/dist/types/browser/segment-reconciler.d.ts +74 -0
  68. package/dist/types/browser/segment-structure-assert.d.ts +16 -0
  69. package/dist/types/browser/server-action-bridge.d.ts +29 -0
  70. package/dist/types/browser/types.d.ts +524 -0
  71. package/dist/types/browser/validate-redirect-origin.d.ts +28 -0
  72. package/dist/types/build/collect-fallback-refs.d.ts +5 -0
  73. package/dist/types/build/generate-manifest.d.ts +106 -0
  74. package/dist/types/build/generate-route-types.d.ts +8 -0
  75. package/dist/types/build/index.d.ts +21 -0
  76. package/dist/types/build/prefix-tree-utils.d.ts +56 -0
  77. package/dist/types/build/route-trie.d.ts +89 -0
  78. package/dist/types/build/route-types/ast-helpers.d.ts +3 -0
  79. package/dist/types/build/route-types/ast-route-extraction.d.ts +13 -0
  80. package/dist/types/build/route-types/codegen.d.ts +16 -0
  81. package/dist/types/build/route-types/include-resolution.d.ts +74 -0
  82. package/dist/types/build/route-types/param-extraction.d.ts +13 -0
  83. package/dist/types/build/route-types/per-module-writer.d.ts +18 -0
  84. package/dist/types/build/route-types/router-processing.d.ts +82 -0
  85. package/dist/types/build/route-types/scan-filter.d.ts +17 -0
  86. package/dist/types/build/route-types/source-scan.d.ts +13 -0
  87. package/dist/types/build/runtime-discovery.d.ts +24 -0
  88. package/dist/types/cache/background-task.d.ts +21 -0
  89. package/dist/types/cache/cache-error.d.ts +71 -0
  90. package/dist/types/cache/cache-key-utils.d.ts +43 -0
  91. package/dist/types/cache/cache-policy.d.ts +59 -0
  92. package/dist/types/cache/cache-runtime.d.ts +51 -0
  93. package/dist/types/cache/cache-scope.d.ts +215 -0
  94. package/dist/types/cache/cache-tag.d.ts +79 -0
  95. package/dist/types/cache/cf/cf-base64.d.ts +4 -0
  96. package/dist/types/cache/cf/cf-cache-constants.d.ts +112 -0
  97. package/dist/types/cache/cf/cf-cache-store.d.ts +616 -0
  98. package/dist/types/cache/cf/cf-cache-types.d.ts +365 -0
  99. package/dist/types/cache/cf/cf-kv-utils.d.ts +43 -0
  100. package/dist/types/cache/cf/cf-tag-marker-memo.d.ts +15 -0
  101. package/dist/types/cache/cf/cf-zone-purge.d.ts +31 -0
  102. package/dist/types/cache/cf/index.d.ts +4 -0
  103. package/dist/types/cache/document-cache.d.ts +71 -0
  104. package/dist/types/cache/handle-capture.d.ts +23 -0
  105. package/dist/types/cache/handle-snapshot.d.ts +39 -0
  106. package/dist/types/cache/index.d.ts +9 -0
  107. package/dist/types/cache/memory-segment-store.d.ts +163 -0
  108. package/dist/types/cache/profile-registry.d.ts +40 -0
  109. package/dist/types/cache/read-through-swr.d.ts +61 -0
  110. package/dist/types/cache/search-params-filter.d.ts +64 -0
  111. package/dist/types/cache/segment-codec.d.ts +78 -0
  112. package/dist/types/cache/shell-snapshot.d.ts +186 -0
  113. package/dist/types/cache/tag-invalidation.d.ts +74 -0
  114. package/dist/types/cache/taint.d.ts +71 -0
  115. package/dist/types/cache/types.d.ts +503 -0
  116. package/dist/types/cache/vercel/index.d.ts +1 -0
  117. package/dist/types/cache/vercel/vercel-cache-store.d.ts +268 -0
  118. package/dist/types/client.d.ts +184 -0
  119. package/dist/types/client.rsc.d.ts +39 -0
  120. package/dist/types/cloudflare/index.d.ts +7 -0
  121. package/dist/types/cloudflare/tracing.d.ts +57 -0
  122. package/dist/types/component-utils.d.ts +46 -0
  123. package/dist/types/components/DefaultDocument.d.ts +13 -0
  124. package/dist/types/context-var.d.ts +84 -0
  125. package/dist/types/debug.d.ts +57 -0
  126. package/dist/types/decode-loader-results.d.ts +5 -0
  127. package/dist/types/default-error-boundary.d.ts +10 -0
  128. package/dist/types/defer.d.ts +89 -0
  129. package/dist/types/deps/browser.d.ts +1 -0
  130. package/dist/types/deps/html-stream-client.d.ts +1 -0
  131. package/dist/types/deps/html-stream-server.d.ts +1 -0
  132. package/dist/types/deps/rsc.d.ts +1 -0
  133. package/dist/types/deps/ssr.d.ts +1 -0
  134. package/dist/types/dev-discovery-protocol.d.ts +5 -0
  135. package/dist/types/encode-kv.d.ts +35 -0
  136. package/dist/types/errors.d.ts +226 -0
  137. package/dist/types/escape-script.d.ts +44 -0
  138. package/dist/types/handle.d.ts +93 -0
  139. package/dist/types/handles/MetaTags.d.ts +17 -0
  140. package/dist/types/handles/Scripts.d.ts +38 -0
  141. package/dist/types/handles/breadcrumbs.d.ts +43 -0
  142. package/dist/types/handles/deferred-resolution.d.ts +53 -0
  143. package/dist/types/handles/is-thenable.d.ts +10 -0
  144. package/dist/types/handles/meta.d.ts +43 -0
  145. package/dist/types/handles/script.d.ts +139 -0
  146. package/dist/types/host/cookie-handler.d.ts +8 -0
  147. package/dist/types/host/errors.d.ts +40 -0
  148. package/dist/types/host/index.d.ts +33 -0
  149. package/dist/types/host/pattern-matcher.d.ts +30 -0
  150. package/dist/types/host/router.d.ts +12 -0
  151. package/dist/types/host/testing.d.ts +41 -0
  152. package/dist/types/host/types.d.ts +148 -0
  153. package/dist/types/host/utils.d.ts +20 -0
  154. package/dist/types/href-client.d.ts +214 -0
  155. package/dist/types/index.d.ts +113 -0
  156. package/dist/types/index.rsc.d.ts +52 -0
  157. package/dist/types/internal-debug.d.ts +1 -0
  158. package/dist/types/loader-store.d.ts +193 -0
  159. package/dist/types/loader.d.ts +18 -0
  160. package/dist/types/loader.rsc.d.ts +18 -0
  161. package/dist/types/missing-id-error.d.ts +1 -0
  162. package/dist/types/outlet-context.d.ts +12 -0
  163. package/dist/types/outlet-provider.d.ts +12 -0
  164. package/dist/types/prerender/build-shell-capture.d.ts +104 -0
  165. package/dist/types/prerender/param-hash.d.ts +6 -0
  166. package/dist/types/prerender/shell-manifest-key.d.ts +18 -0
  167. package/dist/types/prerender/store.d.ts +63 -0
  168. package/dist/types/prerender.d.ts +292 -0
  169. package/dist/types/redirect-origin.d.ts +67 -0
  170. package/dist/types/regex-escape.d.ts +6 -0
  171. package/dist/types/render-error-thrower.d.ts +13 -0
  172. package/dist/types/response-utils.d.ts +35 -0
  173. package/dist/types/reverse.d.ts +206 -0
  174. package/dist/types/root-error-boundary.d.ts +32 -0
  175. package/dist/types/route-content-wrapper.d.ts +40 -0
  176. package/dist/types/route-definition/dsl-helpers.d.ts +130 -0
  177. package/dist/types/route-definition/helper-factories.d.ts +22 -0
  178. package/dist/types/route-definition/helpers-types.d.ts +393 -0
  179. package/dist/types/route-definition/index.d.ts +7 -0
  180. package/dist/types/route-definition/redirect.d.ts +48 -0
  181. package/dist/types/route-definition/resolve-handler-use.d.ts +19 -0
  182. package/dist/types/route-definition/use-item-types.d.ts +1 -0
  183. package/dist/types/route-definition.d.ts +1 -0
  184. package/dist/types/route-map-builder.d.ts +102 -0
  185. package/dist/types/route-name.d.ts +27 -0
  186. package/dist/types/route-types.d.ts +172 -0
  187. package/dist/types/router/basename.d.ts +10 -0
  188. package/dist/types/router/content-negotiation.d.ts +91 -0
  189. package/dist/types/router/debug-manifest.d.ts +7 -0
  190. package/dist/types/router/error-handling.d.ts +76 -0
  191. package/dist/types/router/find-match.d.ts +19 -0
  192. package/dist/types/router/handler-context.d.ts +41 -0
  193. package/dist/types/router/instrument.d.ts +191 -0
  194. package/dist/types/router/intercept-resolution.d.ts +79 -0
  195. package/dist/types/router/lazy-includes.d.ts +26 -0
  196. package/dist/types/router/loader-resolution.d.ts +63 -0
  197. package/dist/types/router/logging.d.ts +41 -0
  198. package/dist/types/router/manifest.d.ts +8 -0
  199. package/dist/types/router/match-api.d.ts +19 -0
  200. package/dist/types/router/match-context.d.ts +184 -0
  201. package/dist/types/router/match-handlers.d.ts +48 -0
  202. package/dist/types/router/match-middleware/background-revalidation.d.ts +113 -0
  203. package/dist/types/router/match-middleware/cache-lookup.d.ts +126 -0
  204. package/dist/types/router/match-middleware/cache-store.d.ts +112 -0
  205. package/dist/types/router/match-middleware/index.d.ts +80 -0
  206. package/dist/types/router/match-middleware/intercept-resolution.d.ts +116 -0
  207. package/dist/types/router/match-middleware/segment-resolution.d.ts +94 -0
  208. package/dist/types/router/match-pipelines.d.ts +103 -0
  209. package/dist/types/router/match-result.d.ts +114 -0
  210. package/dist/types/router/metrics.d.ts +6 -0
  211. package/dist/types/router/middleware-types.d.ts +74 -0
  212. package/dist/types/router/middleware.d.ts +116 -0
  213. package/dist/types/router/navigation-snapshot.d.ts +51 -0
  214. package/dist/types/router/params-util.d.ts +8 -0
  215. package/dist/types/router/parse-pattern.d.ts +38 -0
  216. package/dist/types/router/pattern-matching.d.ts +169 -0
  217. package/dist/types/router/prefetch-cache-ttl.d.ts +27 -0
  218. package/dist/types/router/prefetch-default.d.ts +28 -0
  219. package/dist/types/router/prefetch-limits.d.ts +20 -0
  220. package/dist/types/router/prerender-match.d.ts +53 -0
  221. package/dist/types/router/preview-match.d.ts +22 -0
  222. package/dist/types/router/request-classification.d.ts +104 -0
  223. package/dist/types/router/revalidation.d.ts +57 -0
  224. package/dist/types/router/route-snapshot.d.ts +112 -0
  225. package/dist/types/router/router-context.d.ts +137 -0
  226. package/dist/types/router/router-interfaces.d.ts +441 -0
  227. package/dist/types/router/router-options.d.ts +792 -0
  228. package/dist/types/router/router-registry.d.ts +15 -0
  229. package/dist/types/router/segment-resolution/fresh.d.ts +55 -0
  230. package/dist/types/router/segment-resolution/helpers.d.ts +93 -0
  231. package/dist/types/router/segment-resolution/loader-cache.d.ts +33 -0
  232. package/dist/types/router/segment-resolution/loader-mask.d.ts +44 -0
  233. package/dist/types/router/segment-resolution/loader-snapshot.d.ts +90 -0
  234. package/dist/types/router/segment-resolution/mask-nested.d.ts +53 -0
  235. package/dist/types/router/segment-resolution/revalidation.d.ts +85 -0
  236. package/dist/types/router/segment-resolution/static-store.d.ts +17 -0
  237. package/dist/types/router/segment-resolution/streamed-handler-telemetry.d.ts +16 -0
  238. package/dist/types/router/segment-resolution/view-transition-default.d.ts +27 -0
  239. package/dist/types/router/segment-resolution.d.ts +3 -0
  240. package/dist/types/router/segment-wrappers.d.ts +53 -0
  241. package/dist/types/router/state-cookie-name.d.ts +1 -0
  242. package/dist/types/router/substitute-pattern-params.d.ts +23 -0
  243. package/dist/types/router/telemetry-otel.d.ts +113 -0
  244. package/dist/types/router/telemetry.d.ts +216 -0
  245. package/dist/types/router/timeout.d.ts +107 -0
  246. package/dist/types/router/tracing.d.ts +139 -0
  247. package/dist/types/router/transition-when.d.ts +13 -0
  248. package/dist/types/router/trie-matching.d.ts +32 -0
  249. package/dist/types/router/types.d.ts +98 -0
  250. package/dist/types/router/url-params.d.ts +26 -0
  251. package/dist/types/router.d.ts +7 -0
  252. package/dist/types/rsc/capture-queue.d.ts +49 -0
  253. package/dist/types/rsc/full-payload.d.ts +22 -0
  254. package/dist/types/rsc/handler-context.d.ts +32 -0
  255. package/dist/types/rsc/handler.d.ts +9 -0
  256. package/dist/types/rsc/helpers.d.ts +127 -0
  257. package/dist/types/rsc/index.d.ts +17 -0
  258. package/dist/types/rsc/json-route-result.d.ts +20 -0
  259. package/dist/types/rsc/loader-fetch.d.ts +14 -0
  260. package/dist/types/rsc/manifest-init.d.ts +18 -0
  261. package/dist/types/rsc/nonce.d.ts +28 -0
  262. package/dist/types/rsc/origin-guard.d.ts +50 -0
  263. package/dist/types/rsc/progressive-enhancement.d.ts +19 -0
  264. package/dist/types/rsc/redirect-guard.d.ts +37 -0
  265. package/dist/types/rsc/render-pipeline.d.ts +148 -0
  266. package/dist/types/rsc/response-cache-serve.d.ts +46 -0
  267. package/dist/types/rsc/response-error.d.ts +19 -0
  268. package/dist/types/rsc/response-route-handler.d.ts +29 -0
  269. package/dist/types/rsc/routine-plan.d.ts +124 -0
  270. package/dist/types/rsc/rsc-rendering.d.ts +18 -0
  271. package/dist/types/rsc/runtime-warnings.d.ts +22 -0
  272. package/dist/types/rsc/server-action.d.ts +68 -0
  273. package/dist/types/rsc/shell-build-manifest.d.ts +90 -0
  274. package/dist/types/rsc/shell-capture-constants.d.ts +44 -0
  275. package/dist/types/rsc/shell-capture.d.ts +406 -0
  276. package/dist/types/rsc/shell-serve.d.ts +189 -0
  277. package/dist/types/rsc/ssr-setup.d.ts +73 -0
  278. package/dist/types/rsc/stream-idle.d.ts +60 -0
  279. package/dist/types/rsc/transition-gate.d.ts +23 -0
  280. package/dist/types/rsc/types.d.ts +311 -0
  281. package/dist/types/runtime-env.d.ts +1 -0
  282. package/dist/types/search-params.d.ts +125 -0
  283. package/dist/types/segment-content-promise.d.ts +13 -0
  284. package/dist/types/segment-fragments.d.ts +79 -0
  285. package/dist/types/segment-loader-promise.d.ts +22 -0
  286. package/dist/types/segment-system.d.ts +84 -0
  287. package/dist/types/serialize.d.ts +164 -0
  288. package/dist/types/server/context.d.ts +510 -0
  289. package/dist/types/server/cookie-parse.d.ts +10 -0
  290. package/dist/types/server/cookie-store.d.ts +107 -0
  291. package/dist/types/server/fetchable-loader-store.d.ts +20 -0
  292. package/dist/types/server/handle-store.d.ts +100 -0
  293. package/dist/types/server/loader-registry.d.ts +32 -0
  294. package/dist/types/server/request-context.d.ts +707 -0
  295. package/dist/types/server/root-layout.d.ts +3 -0
  296. package/dist/types/server.d.ts +15 -0
  297. package/dist/types/ssr/index.d.ts +233 -0
  298. package/dist/types/ssr/inject-rsc-eager.d.ts +3 -0
  299. package/dist/types/ssr/preinit-client-references.d.ts +71 -0
  300. package/dist/types/ssr/ssr-root.d.ts +69 -0
  301. package/dist/types/static-handler.d.ts +71 -0
  302. package/dist/types/testing/cache-status.d.ts +63 -0
  303. package/dist/types/testing/collect-handle.d.ts +20 -0
  304. package/dist/types/testing/dispatch.d.ts +127 -0
  305. package/dist/types/testing/dom.entry.d.ts +15 -0
  306. package/dist/types/testing/e2e/fixture.d.ts +37 -0
  307. package/dist/types/testing/e2e/index.d.ts +31 -0
  308. package/dist/types/testing/e2e/matchers.d.ts +17 -0
  309. package/dist/types/testing/e2e/page-helpers.d.ts +86 -0
  310. package/dist/types/testing/e2e/parity.d.ts +111 -0
  311. package/dist/types/testing/e2e/server.d.ts +35 -0
  312. package/dist/types/testing/flight-matchers.d.ts +55 -0
  313. package/dist/types/testing/flight-normalize.d.ts +1 -0
  314. package/dist/types/testing/flight-tree.d.ts +192 -0
  315. package/dist/types/testing/flight.d.ts +115 -0
  316. package/dist/types/testing/flight.entry.d.ts +27 -0
  317. package/dist/types/testing/generated-routes.d.ts +66 -0
  318. package/dist/types/testing/index.d.ts +54 -0
  319. package/dist/types/testing/internal/context.d.ts +225 -0
  320. package/dist/types/testing/internal/flight-client-globals.d.ts +1 -0
  321. package/dist/types/testing/internal/seed-vars.d.ts +30 -0
  322. package/dist/types/testing/render-handler.d.ts +160 -0
  323. package/dist/types/testing/render-route.d.ts +255 -0
  324. package/dist/types/testing/run-loader.d.ts +186 -0
  325. package/dist/types/testing/run-middleware.d.ts +132 -0
  326. package/dist/types/testing/run-transition-when.d.ts +78 -0
  327. package/dist/types/testing/shell-status.d.ts +81 -0
  328. package/dist/types/testing/vitest-stubs/cloudflare-email.d.ts +6 -0
  329. package/dist/types/testing/vitest-stubs/cloudflare-workers.d.ts +13 -0
  330. package/dist/types/testing/vitest-stubs/plugin-rsc.d.ts +7 -0
  331. package/dist/types/testing/vitest-stubs/version.d.ts +1 -0
  332. package/dist/types/testing/vitest.d.ts +205 -0
  333. package/dist/types/theme/ThemeProvider.d.ts +13 -0
  334. package/dist/types/theme/ThemeScript.d.ts +45 -0
  335. package/dist/types/theme/constants.d.ts +39 -0
  336. package/dist/types/theme/index.d.ts +29 -0
  337. package/dist/types/theme/theme-context.d.ts +21 -0
  338. package/dist/types/theme/theme-script.d.ts +26 -0
  339. package/dist/types/theme/types.d.ts +162 -0
  340. package/dist/types/theme/use-theme.d.ts +8 -0
  341. package/dist/types/types/boundaries.d.ts +93 -0
  342. package/dist/types/types/cache-types.d.ts +191 -0
  343. package/dist/types/types/error-types.d.ts +114 -0
  344. package/dist/types/types/global-namespace.d.ts +90 -0
  345. package/dist/types/types/handler-context.d.ts +658 -0
  346. package/dist/types/types/index.d.ts +11 -0
  347. package/dist/types/types/loader-types.d.ts +182 -0
  348. package/dist/types/types/request-scope.d.ts +93 -0
  349. package/dist/types/types/route-config.d.ts +105 -0
  350. package/dist/types/types/route-entry.d.ts +98 -0
  351. package/dist/types/types/segments.d.ts +239 -0
  352. package/dist/types/types.d.ts +1 -0
  353. package/dist/types/urls/include-helper.d.ts +17 -0
  354. package/dist/types/urls/include-provider.d.ts +27 -0
  355. package/dist/types/urls/index.d.ts +6 -0
  356. package/dist/types/urls/path-helper-types.d.ts +197 -0
  357. package/dist/types/urls/path-helper.d.ts +12 -0
  358. package/dist/types/urls/pattern-types.d.ts +166 -0
  359. package/dist/types/urls/response-types.d.ts +67 -0
  360. package/dist/types/urls/type-extraction.d.ts +157 -0
  361. package/dist/types/urls/urls-function.d.ts +24 -0
  362. package/dist/types/urls.d.ts +1 -0
  363. package/dist/types/use-loader.d.ts +150 -0
  364. package/dist/types/vercel/index.d.ts +10 -0
  365. package/dist/types/vercel/tracing.d.ts +71 -0
  366. package/dist/types/vite/debug.d.ts +80 -0
  367. package/dist/types/vite/discovery/bundle-postprocess.d.ts +12 -0
  368. package/dist/types/vite/discovery/dev-prerender-cache.d.ts +65 -0
  369. package/dist/types/vite/discovery/discover-routers.d.ts +17 -0
  370. package/dist/types/vite/discovery/discovery-errors.d.ts +113 -0
  371. package/dist/types/vite/discovery/gate-state.d.ts +79 -0
  372. package/dist/types/vite/discovery/prerender-collection.d.ts +24 -0
  373. package/dist/types/vite/discovery/route-types-writer.d.ts +32 -0
  374. package/dist/types/vite/discovery/self-gen-tracking.d.ts +22 -0
  375. package/dist/types/vite/discovery/shell-prerender-phase.d.ts +40 -0
  376. package/dist/types/vite/discovery/state.d.ts +163 -0
  377. package/dist/types/vite/discovery/virtual-module-codegen.d.ts +15 -0
  378. package/dist/types/vite/encryption-key.d.ts +2 -0
  379. package/dist/types/vite/index.d.ts +11 -0
  380. package/dist/types/vite/inject-client-debug.d.ts +56 -0
  381. package/dist/types/vite/plugin-types.d.ts +298 -0
  382. package/dist/types/vite/plugins/cjs-to-esm.d.ts +6 -0
  383. package/dist/types/vite/plugins/client-ref-dedup.d.ts +40 -0
  384. package/dist/types/vite/plugins/client-ref-hashing.d.ts +35 -0
  385. package/dist/types/vite/plugins/cloudflare-protocol-stub.d.ts +64 -0
  386. package/dist/types/vite/plugins/expose-action-id.d.ts +18 -0
  387. package/dist/types/vite/plugins/expose-id-utils.d.ts +37 -0
  388. package/dist/types/vite/plugins/expose-ids/export-analysis.d.ts +19 -0
  389. package/dist/types/vite/plugins/expose-ids/handler-transform.d.ts +10 -0
  390. package/dist/types/vite/plugins/expose-ids/loader-transform.d.ts +8 -0
  391. package/dist/types/vite/plugins/expose-ids/router-transform.d.ts +13 -0
  392. package/dist/types/vite/plugins/expose-ids/types.d.ts +29 -0
  393. package/dist/types/vite/plugins/expose-internal-ids.d.ts +16 -0
  394. package/dist/types/vite/plugins/performance-tracks.d.ts +25 -0
  395. package/dist/types/vite/plugins/refresh-cmd.d.ts +20 -0
  396. package/dist/types/vite/plugins/server-ref-hashing.d.ts +24 -0
  397. package/dist/types/vite/plugins/server-reference-pattern.d.ts +1 -0
  398. package/dist/types/vite/plugins/use-cache-transform.d.ts +20 -0
  399. package/dist/types/vite/plugins/vercel-output.d.ts +85 -0
  400. package/dist/types/vite/plugins/version-injector.d.ts +21 -0
  401. package/dist/types/vite/plugins/version-plugin.d.ts +19 -0
  402. package/dist/types/vite/plugins/virtual-entries.d.ts +36 -0
  403. package/dist/types/vite/plugins/virtual-stub-plugin.d.ts +7 -0
  404. package/dist/types/vite/rango.d.ts +29 -0
  405. package/dist/types/vite/router-discovery.d.ts +23 -0
  406. package/dist/types/vite/utils/ast-handler-extract.d.ts +64 -0
  407. package/dist/types/vite/utils/banner.d.ts +2 -0
  408. package/dist/types/vite/utils/bundle-analysis.d.ts +28 -0
  409. package/dist/types/vite/utils/client-chunks.d.ts +55 -0
  410. package/dist/types/vite/utils/directive-prologue.d.ts +16 -0
  411. package/dist/types/vite/utils/forward-user-plugins.d.ts +37 -0
  412. package/dist/types/vite/utils/manifest-utils.d.ts +7 -0
  413. package/dist/types/vite/utils/package-resolution.d.ts +6 -0
  414. package/dist/types/vite/utils/prerender-utils.d.ts +32 -0
  415. package/dist/types/vite/utils/shared-utils.d.ts +67 -0
  416. package/dist/vite/index.js +5410 -1524
  417. package/dist/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  418. package/package.json +120 -38
  419. package/skills/api-client/SKILL.md +211 -0
  420. package/skills/breadcrumbs/SKILL.md +85 -6
  421. package/skills/bundle-analysis/SKILL.md +159 -0
  422. package/skills/cache-guide/SKILL.md +255 -25
  423. package/skills/caching/SKILL.md +414 -17
  424. package/skills/catalog.json +283 -0
  425. package/skills/cloudflare/SKILL.md +151 -0
  426. package/skills/cloudflare/agents/openai.yaml +4 -0
  427. package/skills/cloudflare/references/d1-and-local-dev.md +131 -0
  428. package/skills/cloudflare/references/streaming-and-deploy.md +107 -0
  429. package/skills/cloudflare/references/webhooks-and-crypto.md +147 -0
  430. package/skills/comparison/SKILL.md +50 -0
  431. package/skills/comparison/agents/openai.yaml +4 -0
  432. package/skills/comparison/references/framework-comparison.md +844 -0
  433. package/skills/composability/SKILL.md +124 -4
  434. package/skills/css/SKILL.md +76 -0
  435. package/skills/debug-manifest/SKILL.md +5 -11
  436. package/skills/defer-hydration/SKILL.md +235 -0
  437. package/skills/deployment-caching/SKILL.md +176 -0
  438. package/skills/document-cache/SKILL.md +116 -58
  439. package/skills/fonts/SKILL.md +1 -1
  440. package/skills/handler-use/SKILL.md +364 -0
  441. package/skills/hooks/SKILL.md +73 -691
  442. package/skills/hooks/data.md +273 -0
  443. package/skills/hooks/handle-and-actions.md +103 -0
  444. package/skills/hooks/navigation.md +110 -0
  445. package/skills/hooks/outlets.md +41 -0
  446. package/skills/hooks/state.md +228 -0
  447. package/skills/hooks/urls.md +135 -0
  448. package/skills/host-router/SKILL.md +129 -27
  449. package/skills/i18n/SKILL.md +276 -0
  450. package/skills/intercept/SKILL.md +94 -18
  451. package/skills/layout/SKILL.md +62 -19
  452. package/skills/links/SKILL.md +285 -17
  453. package/skills/loader/SKILL.md +302 -54
  454. package/skills/middleware/SKILL.md +92 -16
  455. package/skills/migrate-nextjs/SKILL.md +794 -0
  456. package/skills/migrate-nextjs/backend-host-swap.md +120 -0
  457. package/skills/migrate-react-router/SKILL.md +153 -0
  458. package/skills/migrate-react-router/component-migration.md +196 -0
  459. package/skills/migrate-react-router/data-and-actions.md +225 -0
  460. package/skills/migrate-react-router/route-mapping.md +271 -0
  461. package/skills/mime-routes/SKILL.md +55 -18
  462. package/skills/observability/SKILL.md +231 -0
  463. package/skills/parallel/SKILL.md +225 -10
  464. package/skills/ppr/SKILL.md +904 -0
  465. package/skills/prerender/SKILL.md +236 -132
  466. package/skills/rango/SKILL.md +321 -24
  467. package/skills/react-compiler/SKILL.md +168 -0
  468. package/skills/response-routes/SKILL.md +180 -52
  469. package/skills/route/SKILL.md +178 -9
  470. package/skills/router-setup/SKILL.md +140 -11
  471. package/skills/scripts/SKILL.md +179 -0
  472. package/skills/server-actions/SKILL.md +776 -0
  473. package/skills/shell-manifest/SKILL.md +185 -0
  474. package/skills/streams-and-websockets/SKILL.md +283 -0
  475. package/skills/tailwind/SKILL.md +28 -4
  476. package/skills/testing/SKILL.md +131 -0
  477. package/skills/testing/bindings.md +103 -0
  478. package/skills/testing/cache-prerender.md +172 -0
  479. package/skills/testing/client-components.md +125 -0
  480. package/skills/testing/e2e-parity.md +125 -0
  481. package/skills/testing/flight.md +91 -0
  482. package/skills/testing/handles.md +131 -0
  483. package/skills/testing/loader.md +128 -0
  484. package/skills/testing/middleware.md +99 -0
  485. package/skills/testing/render-handler.md +122 -0
  486. package/skills/testing/response-routes.md +95 -0
  487. package/skills/testing/reverse-and-types.md +85 -0
  488. package/skills/testing/server-actions.md +107 -0
  489. package/skills/testing/server-tree.md +128 -0
  490. package/skills/testing/setup.md +123 -0
  491. package/skills/theme/SKILL.md +1 -1
  492. package/skills/typesafety/SKILL.md +45 -616
  493. package/skills/typesafety/env-and-bindings.md +254 -0
  494. package/skills/typesafety/generated-files-and-cli.md +342 -0
  495. package/skills/typesafety/params-and-search.md +153 -0
  496. package/skills/typesafety/route-types.md +213 -0
  497. package/skills/use-cache/SKILL.md +121 -15
  498. package/skills/vercel/SKILL.md +149 -0
  499. package/skills/view-transitions/SKILL.md +341 -0
  500. package/src/__augment-tests__/augment.ts +81 -0
  501. package/src/__augment-tests__/augmented.check.ts +116 -0
  502. package/src/__internal.ts +1 -66
  503. package/src/browser/action-coordinator.ts +53 -36
  504. package/src/browser/action-fence.ts +47 -0
  505. package/src/browser/app-shell.ts +39 -0
  506. package/src/browser/app-version.ts +14 -0
  507. package/src/browser/connection-warmup.ts +134 -0
  508. package/src/browser/cookie-name.ts +140 -0
  509. package/src/browser/dev-discovery.ts +66 -0
  510. package/src/browser/event-controller.ts +405 -168
  511. package/src/browser/history-state.ts +21 -0
  512. package/src/browser/index.ts +3 -3
  513. package/src/browser/invalidate-client-cache.ts +52 -0
  514. package/src/browser/link-interceptor.ts +469 -20
  515. package/src/browser/logging.ts +28 -0
  516. package/src/browser/merge-segment-loaders.ts +6 -4
  517. package/src/browser/navigation-bridge.ts +202 -36
  518. package/src/browser/navigation-client.ts +279 -73
  519. package/src/browser/navigation-store-handle.ts +38 -0
  520. package/src/browser/navigation-store.ts +208 -329
  521. package/src/browser/navigation-transaction.ts +18 -66
  522. package/src/browser/network-error-handler.ts +34 -7
  523. package/src/browser/notify-listeners.ts +22 -0
  524. package/src/browser/partial-update.ts +249 -127
  525. package/src/browser/prefetch/cache.ts +354 -51
  526. package/src/browser/prefetch/default-strategy.ts +74 -0
  527. package/src/browser/prefetch/fetch.ts +453 -40
  528. package/src/browser/prefetch/invalidation.ts +30 -0
  529. package/src/browser/prefetch/loader.ts +111 -0
  530. package/src/browser/prefetch/observer.ts +50 -22
  531. package/src/browser/prefetch/queue.ts +144 -23
  532. package/src/browser/prefetch/resource-ready.ts +77 -0
  533. package/src/browser/prefetch/runtime.ts +6 -0
  534. package/src/browser/rango-state.ts +178 -75
  535. package/src/browser/react/Link.tsx +187 -75
  536. package/src/browser/react/NavigationProvider.tsx +249 -123
  537. package/src/browser/react/ScrollRestoration.tsx +10 -6
  538. package/src/browser/react/context.ts +11 -2
  539. package/src/browser/react/filter-segment-order.ts +66 -7
  540. package/src/browser/react/index.ts +0 -48
  541. package/src/browser/react/location-state-shared.ts +178 -8
  542. package/src/browser/react/location-state.ts +39 -14
  543. package/src/browser/react/use-action.ts +6 -15
  544. package/src/browser/react/use-handle.ts +23 -69
  545. package/src/browser/react/use-href.tsx +8 -1
  546. package/src/browser/react/use-link-status.ts +33 -8
  547. package/src/browser/react/use-navigation.ts +32 -7
  548. package/src/browser/react/use-params.ts +20 -10
  549. package/src/browser/react/use-reverse.ts +106 -0
  550. package/src/browser/react/use-router.ts +47 -12
  551. package/src/browser/react/use-search-params.ts +0 -5
  552. package/src/browser/react/use-segments.ts +11 -21
  553. package/src/browser/response-adapter.ts +99 -8
  554. package/src/browser/rsc-router.tsx +316 -84
  555. package/src/browser/scroll-restoration.ts +61 -47
  556. package/src/browser/segment-reconciler.ts +44 -7
  557. package/src/browser/segment-structure-assert.ts +2 -2
  558. package/src/browser/server-action-bridge.ts +244 -71
  559. package/src/browser/types.ts +144 -37
  560. package/src/browser/validate-redirect-origin.ts +43 -16
  561. package/src/build/collect-fallback-refs.ts +107 -0
  562. package/src/build/generate-manifest.ts +217 -188
  563. package/src/build/generate-route-types.ts +6 -1
  564. package/src/build/index.ts +11 -3
  565. package/src/build/prefix-tree-utils.ts +123 -0
  566. package/src/build/route-trie.ts +196 -84
  567. package/src/build/route-types/ast-route-extraction.ts +15 -8
  568. package/src/build/route-types/codegen.ts +16 -5
  569. package/src/build/route-types/include-resolution.ts +464 -63
  570. package/src/build/route-types/param-extraction.ts +6 -3
  571. package/src/build/route-types/per-module-writer.ts +22 -6
  572. package/src/build/route-types/router-processing.ts +336 -110
  573. package/src/build/route-types/scan-filter.ts +9 -2
  574. package/src/build/route-types/source-scan.ts +216 -0
  575. package/src/build/runtime-discovery.ts +13 -21
  576. package/src/cache/cache-error.ts +104 -0
  577. package/src/cache/cache-key-utils.ts +73 -15
  578. package/src/cache/cache-policy.ts +108 -34
  579. package/src/cache/cache-runtime.ts +558 -108
  580. package/src/cache/cache-scope.ts +431 -112
  581. package/src/cache/cache-tag.ts +149 -0
  582. package/src/cache/cf/cf-base64.ts +33 -0
  583. package/src/cache/cf/cf-cache-constants.ts +134 -0
  584. package/src/cache/cf/cf-cache-store.ts +3250 -173
  585. package/src/cache/cf/cf-cache-types.ts +417 -0
  586. package/src/cache/cf/cf-kv-utils.ts +84 -0
  587. package/src/cache/cf/cf-tag-marker-memo.ts +108 -0
  588. package/src/cache/cf/cf-zone-purge.ts +101 -0
  589. package/src/cache/cf/index.ts +16 -17
  590. package/src/cache/document-cache.ts +202 -61
  591. package/src/cache/handle-snapshot.ts +92 -1
  592. package/src/cache/index.ts +33 -20
  593. package/src/cache/memory-segment-store.ts +286 -37
  594. package/src/cache/profile-registry.ts +46 -31
  595. package/src/cache/read-through-swr.ts +66 -16
  596. package/src/cache/search-params-filter.ts +118 -0
  597. package/src/cache/segment-codec.ts +80 -25
  598. package/src/cache/shell-snapshot.ts +516 -0
  599. package/src/cache/tag-invalidation.ts +230 -0
  600. package/src/cache/taint.ts +55 -0
  601. package/src/cache/types.ts +323 -100
  602. package/src/cache/vercel/index.ts +11 -0
  603. package/src/cache/vercel/vercel-cache-store.ts +1264 -0
  604. package/src/client.rsc.tsx +41 -21
  605. package/src/client.tsx +116 -290
  606. package/src/cloudflare/index.ts +11 -0
  607. package/src/cloudflare/tracing.ts +112 -0
  608. package/src/component-utils.ts +19 -0
  609. package/src/components/DefaultDocument.tsx +8 -2
  610. package/src/context-var.ts +84 -2
  611. package/src/debug.ts +2 -2
  612. package/src/decode-loader-results.ts +52 -0
  613. package/src/defer.ts +185 -0
  614. package/src/deps/ssr.ts +4 -2
  615. package/src/dev-discovery-protocol.ts +11 -0
  616. package/src/encode-kv.ts +49 -0
  617. package/src/errors.ts +30 -4
  618. package/src/escape-script.ts +52 -0
  619. package/src/handle.ts +104 -34
  620. package/src/handles/MetaTags.tsx +24 -53
  621. package/src/handles/Scripts.tsx +183 -0
  622. package/src/handles/breadcrumbs.ts +35 -8
  623. package/src/handles/deferred-resolution.ts +127 -0
  624. package/src/handles/is-thenable.ts +16 -0
  625. package/src/handles/meta.ts +14 -40
  626. package/src/handles/script.ts +244 -0
  627. package/src/host/cookie-handler.ts +9 -60
  628. package/src/host/errors.ts +13 -22
  629. package/src/host/index.ts +9 -2
  630. package/src/host/pattern-matcher.ts +23 -52
  631. package/src/host/router.ts +107 -99
  632. package/src/host/testing.ts +40 -27
  633. package/src/host/types.ts +37 -4
  634. package/src/host/utils.ts +1 -1
  635. package/src/href-client.ts +137 -22
  636. package/src/index.rsc.ts +111 -13
  637. package/src/index.ts +150 -19
  638. package/src/internal-debug.ts +11 -10
  639. package/src/loader-store.ts +500 -0
  640. package/src/loader.rsc.ts +20 -13
  641. package/src/loader.ts +12 -11
  642. package/src/missing-id-error.ts +68 -0
  643. package/src/outlet-context.ts +1 -1
  644. package/src/outlet-provider.tsx +1 -5
  645. package/src/prerender/build-shell-capture.ts +453 -0
  646. package/src/prerender/param-hash.ts +16 -16
  647. package/src/prerender/shell-manifest-key.ts +20 -0
  648. package/src/prerender/store.ts +52 -42
  649. package/src/prerender.ts +215 -86
  650. package/src/redirect-origin.ts +143 -0
  651. package/src/regex-escape.ts +8 -0
  652. package/src/render-error-thrower.tsx +20 -0
  653. package/src/response-utils.ts +62 -0
  654. package/src/reverse.ts +65 -15
  655. package/src/root-error-boundary.tsx +1 -19
  656. package/src/route-content-wrapper.tsx +19 -77
  657. package/src/route-definition/dsl-helpers.ts +492 -305
  658. package/src/route-definition/helper-factories.ts +28 -140
  659. package/src/route-definition/helpers-types.ts +156 -78
  660. package/src/route-definition/index.ts +4 -2
  661. package/src/route-definition/redirect.ts +53 -12
  662. package/src/route-definition/resolve-handler-use.ts +160 -0
  663. package/src/route-definition/use-item-types.ts +29 -0
  664. package/src/route-map-builder.ts +102 -68
  665. package/src/route-types.ts +37 -46
  666. package/src/router/basename.ts +14 -0
  667. package/src/router/content-negotiation.ts +211 -22
  668. package/src/router/error-handling.ts +45 -18
  669. package/src/router/find-match.ts +130 -29
  670. package/src/router/handler-context.ts +105 -45
  671. package/src/router/instrument.ts +401 -0
  672. package/src/router/intercept-resolution.ts +79 -24
  673. package/src/router/lazy-includes.ts +90 -63
  674. package/src/router/loader-resolution.ts +302 -56
  675. package/src/router/logging.ts +5 -8
  676. package/src/router/manifest.ts +105 -56
  677. package/src/router/match-api.ts +190 -219
  678. package/src/router/match-context.ts +0 -22
  679. package/src/router/match-handlers.ts +268 -171
  680. package/src/router/match-middleware/background-revalidation.ts +66 -22
  681. package/src/router/match-middleware/cache-lookup.ts +368 -277
  682. package/src/router/match-middleware/cache-store.ts +175 -50
  683. package/src/router/match-middleware/intercept-resolution.ts +8 -28
  684. package/src/router/match-middleware/segment-resolution.ts +52 -18
  685. package/src/router/match-pipelines.ts +1 -42
  686. package/src/router/match-result.ts +128 -44
  687. package/src/router/metrics.ts +22 -36
  688. package/src/router/middleware-types.ts +26 -138
  689. package/src/router/middleware.ts +305 -177
  690. package/src/router/navigation-snapshot.ts +173 -0
  691. package/src/router/params-util.ts +23 -0
  692. package/src/router/parse-pattern.ts +115 -0
  693. package/src/router/pattern-matching.ts +181 -150
  694. package/src/router/prefetch-cache-ttl.ts +51 -0
  695. package/src/router/prefetch-default.ts +59 -0
  696. package/src/router/prefetch-limits.ts +37 -0
  697. package/src/router/prerender-match.ts +250 -60
  698. package/src/router/preview-match.ts +35 -103
  699. package/src/router/request-classification.ts +291 -0
  700. package/src/router/revalidation.ts +123 -73
  701. package/src/router/route-snapshot.ts +256 -0
  702. package/src/router/router-context.ts +11 -29
  703. package/src/router/router-interfaces.ts +162 -38
  704. package/src/router/router-options.ts +271 -21
  705. package/src/router/router-registry.ts +2 -5
  706. package/src/router/segment-resolution/fresh.ts +320 -78
  707. package/src/router/segment-resolution/helpers.ts +116 -31
  708. package/src/router/segment-resolution/loader-cache.ts +198 -39
  709. package/src/router/segment-resolution/loader-mask.ts +60 -0
  710. package/src/router/segment-resolution/loader-snapshot.ts +259 -0
  711. package/src/router/segment-resolution/mask-nested.ts +99 -0
  712. package/src/router/segment-resolution/revalidation.ts +501 -385
  713. package/src/router/segment-resolution/static-store.ts +55 -15
  714. package/src/router/segment-resolution/streamed-handler-telemetry.ts +52 -0
  715. package/src/router/segment-resolution/view-transition-default.ts +60 -0
  716. package/src/router/segment-resolution.ts +5 -1
  717. package/src/router/segment-wrappers.ts +8 -5
  718. package/src/router/state-cookie-name.ts +33 -0
  719. package/src/router/substitute-pattern-params.ts +75 -0
  720. package/src/router/telemetry-otel.ts +171 -200
  721. package/src/router/telemetry.ts +106 -20
  722. package/src/router/timeout.ts +53 -22
  723. package/src/router/tracing.ts +235 -0
  724. package/src/router/transition-when.ts +76 -0
  725. package/src/router/trie-matching.ts +171 -59
  726. package/src/router/types.ts +10 -63
  727. package/src/router/url-params.ts +57 -0
  728. package/src/router.ts +256 -78
  729. package/src/rsc/capture-queue.ts +218 -0
  730. package/src/rsc/full-payload.ts +71 -0
  731. package/src/rsc/handler-context.ts +4 -2
  732. package/src/rsc/handler.ts +896 -517
  733. package/src/rsc/helpers.ts +245 -47
  734. package/src/rsc/index.ts +2 -5
  735. package/src/rsc/json-route-result.ts +38 -0
  736. package/src/rsc/loader-fetch.ts +129 -33
  737. package/src/rsc/manifest-init.ts +32 -48
  738. package/src/rsc/nonce.ts +10 -1
  739. package/src/rsc/origin-guard.ts +39 -25
  740. package/src/rsc/progressive-enhancement.ts +381 -74
  741. package/src/rsc/redirect-guard.ts +102 -0
  742. package/src/rsc/render-pipeline.ts +611 -0
  743. package/src/rsc/response-cache-serve.ts +259 -0
  744. package/src/rsc/response-error.ts +79 -12
  745. package/src/rsc/response-route-handler.ts +80 -206
  746. package/src/rsc/routine-plan.ts +359 -0
  747. package/src/rsc/rsc-rendering.ts +1624 -156
  748. package/src/rsc/runtime-warnings.ts +23 -10
  749. package/src/rsc/server-action.ts +424 -133
  750. package/src/rsc/shell-build-manifest.ts +336 -0
  751. package/src/rsc/shell-capture-constants.ts +45 -0
  752. package/src/rsc/shell-capture.ts +2063 -0
  753. package/src/rsc/shell-serve.ts +337 -0
  754. package/src/rsc/ssr-setup.ts +113 -18
  755. package/src/rsc/stream-idle.ts +137 -0
  756. package/src/rsc/transition-gate.ts +86 -0
  757. package/src/rsc/types.ts +83 -6
  758. package/src/runtime-env.ts +18 -0
  759. package/src/search-params.ts +35 -30
  760. package/src/segment-content-promise.ts +67 -0
  761. package/src/segment-fragments.ts +165 -0
  762. package/src/segment-loader-promise.ts +167 -0
  763. package/src/segment-system.tsx +449 -132
  764. package/src/serialize.ts +243 -0
  765. package/src/server/context.ts +571 -61
  766. package/src/server/cookie-parse.ts +32 -0
  767. package/src/server/cookie-store.ts +152 -5
  768. package/src/server/handle-store.ts +40 -38
  769. package/src/server/loader-registry.ts +38 -46
  770. package/src/server/request-context.ts +933 -182
  771. package/src/server.ts +0 -2
  772. package/src/ssr/index.tsx +631 -179
  773. package/src/ssr/inject-rsc-eager.ts +167 -0
  774. package/src/ssr/preinit-client-references.ts +106 -0
  775. package/src/ssr/ssr-root.tsx +262 -0
  776. package/src/static-handler.ts +45 -20
  777. package/src/testing/cache-status.ts +162 -0
  778. package/src/testing/collect-handle.ts +46 -0
  779. package/src/testing/dispatch.ts +951 -0
  780. package/src/testing/dom.entry.ts +22 -0
  781. package/src/testing/e2e/fixture.ts +188 -0
  782. package/src/testing/e2e/index.ts +147 -0
  783. package/src/testing/e2e/matchers.ts +35 -0
  784. package/src/testing/e2e/page-helpers.ts +319 -0
  785. package/src/testing/e2e/parity.ts +400 -0
  786. package/src/testing/e2e/server.ts +195 -0
  787. package/src/testing/flight-matchers.ts +97 -0
  788. package/src/testing/flight-normalize.ts +11 -0
  789. package/src/testing/flight-runtime.d.ts +57 -0
  790. package/src/testing/flight-tree.ts +682 -0
  791. package/src/testing/flight.entry.ts +52 -0
  792. package/src/testing/flight.ts +257 -0
  793. package/src/testing/generated-routes.ts +199 -0
  794. package/src/testing/index.ts +121 -0
  795. package/src/testing/internal/context.ts +380 -0
  796. package/src/testing/internal/flight-client-globals.ts +30 -0
  797. package/src/testing/internal/seed-vars.ts +54 -0
  798. package/src/testing/render-handler.ts +371 -0
  799. package/src/testing/render-route.tsx +653 -0
  800. package/src/testing/run-loader.ts +385 -0
  801. package/src/testing/run-middleware.ts +219 -0
  802. package/src/testing/run-transition-when.ts +197 -0
  803. package/src/testing/shell-status.ts +206 -0
  804. package/src/testing/vitest-stubs/cloudflare-email.ts +9 -0
  805. package/src/testing/vitest-stubs/cloudflare-workers.ts +21 -0
  806. package/src/testing/vitest-stubs/plugin-rsc.ts +16 -0
  807. package/src/testing/vitest-stubs/version.ts +5 -0
  808. package/src/testing/vitest.ts +305 -0
  809. package/src/theme/ThemeProvider.tsx +56 -84
  810. package/src/theme/ThemeScript.tsx +7 -9
  811. package/src/theme/constants.ts +52 -13
  812. package/src/theme/index.ts +0 -7
  813. package/src/theme/theme-context.ts +1 -5
  814. package/src/theme/theme-script.ts +22 -21
  815. package/src/theme/use-theme.ts +0 -3
  816. package/src/types/boundaries.ts +0 -35
  817. package/src/types/cache-types.ts +17 -8
  818. package/src/types/error-types.ts +30 -90
  819. package/src/types/global-namespace.ts +54 -41
  820. package/src/types/handler-context.ts +244 -81
  821. package/src/types/index.ts +3 -10
  822. package/src/types/loader-types.ts +44 -15
  823. package/src/types/request-scope.ts +112 -0
  824. package/src/types/route-config.ts +20 -52
  825. package/src/types/route-entry.ts +22 -7
  826. package/src/types/segments.ts +142 -14
  827. package/src/urls/include-helper.ts +41 -75
  828. package/src/urls/include-provider.ts +71 -0
  829. package/src/urls/index.ts +2 -11
  830. package/src/urls/path-helper-types.ts +104 -25
  831. package/src/urls/path-helper.ts +70 -115
  832. package/src/urls/pattern-types.ts +113 -19
  833. package/src/urls/response-types.ts +25 -22
  834. package/src/urls/type-extraction.ts +98 -154
  835. package/src/urls/urls-function.ts +1 -19
  836. package/src/use-loader.tsx +346 -89
  837. package/src/vercel/index.ts +11 -0
  838. package/src/vercel/tracing.ts +89 -0
  839. package/src/vite/debug.ts +185 -0
  840. package/src/vite/discovery/bundle-postprocess.ts +46 -45
  841. package/src/vite/discovery/dev-prerender-cache.ts +117 -0
  842. package/src/vite/discovery/discover-routers.ts +149 -144
  843. package/src/vite/discovery/discovery-errors.ts +255 -0
  844. package/src/vite/discovery/gate-state.ts +171 -0
  845. package/src/vite/discovery/prerender-collection.ts +243 -134
  846. package/src/vite/discovery/route-types-writer.ts +40 -84
  847. package/src/vite/discovery/self-gen-tracking.ts +27 -1
  848. package/src/vite/discovery/shell-prerender-phase.ts +397 -0
  849. package/src/vite/discovery/state.ts +105 -10
  850. package/src/vite/discovery/virtual-module-codegen.ts +206 -87
  851. package/src/vite/encryption-key.ts +29 -0
  852. package/src/vite/index.ts +16 -0
  853. package/src/vite/inject-client-debug.ts +88 -0
  854. package/src/vite/plugin-types.ts +267 -62
  855. package/src/vite/plugins/cjs-to-esm.ts +16 -19
  856. package/src/vite/plugins/client-ref-dedup.ts +16 -11
  857. package/src/vite/plugins/client-ref-hashing.ts +28 -15
  858. package/src/vite/plugins/cloudflare-protocol-loader-hook.d.mts +23 -0
  859. package/src/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  860. package/src/vite/plugins/cloudflare-protocol-stub.ts +194 -0
  861. package/src/vite/plugins/expose-action-id.ts +51 -100
  862. package/src/vite/plugins/expose-id-utils.ts +96 -51
  863. package/src/vite/plugins/expose-ids/export-analysis.ts +101 -34
  864. package/src/vite/plugins/expose-ids/handler-transform.ts +15 -64
  865. package/src/vite/plugins/expose-ids/loader-transform.ts +14 -24
  866. package/src/vite/plugins/expose-ids/router-transform.ts +118 -29
  867. package/src/vite/plugins/expose-internal-ids.ts +599 -317
  868. package/src/vite/plugins/performance-tracks.ts +89 -0
  869. package/src/vite/plugins/refresh-cmd.ts +89 -27
  870. package/src/vite/plugins/server-ref-hashing.ts +74 -0
  871. package/src/vite/plugins/server-reference-pattern.ts +10 -0
  872. package/src/vite/plugins/use-cache-transform.ts +73 -83
  873. package/src/vite/plugins/vercel-output.ts +384 -0
  874. package/src/vite/plugins/version-injector.ts +39 -29
  875. package/src/vite/plugins/version-plugin.ts +54 -37
  876. package/src/vite/plugins/virtual-entries.ts +183 -29
  877. package/src/vite/rango.ts +403 -304
  878. package/src/vite/router-discovery.ts +1651 -187
  879. package/src/vite/utils/ast-handler-extract.ts +26 -35
  880. package/src/vite/utils/banner.ts +4 -4
  881. package/src/vite/utils/bundle-analysis.ts +10 -15
  882. package/src/vite/utils/client-chunks.ts +184 -0
  883. package/src/vite/utils/directive-prologue.ts +40 -0
  884. package/src/vite/utils/forward-user-plugins.ts +171 -0
  885. package/src/vite/utils/manifest-utils.ts +1 -59
  886. package/src/vite/utils/package-resolution.ts +21 -52
  887. package/src/vite/utils/prerender-utils.ts +123 -44
  888. package/src/vite/utils/shared-utils.ts +158 -44
  889. package/dist/__internal.d.ts +0 -83
  890. package/dist/__internal.d.ts.map +0 -1
  891. package/dist/__internal.js +0 -19
  892. package/dist/__internal.js.map +0 -1
  893. package/dist/__mocks__/version.d.ts +0 -7
  894. package/dist/__mocks__/version.d.ts.map +0 -1
  895. package/dist/__mocks__/version.js +0 -7
  896. package/dist/__mocks__/version.js.map +0 -1
  897. package/dist/__tests__/client-href.test.d.ts +0 -2
  898. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  899. package/dist/__tests__/client-href.test.js +0 -74
  900. package/dist/__tests__/client-href.test.js.map +0 -1
  901. package/dist/__tests__/component-utils.test.d.ts +0 -2
  902. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  903. package/dist/__tests__/component-utils.test.js +0 -51
  904. package/dist/__tests__/component-utils.test.js.map +0 -1
  905. package/dist/__tests__/event-controller.test.d.ts +0 -2
  906. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  907. package/dist/__tests__/event-controller.test.js +0 -538
  908. package/dist/__tests__/event-controller.test.js.map +0 -1
  909. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  910. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  911. package/dist/__tests__/helpers/route-tree.js +0 -374
  912. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  913. package/dist/__tests__/match-result.test.d.ts +0 -2
  914. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  915. package/dist/__tests__/match-result.test.js +0 -154
  916. package/dist/__tests__/match-result.test.js.map +0 -1
  917. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  918. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  919. package/dist/__tests__/navigation-store.test.js +0 -440
  920. package/dist/__tests__/navigation-store.test.js.map +0 -1
  921. package/dist/__tests__/partial-update.test.d.ts +0 -2
  922. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  923. package/dist/__tests__/partial-update.test.js +0 -1009
  924. package/dist/__tests__/partial-update.test.js.map +0 -1
  925. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  926. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  927. package/dist/__tests__/reverse-types.test.js +0 -656
  928. package/dist/__tests__/reverse-types.test.js.map +0 -1
  929. package/dist/__tests__/route-definition.test.d.ts +0 -2
  930. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  931. package/dist/__tests__/route-definition.test.js +0 -55
  932. package/dist/__tests__/route-definition.test.js.map +0 -1
  933. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  934. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  935. package/dist/__tests__/router-helpers.test.js +0 -377
  936. package/dist/__tests__/router-helpers.test.js.map +0 -1
  937. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  938. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  939. package/dist/__tests__/router-integration-2.test.js +0 -426
  940. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  941. package/dist/__tests__/router-integration.test.d.ts +0 -2
  942. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  943. package/dist/__tests__/router-integration.test.js +0 -1051
  944. package/dist/__tests__/router-integration.test.js.map +0 -1
  945. package/dist/__tests__/search-params.test.d.ts +0 -5
  946. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  947. package/dist/__tests__/search-params.test.js +0 -306
  948. package/dist/__tests__/search-params.test.js.map +0 -1
  949. package/dist/__tests__/segment-system.test.d.ts +0 -2
  950. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  951. package/dist/__tests__/segment-system.test.js +0 -627
  952. package/dist/__tests__/segment-system.test.js.map +0 -1
  953. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  954. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  955. package/dist/__tests__/static-handler-types.test.js +0 -63
  956. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  957. package/dist/__tests__/urls.test.d.ts +0 -2
  958. package/dist/__tests__/urls.test.d.ts.map +0 -1
  959. package/dist/__tests__/urls.test.js +0 -421
  960. package/dist/__tests__/urls.test.js.map +0 -1
  961. package/dist/__tests__/use-mount.test.d.ts +0 -2
  962. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  963. package/dist/__tests__/use-mount.test.js +0 -35
  964. package/dist/__tests__/use-mount.test.js.map +0 -1
  965. package/dist/bin/rango.d.ts +0 -2
  966. package/dist/bin/rango.d.ts.map +0 -1
  967. package/dist/bin/rango.js.map +0 -1
  968. package/dist/browser/event-controller.d.ts +0 -191
  969. package/dist/browser/event-controller.d.ts.map +0 -1
  970. package/dist/browser/event-controller.js +0 -559
  971. package/dist/browser/event-controller.js.map +0 -1
  972. package/dist/browser/index.d.ts +0 -2
  973. package/dist/browser/index.d.ts.map +0 -1
  974. package/dist/browser/index.js +0 -14
  975. package/dist/browser/index.js.map +0 -1
  976. package/dist/browser/link-interceptor.d.ts +0 -38
  977. package/dist/browser/link-interceptor.d.ts.map +0 -1
  978. package/dist/browser/link-interceptor.js +0 -99
  979. package/dist/browser/link-interceptor.js.map +0 -1
  980. package/dist/browser/logging.d.ts +0 -10
  981. package/dist/browser/logging.d.ts.map +0 -1
  982. package/dist/browser/logging.js +0 -29
  983. package/dist/browser/logging.js.map +0 -1
  984. package/dist/browser/lru-cache.d.ts +0 -17
  985. package/dist/browser/lru-cache.d.ts.map +0 -1
  986. package/dist/browser/lru-cache.js +0 -50
  987. package/dist/browser/lru-cache.js.map +0 -1
  988. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  989. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  990. package/dist/browser/merge-segment-loaders.js +0 -102
  991. package/dist/browser/merge-segment-loaders.js.map +0 -1
  992. package/dist/browser/navigation-bridge.d.ts +0 -102
  993. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  994. package/dist/browser/navigation-bridge.js +0 -708
  995. package/dist/browser/navigation-bridge.js.map +0 -1
  996. package/dist/browser/navigation-client.d.ts +0 -25
  997. package/dist/browser/navigation-client.d.ts.map +0 -1
  998. package/dist/browser/navigation-client.js +0 -157
  999. package/dist/browser/navigation-client.js.map +0 -1
  1000. package/dist/browser/navigation-store.d.ts +0 -101
  1001. package/dist/browser/navigation-store.d.ts.map +0 -1
  1002. package/dist/browser/navigation-store.js +0 -625
  1003. package/dist/browser/navigation-store.js.map +0 -1
  1004. package/dist/browser/partial-update.d.ts +0 -75
  1005. package/dist/browser/partial-update.d.ts.map +0 -1
  1006. package/dist/browser/partial-update.js +0 -426
  1007. package/dist/browser/partial-update.js.map +0 -1
  1008. package/dist/browser/react/Link.d.ts +0 -86
  1009. package/dist/browser/react/Link.d.ts.map +0 -1
  1010. package/dist/browser/react/Link.js +0 -128
  1011. package/dist/browser/react/Link.js.map +0 -1
  1012. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  1013. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  1014. package/dist/browser/react/NavigationProvider.js +0 -216
  1015. package/dist/browser/react/NavigationProvider.js.map +0 -1
  1016. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  1017. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  1018. package/dist/browser/react/ScrollRestoration.js +0 -57
  1019. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  1020. package/dist/browser/react/context.d.ts +0 -46
  1021. package/dist/browser/react/context.d.ts.map +0 -1
  1022. package/dist/browser/react/context.js +0 -10
  1023. package/dist/browser/react/context.js.map +0 -1
  1024. package/dist/browser/react/index.d.ts +0 -11
  1025. package/dist/browser/react/index.d.ts.map +0 -1
  1026. package/dist/browser/react/index.js +0 -22
  1027. package/dist/browser/react/index.js.map +0 -1
  1028. package/dist/browser/react/location-state-shared.d.ts +0 -63
  1029. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  1030. package/dist/browser/react/location-state-shared.js +0 -81
  1031. package/dist/browser/react/location-state-shared.js.map +0 -1
  1032. package/dist/browser/react/location-state.d.ts +0 -23
  1033. package/dist/browser/react/location-state.d.ts.map +0 -1
  1034. package/dist/browser/react/location-state.js +0 -29
  1035. package/dist/browser/react/location-state.js.map +0 -1
  1036. package/dist/browser/react/mount-context.d.ts +0 -24
  1037. package/dist/browser/react/mount-context.d.ts.map +0 -1
  1038. package/dist/browser/react/mount-context.js +0 -24
  1039. package/dist/browser/react/mount-context.js.map +0 -1
  1040. package/dist/browser/react/use-action.d.ts +0 -64
  1041. package/dist/browser/react/use-action.d.ts.map +0 -1
  1042. package/dist/browser/react/use-action.js +0 -134
  1043. package/dist/browser/react/use-action.js.map +0 -1
  1044. package/dist/browser/react/use-client-cache.d.ts +0 -41
  1045. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  1046. package/dist/browser/react/use-client-cache.js +0 -39
  1047. package/dist/browser/react/use-client-cache.js.map +0 -1
  1048. package/dist/browser/react/use-handle.d.ts +0 -31
  1049. package/dist/browser/react/use-handle.d.ts.map +0 -1
  1050. package/dist/browser/react/use-handle.js +0 -144
  1051. package/dist/browser/react/use-handle.js.map +0 -1
  1052. package/dist/browser/react/use-href.d.ts +0 -33
  1053. package/dist/browser/react/use-href.d.ts.map +0 -1
  1054. package/dist/browser/react/use-href.js +0 -39
  1055. package/dist/browser/react/use-href.js.map +0 -1
  1056. package/dist/browser/react/use-link-status.d.ts +0 -37
  1057. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  1058. package/dist/browser/react/use-link-status.js +0 -99
  1059. package/dist/browser/react/use-link-status.js.map +0 -1
  1060. package/dist/browser/react/use-mount.d.ts +0 -25
  1061. package/dist/browser/react/use-mount.d.ts.map +0 -1
  1062. package/dist/browser/react/use-mount.js +0 -30
  1063. package/dist/browser/react/use-mount.js.map +0 -1
  1064. package/dist/browser/react/use-navigation.d.ts +0 -27
  1065. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  1066. package/dist/browser/react/use-navigation.js +0 -87
  1067. package/dist/browser/react/use-navigation.js.map +0 -1
  1068. package/dist/browser/react/use-segments.d.ts +0 -38
  1069. package/dist/browser/react/use-segments.d.ts.map +0 -1
  1070. package/dist/browser/react/use-segments.js +0 -130
  1071. package/dist/browser/react/use-segments.js.map +0 -1
  1072. package/dist/browser/request-controller.d.ts +0 -26
  1073. package/dist/browser/request-controller.d.ts.map +0 -1
  1074. package/dist/browser/request-controller.js +0 -147
  1075. package/dist/browser/request-controller.js.map +0 -1
  1076. package/dist/browser/rsc-router.d.ts +0 -129
  1077. package/dist/browser/rsc-router.d.ts.map +0 -1
  1078. package/dist/browser/rsc-router.js +0 -195
  1079. package/dist/browser/rsc-router.js.map +0 -1
  1080. package/dist/browser/scroll-restoration.d.ts +0 -93
  1081. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  1082. package/dist/browser/scroll-restoration.js +0 -321
  1083. package/dist/browser/scroll-restoration.js.map +0 -1
  1084. package/dist/browser/segment-structure-assert.d.ts +0 -17
  1085. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  1086. package/dist/browser/segment-structure-assert.js +0 -59
  1087. package/dist/browser/segment-structure-assert.js.map +0 -1
  1088. package/dist/browser/server-action-bridge.d.ts +0 -26
  1089. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  1090. package/dist/browser/server-action-bridge.js +0 -668
  1091. package/dist/browser/server-action-bridge.js.map +0 -1
  1092. package/dist/browser/shallow.d.ts +0 -12
  1093. package/dist/browser/shallow.d.ts.map +0 -1
  1094. package/dist/browser/shallow.js +0 -34
  1095. package/dist/browser/shallow.js.map +0 -1
  1096. package/dist/browser/types.d.ts +0 -369
  1097. package/dist/browser/types.d.ts.map +0 -1
  1098. package/dist/browser/types.js +0 -2
  1099. package/dist/browser/types.js.map +0 -1
  1100. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  1101. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  1102. package/dist/build/__tests__/generate-cli.test.js +0 -237
  1103. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  1104. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  1105. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  1106. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  1107. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  1108. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  1109. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  1110. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  1111. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  1112. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  1113. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  1114. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  1115. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  1116. package/dist/build/generate-manifest.d.ts +0 -81
  1117. package/dist/build/generate-manifest.d.ts.map +0 -1
  1118. package/dist/build/generate-manifest.js +0 -276
  1119. package/dist/build/generate-manifest.js.map +0 -1
  1120. package/dist/build/generate-route-types.d.ts +0 -115
  1121. package/dist/build/generate-route-types.d.ts.map +0 -1
  1122. package/dist/build/generate-route-types.js +0 -740
  1123. package/dist/build/generate-route-types.js.map +0 -1
  1124. package/dist/build/index.d.ts +0 -21
  1125. package/dist/build/index.d.ts.map +0 -1
  1126. package/dist/build/index.js +0 -21
  1127. package/dist/build/index.js.map +0 -1
  1128. package/dist/build/route-trie.d.ts +0 -71
  1129. package/dist/build/route-trie.d.ts.map +0 -1
  1130. package/dist/build/route-trie.js +0 -175
  1131. package/dist/build/route-trie.js.map +0 -1
  1132. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  1133. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  1134. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  1135. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  1136. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  1137. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  1138. package/dist/cache/__tests__/document-cache.test.js +0 -345
  1139. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  1140. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  1141. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  1142. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  1143. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  1144. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  1145. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  1146. package/dist/cache/__tests__/memory-store.test.js +0 -367
  1147. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  1148. package/dist/cache/cache-scope.d.ts +0 -102
  1149. package/dist/cache/cache-scope.d.ts.map +0 -1
  1150. package/dist/cache/cache-scope.js +0 -440
  1151. package/dist/cache/cache-scope.js.map +0 -1
  1152. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  1153. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  1154. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  1155. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  1156. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  1157. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  1158. package/dist/cache/cf/cf-cache-store.js +0 -242
  1159. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  1160. package/dist/cache/cf/index.d.ts +0 -14
  1161. package/dist/cache/cf/index.d.ts.map +0 -1
  1162. package/dist/cache/cf/index.js +0 -17
  1163. package/dist/cache/cf/index.js.map +0 -1
  1164. package/dist/cache/document-cache.d.ts +0 -64
  1165. package/dist/cache/document-cache.d.ts.map +0 -1
  1166. package/dist/cache/document-cache.js +0 -228
  1167. package/dist/cache/document-cache.js.map +0 -1
  1168. package/dist/cache/index.d.ts +0 -19
  1169. package/dist/cache/index.d.ts.map +0 -1
  1170. package/dist/cache/index.js +0 -21
  1171. package/dist/cache/index.js.map +0 -1
  1172. package/dist/cache/memory-segment-store.d.ts +0 -110
  1173. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  1174. package/dist/cache/memory-segment-store.js +0 -117
  1175. package/dist/cache/memory-segment-store.js.map +0 -1
  1176. package/dist/cache/memory-store.d.ts +0 -41
  1177. package/dist/cache/memory-store.d.ts.map +0 -1
  1178. package/dist/cache/memory-store.js +0 -191
  1179. package/dist/cache/memory-store.js.map +0 -1
  1180. package/dist/cache/types.d.ts +0 -317
  1181. package/dist/cache/types.d.ts.map +0 -1
  1182. package/dist/cache/types.js +0 -12
  1183. package/dist/cache/types.js.map +0 -1
  1184. package/dist/client.d.ts +0 -248
  1185. package/dist/client.d.ts.map +0 -1
  1186. package/dist/client.js +0 -367
  1187. package/dist/client.js.map +0 -1
  1188. package/dist/client.rsc.d.ts +0 -26
  1189. package/dist/client.rsc.d.ts.map +0 -1
  1190. package/dist/client.rsc.js +0 -46
  1191. package/dist/client.rsc.js.map +0 -1
  1192. package/dist/component-utils.d.ts +0 -36
  1193. package/dist/component-utils.d.ts.map +0 -1
  1194. package/dist/component-utils.js +0 -61
  1195. package/dist/component-utils.js.map +0 -1
  1196. package/dist/components/DefaultDocument.d.ts +0 -13
  1197. package/dist/components/DefaultDocument.d.ts.map +0 -1
  1198. package/dist/components/DefaultDocument.js +0 -15
  1199. package/dist/components/DefaultDocument.js.map +0 -1
  1200. package/dist/debug.d.ts +0 -58
  1201. package/dist/debug.d.ts.map +0 -1
  1202. package/dist/debug.js +0 -157
  1203. package/dist/debug.js.map +0 -1
  1204. package/dist/default-error-boundary.d.ts +0 -11
  1205. package/dist/default-error-boundary.d.ts.map +0 -1
  1206. package/dist/default-error-boundary.js +0 -45
  1207. package/dist/default-error-boundary.js.map +0 -1
  1208. package/dist/deps/browser.d.ts +0 -2
  1209. package/dist/deps/browser.d.ts.map +0 -1
  1210. package/dist/deps/browser.js +0 -3
  1211. package/dist/deps/browser.js.map +0 -1
  1212. package/dist/deps/html-stream-client.d.ts +0 -2
  1213. package/dist/deps/html-stream-client.d.ts.map +0 -1
  1214. package/dist/deps/html-stream-client.js +0 -3
  1215. package/dist/deps/html-stream-client.js.map +0 -1
  1216. package/dist/deps/html-stream-server.d.ts +0 -2
  1217. package/dist/deps/html-stream-server.d.ts.map +0 -1
  1218. package/dist/deps/html-stream-server.js +0 -3
  1219. package/dist/deps/html-stream-server.js.map +0 -1
  1220. package/dist/deps/rsc.d.ts +0 -2
  1221. package/dist/deps/rsc.d.ts.map +0 -1
  1222. package/dist/deps/rsc.js +0 -4
  1223. package/dist/deps/rsc.js.map +0 -1
  1224. package/dist/deps/ssr.d.ts +0 -2
  1225. package/dist/deps/ssr.d.ts.map +0 -1
  1226. package/dist/deps/ssr.js +0 -3
  1227. package/dist/deps/ssr.js.map +0 -1
  1228. package/dist/errors.d.ts +0 -174
  1229. package/dist/errors.d.ts.map +0 -1
  1230. package/dist/errors.js +0 -241
  1231. package/dist/errors.js.map +0 -1
  1232. package/dist/handle.d.ts +0 -78
  1233. package/dist/handle.d.ts.map +0 -1
  1234. package/dist/handle.js +0 -82
  1235. package/dist/handle.js.map +0 -1
  1236. package/dist/handles/MetaTags.d.ts +0 -14
  1237. package/dist/handles/MetaTags.d.ts.map +0 -1
  1238. package/dist/handles/MetaTags.js +0 -136
  1239. package/dist/handles/MetaTags.js.map +0 -1
  1240. package/dist/handles/index.d.ts +0 -6
  1241. package/dist/handles/index.d.ts.map +0 -1
  1242. package/dist/handles/index.js +0 -6
  1243. package/dist/handles/index.js.map +0 -1
  1244. package/dist/handles/meta.d.ts +0 -39
  1245. package/dist/handles/meta.d.ts.map +0 -1
  1246. package/dist/handles/meta.js +0 -202
  1247. package/dist/handles/meta.js.map +0 -1
  1248. package/dist/host/__tests__/errors.test.d.ts +0 -2
  1249. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  1250. package/dist/host/__tests__/errors.test.js +0 -76
  1251. package/dist/host/__tests__/errors.test.js.map +0 -1
  1252. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  1253. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  1254. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  1255. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  1256. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  1257. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  1258. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  1259. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  1260. package/dist/host/__tests__/router.test.d.ts +0 -2
  1261. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  1262. package/dist/host/__tests__/router.test.js +0 -241
  1263. package/dist/host/__tests__/router.test.js.map +0 -1
  1264. package/dist/host/__tests__/testing.test.d.ts +0 -2
  1265. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  1266. package/dist/host/__tests__/testing.test.js +0 -64
  1267. package/dist/host/__tests__/testing.test.js.map +0 -1
  1268. package/dist/host/__tests__/utils.test.d.ts +0 -2
  1269. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  1270. package/dist/host/__tests__/utils.test.js +0 -29
  1271. package/dist/host/__tests__/utils.test.js.map +0 -1
  1272. package/dist/host/cookie-handler.d.ts +0 -34
  1273. package/dist/host/cookie-handler.d.ts.map +0 -1
  1274. package/dist/host/cookie-handler.js +0 -124
  1275. package/dist/host/cookie-handler.js.map +0 -1
  1276. package/dist/host/errors.d.ts +0 -56
  1277. package/dist/host/errors.d.ts.map +0 -1
  1278. package/dist/host/errors.js +0 -79
  1279. package/dist/host/errors.js.map +0 -1
  1280. package/dist/host/index.d.ts +0 -29
  1281. package/dist/host/index.d.ts.map +0 -1
  1282. package/dist/host/index.js +0 -32
  1283. package/dist/host/index.js.map +0 -1
  1284. package/dist/host/pattern-matcher.d.ts +0 -36
  1285. package/dist/host/pattern-matcher.d.ts.map +0 -1
  1286. package/dist/host/pattern-matcher.js +0 -172
  1287. package/dist/host/pattern-matcher.js.map +0 -1
  1288. package/dist/host/router.d.ts +0 -26
  1289. package/dist/host/router.d.ts.map +0 -1
  1290. package/dist/host/router.js +0 -218
  1291. package/dist/host/router.js.map +0 -1
  1292. package/dist/host/testing.d.ts +0 -36
  1293. package/dist/host/testing.d.ts.map +0 -1
  1294. package/dist/host/testing.js +0 -55
  1295. package/dist/host/testing.js.map +0 -1
  1296. package/dist/host/types.d.ts +0 -115
  1297. package/dist/host/types.d.ts.map +0 -1
  1298. package/dist/host/types.js +0 -7
  1299. package/dist/host/types.js.map +0 -1
  1300. package/dist/host/utils.d.ts +0 -21
  1301. package/dist/host/utils.d.ts.map +0 -1
  1302. package/dist/host/utils.js +0 -23
  1303. package/dist/host/utils.js.map +0 -1
  1304. package/dist/href-client.d.ts +0 -131
  1305. package/dist/href-client.d.ts.map +0 -1
  1306. package/dist/href-client.js +0 -64
  1307. package/dist/href-client.js.map +0 -1
  1308. package/dist/href-context.d.ts +0 -29
  1309. package/dist/href-context.d.ts.map +0 -1
  1310. package/dist/href-context.js +0 -21
  1311. package/dist/href-context.js.map +0 -1
  1312. package/dist/index.d.ts +0 -73
  1313. package/dist/index.d.ts.map +0 -1
  1314. package/dist/index.js +0 -91
  1315. package/dist/index.js.map +0 -1
  1316. package/dist/index.rsc.d.ts +0 -32
  1317. package/dist/index.rsc.d.ts.map +0 -1
  1318. package/dist/index.rsc.js +0 -40
  1319. package/dist/index.rsc.js.map +0 -1
  1320. package/dist/internal-debug.d.ts +0 -2
  1321. package/dist/internal-debug.d.ts.map +0 -1
  1322. package/dist/internal-debug.js +0 -5
  1323. package/dist/internal-debug.js.map +0 -1
  1324. package/dist/loader.d.ts +0 -14
  1325. package/dist/loader.d.ts.map +0 -1
  1326. package/dist/loader.js +0 -20
  1327. package/dist/loader.js.map +0 -1
  1328. package/dist/loader.rsc.d.ts +0 -19
  1329. package/dist/loader.rsc.d.ts.map +0 -1
  1330. package/dist/loader.rsc.js +0 -99
  1331. package/dist/loader.rsc.js.map +0 -1
  1332. package/dist/network-error-thrower.d.ts +0 -17
  1333. package/dist/network-error-thrower.d.ts.map +0 -1
  1334. package/dist/network-error-thrower.js +0 -14
  1335. package/dist/network-error-thrower.js.map +0 -1
  1336. package/dist/outlet-context.d.ts +0 -13
  1337. package/dist/outlet-context.d.ts.map +0 -1
  1338. package/dist/outlet-context.js +0 -3
  1339. package/dist/outlet-context.js.map +0 -1
  1340. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  1341. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  1342. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  1343. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  1344. package/dist/prerender/param-hash.d.ts +0 -16
  1345. package/dist/prerender/param-hash.d.ts.map +0 -1
  1346. package/dist/prerender/param-hash.js +0 -36
  1347. package/dist/prerender/param-hash.js.map +0 -1
  1348. package/dist/prerender/store.d.ts +0 -38
  1349. package/dist/prerender/store.d.ts.map +0 -1
  1350. package/dist/prerender/store.js +0 -61
  1351. package/dist/prerender/store.js.map +0 -1
  1352. package/dist/prerender.d.ts +0 -66
  1353. package/dist/prerender.d.ts.map +0 -1
  1354. package/dist/prerender.js +0 -57
  1355. package/dist/prerender.js.map +0 -1
  1356. package/dist/reverse.d.ts +0 -196
  1357. package/dist/reverse.d.ts.map +0 -1
  1358. package/dist/reverse.js +0 -78
  1359. package/dist/reverse.js.map +0 -1
  1360. package/dist/root-error-boundary.d.ts +0 -33
  1361. package/dist/root-error-boundary.d.ts.map +0 -1
  1362. package/dist/root-error-boundary.js +0 -165
  1363. package/dist/root-error-boundary.js.map +0 -1
  1364. package/dist/route-content-wrapper.d.ts +0 -46
  1365. package/dist/route-content-wrapper.d.ts.map +0 -1
  1366. package/dist/route-content-wrapper.js +0 -77
  1367. package/dist/route-content-wrapper.js.map +0 -1
  1368. package/dist/route-definition.d.ts +0 -421
  1369. package/dist/route-definition.d.ts.map +0 -1
  1370. package/dist/route-definition.js +0 -868
  1371. package/dist/route-definition.js.map +0 -1
  1372. package/dist/route-map-builder.d.ts +0 -155
  1373. package/dist/route-map-builder.d.ts.map +0 -1
  1374. package/dist/route-map-builder.js +0 -237
  1375. package/dist/route-map-builder.js.map +0 -1
  1376. package/dist/route-types.d.ts +0 -165
  1377. package/dist/route-types.d.ts.map +0 -1
  1378. package/dist/route-types.js +0 -7
  1379. package/dist/route-types.js.map +0 -1
  1380. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  1381. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  1382. package/dist/router/__tests__/handler-context.test.js +0 -65
  1383. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  1384. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  1385. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  1386. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  1387. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  1388. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  1389. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  1390. package/dist/router/__tests__/match-context.test.js +0 -92
  1391. package/dist/router/__tests__/match-context.test.js.map +0 -1
  1392. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  1393. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  1394. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  1395. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  1396. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  1397. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  1398. package/dist/router/__tests__/match-result.test.js +0 -457
  1399. package/dist/router/__tests__/match-result.test.js.map +0 -1
  1400. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  1401. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  1402. package/dist/router/__tests__/on-error.test.js +0 -678
  1403. package/dist/router/__tests__/on-error.test.js.map +0 -1
  1404. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  1405. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  1406. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  1407. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  1408. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  1409. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  1410. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  1411. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  1412. package/dist/router/error-handling.d.ts +0 -77
  1413. package/dist/router/error-handling.d.ts.map +0 -1
  1414. package/dist/router/error-handling.js +0 -202
  1415. package/dist/router/error-handling.js.map +0 -1
  1416. package/dist/router/handler-context.d.ts +0 -20
  1417. package/dist/router/handler-context.d.ts.map +0 -1
  1418. package/dist/router/handler-context.js +0 -198
  1419. package/dist/router/handler-context.js.map +0 -1
  1420. package/dist/router/intercept-resolution.d.ts +0 -66
  1421. package/dist/router/intercept-resolution.d.ts.map +0 -1
  1422. package/dist/router/intercept-resolution.js +0 -246
  1423. package/dist/router/intercept-resolution.js.map +0 -1
  1424. package/dist/router/loader-resolution.d.ts +0 -64
  1425. package/dist/router/loader-resolution.d.ts.map +0 -1
  1426. package/dist/router/loader-resolution.js +0 -284
  1427. package/dist/router/loader-resolution.js.map +0 -1
  1428. package/dist/router/logging.d.ts +0 -15
  1429. package/dist/router/logging.d.ts.map +0 -1
  1430. package/dist/router/logging.js +0 -99
  1431. package/dist/router/logging.js.map +0 -1
  1432. package/dist/router/manifest.d.ts +0 -22
  1433. package/dist/router/manifest.d.ts.map +0 -1
  1434. package/dist/router/manifest.js +0 -181
  1435. package/dist/router/manifest.js.map +0 -1
  1436. package/dist/router/match-api.d.ts +0 -35
  1437. package/dist/router/match-api.d.ts.map +0 -1
  1438. package/dist/router/match-api.js +0 -406
  1439. package/dist/router/match-api.js.map +0 -1
  1440. package/dist/router/match-context.d.ts +0 -206
  1441. package/dist/router/match-context.d.ts.map +0 -1
  1442. package/dist/router/match-context.js +0 -17
  1443. package/dist/router/match-context.js.map +0 -1
  1444. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  1445. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  1446. package/dist/router/match-middleware/background-revalidation.js +0 -75
  1447. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  1448. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  1449. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  1450. package/dist/router/match-middleware/cache-lookup.js +0 -257
  1451. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  1452. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  1453. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  1454. package/dist/router/match-middleware/cache-store.js +0 -108
  1455. package/dist/router/match-middleware/cache-store.js.map +0 -1
  1456. package/dist/router/match-middleware/index.d.ts +0 -81
  1457. package/dist/router/match-middleware/index.d.ts.map +0 -1
  1458. package/dist/router/match-middleware/index.js +0 -80
  1459. package/dist/router/match-middleware/index.js.map +0 -1
  1460. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  1461. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  1462. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  1463. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  1464. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  1465. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  1466. package/dist/router/match-middleware/segment-resolution.js +0 -53
  1467. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  1468. package/dist/router/match-pipelines.d.ts +0 -147
  1469. package/dist/router/match-pipelines.d.ts.map +0 -1
  1470. package/dist/router/match-pipelines.js +0 -82
  1471. package/dist/router/match-pipelines.js.map +0 -1
  1472. package/dist/router/match-result.d.ts +0 -126
  1473. package/dist/router/match-result.d.ts.map +0 -1
  1474. package/dist/router/match-result.js +0 -93
  1475. package/dist/router/match-result.js.map +0 -1
  1476. package/dist/router/metrics.d.ts +0 -20
  1477. package/dist/router/metrics.d.ts.map +0 -1
  1478. package/dist/router/metrics.js +0 -47
  1479. package/dist/router/metrics.js.map +0 -1
  1480. package/dist/router/middleware.d.ts +0 -249
  1481. package/dist/router/middleware.d.ts.map +0 -1
  1482. package/dist/router/middleware.js +0 -434
  1483. package/dist/router/middleware.js.map +0 -1
  1484. package/dist/router/middleware.test.d.ts +0 -2
  1485. package/dist/router/middleware.test.d.ts.map +0 -1
  1486. package/dist/router/middleware.test.js +0 -816
  1487. package/dist/router/middleware.test.js.map +0 -1
  1488. package/dist/router/pattern-matching.d.ts +0 -149
  1489. package/dist/router/pattern-matching.d.ts.map +0 -1
  1490. package/dist/router/pattern-matching.js +0 -349
  1491. package/dist/router/pattern-matching.js.map +0 -1
  1492. package/dist/router/revalidation.d.ts +0 -44
  1493. package/dist/router/revalidation.d.ts.map +0 -1
  1494. package/dist/router/revalidation.js +0 -147
  1495. package/dist/router/revalidation.js.map +0 -1
  1496. package/dist/router/router-context.d.ts +0 -135
  1497. package/dist/router/router-context.d.ts.map +0 -1
  1498. package/dist/router/router-context.js +0 -36
  1499. package/dist/router/router-context.js.map +0 -1
  1500. package/dist/router/segment-resolution.d.ts +0 -127
  1501. package/dist/router/segment-resolution.d.ts.map +0 -1
  1502. package/dist/router/segment-resolution.js +0 -919
  1503. package/dist/router/segment-resolution.js.map +0 -1
  1504. package/dist/router/trie-matching.d.ts +0 -40
  1505. package/dist/router/trie-matching.d.ts.map +0 -1
  1506. package/dist/router/trie-matching.js +0 -127
  1507. package/dist/router/trie-matching.js.map +0 -1
  1508. package/dist/router/types.d.ts +0 -136
  1509. package/dist/router/types.d.ts.map +0 -1
  1510. package/dist/router/types.js +0 -7
  1511. package/dist/router/types.js.map +0 -1
  1512. package/dist/router.d.ts +0 -753
  1513. package/dist/router.d.ts.map +0 -1
  1514. package/dist/router.gen.d.ts +0 -6
  1515. package/dist/router.gen.d.ts.map +0 -1
  1516. package/dist/router.gen.js +0 -6
  1517. package/dist/router.gen.js.map +0 -1
  1518. package/dist/router.js +0 -1304
  1519. package/dist/router.js.map +0 -1
  1520. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  1521. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  1522. package/dist/rsc/__tests__/helpers.test.js +0 -140
  1523. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  1524. package/dist/rsc/handler.d.ts +0 -45
  1525. package/dist/rsc/handler.d.ts.map +0 -1
  1526. package/dist/rsc/handler.js +0 -1172
  1527. package/dist/rsc/handler.js.map +0 -1
  1528. package/dist/rsc/helpers.d.ts +0 -16
  1529. package/dist/rsc/helpers.d.ts.map +0 -1
  1530. package/dist/rsc/helpers.js +0 -55
  1531. package/dist/rsc/helpers.js.map +0 -1
  1532. package/dist/rsc/index.d.ts +0 -22
  1533. package/dist/rsc/index.d.ts.map +0 -1
  1534. package/dist/rsc/index.js +0 -23
  1535. package/dist/rsc/index.js.map +0 -1
  1536. package/dist/rsc/nonce.d.ts +0 -9
  1537. package/dist/rsc/nonce.d.ts.map +0 -1
  1538. package/dist/rsc/nonce.js +0 -18
  1539. package/dist/rsc/nonce.js.map +0 -1
  1540. package/dist/rsc/types.d.ts +0 -206
  1541. package/dist/rsc/types.d.ts.map +0 -1
  1542. package/dist/rsc/types.js +0 -8
  1543. package/dist/rsc/types.js.map +0 -1
  1544. package/dist/search-params.d.ts +0 -103
  1545. package/dist/search-params.d.ts.map +0 -1
  1546. package/dist/search-params.js +0 -74
  1547. package/dist/search-params.js.map +0 -1
  1548. package/dist/segment-system.d.ts +0 -75
  1549. package/dist/segment-system.d.ts.map +0 -1
  1550. package/dist/segment-system.js +0 -336
  1551. package/dist/segment-system.js.map +0 -1
  1552. package/dist/server/context.d.ts +0 -245
  1553. package/dist/server/context.d.ts.map +0 -1
  1554. package/dist/server/context.js +0 -197
  1555. package/dist/server/context.js.map +0 -1
  1556. package/dist/server/fetchable-loader-store.d.ts +0 -18
  1557. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  1558. package/dist/server/fetchable-loader-store.js +0 -18
  1559. package/dist/server/fetchable-loader-store.js.map +0 -1
  1560. package/dist/server/handle-store.d.ts +0 -85
  1561. package/dist/server/handle-store.d.ts.map +0 -1
  1562. package/dist/server/handle-store.js +0 -142
  1563. package/dist/server/handle-store.js.map +0 -1
  1564. package/dist/server/loader-registry.d.ts +0 -55
  1565. package/dist/server/loader-registry.d.ts.map +0 -1
  1566. package/dist/server/loader-registry.js +0 -132
  1567. package/dist/server/loader-registry.js.map +0 -1
  1568. package/dist/server/request-context.d.ts +0 -226
  1569. package/dist/server/request-context.d.ts.map +0 -1
  1570. package/dist/server/request-context.js +0 -290
  1571. package/dist/server/request-context.js.map +0 -1
  1572. package/dist/server/root-layout.d.ts +0 -4
  1573. package/dist/server/root-layout.d.ts.map +0 -1
  1574. package/dist/server/root-layout.js +0 -5
  1575. package/dist/server/root-layout.js.map +0 -1
  1576. package/dist/server.d.ts +0 -15
  1577. package/dist/server.d.ts.map +0 -1
  1578. package/dist/server.js +0 -20
  1579. package/dist/server.js.map +0 -1
  1580. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  1581. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  1582. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  1583. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  1584. package/dist/ssr/index.d.ts +0 -98
  1585. package/dist/ssr/index.d.ts.map +0 -1
  1586. package/dist/ssr/index.js +0 -158
  1587. package/dist/ssr/index.js.map +0 -1
  1588. package/dist/static-handler.d.ts +0 -50
  1589. package/dist/static-handler.d.ts.map +0 -1
  1590. package/dist/static-handler.gen.d.ts +0 -5
  1591. package/dist/static-handler.gen.d.ts.map +0 -1
  1592. package/dist/static-handler.gen.js +0 -5
  1593. package/dist/static-handler.gen.js.map +0 -1
  1594. package/dist/static-handler.js +0 -29
  1595. package/dist/static-handler.js.map +0 -1
  1596. package/dist/theme/ThemeProvider.d.ts +0 -20
  1597. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  1598. package/dist/theme/ThemeProvider.js +0 -240
  1599. package/dist/theme/ThemeProvider.js.map +0 -1
  1600. package/dist/theme/ThemeScript.d.ts +0 -48
  1601. package/dist/theme/ThemeScript.d.ts.map +0 -1
  1602. package/dist/theme/ThemeScript.js +0 -13
  1603. package/dist/theme/ThemeScript.js.map +0 -1
  1604. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  1605. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  1606. package/dist/theme/__tests__/theme.test.js +0 -103
  1607. package/dist/theme/__tests__/theme.test.js.map +0 -1
  1608. package/dist/theme/constants.d.ts +0 -29
  1609. package/dist/theme/constants.d.ts.map +0 -1
  1610. package/dist/theme/constants.js +0 -48
  1611. package/dist/theme/constants.js.map +0 -1
  1612. package/dist/theme/index.d.ts +0 -31
  1613. package/dist/theme/index.d.ts.map +0 -1
  1614. package/dist/theme/index.js +0 -36
  1615. package/dist/theme/index.js.map +0 -1
  1616. package/dist/theme/theme-context.d.ts +0 -40
  1617. package/dist/theme/theme-context.d.ts.map +0 -1
  1618. package/dist/theme/theme-context.js +0 -60
  1619. package/dist/theme/theme-context.js.map +0 -1
  1620. package/dist/theme/theme-script.d.ts +0 -27
  1621. package/dist/theme/theme-script.d.ts.map +0 -1
  1622. package/dist/theme/theme-script.js +0 -147
  1623. package/dist/theme/theme-script.js.map +0 -1
  1624. package/dist/theme/types.d.ts +0 -163
  1625. package/dist/theme/types.d.ts.map +0 -1
  1626. package/dist/theme/types.js +0 -11
  1627. package/dist/theme/types.js.map +0 -1
  1628. package/dist/theme/use-theme.d.ts +0 -12
  1629. package/dist/theme/use-theme.d.ts.map +0 -1
  1630. package/dist/theme/use-theme.js +0 -40
  1631. package/dist/theme/use-theme.js.map +0 -1
  1632. package/dist/types.d.ts +0 -1479
  1633. package/dist/types.d.ts.map +0 -1
  1634. package/dist/types.js +0 -10
  1635. package/dist/types.js.map +0 -1
  1636. package/dist/urls.d.ts +0 -441
  1637. package/dist/urls.d.ts.map +0 -1
  1638. package/dist/urls.gen.d.ts +0 -8
  1639. package/dist/urls.gen.d.ts.map +0 -1
  1640. package/dist/urls.gen.js +0 -8
  1641. package/dist/urls.gen.js.map +0 -1
  1642. package/dist/urls.js +0 -443
  1643. package/dist/urls.js.map +0 -1
  1644. package/dist/use-loader.d.ts +0 -127
  1645. package/dist/use-loader.d.ts.map +0 -1
  1646. package/dist/use-loader.js +0 -237
  1647. package/dist/use-loader.js.map +0 -1
  1648. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  1649. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  1650. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  1651. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  1652. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  1653. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  1654. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  1655. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  1656. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  1657. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  1658. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  1659. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  1660. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  1661. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  1662. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  1663. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  1664. package/dist/vite/ast-handler-extract.d.ts +0 -49
  1665. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  1666. package/dist/vite/ast-handler-extract.js +0 -249
  1667. package/dist/vite/ast-handler-extract.js.map +0 -1
  1668. package/dist/vite/expose-action-id.d.ts +0 -19
  1669. package/dist/vite/expose-action-id.d.ts.map +0 -1
  1670. package/dist/vite/expose-action-id.js +0 -250
  1671. package/dist/vite/expose-action-id.js.map +0 -1
  1672. package/dist/vite/expose-id-utils.d.ts +0 -69
  1673. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  1674. package/dist/vite/expose-id-utils.js +0 -289
  1675. package/dist/vite/expose-id-utils.js.map +0 -1
  1676. package/dist/vite/expose-internal-ids.d.ts +0 -22
  1677. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  1678. package/dist/vite/expose-internal-ids.js +0 -886
  1679. package/dist/vite/expose-internal-ids.js.map +0 -1
  1680. package/dist/vite/index.d.ts +0 -149
  1681. package/dist/vite/index.d.ts.map +0 -1
  1682. package/dist/vite/index.js.map +0 -1
  1683. package/dist/vite/index.named-routes.gen.ts +0 -103
  1684. package/dist/vite/package-resolution.d.ts +0 -43
  1685. package/dist/vite/package-resolution.d.ts.map +0 -1
  1686. package/dist/vite/package-resolution.js +0 -112
  1687. package/dist/vite/package-resolution.js.map +0 -1
  1688. package/dist/vite/virtual-entries.d.ts +0 -25
  1689. package/dist/vite/virtual-entries.d.ts.map +0 -1
  1690. package/dist/vite/virtual-entries.js +0 -110
  1691. package/dist/vite/virtual-entries.js.map +0 -1
  1692. package/src/browser/action-response-classifier.ts +0 -99
  1693. package/src/browser/react/use-client-cache.ts +0 -58
  1694. package/src/browser/shallow.ts +0 -40
  1695. package/src/handles/index.ts +0 -7
  1696. package/src/network-error-thrower.tsx +0 -23
  1697. package/src/router/middleware-cookies.ts +0 -55
@@ -1,16 +1,25 @@
1
1
  ---
2
2
  name: links
3
- description: URL generation with ctx.reverse (server), href (client), useHref (mounted), useMount, and scopedReverse
4
- argument-hint: [href|useHref|useMount|scopedReverse]
3
+ description: URL generation with ctx.reverse (server default), href (client), useHref (mounted), useMount, useReverse, and scopedReverse. Use when generating a link to a route by name instead of hardcoding a path, or a link breaks after routes move or get mounted elsewhere.
4
+ argument-hint: [ctx.reverse|href|useHref|useMount|useReverse|scopedReverse]
5
5
  ---
6
6
 
7
7
  # Links & URL Generation
8
8
 
9
9
  @rangojs/router provides different href APIs for server and client contexts.
10
10
 
11
+ **Default server API: `ctx.reverse()`.** Generate URLs from the handler context — it's typed, auto-fills mount params, and resolves local (`.name`) and absolute (`name.sub`) names.
12
+
13
+ **On the client, two patterns:**
14
+
15
+ 1. **Receive URLs as props / loader data / action return.** The default. The server has the full route manifest and handler context — generate URLs there and hand strings to client components.
16
+ 2. **`useReverse(routes)`.** Import a generated `routes` map from a `urls()` module's `.gen.ts` and call `reverse("name", params?)` (the leading dot is optional). Mount-aware via `useMount()`, auto-fills params from `useParams()`, fully typed from the imported map. Use this when a client component needs to generate URLs into a known module without round-tripping through the server.
17
+
18
+ `ctx.reverse()` itself is **server-only** — it depends on the full route manifest and handler context. Client components never import or call it.
19
+
11
20
  ## Server: ctx.reverse()
12
21
 
13
- Available in route handlers via HandlerContext. Resolves named routes using the full route map.
22
+ Available in route handlers via HandlerContext. Resolves named routes using the full route map. This is the default way to generate URLs on the server.
14
23
 
15
24
  ```typescript
16
25
  import { urls, scopedReverse } from "@rangojs/router";
@@ -29,6 +38,18 @@ export const shopPatterns = urls(({ path, layout }) => [
29
38
  - **`.name`** — local route, resolved within the current `include()` scope
30
39
  - **`name`** — global route, from the named-routes definition
31
40
 
41
+ The include site decides which global names exist:
42
+
43
+ | Include site | App-wide names |
44
+ | -------------------------------------------------- | -------------------------------------------------- |
45
+ | `include("/shop", shopPatterns)` | none from the child; use `.name` inside the module |
46
+ | `include("/shop", shopPatterns, { name: "shop" })` | `shop.index`, `shop.product`, ... |
47
+ | `include("/shop", shopPatterns, { name: "" })` | `index`, `product`, ... at the parent scope |
48
+
49
+ Flatten only when those names are intentionally unique across the whole parent
50
+ map. Private includes are useful for reusable modules and still support
51
+ mount-aware dot-local reversal.
52
+
32
53
  ```typescript
33
54
  // Inside a handler within shopPatterns (mounted at /shop)
34
55
  path("/product/:slug", (ctx) => {
@@ -103,7 +124,7 @@ path("/search", (ctx) => {
103
124
 
104
125
  ### scopedReverse() - type-safe ctx.reverse
105
126
 
106
- Wraps `ctx.reverse` with local route type information for autocomplete and validation:
127
+ Wraps `ctx.reverse` with local route type information for autocomplete and validation. Runtime behavior is identical to `ctx.reverse` — `scopedReverse` is a type-only cast. The same dot-prefix rule applies: local names use `.name`, global names use `name.sub`.
107
128
 
108
129
  ```typescript
109
130
  import { scopedReverse } from "@rangojs/router";
@@ -111,18 +132,83 @@ import { scopedReverse } from "@rangojs/router";
111
132
  path("/product/:slug", (ctx) => {
112
133
  const reverse = scopedReverse<typeof shopPatterns>(ctx.reverse);
113
134
 
114
- reverse("cart"); // Type-safe local name
115
- reverse("product", { slug: "widget" }); // Type-safe with params
116
- reverse("blog.post"); // Absolute names (dot notation) always allowed
117
- reverse("/about"); // Path-based always allowed
135
+ reverse(".cart"); // Local name (dot-prefixed) — resolves in include scope
136
+ reverse(".product", { slug: "widget" }); // Local name with params
137
+ reverse("blog.post", { slug: "hi" }); // Global name (dotted) — full route map
118
138
 
119
139
  return <ProductPage slug={ctx.params.slug} />;
120
140
  }, { name: "product" })
121
141
  ```
122
142
 
143
+ `reverse()` does not accept raw path strings (`"/about"`). For static paths in client components, use `href("/about")`; on the server, look up the route by name.
144
+
145
+ ## Client components: receive URLs as props
146
+
147
+ `ctx.reverse()` is not available inside `"use client"` modules — there is no handler context in the browser bundle. For in-module names, prefer `useReverse(routes)` (see below) and import the relevant `urls/*.gen.js`. For cross-module URLs or one-off names, generate the URL on the server and hand it to the client component using one of these three patterns:
148
+
149
+ 1. Pass as a prop from a server component:
150
+
151
+ ```tsx
152
+ // server
153
+ function BlogPostPage(ctx: HandlerContext) {
154
+ return <ShareButton url={ctx.reverse(".post", { slug: ctx.params.slug })} />;
155
+ }
156
+ ```
157
+
158
+ ```tsx
159
+ "use client";
160
+
161
+ export function ShareButton({ url }: { url: string }) {
162
+ return (
163
+ <button onClick={() => navigator.clipboard.writeText(url)}>Share</button>
164
+ );
165
+ }
166
+ ```
167
+
168
+ 2. Return from a loader (attached to the route via the DSL):
169
+
170
+ ```tsx
171
+ // server — loaders/nav.ts
172
+ export const NavLoader = createLoader((ctx) => ({
173
+ home: ctx.reverse("home"),
174
+ blog: ctx.reverse("blog.index"),
175
+ }));
176
+
177
+ // server — urls.tsx: attach the loader so useLoader has data in context
178
+ const urlpatterns = urls(({ path, loader }) => [
179
+ path("/", HomePage, { name: "home" }, () => [loader(NavLoader)]),
180
+ ]);
181
+ ```
182
+
183
+ ```tsx
184
+ "use client";
185
+
186
+ function Nav() {
187
+ const { data } = useLoader(NavLoader);
188
+ return <Link to={data.home}>Home</Link>;
189
+ }
190
+ ```
191
+
192
+ `useLoader()` requires the loader to be attached to an active route. If you need on-demand fetching instead, use `useFetchLoader()`.
193
+
194
+ 3. Return from a server action:
195
+
196
+ ```tsx
197
+ "use server";
198
+
199
+ export async function getProductUrl(slug: string) {
200
+ const ctx = getRequestContext();
201
+ return ctx.reverse("product", { slug });
202
+ }
203
+ ```
204
+
205
+ See `/server-actions` for the full action surface (`getRequestContext()` is the same context middleware and handlers use).
206
+
207
+ For static path strings (not named routes), client components can use `href()` — see below.
208
+
123
209
  ## Client: href()
124
210
 
125
- Plain function for absolute path-based URLs. No hook needed - works anywhere.
211
+ Plain function for absolute path-based URLs. No hook needed - works anywhere in client components. `href()` validates paths at compile time, but does **not** resolve named routes — for named routes, use one of the patterns above.
126
212
 
127
213
  ```typescript
128
214
  "use client";
@@ -139,7 +225,19 @@ function GlobalNav() {
139
225
  }
140
226
  ```
141
227
 
142
- `href()` is an identity function at runtime but provides compile-time validation via `ValidPaths` type. Paths are validated against registered route patterns using `PatternToPath`.
228
+ `href()` provides compile-time validation via the `Rango.Path` type. Paths are validated against registered route patterns using `PatternToPath`.
229
+
230
+ When wrapping `href()`, type the wrapper's path parameter as `Rango.Path` so it
231
+ keeps the same generated-route validation. `Rango.Path` is ambient — no import,
232
+ just like `Rango.Env` / `Rango.Vars`:
233
+
234
+ ```typescript
235
+ import { href } from "@rangojs/router/client";
236
+
237
+ export const appHref = (path: Rango.Path): string => href(path);
238
+ ```
239
+
240
+ `href()` is a raw path helper — it is **not** basename-aware. It returns the path as-is (or with the include mount prefix via `useHref()`). For basename-aware navigation, use `Link`, `useRouter().push()`, or `reverse()`, which auto-prefix root-relative paths with the router's basename.
143
241
 
144
242
  ## Client: useHref()
145
243
 
@@ -183,15 +281,185 @@ function MountInfo() {
183
281
 
184
282
  `useMount()` reads from `MountContext`, which is automatically set by `include()` in the segment tree.
185
283
 
284
+ ## Client: useReverse(routes)
285
+
286
+ Hook that returns a typed local reverse function for a `routes` map imported from a generated `.gen.ts` next to a `urls()` module. The route map is the **exposure boundary** — `useReverse` only knows about names in that map, never the full app manifest.
287
+
288
+ > **Which map?** `useReverse` accepts any routes map. Prefer the per-module `routes` (e.g. `urls/blog.gen.ts`): it gives **mount-aware** local `.name` reverse (auto-prefixes the `include()` mount) and only that module's names enter the client bundle. You _can_ instead pass `router.named-routes.gen.ts` (`NamedRoutes`) for **global** names (`blog.post`; the leading dot is optional) — it is a plain importable map and works on the client (it is **not** server-only) — but its paths are **absolute** while `useReverse` mount-prefixes, so it is correct only at the root mount (under a non-root mount it double-prefixes), and importing it pulls every route name and pattern in the app into the client bundle (a small names-to-paths map — not components or loaders), versus the per-module map which exposes only one module's names. So the per-module map is preferred for in-module links; the named-routes map is the escape hatch for global names.
289
+
290
+ ```tsx
291
+ "use client";
292
+ import { Link, useReverse } from "@rangojs/router/client";
293
+ import { routes as blogRoutes } from "../urls/blog.gen.js";
294
+
295
+ export function BlogNav() {
296
+ const reverse = useReverse(blogRoutes);
297
+
298
+ return (
299
+ <nav>
300
+ <Link to={reverse("index")}>Blog</Link>
301
+ <Link to={reverse("post", { postId: "hello" })}>Post</Link>
302
+ </nav>
303
+ );
304
+ }
305
+ ```
306
+
307
+ ### How it resolves
308
+
309
+ 1. Strips an optional leading `.` and looks up the name in the imported `routes` map.
310
+ 2. Joins the local pattern with the surrounding `useMount()` value — the include's URL pattern.
311
+ 3. Substitutes params: explicit params from the call, then auto-filled from `useParams()` for anything still unresolved (mount params like `:tenantId` flow in this way).
312
+ 4. Appends a query string if a search object is passed and the route has a `search` schema.
313
+
314
+ ### Mount-relativity
315
+
316
+ Patterns in the generated `routes` map are **mount-relative** — they're the patterns as defined inside the `urls()` module, _not_ the full app paths. Mount-joining happens at runtime via `useMount()`, so the same component works under any include:
317
+
318
+ ```typescript
319
+ // urls/blog.tsx
320
+ export const blogPatterns = urls(({ path }) => [
321
+ path("/", BlogIndex, { name: "index" }),
322
+ path("/:postId", BlogPost, { name: "post" }),
323
+ ]);
324
+
325
+ // Generated urls/blog.gen.ts
326
+ // export const routes = { index: "/", post: "/:postId" } as const;
327
+
328
+ // urls.tsx — same module mounted twice
329
+ include("/news", blogPatterns, { name: "news" }), // <BlogNav> renders /news, /news/hello
330
+ include("/journal", blogPatterns, { name: "diary" }), // <BlogNav> renders /journal, /journal/hello
331
+ ```
332
+
333
+ The `/` pattern under a non-root mount collapses cleanly: under `/news`, `reverse(".index")` returns `/news` (no trailing slash), matching `ctx.reverse(".index")` on the server.
334
+
335
+ ### Auto-filled params (mount params)
336
+
337
+ When the include itself carries `:params`, those are auto-filled from `useParams()` so the caller doesn't have to thread them through:
338
+
339
+ ```typescript
340
+ // urls.tsx
341
+ include("/tenant/:tenantId", clientReversePatterns, { name: "tenant" });
342
+ ```
343
+
344
+ ```tsx
345
+ // At /tenant/acme/posts/p1, useParams() = { tenantId: "acme", postId: "p1" }
346
+ const reverse = useReverse(clientReverseRoutes);
347
+
348
+ reverse(".index"); // "/tenant/acme"
349
+ reverse(".post", { postId: "p2" }); // "/tenant/acme/posts/p2" (tenantId auto-filled)
350
+ reverse(".post", { tenantId: "other", postId: "p2" }); // "/tenant/other/posts/p2" (explicit override)
351
+ ```
352
+
353
+ Auto-fill follows soft navigation — when the matched route changes, `useReverse` re-renders with the new params.
354
+
355
+ ### Search schemas
356
+
357
+ Routes declared with a `search` schema accept a typed search object as the third argument:
358
+
359
+ ```typescript
360
+ // urls/blog.tsx
361
+ path("/search", SearchPage, {
362
+ name: "search",
363
+ search: { q: "string", page: "number?" },
364
+ }),
365
+
366
+ // Generated as: search: { path: "/search", search: { q: "string", page: "number?" } }
367
+ ```
368
+
369
+ ```tsx
370
+ const reverse = useReverse(blogRoutes);
371
+ reverse(".search", {}, { q: "hello world", page: 2 });
372
+ // "/news/search?q=hello%20world&page=2"
373
+ ```
374
+
375
+ ### Errors
376
+
377
+ - Unknown name: throws `Unknown route: ".not-a-route"`.
378
+ - Missing required param: throws `Missing param "postId" for route ".detail"`.
379
+
380
+ Both happen synchronously during `reverse()` — wrap calls in try/catch (or an ErrorBoundary if the throw happens during render) when you need to surface them as UI.
381
+
382
+ ### The leading dot is optional
383
+
384
+ `reverse("post")` and `reverse(".post")` resolve **identically** — the leading dot is cosmetic. The map you import IS the scope, so there is no separate global namespace to disambiguate and the dot carries no meaning; it exists only as a readability convention and for parity with `ctx.reverse(".name")` on the server. To link into a different module, import that module's `routes`:
385
+
386
+ ```tsx
387
+ import { routes as blogRoutes } from "../urls/blog.gen.js";
388
+ import { routes as shopRoutes } from "../urls/shop.gen.js";
389
+
390
+ function CrossNav() {
391
+ const blog = useReverse(blogRoutes);
392
+ const shop = useReverse(shopRoutes);
393
+ return (
394
+ <nav>
395
+ <Link to={blog("index")}>Blog</Link>
396
+ <Link to={shop("cart")}>Cart</Link>
397
+ </nav>
398
+ );
399
+ }
400
+ ```
401
+
402
+ ### Codegen
403
+
404
+ Each `urls()` module gets a sibling `.gen.ts` with the local route names and patterns, produced by `rango generate`:
405
+
406
+ ```bash
407
+ pnpm exec rango generate src/urls/blog.tsx
408
+ # or generate everything under a directory:
409
+ pnpm exec rango generate src/urls --static
410
+ ```
411
+
412
+ Don't edit the file by hand — re-run codegen when patterns change.
413
+
414
+ **Today the Vite plugin only regenerates the router-level `*.named-routes.gen.ts`.** Per-module `urls/*.gen.ts` files are emitted only by the CLI (or `writePerModuleRouteTypesForFile` programmatically). Commit the generated files and re-run `rango generate` whenever a `urls()` module's `path()`/`include()` shape changes. A common workflow is to wire it into a `predev` script:
415
+
416
+ ```jsonc
417
+ // package.json
418
+ {
419
+ "scripts": {
420
+ "predev": "rango generate src",
421
+ "dev": "vite",
422
+ },
423
+ }
424
+ ```
425
+
426
+ ## Prefetch boundaries
427
+
428
+ `Link` follows its `prefetch` prop or the router's `defaultPrefetch`; eligible
429
+ plain anchors follow the router default. When a whole DOM section must never
430
+ speculate, mark its container instead of repeating per-link opt-outs:
431
+
432
+ ```tsx
433
+ <section data-prefetch-scope="none">
434
+ <Link to="/activity" prefetch="viewport">
435
+ Activity
436
+ </Link>
437
+ <a href="/export">Export</a>
438
+ </section>
439
+ ```
440
+
441
+ The scope is a hard opt-out for every descendant Link and plain anchor; `"false"`
442
+ and `"none"` are equivalent. An explicit `prefetch` prop or
443
+ `data-prefetch="true"` cannot override it, and navigation still works normally.
444
+ Use `data-prefetch="false"` or `"none"` directly on a plain anchor when only that
445
+ anchor is unsafe. Dynamic scope changes re-evaluate only descendant anchors and
446
+ mounted viewport/render Links. Links share one document-level scope observer,
447
+ not one observer per Link or container. Adding a scope cannot recall work already
448
+ queued or in flight; removing it re-arms both Link types.
449
+
186
450
  ## When to use what
187
451
 
188
- | Context | API | Resolves | Use for |
189
- | ---------------- | ------------------------------- | ------------------------------- | ----------------------------------- |
190
- | Server handler | `ctx.reverse("name")` | Named routes (local + absolute) | Server-side URL generation |
191
- | Server handler | `scopedReverse<T>(ctx.reverse)` | Same, with type safety | Type-safe server URLs |
192
- | Client component | `href("/path")` | Absolute paths | Global navigation |
193
- | Client component | `useHref()` | Mount-prefixed paths | Local navigation inside `include()` |
194
- | Client component | `useMount()` | Raw mount path | Custom mount-aware logic |
452
+ | Context | API | Resolves | Use for |
453
+ | ---------------- | -------------------------------------------------- | ----------------------------------------- | ---------------------------------------------------------------- |
454
+ | Server handler | `ctx.reverse("name")` | Named routes (local + absolute) | **Default** server-side URL generation |
455
+ | Server handler | `scopedReverse<T>(ctx.reverse)` | Same, with type safety | Type-safe server URLs |
456
+ | Client component | `useReverse(routes)` | Local names from an imported `routes` map | Typed in-module URL generation without round-tripping the server |
457
+ | Client component | (URL passed as prop / loader data / action return) | Named routes | Cross-module URLs or one-off names you don't want to import |
458
+ | Client component | `href("/path")` | Absolute paths (static strings) | Static navigation where no named-route lookup is needed |
459
+ | Client component | `useHref()` | Mount-prefixed paths | Local navigation inside `include()` |
460
+ | Client component | `useMount()` | Raw mount path | Custom mount-aware logic |
461
+
462
+ > `ctx.reverse()` is server-only. On the client, either generate URLs on the server and pass them in, or import the `routes` map and use `useReverse(routes)` for in-module names.
195
463
 
196
464
  ## Complete example: mounted module
197
465