@rangojs/router 0.0.0-experimental.137 → 0.0.0-experimental.139

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 (866) hide show
  1. package/README.md +273 -924
  2. package/dist/bin/rango.js +265 -56
  3. package/dist/vite/index.js +710 -119
  4. package/package.json +16 -1
  5. package/skills/comparison/SKILL.md +50 -0
  6. package/skills/comparison/agents/openai.yaml +4 -0
  7. package/skills/comparison/references/framework-comparison.md +837 -0
  8. package/skills/composability/SKILL.md +50 -0
  9. package/skills/host-router/SKILL.md +45 -3
  10. package/skills/layout/SKILL.md +26 -9
  11. package/skills/middleware/SKILL.md +6 -2
  12. package/skills/migrate-nextjs/SKILL.md +12 -0
  13. package/skills/observability/SKILL.md +23 -1
  14. package/skills/parallel/SKILL.md +11 -3
  15. package/skills/rango/SKILL.md +76 -24
  16. package/skills/response-routes/SKILL.md +14 -0
  17. package/skills/route/SKILL.md +19 -3
  18. package/skills/router-setup/SKILL.md +13 -0
  19. package/skills/shell-manifest/SKILL.md +185 -0
  20. package/skills/testing/reverse-and-types.md +8 -7
  21. package/skills/vercel/SKILL.md +128 -0
  22. package/src/build/generate-manifest.ts +155 -131
  23. package/src/build/generate-route-types.ts +1 -0
  24. package/src/build/index.ts +3 -1
  25. package/src/build/route-types/include-resolution.ts +347 -47
  26. package/src/build/route-types/router-processing.ts +77 -27
  27. package/src/build/runtime-discovery.ts +4 -1
  28. package/src/cache/cf/cf-cache-store.ts +22 -0
  29. package/src/cache/index.ts +12 -0
  30. package/src/cache/vercel/index.ts +11 -0
  31. package/src/cache/vercel/vercel-cache-store.ts +948 -0
  32. package/src/host/errors.ts +15 -0
  33. package/src/host/index.ts +1 -0
  34. package/src/router/find-match.ts +71 -7
  35. package/src/router/lazy-includes.ts +64 -10
  36. package/src/router/manifest.ts +43 -6
  37. package/src/router/match-api.ts +2 -2
  38. package/src/router/navigation-snapshot.ts +7 -5
  39. package/src/router/prerender-match.ts +4 -2
  40. package/src/router/preview-match.ts +3 -1
  41. package/src/router/request-classification.ts +3 -1
  42. package/src/router/route-snapshot.ts +4 -2
  43. package/src/router/router-context.ts +3 -1
  44. package/src/router/router-interfaces.ts +9 -1
  45. package/src/router.ts +9 -2
  46. package/src/rsc/manifest-init.ts +1 -1
  47. package/src/testing/dispatch.ts +3 -3
  48. package/src/testing/generated-routes.ts +27 -11
  49. package/src/urls/include-helper.ts +10 -8
  50. package/src/urls/include-provider.ts +71 -0
  51. package/src/urls/path-helper-types.ts +25 -1
  52. package/src/vercel/index.ts +11 -0
  53. package/src/vercel/tracing.ts +88 -0
  54. package/src/vite/discovery/discover-routers.ts +1 -1
  55. package/src/vite/discovery/state.ts +1 -1
  56. package/src/vite/index.ts +2 -0
  57. package/src/vite/plugin-types.ts +84 -2
  58. package/src/vite/plugins/vercel-output.ts +384 -0
  59. package/src/vite/plugins/virtual-entries.ts +72 -0
  60. package/src/vite/rango.ts +128 -21
  61. package/src/vite/router-discovery.ts +8 -0
  62. package/src/vite/utils/shared-utils.ts +52 -2
  63. package/dist/__internal.d.ts +0 -83
  64. package/dist/__internal.d.ts.map +0 -1
  65. package/dist/__internal.js +0 -19
  66. package/dist/__internal.js.map +0 -1
  67. package/dist/__mocks__/version.d.ts +0 -7
  68. package/dist/__mocks__/version.d.ts.map +0 -1
  69. package/dist/__mocks__/version.js +0 -7
  70. package/dist/__mocks__/version.js.map +0 -1
  71. package/dist/__tests__/client-href.test.d.ts +0 -2
  72. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  73. package/dist/__tests__/client-href.test.js +0 -74
  74. package/dist/__tests__/client-href.test.js.map +0 -1
  75. package/dist/__tests__/component-utils.test.d.ts +0 -2
  76. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  77. package/dist/__tests__/component-utils.test.js +0 -51
  78. package/dist/__tests__/component-utils.test.js.map +0 -1
  79. package/dist/__tests__/event-controller.test.d.ts +0 -2
  80. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  81. package/dist/__tests__/event-controller.test.js +0 -538
  82. package/dist/__tests__/event-controller.test.js.map +0 -1
  83. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  84. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  85. package/dist/__tests__/helpers/route-tree.js +0 -374
  86. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  87. package/dist/__tests__/match-result.test.d.ts +0 -2
  88. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  89. package/dist/__tests__/match-result.test.js +0 -154
  90. package/dist/__tests__/match-result.test.js.map +0 -1
  91. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  92. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  93. package/dist/__tests__/navigation-store.test.js +0 -440
  94. package/dist/__tests__/navigation-store.test.js.map +0 -1
  95. package/dist/__tests__/partial-update.test.d.ts +0 -2
  96. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  97. package/dist/__tests__/partial-update.test.js +0 -1009
  98. package/dist/__tests__/partial-update.test.js.map +0 -1
  99. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  100. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  101. package/dist/__tests__/reverse-types.test.js +0 -656
  102. package/dist/__tests__/reverse-types.test.js.map +0 -1
  103. package/dist/__tests__/route-definition.test.d.ts +0 -2
  104. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  105. package/dist/__tests__/route-definition.test.js +0 -55
  106. package/dist/__tests__/route-definition.test.js.map +0 -1
  107. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  108. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  109. package/dist/__tests__/router-helpers.test.js +0 -377
  110. package/dist/__tests__/router-helpers.test.js.map +0 -1
  111. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  112. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  113. package/dist/__tests__/router-integration-2.test.js +0 -426
  114. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  115. package/dist/__tests__/router-integration.test.d.ts +0 -2
  116. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  117. package/dist/__tests__/router-integration.test.js +0 -1051
  118. package/dist/__tests__/router-integration.test.js.map +0 -1
  119. package/dist/__tests__/search-params.test.d.ts +0 -5
  120. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  121. package/dist/__tests__/search-params.test.js +0 -306
  122. package/dist/__tests__/search-params.test.js.map +0 -1
  123. package/dist/__tests__/segment-system.test.d.ts +0 -2
  124. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  125. package/dist/__tests__/segment-system.test.js +0 -627
  126. package/dist/__tests__/segment-system.test.js.map +0 -1
  127. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  128. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  129. package/dist/__tests__/static-handler-types.test.js +0 -63
  130. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  131. package/dist/__tests__/urls.test.d.ts +0 -2
  132. package/dist/__tests__/urls.test.d.ts.map +0 -1
  133. package/dist/__tests__/urls.test.js +0 -421
  134. package/dist/__tests__/urls.test.js.map +0 -1
  135. package/dist/__tests__/use-mount.test.d.ts +0 -2
  136. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  137. package/dist/__tests__/use-mount.test.js +0 -35
  138. package/dist/__tests__/use-mount.test.js.map +0 -1
  139. package/dist/bin/rango.d.ts +0 -2
  140. package/dist/bin/rango.d.ts.map +0 -1
  141. package/dist/bin/rango.js.map +0 -1
  142. package/dist/browser/event-controller.d.ts +0 -191
  143. package/dist/browser/event-controller.d.ts.map +0 -1
  144. package/dist/browser/event-controller.js +0 -559
  145. package/dist/browser/event-controller.js.map +0 -1
  146. package/dist/browser/index.d.ts +0 -2
  147. package/dist/browser/index.d.ts.map +0 -1
  148. package/dist/browser/index.js +0 -14
  149. package/dist/browser/index.js.map +0 -1
  150. package/dist/browser/link-interceptor.d.ts +0 -38
  151. package/dist/browser/link-interceptor.d.ts.map +0 -1
  152. package/dist/browser/link-interceptor.js +0 -99
  153. package/dist/browser/link-interceptor.js.map +0 -1
  154. package/dist/browser/logging.d.ts +0 -10
  155. package/dist/browser/logging.d.ts.map +0 -1
  156. package/dist/browser/logging.js +0 -29
  157. package/dist/browser/logging.js.map +0 -1
  158. package/dist/browser/lru-cache.d.ts +0 -17
  159. package/dist/browser/lru-cache.d.ts.map +0 -1
  160. package/dist/browser/lru-cache.js +0 -50
  161. package/dist/browser/lru-cache.js.map +0 -1
  162. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  163. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  164. package/dist/browser/merge-segment-loaders.js +0 -102
  165. package/dist/browser/merge-segment-loaders.js.map +0 -1
  166. package/dist/browser/navigation-bridge.d.ts +0 -102
  167. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  168. package/dist/browser/navigation-bridge.js +0 -708
  169. package/dist/browser/navigation-bridge.js.map +0 -1
  170. package/dist/browser/navigation-client.d.ts +0 -25
  171. package/dist/browser/navigation-client.d.ts.map +0 -1
  172. package/dist/browser/navigation-client.js +0 -157
  173. package/dist/browser/navigation-client.js.map +0 -1
  174. package/dist/browser/navigation-store.d.ts +0 -101
  175. package/dist/browser/navigation-store.d.ts.map +0 -1
  176. package/dist/browser/navigation-store.js +0 -625
  177. package/dist/browser/navigation-store.js.map +0 -1
  178. package/dist/browser/partial-update.d.ts +0 -75
  179. package/dist/browser/partial-update.d.ts.map +0 -1
  180. package/dist/browser/partial-update.js +0 -426
  181. package/dist/browser/partial-update.js.map +0 -1
  182. package/dist/browser/react/Link.d.ts +0 -86
  183. package/dist/browser/react/Link.d.ts.map +0 -1
  184. package/dist/browser/react/Link.js +0 -128
  185. package/dist/browser/react/Link.js.map +0 -1
  186. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  187. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  188. package/dist/browser/react/NavigationProvider.js +0 -216
  189. package/dist/browser/react/NavigationProvider.js.map +0 -1
  190. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  191. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  192. package/dist/browser/react/ScrollRestoration.js +0 -57
  193. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  194. package/dist/browser/react/context.d.ts +0 -46
  195. package/dist/browser/react/context.d.ts.map +0 -1
  196. package/dist/browser/react/context.js +0 -10
  197. package/dist/browser/react/context.js.map +0 -1
  198. package/dist/browser/react/index.d.ts +0 -11
  199. package/dist/browser/react/index.d.ts.map +0 -1
  200. package/dist/browser/react/index.js +0 -22
  201. package/dist/browser/react/index.js.map +0 -1
  202. package/dist/browser/react/location-state-shared.d.ts +0 -63
  203. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  204. package/dist/browser/react/location-state-shared.js +0 -81
  205. package/dist/browser/react/location-state-shared.js.map +0 -1
  206. package/dist/browser/react/location-state.d.ts +0 -23
  207. package/dist/browser/react/location-state.d.ts.map +0 -1
  208. package/dist/browser/react/location-state.js +0 -29
  209. package/dist/browser/react/location-state.js.map +0 -1
  210. package/dist/browser/react/mount-context.d.ts +0 -24
  211. package/dist/browser/react/mount-context.d.ts.map +0 -1
  212. package/dist/browser/react/mount-context.js +0 -24
  213. package/dist/browser/react/mount-context.js.map +0 -1
  214. package/dist/browser/react/use-action.d.ts +0 -64
  215. package/dist/browser/react/use-action.d.ts.map +0 -1
  216. package/dist/browser/react/use-action.js +0 -134
  217. package/dist/browser/react/use-action.js.map +0 -1
  218. package/dist/browser/react/use-client-cache.d.ts +0 -41
  219. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  220. package/dist/browser/react/use-client-cache.js +0 -39
  221. package/dist/browser/react/use-client-cache.js.map +0 -1
  222. package/dist/browser/react/use-handle.d.ts +0 -31
  223. package/dist/browser/react/use-handle.d.ts.map +0 -1
  224. package/dist/browser/react/use-handle.js +0 -144
  225. package/dist/browser/react/use-handle.js.map +0 -1
  226. package/dist/browser/react/use-href.d.ts +0 -33
  227. package/dist/browser/react/use-href.d.ts.map +0 -1
  228. package/dist/browser/react/use-href.js +0 -39
  229. package/dist/browser/react/use-href.js.map +0 -1
  230. package/dist/browser/react/use-link-status.d.ts +0 -37
  231. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  232. package/dist/browser/react/use-link-status.js +0 -99
  233. package/dist/browser/react/use-link-status.js.map +0 -1
  234. package/dist/browser/react/use-mount.d.ts +0 -25
  235. package/dist/browser/react/use-mount.d.ts.map +0 -1
  236. package/dist/browser/react/use-mount.js +0 -30
  237. package/dist/browser/react/use-mount.js.map +0 -1
  238. package/dist/browser/react/use-navigation.d.ts +0 -27
  239. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  240. package/dist/browser/react/use-navigation.js +0 -87
  241. package/dist/browser/react/use-navigation.js.map +0 -1
  242. package/dist/browser/react/use-segments.d.ts +0 -38
  243. package/dist/browser/react/use-segments.d.ts.map +0 -1
  244. package/dist/browser/react/use-segments.js +0 -130
  245. package/dist/browser/react/use-segments.js.map +0 -1
  246. package/dist/browser/request-controller.d.ts +0 -26
  247. package/dist/browser/request-controller.d.ts.map +0 -1
  248. package/dist/browser/request-controller.js +0 -147
  249. package/dist/browser/request-controller.js.map +0 -1
  250. package/dist/browser/rsc-router.d.ts +0 -129
  251. package/dist/browser/rsc-router.d.ts.map +0 -1
  252. package/dist/browser/rsc-router.js +0 -195
  253. package/dist/browser/rsc-router.js.map +0 -1
  254. package/dist/browser/scroll-restoration.d.ts +0 -93
  255. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  256. package/dist/browser/scroll-restoration.js +0 -321
  257. package/dist/browser/scroll-restoration.js.map +0 -1
  258. package/dist/browser/segment-structure-assert.d.ts +0 -17
  259. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  260. package/dist/browser/segment-structure-assert.js +0 -59
  261. package/dist/browser/segment-structure-assert.js.map +0 -1
  262. package/dist/browser/server-action-bridge.d.ts +0 -26
  263. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  264. package/dist/browser/server-action-bridge.js +0 -668
  265. package/dist/browser/server-action-bridge.js.map +0 -1
  266. package/dist/browser/shallow.d.ts +0 -12
  267. package/dist/browser/shallow.d.ts.map +0 -1
  268. package/dist/browser/shallow.js +0 -34
  269. package/dist/browser/shallow.js.map +0 -1
  270. package/dist/browser/types.d.ts +0 -369
  271. package/dist/browser/types.d.ts.map +0 -1
  272. package/dist/browser/types.js +0 -2
  273. package/dist/browser/types.js.map +0 -1
  274. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  275. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  276. package/dist/build/__tests__/generate-cli.test.js +0 -237
  277. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  278. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  279. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  280. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  281. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  282. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  283. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  284. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  285. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  286. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  287. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  288. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  289. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  290. package/dist/build/generate-manifest.d.ts +0 -81
  291. package/dist/build/generate-manifest.d.ts.map +0 -1
  292. package/dist/build/generate-manifest.js +0 -276
  293. package/dist/build/generate-manifest.js.map +0 -1
  294. package/dist/build/generate-route-types.d.ts +0 -115
  295. package/dist/build/generate-route-types.d.ts.map +0 -1
  296. package/dist/build/generate-route-types.js +0 -740
  297. package/dist/build/generate-route-types.js.map +0 -1
  298. package/dist/build/index.d.ts +0 -21
  299. package/dist/build/index.d.ts.map +0 -1
  300. package/dist/build/index.js +0 -21
  301. package/dist/build/index.js.map +0 -1
  302. package/dist/build/route-trie.d.ts +0 -71
  303. package/dist/build/route-trie.d.ts.map +0 -1
  304. package/dist/build/route-trie.js +0 -175
  305. package/dist/build/route-trie.js.map +0 -1
  306. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  307. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  308. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  309. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  310. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  311. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  312. package/dist/cache/__tests__/document-cache.test.js +0 -345
  313. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  314. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  315. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  316. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  317. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  318. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  319. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  320. package/dist/cache/__tests__/memory-store.test.js +0 -367
  321. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  322. package/dist/cache/cache-scope.d.ts +0 -102
  323. package/dist/cache/cache-scope.d.ts.map +0 -1
  324. package/dist/cache/cache-scope.js +0 -440
  325. package/dist/cache/cache-scope.js.map +0 -1
  326. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  327. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  328. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  329. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  330. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  331. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  332. package/dist/cache/cf/cf-cache-store.js +0 -242
  333. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  334. package/dist/cache/cf/index.d.ts +0 -14
  335. package/dist/cache/cf/index.d.ts.map +0 -1
  336. package/dist/cache/cf/index.js +0 -17
  337. package/dist/cache/cf/index.js.map +0 -1
  338. package/dist/cache/document-cache.d.ts +0 -64
  339. package/dist/cache/document-cache.d.ts.map +0 -1
  340. package/dist/cache/document-cache.js +0 -228
  341. package/dist/cache/document-cache.js.map +0 -1
  342. package/dist/cache/index.d.ts +0 -19
  343. package/dist/cache/index.d.ts.map +0 -1
  344. package/dist/cache/index.js +0 -21
  345. package/dist/cache/index.js.map +0 -1
  346. package/dist/cache/memory-segment-store.d.ts +0 -110
  347. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  348. package/dist/cache/memory-segment-store.js +0 -117
  349. package/dist/cache/memory-segment-store.js.map +0 -1
  350. package/dist/cache/memory-store.d.ts +0 -41
  351. package/dist/cache/memory-store.d.ts.map +0 -1
  352. package/dist/cache/memory-store.js +0 -191
  353. package/dist/cache/memory-store.js.map +0 -1
  354. package/dist/cache/types.d.ts +0 -317
  355. package/dist/cache/types.d.ts.map +0 -1
  356. package/dist/cache/types.js +0 -12
  357. package/dist/cache/types.js.map +0 -1
  358. package/dist/client.d.ts +0 -248
  359. package/dist/client.d.ts.map +0 -1
  360. package/dist/client.js +0 -367
  361. package/dist/client.js.map +0 -1
  362. package/dist/client.rsc.d.ts +0 -26
  363. package/dist/client.rsc.d.ts.map +0 -1
  364. package/dist/client.rsc.js +0 -46
  365. package/dist/client.rsc.js.map +0 -1
  366. package/dist/component-utils.d.ts +0 -36
  367. package/dist/component-utils.d.ts.map +0 -1
  368. package/dist/component-utils.js +0 -61
  369. package/dist/component-utils.js.map +0 -1
  370. package/dist/components/DefaultDocument.d.ts +0 -13
  371. package/dist/components/DefaultDocument.d.ts.map +0 -1
  372. package/dist/components/DefaultDocument.js +0 -15
  373. package/dist/components/DefaultDocument.js.map +0 -1
  374. package/dist/debug.d.ts +0 -58
  375. package/dist/debug.d.ts.map +0 -1
  376. package/dist/debug.js +0 -157
  377. package/dist/debug.js.map +0 -1
  378. package/dist/default-error-boundary.d.ts +0 -11
  379. package/dist/default-error-boundary.d.ts.map +0 -1
  380. package/dist/default-error-boundary.js +0 -45
  381. package/dist/default-error-boundary.js.map +0 -1
  382. package/dist/deps/browser.d.ts +0 -2
  383. package/dist/deps/browser.d.ts.map +0 -1
  384. package/dist/deps/browser.js +0 -3
  385. package/dist/deps/browser.js.map +0 -1
  386. package/dist/deps/html-stream-client.d.ts +0 -2
  387. package/dist/deps/html-stream-client.d.ts.map +0 -1
  388. package/dist/deps/html-stream-client.js +0 -3
  389. package/dist/deps/html-stream-client.js.map +0 -1
  390. package/dist/deps/html-stream-server.d.ts +0 -2
  391. package/dist/deps/html-stream-server.d.ts.map +0 -1
  392. package/dist/deps/html-stream-server.js +0 -3
  393. package/dist/deps/html-stream-server.js.map +0 -1
  394. package/dist/deps/rsc.d.ts +0 -2
  395. package/dist/deps/rsc.d.ts.map +0 -1
  396. package/dist/deps/rsc.js +0 -4
  397. package/dist/deps/rsc.js.map +0 -1
  398. package/dist/deps/ssr.d.ts +0 -2
  399. package/dist/deps/ssr.d.ts.map +0 -1
  400. package/dist/deps/ssr.js +0 -3
  401. package/dist/deps/ssr.js.map +0 -1
  402. package/dist/errors.d.ts +0 -174
  403. package/dist/errors.d.ts.map +0 -1
  404. package/dist/errors.js +0 -241
  405. package/dist/errors.js.map +0 -1
  406. package/dist/handle.d.ts +0 -78
  407. package/dist/handle.d.ts.map +0 -1
  408. package/dist/handle.js +0 -82
  409. package/dist/handle.js.map +0 -1
  410. package/dist/handles/MetaTags.d.ts +0 -14
  411. package/dist/handles/MetaTags.d.ts.map +0 -1
  412. package/dist/handles/MetaTags.js +0 -136
  413. package/dist/handles/MetaTags.js.map +0 -1
  414. package/dist/handles/index.d.ts +0 -6
  415. package/dist/handles/index.d.ts.map +0 -1
  416. package/dist/handles/index.js +0 -6
  417. package/dist/handles/index.js.map +0 -1
  418. package/dist/handles/meta.d.ts +0 -39
  419. package/dist/handles/meta.d.ts.map +0 -1
  420. package/dist/handles/meta.js +0 -202
  421. package/dist/handles/meta.js.map +0 -1
  422. package/dist/host/__tests__/errors.test.d.ts +0 -2
  423. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  424. package/dist/host/__tests__/errors.test.js +0 -76
  425. package/dist/host/__tests__/errors.test.js.map +0 -1
  426. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  427. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  428. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  429. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  430. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  431. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  432. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  433. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  434. package/dist/host/__tests__/router.test.d.ts +0 -2
  435. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  436. package/dist/host/__tests__/router.test.js +0 -241
  437. package/dist/host/__tests__/router.test.js.map +0 -1
  438. package/dist/host/__tests__/testing.test.d.ts +0 -2
  439. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  440. package/dist/host/__tests__/testing.test.js +0 -64
  441. package/dist/host/__tests__/testing.test.js.map +0 -1
  442. package/dist/host/__tests__/utils.test.d.ts +0 -2
  443. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  444. package/dist/host/__tests__/utils.test.js +0 -29
  445. package/dist/host/__tests__/utils.test.js.map +0 -1
  446. package/dist/host/cookie-handler.d.ts +0 -34
  447. package/dist/host/cookie-handler.d.ts.map +0 -1
  448. package/dist/host/cookie-handler.js +0 -124
  449. package/dist/host/cookie-handler.js.map +0 -1
  450. package/dist/host/errors.d.ts +0 -56
  451. package/dist/host/errors.d.ts.map +0 -1
  452. package/dist/host/errors.js +0 -79
  453. package/dist/host/errors.js.map +0 -1
  454. package/dist/host/index.d.ts +0 -29
  455. package/dist/host/index.d.ts.map +0 -1
  456. package/dist/host/index.js +0 -32
  457. package/dist/host/index.js.map +0 -1
  458. package/dist/host/pattern-matcher.d.ts +0 -36
  459. package/dist/host/pattern-matcher.d.ts.map +0 -1
  460. package/dist/host/pattern-matcher.js +0 -172
  461. package/dist/host/pattern-matcher.js.map +0 -1
  462. package/dist/host/router.d.ts +0 -26
  463. package/dist/host/router.d.ts.map +0 -1
  464. package/dist/host/router.js +0 -218
  465. package/dist/host/router.js.map +0 -1
  466. package/dist/host/testing.d.ts +0 -36
  467. package/dist/host/testing.d.ts.map +0 -1
  468. package/dist/host/testing.js +0 -55
  469. package/dist/host/testing.js.map +0 -1
  470. package/dist/host/types.d.ts +0 -115
  471. package/dist/host/types.d.ts.map +0 -1
  472. package/dist/host/types.js +0 -7
  473. package/dist/host/types.js.map +0 -1
  474. package/dist/host/utils.d.ts +0 -21
  475. package/dist/host/utils.d.ts.map +0 -1
  476. package/dist/host/utils.js +0 -23
  477. package/dist/host/utils.js.map +0 -1
  478. package/dist/href-client.d.ts +0 -131
  479. package/dist/href-client.d.ts.map +0 -1
  480. package/dist/href-client.js +0 -64
  481. package/dist/href-client.js.map +0 -1
  482. package/dist/href-context.d.ts +0 -29
  483. package/dist/href-context.d.ts.map +0 -1
  484. package/dist/href-context.js +0 -21
  485. package/dist/href-context.js.map +0 -1
  486. package/dist/index.d.ts +0 -73
  487. package/dist/index.d.ts.map +0 -1
  488. package/dist/index.js +0 -91
  489. package/dist/index.js.map +0 -1
  490. package/dist/index.rsc.d.ts +0 -32
  491. package/dist/index.rsc.d.ts.map +0 -1
  492. package/dist/index.rsc.js +0 -40
  493. package/dist/index.rsc.js.map +0 -1
  494. package/dist/internal-debug.d.ts +0 -2
  495. package/dist/internal-debug.d.ts.map +0 -1
  496. package/dist/internal-debug.js +0 -5
  497. package/dist/internal-debug.js.map +0 -1
  498. package/dist/loader.d.ts +0 -14
  499. package/dist/loader.d.ts.map +0 -1
  500. package/dist/loader.js +0 -20
  501. package/dist/loader.js.map +0 -1
  502. package/dist/loader.rsc.d.ts +0 -19
  503. package/dist/loader.rsc.d.ts.map +0 -1
  504. package/dist/loader.rsc.js +0 -99
  505. package/dist/loader.rsc.js.map +0 -1
  506. package/dist/network-error-thrower.d.ts +0 -17
  507. package/dist/network-error-thrower.d.ts.map +0 -1
  508. package/dist/network-error-thrower.js +0 -14
  509. package/dist/network-error-thrower.js.map +0 -1
  510. package/dist/outlet-context.d.ts +0 -13
  511. package/dist/outlet-context.d.ts.map +0 -1
  512. package/dist/outlet-context.js +0 -3
  513. package/dist/outlet-context.js.map +0 -1
  514. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  515. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  516. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  517. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  518. package/dist/prerender/param-hash.d.ts +0 -16
  519. package/dist/prerender/param-hash.d.ts.map +0 -1
  520. package/dist/prerender/param-hash.js +0 -36
  521. package/dist/prerender/param-hash.js.map +0 -1
  522. package/dist/prerender/store.d.ts +0 -38
  523. package/dist/prerender/store.d.ts.map +0 -1
  524. package/dist/prerender/store.js +0 -61
  525. package/dist/prerender/store.js.map +0 -1
  526. package/dist/prerender.d.ts +0 -66
  527. package/dist/prerender.d.ts.map +0 -1
  528. package/dist/prerender.js +0 -57
  529. package/dist/prerender.js.map +0 -1
  530. package/dist/reverse.d.ts +0 -196
  531. package/dist/reverse.d.ts.map +0 -1
  532. package/dist/reverse.js +0 -78
  533. package/dist/reverse.js.map +0 -1
  534. package/dist/root-error-boundary.d.ts +0 -33
  535. package/dist/root-error-boundary.d.ts.map +0 -1
  536. package/dist/root-error-boundary.js +0 -165
  537. package/dist/root-error-boundary.js.map +0 -1
  538. package/dist/route-content-wrapper.d.ts +0 -46
  539. package/dist/route-content-wrapper.d.ts.map +0 -1
  540. package/dist/route-content-wrapper.js +0 -77
  541. package/dist/route-content-wrapper.js.map +0 -1
  542. package/dist/route-definition.d.ts +0 -421
  543. package/dist/route-definition.d.ts.map +0 -1
  544. package/dist/route-definition.js +0 -868
  545. package/dist/route-definition.js.map +0 -1
  546. package/dist/route-map-builder.d.ts +0 -155
  547. package/dist/route-map-builder.d.ts.map +0 -1
  548. package/dist/route-map-builder.js +0 -237
  549. package/dist/route-map-builder.js.map +0 -1
  550. package/dist/route-types.d.ts +0 -165
  551. package/dist/route-types.d.ts.map +0 -1
  552. package/dist/route-types.js +0 -7
  553. package/dist/route-types.js.map +0 -1
  554. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  555. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  556. package/dist/router/__tests__/handler-context.test.js +0 -65
  557. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  558. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  559. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  560. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  561. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  562. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  563. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  564. package/dist/router/__tests__/match-context.test.js +0 -92
  565. package/dist/router/__tests__/match-context.test.js.map +0 -1
  566. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  567. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  568. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  569. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  570. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  571. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  572. package/dist/router/__tests__/match-result.test.js +0 -457
  573. package/dist/router/__tests__/match-result.test.js.map +0 -1
  574. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  575. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  576. package/dist/router/__tests__/on-error.test.js +0 -678
  577. package/dist/router/__tests__/on-error.test.js.map +0 -1
  578. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  579. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  580. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  581. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  582. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  583. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  584. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  585. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  586. package/dist/router/error-handling.d.ts +0 -77
  587. package/dist/router/error-handling.d.ts.map +0 -1
  588. package/dist/router/error-handling.js +0 -202
  589. package/dist/router/error-handling.js.map +0 -1
  590. package/dist/router/handler-context.d.ts +0 -20
  591. package/dist/router/handler-context.d.ts.map +0 -1
  592. package/dist/router/handler-context.js +0 -198
  593. package/dist/router/handler-context.js.map +0 -1
  594. package/dist/router/intercept-resolution.d.ts +0 -66
  595. package/dist/router/intercept-resolution.d.ts.map +0 -1
  596. package/dist/router/intercept-resolution.js +0 -246
  597. package/dist/router/intercept-resolution.js.map +0 -1
  598. package/dist/router/loader-resolution.d.ts +0 -64
  599. package/dist/router/loader-resolution.d.ts.map +0 -1
  600. package/dist/router/loader-resolution.js +0 -284
  601. package/dist/router/loader-resolution.js.map +0 -1
  602. package/dist/router/logging.d.ts +0 -15
  603. package/dist/router/logging.d.ts.map +0 -1
  604. package/dist/router/logging.js +0 -99
  605. package/dist/router/logging.js.map +0 -1
  606. package/dist/router/manifest.d.ts +0 -22
  607. package/dist/router/manifest.d.ts.map +0 -1
  608. package/dist/router/manifest.js +0 -181
  609. package/dist/router/manifest.js.map +0 -1
  610. package/dist/router/match-api.d.ts +0 -35
  611. package/dist/router/match-api.d.ts.map +0 -1
  612. package/dist/router/match-api.js +0 -406
  613. package/dist/router/match-api.js.map +0 -1
  614. package/dist/router/match-context.d.ts +0 -206
  615. package/dist/router/match-context.d.ts.map +0 -1
  616. package/dist/router/match-context.js +0 -17
  617. package/dist/router/match-context.js.map +0 -1
  618. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  619. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  620. package/dist/router/match-middleware/background-revalidation.js +0 -75
  621. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  622. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  623. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  624. package/dist/router/match-middleware/cache-lookup.js +0 -257
  625. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  626. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  627. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  628. package/dist/router/match-middleware/cache-store.js +0 -108
  629. package/dist/router/match-middleware/cache-store.js.map +0 -1
  630. package/dist/router/match-middleware/index.d.ts +0 -81
  631. package/dist/router/match-middleware/index.d.ts.map +0 -1
  632. package/dist/router/match-middleware/index.js +0 -80
  633. package/dist/router/match-middleware/index.js.map +0 -1
  634. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  635. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  636. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  637. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  638. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  639. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  640. package/dist/router/match-middleware/segment-resolution.js +0 -53
  641. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  642. package/dist/router/match-pipelines.d.ts +0 -147
  643. package/dist/router/match-pipelines.d.ts.map +0 -1
  644. package/dist/router/match-pipelines.js +0 -82
  645. package/dist/router/match-pipelines.js.map +0 -1
  646. package/dist/router/match-result.d.ts +0 -126
  647. package/dist/router/match-result.d.ts.map +0 -1
  648. package/dist/router/match-result.js +0 -93
  649. package/dist/router/match-result.js.map +0 -1
  650. package/dist/router/metrics.d.ts +0 -20
  651. package/dist/router/metrics.d.ts.map +0 -1
  652. package/dist/router/metrics.js +0 -47
  653. package/dist/router/metrics.js.map +0 -1
  654. package/dist/router/middleware.d.ts +0 -249
  655. package/dist/router/middleware.d.ts.map +0 -1
  656. package/dist/router/middleware.js +0 -434
  657. package/dist/router/middleware.js.map +0 -1
  658. package/dist/router/middleware.test.d.ts +0 -2
  659. package/dist/router/middleware.test.d.ts.map +0 -1
  660. package/dist/router/middleware.test.js +0 -816
  661. package/dist/router/middleware.test.js.map +0 -1
  662. package/dist/router/pattern-matching.d.ts +0 -149
  663. package/dist/router/pattern-matching.d.ts.map +0 -1
  664. package/dist/router/pattern-matching.js +0 -349
  665. package/dist/router/pattern-matching.js.map +0 -1
  666. package/dist/router/revalidation.d.ts +0 -44
  667. package/dist/router/revalidation.d.ts.map +0 -1
  668. package/dist/router/revalidation.js +0 -147
  669. package/dist/router/revalidation.js.map +0 -1
  670. package/dist/router/router-context.d.ts +0 -135
  671. package/dist/router/router-context.d.ts.map +0 -1
  672. package/dist/router/router-context.js +0 -36
  673. package/dist/router/router-context.js.map +0 -1
  674. package/dist/router/segment-resolution.d.ts +0 -127
  675. package/dist/router/segment-resolution.d.ts.map +0 -1
  676. package/dist/router/segment-resolution.js +0 -919
  677. package/dist/router/segment-resolution.js.map +0 -1
  678. package/dist/router/trie-matching.d.ts +0 -40
  679. package/dist/router/trie-matching.d.ts.map +0 -1
  680. package/dist/router/trie-matching.js +0 -127
  681. package/dist/router/trie-matching.js.map +0 -1
  682. package/dist/router/types.d.ts +0 -136
  683. package/dist/router/types.d.ts.map +0 -1
  684. package/dist/router/types.js +0 -7
  685. package/dist/router/types.js.map +0 -1
  686. package/dist/router.d.ts +0 -753
  687. package/dist/router.d.ts.map +0 -1
  688. package/dist/router.gen.d.ts +0 -6
  689. package/dist/router.gen.d.ts.map +0 -1
  690. package/dist/router.gen.js +0 -6
  691. package/dist/router.gen.js.map +0 -1
  692. package/dist/router.js +0 -1304
  693. package/dist/router.js.map +0 -1
  694. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  695. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  696. package/dist/rsc/__tests__/helpers.test.js +0 -140
  697. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  698. package/dist/rsc/handler.d.ts +0 -45
  699. package/dist/rsc/handler.d.ts.map +0 -1
  700. package/dist/rsc/handler.js +0 -1172
  701. package/dist/rsc/handler.js.map +0 -1
  702. package/dist/rsc/helpers.d.ts +0 -16
  703. package/dist/rsc/helpers.d.ts.map +0 -1
  704. package/dist/rsc/helpers.js +0 -55
  705. package/dist/rsc/helpers.js.map +0 -1
  706. package/dist/rsc/index.d.ts +0 -22
  707. package/dist/rsc/index.d.ts.map +0 -1
  708. package/dist/rsc/index.js +0 -23
  709. package/dist/rsc/index.js.map +0 -1
  710. package/dist/rsc/nonce.d.ts +0 -9
  711. package/dist/rsc/nonce.d.ts.map +0 -1
  712. package/dist/rsc/nonce.js +0 -18
  713. package/dist/rsc/nonce.js.map +0 -1
  714. package/dist/rsc/types.d.ts +0 -206
  715. package/dist/rsc/types.d.ts.map +0 -1
  716. package/dist/rsc/types.js +0 -8
  717. package/dist/rsc/types.js.map +0 -1
  718. package/dist/search-params.d.ts +0 -103
  719. package/dist/search-params.d.ts.map +0 -1
  720. package/dist/search-params.js +0 -74
  721. package/dist/search-params.js.map +0 -1
  722. package/dist/segment-system.d.ts +0 -75
  723. package/dist/segment-system.d.ts.map +0 -1
  724. package/dist/segment-system.js +0 -336
  725. package/dist/segment-system.js.map +0 -1
  726. package/dist/server/context.d.ts +0 -245
  727. package/dist/server/context.d.ts.map +0 -1
  728. package/dist/server/context.js +0 -197
  729. package/dist/server/context.js.map +0 -1
  730. package/dist/server/fetchable-loader-store.d.ts +0 -18
  731. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  732. package/dist/server/fetchable-loader-store.js +0 -18
  733. package/dist/server/fetchable-loader-store.js.map +0 -1
  734. package/dist/server/handle-store.d.ts +0 -85
  735. package/dist/server/handle-store.d.ts.map +0 -1
  736. package/dist/server/handle-store.js +0 -142
  737. package/dist/server/handle-store.js.map +0 -1
  738. package/dist/server/loader-registry.d.ts +0 -55
  739. package/dist/server/loader-registry.d.ts.map +0 -1
  740. package/dist/server/loader-registry.js +0 -132
  741. package/dist/server/loader-registry.js.map +0 -1
  742. package/dist/server/request-context.d.ts +0 -226
  743. package/dist/server/request-context.d.ts.map +0 -1
  744. package/dist/server/request-context.js +0 -290
  745. package/dist/server/request-context.js.map +0 -1
  746. package/dist/server/root-layout.d.ts +0 -4
  747. package/dist/server/root-layout.d.ts.map +0 -1
  748. package/dist/server/root-layout.js +0 -5
  749. package/dist/server/root-layout.js.map +0 -1
  750. package/dist/server.d.ts +0 -15
  751. package/dist/server.d.ts.map +0 -1
  752. package/dist/server.js +0 -20
  753. package/dist/server.js.map +0 -1
  754. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  755. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  756. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  757. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  758. package/dist/ssr/index.d.ts +0 -98
  759. package/dist/ssr/index.d.ts.map +0 -1
  760. package/dist/ssr/index.js +0 -158
  761. package/dist/ssr/index.js.map +0 -1
  762. package/dist/static-handler.d.ts +0 -50
  763. package/dist/static-handler.d.ts.map +0 -1
  764. package/dist/static-handler.gen.d.ts +0 -5
  765. package/dist/static-handler.gen.d.ts.map +0 -1
  766. package/dist/static-handler.gen.js +0 -5
  767. package/dist/static-handler.gen.js.map +0 -1
  768. package/dist/static-handler.js +0 -29
  769. package/dist/static-handler.js.map +0 -1
  770. package/dist/theme/ThemeProvider.d.ts +0 -20
  771. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  772. package/dist/theme/ThemeProvider.js +0 -240
  773. package/dist/theme/ThemeProvider.js.map +0 -1
  774. package/dist/theme/ThemeScript.d.ts +0 -48
  775. package/dist/theme/ThemeScript.d.ts.map +0 -1
  776. package/dist/theme/ThemeScript.js +0 -13
  777. package/dist/theme/ThemeScript.js.map +0 -1
  778. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  779. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  780. package/dist/theme/__tests__/theme.test.js +0 -103
  781. package/dist/theme/__tests__/theme.test.js.map +0 -1
  782. package/dist/theme/constants.d.ts +0 -29
  783. package/dist/theme/constants.d.ts.map +0 -1
  784. package/dist/theme/constants.js +0 -48
  785. package/dist/theme/constants.js.map +0 -1
  786. package/dist/theme/index.d.ts +0 -31
  787. package/dist/theme/index.d.ts.map +0 -1
  788. package/dist/theme/index.js +0 -36
  789. package/dist/theme/index.js.map +0 -1
  790. package/dist/theme/theme-context.d.ts +0 -40
  791. package/dist/theme/theme-context.d.ts.map +0 -1
  792. package/dist/theme/theme-context.js +0 -60
  793. package/dist/theme/theme-context.js.map +0 -1
  794. package/dist/theme/theme-script.d.ts +0 -27
  795. package/dist/theme/theme-script.d.ts.map +0 -1
  796. package/dist/theme/theme-script.js +0 -147
  797. package/dist/theme/theme-script.js.map +0 -1
  798. package/dist/theme/types.d.ts +0 -163
  799. package/dist/theme/types.d.ts.map +0 -1
  800. package/dist/theme/types.js +0 -11
  801. package/dist/theme/types.js.map +0 -1
  802. package/dist/theme/use-theme.d.ts +0 -12
  803. package/dist/theme/use-theme.d.ts.map +0 -1
  804. package/dist/theme/use-theme.js +0 -40
  805. package/dist/theme/use-theme.js.map +0 -1
  806. package/dist/types.d.ts +0 -1479
  807. package/dist/types.d.ts.map +0 -1
  808. package/dist/types.js +0 -10
  809. package/dist/types.js.map +0 -1
  810. package/dist/urls.d.ts +0 -441
  811. package/dist/urls.d.ts.map +0 -1
  812. package/dist/urls.gen.d.ts +0 -8
  813. package/dist/urls.gen.d.ts.map +0 -1
  814. package/dist/urls.gen.js +0 -8
  815. package/dist/urls.gen.js.map +0 -1
  816. package/dist/urls.js +0 -443
  817. package/dist/urls.js.map +0 -1
  818. package/dist/use-loader.d.ts +0 -127
  819. package/dist/use-loader.d.ts.map +0 -1
  820. package/dist/use-loader.js +0 -237
  821. package/dist/use-loader.js.map +0 -1
  822. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  823. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  824. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  825. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  826. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  827. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  828. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  829. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  830. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  831. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  832. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  833. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  834. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  835. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  836. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  837. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  838. package/dist/vite/ast-handler-extract.d.ts +0 -49
  839. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  840. package/dist/vite/ast-handler-extract.js +0 -249
  841. package/dist/vite/ast-handler-extract.js.map +0 -1
  842. package/dist/vite/expose-action-id.d.ts +0 -19
  843. package/dist/vite/expose-action-id.d.ts.map +0 -1
  844. package/dist/vite/expose-action-id.js +0 -250
  845. package/dist/vite/expose-action-id.js.map +0 -1
  846. package/dist/vite/expose-id-utils.d.ts +0 -69
  847. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  848. package/dist/vite/expose-id-utils.js +0 -289
  849. package/dist/vite/expose-id-utils.js.map +0 -1
  850. package/dist/vite/expose-internal-ids.d.ts +0 -22
  851. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  852. package/dist/vite/expose-internal-ids.js +0 -886
  853. package/dist/vite/expose-internal-ids.js.map +0 -1
  854. package/dist/vite/index.d.ts +0 -149
  855. package/dist/vite/index.d.ts.map +0 -1
  856. package/dist/vite/index.js.bak +0 -5448
  857. package/dist/vite/index.js.map +0 -1
  858. package/dist/vite/index.named-routes.gen.ts +0 -103
  859. package/dist/vite/package-resolution.d.ts +0 -43
  860. package/dist/vite/package-resolution.d.ts.map +0 -1
  861. package/dist/vite/package-resolution.js +0 -112
  862. package/dist/vite/package-resolution.js.map +0 -1
  863. package/dist/vite/virtual-entries.d.ts +0 -25
  864. package/dist/vite/virtual-entries.d.ts.map +0 -1
  865. package/dist/vite/virtual-entries.js +0 -110
  866. package/dist/vite/virtual-entries.js.map +0 -1
