@rangojs/router 0.0.0-experimental.ce770c9a → 0.0.0-experimental.d5d3070a

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 (1202) hide show
  1. package/AGENTS.md +8 -0
  2. package/README.md +245 -49
  3. package/dist/bin/rango.js +433 -131
  4. package/dist/testing/vitest.js +82 -0
  5. package/dist/vite/index.js +3376 -1102
  6. package/dist/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  7. package/package.json +66 -12
  8. package/skills/api-client/SKILL.md +211 -0
  9. package/skills/breadcrumbs/SKILL.md +64 -2
  10. package/skills/bundle-analysis/SKILL.md +159 -0
  11. package/skills/cache-guide/SKILL.md +247 -23
  12. package/skills/caching/SKILL.md +281 -11
  13. package/skills/composability/SKILL.md +27 -2
  14. package/skills/css/SKILL.md +76 -0
  15. package/skills/debug-manifest/SKILL.md +4 -2
  16. package/skills/document-cache/SKILL.md +78 -55
  17. package/skills/handler-use/SKILL.md +364 -0
  18. package/skills/hooks/SKILL.md +250 -30
  19. package/skills/host-router/SKILL.md +83 -23
  20. package/skills/i18n/SKILL.md +276 -0
  21. package/skills/intercept/SKILL.md +50 -6
  22. package/skills/layout/SKILL.md +35 -9
  23. package/skills/links/SKILL.md +249 -17
  24. package/skills/loader/SKILL.md +279 -53
  25. package/skills/middleware/SKILL.md +52 -13
  26. package/skills/migrate-nextjs/SKILL.md +584 -0
  27. package/skills/migrate-react-router/SKILL.md +771 -0
  28. package/skills/mime-routes/SKILL.md +28 -1
  29. package/skills/observability/SKILL.md +172 -0
  30. package/skills/parallel/SKILL.md +144 -7
  31. package/skills/prerender/SKILL.md +153 -109
  32. package/skills/rango/SKILL.md +251 -22
  33. package/skills/react-compiler/SKILL.md +168 -0
  34. package/skills/response-routes/SKILL.md +123 -48
  35. package/skills/route/SKILL.md +101 -5
  36. package/skills/router-setup/SKILL.md +116 -8
  37. package/skills/scripts/SKILL.md +179 -0
  38. package/skills/server-actions/SKILL.md +775 -0
  39. package/skills/streams-and-websockets/SKILL.md +283 -0
  40. package/skills/tailwind/SKILL.md +27 -3
  41. package/skills/testing/SKILL.md +129 -0
  42. package/skills/testing/bindings.md +103 -0
  43. package/skills/testing/cache-prerender.md +127 -0
  44. package/skills/testing/client-components.md +124 -0
  45. package/skills/testing/e2e-parity.md +125 -0
  46. package/skills/testing/flight.md +91 -0
  47. package/skills/testing/handles.md +129 -0
  48. package/skills/testing/loader.md +128 -0
  49. package/skills/testing/middleware.md +99 -0
  50. package/skills/testing/render-handler.md +121 -0
  51. package/skills/testing/response-routes.md +95 -0
  52. package/skills/testing/reverse-and-types.md +84 -0
  53. package/skills/testing/server-actions.md +107 -0
  54. package/skills/testing/server-tree.md +128 -0
  55. package/skills/testing/setup.md +123 -0
  56. package/skills/typesafety/SKILL.md +332 -29
  57. package/skills/use-cache/SKILL.md +46 -14
  58. package/skills/view-transitions/SKILL.md +294 -0
  59. package/src/__augment-tests__/augment.ts +81 -0
  60. package/src/__augment-tests__/augmented.check.ts +116 -0
  61. package/src/__internal.ts +1 -66
  62. package/src/browser/action-coordinator.ts +53 -36
  63. package/src/browser/action-fence.ts +47 -0
  64. package/src/browser/app-shell.ts +39 -0
  65. package/src/browser/app-version.ts +14 -0
  66. package/src/browser/connection-warmup.ts +134 -0
  67. package/src/browser/cookie-name.ts +140 -0
  68. package/src/browser/event-controller.ts +192 -150
  69. package/src/browser/history-state.ts +21 -0
  70. package/src/browser/index.ts +3 -3
  71. package/src/browser/invalidate-client-cache.ts +52 -0
  72. package/src/browser/navigation-bridge.ts +108 -21
  73. package/src/browser/navigation-client.ts +187 -86
  74. package/src/browser/navigation-store-handle.ts +38 -0
  75. package/src/browser/navigation-store.ts +76 -67
  76. package/src/browser/navigation-transaction.ts +9 -59
  77. package/src/browser/network-error-handler.ts +34 -7
  78. package/src/browser/partial-update.ts +150 -107
  79. package/src/browser/prefetch/cache.ts +205 -62
  80. package/src/browser/prefetch/fetch.ts +329 -39
  81. package/src/browser/prefetch/queue.ts +95 -29
  82. package/src/browser/prefetch/resource-ready.ts +77 -0
  83. package/src/browser/rango-state.ts +158 -76
  84. package/src/browser/react/Link.tsx +102 -15
  85. package/src/browser/react/NavigationProvider.tsx +193 -120
  86. package/src/browser/react/ScrollRestoration.tsx +10 -6
  87. package/src/browser/react/context.ts +7 -2
  88. package/src/browser/react/filter-segment-order.ts +66 -7
  89. package/src/browser/react/index.ts +0 -48
  90. package/src/browser/react/location-state-shared.ts +178 -8
  91. package/src/browser/react/location-state.ts +39 -14
  92. package/src/browser/react/use-action.ts +6 -15
  93. package/src/browser/react/use-handle.ts +23 -69
  94. package/src/browser/react/use-href.tsx +8 -1
  95. package/src/browser/react/use-link-status.ts +33 -8
  96. package/src/browser/react/use-navigation.ts +32 -7
  97. package/src/browser/react/use-params.ts +20 -10
  98. package/src/browser/react/use-reverse.ts +106 -0
  99. package/src/browser/react/use-router.ts +46 -11
  100. package/src/browser/react/use-search-params.ts +0 -5
  101. package/src/browser/react/use-segments.ts +11 -21
  102. package/src/browser/response-adapter.ts +80 -5
  103. package/src/browser/rsc-router.tsx +114 -24
  104. package/src/browser/scroll-restoration.ts +37 -22
  105. package/src/browser/segment-reconciler.ts +36 -14
  106. package/src/browser/segment-structure-assert.ts +2 -2
  107. package/src/browser/server-action-bridge.ts +222 -61
  108. package/src/browser/types.ts +82 -11
  109. package/src/browser/validate-redirect-origin.ts +43 -16
  110. package/src/build/collect-fallback-refs.ts +107 -0
  111. package/src/build/generate-manifest.ts +65 -40
  112. package/src/build/generate-route-types.ts +5 -1
  113. package/src/build/index.ts +8 -2
  114. package/src/build/prefix-tree-utils.ts +123 -0
  115. package/src/build/route-trie.ts +165 -36
  116. package/src/build/route-types/ast-route-extraction.ts +15 -8
  117. package/src/build/route-types/codegen.ts +16 -5
  118. package/src/build/route-types/include-resolution.ts +125 -24
  119. package/src/build/route-types/param-extraction.ts +6 -3
  120. package/src/build/route-types/per-module-writer.ts +22 -6
  121. package/src/build/route-types/router-processing.ts +260 -94
  122. package/src/build/route-types/scan-filter.ts +9 -2
  123. package/src/build/route-types/source-scan.ts +216 -0
  124. package/src/build/runtime-discovery.ts +9 -20
  125. package/src/cache/cache-error.ts +104 -0
  126. package/src/cache/cache-key-utils.ts +29 -13
  127. package/src/cache/cache-policy.ts +108 -34
  128. package/src/cache/cache-runtime.ts +214 -48
  129. package/src/cache/cache-scope.ts +234 -87
  130. package/src/cache/cache-tag.ts +103 -0
  131. package/src/cache/cf/cf-base64.ts +33 -0
  132. package/src/cache/cf/cf-cache-constants.ts +127 -0
  133. package/src/cache/cf/cf-cache-store.ts +1989 -378
  134. package/src/cache/cf/cf-cache-types.ts +349 -0
  135. package/src/cache/cf/cf-kv-utils.ts +46 -0
  136. package/src/cache/cf/cf-tag-marker-memo.ts +105 -0
  137. package/src/cache/cf/index.ts +6 -16
  138. package/src/cache/document-cache.ts +72 -20
  139. package/src/cache/handle-snapshot.ts +70 -0
  140. package/src/cache/index.ts +10 -20
  141. package/src/cache/memory-segment-store.ts +136 -37
  142. package/src/cache/profile-registry.ts +31 -31
  143. package/src/cache/read-through-swr.ts +41 -11
  144. package/src/cache/segment-codec.ts +9 -17
  145. package/src/cache/tag-invalidation.ts +230 -0
  146. package/src/cache/taint.ts +55 -0
  147. package/src/cache/types.ts +37 -100
  148. package/src/client.rsc.tsx +44 -21
  149. package/src/client.tsx +119 -290
  150. package/src/cloudflare/index.ts +11 -0
  151. package/src/cloudflare/tracing.ts +109 -0
  152. package/src/component-utils.ts +19 -0
  153. package/src/components/DefaultDocument.tsx +8 -2
  154. package/src/context-var.ts +84 -2
  155. package/src/decode-loader-results.ts +52 -0
  156. package/src/defer.ts +196 -0
  157. package/src/deps/ssr.ts +0 -1
  158. package/src/encode-kv.ts +49 -0
  159. package/src/errors.ts +30 -4
  160. package/src/escape-script.ts +52 -0
  161. package/src/handle.ts +70 -22
  162. package/src/handles/MetaTags.tsx +62 -19
  163. package/src/handles/Scripts.tsx +183 -0
  164. package/src/handles/breadcrumbs.ts +37 -8
  165. package/src/handles/is-thenable.ts +19 -0
  166. package/src/handles/meta.ts +51 -40
  167. package/src/handles/script.ts +244 -0
  168. package/src/host/cookie-handler.ts +9 -60
  169. package/src/host/errors.ts +0 -24
  170. package/src/host/index.ts +8 -2
  171. package/src/host/pattern-matcher.ts +23 -52
  172. package/src/host/router.ts +107 -99
  173. package/src/host/testing.ts +40 -27
  174. package/src/host/types.ts +37 -4
  175. package/src/host/utils.ts +1 -1
  176. package/src/href-client.ts +137 -22
  177. package/src/index.rsc.ts +93 -12
  178. package/src/index.ts +133 -15
  179. package/src/internal-debug.ts +11 -10
  180. package/src/loader-store.ts +500 -0
  181. package/src/loader.rsc.ts +20 -13
  182. package/src/loader.ts +12 -11
  183. package/src/missing-id-error.ts +68 -0
  184. package/src/outlet-context.ts +1 -1
  185. package/src/outlet-provider.tsx +1 -5
  186. package/src/prerender/param-hash.ts +16 -16
  187. package/src/prerender/store.ts +37 -41
  188. package/src/prerender.ts +198 -82
  189. package/src/redirect-origin.ts +100 -0
  190. package/src/regex-escape.ts +8 -0
  191. package/src/render-error-thrower.tsx +20 -0
  192. package/src/response-utils.ts +62 -0
  193. package/src/reverse.ts +65 -15
  194. package/src/root-error-boundary.tsx +1 -19
  195. package/src/route-content-wrapper.tsx +7 -72
  196. package/src/route-definition/dsl-helpers.ts +445 -277
  197. package/src/route-definition/helper-factories.ts +29 -139
  198. package/src/route-definition/helpers-types.ts +113 -37
  199. package/src/route-definition/index.ts +3 -0
  200. package/src/route-definition/redirect.ts +51 -10
  201. package/src/route-definition/resolve-handler-use.ts +161 -0
  202. package/src/route-definition/use-item-types.ts +32 -0
  203. package/src/route-map-builder.ts +0 -16
  204. package/src/route-types.ts +37 -41
  205. package/src/router/basename.ts +14 -0
  206. package/src/router/content-negotiation.ts +164 -17
  207. package/src/router/error-handling.ts +45 -18
  208. package/src/router/find-match.ts +44 -23
  209. package/src/router/handler-context.ts +83 -39
  210. package/src/router/instrument.ts +350 -0
  211. package/src/router/intercept-resolution.ts +48 -24
  212. package/src/router/lazy-includes.ts +15 -52
  213. package/src/router/loader-resolution.ts +274 -56
  214. package/src/router/logging.ts +0 -6
  215. package/src/router/manifest.ts +40 -42
  216. package/src/router/match-api.ts +120 -204
  217. package/src/router/match-context.ts +0 -22
  218. package/src/router/match-handlers.ts +58 -58
  219. package/src/router/match-middleware/background-revalidation.ts +15 -5
  220. package/src/router/match-middleware/cache-lookup.ts +202 -268
  221. package/src/router/match-middleware/cache-store.ts +42 -28
  222. package/src/router/match-middleware/intercept-resolution.ts +0 -22
  223. package/src/router/match-middleware/segment-resolution.ts +45 -14
  224. package/src/router/match-pipelines.ts +1 -42
  225. package/src/router/match-result.ts +93 -39
  226. package/src/router/metrics.ts +0 -34
  227. package/src/router/middleware-types.ts +13 -142
  228. package/src/router/middleware.ts +268 -171
  229. package/src/router/navigation-snapshot.ts +131 -0
  230. package/src/router/params-util.ts +23 -0
  231. package/src/router/pattern-matching.ts +132 -90
  232. package/src/router/prefetch-cache-ttl.ts +51 -0
  233. package/src/router/prerender-match.ts +195 -56
  234. package/src/router/preview-match.ts +32 -102
  235. package/src/router/request-classification.ts +276 -0
  236. package/src/router/revalidation.ts +123 -73
  237. package/src/router/route-snapshot.ts +244 -0
  238. package/src/router/router-context.ts +3 -27
  239. package/src/router/router-interfaces.ts +115 -35
  240. package/src/router/router-options.ts +172 -15
  241. package/src/router/router-registry.ts +2 -5
  242. package/src/router/segment-resolution/fresh.ts +190 -99
  243. package/src/router/segment-resolution/helpers.ts +115 -30
  244. package/src/router/segment-resolution/loader-cache.ts +62 -37
  245. package/src/router/segment-resolution/revalidation.ts +386 -341
  246. package/src/router/segment-resolution/static-store.ts +19 -5
  247. package/src/router/segment-resolution/streamed-handler-telemetry.ts +52 -0
  248. package/src/router/segment-resolution/view-transition-default.ts +36 -0
  249. package/src/router/segment-resolution.ts +5 -1
  250. package/src/router/segment-wrappers.ts +6 -5
  251. package/src/router/state-cookie-name.ts +33 -0
  252. package/src/router/substitute-pattern-params.ts +56 -0
  253. package/src/router/telemetry-otel.ts +161 -199
  254. package/src/router/telemetry.ts +96 -19
  255. package/src/router/timeout.ts +0 -20
  256. package/src/router/tracing.ts +206 -0
  257. package/src/router/trie-matching.ts +163 -59
  258. package/src/router/types.ts +10 -63
  259. package/src/router/url-params.ts +44 -0
  260. package/src/router.ts +158 -54
  261. package/src/rsc/handler-context.ts +3 -2
  262. package/src/rsc/handler.ts +658 -511
  263. package/src/rsc/helpers.ts +168 -46
  264. package/src/rsc/index.ts +2 -5
  265. package/src/rsc/json-route-result.ts +38 -0
  266. package/src/rsc/loader-fetch.ts +127 -31
  267. package/src/rsc/manifest-init.ts +33 -42
  268. package/src/rsc/origin-guard.ts +39 -25
  269. package/src/rsc/progressive-enhancement.ts +77 -11
  270. package/src/rsc/redirect-guard.ts +99 -0
  271. package/src/rsc/response-cache-serve.ts +238 -0
  272. package/src/rsc/response-error.ts +79 -12
  273. package/src/rsc/response-route-handler.ts +99 -189
  274. package/src/rsc/rsc-rendering.ts +105 -72
  275. package/src/rsc/runtime-warnings.ts +23 -10
  276. package/src/rsc/server-action.ts +263 -112
  277. package/src/rsc/ssr-setup.ts +18 -2
  278. package/src/rsc/types.ts +32 -6
  279. package/src/runtime-env.ts +18 -0
  280. package/src/search-params.ts +35 -30
  281. package/src/segment-content-promise.ts +67 -0
  282. package/src/segment-loader-promise.ts +149 -0
  283. package/src/segment-system.tsx +218 -202
  284. package/src/serialize.ts +243 -0
  285. package/src/server/context.ts +222 -51
  286. package/src/server/cookie-parse.ts +32 -0
  287. package/src/server/cookie-store.ts +80 -5
  288. package/src/server/handle-store.ts +40 -38
  289. package/src/server/loader-registry.ts +26 -46
  290. package/src/server/request-context.ts +390 -170
  291. package/src/ssr/index.tsx +24 -16
  292. package/src/static-handler.ts +27 -18
  293. package/src/testing/cache-status.ts +162 -0
  294. package/src/testing/collect-handle.ts +40 -0
  295. package/src/testing/dispatch.ts +701 -0
  296. package/src/testing/dom.entry.ts +22 -0
  297. package/src/testing/e2e/fixture.ts +188 -0
  298. package/src/testing/e2e/index.ts +128 -0
  299. package/src/testing/e2e/matchers.ts +35 -0
  300. package/src/testing/e2e/page-helpers.ts +272 -0
  301. package/src/testing/e2e/parity.ts +387 -0
  302. package/src/testing/e2e/server.ts +195 -0
  303. package/src/testing/flight-matchers.ts +97 -0
  304. package/src/testing/flight-normalize.ts +11 -0
  305. package/src/testing/flight-runtime.d.ts +57 -0
  306. package/src/testing/flight-tree.ts +682 -0
  307. package/src/testing/flight.entry.ts +52 -0
  308. package/src/testing/flight.ts +257 -0
  309. package/src/testing/generated-routes.ts +183 -0
  310. package/src/testing/index.ts +99 -0
  311. package/src/testing/internal/context.ts +371 -0
  312. package/src/testing/internal/flight-client-globals.ts +30 -0
  313. package/src/testing/internal/seed-vars.ts +54 -0
  314. package/src/testing/render-handler.ts +343 -0
  315. package/src/testing/render-route.tsx +581 -0
  316. package/src/testing/run-loader.ts +385 -0
  317. package/src/testing/run-middleware.ts +205 -0
  318. package/src/testing/vitest-stubs/cloudflare-email.ts +9 -0
  319. package/src/testing/vitest-stubs/cloudflare-workers.ts +21 -0
  320. package/src/testing/vitest-stubs/plugin-rsc.ts +16 -0
  321. package/src/testing/vitest-stubs/version.ts +5 -0
  322. package/src/testing/vitest.ts +305 -0
  323. package/src/theme/ThemeProvider.tsx +20 -58
  324. package/src/theme/ThemeScript.tsx +7 -9
  325. package/src/theme/constants.ts +52 -13
  326. package/src/theme/index.ts +0 -7
  327. package/src/theme/theme-context.ts +1 -5
  328. package/src/theme/theme-script.ts +22 -21
  329. package/src/theme/use-theme.ts +0 -3
  330. package/src/types/boundaries.ts +0 -35
  331. package/src/types/cache-types.ts +17 -8
  332. package/src/types/error-types.ts +30 -90
  333. package/src/types/global-namespace.ts +54 -41
  334. package/src/types/handler-context.ts +233 -81
  335. package/src/types/index.ts +1 -10
  336. package/src/types/loader-types.ts +44 -15
  337. package/src/types/request-scope.ts +112 -0
  338. package/src/types/route-config.ts +6 -50
  339. package/src/types/route-entry.ts +12 -7
  340. package/src/types/segments.ts +36 -15
  341. package/src/urls/include-helper.ts +33 -70
  342. package/src/urls/index.ts +1 -11
  343. package/src/urls/path-helper-types.ts +58 -11
  344. package/src/urls/path-helper.ts +57 -111
  345. package/src/urls/pattern-types.ts +48 -19
  346. package/src/urls/response-types.ts +25 -22
  347. package/src/urls/type-extraction.ts +58 -139
  348. package/src/urls/urls-function.ts +1 -18
  349. package/src/use-loader.tsx +346 -89
  350. package/src/vite/debug.ts +185 -0
  351. package/src/vite/discovery/bundle-postprocess.ts +36 -38
  352. package/src/vite/discovery/discover-routers.ts +130 -85
  353. package/src/vite/discovery/discovery-errors.ts +194 -0
  354. package/src/vite/discovery/gate-state.ts +171 -0
  355. package/src/vite/discovery/prerender-collection.ts +214 -132
  356. package/src/vite/discovery/route-types-writer.ts +40 -84
  357. package/src/vite/discovery/self-gen-tracking.ts +27 -1
  358. package/src/vite/discovery/state.ts +57 -4
  359. package/src/vite/discovery/virtual-module-codegen.ts +14 -34
  360. package/src/vite/index.ts +6 -0
  361. package/src/vite/inject-client-debug.ts +36 -0
  362. package/src/vite/plugin-types.ts +178 -5
  363. package/src/vite/plugins/cjs-to-esm.ts +16 -19
  364. package/src/vite/plugins/client-ref-dedup.ts +16 -11
  365. package/src/vite/plugins/client-ref-hashing.ts +28 -15
  366. package/src/vite/plugins/cloudflare-protocol-loader-hook.d.mts +23 -0
  367. package/src/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  368. package/src/vite/plugins/cloudflare-protocol-stub.ts +194 -0
  369. package/src/vite/plugins/expose-action-id.ts +48 -95
  370. package/src/vite/plugins/expose-id-utils.ts +96 -51
  371. package/src/vite/plugins/expose-ids/export-analysis.ts +101 -34
  372. package/src/vite/plugins/expose-ids/handler-transform.ts +15 -64
  373. package/src/vite/plugins/expose-ids/loader-transform.ts +14 -24
  374. package/src/vite/plugins/expose-ids/router-transform.ts +118 -29
  375. package/src/vite/plugins/expose-internal-ids.ts +553 -317
  376. package/src/vite/plugins/performance-tracks.ts +89 -0
  377. package/src/vite/plugins/refresh-cmd.ts +89 -27
  378. package/src/vite/plugins/use-cache-transform.ts +73 -83
  379. package/src/vite/plugins/version-injector.ts +21 -25
  380. package/src/vite/plugins/version-plugin.ts +37 -40
  381. package/src/vite/plugins/virtual-entries.ts +13 -18
  382. package/src/vite/rango.ts +119 -111
  383. package/src/vite/router-discovery.ts +941 -142
  384. package/src/vite/utils/ast-handler-extract.ts +26 -35
  385. package/src/vite/utils/banner.ts +1 -1
  386. package/src/vite/utils/bundle-analysis.ts +10 -15
  387. package/src/vite/utils/client-chunks.ts +184 -0
  388. package/src/vite/utils/directive-prologue.ts +40 -0
  389. package/src/vite/utils/forward-user-plugins.ts +171 -0
  390. package/src/vite/utils/manifest-utils.ts +4 -59
  391. package/src/vite/utils/package-resolution.ts +20 -52
  392. package/src/vite/utils/prerender-utils.ts +81 -34
  393. package/src/vite/utils/shared-utils.ts +92 -42
  394. package/dist/__internal.d.ts +0 -83
  395. package/dist/__internal.d.ts.map +0 -1
  396. package/dist/__internal.js +0 -19
  397. package/dist/__internal.js.map +0 -1
  398. package/dist/__mocks__/version.d.ts +0 -7
  399. package/dist/__mocks__/version.d.ts.map +0 -1
  400. package/dist/__mocks__/version.js +0 -7
  401. package/dist/__mocks__/version.js.map +0 -1
  402. package/dist/__tests__/client-href.test.d.ts +0 -2
  403. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  404. package/dist/__tests__/client-href.test.js +0 -74
  405. package/dist/__tests__/client-href.test.js.map +0 -1
  406. package/dist/__tests__/component-utils.test.d.ts +0 -2
  407. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  408. package/dist/__tests__/component-utils.test.js +0 -51
  409. package/dist/__tests__/component-utils.test.js.map +0 -1
  410. package/dist/__tests__/event-controller.test.d.ts +0 -2
  411. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  412. package/dist/__tests__/event-controller.test.js +0 -538
  413. package/dist/__tests__/event-controller.test.js.map +0 -1
  414. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  415. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  416. package/dist/__tests__/helpers/route-tree.js +0 -374
  417. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  418. package/dist/__tests__/match-result.test.d.ts +0 -2
  419. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  420. package/dist/__tests__/match-result.test.js +0 -154
  421. package/dist/__tests__/match-result.test.js.map +0 -1
  422. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  423. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  424. package/dist/__tests__/navigation-store.test.js +0 -440
  425. package/dist/__tests__/navigation-store.test.js.map +0 -1
  426. package/dist/__tests__/partial-update.test.d.ts +0 -2
  427. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  428. package/dist/__tests__/partial-update.test.js +0 -1009
  429. package/dist/__tests__/partial-update.test.js.map +0 -1
  430. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  431. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  432. package/dist/__tests__/reverse-types.test.js +0 -656
  433. package/dist/__tests__/reverse-types.test.js.map +0 -1
  434. package/dist/__tests__/route-definition.test.d.ts +0 -2
  435. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  436. package/dist/__tests__/route-definition.test.js +0 -55
  437. package/dist/__tests__/route-definition.test.js.map +0 -1
  438. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  439. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  440. package/dist/__tests__/router-helpers.test.js +0 -377
  441. package/dist/__tests__/router-helpers.test.js.map +0 -1
  442. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  443. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  444. package/dist/__tests__/router-integration-2.test.js +0 -426
  445. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  446. package/dist/__tests__/router-integration.test.d.ts +0 -2
  447. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  448. package/dist/__tests__/router-integration.test.js +0 -1051
  449. package/dist/__tests__/router-integration.test.js.map +0 -1
  450. package/dist/__tests__/search-params.test.d.ts +0 -5
  451. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  452. package/dist/__tests__/search-params.test.js +0 -306
  453. package/dist/__tests__/search-params.test.js.map +0 -1
  454. package/dist/__tests__/segment-system.test.d.ts +0 -2
  455. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  456. package/dist/__tests__/segment-system.test.js +0 -627
  457. package/dist/__tests__/segment-system.test.js.map +0 -1
  458. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  459. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  460. package/dist/__tests__/static-handler-types.test.js +0 -63
  461. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  462. package/dist/__tests__/urls.test.d.ts +0 -2
  463. package/dist/__tests__/urls.test.d.ts.map +0 -1
  464. package/dist/__tests__/urls.test.js +0 -421
  465. package/dist/__tests__/urls.test.js.map +0 -1
  466. package/dist/__tests__/use-mount.test.d.ts +0 -2
  467. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  468. package/dist/__tests__/use-mount.test.js +0 -35
  469. package/dist/__tests__/use-mount.test.js.map +0 -1
  470. package/dist/bin/rango.d.ts +0 -2
  471. package/dist/bin/rango.d.ts.map +0 -1
  472. package/dist/bin/rango.js.map +0 -1
  473. package/dist/browser/event-controller.d.ts +0 -191
  474. package/dist/browser/event-controller.d.ts.map +0 -1
  475. package/dist/browser/event-controller.js +0 -559
  476. package/dist/browser/event-controller.js.map +0 -1
  477. package/dist/browser/index.d.ts +0 -2
  478. package/dist/browser/index.d.ts.map +0 -1
  479. package/dist/browser/index.js +0 -14
  480. package/dist/browser/index.js.map +0 -1
  481. package/dist/browser/link-interceptor.d.ts +0 -38
  482. package/dist/browser/link-interceptor.d.ts.map +0 -1
  483. package/dist/browser/link-interceptor.js +0 -99
  484. package/dist/browser/link-interceptor.js.map +0 -1
  485. package/dist/browser/logging.d.ts +0 -10
  486. package/dist/browser/logging.d.ts.map +0 -1
  487. package/dist/browser/logging.js +0 -29
  488. package/dist/browser/logging.js.map +0 -1
  489. package/dist/browser/lru-cache.d.ts +0 -17
  490. package/dist/browser/lru-cache.d.ts.map +0 -1
  491. package/dist/browser/lru-cache.js +0 -50
  492. package/dist/browser/lru-cache.js.map +0 -1
  493. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  494. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  495. package/dist/browser/merge-segment-loaders.js +0 -102
  496. package/dist/browser/merge-segment-loaders.js.map +0 -1
  497. package/dist/browser/navigation-bridge.d.ts +0 -102
  498. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  499. package/dist/browser/navigation-bridge.js +0 -708
  500. package/dist/browser/navigation-bridge.js.map +0 -1
  501. package/dist/browser/navigation-client.d.ts +0 -25
  502. package/dist/browser/navigation-client.d.ts.map +0 -1
  503. package/dist/browser/navigation-client.js +0 -157
  504. package/dist/browser/navigation-client.js.map +0 -1
  505. package/dist/browser/navigation-store.d.ts +0 -101
  506. package/dist/browser/navigation-store.d.ts.map +0 -1
  507. package/dist/browser/navigation-store.js +0 -625
  508. package/dist/browser/navigation-store.js.map +0 -1
  509. package/dist/browser/partial-update.d.ts +0 -75
  510. package/dist/browser/partial-update.d.ts.map +0 -1
  511. package/dist/browser/partial-update.js +0 -426
  512. package/dist/browser/partial-update.js.map +0 -1
  513. package/dist/browser/react/Link.d.ts +0 -86
  514. package/dist/browser/react/Link.d.ts.map +0 -1
  515. package/dist/browser/react/Link.js +0 -128
  516. package/dist/browser/react/Link.js.map +0 -1
  517. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  518. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  519. package/dist/browser/react/NavigationProvider.js +0 -216
  520. package/dist/browser/react/NavigationProvider.js.map +0 -1
  521. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  522. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  523. package/dist/browser/react/ScrollRestoration.js +0 -57
  524. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  525. package/dist/browser/react/context.d.ts +0 -46
  526. package/dist/browser/react/context.d.ts.map +0 -1
  527. package/dist/browser/react/context.js +0 -10
  528. package/dist/browser/react/context.js.map +0 -1
  529. package/dist/browser/react/index.d.ts +0 -11
  530. package/dist/browser/react/index.d.ts.map +0 -1
  531. package/dist/browser/react/index.js +0 -22
  532. package/dist/browser/react/index.js.map +0 -1
  533. package/dist/browser/react/location-state-shared.d.ts +0 -63
  534. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  535. package/dist/browser/react/location-state-shared.js +0 -81
  536. package/dist/browser/react/location-state-shared.js.map +0 -1
  537. package/dist/browser/react/location-state.d.ts +0 -23
  538. package/dist/browser/react/location-state.d.ts.map +0 -1
  539. package/dist/browser/react/location-state.js +0 -29
  540. package/dist/browser/react/location-state.js.map +0 -1
  541. package/dist/browser/react/mount-context.d.ts +0 -24
  542. package/dist/browser/react/mount-context.d.ts.map +0 -1
  543. package/dist/browser/react/mount-context.js +0 -24
  544. package/dist/browser/react/mount-context.js.map +0 -1
  545. package/dist/browser/react/use-action.d.ts +0 -64
  546. package/dist/browser/react/use-action.d.ts.map +0 -1
  547. package/dist/browser/react/use-action.js +0 -134
  548. package/dist/browser/react/use-action.js.map +0 -1
  549. package/dist/browser/react/use-client-cache.d.ts +0 -41
  550. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  551. package/dist/browser/react/use-client-cache.js +0 -39
  552. package/dist/browser/react/use-client-cache.js.map +0 -1
  553. package/dist/browser/react/use-handle.d.ts +0 -31
  554. package/dist/browser/react/use-handle.d.ts.map +0 -1
  555. package/dist/browser/react/use-handle.js +0 -144
  556. package/dist/browser/react/use-handle.js.map +0 -1
  557. package/dist/browser/react/use-href.d.ts +0 -33
  558. package/dist/browser/react/use-href.d.ts.map +0 -1
  559. package/dist/browser/react/use-href.js +0 -39
  560. package/dist/browser/react/use-href.js.map +0 -1
  561. package/dist/browser/react/use-link-status.d.ts +0 -37
  562. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  563. package/dist/browser/react/use-link-status.js +0 -99
  564. package/dist/browser/react/use-link-status.js.map +0 -1
  565. package/dist/browser/react/use-mount.d.ts +0 -25
  566. package/dist/browser/react/use-mount.d.ts.map +0 -1
  567. package/dist/browser/react/use-mount.js +0 -30
  568. package/dist/browser/react/use-mount.js.map +0 -1
  569. package/dist/browser/react/use-navigation.d.ts +0 -27
  570. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  571. package/dist/browser/react/use-navigation.js +0 -87
  572. package/dist/browser/react/use-navigation.js.map +0 -1
  573. package/dist/browser/react/use-segments.d.ts +0 -38
  574. package/dist/browser/react/use-segments.d.ts.map +0 -1
  575. package/dist/browser/react/use-segments.js +0 -130
  576. package/dist/browser/react/use-segments.js.map +0 -1
  577. package/dist/browser/request-controller.d.ts +0 -26
  578. package/dist/browser/request-controller.d.ts.map +0 -1
  579. package/dist/browser/request-controller.js +0 -147
  580. package/dist/browser/request-controller.js.map +0 -1
  581. package/dist/browser/rsc-router.d.ts +0 -129
  582. package/dist/browser/rsc-router.d.ts.map +0 -1
  583. package/dist/browser/rsc-router.js +0 -195
  584. package/dist/browser/rsc-router.js.map +0 -1
  585. package/dist/browser/scroll-restoration.d.ts +0 -93
  586. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  587. package/dist/browser/scroll-restoration.js +0 -321
  588. package/dist/browser/scroll-restoration.js.map +0 -1
  589. package/dist/browser/segment-structure-assert.d.ts +0 -17
  590. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  591. package/dist/browser/segment-structure-assert.js +0 -59
  592. package/dist/browser/segment-structure-assert.js.map +0 -1
  593. package/dist/browser/server-action-bridge.d.ts +0 -26
  594. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  595. package/dist/browser/server-action-bridge.js +0 -668
  596. package/dist/browser/server-action-bridge.js.map +0 -1
  597. package/dist/browser/shallow.d.ts +0 -12
  598. package/dist/browser/shallow.d.ts.map +0 -1
  599. package/dist/browser/shallow.js +0 -34
  600. package/dist/browser/shallow.js.map +0 -1
  601. package/dist/browser/types.d.ts +0 -369
  602. package/dist/browser/types.d.ts.map +0 -1
  603. package/dist/browser/types.js +0 -2
  604. package/dist/browser/types.js.map +0 -1
  605. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  606. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  607. package/dist/build/__tests__/generate-cli.test.js +0 -237
  608. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  609. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  610. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  611. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  612. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  613. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  614. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  615. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  616. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  617. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  618. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  619. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  620. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  621. package/dist/build/generate-manifest.d.ts +0 -81
  622. package/dist/build/generate-manifest.d.ts.map +0 -1
  623. package/dist/build/generate-manifest.js +0 -276
  624. package/dist/build/generate-manifest.js.map +0 -1
  625. package/dist/build/generate-route-types.d.ts +0 -115
  626. package/dist/build/generate-route-types.d.ts.map +0 -1
  627. package/dist/build/generate-route-types.js +0 -740
  628. package/dist/build/generate-route-types.js.map +0 -1
  629. package/dist/build/index.d.ts +0 -21
  630. package/dist/build/index.d.ts.map +0 -1
  631. package/dist/build/index.js +0 -21
  632. package/dist/build/index.js.map +0 -1
  633. package/dist/build/route-trie.d.ts +0 -71
  634. package/dist/build/route-trie.d.ts.map +0 -1
  635. package/dist/build/route-trie.js +0 -175
  636. package/dist/build/route-trie.js.map +0 -1
  637. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  638. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  639. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  640. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  641. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  642. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  643. package/dist/cache/__tests__/document-cache.test.js +0 -345
  644. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  645. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  646. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  647. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  648. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  649. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  650. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  651. package/dist/cache/__tests__/memory-store.test.js +0 -367
  652. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  653. package/dist/cache/cache-scope.d.ts +0 -102
  654. package/dist/cache/cache-scope.d.ts.map +0 -1
  655. package/dist/cache/cache-scope.js +0 -440
  656. package/dist/cache/cache-scope.js.map +0 -1
  657. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  658. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  659. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  660. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  661. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  662. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  663. package/dist/cache/cf/cf-cache-store.js +0 -242
  664. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  665. package/dist/cache/cf/index.d.ts +0 -14
  666. package/dist/cache/cf/index.d.ts.map +0 -1
  667. package/dist/cache/cf/index.js +0 -17
  668. package/dist/cache/cf/index.js.map +0 -1
  669. package/dist/cache/document-cache.d.ts +0 -64
  670. package/dist/cache/document-cache.d.ts.map +0 -1
  671. package/dist/cache/document-cache.js +0 -228
  672. package/dist/cache/document-cache.js.map +0 -1
  673. package/dist/cache/index.d.ts +0 -19
  674. package/dist/cache/index.d.ts.map +0 -1
  675. package/dist/cache/index.js +0 -21
  676. package/dist/cache/index.js.map +0 -1
  677. package/dist/cache/memory-segment-store.d.ts +0 -110
  678. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  679. package/dist/cache/memory-segment-store.js +0 -117
  680. package/dist/cache/memory-segment-store.js.map +0 -1
  681. package/dist/cache/memory-store.d.ts +0 -41
  682. package/dist/cache/memory-store.d.ts.map +0 -1
  683. package/dist/cache/memory-store.js +0 -191
  684. package/dist/cache/memory-store.js.map +0 -1
  685. package/dist/cache/types.d.ts +0 -317
  686. package/dist/cache/types.d.ts.map +0 -1
  687. package/dist/cache/types.js +0 -12
  688. package/dist/cache/types.js.map +0 -1
  689. package/dist/client.d.ts +0 -248
  690. package/dist/client.d.ts.map +0 -1
  691. package/dist/client.js +0 -367
  692. package/dist/client.js.map +0 -1
  693. package/dist/client.rsc.d.ts +0 -26
  694. package/dist/client.rsc.d.ts.map +0 -1
  695. package/dist/client.rsc.js +0 -46
  696. package/dist/client.rsc.js.map +0 -1
  697. package/dist/component-utils.d.ts +0 -36
  698. package/dist/component-utils.d.ts.map +0 -1
  699. package/dist/component-utils.js +0 -61
  700. package/dist/component-utils.js.map +0 -1
  701. package/dist/components/DefaultDocument.d.ts +0 -13
  702. package/dist/components/DefaultDocument.d.ts.map +0 -1
  703. package/dist/components/DefaultDocument.js +0 -15
  704. package/dist/components/DefaultDocument.js.map +0 -1
  705. package/dist/debug.d.ts +0 -58
  706. package/dist/debug.d.ts.map +0 -1
  707. package/dist/debug.js +0 -157
  708. package/dist/debug.js.map +0 -1
  709. package/dist/default-error-boundary.d.ts +0 -11
  710. package/dist/default-error-boundary.d.ts.map +0 -1
  711. package/dist/default-error-boundary.js +0 -45
  712. package/dist/default-error-boundary.js.map +0 -1
  713. package/dist/deps/browser.d.ts +0 -2
  714. package/dist/deps/browser.d.ts.map +0 -1
  715. package/dist/deps/browser.js +0 -3
  716. package/dist/deps/browser.js.map +0 -1
  717. package/dist/deps/html-stream-client.d.ts +0 -2
  718. package/dist/deps/html-stream-client.d.ts.map +0 -1
  719. package/dist/deps/html-stream-client.js +0 -3
  720. package/dist/deps/html-stream-client.js.map +0 -1
  721. package/dist/deps/html-stream-server.d.ts +0 -2
  722. package/dist/deps/html-stream-server.d.ts.map +0 -1
  723. package/dist/deps/html-stream-server.js +0 -3
  724. package/dist/deps/html-stream-server.js.map +0 -1
  725. package/dist/deps/rsc.d.ts +0 -2
  726. package/dist/deps/rsc.d.ts.map +0 -1
  727. package/dist/deps/rsc.js +0 -4
  728. package/dist/deps/rsc.js.map +0 -1
  729. package/dist/deps/ssr.d.ts +0 -2
  730. package/dist/deps/ssr.d.ts.map +0 -1
  731. package/dist/deps/ssr.js +0 -3
  732. package/dist/deps/ssr.js.map +0 -1
  733. package/dist/errors.d.ts +0 -174
  734. package/dist/errors.d.ts.map +0 -1
  735. package/dist/errors.js +0 -241
  736. package/dist/errors.js.map +0 -1
  737. package/dist/handle.d.ts +0 -78
  738. package/dist/handle.d.ts.map +0 -1
  739. package/dist/handle.js +0 -82
  740. package/dist/handle.js.map +0 -1
  741. package/dist/handles/MetaTags.d.ts +0 -14
  742. package/dist/handles/MetaTags.d.ts.map +0 -1
  743. package/dist/handles/MetaTags.js +0 -136
  744. package/dist/handles/MetaTags.js.map +0 -1
  745. package/dist/handles/index.d.ts +0 -6
  746. package/dist/handles/index.d.ts.map +0 -1
  747. package/dist/handles/index.js +0 -6
  748. package/dist/handles/index.js.map +0 -1
  749. package/dist/handles/meta.d.ts +0 -39
  750. package/dist/handles/meta.d.ts.map +0 -1
  751. package/dist/handles/meta.js +0 -202
  752. package/dist/handles/meta.js.map +0 -1
  753. package/dist/host/__tests__/errors.test.d.ts +0 -2
  754. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  755. package/dist/host/__tests__/errors.test.js +0 -76
  756. package/dist/host/__tests__/errors.test.js.map +0 -1
  757. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  758. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  759. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  760. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  761. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  762. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  763. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  764. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  765. package/dist/host/__tests__/router.test.d.ts +0 -2
  766. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  767. package/dist/host/__tests__/router.test.js +0 -241
  768. package/dist/host/__tests__/router.test.js.map +0 -1
  769. package/dist/host/__tests__/testing.test.d.ts +0 -2
  770. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  771. package/dist/host/__tests__/testing.test.js +0 -64
  772. package/dist/host/__tests__/testing.test.js.map +0 -1
  773. package/dist/host/__tests__/utils.test.d.ts +0 -2
  774. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  775. package/dist/host/__tests__/utils.test.js +0 -29
  776. package/dist/host/__tests__/utils.test.js.map +0 -1
  777. package/dist/host/cookie-handler.d.ts +0 -34
  778. package/dist/host/cookie-handler.d.ts.map +0 -1
  779. package/dist/host/cookie-handler.js +0 -124
  780. package/dist/host/cookie-handler.js.map +0 -1
  781. package/dist/host/errors.d.ts +0 -56
  782. package/dist/host/errors.d.ts.map +0 -1
  783. package/dist/host/errors.js +0 -79
  784. package/dist/host/errors.js.map +0 -1
  785. package/dist/host/index.d.ts +0 -29
  786. package/dist/host/index.d.ts.map +0 -1
  787. package/dist/host/index.js +0 -32
  788. package/dist/host/index.js.map +0 -1
  789. package/dist/host/pattern-matcher.d.ts +0 -36
  790. package/dist/host/pattern-matcher.d.ts.map +0 -1
  791. package/dist/host/pattern-matcher.js +0 -172
  792. package/dist/host/pattern-matcher.js.map +0 -1
  793. package/dist/host/router.d.ts +0 -26
  794. package/dist/host/router.d.ts.map +0 -1
  795. package/dist/host/router.js +0 -218
  796. package/dist/host/router.js.map +0 -1
  797. package/dist/host/testing.d.ts +0 -36
  798. package/dist/host/testing.d.ts.map +0 -1
  799. package/dist/host/testing.js +0 -55
  800. package/dist/host/testing.js.map +0 -1
  801. package/dist/host/types.d.ts +0 -115
  802. package/dist/host/types.d.ts.map +0 -1
  803. package/dist/host/types.js +0 -7
  804. package/dist/host/types.js.map +0 -1
  805. package/dist/host/utils.d.ts +0 -21
  806. package/dist/host/utils.d.ts.map +0 -1
  807. package/dist/host/utils.js +0 -23
  808. package/dist/host/utils.js.map +0 -1
  809. package/dist/href-client.d.ts +0 -131
  810. package/dist/href-client.d.ts.map +0 -1
  811. package/dist/href-client.js +0 -64
  812. package/dist/href-client.js.map +0 -1
  813. package/dist/href-context.d.ts +0 -29
  814. package/dist/href-context.d.ts.map +0 -1
  815. package/dist/href-context.js +0 -21
  816. package/dist/href-context.js.map +0 -1
  817. package/dist/index.d.ts +0 -73
  818. package/dist/index.d.ts.map +0 -1
  819. package/dist/index.js +0 -91
  820. package/dist/index.js.map +0 -1
  821. package/dist/index.rsc.d.ts +0 -32
  822. package/dist/index.rsc.d.ts.map +0 -1
  823. package/dist/index.rsc.js +0 -40
  824. package/dist/index.rsc.js.map +0 -1
  825. package/dist/internal-debug.d.ts +0 -2
  826. package/dist/internal-debug.d.ts.map +0 -1
  827. package/dist/internal-debug.js +0 -5
  828. package/dist/internal-debug.js.map +0 -1
  829. package/dist/loader.d.ts +0 -14
  830. package/dist/loader.d.ts.map +0 -1
  831. package/dist/loader.js +0 -20
  832. package/dist/loader.js.map +0 -1
  833. package/dist/loader.rsc.d.ts +0 -19
  834. package/dist/loader.rsc.d.ts.map +0 -1
  835. package/dist/loader.rsc.js +0 -99
  836. package/dist/loader.rsc.js.map +0 -1
  837. package/dist/network-error-thrower.d.ts +0 -17
  838. package/dist/network-error-thrower.d.ts.map +0 -1
  839. package/dist/network-error-thrower.js +0 -14
  840. package/dist/network-error-thrower.js.map +0 -1
  841. package/dist/outlet-context.d.ts +0 -13
  842. package/dist/outlet-context.d.ts.map +0 -1
  843. package/dist/outlet-context.js +0 -3
  844. package/dist/outlet-context.js.map +0 -1
  845. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  846. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  847. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  848. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  849. package/dist/prerender/param-hash.d.ts +0 -16
  850. package/dist/prerender/param-hash.d.ts.map +0 -1
  851. package/dist/prerender/param-hash.js +0 -36
  852. package/dist/prerender/param-hash.js.map +0 -1
  853. package/dist/prerender/store.d.ts +0 -38
  854. package/dist/prerender/store.d.ts.map +0 -1
  855. package/dist/prerender/store.js +0 -61
  856. package/dist/prerender/store.js.map +0 -1
  857. package/dist/prerender.d.ts +0 -66
  858. package/dist/prerender.d.ts.map +0 -1
  859. package/dist/prerender.js +0 -57
  860. package/dist/prerender.js.map +0 -1
  861. package/dist/reverse.d.ts +0 -196
  862. package/dist/reverse.d.ts.map +0 -1
  863. package/dist/reverse.js +0 -78
  864. package/dist/reverse.js.map +0 -1
  865. package/dist/root-error-boundary.d.ts +0 -33
  866. package/dist/root-error-boundary.d.ts.map +0 -1
  867. package/dist/root-error-boundary.js +0 -165
  868. package/dist/root-error-boundary.js.map +0 -1
  869. package/dist/route-content-wrapper.d.ts +0 -46
  870. package/dist/route-content-wrapper.d.ts.map +0 -1
  871. package/dist/route-content-wrapper.js +0 -77
  872. package/dist/route-content-wrapper.js.map +0 -1
  873. package/dist/route-definition.d.ts +0 -421
  874. package/dist/route-definition.d.ts.map +0 -1
  875. package/dist/route-definition.js +0 -868
  876. package/dist/route-definition.js.map +0 -1
  877. package/dist/route-map-builder.d.ts +0 -155
  878. package/dist/route-map-builder.d.ts.map +0 -1
  879. package/dist/route-map-builder.js +0 -237
  880. package/dist/route-map-builder.js.map +0 -1
  881. package/dist/route-types.d.ts +0 -165
  882. package/dist/route-types.d.ts.map +0 -1
  883. package/dist/route-types.js +0 -7
  884. package/dist/route-types.js.map +0 -1
  885. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  886. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  887. package/dist/router/__tests__/handler-context.test.js +0 -65
  888. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  889. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  890. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  891. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  892. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  893. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  894. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  895. package/dist/router/__tests__/match-context.test.js +0 -92
  896. package/dist/router/__tests__/match-context.test.js.map +0 -1
  897. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  898. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  899. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  900. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  901. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  902. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  903. package/dist/router/__tests__/match-result.test.js +0 -457
  904. package/dist/router/__tests__/match-result.test.js.map +0 -1
  905. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  906. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  907. package/dist/router/__tests__/on-error.test.js +0 -678
  908. package/dist/router/__tests__/on-error.test.js.map +0 -1
  909. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  910. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  911. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  912. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  913. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  914. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  915. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  916. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  917. package/dist/router/error-handling.d.ts +0 -77
  918. package/dist/router/error-handling.d.ts.map +0 -1
  919. package/dist/router/error-handling.js +0 -202
  920. package/dist/router/error-handling.js.map +0 -1
  921. package/dist/router/handler-context.d.ts +0 -20
  922. package/dist/router/handler-context.d.ts.map +0 -1
  923. package/dist/router/handler-context.js +0 -198
  924. package/dist/router/handler-context.js.map +0 -1
  925. package/dist/router/intercept-resolution.d.ts +0 -66
  926. package/dist/router/intercept-resolution.d.ts.map +0 -1
  927. package/dist/router/intercept-resolution.js +0 -246
  928. package/dist/router/intercept-resolution.js.map +0 -1
  929. package/dist/router/loader-resolution.d.ts +0 -64
  930. package/dist/router/loader-resolution.d.ts.map +0 -1
  931. package/dist/router/loader-resolution.js +0 -284
  932. package/dist/router/loader-resolution.js.map +0 -1
  933. package/dist/router/logging.d.ts +0 -15
  934. package/dist/router/logging.d.ts.map +0 -1
  935. package/dist/router/logging.js +0 -99
  936. package/dist/router/logging.js.map +0 -1
  937. package/dist/router/manifest.d.ts +0 -22
  938. package/dist/router/manifest.d.ts.map +0 -1
  939. package/dist/router/manifest.js +0 -181
  940. package/dist/router/manifest.js.map +0 -1
  941. package/dist/router/match-api.d.ts +0 -35
  942. package/dist/router/match-api.d.ts.map +0 -1
  943. package/dist/router/match-api.js +0 -406
  944. package/dist/router/match-api.js.map +0 -1
  945. package/dist/router/match-context.d.ts +0 -206
  946. package/dist/router/match-context.d.ts.map +0 -1
  947. package/dist/router/match-context.js +0 -17
  948. package/dist/router/match-context.js.map +0 -1
  949. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  950. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  951. package/dist/router/match-middleware/background-revalidation.js +0 -75
  952. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  953. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  954. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  955. package/dist/router/match-middleware/cache-lookup.js +0 -257
  956. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  957. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  958. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  959. package/dist/router/match-middleware/cache-store.js +0 -108
  960. package/dist/router/match-middleware/cache-store.js.map +0 -1
  961. package/dist/router/match-middleware/index.d.ts +0 -81
  962. package/dist/router/match-middleware/index.d.ts.map +0 -1
  963. package/dist/router/match-middleware/index.js +0 -80
  964. package/dist/router/match-middleware/index.js.map +0 -1
  965. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  966. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  967. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  968. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  969. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  970. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  971. package/dist/router/match-middleware/segment-resolution.js +0 -53
  972. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  973. package/dist/router/match-pipelines.d.ts +0 -147
  974. package/dist/router/match-pipelines.d.ts.map +0 -1
  975. package/dist/router/match-pipelines.js +0 -82
  976. package/dist/router/match-pipelines.js.map +0 -1
  977. package/dist/router/match-result.d.ts +0 -126
  978. package/dist/router/match-result.d.ts.map +0 -1
  979. package/dist/router/match-result.js +0 -93
  980. package/dist/router/match-result.js.map +0 -1
  981. package/dist/router/metrics.d.ts +0 -20
  982. package/dist/router/metrics.d.ts.map +0 -1
  983. package/dist/router/metrics.js +0 -47
  984. package/dist/router/metrics.js.map +0 -1
  985. package/dist/router/middleware.d.ts +0 -249
  986. package/dist/router/middleware.d.ts.map +0 -1
  987. package/dist/router/middleware.js +0 -434
  988. package/dist/router/middleware.js.map +0 -1
  989. package/dist/router/middleware.test.d.ts +0 -2
  990. package/dist/router/middleware.test.d.ts.map +0 -1
  991. package/dist/router/middleware.test.js +0 -816
  992. package/dist/router/middleware.test.js.map +0 -1
  993. package/dist/router/pattern-matching.d.ts +0 -149
  994. package/dist/router/pattern-matching.d.ts.map +0 -1
  995. package/dist/router/pattern-matching.js +0 -349
  996. package/dist/router/pattern-matching.js.map +0 -1
  997. package/dist/router/revalidation.d.ts +0 -44
  998. package/dist/router/revalidation.d.ts.map +0 -1
  999. package/dist/router/revalidation.js +0 -147
  1000. package/dist/router/revalidation.js.map +0 -1
  1001. package/dist/router/router-context.d.ts +0 -135
  1002. package/dist/router/router-context.d.ts.map +0 -1
  1003. package/dist/router/router-context.js +0 -36
  1004. package/dist/router/router-context.js.map +0 -1
  1005. package/dist/router/segment-resolution.d.ts +0 -127
  1006. package/dist/router/segment-resolution.d.ts.map +0 -1
  1007. package/dist/router/segment-resolution.js +0 -919
  1008. package/dist/router/segment-resolution.js.map +0 -1
  1009. package/dist/router/trie-matching.d.ts +0 -40
  1010. package/dist/router/trie-matching.d.ts.map +0 -1
  1011. package/dist/router/trie-matching.js +0 -127
  1012. package/dist/router/trie-matching.js.map +0 -1
  1013. package/dist/router/types.d.ts +0 -136
  1014. package/dist/router/types.d.ts.map +0 -1
  1015. package/dist/router/types.js +0 -7
  1016. package/dist/router/types.js.map +0 -1
  1017. package/dist/router.d.ts +0 -753
  1018. package/dist/router.d.ts.map +0 -1
  1019. package/dist/router.gen.d.ts +0 -6
  1020. package/dist/router.gen.d.ts.map +0 -1
  1021. package/dist/router.gen.js +0 -6
  1022. package/dist/router.gen.js.map +0 -1
  1023. package/dist/router.js +0 -1304
  1024. package/dist/router.js.map +0 -1
  1025. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  1026. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  1027. package/dist/rsc/__tests__/helpers.test.js +0 -140
  1028. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  1029. package/dist/rsc/handler.d.ts +0 -45
  1030. package/dist/rsc/handler.d.ts.map +0 -1
  1031. package/dist/rsc/handler.js +0 -1172
  1032. package/dist/rsc/handler.js.map +0 -1
  1033. package/dist/rsc/helpers.d.ts +0 -16
  1034. package/dist/rsc/helpers.d.ts.map +0 -1
  1035. package/dist/rsc/helpers.js +0 -55
  1036. package/dist/rsc/helpers.js.map +0 -1
  1037. package/dist/rsc/index.d.ts +0 -22
  1038. package/dist/rsc/index.d.ts.map +0 -1
  1039. package/dist/rsc/index.js +0 -23
  1040. package/dist/rsc/index.js.map +0 -1
  1041. package/dist/rsc/nonce.d.ts +0 -9
  1042. package/dist/rsc/nonce.d.ts.map +0 -1
  1043. package/dist/rsc/nonce.js +0 -18
  1044. package/dist/rsc/nonce.js.map +0 -1
  1045. package/dist/rsc/types.d.ts +0 -206
  1046. package/dist/rsc/types.d.ts.map +0 -1
  1047. package/dist/rsc/types.js +0 -8
  1048. package/dist/rsc/types.js.map +0 -1
  1049. package/dist/search-params.d.ts +0 -103
  1050. package/dist/search-params.d.ts.map +0 -1
  1051. package/dist/search-params.js +0 -74
  1052. package/dist/search-params.js.map +0 -1
  1053. package/dist/segment-system.d.ts +0 -75
  1054. package/dist/segment-system.d.ts.map +0 -1
  1055. package/dist/segment-system.js +0 -336
  1056. package/dist/segment-system.js.map +0 -1
  1057. package/dist/server/context.d.ts +0 -245
  1058. package/dist/server/context.d.ts.map +0 -1
  1059. package/dist/server/context.js +0 -197
  1060. package/dist/server/context.js.map +0 -1
  1061. package/dist/server/fetchable-loader-store.d.ts +0 -18
  1062. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  1063. package/dist/server/fetchable-loader-store.js +0 -18
  1064. package/dist/server/fetchable-loader-store.js.map +0 -1
  1065. package/dist/server/handle-store.d.ts +0 -85
  1066. package/dist/server/handle-store.d.ts.map +0 -1
  1067. package/dist/server/handle-store.js +0 -142
  1068. package/dist/server/handle-store.js.map +0 -1
  1069. package/dist/server/loader-registry.d.ts +0 -55
  1070. package/dist/server/loader-registry.d.ts.map +0 -1
  1071. package/dist/server/loader-registry.js +0 -132
  1072. package/dist/server/loader-registry.js.map +0 -1
  1073. package/dist/server/request-context.d.ts +0 -226
  1074. package/dist/server/request-context.d.ts.map +0 -1
  1075. package/dist/server/request-context.js +0 -290
  1076. package/dist/server/request-context.js.map +0 -1
  1077. package/dist/server/root-layout.d.ts +0 -4
  1078. package/dist/server/root-layout.d.ts.map +0 -1
  1079. package/dist/server/root-layout.js +0 -5
  1080. package/dist/server/root-layout.js.map +0 -1
  1081. package/dist/server.d.ts +0 -15
  1082. package/dist/server.d.ts.map +0 -1
  1083. package/dist/server.js +0 -20
  1084. package/dist/server.js.map +0 -1
  1085. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  1086. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  1087. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  1088. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  1089. package/dist/ssr/index.d.ts +0 -98
  1090. package/dist/ssr/index.d.ts.map +0 -1
  1091. package/dist/ssr/index.js +0 -158
  1092. package/dist/ssr/index.js.map +0 -1
  1093. package/dist/static-handler.d.ts +0 -50
  1094. package/dist/static-handler.d.ts.map +0 -1
  1095. package/dist/static-handler.gen.d.ts +0 -5
  1096. package/dist/static-handler.gen.d.ts.map +0 -1
  1097. package/dist/static-handler.gen.js +0 -5
  1098. package/dist/static-handler.gen.js.map +0 -1
  1099. package/dist/static-handler.js +0 -29
  1100. package/dist/static-handler.js.map +0 -1
  1101. package/dist/theme/ThemeProvider.d.ts +0 -20
  1102. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  1103. package/dist/theme/ThemeProvider.js +0 -240
  1104. package/dist/theme/ThemeProvider.js.map +0 -1
  1105. package/dist/theme/ThemeScript.d.ts +0 -48
  1106. package/dist/theme/ThemeScript.d.ts.map +0 -1
  1107. package/dist/theme/ThemeScript.js +0 -13
  1108. package/dist/theme/ThemeScript.js.map +0 -1
  1109. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  1110. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  1111. package/dist/theme/__tests__/theme.test.js +0 -103
  1112. package/dist/theme/__tests__/theme.test.js.map +0 -1
  1113. package/dist/theme/constants.d.ts +0 -29
  1114. package/dist/theme/constants.d.ts.map +0 -1
  1115. package/dist/theme/constants.js +0 -48
  1116. package/dist/theme/constants.js.map +0 -1
  1117. package/dist/theme/index.d.ts +0 -31
  1118. package/dist/theme/index.d.ts.map +0 -1
  1119. package/dist/theme/index.js +0 -36
  1120. package/dist/theme/index.js.map +0 -1
  1121. package/dist/theme/theme-context.d.ts +0 -40
  1122. package/dist/theme/theme-context.d.ts.map +0 -1
  1123. package/dist/theme/theme-context.js +0 -60
  1124. package/dist/theme/theme-context.js.map +0 -1
  1125. package/dist/theme/theme-script.d.ts +0 -27
  1126. package/dist/theme/theme-script.d.ts.map +0 -1
  1127. package/dist/theme/theme-script.js +0 -147
  1128. package/dist/theme/theme-script.js.map +0 -1
  1129. package/dist/theme/types.d.ts +0 -163
  1130. package/dist/theme/types.d.ts.map +0 -1
  1131. package/dist/theme/types.js +0 -11
  1132. package/dist/theme/types.js.map +0 -1
  1133. package/dist/theme/use-theme.d.ts +0 -12
  1134. package/dist/theme/use-theme.d.ts.map +0 -1
  1135. package/dist/theme/use-theme.js +0 -40
  1136. package/dist/theme/use-theme.js.map +0 -1
  1137. package/dist/types.d.ts +0 -1479
  1138. package/dist/types.d.ts.map +0 -1
  1139. package/dist/types.js +0 -10
  1140. package/dist/types.js.map +0 -1
  1141. package/dist/urls.d.ts +0 -441
  1142. package/dist/urls.d.ts.map +0 -1
  1143. package/dist/urls.gen.d.ts +0 -8
  1144. package/dist/urls.gen.d.ts.map +0 -1
  1145. package/dist/urls.gen.js +0 -8
  1146. package/dist/urls.gen.js.map +0 -1
  1147. package/dist/urls.js +0 -443
  1148. package/dist/urls.js.map +0 -1
  1149. package/dist/use-loader.d.ts +0 -127
  1150. package/dist/use-loader.d.ts.map +0 -1
  1151. package/dist/use-loader.js +0 -237
  1152. package/dist/use-loader.js.map +0 -1
  1153. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  1154. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  1155. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  1156. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  1157. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  1158. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  1159. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  1160. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  1161. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  1162. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  1163. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  1164. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  1165. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  1166. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  1167. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  1168. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  1169. package/dist/vite/ast-handler-extract.d.ts +0 -49
  1170. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  1171. package/dist/vite/ast-handler-extract.js +0 -249
  1172. package/dist/vite/ast-handler-extract.js.map +0 -1
  1173. package/dist/vite/expose-action-id.d.ts +0 -19
  1174. package/dist/vite/expose-action-id.d.ts.map +0 -1
  1175. package/dist/vite/expose-action-id.js +0 -250
  1176. package/dist/vite/expose-action-id.js.map +0 -1
  1177. package/dist/vite/expose-id-utils.d.ts +0 -69
  1178. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  1179. package/dist/vite/expose-id-utils.js +0 -289
  1180. package/dist/vite/expose-id-utils.js.map +0 -1
  1181. package/dist/vite/expose-internal-ids.d.ts +0 -22
  1182. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  1183. package/dist/vite/expose-internal-ids.js +0 -886
  1184. package/dist/vite/expose-internal-ids.js.map +0 -1
  1185. package/dist/vite/index.d.ts +0 -149
  1186. package/dist/vite/index.d.ts.map +0 -1
  1187. package/dist/vite/index.js.map +0 -1
  1188. package/dist/vite/index.named-routes.gen.ts +0 -103
  1189. package/dist/vite/package-resolution.d.ts +0 -43
  1190. package/dist/vite/package-resolution.d.ts.map +0 -1
  1191. package/dist/vite/package-resolution.js +0 -112
  1192. package/dist/vite/package-resolution.js.map +0 -1
  1193. package/dist/vite/virtual-entries.d.ts +0 -25
  1194. package/dist/vite/virtual-entries.d.ts.map +0 -1
  1195. package/dist/vite/virtual-entries.js +0 -110
  1196. package/dist/vite/virtual-entries.js.map +0 -1
  1197. package/src/browser/action-response-classifier.ts +0 -99
  1198. package/src/browser/react/use-client-cache.ts +0 -58
  1199. package/src/browser/shallow.ts +0 -40
  1200. package/src/handles/index.ts +0 -7
  1201. package/src/network-error-thrower.tsx +0 -23
  1202. package/src/router/middleware-cookies.ts +0 -55
