@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
@@ -0,0 +1,254 @@
1
+ # Environment, Context, and State Types
2
+
3
+ ## Environment Type Setup
4
+
5
+ Define your app's environment for type-safe bindings and variables:
6
+
7
+ ```typescript
8
+ // env.ts
9
+
10
+ // Cloudflare bindings — passed as TEnv to createRouter<TEnv>()
11
+ export interface AppBindings {
12
+ DB: D1Database;
13
+ KV: KVNamespace;
14
+ CACHE: KVNamespace;
15
+ AI: Ai;
16
+ }
17
+
18
+ // Variables set by middleware — declared via global namespace augmentation
19
+ export interface AppVariables {
20
+ user?: { id: string; email: string; role: string };
21
+ requestId?: string;
22
+ permissions?: string[];
23
+ }
24
+ ```
25
+
26
+ ### Using Environment Types
27
+
28
+ ```typescript
29
+ // router.tsx
30
+ import type { AppBindings, AppVariables } from "./env";
31
+
32
+ const router = createRouter<AppBindings>({
33
+ document: Document,
34
+ }).routes(urlpatterns);
35
+
36
+ // Register bindings and variables globally for implicit typing
37
+ declare global {
38
+ namespace Rango {
39
+ interface Env extends AppBindings {}
40
+ interface Vars extends AppVariables {}
41
+ }
42
+ }
43
+
44
+ // middleware - typed via ctx.set / ctx.get
45
+ import type { Middleware } from "@rangojs/router";
46
+
47
+ export const authMiddleware: Middleware = async (ctx, next) => {
48
+ ctx.set("user", {
49
+ id: "123",
50
+ email: "user@example.com",
51
+ role: "admin",
52
+ });
53
+ await next();
54
+ };
55
+
56
+ // loaders - typed context
57
+ export const UserLoader = createLoader(async (ctx) => {
58
+ const db = ctx.env.DB; // D1Database (plain bindings)
59
+ const userId = ctx.get("user")?.id; // from Rango.Vars
60
+ return db.prepare("SELECT * FROM users WHERE id = ?").bind(userId).first();
61
+ });
62
+ ```
63
+
64
+ ## Global Environment Registration
65
+
66
+ Register environment types globally for implicit typing:
67
+
68
+ ```typescript
69
+ // router.tsx
70
+ declare global {
71
+ namespace Rango {
72
+ interface Env extends AppBindings {}
73
+ interface Vars extends AppVariables {}
74
+ }
75
+ }
76
+ ```
77
+
78
+ Now handlers have typed context without explicit imports:
79
+
80
+ ```typescript
81
+ // In loaders
82
+ export const DashboardLoader = createLoader(async (ctx) => {
83
+ // ctx.env.DB is typed from global Rango.Env
84
+ // ctx.get("user") is typed from global Rango.Vars
85
+ const user = ctx.get("user");
86
+ return { user };
87
+ });
88
+ ```
89
+
90
+ ## Typed Context Variables
91
+
92
+ `createVar<T>()` creates a typed token for `ctx.set()`/`ctx.get()`, making
93
+ handler-to-layout data contracts explicit and compile-time verified:
94
+
95
+ ```typescript
96
+ import { createVar } from "@rangojs/router";
97
+
98
+ // Define a typed token (shared between producer and consumer)
99
+ interface PaginationData {
100
+ current: number;
101
+ total: number;
102
+ perPage: number;
103
+ }
104
+ export const Pagination = createVar<PaginationData>();
105
+
106
+ // Non-cacheable var — reading inside cache() or "use cache" throws at runtime
107
+ const Session = createVar<SessionData>({ cache: false });
108
+ ```
109
+
110
+ `createVar` accepts an optional options object. The `cache` option (default
111
+ `true`) controls whether the var's values can be read inside cache scopes.
112
+ Write-level escalation is also supported: `ctx.set(Var, value, { cache: false })`
113
+ marks a specific write as non-cacheable even if the var itself is cacheable.
114
+ "Least cacheable wins" — if either says `cache: false`, the value throws on
115
+ read inside `cache()` or `"use cache"`.
116
+
117
+ ### Producer (handler or middleware)
118
+
119
+ ```typescript
120
+ import { Pagination } from "../vars/pagination.js";
121
+
122
+ const ArticleList: Handler<"articles.list"> = async (ctx) => {
123
+ ctx.set(Pagination, { // type-checked
124
+ current: 1,
125
+ total: 10,
126
+ perPage: 5,
127
+ });
128
+ return <Articles />;
129
+ };
130
+ ```
131
+
132
+ ### Consumer (layout, parallel, or any context with get)
133
+
134
+ ```typescript
135
+ import { Pagination } from "../vars/pagination.js";
136
+
137
+ export function PaginationLayout(ctx: any) {
138
+ const pagination = ctx.get(Pagination); // typed as PaginationData | undefined
139
+ if (!pagination) return <Outlet />;
140
+ return <nav>Page {pagination.current} of {pagination.total}</nav>;
141
+ }
142
+ ```
143
+
144
+ ### Why not just use Rango.Vars?
145
+
146
+ `Rango.Vars` (via global namespace augmentation) provides app-global typing for
147
+ `ctx.get("key")` / `ctx.set("key", value)`. It works for middleware state
148
+ shared app-wide. `createVar<T>()` is for route-local or feature-scoped
149
+ context -- the producer and consumer import the same token, creating a
150
+ scoped contract without polluting global types.
151
+
152
+ Both approaches coexist: `ctx.get("user")` (global via Vars) and
153
+ `ctx.get(Pagination)` (scoped via createVar) work side by side.
154
+
155
+ ## Handle Type Safety
156
+
157
+ Handles have typed data:
158
+
159
+ ```typescript
160
+ // Built-in Breadcrumbs handle — import from "@rangojs/router"
161
+ import { Breadcrumbs } from "@rangojs/router";
162
+ // Type: Handle<BreadcrumbItem, BreadcrumbItem[]>
163
+ // BreadcrumbItem: { label: string; href: string; content?: ReactNode | Promise<ReactNode> }
164
+
165
+ // In route handler — push is fully typed
166
+ path("/shop/product/:slug", (ctx) => {
167
+ const breadcrumb = ctx.use(Breadcrumbs);
168
+ breadcrumb({ label: "Products", href: "/shop/products" });
169
+ return <ProductPage />;
170
+ }, { name: "product" });
171
+
172
+ // In client — typed array
173
+ import { useHandle, Breadcrumbs } from "@rangojs/router/client";
174
+ function BreadcrumbNav() {
175
+ const crumbs = useHandle(Breadcrumbs);
176
+ // crumbs: BreadcrumbItem[]
177
+ }
178
+
179
+ // Custom handles also work the same way
180
+ import { createHandle } from "@rangojs/router";
181
+ export const PageTitle = createHandle<string, string>(
182
+ (segments) => segments.flat().at(-1) ?? "Default Title"
183
+ );
184
+ ```
185
+
186
+ ## Ref Prop Type Safety (Loaders & Handles)
187
+
188
+ Loaders and handles can be passed as props from server to client components.
189
+ Use `typeof` to get the full typed definition without manually specifying generics:
190
+
191
+ ```typescript
192
+ // loaders.ts
193
+ export const ProductLoader = createLoader(async (ctx) => {
194
+ return { product: await fetchProduct(ctx.params.slug) };
195
+ });
196
+
197
+ // Built-in Breadcrumbs — or any custom handle created with createHandle()
198
+ ```
199
+
200
+ ```tsx
201
+ // Client component — typeof infers all generics
202
+ "use client";
203
+ import { useLoader, useHandle, type Breadcrumbs } from "@rangojs/router/client";
204
+ import type { ProductLoader } from "../loaders";
205
+
206
+ function MyComponent({
207
+ loader,
208
+ handle,
209
+ }: {
210
+ loader: typeof ProductLoader; // LoaderDefinition<{ product: Product }>
211
+ handle: typeof Breadcrumbs; // Handle<{ label: string; href: string }>
212
+ }) {
213
+ const { data } = useLoader(loader); // data is typed
214
+ const crumbs = useHandle(handle); // crumbs is typed array
215
+ // ...
216
+ }
217
+ ```
218
+
219
+ RSC Flight serialization calls `toJSON()` on both loaders and handles,
220
+ sending only `{ __brand, $$id }` to the client. The hooks recover the
221
+ full functionality from module-level registries.
222
+
223
+ ## Location State Type Safety
224
+
225
+ ```typescript
226
+ // location-states.ts
227
+ import { createLocationState } from "@rangojs/router";
228
+
229
+ // All export patterns work: export const, const + export { X }, export { X as Y }
230
+ export const ProductPreview = createLocationState<{
231
+ name: string;
232
+ price: number;
233
+ image: string;
234
+ }>();
235
+
236
+ // Passing state through Link
237
+ <Link
238
+ to={href("product", { slug: "widget" })}
239
+ state={[ProductPreview({ name: "Widget", price: 99, image: "/img.jpg" })]}
240
+ >
241
+ View Product
242
+ </Link>
243
+
244
+ // Reading state in component
245
+ function ProductHeader() {
246
+ const preview = useLocationState(ProductPreview);
247
+ // preview: { name: string; price: number; image: string } | undefined
248
+
249
+ if (preview) {
250
+ return <h1>{preview.name} - ${preview.price}</h1>;
251
+ }
252
+ return <h1>Loading...</h1>;
253
+ }
254
+ ```
@@ -0,0 +1,342 @@
1
+ # Generated Files and CLI Setup
2
+
3
+ ## Router Setup
4
+
5
+ ```typescript
6
+ // router.tsx
7
+ import { createRouter } from "@rangojs/router";
8
+ import { urlpatterns } from "./urls";
9
+
10
+ const router = createRouter<AppBindings>({
11
+ document: Document,
12
+ }).routes(urlpatterns);
13
+
14
+ // Server-side named-route reverse (type-safe via routeMap)
15
+ export const reverse = router.reverse;
16
+
17
+ export default router;
18
+ ```
19
+
20
+ ### Which global type should I use?
21
+
22
+ Use the generated route map by default. Manual `RegisteredRoutes` augmentation
23
+ is only needed when you want the richer `typeof router.routeMap` shape
24
+ available globally.
25
+
26
+ - `GeneratedRouteMap` — auto-registered by `router.named-routes.gen.ts`
27
+ Use for `Handler<"name">` (type annotation), `Prerender<"name">(...)` (function
28
+ call with type arg for param inference), server `ctx.reverse()`, and
29
+ named-route param/search inference.
30
+ - `typeof router.routeMap` — the real merged route map from your router
31
+ instance, including response-route metadata such as `{ path, response }`.
32
+ - `RegisteredRoutes` — manual global hook for exposing `typeof router.routeMap`
33
+ to global utilities that need the exact router-builder map, especially
34
+ `Rango.PathResponse`.
35
+
36
+ ### Generated Route Type Surfaces
37
+
38
+ There are three distinct typing surfaces. They are **not** interchangeable —
39
+ pick the one that matches what you need to type:
40
+
41
+ | Surface | Source | Scope | Gives | Does not give |
42
+ | ------------------- | ---------------------------------------------------- | ------ | ---------------------------------------- | ------------------------------------------------------------------------------------------------ |
43
+ | `GeneratedRouteMap` | `router.named-routes.gen.ts` (auto) | global | route names, path params, search schemas | response/MIME payloads |
44
+ | `routes` | per-module `*.gen.ts` (`rango generate`) | local | local names, params, search | the global app map |
45
+ | `RegisteredRoutes` | manual `extends` of a `typeof router.routeMap` alias | global | paths, params, **response payloads** | the `Handler`/`Prerender` default (those read `GeneratedRouteMap` to avoid a `router.tsx` cycle) |
46
+
47
+ Key consequence: `href()` and the ambient `Rango.Path` type are typed from
48
+ whichever map is present — they prefer `RegisteredRoutes` when you wire it, otherwise fall back to
49
+ the auto-generated `GeneratedRouteMap`, so **`rango generate` alone gives you
50
+ path-checked `href()`** with no manual augmentation. Response and MIME payload
51
+ inference is the exception: it comes only from `typeof router.routeMap` (via
52
+ `RegisteredRoutes`), because `GeneratedRouteMap` carries paths + search but no
53
+ payloads — so `Rango.PathResponse` resolves to `never` until you wire
54
+ `RegisteredRoutes`.
55
+
56
+ Recommended setup:
57
+
58
+ ```typescript
59
+ // router.tsx
60
+ import { createRouter } from "@rangojs/router";
61
+ import { urlpatterns } from "./urls";
62
+ import type { AppBindings, AppVars } from "./env";
63
+
64
+ export const router = createRouter<AppBindings>({}).routes(urlpatterns);
65
+
66
+ // The alias is required: an interface heritage clause cannot take a `typeof`
67
+ // type query directly (TS1109).
68
+ type AppRoutes = typeof router.routeMap;
69
+
70
+ declare global {
71
+ namespace Rango {
72
+ interface Env extends AppBindings {}
73
+ interface Vars extends AppVars {}
74
+ interface RegisteredRoutes extends AppRoutes {}
75
+ }
76
+ }
77
+ ```
78
+
79
+ ### Single-App Setup Checklist
80
+
81
+ For one app, keep the ambient types, generated named-routes file, and router
82
+ instance in the same TypeScript program:
83
+
84
+ ```jsonc
85
+ // tsconfig.json
86
+ {
87
+ "compilerOptions": {
88
+ "strict": true,
89
+ "moduleResolution": "bundler",
90
+ "jsx": "react-jsx",
91
+ "noEmit": true,
92
+ },
93
+ "include": ["src"],
94
+ "files": ["src/router.tsx"],
95
+ }
96
+ ```
97
+
98
+ Then generate the route types from the router file:
99
+
100
+ ```bash
101
+ npx rango generate src/router.tsx
102
+ ```
103
+
104
+ This creates `src/router.named-routes.gen.ts`, which augments
105
+ `Rango.GeneratedRouteMap`. Keep that generated file committed with the router
106
+ source. The `files` entry keeps `router.tsx` in the program even when nothing
107
+ imports it directly, so `Rango.Env`, `Rango.Vars`, and optional
108
+ `Rango.RegisteredRoutes` augmentation are visible to handlers, loaders, actions,
109
+ and client helpers.
110
+
111
+ ### Named Routes, `$$routeNames`, And `router.routeMap`
112
+
113
+ There are two runtime/type surfaces with similar names:
114
+
115
+ - `router.named-routes.gen.ts` exports `NamedRoutes` and augments
116
+ `Rango.GeneratedRouteMap`. The Vite plugin imports that file internally and
117
+ injects it as `$$routeNames` so `router.reverse` has the static route-name map.
118
+ App code should not pass or import `$$routeNames` directly.
119
+ - `router.routeMap` is the public router instance property for type extraction.
120
+ Use `typeof router.routeMap` when augmenting `Rango.RegisteredRoutes` for
121
+ global response payload helpers such as `Rango.PathResponse`.
122
+
123
+ Do not document or use a public `router.routeNames` API unless one is
124
+ intentionally added. Today, the public extraction surface is `router.routeMap`;
125
+ the generated file and `$$routeNames` are build machinery.
126
+
127
+ ### Typecheck cost when composing many include modules
128
+
129
+ `urls()` infers a route registry from everything in its array — including the
130
+ module types behind every `include()` thunk, recursively. In an app composing
131
+ MANY include modules (dozens of groups, or factory-produced groups), that
132
+ inference chain can explode: measured on a 26k-route app with 50 nested
133
+ include modules, root inference hit 4.05M type instantiations / 20 s check
134
+ time; the same app checks at ~140k / 3.6 s after widening.
135
+
136
+ The fix is to annotate the intermediate modules' exports with the wide
137
+ `UrlPatterns` type, which stops per-route literal types from propagating
138
+ upward:
139
+
140
+ ```typescript
141
+ import { urls, type UrlPatterns } from "@rangojs/router";
142
+
143
+ export const shopPatterns: UrlPatterns<any> = urls(({ path }) => [
144
+ // ...hundreds of routes
145
+ ]);
146
+ export default shopPatterns;
147
+ ```
148
+
149
+ Nothing is lost: named-route typing (`Handler<"name">`, `ctx.reverse`,
150
+ `href`) comes from the generated `router.named-routes.gen.ts`, not from the
151
+ inferred `urls()` type. Keep full inference on modules whose
152
+ `Rango.PathResponse` payloads you assert (e.g. `path.json` response routes);
153
+ widen the big mechanical groups. Use `UrlPatterns<any>` (not
154
+ `UrlPatterns<unknown>` — `unknown` env breaks handler assignability).
155
+ Diagnose with `tsc --extendedDiagnostics` and watch the Instantiations count.
156
+
157
+ ## Multi-Project tsconfig Setup
158
+
159
+ For monorepos or multi-app setups, each app should have its own TypeScript
160
+ program. Do not typecheck two Rango apps with different `Rango.Env`,
161
+ `Rango.Vars`, or `Rango.RegisteredRoutes` declarations in one tsconfig, because
162
+ ambient global interfaces merge across the whole program.
163
+
164
+ ### Multiple routers in one program
165
+
166
+ `Rango.GeneratedRouteMap` is a **single global interface**. Each router's
167
+ generated `router.named-routes.gen.ts` augments it, so two routers in the **same
168
+ TS program** that define overlapping route names (e.g. both have a `home`) make
169
+ the augmentations collide:
170
+
171
+ ```text
172
+ Interface 'GeneratedRouteMap' cannot simultaneously extend ...
173
+ Named property 'home' ... are not identical.
174
+ ```
175
+
176
+ This is the multi-router / host-router case. Resolve it by:
177
+
178
+ - **Separate TS programs** — give each router its own tsconfig (as below) so only
179
+ one generated map is in scope per program. Recommended.
180
+ - **Unique route-name prefixes** — name routes per router (`appA.home`,
181
+ `appB.home`) so the merged global map has no duplicate keys.
182
+
183
+ A single global generated map is a single-router convenience; global named-route
184
+ typing across multiple routers in one program is not supported today (it would
185
+ need per-router scoping in the generated map).
186
+
187
+ Use a shared base tsconfig for common compiler options, then make every app
188
+ tsconfig include its own source tree, its own `router.tsx`, and the generated
189
+ `router.named-routes.gen.ts` that lives beside that router.
190
+
191
+ ```jsonc
192
+ // tsconfig.base.json (root)
193
+ {
194
+ "compilerOptions": {
195
+ "target": "ES2022",
196
+ "module": "ESNext",
197
+ "lib": ["ES2022", "DOM", "DOM.Iterable"],
198
+ "jsx": "react-jsx",
199
+ "moduleResolution": "bundler",
200
+ "strict": true,
201
+ "noEmit": true,
202
+ "skipLibCheck": true,
203
+ "isolatedModules": true,
204
+ "esModuleInterop": true,
205
+ "resolveJsonModule": true,
206
+ },
207
+ }
208
+ ```
209
+
210
+ ```jsonc
211
+ // apps/shop/tsconfig.json
212
+ {
213
+ "extends": "../../tsconfig.base.json",
214
+ "include": ["src"],
215
+ "files": ["src/router.tsx"],
216
+ }
217
+ ```
218
+
219
+ ```jsonc
220
+ // apps/blog/tsconfig.json
221
+ {
222
+ "extends": "../../tsconfig.base.json",
223
+ "include": ["src"],
224
+ "files": ["src/router.tsx"],
225
+ }
226
+ ```
227
+
228
+ Run generation per app:
229
+
230
+ ```bash
231
+ npx rango generate apps/shop/src/router.tsx
232
+ npx rango generate apps/blog/src/router.tsx
233
+ ```
234
+
235
+ If an app has multiple tsconfigs (`tsconfig.app.json`, `tsconfig.test.json`,
236
+ `tsconfig.worker.json`), every tsconfig that typechecks Rango handlers,
237
+ components, loaders, actions, or client navigation must see the same app-local
238
+ type surfaces:
239
+
240
+ ```jsonc
241
+ // apps/shop/tsconfig.test.json
242
+ {
243
+ "extends": "./tsconfig.json",
244
+ "include": ["src", "tests"],
245
+ "files": ["src/router.tsx"],
246
+ }
247
+ ```
248
+
249
+ The `files` array ensures `router.tsx` is always included even if nothing
250
+ directly imports it. The generated `router.named-routes.gen.ts` is normally
251
+ covered by `include: ["src"]`; if a tsconfig uses a narrow `include`, add the
252
+ generated file explicitly. Each app gets its own typed environment and named
253
+ route map without interfering with other apps.
254
+
255
+ For response and MIME payload lookup in each app, augment `RegisteredRoutes`
256
+ inside that app's router file:
257
+
258
+ ```typescript
259
+ // apps/shop/src/router.tsx
260
+ export const router = createRouter<ShopEnv>({ document: Document }).routes(
261
+ urlpatterns,
262
+ );
263
+
264
+ type ShopRoutes = typeof router.routeMap;
265
+
266
+ declare global {
267
+ namespace Rango {
268
+ interface Env extends ShopEnv {}
269
+ interface RegisteredRoutes extends ShopRoutes {}
270
+ }
271
+ }
272
+ ```
273
+
274
+ ## Complete Type-Safe Setup
275
+
276
+ ```typescript
277
+ // 1. env.ts - Environment types
278
+ export interface AppBindings {
279
+ DB: D1Database;
280
+ KV: KVNamespace;
281
+ }
282
+
283
+ export interface AppVariables {
284
+ user?: { id: string; email: string; role: string };
285
+ }
286
+
287
+ // 2. urls.tsx - Route definitions with names
288
+ import { urls } from "@rangojs/router";
289
+
290
+ export const urlpatterns = urls(({ path, layout, loader }) => [
291
+ path("/", HomePage, { name: "home" }),
292
+
293
+ layout(<ShopLayout />, () => [
294
+ path("/shop", ShopIndex, { name: "shop" }),
295
+ path("/shop/product/:slug", ProductPage, { name: "product" }, () => [
296
+ loader(ProductLoader),
297
+ ]),
298
+ ]),
299
+ ]);
300
+
301
+ // 3. router.tsx - Create router and export reverse
302
+ const router = createRouter<AppBindings>({
303
+ document: Document,
304
+ }).routes(urlpatterns);
305
+
306
+ // Register bindings and variables globally for implicit typing
307
+ declare global {
308
+ namespace Rango {
309
+ interface Env extends AppBindings {}
310
+ interface Vars extends AppVariables {}
311
+ }
312
+ }
313
+
314
+ export const reverse = router.reverse;
315
+ export default router;
316
+
317
+ // 4. Run `npx rango generate src/router.tsx` to generate
318
+ // router.named-routes.gen.ts (auto-registers GeneratedRouteMap globally).
319
+ // No manual RegisteredRoutes declaration is needed for named-route handlers,
320
+ // ctx.reverse, prerender, href(), or Rango.Path. Add `RegisteredRoutes
321
+ // extends AppRoutes` (an alias of typeof router.routeMap) when global
322
+ // response payload helpers such as Rango.PathResponse need the richer
323
+ // router.routeMap metadata.
324
+
325
+ // 5. loaders/*.ts - Type-safe loaders
326
+ export const ProductLoader = createLoader(async (ctx) => {
327
+ // ctx.params: { slug: string }
328
+ // ctx.get("user"): User | undefined (from Rango.Vars)
329
+ // ctx.env.DB: D1Database (plain bindings from Rango.Env)
330
+ return { product: await fetchProduct(ctx.params.slug) };
331
+ });
332
+
333
+ // 6. Server: ctx.reverse for named routes
334
+ path("/product/:slug", (ctx) => {
335
+ return <Link to={ctx.reverse("shop")}>Back to Shop</Link>;
336
+ }, { name: "product" })
337
+
338
+ // 7. Client: useHref for mounted paths, href for absolute
339
+ "use client";
340
+ import { useHref, href, Link } from "@rangojs/router/client";
341
+ <Link to={href("/shop/product/widget")}>Widget</Link>
342
+ ```