@@ -1,17 +0,0 @@
1
- /**
2
- * Create initial pipeline state
3
- */
4
- export function createPipelineState() {
5
- return {
6
- cacheHit: false,
7
- segments: [],
8
- matchedIds: [],
9
- interceptSegments: [],
10
- slots: {},
11
- };
12
- }
13
- // Note: createMatchContext() will be implemented in Step J10 when we wire everything together.
14
- // It requires access to RouterContext (findMatch, loadManifest, etc.) which are closure
15
- // functions from createRouter(). The implementation will live in router.ts initially
16
- // and call getRouterContext() to access these dependencies.
17
- //# sourceMappingURL=match-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"match-context.js","sourceRoot":"","sources":["../../src/router/match-context.ts"],"names":[],"mappings":"AAsOA;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,EAAE;QACd,iBAAiB,EAAE,EAAE;QACrB,KAAK,EAAE,EAAE;KACV,CAAC;AACJ,CAAC;AAmBD,+FAA+F;AAC/F,wFAAwF;AACxF,qFAAqF;AACrF,4DAA4D"}
@@ -1,127 +0,0 @@
1
- /**
2
- * Background Revalidation Middleware
3
- *
4
- * Implements SWR (stale-while-revalidate) pattern.
5
- * Triggers background refresh when cached data is stale.
6
- *
7
- * FLOW DIAGRAM
8
- * ============
9
- *
10
- * source (from cache-store)
11
- * |
12
- * v
13
- * +---------------------------+
14
- * | yield* source | Pure pass-through
15
- * | (no modifications) |
16
- * +---------------------------+
17
- * |
18
- * v
19
- * +---------------------+
20
- * | Should revalidate? |
21
- * | - shouldRevalidate |──no───> return
22
- * | - cacheHit |
23
- * | - cacheScope |
24
- * +---------------------+
25
- * | yes
26
- * v
27
- * +---------------------------+
28
- * | requestCtx.waitUntil() | Non-blocking background task
29
- * +---------------------------+
30
- * |
31
- * v (async, doesn't block response)
32
- * +---------------------------+
33
- * | Create fresh handleStore | Isolate from response stream
34
- * +---------------------------+
35
- * |
36
- * v
37
- * +---------------------+
38
- * | isFullMatch? |
39
- * +---------------------+
40
- * |
41
- * +-----+-----+
42
- * | |
43
- * yes no
44
- * | |
45
- * v v
46
- * resolveAll resolveWithRevalidation
47
- * Segments + resolveIntercepts
48
- * | |
49
- * +-----------+
50
- * |
51
- * v
52
- * +---------------------------+
53
- * | cacheScope.cacheRoute() | Update cache with fresh data
54
- * +---------------------------+
55
- *
56
- *
57
- * SWR PATTERN
58
- * ===========
59
- *
60
- * Stale-While-Revalidate provides fast responses with eventual consistency:
61
- *
62
- * Timeline:
63
- * ---------
64
- * T0: Request arrives
65
- * T1: Cache lookup finds stale entry
66
- * T2: Return stale data immediately (fast!)
67
- * T3: Response sent to client
68
- * T4: waitUntil() triggers background revalidation
69
- * T5: Fresh data resolved
70
- * T6: Cache updated with fresh data
71
- * T7: Next request gets fresh data from cache
72
- *
73
- * Benefits:
74
- * - Fast initial response (cached data)
75
- * - Eventually consistent (background refresh)
76
- * - No blocking on revalidation
77
- *
78
- *
79
- * WHEN IS CACHE STALE?
80
- * ====================
81
- *
82
- * The cache-lookup middleware sets state.shouldRevalidate based on:
83
- * - TTL (time-to-live) expiration
84
- * - Cache entry metadata
85
- * - Configured staleness rules
86
- *
87
- * This middleware only acts on the flag, it doesn't determine staleness.
88
- *
89
- *
90
- * ISOLATION FROM RESPONSE
91
- * =======================
92
- *
93
- * The background revalidation creates a fresh handleStore:
94
- *
95
- * requestCtx._handleStore = createHandleStore();
96
- *
97
- * This prevents background handle.push() calls from:
98
- * - Polluting the current response stream
99
- * - Causing duplicate data in the client
100
- * - Creating race conditions
101
- *
102
- *
103
- * FULL VS PARTIAL REVALIDATION
104
- * ============================
105
- *
106
- * Full Match (document request):
107
- * - Simple resolveAllSegments()
108
- * - No need to compare with previous state
109
- *
110
- * Partial Match (navigation):
111
- * - resolveAllSegmentsWithRevalidation()
112
- * - Also resolves intercept segments if applicable
113
- * - More complex but handles all scenarios
114
- */
115
- import type { ResolvedSegment } from "../../types.js";
116
- import type { MatchContext, MatchPipelineState } from "../match-context.js";
117
- import type { GeneratorMiddleware } from "./cache-lookup.js";
118
- /**
119
- * Creates background revalidation middleware
120
- *
121
- * If cache was stale (state.shouldRevalidate === true):
122
- * - Triggers background resolution via waitUntil
123
- * - Observes segments but doesn't modify them
124
- * - Updates cache with fresh segments after revalidation completes
125
- */
126
- export declare function withBackgroundRevalidation<TEnv>(ctx: MatchContext<TEnv>, state: MatchPipelineState): GeneratorMiddleware<ResolvedSegment>;
127
- //# sourceMappingURL=background-revalidation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"background-revalidation.d.ts","sourceRoot":"","sources":["../../../src/router/match-middleware/background-revalidation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiHG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAG7D;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAC7C,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,EACvB,KAAK,EAAE,kBAAkB,GACxB,mBAAmB,CAAC,eAAe,CAAC,CA+GtC"}
@@ -1,75 +0,0 @@
1
- import { getRouterContext } from "../router-context.js";
2
- import { debugLog, debugWarn } from "../logging.js";
3
- /**
4
- * Creates background revalidation middleware
5
- *
6
- * If cache was stale (state.shouldRevalidate === true):
7
- * - Triggers background resolution via waitUntil
8
- * - Observes segments but doesn't modify them
9
- * - Updates cache with fresh segments after revalidation completes
10
- */
11
- export function withBackgroundRevalidation(ctx, state) {
12
- return async function* (source) {
13
- // Pass through all segments unchanged
14
- for await (const segment of source) {
15
- yield segment;
16
- }
17
- // Only trigger background revalidation if:
18
- // 1. Cache was hit and stale
19
- // 2. Cache scope exists
20
- if (!state.shouldRevalidate || !state.cacheHit || !ctx.cacheScope) {
21
- return;
22
- }
23
- const { getRequestContext, createHandleStore, resolveAllSegmentsWithRevalidation, resolveAllSegments, resolveInterceptEntry, } = getRouterContext();
24
- const requestCtx = getRequestContext();
25
- const cacheScope = ctx.cacheScope;
26
- requestCtx?.waitUntil(async () => {
27
- debugLog("backgroundRevalidation", "revalidating stale route", {
28
- pathname: ctx.pathname,
29
- fullMatch: ctx.isFullMatch,
30
- });
31
- try {
32
- // Create a fresh handleStore for background revalidation
33
- // to avoid polluting the current response's handle stream
34
- if (requestCtx) {
35
- requestCtx._handleStore = createHandleStore();
36
- }
37
- let freshSegments;
38
- if (ctx.isFullMatch) {
39
- // Full match (document request) - simple resolution
40
- freshSegments = await resolveAllSegments(ctx.entries, ctx.routeKey, ctx.matched.params, ctx.handlerContext, ctx.loaderPromises);
41
- }
42
- else {
43
- // Partial match (navigation) - resolution with revalidation
44
- const freshResult = await resolveAllSegmentsWithRevalidation(ctx.entries, ctx.routeKey, ctx.matched.params, ctx.handlerContext, ctx.clientSegmentSet, ctx.prevParams, ctx.request, ctx.prevUrl, ctx.url, ctx.loaderPromises, ctx.actionContext, ctx.interceptResult, ctx.localRouteName, ctx.pathname);
45
- freshSegments = freshResult.segments;
46
- // For intercept revalidation, also resolve fresh intercept segments
47
- if (ctx.interceptResult) {
48
- const freshInterceptSegments = await resolveInterceptEntry(ctx.interceptResult.intercept, ctx.interceptResult.entry, ctx.matched.params, ctx.handlerContext, true, {
49
- clientSegmentIds: ctx.clientSegmentSet,
50
- prevParams: ctx.prevParams,
51
- request: ctx.request,
52
- prevUrl: ctx.prevUrl,
53
- nextUrl: ctx.url,
54
- routeKey: ctx.routeKey,
55
- actionContext: ctx.actionContext,
56
- stale: false,
57
- });
58
- freshSegments = [...freshSegments, ...freshInterceptSegments];
59
- }
60
- }
61
- await cacheScope.cacheRoute(ctx.pathname, ctx.matched.params, freshSegments, ctx.isIntercept);
62
- debugLog("backgroundRevalidation", "revalidation complete", {
63
- pathname: ctx.pathname,
64
- });
65
- }
66
- catch (error) {
67
- debugWarn("backgroundRevalidation", "revalidation failed", {
68
- pathname: ctx.pathname,
69
- error: String(error),
70
- });
71
- }
72
- });
73
- };
74
- }
75
- //# sourceMappingURL=background-revalidation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"background-revalidation.js","sourceRoot":"","sources":["../../../src/router/match-middleware/background-revalidation.ts"],"names":[],"mappings":"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"}
@@ -1,112 +0,0 @@
1
- /**
2
- * Cache Lookup Middleware
3
- *
4
- * First middleware in the pipeline. Checks cache before segment resolution.
5
- *
6
- * FLOW DIAGRAM
7
- * ============
8
- *
9
- * source (empty)
10
- * |
11
- * v
12
- * +---------------------+
13
- * | Is action request? |──yes──> yield* source (pass through)
14
- * +---------------------+
15
- * | no
16
- * v
17
- * +---------------------+
18
- * | Cache enabled? |──no───> yield* source (pass through)
19
- * +---------------------+
20
- * | yes
21
- * v
22
- * +---------------------+
23
- * | Lookup cache |
24
- * | (pathname, params) |
25
- * +---------------------+
26
- * |
27
- * +-----+-----+
28
- * | |
29
- * miss hit
30
- * | |
31
- * v v
32
- * yield* Set state.cacheHit = true
33
- * source Set state.shouldRevalidate
34
- * | |
35
- * | v
36
- * | +---------------------------+
37
- * | | For each cached segment: |
38
- * | | - Apply revalidation |
39
- * | | - Set component = null |
40
- * | | if client has it |
41
- * | +---------------------------+
42
- * | |
43
- * | v
44
- * | +---------------------------+
45
- * | | Resolve fresh loaders | <-- Loaders are NEVER cached
46
- * | | (always fresh data) |
47
- * | +---------------------------+
48
- * | |
49
- * | v
50
- * | yield cached segments
51
- * | yield fresh loader segments
52
- * | |
53
- * +-----------+
54
- * |
55
- * v
56
- * next middleware
57
- *
58
- *
59
- * CACHE BEHAVIOR
60
- * ==============
61
- *
62
- * Cache HIT:
63
- * - state.cacheHit = true signals downstream middleware to skip
64
- * - Cached segments have their components nullified if client already has them
65
- * - Loaders are always re-resolved for fresh data
66
- * - state.shouldRevalidate triggers background SWR if cache was stale
67
- *
68
- * Cache MISS:
69
- * - Passes through to segment-resolution middleware
70
- * - No segments yielded from this middleware
71
- *
72
- * Loaders:
73
- * - NEVER cached by design
74
- * - Always resolved fresh on every request
75
- * - Ensures data freshness even with cached UI components
76
- *
77
- *
78
- * REVALIDATION RULES
79
- * ==================
80
- *
81
- * Each cached segment is evaluated against its revalidation rules:
82
- *
83
- * 1. No rules defined -> use default (skip if client has segment)
84
- * 2. Rules return false -> skip re-render (nullify component)
85
- * 3. Rules return true -> re-render (keep component)
86
- *
87
- * Revalidation context includes:
88
- * - Previous/next URL and params
89
- * - Request object
90
- * - Action context (if POST)
91
- */
92
- import type { ResolvedSegment } from "../../types.js";
93
- import type { MatchContext, MatchPipelineState } from "../match-context.js";
94
- /**
95
- * Async generator middleware type
96
- */
97
- export type GeneratorMiddleware<T> = (source: AsyncGenerator<T>) => AsyncGenerator<T>;
98
- /**
99
- * Creates cache lookup middleware
100
- *
101
- * Checks cache for segments. If cache hit:
102
- * - Applies revalidation to determine which segments need re-rendering
103
- * - Resolves loaders fresh (loaders are NOT cached by design)
104
- * - Sets state.cacheHit = true
105
- * - Sets state.shouldRevalidate if SWR needed
106
- * - Yields cached segments + fresh loader segments
107
- *
108
- * If cache miss:
109
- * - Passes through to next middleware
110
- */
111
- export declare function withCacheLookup<TEnv>(ctx: MatchContext<TEnv>, state: MatchPipelineState): GeneratorMiddleware<ResolvedSegment>;
112
- //# sourceMappingURL=cache-lookup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache-lookup.d.ts","sourceRoot":"","sources":["../../../src/router/match-middleware/cache-lookup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0FG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AA6H5E;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,CACnC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,KACtB,cAAc,CAAC,CAAC,CAAC,CAAC;AAEvB;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAClC,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,EACvB,KAAK,EAAE,kBAAkB,GACxB,mBAAmB,CAAC,eAAe,CAAC,CAqMtC"}
@@ -1,257 +0,0 @@
1
- import { getRouterContext } from "../router-context.js";
2
- // Lazily initialized prerender store singleton and dynamically imported deps.
3
- // Dynamic imports prevent pulling in @vitejs/plugin-rsc/rsc virtual module at
4
- // top-level, which breaks vitest (only URLs with file:, data:, node: schemes).
5
- let prerenderStoreInstance;
6
- let _deserializeSegments;
7
- let _hashParams;
8
- let _getRequestContext;
9
- async function ensurePrerenderDeps() {
10
- if (!_deserializeSegments) {
11
- const [cache, paramHash, reqCtx, store] = await Promise.all([
12
- import("../../cache/cache-scope.js"),
13
- import("../../prerender/param-hash.js"),
14
- import("../../server/request-context.js"),
15
- import("../../prerender/store.js"),
16
- ]);
17
- _deserializeSegments = cache.deserializeSegments;
18
- _hashParams = paramHash.hashParams;
19
- _getRequestContext = reqCtx.getRequestContext;
20
- if (prerenderStoreInstance === undefined) {
21
- prerenderStoreInstance = store.createPrerenderStore();
22
- }
23
- }
24
- }
25
- /**
26
- * Shared yield logic for prerender and static handler store entries.
27
- * Deserializes segments, replays handle data, yields segments with partial
28
- * navigation nullification, and resolves fresh loaders.
29
- */
30
- async function* yieldFromStore(entry, ctx, state, pipelineStart) {
31
- const { resolveLoadersOnlyWithRevalidation, resolveLoadersOnly, } = getRouterContext();
32
- if (!_deserializeSegments || !_hashParams || !_getRequestContext) {
33
- throw new Error("yieldFromStore called before ensurePrerenderDeps");
34
- }
35
- const segments = await _deserializeSegments(entry.segments);
36
- // Replay handle data (same as runtime cache hit path)
37
- const handleStore = _getRequestContext()?._handleStore;
38
- if (handleStore) {
39
- for (const [segId, segHandles] of Object.entries(entry.handles)) {
40
- if (Object.keys(segHandles).length > 0) {
41
- handleStore.replaySegmentData(segId, segHandles);
42
- }
43
- }
44
- }
45
- state.cacheHit = true;
46
- state.cachedSegments = segments;
47
- state.cachedMatchedIds = segments.map((s) => s.id);
48
- // For partial navigation, nullify components the client already has
49
- // so parent layouts stay live (client keeps its existing versions).
50
- // When params changed (e.g., different guide slug), the segments have
51
- // different content, so we must NOT nullify.
52
- const paramsChanged = !ctx.isFullMatch &&
53
- JSON.stringify(ctx.matched.params) !== JSON.stringify(ctx.prevParams);
54
- for (const segment of segments) {
55
- if (!ctx.isFullMatch && !paramsChanged && ctx.clientSegmentSet.has(segment.id)) {
56
- segment.component = null;
57
- segment.loading = undefined;
58
- }
59
- yield segment;
60
- }
61
- // Resolve loaders fresh (loaders are never pre-rendered/cached)
62
- if (ctx.isFullMatch) {
63
- if (resolveLoadersOnly) {
64
- const loaderSegments = await ctx.Store.run(() => resolveLoadersOnly(ctx.entries, ctx.handlerContext));
65
- state.matchedIds = state.cachedMatchedIds;
66
- for (const segment of loaderSegments) {
67
- yield segment;
68
- }
69
- }
70
- else {
71
- state.matchedIds = state.cachedMatchedIds;
72
- }
73
- }
74
- else {
75
- if (resolveLoadersOnlyWithRevalidation) {
76
- const loaderResult = await ctx.Store.run(() => resolveLoadersOnlyWithRevalidation(ctx.entries, ctx.handlerContext, ctx.clientSegmentSet, ctx.prevParams, ctx.request, ctx.prevUrl, ctx.url, ctx.routeKey, ctx.actionContext));
77
- state.matchedIds = [
78
- ...state.cachedMatchedIds,
79
- ...loaderResult.matchedIds,
80
- ];
81
- for (const segment of loaderResult.segments) {
82
- yield segment;
83
- }
84
- }
85
- else {
86
- state.matchedIds = state.cachedMatchedIds;
87
- }
88
- }
89
- const ms = ctx.metricsStore;
90
- if (ms) {
91
- ms.metrics.push({ label: "pipeline:cache-lookup", duration: performance.now() - pipelineStart, startTime: pipelineStart - ms.requestStart });
92
- }
93
- }
94
- /**
95
- * Creates cache lookup middleware
96
- *
97
- * Checks cache for segments. If cache hit:
98
- * - Applies revalidation to determine which segments need re-rendering
99
- * - Resolves loaders fresh (loaders are NOT cached by design)
100
- * - Sets state.cacheHit = true
101
- * - Sets state.shouldRevalidate if SWR needed
102
- * - Yields cached segments + fresh loader segments
103
- *
104
- * If cache miss:
105
- * - Passes through to next middleware
106
- */
107
- export function withCacheLookup(ctx, state) {
108
- return async function* (source) {
109
- const pipelineStart = performance.now();
110
- const ms = ctx.metricsStore;
111
- const { evaluateRevalidation, buildEntryRevalidateMap, resolveLoadersOnlyWithRevalidation, resolveLoadersOnly, } = getRouterContext();
112
- // Prerender lookup: check build-time cached data before runtime cache.
113
- // Prerender data is available regardless of runtime cache configuration.
114
- if (!ctx.isAction && ctx.matched.pr) {
115
- await ensurePrerenderDeps();
116
- if (prerenderStoreInstance) {
117
- const paramHash = _hashParams(ctx.matched.params);
118
- const entry = await prerenderStoreInstance.get(ctx.matched.routeKey, paramHash, { pathname: ctx.pathname });
119
- if (entry) {
120
- yield* yieldFromStore(entry, ctx, state, pipelineStart);
121
- return;
122
- }
123
- }
124
- }
125
- // Dev-mode static handler interception for non-Node.js runtimes.
126
- // __PRERENDER_DEV_URL is set by the Vite plugin when the RSC environment
127
- // lacks a Node.js module runner (e.g. workerd, Deno workers). In those
128
- // runtimes, handlers that depend on Node APIs like node:fs can't run
129
- // in-process. We redirect them to the /__rsc_prerender endpoint which
130
- // resolves segments in a Node.js temp server, same as prerender routes.
131
- // In Node.js dev mode this variable is undefined -- handlers run
132
- // in-process where Node APIs work, so no interception is needed.
133
- if (!ctx.isAction && !ctx.matched.pr && globalThis.__PRERENDER_DEV_URL) {
134
- const hasStatic = ctx.entries.some((e) => (e.type === "layout" || e.type === "route" || e.type === "parallel") && e.isStaticPrerender);
135
- if (hasStatic) {
136
- await ensurePrerenderDeps();
137
- if (prerenderStoreInstance) {
138
- const paramHash = _hashParams(ctx.matched.params);
139
- const entry = await prerenderStoreInstance.get(ctx.matched.routeKey, paramHash, { pathname: ctx.pathname });
140
- if (entry) {
141
- yield* yieldFromStore(entry, ctx, state, pipelineStart);
142
- return;
143
- }
144
- }
145
- }
146
- }
147
- // Skip cache during actions
148
- if (ctx.isAction || !ctx.cacheScope?.enabled) {
149
- // Cache miss - pass through to segment resolution
150
- yield* source;
151
- if (ms) {
152
- ms.metrics.push({ label: "pipeline:cache-lookup", duration: performance.now() - pipelineStart, startTime: pipelineStart - ms.requestStart });
153
- }
154
- return;
155
- }
156
- // Lookup cache
157
- const cacheResult = await ctx.cacheScope.lookupRoute(ctx.pathname, ctx.matched.params, ctx.isIntercept);
158
- if (!cacheResult) {
159
- // Cache miss - pass through to segment resolution
160
- yield* source;
161
- if (ms) {
162
- ms.metrics.push({ label: "pipeline:cache-lookup", duration: performance.now() - pipelineStart, startTime: pipelineStart - ms.requestStart });
163
- }
164
- return;
165
- }
166
- // Cache HIT
167
- state.cacheHit = true;
168
- state.shouldRevalidate = cacheResult.shouldRevalidate;
169
- state.cachedSegments = cacheResult.segments;
170
- state.cachedMatchedIds = cacheResult.segments.map((s) => s.id);
171
- // Apply revalidation to cached segments
172
- const entryRevalidateMap = buildEntryRevalidateMap?.(ctx.entries);
173
- for (const segment of cacheResult.segments) {
174
- // Skip segments client doesn't have - they need their component
175
- if (!ctx.clientSegmentSet.has(segment.id)) {
176
- yield segment;
177
- continue;
178
- }
179
- // Skip intercept segments - they're handled separately
180
- if (segment.namespace?.startsWith("intercept:")) {
181
- yield segment;
182
- continue;
183
- }
184
- // Look up revalidation rules for this segment
185
- const entryInfo = entryRevalidateMap?.get(segment.id);
186
- if (!entryInfo || entryInfo.revalidate.length === 0) {
187
- // No revalidation rules, use default behavior (skip if client has)
188
- segment.component = null;
189
- segment.loading = undefined;
190
- yield segment;
191
- continue;
192
- }
193
- // Evaluate revalidation rules
194
- const shouldRevalidate = await evaluateRevalidation({
195
- segment,
196
- prevParams: ctx.prevParams,
197
- getPrevSegment: null,
198
- request: ctx.request,
199
- prevUrl: ctx.prevUrl,
200
- nextUrl: ctx.url,
201
- revalidations: entryInfo.revalidate.map((fn, i) => ({
202
- name: `revalidate${i}`,
203
- fn,
204
- })),
205
- routeKey: ctx.routeKey,
206
- context: ctx.handlerContext,
207
- actionContext: ctx.actionContext,
208
- });
209
- if (!shouldRevalidate) {
210
- // Client has it, no revalidation needed
211
- segment.component = null;
212
- segment.loading = undefined;
213
- }
214
- yield segment;
215
- }
216
- // Resolve loaders fresh (loaders are NOT cached by default)
217
- // This ensures fresh data even on cache hit
218
- const Store = ctx.Store;
219
- if (ctx.isFullMatch) {
220
- // Full match (document request) - simple loader resolution without revalidation
221
- if (resolveLoadersOnly) {
222
- const loaderSegments = await Store.run(() => resolveLoadersOnly(ctx.entries, ctx.handlerContext));
223
- // Update state - full match doesn't track matchedIds separately
224
- state.matchedIds = state.cachedMatchedIds;
225
- // Yield fresh loader segments
226
- for (const segment of loaderSegments) {
227
- yield segment;
228
- }
229
- }
230
- else {
231
- state.matchedIds = state.cachedMatchedIds;
232
- }
233
- }
234
- else {
235
- // Partial match (navigation) - loader resolution with revalidation
236
- if (resolveLoadersOnlyWithRevalidation) {
237
- const loaderResult = await Store.run(() => resolveLoadersOnlyWithRevalidation(ctx.entries, ctx.handlerContext, ctx.clientSegmentSet, ctx.prevParams, ctx.request, ctx.prevUrl, ctx.url, ctx.routeKey, ctx.actionContext));
238
- // Update state with fresh loader matchedIds
239
- state.matchedIds = [
240
- ...state.cachedMatchedIds,
241
- ...loaderResult.matchedIds,
242
- ];
243
- // Yield fresh loader segments
244
- for (const segment of loaderResult.segments) {
245
- yield segment;
246
- }
247
- }
248
- else {
249
- state.matchedIds = state.cachedMatchedIds;
250
- }
251
- }
252
- if (ms) {
253
- ms.metrics.push({ label: "pipeline:cache-lookup", duration: performance.now() - pipelineStart, startTime: pipelineStart - ms.requestStart });
254
- }
255
- };
256
- }
257
- //# sourceMappingURL=cache-lookup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache-lookup.js","sourceRoot":"","sources":["../../../src/router/match-middleware/cache-lookup.ts"],"names":[],"mappings":"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"}