@rangojs/router 0.10.0 → 0.11.0

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 (868) hide show
  1. package/AGENTS.md +1 -1
  2. package/LICENSE +21 -0
  3. package/README.md +17 -15
  4. package/dist/types/browser/partial-update.d.ts +1 -0
  5. package/dist/types/cache/cf/cf-cache-constants.d.ts +1 -1
  6. package/dist/types/cache/cf/cf-cache-store.d.ts +1 -1
  7. package/dist/types/client-urls/navigation.d.ts +11 -0
  8. package/dist/types/client-urls/revalidate-chain.d.ts +33 -0
  9. package/dist/types/client-urls/types.d.ts +41 -14
  10. package/dist/types/client.d.ts +2 -0
  11. package/dist/types/index.d.ts +1 -1
  12. package/dist/types/index.rsc.d.ts +1 -1
  13. package/dist/types/router/is-action.d.ts +34 -0
  14. package/dist/types/rsc/shell-capture-constants.d.ts +1 -1
  15. package/dist/types/testing/index.d.ts +3 -1
  16. package/dist/types/testing/run-client-revalidate.d.ts +43 -0
  17. package/dist/types/testing/to-url.d.ts +2 -0
  18. package/dist/types/types/handler-context.d.ts +12 -5
  19. package/dist/types/types/index.d.ts +1 -1
  20. package/dist/types/vite/plugins/expose-action-id.d.ts +14 -0
  21. package/dist/vite/index.js +19 -6
  22. package/package.json +6 -5
  23. package/skills/bundle-analysis/SKILL.md +1 -1
  24. package/skills/client-urls/SKILL.md +26 -4
  25. package/skills/loader/SKILL.md +1 -0
  26. package/skills/testing/SKILL.md +2 -1
  27. package/skills/testing/bindings.md +1 -1
  28. package/skills/testing/cache-prerender.md +1 -1
  29. package/skills/testing/client-components.md +1 -1
  30. package/skills/testing/e2e-parity.md +1 -1
  31. package/skills/testing/flight.md +1 -1
  32. package/skills/testing/handles.md +1 -1
  33. package/skills/testing/loader.md +1 -1
  34. package/skills/testing/middleware.md +1 -1
  35. package/skills/testing/render-handler.md +1 -1
  36. package/skills/testing/response-routes.md +1 -1
  37. package/skills/testing/reverse-and-types.md +1 -1
  38. package/skills/testing/server-actions.md +1 -1
  39. package/skills/testing/server-tree.md +1 -1
  40. package/skills/testing/setup.md +1 -1
  41. package/skills/typesafety/route-types.md +1 -0
  42. package/src/browser/partial-update.ts +11 -2
  43. package/src/browser/server-action-bridge.ts +9 -2
  44. package/src/cache/cache-runtime.ts +2 -2
  45. package/src/cache/cf/cf-cache-constants.ts +1 -1
  46. package/src/cache/cf/cf-cache-store.ts +1 -1
  47. package/src/client-urls/navigation.ts +40 -42
  48. package/src/client-urls/revalidate-chain.ts +83 -0
  49. package/src/client-urls/types.ts +41 -13
  50. package/src/client.tsx +5 -0
  51. package/src/index.rsc.ts +1 -0
  52. package/src/index.ts +1 -0
  53. package/src/router/is-action.ts +100 -0
  54. package/src/router/revalidation.ts +5 -48
  55. package/src/rsc/server-action.ts +2 -4
  56. package/src/rsc/shell-capture-constants.ts +1 -1
  57. package/src/rsc/shell-capture.ts +2 -2
  58. package/src/testing/index.ts +4 -1
  59. package/src/testing/run-client-revalidate.ts +108 -0
  60. package/src/testing/run-transition-when.ts +1 -3
  61. package/src/testing/to-url.ts +5 -0
  62. package/src/types/handler-context.ts +13 -5
  63. package/src/types/index.ts +1 -0
  64. package/src/vite/plugins/expose-action-id.ts +29 -1
  65. package/dist/__internal.d.ts +0 -83
  66. package/dist/__internal.d.ts.map +0 -1
  67. package/dist/__internal.js +0 -19
  68. package/dist/__internal.js.map +0 -1
  69. package/dist/__mocks__/version.d.ts +0 -7
  70. package/dist/__mocks__/version.d.ts.map +0 -1
  71. package/dist/__mocks__/version.js +0 -7
  72. package/dist/__mocks__/version.js.map +0 -1
  73. package/dist/__tests__/client-href.test.d.ts +0 -2
  74. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  75. package/dist/__tests__/client-href.test.js +0 -74
  76. package/dist/__tests__/client-href.test.js.map +0 -1
  77. package/dist/__tests__/component-utils.test.d.ts +0 -2
  78. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  79. package/dist/__tests__/component-utils.test.js +0 -51
  80. package/dist/__tests__/component-utils.test.js.map +0 -1
  81. package/dist/__tests__/event-controller.test.d.ts +0 -2
  82. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  83. package/dist/__tests__/event-controller.test.js +0 -538
  84. package/dist/__tests__/event-controller.test.js.map +0 -1
  85. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  86. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  87. package/dist/__tests__/helpers/route-tree.js +0 -374
  88. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  89. package/dist/__tests__/match-result.test.d.ts +0 -2
  90. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  91. package/dist/__tests__/match-result.test.js +0 -154
  92. package/dist/__tests__/match-result.test.js.map +0 -1
  93. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  94. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  95. package/dist/__tests__/navigation-store.test.js +0 -440
  96. package/dist/__tests__/navigation-store.test.js.map +0 -1
  97. package/dist/__tests__/partial-update.test.d.ts +0 -2
  98. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  99. package/dist/__tests__/partial-update.test.js +0 -1009
  100. package/dist/__tests__/partial-update.test.js.map +0 -1
  101. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  102. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  103. package/dist/__tests__/reverse-types.test.js +0 -656
  104. package/dist/__tests__/reverse-types.test.js.map +0 -1
  105. package/dist/__tests__/route-definition.test.d.ts +0 -2
  106. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  107. package/dist/__tests__/route-definition.test.js +0 -55
  108. package/dist/__tests__/route-definition.test.js.map +0 -1
  109. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  110. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  111. package/dist/__tests__/router-helpers.test.js +0 -377
  112. package/dist/__tests__/router-helpers.test.js.map +0 -1
  113. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  114. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  115. package/dist/__tests__/router-integration-2.test.js +0 -426
  116. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  117. package/dist/__tests__/router-integration.test.d.ts +0 -2
  118. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  119. package/dist/__tests__/router-integration.test.js +0 -1051
  120. package/dist/__tests__/router-integration.test.js.map +0 -1
  121. package/dist/__tests__/search-params.test.d.ts +0 -5
  122. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  123. package/dist/__tests__/search-params.test.js +0 -306
  124. package/dist/__tests__/search-params.test.js.map +0 -1
  125. package/dist/__tests__/segment-system.test.d.ts +0 -2
  126. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  127. package/dist/__tests__/segment-system.test.js +0 -627
  128. package/dist/__tests__/segment-system.test.js.map +0 -1
  129. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  130. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  131. package/dist/__tests__/static-handler-types.test.js +0 -63
  132. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  133. package/dist/__tests__/urls.test.d.ts +0 -2
  134. package/dist/__tests__/urls.test.d.ts.map +0 -1
  135. package/dist/__tests__/urls.test.js +0 -421
  136. package/dist/__tests__/urls.test.js.map +0 -1
  137. package/dist/__tests__/use-mount.test.d.ts +0 -2
  138. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  139. package/dist/__tests__/use-mount.test.js +0 -35
  140. package/dist/__tests__/use-mount.test.js.map +0 -1
  141. package/dist/bin/rango.d.ts +0 -2
  142. package/dist/bin/rango.d.ts.map +0 -1
  143. package/dist/bin/rango.js.map +0 -1
  144. package/dist/browser/event-controller.d.ts +0 -191
  145. package/dist/browser/event-controller.d.ts.map +0 -1
  146. package/dist/browser/event-controller.js +0 -559
  147. package/dist/browser/event-controller.js.map +0 -1
  148. package/dist/browser/index.d.ts +0 -2
  149. package/dist/browser/index.d.ts.map +0 -1
  150. package/dist/browser/index.js +0 -14
  151. package/dist/browser/index.js.map +0 -1
  152. package/dist/browser/link-interceptor.d.ts +0 -38
  153. package/dist/browser/link-interceptor.d.ts.map +0 -1
  154. package/dist/browser/link-interceptor.js +0 -99
  155. package/dist/browser/link-interceptor.js.map +0 -1
  156. package/dist/browser/logging.d.ts +0 -10
  157. package/dist/browser/logging.d.ts.map +0 -1
  158. package/dist/browser/logging.js +0 -29
  159. package/dist/browser/logging.js.map +0 -1
  160. package/dist/browser/lru-cache.d.ts +0 -17
  161. package/dist/browser/lru-cache.d.ts.map +0 -1
  162. package/dist/browser/lru-cache.js +0 -50
  163. package/dist/browser/lru-cache.js.map +0 -1
  164. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  165. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  166. package/dist/browser/merge-segment-loaders.js +0 -102
  167. package/dist/browser/merge-segment-loaders.js.map +0 -1
  168. package/dist/browser/navigation-bridge.d.ts +0 -102
  169. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  170. package/dist/browser/navigation-bridge.js +0 -708
  171. package/dist/browser/navigation-bridge.js.map +0 -1
  172. package/dist/browser/navigation-client.d.ts +0 -25
  173. package/dist/browser/navigation-client.d.ts.map +0 -1
  174. package/dist/browser/navigation-client.js +0 -157
  175. package/dist/browser/navigation-client.js.map +0 -1
  176. package/dist/browser/navigation-store.d.ts +0 -101
  177. package/dist/browser/navigation-store.d.ts.map +0 -1
  178. package/dist/browser/navigation-store.js +0 -625
  179. package/dist/browser/navigation-store.js.map +0 -1
  180. package/dist/browser/partial-update.d.ts +0 -75
  181. package/dist/browser/partial-update.d.ts.map +0 -1
  182. package/dist/browser/partial-update.js +0 -426
  183. package/dist/browser/partial-update.js.map +0 -1
  184. package/dist/browser/react/Link.d.ts +0 -86
  185. package/dist/browser/react/Link.d.ts.map +0 -1
  186. package/dist/browser/react/Link.js +0 -128
  187. package/dist/browser/react/Link.js.map +0 -1
  188. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  189. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  190. package/dist/browser/react/NavigationProvider.js +0 -216
  191. package/dist/browser/react/NavigationProvider.js.map +0 -1
  192. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  193. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  194. package/dist/browser/react/ScrollRestoration.js +0 -57
  195. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  196. package/dist/browser/react/context.d.ts +0 -46
  197. package/dist/browser/react/context.d.ts.map +0 -1
  198. package/dist/browser/react/context.js +0 -10
  199. package/dist/browser/react/context.js.map +0 -1
  200. package/dist/browser/react/index.d.ts +0 -11
  201. package/dist/browser/react/index.d.ts.map +0 -1
  202. package/dist/browser/react/index.js +0 -22
  203. package/dist/browser/react/index.js.map +0 -1
  204. package/dist/browser/react/location-state-shared.d.ts +0 -63
  205. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  206. package/dist/browser/react/location-state-shared.js +0 -81
  207. package/dist/browser/react/location-state-shared.js.map +0 -1
  208. package/dist/browser/react/location-state.d.ts +0 -23
  209. package/dist/browser/react/location-state.d.ts.map +0 -1
  210. package/dist/browser/react/location-state.js +0 -29
  211. package/dist/browser/react/location-state.js.map +0 -1
  212. package/dist/browser/react/mount-context.d.ts +0 -24
  213. package/dist/browser/react/mount-context.d.ts.map +0 -1
  214. package/dist/browser/react/mount-context.js +0 -24
  215. package/dist/browser/react/mount-context.js.map +0 -1
  216. package/dist/browser/react/use-action.d.ts +0 -64
  217. package/dist/browser/react/use-action.d.ts.map +0 -1
  218. package/dist/browser/react/use-action.js +0 -134
  219. package/dist/browser/react/use-action.js.map +0 -1
  220. package/dist/browser/react/use-client-cache.d.ts +0 -41
  221. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  222. package/dist/browser/react/use-client-cache.js +0 -39
  223. package/dist/browser/react/use-client-cache.js.map +0 -1
  224. package/dist/browser/react/use-handle.d.ts +0 -31
  225. package/dist/browser/react/use-handle.d.ts.map +0 -1
  226. package/dist/browser/react/use-handle.js +0 -144
  227. package/dist/browser/react/use-handle.js.map +0 -1
  228. package/dist/browser/react/use-href.d.ts +0 -33
  229. package/dist/browser/react/use-href.d.ts.map +0 -1
  230. package/dist/browser/react/use-href.js +0 -39
  231. package/dist/browser/react/use-href.js.map +0 -1
  232. package/dist/browser/react/use-link-status.d.ts +0 -37
  233. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  234. package/dist/browser/react/use-link-status.js +0 -99
  235. package/dist/browser/react/use-link-status.js.map +0 -1
  236. package/dist/browser/react/use-mount.d.ts +0 -25
  237. package/dist/browser/react/use-mount.d.ts.map +0 -1
  238. package/dist/browser/react/use-mount.js +0 -30
  239. package/dist/browser/react/use-mount.js.map +0 -1
  240. package/dist/browser/react/use-navigation.d.ts +0 -27
  241. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  242. package/dist/browser/react/use-navigation.js +0 -87
  243. package/dist/browser/react/use-navigation.js.map +0 -1
  244. package/dist/browser/react/use-segments.d.ts +0 -38
  245. package/dist/browser/react/use-segments.d.ts.map +0 -1
  246. package/dist/browser/react/use-segments.js +0 -130
  247. package/dist/browser/react/use-segments.js.map +0 -1
  248. package/dist/browser/request-controller.d.ts +0 -26
  249. package/dist/browser/request-controller.d.ts.map +0 -1
  250. package/dist/browser/request-controller.js +0 -147
  251. package/dist/browser/request-controller.js.map +0 -1
  252. package/dist/browser/rsc-router.d.ts +0 -129
  253. package/dist/browser/rsc-router.d.ts.map +0 -1
  254. package/dist/browser/rsc-router.js +0 -195
  255. package/dist/browser/rsc-router.js.map +0 -1
  256. package/dist/browser/scroll-restoration.d.ts +0 -93
  257. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  258. package/dist/browser/scroll-restoration.js +0 -321
  259. package/dist/browser/scroll-restoration.js.map +0 -1
  260. package/dist/browser/segment-structure-assert.d.ts +0 -17
  261. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  262. package/dist/browser/segment-structure-assert.js +0 -59
  263. package/dist/browser/segment-structure-assert.js.map +0 -1
  264. package/dist/browser/server-action-bridge.d.ts +0 -26
  265. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  266. package/dist/browser/server-action-bridge.js +0 -668
  267. package/dist/browser/server-action-bridge.js.map +0 -1
  268. package/dist/browser/shallow.d.ts +0 -12
  269. package/dist/browser/shallow.d.ts.map +0 -1
  270. package/dist/browser/shallow.js +0 -34
  271. package/dist/browser/shallow.js.map +0 -1
  272. package/dist/browser/types.d.ts +0 -369
  273. package/dist/browser/types.d.ts.map +0 -1
  274. package/dist/browser/types.js +0 -2
  275. package/dist/browser/types.js.map +0 -1
  276. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  277. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  278. package/dist/build/__tests__/generate-cli.test.js +0 -237
  279. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  280. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  281. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  282. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  283. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  284. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  285. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  286. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  287. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  288. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  289. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  290. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  291. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  292. package/dist/build/generate-manifest.d.ts +0 -81
  293. package/dist/build/generate-manifest.d.ts.map +0 -1
  294. package/dist/build/generate-manifest.js +0 -276
  295. package/dist/build/generate-manifest.js.map +0 -1
  296. package/dist/build/generate-route-types.d.ts +0 -115
  297. package/dist/build/generate-route-types.d.ts.map +0 -1
  298. package/dist/build/generate-route-types.js +0 -740
  299. package/dist/build/generate-route-types.js.map +0 -1
  300. package/dist/build/index.d.ts +0 -21
  301. package/dist/build/index.d.ts.map +0 -1
  302. package/dist/build/index.js +0 -21
  303. package/dist/build/index.js.map +0 -1
  304. package/dist/build/route-trie.d.ts +0 -71
  305. package/dist/build/route-trie.d.ts.map +0 -1
  306. package/dist/build/route-trie.js +0 -175
  307. package/dist/build/route-trie.js.map +0 -1
  308. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  309. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  310. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  311. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  312. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  313. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  314. package/dist/cache/__tests__/document-cache.test.js +0 -345
  315. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  316. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  317. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  318. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  319. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  320. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  321. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  322. package/dist/cache/__tests__/memory-store.test.js +0 -367
  323. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  324. package/dist/cache/cache-scope.d.ts +0 -102
  325. package/dist/cache/cache-scope.d.ts.map +0 -1
  326. package/dist/cache/cache-scope.js +0 -440
  327. package/dist/cache/cache-scope.js.map +0 -1
  328. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  329. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  330. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  331. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  332. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  333. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  334. package/dist/cache/cf/cf-cache-store.js +0 -242
  335. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  336. package/dist/cache/cf/index.d.ts +0 -14
  337. package/dist/cache/cf/index.d.ts.map +0 -1
  338. package/dist/cache/cf/index.js +0 -17
  339. package/dist/cache/cf/index.js.map +0 -1
  340. package/dist/cache/document-cache.d.ts +0 -64
  341. package/dist/cache/document-cache.d.ts.map +0 -1
  342. package/dist/cache/document-cache.js +0 -228
  343. package/dist/cache/document-cache.js.map +0 -1
  344. package/dist/cache/index.d.ts +0 -19
  345. package/dist/cache/index.d.ts.map +0 -1
  346. package/dist/cache/index.js +0 -21
  347. package/dist/cache/index.js.map +0 -1
  348. package/dist/cache/memory-segment-store.d.ts +0 -110
  349. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  350. package/dist/cache/memory-segment-store.js +0 -117
  351. package/dist/cache/memory-segment-store.js.map +0 -1
  352. package/dist/cache/memory-store.d.ts +0 -41
  353. package/dist/cache/memory-store.d.ts.map +0 -1
  354. package/dist/cache/memory-store.js +0 -191
  355. package/dist/cache/memory-store.js.map +0 -1
  356. package/dist/cache/types.d.ts +0 -317
  357. package/dist/cache/types.d.ts.map +0 -1
  358. package/dist/cache/types.js +0 -12
  359. package/dist/cache/types.js.map +0 -1
  360. package/dist/client.d.ts +0 -248
  361. package/dist/client.d.ts.map +0 -1
  362. package/dist/client.js +0 -367
  363. package/dist/client.js.map +0 -1
  364. package/dist/client.rsc.d.ts +0 -26
  365. package/dist/client.rsc.d.ts.map +0 -1
  366. package/dist/client.rsc.js +0 -46
  367. package/dist/client.rsc.js.map +0 -1
  368. package/dist/component-utils.d.ts +0 -36
  369. package/dist/component-utils.d.ts.map +0 -1
  370. package/dist/component-utils.js +0 -61
  371. package/dist/component-utils.js.map +0 -1
  372. package/dist/components/DefaultDocument.d.ts +0 -13
  373. package/dist/components/DefaultDocument.d.ts.map +0 -1
  374. package/dist/components/DefaultDocument.js +0 -15
  375. package/dist/components/DefaultDocument.js.map +0 -1
  376. package/dist/debug.d.ts +0 -58
  377. package/dist/debug.d.ts.map +0 -1
  378. package/dist/debug.js +0 -157
  379. package/dist/debug.js.map +0 -1
  380. package/dist/default-error-boundary.d.ts +0 -11
  381. package/dist/default-error-boundary.d.ts.map +0 -1
  382. package/dist/default-error-boundary.js +0 -45
  383. package/dist/default-error-boundary.js.map +0 -1
  384. package/dist/deps/browser.d.ts +0 -2
  385. package/dist/deps/browser.d.ts.map +0 -1
  386. package/dist/deps/browser.js +0 -3
  387. package/dist/deps/browser.js.map +0 -1
  388. package/dist/deps/html-stream-client.d.ts +0 -2
  389. package/dist/deps/html-stream-client.d.ts.map +0 -1
  390. package/dist/deps/html-stream-client.js +0 -3
  391. package/dist/deps/html-stream-client.js.map +0 -1
  392. package/dist/deps/html-stream-server.d.ts +0 -2
  393. package/dist/deps/html-stream-server.d.ts.map +0 -1
  394. package/dist/deps/html-stream-server.js +0 -3
  395. package/dist/deps/html-stream-server.js.map +0 -1
  396. package/dist/deps/rsc.d.ts +0 -2
  397. package/dist/deps/rsc.d.ts.map +0 -1
  398. package/dist/deps/rsc.js +0 -4
  399. package/dist/deps/rsc.js.map +0 -1
  400. package/dist/deps/ssr.d.ts +0 -2
  401. package/dist/deps/ssr.d.ts.map +0 -1
  402. package/dist/deps/ssr.js +0 -3
  403. package/dist/deps/ssr.js.map +0 -1
  404. package/dist/errors.d.ts +0 -174
  405. package/dist/errors.d.ts.map +0 -1
  406. package/dist/errors.js +0 -241
  407. package/dist/errors.js.map +0 -1
  408. package/dist/handle.d.ts +0 -78
  409. package/dist/handle.d.ts.map +0 -1
  410. package/dist/handle.js +0 -82
  411. package/dist/handle.js.map +0 -1
  412. package/dist/handles/MetaTags.d.ts +0 -14
  413. package/dist/handles/MetaTags.d.ts.map +0 -1
  414. package/dist/handles/MetaTags.js +0 -136
  415. package/dist/handles/MetaTags.js.map +0 -1
  416. package/dist/handles/index.d.ts +0 -6
  417. package/dist/handles/index.d.ts.map +0 -1
  418. package/dist/handles/index.js +0 -6
  419. package/dist/handles/index.js.map +0 -1
  420. package/dist/handles/meta.d.ts +0 -39
  421. package/dist/handles/meta.d.ts.map +0 -1
  422. package/dist/handles/meta.js +0 -202
  423. package/dist/handles/meta.js.map +0 -1
  424. package/dist/host/__tests__/errors.test.d.ts +0 -2
  425. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  426. package/dist/host/__tests__/errors.test.js +0 -76
  427. package/dist/host/__tests__/errors.test.js.map +0 -1
  428. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  429. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  430. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  431. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  432. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  433. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  434. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  435. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  436. package/dist/host/__tests__/router.test.d.ts +0 -2
  437. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  438. package/dist/host/__tests__/router.test.js +0 -241
  439. package/dist/host/__tests__/router.test.js.map +0 -1
  440. package/dist/host/__tests__/testing.test.d.ts +0 -2
  441. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  442. package/dist/host/__tests__/testing.test.js +0 -64
  443. package/dist/host/__tests__/testing.test.js.map +0 -1
  444. package/dist/host/__tests__/utils.test.d.ts +0 -2
  445. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  446. package/dist/host/__tests__/utils.test.js +0 -29
  447. package/dist/host/__tests__/utils.test.js.map +0 -1
  448. package/dist/host/cookie-handler.d.ts +0 -34
  449. package/dist/host/cookie-handler.d.ts.map +0 -1
  450. package/dist/host/cookie-handler.js +0 -124
  451. package/dist/host/cookie-handler.js.map +0 -1
  452. package/dist/host/errors.d.ts +0 -56
  453. package/dist/host/errors.d.ts.map +0 -1
  454. package/dist/host/errors.js +0 -79
  455. package/dist/host/errors.js.map +0 -1
  456. package/dist/host/index.d.ts +0 -29
  457. package/dist/host/index.d.ts.map +0 -1
  458. package/dist/host/index.js +0 -32
  459. package/dist/host/index.js.map +0 -1
  460. package/dist/host/pattern-matcher.d.ts +0 -36
  461. package/dist/host/pattern-matcher.d.ts.map +0 -1
  462. package/dist/host/pattern-matcher.js +0 -172
  463. package/dist/host/pattern-matcher.js.map +0 -1
  464. package/dist/host/router.d.ts +0 -26
  465. package/dist/host/router.d.ts.map +0 -1
  466. package/dist/host/router.js +0 -218
  467. package/dist/host/router.js.map +0 -1
  468. package/dist/host/testing.d.ts +0 -36
  469. package/dist/host/testing.d.ts.map +0 -1
  470. package/dist/host/testing.js +0 -55
  471. package/dist/host/testing.js.map +0 -1
  472. package/dist/host/types.d.ts +0 -115
  473. package/dist/host/types.d.ts.map +0 -1
  474. package/dist/host/types.js +0 -7
  475. package/dist/host/types.js.map +0 -1
  476. package/dist/host/utils.d.ts +0 -21
  477. package/dist/host/utils.d.ts.map +0 -1
  478. package/dist/host/utils.js +0 -23
  479. package/dist/host/utils.js.map +0 -1
  480. package/dist/href-client.d.ts +0 -131
  481. package/dist/href-client.d.ts.map +0 -1
  482. package/dist/href-client.js +0 -64
  483. package/dist/href-client.js.map +0 -1
  484. package/dist/href-context.d.ts +0 -29
  485. package/dist/href-context.d.ts.map +0 -1
  486. package/dist/href-context.js +0 -21
  487. package/dist/href-context.js.map +0 -1
  488. package/dist/index.d.ts +0 -73
  489. package/dist/index.d.ts.map +0 -1
  490. package/dist/index.js +0 -91
  491. package/dist/index.js.map +0 -1
  492. package/dist/index.rsc.d.ts +0 -32
  493. package/dist/index.rsc.d.ts.map +0 -1
  494. package/dist/index.rsc.js +0 -40
  495. package/dist/index.rsc.js.map +0 -1
  496. package/dist/internal-debug.d.ts +0 -2
  497. package/dist/internal-debug.d.ts.map +0 -1
  498. package/dist/internal-debug.js +0 -5
  499. package/dist/internal-debug.js.map +0 -1
  500. package/dist/loader.d.ts +0 -14
  501. package/dist/loader.d.ts.map +0 -1
  502. package/dist/loader.js +0 -20
  503. package/dist/loader.js.map +0 -1
  504. package/dist/loader.rsc.d.ts +0 -19
  505. package/dist/loader.rsc.d.ts.map +0 -1
  506. package/dist/loader.rsc.js +0 -99
  507. package/dist/loader.rsc.js.map +0 -1
  508. package/dist/network-error-thrower.d.ts +0 -17
  509. package/dist/network-error-thrower.d.ts.map +0 -1
  510. package/dist/network-error-thrower.js +0 -14
  511. package/dist/network-error-thrower.js.map +0 -1
  512. package/dist/outlet-context.d.ts +0 -13
  513. package/dist/outlet-context.d.ts.map +0 -1
  514. package/dist/outlet-context.js +0 -3
  515. package/dist/outlet-context.js.map +0 -1
  516. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  517. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  518. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  519. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  520. package/dist/prerender/param-hash.d.ts +0 -16
  521. package/dist/prerender/param-hash.d.ts.map +0 -1
  522. package/dist/prerender/param-hash.js +0 -36
  523. package/dist/prerender/param-hash.js.map +0 -1
  524. package/dist/prerender/store.d.ts +0 -38
  525. package/dist/prerender/store.d.ts.map +0 -1
  526. package/dist/prerender/store.js +0 -61
  527. package/dist/prerender/store.js.map +0 -1
  528. package/dist/prerender.d.ts +0 -66
  529. package/dist/prerender.d.ts.map +0 -1
  530. package/dist/prerender.js +0 -57
  531. package/dist/prerender.js.map +0 -1
  532. package/dist/reverse.d.ts +0 -196
  533. package/dist/reverse.d.ts.map +0 -1
  534. package/dist/reverse.js +0 -78
  535. package/dist/reverse.js.map +0 -1
  536. package/dist/root-error-boundary.d.ts +0 -33
  537. package/dist/root-error-boundary.d.ts.map +0 -1
  538. package/dist/root-error-boundary.js +0 -165
  539. package/dist/root-error-boundary.js.map +0 -1
  540. package/dist/route-content-wrapper.d.ts +0 -46
  541. package/dist/route-content-wrapper.d.ts.map +0 -1
  542. package/dist/route-content-wrapper.js +0 -77
  543. package/dist/route-content-wrapper.js.map +0 -1
  544. package/dist/route-definition.d.ts +0 -421
  545. package/dist/route-definition.d.ts.map +0 -1
  546. package/dist/route-definition.js +0 -868
  547. package/dist/route-definition.js.map +0 -1
  548. package/dist/route-map-builder.d.ts +0 -155
  549. package/dist/route-map-builder.d.ts.map +0 -1
  550. package/dist/route-map-builder.js +0 -237
  551. package/dist/route-map-builder.js.map +0 -1
  552. package/dist/route-types.d.ts +0 -165
  553. package/dist/route-types.d.ts.map +0 -1
  554. package/dist/route-types.js +0 -7
  555. package/dist/route-types.js.map +0 -1
  556. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  557. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  558. package/dist/router/__tests__/handler-context.test.js +0 -65
  559. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  560. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  561. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  562. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  563. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  564. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  565. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  566. package/dist/router/__tests__/match-context.test.js +0 -92
  567. package/dist/router/__tests__/match-context.test.js.map +0 -1
  568. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  569. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  570. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  571. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  572. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  573. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  574. package/dist/router/__tests__/match-result.test.js +0 -457
  575. package/dist/router/__tests__/match-result.test.js.map +0 -1
  576. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  577. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  578. package/dist/router/__tests__/on-error.test.js +0 -678
  579. package/dist/router/__tests__/on-error.test.js.map +0 -1
  580. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  581. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  582. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  583. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  584. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  585. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  586. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  587. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  588. package/dist/router/error-handling.d.ts +0 -77
  589. package/dist/router/error-handling.d.ts.map +0 -1
  590. package/dist/router/error-handling.js +0 -202
  591. package/dist/router/error-handling.js.map +0 -1
  592. package/dist/router/handler-context.d.ts +0 -20
  593. package/dist/router/handler-context.d.ts.map +0 -1
  594. package/dist/router/handler-context.js +0 -198
  595. package/dist/router/handler-context.js.map +0 -1
  596. package/dist/router/intercept-resolution.d.ts +0 -66
  597. package/dist/router/intercept-resolution.d.ts.map +0 -1
  598. package/dist/router/intercept-resolution.js +0 -246
  599. package/dist/router/intercept-resolution.js.map +0 -1
  600. package/dist/router/loader-resolution.d.ts +0 -64
  601. package/dist/router/loader-resolution.d.ts.map +0 -1
  602. package/dist/router/loader-resolution.js +0 -284
  603. package/dist/router/loader-resolution.js.map +0 -1
  604. package/dist/router/logging.d.ts +0 -15
  605. package/dist/router/logging.d.ts.map +0 -1
  606. package/dist/router/logging.js +0 -99
  607. package/dist/router/logging.js.map +0 -1
  608. package/dist/router/manifest.d.ts +0 -22
  609. package/dist/router/manifest.d.ts.map +0 -1
  610. package/dist/router/manifest.js +0 -181
  611. package/dist/router/manifest.js.map +0 -1
  612. package/dist/router/match-api.d.ts +0 -35
  613. package/dist/router/match-api.d.ts.map +0 -1
  614. package/dist/router/match-api.js +0 -406
  615. package/dist/router/match-api.js.map +0 -1
  616. package/dist/router/match-context.d.ts +0 -206
  617. package/dist/router/match-context.d.ts.map +0 -1
  618. package/dist/router/match-context.js +0 -17
  619. package/dist/router/match-context.js.map +0 -1
  620. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  621. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  622. package/dist/router/match-middleware/background-revalidation.js +0 -75
  623. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  624. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  625. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  626. package/dist/router/match-middleware/cache-lookup.js +0 -257
  627. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  628. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  629. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  630. package/dist/router/match-middleware/cache-store.js +0 -108
  631. package/dist/router/match-middleware/cache-store.js.map +0 -1
  632. package/dist/router/match-middleware/index.d.ts +0 -81
  633. package/dist/router/match-middleware/index.d.ts.map +0 -1
  634. package/dist/router/match-middleware/index.js +0 -80
  635. package/dist/router/match-middleware/index.js.map +0 -1
  636. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  637. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  638. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  639. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  640. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  641. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  642. package/dist/router/match-middleware/segment-resolution.js +0 -53
  643. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  644. package/dist/router/match-pipelines.d.ts +0 -147
  645. package/dist/router/match-pipelines.d.ts.map +0 -1
  646. package/dist/router/match-pipelines.js +0 -82
  647. package/dist/router/match-pipelines.js.map +0 -1
  648. package/dist/router/match-result.d.ts +0 -126
  649. package/dist/router/match-result.d.ts.map +0 -1
  650. package/dist/router/match-result.js +0 -93
  651. package/dist/router/match-result.js.map +0 -1
  652. package/dist/router/metrics.d.ts +0 -20
  653. package/dist/router/metrics.d.ts.map +0 -1
  654. package/dist/router/metrics.js +0 -47
  655. package/dist/router/metrics.js.map +0 -1
  656. package/dist/router/middleware.d.ts +0 -249
  657. package/dist/router/middleware.d.ts.map +0 -1
  658. package/dist/router/middleware.js +0 -434
  659. package/dist/router/middleware.js.map +0 -1
  660. package/dist/router/middleware.test.d.ts +0 -2
  661. package/dist/router/middleware.test.d.ts.map +0 -1
  662. package/dist/router/middleware.test.js +0 -816
  663. package/dist/router/middleware.test.js.map +0 -1
  664. package/dist/router/pattern-matching.d.ts +0 -149
  665. package/dist/router/pattern-matching.d.ts.map +0 -1
  666. package/dist/router/pattern-matching.js +0 -349
  667. package/dist/router/pattern-matching.js.map +0 -1
  668. package/dist/router/revalidation.d.ts +0 -44
  669. package/dist/router/revalidation.d.ts.map +0 -1
  670. package/dist/router/revalidation.js +0 -147
  671. package/dist/router/revalidation.js.map +0 -1
  672. package/dist/router/router-context.d.ts +0 -135
  673. package/dist/router/router-context.d.ts.map +0 -1
  674. package/dist/router/router-context.js +0 -36
  675. package/dist/router/router-context.js.map +0 -1
  676. package/dist/router/segment-resolution.d.ts +0 -127
  677. package/dist/router/segment-resolution.d.ts.map +0 -1
  678. package/dist/router/segment-resolution.js +0 -919
  679. package/dist/router/segment-resolution.js.map +0 -1
  680. package/dist/router/trie-matching.d.ts +0 -40
  681. package/dist/router/trie-matching.d.ts.map +0 -1
  682. package/dist/router/trie-matching.js +0 -127
  683. package/dist/router/trie-matching.js.map +0 -1
  684. package/dist/router/types.d.ts +0 -136
  685. package/dist/router/types.d.ts.map +0 -1
  686. package/dist/router/types.js +0 -7
  687. package/dist/router/types.js.map +0 -1
  688. package/dist/router.d.ts +0 -753
  689. package/dist/router.d.ts.map +0 -1
  690. package/dist/router.gen.d.ts +0 -6
  691. package/dist/router.gen.d.ts.map +0 -1
  692. package/dist/router.gen.js +0 -6
  693. package/dist/router.gen.js.map +0 -1
  694. package/dist/router.js +0 -1304
  695. package/dist/router.js.map +0 -1
  696. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  697. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  698. package/dist/rsc/__tests__/helpers.test.js +0 -140
  699. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  700. package/dist/rsc/handler.d.ts +0 -45
  701. package/dist/rsc/handler.d.ts.map +0 -1
  702. package/dist/rsc/handler.js +0 -1172
  703. package/dist/rsc/handler.js.map +0 -1
  704. package/dist/rsc/helpers.d.ts +0 -16
  705. package/dist/rsc/helpers.d.ts.map +0 -1
  706. package/dist/rsc/helpers.js +0 -55
  707. package/dist/rsc/helpers.js.map +0 -1
  708. package/dist/rsc/index.d.ts +0 -22
  709. package/dist/rsc/index.d.ts.map +0 -1
  710. package/dist/rsc/index.js +0 -23
  711. package/dist/rsc/index.js.map +0 -1
  712. package/dist/rsc/nonce.d.ts +0 -9
  713. package/dist/rsc/nonce.d.ts.map +0 -1
  714. package/dist/rsc/nonce.js +0 -18
  715. package/dist/rsc/nonce.js.map +0 -1
  716. package/dist/rsc/types.d.ts +0 -206
  717. package/dist/rsc/types.d.ts.map +0 -1
  718. package/dist/rsc/types.js +0 -8
  719. package/dist/rsc/types.js.map +0 -1
  720. package/dist/search-params.d.ts +0 -103
  721. package/dist/search-params.d.ts.map +0 -1
  722. package/dist/search-params.js +0 -74
  723. package/dist/search-params.js.map +0 -1
  724. package/dist/segment-system.d.ts +0 -75
  725. package/dist/segment-system.d.ts.map +0 -1
  726. package/dist/segment-system.js +0 -336
  727. package/dist/segment-system.js.map +0 -1
  728. package/dist/server/context.d.ts +0 -245
  729. package/dist/server/context.d.ts.map +0 -1
  730. package/dist/server/context.js +0 -197
  731. package/dist/server/context.js.map +0 -1
  732. package/dist/server/fetchable-loader-store.d.ts +0 -18
  733. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  734. package/dist/server/fetchable-loader-store.js +0 -18
  735. package/dist/server/fetchable-loader-store.js.map +0 -1
  736. package/dist/server/handle-store.d.ts +0 -85
  737. package/dist/server/handle-store.d.ts.map +0 -1
  738. package/dist/server/handle-store.js +0 -142
  739. package/dist/server/handle-store.js.map +0 -1
  740. package/dist/server/loader-registry.d.ts +0 -55
  741. package/dist/server/loader-registry.d.ts.map +0 -1
  742. package/dist/server/loader-registry.js +0 -132
  743. package/dist/server/loader-registry.js.map +0 -1
  744. package/dist/server/request-context.d.ts +0 -226
  745. package/dist/server/request-context.d.ts.map +0 -1
  746. package/dist/server/request-context.js +0 -290
  747. package/dist/server/request-context.js.map +0 -1
  748. package/dist/server/root-layout.d.ts +0 -4
  749. package/dist/server/root-layout.d.ts.map +0 -1
  750. package/dist/server/root-layout.js +0 -5
  751. package/dist/server/root-layout.js.map +0 -1
  752. package/dist/server.d.ts +0 -15
  753. package/dist/server.d.ts.map +0 -1
  754. package/dist/server.js +0 -20
  755. package/dist/server.js.map +0 -1
  756. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  757. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  758. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  759. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  760. package/dist/ssr/index.d.ts +0 -98
  761. package/dist/ssr/index.d.ts.map +0 -1
  762. package/dist/ssr/index.js +0 -158
  763. package/dist/ssr/index.js.map +0 -1
  764. package/dist/static-handler.d.ts +0 -50
  765. package/dist/static-handler.d.ts.map +0 -1
  766. package/dist/static-handler.gen.d.ts +0 -5
  767. package/dist/static-handler.gen.d.ts.map +0 -1
  768. package/dist/static-handler.gen.js +0 -5
  769. package/dist/static-handler.gen.js.map +0 -1
  770. package/dist/static-handler.js +0 -29
  771. package/dist/static-handler.js.map +0 -1
  772. package/dist/theme/ThemeProvider.d.ts +0 -20
  773. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  774. package/dist/theme/ThemeProvider.js +0 -240
  775. package/dist/theme/ThemeProvider.js.map +0 -1
  776. package/dist/theme/ThemeScript.d.ts +0 -48
  777. package/dist/theme/ThemeScript.d.ts.map +0 -1
  778. package/dist/theme/ThemeScript.js +0 -13
  779. package/dist/theme/ThemeScript.js.map +0 -1
  780. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  781. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  782. package/dist/theme/__tests__/theme.test.js +0 -103
  783. package/dist/theme/__tests__/theme.test.js.map +0 -1
  784. package/dist/theme/constants.d.ts +0 -29
  785. package/dist/theme/constants.d.ts.map +0 -1
  786. package/dist/theme/constants.js +0 -48
  787. package/dist/theme/constants.js.map +0 -1
  788. package/dist/theme/index.d.ts +0 -31
  789. package/dist/theme/index.d.ts.map +0 -1
  790. package/dist/theme/index.js +0 -36
  791. package/dist/theme/index.js.map +0 -1
  792. package/dist/theme/theme-context.d.ts +0 -40
  793. package/dist/theme/theme-context.d.ts.map +0 -1
  794. package/dist/theme/theme-context.js +0 -60
  795. package/dist/theme/theme-context.js.map +0 -1
  796. package/dist/theme/theme-script.d.ts +0 -27
  797. package/dist/theme/theme-script.d.ts.map +0 -1
  798. package/dist/theme/theme-script.js +0 -147
  799. package/dist/theme/theme-script.js.map +0 -1
  800. package/dist/theme/types.d.ts +0 -163
  801. package/dist/theme/types.d.ts.map +0 -1
  802. package/dist/theme/types.js +0 -11
  803. package/dist/theme/types.js.map +0 -1
  804. package/dist/theme/use-theme.d.ts +0 -12
  805. package/dist/theme/use-theme.d.ts.map +0 -1
  806. package/dist/theme/use-theme.js +0 -40
  807. package/dist/theme/use-theme.js.map +0 -1
  808. package/dist/types.d.ts +0 -1479
  809. package/dist/types.d.ts.map +0 -1
  810. package/dist/types.js +0 -10
  811. package/dist/types.js.map +0 -1
  812. package/dist/urls.d.ts +0 -441
  813. package/dist/urls.d.ts.map +0 -1
  814. package/dist/urls.gen.d.ts +0 -8
  815. package/dist/urls.gen.d.ts.map +0 -1
  816. package/dist/urls.gen.js +0 -8
  817. package/dist/urls.gen.js.map +0 -1
  818. package/dist/urls.js +0 -443
  819. package/dist/urls.js.map +0 -1
  820. package/dist/use-loader.d.ts +0 -127
  821. package/dist/use-loader.d.ts.map +0 -1
  822. package/dist/use-loader.js +0 -237
  823. package/dist/use-loader.js.map +0 -1
  824. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  825. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  826. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  827. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  828. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  829. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  830. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  831. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  832. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  833. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  834. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  835. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  836. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  837. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  838. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  839. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  840. package/dist/vite/ast-handler-extract.d.ts +0 -49
  841. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  842. package/dist/vite/ast-handler-extract.js +0 -249
  843. package/dist/vite/ast-handler-extract.js.map +0 -1
  844. package/dist/vite/expose-action-id.d.ts +0 -19
  845. package/dist/vite/expose-action-id.d.ts.map +0 -1
  846. package/dist/vite/expose-action-id.js +0 -250
  847. package/dist/vite/expose-action-id.js.map +0 -1
  848. package/dist/vite/expose-id-utils.d.ts +0 -69
  849. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  850. package/dist/vite/expose-id-utils.js +0 -289
  851. package/dist/vite/expose-id-utils.js.map +0 -1
  852. package/dist/vite/expose-internal-ids.d.ts +0 -22
  853. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  854. package/dist/vite/expose-internal-ids.js +0 -886
  855. package/dist/vite/expose-internal-ids.js.map +0 -1
  856. package/dist/vite/index.d.ts +0 -149
  857. package/dist/vite/index.d.ts.map +0 -1
  858. package/dist/vite/index.js.bak +0 -5448
  859. package/dist/vite/index.js.map +0 -1
  860. package/dist/vite/index.named-routes.gen.ts +0 -103
  861. package/dist/vite/package-resolution.d.ts +0 -43
  862. package/dist/vite/package-resolution.d.ts.map +0 -1
  863. package/dist/vite/package-resolution.js +0 -112
  864. package/dist/vite/package-resolution.js.map +0 -1
  865. package/dist/vite/virtual-entries.d.ts +0 -25
  866. package/dist/vite/virtual-entries.d.ts.map +0 -1
  867. package/dist/vite/virtual-entries.js +0 -110
  868. package/dist/vite/virtual-entries.js.map +0 -1