@@ -5,18 +5,19 @@ import {
5
5
  runWithRequestContext,
6
6
  type RequestContext,
7
7
  } from "../server/request-context.js";
8
- import { contextGet, contextSet } from "../context-var.js";
8
+ import { contextGet, contextSet, hasContextVars } from "../context-var.js";
9
9
  import {
10
10
  createPrerenderContext,
11
11
  createStaticContext,
12
12
  createReverseFunction,
13
13
  } from "./handler-context.js";
14
- import { isPrerenderPassthrough } from "../prerender.js";
14
+ import { detectPrerenderPassthrough } from "../prerender.js";
15
15
  import { isRouteRootScoped } from "../route-map-builder.js";
16
16
  import { setupBuildUse } from "./loader-resolution.js";
17
17
  import { loadManifest } from "./manifest.js";
18
18
  import { traverseBack } from "./pattern-matching.js";
19
19
  import type { RouterContext } from "./router-context.js";
20
+ import type { ResolveSegmentOptions } from "./segment-resolution.js";
20
21
  import { runWithRouterContext } from "./router-context.js";
21
22
  import type { EntryData, InterceptEntry } from "../server/context";
22
23
  import type {
@@ -40,7 +41,7 @@ export interface PrerenderMatchDeps<TEnv = any> {
40
41
  params: Record<string, string>,
41
42
  context: HandlerContext<any, TEnv>,
42
43
  loaderPromises: Map<string, Promise<any>>,
43
- options?: { skipLoaders?: boolean },
44
+ options?: ResolveSegmentOptions,
44
45
  ) => Promise<ResolvedSegment[]>;
45
46
  }
