@rangojs/router 0.0.0-experimental.0da83ed6 → 0.0.0-experimental.0e02cd4e

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 (906) hide show
  1. package/README.md +76 -18
  2. package/dist/bin/rango.js +130 -47
  3. package/dist/vite/index.js +689 -361
  4. package/package.json +2 -2
  5. package/skills/links/SKILL.md +3 -1
  6. package/skills/middleware/SKILL.md +2 -0
  7. package/skills/prerender/SKILL.md +110 -68
  8. package/skills/router-setup/SKILL.md +35 -0
  9. package/src/__internal.ts +1 -1
  10. package/src/browser/app-version.ts +14 -0
  11. package/src/browser/navigation-bridge.ts +16 -3
  12. package/src/browser/navigation-client.ts +86 -63
  13. package/src/browser/navigation-store.ts +43 -8
  14. package/src/browser/partial-update.ts +27 -5
  15. package/src/browser/prefetch/cache.ts +21 -6
  16. package/src/browser/prefetch/fetch.ts +46 -6
  17. package/src/browser/react/Link.tsx +58 -8
  18. package/src/browser/react/NavigationProvider.tsx +8 -1
  19. package/src/browser/react/context.ts +7 -2
  20. package/src/browser/react/use-handle.ts +9 -58
  21. package/src/browser/react/use-router.ts +21 -8
  22. package/src/browser/rsc-router.tsx +26 -3
  23. package/src/browser/scroll-restoration.ts +10 -8
  24. package/src/browser/server-action-bridge.ts +8 -17
  25. package/src/browser/types.ts +24 -5
  26. package/src/build/generate-manifest.ts +6 -6
  27. package/src/build/generate-route-types.ts +3 -0
  28. package/src/build/route-types/include-resolution.ts +8 -1
  29. package/src/build/route-types/router-processing.ts +211 -72
  30. package/src/build/route-types/scan-filter.ts +8 -1
  31. package/src/client.tsx +2 -56
  32. package/src/handle.ts +40 -0
  33. package/src/index.rsc.ts +3 -1
  34. package/src/index.ts +12 -0
  35. package/src/prerender/store.ts +5 -4
  36. package/src/prerender.ts +138 -77
  37. package/src/reverse.ts +22 -1
  38. package/src/route-definition/dsl-helpers.ts +42 -19
  39. package/src/route-definition/helpers-types.ts +4 -1
  40. package/src/route-definition/index.ts +3 -0
  41. package/src/route-definition/redirect.ts +9 -1
  42. package/src/route-definition/resolve-handler-use.ts +149 -0
  43. package/src/route-types.ts +11 -0
  44. package/src/router/content-negotiation.ts +100 -1
  45. package/src/router/handler-context.ts +48 -15
  46. package/src/router/intercept-resolution.ts +9 -4
  47. package/src/router/loader-resolution.ts +150 -21
  48. package/src/router/match-api.ts +124 -189
  49. package/src/router/match-middleware/cache-lookup.ts +26 -7
  50. package/src/router/match-middleware/segment-resolution.ts +53 -0
  51. package/src/router/match-result.ts +82 -4
  52. package/src/router/middleware-types.ts +0 -6
  53. package/src/router/middleware.ts +0 -3
  54. package/src/router/navigation-snapshot.ts +182 -0
  55. package/src/router/prerender-match.ts +110 -10
  56. package/src/router/preview-match.ts +30 -102
  57. package/src/router/request-classification.ts +310 -0
  58. package/src/router/route-snapshot.ts +245 -0
  59. package/src/router/router-interfaces.ts +36 -4
  60. package/src/router/router-options.ts +37 -11
  61. package/src/router/segment-resolution/fresh.ts +70 -5
  62. package/src/router/segment-resolution/revalidation.ts +87 -9
  63. package/src/router.ts +53 -5
  64. package/src/rsc/handler.ts +472 -393
  65. package/src/rsc/loader-fetch.ts +18 -3
  66. package/src/rsc/manifest-init.ts +5 -1
  67. package/src/rsc/progressive-enhancement.ts +12 -3
  68. package/src/rsc/rsc-rendering.ts +8 -2
  69. package/src/rsc/server-action.ts +8 -2
  70. package/src/rsc/ssr-setup.ts +2 -2
  71. package/src/rsc/types.ts +6 -4
  72. package/src/server/context.ts +39 -2
  73. package/src/server/handle-store.ts +19 -0
  74. package/src/server/loader-registry.ts +9 -8
  75. package/src/server/request-context.ts +132 -13
  76. package/src/ssr/index.tsx +3 -0
  77. package/src/static-handler.ts +18 -6
  78. package/src/types/cache-types.ts +4 -4
  79. package/src/types/handler-context.ts +17 -11
  80. package/src/types/loader-types.ts +32 -5
  81. package/src/types/route-entry.ts +1 -1
  82. package/src/types/segments.ts +1 -0
  83. package/src/urls/path-helper-types.ts +9 -2
  84. package/src/urls/path-helper.ts +47 -12
  85. package/src/urls/pattern-types.ts +12 -0
  86. package/src/urls/response-types.ts +16 -6
  87. package/src/use-loader.tsx +77 -5
  88. package/src/vite/discovery/bundle-postprocess.ts +30 -33
  89. package/src/vite/discovery/discover-routers.ts +5 -1
  90. package/src/vite/discovery/prerender-collection.ts +128 -74
  91. package/src/vite/discovery/state.ts +13 -4
  92. package/src/vite/index.ts +4 -0
  93. package/src/vite/plugin-types.ts +60 -5
  94. package/src/vite/plugins/expose-id-utils.ts +12 -0
  95. package/src/vite/plugins/expose-ids/handler-transform.ts +30 -0
  96. package/src/vite/plugins/expose-internal-ids.ts +257 -40
  97. package/src/vite/plugins/performance-tracks.ts +66 -198
  98. package/src/vite/plugins/refresh-cmd.ts +88 -26
  99. package/src/vite/rango.ts +18 -5
  100. package/src/vite/router-discovery.ts +178 -37
  101. package/src/vite/utils/prerender-utils.ts +18 -0
  102. package/src/vite/utils/shared-utils.ts +3 -2
  103. package/dist/__internal.d.ts +0 -83
  104. package/dist/__internal.d.ts.map +0 -1
  105. package/dist/__internal.js +0 -19
  106. package/dist/__internal.js.map +0 -1
  107. package/dist/__mocks__/version.d.ts +0 -7
  108. package/dist/__mocks__/version.d.ts.map +0 -1
  109. package/dist/__mocks__/version.js +0 -7
  110. package/dist/__mocks__/version.js.map +0 -1
  111. package/dist/__tests__/client-href.test.d.ts +0 -2
  112. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  113. package/dist/__tests__/client-href.test.js +0 -74
  114. package/dist/__tests__/client-href.test.js.map +0 -1
  115. package/dist/__tests__/component-utils.test.d.ts +0 -2
  116. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  117. package/dist/__tests__/component-utils.test.js +0 -51
  118. package/dist/__tests__/component-utils.test.js.map +0 -1
  119. package/dist/__tests__/event-controller.test.d.ts +0 -2
  120. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  121. package/dist/__tests__/event-controller.test.js +0 -538
  122. package/dist/__tests__/event-controller.test.js.map +0 -1
  123. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  124. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  125. package/dist/__tests__/helpers/route-tree.js +0 -374
  126. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  127. package/dist/__tests__/match-result.test.d.ts +0 -2
  128. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  129. package/dist/__tests__/match-result.test.js +0 -154
  130. package/dist/__tests__/match-result.test.js.map +0 -1
  131. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  132. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  133. package/dist/__tests__/navigation-store.test.js +0 -440
  134. package/dist/__tests__/navigation-store.test.js.map +0 -1
  135. package/dist/__tests__/partial-update.test.d.ts +0 -2
  136. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  137. package/dist/__tests__/partial-update.test.js +0 -1009
  138. package/dist/__tests__/partial-update.test.js.map +0 -1
  139. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  140. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  141. package/dist/__tests__/reverse-types.test.js +0 -656
  142. package/dist/__tests__/reverse-types.test.js.map +0 -1
  143. package/dist/__tests__/route-definition.test.d.ts +0 -2
  144. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  145. package/dist/__tests__/route-definition.test.js +0 -55
  146. package/dist/__tests__/route-definition.test.js.map +0 -1
  147. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  148. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  149. package/dist/__tests__/router-helpers.test.js +0 -377
  150. package/dist/__tests__/router-helpers.test.js.map +0 -1
  151. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  152. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  153. package/dist/__tests__/router-integration-2.test.js +0 -426
  154. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  155. package/dist/__tests__/router-integration.test.d.ts +0 -2
  156. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  157. package/dist/__tests__/router-integration.test.js +0 -1051
  158. package/dist/__tests__/router-integration.test.js.map +0 -1
  159. package/dist/__tests__/search-params.test.d.ts +0 -5
  160. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  161. package/dist/__tests__/search-params.test.js +0 -306
  162. package/dist/__tests__/search-params.test.js.map +0 -1
  163. package/dist/__tests__/segment-system.test.d.ts +0 -2
  164. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  165. package/dist/__tests__/segment-system.test.js +0 -627
  166. package/dist/__tests__/segment-system.test.js.map +0 -1
  167. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  168. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  169. package/dist/__tests__/static-handler-types.test.js +0 -63
  170. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  171. package/dist/__tests__/urls.test.d.ts +0 -2
  172. package/dist/__tests__/urls.test.d.ts.map +0 -1
  173. package/dist/__tests__/urls.test.js +0 -421
  174. package/dist/__tests__/urls.test.js.map +0 -1
  175. package/dist/__tests__/use-mount.test.d.ts +0 -2
  176. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  177. package/dist/__tests__/use-mount.test.js +0 -35
  178. package/dist/__tests__/use-mount.test.js.map +0 -1
  179. package/dist/bin/rango.d.ts +0 -2
  180. package/dist/bin/rango.d.ts.map +0 -1
  181. package/dist/bin/rango.js.map +0 -1
  182. package/dist/browser/event-controller.d.ts +0 -191
  183. package/dist/browser/event-controller.d.ts.map +0 -1
  184. package/dist/browser/event-controller.js +0 -559
  185. package/dist/browser/event-controller.js.map +0 -1
  186. package/dist/browser/index.d.ts +0 -2
  187. package/dist/browser/index.d.ts.map +0 -1
  188. package/dist/browser/index.js +0 -14
  189. package/dist/browser/index.js.map +0 -1
  190. package/dist/browser/link-interceptor.d.ts +0 -38
  191. package/dist/browser/link-interceptor.d.ts.map +0 -1
  192. package/dist/browser/link-interceptor.js +0 -99
  193. package/dist/browser/link-interceptor.js.map +0 -1
  194. package/dist/browser/logging.d.ts +0 -10
  195. package/dist/browser/logging.d.ts.map +0 -1
  196. package/dist/browser/logging.js +0 -29
  197. package/dist/browser/logging.js.map +0 -1
  198. package/dist/browser/lru-cache.d.ts +0 -17
  199. package/dist/browser/lru-cache.d.ts.map +0 -1
  200. package/dist/browser/lru-cache.js +0 -50
  201. package/dist/browser/lru-cache.js.map +0 -1
  202. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  203. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  204. package/dist/browser/merge-segment-loaders.js +0 -102
  205. package/dist/browser/merge-segment-loaders.js.map +0 -1
  206. package/dist/browser/navigation-bridge.d.ts +0 -102
  207. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  208. package/dist/browser/navigation-bridge.js +0 -708
  209. package/dist/browser/navigation-bridge.js.map +0 -1
  210. package/dist/browser/navigation-client.d.ts +0 -25
  211. package/dist/browser/navigation-client.d.ts.map +0 -1
  212. package/dist/browser/navigation-client.js +0 -157
  213. package/dist/browser/navigation-client.js.map +0 -1
  214. package/dist/browser/navigation-store.d.ts +0 -101
  215. package/dist/browser/navigation-store.d.ts.map +0 -1
  216. package/dist/browser/navigation-store.js +0 -625
  217. package/dist/browser/navigation-store.js.map +0 -1
  218. package/dist/browser/partial-update.d.ts +0 -75
  219. package/dist/browser/partial-update.d.ts.map +0 -1
  220. package/dist/browser/partial-update.js +0 -426
  221. package/dist/browser/partial-update.js.map +0 -1
  222. package/dist/browser/react/Link.d.ts +0 -86
  223. package/dist/browser/react/Link.d.ts.map +0 -1
  224. package/dist/browser/react/Link.js +0 -128
  225. package/dist/browser/react/Link.js.map +0 -1
  226. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  227. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  228. package/dist/browser/react/NavigationProvider.js +0 -216
  229. package/dist/browser/react/NavigationProvider.js.map +0 -1
  230. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  231. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  232. package/dist/browser/react/ScrollRestoration.js +0 -57
  233. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  234. package/dist/browser/react/context.d.ts +0 -46
  235. package/dist/browser/react/context.d.ts.map +0 -1
  236. package/dist/browser/react/context.js +0 -10
  237. package/dist/browser/react/context.js.map +0 -1
  238. package/dist/browser/react/index.d.ts +0 -11
  239. package/dist/browser/react/index.d.ts.map +0 -1
  240. package/dist/browser/react/index.js +0 -22
  241. package/dist/browser/react/index.js.map +0 -1
  242. package/dist/browser/react/location-state-shared.d.ts +0 -63
  243. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  244. package/dist/browser/react/location-state-shared.js +0 -81
  245. package/dist/browser/react/location-state-shared.js.map +0 -1
  246. package/dist/browser/react/location-state.d.ts +0 -23
  247. package/dist/browser/react/location-state.d.ts.map +0 -1
  248. package/dist/browser/react/location-state.js +0 -29
  249. package/dist/browser/react/location-state.js.map +0 -1
  250. package/dist/browser/react/mount-context.d.ts +0 -24
  251. package/dist/browser/react/mount-context.d.ts.map +0 -1
  252. package/dist/browser/react/mount-context.js +0 -24
  253. package/dist/browser/react/mount-context.js.map +0 -1
  254. package/dist/browser/react/use-action.d.ts +0 -64
  255. package/dist/browser/react/use-action.d.ts.map +0 -1
  256. package/dist/browser/react/use-action.js +0 -134
  257. package/dist/browser/react/use-action.js.map +0 -1
  258. package/dist/browser/react/use-client-cache.d.ts +0 -41
  259. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  260. package/dist/browser/react/use-client-cache.js +0 -39
  261. package/dist/browser/react/use-client-cache.js.map +0 -1
  262. package/dist/browser/react/use-handle.d.ts +0 -31
  263. package/dist/browser/react/use-handle.d.ts.map +0 -1
  264. package/dist/browser/react/use-handle.js +0 -144
  265. package/dist/browser/react/use-handle.js.map +0 -1
  266. package/dist/browser/react/use-href.d.ts +0 -33
  267. package/dist/browser/react/use-href.d.ts.map +0 -1
  268. package/dist/browser/react/use-href.js +0 -39
  269. package/dist/browser/react/use-href.js.map +0 -1
  270. package/dist/browser/react/use-link-status.d.ts +0 -37
  271. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  272. package/dist/browser/react/use-link-status.js +0 -99
  273. package/dist/browser/react/use-link-status.js.map +0 -1
  274. package/dist/browser/react/use-mount.d.ts +0 -25
  275. package/dist/browser/react/use-mount.d.ts.map +0 -1
  276. package/dist/browser/react/use-mount.js +0 -30
  277. package/dist/browser/react/use-mount.js.map +0 -1
  278. package/dist/browser/react/use-navigation.d.ts +0 -27
  279. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  280. package/dist/browser/react/use-navigation.js +0 -87
  281. package/dist/browser/react/use-navigation.js.map +0 -1
  282. package/dist/browser/react/use-segments.d.ts +0 -38
  283. package/dist/browser/react/use-segments.d.ts.map +0 -1
  284. package/dist/browser/react/use-segments.js +0 -130
  285. package/dist/browser/react/use-segments.js.map +0 -1
  286. package/dist/browser/request-controller.d.ts +0 -26
  287. package/dist/browser/request-controller.d.ts.map +0 -1
  288. package/dist/browser/request-controller.js +0 -147
  289. package/dist/browser/request-controller.js.map +0 -1
  290. package/dist/browser/rsc-router.d.ts +0 -129
  291. package/dist/browser/rsc-router.d.ts.map +0 -1
  292. package/dist/browser/rsc-router.js +0 -195
  293. package/dist/browser/rsc-router.js.map +0 -1
  294. package/dist/browser/scroll-restoration.d.ts +0 -93
  295. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  296. package/dist/browser/scroll-restoration.js +0 -321
  297. package/dist/browser/scroll-restoration.js.map +0 -1
  298. package/dist/browser/segment-structure-assert.d.ts +0 -17
  299. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  300. package/dist/browser/segment-structure-assert.js +0 -59
  301. package/dist/browser/segment-structure-assert.js.map +0 -1
  302. package/dist/browser/server-action-bridge.d.ts +0 -26
  303. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  304. package/dist/browser/server-action-bridge.js +0 -668
  305. package/dist/browser/server-action-bridge.js.map +0 -1
  306. package/dist/browser/shallow.d.ts +0 -12
  307. package/dist/browser/shallow.d.ts.map +0 -1
  308. package/dist/browser/shallow.js +0 -34
  309. package/dist/browser/shallow.js.map +0 -1
  310. package/dist/browser/types.d.ts +0 -369
  311. package/dist/browser/types.d.ts.map +0 -1
  312. package/dist/browser/types.js +0 -2
  313. package/dist/browser/types.js.map +0 -1
  314. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  315. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  316. package/dist/build/__tests__/generate-cli.test.js +0 -237
  317. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  318. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  319. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  320. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  321. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  322. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  323. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  324. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  325. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  326. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  327. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  328. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  329. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  330. package/dist/build/generate-manifest.d.ts +0 -81
  331. package/dist/build/generate-manifest.d.ts.map +0 -1
  332. package/dist/build/generate-manifest.js +0 -276
  333. package/dist/build/generate-manifest.js.map +0 -1
  334. package/dist/build/generate-route-types.d.ts +0 -115
  335. package/dist/build/generate-route-types.d.ts.map +0 -1
  336. package/dist/build/generate-route-types.js +0 -740
  337. package/dist/build/generate-route-types.js.map +0 -1
  338. package/dist/build/index.d.ts +0 -21
  339. package/dist/build/index.d.ts.map +0 -1
  340. package/dist/build/index.js +0 -21
  341. package/dist/build/index.js.map +0 -1
  342. package/dist/build/route-trie.d.ts +0 -71
  343. package/dist/build/route-trie.d.ts.map +0 -1
  344. package/dist/build/route-trie.js +0 -175
  345. package/dist/build/route-trie.js.map +0 -1
  346. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  347. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  348. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  349. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  350. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  351. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  352. package/dist/cache/__tests__/document-cache.test.js +0 -345
  353. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  354. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  355. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  356. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  357. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  358. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  359. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  360. package/dist/cache/__tests__/memory-store.test.js +0 -367
  361. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  362. package/dist/cache/cache-scope.d.ts +0 -102
  363. package/dist/cache/cache-scope.d.ts.map +0 -1
  364. package/dist/cache/cache-scope.js +0 -440
  365. package/dist/cache/cache-scope.js.map +0 -1
  366. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  367. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  368. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  369. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  370. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  371. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  372. package/dist/cache/cf/cf-cache-store.js +0 -242
  373. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  374. package/dist/cache/cf/index.d.ts +0 -14
  375. package/dist/cache/cf/index.d.ts.map +0 -1
  376. package/dist/cache/cf/index.js +0 -17
  377. package/dist/cache/cf/index.js.map +0 -1
  378. package/dist/cache/document-cache.d.ts +0 -64
  379. package/dist/cache/document-cache.d.ts.map +0 -1
  380. package/dist/cache/document-cache.js +0 -228
  381. package/dist/cache/document-cache.js.map +0 -1
  382. package/dist/cache/index.d.ts +0 -19
  383. package/dist/cache/index.d.ts.map +0 -1
  384. package/dist/cache/index.js +0 -21
  385. package/dist/cache/index.js.map +0 -1
  386. package/dist/cache/memory-segment-store.d.ts +0 -110
  387. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  388. package/dist/cache/memory-segment-store.js +0 -117
  389. package/dist/cache/memory-segment-store.js.map +0 -1
  390. package/dist/cache/memory-store.d.ts +0 -41
  391. package/dist/cache/memory-store.d.ts.map +0 -1
  392. package/dist/cache/memory-store.js +0 -191
  393. package/dist/cache/memory-store.js.map +0 -1
  394. package/dist/cache/types.d.ts +0 -317
  395. package/dist/cache/types.d.ts.map +0 -1
  396. package/dist/cache/types.js +0 -12
  397. package/dist/cache/types.js.map +0 -1
  398. package/dist/client.d.ts +0 -248
  399. package/dist/client.d.ts.map +0 -1
  400. package/dist/client.js +0 -367
  401. package/dist/client.js.map +0 -1
  402. package/dist/client.rsc.d.ts +0 -26
  403. package/dist/client.rsc.d.ts.map +0 -1
  404. package/dist/client.rsc.js +0 -46
  405. package/dist/client.rsc.js.map +0 -1
  406. package/dist/component-utils.d.ts +0 -36
  407. package/dist/component-utils.d.ts.map +0 -1
  408. package/dist/component-utils.js +0 -61
  409. package/dist/component-utils.js.map +0 -1
  410. package/dist/components/DefaultDocument.d.ts +0 -13
  411. package/dist/components/DefaultDocument.d.ts.map +0 -1
  412. package/dist/components/DefaultDocument.js +0 -15
  413. package/dist/components/DefaultDocument.js.map +0 -1
  414. package/dist/debug.d.ts +0 -58
  415. package/dist/debug.d.ts.map +0 -1
  416. package/dist/debug.js +0 -157
  417. package/dist/debug.js.map +0 -1
  418. package/dist/default-error-boundary.d.ts +0 -11
  419. package/dist/default-error-boundary.d.ts.map +0 -1
  420. package/dist/default-error-boundary.js +0 -45
  421. package/dist/default-error-boundary.js.map +0 -1
  422. package/dist/deps/browser.d.ts +0 -2
  423. package/dist/deps/browser.d.ts.map +0 -1
  424. package/dist/deps/browser.js +0 -3
  425. package/dist/deps/browser.js.map +0 -1
  426. package/dist/deps/html-stream-client.d.ts +0 -2
  427. package/dist/deps/html-stream-client.d.ts.map +0 -1
  428. package/dist/deps/html-stream-client.js +0 -3
  429. package/dist/deps/html-stream-client.js.map +0 -1
  430. package/dist/deps/html-stream-server.d.ts +0 -2
  431. package/dist/deps/html-stream-server.d.ts.map +0 -1
  432. package/dist/deps/html-stream-server.js +0 -3
  433. package/dist/deps/html-stream-server.js.map +0 -1
  434. package/dist/deps/rsc.d.ts +0 -2
  435. package/dist/deps/rsc.d.ts.map +0 -1
  436. package/dist/deps/rsc.js +0 -4
  437. package/dist/deps/rsc.js.map +0 -1
  438. package/dist/deps/ssr.d.ts +0 -2
  439. package/dist/deps/ssr.d.ts.map +0 -1
  440. package/dist/deps/ssr.js +0 -3
  441. package/dist/deps/ssr.js.map +0 -1
  442. package/dist/errors.d.ts +0 -174
  443. package/dist/errors.d.ts.map +0 -1
  444. package/dist/errors.js +0 -241
  445. package/dist/errors.js.map +0 -1
  446. package/dist/handle.d.ts +0 -78
  447. package/dist/handle.d.ts.map +0 -1
  448. package/dist/handle.js +0 -82
  449. package/dist/handle.js.map +0 -1
  450. package/dist/handles/MetaTags.d.ts +0 -14
  451. package/dist/handles/MetaTags.d.ts.map +0 -1
  452. package/dist/handles/MetaTags.js +0 -136
  453. package/dist/handles/MetaTags.js.map +0 -1
  454. package/dist/handles/index.d.ts +0 -6
  455. package/dist/handles/index.d.ts.map +0 -1
  456. package/dist/handles/index.js +0 -6
  457. package/dist/handles/index.js.map +0 -1
  458. package/dist/handles/meta.d.ts +0 -39
  459. package/dist/handles/meta.d.ts.map +0 -1
  460. package/dist/handles/meta.js +0 -202
  461. package/dist/handles/meta.js.map +0 -1
  462. package/dist/host/__tests__/errors.test.d.ts +0 -2
  463. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  464. package/dist/host/__tests__/errors.test.js +0 -76
  465. package/dist/host/__tests__/errors.test.js.map +0 -1
  466. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  467. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  468. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  469. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  470. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  471. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  472. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  473. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  474. package/dist/host/__tests__/router.test.d.ts +0 -2
  475. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  476. package/dist/host/__tests__/router.test.js +0 -241
  477. package/dist/host/__tests__/router.test.js.map +0 -1
  478. package/dist/host/__tests__/testing.test.d.ts +0 -2
  479. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  480. package/dist/host/__tests__/testing.test.js +0 -64
  481. package/dist/host/__tests__/testing.test.js.map +0 -1
  482. package/dist/host/__tests__/utils.test.d.ts +0 -2
  483. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  484. package/dist/host/__tests__/utils.test.js +0 -29
  485. package/dist/host/__tests__/utils.test.js.map +0 -1
  486. package/dist/host/cookie-handler.d.ts +0 -34
  487. package/dist/host/cookie-handler.d.ts.map +0 -1
  488. package/dist/host/cookie-handler.js +0 -124
  489. package/dist/host/cookie-handler.js.map +0 -1
  490. package/dist/host/errors.d.ts +0 -56
  491. package/dist/host/errors.d.ts.map +0 -1
  492. package/dist/host/errors.js +0 -79
  493. package/dist/host/errors.js.map +0 -1
  494. package/dist/host/index.d.ts +0 -29
  495. package/dist/host/index.d.ts.map +0 -1
  496. package/dist/host/index.js +0 -32
  497. package/dist/host/index.js.map +0 -1
  498. package/dist/host/pattern-matcher.d.ts +0 -36
  499. package/dist/host/pattern-matcher.d.ts.map +0 -1
  500. package/dist/host/pattern-matcher.js +0 -172
  501. package/dist/host/pattern-matcher.js.map +0 -1
  502. package/dist/host/router.d.ts +0 -26
  503. package/dist/host/router.d.ts.map +0 -1
  504. package/dist/host/router.js +0 -218
  505. package/dist/host/router.js.map +0 -1
  506. package/dist/host/testing.d.ts +0 -36
  507. package/dist/host/testing.d.ts.map +0 -1
  508. package/dist/host/testing.js +0 -55
  509. package/dist/host/testing.js.map +0 -1
  510. package/dist/host/types.d.ts +0 -115
  511. package/dist/host/types.d.ts.map +0 -1
  512. package/dist/host/types.js +0 -7
  513. package/dist/host/types.js.map +0 -1
  514. package/dist/host/utils.d.ts +0 -21
  515. package/dist/host/utils.d.ts.map +0 -1
  516. package/dist/host/utils.js +0 -23
  517. package/dist/host/utils.js.map +0 -1
  518. package/dist/href-client.d.ts +0 -131
  519. package/dist/href-client.d.ts.map +0 -1
  520. package/dist/href-client.js +0 -64
  521. package/dist/href-client.js.map +0 -1
  522. package/dist/href-context.d.ts +0 -29
  523. package/dist/href-context.d.ts.map +0 -1
  524. package/dist/href-context.js +0 -21
  525. package/dist/href-context.js.map +0 -1
  526. package/dist/index.d.ts +0 -73
  527. package/dist/index.d.ts.map +0 -1
  528. package/dist/index.js +0 -91
  529. package/dist/index.js.map +0 -1
  530. package/dist/index.rsc.d.ts +0 -32
  531. package/dist/index.rsc.d.ts.map +0 -1
  532. package/dist/index.rsc.js +0 -40
  533. package/dist/index.rsc.js.map +0 -1
  534. package/dist/internal-debug.d.ts +0 -2
  535. package/dist/internal-debug.d.ts.map +0 -1
  536. package/dist/internal-debug.js +0 -5
  537. package/dist/internal-debug.js.map +0 -1
  538. package/dist/loader.d.ts +0 -14
  539. package/dist/loader.d.ts.map +0 -1
  540. package/dist/loader.js +0 -20
  541. package/dist/loader.js.map +0 -1
  542. package/dist/loader.rsc.d.ts +0 -19
  543. package/dist/loader.rsc.d.ts.map +0 -1
  544. package/dist/loader.rsc.js +0 -99
  545. package/dist/loader.rsc.js.map +0 -1
  546. package/dist/network-error-thrower.d.ts +0 -17
  547. package/dist/network-error-thrower.d.ts.map +0 -1
  548. package/dist/network-error-thrower.js +0 -14
  549. package/dist/network-error-thrower.js.map +0 -1
  550. package/dist/outlet-context.d.ts +0 -13
  551. package/dist/outlet-context.d.ts.map +0 -1
  552. package/dist/outlet-context.js +0 -3
  553. package/dist/outlet-context.js.map +0 -1
  554. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  555. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  556. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  557. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  558. package/dist/prerender/param-hash.d.ts +0 -16
  559. package/dist/prerender/param-hash.d.ts.map +0 -1
  560. package/dist/prerender/param-hash.js +0 -36
  561. package/dist/prerender/param-hash.js.map +0 -1
  562. package/dist/prerender/store.d.ts +0 -38
  563. package/dist/prerender/store.d.ts.map +0 -1
  564. package/dist/prerender/store.js +0 -61
  565. package/dist/prerender/store.js.map +0 -1
  566. package/dist/prerender.d.ts +0 -66
  567. package/dist/prerender.d.ts.map +0 -1
  568. package/dist/prerender.js +0 -57
  569. package/dist/prerender.js.map +0 -1
  570. package/dist/reverse.d.ts +0 -196
  571. package/dist/reverse.d.ts.map +0 -1
  572. package/dist/reverse.js +0 -78
  573. package/dist/reverse.js.map +0 -1
  574. package/dist/root-error-boundary.d.ts +0 -33
  575. package/dist/root-error-boundary.d.ts.map +0 -1
  576. package/dist/root-error-boundary.js +0 -165
  577. package/dist/root-error-boundary.js.map +0 -1
  578. package/dist/route-content-wrapper.d.ts +0 -46
  579. package/dist/route-content-wrapper.d.ts.map +0 -1
  580. package/dist/route-content-wrapper.js +0 -77
  581. package/dist/route-content-wrapper.js.map +0 -1
  582. package/dist/route-definition.d.ts +0 -421
  583. package/dist/route-definition.d.ts.map +0 -1
  584. package/dist/route-definition.js +0 -868
  585. package/dist/route-definition.js.map +0 -1
  586. package/dist/route-map-builder.d.ts +0 -155
  587. package/dist/route-map-builder.d.ts.map +0 -1
  588. package/dist/route-map-builder.js +0 -237
  589. package/dist/route-map-builder.js.map +0 -1
  590. package/dist/route-types.d.ts +0 -165
  591. package/dist/route-types.d.ts.map +0 -1
  592. package/dist/route-types.js +0 -7
  593. package/dist/route-types.js.map +0 -1
  594. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  595. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  596. package/dist/router/__tests__/handler-context.test.js +0 -65
  597. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  598. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  599. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  600. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  601. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  602. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  603. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  604. package/dist/router/__tests__/match-context.test.js +0 -92
  605. package/dist/router/__tests__/match-context.test.js.map +0 -1
  606. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  607. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  608. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  609. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  610. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  611. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  612. package/dist/router/__tests__/match-result.test.js +0 -457
  613. package/dist/router/__tests__/match-result.test.js.map +0 -1
  614. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  615. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  616. package/dist/router/__tests__/on-error.test.js +0 -678
  617. package/dist/router/__tests__/on-error.test.js.map +0 -1
  618. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  619. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  620. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  621. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  622. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  623. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  624. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  625. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  626. package/dist/router/error-handling.d.ts +0 -77
  627. package/dist/router/error-handling.d.ts.map +0 -1
  628. package/dist/router/error-handling.js +0 -202
  629. package/dist/router/error-handling.js.map +0 -1
  630. package/dist/router/handler-context.d.ts +0 -20
  631. package/dist/router/handler-context.d.ts.map +0 -1
  632. package/dist/router/handler-context.js +0 -198
  633. package/dist/router/handler-context.js.map +0 -1
  634. package/dist/router/intercept-resolution.d.ts +0 -66
  635. package/dist/router/intercept-resolution.d.ts.map +0 -1
  636. package/dist/router/intercept-resolution.js +0 -246
  637. package/dist/router/intercept-resolution.js.map +0 -1
  638. package/dist/router/loader-resolution.d.ts +0 -64
  639. package/dist/router/loader-resolution.d.ts.map +0 -1
  640. package/dist/router/loader-resolution.js +0 -284
  641. package/dist/router/loader-resolution.js.map +0 -1
  642. package/dist/router/logging.d.ts +0 -15
  643. package/dist/router/logging.d.ts.map +0 -1
  644. package/dist/router/logging.js +0 -99
  645. package/dist/router/logging.js.map +0 -1
  646. package/dist/router/manifest.d.ts +0 -22
  647. package/dist/router/manifest.d.ts.map +0 -1
  648. package/dist/router/manifest.js +0 -181
  649. package/dist/router/manifest.js.map +0 -1
  650. package/dist/router/match-api.d.ts +0 -35
  651. package/dist/router/match-api.d.ts.map +0 -1
  652. package/dist/router/match-api.js +0 -406
  653. package/dist/router/match-api.js.map +0 -1
  654. package/dist/router/match-context.d.ts +0 -206
  655. package/dist/router/match-context.d.ts.map +0 -1
  656. package/dist/router/match-context.js +0 -17
  657. package/dist/router/match-context.js.map +0 -1
  658. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  659. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  660. package/dist/router/match-middleware/background-revalidation.js +0 -75
  661. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  662. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  663. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  664. package/dist/router/match-middleware/cache-lookup.js +0 -257
  665. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  666. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  667. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  668. package/dist/router/match-middleware/cache-store.js +0 -108
  669. package/dist/router/match-middleware/cache-store.js.map +0 -1
  670. package/dist/router/match-middleware/index.d.ts +0 -81
  671. package/dist/router/match-middleware/index.d.ts.map +0 -1
  672. package/dist/router/match-middleware/index.js +0 -80
  673. package/dist/router/match-middleware/index.js.map +0 -1
  674. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  675. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  676. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  677. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  678. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  679. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  680. package/dist/router/match-middleware/segment-resolution.js +0 -53
  681. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  682. package/dist/router/match-pipelines.d.ts +0 -147
  683. package/dist/router/match-pipelines.d.ts.map +0 -1
  684. package/dist/router/match-pipelines.js +0 -82
  685. package/dist/router/match-pipelines.js.map +0 -1
  686. package/dist/router/match-result.d.ts +0 -126
  687. package/dist/router/match-result.d.ts.map +0 -1
  688. package/dist/router/match-result.js +0 -93
  689. package/dist/router/match-result.js.map +0 -1
  690. package/dist/router/metrics.d.ts +0 -20
  691. package/dist/router/metrics.d.ts.map +0 -1
  692. package/dist/router/metrics.js +0 -47
  693. package/dist/router/metrics.js.map +0 -1
  694. package/dist/router/middleware.d.ts +0 -249
  695. package/dist/router/middleware.d.ts.map +0 -1
  696. package/dist/router/middleware.js +0 -434
  697. package/dist/router/middleware.js.map +0 -1
  698. package/dist/router/middleware.test.d.ts +0 -2
  699. package/dist/router/middleware.test.d.ts.map +0 -1
  700. package/dist/router/middleware.test.js +0 -816
  701. package/dist/router/middleware.test.js.map +0 -1
  702. package/dist/router/pattern-matching.d.ts +0 -149
  703. package/dist/router/pattern-matching.d.ts.map +0 -1
  704. package/dist/router/pattern-matching.js +0 -349
  705. package/dist/router/pattern-matching.js.map +0 -1
  706. package/dist/router/revalidation.d.ts +0 -44
  707. package/dist/router/revalidation.d.ts.map +0 -1
  708. package/dist/router/revalidation.js +0 -147
  709. package/dist/router/revalidation.js.map +0 -1
  710. package/dist/router/router-context.d.ts +0 -135
  711. package/dist/router/router-context.d.ts.map +0 -1
  712. package/dist/router/router-context.js +0 -36
  713. package/dist/router/router-context.js.map +0 -1
  714. package/dist/router/segment-resolution.d.ts +0 -127
  715. package/dist/router/segment-resolution.d.ts.map +0 -1
  716. package/dist/router/segment-resolution.js +0 -919
  717. package/dist/router/segment-resolution.js.map +0 -1
  718. package/dist/router/trie-matching.d.ts +0 -40
  719. package/dist/router/trie-matching.d.ts.map +0 -1
  720. package/dist/router/trie-matching.js +0 -127
  721. package/dist/router/trie-matching.js.map +0 -1
  722. package/dist/router/types.d.ts +0 -136
  723. package/dist/router/types.d.ts.map +0 -1
  724. package/dist/router/types.js +0 -7
  725. package/dist/router/types.js.map +0 -1
  726. package/dist/router.d.ts +0 -753
  727. package/dist/router.d.ts.map +0 -1
  728. package/dist/router.gen.d.ts +0 -6
  729. package/dist/router.gen.d.ts.map +0 -1
  730. package/dist/router.gen.js +0 -6
  731. package/dist/router.gen.js.map +0 -1
  732. package/dist/router.js +0 -1304
  733. package/dist/router.js.map +0 -1
  734. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  735. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  736. package/dist/rsc/__tests__/helpers.test.js +0 -140
  737. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  738. package/dist/rsc/handler.d.ts +0 -45
  739. package/dist/rsc/handler.d.ts.map +0 -1
  740. package/dist/rsc/handler.js +0 -1172
  741. package/dist/rsc/handler.js.map +0 -1
  742. package/dist/rsc/helpers.d.ts +0 -16
  743. package/dist/rsc/helpers.d.ts.map +0 -1
  744. package/dist/rsc/helpers.js +0 -55
  745. package/dist/rsc/helpers.js.map +0 -1
  746. package/dist/rsc/index.d.ts +0 -22
  747. package/dist/rsc/index.d.ts.map +0 -1
  748. package/dist/rsc/index.js +0 -23
  749. package/dist/rsc/index.js.map +0 -1
  750. package/dist/rsc/nonce.d.ts +0 -9
  751. package/dist/rsc/nonce.d.ts.map +0 -1
  752. package/dist/rsc/nonce.js +0 -18
  753. package/dist/rsc/nonce.js.map +0 -1
  754. package/dist/rsc/types.d.ts +0 -206
  755. package/dist/rsc/types.d.ts.map +0 -1
  756. package/dist/rsc/types.js +0 -8
  757. package/dist/rsc/types.js.map +0 -1
  758. package/dist/search-params.d.ts +0 -103
  759. package/dist/search-params.d.ts.map +0 -1
  760. package/dist/search-params.js +0 -74
  761. package/dist/search-params.js.map +0 -1
  762. package/dist/segment-system.d.ts +0 -75
  763. package/dist/segment-system.d.ts.map +0 -1
  764. package/dist/segment-system.js +0 -336
  765. package/dist/segment-system.js.map +0 -1
  766. package/dist/server/context.d.ts +0 -245
  767. package/dist/server/context.d.ts.map +0 -1
  768. package/dist/server/context.js +0 -197
  769. package/dist/server/context.js.map +0 -1
  770. package/dist/server/fetchable-loader-store.d.ts +0 -18
  771. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  772. package/dist/server/fetchable-loader-store.js +0 -18
  773. package/dist/server/fetchable-loader-store.js.map +0 -1
  774. package/dist/server/handle-store.d.ts +0 -85
  775. package/dist/server/handle-store.d.ts.map +0 -1
  776. package/dist/server/handle-store.js +0 -142
  777. package/dist/server/handle-store.js.map +0 -1
  778. package/dist/server/loader-registry.d.ts +0 -55
  779. package/dist/server/loader-registry.d.ts.map +0 -1
  780. package/dist/server/loader-registry.js +0 -132
  781. package/dist/server/loader-registry.js.map +0 -1
  782. package/dist/server/request-context.d.ts +0 -226
  783. package/dist/server/request-context.d.ts.map +0 -1
  784. package/dist/server/request-context.js +0 -290
  785. package/dist/server/request-context.js.map +0 -1
  786. package/dist/server/root-layout.d.ts +0 -4
  787. package/dist/server/root-layout.d.ts.map +0 -1
  788. package/dist/server/root-layout.js +0 -5
  789. package/dist/server/root-layout.js.map +0 -1
  790. package/dist/server.d.ts +0 -15
  791. package/dist/server.d.ts.map +0 -1
  792. package/dist/server.js +0 -20
  793. package/dist/server.js.map +0 -1
  794. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  795. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  796. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  797. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  798. package/dist/ssr/index.d.ts +0 -98
  799. package/dist/ssr/index.d.ts.map +0 -1
  800. package/dist/ssr/index.js +0 -158
  801. package/dist/ssr/index.js.map +0 -1
  802. package/dist/static-handler.d.ts +0 -50
  803. package/dist/static-handler.d.ts.map +0 -1
  804. package/dist/static-handler.gen.d.ts +0 -5
  805. package/dist/static-handler.gen.d.ts.map +0 -1
  806. package/dist/static-handler.gen.js +0 -5
  807. package/dist/static-handler.gen.js.map +0 -1
  808. package/dist/static-handler.js +0 -29
  809. package/dist/static-handler.js.map +0 -1
  810. package/dist/theme/ThemeProvider.d.ts +0 -20
  811. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  812. package/dist/theme/ThemeProvider.js +0 -240
  813. package/dist/theme/ThemeProvider.js.map +0 -1
  814. package/dist/theme/ThemeScript.d.ts +0 -48
  815. package/dist/theme/ThemeScript.d.ts.map +0 -1
  816. package/dist/theme/ThemeScript.js +0 -13
  817. package/dist/theme/ThemeScript.js.map +0 -1
  818. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  819. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  820. package/dist/theme/__tests__/theme.test.js +0 -103
  821. package/dist/theme/__tests__/theme.test.js.map +0 -1
  822. package/dist/theme/constants.d.ts +0 -29
  823. package/dist/theme/constants.d.ts.map +0 -1
  824. package/dist/theme/constants.js +0 -48
  825. package/dist/theme/constants.js.map +0 -1
  826. package/dist/theme/index.d.ts +0 -31
  827. package/dist/theme/index.d.ts.map +0 -1
  828. package/dist/theme/index.js +0 -36
  829. package/dist/theme/index.js.map +0 -1
  830. package/dist/theme/theme-context.d.ts +0 -40
  831. package/dist/theme/theme-context.d.ts.map +0 -1
  832. package/dist/theme/theme-context.js +0 -60
  833. package/dist/theme/theme-context.js.map +0 -1
  834. package/dist/theme/theme-script.d.ts +0 -27
  835. package/dist/theme/theme-script.d.ts.map +0 -1
  836. package/dist/theme/theme-script.js +0 -147
  837. package/dist/theme/theme-script.js.map +0 -1
  838. package/dist/theme/types.d.ts +0 -163
  839. package/dist/theme/types.d.ts.map +0 -1
  840. package/dist/theme/types.js +0 -11
  841. package/dist/theme/types.js.map +0 -1
  842. package/dist/theme/use-theme.d.ts +0 -12
  843. package/dist/theme/use-theme.d.ts.map +0 -1
  844. package/dist/theme/use-theme.js +0 -40
  845. package/dist/theme/use-theme.js.map +0 -1
  846. package/dist/types.d.ts +0 -1479
  847. package/dist/types.d.ts.map +0 -1
  848. package/dist/types.js +0 -10
  849. package/dist/types.js.map +0 -1
  850. package/dist/urls.d.ts +0 -441
  851. package/dist/urls.d.ts.map +0 -1
  852. package/dist/urls.gen.d.ts +0 -8
  853. package/dist/urls.gen.d.ts.map +0 -1
  854. package/dist/urls.gen.js +0 -8
  855. package/dist/urls.gen.js.map +0 -1
  856. package/dist/urls.js +0 -443
  857. package/dist/urls.js.map +0 -1
  858. package/dist/use-loader.d.ts +0 -127
  859. package/dist/use-loader.d.ts.map +0 -1
  860. package/dist/use-loader.js +0 -237
  861. package/dist/use-loader.js.map +0 -1
  862. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  863. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  864. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  865. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  866. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  867. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  868. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  869. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  870. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  871. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  872. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  873. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  874. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  875. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  876. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  877. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  878. package/dist/vite/ast-handler-extract.d.ts +0 -49
  879. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  880. package/dist/vite/ast-handler-extract.js +0 -249
  881. package/dist/vite/ast-handler-extract.js.map +0 -1
  882. package/dist/vite/expose-action-id.d.ts +0 -19
  883. package/dist/vite/expose-action-id.d.ts.map +0 -1
  884. package/dist/vite/expose-action-id.js +0 -250
  885. package/dist/vite/expose-action-id.js.map +0 -1
  886. package/dist/vite/expose-id-utils.d.ts +0 -69
  887. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  888. package/dist/vite/expose-id-utils.js +0 -289
  889. package/dist/vite/expose-id-utils.js.map +0 -1
  890. package/dist/vite/expose-internal-ids.d.ts +0 -22
  891. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  892. package/dist/vite/expose-internal-ids.js +0 -886
  893. package/dist/vite/expose-internal-ids.js.map +0 -1
  894. package/dist/vite/index.d.ts +0 -149
  895. package/dist/vite/index.d.ts.map +0 -1
  896. package/dist/vite/index.js.map +0 -1
  897. package/dist/vite/index.named-routes.gen.ts +0 -103
  898. package/dist/vite/package-resolution.d.ts +0 -43
  899. package/dist/vite/package-resolution.d.ts.map +0 -1
  900. package/dist/vite/package-resolution.js +0 -112
  901. package/dist/vite/package-resolution.js.map +0 -1
  902. package/dist/vite/virtual-entries.d.ts +0 -25
  903. package/dist/vite/virtual-entries.d.ts.map +0 -1
  904. package/dist/vite/virtual-entries.js +0 -110
  905. package/dist/vite/virtual-entries.js.map +0 -1
  906. package/src/browser/debug-channel.ts +0 -93