@@ -1,17 +0,0 @@
1
- /**
2
- * Create initial pipeline state
3
- */
4
- export function createPipelineState() {
5
- return {
6
- cacheHit: false,
7
- segments: [],
8
- matchedIds: [],
9
- interceptSegments: [],
10
- slots: {},
11
- };
12
- }
13
- // Note: createMatchContext() will be implemented in Step J10 when we wire everything together.
14
- // It requires access to RouterContext (findMatch, loadManifest, etc.) which are closure
15
- // functions from createRouter(). The implementation will live in router.ts initially
16
- // and call getRouterContext() to access these dependencies.
17
- //# sourceMappingURL=match-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"match-context.js","sourceRoot":"","sources":["../../src/router/match-context.ts"],"names":[],"mappings":"AAsOA;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,EAAE;QACd,iBAAiB,EAAE,EAAE;QACrB,KAAK,EAAE,EAAE;KACV,CAAC;AACJ,CAAC;AAmBD,+FAA+F;AAC/F,wFAAwF;AACxF,qFAAqF;AACrF,4DAA4D"}
@@ -1,127 +0,0 @@
1
- /**
2
- * Background Revalidation Middleware
3
- *
4
- * Implements SWR (stale-while-revalidate) pattern.
5
- * Triggers background refresh when cached data is stale.
6
- *
7
- * FLOW DIAGRAM
8
- * ============
9
- *
10
- * source (from cache-store)
11
- * |
12
- * v
13
- * +---------------------------+
14
- * | yield* source | Pure pass-through
15
- * | (no modifications) |
16
- * +---------------------------+
17
- * |
18
- * v
19
- * +---------------------+
20
- * | Should revalidate? |
21
- * | - shouldRevalidate |──no───> return
22
- * | - cacheHit |
23
- * | - cacheScope |
24
- * +---------------------+
25
- * | yes
26
- * v
27
- * +---------------------------+
28
- * | requestCtx.waitUntil() | Non-blocking background task
29
- * +---------------------------+
30
- * |
31
- * v (async, doesn't block response)
32
- * +---------------------------+
33
- * | Create fresh handleStore | Isolate from response stream
34
- * +---------------------------+
35
- * |
36
- * v
37
- * +---------------------+
38
- * | isFullMatch? |
39
- * +---------------------+
40
- * |
41
- * +-----+-----+
42
- * | |
43
- * yes no
44
- * | |
45
- * v v
46
- * resolveAll resolveWithRevalidation
47
- * Segments + resolveIntercepts
48
- * | |
49
- * +-----------+
50
- * |
51
- * v
52
- * +---------------------------+
53
- * | cacheScope.cacheRoute() | Update cache with fresh data
54
- * +---------------------------+
55
- *
56
- *
57
- * SWR PATTERN
58
- * ===========
59
- *
60
- * Stale-While-Revalidate provides fast responses with eventual consistency:
61
- *
62
- * Timeline:
63
- * ---------
64
- * T0: Request arrives
65
- * T1: Cache lookup finds stale entry
66
- * T2: Return stale data immediately (fast!)
67
- * T3: Response sent to client
68
- * T4: waitUntil() triggers background revalidation
69
- * T5: Fresh data resolved
70
- * T6: Cache updated with fresh data
71
- * T7: Next request gets fresh data from cache
72
- *
73
- * Benefits:
74
- * - Fast initial response (cached data)
75
- * - Eventually consistent (background refresh)
76
- * - No blocking on revalidation
77
- *
78
- *
79
- * WHEN IS CACHE STALE?
80
- * ====================
81
- *
82
- * The cache-lookup middleware sets state.shouldRevalidate based on:
83
- * - TTL (time-to-live) expiration
84
- * - Cache entry metadata
85
- * - Configured staleness rules
86
- *
87
- * This middleware only acts on the flag, it doesn't determine staleness.
88
- *
89
- *
90
- * ISOLATION FROM RESPONSE
91
- * =======================
92
- *
93
- * The background revalidation creates a fresh handleStore:
94
- *
95
- * requestCtx._handleStore = createHandleStore();
96
- *
97
- * This prevents background handle.push() calls from:
98
- * - Polluting the current response stream
99
- * - Causing duplicate data in the client
100
- * - Creating race conditions
101
- *
102
- *
103
- * FULL VS PARTIAL REVALIDATION
104
- * ============================
105
- *
106
- * Full Match (document request):
107
- * - Simple resolveAllSegments()
108
- * - No need to compare with previous state
109
- *
110
- * Partial Match (navigation):
111
- * - resolveAllSegmentsWithRevalidation()
112
- * - Also resolves intercept segments if applicable
113
- * - More complex but handles all scenarios
114
- */
115
- import type { ResolvedSegment } from "../../types.js";
116
- import type { MatchContext, MatchPipelineState } from "../match-context.js";
117
- import type { GeneratorMiddleware } from "./cache-lookup.js";
118
- /**
119
- * Creates background revalidation middleware
120
- *
121
- * If cache was stale (state.shouldRevalidate === true):
122
- * - Triggers background resolution via waitUntil
123
- * - Observes segments but doesn't modify them
124
- * - Updates cache with fresh segments after revalidation completes
125
- */
126
- export declare function withBackgroundRevalidation<TEnv>(ctx: MatchContext<TEnv>, state: MatchPipelineState): GeneratorMiddleware<ResolvedSegment>;
127
- //# sourceMappingURL=background-revalidation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"background-revalidation.d.ts","sourceRoot":"","sources":["../../../src/router/match-middleware/background-revalidation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiHG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAG7D;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAC7C,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,EACvB,KAAK,EAAE,kBAAkB,GACxB,mBAAmB,CAAC,eAAe,CAAC,CA+GtC"}
@@ -1,75 +0,0 @@
1
- import { getRouterContext } from "../router-context.js";
2
- import { debugLog, debugWarn } from "../logging.js";
3
- /**
4
- * Creates background revalidation middleware
5
- *
6
- * If cache was stale (state.shouldRevalidate === true):
7
- * - Triggers background resolution via waitUntil
8
- * - Observes segments but doesn't modify them
9
- * - Updates cache with fresh segments after revalidation completes
10
- */
11
- export function withBackgroundRevalidation(ctx, state) {
12
- return async function* (source) {
13
- // Pass through all segments unchanged
14
- for await (const segment of source) {
15
- yield segment;
16
- }
17
- // Only trigger background revalidation if:
18
- // 1. Cache was hit and stale
19
- // 2. Cache scope exists
20
- if (!state.shouldRevalidate || !state.cacheHit || !ctx.cacheScope) {
21
- return;
22
- }
23
- const { getRequestContext, createHandleStore, resolveAllSegmentsWithRevalidation, resolveAllSegments, resolveInterceptEntry, } = getRouterContext();
24
- const requestCtx = getRequestContext();
25
- const cacheScope = ctx.cacheScope;
26
- requestCtx?.waitUntil(async () => {
27
- debugLog("backgroundRevalidation", "revalidating stale route", {
28
- pathname: ctx.pathname,
29
- fullMatch: ctx.isFullMatch,
30
- });
31
- try {
32
- // Create a fresh handleStore for background revalidation
33
- // to avoid polluting the current response's handle stream
34
- if (requestCtx) {
35
- requestCtx._handleStore = createHandleStore();
36
- }
37
- let freshSegments;
38
- if (ctx.isFullMatch) {
39
- // Full match (document request) - simple resolution
40
- freshSegments = await resolveAllSegments(ctx.entries, ctx.routeKey, ctx.matched.params, ctx.handlerContext, ctx.loaderPromises);
41
- }
42
- else {
43
- // Partial match (navigation) - resolution with revalidation
44
- const freshResult = await resolveAllSegmentsWithRevalidation(ctx.entries, ctx.routeKey, ctx.matched.params, ctx.handlerContext, ctx.clientSegmentSet, ctx.prevParams, ctx.request, ctx.prevUrl, ctx.url, ctx.loaderPromises, ctx.actionContext, ctx.interceptResult, ctx.localRouteName, ctx.pathname);
45
- freshSegments = freshResult.segments;
46
- // For intercept revalidation, also resolve fresh intercept segments
47
- if (ctx.interceptResult) {
48
- const freshInterceptSegments = await resolveInterceptEntry(ctx.interceptResult.intercept, ctx.interceptResult.entry, ctx.matched.params, ctx.handlerContext, true, {
49
- clientSegmentIds: ctx.clientSegmentSet,
50
- prevParams: ctx.prevParams,
51
- request: ctx.request,
52
- prevUrl: ctx.prevUrl,
53
- nextUrl: ctx.url,
54
- routeKey: ctx.routeKey,
55
- actionContext: ctx.actionContext,
56
- stale: false,
57
- });
58
- freshSegments = [...freshSegments, ...freshInterceptSegments];
59
- }
60
- }
61
- await cacheScope.cacheRoute(ctx.pathname, ctx.matched.params, freshSegments, ctx.isIntercept);
62
- debugLog("backgroundRevalidation", "revalidation complete", {
63
- pathname: ctx.pathname,
64
- });
65
- }
66
- catch (error) {
67
- debugWarn("backgroundRevalidation", "revalidation failed", {
68
- pathname: ctx.pathname,
69
- error: String(error),
70
- });
71
- }
72
- });
73
- };
74
- }
75
- //# sourceMappingURL=background-revalidation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"background-revalidation.js","sourceRoot":"","sources":["../../../src/router/match-middleware/background-revalidation.ts"],"names":[],"mappings":"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"}
@@ -1,112 +0,0 @@
1
- /**
2
- * Cache Lookup Middleware
3
- *
4
- * First middleware in the pipeline. Checks cache before segment resolution.
5
- *
6
- * FLOW DIAGRAM
7
- * ============
8
- *
9
- * source (empty)
10
- * |
11
- * v
12
- * +---------------------+
13
- * | Is action request? |──yes──> yield* source (pass through)
14
- * +---------------------+
15
- * | no
16
- * v
17
- * +---------------------+
18
- * | Cache enabled? |──no───> yield* source (pass through)
19
- * +---------------------+
20
- * | yes
21
- * v
22
- * +---------------------+
23
- * | Lookup cache |
24
- * | (pathname, params) |
25
- * +---------------------+
26
- * |
27
- * +-----+-----+
28
- * | |
29
- * miss hit
30
- * | |
31
- * v v
32
- * yield* Set state.cacheHit = true
33
- * source Set state.shouldRevalidate
34
- * | |
35
- * | v
36
- * | +---------------------------+
37
- * | | For each cached segment: |
38
- * | | - Apply revalidation |
39
- * | | - Set component = null |
40
- * | | if client has it |
41
- * | +---------------------------+
42
- * | |
43
- * | v
44
- * | +---------------------------+
45
- * | | Resolve fresh loaders | <-- Loaders are NEVER cached
46
- * | | (always fresh data) |
47
- * | +---------------------------+
48
- * | |
49
- * | v
50
- * | yield cached segments
51
- * | yield fresh loader segments
52
- * | |
53
- * +-----------+
54
- * |
55
- * v
56
- * next middleware
57
- *
58
- *
59
- * CACHE BEHAVIOR
60
- * ==============
61
- *
62
- * Cache HIT:
63
- * - state.cacheHit = true signals downstream middleware to skip
64
- * - Cached segments have their components nullified if client already has them
65
- * - Loaders are always re-resolved for fresh data
66
- * - state.shouldRevalidate triggers background SWR if cache was stale
67
- *
68
- * Cache MISS:
69
- * - Passes through to segment-resolution middleware
70
- * - No segments yielded from this middleware
71
- *
72
- * Loaders:
73
- * - NEVER cached by design
74
- * - Always resolved fresh on every request
75
- * - Ensures data freshness even with cached UI components
76
- *
77
- *
78
- * REVALIDATION RULES
79
- * ==================
80
- *
81
- * Each cached segment is evaluated against its revalidation rules:
82
- *
83
- * 1. No rules defined -> use default (skip if client has segment)
84
- * 2. Rules return false -> skip re-render (nullify component)
85
- * 3. Rules return true -> re-render (keep component)
86
- *
87
- * Revalidation context includes:
88
- * - Previous/next URL and params
89
- * - Request object
90
- * - Action context (if POST)
91
- */
92
- import type { ResolvedSegment } from "../../types.js";
93
- import type { MatchContext, MatchPipelineState } from "../match-context.js";
94
- /**
95
- * Async generator middleware type
96
- */
97
- export type GeneratorMiddleware<T> = (source: AsyncGenerator<T>) => AsyncGenerator<T>;
98
- /**
99
- * Creates cache lookup middleware
100
- *
101
- * Checks cache for segments. If cache hit:
102
- * - Applies revalidation to determine which segments need re-rendering
103
- * - Resolves loaders fresh (loaders are NOT cached by design)
104
- * - Sets state.cacheHit = true
105
- * - Sets state.shouldRevalidate if SWR needed
106
- * - Yields cached segments + fresh loader segments
107
- *
108
- * If cache miss:
109
- * - Passes through to next middleware
110
- */
111
- export declare function withCacheLookup<TEnv>(ctx: MatchContext<TEnv>, state: MatchPipelineState): GeneratorMiddleware<ResolvedSegment>;
112
- //# sourceMappingURL=cache-lookup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache-lookup.d.ts","sourceRoot":"","sources":["../../../src/router/match-middleware/cache-lookup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0FG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AA6H5E;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,CACnC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,KACtB,cAAc,CAAC,CAAC,CAAC,CAAC;AAEvB;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAClC,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,EACvB,KAAK,EAAE,kBAAkB,GACxB,mBAAmB,CAAC,eAAe,CAAC,CAqMtC"}
@@ -1,257 +0,0 @@
1
- import { getRouterContext } from "../router-context.js";
2
- // Lazily initialized prerender store singleton and dynamically imported deps.
3
- // Dynamic imports prevent pulling in @vitejs/plugin-rsc/rsc virtual module at
4
- // top-level, which breaks vitest (only URLs with file:, data:, node: schemes).
5
- let prerenderStoreInstance;
6
- let _deserializeSegments;
7
- let _hashParams;
8
- let _getRequestContext;
9
- async function ensurePrerenderDeps() {
10
- if (!_deserializeSegments) {
11
- const [cache, paramHash, reqCtx, store] = await Promise.all([
12
- import("../../cache/cache-scope.js"),
13
- import("../../prerender/param-hash.js"),
14
- import("../../server/request-context.js"),
15
- import("../../prerender/store.js"),
16
- ]);
17
- _deserializeSegments = cache.deserializeSegments;
18
- _hashParams = paramHash.hashParams;
19
- _getRequestContext = reqCtx.getRequestContext;
20
- if (prerenderStoreInstance === undefined) {
21
- prerenderStoreInstance = store.createPrerenderStore();
22
- }
23
- }
24
- }
25
- /**
26
- * Shared yield logic for prerender and static handler store entries.
27
- * Deserializes segments, replays handle data, yields segments with partial
28
- * navigation nullification, and resolves fresh loaders.
29
- */
30
- async function* yieldFromStore(entry, ctx, state, pipelineStart) {
31
- const { resolveLoadersOnlyWithRevalidation, resolveLoadersOnly, } = getRouterContext();
32
- if (!_deserializeSegments || !_hashParams || !_getRequestContext) {
33
- throw new Error("yieldFromStore called before ensurePrerenderDeps");
34
- }
35
- const segments = await _deserializeSegments(entry.segments);
36
- // Replay handle data (same as runtime cache hit path)
37
- const handleStore = _getRequestContext()?._handleStore;
38
- if (handleStore) {
39
- for (const [segId, segHandles] of Object.entries(entry.handles)) {
40
- if (Object.keys(segHandles).length > 0) {
41
- handleStore.replaySegmentData(segId, segHandles);
42
- }
43
- }
44
- }
45
- state.cacheHit = true;
46
- state.cachedSegments = segments;
47
- state.cachedMatchedIds = segments.map((s) => s.id);
48
- // For partial navigation, nullify components the client already has
49
- // so parent layouts stay live (client keeps its existing versions).
50
- // When params changed (e.g., different guide slug), the segments have
51
- // different content, so we must NOT nullify.
52
- const paramsChanged = !ctx.isFullMatch &&
53
- JSON.stringify(ctx.matched.params) !== JSON.stringify(ctx.prevParams);
54
- for (const segment of segments) {
55
- if (!ctx.isFullMatch && !paramsChanged && ctx.clientSegmentSet.has(segment.id)) {
56
- segment.component = null;
57
- segment.loading = undefined;
58
- }
59
- yield segment;
60
- }
61
- // Resolve loaders fresh (loaders are never pre-rendered/cached)
62
- if (ctx.isFullMatch) {
63
- if (resolveLoadersOnly) {
64
- const loaderSegments = await ctx.Store.run(() => resolveLoadersOnly(ctx.entries, ctx.handlerContext));
65
- state.matchedIds = state.cachedMatchedIds;
66
- for (const segment of loaderSegments) {
67
- yield segment;
68
- }
69
- }
70
- else {
71
- state.matchedIds = state.cachedMatchedIds;
72
- }
73
- }
74
- else {
75
- if (resolveLoadersOnlyWithRevalidation) {
76
- const loaderResult = await ctx.Store.run(() => resolveLoadersOnlyWithRevalidation(ctx.entries, ctx.handlerContext, ctx.clientSegmentSet, ctx.prevParams, ctx.request, ctx.prevUrl, ctx.url, ctx.routeKey, ctx.actionContext));
77
- state.matchedIds = [
78
- ...state.cachedMatchedIds,
79
- ...loaderResult.matchedIds,
80
- ];
81
- for (const segment of loaderResult.segments) {
82
- yield segment;
83
- }
84
- }
85
- else {
86
- state.matchedIds = state.cachedMatchedIds;
87
- }
88
- }
89
- const ms = ctx.metricsStore;
90
- if (ms) {
91
- ms.metrics.push({ label: "pipeline:cache-lookup", duration: performance.now() - pipelineStart, startTime: pipelineStart - ms.requestStart });
92
- }
93
- }
94
- /**
95
- * Creates cache lookup middleware
96
- *
97
- * Checks cache for segments. If cache hit:
98
- * - Applies revalidation to determine which segments need re-rendering
99
- * - Resolves loaders fresh (loaders are NOT cached by design)
100
- * - Sets state.cacheHit = true
101
- * - Sets state.shouldRevalidate if SWR needed
102
- * - Yields cached segments + fresh loader segments
103
- *
104
- * If cache miss:
105
- * - Passes through to next middleware
106
- */
107
- export function withCacheLookup(ctx, state) {
108
- return async function* (source) {
109
- const pipelineStart = performance.now();
110
- const ms = ctx.metricsStore;
111
- const { evaluateRevalidation, buildEntryRevalidateMap, resolveLoadersOnlyWithRevalidation, resolveLoadersOnly, } = getRouterContext();
112
- // Prerender lookup: check build-time cached data before runtime cache.
113
- // Prerender data is available regardless of runtime cache configuration.
114
- if (!ctx.isAction && ctx.matched.pr) {
115
- await ensurePrerenderDeps();
116
- if (prerenderStoreInstance) {
117
- const paramHash = _hashParams(ctx.matched.params);
118
- const entry = await prerenderStoreInstance.get(ctx.matched.routeKey, paramHash, { pathname: ctx.pathname });
119
- if (entry) {
120
- yield* yieldFromStore(entry, ctx, state, pipelineStart);
121
- return;
122
- }
123
- }
124
- }
125
- // Dev-mode static handler interception for non-Node.js runtimes.
126
- // __PRERENDER_DEV_URL is set by the Vite plugin when the RSC environment
127
- // lacks a Node.js module runner (e.g. workerd, Deno workers). In those
128
- // runtimes, handlers that depend on Node APIs like node:fs can't run
129
- // in-process. We redirect them to the /__rsc_prerender endpoint which
130
- // resolves segments in a Node.js temp server, same as prerender routes.
131
- // In Node.js dev mode this variable is undefined -- handlers run
132
- // in-process where Node APIs work, so no interception is needed.
133
- if (!ctx.isAction && !ctx.matched.pr && globalThis.__PRERENDER_DEV_URL) {
134
- const hasStatic = ctx.entries.some((e) => (e.type === "layout" || e.type === "route" || e.type === "parallel") && e.isStaticPrerender);
135
- if (hasStatic) {
136
- await ensurePrerenderDeps();
137
- if (prerenderStoreInstance) {
138
- const paramHash = _hashParams(ctx.matched.params);
139
- const entry = await prerenderStoreInstance.get(ctx.matched.routeKey, paramHash, { pathname: ctx.pathname });
140
- if (entry) {
141
- yield* yieldFromStore(entry, ctx, state, pipelineStart);
142
- return;
143
- }
144
- }
145
- }
146
- }
147
- // Skip cache during actions
148
- if (ctx.isAction || !ctx.cacheScope?.enabled) {
149
- // Cache miss - pass through to segment resolution
150
- yield* source;
151
- if (ms) {
152
- ms.metrics.push({ label: "pipeline:cache-lookup", duration: performance.now() - pipelineStart, startTime: pipelineStart - ms.requestStart });
153
- }
154
- return;
155
- }
156
- // Lookup cache
157
- const cacheResult = await ctx.cacheScope.lookupRoute(ctx.pathname, ctx.matched.params, ctx.isIntercept);
158
- if (!cacheResult) {
159
- // Cache miss - pass through to segment resolution
160
- yield* source;
161
- if (ms) {
162
- ms.metrics.push({ label: "pipeline:cache-lookup", duration: performance.now() - pipelineStart, startTime: pipelineStart - ms.requestStart });
163
- }
164
- return;
165
- }
166
- // Cache HIT
167
- state.cacheHit = true;
168
- state.shouldRevalidate = cacheResult.shouldRevalidate;
169
- state.cachedSegments = cacheResult.segments;
170
- state.cachedMatchedIds = cacheResult.segments.map((s) => s.id);
171
- // Apply revalidation to cached segments
172
- const entryRevalidateMap = buildEntryRevalidateMap?.(ctx.entries);
173
- for (const segment of cacheResult.segments) {
174
- // Skip segments client doesn't have - they need their component
175
- if (!ctx.clientSegmentSet.has(segment.id)) {
176
- yield segment;
177
- continue;
178
- }
179
- // Skip intercept segments - they're handled separately
180
- if (segment.namespace?.startsWith("intercept:")) {
181
- yield segment;
182
- continue;
183
- }
184
- // Look up revalidation rules for this segment
185
- const entryInfo = entryRevalidateMap?.get(segment.id);
186
- if (!entryInfo || entryInfo.revalidate.length === 0) {
187
- // No revalidation rules, use default behavior (skip if client has)
188
- segment.component = null;
189
- segment.loading = undefined;
190
- yield segment;
191
- continue;
192
- }
193
- // Evaluate revalidation rules
194
- const shouldRevalidate = await evaluateRevalidation({
195
- segment,
196
- prevParams: ctx.prevParams,
197
- getPrevSegment: null,
198
- request: ctx.request,
199
- prevUrl: ctx.prevUrl,
200
- nextUrl: ctx.url,
201
- revalidations: entryInfo.revalidate.map((fn, i) => ({
202
- name: `revalidate${i}`,
203
- fn,
204
- })),
205
- routeKey: ctx.routeKey,
206
- context: ctx.handlerContext,
207
- actionContext: ctx.actionContext,
208
- });
209
- if (!shouldRevalidate) {
210
- // Client has it, no revalidation needed
211
- segment.component = null;
212
- segment.loading = undefined;
213
- }
214
- yield segment;
215
- }
216
- // Resolve loaders fresh (loaders are NOT cached by default)
217
- // This ensures fresh data even on cache hit
218
- const Store = ctx.Store;
219
- if (ctx.isFullMatch) {
220
- // Full match (document request) - simple loader resolution without revalidation
221
- if (resolveLoadersOnly) {
222
- const loaderSegments = await Store.run(() => resolveLoadersOnly(ctx.entries, ctx.handlerContext));
223
- // Update state - full match doesn't track matchedIds separately
224
- state.matchedIds = state.cachedMatchedIds;
225
- // Yield fresh loader segments
226
- for (const segment of loaderSegments) {
227
- yield segment;
228
- }
229
- }
230
- else {
231
- state.matchedIds = state.cachedMatchedIds;
232
- }
233
- }
234
- else {
235
- // Partial match (navigation) - loader resolution with revalidation
236
- if (resolveLoadersOnlyWithRevalidation) {
237
- const loaderResult = await Store.run(() => resolveLoadersOnlyWithRevalidation(ctx.entries, ctx.handlerContext, ctx.clientSegmentSet, ctx.prevParams, ctx.request, ctx.prevUrl, ctx.url, ctx.routeKey, ctx.actionContext));
238
- // Update state with fresh loader matchedIds
239
- state.matchedIds = [
240
- ...state.cachedMatchedIds,
241
- ...loaderResult.matchedIds,
242
- ];
243
- // Yield fresh loader segments
244
- for (const segment of loaderResult.segments) {
245
- yield segment;
246
- }
247
- }
248
- else {
249
- state.matchedIds = state.cachedMatchedIds;
250
- }
251
- }
252
- if (ms) {
253
- ms.metrics.push({ label: "pipeline:cache-lookup", duration: performance.now() - pipelineStart, startTime: pipelineStart - ms.requestStart });
254
- }
255
- };
256
- }
257
- //# sourceMappingURL=cache-lookup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache-lookup.js","sourceRoot":"","sources":["../../../src/router/match-middleware/cache-lookup.ts"],"names":[],"mappings":"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"}