@rangojs/router 0.5.1 → 0.6.0

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 (609) hide show
  1. package/README.md +5 -1
  2. package/dist/bin/rango.js +343 -125
  3. package/dist/types/browser/event-controller.d.ts +6 -0
  4. package/dist/types/browser/react/use-router.d.ts +10 -3
  5. package/dist/types/browser/react/use-search-params.d.ts +57 -10
  6. package/dist/types/browser/types.d.ts +22 -0
  7. package/dist/types/build/merge-full-manifests.d.ts +3 -0
  8. package/dist/types/build/route-trie.d.ts +4 -73
  9. package/dist/types/build/route-types/per-module-writer.d.ts +6 -4
  10. package/dist/types/build/route-types/router-processing.d.ts +2 -3
  11. package/dist/types/cache/cache-exec-scope.d.ts +31 -0
  12. package/dist/types/cache/cf/cf-cache-constants.d.ts +8 -1
  13. package/dist/types/cache/cf/cf-cache-store.d.ts +15 -1
  14. package/dist/types/cache/cf/cf-cache-types.d.ts +1 -1
  15. package/dist/types/cache/cf/cf-kv-utils.d.ts +21 -0
  16. package/dist/types/cache/taint.d.ts +12 -6
  17. package/dist/types/client-urls/client-root.d.ts +38 -0
  18. package/dist/types/client-urls/client-urls.d.ts +5 -0
  19. package/dist/types/client-urls/navigation.d.ts +38 -0
  20. package/dist/types/client-urls/revalidation-protocol.d.ts +25 -0
  21. package/dist/types/client-urls/server-projection.d.ts +62 -0
  22. package/dist/types/client-urls/types.d.ts +144 -0
  23. package/dist/types/client.d.ts +12 -4
  24. package/dist/types/client.rsc.d.ts +4 -1
  25. package/dist/types/decode-loader-results.d.ts +37 -0
  26. package/dist/types/errors.d.ts +1 -0
  27. package/dist/types/handles/is-thenable.d.ts +2 -4
  28. package/dist/types/index.d.ts +1 -1
  29. package/dist/types/loader-redirect.d.ts +27 -0
  30. package/dist/types/outlet-context.d.ts +12 -0
  31. package/dist/types/outlet-provider.d.ts +3 -1
  32. package/dist/types/redirect-origin.d.ts +4 -0
  33. package/dist/types/route-content-wrapper.d.ts +42 -1
  34. package/dist/types/route-definition/helpers-types.d.ts +13 -2
  35. package/dist/types/router/error-handling.d.ts +35 -1
  36. package/dist/types/router/intercept-resolution.d.ts +12 -0
  37. package/dist/types/router/loader-resolution.d.ts +24 -2
  38. package/dist/types/router/revalidation.d.ts +7 -0
  39. package/dist/{types.backup/build/route-trie.d.ts → types/router/route-trie-builder.d.ts} +4 -16
  40. package/dist/types/router/router-interfaces.d.ts +20 -0
  41. package/dist/types/router/segment-resolution/helpers.d.ts +1 -1
  42. package/dist/types/router/trie-matching.d.ts +1 -1
  43. package/dist/types/rsc/helpers.d.ts +3 -0
  44. package/dist/types/rsc/manifest-init.d.ts +5 -5
  45. package/dist/types/rsc/render-pipeline.d.ts +9 -0
  46. package/dist/types/rsc/routine-plan.d.ts +124 -0
  47. package/dist/types/rsc/shell-capture-constants.d.ts +17 -0
  48. package/dist/types/rsc/shell-capture.d.ts +9 -0
  49. package/dist/types/rsc/shell-serve.d.ts +11 -0
  50. package/dist/types/rsc/types.d.ts +30 -0
  51. package/dist/types/segment-system.d.ts +2 -0
  52. package/dist/types/server/context.d.ts +10 -0
  53. package/dist/types/server/handle-store.d.ts +34 -3
  54. package/dist/types/server/request-context.d.ts +14 -1
  55. package/dist/types/server.d.ts +1 -0
  56. package/dist/types/ssr/index.d.ts +22 -0
  57. package/dist/types/ssr/ssr-root.d.ts +10 -0
  58. package/dist/types/testing/dom.entry.d.ts +1 -1
  59. package/dist/types/testing/render-route.d.ts +16 -6
  60. package/dist/types/testing/run-loader.d.ts +9 -0
  61. package/dist/types/types/boundaries.d.ts +22 -0
  62. package/dist/types/types/index.d.ts +1 -1
  63. package/dist/types/types/loader-types.d.ts +57 -5
  64. package/dist/types/types/segments.d.ts +7 -0
  65. package/dist/types/urls/path-helper-types.d.ts +10 -4
  66. package/dist/types/vite/discovery/client-urls-projection.d.ts +53 -0
  67. package/dist/types/vite/discovery/discover-routers.d.ts +1 -1
  68. package/dist/types/vite/discovery/state.d.ts +8 -1
  69. package/dist/types/vite/encryption-key.d.ts +2 -0
  70. package/dist/types/vite/plugins/expose-internal-ids.d.ts +10 -0
  71. package/dist/types/vite/plugins/server-ref-hashing.d.ts +24 -0
  72. package/dist/types/vite/plugins/server-reference-pattern.d.ts +1 -0
  73. package/dist/types/vite/utils/shared-utils.d.ts +12 -0
  74. package/dist/vite/index.js +5101 -2056
  75. package/package.json +3 -3
  76. package/skills/breadcrumbs/SKILL.md +39 -9
  77. package/skills/caching/SKILL.md +1 -1
  78. package/skills/catalog.json +7 -1
  79. package/skills/client-urls/SKILL.md +338 -0
  80. package/skills/comparison/references/framework-comparison.md +23 -9
  81. package/skills/hooks/SKILL.md +2 -2
  82. package/skills/hooks/data.md +11 -2
  83. package/skills/hooks/handle-and-actions.md +7 -0
  84. package/skills/hooks/outlets.md +26 -5
  85. package/skills/hooks/urls.md +40 -3
  86. package/skills/loader/SKILL.md +132 -20
  87. package/skills/migrate-nextjs/SKILL.md +70 -10
  88. package/skills/migrate-react-router/SKILL.md +49 -13
  89. package/skills/migrate-react-router/component-migration.md +18 -13
  90. package/skills/migrate-react-router/data-and-actions.md +14 -3
  91. package/skills/migrate-react-router/route-mapping.md +15 -2
  92. package/skills/mime-routes/SKILL.md +3 -1
  93. package/skills/parallel/SKILL.md +32 -1
  94. package/skills/ppr/SKILL.md +16 -6
  95. package/skills/prerender/SKILL.md +8 -4
  96. package/skills/rango/SKILL.md +21 -17
  97. package/skills/react-compiler/SKILL.md +3 -3
  98. package/skills/response-routes/SKILL.md +4 -2
  99. package/skills/route/SKILL.md +5 -2
  100. package/skills/router-setup/SKILL.md +16 -2
  101. package/skills/scripts/SKILL.md +16 -6
  102. package/skills/shell-manifest/SKILL.md +16 -7
  103. package/skills/testing/SKILL.md +2 -2
  104. package/skills/testing/client-components.md +6 -0
  105. package/skills/testing/handles.md +30 -8
  106. package/skills/testing/loader.md +51 -49
  107. package/skills/testing/middleware.md +1 -1
  108. package/skills/theme/SKILL.md +8 -5
  109. package/skills/typesafety/generated-files-and-cli.md +16 -9
  110. package/skills/typesafety/route-types.md +5 -1
  111. package/skills/use-cache/SKILL.md +47 -0
  112. package/src/bin/rango.ts +7 -3
  113. package/src/browser/event-controller.ts +40 -15
  114. package/src/browser/navigation-bridge.ts +6 -0
  115. package/src/browser/navigation-client.ts +5 -0
  116. package/src/browser/partial-update.ts +77 -10
  117. package/src/browser/react/NavigationProvider.tsx +7 -0
  118. package/src/browser/react/use-router.ts +40 -11
  119. package/src/browser/react/use-search-params.ts +140 -17
  120. package/src/browser/rsc-router.tsx +59 -0
  121. package/src/browser/server-action-bridge.ts +26 -0
  122. package/src/browser/types.ts +22 -0
  123. package/src/build/merge-full-manifests.ts +161 -0
  124. package/src/build/route-trie.ts +9 -332
  125. package/src/build/route-types/include-resolution.ts +66 -11
  126. package/src/build/route-types/per-module-writer.ts +11 -6
  127. package/src/build/route-types/router-processing.ts +184 -153
  128. package/src/build/runtime-discovery.ts +23 -12
  129. package/src/cache/cache-exec-scope.ts +47 -0
  130. package/src/cache/cache-runtime.ts +113 -40
  131. package/src/cache/cf/cf-cache-constants.ts +8 -1
  132. package/src/cache/cf/cf-cache-store.ts +41 -64
  133. package/src/cache/cf/cf-cache-types.ts +1 -1
  134. package/src/cache/cf/cf-kv-utils.ts +38 -0
  135. package/src/cache/segment-codec.ts +21 -5
  136. package/src/cache/taint.ts +28 -9
  137. package/src/client-urls/client-root.tsx +168 -0
  138. package/src/client-urls/client-urls.ts +698 -0
  139. package/src/client-urls/navigation.ts +237 -0
  140. package/src/client-urls/revalidation-protocol.ts +56 -0
  141. package/src/client-urls/server-projection.ts +579 -0
  142. package/src/client-urls/types.ts +195 -0
  143. package/src/client.rsc.tsx +12 -0
  144. package/src/client.tsx +49 -6
  145. package/src/decode-loader-results.ts +113 -0
  146. package/src/errors.ts +14 -0
  147. package/src/handles/deferred-resolution.ts +14 -7
  148. package/src/handles/is-thenable.ts +2 -4
  149. package/src/index.ts +1 -0
  150. package/src/loader-redirect.tsx +64 -0
  151. package/src/outlet-context.ts +12 -0
  152. package/src/outlet-provider.tsx +15 -1
  153. package/src/redirect-origin.ts +29 -0
  154. package/src/route-content-wrapper.tsx +96 -3
  155. package/src/route-definition/dsl-helpers.ts +28 -3
  156. package/src/route-definition/helpers-types.ts +13 -0
  157. package/src/route-definition/redirect.ts +17 -18
  158. package/src/router/error-handling.ts +65 -11
  159. package/src/router/intercept-resolution.ts +29 -0
  160. package/src/router/loader-resolution.ts +261 -28
  161. package/src/router/match-middleware/cache-lookup.ts +24 -15
  162. package/src/router/match-result.ts +7 -0
  163. package/src/router/revalidation.ts +24 -11
  164. package/src/router/route-trie-builder.ts +334 -0
  165. package/src/router/router-interfaces.ts +38 -0
  166. package/src/router/segment-resolution/fresh.ts +47 -0
  167. package/src/router/segment-resolution/helpers.ts +9 -11
  168. package/src/router/segment-resolution/loader-cache.ts +14 -24
  169. package/src/router/segment-resolution/revalidation.ts +20 -1
  170. package/src/router/trie-matching.ts +3 -3
  171. package/src/router.ts +46 -1
  172. package/src/rsc/full-payload.ts +6 -0
  173. package/src/rsc/handler.ts +36 -12
  174. package/src/rsc/helpers.ts +13 -0
  175. package/src/rsc/loader-fetch.ts +2 -2
  176. package/src/rsc/manifest-init.ts +28 -9
  177. package/src/rsc/progressive-enhancement.ts +247 -70
  178. package/src/rsc/render-pipeline.ts +68 -24
  179. package/src/rsc/routine-plan.ts +359 -0
  180. package/src/rsc/rsc-rendering.ts +569 -302
  181. package/src/rsc/server-action.ts +180 -71
  182. package/src/rsc/shell-capture-constants.ts +18 -0
  183. package/src/rsc/shell-capture.ts +104 -21
  184. package/src/rsc/shell-serve.ts +15 -2
  185. package/src/rsc/ssr-setup.ts +10 -1
  186. package/src/rsc/types.ts +31 -2
  187. package/src/segment-system.tsx +83 -26
  188. package/src/server/context.ts +10 -0
  189. package/src/server/cookie-store.ts +19 -19
  190. package/src/server/handle-store.ts +185 -48
  191. package/src/server/request-context.ts +36 -6
  192. package/src/server.ts +7 -0
  193. package/src/ssr/index.tsx +37 -2
  194. package/src/ssr/ssr-root.tsx +30 -2
  195. package/src/testing/dom.entry.ts +1 -1
  196. package/src/testing/render-route.tsx +22 -8
  197. package/src/testing/run-loader.ts +51 -13
  198. package/src/types/boundaries.ts +19 -0
  199. package/src/types/index.ts +1 -0
  200. package/src/types/loader-types.ts +60 -5
  201. package/src/types/segments.ts +7 -0
  202. package/src/urls/include-helper.ts +22 -4
  203. package/src/urls/path-helper-types.ts +14 -1
  204. package/src/use-loader.tsx +67 -6
  205. package/src/vite/discovery/client-urls-projection.ts +322 -0
  206. package/src/vite/discovery/discover-routers.ts +43 -17
  207. package/src/vite/discovery/state.ts +11 -1
  208. package/src/vite/discovery/virtual-module-codegen.ts +20 -0
  209. package/src/vite/encryption-key.ts +29 -0
  210. package/src/vite/plugins/expose-action-id.ts +2 -2
  211. package/src/vite/plugins/expose-internal-ids.ts +46 -0
  212. package/src/vite/plugins/server-ref-hashing.ts +74 -0
  213. package/src/vite/plugins/server-reference-pattern.ts +10 -0
  214. package/src/vite/plugins/virtual-entries.ts +12 -3
  215. package/src/vite/rango.ts +9 -0
  216. package/src/vite/router-discovery.ts +184 -14
  217. package/src/vite/utils/shared-utils.ts +12 -7
  218. package/dist/types.backup/__internal.d.ts +0 -127
  219. package/dist/types.backup/bin/rango.d.ts +0 -1
  220. package/dist/types.backup/browser/action-coordinator.d.ts +0 -57
  221. package/dist/types.backup/browser/action-fence.d.ts +0 -33
  222. package/dist/types.backup/browser/app-shell.d.ts +0 -34
  223. package/dist/types.backup/browser/app-version.d.ts +0 -6
  224. package/dist/types.backup/browser/connection-warmup.d.ts +0 -31
  225. package/dist/types.backup/browser/cookie-name.d.ts +0 -66
  226. package/dist/types.backup/browser/event-controller.d.ts +0 -221
  227. package/dist/types.backup/browser/history-state.d.ts +0 -26
  228. package/dist/types.backup/browser/index.d.ts +0 -1
  229. package/dist/types.backup/browser/intercept-utils.d.ts +0 -30
  230. package/dist/types.backup/browser/invalidate-client-cache.d.ts +0 -17
  231. package/dist/types.backup/browser/link-interceptor.d.ts +0 -43
  232. package/dist/types.backup/browser/logging.d.ts +0 -33
  233. package/dist/types.backup/browser/merge-segment-loaders.d.ts +0 -38
  234. package/dist/types.backup/browser/navigation-bridge.d.ts +0 -27
  235. package/dist/types.backup/browser/navigation-client.d.ts +0 -17
  236. package/dist/types.backup/browser/navigation-store-handle.d.ts +0 -25
  237. package/dist/types.backup/browser/navigation-store.d.ts +0 -95
  238. package/dist/types.backup/browser/navigation-transaction.d.ts +0 -75
  239. package/dist/types.backup/browser/network-error-handler.d.ts +0 -35
  240. package/dist/types.backup/browser/partial-update.d.ts +0 -61
  241. package/dist/types.backup/browser/prefetch/cache.d.ts +0 -183
  242. package/dist/types.backup/browser/prefetch/fetch.d.ts +0 -52
  243. package/dist/types.backup/browser/prefetch/observer.d.ts +0 -27
  244. package/dist/types.backup/browser/prefetch/policy.d.ts +0 -13
  245. package/dist/types.backup/browser/prefetch/queue.d.ts +0 -48
  246. package/dist/types.backup/browser/prefetch/resource-ready.d.ts +0 -28
  247. package/dist/types.backup/browser/rango-state.d.ts +0 -52
  248. package/dist/types.backup/browser/react/Link.d.ts +0 -140
  249. package/dist/types.backup/browser/react/NavigationProvider.d.ts +0 -88
  250. package/dist/types.backup/browser/react/ScrollRestoration.d.ts +0 -78
  251. package/dist/types.backup/browser/react/context.d.ts +0 -54
  252. package/dist/types.backup/browser/react/filter-segment-order.d.ts +0 -35
  253. package/dist/types.backup/browser/react/index.d.ts +0 -1
  254. package/dist/types.backup/browser/react/location-state-shared.d.ts +0 -162
  255. package/dist/types.backup/browser/react/location-state.d.ts +0 -29
  256. package/dist/types.backup/browser/react/mount-context.d.ts +0 -23
  257. package/dist/types.backup/browser/react/nonce-context.d.ts +0 -14
  258. package/dist/types.backup/browser/react/shallow-equal.d.ts +0 -5
  259. package/dist/types.backup/browser/react/use-action.d.ts +0 -61
  260. package/dist/types.backup/browser/react/use-handle.d.ts +0 -21
  261. package/dist/types.backup/browser/react/use-href.d.ts +0 -32
  262. package/dist/types.backup/browser/react/use-link-status.d.ts +0 -36
  263. package/dist/types.backup/browser/react/use-mount.d.ts +0 -24
  264. package/dist/types.backup/browser/react/use-navigation.d.ts +0 -15
  265. package/dist/types.backup/browser/react/use-params.d.ts +0 -21
  266. package/dist/types.backup/browser/react/use-pathname.d.ts +0 -13
  267. package/dist/types.backup/browser/react/use-reverse.d.ts +0 -40
  268. package/dist/types.backup/browser/react/use-router.d.ts +0 -23
  269. package/dist/types.backup/browser/react/use-search-params.d.ts +0 -19
  270. package/dist/types.backup/browser/react/use-segments.d.ts +0 -29
  271. package/dist/types.backup/browser/response-adapter.d.ts +0 -58
  272. package/dist/types.backup/browser/rsc-router.d.ts +0 -141
  273. package/dist/types.backup/browser/scroll-restoration.d.ts +0 -103
  274. package/dist/types.backup/browser/segment-reconciler.d.ts +0 -74
  275. package/dist/types.backup/browser/segment-structure-assert.d.ts +0 -16
  276. package/dist/types.backup/browser/server-action-bridge.d.ts +0 -29
  277. package/dist/types.backup/browser/types.d.ts +0 -530
  278. package/dist/types.backup/browser/validate-redirect-origin.d.ts +0 -28
  279. package/dist/types.backup/build/collect-fallback-refs.d.ts +0 -5
  280. package/dist/types.backup/build/generate-manifest.d.ts +0 -100
  281. package/dist/types.backup/build/generate-route-types.d.ts +0 -8
  282. package/dist/types.backup/build/index.d.ts +0 -21
  283. package/dist/types.backup/build/prefix-tree-utils.d.ts +0 -56
  284. package/dist/types.backup/build/route-types/ast-helpers.d.ts +0 -3
  285. package/dist/types.backup/build/route-types/ast-route-extraction.d.ts +0 -13
  286. package/dist/types.backup/build/route-types/codegen.d.ts +0 -16
  287. package/dist/types.backup/build/route-types/include-resolution.d.ts +0 -74
  288. package/dist/types.backup/build/route-types/param-extraction.d.ts +0 -13
  289. package/dist/types.backup/build/route-types/per-module-writer.d.ts +0 -18
  290. package/dist/types.backup/build/route-types/router-processing.d.ts +0 -82
  291. package/dist/types.backup/build/route-types/scan-filter.d.ts +0 -17
  292. package/dist/types.backup/build/route-types/source-scan.d.ts +0 -13
  293. package/dist/types.backup/build/runtime-discovery.d.ts +0 -24
  294. package/dist/types.backup/cache/background-task.d.ts +0 -21
  295. package/dist/types.backup/cache/cache-error.d.ts +0 -71
  296. package/dist/types.backup/cache/cache-key-utils.d.ts +0 -35
  297. package/dist/types.backup/cache/cache-policy.d.ts +0 -59
  298. package/dist/types.backup/cache/cache-runtime.d.ts +0 -51
  299. package/dist/types.backup/cache/cache-scope.d.ts +0 -134
  300. package/dist/types.backup/cache/cache-tag.d.ts +0 -79
  301. package/dist/types.backup/cache/cf/cf-base64.d.ts +0 -4
  302. package/dist/types.backup/cache/cf/cf-cache-constants.d.ts +0 -105
  303. package/dist/types.backup/cache/cf/cf-cache-store.d.ts +0 -481
  304. package/dist/types.backup/cache/cf/cf-cache-types.d.ts +0 -300
  305. package/dist/types.backup/cache/cf/cf-kv-utils.d.ts +0 -22
  306. package/dist/types.backup/cache/cf/cf-tag-marker-memo.d.ts +0 -15
  307. package/dist/types.backup/cache/cf/index.d.ts +0 -3
  308. package/dist/types.backup/cache/document-cache.d.ts +0 -69
  309. package/dist/types.backup/cache/handle-capture.d.ts +0 -23
  310. package/dist/types.backup/cache/handle-snapshot.d.ts +0 -39
  311. package/dist/types.backup/cache/index.d.ts +0 -7
  312. package/dist/types.backup/cache/memory-segment-store.d.ts +0 -163
  313. package/dist/types.backup/cache/profile-registry.d.ts +0 -40
  314. package/dist/types.backup/cache/read-through-swr.d.ts +0 -60
  315. package/dist/types.backup/cache/segment-codec.d.ts +0 -78
  316. package/dist/types.backup/cache/shell-snapshot.d.ts +0 -162
  317. package/dist/types.backup/cache/tag-invalidation.d.ts +0 -74
  318. package/dist/types.backup/cache/taint.d.ts +0 -71
  319. package/dist/types.backup/cache/types.d.ts +0 -407
  320. package/dist/types.backup/cache/vercel/index.d.ts +0 -1
  321. package/dist/types.backup/cache/vercel/vercel-cache-store.d.ts +0 -267
  322. package/dist/types.backup/client.d.ts +0 -184
  323. package/dist/types.backup/client.rsc.d.ts +0 -39
  324. package/dist/types.backup/cloudflare/index.d.ts +0 -7
  325. package/dist/types.backup/cloudflare/tracing.d.ts +0 -53
  326. package/dist/types.backup/component-utils.d.ts +0 -46
  327. package/dist/types.backup/components/DefaultDocument.d.ts +0 -13
  328. package/dist/types.backup/context-var.d.ts +0 -84
  329. package/dist/types.backup/debug.d.ts +0 -57
  330. package/dist/types.backup/decode-loader-results.d.ts +0 -5
  331. package/dist/types.backup/default-error-boundary.d.ts +0 -10
  332. package/dist/types.backup/defer.d.ts +0 -89
  333. package/dist/types.backup/deps/browser.d.ts +0 -1
  334. package/dist/types.backup/deps/html-stream-client.d.ts +0 -1
  335. package/dist/types.backup/deps/html-stream-server.d.ts +0 -1
  336. package/dist/types.backup/deps/rsc.d.ts +0 -1
  337. package/dist/types.backup/deps/ssr.d.ts +0 -1
  338. package/dist/types.backup/encode-kv.d.ts +0 -35
  339. package/dist/types.backup/errors.d.ts +0 -226
  340. package/dist/types.backup/escape-script.d.ts +0 -44
  341. package/dist/types.backup/handle.d.ts +0 -93
  342. package/dist/types.backup/handles/MetaTags.d.ts +0 -17
  343. package/dist/types.backup/handles/Scripts.d.ts +0 -38
  344. package/dist/types.backup/handles/breadcrumbs.d.ts +0 -43
  345. package/dist/types.backup/handles/deferred-resolution.d.ts +0 -53
  346. package/dist/types.backup/handles/is-thenable.d.ts +0 -12
  347. package/dist/types.backup/handles/meta.d.ts +0 -43
  348. package/dist/types.backup/handles/script.d.ts +0 -139
  349. package/dist/types.backup/host/cookie-handler.d.ts +0 -8
  350. package/dist/types.backup/host/errors.d.ts +0 -40
  351. package/dist/types.backup/host/index.d.ts +0 -33
  352. package/dist/types.backup/host/pattern-matcher.d.ts +0 -30
  353. package/dist/types.backup/host/router.d.ts +0 -12
  354. package/dist/types.backup/host/testing.d.ts +0 -41
  355. package/dist/types.backup/host/types.d.ts +0 -148
  356. package/dist/types.backup/host/utils.d.ts +0 -20
  357. package/dist/types.backup/href-client.d.ts +0 -214
  358. package/dist/types.backup/index.d.ts +0 -112
  359. package/dist/types.backup/index.rsc.d.ts +0 -51
  360. package/dist/types.backup/internal-debug.d.ts +0 -1
  361. package/dist/types.backup/loader-store.d.ts +0 -193
  362. package/dist/types.backup/loader.d.ts +0 -18
  363. package/dist/types.backup/loader.rsc.d.ts +0 -18
  364. package/dist/types.backup/missing-id-error.d.ts +0 -1
  365. package/dist/types.backup/outlet-context.d.ts +0 -12
  366. package/dist/types.backup/outlet-provider.d.ts +0 -12
  367. package/dist/types.backup/prerender/build-shell-capture.d.ts +0 -104
  368. package/dist/types.backup/prerender/param-hash.d.ts +0 -6
  369. package/dist/types.backup/prerender/shell-manifest-key.d.ts +0 -18
  370. package/dist/types.backup/prerender/store.d.ts +0 -62
  371. package/dist/types.backup/prerender.d.ts +0 -292
  372. package/dist/types.backup/redirect-origin.d.ts +0 -55
  373. package/dist/types.backup/regex-escape.d.ts +0 -6
  374. package/dist/types.backup/render-error-thrower.d.ts +0 -13
  375. package/dist/types.backup/response-utils.d.ts +0 -35
  376. package/dist/types.backup/reverse.d.ts +0 -206
  377. package/dist/types.backup/root-error-boundary.d.ts +0 -32
  378. package/dist/types.backup/route-content-wrapper.d.ts +0 -40
  379. package/dist/types.backup/route-definition/dsl-helpers.d.ts +0 -130
  380. package/dist/types.backup/route-definition/helper-factories.d.ts +0 -22
  381. package/dist/types.backup/route-definition/helpers-types.d.ts +0 -392
  382. package/dist/types.backup/route-definition/index.d.ts +0 -7
  383. package/dist/types.backup/route-definition/redirect.d.ts +0 -48
  384. package/dist/types.backup/route-definition/resolve-handler-use.d.ts +0 -19
  385. package/dist/types.backup/route-definition/use-item-types.d.ts +0 -1
  386. package/dist/types.backup/route-definition.d.ts +0 -1
  387. package/dist/types.backup/route-map-builder.d.ts +0 -127
  388. package/dist/types.backup/route-name.d.ts +0 -27
  389. package/dist/types.backup/route-types.d.ts +0 -172
  390. package/dist/types.backup/router/basename.d.ts +0 -10
  391. package/dist/types.backup/router/content-negotiation.d.ts +0 -91
  392. package/dist/types.backup/router/debug-manifest.d.ts +0 -7
  393. package/dist/types.backup/router/error-handling.d.ts +0 -76
  394. package/dist/types.backup/router/find-match.d.ts +0 -19
  395. package/dist/types.backup/router/handler-context.d.ts +0 -41
  396. package/dist/types.backup/router/instrument.d.ts +0 -161
  397. package/dist/types.backup/router/intercept-resolution.d.ts +0 -79
  398. package/dist/types.backup/router/lazy-includes.d.ts +0 -26
  399. package/dist/types.backup/router/loader-resolution.d.ts +0 -63
  400. package/dist/types.backup/router/logging.d.ts +0 -41
  401. package/dist/types.backup/router/manifest.d.ts +0 -8
  402. package/dist/types.backup/router/match-api.d.ts +0 -19
  403. package/dist/types.backup/router/match-context.d.ts +0 -184
  404. package/dist/types.backup/router/match-handlers.d.ts +0 -49
  405. package/dist/types.backup/router/match-middleware/background-revalidation.d.ts +0 -113
  406. package/dist/types.backup/router/match-middleware/cache-lookup.d.ts +0 -113
  407. package/dist/types.backup/router/match-middleware/cache-store.d.ts +0 -112
  408. package/dist/types.backup/router/match-middleware/index.d.ts +0 -80
  409. package/dist/types.backup/router/match-middleware/intercept-resolution.d.ts +0 -116
  410. package/dist/types.backup/router/match-middleware/segment-resolution.d.ts +0 -94
  411. package/dist/types.backup/router/match-pipelines.d.ts +0 -103
  412. package/dist/types.backup/router/match-result.d.ts +0 -114
  413. package/dist/types.backup/router/metrics.d.ts +0 -6
  414. package/dist/types.backup/router/middleware-types.d.ts +0 -74
  415. package/dist/types.backup/router/middleware.d.ts +0 -116
  416. package/dist/types.backup/router/navigation-snapshot.d.ts +0 -22
  417. package/dist/types.backup/router/params-util.d.ts +0 -8
  418. package/dist/types.backup/router/parse-pattern.d.ts +0 -38
  419. package/dist/types.backup/router/pattern-matching.d.ts +0 -169
  420. package/dist/types.backup/router/prefetch-cache-ttl.d.ts +0 -27
  421. package/dist/types.backup/router/prefetch-limits.d.ts +0 -20
  422. package/dist/types.backup/router/prerender-match.d.ts +0 -50
  423. package/dist/types.backup/router/preview-match.d.ts +0 -22
  424. package/dist/types.backup/router/request-classification.d.ts +0 -104
  425. package/dist/types.backup/router/revalidation.d.ts +0 -57
  426. package/dist/types.backup/router/route-snapshot.d.ts +0 -112
  427. package/dist/types.backup/router/router-context.d.ts +0 -137
  428. package/dist/types.backup/router/router-interfaces.d.ts +0 -432
  429. package/dist/types.backup/router/router-options.d.ts +0 -738
  430. package/dist/types.backup/router/router-registry.d.ts +0 -15
  431. package/dist/types.backup/router/segment-resolution/fresh.d.ts +0 -55
  432. package/dist/types.backup/router/segment-resolution/helpers.d.ts +0 -93
  433. package/dist/types.backup/router/segment-resolution/loader-cache.d.ts +0 -33
  434. package/dist/types.backup/router/segment-resolution/loader-mask.d.ts +0 -44
  435. package/dist/types.backup/router/segment-resolution/loader-snapshot.d.ts +0 -90
  436. package/dist/types.backup/router/segment-resolution/mask-nested.d.ts +0 -53
  437. package/dist/types.backup/router/segment-resolution/revalidation.d.ts +0 -85
  438. package/dist/types.backup/router/segment-resolution/static-store.d.ts +0 -17
  439. package/dist/types.backup/router/segment-resolution/streamed-handler-telemetry.d.ts +0 -16
  440. package/dist/types.backup/router/segment-resolution/view-transition-default.d.ts +0 -28
  441. package/dist/types.backup/router/segment-resolution.d.ts +0 -3
  442. package/dist/types.backup/router/segment-wrappers.d.ts +0 -53
  443. package/dist/types.backup/router/state-cookie-name.d.ts +0 -1
  444. package/dist/types.backup/router/substitute-pattern-params.d.ts +0 -23
  445. package/dist/types.backup/router/telemetry-otel.d.ts +0 -113
  446. package/dist/types.backup/router/telemetry.d.ts +0 -215
  447. package/dist/types.backup/router/timeout.d.ts +0 -68
  448. package/dist/types.backup/router/tracing.d.ts +0 -125
  449. package/dist/types.backup/router/trie-matching.d.ts +0 -32
  450. package/dist/types.backup/router/types.d.ts +0 -98
  451. package/dist/types.backup/router/url-params.d.ts +0 -26
  452. package/dist/types.backup/router.d.ts +0 -7
  453. package/dist/types.backup/rsc/capture-queue.d.ts +0 -6
  454. package/dist/types.backup/rsc/full-payload.d.ts +0 -22
  455. package/dist/types.backup/rsc/handler-context.d.ts +0 -31
  456. package/dist/types.backup/rsc/handler.d.ts +0 -9
  457. package/dist/types.backup/rsc/helpers.d.ts +0 -213
  458. package/dist/types.backup/rsc/index.d.ts +0 -17
  459. package/dist/types.backup/rsc/json-route-result.d.ts +0 -20
  460. package/dist/types.backup/rsc/loader-fetch.d.ts +0 -14
  461. package/dist/types.backup/rsc/manifest-init.d.ts +0 -18
  462. package/dist/types.backup/rsc/nonce.d.ts +0 -28
  463. package/dist/types.backup/rsc/origin-guard.d.ts +0 -50
  464. package/dist/types.backup/rsc/progressive-enhancement.d.ts +0 -19
  465. package/dist/types.backup/rsc/redirect-guard.d.ts +0 -35
  466. package/dist/types.backup/rsc/response-cache-serve.d.ts +0 -46
  467. package/dist/types.backup/rsc/response-error.d.ts +0 -19
  468. package/dist/types.backup/rsc/response-route-handler.d.ts +0 -29
  469. package/dist/types.backup/rsc/rsc-rendering.d.ts +0 -23
  470. package/dist/types.backup/rsc/runtime-warnings.d.ts +0 -22
  471. package/dist/types.backup/rsc/server-action.d.ts +0 -68
  472. package/dist/types.backup/rsc/shell-build-manifest.d.ts +0 -84
  473. package/dist/types.backup/rsc/shell-capture-constants.d.ts +0 -27
  474. package/dist/types.backup/rsc/shell-capture.d.ts +0 -374
  475. package/dist/types.backup/rsc/shell-serve.d.ts +0 -136
  476. package/dist/types.backup/rsc/ssr-setup.d.ts +0 -48
  477. package/dist/types.backup/rsc/transition-gate.d.ts +0 -27
  478. package/dist/types.backup/rsc/types.d.ts +0 -290
  479. package/dist/types.backup/runtime-env.d.ts +0 -1
  480. package/dist/types.backup/search-params.d.ts +0 -125
  481. package/dist/types.backup/segment-content-promise.d.ts +0 -13
  482. package/dist/types.backup/segment-fragments.d.ts +0 -56
  483. package/dist/types.backup/segment-loader-promise.d.ts +0 -22
  484. package/dist/types.backup/segment-system.d.ts +0 -84
  485. package/dist/types.backup/serialize.d.ts +0 -164
  486. package/dist/types.backup/server/context.d.ts +0 -494
  487. package/dist/types.backup/server/cookie-parse.d.ts +0 -10
  488. package/dist/types.backup/server/cookie-store.d.ts +0 -107
  489. package/dist/types.backup/server/fetchable-loader-store.d.ts +0 -20
  490. package/dist/types.backup/server/handle-store.d.ts +0 -100
  491. package/dist/types.backup/server/loader-registry.d.ts +0 -32
  492. package/dist/types.backup/server/request-context.d.ts +0 -596
  493. package/dist/types.backup/server/root-layout.d.ts +0 -3
  494. package/dist/types.backup/server.d.ts +0 -15
  495. package/dist/types.backup/ssr/index.d.ts +0 -233
  496. package/dist/types.backup/ssr/inject-rsc-eager.d.ts +0 -3
  497. package/dist/types.backup/ssr/preinit-client-references.d.ts +0 -71
  498. package/dist/types.backup/ssr/ssr-root.d.ts +0 -69
  499. package/dist/types.backup/static-handler.d.ts +0 -57
  500. package/dist/types.backup/testing/cache-status.d.ts +0 -63
  501. package/dist/types.backup/testing/collect-handle.d.ts +0 -20
  502. package/dist/types.backup/testing/dispatch.d.ts +0 -123
  503. package/dist/types.backup/testing/dom.entry.d.ts +0 -15
  504. package/dist/types.backup/testing/e2e/fixture.d.ts +0 -37
  505. package/dist/types.backup/testing/e2e/index.d.ts +0 -30
  506. package/dist/types.backup/testing/e2e/matchers.d.ts +0 -17
  507. package/dist/types.backup/testing/e2e/page-helpers.d.ts +0 -62
  508. package/dist/types.backup/testing/e2e/parity.d.ts +0 -111
  509. package/dist/types.backup/testing/e2e/server.d.ts +0 -35
  510. package/dist/types.backup/testing/flight-matchers.d.ts +0 -55
  511. package/dist/types.backup/testing/flight-normalize.d.ts +0 -1
  512. package/dist/types.backup/testing/flight-tree.d.ts +0 -192
  513. package/dist/types.backup/testing/flight.d.ts +0 -115
  514. package/dist/types.backup/testing/flight.entry.d.ts +0 -27
  515. package/dist/types.backup/testing/generated-routes.d.ts +0 -66
  516. package/dist/types.backup/testing/index.d.ts +0 -52
  517. package/dist/types.backup/testing/internal/context.d.ts +0 -225
  518. package/dist/types.backup/testing/internal/flight-client-globals.d.ts +0 -1
  519. package/dist/types.backup/testing/internal/seed-vars.d.ts +0 -30
  520. package/dist/types.backup/testing/render-handler.d.ts +0 -160
  521. package/dist/types.backup/testing/render-route.d.ts +0 -246
  522. package/dist/types.backup/testing/run-loader.d.ts +0 -186
  523. package/dist/types.backup/testing/run-middleware.d.ts +0 -132
  524. package/dist/types.backup/testing/run-transition-when.d.ts +0 -77
  525. package/dist/types.backup/testing/vitest-stubs/cloudflare-email.d.ts +0 -6
  526. package/dist/types.backup/testing/vitest-stubs/cloudflare-workers.d.ts +0 -13
  527. package/dist/types.backup/testing/vitest-stubs/plugin-rsc.d.ts +0 -7
  528. package/dist/types.backup/testing/vitest-stubs/version.d.ts +0 -1
  529. package/dist/types.backup/testing/vitest.d.ts +0 -205
  530. package/dist/types.backup/theme/ThemeProvider.d.ts +0 -13
  531. package/dist/types.backup/theme/ThemeScript.d.ts +0 -45
  532. package/dist/types.backup/theme/constants.d.ts +0 -39
  533. package/dist/types.backup/theme/index.d.ts +0 -29
  534. package/dist/types.backup/theme/theme-context.d.ts +0 -21
  535. package/dist/types.backup/theme/theme-script.d.ts +0 -26
  536. package/dist/types.backup/theme/types.d.ts +0 -162
  537. package/dist/types.backup/theme/use-theme.d.ts +0 -8
  538. package/dist/types.backup/types/boundaries.d.ts +0 -93
  539. package/dist/types.backup/types/cache-types.d.ts +0 -191
  540. package/dist/types.backup/types/error-types.d.ts +0 -114
  541. package/dist/types.backup/types/global-namespace.d.ts +0 -90
  542. package/dist/types.backup/types/handler-context.d.ts +0 -658
  543. package/dist/types.backup/types/index.d.ts +0 -11
  544. package/dist/types.backup/types/loader-types.d.ts +0 -182
  545. package/dist/types.backup/types/request-scope.d.ts +0 -93
  546. package/dist/types.backup/types/route-config.d.ts +0 -105
  547. package/dist/types.backup/types/route-entry.d.ts +0 -95
  548. package/dist/types.backup/types/segments.d.ts +0 -234
  549. package/dist/types.backup/types.d.ts +0 -1
  550. package/dist/types.backup/urls/include-helper.d.ts +0 -17
  551. package/dist/types.backup/urls/include-provider.d.ts +0 -27
  552. package/dist/types.backup/urls/index.d.ts +0 -6
  553. package/dist/types.backup/urls/path-helper-types.d.ts +0 -197
  554. package/dist/types.backup/urls/path-helper.d.ts +0 -12
  555. package/dist/types.backup/urls/pattern-types.d.ts +0 -166
  556. package/dist/types.backup/urls/response-types.d.ts +0 -67
  557. package/dist/types.backup/urls/type-extraction.d.ts +0 -157
  558. package/dist/types.backup/urls/urls-function.d.ts +0 -24
  559. package/dist/types.backup/urls.d.ts +0 -1
  560. package/dist/types.backup/use-loader.d.ts +0 -150
  561. package/dist/types.backup/vercel/index.d.ts +0 -10
  562. package/dist/types.backup/vercel/tracing.d.ts +0 -70
  563. package/dist/types.backup/vite/debug.d.ts +0 -80
  564. package/dist/types.backup/vite/discovery/bundle-postprocess.d.ts +0 -12
  565. package/dist/types.backup/vite/discovery/dev-prerender-cache.d.ts +0 -65
  566. package/dist/types.backup/vite/discovery/discover-routers.d.ts +0 -17
  567. package/dist/types.backup/vite/discovery/discovery-errors.d.ts +0 -113
  568. package/dist/types.backup/vite/discovery/gate-state.d.ts +0 -79
  569. package/dist/types.backup/vite/discovery/prerender-collection.d.ts +0 -24
  570. package/dist/types.backup/vite/discovery/route-types-writer.d.ts +0 -32
  571. package/dist/types.backup/vite/discovery/self-gen-tracking.d.ts +0 -22
  572. package/dist/types.backup/vite/discovery/shell-prerender-phase.d.ts +0 -40
  573. package/dist/types.backup/vite/discovery/state.d.ts +0 -162
  574. package/dist/types.backup/vite/discovery/virtual-module-codegen.d.ts +0 -15
  575. package/dist/types.backup/vite/index.d.ts +0 -11
  576. package/dist/types.backup/vite/inject-client-debug.d.ts +0 -56
  577. package/dist/types.backup/vite/plugin-types.d.ts +0 -298
  578. package/dist/types.backup/vite/plugins/cjs-to-esm.d.ts +0 -6
  579. package/dist/types.backup/vite/plugins/client-ref-dedup.d.ts +0 -40
  580. package/dist/types.backup/vite/plugins/client-ref-hashing.d.ts +0 -35
  581. package/dist/types.backup/vite/plugins/cloudflare-protocol-stub.d.ts +0 -64
  582. package/dist/types.backup/vite/plugins/expose-action-id.d.ts +0 -18
  583. package/dist/types.backup/vite/plugins/expose-id-utils.d.ts +0 -37
  584. package/dist/types.backup/vite/plugins/expose-ids/export-analysis.d.ts +0 -19
  585. package/dist/types.backup/vite/plugins/expose-ids/handler-transform.d.ts +0 -10
  586. package/dist/types.backup/vite/plugins/expose-ids/loader-transform.d.ts +0 -8
  587. package/dist/types.backup/vite/plugins/expose-ids/router-transform.d.ts +0 -13
  588. package/dist/types.backup/vite/plugins/expose-ids/types.d.ts +0 -29
  589. package/dist/types.backup/vite/plugins/expose-internal-ids.d.ts +0 -6
  590. package/dist/types.backup/vite/plugins/performance-tracks.d.ts +0 -25
  591. package/dist/types.backup/vite/plugins/refresh-cmd.d.ts +0 -20
  592. package/dist/types.backup/vite/plugins/use-cache-transform.d.ts +0 -20
  593. package/dist/types.backup/vite/plugins/vercel-output.d.ts +0 -85
  594. package/dist/types.backup/vite/plugins/version-injector.d.ts +0 -21
  595. package/dist/types.backup/vite/plugins/version-plugin.d.ts +0 -19
  596. package/dist/types.backup/vite/plugins/virtual-entries.d.ts +0 -36
  597. package/dist/types.backup/vite/plugins/virtual-stub-plugin.d.ts +0 -7
  598. package/dist/types.backup/vite/rango.d.ts +0 -29
  599. package/dist/types.backup/vite/router-discovery.d.ts +0 -23
  600. package/dist/types.backup/vite/utils/ast-handler-extract.d.ts +0 -64
  601. package/dist/types.backup/vite/utils/banner.d.ts +0 -2
  602. package/dist/types.backup/vite/utils/bundle-analysis.d.ts +0 -28
  603. package/dist/types.backup/vite/utils/client-chunks.d.ts +0 -55
  604. package/dist/types.backup/vite/utils/directive-prologue.d.ts +0 -16
  605. package/dist/types.backup/vite/utils/forward-user-plugins.d.ts +0 -37
  606. package/dist/types.backup/vite/utils/manifest-utils.d.ts +0 -7
  607. package/dist/types.backup/vite/utils/package-resolution.d.ts +0 -6
  608. package/dist/types.backup/vite/utils/prerender-utils.d.ts +0 -32
  609. package/dist/types.backup/vite/utils/shared-utils.d.ts +0 -55
