@rangojs/router 0.0.0-experimental.760a71d9 → 0.0.0-experimental.77

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 (926) hide show
  1. package/README.md +76 -18
  2. package/dist/bin/rango.js +130 -47
  3. package/dist/vite/index.js +716 -237
  4. package/package.json +3 -3
  5. package/skills/cache-guide/SKILL.md +32 -0
  6. package/skills/caching/SKILL.md +8 -0
  7. package/skills/handler-use/SKILL.md +362 -0
  8. package/skills/intercept/SKILL.md +20 -0
  9. package/skills/layout/SKILL.md +22 -0
  10. package/skills/links/SKILL.md +3 -1
  11. package/skills/loader/SKILL.md +53 -43
  12. package/skills/middleware/SKILL.md +2 -0
  13. package/skills/parallel/SKILL.md +126 -0
  14. package/skills/prerender/SKILL.md +110 -68
  15. package/skills/route/SKILL.md +55 -0
  16. package/skills/router-setup/SKILL.md +87 -2
  17. package/skills/typesafety/SKILL.md +10 -0
  18. package/src/__internal.ts +1 -1
  19. package/src/browser/app-version.ts +14 -0
  20. package/src/browser/navigation-bridge.ts +23 -4
  21. package/src/browser/navigation-client.ts +98 -46
  22. package/src/browser/navigation-store.ts +43 -8
  23. package/src/browser/partial-update.ts +32 -5
  24. package/src/browser/prefetch/cache.ts +16 -6
  25. package/src/browser/prefetch/fetch.ts +68 -6
  26. package/src/browser/prefetch/queue.ts +61 -29
  27. package/src/browser/prefetch/resource-ready.ts +77 -0
  28. package/src/browser/react/Link.tsx +67 -8
  29. package/src/browser/react/NavigationProvider.tsx +13 -4
  30. package/src/browser/react/context.ts +7 -2
  31. package/src/browser/react/use-handle.ts +9 -58
  32. package/src/browser/react/use-router.ts +21 -8
  33. package/src/browser/rsc-router.tsx +26 -3
  34. package/src/browser/scroll-restoration.ts +10 -8
  35. package/src/browser/segment-reconciler.ts +26 -0
  36. package/src/browser/server-action-bridge.ts +8 -6
  37. package/src/browser/types.ts +27 -5
  38. package/src/build/generate-manifest.ts +6 -6
  39. package/src/build/generate-route-types.ts +3 -0
  40. package/src/build/route-trie.ts +50 -24
  41. package/src/build/route-types/include-resolution.ts +8 -1
  42. package/src/build/route-types/router-processing.ts +211 -72
  43. package/src/build/route-types/scan-filter.ts +8 -1
  44. package/src/cache/cache-scope.ts +46 -5
  45. package/src/cache/taint.ts +55 -0
  46. package/src/client.tsx +2 -56
  47. package/src/context-var.ts +72 -2
  48. package/src/handle.ts +40 -0
  49. package/src/index.rsc.ts +3 -1
  50. package/src/index.ts +46 -6
  51. package/src/prerender/store.ts +5 -4
  52. package/src/prerender.ts +138 -77
  53. package/src/reverse.ts +25 -1
  54. package/src/route-definition/dsl-helpers.ts +194 -32
  55. package/src/route-definition/helpers-types.ts +67 -19
  56. package/src/route-definition/index.ts +3 -0
  57. package/src/route-definition/redirect.ts +9 -1
  58. package/src/route-definition/resolve-handler-use.ts +149 -0
  59. package/src/route-types.ts +11 -0
  60. package/src/router/content-negotiation.ts +100 -1
  61. package/src/router/handler-context.ts +82 -23
  62. package/src/router/intercept-resolution.ts +9 -4
  63. package/src/router/loader-resolution.ts +156 -21
  64. package/src/router/match-api.ts +124 -189
  65. package/src/router/match-middleware/background-revalidation.ts +12 -1
  66. package/src/router/match-middleware/cache-lookup.ts +40 -13
  67. package/src/router/match-middleware/cache-store.ts +21 -4
  68. package/src/router/match-middleware/segment-resolution.ts +53 -0
  69. package/src/router/match-result.ts +82 -4
  70. package/src/router/middleware-types.ts +6 -8
  71. package/src/router/middleware.ts +2 -5
  72. package/src/router/navigation-snapshot.ts +182 -0
  73. package/src/router/prerender-match.ts +110 -10
  74. package/src/router/preview-match.ts +30 -102
  75. package/src/router/request-classification.ts +310 -0
  76. package/src/router/route-snapshot.ts +245 -0
  77. package/src/router/router-context.ts +1 -0
  78. package/src/router/router-interfaces.ts +36 -4
  79. package/src/router/router-options.ts +37 -11
  80. package/src/router/segment-resolution/fresh.ts +80 -9
  81. package/src/router/segment-resolution/helpers.ts +29 -24
  82. package/src/router/segment-resolution/revalidation.ts +91 -8
  83. package/src/router/types.ts +1 -0
  84. package/src/router.ts +54 -5
  85. package/src/rsc/handler.ts +472 -372
  86. package/src/rsc/loader-fetch.ts +23 -3
  87. package/src/rsc/manifest-init.ts +5 -1
  88. package/src/rsc/progressive-enhancement.ts +14 -2
  89. package/src/rsc/rsc-rendering.ts +10 -1
  90. package/src/rsc/server-action.ts +8 -0
  91. package/src/rsc/ssr-setup.ts +2 -2
  92. package/src/rsc/types.ts +9 -1
  93. package/src/server/context.ts +50 -1
  94. package/src/server/handle-store.ts +19 -0
  95. package/src/server/loader-registry.ts +9 -8
  96. package/src/server/request-context.ts +175 -15
  97. package/src/ssr/index.tsx +3 -0
  98. package/src/static-handler.ts +18 -6
  99. package/src/types/cache-types.ts +4 -4
  100. package/src/types/handler-context.ts +37 -19
  101. package/src/types/loader-types.ts +36 -9
  102. package/src/types/route-entry.ts +1 -1
  103. package/src/types/segments.ts +1 -0
  104. package/src/urls/path-helper-types.ts +39 -6
  105. package/src/urls/path-helper.ts +47 -12
  106. package/src/urls/pattern-types.ts +12 -0
  107. package/src/urls/response-types.ts +16 -6
  108. package/src/use-loader.tsx +77 -5
  109. package/src/vite/discovery/bundle-postprocess.ts +30 -33
  110. package/src/vite/discovery/discover-routers.ts +5 -1
  111. package/src/vite/discovery/prerender-collection.ts +128 -74
  112. package/src/vite/discovery/state.ts +13 -4
  113. package/src/vite/index.ts +4 -0
  114. package/src/vite/plugin-types.ts +60 -5
  115. package/src/vite/plugins/expose-id-utils.ts +12 -0
  116. package/src/vite/plugins/expose-ids/handler-transform.ts +30 -0
  117. package/src/vite/plugins/expose-internal-ids.ts +257 -40
  118. package/src/vite/plugins/performance-tracks.ts +88 -0
  119. package/src/vite/plugins/refresh-cmd.ts +88 -26
  120. package/src/vite/rango.ts +19 -2
  121. package/src/vite/router-discovery.ts +178 -37
  122. package/src/vite/utils/prerender-utils.ts +37 -5
  123. package/src/vite/utils/shared-utils.ts +3 -2
  124. package/dist/__internal.d.ts +0 -83
  125. package/dist/__internal.d.ts.map +0 -1
  126. package/dist/__internal.js +0 -19
  127. package/dist/__internal.js.map +0 -1
  128. package/dist/__mocks__/version.d.ts +0 -7
  129. package/dist/__mocks__/version.d.ts.map +0 -1
  130. package/dist/__mocks__/version.js +0 -7
  131. package/dist/__mocks__/version.js.map +0 -1
  132. package/dist/__tests__/client-href.test.d.ts +0 -2
  133. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  134. package/dist/__tests__/client-href.test.js +0 -74
  135. package/dist/__tests__/client-href.test.js.map +0 -1
  136. package/dist/__tests__/component-utils.test.d.ts +0 -2
  137. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  138. package/dist/__tests__/component-utils.test.js +0 -51
  139. package/dist/__tests__/component-utils.test.js.map +0 -1
  140. package/dist/__tests__/event-controller.test.d.ts +0 -2
  141. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  142. package/dist/__tests__/event-controller.test.js +0 -538
  143. package/dist/__tests__/event-controller.test.js.map +0 -1
  144. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  145. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  146. package/dist/__tests__/helpers/route-tree.js +0 -374
  147. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  148. package/dist/__tests__/match-result.test.d.ts +0 -2
  149. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  150. package/dist/__tests__/match-result.test.js +0 -154
  151. package/dist/__tests__/match-result.test.js.map +0 -1
  152. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  153. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  154. package/dist/__tests__/navigation-store.test.js +0 -440
  155. package/dist/__tests__/navigation-store.test.js.map +0 -1
  156. package/dist/__tests__/partial-update.test.d.ts +0 -2
  157. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  158. package/dist/__tests__/partial-update.test.js +0 -1009
  159. package/dist/__tests__/partial-update.test.js.map +0 -1
  160. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  161. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  162. package/dist/__tests__/reverse-types.test.js +0 -656
  163. package/dist/__tests__/reverse-types.test.js.map +0 -1
  164. package/dist/__tests__/route-definition.test.d.ts +0 -2
  165. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  166. package/dist/__tests__/route-definition.test.js +0 -55
  167. package/dist/__tests__/route-definition.test.js.map +0 -1
  168. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  169. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  170. package/dist/__tests__/router-helpers.test.js +0 -377
  171. package/dist/__tests__/router-helpers.test.js.map +0 -1
  172. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  173. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  174. package/dist/__tests__/router-integration-2.test.js +0 -426
  175. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  176. package/dist/__tests__/router-integration.test.d.ts +0 -2
  177. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  178. package/dist/__tests__/router-integration.test.js +0 -1051
  179. package/dist/__tests__/router-integration.test.js.map +0 -1
  180. package/dist/__tests__/search-params.test.d.ts +0 -5
  181. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  182. package/dist/__tests__/search-params.test.js +0 -306
  183. package/dist/__tests__/search-params.test.js.map +0 -1
  184. package/dist/__tests__/segment-system.test.d.ts +0 -2
  185. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  186. package/dist/__tests__/segment-system.test.js +0 -627
  187. package/dist/__tests__/segment-system.test.js.map +0 -1
  188. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  189. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  190. package/dist/__tests__/static-handler-types.test.js +0 -63
  191. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  192. package/dist/__tests__/urls.test.d.ts +0 -2
  193. package/dist/__tests__/urls.test.d.ts.map +0 -1
  194. package/dist/__tests__/urls.test.js +0 -421
  195. package/dist/__tests__/urls.test.js.map +0 -1
  196. package/dist/__tests__/use-mount.test.d.ts +0 -2
  197. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  198. package/dist/__tests__/use-mount.test.js +0 -35
  199. package/dist/__tests__/use-mount.test.js.map +0 -1
  200. package/dist/bin/rango.d.ts +0 -2
  201. package/dist/bin/rango.d.ts.map +0 -1
  202. package/dist/bin/rango.js.map +0 -1
  203. package/dist/browser/event-controller.d.ts +0 -191
  204. package/dist/browser/event-controller.d.ts.map +0 -1
  205. package/dist/browser/event-controller.js +0 -559
  206. package/dist/browser/event-controller.js.map +0 -1
  207. package/dist/browser/index.d.ts +0 -2
  208. package/dist/browser/index.d.ts.map +0 -1
  209. package/dist/browser/index.js +0 -14
  210. package/dist/browser/index.js.map +0 -1
  211. package/dist/browser/link-interceptor.d.ts +0 -38
  212. package/dist/browser/link-interceptor.d.ts.map +0 -1
  213. package/dist/browser/link-interceptor.js +0 -99
  214. package/dist/browser/link-interceptor.js.map +0 -1
  215. package/dist/browser/logging.d.ts +0 -10
  216. package/dist/browser/logging.d.ts.map +0 -1
  217. package/dist/browser/logging.js +0 -29
  218. package/dist/browser/logging.js.map +0 -1
  219. package/dist/browser/lru-cache.d.ts +0 -17
  220. package/dist/browser/lru-cache.d.ts.map +0 -1
  221. package/dist/browser/lru-cache.js +0 -50
  222. package/dist/browser/lru-cache.js.map +0 -1
  223. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  224. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  225. package/dist/browser/merge-segment-loaders.js +0 -102
  226. package/dist/browser/merge-segment-loaders.js.map +0 -1
  227. package/dist/browser/navigation-bridge.d.ts +0 -102
  228. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  229. package/dist/browser/navigation-bridge.js +0 -708
  230. package/dist/browser/navigation-bridge.js.map +0 -1
  231. package/dist/browser/navigation-client.d.ts +0 -25
  232. package/dist/browser/navigation-client.d.ts.map +0 -1
  233. package/dist/browser/navigation-client.js +0 -157
  234. package/dist/browser/navigation-client.js.map +0 -1
  235. package/dist/browser/navigation-store.d.ts +0 -101
  236. package/dist/browser/navigation-store.d.ts.map +0 -1
  237. package/dist/browser/navigation-store.js +0 -625
  238. package/dist/browser/navigation-store.js.map +0 -1
  239. package/dist/browser/partial-update.d.ts +0 -75
  240. package/dist/browser/partial-update.d.ts.map +0 -1
  241. package/dist/browser/partial-update.js +0 -426
  242. package/dist/browser/partial-update.js.map +0 -1
  243. package/dist/browser/react/Link.d.ts +0 -86
  244. package/dist/browser/react/Link.d.ts.map +0 -1
  245. package/dist/browser/react/Link.js +0 -128
  246. package/dist/browser/react/Link.js.map +0 -1
  247. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  248. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  249. package/dist/browser/react/NavigationProvider.js +0 -216
  250. package/dist/browser/react/NavigationProvider.js.map +0 -1
  251. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  252. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  253. package/dist/browser/react/ScrollRestoration.js +0 -57
  254. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  255. package/dist/browser/react/context.d.ts +0 -46
  256. package/dist/browser/react/context.d.ts.map +0 -1
  257. package/dist/browser/react/context.js +0 -10
  258. package/dist/browser/react/context.js.map +0 -1
  259. package/dist/browser/react/index.d.ts +0 -11
  260. package/dist/browser/react/index.d.ts.map +0 -1
  261. package/dist/browser/react/index.js +0 -22
  262. package/dist/browser/react/index.js.map +0 -1
  263. package/dist/browser/react/location-state-shared.d.ts +0 -63
  264. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  265. package/dist/browser/react/location-state-shared.js +0 -81
  266. package/dist/browser/react/location-state-shared.js.map +0 -1
  267. package/dist/browser/react/location-state.d.ts +0 -23
  268. package/dist/browser/react/location-state.d.ts.map +0 -1
  269. package/dist/browser/react/location-state.js +0 -29
  270. package/dist/browser/react/location-state.js.map +0 -1
  271. package/dist/browser/react/mount-context.d.ts +0 -24
  272. package/dist/browser/react/mount-context.d.ts.map +0 -1
  273. package/dist/browser/react/mount-context.js +0 -24
  274. package/dist/browser/react/mount-context.js.map +0 -1
  275. package/dist/browser/react/use-action.d.ts +0 -64
  276. package/dist/browser/react/use-action.d.ts.map +0 -1
  277. package/dist/browser/react/use-action.js +0 -134
  278. package/dist/browser/react/use-action.js.map +0 -1
  279. package/dist/browser/react/use-client-cache.d.ts +0 -41
  280. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  281. package/dist/browser/react/use-client-cache.js +0 -39
  282. package/dist/browser/react/use-client-cache.js.map +0 -1
  283. package/dist/browser/react/use-handle.d.ts +0 -31
  284. package/dist/browser/react/use-handle.d.ts.map +0 -1
  285. package/dist/browser/react/use-handle.js +0 -144
  286. package/dist/browser/react/use-handle.js.map +0 -1
  287. package/dist/browser/react/use-href.d.ts +0 -33
  288. package/dist/browser/react/use-href.d.ts.map +0 -1
  289. package/dist/browser/react/use-href.js +0 -39
  290. package/dist/browser/react/use-href.js.map +0 -1
  291. package/dist/browser/react/use-link-status.d.ts +0 -37
  292. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  293. package/dist/browser/react/use-link-status.js +0 -99
  294. package/dist/browser/react/use-link-status.js.map +0 -1
  295. package/dist/browser/react/use-mount.d.ts +0 -25
  296. package/dist/browser/react/use-mount.d.ts.map +0 -1
  297. package/dist/browser/react/use-mount.js +0 -30
  298. package/dist/browser/react/use-mount.js.map +0 -1
  299. package/dist/browser/react/use-navigation.d.ts +0 -27
  300. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  301. package/dist/browser/react/use-navigation.js +0 -87
  302. package/dist/browser/react/use-navigation.js.map +0 -1
  303. package/dist/browser/react/use-segments.d.ts +0 -38
  304. package/dist/browser/react/use-segments.d.ts.map +0 -1
  305. package/dist/browser/react/use-segments.js +0 -130
  306. package/dist/browser/react/use-segments.js.map +0 -1
  307. package/dist/browser/request-controller.d.ts +0 -26
  308. package/dist/browser/request-controller.d.ts.map +0 -1
  309. package/dist/browser/request-controller.js +0 -147
  310. package/dist/browser/request-controller.js.map +0 -1
  311. package/dist/browser/rsc-router.d.ts +0 -129
  312. package/dist/browser/rsc-router.d.ts.map +0 -1
  313. package/dist/browser/rsc-router.js +0 -195
  314. package/dist/browser/rsc-router.js.map +0 -1
  315. package/dist/browser/scroll-restoration.d.ts +0 -93
  316. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  317. package/dist/browser/scroll-restoration.js +0 -321
  318. package/dist/browser/scroll-restoration.js.map +0 -1
  319. package/dist/browser/segment-structure-assert.d.ts +0 -17
  320. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  321. package/dist/browser/segment-structure-assert.js +0 -59
  322. package/dist/browser/segment-structure-assert.js.map +0 -1
  323. package/dist/browser/server-action-bridge.d.ts +0 -26
  324. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  325. package/dist/browser/server-action-bridge.js +0 -668
  326. package/dist/browser/server-action-bridge.js.map +0 -1
  327. package/dist/browser/shallow.d.ts +0 -12
  328. package/dist/browser/shallow.d.ts.map +0 -1
  329. package/dist/browser/shallow.js +0 -34
  330. package/dist/browser/shallow.js.map +0 -1
  331. package/dist/browser/types.d.ts +0 -369
  332. package/dist/browser/types.d.ts.map +0 -1
  333. package/dist/browser/types.js +0 -2
  334. package/dist/browser/types.js.map +0 -1
  335. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  336. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  337. package/dist/build/__tests__/generate-cli.test.js +0 -237
  338. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  339. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  340. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  341. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  342. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  343. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  344. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  345. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  346. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  347. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  348. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  349. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  350. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  351. package/dist/build/generate-manifest.d.ts +0 -81
  352. package/dist/build/generate-manifest.d.ts.map +0 -1
  353. package/dist/build/generate-manifest.js +0 -276
  354. package/dist/build/generate-manifest.js.map +0 -1
  355. package/dist/build/generate-route-types.d.ts +0 -115
  356. package/dist/build/generate-route-types.d.ts.map +0 -1
  357. package/dist/build/generate-route-types.js +0 -740
  358. package/dist/build/generate-route-types.js.map +0 -1
  359. package/dist/build/index.d.ts +0 -21
  360. package/dist/build/index.d.ts.map +0 -1
  361. package/dist/build/index.js +0 -21
  362. package/dist/build/index.js.map +0 -1
  363. package/dist/build/route-trie.d.ts +0 -71
  364. package/dist/build/route-trie.d.ts.map +0 -1
  365. package/dist/build/route-trie.js +0 -175
  366. package/dist/build/route-trie.js.map +0 -1
  367. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  368. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  369. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  370. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  371. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  372. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  373. package/dist/cache/__tests__/document-cache.test.js +0 -345
  374. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  375. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  376. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  377. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  378. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  379. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  380. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  381. package/dist/cache/__tests__/memory-store.test.js +0 -367
  382. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  383. package/dist/cache/cache-scope.d.ts +0 -102
  384. package/dist/cache/cache-scope.d.ts.map +0 -1
  385. package/dist/cache/cache-scope.js +0 -440
  386. package/dist/cache/cache-scope.js.map +0 -1
  387. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  388. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  389. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  390. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  391. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  392. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  393. package/dist/cache/cf/cf-cache-store.js +0 -242
  394. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  395. package/dist/cache/cf/index.d.ts +0 -14
  396. package/dist/cache/cf/index.d.ts.map +0 -1
  397. package/dist/cache/cf/index.js +0 -17
  398. package/dist/cache/cf/index.js.map +0 -1
  399. package/dist/cache/document-cache.d.ts +0 -64
  400. package/dist/cache/document-cache.d.ts.map +0 -1
  401. package/dist/cache/document-cache.js +0 -228
  402. package/dist/cache/document-cache.js.map +0 -1
  403. package/dist/cache/index.d.ts +0 -19
  404. package/dist/cache/index.d.ts.map +0 -1
  405. package/dist/cache/index.js +0 -21
  406. package/dist/cache/index.js.map +0 -1
  407. package/dist/cache/memory-segment-store.d.ts +0 -110
  408. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  409. package/dist/cache/memory-segment-store.js +0 -117
  410. package/dist/cache/memory-segment-store.js.map +0 -1
  411. package/dist/cache/memory-store.d.ts +0 -41
  412. package/dist/cache/memory-store.d.ts.map +0 -1
  413. package/dist/cache/memory-store.js +0 -191
  414. package/dist/cache/memory-store.js.map +0 -1
  415. package/dist/cache/types.d.ts +0 -317
  416. package/dist/cache/types.d.ts.map +0 -1
  417. package/dist/cache/types.js +0 -12
  418. package/dist/cache/types.js.map +0 -1
  419. package/dist/client.d.ts +0 -248
  420. package/dist/client.d.ts.map +0 -1
  421. package/dist/client.js +0 -367
  422. package/dist/client.js.map +0 -1
  423. package/dist/client.rsc.d.ts +0 -26
  424. package/dist/client.rsc.d.ts.map +0 -1
  425. package/dist/client.rsc.js +0 -46
  426. package/dist/client.rsc.js.map +0 -1
  427. package/dist/component-utils.d.ts +0 -36
  428. package/dist/component-utils.d.ts.map +0 -1
  429. package/dist/component-utils.js +0 -61
  430. package/dist/component-utils.js.map +0 -1
  431. package/dist/components/DefaultDocument.d.ts +0 -13
  432. package/dist/components/DefaultDocument.d.ts.map +0 -1
  433. package/dist/components/DefaultDocument.js +0 -15
  434. package/dist/components/DefaultDocument.js.map +0 -1
  435. package/dist/debug.d.ts +0 -58
  436. package/dist/debug.d.ts.map +0 -1
  437. package/dist/debug.js +0 -157
  438. package/dist/debug.js.map +0 -1
  439. package/dist/default-error-boundary.d.ts +0 -11
  440. package/dist/default-error-boundary.d.ts.map +0 -1
  441. package/dist/default-error-boundary.js +0 -45
  442. package/dist/default-error-boundary.js.map +0 -1
  443. package/dist/deps/browser.d.ts +0 -2
  444. package/dist/deps/browser.d.ts.map +0 -1
  445. package/dist/deps/browser.js +0 -3
  446. package/dist/deps/browser.js.map +0 -1
  447. package/dist/deps/html-stream-client.d.ts +0 -2
  448. package/dist/deps/html-stream-client.d.ts.map +0 -1
  449. package/dist/deps/html-stream-client.js +0 -3
  450. package/dist/deps/html-stream-client.js.map +0 -1
  451. package/dist/deps/html-stream-server.d.ts +0 -2
  452. package/dist/deps/html-stream-server.d.ts.map +0 -1
  453. package/dist/deps/html-stream-server.js +0 -3
  454. package/dist/deps/html-stream-server.js.map +0 -1
  455. package/dist/deps/rsc.d.ts +0 -2
  456. package/dist/deps/rsc.d.ts.map +0 -1
  457. package/dist/deps/rsc.js +0 -4
  458. package/dist/deps/rsc.js.map +0 -1
  459. package/dist/deps/ssr.d.ts +0 -2
  460. package/dist/deps/ssr.d.ts.map +0 -1
  461. package/dist/deps/ssr.js +0 -3
  462. package/dist/deps/ssr.js.map +0 -1
  463. package/dist/errors.d.ts +0 -174
  464. package/dist/errors.d.ts.map +0 -1
  465. package/dist/errors.js +0 -241
  466. package/dist/errors.js.map +0 -1
  467. package/dist/handle.d.ts +0 -78
  468. package/dist/handle.d.ts.map +0 -1
  469. package/dist/handle.js +0 -82
  470. package/dist/handle.js.map +0 -1
  471. package/dist/handles/MetaTags.d.ts +0 -14
  472. package/dist/handles/MetaTags.d.ts.map +0 -1
  473. package/dist/handles/MetaTags.js +0 -136
  474. package/dist/handles/MetaTags.js.map +0 -1
  475. package/dist/handles/index.d.ts +0 -6
  476. package/dist/handles/index.d.ts.map +0 -1
  477. package/dist/handles/index.js +0 -6
  478. package/dist/handles/index.js.map +0 -1
  479. package/dist/handles/meta.d.ts +0 -39
  480. package/dist/handles/meta.d.ts.map +0 -1
  481. package/dist/handles/meta.js +0 -202
  482. package/dist/handles/meta.js.map +0 -1
  483. package/dist/host/__tests__/errors.test.d.ts +0 -2
  484. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  485. package/dist/host/__tests__/errors.test.js +0 -76
  486. package/dist/host/__tests__/errors.test.js.map +0 -1
  487. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  488. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  489. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  490. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  491. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  492. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  493. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  494. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  495. package/dist/host/__tests__/router.test.d.ts +0 -2
  496. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  497. package/dist/host/__tests__/router.test.js +0 -241
  498. package/dist/host/__tests__/router.test.js.map +0 -1
  499. package/dist/host/__tests__/testing.test.d.ts +0 -2
  500. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  501. package/dist/host/__tests__/testing.test.js +0 -64
  502. package/dist/host/__tests__/testing.test.js.map +0 -1
  503. package/dist/host/__tests__/utils.test.d.ts +0 -2
  504. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  505. package/dist/host/__tests__/utils.test.js +0 -29
  506. package/dist/host/__tests__/utils.test.js.map +0 -1
  507. package/dist/host/cookie-handler.d.ts +0 -34
  508. package/dist/host/cookie-handler.d.ts.map +0 -1
  509. package/dist/host/cookie-handler.js +0 -124
  510. package/dist/host/cookie-handler.js.map +0 -1
  511. package/dist/host/errors.d.ts +0 -56
  512. package/dist/host/errors.d.ts.map +0 -1
  513. package/dist/host/errors.js +0 -79
  514. package/dist/host/errors.js.map +0 -1
  515. package/dist/host/index.d.ts +0 -29
  516. package/dist/host/index.d.ts.map +0 -1
  517. package/dist/host/index.js +0 -32
  518. package/dist/host/index.js.map +0 -1
  519. package/dist/host/pattern-matcher.d.ts +0 -36
  520. package/dist/host/pattern-matcher.d.ts.map +0 -1
  521. package/dist/host/pattern-matcher.js +0 -172
  522. package/dist/host/pattern-matcher.js.map +0 -1
  523. package/dist/host/router.d.ts +0 -26
  524. package/dist/host/router.d.ts.map +0 -1
  525. package/dist/host/router.js +0 -218
  526. package/dist/host/router.js.map +0 -1
  527. package/dist/host/testing.d.ts +0 -36
  528. package/dist/host/testing.d.ts.map +0 -1
  529. package/dist/host/testing.js +0 -55
  530. package/dist/host/testing.js.map +0 -1
  531. package/dist/host/types.d.ts +0 -115
  532. package/dist/host/types.d.ts.map +0 -1
  533. package/dist/host/types.js +0 -7
  534. package/dist/host/types.js.map +0 -1
  535. package/dist/host/utils.d.ts +0 -21
  536. package/dist/host/utils.d.ts.map +0 -1
  537. package/dist/host/utils.js +0 -23
  538. package/dist/host/utils.js.map +0 -1
  539. package/dist/href-client.d.ts +0 -131
  540. package/dist/href-client.d.ts.map +0 -1
  541. package/dist/href-client.js +0 -64
  542. package/dist/href-client.js.map +0 -1
  543. package/dist/href-context.d.ts +0 -29
  544. package/dist/href-context.d.ts.map +0 -1
  545. package/dist/href-context.js +0 -21
  546. package/dist/href-context.js.map +0 -1
  547. package/dist/index.d.ts +0 -73
  548. package/dist/index.d.ts.map +0 -1
  549. package/dist/index.js +0 -91
  550. package/dist/index.js.map +0 -1
  551. package/dist/index.rsc.d.ts +0 -32
  552. package/dist/index.rsc.d.ts.map +0 -1
  553. package/dist/index.rsc.js +0 -40
  554. package/dist/index.rsc.js.map +0 -1
  555. package/dist/internal-debug.d.ts +0 -2
  556. package/dist/internal-debug.d.ts.map +0 -1
  557. package/dist/internal-debug.js +0 -5
  558. package/dist/internal-debug.js.map +0 -1
  559. package/dist/loader.d.ts +0 -14
  560. package/dist/loader.d.ts.map +0 -1
  561. package/dist/loader.js +0 -20
  562. package/dist/loader.js.map +0 -1
  563. package/dist/loader.rsc.d.ts +0 -19
  564. package/dist/loader.rsc.d.ts.map +0 -1
  565. package/dist/loader.rsc.js +0 -99
  566. package/dist/loader.rsc.js.map +0 -1
  567. package/dist/network-error-thrower.d.ts +0 -17
  568. package/dist/network-error-thrower.d.ts.map +0 -1
  569. package/dist/network-error-thrower.js +0 -14
  570. package/dist/network-error-thrower.js.map +0 -1
  571. package/dist/outlet-context.d.ts +0 -13
  572. package/dist/outlet-context.d.ts.map +0 -1
  573. package/dist/outlet-context.js +0 -3
  574. package/dist/outlet-context.js.map +0 -1
  575. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  576. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  577. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  578. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  579. package/dist/prerender/param-hash.d.ts +0 -16
  580. package/dist/prerender/param-hash.d.ts.map +0 -1
  581. package/dist/prerender/param-hash.js +0 -36
  582. package/dist/prerender/param-hash.js.map +0 -1
  583. package/dist/prerender/store.d.ts +0 -38
  584. package/dist/prerender/store.d.ts.map +0 -1
  585. package/dist/prerender/store.js +0 -61
  586. package/dist/prerender/store.js.map +0 -1
  587. package/dist/prerender.d.ts +0 -66
  588. package/dist/prerender.d.ts.map +0 -1
  589. package/dist/prerender.js +0 -57
  590. package/dist/prerender.js.map +0 -1
  591. package/dist/reverse.d.ts +0 -196
  592. package/dist/reverse.d.ts.map +0 -1
  593. package/dist/reverse.js +0 -78
  594. package/dist/reverse.js.map +0 -1
  595. package/dist/root-error-boundary.d.ts +0 -33
  596. package/dist/root-error-boundary.d.ts.map +0 -1
  597. package/dist/root-error-boundary.js +0 -165
  598. package/dist/root-error-boundary.js.map +0 -1
  599. package/dist/route-content-wrapper.d.ts +0 -46
  600. package/dist/route-content-wrapper.d.ts.map +0 -1
  601. package/dist/route-content-wrapper.js +0 -77
  602. package/dist/route-content-wrapper.js.map +0 -1
  603. package/dist/route-definition.d.ts +0 -421
  604. package/dist/route-definition.d.ts.map +0 -1
  605. package/dist/route-definition.js +0 -868
  606. package/dist/route-definition.js.map +0 -1
  607. package/dist/route-map-builder.d.ts +0 -155
  608. package/dist/route-map-builder.d.ts.map +0 -1
  609. package/dist/route-map-builder.js +0 -237
  610. package/dist/route-map-builder.js.map +0 -1
  611. package/dist/route-types.d.ts +0 -165
  612. package/dist/route-types.d.ts.map +0 -1
  613. package/dist/route-types.js +0 -7
  614. package/dist/route-types.js.map +0 -1
  615. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  616. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  617. package/dist/router/__tests__/handler-context.test.js +0 -65
  618. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  619. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  620. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  621. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  622. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  623. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  624. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  625. package/dist/router/__tests__/match-context.test.js +0 -92
  626. package/dist/router/__tests__/match-context.test.js.map +0 -1
  627. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  628. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  629. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  630. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  631. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  632. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  633. package/dist/router/__tests__/match-result.test.js +0 -457
  634. package/dist/router/__tests__/match-result.test.js.map +0 -1
  635. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  636. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  637. package/dist/router/__tests__/on-error.test.js +0 -678
  638. package/dist/router/__tests__/on-error.test.js.map +0 -1
  639. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  640. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  641. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  642. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  643. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  644. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  645. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  646. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  647. package/dist/router/error-handling.d.ts +0 -77
  648. package/dist/router/error-handling.d.ts.map +0 -1
  649. package/dist/router/error-handling.js +0 -202
  650. package/dist/router/error-handling.js.map +0 -1
  651. package/dist/router/handler-context.d.ts +0 -20
  652. package/dist/router/handler-context.d.ts.map +0 -1
  653. package/dist/router/handler-context.js +0 -198
  654. package/dist/router/handler-context.js.map +0 -1
  655. package/dist/router/intercept-resolution.d.ts +0 -66
  656. package/dist/router/intercept-resolution.d.ts.map +0 -1
  657. package/dist/router/intercept-resolution.js +0 -246
  658. package/dist/router/intercept-resolution.js.map +0 -1
  659. package/dist/router/loader-resolution.d.ts +0 -64
  660. package/dist/router/loader-resolution.d.ts.map +0 -1
  661. package/dist/router/loader-resolution.js +0 -284
  662. package/dist/router/loader-resolution.js.map +0 -1
  663. package/dist/router/logging.d.ts +0 -15
  664. package/dist/router/logging.d.ts.map +0 -1
  665. package/dist/router/logging.js +0 -99
  666. package/dist/router/logging.js.map +0 -1
  667. package/dist/router/manifest.d.ts +0 -22
  668. package/dist/router/manifest.d.ts.map +0 -1
  669. package/dist/router/manifest.js +0 -181
  670. package/dist/router/manifest.js.map +0 -1
  671. package/dist/router/match-api.d.ts +0 -35
  672. package/dist/router/match-api.d.ts.map +0 -1
  673. package/dist/router/match-api.js +0 -406
  674. package/dist/router/match-api.js.map +0 -1
  675. package/dist/router/match-context.d.ts +0 -206
  676. package/dist/router/match-context.d.ts.map +0 -1
  677. package/dist/router/match-context.js +0 -17
  678. package/dist/router/match-context.js.map +0 -1
  679. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  680. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  681. package/dist/router/match-middleware/background-revalidation.js +0 -75
  682. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  683. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  684. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  685. package/dist/router/match-middleware/cache-lookup.js +0 -257
  686. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  687. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  688. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  689. package/dist/router/match-middleware/cache-store.js +0 -108
  690. package/dist/router/match-middleware/cache-store.js.map +0 -1
  691. package/dist/router/match-middleware/index.d.ts +0 -81
  692. package/dist/router/match-middleware/index.d.ts.map +0 -1
  693. package/dist/router/match-middleware/index.js +0 -80
  694. package/dist/router/match-middleware/index.js.map +0 -1
  695. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  696. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  697. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  698. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  699. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  700. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  701. package/dist/router/match-middleware/segment-resolution.js +0 -53
  702. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  703. package/dist/router/match-pipelines.d.ts +0 -147
  704. package/dist/router/match-pipelines.d.ts.map +0 -1
  705. package/dist/router/match-pipelines.js +0 -82
  706. package/dist/router/match-pipelines.js.map +0 -1
  707. package/dist/router/match-result.d.ts +0 -126
  708. package/dist/router/match-result.d.ts.map +0 -1
  709. package/dist/router/match-result.js +0 -93
  710. package/dist/router/match-result.js.map +0 -1
  711. package/dist/router/metrics.d.ts +0 -20
  712. package/dist/router/metrics.d.ts.map +0 -1
  713. package/dist/router/metrics.js +0 -47
  714. package/dist/router/metrics.js.map +0 -1
  715. package/dist/router/middleware.d.ts +0 -249
  716. package/dist/router/middleware.d.ts.map +0 -1
  717. package/dist/router/middleware.js +0 -434
  718. package/dist/router/middleware.js.map +0 -1
  719. package/dist/router/middleware.test.d.ts +0 -2
  720. package/dist/router/middleware.test.d.ts.map +0 -1
  721. package/dist/router/middleware.test.js +0 -816
  722. package/dist/router/middleware.test.js.map +0 -1
  723. package/dist/router/pattern-matching.d.ts +0 -149
  724. package/dist/router/pattern-matching.d.ts.map +0 -1
  725. package/dist/router/pattern-matching.js +0 -349
  726. package/dist/router/pattern-matching.js.map +0 -1
  727. package/dist/router/revalidation.d.ts +0 -44
  728. package/dist/router/revalidation.d.ts.map +0 -1
  729. package/dist/router/revalidation.js +0 -147
  730. package/dist/router/revalidation.js.map +0 -1
  731. package/dist/router/router-context.d.ts +0 -135
  732. package/dist/router/router-context.d.ts.map +0 -1
  733. package/dist/router/router-context.js +0 -36
  734. package/dist/router/router-context.js.map +0 -1
  735. package/dist/router/segment-resolution.d.ts +0 -127
  736. package/dist/router/segment-resolution.d.ts.map +0 -1
  737. package/dist/router/segment-resolution.js +0 -919
  738. package/dist/router/segment-resolution.js.map +0 -1
  739. package/dist/router/trie-matching.d.ts +0 -40
  740. package/dist/router/trie-matching.d.ts.map +0 -1
  741. package/dist/router/trie-matching.js +0 -127
  742. package/dist/router/trie-matching.js.map +0 -1
  743. package/dist/router/types.d.ts +0 -136
  744. package/dist/router/types.d.ts.map +0 -1
  745. package/dist/router/types.js +0 -7
  746. package/dist/router/types.js.map +0 -1
  747. package/dist/router.d.ts +0 -753
  748. package/dist/router.d.ts.map +0 -1
  749. package/dist/router.gen.d.ts +0 -6
  750. package/dist/router.gen.d.ts.map +0 -1
  751. package/dist/router.gen.js +0 -6
  752. package/dist/router.gen.js.map +0 -1
  753. package/dist/router.js +0 -1304
  754. package/dist/router.js.map +0 -1
  755. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  756. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  757. package/dist/rsc/__tests__/helpers.test.js +0 -140
  758. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  759. package/dist/rsc/handler.d.ts +0 -45
  760. package/dist/rsc/handler.d.ts.map +0 -1
  761. package/dist/rsc/handler.js +0 -1172
  762. package/dist/rsc/handler.js.map +0 -1
  763. package/dist/rsc/helpers.d.ts +0 -16
  764. package/dist/rsc/helpers.d.ts.map +0 -1
  765. package/dist/rsc/helpers.js +0 -55
  766. package/dist/rsc/helpers.js.map +0 -1
  767. package/dist/rsc/index.d.ts +0 -22
  768. package/dist/rsc/index.d.ts.map +0 -1
  769. package/dist/rsc/index.js +0 -23
  770. package/dist/rsc/index.js.map +0 -1
  771. package/dist/rsc/nonce.d.ts +0 -9
  772. package/dist/rsc/nonce.d.ts.map +0 -1
  773. package/dist/rsc/nonce.js +0 -18
  774. package/dist/rsc/nonce.js.map +0 -1
  775. package/dist/rsc/types.d.ts +0 -206
  776. package/dist/rsc/types.d.ts.map +0 -1
  777. package/dist/rsc/types.js +0 -8
  778. package/dist/rsc/types.js.map +0 -1
  779. package/dist/search-params.d.ts +0 -103
  780. package/dist/search-params.d.ts.map +0 -1
  781. package/dist/search-params.js +0 -74
  782. package/dist/search-params.js.map +0 -1
  783. package/dist/segment-system.d.ts +0 -75
  784. package/dist/segment-system.d.ts.map +0 -1
  785. package/dist/segment-system.js +0 -336
  786. package/dist/segment-system.js.map +0 -1
  787. package/dist/server/context.d.ts +0 -245
  788. package/dist/server/context.d.ts.map +0 -1
  789. package/dist/server/context.js +0 -197
  790. package/dist/server/context.js.map +0 -1
  791. package/dist/server/fetchable-loader-store.d.ts +0 -18
  792. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  793. package/dist/server/fetchable-loader-store.js +0 -18
  794. package/dist/server/fetchable-loader-store.js.map +0 -1
  795. package/dist/server/handle-store.d.ts +0 -85
  796. package/dist/server/handle-store.d.ts.map +0 -1
  797. package/dist/server/handle-store.js +0 -142
  798. package/dist/server/handle-store.js.map +0 -1
  799. package/dist/server/loader-registry.d.ts +0 -55
  800. package/dist/server/loader-registry.d.ts.map +0 -1
  801. package/dist/server/loader-registry.js +0 -132
  802. package/dist/server/loader-registry.js.map +0 -1
  803. package/dist/server/request-context.d.ts +0 -226
  804. package/dist/server/request-context.d.ts.map +0 -1
  805. package/dist/server/request-context.js +0 -290
  806. package/dist/server/request-context.js.map +0 -1
  807. package/dist/server/root-layout.d.ts +0 -4
  808. package/dist/server/root-layout.d.ts.map +0 -1
  809. package/dist/server/root-layout.js +0 -5
  810. package/dist/server/root-layout.js.map +0 -1
  811. package/dist/server.d.ts +0 -15
  812. package/dist/server.d.ts.map +0 -1
  813. package/dist/server.js +0 -20
  814. package/dist/server.js.map +0 -1
  815. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  816. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  817. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  818. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  819. package/dist/ssr/index.d.ts +0 -98
  820. package/dist/ssr/index.d.ts.map +0 -1
  821. package/dist/ssr/index.js +0 -158
  822. package/dist/ssr/index.js.map +0 -1
  823. package/dist/static-handler.d.ts +0 -50
  824. package/dist/static-handler.d.ts.map +0 -1
  825. package/dist/static-handler.gen.d.ts +0 -5
  826. package/dist/static-handler.gen.d.ts.map +0 -1
  827. package/dist/static-handler.gen.js +0 -5
  828. package/dist/static-handler.gen.js.map +0 -1
  829. package/dist/static-handler.js +0 -29
  830. package/dist/static-handler.js.map +0 -1
  831. package/dist/theme/ThemeProvider.d.ts +0 -20
  832. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  833. package/dist/theme/ThemeProvider.js +0 -240
  834. package/dist/theme/ThemeProvider.js.map +0 -1
  835. package/dist/theme/ThemeScript.d.ts +0 -48
  836. package/dist/theme/ThemeScript.d.ts.map +0 -1
  837. package/dist/theme/ThemeScript.js +0 -13
  838. package/dist/theme/ThemeScript.js.map +0 -1
  839. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  840. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  841. package/dist/theme/__tests__/theme.test.js +0 -103
  842. package/dist/theme/__tests__/theme.test.js.map +0 -1
  843. package/dist/theme/constants.d.ts +0 -29
  844. package/dist/theme/constants.d.ts.map +0 -1
  845. package/dist/theme/constants.js +0 -48
  846. package/dist/theme/constants.js.map +0 -1
  847. package/dist/theme/index.d.ts +0 -31
  848. package/dist/theme/index.d.ts.map +0 -1
  849. package/dist/theme/index.js +0 -36
  850. package/dist/theme/index.js.map +0 -1
  851. package/dist/theme/theme-context.d.ts +0 -40
  852. package/dist/theme/theme-context.d.ts.map +0 -1
  853. package/dist/theme/theme-context.js +0 -60
  854. package/dist/theme/theme-context.js.map +0 -1
  855. package/dist/theme/theme-script.d.ts +0 -27
  856. package/dist/theme/theme-script.d.ts.map +0 -1
  857. package/dist/theme/theme-script.js +0 -147
  858. package/dist/theme/theme-script.js.map +0 -1
  859. package/dist/theme/types.d.ts +0 -163
  860. package/dist/theme/types.d.ts.map +0 -1
  861. package/dist/theme/types.js +0 -11
  862. package/dist/theme/types.js.map +0 -1
  863. package/dist/theme/use-theme.d.ts +0 -12
  864. package/dist/theme/use-theme.d.ts.map +0 -1
  865. package/dist/theme/use-theme.js +0 -40
  866. package/dist/theme/use-theme.js.map +0 -1
  867. package/dist/types.d.ts +0 -1479
  868. package/dist/types.d.ts.map +0 -1
  869. package/dist/types.js +0 -10
  870. package/dist/types.js.map +0 -1
  871. package/dist/urls.d.ts +0 -441
  872. package/dist/urls.d.ts.map +0 -1
  873. package/dist/urls.gen.d.ts +0 -8
  874. package/dist/urls.gen.d.ts.map +0 -1
  875. package/dist/urls.gen.js +0 -8
  876. package/dist/urls.gen.js.map +0 -1
  877. package/dist/urls.js +0 -443
  878. package/dist/urls.js.map +0 -1
  879. package/dist/use-loader.d.ts +0 -127
  880. package/dist/use-loader.d.ts.map +0 -1
  881. package/dist/use-loader.js +0 -237
  882. package/dist/use-loader.js.map +0 -1
  883. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  884. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  885. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  886. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  887. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  888. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  889. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  890. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  891. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  892. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  893. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  894. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  895. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  896. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  897. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  898. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  899. package/dist/vite/ast-handler-extract.d.ts +0 -49
  900. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  901. package/dist/vite/ast-handler-extract.js +0 -249
  902. package/dist/vite/ast-handler-extract.js.map +0 -1
  903. package/dist/vite/expose-action-id.d.ts +0 -19
  904. package/dist/vite/expose-action-id.d.ts.map +0 -1
  905. package/dist/vite/expose-action-id.js +0 -250
  906. package/dist/vite/expose-action-id.js.map +0 -1
  907. package/dist/vite/expose-id-utils.d.ts +0 -69
  908. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  909. package/dist/vite/expose-id-utils.js +0 -289
  910. package/dist/vite/expose-id-utils.js.map +0 -1
  911. package/dist/vite/expose-internal-ids.d.ts +0 -22
  912. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  913. package/dist/vite/expose-internal-ids.js +0 -886
  914. package/dist/vite/expose-internal-ids.js.map +0 -1
  915. package/dist/vite/index.d.ts +0 -149
  916. package/dist/vite/index.d.ts.map +0 -1
  917. package/dist/vite/index.js.map +0 -1
  918. package/dist/vite/index.named-routes.gen.ts +0 -103
  919. package/dist/vite/package-resolution.d.ts +0 -43
  920. package/dist/vite/package-resolution.d.ts.map +0 -1
  921. package/dist/vite/package-resolution.js +0 -112
  922. package/dist/vite/package-resolution.js.map +0 -1
  923. package/dist/vite/virtual-entries.d.ts +0 -25
  924. package/dist/vite/virtual-entries.d.ts.map +0 -1
  925. package/dist/vite/virtual-entries.js +0 -110
  926. package/dist/vite/virtual-entries.js.map +0 -1
