@rangojs/router 0.0.0-experimental.9c87b9aa → 0.0.0-experimental.9eb4192e

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 (956) hide show
  1. package/README.md +126 -38
  2. package/dist/bin/rango.js +130 -47
  3. package/dist/vite/index.js +1537 -505
  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/handler-use/SKILL.md +362 -0
  8. package/skills/hooks/SKILL.md +28 -20
  9. package/skills/intercept/SKILL.md +20 -0
  10. package/skills/layout/SKILL.md +22 -0
  11. package/skills/links/SKILL.md +91 -17
  12. package/skills/loader/SKILL.md +36 -3
  13. package/skills/middleware/SKILL.md +34 -3
  14. package/skills/migrate-nextjs/SKILL.md +560 -0
  15. package/skills/migrate-react-router/SKILL.md +765 -0
  16. package/skills/parallel/SKILL.md +59 -0
  17. package/skills/prerender/SKILL.md +110 -68
  18. package/skills/rango/SKILL.md +24 -22
  19. package/skills/response-routes/SKILL.md +8 -0
  20. package/skills/route/SKILL.md +24 -0
  21. package/skills/router-setup/SKILL.md +87 -2
  22. package/skills/streams-and-websockets/SKILL.md +283 -0
  23. package/skills/typesafety/SKILL.md +3 -1
  24. package/src/__internal.ts +1 -1
  25. package/src/browser/app-shell.ts +52 -0
  26. package/src/browser/app-version.ts +14 -0
  27. package/src/browser/navigation-bridge.ts +87 -6
  28. package/src/browser/navigation-client.ts +128 -53
  29. package/src/browser/navigation-store.ts +68 -9
  30. package/src/browser/partial-update.ts +60 -7
  31. package/src/browser/prefetch/cache.ts +129 -21
  32. package/src/browser/prefetch/fetch.ts +156 -18
  33. package/src/browser/prefetch/queue.ts +36 -5
  34. package/src/browser/rango-state.ts +53 -13
  35. package/src/browser/react/Link.tsx +72 -8
  36. package/src/browser/react/NavigationProvider.tsx +61 -13
  37. package/src/browser/react/context.ts +7 -2
  38. package/src/browser/react/use-handle.ts +9 -58
  39. package/src/browser/react/use-navigation.ts +22 -2
  40. package/src/browser/react/use-params.ts +11 -1
  41. package/src/browser/react/use-router.ts +29 -9
  42. package/src/browser/rsc-router.tsx +60 -9
  43. package/src/browser/scroll-restoration.ts +10 -8
  44. package/src/browser/segment-reconciler.ts +36 -14
  45. package/src/browser/server-action-bridge.ts +8 -6
  46. package/src/browser/types.ts +40 -5
  47. package/src/build/generate-manifest.ts +6 -6
  48. package/src/build/generate-route-types.ts +3 -0
  49. package/src/build/route-trie.ts +50 -24
  50. package/src/build/route-types/include-resolution.ts +8 -1
  51. package/src/build/route-types/router-processing.ts +211 -72
  52. package/src/build/route-types/scan-filter.ts +8 -1
  53. package/src/cache/cf/cf-cache-store.ts +5 -7
  54. package/src/client.tsx +84 -230
  55. package/src/handle.ts +40 -0
  56. package/src/index.rsc.ts +6 -1
  57. package/src/index.ts +49 -6
  58. package/src/outlet-context.ts +1 -1
  59. package/src/prerender/store.ts +5 -4
  60. package/src/prerender.ts +138 -77
  61. package/src/response-utils.ts +28 -0
  62. package/src/reverse.ts +27 -2
  63. package/src/route-definition/dsl-helpers.ts +210 -35
  64. package/src/route-definition/helpers-types.ts +61 -14
  65. package/src/route-definition/index.ts +3 -0
  66. package/src/route-definition/redirect.ts +9 -1
  67. package/src/route-definition/resolve-handler-use.ts +155 -0
  68. package/src/route-types.ts +18 -0
  69. package/src/router/content-negotiation.ts +100 -1
  70. package/src/router/handler-context.ts +70 -17
  71. package/src/router/intercept-resolution.ts +9 -4
  72. package/src/router/lazy-includes.ts +6 -6
  73. package/src/router/loader-resolution.ts +153 -21
  74. package/src/router/manifest.ts +22 -13
  75. package/src/router/match-api.ts +127 -192
  76. package/src/router/match-middleware/cache-lookup.ts +28 -8
  77. package/src/router/match-middleware/segment-resolution.ts +53 -0
  78. package/src/router/match-result.ts +82 -4
  79. package/src/router/middleware-types.ts +2 -28
  80. package/src/router/middleware.ts +32 -7
  81. package/src/router/navigation-snapshot.ts +182 -0
  82. package/src/router/pattern-matching.ts +60 -9
  83. package/src/router/prerender-match.ts +110 -10
  84. package/src/router/preview-match.ts +30 -102
  85. package/src/router/request-classification.ts +310 -0
  86. package/src/router/route-snapshot.ts +245 -0
  87. package/src/router/router-interfaces.ts +36 -4
  88. package/src/router/router-options.ts +37 -11
  89. package/src/router/segment-resolution/fresh.ts +70 -5
  90. package/src/router/segment-resolution/helpers.ts +29 -24
  91. package/src/router/segment-resolution/revalidation.ts +87 -9
  92. package/src/router/trie-matching.ts +10 -4
  93. package/src/router/types.ts +1 -0
  94. package/src/router/url-params.ts +49 -0
  95. package/src/router.ts +55 -7
  96. package/src/rsc/handler.ts +478 -374
  97. package/src/rsc/helpers.ts +69 -41
  98. package/src/rsc/loader-fetch.ts +23 -3
  99. package/src/rsc/manifest-init.ts +5 -1
  100. package/src/rsc/progressive-enhancement.ts +16 -2
  101. package/src/rsc/response-route-handler.ts +14 -1
  102. package/src/rsc/rsc-rendering.ts +17 -1
  103. package/src/rsc/server-action.ts +10 -0
  104. package/src/rsc/ssr-setup.ts +2 -2
  105. package/src/rsc/types.ts +9 -1
  106. package/src/segment-content-promise.ts +67 -0
  107. package/src/segment-loader-promise.ts +122 -0
  108. package/src/segment-system.tsx +11 -61
  109. package/src/server/context.ts +65 -5
  110. package/src/server/handle-store.ts +19 -0
  111. package/src/server/loader-registry.ts +9 -8
  112. package/src/server/request-context.ts +143 -49
  113. package/src/ssr/index.tsx +3 -0
  114. package/src/static-handler.ts +18 -6
  115. package/src/types/cache-types.ts +4 -4
  116. package/src/types/handler-context.ts +20 -46
  117. package/src/types/loader-types.ts +37 -11
  118. package/src/types/request-scope.ts +126 -0
  119. package/src/types/route-entry.ts +12 -1
  120. package/src/types/segments.ts +1 -1
  121. package/src/urls/include-helper.ts +24 -14
  122. package/src/urls/path-helper-types.ts +39 -6
  123. package/src/urls/path-helper.ts +47 -12
  124. package/src/urls/pattern-types.ts +12 -0
  125. package/src/urls/response-types.ts +18 -16
  126. package/src/use-loader.tsx +77 -5
  127. package/src/vite/debug.ts +140 -0
  128. package/src/vite/discovery/bundle-postprocess.ts +30 -33
  129. package/src/vite/discovery/discover-routers.ts +36 -4
  130. package/src/vite/discovery/prerender-collection.ts +175 -74
  131. package/src/vite/discovery/state.ts +13 -4
  132. package/src/vite/index.ts +4 -0
  133. package/src/vite/plugin-types.ts +60 -5
  134. package/src/vite/plugins/cjs-to-esm.ts +11 -0
  135. package/src/vite/plugins/client-ref-dedup.ts +21 -0
  136. package/src/vite/plugins/client-ref-hashing.ts +16 -4
  137. package/src/vite/plugins/cloudflare-protocol-loader-hook.d.mts +23 -0
  138. package/src/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  139. package/src/vite/plugins/cloudflare-protocol-stub.ts +214 -0
  140. package/src/vite/plugins/expose-action-id.ts +52 -28
  141. package/src/vite/plugins/expose-id-utils.ts +12 -0
  142. package/src/vite/plugins/expose-ids/handler-transform.ts +30 -0
  143. package/src/vite/plugins/expose-ids/router-transform.ts +20 -3
  144. package/src/vite/plugins/expose-internal-ids.ts +563 -316
  145. package/src/vite/plugins/performance-tracks.ts +96 -0
  146. package/src/vite/plugins/refresh-cmd.ts +88 -26
  147. package/src/vite/plugins/use-cache-transform.ts +57 -43
  148. package/src/vite/rango.ts +63 -11
  149. package/src/vite/router-discovery.ts +389 -59
  150. package/src/vite/utils/banner.ts +1 -1
  151. package/src/vite/utils/package-resolution.ts +41 -1
  152. package/src/vite/utils/prerender-utils.ts +37 -5
  153. package/src/vite/utils/shared-utils.ts +3 -2
  154. package/dist/__internal.d.ts +0 -83
  155. package/dist/__internal.d.ts.map +0 -1
  156. package/dist/__internal.js +0 -19
  157. package/dist/__internal.js.map +0 -1
  158. package/dist/__mocks__/version.d.ts +0 -7
  159. package/dist/__mocks__/version.d.ts.map +0 -1
  160. package/dist/__mocks__/version.js +0 -7
  161. package/dist/__mocks__/version.js.map +0 -1
  162. package/dist/__tests__/client-href.test.d.ts +0 -2
  163. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  164. package/dist/__tests__/client-href.test.js +0 -74
  165. package/dist/__tests__/client-href.test.js.map +0 -1
  166. package/dist/__tests__/component-utils.test.d.ts +0 -2
  167. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  168. package/dist/__tests__/component-utils.test.js +0 -51
  169. package/dist/__tests__/component-utils.test.js.map +0 -1
  170. package/dist/__tests__/event-controller.test.d.ts +0 -2
  171. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  172. package/dist/__tests__/event-controller.test.js +0 -538
  173. package/dist/__tests__/event-controller.test.js.map +0 -1
  174. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  175. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  176. package/dist/__tests__/helpers/route-tree.js +0 -374
  177. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  178. package/dist/__tests__/match-result.test.d.ts +0 -2
  179. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  180. package/dist/__tests__/match-result.test.js +0 -154
  181. package/dist/__tests__/match-result.test.js.map +0 -1
  182. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  183. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  184. package/dist/__tests__/navigation-store.test.js +0 -440
  185. package/dist/__tests__/navigation-store.test.js.map +0 -1
  186. package/dist/__tests__/partial-update.test.d.ts +0 -2
  187. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  188. package/dist/__tests__/partial-update.test.js +0 -1009
  189. package/dist/__tests__/partial-update.test.js.map +0 -1
  190. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  191. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  192. package/dist/__tests__/reverse-types.test.js +0 -656
  193. package/dist/__tests__/reverse-types.test.js.map +0 -1
  194. package/dist/__tests__/route-definition.test.d.ts +0 -2
  195. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  196. package/dist/__tests__/route-definition.test.js +0 -55
  197. package/dist/__tests__/route-definition.test.js.map +0 -1
  198. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  199. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  200. package/dist/__tests__/router-helpers.test.js +0 -377
  201. package/dist/__tests__/router-helpers.test.js.map +0 -1
  202. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  203. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  204. package/dist/__tests__/router-integration-2.test.js +0 -426
  205. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  206. package/dist/__tests__/router-integration.test.d.ts +0 -2
  207. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  208. package/dist/__tests__/router-integration.test.js +0 -1051
  209. package/dist/__tests__/router-integration.test.js.map +0 -1
  210. package/dist/__tests__/search-params.test.d.ts +0 -5
  211. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  212. package/dist/__tests__/search-params.test.js +0 -306
  213. package/dist/__tests__/search-params.test.js.map +0 -1
  214. package/dist/__tests__/segment-system.test.d.ts +0 -2
  215. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  216. package/dist/__tests__/segment-system.test.js +0 -627
  217. package/dist/__tests__/segment-system.test.js.map +0 -1
  218. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  219. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  220. package/dist/__tests__/static-handler-types.test.js +0 -63
  221. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  222. package/dist/__tests__/urls.test.d.ts +0 -2
  223. package/dist/__tests__/urls.test.d.ts.map +0 -1
  224. package/dist/__tests__/urls.test.js +0 -421
  225. package/dist/__tests__/urls.test.js.map +0 -1
  226. package/dist/__tests__/use-mount.test.d.ts +0 -2
  227. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  228. package/dist/__tests__/use-mount.test.js +0 -35
  229. package/dist/__tests__/use-mount.test.js.map +0 -1
  230. package/dist/bin/rango.d.ts +0 -2
  231. package/dist/bin/rango.d.ts.map +0 -1
  232. package/dist/bin/rango.js.map +0 -1
  233. package/dist/browser/event-controller.d.ts +0 -191
  234. package/dist/browser/event-controller.d.ts.map +0 -1
  235. package/dist/browser/event-controller.js +0 -559
  236. package/dist/browser/event-controller.js.map +0 -1
  237. package/dist/browser/index.d.ts +0 -2
  238. package/dist/browser/index.d.ts.map +0 -1
  239. package/dist/browser/index.js +0 -14
  240. package/dist/browser/index.js.map +0 -1
  241. package/dist/browser/link-interceptor.d.ts +0 -38
  242. package/dist/browser/link-interceptor.d.ts.map +0 -1
  243. package/dist/browser/link-interceptor.js +0 -99
  244. package/dist/browser/link-interceptor.js.map +0 -1
  245. package/dist/browser/logging.d.ts +0 -10
  246. package/dist/browser/logging.d.ts.map +0 -1
  247. package/dist/browser/logging.js +0 -29
  248. package/dist/browser/logging.js.map +0 -1
  249. package/dist/browser/lru-cache.d.ts +0 -17
  250. package/dist/browser/lru-cache.d.ts.map +0 -1
  251. package/dist/browser/lru-cache.js +0 -50
  252. package/dist/browser/lru-cache.js.map +0 -1
  253. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  254. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  255. package/dist/browser/merge-segment-loaders.js +0 -102
  256. package/dist/browser/merge-segment-loaders.js.map +0 -1
  257. package/dist/browser/navigation-bridge.d.ts +0 -102
  258. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  259. package/dist/browser/navigation-bridge.js +0 -708
  260. package/dist/browser/navigation-bridge.js.map +0 -1
  261. package/dist/browser/navigation-client.d.ts +0 -25
  262. package/dist/browser/navigation-client.d.ts.map +0 -1
  263. package/dist/browser/navigation-client.js +0 -157
  264. package/dist/browser/navigation-client.js.map +0 -1
  265. package/dist/browser/navigation-store.d.ts +0 -101
  266. package/dist/browser/navigation-store.d.ts.map +0 -1
  267. package/dist/browser/navigation-store.js +0 -625
  268. package/dist/browser/navigation-store.js.map +0 -1
  269. package/dist/browser/partial-update.d.ts +0 -75
  270. package/dist/browser/partial-update.d.ts.map +0 -1
  271. package/dist/browser/partial-update.js +0 -426
  272. package/dist/browser/partial-update.js.map +0 -1
  273. package/dist/browser/react/Link.d.ts +0 -86
  274. package/dist/browser/react/Link.d.ts.map +0 -1
  275. package/dist/browser/react/Link.js +0 -128
  276. package/dist/browser/react/Link.js.map +0 -1
  277. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  278. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  279. package/dist/browser/react/NavigationProvider.js +0 -216
  280. package/dist/browser/react/NavigationProvider.js.map +0 -1
  281. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  282. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  283. package/dist/browser/react/ScrollRestoration.js +0 -57
  284. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  285. package/dist/browser/react/context.d.ts +0 -46
  286. package/dist/browser/react/context.d.ts.map +0 -1
  287. package/dist/browser/react/context.js +0 -10
  288. package/dist/browser/react/context.js.map +0 -1
  289. package/dist/browser/react/index.d.ts +0 -11
  290. package/dist/browser/react/index.d.ts.map +0 -1
  291. package/dist/browser/react/index.js +0 -22
  292. package/dist/browser/react/index.js.map +0 -1
  293. package/dist/browser/react/location-state-shared.d.ts +0 -63
  294. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  295. package/dist/browser/react/location-state-shared.js +0 -81
  296. package/dist/browser/react/location-state-shared.js.map +0 -1
  297. package/dist/browser/react/location-state.d.ts +0 -23
  298. package/dist/browser/react/location-state.d.ts.map +0 -1
  299. package/dist/browser/react/location-state.js +0 -29
  300. package/dist/browser/react/location-state.js.map +0 -1
  301. package/dist/browser/react/mount-context.d.ts +0 -24
  302. package/dist/browser/react/mount-context.d.ts.map +0 -1
  303. package/dist/browser/react/mount-context.js +0 -24
  304. package/dist/browser/react/mount-context.js.map +0 -1
  305. package/dist/browser/react/use-action.d.ts +0 -64
  306. package/dist/browser/react/use-action.d.ts.map +0 -1
  307. package/dist/browser/react/use-action.js +0 -134
  308. package/dist/browser/react/use-action.js.map +0 -1
  309. package/dist/browser/react/use-client-cache.d.ts +0 -41
  310. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  311. package/dist/browser/react/use-client-cache.js +0 -39
  312. package/dist/browser/react/use-client-cache.js.map +0 -1
  313. package/dist/browser/react/use-handle.d.ts +0 -31
  314. package/dist/browser/react/use-handle.d.ts.map +0 -1
  315. package/dist/browser/react/use-handle.js +0 -144
  316. package/dist/browser/react/use-handle.js.map +0 -1
  317. package/dist/browser/react/use-href.d.ts +0 -33
  318. package/dist/browser/react/use-href.d.ts.map +0 -1
  319. package/dist/browser/react/use-href.js +0 -39
  320. package/dist/browser/react/use-href.js.map +0 -1
  321. package/dist/browser/react/use-link-status.d.ts +0 -37
  322. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  323. package/dist/browser/react/use-link-status.js +0 -99
  324. package/dist/browser/react/use-link-status.js.map +0 -1
  325. package/dist/browser/react/use-mount.d.ts +0 -25
  326. package/dist/browser/react/use-mount.d.ts.map +0 -1
  327. package/dist/browser/react/use-mount.js +0 -30
  328. package/dist/browser/react/use-mount.js.map +0 -1
  329. package/dist/browser/react/use-navigation.d.ts +0 -27
  330. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  331. package/dist/browser/react/use-navigation.js +0 -87
  332. package/dist/browser/react/use-navigation.js.map +0 -1
  333. package/dist/browser/react/use-segments.d.ts +0 -38
  334. package/dist/browser/react/use-segments.d.ts.map +0 -1
  335. package/dist/browser/react/use-segments.js +0 -130
  336. package/dist/browser/react/use-segments.js.map +0 -1
  337. package/dist/browser/request-controller.d.ts +0 -26
  338. package/dist/browser/request-controller.d.ts.map +0 -1
  339. package/dist/browser/request-controller.js +0 -147
  340. package/dist/browser/request-controller.js.map +0 -1
  341. package/dist/browser/rsc-router.d.ts +0 -129
  342. package/dist/browser/rsc-router.d.ts.map +0 -1
  343. package/dist/browser/rsc-router.js +0 -195
  344. package/dist/browser/rsc-router.js.map +0 -1
  345. package/dist/browser/scroll-restoration.d.ts +0 -93
  346. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  347. package/dist/browser/scroll-restoration.js +0 -321
  348. package/dist/browser/scroll-restoration.js.map +0 -1
  349. package/dist/browser/segment-structure-assert.d.ts +0 -17
  350. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  351. package/dist/browser/segment-structure-assert.js +0 -59
  352. package/dist/browser/segment-structure-assert.js.map +0 -1
  353. package/dist/browser/server-action-bridge.d.ts +0 -26
  354. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  355. package/dist/browser/server-action-bridge.js +0 -668
  356. package/dist/browser/server-action-bridge.js.map +0 -1
  357. package/dist/browser/shallow.d.ts +0 -12
  358. package/dist/browser/shallow.d.ts.map +0 -1
  359. package/dist/browser/shallow.js +0 -34
  360. package/dist/browser/shallow.js.map +0 -1
  361. package/dist/browser/types.d.ts +0 -369
  362. package/dist/browser/types.d.ts.map +0 -1
  363. package/dist/browser/types.js +0 -2
  364. package/dist/browser/types.js.map +0 -1
  365. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  366. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  367. package/dist/build/__tests__/generate-cli.test.js +0 -237
  368. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  369. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  370. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  371. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  372. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  373. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  374. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  375. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  376. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  377. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  378. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  379. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  380. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  381. package/dist/build/generate-manifest.d.ts +0 -81
  382. package/dist/build/generate-manifest.d.ts.map +0 -1
  383. package/dist/build/generate-manifest.js +0 -276
  384. package/dist/build/generate-manifest.js.map +0 -1
  385. package/dist/build/generate-route-types.d.ts +0 -115
  386. package/dist/build/generate-route-types.d.ts.map +0 -1
  387. package/dist/build/generate-route-types.js +0 -740
  388. package/dist/build/generate-route-types.js.map +0 -1
  389. package/dist/build/index.d.ts +0 -21
  390. package/dist/build/index.d.ts.map +0 -1
  391. package/dist/build/index.js +0 -21
  392. package/dist/build/index.js.map +0 -1
  393. package/dist/build/route-trie.d.ts +0 -71
  394. package/dist/build/route-trie.d.ts.map +0 -1
  395. package/dist/build/route-trie.js +0 -175
  396. package/dist/build/route-trie.js.map +0 -1
  397. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  398. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  399. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  400. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  401. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  402. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  403. package/dist/cache/__tests__/document-cache.test.js +0 -345
  404. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  405. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  406. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  407. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  408. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  409. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  410. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  411. package/dist/cache/__tests__/memory-store.test.js +0 -367
  412. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  413. package/dist/cache/cache-scope.d.ts +0 -102
  414. package/dist/cache/cache-scope.d.ts.map +0 -1
  415. package/dist/cache/cache-scope.js +0 -440
  416. package/dist/cache/cache-scope.js.map +0 -1
  417. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  418. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  419. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  420. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  421. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  422. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  423. package/dist/cache/cf/cf-cache-store.js +0 -242
  424. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  425. package/dist/cache/cf/index.d.ts +0 -14
  426. package/dist/cache/cf/index.d.ts.map +0 -1
  427. package/dist/cache/cf/index.js +0 -17
  428. package/dist/cache/cf/index.js.map +0 -1
  429. package/dist/cache/document-cache.d.ts +0 -64
  430. package/dist/cache/document-cache.d.ts.map +0 -1
  431. package/dist/cache/document-cache.js +0 -228
  432. package/dist/cache/document-cache.js.map +0 -1
  433. package/dist/cache/index.d.ts +0 -19
  434. package/dist/cache/index.d.ts.map +0 -1
  435. package/dist/cache/index.js +0 -21
  436. package/dist/cache/index.js.map +0 -1
  437. package/dist/cache/memory-segment-store.d.ts +0 -110
  438. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  439. package/dist/cache/memory-segment-store.js +0 -117
  440. package/dist/cache/memory-segment-store.js.map +0 -1
  441. package/dist/cache/memory-store.d.ts +0 -41
  442. package/dist/cache/memory-store.d.ts.map +0 -1
  443. package/dist/cache/memory-store.js +0 -191
  444. package/dist/cache/memory-store.js.map +0 -1
  445. package/dist/cache/types.d.ts +0 -317
  446. package/dist/cache/types.d.ts.map +0 -1
  447. package/dist/cache/types.js +0 -12
  448. package/dist/cache/types.js.map +0 -1
  449. package/dist/client.d.ts +0 -248
  450. package/dist/client.d.ts.map +0 -1
  451. package/dist/client.js +0 -367
  452. package/dist/client.js.map +0 -1
  453. package/dist/client.rsc.d.ts +0 -26
  454. package/dist/client.rsc.d.ts.map +0 -1
  455. package/dist/client.rsc.js +0 -46
  456. package/dist/client.rsc.js.map +0 -1
  457. package/dist/component-utils.d.ts +0 -36
  458. package/dist/component-utils.d.ts.map +0 -1
  459. package/dist/component-utils.js +0 -61
  460. package/dist/component-utils.js.map +0 -1
  461. package/dist/components/DefaultDocument.d.ts +0 -13
  462. package/dist/components/DefaultDocument.d.ts.map +0 -1
  463. package/dist/components/DefaultDocument.js +0 -15
  464. package/dist/components/DefaultDocument.js.map +0 -1
  465. package/dist/debug.d.ts +0 -58
  466. package/dist/debug.d.ts.map +0 -1
  467. package/dist/debug.js +0 -157
  468. package/dist/debug.js.map +0 -1
  469. package/dist/default-error-boundary.d.ts +0 -11
  470. package/dist/default-error-boundary.d.ts.map +0 -1
  471. package/dist/default-error-boundary.js +0 -45
  472. package/dist/default-error-boundary.js.map +0 -1
  473. package/dist/deps/browser.d.ts +0 -2
  474. package/dist/deps/browser.d.ts.map +0 -1
  475. package/dist/deps/browser.js +0 -3
  476. package/dist/deps/browser.js.map +0 -1
  477. package/dist/deps/html-stream-client.d.ts +0 -2
  478. package/dist/deps/html-stream-client.d.ts.map +0 -1
  479. package/dist/deps/html-stream-client.js +0 -3
  480. package/dist/deps/html-stream-client.js.map +0 -1
  481. package/dist/deps/html-stream-server.d.ts +0 -2
  482. package/dist/deps/html-stream-server.d.ts.map +0 -1
  483. package/dist/deps/html-stream-server.js +0 -3
  484. package/dist/deps/html-stream-server.js.map +0 -1
  485. package/dist/deps/rsc.d.ts +0 -2
  486. package/dist/deps/rsc.d.ts.map +0 -1
  487. package/dist/deps/rsc.js +0 -4
  488. package/dist/deps/rsc.js.map +0 -1
  489. package/dist/deps/ssr.d.ts +0 -2
  490. package/dist/deps/ssr.d.ts.map +0 -1
  491. package/dist/deps/ssr.js +0 -3
  492. package/dist/deps/ssr.js.map +0 -1
  493. package/dist/errors.d.ts +0 -174
  494. package/dist/errors.d.ts.map +0 -1
  495. package/dist/errors.js +0 -241
  496. package/dist/errors.js.map +0 -1
  497. package/dist/handle.d.ts +0 -78
  498. package/dist/handle.d.ts.map +0 -1
  499. package/dist/handle.js +0 -82
  500. package/dist/handle.js.map +0 -1
  501. package/dist/handles/MetaTags.d.ts +0 -14
  502. package/dist/handles/MetaTags.d.ts.map +0 -1
  503. package/dist/handles/MetaTags.js +0 -136
  504. package/dist/handles/MetaTags.js.map +0 -1
  505. package/dist/handles/index.d.ts +0 -6
  506. package/dist/handles/index.d.ts.map +0 -1
  507. package/dist/handles/index.js +0 -6
  508. package/dist/handles/index.js.map +0 -1
  509. package/dist/handles/meta.d.ts +0 -39
  510. package/dist/handles/meta.d.ts.map +0 -1
  511. package/dist/handles/meta.js +0 -202
  512. package/dist/handles/meta.js.map +0 -1
  513. package/dist/host/__tests__/errors.test.d.ts +0 -2
  514. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  515. package/dist/host/__tests__/errors.test.js +0 -76
  516. package/dist/host/__tests__/errors.test.js.map +0 -1
  517. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  518. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  519. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  520. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  521. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  522. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  523. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  524. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  525. package/dist/host/__tests__/router.test.d.ts +0 -2
  526. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  527. package/dist/host/__tests__/router.test.js +0 -241
  528. package/dist/host/__tests__/router.test.js.map +0 -1
  529. package/dist/host/__tests__/testing.test.d.ts +0 -2
  530. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  531. package/dist/host/__tests__/testing.test.js +0 -64
  532. package/dist/host/__tests__/testing.test.js.map +0 -1
  533. package/dist/host/__tests__/utils.test.d.ts +0 -2
  534. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  535. package/dist/host/__tests__/utils.test.js +0 -29
  536. package/dist/host/__tests__/utils.test.js.map +0 -1
  537. package/dist/host/cookie-handler.d.ts +0 -34
  538. package/dist/host/cookie-handler.d.ts.map +0 -1
  539. package/dist/host/cookie-handler.js +0 -124
  540. package/dist/host/cookie-handler.js.map +0 -1
  541. package/dist/host/errors.d.ts +0 -56
  542. package/dist/host/errors.d.ts.map +0 -1
  543. package/dist/host/errors.js +0 -79
  544. package/dist/host/errors.js.map +0 -1
  545. package/dist/host/index.d.ts +0 -29
  546. package/dist/host/index.d.ts.map +0 -1
  547. package/dist/host/index.js +0 -32
  548. package/dist/host/index.js.map +0 -1
  549. package/dist/host/pattern-matcher.d.ts +0 -36
  550. package/dist/host/pattern-matcher.d.ts.map +0 -1
  551. package/dist/host/pattern-matcher.js +0 -172
  552. package/dist/host/pattern-matcher.js.map +0 -1
  553. package/dist/host/router.d.ts +0 -26
  554. package/dist/host/router.d.ts.map +0 -1
  555. package/dist/host/router.js +0 -218
  556. package/dist/host/router.js.map +0 -1
  557. package/dist/host/testing.d.ts +0 -36
  558. package/dist/host/testing.d.ts.map +0 -1
  559. package/dist/host/testing.js +0 -55
  560. package/dist/host/testing.js.map +0 -1
  561. package/dist/host/types.d.ts +0 -115
  562. package/dist/host/types.d.ts.map +0 -1
  563. package/dist/host/types.js +0 -7
  564. package/dist/host/types.js.map +0 -1
  565. package/dist/host/utils.d.ts +0 -21
  566. package/dist/host/utils.d.ts.map +0 -1
  567. package/dist/host/utils.js +0 -23
  568. package/dist/host/utils.js.map +0 -1
  569. package/dist/href-client.d.ts +0 -131
  570. package/dist/href-client.d.ts.map +0 -1
  571. package/dist/href-client.js +0 -64
  572. package/dist/href-client.js.map +0 -1
  573. package/dist/href-context.d.ts +0 -29
  574. package/dist/href-context.d.ts.map +0 -1
  575. package/dist/href-context.js +0 -21
  576. package/dist/href-context.js.map +0 -1
  577. package/dist/index.d.ts +0 -73
  578. package/dist/index.d.ts.map +0 -1
  579. package/dist/index.js +0 -91
  580. package/dist/index.js.map +0 -1
  581. package/dist/index.rsc.d.ts +0 -32
  582. package/dist/index.rsc.d.ts.map +0 -1
  583. package/dist/index.rsc.js +0 -40
  584. package/dist/index.rsc.js.map +0 -1
  585. package/dist/internal-debug.d.ts +0 -2
  586. package/dist/internal-debug.d.ts.map +0 -1
  587. package/dist/internal-debug.js +0 -5
  588. package/dist/internal-debug.js.map +0 -1
  589. package/dist/loader.d.ts +0 -14
  590. package/dist/loader.d.ts.map +0 -1
  591. package/dist/loader.js +0 -20
  592. package/dist/loader.js.map +0 -1
  593. package/dist/loader.rsc.d.ts +0 -19
  594. package/dist/loader.rsc.d.ts.map +0 -1
  595. package/dist/loader.rsc.js +0 -99
  596. package/dist/loader.rsc.js.map +0 -1
  597. package/dist/network-error-thrower.d.ts +0 -17
  598. package/dist/network-error-thrower.d.ts.map +0 -1
  599. package/dist/network-error-thrower.js +0 -14
  600. package/dist/network-error-thrower.js.map +0 -1
  601. package/dist/outlet-context.d.ts +0 -13
  602. package/dist/outlet-context.d.ts.map +0 -1
  603. package/dist/outlet-context.js +0 -3
  604. package/dist/outlet-context.js.map +0 -1
  605. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  606. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  607. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  608. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  609. package/dist/prerender/param-hash.d.ts +0 -16
  610. package/dist/prerender/param-hash.d.ts.map +0 -1
  611. package/dist/prerender/param-hash.js +0 -36
  612. package/dist/prerender/param-hash.js.map +0 -1
  613. package/dist/prerender/store.d.ts +0 -38
  614. package/dist/prerender/store.d.ts.map +0 -1
  615. package/dist/prerender/store.js +0 -61
  616. package/dist/prerender/store.js.map +0 -1
  617. package/dist/prerender.d.ts +0 -66
  618. package/dist/prerender.d.ts.map +0 -1
  619. package/dist/prerender.js +0 -57
  620. package/dist/prerender.js.map +0 -1
  621. package/dist/reverse.d.ts +0 -196
  622. package/dist/reverse.d.ts.map +0 -1
  623. package/dist/reverse.js +0 -78
  624. package/dist/reverse.js.map +0 -1
  625. package/dist/root-error-boundary.d.ts +0 -33
  626. package/dist/root-error-boundary.d.ts.map +0 -1
  627. package/dist/root-error-boundary.js +0 -165
  628. package/dist/root-error-boundary.js.map +0 -1
  629. package/dist/route-content-wrapper.d.ts +0 -46
  630. package/dist/route-content-wrapper.d.ts.map +0 -1
  631. package/dist/route-content-wrapper.js +0 -77
  632. package/dist/route-content-wrapper.js.map +0 -1
  633. package/dist/route-definition.d.ts +0 -421
  634. package/dist/route-definition.d.ts.map +0 -1
  635. package/dist/route-definition.js +0 -868
  636. package/dist/route-definition.js.map +0 -1
  637. package/dist/route-map-builder.d.ts +0 -155
  638. package/dist/route-map-builder.d.ts.map +0 -1
  639. package/dist/route-map-builder.js +0 -237
  640. package/dist/route-map-builder.js.map +0 -1
  641. package/dist/route-types.d.ts +0 -165
  642. package/dist/route-types.d.ts.map +0 -1
  643. package/dist/route-types.js +0 -7
  644. package/dist/route-types.js.map +0 -1
  645. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  646. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  647. package/dist/router/__tests__/handler-context.test.js +0 -65
  648. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  649. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  650. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  651. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  652. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  653. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  654. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  655. package/dist/router/__tests__/match-context.test.js +0 -92
  656. package/dist/router/__tests__/match-context.test.js.map +0 -1
  657. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  658. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  659. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  660. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  661. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  662. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  663. package/dist/router/__tests__/match-result.test.js +0 -457
  664. package/dist/router/__tests__/match-result.test.js.map +0 -1
  665. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  666. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  667. package/dist/router/__tests__/on-error.test.js +0 -678
  668. package/dist/router/__tests__/on-error.test.js.map +0 -1
  669. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  670. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  671. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  672. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  673. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  674. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  675. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  676. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  677. package/dist/router/error-handling.d.ts +0 -77
  678. package/dist/router/error-handling.d.ts.map +0 -1
  679. package/dist/router/error-handling.js +0 -202
  680. package/dist/router/error-handling.js.map +0 -1
  681. package/dist/router/handler-context.d.ts +0 -20
  682. package/dist/router/handler-context.d.ts.map +0 -1
  683. package/dist/router/handler-context.js +0 -198
  684. package/dist/router/handler-context.js.map +0 -1
  685. package/dist/router/intercept-resolution.d.ts +0 -66
  686. package/dist/router/intercept-resolution.d.ts.map +0 -1
  687. package/dist/router/intercept-resolution.js +0 -246
  688. package/dist/router/intercept-resolution.js.map +0 -1
  689. package/dist/router/loader-resolution.d.ts +0 -64
  690. package/dist/router/loader-resolution.d.ts.map +0 -1
  691. package/dist/router/loader-resolution.js +0 -284
  692. package/dist/router/loader-resolution.js.map +0 -1
  693. package/dist/router/logging.d.ts +0 -15
  694. package/dist/router/logging.d.ts.map +0 -1
  695. package/dist/router/logging.js +0 -99
  696. package/dist/router/logging.js.map +0 -1
  697. package/dist/router/manifest.d.ts +0 -22
  698. package/dist/router/manifest.d.ts.map +0 -1
  699. package/dist/router/manifest.js +0 -181
  700. package/dist/router/manifest.js.map +0 -1
  701. package/dist/router/match-api.d.ts +0 -35
  702. package/dist/router/match-api.d.ts.map +0 -1
  703. package/dist/router/match-api.js +0 -406
  704. package/dist/router/match-api.js.map +0 -1
  705. package/dist/router/match-context.d.ts +0 -206
  706. package/dist/router/match-context.d.ts.map +0 -1
  707. package/dist/router/match-context.js +0 -17
  708. package/dist/router/match-context.js.map +0 -1
  709. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  710. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  711. package/dist/router/match-middleware/background-revalidation.js +0 -75
  712. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  713. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  714. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  715. package/dist/router/match-middleware/cache-lookup.js +0 -257
  716. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  717. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  718. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  719. package/dist/router/match-middleware/cache-store.js +0 -108
  720. package/dist/router/match-middleware/cache-store.js.map +0 -1
  721. package/dist/router/match-middleware/index.d.ts +0 -81
  722. package/dist/router/match-middleware/index.d.ts.map +0 -1
  723. package/dist/router/match-middleware/index.js +0 -80
  724. package/dist/router/match-middleware/index.js.map +0 -1
  725. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  726. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  727. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  728. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  729. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  730. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  731. package/dist/router/match-middleware/segment-resolution.js +0 -53
  732. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  733. package/dist/router/match-pipelines.d.ts +0 -147
  734. package/dist/router/match-pipelines.d.ts.map +0 -1
  735. package/dist/router/match-pipelines.js +0 -82
  736. package/dist/router/match-pipelines.js.map +0 -1
  737. package/dist/router/match-result.d.ts +0 -126
  738. package/dist/router/match-result.d.ts.map +0 -1
  739. package/dist/router/match-result.js +0 -93
  740. package/dist/router/match-result.js.map +0 -1
  741. package/dist/router/metrics.d.ts +0 -20
  742. package/dist/router/metrics.d.ts.map +0 -1
  743. package/dist/router/metrics.js +0 -47
  744. package/dist/router/metrics.js.map +0 -1
  745. package/dist/router/middleware.d.ts +0 -249
  746. package/dist/router/middleware.d.ts.map +0 -1
  747. package/dist/router/middleware.js +0 -434
  748. package/dist/router/middleware.js.map +0 -1
  749. package/dist/router/middleware.test.d.ts +0 -2
  750. package/dist/router/middleware.test.d.ts.map +0 -1
  751. package/dist/router/middleware.test.js +0 -816
  752. package/dist/router/middleware.test.js.map +0 -1
  753. package/dist/router/pattern-matching.d.ts +0 -149
  754. package/dist/router/pattern-matching.d.ts.map +0 -1
  755. package/dist/router/pattern-matching.js +0 -349
  756. package/dist/router/pattern-matching.js.map +0 -1
  757. package/dist/router/revalidation.d.ts +0 -44
  758. package/dist/router/revalidation.d.ts.map +0 -1
  759. package/dist/router/revalidation.js +0 -147
  760. package/dist/router/revalidation.js.map +0 -1
  761. package/dist/router/router-context.d.ts +0 -135
  762. package/dist/router/router-context.d.ts.map +0 -1
  763. package/dist/router/router-context.js +0 -36
  764. package/dist/router/router-context.js.map +0 -1
  765. package/dist/router/segment-resolution.d.ts +0 -127
  766. package/dist/router/segment-resolution.d.ts.map +0 -1
  767. package/dist/router/segment-resolution.js +0 -919
  768. package/dist/router/segment-resolution.js.map +0 -1
  769. package/dist/router/trie-matching.d.ts +0 -40
  770. package/dist/router/trie-matching.d.ts.map +0 -1
  771. package/dist/router/trie-matching.js +0 -127
  772. package/dist/router/trie-matching.js.map +0 -1
  773. package/dist/router/types.d.ts +0 -136
  774. package/dist/router/types.d.ts.map +0 -1
  775. package/dist/router/types.js +0 -7
  776. package/dist/router/types.js.map +0 -1
  777. package/dist/router.d.ts +0 -753
  778. package/dist/router.d.ts.map +0 -1
  779. package/dist/router.gen.d.ts +0 -6
  780. package/dist/router.gen.d.ts.map +0 -1
  781. package/dist/router.gen.js +0 -6
  782. package/dist/router.gen.js.map +0 -1
  783. package/dist/router.js +0 -1304
  784. package/dist/router.js.map +0 -1
  785. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  786. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  787. package/dist/rsc/__tests__/helpers.test.js +0 -140
  788. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  789. package/dist/rsc/handler.d.ts +0 -45
  790. package/dist/rsc/handler.d.ts.map +0 -1
  791. package/dist/rsc/handler.js +0 -1172
  792. package/dist/rsc/handler.js.map +0 -1
  793. package/dist/rsc/helpers.d.ts +0 -16
  794. package/dist/rsc/helpers.d.ts.map +0 -1
  795. package/dist/rsc/helpers.js +0 -55
  796. package/dist/rsc/helpers.js.map +0 -1
  797. package/dist/rsc/index.d.ts +0 -22
  798. package/dist/rsc/index.d.ts.map +0 -1
  799. package/dist/rsc/index.js +0 -23
  800. package/dist/rsc/index.js.map +0 -1
  801. package/dist/rsc/nonce.d.ts +0 -9
  802. package/dist/rsc/nonce.d.ts.map +0 -1
  803. package/dist/rsc/nonce.js +0 -18
  804. package/dist/rsc/nonce.js.map +0 -1
  805. package/dist/rsc/types.d.ts +0 -206
  806. package/dist/rsc/types.d.ts.map +0 -1
  807. package/dist/rsc/types.js +0 -8
  808. package/dist/rsc/types.js.map +0 -1
  809. package/dist/search-params.d.ts +0 -103
  810. package/dist/search-params.d.ts.map +0 -1
  811. package/dist/search-params.js +0 -74
  812. package/dist/search-params.js.map +0 -1
  813. package/dist/segment-system.d.ts +0 -75
  814. package/dist/segment-system.d.ts.map +0 -1
  815. package/dist/segment-system.js +0 -336
  816. package/dist/segment-system.js.map +0 -1
  817. package/dist/server/context.d.ts +0 -245
  818. package/dist/server/context.d.ts.map +0 -1
  819. package/dist/server/context.js +0 -197
  820. package/dist/server/context.js.map +0 -1
  821. package/dist/server/fetchable-loader-store.d.ts +0 -18
  822. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  823. package/dist/server/fetchable-loader-store.js +0 -18
  824. package/dist/server/fetchable-loader-store.js.map +0 -1
  825. package/dist/server/handle-store.d.ts +0 -85
  826. package/dist/server/handle-store.d.ts.map +0 -1
  827. package/dist/server/handle-store.js +0 -142
  828. package/dist/server/handle-store.js.map +0 -1
  829. package/dist/server/loader-registry.d.ts +0 -55
  830. package/dist/server/loader-registry.d.ts.map +0 -1
  831. package/dist/server/loader-registry.js +0 -132
  832. package/dist/server/loader-registry.js.map +0 -1
  833. package/dist/server/request-context.d.ts +0 -226
  834. package/dist/server/request-context.d.ts.map +0 -1
  835. package/dist/server/request-context.js +0 -290
  836. package/dist/server/request-context.js.map +0 -1
  837. package/dist/server/root-layout.d.ts +0 -4
  838. package/dist/server/root-layout.d.ts.map +0 -1
  839. package/dist/server/root-layout.js +0 -5
  840. package/dist/server/root-layout.js.map +0 -1
  841. package/dist/server.d.ts +0 -15
  842. package/dist/server.d.ts.map +0 -1
  843. package/dist/server.js +0 -20
  844. package/dist/server.js.map +0 -1
  845. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  846. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  847. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  848. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  849. package/dist/ssr/index.d.ts +0 -98
  850. package/dist/ssr/index.d.ts.map +0 -1
  851. package/dist/ssr/index.js +0 -158
  852. package/dist/ssr/index.js.map +0 -1
  853. package/dist/static-handler.d.ts +0 -50
  854. package/dist/static-handler.d.ts.map +0 -1
  855. package/dist/static-handler.gen.d.ts +0 -5
  856. package/dist/static-handler.gen.d.ts.map +0 -1
  857. package/dist/static-handler.gen.js +0 -5
  858. package/dist/static-handler.gen.js.map +0 -1
  859. package/dist/static-handler.js +0 -29
  860. package/dist/static-handler.js.map +0 -1
  861. package/dist/theme/ThemeProvider.d.ts +0 -20
  862. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  863. package/dist/theme/ThemeProvider.js +0 -240
  864. package/dist/theme/ThemeProvider.js.map +0 -1
  865. package/dist/theme/ThemeScript.d.ts +0 -48
  866. package/dist/theme/ThemeScript.d.ts.map +0 -1
  867. package/dist/theme/ThemeScript.js +0 -13
  868. package/dist/theme/ThemeScript.js.map +0 -1
  869. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  870. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  871. package/dist/theme/__tests__/theme.test.js +0 -103
  872. package/dist/theme/__tests__/theme.test.js.map +0 -1
  873. package/dist/theme/constants.d.ts +0 -29
  874. package/dist/theme/constants.d.ts.map +0 -1
  875. package/dist/theme/constants.js +0 -48
  876. package/dist/theme/constants.js.map +0 -1
  877. package/dist/theme/index.d.ts +0 -31
  878. package/dist/theme/index.d.ts.map +0 -1
  879. package/dist/theme/index.js +0 -36
  880. package/dist/theme/index.js.map +0 -1
  881. package/dist/theme/theme-context.d.ts +0 -40
  882. package/dist/theme/theme-context.d.ts.map +0 -1
  883. package/dist/theme/theme-context.js +0 -60
  884. package/dist/theme/theme-context.js.map +0 -1
  885. package/dist/theme/theme-script.d.ts +0 -27
  886. package/dist/theme/theme-script.d.ts.map +0 -1
  887. package/dist/theme/theme-script.js +0 -147
  888. package/dist/theme/theme-script.js.map +0 -1
  889. package/dist/theme/types.d.ts +0 -163
  890. package/dist/theme/types.d.ts.map +0 -1
  891. package/dist/theme/types.js +0 -11
  892. package/dist/theme/types.js.map +0 -1
  893. package/dist/theme/use-theme.d.ts +0 -12
  894. package/dist/theme/use-theme.d.ts.map +0 -1
  895. package/dist/theme/use-theme.js +0 -40
  896. package/dist/theme/use-theme.js.map +0 -1
  897. package/dist/types.d.ts +0 -1479
  898. package/dist/types.d.ts.map +0 -1
  899. package/dist/types.js +0 -10
  900. package/dist/types.js.map +0 -1
  901. package/dist/urls.d.ts +0 -441
  902. package/dist/urls.d.ts.map +0 -1
  903. package/dist/urls.gen.d.ts +0 -8
  904. package/dist/urls.gen.d.ts.map +0 -1
  905. package/dist/urls.gen.js +0 -8
  906. package/dist/urls.gen.js.map +0 -1
  907. package/dist/urls.js +0 -443
  908. package/dist/urls.js.map +0 -1
  909. package/dist/use-loader.d.ts +0 -127
  910. package/dist/use-loader.d.ts.map +0 -1
  911. package/dist/use-loader.js +0 -237
  912. package/dist/use-loader.js.map +0 -1
  913. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  914. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  915. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  916. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  917. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  918. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  919. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  920. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  921. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  922. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  923. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  924. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  925. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  926. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  927. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  928. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  929. package/dist/vite/ast-handler-extract.d.ts +0 -49
  930. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  931. package/dist/vite/ast-handler-extract.js +0 -249
  932. package/dist/vite/ast-handler-extract.js.map +0 -1
  933. package/dist/vite/expose-action-id.d.ts +0 -19
  934. package/dist/vite/expose-action-id.d.ts.map +0 -1
  935. package/dist/vite/expose-action-id.js +0 -250
  936. package/dist/vite/expose-action-id.js.map +0 -1
  937. package/dist/vite/expose-id-utils.d.ts +0 -69
  938. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  939. package/dist/vite/expose-id-utils.js +0 -289
  940. package/dist/vite/expose-id-utils.js.map +0 -1
  941. package/dist/vite/expose-internal-ids.d.ts +0 -22
  942. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  943. package/dist/vite/expose-internal-ids.js +0 -886
  944. package/dist/vite/expose-internal-ids.js.map +0 -1
  945. package/dist/vite/index.d.ts +0 -149
  946. package/dist/vite/index.d.ts.map +0 -1
  947. package/dist/vite/index.js.map +0 -1
  948. package/dist/vite/index.named-routes.gen.ts +0 -103
  949. package/dist/vite/package-resolution.d.ts +0 -43
  950. package/dist/vite/package-resolution.d.ts.map +0 -1
  951. package/dist/vite/package-resolution.js +0 -112
  952. package/dist/vite/package-resolution.js.map +0 -1
  953. package/dist/vite/virtual-entries.d.ts +0 -25
  954. package/dist/vite/virtual-entries.d.ts.map +0 -1
  955. package/dist/vite/virtual-entries.js +0 -110
  956. package/dist/vite/virtual-entries.js.map +0 -1