@@ -1,530 +0,0 @@
1
- import type { ReactNode, ComponentType } from "react";
2
- import type { ResolvedSegment, SlotState } from "../types.js";
3
- import type { ResolvedThemeConfig, Theme } from "../theme/types.js";
4
- import type { RenderSegmentsOptions } from "../segment-system.js";
5
- /**
6
- * RSC payload received from server.
7
- * The tree is reconstructed from metadata.segments by the browser bridges.
8
- */
9
- export interface RscPayload<TMetadata = RscMetadata> {
10
- metadata?: TMetadata;
11
- returnValue?: ActionResult;
12
- }
13
- /**
14
- * Handle data structure: handleName -> segmentId -> entries[]
15
- *
16
- * @internal This type is an implementation detail and may change without notice.
17
- */
18
- export type HandleData = Record<string, Record<string, unknown[]>>;
19
- /**
20
- * Metadata included in RSC responses
21
- *
22
- * @internal This type is an implementation detail and may change without notice.
23
- */
24
- export interface RscMetadata {
25
- pathname: string;
26
- segments: ResolvedSegment[];
27
- /** Router instance ID — the current app's identity. A mismatch with the
28
- * client's id (sent as _rsc_rid) is detected server-side and answered with
29
- * X-RSC-Reload (full document load), so the client never swaps apps
30
- * in-session; within a session this always equals the current app. */
31
- routerId?: string;
32
- isPartial?: boolean;
33
- isError?: boolean;
34
- matched?: string[];
35
- diff?: string[];
36
- /**
37
- * All segment ids re-resolved on the server, including null-component
38
- * ones excluded from `segments`/`diff`. Drives client-side handle-bucket
39
- * cleanup. Superset of `diff`. See MatchResult.resolvedIds.
40
- */
41
- resolvedIds?: string[];
42
- /** Merged route params from the matched route */
43
- params?: Record<string, string>;
44
- /**
45
- * State of named slots for this route match
46
- * Key is slot name (e.g., "@modal"), value is slot state
47
- * Slots are used for intercepting routes during soft navigation
48
- */
49
- slots?: Record<string, SlotState>;
50
- /** Root layout component for browser-side re-renders */
51
- rootLayout?: ComponentType<{
52
- children: ReactNode;
53
- }>;
54
- /** Handle data accumulated across route segments (async generator that yields on each push) */
55
- handles?: AsyncGenerator<HandleData, void, unknown>;
56
- /** Cached handle data (for back/forward navigation from cache) */
57
- cachedHandleData?: HandleData;
58
- /**
59
- * RSC version string from the server.
60
- * Used to detect version mismatches after HMR/deployment.
61
- */
62
- version?: string;
63
- /**
64
- * TTL in milliseconds for the client-side in-memory prefetch cache.
65
- * Sent on initial render so the browser can configure its cache duration.
66
- */
67
- prefetchCacheTTL?: number;
68
- /**
69
- * Max entries in the client-side in-memory prefetch cache (FIFO eviction).
70
- * Sent on initial render so the browser can configure its cache capacity.
71
- */
72
- prefetchCacheSize?: number;
73
- /**
74
- * Max concurrent speculative prefetch requests on the client.
75
- * Sent on initial render so the browser can configure its prefetch queue.
76
- */
77
- prefetchConcurrency?: number;
78
- /**
79
- * Server-resolved rango state cookie name (`{prefix}_{routerId}`). The client
80
- * reads it verbatim and binds the rango state cookie to it; composition
81
- * happens only server-side.
82
- */
83
- stateCookieName?: string;
84
- /**
85
- * Theme configuration from router.
86
- * Included when theme is enabled in router config.
87
- */
88
- themeConfig?: ResolvedThemeConfig | null;
89
- /**
90
- * Initial theme from cookie (for SSR hydration).
91
- * Included when theme is enabled in router config.
92
- */
93
- initialTheme?: Theme;
94
- /** URL prefix for all routes (from createRouter({ basename })). */
95
- basename?: string;
96
- /** Whether connection warmup is enabled */
97
- warmupEnabled?: boolean;
98
- /**
99
- * Whether the client should hydrate inside React.StrictMode. Carried on the
100
- * initial full-render payload only; the browser entry reads it once at
101
- * hydration. Defaults to true on the client when omitted.
102
- */
103
- strictMode?: boolean;
104
- /**
105
- * Server-side redirect with optional state (for partial requests).
106
- * `external: true` (from redirect(url, { external: true })) tells the client
107
- * to hard-navigate to an off-host target instead of validating same-origin.
108
- */
109
- redirect?: {
110
- url: string;
111
- external?: boolean;
112
- };
113
- /** Server-set location state to include in history.pushState */
114
- locationState?: Record<string, unknown>;
115
- }
116
- /**
117
- * Result from server action execution
118
- *
119
- * @internal This type is an implementation detail and may change without notice.
120
- */
121
- export interface ActionResult {
122
- ok: boolean;
123
- data: unknown;
124
- }
125
- /**
126
- * Location object representing current URL
127
- * Uses URL for full URL parsing (origin, host, hostname, port, protocol, searchParams, etc.)
128
- */
129
- export type NavigationLocation = URL;
130
- /**
131
- * Inflight server action being tracked
132
- *
133
- * @internal This type is an implementation detail and may change without notice.
134
- */
135
- export interface InflightAction {
136
- /** Unique identifier for this action invocation */
137
- id: string;
138
- /** Server action function ID */
139
- actionId: string;
140
- /** Action arguments */
141
- payload: unknown[];
142
- /** Timestamp when action started */
143
- startedAt: number;
144
- }
145
- /**
146
- * Internal navigation state (includes inflight actions for store use)
147
- *
148
- * @internal This type is an implementation detail. Use PublicNavigationState instead.
149
- */
150
- export interface NavigationState {
151
- /** Navigation lifecycle state (idle or loading during navigation) */
152
- state: "idle" | "loading";
153
- /** Whether RSC data is currently streaming (initial load or navigation) */
154
- isStreaming: boolean;
155
- /** Current location */
156
- location: NavigationLocation;
157
- /** URL being navigated to (null when idle) */
158
- pendingUrl: string | null;
159
- /** List of inflight server actions (internal use only) */
160
- inflightActions: InflightAction[];
161
- }
162
- /**
163
- * Public navigation state exposed via useNavigation hook
164
- * Excludes internal properties like inflightActions
165
- */
166
- export type PublicNavigationState = Omit<NavigationState, "inflightActions">;
167
- /**
168
- * Action lifecycle state
169
- */
170
- export type ActionLifecycleState = "idle" | "loading" | "streaming";
171
- /**
172
- * State for a tracked server action
173
- * Used by useAction hook to observe action lifecycle
174
- *
175
- * @internal This type is an implementation detail and may change without notice.
176
- */
177
- export interface TrackedActionState {
178
- /** Current lifecycle state of the action */
179
- state: ActionLifecycleState;
180
- /** Server action function ID (e.g., "addToCart") */
181
- actionId: string | null;
182
- /** Action arguments (array for JSON, FormData for form submissions) */
183
- payload: unknown[] | FormData | null;
184
- /** Error if action failed */
185
- error: unknown | null;
186
- /** Result data from the action (preserved after completion) */
187
- result: unknown | null;
188
- }
189
- /**
190
- * The value returned by {@link useAction} when called without a selector.
191
- *
192
- * This is the stable, public name for the action-state shape; consumers can
193
- * name it in their own signatures (e.g. a wrapper hook). It aliases the
194
- * internal {@link TrackedActionState}.
195
- */
196
- export type ActionState = TrackedActionState;
197
- /**
198
- * Listener for action state changes
199
- *
200
- * @internal This type is an implementation detail and may change without notice.
201
- */
202
- export type ActionStateListener = (state: TrackedActionState) => void;
203
- /**
204
- * Cache interface for storing segments
205
- * Compatible with Map
206
- *
207
- * @internal This type is an implementation detail and may change without notice.
208
- */
209
- export interface SegmentCache {
210
- get(key: string): ResolvedSegment | undefined;
211
- set(key: string, value: ResolvedSegment): void;
212
- has(key: string): boolean;
213
- delete(key: string): boolean;
214
- keys(): IterableIterator<string>;
215
- readonly size: number;
216
- }
217
- /**
218
- * Internal segment state managed by the store
219
- *
220
- * @internal This type is an implementation detail and may change without notice.
221
- */
222
- export interface SegmentState {
223
- path: string;
224
- currentUrl: string;
225
- currentSegmentIds: string[];
226
- }
227
- /**
228
- * Navigation update emitted when UI should re-render
229
- *
230
- * @internal This type is an implementation detail and may change without notice.
231
- */
232
- export interface NavigationUpdate {
233
- root: ReactNode | Promise<ReactNode>;
234
- metadata: RscMetadata;
235
- /** Scroll behavior to apply after React commits this update */
236
- scroll?: {
237
- /** For back/forward: restore saved position */
238
- restore?: boolean;
239
- /** Set to false to disable scrolling entirely */
240
- enabled?: boolean;
241
- /** Function to check if streaming is in progress */
242
- isStreaming?: () => boolean;
243
- };
244
- }
245
- /**
246
- * State value for navigate/Link
247
- * - LocationStateEntry[]: Type-safe state entries (recommended)
248
- * - unknown: Plain state format (object or getter function)
249
- */
250
- export type HistoryState = import("./react/location-state-shared.js").LocationStateEntry[] | unknown;
251
- /**
252
- * Options for navigation operations
253
- */
254
- export interface NavigateOptions {
255
- replace?: boolean;
256
- scroll?: boolean;
257
- /**
258
- * Whether to revalidate server data on navigation.
259
- * Set to `false` to skip the RSC server fetch and only update the URL.
260
- *
261
- * Only takes effect when the pathname stays the same (search param / hash changes).
262
- * If the pathname changes, this option is ignored and a full navigation occurs.
263
- *
264
- * All location-aware hooks (`useSearchParams`, `useNavigation`, etc.) still update.
265
- * Server components do not re-render.
266
- *
267
- * @default true
268
- *
269
- * @example
270
- * ```tsx
271
- * router.push("/products?color=blue", { revalidate: false });
272
- * router.replace("/products?page=3", { revalidate: false });
273
- * ```
274
- */
275
- revalidate?: boolean;
276
- /**
277
- * State to pass to history.pushState/replaceState
278
- * Accessible via useLocationState() hook.
279
- *
280
- * @example
281
- * ```tsx
282
- * // Type-safe state (recommended)
283
- * const ProductState = createLocationState<{ name: string }>();
284
- * navigate("/product/123", { state: [ProductState({ name: "Widget" })] });
285
- *
286
- * // Type-safe just-in-time state (getter called at navigation time)
287
- * navigate("/product/123", {
288
- * state: [ProductState(() => ({ name: computeName() }))],
289
- * });
290
- *
291
- * // Multiple states
292
- * navigate("/checkout", { state: [ProductState(p), CartState(c)] });
293
- *
294
- * // Plain static state
295
- * navigate("/product", { state: { from: "list" } });
296
- *
297
- * // Plain just-in-time state
298
- * navigate("/product", { state: () => ({ from: window.location.pathname }) });
299
- * ```
300
- */
301
- state?: HistoryState;
302
- }
303
- /** @internal Extended options used only within the navigation bridge */
304
- export interface NavigateOptionsInternal extends NavigateOptions {
305
- /** Skip segment cache (used by redirect-with-state to force re-render) */
306
- _skipCache?: boolean;
307
- }
308
- /**
309
- * Options for useRouter push/replace methods.
310
- * Same as NavigateOptions but without `replace` (implicit in push vs replace).
311
- */
312
- export type RouterNavigateOptions = Omit<NavigateOptions, "replace">;
313
- /**
314
- * Router instance returned by useRouter hook.
315
- * Provides stable action methods that never cause re-renders.
316
- */
317
- export interface RouterInstance {
318
- /** Navigate to a URL, pushing a new entry to the history stack */
319
- push(url: string, options?: RouterNavigateOptions): Promise<void>;
320
- /** Navigate to a URL, replacing the current history entry */
321
- replace(url: string, options?: RouterNavigateOptions): Promise<void>;
322
- /** Refresh the current route (re-fetch server data, preserve client state) */
323
- refresh(): Promise<void>;
324
- /**
325
- * Prefetch a URL for faster client-side transition.
326
- *
327
- * Pass `{ key: ":source" }` to source-scope the prefetch cache entry (parity
328
- * with `<Link prefetchKey=":source">`) when the target's response can differ
329
- * by source page.
330
- */
331
- prefetch(url: string, options?: {
332
- key?: ":source";
333
- }): void;
334
- /** Go back in browser history */
335
- back(): void;
336
- /** Go forward in browser history */
337
- forward(): void;
338
- }
339
- /**
340
- * URLSearchParams without mutation methods.
341
- * Matches Next.js convention for useSearchParams return type.
342
- */
343
- export type ReadonlyURLSearchParams = Omit<URLSearchParams, "append" | "delete" | "set" | "sort">;
344
- /**
345
- * RSC runtime functions from @vitejs/plugin-rsc/browser
346
- *
347
- * These are injected as dependencies to avoid direct coupling
348
- * to the RSC runtime implementation.
349
- */
350
- export interface RscBrowserDependencies {
351
- createFromFetch: <T>(response: Promise<Response>, options?: {
352
- temporaryReferences?: any;
353
- findSourceMapURL?: (filename: string, environmentName: string) => string | null;
354
- }) => Promise<T>;
355
- createFromReadableStream: <T>(stream: ReadableStream) => Promise<T>;
356
- encodeReply: (args: any[], options?: {
357
- temporaryReferences?: any;
358
- }) => Promise<FormData | string>;
359
- setServerCallback: (callback: (id: string, args: any[]) => Promise<any>) => void;
360
- createTemporaryReferenceSet: () => any;
361
- }
362
- /**
363
- * Update subscriber callback for UI updates
364
- */
365
- export type UpdateSubscriber = (update: NavigationUpdate) => void;
366
- /**
367
- * State change listener for useNavigation hook subscriptions
368
- */
369
- export type StateListener = () => void;
370
- /**
371
- * Navigation store interface
372
- *
373
- * Manages both:
374
- * - NavigationState: Public state exposed via useNavigation hook
375
- * - SegmentState: Internal segment management for partial updates
376
- */
377
- export interface NavigationStore {
378
- getState(): NavigationState;
379
- setState(partial: Partial<NavigationState>): void;
380
- subscribe(listener: StateListener): () => void;
381
- addInflightAction(action: InflightAction): void;
382
- removeInflightAction(id: string): void;
383
- isActionInProgress(): boolean;
384
- setActionInProgress(value: boolean): void;
385
- getSegmentState(): SegmentState;
386
- setPath(path: string): void;
387
- setCurrentUrl(url: string): void;
388
- setSegmentIds(ids: string[]): void;
389
- getHistoryKey(): string;
390
- setHistoryKey(key: string): void;
391
- /** Monotonic token of the most recently committed navigation. */
392
- getNavInstance(): number;
393
- /** Nav-instance token recorded on a cache entry (undefined if absent). */
394
- getCacheEntryInstance(historyKey: string): number | undefined;
395
- cacheSegmentsForHistory(historyKey: string, segments: ResolvedSegment[], handleData?: HandleData): void;
396
- getCachedSegments(historyKey: string): {
397
- segments: ResolvedSegment[];
398
- stale: boolean;
399
- handleData?: HandleData;
400
- routerId?: string;
401
- /**
402
- * True when the entry's handle data is incomplete (a deferred Meta was
403
- * still pending at navigate-away). A popstate return must revalidate with
404
- * a FULL re-render so the server re-streams handles.
405
- */
406
- handlesPending?: boolean;
407
- } | undefined;
408
- hasHistoryCache(historyKey: string): boolean;
409
- /**
410
- * Update only the handleData (and optionally the stale / handlesPending flags)
411
- * of an existing cache entry. When a flag is omitted the entry's current value
412
- * is preserved. `stale=true` marks a single entry stale so a popstate return
413
- * revalidates it; `handlesPending=true` additionally forces that revalidation
414
- * to be a full re-render (so a deferred Meta re-streams).
415
- */
416
- updateCacheHandleData(historyKey: string, handleData: HandleData, stale?: boolean, handlesPending?: boolean): void;
417
- /**
418
- * Owner-guarded variant of updateCacheHandleData: writes only when the entry
419
- * is still owned by `ownerInstance`. Folds the caller's separate ownership
420
- * probe and write into one historyCache scan for the per-yield streaming path.
421
- */
422
- updateCacheHandleDataIfOwned(historyKey: string, handleData: HandleData, ownerInstance: number, stale?: boolean, handlesPending?: boolean): void;
423
- markCacheAsStale(): void;
424
- markHistoryCacheStale(): void;
425
- markCacheAsStaleAndBroadcast(): void;
426
- clearHistoryCache(): void;
427
- setCrossTabRefreshCallback(callback: () => void): void;
428
- getInterceptSourceUrl(): string | null;
429
- setInterceptSourceUrl(url: string | null): void;
430
- getRouterId?(): string | undefined;
431
- setRouterId?(id: string): void;
432
- onUpdate(callback: UpdateSubscriber): () => void;
433
- emitUpdate(update: NavigationUpdate): void;
434
- getActionState(actionId: string): TrackedActionState;
435
- setActionState(actionId: string, state: Partial<TrackedActionState>): void;
436
- subscribeToAction(actionId: string, listener: ActionStateListener): () => void;
437
- }
438
- /**
439
- * Options for partial navigation fetch
440
- */
441
- export interface FetchPartialOptions {
442
- targetUrl: string;
443
- segmentIds: string[];
444
- previousUrl: string;
445
- signal?: AbortSignal;
446
- /** If true, this is a stale cache revalidation request - server should force revalidators */
447
- staleRevalidation?: boolean;
448
- interceptSourceUrl?: string;
449
- /** RSC version for cache invalidation detection */
450
- version?: string;
451
- /** Current router ID — server detects app switch and returns full response */
452
- routerId?: string;
453
- /** If true, this is an HMR refetch - server should invalidate manifest cache */
454
- hmr?: boolean;
455
- }
456
- /**
457
- * Result of a partial fetch including stream completion tracking
458
- */
459
- export interface FetchPartialResult {
460
- payload: RscPayload;
461
- /** Promise that resolves when the response stream is fully consumed */
462
- streamComplete: Promise<void>;
463
- /**
464
- * True only when this payload came from a prefetch-cache hit whose stream had
465
- * ALREADY fully drained at fetch time (the route was fully prefetched). The
466
- * commit then runs in a startTransition so loading()/Suspense content — already
467
- * resolved — swaps in directly without flashing a fallback. A partially-warmed
468
- * (still-streaming) prefetch hit and a cold fetch leave this false so their
469
- * fallbacks stream as usual.
470
- */
471
- fullyPrefetched?: boolean;
472
- }
473
- /**
474
- * Navigation client for fetching RSC payloads
475
- */
476
- export interface NavigationClient {
477
- fetchPartial(options: FetchPartialOptions): Promise<FetchPartialResult>;
478
- }
479
- /**
480
- * Options for link interception
481
- */
482
- export interface LinkInterceptorOptions {
483
- shouldIntercept?: (link: HTMLAnchorElement) => boolean;
484
- }
485
- /**
486
- * Server action bridge for handling server actions
487
- */
488
- export interface ServerActionBridge {
489
- register(): void;
490
- }
491
- /**
492
- * Configuration for server action bridge
493
- */
494
- export interface ServerActionBridgeConfig {
495
- store: NavigationStore;
496
- client: NavigationClient;
497
- deps: RscBrowserDependencies;
498
- onUpdate: UpdateSubscriber;
499
- renderSegments: (segments: ResolvedSegment[], options?: RenderSegmentsOptions) => Promise<ReactNode> | ReactNode;
500
- }
501
- /**
502
- * Navigation bridge for handling client-side navigation
503
- */
504
- export interface NavigationBridge {
505
- navigate(url: string, options?: NavigateOptions): Promise<void>;
506
- refresh(): Promise<void>;
507
- handlePopstate(): Promise<void>;
508
- registerLinkInterception(): () => void;
509
- /** Current RSC version (live, reflects the latest updateVersion). */
510
- getVersion(): string | undefined;
511
- /** Update the RSC version (e.g. after HMR). Clears prefetch cache. */
512
- updateVersion(newVersion: string): void;
513
- }
514
- /**
515
- * Configuration for navigation bridge
516
- */
517
- export interface NavigationBridgeConfig {
518
- store: NavigationStore;
519
- client: NavigationClient;
520
- onUpdate: UpdateSubscriber;
521
- renderSegments: (segments: ResolvedSegment[], options?: RenderSegmentsOptions) => Promise<ReactNode> | ReactNode;
522
- }
523
- export type { ResolvedSegment };
524
- /**
525
- * Token for tracking an active stream.
526
- * Call end() when the stream completes.
527
- */
528
- export interface StreamingToken {
529
- end(): void;
530
- }
@@ -1,28 +0,0 @@
1
- /**
2
- * Validate that a client-consumed redirect URL (from headers or Flight payload)
3
- * targets the same origin as the current page. Prevents open-redirect attacks
4
- * via crafted responses.
5
- *
6
- * Thin wrapper over the shared {@link resolveSameOriginRedirect} rule (also used
7
- * by the server guard in `rsc/redirect-guard.ts`) so client and server enforce
8
- * the identical same-origin contract. Adds the client-side `console.error` on a
9
- * block; the resolver itself stays pure.
10
- *
11
- * @returns The canonical (normalized) URL string on success, or null if blocked.
12
- */
13
- export declare function validateRedirectOrigin(url: string, currentOrigin: string): string | null;
14
- /**
15
- * Validate an explicit off-origin redirect (`redirect(url, { external: true })`)
16
- * the client is about to hard-navigate to via `window.location.assign()`.
17
- *
18
- * Thin wrapper over the shared {@link resolveExternalRedirect} rule (also used by
19
- * the server guard in `rsc/redirect-guard.ts`) so client and server enforce the
20
- * identical contract: `external` allows an off-origin target but only an
21
- * http(s) scheme. This stops a forged or mistaken external payload carrying a
22
- * `javascript:`/`data:` URL from turning `location.assign` into a scriptable
23
- * navigation. Adds the client-side `console.error` on a block; the resolver
24
- * itself stays pure.
25
- *
26
- * @returns The normalized URL string on success, or null if blocked.
27
- */
28
- export declare function validateExternalRedirect(url: string, currentOrigin: string): string | null;
@@ -1,5 +0,0 @@
1
- /**
2
- * Report every `"use client"` client-reference key reachable from a single
3
- * error/notFound boundary registration (handler function or element tree).
4
- */
5
- export declare function collectFallbackClientRefs(boundary: unknown, report: (refKey: string) => void): void;
@@ -1,100 +0,0 @@
1
- /**
2
- * Build-time manifest generation for @rangojs/router
3
- *
4
- * Extracts the prefix tree and route manifest from UrlPatterns at build time.
5
- * This enables:
6
- * - Pre-computed prefix tree for fast short-circuit checks
7
- * - Complete route manifest for href() without runtime evaluation
8
- * - Support for nested includes
9
- */
10
- import type { UrlPatterns } from "../urls.js";
11
- /**
12
- * Node in the prefix tree
13
- */
14
- export interface PrefixTreeNode {
15
- /** The static prefix for this node */
16
- staticPrefix: string;
17
- /** The full URL prefix (including parent prefixes) */
18
- fullPrefix: string;
19
- /** Name prefix for routes in this include */
20
- namePrefix?: string;
21
- /** Child nodes (nested includes) */
22
- children: Record<string, PrefixTreeNode>;
23
- /** Route names defined directly in this include (not in children) */
24
- routes: string[];
25
- }
26
- /**
27
- * Generated manifest containing prefix tree and route mappings
28
- */
29
- export interface GeneratedManifest {
30
- /** Nested prefix tree for short-circuit optimization */
31
- prefixTree: Record<string, PrefixTreeNode>;
32
- /** Complete route name → pattern mapping for href() */
33
- routeManifest: Record<string, string>;
34
- /** Route name → trailing slash mode for trie redirect handling */
35
- routeTrailingSlash?: Record<string, string>;
36
- /** Route names using Prerender (for dev-mode Node.js delegation) */
37
- prerenderRoutes?: string[];
38
- /** Route names wrapped with Passthrough() (live handler for runtime fallback) */
39
- passthroughRoutes?: string[];
40
- /** Route name → response type for non-RSC routes */
41
- responseTypeRoutes?: Record<string, string>;
42
- /** Route name -> search schema descriptor for typed URL helpers */
43
- routeSearchSchemas?: Record<string, Record<string, string>>;
44
- }
45
- /**
46
- * Internal manifest result including build-pipeline-only fields.
47
- * Not part of the public API — use generateManifest() for the public surface.
48
- */
49
- export interface FullManifest extends GeneratedManifest {
50
- _prerenderDefs?: Record<string, any>;
51
- }
52
- /**
53
- * Generate manifest from UrlPatterns (public API).
54
- *
55
- * Returns only the public GeneratedManifest fields. Internal build pipeline
56
- * consumers that need _prerenderDefs should use generateManifestFull() instead.
57
- *
58
- * @example
59
- * ```typescript
60
- * import { generateManifest } from "@rangojs/router/build";
61
- * import { urlpatterns } from "./urls";
62
- *
63
- * // Async: awaits async include() providers (`() => import("./routes")`).
64
- * const manifest = await generateManifest(urlpatterns);
65
- * // Write to file for runtime use
66
- * fs.writeFileSync(
67
- * "src/generated/route-manifest.json",
68
- * JSON.stringify(manifest, null, 2)
69
- * );
70
- * ```
71
- */
72
- export declare function generateManifest<TEnv>(urlpatterns: UrlPatterns<TEnv, any>, mountIndex?: number): Promise<GeneratedManifest>;
73
- /**
74
- * Generate manifest with internal build-pipeline fields.
75
- *
76
- * Used by the Vite plugin (discover-routers via dynamic import through
77
- * @rangojs/router/build), manifest-init (direct import), and trie
78
- * building. Not intended for external use.
79
- */
80
- export declare function generateManifestFull<TEnv>(urlpatterns: UrlPatterns<TEnv, any>, mountIndex?: number, options?: {
81
- urlPrefix?: string;
82
- /**
83
- * Called once per `"use client"` component registered as an
84
- * errorBoundary/notFoundBoundary fallback, with its client-reference key
85
- * (`$$id`). Lets the build collect fallback module ids for dedicated
86
- * chunking without exposing the otherwise-discarded EntryData tree. The
87
- * EntryData map built below is local; this is the only seam that surfaces it.
88
- */
89
- collectClientFallbackRef?: (refKey: string) => void;
90
- }): Promise<FullManifest>;
91
- /**
92
- * Generate TypeScript code for the manifest
93
- *
94
- * @example
95
- * ```typescript
96
- * const code = await generateManifestCode(urlpatterns);
97
- * fs.writeFileSync("src/generated/route-manifest.ts", code);
98
- * ```
99
- */
100
- export declare function generateManifestCode<TEnv>(urlpatterns: UrlPatterns<TEnv, any>): Promise<string>;
@@ -1,8 +0,0 @@
1
- export { extractParamsFromPattern, formatRouteEntry, } from "./route-types/param-extraction.js";
2
- export { extractRoutesFromSource } from "./route-types/ast-route-extraction.js";
3
- export { generatePerModuleTypesSource, generateRouteTypesSource, } from "./route-types/codegen.js";
4
- export { DEFAULT_EXCLUDE_PATTERNS, type ScanFilter, createScanFilter, findTsFiles, } from "./route-types/scan-filter.js";
5
- export { writePerModuleRouteTypes, writePerModuleRouteTypesForFile, } from "./route-types/per-module-writer.js";
6
- export { type UnresolvableReason, type UnresolvableInclude, extractIncludesWithDiagnostics, } from "./route-types/include-resolution.js";
7
- export { extractUrlsFromRouter, extractBasenameFromRouter, type UrlsExtractionResult, buildCombinedRouteMapForRouterFile, detectUnresolvableIncludes, detectUnresolvableIncludesForUrlsFile, findNestedRouterConflict, formatNestedRouterConflictError, findRouterFiles, findHostRouterFiles, writeCombinedRouteTypes, genFileTsPath, resolveSearchSchemas, } from "./route-types/router-processing.js";
8
- export { findUrlsVariableNames } from "./route-types/per-module-writer.js";