@rangojs/router 0.0.0-experimental.21 → 0.0.0-experimental.21efdd86

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 (961) hide show
  1. package/AGENTS.md +4 -0
  2. package/README.md +122 -30
  3. package/dist/bin/rango.js +138 -50
  4. package/dist/vite/index.js +602 -309
  5. package/package.json +16 -15
  6. package/skills/breadcrumbs/SKILL.md +250 -0
  7. package/skills/cache-guide/SKILL.md +32 -0
  8. package/skills/caching/SKILL.md +49 -8
  9. package/skills/document-cache/SKILL.md +2 -2
  10. package/skills/hooks/SKILL.md +33 -31
  11. package/skills/host-router/SKILL.md +218 -0
  12. package/skills/links/SKILL.md +3 -1
  13. package/skills/loader/SKILL.md +72 -22
  14. package/skills/middleware/SKILL.md +2 -0
  15. package/skills/parallel/SKILL.md +126 -0
  16. package/skills/prerender/SKILL.md +112 -70
  17. package/skills/rango/SKILL.md +0 -1
  18. package/skills/route/SKILL.md +34 -4
  19. package/skills/router-setup/SKILL.md +95 -5
  20. package/skills/typesafety/SKILL.md +35 -23
  21. package/src/__internal.ts +92 -0
  22. package/src/browser/app-version.ts +14 -0
  23. package/src/browser/event-controller.ts +5 -0
  24. package/src/browser/link-interceptor.ts +4 -0
  25. package/src/browser/navigation-bridge.ts +104 -14
  26. package/src/browser/navigation-client.ts +126 -44
  27. package/src/browser/navigation-store.ts +43 -8
  28. package/src/browser/navigation-transaction.ts +11 -9
  29. package/src/browser/partial-update.ts +80 -15
  30. package/src/browser/prefetch/cache.ts +166 -27
  31. package/src/browser/prefetch/fetch.ts +52 -39
  32. package/src/browser/prefetch/policy.ts +6 -0
  33. package/src/browser/prefetch/queue.ts +92 -20
  34. package/src/browser/prefetch/resource-ready.ts +77 -0
  35. package/src/browser/react/Link.tsx +70 -14
  36. package/src/browser/react/NavigationProvider.tsx +40 -4
  37. package/src/browser/react/context.ts +7 -2
  38. package/src/browser/react/use-handle.ts +9 -58
  39. package/src/browser/react/use-router.ts +21 -8
  40. package/src/browser/rsc-router.tsx +143 -60
  41. package/src/browser/scroll-restoration.ts +41 -42
  42. package/src/browser/segment-reconciler.ts +6 -1
  43. package/src/browser/server-action-bridge.ts +8 -6
  44. package/src/browser/types.ts +60 -5
  45. package/src/build/generate-manifest.ts +6 -6
  46. package/src/build/generate-route-types.ts +3 -0
  47. package/src/build/route-trie.ts +19 -3
  48. package/src/build/route-types/include-resolution.ts +8 -1
  49. package/src/build/route-types/router-processing.ts +223 -74
  50. package/src/build/route-types/scan-filter.ts +8 -1
  51. package/src/cache/cache-runtime.ts +15 -11
  52. package/src/cache/cache-scope.ts +48 -7
  53. package/src/cache/cf/cf-cache-store.ts +453 -11
  54. package/src/cache/cf/index.ts +5 -1
  55. package/src/cache/document-cache.ts +17 -7
  56. package/src/cache/index.ts +1 -0
  57. package/src/cache/taint.ts +55 -0
  58. package/src/client.rsc.tsx +2 -1
  59. package/src/client.tsx +3 -102
  60. package/src/context-var.ts +72 -2
  61. package/src/debug.ts +2 -2
  62. package/src/handle.ts +40 -0
  63. package/src/handles/breadcrumbs.ts +66 -0
  64. package/src/handles/index.ts +1 -0
  65. package/src/host/index.ts +0 -3
  66. package/src/index.rsc.ts +6 -36
  67. package/src/index.ts +40 -66
  68. package/src/prerender/store.ts +5 -4
  69. package/src/prerender.ts +138 -77
  70. package/src/reverse.ts +22 -1
  71. package/src/route-definition/dsl-helpers.ts +73 -25
  72. package/src/route-definition/helpers-types.ts +10 -6
  73. package/src/route-definition/index.ts +3 -3
  74. package/src/route-definition/redirect.ts +11 -3
  75. package/src/route-definition/resolve-handler-use.ts +149 -0
  76. package/src/route-map-builder.ts +7 -1
  77. package/src/route-types.ts +11 -0
  78. package/src/router/content-negotiation.ts +100 -1
  79. package/src/router/find-match.ts +4 -2
  80. package/src/router/handler-context.ts +108 -25
  81. package/src/router/intercept-resolution.ts +11 -4
  82. package/src/router/lazy-includes.ts +4 -1
  83. package/src/router/loader-resolution.ts +123 -11
  84. package/src/router/logging.ts +5 -2
  85. package/src/router/manifest.ts +9 -3
  86. package/src/router/match-api.ts +125 -190
  87. package/src/router/match-middleware/background-revalidation.ts +30 -2
  88. package/src/router/match-middleware/cache-lookup.ts +88 -16
  89. package/src/router/match-middleware/cache-store.ts +53 -10
  90. package/src/router/match-middleware/intercept-resolution.ts +9 -7
  91. package/src/router/match-middleware/segment-resolution.ts +61 -5
  92. package/src/router/match-result.ts +22 -15
  93. package/src/router/metrics.ts +238 -13
  94. package/src/router/middleware-types.ts +53 -12
  95. package/src/router/middleware.ts +172 -85
  96. package/src/router/navigation-snapshot.ts +182 -0
  97. package/src/router/pattern-matching.ts +20 -5
  98. package/src/router/prerender-match.ts +114 -10
  99. package/src/router/preview-match.ts +30 -102
  100. package/src/router/request-classification.ts +310 -0
  101. package/src/router/revalidation.ts +27 -7
  102. package/src/router/route-snapshot.ts +245 -0
  103. package/src/router/router-context.ts +6 -1
  104. package/src/router/router-interfaces.ts +50 -5
  105. package/src/router/router-options.ts +50 -19
  106. package/src/router/segment-resolution/fresh.ts +210 -19
  107. package/src/router/segment-resolution/helpers.ts +30 -25
  108. package/src/router/segment-resolution/loader-cache.ts +1 -0
  109. package/src/router/segment-resolution/revalidation.ts +448 -301
  110. package/src/router/segment-wrappers.ts +2 -0
  111. package/src/router/trie-matching.ts +20 -2
  112. package/src/router/types.ts +1 -0
  113. package/src/router.ts +88 -15
  114. package/src/rsc/handler.ts +546 -359
  115. package/src/rsc/index.ts +0 -20
  116. package/src/rsc/manifest-init.ts +5 -1
  117. package/src/rsc/progressive-enhancement.ts +25 -8
  118. package/src/rsc/rsc-rendering.ts +35 -43
  119. package/src/rsc/server-action.ts +16 -10
  120. package/src/rsc/ssr-setup.ts +128 -0
  121. package/src/rsc/types.ts +10 -1
  122. package/src/search-params.ts +16 -13
  123. package/src/segment-system.tsx +140 -4
  124. package/src/server/context.ts +148 -16
  125. package/src/server/loader-registry.ts +9 -8
  126. package/src/server/request-context.ts +186 -29
  127. package/src/server.ts +6 -0
  128. package/src/ssr/index.tsx +4 -0
  129. package/src/static-handler.ts +18 -6
  130. package/src/theme/index.ts +4 -13
  131. package/src/types/cache-types.ts +4 -4
  132. package/src/types/handler-context.ts +149 -49
  133. package/src/types/loader-types.ts +36 -9
  134. package/src/types/route-config.ts +17 -8
  135. package/src/types/route-entry.ts +8 -1
  136. package/src/types/segments.ts +2 -5
  137. package/src/urls/path-helper-types.ts +9 -2
  138. package/src/urls/path-helper.ts +48 -13
  139. package/src/urls/pattern-types.ts +12 -0
  140. package/src/urls/response-types.ts +16 -6
  141. package/src/use-loader.tsx +73 -4
  142. package/src/vite/discovery/bundle-postprocess.ts +30 -33
  143. package/src/vite/discovery/discover-routers.ts +7 -4
  144. package/src/vite/discovery/prerender-collection.ts +14 -1
  145. package/src/vite/discovery/state.ts +13 -6
  146. package/src/vite/index.ts +8 -3
  147. package/src/vite/plugin-types.ts +51 -79
  148. package/src/vite/plugins/expose-action-id.ts +1 -3
  149. package/src/vite/plugins/performance-tracks.ts +88 -0
  150. package/src/vite/plugins/refresh-cmd.ts +127 -0
  151. package/src/vite/plugins/version-plugin.ts +13 -1
  152. package/src/vite/rango.ts +163 -211
  153. package/src/vite/router-discovery.ts +178 -45
  154. package/src/vite/utils/banner.ts +3 -3
  155. package/src/vite/utils/prerender-utils.ts +18 -0
  156. package/src/vite/utils/shared-utils.ts +3 -2
  157. package/dist/__internal.d.ts +0 -83
  158. package/dist/__internal.d.ts.map +0 -1
  159. package/dist/__internal.js +0 -19
  160. package/dist/__internal.js.map +0 -1
  161. package/dist/__mocks__/version.d.ts +0 -7
  162. package/dist/__mocks__/version.d.ts.map +0 -1
  163. package/dist/__mocks__/version.js +0 -7
  164. package/dist/__mocks__/version.js.map +0 -1
  165. package/dist/__tests__/client-href.test.d.ts +0 -2
  166. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  167. package/dist/__tests__/client-href.test.js +0 -74
  168. package/dist/__tests__/client-href.test.js.map +0 -1
  169. package/dist/__tests__/component-utils.test.d.ts +0 -2
  170. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  171. package/dist/__tests__/component-utils.test.js +0 -51
  172. package/dist/__tests__/component-utils.test.js.map +0 -1
  173. package/dist/__tests__/event-controller.test.d.ts +0 -2
  174. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  175. package/dist/__tests__/event-controller.test.js +0 -538
  176. package/dist/__tests__/event-controller.test.js.map +0 -1
  177. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  178. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  179. package/dist/__tests__/helpers/route-tree.js +0 -374
  180. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  181. package/dist/__tests__/match-result.test.d.ts +0 -2
  182. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  183. package/dist/__tests__/match-result.test.js +0 -154
  184. package/dist/__tests__/match-result.test.js.map +0 -1
  185. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  186. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  187. package/dist/__tests__/navigation-store.test.js +0 -440
  188. package/dist/__tests__/navigation-store.test.js.map +0 -1
  189. package/dist/__tests__/partial-update.test.d.ts +0 -2
  190. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  191. package/dist/__tests__/partial-update.test.js +0 -1009
  192. package/dist/__tests__/partial-update.test.js.map +0 -1
  193. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  194. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  195. package/dist/__tests__/reverse-types.test.js +0 -656
  196. package/dist/__tests__/reverse-types.test.js.map +0 -1
  197. package/dist/__tests__/route-definition.test.d.ts +0 -2
  198. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  199. package/dist/__tests__/route-definition.test.js +0 -55
  200. package/dist/__tests__/route-definition.test.js.map +0 -1
  201. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  202. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  203. package/dist/__tests__/router-helpers.test.js +0 -377
  204. package/dist/__tests__/router-helpers.test.js.map +0 -1
  205. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  206. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  207. package/dist/__tests__/router-integration-2.test.js +0 -426
  208. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  209. package/dist/__tests__/router-integration.test.d.ts +0 -2
  210. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  211. package/dist/__tests__/router-integration.test.js +0 -1051
  212. package/dist/__tests__/router-integration.test.js.map +0 -1
  213. package/dist/__tests__/search-params.test.d.ts +0 -5
  214. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  215. package/dist/__tests__/search-params.test.js +0 -306
  216. package/dist/__tests__/search-params.test.js.map +0 -1
  217. package/dist/__tests__/segment-system.test.d.ts +0 -2
  218. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  219. package/dist/__tests__/segment-system.test.js +0 -627
  220. package/dist/__tests__/segment-system.test.js.map +0 -1
  221. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  222. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  223. package/dist/__tests__/static-handler-types.test.js +0 -63
  224. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  225. package/dist/__tests__/urls.test.d.ts +0 -2
  226. package/dist/__tests__/urls.test.d.ts.map +0 -1
  227. package/dist/__tests__/urls.test.js +0 -421
  228. package/dist/__tests__/urls.test.js.map +0 -1
  229. package/dist/__tests__/use-mount.test.d.ts +0 -2
  230. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  231. package/dist/__tests__/use-mount.test.js +0 -35
  232. package/dist/__tests__/use-mount.test.js.map +0 -1
  233. package/dist/bin/rango.d.ts +0 -2
  234. package/dist/bin/rango.d.ts.map +0 -1
  235. package/dist/bin/rango.js.map +0 -1
  236. package/dist/browser/event-controller.d.ts +0 -191
  237. package/dist/browser/event-controller.d.ts.map +0 -1
  238. package/dist/browser/event-controller.js +0 -559
  239. package/dist/browser/event-controller.js.map +0 -1
  240. package/dist/browser/index.d.ts +0 -2
  241. package/dist/browser/index.d.ts.map +0 -1
  242. package/dist/browser/index.js +0 -14
  243. package/dist/browser/index.js.map +0 -1
  244. package/dist/browser/link-interceptor.d.ts +0 -38
  245. package/dist/browser/link-interceptor.d.ts.map +0 -1
  246. package/dist/browser/link-interceptor.js +0 -99
  247. package/dist/browser/link-interceptor.js.map +0 -1
  248. package/dist/browser/logging.d.ts +0 -10
  249. package/dist/browser/logging.d.ts.map +0 -1
  250. package/dist/browser/logging.js +0 -29
  251. package/dist/browser/logging.js.map +0 -1
  252. package/dist/browser/lru-cache.d.ts +0 -17
  253. package/dist/browser/lru-cache.d.ts.map +0 -1
  254. package/dist/browser/lru-cache.js +0 -50
  255. package/dist/browser/lru-cache.js.map +0 -1
  256. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  257. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  258. package/dist/browser/merge-segment-loaders.js +0 -102
  259. package/dist/browser/merge-segment-loaders.js.map +0 -1
  260. package/dist/browser/navigation-bridge.d.ts +0 -102
  261. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  262. package/dist/browser/navigation-bridge.js +0 -708
  263. package/dist/browser/navigation-bridge.js.map +0 -1
  264. package/dist/browser/navigation-client.d.ts +0 -25
  265. package/dist/browser/navigation-client.d.ts.map +0 -1
  266. package/dist/browser/navigation-client.js +0 -157
  267. package/dist/browser/navigation-client.js.map +0 -1
  268. package/dist/browser/navigation-store.d.ts +0 -101
  269. package/dist/browser/navigation-store.d.ts.map +0 -1
  270. package/dist/browser/navigation-store.js +0 -625
  271. package/dist/browser/navigation-store.js.map +0 -1
  272. package/dist/browser/partial-update.d.ts +0 -75
  273. package/dist/browser/partial-update.d.ts.map +0 -1
  274. package/dist/browser/partial-update.js +0 -426
  275. package/dist/browser/partial-update.js.map +0 -1
  276. package/dist/browser/react/Link.d.ts +0 -86
  277. package/dist/browser/react/Link.d.ts.map +0 -1
  278. package/dist/browser/react/Link.js +0 -128
  279. package/dist/browser/react/Link.js.map +0 -1
  280. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  281. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  282. package/dist/browser/react/NavigationProvider.js +0 -216
  283. package/dist/browser/react/NavigationProvider.js.map +0 -1
  284. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  285. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  286. package/dist/browser/react/ScrollRestoration.js +0 -57
  287. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  288. package/dist/browser/react/context.d.ts +0 -46
  289. package/dist/browser/react/context.d.ts.map +0 -1
  290. package/dist/browser/react/context.js +0 -10
  291. package/dist/browser/react/context.js.map +0 -1
  292. package/dist/browser/react/index.d.ts +0 -11
  293. package/dist/browser/react/index.d.ts.map +0 -1
  294. package/dist/browser/react/index.js +0 -22
  295. package/dist/browser/react/index.js.map +0 -1
  296. package/dist/browser/react/location-state-shared.d.ts +0 -63
  297. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  298. package/dist/browser/react/location-state-shared.js +0 -81
  299. package/dist/browser/react/location-state-shared.js.map +0 -1
  300. package/dist/browser/react/location-state.d.ts +0 -23
  301. package/dist/browser/react/location-state.d.ts.map +0 -1
  302. package/dist/browser/react/location-state.js +0 -29
  303. package/dist/browser/react/location-state.js.map +0 -1
  304. package/dist/browser/react/mount-context.d.ts +0 -24
  305. package/dist/browser/react/mount-context.d.ts.map +0 -1
  306. package/dist/browser/react/mount-context.js +0 -24
  307. package/dist/browser/react/mount-context.js.map +0 -1
  308. package/dist/browser/react/use-action.d.ts +0 -64
  309. package/dist/browser/react/use-action.d.ts.map +0 -1
  310. package/dist/browser/react/use-action.js +0 -134
  311. package/dist/browser/react/use-action.js.map +0 -1
  312. package/dist/browser/react/use-client-cache.d.ts +0 -41
  313. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  314. package/dist/browser/react/use-client-cache.js +0 -39
  315. package/dist/browser/react/use-client-cache.js.map +0 -1
  316. package/dist/browser/react/use-handle.d.ts +0 -31
  317. package/dist/browser/react/use-handle.d.ts.map +0 -1
  318. package/dist/browser/react/use-handle.js +0 -144
  319. package/dist/browser/react/use-handle.js.map +0 -1
  320. package/dist/browser/react/use-href.d.ts +0 -33
  321. package/dist/browser/react/use-href.d.ts.map +0 -1
  322. package/dist/browser/react/use-href.js +0 -39
  323. package/dist/browser/react/use-href.js.map +0 -1
  324. package/dist/browser/react/use-link-status.d.ts +0 -37
  325. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  326. package/dist/browser/react/use-link-status.js +0 -99
  327. package/dist/browser/react/use-link-status.js.map +0 -1
  328. package/dist/browser/react/use-mount.d.ts +0 -25
  329. package/dist/browser/react/use-mount.d.ts.map +0 -1
  330. package/dist/browser/react/use-mount.js +0 -30
  331. package/dist/browser/react/use-mount.js.map +0 -1
  332. package/dist/browser/react/use-navigation.d.ts +0 -27
  333. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  334. package/dist/browser/react/use-navigation.js +0 -87
  335. package/dist/browser/react/use-navigation.js.map +0 -1
  336. package/dist/browser/react/use-segments.d.ts +0 -38
  337. package/dist/browser/react/use-segments.d.ts.map +0 -1
  338. package/dist/browser/react/use-segments.js +0 -130
  339. package/dist/browser/react/use-segments.js.map +0 -1
  340. package/dist/browser/request-controller.d.ts +0 -26
  341. package/dist/browser/request-controller.d.ts.map +0 -1
  342. package/dist/browser/request-controller.js +0 -147
  343. package/dist/browser/request-controller.js.map +0 -1
  344. package/dist/browser/rsc-router.d.ts +0 -129
  345. package/dist/browser/rsc-router.d.ts.map +0 -1
  346. package/dist/browser/rsc-router.js +0 -195
  347. package/dist/browser/rsc-router.js.map +0 -1
  348. package/dist/browser/scroll-restoration.d.ts +0 -93
  349. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  350. package/dist/browser/scroll-restoration.js +0 -321
  351. package/dist/browser/scroll-restoration.js.map +0 -1
  352. package/dist/browser/segment-structure-assert.d.ts +0 -17
  353. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  354. package/dist/browser/segment-structure-assert.js +0 -59
  355. package/dist/browser/segment-structure-assert.js.map +0 -1
  356. package/dist/browser/server-action-bridge.d.ts +0 -26
  357. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  358. package/dist/browser/server-action-bridge.js +0 -668
  359. package/dist/browser/server-action-bridge.js.map +0 -1
  360. package/dist/browser/shallow.d.ts +0 -12
  361. package/dist/browser/shallow.d.ts.map +0 -1
  362. package/dist/browser/shallow.js +0 -34
  363. package/dist/browser/shallow.js.map +0 -1
  364. package/dist/browser/types.d.ts +0 -369
  365. package/dist/browser/types.d.ts.map +0 -1
  366. package/dist/browser/types.js +0 -2
  367. package/dist/browser/types.js.map +0 -1
  368. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  369. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  370. package/dist/build/__tests__/generate-cli.test.js +0 -237
  371. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  372. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  373. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  374. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  375. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  376. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  377. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  378. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  379. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  380. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  381. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  382. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  383. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  384. package/dist/build/generate-manifest.d.ts +0 -81
  385. package/dist/build/generate-manifest.d.ts.map +0 -1
  386. package/dist/build/generate-manifest.js +0 -276
  387. package/dist/build/generate-manifest.js.map +0 -1
  388. package/dist/build/generate-route-types.d.ts +0 -115
  389. package/dist/build/generate-route-types.d.ts.map +0 -1
  390. package/dist/build/generate-route-types.js +0 -740
  391. package/dist/build/generate-route-types.js.map +0 -1
  392. package/dist/build/index.d.ts +0 -21
  393. package/dist/build/index.d.ts.map +0 -1
  394. package/dist/build/index.js +0 -21
  395. package/dist/build/index.js.map +0 -1
  396. package/dist/build/route-trie.d.ts +0 -71
  397. package/dist/build/route-trie.d.ts.map +0 -1
  398. package/dist/build/route-trie.js +0 -175
  399. package/dist/build/route-trie.js.map +0 -1
  400. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  401. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  402. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  403. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  404. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  405. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  406. package/dist/cache/__tests__/document-cache.test.js +0 -345
  407. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  408. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  409. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  410. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  411. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  412. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  413. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  414. package/dist/cache/__tests__/memory-store.test.js +0 -367
  415. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  416. package/dist/cache/cache-scope.d.ts +0 -102
  417. package/dist/cache/cache-scope.d.ts.map +0 -1
  418. package/dist/cache/cache-scope.js +0 -440
  419. package/dist/cache/cache-scope.js.map +0 -1
  420. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  421. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  422. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  423. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  424. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  425. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  426. package/dist/cache/cf/cf-cache-store.js +0 -242
  427. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  428. package/dist/cache/cf/index.d.ts +0 -14
  429. package/dist/cache/cf/index.d.ts.map +0 -1
  430. package/dist/cache/cf/index.js +0 -17
  431. package/dist/cache/cf/index.js.map +0 -1
  432. package/dist/cache/document-cache.d.ts +0 -64
  433. package/dist/cache/document-cache.d.ts.map +0 -1
  434. package/dist/cache/document-cache.js +0 -228
  435. package/dist/cache/document-cache.js.map +0 -1
  436. package/dist/cache/index.d.ts +0 -19
  437. package/dist/cache/index.d.ts.map +0 -1
  438. package/dist/cache/index.js +0 -21
  439. package/dist/cache/index.js.map +0 -1
  440. package/dist/cache/memory-segment-store.d.ts +0 -110
  441. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  442. package/dist/cache/memory-segment-store.js +0 -117
  443. package/dist/cache/memory-segment-store.js.map +0 -1
  444. package/dist/cache/memory-store.d.ts +0 -41
  445. package/dist/cache/memory-store.d.ts.map +0 -1
  446. package/dist/cache/memory-store.js +0 -191
  447. package/dist/cache/memory-store.js.map +0 -1
  448. package/dist/cache/types.d.ts +0 -317
  449. package/dist/cache/types.d.ts.map +0 -1
  450. package/dist/cache/types.js +0 -12
  451. package/dist/cache/types.js.map +0 -1
  452. package/dist/client.d.ts +0 -248
  453. package/dist/client.d.ts.map +0 -1
  454. package/dist/client.js +0 -367
  455. package/dist/client.js.map +0 -1
  456. package/dist/client.rsc.d.ts +0 -26
  457. package/dist/client.rsc.d.ts.map +0 -1
  458. package/dist/client.rsc.js +0 -46
  459. package/dist/client.rsc.js.map +0 -1
  460. package/dist/component-utils.d.ts +0 -36
  461. package/dist/component-utils.d.ts.map +0 -1
  462. package/dist/component-utils.js +0 -61
  463. package/dist/component-utils.js.map +0 -1
  464. package/dist/components/DefaultDocument.d.ts +0 -13
  465. package/dist/components/DefaultDocument.d.ts.map +0 -1
  466. package/dist/components/DefaultDocument.js +0 -15
  467. package/dist/components/DefaultDocument.js.map +0 -1
  468. package/dist/debug.d.ts +0 -58
  469. package/dist/debug.d.ts.map +0 -1
  470. package/dist/debug.js +0 -157
  471. package/dist/debug.js.map +0 -1
  472. package/dist/default-error-boundary.d.ts +0 -11
  473. package/dist/default-error-boundary.d.ts.map +0 -1
  474. package/dist/default-error-boundary.js +0 -45
  475. package/dist/default-error-boundary.js.map +0 -1
  476. package/dist/deps/browser.d.ts +0 -2
  477. package/dist/deps/browser.d.ts.map +0 -1
  478. package/dist/deps/browser.js +0 -3
  479. package/dist/deps/browser.js.map +0 -1
  480. package/dist/deps/html-stream-client.d.ts +0 -2
  481. package/dist/deps/html-stream-client.d.ts.map +0 -1
  482. package/dist/deps/html-stream-client.js +0 -3
  483. package/dist/deps/html-stream-client.js.map +0 -1
  484. package/dist/deps/html-stream-server.d.ts +0 -2
  485. package/dist/deps/html-stream-server.d.ts.map +0 -1
  486. package/dist/deps/html-stream-server.js +0 -3
  487. package/dist/deps/html-stream-server.js.map +0 -1
  488. package/dist/deps/rsc.d.ts +0 -2
  489. package/dist/deps/rsc.d.ts.map +0 -1
  490. package/dist/deps/rsc.js +0 -4
  491. package/dist/deps/rsc.js.map +0 -1
  492. package/dist/deps/ssr.d.ts +0 -2
  493. package/dist/deps/ssr.d.ts.map +0 -1
  494. package/dist/deps/ssr.js +0 -3
  495. package/dist/deps/ssr.js.map +0 -1
  496. package/dist/errors.d.ts +0 -174
  497. package/dist/errors.d.ts.map +0 -1
  498. package/dist/errors.js +0 -241
  499. package/dist/errors.js.map +0 -1
  500. package/dist/handle.d.ts +0 -78
  501. package/dist/handle.d.ts.map +0 -1
  502. package/dist/handle.js +0 -82
  503. package/dist/handle.js.map +0 -1
  504. package/dist/handles/MetaTags.d.ts +0 -14
  505. package/dist/handles/MetaTags.d.ts.map +0 -1
  506. package/dist/handles/MetaTags.js +0 -136
  507. package/dist/handles/MetaTags.js.map +0 -1
  508. package/dist/handles/index.d.ts +0 -6
  509. package/dist/handles/index.d.ts.map +0 -1
  510. package/dist/handles/index.js +0 -6
  511. package/dist/handles/index.js.map +0 -1
  512. package/dist/handles/meta.d.ts +0 -39
  513. package/dist/handles/meta.d.ts.map +0 -1
  514. package/dist/handles/meta.js +0 -202
  515. package/dist/handles/meta.js.map +0 -1
  516. package/dist/host/__tests__/errors.test.d.ts +0 -2
  517. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  518. package/dist/host/__tests__/errors.test.js +0 -76
  519. package/dist/host/__tests__/errors.test.js.map +0 -1
  520. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  521. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  522. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  523. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  524. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  525. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  526. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  527. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  528. package/dist/host/__tests__/router.test.d.ts +0 -2
  529. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  530. package/dist/host/__tests__/router.test.js +0 -241
  531. package/dist/host/__tests__/router.test.js.map +0 -1
  532. package/dist/host/__tests__/testing.test.d.ts +0 -2
  533. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  534. package/dist/host/__tests__/testing.test.js +0 -64
  535. package/dist/host/__tests__/testing.test.js.map +0 -1
  536. package/dist/host/__tests__/utils.test.d.ts +0 -2
  537. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  538. package/dist/host/__tests__/utils.test.js +0 -29
  539. package/dist/host/__tests__/utils.test.js.map +0 -1
  540. package/dist/host/cookie-handler.d.ts +0 -34
  541. package/dist/host/cookie-handler.d.ts.map +0 -1
  542. package/dist/host/cookie-handler.js +0 -124
  543. package/dist/host/cookie-handler.js.map +0 -1
  544. package/dist/host/errors.d.ts +0 -56
  545. package/dist/host/errors.d.ts.map +0 -1
  546. package/dist/host/errors.js +0 -79
  547. package/dist/host/errors.js.map +0 -1
  548. package/dist/host/index.d.ts +0 -29
  549. package/dist/host/index.d.ts.map +0 -1
  550. package/dist/host/index.js +0 -32
  551. package/dist/host/index.js.map +0 -1
  552. package/dist/host/pattern-matcher.d.ts +0 -36
  553. package/dist/host/pattern-matcher.d.ts.map +0 -1
  554. package/dist/host/pattern-matcher.js +0 -172
  555. package/dist/host/pattern-matcher.js.map +0 -1
  556. package/dist/host/router.d.ts +0 -26
  557. package/dist/host/router.d.ts.map +0 -1
  558. package/dist/host/router.js +0 -218
  559. package/dist/host/router.js.map +0 -1
  560. package/dist/host/testing.d.ts +0 -36
  561. package/dist/host/testing.d.ts.map +0 -1
  562. package/dist/host/testing.js +0 -55
  563. package/dist/host/testing.js.map +0 -1
  564. package/dist/host/types.d.ts +0 -115
  565. package/dist/host/types.d.ts.map +0 -1
  566. package/dist/host/types.js +0 -7
  567. package/dist/host/types.js.map +0 -1
  568. package/dist/host/utils.d.ts +0 -21
  569. package/dist/host/utils.d.ts.map +0 -1
  570. package/dist/host/utils.js +0 -23
  571. package/dist/host/utils.js.map +0 -1
  572. package/dist/href-client.d.ts +0 -131
  573. package/dist/href-client.d.ts.map +0 -1
  574. package/dist/href-client.js +0 -64
  575. package/dist/href-client.js.map +0 -1
  576. package/dist/href-context.d.ts +0 -29
  577. package/dist/href-context.d.ts.map +0 -1
  578. package/dist/href-context.js +0 -21
  579. package/dist/href-context.js.map +0 -1
  580. package/dist/index.d.ts +0 -73
  581. package/dist/index.d.ts.map +0 -1
  582. package/dist/index.js +0 -91
  583. package/dist/index.js.map +0 -1
  584. package/dist/index.rsc.d.ts +0 -32
  585. package/dist/index.rsc.d.ts.map +0 -1
  586. package/dist/index.rsc.js +0 -40
  587. package/dist/index.rsc.js.map +0 -1
  588. package/dist/internal-debug.d.ts +0 -2
  589. package/dist/internal-debug.d.ts.map +0 -1
  590. package/dist/internal-debug.js +0 -5
  591. package/dist/internal-debug.js.map +0 -1
  592. package/dist/loader.d.ts +0 -14
  593. package/dist/loader.d.ts.map +0 -1
  594. package/dist/loader.js +0 -20
  595. package/dist/loader.js.map +0 -1
  596. package/dist/loader.rsc.d.ts +0 -19
  597. package/dist/loader.rsc.d.ts.map +0 -1
  598. package/dist/loader.rsc.js +0 -99
  599. package/dist/loader.rsc.js.map +0 -1
  600. package/dist/network-error-thrower.d.ts +0 -17
  601. package/dist/network-error-thrower.d.ts.map +0 -1
  602. package/dist/network-error-thrower.js +0 -14
  603. package/dist/network-error-thrower.js.map +0 -1
  604. package/dist/outlet-context.d.ts +0 -13
  605. package/dist/outlet-context.d.ts.map +0 -1
  606. package/dist/outlet-context.js +0 -3
  607. package/dist/outlet-context.js.map +0 -1
  608. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  609. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  610. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  611. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  612. package/dist/prerender/param-hash.d.ts +0 -16
  613. package/dist/prerender/param-hash.d.ts.map +0 -1
  614. package/dist/prerender/param-hash.js +0 -36
  615. package/dist/prerender/param-hash.js.map +0 -1
  616. package/dist/prerender/store.d.ts +0 -38
  617. package/dist/prerender/store.d.ts.map +0 -1
  618. package/dist/prerender/store.js +0 -61
  619. package/dist/prerender/store.js.map +0 -1
  620. package/dist/prerender.d.ts +0 -66
  621. package/dist/prerender.d.ts.map +0 -1
  622. package/dist/prerender.js +0 -57
  623. package/dist/prerender.js.map +0 -1
  624. package/dist/reverse.d.ts +0 -196
  625. package/dist/reverse.d.ts.map +0 -1
  626. package/dist/reverse.js +0 -78
  627. package/dist/reverse.js.map +0 -1
  628. package/dist/root-error-boundary.d.ts +0 -33
  629. package/dist/root-error-boundary.d.ts.map +0 -1
  630. package/dist/root-error-boundary.js +0 -165
  631. package/dist/root-error-boundary.js.map +0 -1
  632. package/dist/route-content-wrapper.d.ts +0 -46
  633. package/dist/route-content-wrapper.d.ts.map +0 -1
  634. package/dist/route-content-wrapper.js +0 -77
  635. package/dist/route-content-wrapper.js.map +0 -1
  636. package/dist/route-definition.d.ts +0 -421
  637. package/dist/route-definition.d.ts.map +0 -1
  638. package/dist/route-definition.js +0 -868
  639. package/dist/route-definition.js.map +0 -1
  640. package/dist/route-map-builder.d.ts +0 -155
  641. package/dist/route-map-builder.d.ts.map +0 -1
  642. package/dist/route-map-builder.js +0 -237
  643. package/dist/route-map-builder.js.map +0 -1
  644. package/dist/route-types.d.ts +0 -165
  645. package/dist/route-types.d.ts.map +0 -1
  646. package/dist/route-types.js +0 -7
  647. package/dist/route-types.js.map +0 -1
  648. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  649. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  650. package/dist/router/__tests__/handler-context.test.js +0 -65
  651. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  652. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  653. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  654. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  655. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  656. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  657. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  658. package/dist/router/__tests__/match-context.test.js +0 -92
  659. package/dist/router/__tests__/match-context.test.js.map +0 -1
  660. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  661. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  662. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  663. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  664. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  665. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  666. package/dist/router/__tests__/match-result.test.js +0 -457
  667. package/dist/router/__tests__/match-result.test.js.map +0 -1
  668. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  669. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  670. package/dist/router/__tests__/on-error.test.js +0 -678
  671. package/dist/router/__tests__/on-error.test.js.map +0 -1
  672. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  673. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  674. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  675. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  676. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  677. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  678. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  679. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  680. package/dist/router/error-handling.d.ts +0 -77
  681. package/dist/router/error-handling.d.ts.map +0 -1
  682. package/dist/router/error-handling.js +0 -202
  683. package/dist/router/error-handling.js.map +0 -1
  684. package/dist/router/handler-context.d.ts +0 -20
  685. package/dist/router/handler-context.d.ts.map +0 -1
  686. package/dist/router/handler-context.js +0 -198
  687. package/dist/router/handler-context.js.map +0 -1
  688. package/dist/router/intercept-resolution.d.ts +0 -66
  689. package/dist/router/intercept-resolution.d.ts.map +0 -1
  690. package/dist/router/intercept-resolution.js +0 -246
  691. package/dist/router/intercept-resolution.js.map +0 -1
  692. package/dist/router/loader-resolution.d.ts +0 -64
  693. package/dist/router/loader-resolution.d.ts.map +0 -1
  694. package/dist/router/loader-resolution.js +0 -284
  695. package/dist/router/loader-resolution.js.map +0 -1
  696. package/dist/router/logging.d.ts +0 -15
  697. package/dist/router/logging.d.ts.map +0 -1
  698. package/dist/router/logging.js +0 -99
  699. package/dist/router/logging.js.map +0 -1
  700. package/dist/router/manifest.d.ts +0 -22
  701. package/dist/router/manifest.d.ts.map +0 -1
  702. package/dist/router/manifest.js +0 -181
  703. package/dist/router/manifest.js.map +0 -1
  704. package/dist/router/match-api.d.ts +0 -35
  705. package/dist/router/match-api.d.ts.map +0 -1
  706. package/dist/router/match-api.js +0 -406
  707. package/dist/router/match-api.js.map +0 -1
  708. package/dist/router/match-context.d.ts +0 -206
  709. package/dist/router/match-context.d.ts.map +0 -1
  710. package/dist/router/match-context.js +0 -17
  711. package/dist/router/match-context.js.map +0 -1
  712. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  713. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  714. package/dist/router/match-middleware/background-revalidation.js +0 -75
  715. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  716. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  717. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  718. package/dist/router/match-middleware/cache-lookup.js +0 -257
  719. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  720. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  721. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  722. package/dist/router/match-middleware/cache-store.js +0 -108
  723. package/dist/router/match-middleware/cache-store.js.map +0 -1
  724. package/dist/router/match-middleware/index.d.ts +0 -81
  725. package/dist/router/match-middleware/index.d.ts.map +0 -1
  726. package/dist/router/match-middleware/index.js +0 -80
  727. package/dist/router/match-middleware/index.js.map +0 -1
  728. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  729. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  730. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  731. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  732. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  733. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  734. package/dist/router/match-middleware/segment-resolution.js +0 -53
  735. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  736. package/dist/router/match-pipelines.d.ts +0 -147
  737. package/dist/router/match-pipelines.d.ts.map +0 -1
  738. package/dist/router/match-pipelines.js +0 -82
  739. package/dist/router/match-pipelines.js.map +0 -1
  740. package/dist/router/match-result.d.ts +0 -126
  741. package/dist/router/match-result.d.ts.map +0 -1
  742. package/dist/router/match-result.js +0 -93
  743. package/dist/router/match-result.js.map +0 -1
  744. package/dist/router/metrics.d.ts +0 -20
  745. package/dist/router/metrics.d.ts.map +0 -1
  746. package/dist/router/metrics.js +0 -47
  747. package/dist/router/metrics.js.map +0 -1
  748. package/dist/router/middleware.d.ts +0 -249
  749. package/dist/router/middleware.d.ts.map +0 -1
  750. package/dist/router/middleware.js +0 -434
  751. package/dist/router/middleware.js.map +0 -1
  752. package/dist/router/middleware.test.d.ts +0 -2
  753. package/dist/router/middleware.test.d.ts.map +0 -1
  754. package/dist/router/middleware.test.js +0 -816
  755. package/dist/router/middleware.test.js.map +0 -1
  756. package/dist/router/pattern-matching.d.ts +0 -149
  757. package/dist/router/pattern-matching.d.ts.map +0 -1
  758. package/dist/router/pattern-matching.js +0 -349
  759. package/dist/router/pattern-matching.js.map +0 -1
  760. package/dist/router/revalidation.d.ts +0 -44
  761. package/dist/router/revalidation.d.ts.map +0 -1
  762. package/dist/router/revalidation.js +0 -147
  763. package/dist/router/revalidation.js.map +0 -1
  764. package/dist/router/router-context.d.ts +0 -135
  765. package/dist/router/router-context.d.ts.map +0 -1
  766. package/dist/router/router-context.js +0 -36
  767. package/dist/router/router-context.js.map +0 -1
  768. package/dist/router/segment-resolution.d.ts +0 -127
  769. package/dist/router/segment-resolution.d.ts.map +0 -1
  770. package/dist/router/segment-resolution.js +0 -919
  771. package/dist/router/segment-resolution.js.map +0 -1
  772. package/dist/router/trie-matching.d.ts +0 -40
  773. package/dist/router/trie-matching.d.ts.map +0 -1
  774. package/dist/router/trie-matching.js +0 -127
  775. package/dist/router/trie-matching.js.map +0 -1
  776. package/dist/router/types.d.ts +0 -136
  777. package/dist/router/types.d.ts.map +0 -1
  778. package/dist/router/types.js +0 -7
  779. package/dist/router/types.js.map +0 -1
  780. package/dist/router.d.ts +0 -753
  781. package/dist/router.d.ts.map +0 -1
  782. package/dist/router.gen.d.ts +0 -6
  783. package/dist/router.gen.d.ts.map +0 -1
  784. package/dist/router.gen.js +0 -6
  785. package/dist/router.gen.js.map +0 -1
  786. package/dist/router.js +0 -1304
  787. package/dist/router.js.map +0 -1
  788. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  789. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  790. package/dist/rsc/__tests__/helpers.test.js +0 -140
  791. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  792. package/dist/rsc/handler.d.ts +0 -45
  793. package/dist/rsc/handler.d.ts.map +0 -1
  794. package/dist/rsc/handler.js +0 -1172
  795. package/dist/rsc/handler.js.map +0 -1
  796. package/dist/rsc/helpers.d.ts +0 -16
  797. package/dist/rsc/helpers.d.ts.map +0 -1
  798. package/dist/rsc/helpers.js +0 -55
  799. package/dist/rsc/helpers.js.map +0 -1
  800. package/dist/rsc/index.d.ts +0 -22
  801. package/dist/rsc/index.d.ts.map +0 -1
  802. package/dist/rsc/index.js +0 -23
  803. package/dist/rsc/index.js.map +0 -1
  804. package/dist/rsc/nonce.d.ts +0 -9
  805. package/dist/rsc/nonce.d.ts.map +0 -1
  806. package/dist/rsc/nonce.js +0 -18
  807. package/dist/rsc/nonce.js.map +0 -1
  808. package/dist/rsc/types.d.ts +0 -206
  809. package/dist/rsc/types.d.ts.map +0 -1
  810. package/dist/rsc/types.js +0 -8
  811. package/dist/rsc/types.js.map +0 -1
  812. package/dist/search-params.d.ts +0 -103
  813. package/dist/search-params.d.ts.map +0 -1
  814. package/dist/search-params.js +0 -74
  815. package/dist/search-params.js.map +0 -1
  816. package/dist/segment-system.d.ts +0 -75
  817. package/dist/segment-system.d.ts.map +0 -1
  818. package/dist/segment-system.js +0 -336
  819. package/dist/segment-system.js.map +0 -1
  820. package/dist/server/context.d.ts +0 -245
  821. package/dist/server/context.d.ts.map +0 -1
  822. package/dist/server/context.js +0 -197
  823. package/dist/server/context.js.map +0 -1
  824. package/dist/server/fetchable-loader-store.d.ts +0 -18
  825. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  826. package/dist/server/fetchable-loader-store.js +0 -18
  827. package/dist/server/fetchable-loader-store.js.map +0 -1
  828. package/dist/server/handle-store.d.ts +0 -85
  829. package/dist/server/handle-store.d.ts.map +0 -1
  830. package/dist/server/handle-store.js +0 -142
  831. package/dist/server/handle-store.js.map +0 -1
  832. package/dist/server/loader-registry.d.ts +0 -55
  833. package/dist/server/loader-registry.d.ts.map +0 -1
  834. package/dist/server/loader-registry.js +0 -132
  835. package/dist/server/loader-registry.js.map +0 -1
  836. package/dist/server/request-context.d.ts +0 -226
  837. package/dist/server/request-context.d.ts.map +0 -1
  838. package/dist/server/request-context.js +0 -290
  839. package/dist/server/request-context.js.map +0 -1
  840. package/dist/server/root-layout.d.ts +0 -4
  841. package/dist/server/root-layout.d.ts.map +0 -1
  842. package/dist/server/root-layout.js +0 -5
  843. package/dist/server/root-layout.js.map +0 -1
  844. package/dist/server.d.ts +0 -15
  845. package/dist/server.d.ts.map +0 -1
  846. package/dist/server.js +0 -20
  847. package/dist/server.js.map +0 -1
  848. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  849. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  850. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  851. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  852. package/dist/ssr/index.d.ts +0 -98
  853. package/dist/ssr/index.d.ts.map +0 -1
  854. package/dist/ssr/index.js +0 -158
  855. package/dist/ssr/index.js.map +0 -1
  856. package/dist/static-handler.d.ts +0 -50
  857. package/dist/static-handler.d.ts.map +0 -1
  858. package/dist/static-handler.gen.d.ts +0 -5
  859. package/dist/static-handler.gen.d.ts.map +0 -1
  860. package/dist/static-handler.gen.js +0 -5
  861. package/dist/static-handler.gen.js.map +0 -1
  862. package/dist/static-handler.js +0 -29
  863. package/dist/static-handler.js.map +0 -1
  864. package/dist/theme/ThemeProvider.d.ts +0 -20
  865. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  866. package/dist/theme/ThemeProvider.js +0 -240
  867. package/dist/theme/ThemeProvider.js.map +0 -1
  868. package/dist/theme/ThemeScript.d.ts +0 -48
  869. package/dist/theme/ThemeScript.d.ts.map +0 -1
  870. package/dist/theme/ThemeScript.js +0 -13
  871. package/dist/theme/ThemeScript.js.map +0 -1
  872. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  873. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  874. package/dist/theme/__tests__/theme.test.js +0 -103
  875. package/dist/theme/__tests__/theme.test.js.map +0 -1
  876. package/dist/theme/constants.d.ts +0 -29
  877. package/dist/theme/constants.d.ts.map +0 -1
  878. package/dist/theme/constants.js +0 -48
  879. package/dist/theme/constants.js.map +0 -1
  880. package/dist/theme/index.d.ts +0 -31
  881. package/dist/theme/index.d.ts.map +0 -1
  882. package/dist/theme/index.js +0 -36
  883. package/dist/theme/index.js.map +0 -1
  884. package/dist/theme/theme-context.d.ts +0 -40
  885. package/dist/theme/theme-context.d.ts.map +0 -1
  886. package/dist/theme/theme-context.js +0 -60
  887. package/dist/theme/theme-context.js.map +0 -1
  888. package/dist/theme/theme-script.d.ts +0 -27
  889. package/dist/theme/theme-script.d.ts.map +0 -1
  890. package/dist/theme/theme-script.js +0 -147
  891. package/dist/theme/theme-script.js.map +0 -1
  892. package/dist/theme/types.d.ts +0 -163
  893. package/dist/theme/types.d.ts.map +0 -1
  894. package/dist/theme/types.js +0 -11
  895. package/dist/theme/types.js.map +0 -1
  896. package/dist/theme/use-theme.d.ts +0 -12
  897. package/dist/theme/use-theme.d.ts.map +0 -1
  898. package/dist/theme/use-theme.js +0 -40
  899. package/dist/theme/use-theme.js.map +0 -1
  900. package/dist/types.d.ts +0 -1479
  901. package/dist/types.d.ts.map +0 -1
  902. package/dist/types.js +0 -10
  903. package/dist/types.js.map +0 -1
  904. package/dist/urls.d.ts +0 -441
  905. package/dist/urls.d.ts.map +0 -1
  906. package/dist/urls.gen.d.ts +0 -8
  907. package/dist/urls.gen.d.ts.map +0 -1
  908. package/dist/urls.gen.js +0 -8
  909. package/dist/urls.gen.js.map +0 -1
  910. package/dist/urls.js +0 -443
  911. package/dist/urls.js.map +0 -1
  912. package/dist/use-loader.d.ts +0 -127
  913. package/dist/use-loader.d.ts.map +0 -1
  914. package/dist/use-loader.js +0 -237
  915. package/dist/use-loader.js.map +0 -1
  916. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  917. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  918. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  919. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  920. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  921. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  922. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  923. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  924. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  925. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  926. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  927. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  928. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  929. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  930. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  931. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  932. package/dist/vite/ast-handler-extract.d.ts +0 -49
  933. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  934. package/dist/vite/ast-handler-extract.js +0 -249
  935. package/dist/vite/ast-handler-extract.js.map +0 -1
  936. package/dist/vite/expose-action-id.d.ts +0 -19
  937. package/dist/vite/expose-action-id.d.ts.map +0 -1
  938. package/dist/vite/expose-action-id.js +0 -250
  939. package/dist/vite/expose-action-id.js.map +0 -1
  940. package/dist/vite/expose-id-utils.d.ts +0 -69
  941. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  942. package/dist/vite/expose-id-utils.js +0 -289
  943. package/dist/vite/expose-id-utils.js.map +0 -1
  944. package/dist/vite/expose-internal-ids.d.ts +0 -22
  945. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  946. package/dist/vite/expose-internal-ids.js +0 -886
  947. package/dist/vite/expose-internal-ids.js.map +0 -1
  948. package/dist/vite/index.d.ts +0 -149
  949. package/dist/vite/index.d.ts.map +0 -1
  950. package/dist/vite/index.js.map +0 -1
  951. package/dist/vite/index.named-routes.gen.ts +0 -103
  952. package/dist/vite/package-resolution.d.ts +0 -43
  953. package/dist/vite/package-resolution.d.ts.map +0 -1
  954. package/dist/vite/package-resolution.js +0 -112
  955. package/dist/vite/package-resolution.js.map +0 -1
  956. package/dist/vite/virtual-entries.d.ts +0 -25
  957. package/dist/vite/virtual-entries.d.ts.map +0 -1
  958. package/dist/vite/virtual-entries.js +0 -110
  959. package/dist/vite/virtual-entries.js.map +0 -1
  960. package/skills/testing/SKILL.md +0 -226
  961. package/src/route-definition/route-function.ts +0 -119