@@ -1,242 +0,0 @@
1
- /// <reference path="../../vite/version.d.ts" />
2
- import { getRequestContext, } from "../../server/request-context.js";
3
- import { VERSION } from "@rangojs/router:version";
4
- // ============================================================================
5
- // Constants
6
- // ============================================================================
7
- /** Header storing timestamp when entry becomes stale */
8
- export const CACHE_STALE_AT_HEADER = "x-edge-cache-stale-at";
9
- /** Header storing cache status: HIT | REVALIDATING */
10
- export const CACHE_STATUS_HEADER = "x-edge-cache-status";
11
- /**
12
- * Maximum age in seconds for REVALIDATING status before allowing new revalidation.
13
- * After this period, a stale entry in REVALIDATING status will trigger revalidation again.
14
- * @internal
15
- */
16
- export const MAX_REVALIDATION_INTERVAL = 30;
17
- // ============================================================================
18
- // CFCacheStore Implementation
19
- // ============================================================================
20
- export class CFCacheStore {
21
- constructor(options) {
22
- if (!options.ctx) {
23
- throw new Error("[CFCacheStore] ExecutionContext (ctx) is required. " +
24
- "Pass the Cloudflare ExecutionContext from your worker's fetch handler: " +
25
- "new CFCacheStore({ ctx: env.ctx })");
26
- }
27
- this.namespace = options.namespace;
28
- this.baseUrl = options.baseUrl ?? this.deriveBaseUrl();
29
- this.defaults = options.defaults;
30
- this.version = options.version ?? VERSION;
31
- this.keyGenerator = options.keyGenerator;
32
- this.waitUntil = (fn) => options.ctx.waitUntil(fn());
33
- }
34
- /**
35
- * Derive base URL from request hostname via requestContext.
36
- * Uses internal fallback for dev/preview environments.
37
- * @internal
38
- */
39
- deriveBaseUrl() {
40
- const fallback = "https://rsc-cache.internal.com/";
41
- const ctx = getRequestContext();
42
- if (!ctx?.request) {
43
- return fallback;
44
- }
45
- try {
46
- const url = new URL(ctx.request.url);
47
- const hostname = url.hostname;
48
- // Use fallback for dev/preview environments
49
- if (hostname === "localhost" ||
50
- hostname === "127.0.0.1" ||
51
- hostname.endsWith(".workers.dev") ||
52
- hostname.endsWith(".pages.dev")) {
53
- return fallback;
54
- }
55
- // Use actual hostname for production
56
- return `https://${hostname}/`;
57
- }
58
- catch {
59
- return fallback;
60
- }
61
- }
62
- /**
63
- * Get the cache instance - uses caches.default unless namespace is specified.
64
- * @internal
65
- */
66
- getCache() {
67
- if (this.namespace) {
68
- return caches.open(this.namespace);
69
- }
70
- return caches.default;
71
- }
72
- /**
73
- * Get cached entry data by key.
74
- *
75
- * Handles SWR atomically:
76
- * - If stale and not already revalidating, marks as REVALIDATING and returns shouldRevalidate: true
77
- * - If already REVALIDATING (and recent), returns shouldRevalidate: false
78
- * - If fresh, returns shouldRevalidate: false
79
- *
80
- * The atomic mark prevents thundering herd - only first request triggers revalidation.
81
- */
82
- async get(key) {
83
- try {
84
- const cache = await this.getCache();
85
- const request = this.keyToRequest(key);
86
- const response = await cache.match(request);
87
- if (!response) {
88
- return null;
89
- }
90
- // Read status headers
91
- const status = response.headers.get(CACHE_STATUS_HEADER);
92
- const age = Number(response.headers.get("age") ?? "0");
93
- const staleAt = Number(response.headers.get(CACHE_STALE_AT_HEADER) ?? "0");
94
- const isStale = staleAt > 0 && Date.now() > staleAt;
95
- const isRevalidating = status === "REVALIDATING" && age < MAX_REVALIDATION_INTERVAL;
96
- // Case 1: Fresh or already being revalidated - just return data
97
- if (!isStale || isRevalidating) {
98
- const data = (await response.json());
99
- return { data, shouldRevalidate: false };
100
- }
101
- // Case 2: Stale and needs revalidation - atomically mark REVALIDATING
102
- const [b1, b2] = response.body.tee();
103
- const headers = new Headers(response.headers);
104
- headers.set(CACHE_STATUS_HEADER, "REVALIDATING");
105
- // Blocking write - must complete before returning to prevent race
106
- await cache.put(request, new Response(b1, { status: response.status, headers }));
107
- const data = (await new Response(b2).json());
108
- return { data, shouldRevalidate: true };
109
- }
110
- catch (error) {
111
- console.error("[CFCacheStore] get failed:", error);
112
- return null;
113
- }
114
- }
115
- /**
116
- * Store entry data with TTL and optional SWR window.
117
- * Uses waitUntil for non-blocking write when available.
118
- */
119
- async set(key, data, ttl, swr) {
120
- try {
121
- const cache = await this.getCache();
122
- const request = this.keyToRequest(key);
123
- // Extended TTL covers SWR window
124
- const swrWindow = swr ?? this.defaults?.swr ?? 0;
125
- const totalTtl = ttl + swrWindow;
126
- const staleAt = Date.now() + ttl * 1000;
127
- const response = new Response(JSON.stringify(data), {
128
- headers: {
129
- "Content-Type": "application/json",
130
- "Cache-Control": `public, max-age=${totalTtl}`,
131
- [CACHE_STALE_AT_HEADER]: String(staleAt),
132
- [CACHE_STATUS_HEADER]: "HIT",
133
- },
134
- });
135
- const putPromise = cache.put(request, response);
136
- if (this.waitUntil) {
137
- // Non-blocking write
138
- this.waitUntil(async () => {
139
- await putPromise;
140
- });
141
- }
142
- else {
143
- // Blocking fallback
144
- await putPromise;
145
- }
146
- }
147
- catch (error) {
148
- console.error("[CFCacheStore] set failed:", error);
149
- }
150
- }
151
- /**
152
- * Delete a cached entry
153
- */
154
- async delete(key) {
155
- try {
156
- const cache = await this.getCache();
157
- return await cache.delete(this.keyToRequest(key));
158
- }
159
- catch (error) {
160
- console.error("[CFCacheStore] delete failed:", error);
161
- return false;
162
- }
163
- }
164
- // ============================================================================
165
- // Document Cache Methods
166
- // ============================================================================
167
- /**
168
- * Get a cached Response by key (for document-level caching).
169
- * Returns the response and whether it should be revalidated (SWR).
170
- */
171
- async getResponse(key) {
172
- try {
173
- const cache = await this.getCache();
174
- const request = this.keyToRequest(`doc:${key}`);
175
- const response = await cache.match(request);
176
- if (!response || response.status !== 200) {
177
- return null;
178
- }
179
- // Check staleness
180
- const staleAt = Number(response.headers.get(CACHE_STALE_AT_HEADER) || 0);
181
- const isStale = staleAt > 0 && Date.now() > staleAt;
182
- return {
183
- response,
184
- shouldRevalidate: isStale,
185
- };
186
- }
187
- catch (error) {
188
- console.error("[CFCacheStore] getResponse failed:", error);
189
- return null;
190
- }
191
- }
192
- /**
193
- * Store a Response with TTL and optional SWR window (for document-level caching).
194
- */
195
- async putResponse(key, response, ttl, swr) {
196
- try {
197
- const cache = await this.getCache();
198
- const request = this.keyToRequest(`doc:${key}`);
199
- // Extended TTL covers SWR window
200
- const swrWindow = swr ?? this.defaults?.swr ?? 0;
201
- const totalTtl = ttl + swrWindow;
202
- const staleAt = Date.now() + ttl * 1000;
203
- // Clone and add cache headers
204
- const headers = new Headers(response.headers);
205
- headers.set("Cache-Control", `public, max-age=${totalTtl}`);
206
- headers.set(CACHE_STALE_AT_HEADER, String(staleAt));
207
- const toCache = new Response(response.body, {
208
- status: response.status,
209
- statusText: response.statusText,
210
- headers,
211
- });
212
- const putPromise = cache.put(request, toCache);
213
- if (this.waitUntil) {
214
- // Non-blocking write
215
- this.waitUntil(async () => {
216
- await putPromise;
217
- });
218
- }
219
- else {
220
- // Blocking fallback
221
- await putPromise;
222
- }
223
- }
224
- catch (error) {
225
- console.error("[CFCacheStore] putResponse failed:", error);
226
- }
227
- }
228
- /**
229
- * Convert string key to Request object for CF Cache API.
230
- * Includes version in URL if specified (for cache invalidation on code changes).
231
- * @internal
232
- */
233
- keyToRequest(key) {
234
- const encodedKey = encodeURIComponent(key);
235
- // Include version in URL path to invalidate cache when version changes
236
- const versionPath = this.version ? `v/${this.version}/` : "";
237
- return new Request(`${this.baseUrl}${versionPath}${encodedKey}`, {
238
- method: "GET",
239
- });
240
- }
241
- }
242
- //# sourceMappingURL=cf-cache-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cf-cache-store.js","sourceRoot":"","sources":["../../../src/cache/cf/cf-cache-store.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Cloudflare Cache Store Exports
3
- *
4
- * Main export:
5
- * - CFCacheStore - Production cache store using Cloudflare's Cache API
6
- *
7
- * Header constants (for inspection/debugging):
8
- * - CACHE_STALE_AT_HEADER - Header containing staleness timestamp
9
- * - CACHE_STATUS_HEADER - Header containing HIT/REVALIDATING status
10
- */
11
- export { CFCacheStore, type CFCacheStoreOptions } from "./cf-cache-store.js";
12
- export { CACHE_STALE_AT_HEADER, CACHE_STATUS_HEADER } from "./cf-cache-store.js";
13
- export { type CacheStatus, MAX_REVALIDATION_INTERVAL } from "./cf-cache-store.js";
14
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cache/cf/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG7E,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAGjF,OAAO,EAAE,KAAK,WAAW,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,17 +0,0 @@
1
- /**
2
- * Cloudflare Cache Store Exports
3
- *
4
- * Main export:
5
- * - CFCacheStore - Production cache store using Cloudflare's Cache API
6
- *
7
- * Header constants (for inspection/debugging):
8
- * - CACHE_STALE_AT_HEADER - Header containing staleness timestamp
9
- * - CACHE_STATUS_HEADER - Header containing HIT/REVALIDATING status
10
- */
11
- // Public API
12
- export { CFCacheStore } from "./cf-cache-store.js";
13
- // Header constants for debugging and inspection
14
- export { CACHE_STALE_AT_HEADER, CACHE_STATUS_HEADER } from "./cf-cache-store.js";
15
- // Internal exports (re-exported for backwards compatibility, marked @internal in source)
16
- export { MAX_REVALIDATION_INTERVAL } from "./cf-cache-store.js";
17
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cache/cf/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,aAAa;AACb,OAAO,EAAE,YAAY,EAA4B,MAAM,qBAAqB,CAAC;AAE7E,gDAAgD;AAChD,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAEjF,yFAAyF;AACzF,OAAO,EAAoB,yBAAyB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,64 +0,0 @@
1
- /**
2
- * Document-Level Cache Middleware
3
- *
4
- * Caches full HTTP responses at the edge based on Cache-Control headers.
5
- * Routes opt-in to caching by setting s-maxage or stale-while-revalidate headers.
6
- *
7
- * Flow:
8
- * 1. Check cache for existing response
9
- * 2. If fresh hit → return cached response
10
- * 3. If stale hit (within SWR window) → return cached, revalidate in background
11
- * 4. If miss → run handler, cache if response has cache headers
12
- */
13
- import type { MiddlewareFn, MiddlewareContext } from "../router/middleware.js";
14
- export interface DocumentCacheOptions<TEnv = any> {
15
- /**
16
- * Skip caching for specific paths (e.g., API routes)
17
- */
18
- skipPaths?: string[];
19
- /**
20
- * Custom cache key generator
21
- */
22
- keyGenerator?: (url: URL) => string;
23
- /**
24
- * Callback to determine if caching should be enabled for this request.
25
- * Receives the middleware context and returns true to enable caching.
26
- * If not provided, caching is enabled by default.
27
- *
28
- * @example
29
- * ```typescript
30
- * createDocumentCacheMiddleware({
31
- * isEnabled: (ctx) => !ctx.request.headers.has('x-skip-cache'),
32
- * })
33
- * ```
34
- */
35
- isEnabled?: (ctx: MiddlewareContext<TEnv>) => boolean | Promise<boolean>;
36
- /**
37
- * Enable debug logging for cache operations.
38
- * Logs HIT, MISS, STALE, and REVALIDATED events.
39
- * Defaults to false.
40
- */
41
- debug?: boolean;
42
- }
43
- /**
44
- * Create document cache middleware
45
- *
46
- * Add this middleware to your router to enable document-level caching.
47
- * It uses the cache store's getResponse/putResponse methods for caching.
48
- * Routes opt-in by setting Cache-Control headers with s-maxage.
49
- *
50
- * @example
51
- * ```typescript
52
- * // Add middleware to router
53
- * const router = createRouter<AppEnv>()
54
- * .use(createDocumentCacheMiddleware({
55
- * isEnabled: (ctx) => ctx.url.pathname !== '/admin',
56
- * }))
57
- * .route("home", (ctx) => {
58
- * ctx.headers.set("Cache-Control", "s-maxage=60, stale-while-revalidate=300");
59
- * return <HomePage />;
60
- * });
61
- * ```
62
- */
63
- export declare function createDocumentCacheMiddleware<TEnv = any>(options?: DocumentCacheOptions<TEnv>): MiddlewareFn<TEnv>;
64
- //# sourceMappingURL=document-cache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"document-cache.d.ts","sourceRoot":"","sources":["../../src/cache/document-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAoH/E,MAAM,WAAW,oBAAoB,CAAC,IAAI,GAAG,GAAG;IAC9C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC;IAEpC;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzE;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,GAAG,GAAG,EACtD,OAAO,GAAE,oBAAoB,CAAC,IAAI,CAAM,GACvC,YAAY,CAAC,IAAI,CAAC,CA2JpB"}
@@ -1,228 +0,0 @@
1
- /**
2
- * Document-Level Cache Middleware
3
- *
4
- * Caches full HTTP responses at the edge based on Cache-Control headers.
5
- * Routes opt-in to caching by setting s-maxage or stale-while-revalidate headers.
6
- *
7
- * Flow:
8
- * 1. Check cache for existing response
9
- * 2. If fresh hit → return cached response
10
- * 3. If stale hit (within SWR window) → return cached, revalidate in background
11
- * 4. If miss → run handler, cache if response has cache headers
12
- */
13
- import { getRequestContext } from "../server/request-context.js";
14
- // ============================================================================
15
- // Constants
16
- // ============================================================================
17
- /** Header indicating cache status for debugging */
18
- const CACHE_STATUS_HEADER = "x-document-cache-status";
19
- /**
20
- * Simple hash function for segment IDs.
21
- * Creates a short, deterministic hash to differentiate cache keys
22
- * based on which segments the client already has.
23
- */
24
- function hashSegmentIds(segmentIds) {
25
- if (!segmentIds)
26
- return "";
27
- let hash = 0;
28
- for (let i = 0; i < segmentIds.length; i++) {
29
- const char = segmentIds.charCodeAt(i);
30
- hash = ((hash << 5) - hash + char) | 0;
31
- }
32
- // Convert to base36 for shorter string, take absolute value
33
- return Math.abs(hash).toString(36);
34
- }
35
- /**
36
- * Parse Cache-Control header for s-maxage and stale-while-revalidate directives
37
- */
38
- function parseCacheControl(header) {
39
- if (!header)
40
- return null;
41
- const directives = {};
42
- // Parse s-maxage
43
- const sMaxAgeMatch = header.match(/s-maxage\s*=\s*(\d+)/i);
44
- if (sMaxAgeMatch) {
45
- directives.sMaxAge = parseInt(sMaxAgeMatch[1], 10);
46
- }
47
- // Parse stale-while-revalidate
48
- const swrMatch = header.match(/stale-while-revalidate\s*=\s*(\d+)/i);
49
- if (swrMatch) {
50
- directives.staleWhileRevalidate = parseInt(swrMatch[1], 10);
51
- }
52
- // Only return if we have at least s-maxage (required for document caching)
53
- if (directives.sMaxAge !== undefined) {
54
- return directives;
55
- }
56
- return null;
57
- }
58
- /**
59
- * Check if response should be cached based on Cache-Control headers
60
- */
61
- function shouldCacheResponse(response) {
62
- // Only cache successful responses
63
- if (response.status !== 200) {
64
- return null;
65
- }
66
- const cacheControl = response.headers.get("Cache-Control");
67
- return parseCacheControl(cacheControl);
68
- }
69
- // ============================================================================
70
- // Response Helpers
71
- // ============================================================================
72
- /**
73
- * Add cache status header to response for debugging
74
- */
75
- function addCacheStatusHeader(response, status) {
76
- const headers = new Headers(response.headers);
77
- headers.set(CACHE_STATUS_HEADER, status);
78
- return new Response(response.body, {
79
- status: response.status,
80
- statusText: response.statusText,
81
- headers,
82
- });
83
- }
84
- /**
85
- * Run onResponse callbacks registered on the request context
86
- */
87
- function runOnResponseCallbacks(response, callbacks) {
88
- let result = response;
89
- for (const callback of callbacks) {
90
- result = callback(result);
91
- }
92
- return result;
93
- }
94
- /**
95
- * Create document cache middleware
96
- *
97
- * Add this middleware to your router to enable document-level caching.
98
- * It uses the cache store's getResponse/putResponse methods for caching.
99
- * Routes opt-in by setting Cache-Control headers with s-maxage.
100
- *
101
- * @example
102
- * ```typescript
103
- * // Add middleware to router
104
- * const router = createRouter<AppEnv>()
105
- * .use(createDocumentCacheMiddleware({
106
- * isEnabled: (ctx) => ctx.url.pathname !== '/admin',
107
- * }))
108
- * .route("home", (ctx) => {
109
- * ctx.headers.set("Cache-Control", "s-maxage=60, stale-while-revalidate=300");
110
- * return <HomePage />;
111
- * });
112
- * ```
113
- */
114
- export function createDocumentCacheMiddleware(options = {}) {
115
- const { skipPaths = [], keyGenerator, isEnabled, debug = false } = options;
116
- const log = debug
117
- ? (message) => console.log(message)
118
- : () => { };
119
- return async function documentCacheMiddleware(ctx, next) {
120
- const url = ctx.url;
121
- // Skip RSC action requests (mutations shouldn't be cached)
122
- if (url.searchParams.has("_rsc_action")) {
123
- return next();
124
- }
125
- // Skip loader requests (have their own caching)
126
- if (url.searchParams.has("_rsc_loader")) {
127
- return next();
128
- }
129
- // Skip configured paths
130
- if (skipPaths.some((path) => url.pathname.startsWith(path))) {
131
- return next();
132
- }
133
- // Check if caching is enabled for this request
134
- if (isEnabled) {
135
- const enabled = await isEnabled(ctx);
136
- if (!enabled) {
137
- return next();
138
- }
139
- }
140
- // Get request context and cache store
141
- const requestCtx = getRequestContext();
142
- const store = requestCtx?._cacheStore;
143
- // Skip if no cache store or store doesn't support response caching
144
- if (!store?.getResponse || !store?.putResponse) {
145
- return next();
146
- }
147
- // Determine request type for cache key differentiation
148
- const isPartial = url.searchParams.has("_rsc_partial");
149
- const typeLabel = isPartial ? "RSC" : "HTML";
150
- // Generate cache key
151
- // For partial requests, include hash of client segments to prevent serving
152
- // wrong cached response when navigating from different pages with different layouts
153
- const clientSegments = url.searchParams.get("_rsc_segments") || "";
154
- const segmentHash = isPartial && clientSegments ? `:${hashSegmentIds(clientSegments)}` : "";
155
- const typeSuffix = isPartial ? ":rsc" : ":html";
156
- const cacheKey = keyGenerator
157
- ? keyGenerator(url) + segmentHash + typeSuffix
158
- : `${url.pathname}${segmentHash}${typeSuffix}`;
159
- try {
160
- // 1. Check cache
161
- const cached = await store.getResponse(cacheKey);
162
- if (cached && cached.response.status === 200) {
163
- if (!cached.shouldRevalidate) {
164
- // Fresh hit - return immediately
165
- log(`[DocumentCache] HIT ${typeLabel}: ${url.pathname}`);
166
- let response = addCacheStatusHeader(cached.response, "HIT");
167
- // Run onResponse callbacks even for cache hits
168
- if (requestCtx && requestCtx._onResponseCallbacks.length > 0) {
169
- response = runOnResponseCallbacks(response, requestCtx._onResponseCallbacks);
170
- }
171
- return response;
172
- }
173
- // Stale hit - return cached response, revalidate in background
174
- log(`[DocumentCache] STALE ${typeLabel}: ${url.pathname} (revalidating)`);
175
- if (requestCtx) {
176
- requestCtx.waitUntil(async () => {
177
- try {
178
- const fresh = await next();
179
- const directives = shouldCacheResponse(fresh);
180
- if (directives) {
181
- await store.putResponse(cacheKey, fresh, directives.sMaxAge, directives.staleWhileRevalidate);
182
- log(`[DocumentCache] REVALIDATED ${typeLabel}: ${url.pathname}`);
183
- }
184
- }
185
- catch (error) {
186
- console.error(`[DocumentCache] Revalidation failed:`, error);
187
- }
188
- });
189
- }
190
- let response = addCacheStatusHeader(cached.response, "STALE");
191
- // Run onResponse callbacks even for stale cache hits
192
- if (requestCtx && requestCtx._onResponseCallbacks.length > 0) {
193
- response = runOnResponseCallbacks(response, requestCtx._onResponseCallbacks);
194
- }
195
- return response;
196
- }
197
- // 2. Cache miss - run handler
198
- const originalResponse = await next();
199
- // 3. Cache if response has appropriate headers
200
- const directives = shouldCacheResponse(originalResponse);
201
- if (directives) {
202
- log(`[DocumentCache] MISS ${typeLabel}: ${url.pathname} (caching with s-maxage=${directives.sMaxAge})`);
203
- // Tee the body so we can return one stream and cache the other
204
- const [returnStream, cacheStream] = originalResponse.body.tee();
205
- // Clone response for caching (non-blocking)
206
- if (requestCtx) {
207
- requestCtx.waitUntil(async () => {
208
- try {
209
- await store.putResponse(cacheKey, new Response(cacheStream, originalResponse), directives.sMaxAge, directives.staleWhileRevalidate);
210
- }
211
- catch (error) {
212
- console.error(`[DocumentCache] Cache write failed:`, error);
213
- }
214
- });
215
- }
216
- return addCacheStatusHeader(new Response(returnStream, originalResponse), "MISS");
217
- }
218
- // No cache headers - pass through
219
- return originalResponse;
220
- }
221
- catch (error) {
222
- console.error(`[DocumentCache] Error:`, error);
223
- // On any cache error, fall through to handler
224
- return next();
225
- }
226
- };
227
- }
228
- //# sourceMappingURL=document-cache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"document-cache.js","sourceRoot":"","sources":["../../src/cache/document-cache.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Cache Store
3
- *
4
- * Server-side caching for RSC segments and loader data.
5
- *
6
- * Main exports for users:
7
- * - SegmentCacheStore - Interface for implementing custom cache stores
8
- * - MemorySegmentCacheStore - In-memory cache for development/testing
9
- * - CFCacheStore - Cloudflare edge cache store for production
10
- * - CacheScope / createCacheScope - Request-scoped cache provider
11
- */
12
- export type { CacheStore, CacheEntry, CacheValue, CacheValueType, CachePutOptions, CacheMetadata, } from "./types.js";
13
- export { MemoryCacheStore } from "./memory-store.js";
14
- export type { SegmentCacheStore, SegmentCacheProvider, CachedEntryData, CachedEntryResult, CacheGetResult, SerializedSegmentData, SegmentHandleData, CacheConfig, CacheConfigOrFactory, } from "./types.js";
15
- export { MemorySegmentCacheStore } from "./memory-segment-store.js";
16
- export { CFCacheStore, type CFCacheStoreOptions, CACHE_STALE_AT_HEADER, CACHE_STATUS_HEADER, } from "./cf/index.js";
17
- export { CacheScope, createCacheScope } from "./cache-scope.js";
18
- export { createDocumentCacheMiddleware, type DocumentCacheOptions, } from "./document-cache.js";
19
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,YAAY,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,eAAe,EACf,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGrD,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,WAAW,EACX,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,EACL,YAAY,EACZ,KAAK,mBAAmB,EACxB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGhE,OAAO,EACL,6BAA6B,EAC7B,KAAK,oBAAoB,GAC1B,MAAM,qBAAqB,CAAC"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Cache Store
3
- *
4
- * Server-side caching for RSC segments and loader data.
5
- *
6
- * Main exports for users:
7
- * - SegmentCacheStore - Interface for implementing custom cache stores
8
- * - MemorySegmentCacheStore - In-memory cache for development/testing
9
- * - CFCacheStore - Cloudflare edge cache store for production
10
- * - CacheScope / createCacheScope - Request-scoped cache provider
11
- */
12
- // Generic memory cache (reserved for future extensibility)
13
- export { MemoryCacheStore } from "./memory-store.js";
14
- export { MemorySegmentCacheStore } from "./memory-segment-store.js";
15
- // Cloudflare cache store
16
- export { CFCacheStore, CACHE_STALE_AT_HEADER, CACHE_STATUS_HEADER, } from "./cf/index.js";
17
- // Cache scope
18
- export { CacheScope, createCacheScope } from "./cache-scope.js";
19
- // Document-level cache middleware
20
- export { createDocumentCacheMiddleware, } from "./document-cache.js";
21
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAcH,2DAA2D;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAerD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,yBAAyB;AACzB,OAAO,EACL,YAAY,EAEZ,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,kCAAkC;AAClC,OAAO,EACL,6BAA6B,GAE9B,MAAM,qBAAqB,CAAC"}