@rangojs/router 0.0.0-experimental.fa8a383a → 0.0.0-experimental.fb6e2f40

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 (916) hide show
  1. package/README.md +76 -18
  2. package/dist/bin/rango.js +130 -47
  3. package/dist/vite/index.js +421 -121
  4. package/package.json +2 -2
  5. package/skills/cache-guide/SKILL.md +32 -0
  6. package/skills/caching/SKILL.md +8 -0
  7. package/skills/links/SKILL.md +3 -1
  8. package/skills/loader/SKILL.md +53 -43
  9. package/skills/middleware/SKILL.md +2 -0
  10. package/skills/parallel/SKILL.md +67 -0
  11. package/skills/prerender/SKILL.md +110 -68
  12. package/skills/route/SKILL.md +31 -0
  13. package/skills/router-setup/SKILL.md +87 -2
  14. package/skills/typesafety/SKILL.md +10 -0
  15. package/src/__internal.ts +1 -1
  16. package/src/browser/app-version.ts +14 -0
  17. package/src/browser/navigation-bridge.ts +16 -3
  18. package/src/browser/navigation-client.ts +64 -40
  19. package/src/browser/navigation-store.ts +43 -8
  20. package/src/browser/partial-update.ts +37 -4
  21. package/src/browser/prefetch/fetch.ts +8 -2
  22. package/src/browser/prefetch/queue.ts +61 -29
  23. package/src/browser/prefetch/resource-ready.ts +77 -0
  24. package/src/browser/react/Link.tsx +44 -8
  25. package/src/browser/react/NavigationProvider.tsx +13 -4
  26. package/src/browser/react/context.ts +7 -2
  27. package/src/browser/react/use-handle.ts +9 -58
  28. package/src/browser/react/use-router.ts +21 -8
  29. package/src/browser/rsc-router.tsx +26 -3
  30. package/src/browser/scroll-restoration.ts +10 -8
  31. package/src/browser/server-action-bridge.ts +8 -6
  32. package/src/browser/types.ts +27 -5
  33. package/src/build/generate-manifest.ts +6 -6
  34. package/src/build/generate-route-types.ts +3 -0
  35. package/src/build/route-types/include-resolution.ts +8 -1
  36. package/src/build/route-types/router-processing.ts +211 -72
  37. package/src/build/route-types/scan-filter.ts +8 -1
  38. package/src/cache/cache-runtime.ts +15 -11
  39. package/src/cache/cache-scope.ts +46 -5
  40. package/src/cache/taint.ts +55 -0
  41. package/src/client.tsx +2 -56
  42. package/src/context-var.ts +72 -2
  43. package/src/handle.ts +40 -0
  44. package/src/index.rsc.ts +3 -1
  45. package/src/index.ts +8 -0
  46. package/src/prerender/store.ts +5 -4
  47. package/src/prerender.ts +138 -77
  48. package/src/reverse.ts +22 -1
  49. package/src/route-definition/dsl-helpers.ts +42 -19
  50. package/src/route-definition/helpers-types.ts +10 -6
  51. package/src/route-definition/index.ts +3 -0
  52. package/src/route-definition/redirect.ts +9 -1
  53. package/src/route-definition/resolve-handler-use.ts +149 -0
  54. package/src/route-types.ts +11 -0
  55. package/src/router/content-negotiation.ts +100 -1
  56. package/src/router/handler-context.ts +79 -23
  57. package/src/router/intercept-resolution.ts +9 -4
  58. package/src/router/loader-resolution.ts +122 -10
  59. package/src/router/match-api.ts +124 -189
  60. package/src/router/match-middleware/background-revalidation.ts +12 -1
  61. package/src/router/match-middleware/cache-lookup.ts +68 -13
  62. package/src/router/match-middleware/cache-store.ts +21 -4
  63. package/src/router/match-middleware/segment-resolution.ts +53 -0
  64. package/src/router/match-result.ts +11 -5
  65. package/src/router/metrics.ts +6 -1
  66. package/src/router/middleware-types.ts +6 -8
  67. package/src/router/middleware.ts +2 -5
  68. package/src/router/navigation-snapshot.ts +182 -0
  69. package/src/router/prerender-match.ts +110 -10
  70. package/src/router/preview-match.ts +30 -102
  71. package/src/router/request-classification.ts +310 -0
  72. package/src/router/route-snapshot.ts +245 -0
  73. package/src/router/router-context.ts +1 -0
  74. package/src/router/router-interfaces.ts +36 -4
  75. package/src/router/router-options.ts +37 -11
  76. package/src/router/segment-resolution/fresh.ts +101 -18
  77. package/src/router/segment-resolution/helpers.ts +29 -24
  78. package/src/router/segment-resolution/revalidation.ts +122 -26
  79. package/src/router/types.ts +1 -0
  80. package/src/router.ts +54 -5
  81. package/src/rsc/handler.ts +460 -377
  82. package/src/rsc/manifest-init.ts +5 -1
  83. package/src/rsc/progressive-enhancement.ts +4 -0
  84. package/src/rsc/rsc-rendering.ts +5 -0
  85. package/src/rsc/server-action.ts +2 -0
  86. package/src/rsc/ssr-setup.ts +2 -2
  87. package/src/rsc/types.ts +8 -1
  88. package/src/server/context.ts +50 -1
  89. package/src/server/loader-registry.ts +9 -8
  90. package/src/server/request-context.ts +146 -14
  91. package/src/ssr/index.tsx +3 -0
  92. package/src/static-handler.ts +18 -6
  93. package/src/types/cache-types.ts +4 -4
  94. package/src/types/handler-context.ts +137 -33
  95. package/src/types/loader-types.ts +36 -9
  96. package/src/types/route-entry.ts +1 -1
  97. package/src/urls/path-helper-types.ts +9 -2
  98. package/src/urls/path-helper.ts +47 -12
  99. package/src/urls/pattern-types.ts +12 -0
  100. package/src/urls/response-types.ts +16 -6
  101. package/src/use-loader.tsx +73 -4
  102. package/src/vite/discovery/bundle-postprocess.ts +30 -33
  103. package/src/vite/discovery/discover-routers.ts +5 -1
  104. package/src/vite/discovery/prerender-collection.ts +14 -1
  105. package/src/vite/discovery/state.ts +13 -4
  106. package/src/vite/index.ts +4 -0
  107. package/src/vite/plugin-types.ts +60 -5
  108. package/src/vite/plugins/performance-tracks.ts +88 -0
  109. package/src/vite/plugins/refresh-cmd.ts +88 -26
  110. package/src/vite/rango.ts +19 -2
  111. package/src/vite/router-discovery.ts +153 -34
  112. package/src/vite/utils/prerender-utils.ts +18 -0
  113. package/src/vite/utils/shared-utils.ts +3 -2
  114. package/dist/__internal.d.ts +0 -83
  115. package/dist/__internal.d.ts.map +0 -1
  116. package/dist/__internal.js +0 -19
  117. package/dist/__internal.js.map +0 -1
  118. package/dist/__mocks__/version.d.ts +0 -7
  119. package/dist/__mocks__/version.d.ts.map +0 -1
  120. package/dist/__mocks__/version.js +0 -7
  121. package/dist/__mocks__/version.js.map +0 -1
  122. package/dist/__tests__/client-href.test.d.ts +0 -2
  123. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  124. package/dist/__tests__/client-href.test.js +0 -74
  125. package/dist/__tests__/client-href.test.js.map +0 -1
  126. package/dist/__tests__/component-utils.test.d.ts +0 -2
  127. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  128. package/dist/__tests__/component-utils.test.js +0 -51
  129. package/dist/__tests__/component-utils.test.js.map +0 -1
  130. package/dist/__tests__/event-controller.test.d.ts +0 -2
  131. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  132. package/dist/__tests__/event-controller.test.js +0 -538
  133. package/dist/__tests__/event-controller.test.js.map +0 -1
  134. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  135. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  136. package/dist/__tests__/helpers/route-tree.js +0 -374
  137. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  138. package/dist/__tests__/match-result.test.d.ts +0 -2
  139. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  140. package/dist/__tests__/match-result.test.js +0 -154
  141. package/dist/__tests__/match-result.test.js.map +0 -1
  142. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  143. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  144. package/dist/__tests__/navigation-store.test.js +0 -440
  145. package/dist/__tests__/navigation-store.test.js.map +0 -1
  146. package/dist/__tests__/partial-update.test.d.ts +0 -2
  147. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  148. package/dist/__tests__/partial-update.test.js +0 -1009
  149. package/dist/__tests__/partial-update.test.js.map +0 -1
  150. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  151. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  152. package/dist/__tests__/reverse-types.test.js +0 -656
  153. package/dist/__tests__/reverse-types.test.js.map +0 -1
  154. package/dist/__tests__/route-definition.test.d.ts +0 -2
  155. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  156. package/dist/__tests__/route-definition.test.js +0 -55
  157. package/dist/__tests__/route-definition.test.js.map +0 -1
  158. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  159. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  160. package/dist/__tests__/router-helpers.test.js +0 -377
  161. package/dist/__tests__/router-helpers.test.js.map +0 -1
  162. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  163. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  164. package/dist/__tests__/router-integration-2.test.js +0 -426
  165. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  166. package/dist/__tests__/router-integration.test.d.ts +0 -2
  167. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  168. package/dist/__tests__/router-integration.test.js +0 -1051
  169. package/dist/__tests__/router-integration.test.js.map +0 -1
  170. package/dist/__tests__/search-params.test.d.ts +0 -5
  171. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  172. package/dist/__tests__/search-params.test.js +0 -306
  173. package/dist/__tests__/search-params.test.js.map +0 -1
  174. package/dist/__tests__/segment-system.test.d.ts +0 -2
  175. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  176. package/dist/__tests__/segment-system.test.js +0 -627
  177. package/dist/__tests__/segment-system.test.js.map +0 -1
  178. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  179. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  180. package/dist/__tests__/static-handler-types.test.js +0 -63
  181. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  182. package/dist/__tests__/urls.test.d.ts +0 -2
  183. package/dist/__tests__/urls.test.d.ts.map +0 -1
  184. package/dist/__tests__/urls.test.js +0 -421
  185. package/dist/__tests__/urls.test.js.map +0 -1
  186. package/dist/__tests__/use-mount.test.d.ts +0 -2
  187. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  188. package/dist/__tests__/use-mount.test.js +0 -35
  189. package/dist/__tests__/use-mount.test.js.map +0 -1
  190. package/dist/bin/rango.d.ts +0 -2
  191. package/dist/bin/rango.d.ts.map +0 -1
  192. package/dist/bin/rango.js.map +0 -1
  193. package/dist/browser/event-controller.d.ts +0 -191
  194. package/dist/browser/event-controller.d.ts.map +0 -1
  195. package/dist/browser/event-controller.js +0 -559
  196. package/dist/browser/event-controller.js.map +0 -1
  197. package/dist/browser/index.d.ts +0 -2
  198. package/dist/browser/index.d.ts.map +0 -1
  199. package/dist/browser/index.js +0 -14
  200. package/dist/browser/index.js.map +0 -1
  201. package/dist/browser/link-interceptor.d.ts +0 -38
  202. package/dist/browser/link-interceptor.d.ts.map +0 -1
  203. package/dist/browser/link-interceptor.js +0 -99
  204. package/dist/browser/link-interceptor.js.map +0 -1
  205. package/dist/browser/logging.d.ts +0 -10
  206. package/dist/browser/logging.d.ts.map +0 -1
  207. package/dist/browser/logging.js +0 -29
  208. package/dist/browser/logging.js.map +0 -1
  209. package/dist/browser/lru-cache.d.ts +0 -17
  210. package/dist/browser/lru-cache.d.ts.map +0 -1
  211. package/dist/browser/lru-cache.js +0 -50
  212. package/dist/browser/lru-cache.js.map +0 -1
  213. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  214. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  215. package/dist/browser/merge-segment-loaders.js +0 -102
  216. package/dist/browser/merge-segment-loaders.js.map +0 -1
  217. package/dist/browser/navigation-bridge.d.ts +0 -102
  218. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  219. package/dist/browser/navigation-bridge.js +0 -708
  220. package/dist/browser/navigation-bridge.js.map +0 -1
  221. package/dist/browser/navigation-client.d.ts +0 -25
  222. package/dist/browser/navigation-client.d.ts.map +0 -1
  223. package/dist/browser/navigation-client.js +0 -157
  224. package/dist/browser/navigation-client.js.map +0 -1
  225. package/dist/browser/navigation-store.d.ts +0 -101
  226. package/dist/browser/navigation-store.d.ts.map +0 -1
  227. package/dist/browser/navigation-store.js +0 -625
  228. package/dist/browser/navigation-store.js.map +0 -1
  229. package/dist/browser/partial-update.d.ts +0 -75
  230. package/dist/browser/partial-update.d.ts.map +0 -1
  231. package/dist/browser/partial-update.js +0 -426
  232. package/dist/browser/partial-update.js.map +0 -1
  233. package/dist/browser/react/Link.d.ts +0 -86
  234. package/dist/browser/react/Link.d.ts.map +0 -1
  235. package/dist/browser/react/Link.js +0 -128
  236. package/dist/browser/react/Link.js.map +0 -1
  237. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  238. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  239. package/dist/browser/react/NavigationProvider.js +0 -216
  240. package/dist/browser/react/NavigationProvider.js.map +0 -1
  241. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  242. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  243. package/dist/browser/react/ScrollRestoration.js +0 -57
  244. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  245. package/dist/browser/react/context.d.ts +0 -46
  246. package/dist/browser/react/context.d.ts.map +0 -1
  247. package/dist/browser/react/context.js +0 -10
  248. package/dist/browser/react/context.js.map +0 -1
  249. package/dist/browser/react/index.d.ts +0 -11
  250. package/dist/browser/react/index.d.ts.map +0 -1
  251. package/dist/browser/react/index.js +0 -22
  252. package/dist/browser/react/index.js.map +0 -1
  253. package/dist/browser/react/location-state-shared.d.ts +0 -63
  254. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  255. package/dist/browser/react/location-state-shared.js +0 -81
  256. package/dist/browser/react/location-state-shared.js.map +0 -1
  257. package/dist/browser/react/location-state.d.ts +0 -23
  258. package/dist/browser/react/location-state.d.ts.map +0 -1
  259. package/dist/browser/react/location-state.js +0 -29
  260. package/dist/browser/react/location-state.js.map +0 -1
  261. package/dist/browser/react/mount-context.d.ts +0 -24
  262. package/dist/browser/react/mount-context.d.ts.map +0 -1
  263. package/dist/browser/react/mount-context.js +0 -24
  264. package/dist/browser/react/mount-context.js.map +0 -1
  265. package/dist/browser/react/use-action.d.ts +0 -64
  266. package/dist/browser/react/use-action.d.ts.map +0 -1
  267. package/dist/browser/react/use-action.js +0 -134
  268. package/dist/browser/react/use-action.js.map +0 -1
  269. package/dist/browser/react/use-client-cache.d.ts +0 -41
  270. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  271. package/dist/browser/react/use-client-cache.js +0 -39
  272. package/dist/browser/react/use-client-cache.js.map +0 -1
  273. package/dist/browser/react/use-handle.d.ts +0 -31
  274. package/dist/browser/react/use-handle.d.ts.map +0 -1
  275. package/dist/browser/react/use-handle.js +0 -144
  276. package/dist/browser/react/use-handle.js.map +0 -1
  277. package/dist/browser/react/use-href.d.ts +0 -33
  278. package/dist/browser/react/use-href.d.ts.map +0 -1
  279. package/dist/browser/react/use-href.js +0 -39
  280. package/dist/browser/react/use-href.js.map +0 -1
  281. package/dist/browser/react/use-link-status.d.ts +0 -37
  282. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  283. package/dist/browser/react/use-link-status.js +0 -99
  284. package/dist/browser/react/use-link-status.js.map +0 -1
  285. package/dist/browser/react/use-mount.d.ts +0 -25
  286. package/dist/browser/react/use-mount.d.ts.map +0 -1
  287. package/dist/browser/react/use-mount.js +0 -30
  288. package/dist/browser/react/use-mount.js.map +0 -1
  289. package/dist/browser/react/use-navigation.d.ts +0 -27
  290. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  291. package/dist/browser/react/use-navigation.js +0 -87
  292. package/dist/browser/react/use-navigation.js.map +0 -1
  293. package/dist/browser/react/use-segments.d.ts +0 -38
  294. package/dist/browser/react/use-segments.d.ts.map +0 -1
  295. package/dist/browser/react/use-segments.js +0 -130
  296. package/dist/browser/react/use-segments.js.map +0 -1
  297. package/dist/browser/request-controller.d.ts +0 -26
  298. package/dist/browser/request-controller.d.ts.map +0 -1
  299. package/dist/browser/request-controller.js +0 -147
  300. package/dist/browser/request-controller.js.map +0 -1
  301. package/dist/browser/rsc-router.d.ts +0 -129
  302. package/dist/browser/rsc-router.d.ts.map +0 -1
  303. package/dist/browser/rsc-router.js +0 -195
  304. package/dist/browser/rsc-router.js.map +0 -1
  305. package/dist/browser/scroll-restoration.d.ts +0 -93
  306. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  307. package/dist/browser/scroll-restoration.js +0 -321
  308. package/dist/browser/scroll-restoration.js.map +0 -1
  309. package/dist/browser/segment-structure-assert.d.ts +0 -17
  310. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  311. package/dist/browser/segment-structure-assert.js +0 -59
  312. package/dist/browser/segment-structure-assert.js.map +0 -1
  313. package/dist/browser/server-action-bridge.d.ts +0 -26
  314. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  315. package/dist/browser/server-action-bridge.js +0 -668
  316. package/dist/browser/server-action-bridge.js.map +0 -1
  317. package/dist/browser/shallow.d.ts +0 -12
  318. package/dist/browser/shallow.d.ts.map +0 -1
  319. package/dist/browser/shallow.js +0 -34
  320. package/dist/browser/shallow.js.map +0 -1
  321. package/dist/browser/types.d.ts +0 -369
  322. package/dist/browser/types.d.ts.map +0 -1
  323. package/dist/browser/types.js +0 -2
  324. package/dist/browser/types.js.map +0 -1
  325. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  326. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  327. package/dist/build/__tests__/generate-cli.test.js +0 -237
  328. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  329. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  330. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  331. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  332. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  333. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  334. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  335. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  336. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  337. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  338. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  339. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  340. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  341. package/dist/build/generate-manifest.d.ts +0 -81
  342. package/dist/build/generate-manifest.d.ts.map +0 -1
  343. package/dist/build/generate-manifest.js +0 -276
  344. package/dist/build/generate-manifest.js.map +0 -1
  345. package/dist/build/generate-route-types.d.ts +0 -115
  346. package/dist/build/generate-route-types.d.ts.map +0 -1
  347. package/dist/build/generate-route-types.js +0 -740
  348. package/dist/build/generate-route-types.js.map +0 -1
  349. package/dist/build/index.d.ts +0 -21
  350. package/dist/build/index.d.ts.map +0 -1
  351. package/dist/build/index.js +0 -21
  352. package/dist/build/index.js.map +0 -1
  353. package/dist/build/route-trie.d.ts +0 -71
  354. package/dist/build/route-trie.d.ts.map +0 -1
  355. package/dist/build/route-trie.js +0 -175
  356. package/dist/build/route-trie.js.map +0 -1
  357. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  358. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  359. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  360. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  361. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  362. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  363. package/dist/cache/__tests__/document-cache.test.js +0 -345
  364. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  365. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  366. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  367. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  368. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  369. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  370. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  371. package/dist/cache/__tests__/memory-store.test.js +0 -367
  372. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  373. package/dist/cache/cache-scope.d.ts +0 -102
  374. package/dist/cache/cache-scope.d.ts.map +0 -1
  375. package/dist/cache/cache-scope.js +0 -440
  376. package/dist/cache/cache-scope.js.map +0 -1
  377. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  378. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  379. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  380. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  381. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  382. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  383. package/dist/cache/cf/cf-cache-store.js +0 -242
  384. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  385. package/dist/cache/cf/index.d.ts +0 -14
  386. package/dist/cache/cf/index.d.ts.map +0 -1
  387. package/dist/cache/cf/index.js +0 -17
  388. package/dist/cache/cf/index.js.map +0 -1
  389. package/dist/cache/document-cache.d.ts +0 -64
  390. package/dist/cache/document-cache.d.ts.map +0 -1
  391. package/dist/cache/document-cache.js +0 -228
  392. package/dist/cache/document-cache.js.map +0 -1
  393. package/dist/cache/index.d.ts +0 -19
  394. package/dist/cache/index.d.ts.map +0 -1
  395. package/dist/cache/index.js +0 -21
  396. package/dist/cache/index.js.map +0 -1
  397. package/dist/cache/memory-segment-store.d.ts +0 -110
  398. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  399. package/dist/cache/memory-segment-store.js +0 -117
  400. package/dist/cache/memory-segment-store.js.map +0 -1
  401. package/dist/cache/memory-store.d.ts +0 -41
  402. package/dist/cache/memory-store.d.ts.map +0 -1
  403. package/dist/cache/memory-store.js +0 -191
  404. package/dist/cache/memory-store.js.map +0 -1
  405. package/dist/cache/types.d.ts +0 -317
  406. package/dist/cache/types.d.ts.map +0 -1
  407. package/dist/cache/types.js +0 -12
  408. package/dist/cache/types.js.map +0 -1
  409. package/dist/client.d.ts +0 -248
  410. package/dist/client.d.ts.map +0 -1
  411. package/dist/client.js +0 -367
  412. package/dist/client.js.map +0 -1
  413. package/dist/client.rsc.d.ts +0 -26
  414. package/dist/client.rsc.d.ts.map +0 -1
  415. package/dist/client.rsc.js +0 -46
  416. package/dist/client.rsc.js.map +0 -1
  417. package/dist/component-utils.d.ts +0 -36
  418. package/dist/component-utils.d.ts.map +0 -1
  419. package/dist/component-utils.js +0 -61
  420. package/dist/component-utils.js.map +0 -1
  421. package/dist/components/DefaultDocument.d.ts +0 -13
  422. package/dist/components/DefaultDocument.d.ts.map +0 -1
  423. package/dist/components/DefaultDocument.js +0 -15
  424. package/dist/components/DefaultDocument.js.map +0 -1
  425. package/dist/debug.d.ts +0 -58
  426. package/dist/debug.d.ts.map +0 -1
  427. package/dist/debug.js +0 -157
  428. package/dist/debug.js.map +0 -1
  429. package/dist/default-error-boundary.d.ts +0 -11
  430. package/dist/default-error-boundary.d.ts.map +0 -1
  431. package/dist/default-error-boundary.js +0 -45
  432. package/dist/default-error-boundary.js.map +0 -1
  433. package/dist/deps/browser.d.ts +0 -2
  434. package/dist/deps/browser.d.ts.map +0 -1
  435. package/dist/deps/browser.js +0 -3
  436. package/dist/deps/browser.js.map +0 -1
  437. package/dist/deps/html-stream-client.d.ts +0 -2
  438. package/dist/deps/html-stream-client.d.ts.map +0 -1
  439. package/dist/deps/html-stream-client.js +0 -3
  440. package/dist/deps/html-stream-client.js.map +0 -1
  441. package/dist/deps/html-stream-server.d.ts +0 -2
  442. package/dist/deps/html-stream-server.d.ts.map +0 -1
  443. package/dist/deps/html-stream-server.js +0 -3
  444. package/dist/deps/html-stream-server.js.map +0 -1
  445. package/dist/deps/rsc.d.ts +0 -2
  446. package/dist/deps/rsc.d.ts.map +0 -1
  447. package/dist/deps/rsc.js +0 -4
  448. package/dist/deps/rsc.js.map +0 -1
  449. package/dist/deps/ssr.d.ts +0 -2
  450. package/dist/deps/ssr.d.ts.map +0 -1
  451. package/dist/deps/ssr.js +0 -3
  452. package/dist/deps/ssr.js.map +0 -1
  453. package/dist/errors.d.ts +0 -174
  454. package/dist/errors.d.ts.map +0 -1
  455. package/dist/errors.js +0 -241
  456. package/dist/errors.js.map +0 -1
  457. package/dist/handle.d.ts +0 -78
  458. package/dist/handle.d.ts.map +0 -1
  459. package/dist/handle.js +0 -82
  460. package/dist/handle.js.map +0 -1
  461. package/dist/handles/MetaTags.d.ts +0 -14
  462. package/dist/handles/MetaTags.d.ts.map +0 -1
  463. package/dist/handles/MetaTags.js +0 -136
  464. package/dist/handles/MetaTags.js.map +0 -1
  465. package/dist/handles/index.d.ts +0 -6
  466. package/dist/handles/index.d.ts.map +0 -1
  467. package/dist/handles/index.js +0 -6
  468. package/dist/handles/index.js.map +0 -1
  469. package/dist/handles/meta.d.ts +0 -39
  470. package/dist/handles/meta.d.ts.map +0 -1
  471. package/dist/handles/meta.js +0 -202
  472. package/dist/handles/meta.js.map +0 -1
  473. package/dist/host/__tests__/errors.test.d.ts +0 -2
  474. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  475. package/dist/host/__tests__/errors.test.js +0 -76
  476. package/dist/host/__tests__/errors.test.js.map +0 -1
  477. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  478. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  479. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  480. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  481. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  482. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  483. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  484. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  485. package/dist/host/__tests__/router.test.d.ts +0 -2
  486. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  487. package/dist/host/__tests__/router.test.js +0 -241
  488. package/dist/host/__tests__/router.test.js.map +0 -1
  489. package/dist/host/__tests__/testing.test.d.ts +0 -2
  490. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  491. package/dist/host/__tests__/testing.test.js +0 -64
  492. package/dist/host/__tests__/testing.test.js.map +0 -1
  493. package/dist/host/__tests__/utils.test.d.ts +0 -2
  494. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  495. package/dist/host/__tests__/utils.test.js +0 -29
  496. package/dist/host/__tests__/utils.test.js.map +0 -1
  497. package/dist/host/cookie-handler.d.ts +0 -34
  498. package/dist/host/cookie-handler.d.ts.map +0 -1
  499. package/dist/host/cookie-handler.js +0 -124
  500. package/dist/host/cookie-handler.js.map +0 -1
  501. package/dist/host/errors.d.ts +0 -56
  502. package/dist/host/errors.d.ts.map +0 -1
  503. package/dist/host/errors.js +0 -79
  504. package/dist/host/errors.js.map +0 -1
  505. package/dist/host/index.d.ts +0 -29
  506. package/dist/host/index.d.ts.map +0 -1
  507. package/dist/host/index.js +0 -32
  508. package/dist/host/index.js.map +0 -1
  509. package/dist/host/pattern-matcher.d.ts +0 -36
  510. package/dist/host/pattern-matcher.d.ts.map +0 -1
  511. package/dist/host/pattern-matcher.js +0 -172
  512. package/dist/host/pattern-matcher.js.map +0 -1
  513. package/dist/host/router.d.ts +0 -26
  514. package/dist/host/router.d.ts.map +0 -1
  515. package/dist/host/router.js +0 -218
  516. package/dist/host/router.js.map +0 -1
  517. package/dist/host/testing.d.ts +0 -36
  518. package/dist/host/testing.d.ts.map +0 -1
  519. package/dist/host/testing.js +0 -55
  520. package/dist/host/testing.js.map +0 -1
  521. package/dist/host/types.d.ts +0 -115
  522. package/dist/host/types.d.ts.map +0 -1
  523. package/dist/host/types.js +0 -7
  524. package/dist/host/types.js.map +0 -1
  525. package/dist/host/utils.d.ts +0 -21
  526. package/dist/host/utils.d.ts.map +0 -1
  527. package/dist/host/utils.js +0 -23
  528. package/dist/host/utils.js.map +0 -1
  529. package/dist/href-client.d.ts +0 -131
  530. package/dist/href-client.d.ts.map +0 -1
  531. package/dist/href-client.js +0 -64
  532. package/dist/href-client.js.map +0 -1
  533. package/dist/href-context.d.ts +0 -29
  534. package/dist/href-context.d.ts.map +0 -1
  535. package/dist/href-context.js +0 -21
  536. package/dist/href-context.js.map +0 -1
  537. package/dist/index.d.ts +0 -73
  538. package/dist/index.d.ts.map +0 -1
  539. package/dist/index.js +0 -91
  540. package/dist/index.js.map +0 -1
  541. package/dist/index.rsc.d.ts +0 -32
  542. package/dist/index.rsc.d.ts.map +0 -1
  543. package/dist/index.rsc.js +0 -40
  544. package/dist/index.rsc.js.map +0 -1
  545. package/dist/internal-debug.d.ts +0 -2
  546. package/dist/internal-debug.d.ts.map +0 -1
  547. package/dist/internal-debug.js +0 -5
  548. package/dist/internal-debug.js.map +0 -1
  549. package/dist/loader.d.ts +0 -14
  550. package/dist/loader.d.ts.map +0 -1
  551. package/dist/loader.js +0 -20
  552. package/dist/loader.js.map +0 -1
  553. package/dist/loader.rsc.d.ts +0 -19
  554. package/dist/loader.rsc.d.ts.map +0 -1
  555. package/dist/loader.rsc.js +0 -99
  556. package/dist/loader.rsc.js.map +0 -1
  557. package/dist/network-error-thrower.d.ts +0 -17
  558. package/dist/network-error-thrower.d.ts.map +0 -1
  559. package/dist/network-error-thrower.js +0 -14
  560. package/dist/network-error-thrower.js.map +0 -1
  561. package/dist/outlet-context.d.ts +0 -13
  562. package/dist/outlet-context.d.ts.map +0 -1
  563. package/dist/outlet-context.js +0 -3
  564. package/dist/outlet-context.js.map +0 -1
  565. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  566. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  567. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  568. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  569. package/dist/prerender/param-hash.d.ts +0 -16
  570. package/dist/prerender/param-hash.d.ts.map +0 -1
  571. package/dist/prerender/param-hash.js +0 -36
  572. package/dist/prerender/param-hash.js.map +0 -1
  573. package/dist/prerender/store.d.ts +0 -38
  574. package/dist/prerender/store.d.ts.map +0 -1
  575. package/dist/prerender/store.js +0 -61
  576. package/dist/prerender/store.js.map +0 -1
  577. package/dist/prerender.d.ts +0 -66
  578. package/dist/prerender.d.ts.map +0 -1
  579. package/dist/prerender.js +0 -57
  580. package/dist/prerender.js.map +0 -1
  581. package/dist/reverse.d.ts +0 -196
  582. package/dist/reverse.d.ts.map +0 -1
  583. package/dist/reverse.js +0 -78
  584. package/dist/reverse.js.map +0 -1
  585. package/dist/root-error-boundary.d.ts +0 -33
  586. package/dist/root-error-boundary.d.ts.map +0 -1
  587. package/dist/root-error-boundary.js +0 -165
  588. package/dist/root-error-boundary.js.map +0 -1
  589. package/dist/route-content-wrapper.d.ts +0 -46
  590. package/dist/route-content-wrapper.d.ts.map +0 -1
  591. package/dist/route-content-wrapper.js +0 -77
  592. package/dist/route-content-wrapper.js.map +0 -1
  593. package/dist/route-definition.d.ts +0 -421
  594. package/dist/route-definition.d.ts.map +0 -1
  595. package/dist/route-definition.js +0 -868
  596. package/dist/route-definition.js.map +0 -1
  597. package/dist/route-map-builder.d.ts +0 -155
  598. package/dist/route-map-builder.d.ts.map +0 -1
  599. package/dist/route-map-builder.js +0 -237
  600. package/dist/route-map-builder.js.map +0 -1
  601. package/dist/route-types.d.ts +0 -165
  602. package/dist/route-types.d.ts.map +0 -1
  603. package/dist/route-types.js +0 -7
  604. package/dist/route-types.js.map +0 -1
  605. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  606. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  607. package/dist/router/__tests__/handler-context.test.js +0 -65
  608. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  609. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  610. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  611. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  612. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  613. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  614. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  615. package/dist/router/__tests__/match-context.test.js +0 -92
  616. package/dist/router/__tests__/match-context.test.js.map +0 -1
  617. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  618. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  619. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  620. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  621. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  622. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  623. package/dist/router/__tests__/match-result.test.js +0 -457
  624. package/dist/router/__tests__/match-result.test.js.map +0 -1
  625. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  626. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  627. package/dist/router/__tests__/on-error.test.js +0 -678
  628. package/dist/router/__tests__/on-error.test.js.map +0 -1
  629. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  630. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  631. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  632. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  633. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  634. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  635. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  636. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  637. package/dist/router/error-handling.d.ts +0 -77
  638. package/dist/router/error-handling.d.ts.map +0 -1
  639. package/dist/router/error-handling.js +0 -202
  640. package/dist/router/error-handling.js.map +0 -1
  641. package/dist/router/handler-context.d.ts +0 -20
  642. package/dist/router/handler-context.d.ts.map +0 -1
  643. package/dist/router/handler-context.js +0 -198
  644. package/dist/router/handler-context.js.map +0 -1
  645. package/dist/router/intercept-resolution.d.ts +0 -66
  646. package/dist/router/intercept-resolution.d.ts.map +0 -1
  647. package/dist/router/intercept-resolution.js +0 -246
  648. package/dist/router/intercept-resolution.js.map +0 -1
  649. package/dist/router/loader-resolution.d.ts +0 -64
  650. package/dist/router/loader-resolution.d.ts.map +0 -1
  651. package/dist/router/loader-resolution.js +0 -284
  652. package/dist/router/loader-resolution.js.map +0 -1
  653. package/dist/router/logging.d.ts +0 -15
  654. package/dist/router/logging.d.ts.map +0 -1
  655. package/dist/router/logging.js +0 -99
  656. package/dist/router/logging.js.map +0 -1
  657. package/dist/router/manifest.d.ts +0 -22
  658. package/dist/router/manifest.d.ts.map +0 -1
  659. package/dist/router/manifest.js +0 -181
  660. package/dist/router/manifest.js.map +0 -1
  661. package/dist/router/match-api.d.ts +0 -35
  662. package/dist/router/match-api.d.ts.map +0 -1
  663. package/dist/router/match-api.js +0 -406
  664. package/dist/router/match-api.js.map +0 -1
  665. package/dist/router/match-context.d.ts +0 -206
  666. package/dist/router/match-context.d.ts.map +0 -1
  667. package/dist/router/match-context.js +0 -17
  668. package/dist/router/match-context.js.map +0 -1
  669. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  670. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  671. package/dist/router/match-middleware/background-revalidation.js +0 -75
  672. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  673. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  674. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  675. package/dist/router/match-middleware/cache-lookup.js +0 -257
  676. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  677. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  678. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  679. package/dist/router/match-middleware/cache-store.js +0 -108
  680. package/dist/router/match-middleware/cache-store.js.map +0 -1
  681. package/dist/router/match-middleware/index.d.ts +0 -81
  682. package/dist/router/match-middleware/index.d.ts.map +0 -1
  683. package/dist/router/match-middleware/index.js +0 -80
  684. package/dist/router/match-middleware/index.js.map +0 -1
  685. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  686. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  687. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  688. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  689. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  690. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  691. package/dist/router/match-middleware/segment-resolution.js +0 -53
  692. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  693. package/dist/router/match-pipelines.d.ts +0 -147
  694. package/dist/router/match-pipelines.d.ts.map +0 -1
  695. package/dist/router/match-pipelines.js +0 -82
  696. package/dist/router/match-pipelines.js.map +0 -1
  697. package/dist/router/match-result.d.ts +0 -126
  698. package/dist/router/match-result.d.ts.map +0 -1
  699. package/dist/router/match-result.js +0 -93
  700. package/dist/router/match-result.js.map +0 -1
  701. package/dist/router/metrics.d.ts +0 -20
  702. package/dist/router/metrics.d.ts.map +0 -1
  703. package/dist/router/metrics.js +0 -47
  704. package/dist/router/metrics.js.map +0 -1
  705. package/dist/router/middleware.d.ts +0 -249
  706. package/dist/router/middleware.d.ts.map +0 -1
  707. package/dist/router/middleware.js +0 -434
  708. package/dist/router/middleware.js.map +0 -1
  709. package/dist/router/middleware.test.d.ts +0 -2
  710. package/dist/router/middleware.test.d.ts.map +0 -1
  711. package/dist/router/middleware.test.js +0 -816
  712. package/dist/router/middleware.test.js.map +0 -1
  713. package/dist/router/pattern-matching.d.ts +0 -149
  714. package/dist/router/pattern-matching.d.ts.map +0 -1
  715. package/dist/router/pattern-matching.js +0 -349
  716. package/dist/router/pattern-matching.js.map +0 -1
  717. package/dist/router/revalidation.d.ts +0 -44
  718. package/dist/router/revalidation.d.ts.map +0 -1
  719. package/dist/router/revalidation.js +0 -147
  720. package/dist/router/revalidation.js.map +0 -1
  721. package/dist/router/router-context.d.ts +0 -135
  722. package/dist/router/router-context.d.ts.map +0 -1
  723. package/dist/router/router-context.js +0 -36
  724. package/dist/router/router-context.js.map +0 -1
  725. package/dist/router/segment-resolution.d.ts +0 -127
  726. package/dist/router/segment-resolution.d.ts.map +0 -1
  727. package/dist/router/segment-resolution.js +0 -919
  728. package/dist/router/segment-resolution.js.map +0 -1
  729. package/dist/router/trie-matching.d.ts +0 -40
  730. package/dist/router/trie-matching.d.ts.map +0 -1
  731. package/dist/router/trie-matching.js +0 -127
  732. package/dist/router/trie-matching.js.map +0 -1
  733. package/dist/router/types.d.ts +0 -136
  734. package/dist/router/types.d.ts.map +0 -1
  735. package/dist/router/types.js +0 -7
  736. package/dist/router/types.js.map +0 -1
  737. package/dist/router.d.ts +0 -753
  738. package/dist/router.d.ts.map +0 -1
  739. package/dist/router.gen.d.ts +0 -6
  740. package/dist/router.gen.d.ts.map +0 -1
  741. package/dist/router.gen.js +0 -6
  742. package/dist/router.gen.js.map +0 -1
  743. package/dist/router.js +0 -1304
  744. package/dist/router.js.map +0 -1
  745. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  746. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  747. package/dist/rsc/__tests__/helpers.test.js +0 -140
  748. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  749. package/dist/rsc/handler.d.ts +0 -45
  750. package/dist/rsc/handler.d.ts.map +0 -1
  751. package/dist/rsc/handler.js +0 -1172
  752. package/dist/rsc/handler.js.map +0 -1
  753. package/dist/rsc/helpers.d.ts +0 -16
  754. package/dist/rsc/helpers.d.ts.map +0 -1
  755. package/dist/rsc/helpers.js +0 -55
  756. package/dist/rsc/helpers.js.map +0 -1
  757. package/dist/rsc/index.d.ts +0 -22
  758. package/dist/rsc/index.d.ts.map +0 -1
  759. package/dist/rsc/index.js +0 -23
  760. package/dist/rsc/index.js.map +0 -1
  761. package/dist/rsc/nonce.d.ts +0 -9
  762. package/dist/rsc/nonce.d.ts.map +0 -1
  763. package/dist/rsc/nonce.js +0 -18
  764. package/dist/rsc/nonce.js.map +0 -1
  765. package/dist/rsc/types.d.ts +0 -206
  766. package/dist/rsc/types.d.ts.map +0 -1
  767. package/dist/rsc/types.js +0 -8
  768. package/dist/rsc/types.js.map +0 -1
  769. package/dist/search-params.d.ts +0 -103
  770. package/dist/search-params.d.ts.map +0 -1
  771. package/dist/search-params.js +0 -74
  772. package/dist/search-params.js.map +0 -1
  773. package/dist/segment-system.d.ts +0 -75
  774. package/dist/segment-system.d.ts.map +0 -1
  775. package/dist/segment-system.js +0 -336
  776. package/dist/segment-system.js.map +0 -1
  777. package/dist/server/context.d.ts +0 -245
  778. package/dist/server/context.d.ts.map +0 -1
  779. package/dist/server/context.js +0 -197
  780. package/dist/server/context.js.map +0 -1
  781. package/dist/server/fetchable-loader-store.d.ts +0 -18
  782. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  783. package/dist/server/fetchable-loader-store.js +0 -18
  784. package/dist/server/fetchable-loader-store.js.map +0 -1
  785. package/dist/server/handle-store.d.ts +0 -85
  786. package/dist/server/handle-store.d.ts.map +0 -1
  787. package/dist/server/handle-store.js +0 -142
  788. package/dist/server/handle-store.js.map +0 -1
  789. package/dist/server/loader-registry.d.ts +0 -55
  790. package/dist/server/loader-registry.d.ts.map +0 -1
  791. package/dist/server/loader-registry.js +0 -132
  792. package/dist/server/loader-registry.js.map +0 -1
  793. package/dist/server/request-context.d.ts +0 -226
  794. package/dist/server/request-context.d.ts.map +0 -1
  795. package/dist/server/request-context.js +0 -290
  796. package/dist/server/request-context.js.map +0 -1
  797. package/dist/server/root-layout.d.ts +0 -4
  798. package/dist/server/root-layout.d.ts.map +0 -1
  799. package/dist/server/root-layout.js +0 -5
  800. package/dist/server/root-layout.js.map +0 -1
  801. package/dist/server.d.ts +0 -15
  802. package/dist/server.d.ts.map +0 -1
  803. package/dist/server.js +0 -20
  804. package/dist/server.js.map +0 -1
  805. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  806. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  807. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  808. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  809. package/dist/ssr/index.d.ts +0 -98
  810. package/dist/ssr/index.d.ts.map +0 -1
  811. package/dist/ssr/index.js +0 -158
  812. package/dist/ssr/index.js.map +0 -1
  813. package/dist/static-handler.d.ts +0 -50
  814. package/dist/static-handler.d.ts.map +0 -1
  815. package/dist/static-handler.gen.d.ts +0 -5
  816. package/dist/static-handler.gen.d.ts.map +0 -1
  817. package/dist/static-handler.gen.js +0 -5
  818. package/dist/static-handler.gen.js.map +0 -1
  819. package/dist/static-handler.js +0 -29
  820. package/dist/static-handler.js.map +0 -1
  821. package/dist/theme/ThemeProvider.d.ts +0 -20
  822. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  823. package/dist/theme/ThemeProvider.js +0 -240
  824. package/dist/theme/ThemeProvider.js.map +0 -1
  825. package/dist/theme/ThemeScript.d.ts +0 -48
  826. package/dist/theme/ThemeScript.d.ts.map +0 -1
  827. package/dist/theme/ThemeScript.js +0 -13
  828. package/dist/theme/ThemeScript.js.map +0 -1
  829. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  830. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  831. package/dist/theme/__tests__/theme.test.js +0 -103
  832. package/dist/theme/__tests__/theme.test.js.map +0 -1
  833. package/dist/theme/constants.d.ts +0 -29
  834. package/dist/theme/constants.d.ts.map +0 -1
  835. package/dist/theme/constants.js +0 -48
  836. package/dist/theme/constants.js.map +0 -1
  837. package/dist/theme/index.d.ts +0 -31
  838. package/dist/theme/index.d.ts.map +0 -1
  839. package/dist/theme/index.js +0 -36
  840. package/dist/theme/index.js.map +0 -1
  841. package/dist/theme/theme-context.d.ts +0 -40
  842. package/dist/theme/theme-context.d.ts.map +0 -1
  843. package/dist/theme/theme-context.js +0 -60
  844. package/dist/theme/theme-context.js.map +0 -1
  845. package/dist/theme/theme-script.d.ts +0 -27
  846. package/dist/theme/theme-script.d.ts.map +0 -1
  847. package/dist/theme/theme-script.js +0 -147
  848. package/dist/theme/theme-script.js.map +0 -1
  849. package/dist/theme/types.d.ts +0 -163
  850. package/dist/theme/types.d.ts.map +0 -1
  851. package/dist/theme/types.js +0 -11
  852. package/dist/theme/types.js.map +0 -1
  853. package/dist/theme/use-theme.d.ts +0 -12
  854. package/dist/theme/use-theme.d.ts.map +0 -1
  855. package/dist/theme/use-theme.js +0 -40
  856. package/dist/theme/use-theme.js.map +0 -1
  857. package/dist/types.d.ts +0 -1479
  858. package/dist/types.d.ts.map +0 -1
  859. package/dist/types.js +0 -10
  860. package/dist/types.js.map +0 -1
  861. package/dist/urls.d.ts +0 -441
  862. package/dist/urls.d.ts.map +0 -1
  863. package/dist/urls.gen.d.ts +0 -8
  864. package/dist/urls.gen.d.ts.map +0 -1
  865. package/dist/urls.gen.js +0 -8
  866. package/dist/urls.gen.js.map +0 -1
  867. package/dist/urls.js +0 -443
  868. package/dist/urls.js.map +0 -1
  869. package/dist/use-loader.d.ts +0 -127
  870. package/dist/use-loader.d.ts.map +0 -1
  871. package/dist/use-loader.js +0 -237
  872. package/dist/use-loader.js.map +0 -1
  873. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  874. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  875. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  876. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  877. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  878. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  879. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  880. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  881. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  882. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  883. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  884. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  885. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  886. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  887. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  888. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  889. package/dist/vite/ast-handler-extract.d.ts +0 -49
  890. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  891. package/dist/vite/ast-handler-extract.js +0 -249
  892. package/dist/vite/ast-handler-extract.js.map +0 -1
  893. package/dist/vite/expose-action-id.d.ts +0 -19
  894. package/dist/vite/expose-action-id.d.ts.map +0 -1
  895. package/dist/vite/expose-action-id.js +0 -250
  896. package/dist/vite/expose-action-id.js.map +0 -1
  897. package/dist/vite/expose-id-utils.d.ts +0 -69
  898. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  899. package/dist/vite/expose-id-utils.js +0 -289
  900. package/dist/vite/expose-id-utils.js.map +0 -1
  901. package/dist/vite/expose-internal-ids.d.ts +0 -22
  902. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  903. package/dist/vite/expose-internal-ids.js +0 -886
  904. package/dist/vite/expose-internal-ids.js.map +0 -1
  905. package/dist/vite/index.d.ts +0 -149
  906. package/dist/vite/index.d.ts.map +0 -1
  907. package/dist/vite/index.js.map +0 -1
  908. package/dist/vite/index.named-routes.gen.ts +0 -103
  909. package/dist/vite/package-resolution.d.ts +0 -43
  910. package/dist/vite/package-resolution.d.ts.map +0 -1
  911. package/dist/vite/package-resolution.js +0 -112
  912. package/dist/vite/package-resolution.js.map +0 -1
  913. package/dist/vite/virtual-entries.d.ts +0 -25
  914. package/dist/vite/virtual-entries.d.ts.map +0 -1
  915. package/dist/vite/virtual-entries.js +0 -110
  916. package/dist/vite/virtual-entries.js.map +0 -1