@@ -1,113 +0,0 @@
1
- /**
2
- * Cache Store Middleware
3
- *
4
- * Stores resolved segments in cache for future requests.
5
- * Implements proactive caching for partial navigation scenarios.
6
- *
7
- * FLOW DIAGRAM
8
- * ============
9
- *
10
- * source (from intercept-resolution)
11
- * |
12
- * v
13
- * +---------------------------+
14
- * | Collect + yield all | Observer pattern: pass through
15
- * | allSegments[] |
16
- * +---------------------------+
17
- * |
18
- * v
19
- * +---------------------+
20
- * | Should skip cache? |
21
- * | - !cacheScope |──yes──> return
22
- * | - isAction |
23
- * | - cacheHit |
24
- * | - method !== GET |
25
- * +---------------------+
26
- * | no
27
- * v
28
- * +-------------------------------+
29
- * | Any null components? |
30
- * | (client already has segment) |
31
- * +-------------------------------+
32
- * |
33
- * +-----+-----+
34
- * | |
35
- * yes no
36
- * | |
37
- * v v
38
- * PROACTIVE DIRECT
39
- * CACHE CACHE
40
- * | |
41
- * v v
42
- * waitUntil() cacheRoute()
43
- * re-render immediately
44
- * fresh |
45
- * | |
46
- * +-----------+
47
- * |
48
- * v
49
- * next middleware
50
- *
51
- *
52
- * CACHING STRATEGIES
53
- * ==================
54
- *
55
- * 1. Direct Cache (all components present):
56
- * - Immediate cacheRoute() call
57
- * - All segments have valid components
58
- * - Used for fresh full-page renders
59
- *
60
- * 2. Proactive Cache (null components present):
61
- * - Background re-render via waitUntil()
62
- * - Creates fresh context to avoid polluting response
63
- * - Re-resolves ALL segments without revalidation
64
- * - Ensures cache has complete components for future requests
65
- *
66
- *
67
- * WHY PROACTIVE CACHING?
68
- * ======================
69
- *
70
- * During partial navigation, some segments have null components:
71
- *
72
- * Request: /products/123 -> /products/456
73
- * Segments: [ProductLayout(null), ProductPage(component)]
74
- *
75
- * The null means "client already has this, don't re-send."
76
- * But if we cache these null components, future document requests
77
- * would fail (no component to render).
78
- *
79
- * Solution: Background re-render all segments fresh, then cache.
80
- * This ensures the cache always has complete, renderable segments.
81
- *
82
- *
83
- * PROACTIVE CACHE FLOW
84
- * ====================
85
- *
86
- * 1. Current request returns (fast, with nulls)
87
- * 2. waitUntil() triggers background work
88
- * 3. Create fresh handler context (silent, no stream pollution)
89
- * 4. Re-resolve all entries without revalidation logic
90
- * 5. Also resolve intercept segments if applicable
91
- * 6. Store complete segments in cache
92
- *
93
- *
94
- * SKIP CONDITIONS
95
- * ===============
96
- *
97
- * Caching is skipped when:
98
- * - Cache scope disabled (no caching configured)
99
- * - This is an action request (mutations shouldn't cache)
100
- * - Cache was already hit (no need to re-cache same data)
101
- * - Non-GET request (only GET requests are cacheable)
102
- */
103
- import type { ResolvedSegment } from "../../types.js";
104
- import type { MatchContext, MatchPipelineState } from "../match-context.js";
105
- import type { GeneratorMiddleware } from "./cache-lookup.js";
106
- /**
107
- * Creates cache store middleware
108
- *
109
- * Observes all segments passing through and stores them in cache after pipeline completes.
110
- * Handles proactive caching for null-component segments.
111
- */
112
- export declare function withCacheStore<TEnv>(ctx: MatchContext<TEnv>, state: MatchPipelineState): GeneratorMiddleware<ResolvedSegment>;
113
- //# sourceMappingURL=cache-store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache-store.d.ts","sourceRoot":"","sources":["../../../src/router/match-middleware/cache-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqGG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAG5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EACjC,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,EACvB,KAAK,EAAE,kBAAkB,GACxB,mBAAmB,CAAC,eAAe,CAAC,CA+JtC"}
@@ -1,108 +0,0 @@
1
- import { getRequestContext } from "../../server/request-context.js";
2
- import { getRouterContext } from "../router-context.js";
3
- import { debugLog, debugWarn } from "../logging.js";
4
- /**
5
- * Creates cache store middleware
6
- *
7
- * Observes all segments passing through and stores them in cache after pipeline completes.
8
- * Handles proactive caching for null-component segments.
9
- */
10
- export function withCacheStore(ctx, state) {
11
- return async function* (source) {
12
- const pipelineStart = performance.now();
13
- const ms = ctx.metricsStore;
14
- // Collect all segments while passing them through
15
- const allSegments = [];
16
- for await (const segment of source) {
17
- allSegments.push(segment);
18
- yield segment;
19
- }
20
- // Skip caching if:
21
- // 1. Cache miss but cache scope is disabled
22
- // 2. This is an action (actions don't cache)
23
- // 3. Cache was already hit (no need to re-cache)
24
- // 4. Non-GET request (only cache GET requests)
25
- if (!ctx.cacheScope?.enabled ||
26
- ctx.isAction ||
27
- state.cacheHit ||
28
- ctx.request.method !== "GET") {
29
- if (ms) {
30
- ms.metrics.push({ label: "pipeline:cache-store", duration: performance.now() - pipelineStart, startTime: pipelineStart - ms.requestStart });
31
- }
32
- return;
33
- }
34
- const { createHandlerContext, setupLoaderAccessSilent, resolveAllSegments, resolveInterceptEntry, } = getRouterContext();
35
- // Combine main segments with intercept segments
36
- const allSegmentsToCache = [...allSegments, ...state.interceptSegments];
37
- // Check if any non-loader segments have null components
38
- // This happens when client already had those segments (partial navigation)
39
- const hasNullComponents = allSegmentsToCache.some((s) => s.component === null && s.type !== "loader");
40
- const requestCtx = getRequestContext();
41
- if (!requestCtx)
42
- return;
43
- const cacheScope = ctx.cacheScope;
44
- // Register onResponse callback to skip caching for non-200 responses
45
- // Note: error/notFound status codes are set elsewhere (not caching-specific)
46
- requestCtx.onResponse((response) => {
47
- // Only cache successful responses
48
- if (response.status !== 200) {
49
- debugLog("cacheStore", "skipping cache for non-200 response", {
50
- status: response.status,
51
- pathname: ctx.pathname,
52
- });
53
- return response;
54
- }
55
- if (hasNullComponents) {
56
- // Proactive caching: render all segments fresh in background
57
- // This ensures cache has complete components for future requests
58
- requestCtx.waitUntil(async () => {
59
- debugLog("cacheStore", "proactive caching started", {
60
- pathname: ctx.pathname,
61
- });
62
- try {
63
- // Create fresh context for proactive caching
64
- // This prevents handle data from polluting the response stream
65
- const proactiveHandlerContext = createHandlerContext(ctx.matched.params, ctx.request, ctx.url.searchParams, ctx.pathname, ctx.url, ctx.bindings, ctx.routeMap, ctx.matched.routeKey);
66
- const proactiveLoaderPromises = new Map();
67
- // Set up loader access that ignores handle pushes
68
- setupLoaderAccessSilent(proactiveHandlerContext, proactiveLoaderPromises);
69
- // Re-resolve ALL segments without revalidation
70
- const Store = ctx.Store;
71
- const freshSegments = await Store.run(() => resolveAllSegments(ctx.entries, ctx.routeKey, ctx.matched.params, proactiveHandlerContext, proactiveLoaderPromises));
72
- // Also resolve intercept segments fresh if applicable
73
- let freshInterceptSegments = [];
74
- if (ctx.interceptResult) {
75
- freshInterceptSegments = await Store.run(() => resolveInterceptEntry(ctx.interceptResult.intercept, ctx.interceptResult.entry, ctx.matched.params, proactiveHandlerContext, true));
76
- }
77
- const completeSegments = [
78
- ...freshSegments,
79
- ...freshInterceptSegments,
80
- ];
81
- await cacheScope.cacheRoute(ctx.pathname, ctx.matched.params, completeSegments, ctx.isIntercept);
82
- debugLog("cacheStore", "proactive caching complete", {
83
- pathname: ctx.pathname,
84
- });
85
- }
86
- catch (error) {
87
- debugWarn("cacheStore", "proactive caching failed", {
88
- pathname: ctx.pathname,
89
- error: String(error),
90
- });
91
- }
92
- });
93
- }
94
- else {
95
- // All segments have components - cache directly
96
- // Schedule caching in waitUntil since cacheRoute is now async (key resolution)
97
- requestCtx.waitUntil(async () => {
98
- await cacheScope.cacheRoute(ctx.pathname, ctx.matched.params, allSegmentsToCache, ctx.isIntercept);
99
- });
100
- }
101
- return response;
102
- });
103
- if (ms) {
104
- ms.metrics.push({ label: "pipeline:cache-store", duration: performance.now() - pipelineStart, startTime: pipelineStart - ms.requestStart });
105
- }
106
- };
107
- }
108
- //# sourceMappingURL=cache-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache-store.js","sourceRoot":"","sources":["../../../src/router/match-middleware/cache-store.ts"],"names":[],"mappings":"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"}
@@ -1,81 +0,0 @@
1
- /**
2
- * Match Middleware
3
- *
4
- * Async generator middleware for the match pipeline.
5
- * Each middleware transforms or enriches the segment stream.
6
- *
7
- * MIDDLEWARE OVERVIEW
8
- * ===================
9
- *
10
- * The pipeline consists of 5 middleware layers, each with a specific role:
11
- *
12
- * +-------------------------------------------------------------------------+
13
- * | MIDDLEWARE PIPELINE |
14
- * +-------------------------------------------------------------------------+
15
- * | |
16
- * | [1] CACHE LOOKUP (innermost) |
17
- * | Purpose: Check cache before resolving |
18
- * | On hit: Yield cached segments + fresh loaders |
19
- * | On miss: Pass through to segment resolution |
20
- * | Side effects: Sets state.cacheHit, state.shouldRevalidate |
21
- * | |
22
- * | [2] SEGMENT RESOLUTION |
23
- * | Purpose: Resolve segments when cache misses |
24
- * | Skips if: state.cacheHit === true |
25
- * | Produces: All route segments (layouts, routes, loaders) |
26
- * | Two modes: Full (simple) vs Partial (with revalidation) |
27
- * | |
28
- * | [3] INTERCEPT RESOLUTION |
29
- * | Purpose: Resolve intercept segments (modal slots) |
30
- * | Triggers: When ctx.interceptResult exists |
31
- * | Produces: Additional segments for named slots |
32
- * | Updates: state.slots[slotName] with intercept segments |
33
- * | |
34
- * | [4] CACHE STORE |
35
- * | Purpose: Store segments in cache for future requests |
36
- * | Skips if: Cache hit, actions, or cache disabled |
37
- * | Strategy: Direct cache if all components present |
38
- * | Proactive cache if null components (via waitUntil) |
39
- * | |
40
- * | [5] BACKGROUND REVALIDATION (outermost) |
41
- * | Purpose: SWR - serve stale, revalidate in background |
42
- * | Triggers: When state.shouldRevalidate === true |
43
- * | Action: Async resolution via waitUntil(), updates cache |
44
- * | |
45
- * +-------------------------------------------------------------------------+
46
- *
47
- *
48
- * MIDDLEWARE INTERACTION PATTERNS
49
- * ===============================
50
- *
51
- * Pattern 1: Producer Middleware (cache-lookup, segment-resolution)
52
- * - Yields segments into the stream
53
- * - Creates new data for downstream middleware
54
- *
55
- * Pattern 2: Transformer Middleware (intercept-resolution)
56
- * - Passes through existing segments
57
- * - Adds additional segments (intercepts)
58
- *
59
- * Pattern 3: Observer Middleware (cache-store, background-revalidation)
60
- * - Passes through all segments unchanged
61
- * - Triggers side effects based on state
62
- *
63
- *
64
- * STATE FLAGS
65
- * ===========
66
- *
67
- * The middleware communicate through MatchPipelineState:
68
- *
69
- * state.cacheHit - Set by cache-lookup, read by others to skip work
70
- * state.shouldRevalidate - Set by cache-lookup, triggers bg-revalidation
71
- * state.segments - Accumulated segments from pipeline
72
- * state.interceptSegments - Segments for intercept slots
73
- * state.slots - Named slot data for client
74
- */
75
- export { withCacheLookup } from "./cache-lookup.js";
76
- export { withSegmentResolution } from "./segment-resolution.js";
77
- export { withInterceptResolution } from "./intercept-resolution.js";
78
- export { withCacheStore } from "./cache-store.js";
79
- export { withBackgroundRevalidation } from "./background-revalidation.js";
80
- export type { GeneratorMiddleware } from "./cache-lookup.js";
81
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/router/match-middleware/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,80 +0,0 @@
1
- /**
2
- * Match Middleware
3
- *
4
- * Async generator middleware for the match pipeline.
5
- * Each middleware transforms or enriches the segment stream.
6
- *
7
- * MIDDLEWARE OVERVIEW
8
- * ===================
9
- *
10
- * The pipeline consists of 5 middleware layers, each with a specific role:
11
- *
12
- * +-------------------------------------------------------------------------+
13
- * | MIDDLEWARE PIPELINE |
14
- * +-------------------------------------------------------------------------+
15
- * | |
16
- * | [1] CACHE LOOKUP (innermost) |
17
- * | Purpose: Check cache before resolving |
18
- * | On hit: Yield cached segments + fresh loaders |
19
- * | On miss: Pass through to segment resolution |
20
- * | Side effects: Sets state.cacheHit, state.shouldRevalidate |
21
- * | |
22
- * | [2] SEGMENT RESOLUTION |
23
- * | Purpose: Resolve segments when cache misses |
24
- * | Skips if: state.cacheHit === true |
25
- * | Produces: All route segments (layouts, routes, loaders) |
26
- * | Two modes: Full (simple) vs Partial (with revalidation) |
27
- * | |
28
- * | [3] INTERCEPT RESOLUTION |
29
- * | Purpose: Resolve intercept segments (modal slots) |
30
- * | Triggers: When ctx.interceptResult exists |
31
- * | Produces: Additional segments for named slots |
32
- * | Updates: state.slots[slotName] with intercept segments |
33
- * | |
34
- * | [4] CACHE STORE |
35
- * | Purpose: Store segments in cache for future requests |
36
- * | Skips if: Cache hit, actions, or cache disabled |
37
- * | Strategy: Direct cache if all components present |
38
- * | Proactive cache if null components (via waitUntil) |
39
- * | |
40
- * | [5] BACKGROUND REVALIDATION (outermost) |
41
- * | Purpose: SWR - serve stale, revalidate in background |
42
- * | Triggers: When state.shouldRevalidate === true |
43
- * | Action: Async resolution via waitUntil(), updates cache |
44
- * | |
45
- * +-------------------------------------------------------------------------+
46
- *
47
- *
48
- * MIDDLEWARE INTERACTION PATTERNS
49
- * ===============================
50
- *
51
- * Pattern 1: Producer Middleware (cache-lookup, segment-resolution)
52
- * - Yields segments into the stream
53
- * - Creates new data for downstream middleware
54
- *
55
- * Pattern 2: Transformer Middleware (intercept-resolution)
56
- * - Passes through existing segments
57
- * - Adds additional segments (intercepts)
58
- *
59
- * Pattern 3: Observer Middleware (cache-store, background-revalidation)
60
- * - Passes through all segments unchanged
61
- * - Triggers side effects based on state
62
- *
63
- *
64
- * STATE FLAGS
65
- * ===========
66
- *
67
- * The middleware communicate through MatchPipelineState:
68
- *
69
- * state.cacheHit - Set by cache-lookup, read by others to skip work
70
- * state.shouldRevalidate - Set by cache-lookup, triggers bg-revalidation
71
- * state.segments - Accumulated segments from pipeline
72
- * state.interceptSegments - Segments for intercept slots
73
- * state.slots - Named slot data for client
74
- */
75
- export { withCacheLookup } from "./cache-lookup.js";
76
- export { withSegmentResolution } from "./segment-resolution.js";
77
- export { withInterceptResolution } from "./intercept-resolution.js";
78
- export { withCacheStore } from "./cache-store.js";
79
- export { withBackgroundRevalidation } from "./background-revalidation.js";
80
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/router/match-middleware/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC"}
@@ -1,117 +0,0 @@
1
- /**
2
- * Intercept Resolution Middleware
3
- *
4
- * Resolves intercept (modal slot) segments for soft navigation.
5
- * Yields intercept segments after main route segments.
6
- *
7
- * FLOW DIAGRAM
8
- * ============
9
- *
10
- * source (from segment-resolution)
11
- * |
12
- * v
13
- * +---------------------------+
14
- * | Collect + yield source | Pass through main segments
15
- * | segments[] |
16
- * +---------------------------+
17
- * |
18
- * v
19
- * +---------------------+
20
- * | isFullMatch? |──yes──> return (no intercepts on doc requests)
21
- * +---------------------+
22
- * | no
23
- * v
24
- * +---------------------+
25
- * | Has interceptResult |──no───> return
26
- * | AND not cached? |
27
- * +---------------------+
28
- * | yes
29
- * v
30
- * +----------------------+ +----------------------------+
31
- * | Fresh intercept? |yes>| resolveInterceptEntry() |
32
- * | (!cacheHit or | | - middleware, loaders, UI |
33
- * | no intercept segs) | +----------------------------+
34
- * +----------------------+ |
35
- * | no v
36
- * v yield intercept segments
37
- * +----------------------------+ |
38
- * | Cache hit with intercept | |
39
- * | handleCacheHitIntercept() | |
40
- * | - Extract from cache | |
41
- * | - Re-resolve loaders only | |
42
- * +----------------------------+ |
43
- * | |
44
- * +-------------------------------+
45
- * |
46
- * v
47
- * +---------------------------+
48
- * | Update state: |
49
- * | - interceptSegments |
50
- * | - slots[slotName] |
51
- * +---------------------------+
52
- * |
53
- * v
54
- * next middleware
55
- *
56
- *
57
- * INTERCEPT SCENARIOS
58
- * ===================
59
- *
60
- * 1. Fresh intercept (no cache):
61
- * - Full resolution of intercept entry
62
- * - Resolves middleware, loaders, and component
63
- * - Yields all intercept segments
64
- *
65
- * 2. Cache hit with intercept:
66
- * - Extracts intercept segments from cached data
67
- * - Re-resolves ONLY loaders for fresh data
68
- * - Keeps cached component/layout
69
- *
70
- * 3. No intercept:
71
- * - Passes through unchanged
72
- * - No intercept segments yielded
73
- *
74
- *
75
- * WHAT ARE INTERCEPTS?
76
- * ====================
77
- *
78
- * Intercepts enable "soft navigation" patterns like modals:
79
- *
80
- * 1. User clicks a link (e.g., /photos/123)
81
- * 2. Instead of full navigation, content renders in a modal slot
82
- * 3. Background page remains visible and interactive
83
- * 4. Hard navigation (direct URL) shows full page
84
- *
85
- * Configuration:
86
- * intercept("@modal", "photos", <PhotoModal />, () => [...])
87
- *
88
- * The intercept resolves to segments that render in the named slot
89
- * instead of replacing the main content.
90
- *
91
- *
92
- * SLOT STRUCTURE
93
- * ==============
94
- *
95
- * state.slots[slotName] = {
96
- * active: true,
97
- * segments: [...intercept segments]
98
- * }
99
- *
100
- * The client uses this to:
101
- * 1. Keep current page segments
102
- * 2. Render intercept segments in named <Outlet name="@modal" />
103
- */
104
- import type { ResolvedSegment } from "../../types.js";
105
- import type { MatchContext, MatchPipelineState } from "../match-context.js";
106
- import type { GeneratorMiddleware } from "./cache-lookup.js";
107
- /**
108
- * Creates intercept resolution middleware
109
- *
110
- * If ctx.interceptResult exists and we're not in a cache-hit-with-intercept scenario:
111
- * - Resolves intercept segments
112
- * - Updates state.interceptSegments
113
- * - Updates state.slots with the intercept slot
114
- * - Yields intercept segments after main segments
115
- */
116
- export declare function withInterceptResolution<TEnv>(ctx: MatchContext<TEnv>, state: MatchPipelineState): GeneratorMiddleware<ResolvedSegment>;
117
- //# sourceMappingURL=intercept-resolution.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"intercept-resolution.d.ts","sourceRoot":"","sources":["../../../src/router/match-middleware/intercept-resolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsGG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAG7D;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAC1C,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,EACvB,KAAK,EAAE,kBAAkB,GACxB,mBAAmB,CAAC,eAAe,CAAC,CA0FtC"}
@@ -1,134 +0,0 @@
1
- import { getRouterContext } from "../router-context.js";
2
- import { debugLog } from "../logging.js";
3
- /**
4
- * Creates intercept resolution middleware
5
- *
6
- * If ctx.interceptResult exists and we're not in a cache-hit-with-intercept scenario:
7
- * - Resolves intercept segments
8
- * - Updates state.interceptSegments
9
- * - Updates state.slots with the intercept slot
10
- * - Yields intercept segments after main segments
11
- */
12
- export function withInterceptResolution(ctx, state) {
13
- return async function* (source) {
14
- const pipelineStart = performance.now();
15
- const ms = ctx.metricsStore;
16
- // First, yield all segments from the source (main segment resolution or cache)
17
- const segments = [];
18
- for await (const segment of source) {
19
- segments.push(segment);
20
- yield segment;
21
- }
22
- // Skip intercept resolution for full match (document requests don't have intercepts)
23
- if (ctx.isFullMatch) {
24
- if (ms) {
25
- ms.metrics.push({ label: "pipeline:intercept", duration: performance.now() - pipelineStart, startTime: pipelineStart - ms.requestStart });
26
- }
27
- return;
28
- }
29
- // Skip intercept resolution if:
30
- // 1. No intercept result
31
- // 2. Already have intercept segments (from cache hit with intercept key)
32
- // 3. Cache hit with intercept key
33
- const skipInterceptResolution = !ctx.interceptResult ||
34
- state.interceptSegments.length > 0 ||
35
- (state.cacheHit && ctx.isIntercept);
36
- if (skipInterceptResolution) {
37
- // For cache hit with intercept, extract intercept segments from cached data for slots
38
- // and re-resolve loaders for fresh data
39
- if (ctx.interceptResult && state.cacheHit && ctx.isIntercept) {
40
- await handleCacheHitIntercept(ctx, state, segments);
41
- }
42
- if (ms) {
43
- ms.metrics.push({ label: "pipeline:intercept", duration: performance.now() - pipelineStart, startTime: pipelineStart - ms.requestStart });
44
- }
45
- return;
46
- }
47
- // Resolve intercept segments
48
- const { resolveInterceptEntry } = getRouterContext();
49
- const slotName = ctx.interceptResult.intercept.slotName;
50
- debugLog("matchPartial.intercept", "intercept resolved", {
51
- routeName: ctx.localRouteName,
52
- slotName,
53
- });
54
- // Resolve intercept entry (middleware, loaders, handler)
55
- const Store = ctx.Store;
56
- const interceptSegments = await Store.run(() => resolveInterceptEntry(ctx.interceptResult.intercept, ctx.interceptResult.entry, ctx.matched.params, ctx.handlerContext, true, // belongsToRoute
57
- {
58
- clientSegmentIds: ctx.clientSegmentSet,
59
- prevParams: ctx.prevParams,
60
- request: ctx.request,
61
- prevUrl: ctx.prevUrl,
62
- nextUrl: ctx.url,
63
- routeKey: ctx.routeKey,
64
- actionContext: ctx.actionContext,
65
- stale: ctx.stale,
66
- }));
67
- // Update state
68
- state.interceptSegments = interceptSegments;
69
- state.slots[slotName] = {
70
- active: true,
71
- segments: interceptSegments,
72
- };
73
- // Yield intercept segments
74
- for (const segment of interceptSegments) {
75
- yield segment;
76
- }
77
- if (ms) {
78
- ms.metrics.push({ label: "pipeline:intercept", duration: performance.now() - pipelineStart, startTime: pipelineStart - ms.requestStart });
79
- }
80
- };
81
- }
82
- /**
83
- * Handle cache hit with intercept scenario
84
- *
85
- * Extract intercept segments from cached data and re-resolve loaders for fresh data.
86
- */
87
- async function handleCacheHitIntercept(ctx, state, segments) {
88
- if (!ctx.interceptResult)
89
- return;
90
- const { resolveInterceptLoadersOnly } = getRouterContext();
91
- const slotName = ctx.interceptResult.intercept.slotName;
92
- // Find intercept segments from cached segments (namespace starts with "intercept:")
93
- const interceptSegments = segments.filter((s) => s.namespace?.startsWith("intercept:"));
94
- state.interceptSegments = interceptSegments;
95
- // Re-resolve intercept loaders for fresh data on cache hit
96
- // This keeps cached component/layout but fetches fresh loader data
97
- if (resolveInterceptLoadersOnly) {
98
- const Store = ctx.Store;
99
- const freshLoaderResult = await Store.run(() => resolveInterceptLoadersOnly(ctx.interceptResult.intercept, ctx.interceptResult.entry, ctx.matched.params, ctx.handlerContext, true, // belongsToRoute
100
- {
101
- clientSegmentIds: ctx.clientSegmentSet,
102
- prevParams: ctx.prevParams,
103
- request: ctx.request,
104
- prevUrl: ctx.prevUrl,
105
- nextUrl: ctx.url,
106
- routeKey: ctx.routeKey,
107
- actionContext: ctx.actionContext,
108
- stale: ctx.stale,
109
- }));
110
- // Update intercept segment's loaderDataPromise with fresh data
111
- if (freshLoaderResult) {
112
- const interceptMainSegment = interceptSegments.find((s) => s.type === "parallel" && s.slot);
113
- if (interceptMainSegment) {
114
- interceptMainSegment.loaderDataPromise = freshLoaderResult.loaderDataPromise;
115
- interceptMainSegment.loaderIds = freshLoaderResult.loaderIds;
116
- debugLog("matchPartial.intercept", "cache hit with fresh intercept loaders", {
117
- routeName: ctx.localRouteName,
118
- slotName,
119
- });
120
- }
121
- }
122
- else {
123
- debugLog("matchPartial.intercept", "cache hit without intercept loader revalidation", {
124
- routeName: ctx.localRouteName,
125
- slotName,
126
- });
127
- }
128
- }
129
- state.slots[slotName] = {
130
- active: true,
131
- segments: interceptSegments,
132
- };
133
- }
134
- //# sourceMappingURL=intercept-resolution.js.map