@rangojs/router 0.0.0-experimental.f2337aef → 0.0.0-experimental.f2d1a2f1

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