@@ -1,198 +0,0 @@
1
- /**
2
- * Router Handler Context
3
- *
4
- * Creates the handler context object passed to route handlers, middleware, and loaders.
5
- */
6
- import { getRequestContext } from "../server/request-context.js";
7
- import { getSearchSchema } from "../route-map-builder.js";
8
- import { parseSearchParams, serializeSearchParams } from "../search-params.js";
9
- /**
10
- * Resolve route name with namespace prefix support.
11
- * Supports local names, absolute names (dot notation), and path-based URLs.
12
- */
13
- function resolveRouteName(name, routeMap, currentRoutePrefix) {
14
- // 1. Path-based - starts with /
15
- if (name.startsWith("/")) {
16
- return name;
17
- }
18
- // 2. Absolute name - already has a dot (e.g., "shop.cart")
19
- if (name.includes(".")) {
20
- return routeMap[name];
21
- }
22
- // 3. Local name - try with current prefix first, then fall back to direct lookup
23
- if (currentRoutePrefix) {
24
- // Extract the prefix from current route name
25
- // e.g., "blog.posts.detail" → prefix is "blog.posts"
26
- const lastDot = currentRoutePrefix.lastIndexOf(".");
27
- const prefix = lastDot > 0 ? currentRoutePrefix.substring(0, lastDot) : currentRoutePrefix;
28
- // Try prefixed name
29
- const prefixedName = `${prefix}.${name}`;
30
- if (routeMap[prefixedName] !== undefined) {
31
- return routeMap[prefixedName];
32
- }
33
- // If current route is a nested include, try parent prefixes
34
- // e.g., for "blog.posts.detail", try "blog.posts.index", then "blog.index"
35
- let currentPrefix = prefix;
36
- while (currentPrefix.includes(".")) {
37
- const parentDot = currentPrefix.lastIndexOf(".");
38
- currentPrefix = currentPrefix.substring(0, parentDot);
39
- const parentPrefixedName = `${currentPrefix}.${name}`;
40
- if (routeMap[parentPrefixedName] !== undefined) {
41
- return routeMap[parentPrefixedName];
42
- }
43
- }
44
- }
45
- // Fall back to direct lookup (route without prefix)
46
- return routeMap[name];
47
- }
48
- /**
49
- * Create HandlerContext with typed env/var/get/set
50
- */
51
- export function createHandlerContext(params, request, searchParams, pathname, url, bindings = {}, routeMap = {}, routeName) {
52
- // Get variables from request context - this is the unified context
53
- // shared between middleware and route handlers
54
- const requestContext = getRequestContext();
55
- const variables = requestContext?.var ?? {};
56
- // Filter system parameters (starting with _rsc) from searchParams
57
- // This ensures handlers only see user-facing query params
58
- const cleanSearchParams = new URLSearchParams();
59
- searchParams.forEach((value, key) => {
60
- if (!key.startsWith("_rsc")) {
61
- cleanSearchParams.append(key, value);
62
- }
63
- });
64
- // Create clean URL without system params
65
- const cleanUrl = new URL(url);
66
- cleanUrl.search = cleanSearchParams.toString();
67
- // If route has a search schema, parse URLSearchParams into typed object
68
- const searchSchema = routeName ? getSearchSchema(routeName) : undefined;
69
- const resolvedSearchParams = searchSchema
70
- ? parseSearchParams(cleanSearchParams, searchSchema)
71
- : cleanSearchParams;
72
- // Get stub response from request context for setting headers
73
- const stubResponse = requestContext?.res ?? new Response(null, { status: 200 });
74
- return {
75
- params,
76
- request,
77
- searchParams: resolvedSearchParams, // Filtered params (typed object or URLSearchParams)
78
- pathname,
79
- url: cleanUrl, // Clean URL
80
- env: bindings,
81
- var: variables,
82
- get: ((key) => variables[key]),
83
- set: ((key, value) => {
84
- variables[key] = value;
85
- }),
86
- _originalRequest: request, // Raw request for advanced use
87
- res: stubResponse, // Stub response for setting headers
88
- headers: stubResponse.headers, // Shorthand for res.headers
89
- // Placeholder use() - will be replaced with actual implementation during request
90
- use: () => {
91
- throw new Error("ctx.use() called before loaders were initialized");
92
- },
93
- // Theme support (when enabled via router config)
94
- theme: requestContext?.theme,
95
- setTheme: requestContext?.setTheme,
96
- // Scoped reverse for URL generation
97
- reverse: (name, hrefParams, search) => {
98
- // Path-based - return directly (optionally with param substitution)
99
- if (name.startsWith("/")) {
100
- let result = name;
101
- if (hrefParams) {
102
- result = result.replace(/:([^/]+)/g, (_, key) => {
103
- const value = hrefParams[key];
104
- if (value === undefined) {
105
- throw new Error(`Missing param "${key}" for path "${name}"`);
106
- }
107
- return encodeURIComponent(value);
108
- });
109
- }
110
- if (search) {
111
- const qs = serializeSearchParams(search);
112
- if (qs)
113
- result += `?${qs}`;
114
- }
115
- return result;
116
- }
117
- // Resolve route name with namespace support
118
- const pattern = resolveRouteName(name, routeMap, routeName);
119
- if (pattern === undefined) {
120
- throw new Error(`Unknown route: "${name}"${routeName ? ` (current route: ${routeName})` : ""}`);
121
- }
122
- let result = pattern;
123
- // Substitute params
124
- if (hrefParams) {
125
- result = result.replace(/:([^/]+)/g, (_, key) => {
126
- const value = hrefParams[key];
127
- if (value === undefined) {
128
- throw new Error(`Missing param "${key}" for route "${name}"`);
129
- }
130
- return encodeURIComponent(value);
131
- });
132
- }
133
- // Append search params as query string
134
- if (search) {
135
- const qs = serializeSearchParams(search);
136
- if (qs)
137
- result += `?${qs}`;
138
- }
139
- return result;
140
- },
141
- };
142
- }
143
- /**
144
- * Create a BuildContext for pre-rendering.
145
- *
146
- * Returns a HandlerContext-compatible object where params, pathname, url,
147
- * and use(handle) work, but request/env/headers/cookies/var/searchParams
148
- * throw with a clear error. Loaders are not available during pre-rendering.
149
- */
150
- export function createBuildContext(params, pathname, handleStore) {
151
- const syntheticUrl = new URL(`http://prerender${pathname}`);
152
- function throwUnavailable(prop) {
153
- throw new Error(`Property "${prop}" is not available during pre-rendering. ` +
154
- `Fetch data directly in the handler or use a passthrough prerender handler.`);
155
- }
156
- return {
157
- params,
158
- get request() {
159
- return throwUnavailable("request");
160
- },
161
- get searchParams() {
162
- return throwUnavailable("searchParams");
163
- },
164
- pathname,
165
- url: syntheticUrl,
166
- get env() {
167
- return throwUnavailable("env");
168
- },
169
- get var() {
170
- return throwUnavailable("var");
171
- },
172
- get: (() => {
173
- throwUnavailable("get");
174
- }),
175
- set: (() => {
176
- throwUnavailable("set");
177
- }),
178
- get _originalRequest() {
179
- return throwUnavailable("request");
180
- },
181
- get res() {
182
- return throwUnavailable("res");
183
- },
184
- get headers() {
185
- return throwUnavailable("headers");
186
- },
187
- // Placeholder use() - replaced by setupBuildUse
188
- use: () => {
189
- throw new Error("ctx.use() called before build context was initialized");
190
- },
191
- theme: undefined,
192
- setTheme: undefined,
193
- reverse: () => {
194
- throwUnavailable("reverse");
195
- },
196
- };
197
- }
198
- //# sourceMappingURL=handler-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handler-context.js","sourceRoot":"","sources":["../../src/router/handler-context.ts"],"names":[],"mappings":"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"}
@@ -1,66 +0,0 @@
1
- /**
2
- * Intercept Resolution
3
- *
4
- * Extracted from createRouter closure. Contains intercept detection and resolution
5
- * functions for soft navigation (modals).
6
- */
7
- import type { EntryData, InterceptEntry, InterceptSelectorContext } from "../server/context";
8
- import type { HandlerContext, ResolvedSegment } from "../types";
9
- import type { SegmentResolutionDeps } from "./types.js";
10
- /**
11
- * Check if an intercept's when conditions are satisfied.
12
- * All when() functions must return true for the intercept to activate.
13
- * If no when() conditions are defined, the intercept always activates.
14
- *
15
- * During action revalidation, when() is NOT evaluated.
16
- */
17
- export declare function evaluateInterceptWhen(intercept: InterceptEntry, selectorContext: InterceptSelectorContext | null, isAction: boolean): boolean;
18
- /**
19
- * Find an intercept for the target route by walking up the entry chain.
20
- * Returns the first (innermost) matching intercept along with the entry that defines it.
21
- */
22
- export declare function findInterceptForRoute(targetRouteKey: string, fromEntry: EntryData | null, selectorContext?: InterceptSelectorContext | null, isAction?: boolean): {
23
- intercept: InterceptEntry;
24
- entry: EntryData;
25
- } | null;
26
- /**
27
- * Resolve an intercept entry and emit segment with the slot name.
28
- */
29
- export declare function resolveInterceptEntry<TEnv>(interceptEntry: InterceptEntry, parentEntry: EntryData, params: Record<string, string>, context: HandlerContext<any, TEnv>, belongsToRoute: boolean, deps: SegmentResolutionDeps<TEnv>, revalidationContext?: {
30
- clientSegmentIds: Set<string>;
31
- prevParams: Record<string, string>;
32
- request: Request;
33
- prevUrl: URL;
34
- nextUrl: URL;
35
- routeKey: string;
36
- actionContext?: {
37
- actionId?: string;
38
- actionUrl?: URL;
39
- actionResult?: any;
40
- formData?: FormData;
41
- };
42
- stale?: boolean;
43
- }): Promise<ResolvedSegment[]>;
44
- /**
45
- * Resolve only the loaders for a cached intercept segment.
46
- * Used on intercept cache hit to get fresh loader data while keeping cached component/layout.
47
- */
48
- export declare function resolveInterceptLoadersOnly<TEnv>(interceptEntry: InterceptEntry, parentEntry: EntryData, params: Record<string, string>, context: HandlerContext<any, TEnv>, belongsToRoute: boolean, deps: SegmentResolutionDeps<TEnv>, revalidationContext: {
49
- clientSegmentIds: Set<string>;
50
- prevParams: Record<string, string>;
51
- request: Request;
52
- prevUrl: URL;
53
- nextUrl: URL;
54
- routeKey: string;
55
- actionContext?: {
56
- actionId?: string;
57
- actionUrl?: URL;
58
- actionResult?: any;
59
- formData?: FormData;
60
- };
61
- stale?: boolean;
62
- }): Promise<{
63
- loaderDataPromise: Promise<any[]> | any[];
64
- loaderIds: string[];
65
- } | null>;
66
- //# sourceMappingURL=intercept-resolution.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"intercept-resolution.d.ts","sourceRoot":"","sources":["../../src/router/intercept-resolution.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACd,wBAAwB,EACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAKhE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGxD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,cAAc,EACzB,eAAe,EAAE,wBAAwB,GAAG,IAAI,EAChD,QAAQ,EAAE,OAAO,GAChB,OAAO,CAcT;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,SAAS,GAAG,IAAI,EAC3B,eAAe,GAAE,wBAAwB,GAAG,IAAW,EACvD,QAAQ,GAAE,OAAe,GACxB;IAAE,SAAS,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG,IAAI,CAkCxD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAC9C,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,SAAS,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,OAAO,EAAE,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,EAClC,cAAc,EAAE,OAAO,EACvB,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC,EACjC,mBAAmB,CAAC,EAAE;IACpB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC;IACb,OAAO,EAAE,GAAG,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,GAAG,CAAC;QAChB,YAAY,CAAC,EAAE,GAAG,CAAC;QACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;KACrB,CAAC;IACF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GACA,OAAO,CAAC,eAAe,EAAE,CAAC,CAyJ5B;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAAC,IAAI,EACpD,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,SAAS,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,OAAO,EAAE,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,EAClC,cAAc,EAAE,OAAO,EACvB,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC,EACjC,mBAAmB,EAAE;IACnB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC;IACb,OAAO,EAAE,GAAG,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,GAAG,CAAC;QAChB,YAAY,CAAC,EAAE,GAAG,CAAC;QACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;KACrB,CAAC;IACF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GACA,OAAO,CAAC;IACT,iBAAiB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC;IAC1C,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,GAAG,IAAI,CAAC,CAuFR"}
@@ -1,246 +0,0 @@
1
- /**
2
- * Intercept Resolution
3
- *
4
- * Extracted from createRouter closure. Contains intercept detection and resolution
5
- * functions for soft navigation (modals).
6
- */
7
- import { evaluateRevalidation } from "./revalidation.js";
8
- import { getRequestContext } from "../server/request-context.js";
9
- import { executeInterceptMiddleware } from "./middleware.js";
10
- import { handleHandlerResult } from "./segment-resolution.js";
11
- import { debugLog } from "./logging.js";
12
- /**
13
- * Check if an intercept's when conditions are satisfied.
14
- * All when() functions must return true for the intercept to activate.
15
- * If no when() conditions are defined, the intercept always activates.
16
- *
17
- * During action revalidation, when() is NOT evaluated.
18
- */
19
- export function evaluateInterceptWhen(intercept, selectorContext, isAction) {
20
- if (isAction) {
21
- return true;
22
- }
23
- if (!intercept.when || intercept.when.length === 0) {
24
- return true;
25
- }
26
- if (!selectorContext) {
27
- return false;
28
- }
29
- return intercept.when.every((fn) => fn(selectorContext));
30
- }
31
- /**
32
- * Find an intercept for the target route by walking up the entry chain.
33
- * Returns the first (innermost) matching intercept along with the entry that defines it.
34
- */
35
- export function findInterceptForRoute(targetRouteKey, fromEntry, selectorContext = null, isAction = false) {
36
- let current = fromEntry;
37
- while (current) {
38
- if (current.intercept && current.intercept.length > 0) {
39
- for (const intercept of current.intercept) {
40
- if (intercept.routeName === targetRouteKey &&
41
- evaluateInterceptWhen(intercept, selectorContext, isAction)) {
42
- return { intercept, entry: current };
43
- }
44
- }
45
- }
46
- if (current.layout && current.layout.length > 0) {
47
- for (const siblingLayout of current.layout) {
48
- if (siblingLayout.intercept && siblingLayout.intercept.length > 0) {
49
- for (const intercept of siblingLayout.intercept) {
50
- if (intercept.routeName === targetRouteKey &&
51
- evaluateInterceptWhen(intercept, selectorContext, isAction)) {
52
- return { intercept, entry: siblingLayout };
53
- }
54
- }
55
- }
56
- }
57
- }
58
- current = current.parent;
59
- }
60
- return null;
61
- }
62
- /**
63
- * Resolve an intercept entry and emit segment with the slot name.
64
- */
65
- export async function resolveInterceptEntry(interceptEntry, parentEntry, params, context, belongsToRoute, deps, revalidationContext) {
66
- const segments = [];
67
- if (interceptEntry.middleware.length > 0) {
68
- const requestCtx = getRequestContext();
69
- if (!requestCtx?.res) {
70
- throw new Error("Request context with stubResponse is required for intercept middleware");
71
- }
72
- const middlewareResponse = await executeInterceptMiddleware(interceptEntry.middleware, context.request, context.env, params, context.var, requestCtx.res);
73
- if (middlewareResponse)
74
- throw middlewareResponse;
75
- }
76
- const loaderPromises = [];
77
- const loaderIds = [];
78
- for (let i = 0; i < interceptEntry.loader.length; i++) {
79
- const { loader, revalidate: loaderRevalidateFns } = interceptEntry.loader[i];
80
- const segmentId = `${parentEntry.shortCode}.${interceptEntry.slotName}D${i}.${loader.$$id}`;
81
- if (revalidationContext) {
82
- const { clientSegmentIds, prevParams, request, prevUrl, nextUrl, routeKey, actionContext, stale, } = revalidationContext;
83
- const interceptSegmentId = `${parentEntry.shortCode}.${interceptEntry.slotName}`;
84
- if (clientSegmentIds.has(interceptSegmentId)) {
85
- const dummySegment = {
86
- id: segmentId,
87
- namespace: `intercept:${interceptEntry.routeName}`,
88
- type: "loader",
89
- index: i,
90
- component: null,
91
- params,
92
- loaderId: loader.$$id,
93
- belongsToRoute,
94
- };
95
- const shouldRevalidate = await evaluateRevalidation({
96
- segment: dummySegment,
97
- prevParams,
98
- getPrevSegment: null,
99
- request,
100
- prevUrl,
101
- nextUrl,
102
- revalidations: loaderRevalidateFns.map((fn, j) => ({
103
- name: `intercept-loader-revalidate${j}`,
104
- fn,
105
- })),
106
- routeKey,
107
- context,
108
- actionContext,
109
- stale,
110
- });
111
- if (!shouldRevalidate) {
112
- debugLog("intercept.loader", "skipped revalidation", {
113
- loaderId: loader.$$id,
114
- });
115
- continue;
116
- }
117
- debugLog("intercept.loader", "revalidating", {
118
- loaderId: loader.$$id,
119
- stale,
120
- });
121
- }
122
- }
123
- loaderIds.push(loader.$$id);
124
- loaderPromises.push(deps.wrapLoaderPromise(context.use(loader), parentEntry, segmentId, context.pathname));
125
- }
126
- const handlerResult = typeof interceptEntry.handler === "function"
127
- ? handleHandlerResult(interceptEntry.handler(context))
128
- : interceptEntry.handler;
129
- let layoutElement;
130
- if (interceptEntry.layout) {
131
- if (typeof interceptEntry.layout === "function") {
132
- const layoutResult = await interceptEntry.layout(context);
133
- if (layoutResult instanceof Response) {
134
- throw layoutResult;
135
- }
136
- layoutElement = layoutResult;
137
- }
138
- else {
139
- layoutElement = interceptEntry.layout;
140
- }
141
- }
142
- let component;
143
- let loaderDataPromise;
144
- if (interceptEntry.loading && loaderPromises.length > 0) {
145
- component =
146
- handlerResult instanceof Promise
147
- ? handlerResult
148
- : Promise.resolve(handlerResult);
149
- loaderDataPromise = Promise.all(loaderPromises);
150
- }
151
- else if (loaderPromises.length > 0) {
152
- loaderDataPromise = await Promise.all(loaderPromises);
153
- component =
154
- handlerResult instanceof Promise ? await handlerResult : handlerResult;
155
- }
156
- else {
157
- component =
158
- interceptEntry.loading && handlerResult instanceof Promise
159
- ? handlerResult
160
- : handlerResult instanceof Promise
161
- ? await handlerResult
162
- : handlerResult;
163
- }
164
- const interceptSegment = {
165
- id: `${parentEntry.shortCode}.${interceptEntry.slotName}`,
166
- namespace: `intercept:${interceptEntry.routeName}`,
167
- type: "parallel",
168
- index: 0,
169
- component,
170
- loading: interceptEntry.loading === false ? null : interceptEntry.loading,
171
- layout: layoutElement,
172
- params,
173
- slot: interceptEntry.slotName,
174
- belongsToRoute,
175
- parallelName: `intercept:${interceptEntry.routeName}.${interceptEntry.slotName}`,
176
- loaderDataPromise,
177
- loaderIds: loaderIds.length > 0 ? loaderIds : undefined,
178
- };
179
- segments.push(interceptSegment);
180
- return segments;
181
- }
182
- /**
183
- * Resolve only the loaders for a cached intercept segment.
184
- * Used on intercept cache hit to get fresh loader data while keeping cached component/layout.
185
- */
186
- export async function resolveInterceptLoadersOnly(interceptEntry, parentEntry, params, context, belongsToRoute, deps, revalidationContext) {
187
- if (interceptEntry.loader.length === 0) {
188
- return null;
189
- }
190
- const loaderPromises = [];
191
- const loaderIds = [];
192
- const { clientSegmentIds, prevParams, request, prevUrl, nextUrl, routeKey, actionContext, stale, } = revalidationContext;
193
- for (let i = 0; i < interceptEntry.loader.length; i++) {
194
- const { loader, revalidate: loaderRevalidateFns } = interceptEntry.loader[i];
195
- const segmentId = `${parentEntry.shortCode}.${interceptEntry.slotName}D${i}.${loader.$$id}`;
196
- const interceptSegmentId = `${parentEntry.shortCode}.${interceptEntry.slotName}`;
197
- if (clientSegmentIds.has(interceptSegmentId)) {
198
- const dummySegment = {
199
- id: segmentId,
200
- namespace: `intercept:${interceptEntry.routeName}`,
201
- type: "loader",
202
- index: i,
203
- component: null,
204
- params,
205
- loaderId: loader.$$id,
206
- belongsToRoute,
207
- };
208
- const shouldRevalidate = await evaluateRevalidation({
209
- segment: dummySegment,
210
- prevParams,
211
- getPrevSegment: null,
212
- request,
213
- prevUrl,
214
- nextUrl,
215
- revalidations: loaderRevalidateFns.map((fn, j) => ({
216
- name: `intercept-loader-revalidate${j}`,
217
- fn,
218
- })),
219
- routeKey,
220
- context,
221
- actionContext,
222
- stale,
223
- });
224
- if (!shouldRevalidate) {
225
- debugLog("intercept.loader", "skipped on cache hit", {
226
- loaderId: loader.$$id,
227
- });
228
- continue;
229
- }
230
- debugLog("intercept.loader", "revalidating on cache hit", {
231
- loaderId: loader.$$id,
232
- stale,
233
- });
234
- }
235
- loaderIds.push(loader.$$id);
236
- loaderPromises.push(deps.wrapLoaderPromise(context.use(loader), parentEntry, segmentId, context.pathname));
237
- }
238
- if (loaderPromises.length === 0) {
239
- return null;
240
- }
241
- const loaderDataPromise = interceptEntry.loading !== undefined
242
- ? Promise.all(loaderPromises)
243
- : await Promise.all(loaderPromises);
244
- return { loaderDataPromise, loaderIds };
245
- }
246
- //# sourceMappingURL=intercept-resolution.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"intercept-resolution.js","sourceRoot":"","sources":["../../src/router/intercept-resolution.ts"],"names":[],"mappings":"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"}
@@ -1,64 +0,0 @@
1
- /**
2
- * Router Loader Resolution
3
- *
4
- * Loader execution, memoization, and error handling utilities.
5
- */
6
- import type { ReactNode } from "react";
7
- import type { EntryData } from "../server/context";
8
- import type { HandlerContext, LoaderDataResult, ErrorBoundaryHandler, ErrorInfo } from "../types";
9
- /**
10
- * Internal callback signature for loader error notifications.
11
- * This is a simplified callback for internal use in wrapLoaderWithErrorHandling.
12
- * The caller (wrapLoaderPromise in router.ts) bridges this to the full OnErrorCallback.
13
- */
14
- export type LoaderErrorCallback = (error: unknown, context: {
15
- segmentId: string;
16
- loaderName: string;
17
- handledByBoundary: boolean;
18
- }) => void;
19
- /**
20
- * Wrap a loader promise with error handling for deferred client-side resolution.
21
- * Catches errors and converts them to LoaderDataResult objects that include
22
- * error info and pre-rendered fallback UI when an error boundary is available.
23
- *
24
- * @param onError - Optional callback invoked when loader errors occur.
25
- * This has a simplified signature for internal use - the caller (typically
26
- * wrapLoaderPromise in router.ts) is responsible for bridging to the full
27
- * OnErrorCallback with complete request context (request, url, env, etc.).
28
- */
29
- export declare function wrapLoaderWithErrorHandling<T>(promise: Promise<T>, entry: EntryData, segmentId: string, pathname: string, findNearestErrorBoundary: (entry: EntryData | null) => ReactNode | ErrorBoundaryHandler | null, createErrorInfo: (error: unknown, segmentId: string, segmentType: ErrorInfo["segmentType"]) => ErrorInfo, onError?: LoaderErrorCallback): Promise<LoaderDataResult<T>>;
30
- /**
31
- * Set up the use() method on handler context to access loaders and handles.
32
- *
33
- * For loaders: Lazily runs loaders, memoizes results per request.
34
- * For handles: Returns a push function bound to the current segment.
35
- *
36
- * Includes cycle detection: tracks dependency edges between loaders and
37
- * throws on circular dependencies to prevent deadlocks.
38
- */
39
- export declare function setupLoaderAccess<TEnv>(ctx: HandlerContext<any, TEnv>, loaderPromises: Map<string, Promise<any>>): void;
40
- /**
41
- * Set up ctx.use() for pre-rendering (build-time).
42
- * Handles push to HandleStore; loaders throw with a clear error.
43
- */
44
- export declare function setupBuildUse<TEnv>(ctx: HandlerContext<any, TEnv>): void;
45
- /**
46
- * Set up ctx.use() for proactive caching (silent mode).
47
- * Handles are silently ignored (no push to HandleStore).
48
- * Loaders work normally but with fresh memoization and cycle detection.
49
- *
50
- * This prevents duplicate handle data (breadcrumbs, meta) from being
51
- * pushed to the response stream during background proactive caching.
52
- */
53
- export declare function setupLoaderAccessSilent<TEnv>(ctx: HandlerContext<any, TEnv>, loaderPromises: Map<string, Promise<any>>): void;
54
- /**
55
- * Conditional execution based on revalidation
56
- * Evaluates revalidation logic lazily, then executes appropriate callback
57
- *
58
- * @param shouldRevalidate - Async function that determines if revalidation is needed
59
- * @param onRevalidate - Callback executed if revalidation returns true
60
- * @param onSkip - Callback executed if revalidation returns false
61
- * @returns Result from either onRevalidate or onSkip
62
- */
63
- export declare function revalidate<T>(shouldRevalidate: () => Promise<boolean>, onRevalidate: () => Promise<T>, onSkip: () => T): Promise<T>;
64
- //# sourceMappingURL=loader-resolution.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loader-resolution.d.ts","sourceRoot":"","sources":["../../src/router/loader-resolution.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAEV,cAAc,EAId,gBAAgB,EAChB,oBAAoB,EAEpB,SAAS,EACV,MAAM,UAAU,CAAC;AAQlB;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAChC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE;IACP,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;CAC5B,KACE,IAAI,CAAC;AAEV;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,EAC3C,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,wBAAwB,EAAE,CACxB,KAAK,EAAE,SAAS,GAAG,IAAI,KACpB,SAAS,GAAG,oBAAoB,GAAG,IAAI,EAC5C,eAAe,EAAE,CACf,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,SAAS,CAAC,aAAa,CAAC,KAClC,SAAS,EACd,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CA6D9B;AAgJD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EACpC,GAAG,EAAE,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,EAC9B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GACxC,IAAI,CAiCN;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAChC,GAAG,EAAE,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,GAC7B,IAAI,CAsCN;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAC1C,GAAG,EAAE,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,EAC9B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GACxC,IAAI,CAWN;AAED;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAChC,gBAAgB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EACxC,YAAY,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC9B,MAAM,EAAE,MAAM,CAAC,GACd,OAAO,CAAC,CAAC,CAAC,CAGZ"}