@@ -36,7 +36,14 @@ import {
36
36
  setRequestContextPrevRouteKey,
37
37
  } from "../server/request-context.js";
38
38
  import { isAutoGeneratedRouteName } from "../route-name.js";
39
+ import type { DefaultRouteName } from "../types/global-namespace.js";
39
40
  import { debugLog, debugWarn } from "./logging.js";
41
+ import {
42
+ resolveRoute,
43
+ ensureFullRouteSnapshot,
44
+ type RouteSnapshot,
45
+ } from "./route-snapshot.js";
46
+ import { resolveNavigation } from "./navigation-snapshot.js";
40
47
 
41
48
  /**
42
49
  * Create match context for full requests (document/SSR).
@@ -52,57 +59,36 @@ export async function createMatchContextForFull<TEnv>(
52
59
 
53
60
  const metricsStore = deps.getMetricsStore();
54
61
 
55
- const routeMatchStart = metricsStore ? performance.now() : 0;
56
- const matched = deps.findMatch(pathname, metricsStore);
57
- if (metricsStore) {
58
- metricsStore.metrics.push({
59
- label: "route-matching",
60
- duration: performance.now() - routeMatchStart,
61
- startTime: routeMatchStart - metricsStore.requestStart,
62
- });
63
- }
62
+ // Full renders always resolve fresh with isSSR: true because loadManifest
63
+ // keys its cache on isSSR and stamps Store.isSSR for downstream behavior.
64
+ const result = await resolveRoute<TEnv>(pathname, {
65
+ findMatch: (p) => deps.findMatch(p, metricsStore),
66
+ metricsStore,
67
+ isSSR: true,
68
+ });
64
69
 
65
- if (!matched) {
70
+ if (!result) {
66
71
  throw new RouteNotFoundError(`No route matched for ${pathname}`, {
67
72
  cause: { pathname, method: request.method },
68
73
  });
69
74
  }
70
75
 
71
- if (matched.redirectTo) {
76
+ if (result.type === "redirect") {
72
77
  return {
73
78
  type: "redirect",
74
- redirectUrl: matched.redirectTo + url.search,
79
+ redirectUrl: result.redirectTo + url.search,
75
80
  };
76
81
  }
77
82
 
78
- const manifestStart = metricsStore ? performance.now() : 0;
79
- const manifestEntry = await loadManifest(
80
- matched.entry,
81
- matched.routeKey,
82
- pathname,
83
- metricsStore,
84
- true,
85
- );
86
- if (metricsStore) {
87
- metricsStore.metrics.push({
88
- label: "manifest-loading",
89
- duration: performance.now() - manifestStart,
90
- startTime: manifestStart - metricsStore.requestStart,
91
- });
92
- }
83
+ const snapshot = result.snapshot;
93
84
 
94
- if (
95
- manifestEntry.type === "route" &&
96
- manifestEntry.prerenderDef?.options?.passthrough === true
97
- ) {
85
+ const { matched } = snapshot;
86
+
87
+ // Backward compat: downstream middleware reads matched.pt
88
+ if (snapshot.isPassthrough) {
98
89
  matched.pt = true;
99
90
  }
100
91
 
101
- const routeMiddleware = collectRouteMiddleware(
102
- traverseBack(manifestEntry),
103
- matched.params,
104
- );
105
-
106
92
  // Clean URL without internal _rsc* params for userland access
107
93
  const cleanUrl = stripInternalParams(url);
108
94
 
@@ -134,14 +120,6 @@ export async function createMatchContextForFull<TEnv>(
134
120
  Store.metrics = metricsStore;
135
121
  }
136
122
 
137
- const entries = [...traverseBack(manifestEntry)];
138
- let cacheScope: CacheScope | null = null;
139
- for (const entry of entries) {
140
- if (entry.cache) {
141
- cacheScope = createCacheScope(entry.cache, cacheScope);
142
- }
143
- }
144
-
145
123
  return {
146
124
  request,
147
125
  url: cleanUrl,
@@ -154,12 +132,10 @@ export async function createMatchContextForFull<TEnv>(
154
132
  prevParams: {},
155
133
  prevMatch: null,
156
134
  matched,
157
- manifestEntry,
158
- entries,
135
+ manifestEntry: snapshot.manifestEntry,
136
+ entries: snapshot.entries,
159
137
  routeKey: matched.routeKey,
160
- localRouteName: matched.routeKey.includes(".")
161
- ? matched.routeKey.split(".").pop()!
162
- : matched.routeKey,
138
+ localRouteName: snapshot.localRouteName,
163
139
  handlerContext,
164
140
  loaderPromises,
165
141
  routeMap: deps.getRouteMap(),
@@ -175,16 +151,16 @@ export async function createMatchContextForFull<TEnv>(
175
151
  segments: { path: [], ids: [] },
176
152
  toRouteName:
177
153
  matched.routeKey && !isAutoGeneratedRouteName(matched.routeKey)
178
- ? matched.routeKey
154
+ ? (matched.routeKey as DefaultRouteName)
179
155
  : undefined,
180
156
  },
181
157
  isSameRouteNavigation: false,
182
158
  interceptResult: null,
183
- cacheScope,
159
+ cacheScope: snapshot.cacheScope,
184
160
  isIntercept: false,
185
161
  actionContext: undefined,
186
162
  isAction: false,
187
- routeMiddleware,
163
+ routeMiddleware: snapshot.routeMiddleware,
188
164
  isFullMatch: true,
189
165
  };
190
166
  }
@@ -204,103 +180,85 @@ export async function createMatchContextForPartial<TEnv>(
204
180
 
205
181
  const metricsStore = deps.getMetricsStore();
206
182
 
207
- const clientSegmentIds =
208
- url.searchParams.get("_rsc_segments")?.split(",").filter(Boolean) || [];
209
- const stale = url.searchParams.get("_rsc_stale") === "true";
210
- const previousUrl =
211
- request.headers.get("X-RSC-Router-Client-Path") ||
212
- request.headers.get("Referer");
213
- const interceptSourceUrl = request.headers.get(
214
- "X-RSC-Router-Intercept-Source",
215
- );
183
+ const isHmr = !!request.headers.get("X-RSC-HMR");
216
184
 
217
185
  // HMR: clear manifest cache so stale handler references are discarded
218
- if (request.headers.get("X-RSC-HMR")) {
186
+ if (isHmr) {
219
187
  clearManifestCache();
220
188
  }
221
189
 
222
- if (!previousUrl) {
223
- return null;
224
- }
225
-
226
- let prevUrl: URL;
227
- try {
228
- prevUrl = new URL(previousUrl, url.origin);
229
- } catch {
230
- return null;
231
- }
190
+ // Reuse the classified snapshot when available and not invalidated by HMR.
191
+ // classifyRequest already called resolveRoute(lite) with isSSR=false, which
192
+ // matches the partial path. On HMR, discard to pick up manifest changes.
193
+ const classifiedRoute = isHmr
194
+ ? undefined
195
+ : getRequestContext()?._classifiedRoute;
196
+
197
+ // Time route matching. On the reuse path, only nav findMatch calls are new
198
+ // (current-route findMatch and manifest-loading were already timed during
199
+ // classifyRequest via its metricsStore). On the fresh path, all findMatch
200
+ // calls are measured together.
201
+ const routeMatchStart = metricsStore ? performance.now() : 0;
232
202
 
233
- let interceptContextUrl: URL;
234
- try {
235
- interceptContextUrl = interceptSourceUrl
236
- ? new URL(interceptSourceUrl, url.origin)
237
- : prevUrl;
238
- } catch {
239
- interceptContextUrl = prevUrl;
240
- }
203
+ let snapshot: RouteSnapshot<TEnv>;
204
+ if (classifiedRoute && classifiedRoute.manifestEntry) {
205
+ snapshot = ensureFullRouteSnapshot(classifiedRoute);
206
+ } else {
207
+ const result = await resolveRoute<TEnv>(pathname, {
208
+ findMatch: (p) => deps.findMatch(p, metricsStore),
209
+ metricsStore,
210
+ isSSR: false,
211
+ skipRouteMatchMetric: true,
212
+ });
241
213
 
242
- const routeMatchStart = metricsStore ? performance.now() : 0;
243
- const prevMatch = deps.findMatch(prevUrl.pathname);
244
- const prevParams = prevMatch?.params || {};
245
- const interceptContextMatch = interceptSourceUrl
246
- ? deps.findMatch(interceptContextUrl.pathname)
247
- : prevMatch;
214
+ if (!result) {
215
+ throw new RouteNotFoundError(`No route matched for ${pathname}`, {
216
+ cause: { pathname, method: request.method },
217
+ });
218
+ }
248
219
 
249
- const matched = deps.findMatch(pathname, metricsStore);
220
+ if (result.type === "redirect") {
221
+ return null;
222
+ }
250
223
 
251
- if (metricsStore) {
252
- metricsStore.metrics.push({
253
- label: "route-matching",
254
- duration: performance.now() - routeMatchStart,
255
- startTime: routeMatchStart - metricsStore.requestStart,
256
- });
224
+ snapshot = result.snapshot;
257
225
  }
258
226
 
259
- if (!matched) {
260
- throw new RouteNotFoundError(`No route matched for ${pathname}`, {
261
- cause: { pathname, method: request.method, previousUrl },
262
- });
263
- }
227
+ const { matched } = snapshot;
264
228
 
265
- if (matched.redirectTo) {
266
- return null;
229
+ // Backward compat: downstream middleware reads matched.pt
230
+ if (snapshot.isPassthrough) {
231
+ matched.pt = true;
267
232
  }
268
233
 
269
- if (prevMatch && prevMatch.entry !== matched.entry && !matched.pr) {
270
- debugLog("matchPartial", "route group changed", {
271
- from: prevMatch.routeKey,
272
- to: matched.routeKey,
273
- });
234
+ // Navigation state (prev + intercept-source findMatch calls)
235
+ const nav = resolveNavigation(request, url, matched.routeKey, {
236
+ findMatch: deps.findMatch,
237
+ });
238
+ if (!nav) {
239
+ return null;
274
240
  }
275
241
 
276
- const manifestStart = metricsStore ? performance.now() : 0;
277
- const manifestEntry = await loadManifest(
278
- matched.entry,
279
- matched.routeKey,
280
- pathname,
281
- metricsStore,
282
- false,
283
- );
242
+ // Push route-matching metric. On the fresh path this covers all findMatch
243
+ // calls (current + prev + intercept-source). On the reuse path, current-route
244
+ // findMatch was already timed during classification, so this only covers
245
+ // the nav lookups (prev + intercept-source).
284
246
  if (metricsStore) {
247
+ const isReuse = !!classifiedRoute;
285
248
  metricsStore.metrics.push({
286
- label: "manifest-loading",
287
- duration: performance.now() - manifestStart,
288
- startTime: manifestStart - metricsStore.requestStart,
249
+ label: isReuse ? "route-matching:nav" : "route-matching",
250
+ duration: performance.now() - routeMatchStart,
251
+ startTime: routeMatchStart - metricsStore.requestStart,
289
252
  });
290
253
  }
291
254
 
292
- if (
293
- manifestEntry.type === "route" &&
294
- manifestEntry.prerenderDef?.options?.passthrough === true
295
- ) {
296
- matched.pt = true;
255
+ if (nav.prevMatch && nav.prevMatch.entry !== matched.entry && !matched.pr) {
256
+ debugLog("matchPartial", "route group changed", {
257
+ from: nav.prevMatch.routeKey,
258
+ to: matched.routeKey,
259
+ });
297
260
  }
298
261
 
299
- const routeMiddleware = collectRouteMiddleware(
300
- traverseBack(manifestEntry),
301
- matched.params,
302
- );
303
-
304
262
  // Clean URL without internal _rsc* params for userland access
305
263
  const cleanUrl = stripInternalParams(url);
306
264
 
@@ -317,9 +275,8 @@ export async function createMatchContextForPartial<TEnv>(
317
275
  matched.pt === true,
318
276
  );
319
277
 
320
- const clientSegmentSet = new Set(clientSegmentIds);
321
278
  debugLog("matchPartial", "client segments", {
322
- segments: Array.from(clientSegmentSet),
279
+ segments: Array.from(nav.clientSegmentSet),
323
280
  });
324
281
 
325
282
  const loaderPromises = new Map<string, Promise<any>>();
@@ -337,100 +294,78 @@ export async function createMatchContextForPartial<TEnv>(
337
294
  Store.metrics = metricsStore;
338
295
  }
339
296
 
340
- const isSameRouteNavigation = !!(
341
- interceptContextMatch && interceptContextMatch.routeKey === matched.routeKey
342
- );
343
-
344
- if (interceptSourceUrl) {
297
+ if (nav.hasInterceptSource) {
345
298
  debugLog("matchPartial.intercept", "intercept context detected", {
346
299
  currentUrl: pathname,
347
- interceptSource: interceptSourceUrl,
348
- contextRoute: interceptContextMatch?.routeKey,
300
+ interceptSource: nav.interceptContextUrl.href,
301
+ contextRoute: nav.interceptContextMatch?.routeKey,
349
302
  currentRoute: matched.routeKey,
350
- sameRouteNavigation: isSameRouteNavigation,
303
+ sameRouteNavigation: nav.isSameRouteNavigation,
351
304
  });
352
305
  }
353
306
 
354
- const localRouteName = matched.routeKey.includes(".")
355
- ? matched.routeKey.split(".").pop()!
356
- : matched.routeKey;
357
-
358
- const filteredSegmentIds = clientSegmentIds.filter((id) => {
359
- if (id.includes(".@")) return false;
360
- if (/D\d+\./.test(id)) return false;
361
- return true;
362
- });
363
- const effectiveFromUrl = interceptSourceUrl ? interceptContextUrl : prevUrl;
364
- const effectiveFromMatch = interceptSourceUrl
365
- ? interceptContextMatch
366
- : prevMatch;
367
-
368
307
  // Store previous route key on the request context for revalidation
369
308
  // fromRouteName. Uses effectiveFromMatch so intercept-source navigations
370
309
  // see the intercept origin route, not the plain previous URL route.
371
- setRequestContextPrevRouteKey(effectiveFromMatch?.routeKey);
310
+ setRequestContextPrevRouteKey(nav.effectiveFromMatch?.routeKey);
372
311
 
373
312
  const interceptSelectorContext: InterceptSelectorContext = {
374
- from: effectiveFromUrl,
313
+ from: nav.effectiveFromUrl,
375
314
  to: cleanUrl,
376
315
  params: matched.params,
377
316
  request,
378
317
  env,
379
318
  segments: {
380
- path: effectiveFromUrl.pathname.split("/").filter(Boolean),
381
- ids: filteredSegmentIds,
319
+ path: nav.effectiveFromUrl.pathname.split("/").filter(Boolean),
320
+ ids: nav.filteredSegmentIds,
382
321
  },
383
322
  fromRouteName:
384
- effectiveFromMatch?.routeKey &&
385
- !isAutoGeneratedRouteName(effectiveFromMatch.routeKey)
386
- ? effectiveFromMatch.routeKey
323
+ nav.effectiveFromMatch?.routeKey &&
324
+ !isAutoGeneratedRouteName(nav.effectiveFromMatch.routeKey)
325
+ ? (nav.effectiveFromMatch.routeKey as DefaultRouteName)
387
326
  : undefined,
388
327
  toRouteName:
389
328
  matched.routeKey && !isAutoGeneratedRouteName(matched.routeKey)
390
- ? matched.routeKey
329
+ ? (matched.routeKey as DefaultRouteName)
391
330
  : undefined,
392
331
  };
393
332
  const isAction = !!actionContext;
394
333
 
395
- const clientHasInterceptSegments = [...clientSegmentSet].some((id) =>
334
+ const clientHasInterceptSegments = [...nav.clientSegmentSet].some((id) =>
396
335
  id.includes(".@"),
397
336
  );
398
337
  const skipInterceptForAction = isAction && !clientHasInterceptSegments;
399
338
  const interceptResult =
400
- isSameRouteNavigation || skipInterceptForAction
339
+ nav.isSameRouteNavigation || skipInterceptForAction
401
340
  ? null
402
341
  : findInterceptForRoute(
403
342
  matched.routeKey,
404
- manifestEntry.parent,
343
+ snapshot.manifestEntry.parent,
405
344
  interceptSelectorContext,
406
345
  isAction,
407
346
  ) ||
408
- (localRouteName !== matched.routeKey
347
+ (snapshot.localRouteName !== matched.routeKey
409
348
  ? findInterceptForRoute(
410
- localRouteName,
411
- manifestEntry.parent,
349
+ snapshot.localRouteName,
350
+ snapshot.manifestEntry.parent,
412
351
  interceptSelectorContext,
413
352
  isAction,
414
353
  )
415
354
  : null);
416
355
 
356
+ // Make a mutable copy of clientSegmentSet so we can delete entries
357
+ // for same-route navigation forcing
358
+ const clientSegmentSet = new Set(nav.clientSegmentSet);
359
+
417
360
  if (
418
- isSameRouteNavigation &&
419
- manifestEntry.type === "route" &&
420
- interceptSourceUrl
361
+ nav.isSameRouteNavigation &&
362
+ snapshot.manifestEntry.type === "route" &&
363
+ nav.hasInterceptSource
421
364
  ) {
422
365
  debugLog("matchPartial.intercept", "forcing route segment render", {
423
- segmentId: manifestEntry.shortCode,
366
+ segmentId: snapshot.manifestEntry.shortCode,
424
367
  });
425
- clientSegmentSet.delete(manifestEntry.shortCode);
426
- }
427
-
428
- const entries = [...traverseBack(manifestEntry)];
429
- let cacheScope: CacheScope | null = null;
430
- for (const entry of entries) {
431
- if (entry.cache) {
432
- cacheScope = createCacheScope(entry.cache, cacheScope);
433
- }
368
+ clientSegmentSet.delete(snapshot.manifestEntry.shortCode);
434
369
  }
435
370
 
436
371
  const isIntercept = !!interceptResult;
@@ -440,31 +375,31 @@ export async function createMatchContextForPartial<TEnv>(
440
375
  url: cleanUrl,
441
376
  pathname,
442
377
  env,
443
- clientSegmentIds,
378
+ clientSegmentIds: nav.clientSegmentIds,
444
379
  clientSegmentSet,
445
- stale,
446
- prevUrl,
447
- prevParams,
448
- prevMatch,
380
+ stale: nav.stale,
381
+ prevUrl: nav.prevUrl,
382
+ prevParams: nav.prevParams,
383
+ prevMatch: nav.prevMatch,
449
384
  matched,
450
- manifestEntry,
451
- entries,
385
+ manifestEntry: snapshot.manifestEntry,
386
+ entries: snapshot.entries,
452
387
  routeKey: matched.routeKey,
453
- localRouteName,
388
+ localRouteName: snapshot.localRouteName,
454
389
  handlerContext,
455
390
  loaderPromises,
456
391
  routeMap: deps.getRouteMap(),
457
392
  metricsStore,
458
393
  Store,
459
- interceptContextMatch,
394
+ interceptContextMatch: nav.interceptContextMatch,
460
395
  interceptSelectorContext,
461
- isSameRouteNavigation,
396
+ isSameRouteNavigation: nav.isSameRouteNavigation,
462
397
  interceptResult,
463
- cacheScope,
398
+ cacheScope: snapshot.cacheScope,
464
399
  isIntercept,
465
400
  actionContext,
466
401
  isAction,
467
- routeMiddleware,
402
+ routeMiddleware: snapshot.routeMiddleware,
468
403
  isFullMatch: false,
469
404
  };
470
405
  }
@@ -149,6 +149,13 @@ export function withBackgroundRevalidation<TEnv>(
149
149
  : undefined;
150
150
 
151
151
  requestCtx?.waitUntil(async () => {
152
+ // Prevent background metrics from polluting foreground timeline.
153
+ // The foreground uses its own metricsStore reference directly (via
154
+ // appendMetric), so nulling Store.metrics only affects track() calls
155
+ // inside this background Store.run() scope.
156
+ const savedMetrics = ctx.Store.metrics;
157
+ ctx.Store.metrics = undefined;
158
+
152
159
  const start = performance.now();
153
160
  debugLog("backgroundRevalidation", "revalidating stale route", {
154
161
  pathname: ctx.pathname,
@@ -179,7 +186,9 @@ export function withBackgroundRevalidation<TEnv>(
179
186
  setupLoaderAccess(freshHandlerContext, freshLoaderPromises);
180
187
 
181
188
  // Resolve all segments fresh (without revalidation logic)
182
- // to ensure complete components for caching
189
+ // to ensure complete components for caching.
190
+ // Skip DSL loaders — they are never cached (cacheRoute filters them)
191
+ // and are always resolved fresh on each request.
183
192
  const freshSegments = await ctx.Store.run(() =>
184
193
  resolveAllSegments(
185
194
  ctx.entries,
@@ -187,6 +196,7 @@ export function withBackgroundRevalidation<TEnv>(
187
196
  ctx.matched.params,
188
197
  freshHandlerContext,
189
198
  freshLoaderPromises,
199
+ { skipLoaders: true },
190
200
  ),
191
201
  );
192
202
 
@@ -234,6 +244,7 @@ export function withBackgroundRevalidation<TEnv>(
234
244
  });
235
245
  } finally {
236
246
  requestCtx._handleStore = originalHandleStore;
247
+ ctx.Store.metrics = savedMetrics;
237
248
  }
238
249
  });
239
250
  };