@@ -1,330 +0,0 @@
1
- import { describe, it, expect, beforeEach, vi } from "vitest";
2
- import { CFCacheStore, CACHE_STALE_AT_HEADER, CACHE_STATUS_HEADER, } from "../cf-cache-store";
3
- // ============================================================================
4
- // Mock Cloudflare Cache API
5
- // ============================================================================
6
- class MockCache {
7
- constructor() {
8
- this.store = new Map();
9
- }
10
- async match(request) {
11
- return this.store.get(request.url)?.clone();
12
- }
13
- async put(request, response) {
14
- this.store.set(request.url, response.clone());
15
- }
16
- async delete(request) {
17
- return this.store.delete(request.url);
18
- }
19
- clear() {
20
- this.store.clear();
21
- }
22
- }
23
- class MockCaches {
24
- constructor() {
25
- this.caches = new Map();
26
- this._default = new MockCache();
27
- }
28
- async open(name) {
29
- if (!this.caches.has(name)) {
30
- this.caches.set(name, new MockCache());
31
- }
32
- return this.caches.get(name);
33
- }
34
- get default() {
35
- return this._default;
36
- }
37
- clear() {
38
- this._default.clear();
39
- this.caches.forEach((cache) => cache.clear());
40
- this.caches.clear();
41
- }
42
- }
43
- // Install mock globally
44
- const mockCaches = new MockCaches();
45
- globalThis.caches = mockCaches;
46
- // ============================================================================
47
- // Mock ExecutionContext
48
- // ============================================================================
49
- const createMockCtx = () => ({
50
- waitUntil: vi.fn((p) => p),
51
- passThroughOnException: vi.fn(),
52
- });
53
- // ============================================================================
54
- // Test Data
55
- // ============================================================================
56
- const createTestData = () => ({
57
- segments: [
58
- {
59
- encoded: "test-component",
60
- metadata: {
61
- id: "test-segment",
62
- type: "route",
63
- namespace: "test",
64
- index: 0,
65
- params: {},
66
- },
67
- },
68
- ],
69
- handles: {},
70
- expiresAt: Date.now() + 60000,
71
- });
72
- // ============================================================================
73
- // Tests
74
- // ============================================================================
75
- describe("CFCacheStore", () => {
76
- beforeEach(() => {
77
- mockCaches.clear();
78
- vi.useFakeTimers();
79
- });
80
- describe("constructor", () => {
81
- it("should require ctx", () => {
82
- expect(() => new CFCacheStore({})).toThrow("[CFCacheStore] ExecutionContext (ctx) is required");
83
- });
84
- it("should accept ctx and custom options", () => {
85
- const store = new CFCacheStore({
86
- ctx: createMockCtx(),
87
- namespace: "custom-cache",
88
- baseUrl: "https://custom.internal/",
89
- defaults: { ttl: 120, swr: 600 },
90
- });
91
- expect(store.defaults).toEqual({ ttl: 120, swr: 600 });
92
- });
93
- });
94
- describe("get/set", () => {
95
- it("should return null for missing key", async () => {
96
- const store = new CFCacheStore({ ctx: createMockCtx() });
97
- const result = await store.get("missing-key");
98
- expect(result).toBeNull();
99
- });
100
- it("should store and retrieve data", async () => {
101
- const mockCtx = createMockCtx();
102
- const store = new CFCacheStore({ ctx: mockCtx });
103
- const data = createTestData();
104
- await store.set("test-key", data, 60);
105
- // Execute waitUntil callback
106
- await mockCtx.waitUntil.mock.results[0].value;
107
- const result = await store.get("test-key");
108
- expect(result).not.toBeNull();
109
- expect(result.data).toEqual(data);
110
- expect(result.shouldRevalidate).toBe(false);
111
- });
112
- it("should set Cache-Control header with TTL", async () => {
113
- const mockCtx = createMockCtx();
114
- const store = new CFCacheStore({ ctx: mockCtx });
115
- const data = createTestData();
116
- await store.set("test-key", data, 60);
117
- await mockCtx.waitUntil.mock.results[0].value;
118
- // Uses caches.default by default
119
- const cache = mockCaches.default;
120
- const request = new Request("https://rsc-cache.internal.com/test-key");
121
- const response = await cache.match(request);
122
- expect(response?.headers.get("Cache-Control")).toBe("public, max-age=60");
123
- });
124
- it("should extend TTL with SWR window", async () => {
125
- const mockCtx = createMockCtx();
126
- const store = new CFCacheStore({ ctx: mockCtx });
127
- const data = createTestData();
128
- await store.set("test-key", data, 60, 300);
129
- await mockCtx.waitUntil.mock.results[0].value;
130
- const cache = mockCaches.default;
131
- const request = new Request("https://rsc-cache.internal.com/test-key");
132
- const response = await cache.match(request);
133
- expect(response?.headers.get("Cache-Control")).toBe("public, max-age=360");
134
- });
135
- it("should use store defaults for SWR if not provided", async () => {
136
- const mockCtx = createMockCtx();
137
- const store = new CFCacheStore({ ctx: mockCtx, defaults: { swr: 120 } });
138
- const data = createTestData();
139
- await store.set("test-key", data, 60);
140
- await mockCtx.waitUntil.mock.results[0].value;
141
- const cache = mockCaches.default;
142
- const request = new Request("https://rsc-cache.internal.com/test-key");
143
- const response = await cache.match(request);
144
- expect(response?.headers.get("Cache-Control")).toBe("public, max-age=180");
145
- });
146
- it("should use named cache when namespace is provided", async () => {
147
- const mockCtx = createMockCtx();
148
- const store = new CFCacheStore({ ctx: mockCtx, namespace: "custom-cache" });
149
- const data = createTestData();
150
- await store.set("test-key", data, 60);
151
- await mockCtx.waitUntil.mock.results[0].value;
152
- const cache = await mockCaches.open("custom-cache");
153
- const request = new Request("https://rsc-cache.internal.com/test-key");
154
- const response = await cache.match(request);
155
- expect(response?.headers.get("Cache-Control")).toBe("public, max-age=60");
156
- });
157
- it("should use waitUntil for non-blocking writes", async () => {
158
- const mockCtx = createMockCtx();
159
- const store = new CFCacheStore({ ctx: mockCtx });
160
- const data = createTestData();
161
- await store.set("test-key", data, 60);
162
- expect(mockCtx.waitUntil).toHaveBeenCalledTimes(1);
163
- expect(mockCtx.waitUntil).toHaveBeenCalledWith(expect.any(Promise));
164
- // Wait for the write to complete
165
- await mockCtx.waitUntil.mock.results[0].value;
166
- // Now the entry should be in cache
167
- const result = await store.get("test-key");
168
- expect(result).not.toBeNull();
169
- });
170
- });
171
- describe("staleness headers", () => {
172
- it("should set stale-at header based on TTL", async () => {
173
- vi.setSystemTime(new Date("2024-01-01T00:00:00Z"));
174
- const mockCtx = createMockCtx();
175
- const store = new CFCacheStore({ ctx: mockCtx });
176
- const data = createTestData();
177
- await store.set("test-key", data, 60);
178
- await mockCtx.waitUntil.mock.results[0].value;
179
- const cache = mockCaches.default;
180
- const request = new Request("https://rsc-cache.internal.com/test-key");
181
- const response = await cache.match(request);
182
- const staleAt = Number(response?.headers.get(CACHE_STALE_AT_HEADER));
183
- const expectedStaleAt = Date.now() + 60 * 1000;
184
- expect(staleAt).toBe(expectedStaleAt);
185
- });
186
- it("should set status header to HIT", async () => {
187
- const mockCtx = createMockCtx();
188
- const store = new CFCacheStore({ ctx: mockCtx });
189
- const data = createTestData();
190
- await store.set("test-key", data, 60);
191
- await mockCtx.waitUntil.mock.results[0].value;
192
- const cache = mockCaches.default;
193
- const request = new Request("https://rsc-cache.internal.com/test-key");
194
- const response = await cache.match(request);
195
- expect(response?.headers.get(CACHE_STATUS_HEADER)).toBe("HIT");
196
- });
197
- });
198
- describe("staleness detection and atomic revalidation", () => {
199
- it("should return shouldRevalidate=false for fresh entries", async () => {
200
- vi.setSystemTime(new Date("2024-01-01T00:00:00Z"));
201
- const mockCtx = createMockCtx();
202
- const store = new CFCacheStore({ ctx: mockCtx });
203
- const data = createTestData();
204
- await store.set("test-key", data, 60);
205
- await mockCtx.waitUntil.mock.results[0].value;
206
- // Still fresh
207
- vi.advanceTimersByTime(30 * 1000);
208
- const result = await store.get("test-key");
209
- expect(result?.shouldRevalidate).toBe(false);
210
- });
211
- it("should return shouldRevalidate=true and atomically mark REVALIDATING for stale entries", async () => {
212
- vi.setSystemTime(new Date("2024-01-01T00:00:00Z"));
213
- const mockCtx = createMockCtx();
214
- const store = new CFCacheStore({ ctx: mockCtx });
215
- const data = createTestData();
216
- await store.set("test-key", data, 60, 300);
217
- await mockCtx.waitUntil.mock.results[0].value;
218
- // Past TTL but within SWR window
219
- vi.advanceTimersByTime(120 * 1000);
220
- // First get should return shouldRevalidate=true and mark as REVALIDATING
221
- const result = await store.get("test-key");
222
- expect(result?.shouldRevalidate).toBe(true);
223
- // Verify the entry is now marked as REVALIDATING
224
- const cache = mockCaches.default;
225
- const request = new Request("https://rsc-cache.internal.com/" + encodeURIComponent("test-key"));
226
- const response = await cache.match(request);
227
- expect(response?.headers.get(CACHE_STATUS_HEADER)).toBe("REVALIDATING");
228
- });
229
- it("should return shouldRevalidate=false when already REVALIDATING", async () => {
230
- vi.setSystemTime(new Date("2024-01-01T00:00:00Z"));
231
- const mockCtx = createMockCtx();
232
- const store = new CFCacheStore({ ctx: mockCtx });
233
- const data = createTestData();
234
- await store.set("test-key", data, 60, 300);
235
- await mockCtx.waitUntil.mock.results[0].value;
236
- // Make it stale
237
- vi.advanceTimersByTime(120 * 1000);
238
- // First get - atomically marks as REVALIDATING
239
- const result1 = await store.get("test-key");
240
- expect(result1?.shouldRevalidate).toBe(true);
241
- // Second get - already REVALIDATING, should not trigger again
242
- const result2 = await store.get("test-key");
243
- expect(result2?.shouldRevalidate).toBe(false);
244
- });
245
- it("should prevent thundering herd with sequential requests", async () => {
246
- // Note: Real thundering herd prevention relies on CF Cache API's atomic semantics.
247
- // This test verifies sequential requests work correctly - first triggers revalidation,
248
- // subsequent ones see REVALIDATING status and don't trigger again.
249
- vi.setSystemTime(new Date("2024-01-01T00:00:00Z"));
250
- const mockCtx = createMockCtx();
251
- const store = new CFCacheStore({ ctx: mockCtx });
252
- const data = createTestData();
253
- await store.set("test-key", data, 60, 300);
254
- await mockCtx.waitUntil.mock.results[0].value;
255
- // Make it stale
256
- vi.advanceTimersByTime(120 * 1000);
257
- // Sequential requests - first triggers revalidation
258
- const result1 = await store.get("test-key");
259
- expect(result1?.shouldRevalidate).toBe(true);
260
- expect(result1?.data).toBeDefined();
261
- // Subsequent requests see REVALIDATING status
262
- const result2 = await store.get("test-key");
263
- expect(result2?.shouldRevalidate).toBe(false);
264
- expect(result2?.data).toBeDefined();
265
- const result3 = await store.get("test-key");
266
- expect(result3?.shouldRevalidate).toBe(false);
267
- expect(result3?.data).toBeDefined();
268
- });
269
- });
270
- describe("delete", () => {
271
- it("should delete existing entry", async () => {
272
- const mockCtx = createMockCtx();
273
- const store = new CFCacheStore({ ctx: mockCtx });
274
- const data = createTestData();
275
- await store.set("test-key", data, 60);
276
- await mockCtx.waitUntil.mock.results[0].value;
277
- const deleted = await store.delete("test-key");
278
- expect(deleted).toBe(true);
279
- const result = await store.get("test-key");
280
- expect(result).toBeNull();
281
- });
282
- it("should return false for non-existent entry", async () => {
283
- const store = new CFCacheStore({ ctx: createMockCtx() });
284
- const deleted = await store.delete("missing-key");
285
- expect(deleted).toBe(false);
286
- });
287
- });
288
- describe("key encoding", () => {
289
- it("should handle special characters in keys", async () => {
290
- const mockCtx = createMockCtx();
291
- const store = new CFCacheStore({ ctx: mockCtx });
292
- const data = createTestData();
293
- const key = "route:products/category=electronics&page=1";
294
- await store.set(key, data, 60);
295
- await mockCtx.waitUntil.mock.results[0].value;
296
- const result = await store.get(key);
297
- expect(result).not.toBeNull();
298
- expect(result.data).toEqual(data);
299
- });
300
- });
301
- describe("baseUrl configuration", () => {
302
- it("should use explicit baseUrl when provided", async () => {
303
- const mockCtx = createMockCtx();
304
- const store = new CFCacheStore({
305
- ctx: mockCtx,
306
- baseUrl: "https://custom.example.com/",
307
- });
308
- const data = createTestData();
309
- await store.set("custom-key", data, 60);
310
- await mockCtx.waitUntil.mock.results[0].value;
311
- // Verify round-trip works with custom baseUrl
312
- const result = await store.get("custom-key");
313
- expect(result).not.toBeNull();
314
- expect(result.data).toEqual(data);
315
- });
316
- it("should use fallback when no requestContext available", async () => {
317
- // Default behavior when getRequestContext returns null
318
- const mockCtx = createMockCtx();
319
- const store = new CFCacheStore({ ctx: mockCtx });
320
- const data = createTestData();
321
- await store.set("fallback-key", data, 60);
322
- await mockCtx.waitUntil.mock.results[0].value;
323
- // Verify round-trip works with fallback baseUrl
324
- const result = await store.get("fallback-key");
325
- expect(result).not.toBeNull();
326
- expect(result.data).toEqual(data);
327
- });
328
- });
329
- });
330
- //# sourceMappingURL=cf-cache-store.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cf-cache-store.test.js","sourceRoot":"","sources":["../../../../src/cache/cf/__tests__/cf-cache-store.test.ts"],"names":[],"mappings":"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"}
@@ -1,165 +0,0 @@
1
- declare global {
2
- interface CacheStorage {
3
- readonly default: Cache;
4
- }
5
- }
6
- /**
7
- * Cloudflare Edge Cache Store
8
- *
9
- * Production cache store using Cloudflare's Cache API.
10
- * Handles SWR atomically - get() checks staleness and marks REVALIDATING in one operation.
11
- *
12
- * Features:
13
- * - Extended TTL for SWR window (max-age = ttl + swr)
14
- * - Staleness via x-edge-cache-stale-at header
15
- * - Atomic REVALIDATING status for thundering herd prevention
16
- * - Non-blocking writes via waitUntil
17
- */
18
- import type { SegmentCacheStore, CachedEntryData, CacheDefaults, CacheGetResult } from "../types.js";
19
- import { type RequestContext } from "../../server/request-context.js";
20
- /** Header storing timestamp when entry becomes stale */
21
- export declare const CACHE_STALE_AT_HEADER = "x-edge-cache-stale-at";
22
- /** Header storing cache status: HIT | REVALIDATING */
23
- export declare const CACHE_STATUS_HEADER = "x-edge-cache-status";
24
- /**
25
- * Maximum age in seconds for REVALIDATING status before allowing new revalidation.
26
- * After this period, a stale entry in REVALIDATING status will trigger revalidation again.
27
- * @internal
28
- */
29
- export declare const MAX_REVALIDATION_INTERVAL = 30;
30
- /**
31
- * Cloudflare Workers ExecutionContext (subset we need)
32
- */
33
- export interface ExecutionContext {
34
- waitUntil(promise: Promise<any>): void;
35
- passThroughOnException(): void;
36
- }
37
- export interface CFCacheStoreOptions<TEnv = unknown> {
38
- /**
39
- * Cache namespace. If not provided, uses caches.default (recommended).
40
- * Only set this if you need isolated cache storage.
41
- */
42
- namespace?: string;
43
- /**
44
- * Base URL for cache keys.
45
- *
46
- * If not provided, derives from request hostname via requestContext:
47
- * - Production domains → uses `https://{hostname}/`
48
- * - Dev/preview (localhost, workers.dev, pages.dev) → uses internal fallback URL
49
- */
50
- baseUrl?: string;
51
- /** Default cache options */
52
- defaults?: CacheDefaults;
53
- /**
54
- * Cloudflare ExecutionContext for non-blocking cache writes.
55
- * Pass the `ctx` from your worker's fetch handler.
56
- *
57
- * @example
58
- * ```typescript
59
- * new CFCacheStore({ ctx: env.ctx })
60
- * ```
61
- */
62
- ctx: ExecutionContext;
63
- /**
64
- * Cache version string override. When this changes, all cached entries are
65
- * effectively invalidated (new keys won't match old entries).
66
- *
67
- * Defaults to the auto-generated VERSION from `rsc-router:version` virtual module.
68
- * Only set this if you need a custom versioning strategy.
69
- */
70
- version?: string;
71
- /**
72
- * Custom key generator applied to all cache operations.
73
- * Receives the full RequestContext (including env) and the default-generated key.
74
- * Return value becomes the final cache key (unless route overrides with `key` option).
75
- *
76
- * @example Using headers for user segmentation
77
- * ```typescript
78
- * keyGenerator: (ctx, defaultKey) => {
79
- * const segment = ctx.request.headers.get('x-user-segment') || 'default';
80
- * return `${segment}:${defaultKey}`;
81
- * }
82
- * ```
83
- *
84
- * @example Using env bindings for multi-region
85
- * ```typescript
86
- * keyGenerator: (ctx, defaultKey) => {
87
- * const region = ctx.env.REGION || 'us';
88
- * return `${region}:${defaultKey}`;
89
- * }
90
- * ```
91
- *
92
- * @example Using cookies for locale-aware caching
93
- * ```typescript
94
- * keyGenerator: (ctx, defaultKey) => {
95
- * const locale = ctx.cookie('locale') || 'en';
96
- * return `${locale}:${defaultKey}`;
97
- * }
98
- * ```
99
- */
100
- keyGenerator?: (ctx: RequestContext<TEnv>, defaultKey: string) => string | Promise<string>;
101
- }
102
- /**
103
- * Cache status values for the x-edge-cache-status header.
104
- * @internal
105
- */
106
- export type CacheStatus = "HIT" | "REVALIDATING";
107
- export declare class CFCacheStore<TEnv = unknown> implements SegmentCacheStore<TEnv> {
108
- readonly defaults?: CacheDefaults;
109
- readonly keyGenerator?: (ctx: RequestContext<TEnv>, defaultKey: string) => string | Promise<string>;
110
- private readonly namespace?;
111
- private readonly baseUrl;
112
- private readonly waitUntil?;
113
- private readonly version?;
114
- constructor(options: CFCacheStoreOptions<TEnv>);
115
- /**
116
- * Derive base URL from request hostname via requestContext.
117
- * Uses internal fallback for dev/preview environments.
118
- * @internal
119
- */
120
- private deriveBaseUrl;
121
- /**
122
- * Get the cache instance - uses caches.default unless namespace is specified.
123
- * @internal
124
- */
125
- private getCache;
126
- /**
127
- * Get cached entry data by key.
128
- *
129
- * Handles SWR atomically:
130
- * - If stale and not already revalidating, marks as REVALIDATING and returns shouldRevalidate: true
131
- * - If already REVALIDATING (and recent), returns shouldRevalidate: false
132
- * - If fresh, returns shouldRevalidate: false
133
- *
134
- * The atomic mark prevents thundering herd - only first request triggers revalidation.
135
- */
136
- get(key: string): Promise<CacheGetResult | null>;
137
- /**
138
- * Store entry data with TTL and optional SWR window.
139
- * Uses waitUntil for non-blocking write when available.
140
- */
141
- set(key: string, data: CachedEntryData, ttl: number, swr?: number): Promise<void>;
142
- /**
143
- * Delete a cached entry
144
- */
145
- delete(key: string): Promise<boolean>;
146
- /**
147
- * Get a cached Response by key (for document-level caching).
148
- * Returns the response and whether it should be revalidated (SWR).
149
- */
150
- getResponse(key: string): Promise<{
151
- response: Response;
152
- shouldRevalidate: boolean;
153
- } | null>;
154
- /**
155
- * Store a Response with TTL and optional SWR window (for document-level caching).
156
- */
157
- putResponse(key: string, response: Response, ttl: number, swr?: number): Promise<void>;
158
- /**
159
- * Convert string key to Request object for CF Cache API.
160
- * Includes version in URL if specified (for cache invalidation on code changes).
161
- * @internal
162
- */
163
- private keyToRequest;
164
- }
165
- //# sourceMappingURL=cf-cache-store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cf-cache-store.d.ts","sourceRoot":"","sources":["../../../src/cache/cf/cf-cache-store.ts"],"names":[],"mappings":"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"}