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

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 (915) 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 +64 -9
  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/middleware-types.ts +6 -8
  66. package/src/router/middleware.ts +2 -5
  67. package/src/router/navigation-snapshot.ts +182 -0
  68. package/src/router/prerender-match.ts +110 -10
  69. package/src/router/preview-match.ts +30 -102
  70. package/src/router/request-classification.ts +310 -0
  71. package/src/router/route-snapshot.ts +245 -0
  72. package/src/router/router-context.ts +1 -0
  73. package/src/router/router-interfaces.ts +36 -4
  74. package/src/router/router-options.ts +37 -11
  75. package/src/router/segment-resolution/fresh.ts +88 -21
  76. package/src/router/segment-resolution/helpers.ts +29 -24
  77. package/src/router/segment-resolution/revalidation.ts +100 -29
  78. package/src/router/types.ts +1 -0
  79. package/src/router.ts +54 -5
  80. package/src/rsc/handler.ts +460 -368
  81. package/src/rsc/manifest-init.ts +5 -1
  82. package/src/rsc/progressive-enhancement.ts +4 -0
  83. package/src/rsc/rsc-rendering.ts +5 -0
  84. package/src/rsc/server-action.ts +2 -0
  85. package/src/rsc/ssr-setup.ts +2 -2
  86. package/src/rsc/types.ts +8 -1
  87. package/src/server/context.ts +50 -1
  88. package/src/server/loader-registry.ts +9 -8
  89. package/src/server/request-context.ts +145 -14
  90. package/src/ssr/index.tsx +3 -0
  91. package/src/static-handler.ts +18 -6
  92. package/src/types/cache-types.ts +4 -4
  93. package/src/types/handler-context.ts +137 -33
  94. package/src/types/loader-types.ts +36 -9
  95. package/src/types/route-entry.ts +1 -1
  96. package/src/urls/path-helper-types.ts +9 -2
  97. package/src/urls/path-helper.ts +47 -12
  98. package/src/urls/pattern-types.ts +12 -0
  99. package/src/urls/response-types.ts +16 -6
  100. package/src/use-loader.tsx +73 -4
  101. package/src/vite/discovery/bundle-postprocess.ts +30 -33
  102. package/src/vite/discovery/discover-routers.ts +5 -1
  103. package/src/vite/discovery/prerender-collection.ts +14 -1
  104. package/src/vite/discovery/state.ts +13 -4
  105. package/src/vite/index.ts +4 -0
  106. package/src/vite/plugin-types.ts +60 -5
  107. package/src/vite/plugins/performance-tracks.ts +88 -0
  108. package/src/vite/plugins/refresh-cmd.ts +88 -26
  109. package/src/vite/rango.ts +19 -2
  110. package/src/vite/router-discovery.ts +153 -34
  111. package/src/vite/utils/prerender-utils.ts +18 -0
  112. package/src/vite/utils/shared-utils.ts +3 -2
  113. package/dist/__internal.d.ts +0 -83
  114. package/dist/__internal.d.ts.map +0 -1
  115. package/dist/__internal.js +0 -19
  116. package/dist/__internal.js.map +0 -1
  117. package/dist/__mocks__/version.d.ts +0 -7
  118. package/dist/__mocks__/version.d.ts.map +0 -1
  119. package/dist/__mocks__/version.js +0 -7
  120. package/dist/__mocks__/version.js.map +0 -1
  121. package/dist/__tests__/client-href.test.d.ts +0 -2
  122. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  123. package/dist/__tests__/client-href.test.js +0 -74
  124. package/dist/__tests__/client-href.test.js.map +0 -1
  125. package/dist/__tests__/component-utils.test.d.ts +0 -2
  126. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  127. package/dist/__tests__/component-utils.test.js +0 -51
  128. package/dist/__tests__/component-utils.test.js.map +0 -1
  129. package/dist/__tests__/event-controller.test.d.ts +0 -2
  130. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  131. package/dist/__tests__/event-controller.test.js +0 -538
  132. package/dist/__tests__/event-controller.test.js.map +0 -1
  133. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  134. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  135. package/dist/__tests__/helpers/route-tree.js +0 -374
  136. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  137. package/dist/__tests__/match-result.test.d.ts +0 -2
  138. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  139. package/dist/__tests__/match-result.test.js +0 -154
  140. package/dist/__tests__/match-result.test.js.map +0 -1
  141. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  142. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  143. package/dist/__tests__/navigation-store.test.js +0 -440
  144. package/dist/__tests__/navigation-store.test.js.map +0 -1
  145. package/dist/__tests__/partial-update.test.d.ts +0 -2
  146. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  147. package/dist/__tests__/partial-update.test.js +0 -1009
  148. package/dist/__tests__/partial-update.test.js.map +0 -1
  149. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  150. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  151. package/dist/__tests__/reverse-types.test.js +0 -656
  152. package/dist/__tests__/reverse-types.test.js.map +0 -1
  153. package/dist/__tests__/route-definition.test.d.ts +0 -2
  154. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  155. package/dist/__tests__/route-definition.test.js +0 -55
  156. package/dist/__tests__/route-definition.test.js.map +0 -1
  157. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  158. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  159. package/dist/__tests__/router-helpers.test.js +0 -377
  160. package/dist/__tests__/router-helpers.test.js.map +0 -1
  161. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  162. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  163. package/dist/__tests__/router-integration-2.test.js +0 -426
  164. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  165. package/dist/__tests__/router-integration.test.d.ts +0 -2
  166. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  167. package/dist/__tests__/router-integration.test.js +0 -1051
  168. package/dist/__tests__/router-integration.test.js.map +0 -1
  169. package/dist/__tests__/search-params.test.d.ts +0 -5
  170. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  171. package/dist/__tests__/search-params.test.js +0 -306
  172. package/dist/__tests__/search-params.test.js.map +0 -1
  173. package/dist/__tests__/segment-system.test.d.ts +0 -2
  174. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  175. package/dist/__tests__/segment-system.test.js +0 -627
  176. package/dist/__tests__/segment-system.test.js.map +0 -1
  177. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  178. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  179. package/dist/__tests__/static-handler-types.test.js +0 -63
  180. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  181. package/dist/__tests__/urls.test.d.ts +0 -2
  182. package/dist/__tests__/urls.test.d.ts.map +0 -1
  183. package/dist/__tests__/urls.test.js +0 -421
  184. package/dist/__tests__/urls.test.js.map +0 -1
  185. package/dist/__tests__/use-mount.test.d.ts +0 -2
  186. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  187. package/dist/__tests__/use-mount.test.js +0 -35
  188. package/dist/__tests__/use-mount.test.js.map +0 -1
  189. package/dist/bin/rango.d.ts +0 -2
  190. package/dist/bin/rango.d.ts.map +0 -1
  191. package/dist/bin/rango.js.map +0 -1
  192. package/dist/browser/event-controller.d.ts +0 -191
  193. package/dist/browser/event-controller.d.ts.map +0 -1
  194. package/dist/browser/event-controller.js +0 -559
  195. package/dist/browser/event-controller.js.map +0 -1
  196. package/dist/browser/index.d.ts +0 -2
  197. package/dist/browser/index.d.ts.map +0 -1
  198. package/dist/browser/index.js +0 -14
  199. package/dist/browser/index.js.map +0 -1
  200. package/dist/browser/link-interceptor.d.ts +0 -38
  201. package/dist/browser/link-interceptor.d.ts.map +0 -1
  202. package/dist/browser/link-interceptor.js +0 -99
  203. package/dist/browser/link-interceptor.js.map +0 -1
  204. package/dist/browser/logging.d.ts +0 -10
  205. package/dist/browser/logging.d.ts.map +0 -1
  206. package/dist/browser/logging.js +0 -29
  207. package/dist/browser/logging.js.map +0 -1
  208. package/dist/browser/lru-cache.d.ts +0 -17
  209. package/dist/browser/lru-cache.d.ts.map +0 -1
  210. package/dist/browser/lru-cache.js +0 -50
  211. package/dist/browser/lru-cache.js.map +0 -1
  212. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  213. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  214. package/dist/browser/merge-segment-loaders.js +0 -102
  215. package/dist/browser/merge-segment-loaders.js.map +0 -1
  216. package/dist/browser/navigation-bridge.d.ts +0 -102
  217. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  218. package/dist/browser/navigation-bridge.js +0 -708
  219. package/dist/browser/navigation-bridge.js.map +0 -1
  220. package/dist/browser/navigation-client.d.ts +0 -25
  221. package/dist/browser/navigation-client.d.ts.map +0 -1
  222. package/dist/browser/navigation-client.js +0 -157
  223. package/dist/browser/navigation-client.js.map +0 -1
  224. package/dist/browser/navigation-store.d.ts +0 -101
  225. package/dist/browser/navigation-store.d.ts.map +0 -1
  226. package/dist/browser/navigation-store.js +0 -625
  227. package/dist/browser/navigation-store.js.map +0 -1
  228. package/dist/browser/partial-update.d.ts +0 -75
  229. package/dist/browser/partial-update.d.ts.map +0 -1
  230. package/dist/browser/partial-update.js +0 -426
  231. package/dist/browser/partial-update.js.map +0 -1
  232. package/dist/browser/react/Link.d.ts +0 -86
  233. package/dist/browser/react/Link.d.ts.map +0 -1
  234. package/dist/browser/react/Link.js +0 -128
  235. package/dist/browser/react/Link.js.map +0 -1
  236. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  237. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  238. package/dist/browser/react/NavigationProvider.js +0 -216
  239. package/dist/browser/react/NavigationProvider.js.map +0 -1
  240. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  241. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  242. package/dist/browser/react/ScrollRestoration.js +0 -57
  243. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  244. package/dist/browser/react/context.d.ts +0 -46
  245. package/dist/browser/react/context.d.ts.map +0 -1
  246. package/dist/browser/react/context.js +0 -10
  247. package/dist/browser/react/context.js.map +0 -1
  248. package/dist/browser/react/index.d.ts +0 -11
  249. package/dist/browser/react/index.d.ts.map +0 -1
  250. package/dist/browser/react/index.js +0 -22
  251. package/dist/browser/react/index.js.map +0 -1
  252. package/dist/browser/react/location-state-shared.d.ts +0 -63
  253. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  254. package/dist/browser/react/location-state-shared.js +0 -81
  255. package/dist/browser/react/location-state-shared.js.map +0 -1
  256. package/dist/browser/react/location-state.d.ts +0 -23
  257. package/dist/browser/react/location-state.d.ts.map +0 -1
  258. package/dist/browser/react/location-state.js +0 -29
  259. package/dist/browser/react/location-state.js.map +0 -1
  260. package/dist/browser/react/mount-context.d.ts +0 -24
  261. package/dist/browser/react/mount-context.d.ts.map +0 -1
  262. package/dist/browser/react/mount-context.js +0 -24
  263. package/dist/browser/react/mount-context.js.map +0 -1
  264. package/dist/browser/react/use-action.d.ts +0 -64
  265. package/dist/browser/react/use-action.d.ts.map +0 -1
  266. package/dist/browser/react/use-action.js +0 -134
  267. package/dist/browser/react/use-action.js.map +0 -1
  268. package/dist/browser/react/use-client-cache.d.ts +0 -41
  269. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  270. package/dist/browser/react/use-client-cache.js +0 -39
  271. package/dist/browser/react/use-client-cache.js.map +0 -1
  272. package/dist/browser/react/use-handle.d.ts +0 -31
  273. package/dist/browser/react/use-handle.d.ts.map +0 -1
  274. package/dist/browser/react/use-handle.js +0 -144
  275. package/dist/browser/react/use-handle.js.map +0 -1
  276. package/dist/browser/react/use-href.d.ts +0 -33
  277. package/dist/browser/react/use-href.d.ts.map +0 -1
  278. package/dist/browser/react/use-href.js +0 -39
  279. package/dist/browser/react/use-href.js.map +0 -1
  280. package/dist/browser/react/use-link-status.d.ts +0 -37
  281. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  282. package/dist/browser/react/use-link-status.js +0 -99
  283. package/dist/browser/react/use-link-status.js.map +0 -1
  284. package/dist/browser/react/use-mount.d.ts +0 -25
  285. package/dist/browser/react/use-mount.d.ts.map +0 -1
  286. package/dist/browser/react/use-mount.js +0 -30
  287. package/dist/browser/react/use-mount.js.map +0 -1
  288. package/dist/browser/react/use-navigation.d.ts +0 -27
  289. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  290. package/dist/browser/react/use-navigation.js +0 -87
  291. package/dist/browser/react/use-navigation.js.map +0 -1
  292. package/dist/browser/react/use-segments.d.ts +0 -38
  293. package/dist/browser/react/use-segments.d.ts.map +0 -1
  294. package/dist/browser/react/use-segments.js +0 -130
  295. package/dist/browser/react/use-segments.js.map +0 -1
  296. package/dist/browser/request-controller.d.ts +0 -26
  297. package/dist/browser/request-controller.d.ts.map +0 -1
  298. package/dist/browser/request-controller.js +0 -147
  299. package/dist/browser/request-controller.js.map +0 -1
  300. package/dist/browser/rsc-router.d.ts +0 -129
  301. package/dist/browser/rsc-router.d.ts.map +0 -1
  302. package/dist/browser/rsc-router.js +0 -195
  303. package/dist/browser/rsc-router.js.map +0 -1
  304. package/dist/browser/scroll-restoration.d.ts +0 -93
  305. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  306. package/dist/browser/scroll-restoration.js +0 -321
  307. package/dist/browser/scroll-restoration.js.map +0 -1
  308. package/dist/browser/segment-structure-assert.d.ts +0 -17
  309. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  310. package/dist/browser/segment-structure-assert.js +0 -59
  311. package/dist/browser/segment-structure-assert.js.map +0 -1
  312. package/dist/browser/server-action-bridge.d.ts +0 -26
  313. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  314. package/dist/browser/server-action-bridge.js +0 -668
  315. package/dist/browser/server-action-bridge.js.map +0 -1
  316. package/dist/browser/shallow.d.ts +0 -12
  317. package/dist/browser/shallow.d.ts.map +0 -1
  318. package/dist/browser/shallow.js +0 -34
  319. package/dist/browser/shallow.js.map +0 -1
  320. package/dist/browser/types.d.ts +0 -369
  321. package/dist/browser/types.d.ts.map +0 -1
  322. package/dist/browser/types.js +0 -2
  323. package/dist/browser/types.js.map +0 -1
  324. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  325. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  326. package/dist/build/__tests__/generate-cli.test.js +0 -237
  327. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  328. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  329. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  330. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  331. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  332. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  333. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  334. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  335. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  336. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  337. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  338. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  339. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  340. package/dist/build/generate-manifest.d.ts +0 -81
  341. package/dist/build/generate-manifest.d.ts.map +0 -1
  342. package/dist/build/generate-manifest.js +0 -276
  343. package/dist/build/generate-manifest.js.map +0 -1
  344. package/dist/build/generate-route-types.d.ts +0 -115
  345. package/dist/build/generate-route-types.d.ts.map +0 -1
  346. package/dist/build/generate-route-types.js +0 -740
  347. package/dist/build/generate-route-types.js.map +0 -1
  348. package/dist/build/index.d.ts +0 -21
  349. package/dist/build/index.d.ts.map +0 -1
  350. package/dist/build/index.js +0 -21
  351. package/dist/build/index.js.map +0 -1
  352. package/dist/build/route-trie.d.ts +0 -71
  353. package/dist/build/route-trie.d.ts.map +0 -1
  354. package/dist/build/route-trie.js +0 -175
  355. package/dist/build/route-trie.js.map +0 -1
  356. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  357. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  358. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  359. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  360. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  361. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  362. package/dist/cache/__tests__/document-cache.test.js +0 -345
  363. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  364. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  365. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  366. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  367. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  368. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  369. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  370. package/dist/cache/__tests__/memory-store.test.js +0 -367
  371. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  372. package/dist/cache/cache-scope.d.ts +0 -102
  373. package/dist/cache/cache-scope.d.ts.map +0 -1
  374. package/dist/cache/cache-scope.js +0 -440
  375. package/dist/cache/cache-scope.js.map +0 -1
  376. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  377. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  378. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  379. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  380. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  381. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  382. package/dist/cache/cf/cf-cache-store.js +0 -242
  383. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  384. package/dist/cache/cf/index.d.ts +0 -14
  385. package/dist/cache/cf/index.d.ts.map +0 -1
  386. package/dist/cache/cf/index.js +0 -17
  387. package/dist/cache/cf/index.js.map +0 -1
  388. package/dist/cache/document-cache.d.ts +0 -64
  389. package/dist/cache/document-cache.d.ts.map +0 -1
  390. package/dist/cache/document-cache.js +0 -228
  391. package/dist/cache/document-cache.js.map +0 -1
  392. package/dist/cache/index.d.ts +0 -19
  393. package/dist/cache/index.d.ts.map +0 -1
  394. package/dist/cache/index.js +0 -21
  395. package/dist/cache/index.js.map +0 -1
  396. package/dist/cache/memory-segment-store.d.ts +0 -110
  397. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  398. package/dist/cache/memory-segment-store.js +0 -117
  399. package/dist/cache/memory-segment-store.js.map +0 -1
  400. package/dist/cache/memory-store.d.ts +0 -41
  401. package/dist/cache/memory-store.d.ts.map +0 -1
  402. package/dist/cache/memory-store.js +0 -191
  403. package/dist/cache/memory-store.js.map +0 -1
  404. package/dist/cache/types.d.ts +0 -317
  405. package/dist/cache/types.d.ts.map +0 -1
  406. package/dist/cache/types.js +0 -12
  407. package/dist/cache/types.js.map +0 -1
  408. package/dist/client.d.ts +0 -248
  409. package/dist/client.d.ts.map +0 -1
  410. package/dist/client.js +0 -367
  411. package/dist/client.js.map +0 -1
  412. package/dist/client.rsc.d.ts +0 -26
  413. package/dist/client.rsc.d.ts.map +0 -1
  414. package/dist/client.rsc.js +0 -46
  415. package/dist/client.rsc.js.map +0 -1
  416. package/dist/component-utils.d.ts +0 -36
  417. package/dist/component-utils.d.ts.map +0 -1
  418. package/dist/component-utils.js +0 -61
  419. package/dist/component-utils.js.map +0 -1
  420. package/dist/components/DefaultDocument.d.ts +0 -13
  421. package/dist/components/DefaultDocument.d.ts.map +0 -1
  422. package/dist/components/DefaultDocument.js +0 -15
  423. package/dist/components/DefaultDocument.js.map +0 -1
  424. package/dist/debug.d.ts +0 -58
  425. package/dist/debug.d.ts.map +0 -1
  426. package/dist/debug.js +0 -157
  427. package/dist/debug.js.map +0 -1
  428. package/dist/default-error-boundary.d.ts +0 -11
  429. package/dist/default-error-boundary.d.ts.map +0 -1
  430. package/dist/default-error-boundary.js +0 -45
  431. package/dist/default-error-boundary.js.map +0 -1
  432. package/dist/deps/browser.d.ts +0 -2
  433. package/dist/deps/browser.d.ts.map +0 -1
  434. package/dist/deps/browser.js +0 -3
  435. package/dist/deps/browser.js.map +0 -1
  436. package/dist/deps/html-stream-client.d.ts +0 -2
  437. package/dist/deps/html-stream-client.d.ts.map +0 -1
  438. package/dist/deps/html-stream-client.js +0 -3
  439. package/dist/deps/html-stream-client.js.map +0 -1
  440. package/dist/deps/html-stream-server.d.ts +0 -2
  441. package/dist/deps/html-stream-server.d.ts.map +0 -1
  442. package/dist/deps/html-stream-server.js +0 -3
  443. package/dist/deps/html-stream-server.js.map +0 -1
  444. package/dist/deps/rsc.d.ts +0 -2
  445. package/dist/deps/rsc.d.ts.map +0 -1
  446. package/dist/deps/rsc.js +0 -4
  447. package/dist/deps/rsc.js.map +0 -1
  448. package/dist/deps/ssr.d.ts +0 -2
  449. package/dist/deps/ssr.d.ts.map +0 -1
  450. package/dist/deps/ssr.js +0 -3
  451. package/dist/deps/ssr.js.map +0 -1
  452. package/dist/errors.d.ts +0 -174
  453. package/dist/errors.d.ts.map +0 -1
  454. package/dist/errors.js +0 -241
  455. package/dist/errors.js.map +0 -1
  456. package/dist/handle.d.ts +0 -78
  457. package/dist/handle.d.ts.map +0 -1
  458. package/dist/handle.js +0 -82
  459. package/dist/handle.js.map +0 -1
  460. package/dist/handles/MetaTags.d.ts +0 -14
  461. package/dist/handles/MetaTags.d.ts.map +0 -1
  462. package/dist/handles/MetaTags.js +0 -136
  463. package/dist/handles/MetaTags.js.map +0 -1
  464. package/dist/handles/index.d.ts +0 -6
  465. package/dist/handles/index.d.ts.map +0 -1
  466. package/dist/handles/index.js +0 -6
  467. package/dist/handles/index.js.map +0 -1
  468. package/dist/handles/meta.d.ts +0 -39
  469. package/dist/handles/meta.d.ts.map +0 -1
  470. package/dist/handles/meta.js +0 -202
  471. package/dist/handles/meta.js.map +0 -1
  472. package/dist/host/__tests__/errors.test.d.ts +0 -2
  473. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  474. package/dist/host/__tests__/errors.test.js +0 -76
  475. package/dist/host/__tests__/errors.test.js.map +0 -1
  476. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  477. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  478. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  479. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  480. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  481. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  482. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  483. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  484. package/dist/host/__tests__/router.test.d.ts +0 -2
  485. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  486. package/dist/host/__tests__/router.test.js +0 -241
  487. package/dist/host/__tests__/router.test.js.map +0 -1
  488. package/dist/host/__tests__/testing.test.d.ts +0 -2
  489. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  490. package/dist/host/__tests__/testing.test.js +0 -64
  491. package/dist/host/__tests__/testing.test.js.map +0 -1
  492. package/dist/host/__tests__/utils.test.d.ts +0 -2
  493. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  494. package/dist/host/__tests__/utils.test.js +0 -29
  495. package/dist/host/__tests__/utils.test.js.map +0 -1
  496. package/dist/host/cookie-handler.d.ts +0 -34
  497. package/dist/host/cookie-handler.d.ts.map +0 -1
  498. package/dist/host/cookie-handler.js +0 -124
  499. package/dist/host/cookie-handler.js.map +0 -1
  500. package/dist/host/errors.d.ts +0 -56
  501. package/dist/host/errors.d.ts.map +0 -1
  502. package/dist/host/errors.js +0 -79
  503. package/dist/host/errors.js.map +0 -1
  504. package/dist/host/index.d.ts +0 -29
  505. package/dist/host/index.d.ts.map +0 -1
  506. package/dist/host/index.js +0 -32
  507. package/dist/host/index.js.map +0 -1
  508. package/dist/host/pattern-matcher.d.ts +0 -36
  509. package/dist/host/pattern-matcher.d.ts.map +0 -1
  510. package/dist/host/pattern-matcher.js +0 -172
  511. package/dist/host/pattern-matcher.js.map +0 -1
  512. package/dist/host/router.d.ts +0 -26
  513. package/dist/host/router.d.ts.map +0 -1
  514. package/dist/host/router.js +0 -218
  515. package/dist/host/router.js.map +0 -1
  516. package/dist/host/testing.d.ts +0 -36
  517. package/dist/host/testing.d.ts.map +0 -1
  518. package/dist/host/testing.js +0 -55
  519. package/dist/host/testing.js.map +0 -1
  520. package/dist/host/types.d.ts +0 -115
  521. package/dist/host/types.d.ts.map +0 -1
  522. package/dist/host/types.js +0 -7
  523. package/dist/host/types.js.map +0 -1
  524. package/dist/host/utils.d.ts +0 -21
  525. package/dist/host/utils.d.ts.map +0 -1
  526. package/dist/host/utils.js +0 -23
  527. package/dist/host/utils.js.map +0 -1
  528. package/dist/href-client.d.ts +0 -131
  529. package/dist/href-client.d.ts.map +0 -1
  530. package/dist/href-client.js +0 -64
  531. package/dist/href-client.js.map +0 -1
  532. package/dist/href-context.d.ts +0 -29
  533. package/dist/href-context.d.ts.map +0 -1
  534. package/dist/href-context.js +0 -21
  535. package/dist/href-context.js.map +0 -1
  536. package/dist/index.d.ts +0 -73
  537. package/dist/index.d.ts.map +0 -1
  538. package/dist/index.js +0 -91
  539. package/dist/index.js.map +0 -1
  540. package/dist/index.rsc.d.ts +0 -32
  541. package/dist/index.rsc.d.ts.map +0 -1
  542. package/dist/index.rsc.js +0 -40
  543. package/dist/index.rsc.js.map +0 -1
  544. package/dist/internal-debug.d.ts +0 -2
  545. package/dist/internal-debug.d.ts.map +0 -1
  546. package/dist/internal-debug.js +0 -5
  547. package/dist/internal-debug.js.map +0 -1
  548. package/dist/loader.d.ts +0 -14
  549. package/dist/loader.d.ts.map +0 -1
  550. package/dist/loader.js +0 -20
  551. package/dist/loader.js.map +0 -1
  552. package/dist/loader.rsc.d.ts +0 -19
  553. package/dist/loader.rsc.d.ts.map +0 -1
  554. package/dist/loader.rsc.js +0 -99
  555. package/dist/loader.rsc.js.map +0 -1
  556. package/dist/network-error-thrower.d.ts +0 -17
  557. package/dist/network-error-thrower.d.ts.map +0 -1
  558. package/dist/network-error-thrower.js +0 -14
  559. package/dist/network-error-thrower.js.map +0 -1
  560. package/dist/outlet-context.d.ts +0 -13
  561. package/dist/outlet-context.d.ts.map +0 -1
  562. package/dist/outlet-context.js +0 -3
  563. package/dist/outlet-context.js.map +0 -1
  564. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  565. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  566. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  567. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  568. package/dist/prerender/param-hash.d.ts +0 -16
  569. package/dist/prerender/param-hash.d.ts.map +0 -1
  570. package/dist/prerender/param-hash.js +0 -36
  571. package/dist/prerender/param-hash.js.map +0 -1
  572. package/dist/prerender/store.d.ts +0 -38
  573. package/dist/prerender/store.d.ts.map +0 -1
  574. package/dist/prerender/store.js +0 -61
  575. package/dist/prerender/store.js.map +0 -1
  576. package/dist/prerender.d.ts +0 -66
  577. package/dist/prerender.d.ts.map +0 -1
  578. package/dist/prerender.js +0 -57
  579. package/dist/prerender.js.map +0 -1
  580. package/dist/reverse.d.ts +0 -196
  581. package/dist/reverse.d.ts.map +0 -1
  582. package/dist/reverse.js +0 -78
  583. package/dist/reverse.js.map +0 -1
  584. package/dist/root-error-boundary.d.ts +0 -33
  585. package/dist/root-error-boundary.d.ts.map +0 -1
  586. package/dist/root-error-boundary.js +0 -165
  587. package/dist/root-error-boundary.js.map +0 -1
  588. package/dist/route-content-wrapper.d.ts +0 -46
  589. package/dist/route-content-wrapper.d.ts.map +0 -1
  590. package/dist/route-content-wrapper.js +0 -77
  591. package/dist/route-content-wrapper.js.map +0 -1
  592. package/dist/route-definition.d.ts +0 -421
  593. package/dist/route-definition.d.ts.map +0 -1
  594. package/dist/route-definition.js +0 -868
  595. package/dist/route-definition.js.map +0 -1
  596. package/dist/route-map-builder.d.ts +0 -155
  597. package/dist/route-map-builder.d.ts.map +0 -1
  598. package/dist/route-map-builder.js +0 -237
  599. package/dist/route-map-builder.js.map +0 -1
  600. package/dist/route-types.d.ts +0 -165
  601. package/dist/route-types.d.ts.map +0 -1
  602. package/dist/route-types.js +0 -7
  603. package/dist/route-types.js.map +0 -1
  604. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  605. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  606. package/dist/router/__tests__/handler-context.test.js +0 -65
  607. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  608. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  609. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  610. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  611. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  612. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  613. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  614. package/dist/router/__tests__/match-context.test.js +0 -92
  615. package/dist/router/__tests__/match-context.test.js.map +0 -1
  616. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  617. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  618. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  619. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  620. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  621. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  622. package/dist/router/__tests__/match-result.test.js +0 -457
  623. package/dist/router/__tests__/match-result.test.js.map +0 -1
  624. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  625. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  626. package/dist/router/__tests__/on-error.test.js +0 -678
  627. package/dist/router/__tests__/on-error.test.js.map +0 -1
  628. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  629. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  630. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  631. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  632. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  633. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  634. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  635. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  636. package/dist/router/error-handling.d.ts +0 -77
  637. package/dist/router/error-handling.d.ts.map +0 -1
  638. package/dist/router/error-handling.js +0 -202
  639. package/dist/router/error-handling.js.map +0 -1
  640. package/dist/router/handler-context.d.ts +0 -20
  641. package/dist/router/handler-context.d.ts.map +0 -1
  642. package/dist/router/handler-context.js +0 -198
  643. package/dist/router/handler-context.js.map +0 -1
  644. package/dist/router/intercept-resolution.d.ts +0 -66
  645. package/dist/router/intercept-resolution.d.ts.map +0 -1
  646. package/dist/router/intercept-resolution.js +0 -246
  647. package/dist/router/intercept-resolution.js.map +0 -1
  648. package/dist/router/loader-resolution.d.ts +0 -64
  649. package/dist/router/loader-resolution.d.ts.map +0 -1
  650. package/dist/router/loader-resolution.js +0 -284
  651. package/dist/router/loader-resolution.js.map +0 -1
  652. package/dist/router/logging.d.ts +0 -15
  653. package/dist/router/logging.d.ts.map +0 -1
  654. package/dist/router/logging.js +0 -99
  655. package/dist/router/logging.js.map +0 -1
  656. package/dist/router/manifest.d.ts +0 -22
  657. package/dist/router/manifest.d.ts.map +0 -1
  658. package/dist/router/manifest.js +0 -181
  659. package/dist/router/manifest.js.map +0 -1
  660. package/dist/router/match-api.d.ts +0 -35
  661. package/dist/router/match-api.d.ts.map +0 -1
  662. package/dist/router/match-api.js +0 -406
  663. package/dist/router/match-api.js.map +0 -1
  664. package/dist/router/match-context.d.ts +0 -206
  665. package/dist/router/match-context.d.ts.map +0 -1
  666. package/dist/router/match-context.js +0 -17
  667. package/dist/router/match-context.js.map +0 -1
  668. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  669. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  670. package/dist/router/match-middleware/background-revalidation.js +0 -75
  671. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  672. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  673. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  674. package/dist/router/match-middleware/cache-lookup.js +0 -257
  675. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  676. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  677. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  678. package/dist/router/match-middleware/cache-store.js +0 -108
  679. package/dist/router/match-middleware/cache-store.js.map +0 -1
  680. package/dist/router/match-middleware/index.d.ts +0 -81
  681. package/dist/router/match-middleware/index.d.ts.map +0 -1
  682. package/dist/router/match-middleware/index.js +0 -80
  683. package/dist/router/match-middleware/index.js.map +0 -1
  684. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  685. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  686. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  687. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  688. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  689. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  690. package/dist/router/match-middleware/segment-resolution.js +0 -53
  691. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  692. package/dist/router/match-pipelines.d.ts +0 -147
  693. package/dist/router/match-pipelines.d.ts.map +0 -1
  694. package/dist/router/match-pipelines.js +0 -82
  695. package/dist/router/match-pipelines.js.map +0 -1
  696. package/dist/router/match-result.d.ts +0 -126
  697. package/dist/router/match-result.d.ts.map +0 -1
  698. package/dist/router/match-result.js +0 -93
  699. package/dist/router/match-result.js.map +0 -1
  700. package/dist/router/metrics.d.ts +0 -20
  701. package/dist/router/metrics.d.ts.map +0 -1
  702. package/dist/router/metrics.js +0 -47
  703. package/dist/router/metrics.js.map +0 -1
  704. package/dist/router/middleware.d.ts +0 -249
  705. package/dist/router/middleware.d.ts.map +0 -1
  706. package/dist/router/middleware.js +0 -434
  707. package/dist/router/middleware.js.map +0 -1
  708. package/dist/router/middleware.test.d.ts +0 -2
  709. package/dist/router/middleware.test.d.ts.map +0 -1
  710. package/dist/router/middleware.test.js +0 -816
  711. package/dist/router/middleware.test.js.map +0 -1
  712. package/dist/router/pattern-matching.d.ts +0 -149
  713. package/dist/router/pattern-matching.d.ts.map +0 -1
  714. package/dist/router/pattern-matching.js +0 -349
  715. package/dist/router/pattern-matching.js.map +0 -1
  716. package/dist/router/revalidation.d.ts +0 -44
  717. package/dist/router/revalidation.d.ts.map +0 -1
  718. package/dist/router/revalidation.js +0 -147
  719. package/dist/router/revalidation.js.map +0 -1
  720. package/dist/router/router-context.d.ts +0 -135
  721. package/dist/router/router-context.d.ts.map +0 -1
  722. package/dist/router/router-context.js +0 -36
  723. package/dist/router/router-context.js.map +0 -1
  724. package/dist/router/segment-resolution.d.ts +0 -127
  725. package/dist/router/segment-resolution.d.ts.map +0 -1
  726. package/dist/router/segment-resolution.js +0 -919
  727. package/dist/router/segment-resolution.js.map +0 -1
  728. package/dist/router/trie-matching.d.ts +0 -40
  729. package/dist/router/trie-matching.d.ts.map +0 -1
  730. package/dist/router/trie-matching.js +0 -127
  731. package/dist/router/trie-matching.js.map +0 -1
  732. package/dist/router/types.d.ts +0 -136
  733. package/dist/router/types.d.ts.map +0 -1
  734. package/dist/router/types.js +0 -7
  735. package/dist/router/types.js.map +0 -1
  736. package/dist/router.d.ts +0 -753
  737. package/dist/router.d.ts.map +0 -1
  738. package/dist/router.gen.d.ts +0 -6
  739. package/dist/router.gen.d.ts.map +0 -1
  740. package/dist/router.gen.js +0 -6
  741. package/dist/router.gen.js.map +0 -1
  742. package/dist/router.js +0 -1304
  743. package/dist/router.js.map +0 -1
  744. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  745. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  746. package/dist/rsc/__tests__/helpers.test.js +0 -140
  747. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  748. package/dist/rsc/handler.d.ts +0 -45
  749. package/dist/rsc/handler.d.ts.map +0 -1
  750. package/dist/rsc/handler.js +0 -1172
  751. package/dist/rsc/handler.js.map +0 -1
  752. package/dist/rsc/helpers.d.ts +0 -16
  753. package/dist/rsc/helpers.d.ts.map +0 -1
  754. package/dist/rsc/helpers.js +0 -55
  755. package/dist/rsc/helpers.js.map +0 -1
  756. package/dist/rsc/index.d.ts +0 -22
  757. package/dist/rsc/index.d.ts.map +0 -1
  758. package/dist/rsc/index.js +0 -23
  759. package/dist/rsc/index.js.map +0 -1
  760. package/dist/rsc/nonce.d.ts +0 -9
  761. package/dist/rsc/nonce.d.ts.map +0 -1
  762. package/dist/rsc/nonce.js +0 -18
  763. package/dist/rsc/nonce.js.map +0 -1
  764. package/dist/rsc/types.d.ts +0 -206
  765. package/dist/rsc/types.d.ts.map +0 -1
  766. package/dist/rsc/types.js +0 -8
  767. package/dist/rsc/types.js.map +0 -1
  768. package/dist/search-params.d.ts +0 -103
  769. package/dist/search-params.d.ts.map +0 -1
  770. package/dist/search-params.js +0 -74
  771. package/dist/search-params.js.map +0 -1
  772. package/dist/segment-system.d.ts +0 -75
  773. package/dist/segment-system.d.ts.map +0 -1
  774. package/dist/segment-system.js +0 -336
  775. package/dist/segment-system.js.map +0 -1
  776. package/dist/server/context.d.ts +0 -245
  777. package/dist/server/context.d.ts.map +0 -1
  778. package/dist/server/context.js +0 -197
  779. package/dist/server/context.js.map +0 -1
  780. package/dist/server/fetchable-loader-store.d.ts +0 -18
  781. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  782. package/dist/server/fetchable-loader-store.js +0 -18
  783. package/dist/server/fetchable-loader-store.js.map +0 -1
  784. package/dist/server/handle-store.d.ts +0 -85
  785. package/dist/server/handle-store.d.ts.map +0 -1
  786. package/dist/server/handle-store.js +0 -142
  787. package/dist/server/handle-store.js.map +0 -1
  788. package/dist/server/loader-registry.d.ts +0 -55
  789. package/dist/server/loader-registry.d.ts.map +0 -1
  790. package/dist/server/loader-registry.js +0 -132
  791. package/dist/server/loader-registry.js.map +0 -1
  792. package/dist/server/request-context.d.ts +0 -226
  793. package/dist/server/request-context.d.ts.map +0 -1
  794. package/dist/server/request-context.js +0 -290
  795. package/dist/server/request-context.js.map +0 -1
  796. package/dist/server/root-layout.d.ts +0 -4
  797. package/dist/server/root-layout.d.ts.map +0 -1
  798. package/dist/server/root-layout.js +0 -5
  799. package/dist/server/root-layout.js.map +0 -1
  800. package/dist/server.d.ts +0 -15
  801. package/dist/server.d.ts.map +0 -1
  802. package/dist/server.js +0 -20
  803. package/dist/server.js.map +0 -1
  804. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  805. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  806. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  807. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  808. package/dist/ssr/index.d.ts +0 -98
  809. package/dist/ssr/index.d.ts.map +0 -1
  810. package/dist/ssr/index.js +0 -158
  811. package/dist/ssr/index.js.map +0 -1
  812. package/dist/static-handler.d.ts +0 -50
  813. package/dist/static-handler.d.ts.map +0 -1
  814. package/dist/static-handler.gen.d.ts +0 -5
  815. package/dist/static-handler.gen.d.ts.map +0 -1
  816. package/dist/static-handler.gen.js +0 -5
  817. package/dist/static-handler.gen.js.map +0 -1
  818. package/dist/static-handler.js +0 -29
  819. package/dist/static-handler.js.map +0 -1
  820. package/dist/theme/ThemeProvider.d.ts +0 -20
  821. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  822. package/dist/theme/ThemeProvider.js +0 -240
  823. package/dist/theme/ThemeProvider.js.map +0 -1
  824. package/dist/theme/ThemeScript.d.ts +0 -48
  825. package/dist/theme/ThemeScript.d.ts.map +0 -1
  826. package/dist/theme/ThemeScript.js +0 -13
  827. package/dist/theme/ThemeScript.js.map +0 -1
  828. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  829. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  830. package/dist/theme/__tests__/theme.test.js +0 -103
  831. package/dist/theme/__tests__/theme.test.js.map +0 -1
  832. package/dist/theme/constants.d.ts +0 -29
  833. package/dist/theme/constants.d.ts.map +0 -1
  834. package/dist/theme/constants.js +0 -48
  835. package/dist/theme/constants.js.map +0 -1
  836. package/dist/theme/index.d.ts +0 -31
  837. package/dist/theme/index.d.ts.map +0 -1
  838. package/dist/theme/index.js +0 -36
  839. package/dist/theme/index.js.map +0 -1
  840. package/dist/theme/theme-context.d.ts +0 -40
  841. package/dist/theme/theme-context.d.ts.map +0 -1
  842. package/dist/theme/theme-context.js +0 -60
  843. package/dist/theme/theme-context.js.map +0 -1
  844. package/dist/theme/theme-script.d.ts +0 -27
  845. package/dist/theme/theme-script.d.ts.map +0 -1
  846. package/dist/theme/theme-script.js +0 -147
  847. package/dist/theme/theme-script.js.map +0 -1
  848. package/dist/theme/types.d.ts +0 -163
  849. package/dist/theme/types.d.ts.map +0 -1
  850. package/dist/theme/types.js +0 -11
  851. package/dist/theme/types.js.map +0 -1
  852. package/dist/theme/use-theme.d.ts +0 -12
  853. package/dist/theme/use-theme.d.ts.map +0 -1
  854. package/dist/theme/use-theme.js +0 -40
  855. package/dist/theme/use-theme.js.map +0 -1
  856. package/dist/types.d.ts +0 -1479
  857. package/dist/types.d.ts.map +0 -1
  858. package/dist/types.js +0 -10
  859. package/dist/types.js.map +0 -1
  860. package/dist/urls.d.ts +0 -441
  861. package/dist/urls.d.ts.map +0 -1
  862. package/dist/urls.gen.d.ts +0 -8
  863. package/dist/urls.gen.d.ts.map +0 -1
  864. package/dist/urls.gen.js +0 -8
  865. package/dist/urls.gen.js.map +0 -1
  866. package/dist/urls.js +0 -443
  867. package/dist/urls.js.map +0 -1
  868. package/dist/use-loader.d.ts +0 -127
  869. package/dist/use-loader.d.ts.map +0 -1
  870. package/dist/use-loader.js +0 -237
  871. package/dist/use-loader.js.map +0 -1
  872. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  873. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  874. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  875. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  876. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  877. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  878. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  879. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  880. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  881. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  882. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  883. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  884. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  885. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  886. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  887. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  888. package/dist/vite/ast-handler-extract.d.ts +0 -49
  889. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  890. package/dist/vite/ast-handler-extract.js +0 -249
  891. package/dist/vite/ast-handler-extract.js.map +0 -1
  892. package/dist/vite/expose-action-id.d.ts +0 -19
  893. package/dist/vite/expose-action-id.d.ts.map +0 -1
  894. package/dist/vite/expose-action-id.js +0 -250
  895. package/dist/vite/expose-action-id.js.map +0 -1
  896. package/dist/vite/expose-id-utils.d.ts +0 -69
  897. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  898. package/dist/vite/expose-id-utils.js +0 -289
  899. package/dist/vite/expose-id-utils.js.map +0 -1
  900. package/dist/vite/expose-internal-ids.d.ts +0 -22
  901. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  902. package/dist/vite/expose-internal-ids.js +0 -886
  903. package/dist/vite/expose-internal-ids.js.map +0 -1
  904. package/dist/vite/index.d.ts +0 -149
  905. package/dist/vite/index.d.ts.map +0 -1
  906. package/dist/vite/index.js.map +0 -1
  907. package/dist/vite/index.named-routes.gen.ts +0 -103
  908. package/dist/vite/package-resolution.d.ts +0 -43
  909. package/dist/vite/package-resolution.d.ts.map +0 -1
  910. package/dist/vite/package-resolution.js +0 -112
  911. package/dist/vite/package-resolution.js.map +0 -1
  912. package/dist/vite/virtual-entries.d.ts +0 -25
  913. package/dist/vite/virtual-entries.d.ts.map +0 -1
  914. package/dist/vite/virtual-entries.js +0 -110
  915. 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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"}