46
47
 
@@ -54,13 +55,21 @@ export async function matchForPrerender<TEnv = any>(
54
55
  deps: PrerenderMatchDeps<TEnv>,
55
56
  buildVars?: Record<string, any>,
56
57
  isPassthroughRoute?: boolean,
58
+ buildEnv?: TEnv,
59
+ /** Dev-only: check getParams() for passthrough routes to skip unknown params. */
60
+ devMode?: boolean,
57
61
  ): Promise<{
58
62
  segments: SerializedSegmentData[];
59
- handles: Record<string, SegmentHandleData>;
63
+ /** RSC-encoded handle map ("" when none) — see handle-snapshot.ts. Encoded in
64
+ * the producer (where the Flight codec resolves) so the node-side build/dev
65
+ * sinks can persist it without touching the codec. */
66
+ handles: string;
60
67
  routeName: string;
61
68
  params: Record<string, string>;
62
69
  interceptSegments?: SerializedSegmentData[];
63
- interceptHandles?: Record<string, SegmentHandleData>;
70
+ /** RSC-encoded MERGED (main + intercept) handle map for the intercept artifact;
71
+ * the sinks store it as-is (no longer merge raw records). */
72
+ interceptHandles?: string;
64
73
  passthrough?: true;
65
74
  } | null> {
66
75
  // 1. Find the matching route entry
@@ -74,6 +83,17 @@ export async function matchForPrerender<TEnv = any>(
74
83
  // Build RouterContext for loadManifest/traverseBack
75
84
  const routerCtx = deps.buildRouterContext();
76
85
 
86
+ // Passthrough sentinel result: an unknown-param Passthrough route falls
87
+ // through to the live handler at runtime, so no artifact is baked. A fresh
88
+ // object is returned per call (no site mutates or identity-compares it).
89
+ const passthroughResult = () => ({
90
+ segments: [],
91
+ handles: "",
92
+ routeName: matched.routeKey,
93
+ params: matchedParams,
94
+ passthrough: true as const,
95
+ });
96
+
77
97
  return runWithRouterContext(routerCtx, async () => {
78
98
  // 2. Load the manifest entry tree
79
99
  const manifestEntry = await loadManifest(
@@ -90,21 +110,91 @@ export async function matchForPrerender<TEnv = any>(
90
110
  entries.push(entry);
91
111
  }
92
112
 
113
+ // 3b. Dev-mode passthrough shortcut: if the route is a Passthrough route
114
+ // and has getParams(), check if the matched params are in the known list.
115
+ // In production, only known params are pre-rendered; unknown params fall
116
+ // through to the live handler. Mirror that behavior in dev mode to avoid
117
+ // rendering unknown params with build: true.
118
+ // Vars collected from getParams() probe — merged into render context below.
119
+ let devProbeBuildVars: Record<string, any> | undefined;
120
+
121
+ if (devMode && matchedPassthroughRoute) {
122
+ const routeEntry = entries.find(
123
+ (
124
+ e,
125
+ ): e is EntryData & {
126
+ type: "route";
127
+ prerenderDef: { getParams: (ctx: any) => Promise<any[]> | any[] };
128
+ } =>
129
+ e.type === "route" &&
130
+ !!(e as any).isPassthrough &&
131
+ !!(e as any).prerenderDef?.getParams,
132
+ );
133
+ if (routeEntry) {
134
+ try {
135
+ const probeBuildVars: Record<string, any> = {};
136
+ const knownParamsList = await routeEntry.prerenderDef.getParams({
137
+ build: true as const,
138
+ dev: true,
139
+ set: ((keyOrVar: any, value: any) => {
140
+ contextSet(probeBuildVars, keyOrVar, value);
141
+ }) as any,
142
+ reverse: createReverseFunction(deps.mergedRouteMap),
143
+ get env() {
144
+ if (buildEnv !== undefined) return buildEnv;
145
+ throw new Error(
146
+ "[rango] ctx.env is not available during dev-mode getParams(). " +
147
+ "Configure buildEnv in your rango() plugin options to enable build-time env access.",
148
+ );
149
+ },
150
+ });
151
+ // Compare only the keys returned by getParams — ignore mount params
152
+ // from include() prefixes that aren't part of the handler's params.
153
+ const isKnown = knownParamsList.some((known: Record<string, any>) => {
154
+ const knownKeys = Object.keys(known);
155
+ return knownKeys.every(
156
+ (k) => String(known[k]) === String(matchedParams[k]),
157
+ );
158
+ });
159
+ if (!isKnown) {
160
+ return passthroughResult();
161
+ }
162
+ // Preserve vars set by getParams() for the render context
163
+ if (hasContextVars(probeBuildVars)) {
164
+ devProbeBuildVars = probeBuildVars;
165
+ }
166
+ } catch (err: any) {
167
+ // Mirror production semantics (prerender-collection.ts):
168
+ // Skip errors are intentional — treat as passthrough.
169
+ // All other errors propagate so dev surfaces them.
170
+ if (err?.name === "Skip") {
171
+ return passthroughResult();
172
+ }
173
+ throw err;
174
+ }
175
+ }
176
+ }
177
+
93
178
  // 4. Create handle store for collecting handle data
94
179
  const handleStore = createHandleStore();
95
180
 
96
181
  // 5. Create a minimal request context with the handle store
97
- // Shallow-copy getParams vars so each param set is independent
98
- const variables: Record<string, any> = buildVars ? { ...buildVars } : {};
182
+ // Shallow-copy getParams vars so each param set is independent.
183
+ // In dev mode, merge vars from the getParams() probe if the caller
184
+ // didn't provide buildVars (production passes them from expandPrerenderRoutes).
185
+ const effectiveBuildVars = buildVars ?? devProbeBuildVars;
186
+ const variables: Record<string, any> = effectiveBuildVars
187
+ ? { ...effectiveBuildVars }
188
+ : {};
99
189
  const stubRes = new Response(null, { status: 200 });
100
190
  const minimalRequestContext: RequestContext<TEnv> = {
101
- env: {} as TEnv,
191
+ env: buildEnv ?? ({} as TEnv),
102
192
  request: new Request("http://prerender" + pathname),
103
193
  url: new URL("http://prerender" + pathname),
104
194
  originalUrl: new URL("http://prerender" + pathname),
105
195
  pathname,
106
196
  searchParams: new URLSearchParams(),
107
- var: variables,
197
+ _variables: variables,
108
198
  get: ((keyOrVar: any) => contextGet(variables, keyOrVar)) as any,
109
199
  set: ((keyOrVar: any, value: any) => {
110
200
  contextSet(variables, keyOrVar, value);
@@ -118,16 +208,21 @@ export async function matchForPrerender<TEnv = any>(
118
208
  header: () => {},
119
209
  setStatus: () => {},
120
210
  _setStatus: () => {},
211
+ _rotateStateCookie: () => {},
212
+ _setKeepCacheDirective: () => {},
121
213
  use: (() => {
122
214
  throw new Error("use() not available during pre-rendering");
123
215
  }) as any,
124
216
  method: "GET",
125
217
  _handleStore: handleStore,
218
+ _requestTags: new Set<string>(),
126
219
  waitUntil: () => {},
127
220
  onResponse: () => {},
128
221
  _onResponseCallbacks: [],
129
222
  setLocationState() {},
130
223
  _locationState: undefined,
224
+ _renderBarrier: Promise.resolve(),
225
+ _resolveRenderBarrier: () => {},
131
226
  _reportedErrors: new WeakSet<object>(),
132
227
  reverse: createReverseFunction(
133
228
  deps.mergedRouteMap,
@@ -140,7 +235,7 @@ export async function matchForPrerender<TEnv = any>(
140
235
  return runWithRequestContext(minimalRequestContext, async () => {
141
236
  // 6. Create prerender context with synthetic URL.
142
237
  // Prerender handlers get params, pathname, url, searchParams, search,
143
- // reverse, and use(handle) but no request, env, headers, or cookies.
238
+ // reverse, use(handle), and optionally env (when buildEnv is configured).
144
239
  const buildCtx = createPrerenderContext<TEnv>(
145
240
  matchedParams,
146
241
  pathname,
@@ -148,6 +243,8 @@ export async function matchForPrerender<TEnv = any>(
148
243
  matched.routeKey,
149
244
  variables,
150
245
  matchedPassthroughRoute,
246
+ buildEnv,
247
+ devMode,
151
248
  );
152
249
 
153
250
  // 7. Wire use() for handles only (loaders throw)
@@ -161,20 +258,18 @@ export async function matchForPrerender<TEnv = any>(
161
258
  matchedParams,
162
259
  buildCtx,
163
260
  loaderPromises,
164
- { skipLoaders: true },
261
+ // throwOnError: a render failure (or `throw new Skip()`) must reach the
262
+ // build/dev caller, not be baked into a frozen error page (issue #587).
263
+ { skipLoaders: true, throwOnError: true },
165
264
  );
166
265
 
167
- // 9. Detect passthrough sentinel: handler returned ctx.passthrough()
168
- for (const seg of allSegments) {
169
- if (isPrerenderPassthrough(seg.component)) {
170
- return {
171
- segments: [],
172
- handles: {},
173
- routeName: matched.routeKey,
174
- params: matchedParams,
175
- passthrough: true as const,
176
- };
177
- }
266
+ // 9. Detect passthrough sentinel: handler returned ctx.passthrough().
267
+ // When the route declares loading(), the handler result is deferred so the
268
+ // component is a thenable resolving to the sentinel — detectPrerenderPassthrough
269
+ // resolves thenables before testing (a sync check would miss it and bake a
270
+ // corrupt artifact).
271
+ if (await detectPrerenderPassthrough(allSegments)) {
272
+ return passthroughResult();
178
273
  }
179
274
 
180
275
  // 10. Filter out any loader segments (belt-and-suspenders)
@@ -186,16 +281,22 @@ export async function matchForPrerender<TEnv = any>(
186
281
 
187
282
  // 12. Serialize segments using the cache serializer
188
283
  const { serializeSegments } = await import("../cache/segment-codec.js");
284
+ const { encodeHandles } = await import("../cache/handle-snapshot.js");
189
285
  const serializedSegments = await serializeSegments(nonLoaderSegments);
190
286
 
191
- // 13. Collect handle data per segment (skip segments with no handle data)
192
- const handles: Record<string, SegmentHandleData> = {};
287
+ // 13. Collect handle data per segment (skip segments with no handle data).
288
+ // Encoded through the Flight codec (not stored raw) so Promise/ReactNode
289
+ // handle values survive the JSON-serialized build artifact / dev wire —
290
+ // the same fix the runtime cache uses. Encode happens here, in the RSC
291
+ // environment where the codec resolves; the node-side sinks only persist.
292
+ const handlesRecord: Record<string, SegmentHandleData> = {};
193
293
  for (const seg of nonLoaderSegments) {
194
294
  const segHandles = handleStore.getDataForSegment(seg.id);
195
295
  if (Object.keys(segHandles).length > 0) {
196
- handles[seg.id] = segHandles;
296
+ handlesRecord[seg.id] = segHandles;
197
297
  }
198
298
  }
299
+ const handles = await encodeHandles(handlesRecord);
199
300
 
200
301
  // Use the trie-level route key (e.g., "docs", "docs.article")
201
302
  const routeName = matched.routeKey;
@@ -205,7 +306,7 @@ export async function matchForPrerender<TEnv = any>(
205
306
  // evaluation -- we pre-render all intercepts unconditionally and let
206
307
  // runtime matching decide which to serve.
207
308
  let interceptSegments: SerializedSegmentData[] | undefined;
208
- let interceptHandles: Record<string, SegmentHandleData> | undefined;
309
+ let interceptHandles: string | undefined;
209
310
 
210
311
  const foundIntercepts: {
211
312
  intercept: InterceptEntry;
@@ -213,24 +314,14 @@ export async function matchForPrerender<TEnv = any>(
213
314
  }[] = [];
214
315
  let current: EntryData | null = manifestEntry;
215
316
  while (current) {
216
- if (current.intercept && current.intercept.length > 0) {
217
- for (const ic of current.intercept) {
317
+ // Flatten the entry and its sibling layouts into one source list, the
318
+ // same traversal findInterceptForRoute uses; the build keeps ALL matches
319
+ // (not just the innermost) and skips when(). intercept/layout are
320
+ // non-optional arrays, so empty ones are a no-op here.
321
+ for (const source of [current, ...current.layout]) {
322
+ for (const ic of source.intercept) {
218
323
  if (ic.routeName === matched.routeKey) {
219
- foundIntercepts.push({ intercept: ic, entry: current });
220
- }
221
- }
222
- }
223
- if (current.layout && current.layout.length > 0) {
224
- for (const siblingLayout of current.layout) {
225
- if (siblingLayout.intercept && siblingLayout.intercept.length > 0) {
226
- for (const ic of siblingLayout.intercept) {
227
- if (ic.routeName === matched.routeKey) {
228
- foundIntercepts.push({
229
- intercept: ic,
230
- entry: siblingLayout,
231
- });
232
- }
233
- }
324
+ foundIntercepts.push({ intercept: ic, entry: source });
234
325
  }
235
326
  }
236
327
  }
@@ -241,6 +332,18 @@ export async function matchForPrerender<TEnv = any>(
241
332
  const interceptResolvedSegments: typeof nonLoaderSegments = [];
242
333
 
243
334
  for (const { intercept, entry: parentEntry } of foundIntercepts) {
335
+ // setupBuildUse keys handle pushes by ctx._currentSegmentId. The main
336
+ // resolveAllSegments pass left it on the route's segment id, so pin it
337
+ // to THIS intercept's slot id before resolving the handler/layout --
338
+ // otherwise the intercept's ctx.use() handle pushes land in the wrong
339
+ // bucket and getDataForSegment(seg.id) below drops them from the baked
340
+ // artifact. Re-pinned per iteration so multiple intercepts targeting
341
+ // the same route each get their own id (mirrors fresh.ts parallel-slot
342
+ // pinning).
343
+ const interceptSegmentId = `${parentEntry.shortCode}.${intercept.slotName}`;
344
+ (buildCtx as InternalHandlerContext<any, TEnv>)._currentSegmentId =
345
+ interceptSegmentId;
346
+
244
347
  // Resolve handler
245
348
  const handlerRaw =
246
349
  typeof intercept.handler === "function"
@@ -267,7 +370,7 @@ export async function matchForPrerender<TEnv = any>(
267
370
  }
268
371
 
269
372
  interceptResolvedSegments.push({
270
- id: `${parentEntry.shortCode}.${intercept.slotName}`,
373
+ id: interceptSegmentId,
271
374
  namespace: `intercept:${intercept.routeName}`,
272
375
  type: "parallel" as const,
273
376
  index: 0,
@@ -287,13 +390,20 @@ export async function matchForPrerender<TEnv = any>(
287
390
  interceptSegments = await serializeSegments(
288
391
  interceptResolvedSegments,
289
392
  );
290
- interceptHandles = {};
393
+ const interceptHandlesRecord: Record<string, SegmentHandleData> = {};
291
394
  for (const seg of interceptResolvedSegments) {
292
395
  const segHandles = handleStore.getDataForSegment(seg.id);
293
396
  if (Object.keys(segHandles).length > 0) {
294
- interceptHandles[seg.id] = segHandles;
397
+ interceptHandlesRecord[seg.id] = segHandles;
295
398
  }
296
399
  }
400
+ // The intercept artifact serves main + intercept segments together, so
401
+ // encode the MERGED handle map here (the sinks no longer merge raw
402
+ // records — they store this pre-encoded string as-is).
403
+ interceptHandles = await encodeHandles({
404
+ ...handlesRecord,
405
+ ...interceptHandlesRecord,
406
+ });
297
407
  }
298
408
  }
299
409
 
@@ -320,7 +430,9 @@ export async function renderStaticSegment<TEnv = any>(
320
430
  handlerId: string,
321
431
  mergedRouteMap: Record<string, string>,
322
432
  routeName?: string,
323
- ): Promise<{ encoded: string; handles: Record<string, unknown[]> } | null> {
433
+ buildEnv?: TEnv,
434
+ devMode?: boolean,
435
+ ): Promise<{ encoded: string; handles: string } | null> {
324
436
  const syntheticUrl = new URL("http://prerender/");
325
437
  const syntheticRequest = new Request(syntheticUrl);
326
438
 
@@ -330,13 +442,13 @@ export async function renderStaticSegment<TEnv = any>(
330
442
  // Minimal request context so setupBuildUse can find the HandleStore
331
443
  const stubRes = new Response(null, { status: 200 });
332
444
  const minimalRequestContext: RequestContext<TEnv> = {
333
- env: {} as TEnv,
445
+ env: buildEnv ?? ({} as TEnv),
334
446
  request: syntheticRequest,
335
447
  url: syntheticUrl,
336
448
  originalUrl: syntheticUrl,
337
449
  pathname: "/",
338
450
  searchParams: syntheticUrl.searchParams,
339
- var: {},
451
+ _variables: {},
340
452
  get: () => undefined as any,
341
453
  set: () => {},
342
454
  params: {},
@@ -348,16 +460,21 @@ export async function renderStaticSegment<TEnv = any>(
348
460
  header: () => {},
349
461
  setStatus: () => {},
350
462
  _setStatus: () => {},
463
+ _rotateStateCookie: () => {},
464
+ _setKeepCacheDirective: () => {},
351
465
  use: (() => {
352
466
  throw new Error("use() not available during static pre-rendering");
353
467
  }) as any,
354
468
  method: "GET",
355
469
  _handleStore: handleStore,
470
+ _requestTags: new Set<string>(),
356
471
  waitUntil: () => {},
357
472
  onResponse: () => {},
358
473
  _onResponseCallbacks: [],
359
474
  setLocationState() {},
360
475
  _locationState: undefined,
476
+ _renderBarrier: Promise.resolve(),
477
+ _resolveRenderBarrier: () => {},
361
478
  _reportedErrors: new WeakSet<object>(),
362
479
  reverse: createReverseFunction(
363
480
  mergedRouteMap,
@@ -368,9 +485,13 @@ export async function renderStaticSegment<TEnv = any>(
368
485
  };
369
486
 
370
487
  return runWithRequestContext(minimalRequestContext, async () => {
371
- // Static handlers get only reverse and use(handle) no URL, params,
372
- // request, env, headers, or cookies.
373
- const buildCtx = createStaticContext<TEnv>(mergedRouteMap, routeName);
488
+ // Static handlers get only reverse, use(handle), and optionally env.
489
+ const buildCtx = createStaticContext<TEnv>(
490
+ mergedRouteMap,
491
+ routeName,
492
+ buildEnv,
493
+ devMode,
494
+ );
374
495
 
375
496
  // Set segment ID so handle pushes are keyed correctly
376
497
  (buildCtx as InternalHandlerContext<any, TEnv>)._currentSegmentId =
@@ -379,23 +500,41 @@ export async function renderStaticSegment<TEnv = any>(
379
500
  setupBuildUse(buildCtx);
380
501
 
381
502
  const raw = await handler(buildCtx);
382
- const component = raw?.type ? raw : raw;
503
+
504
+ // Static handlers must return a ReactNode. A returned Response (e.g. an
505
+ // accidental redirect()) would otherwise be serialized as a corrupt build
506
+ // artifact; fail loudly instead. The fresh/revalidation paths route handler
507
+ // results through handleHandlerResult, which throws Responses; the static
508
+ // build path bypasses that, so guard here.
509
+ if (raw instanceof Response) {
510
+ throw new TypeError(
511
+ `Static handler "${routeName}" returned a Response. Static handlers must return a ReactNode; ` +
512
+ `Responses (redirects, file responses) are not supported during static pre-rendering.`,
513
+ );
514
+ }
383
515
 
384
516
  const segment: ResolvedSegment = {
385
517
  id: handlerId,
386
518
  namespace: handlerId,
387
519
  type: "layout",
388
520
  index: 0,
389
- component,
521
+ component: raw,
390
522
  params: {},
391
523
  belongsToRoute: false,
392
524
  };
393
525
 
394
526
  const { serializeSegments } = await import("../cache/segment-codec.js");
527
+ const { encodeHandleValue } = await import("../cache/handle-snapshot.js");
395
528
  const [serialized] = await serializeSegments([segment]);
396
529
 
397
- // Collect handle data pushed during rendering
398
- const handles = handleStore.getDataForSegment(handlerId);
530
+ // Collect handle data pushed during rendering and Flight-encode it (so
531
+ // Promise/ReactNode handle values survive the JSON build artifact). "" when
532
+ // nothing was pushed.
533
+ const segHandles = handleStore.getDataForSegment(handlerId);
534
+ const handles =
535
+ Object.keys(segHandles).length > 0
536
+ ? await encodeHandleValue(segHandles)
537
+ : "";
399
538
 
400
539
  return { encoded: serialized.encoded, handles };
401
540
  });
@@ -1,15 +1,9 @@
1
- import { loadManifest } from "./manifest.js";
2
- import { traverseBack } from "./pattern-matching.js";
3
- import { collectRouteMiddleware } from "./middleware.js";
4
- import {
5
- parseAcceptTypes,
6
- RSC_RESPONSE_TYPE,
7
- pickNegotiateVariant,
8
- } from "./content-negotiation.js";
1
+ import { negotiateRoute } from "./content-negotiation.js";
9
2
  import { runWithRouterLogContext, withRouterLogScope } from "./logging.js";
10
3
  import type { EntryData } from "../server/context";
11
4
  import type { RouteMatchResult } from "./pattern-matching.js";
12
5
  import type { MiddlewareFn } from "./middleware.js";
6
+ import { resolveRoute } from "./route-snapshot.js";
13
7
 
14
8
  export interface PreviewMatchDeps<TEnv = any> {
15
9
  findMatch: (pathname: string) => RouteMatchResult<TEnv> | null;
@@ -42,110 +36,46 @@ export async function previewMatch<TEnv = any>(
42
36
  const url = new URL(request.url);
43
37
  const pathname = url.pathname;
44
38
 
45
- // Quick route matching
46
- const matched = deps.findMatch(pathname);
47
- if (!matched) {
39
+ // Route resolution via snapshot (lite mode: skip entries/cacheScope
40
+ // since previewMatch only needs matched, manifestEntry, routeMiddleware,
41
+ // and responseType)
42
+ const result = await resolveRoute<TEnv>(pathname, {
43
+ findMatch: deps.findMatch,
44
+ lite: true,
45
+ });
46
+
47
+ if (!result) {
48
48
  return null;
49
49
  }
50
50
 
51
51
  // Skip redirect check - will be handled in full match
52
- if (matched.redirectTo) {
52
+ if (result.type === "redirect") {
53
53
  return { routeMiddleware: undefined };
54
54
  }
55
55
 
56
- // Load manifest (without segment resolution)
57
- const manifestEntry = await loadManifest(
58
- matched.entry,
59
- matched.routeKey,
60
- pathname,
61
- undefined, // No metrics store for preview
62
- false, // isSSR - doesn't matter for preview
63
- );
64
-
65
- // Collect route-level middleware from entry tree
66
- // Includes middleware from orphan layouts (inline layouts within routes)
67
- const routeMiddleware = collectRouteMiddleware(
68
- traverseBack(manifestEntry),
69
- matched.params,
70
- );
71
-
72
- // Check for response type (from trie match or manifest entry)
73
- const responseType =
74
- matched.responseType ||
75
- (manifestEntry.type === "route"
76
- ? manifestEntry.responseType
77
- : undefined);
78
-
79
- // Content negotiation: when negotiate variants exist, pick the best
80
- // handler based on the Accept header. Uses q-values and client order
81
- // as tiebreaker (matching Express/Hono behavior). RSC routes participate
82
- // as text/html candidates so browsers naturally get HTML without
83
- // special-casing.
84
- if (matched.negotiateVariants && matched.negotiateVariants.length > 0) {
85
- const acceptEntries = parseAcceptTypes(
86
- request.headers.get("accept") || "",
87
- );
88
-
89
- // Build candidate list preserving definition order.
90
- // For wildcard (*/*) and no-Accept fallback, the first candidate wins.
91
- const variants = matched.negotiateVariants;
92
- let candidates: Array<{ routeKey: string; responseType: string }>;
93
- if (responseType) {
94
- // Primary is response-type — include it as a candidate
95
- candidates = [
96
- ...variants,
97
- { routeKey: matched.routeKey, responseType },
98
- ];
99
- } else {
100
- // Primary is RSC — insert as text/html candidate in definition order
101
- const rscCandidate = {
102
- routeKey: matched.routeKey,
103
- responseType: RSC_RESPONSE_TYPE,
104
- };
105
- candidates = matched.rscFirst
106
- ? [rscCandidate, ...variants]
107
- : [...variants, rscCandidate];
108
- }
109
-
110
- const variant = pickNegotiateVariant(acceptEntries, candidates);
56
+ const snapshot = result.snapshot;
57
+ const { matched, manifestEntry, routeMiddleware, responseType } =
58
+ snapshot;
111
59
 
112
- // If the winner is RSC, fall through to default RSC handling
113
- if (variant.responseType === RSC_RESPONSE_TYPE) {
114
- // Fall through — RSC won negotiation
115
- } else if (responseType && variant.routeKey === matched.routeKey) {
116
- // Fall through — response-type primary won, already set
117
- } else {
118
- const negotiateEntry = await loadManifest(
119
- matched.entry,
120
- variant.routeKey,
121
- pathname,
122
- undefined,
123
- false,
124
- );
125
- // Recompute middleware from the selected variant's entry tree
126
- // since different variants can have different middleware chains.
127
- const variantMiddleware = collectRouteMiddleware(
128
- traverseBack(negotiateEntry),
129
- matched.params,
130
- );
131
- return {
132
- routeMiddleware:
133
- variantMiddleware.length > 0 ? variantMiddleware : undefined,
134
- responseType: variant.responseType,
135
- handler:
136
- negotiateEntry.type === "route"
137
- ? negotiateEntry.handler
138
- : undefined,
139
- params: matched.params,
140
- negotiated: true,
141
- manifestEntry: negotiateEntry,
142
- routeKey: matched.routeKey,
143
- };
144
- }
60
+ const negotiation = await negotiateRoute(request, pathname, snapshot);
61
+ if (negotiation) {
62
+ return {
63
+ routeMiddleware:
64
+ negotiation.routeMiddleware.length > 0
65
+ ? negotiation.routeMiddleware
66
+ : undefined,
67
+ responseType: negotiation.responseType,
68
+ handler: negotiation.handler,
69
+ params: matched.params,
70
+ manifestEntry: negotiation.manifestEntry,
71
+ routeKey: matched.routeKey,
72
+ // omitted unless a variant negotiated, preserving the prior public
73
+ // shape (absent for plain response routes, not negotiated:false)
74
+ ...(negotiation.negotiated ? { negotiated: true } : {}),
75
+ };
145
76
  }
146
77
 
147
- // If we passed through the negotiation block (variants exist), mark as
148
- // negotiated so the handler sets Vary: Accept on the response.
78
+ // No negotiation or RSC won return default route info
149
79
  const hasVariants =
150
80
  matched.negotiateVariants && matched.negotiateVariants.length > 0;
151
81
  return {