@rangojs/router 0.4.0 → 0.4.1

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 (482) hide show
  1. package/README.md +19 -1
  2. package/dist/types/browser/event-controller.d.ts +4 -0
  3. package/dist/types/browser/link-interceptor.d.ts +17 -7
  4. package/dist/types/browser/navigation-bridge.d.ts +13 -1
  5. package/dist/types/browser/notify-listeners.d.ts +2 -0
  6. package/dist/types/browser/prefetch/cache.d.ts +1 -1
  7. package/dist/types/browser/prefetch/default-strategy.d.ts +12 -3
  8. package/dist/types/browser/prefetch/invalidation.d.ts +6 -0
  9. package/dist/types/browser/prefetch/loader.d.ts +3 -1
  10. package/dist/types/browser/prefetch/observer.d.ts +3 -6
  11. package/dist/types/browser/rango-state.d.ts +4 -0
  12. package/dist/types/browser/react/Link.d.ts +4 -9
  13. package/dist/types/browser/react/context.d.ts +3 -0
  14. package/dist/types/browser/rsc-router.d.ts +7 -2
  15. package/dist/types/browser/types.d.ts +1 -0
  16. package/dist/types/cache/cache-key-utils.d.ts +11 -3
  17. package/dist/types/cache/cache-scope.d.ts +82 -3
  18. package/dist/types/cache/cf/cf-cache-store.d.ts +2 -2
  19. package/dist/types/cache/index.d.ts +3 -1
  20. package/dist/types/cache/search-params-filter.d.ts +64 -0
  21. package/dist/types/cache/shell-snapshot.d.ts +4 -4
  22. package/dist/types/cache/types.d.ts +30 -2
  23. package/dist/types/cache/vercel/vercel-cache-store.d.ts +2 -2
  24. package/dist/types/index.d.ts +1 -0
  25. package/dist/types/index.rsc.d.ts +1 -0
  26. package/dist/types/router/match-middleware/cache-lookup.d.ts +13 -0
  27. package/dist/types/router/navigation-snapshot.d.ts +29 -0
  28. package/dist/types/router/router-options.d.ts +27 -3
  29. package/dist/types/rsc/shell-build-manifest.d.ts +7 -1
  30. package/dist/types/rsc/shell-serve.d.ts +7 -1
  31. package/dist/types/rsc/types.d.ts +17 -0
  32. package/dist/types/server/request-context.d.ts +57 -4
  33. package/dist/types/testing/render-route.d.ts +10 -1
  34. package/dist/types/testing/shell-status.d.ts +6 -3
  35. package/dist/types/vite/plugin-types.d.ts +1 -1
  36. package/dist/vite/index.js +5 -5
  37. package/package.json +23 -22
  38. package/skills/caching/SKILL.md +39 -0
  39. package/skills/comparison/references/framework-comparison.md +7 -1
  40. package/skills/links/SKILL.md +24 -0
  41. package/skills/ppr/SKILL.md +53 -4
  42. package/skills/router-setup/SKILL.md +7 -2
  43. package/skills/testing/client-components.md +15 -14
  44. package/skills/vercel/SKILL.md +1 -1
  45. package/src/browser/event-controller.ts +110 -11
  46. package/src/browser/link-interceptor.ts +469 -20
  47. package/src/browser/navigation-bridge.ts +71 -2
  48. package/src/browser/navigation-store.ts +24 -1
  49. package/src/browser/notify-listeners.ts +22 -0
  50. package/src/browser/prefetch/cache.ts +4 -2
  51. package/src/browser/prefetch/default-strategy.ts +43 -3
  52. package/src/browser/prefetch/invalidation.ts +30 -0
  53. package/src/browser/prefetch/loader.ts +19 -12
  54. package/src/browser/prefetch/observer.ts +50 -22
  55. package/src/browser/rango-state.ts +21 -0
  56. package/src/browser/react/Link.tsx +97 -88
  57. package/src/browser/react/NavigationProvider.tsx +1 -0
  58. package/src/browser/react/context.ts +4 -0
  59. package/src/browser/rsc-router.tsx +22 -9
  60. package/src/browser/types.ts +1 -0
  61. package/src/cache/cache-key-utils.ts +18 -4
  62. package/src/cache/cache-runtime.ts +7 -2
  63. package/src/cache/cache-scope.ts +152 -23
  64. package/src/cache/cf/cf-cache-store.ts +51 -16
  65. package/src/cache/document-cache.ts +7 -1
  66. package/src/cache/index.ts +7 -0
  67. package/src/cache/search-params-filter.ts +118 -0
  68. package/src/cache/shell-snapshot.ts +8 -4
  69. package/src/cache/types.ts +33 -2
  70. package/src/cache/vercel/vercel-cache-store.ts +17 -3
  71. package/src/index.rsc.ts +4 -0
  72. package/src/index.ts +6 -0
  73. package/src/router/match-middleware/cache-lookup.ts +146 -33
  74. package/src/router/match-middleware/cache-store.ts +70 -0
  75. package/src/router/navigation-snapshot.ts +46 -6
  76. package/src/router/router-options.ts +31 -4
  77. package/src/rsc/handler.ts +9 -0
  78. package/src/rsc/response-cache-serve.ts +1 -1
  79. package/src/rsc/rsc-rendering.ts +252 -27
  80. package/src/rsc/shell-build-manifest.ts +8 -1
  81. package/src/rsc/shell-capture.ts +5 -0
  82. package/src/rsc/shell-serve.ts +8 -2
  83. package/src/rsc/types.ts +17 -0
  84. package/src/server/request-context.ts +62 -3
  85. package/src/testing/dispatch.ts +21 -3
  86. package/src/testing/render-route.tsx +86 -17
  87. package/src/testing/shell-status.ts +20 -3
  88. package/src/vite/plugin-types.ts +1 -1
  89. package/src/vite/plugins/vercel-output.ts +2 -2
  90. package/dist/types.backup/__internal.d.ts +0 -127
  91. package/dist/types.backup/bin/rango.d.ts +0 -1
  92. package/dist/types.backup/browser/action-coordinator.d.ts +0 -57
  93. package/dist/types.backup/browser/action-fence.d.ts +0 -33
  94. package/dist/types.backup/browser/app-shell.d.ts +0 -34
  95. package/dist/types.backup/browser/app-version.d.ts +0 -6
  96. package/dist/types.backup/browser/connection-warmup.d.ts +0 -31
  97. package/dist/types.backup/browser/cookie-name.d.ts +0 -66
  98. package/dist/types.backup/browser/event-controller.d.ts +0 -221
  99. package/dist/types.backup/browser/history-state.d.ts +0 -26
  100. package/dist/types.backup/browser/index.d.ts +0 -1
  101. package/dist/types.backup/browser/intercept-utils.d.ts +0 -30
  102. package/dist/types.backup/browser/invalidate-client-cache.d.ts +0 -17
  103. package/dist/types.backup/browser/link-interceptor.d.ts +0 -43
  104. package/dist/types.backup/browser/logging.d.ts +0 -33
  105. package/dist/types.backup/browser/merge-segment-loaders.d.ts +0 -38
  106. package/dist/types.backup/browser/navigation-bridge.d.ts +0 -27
  107. package/dist/types.backup/browser/navigation-client.d.ts +0 -17
  108. package/dist/types.backup/browser/navigation-store-handle.d.ts +0 -25
  109. package/dist/types.backup/browser/navigation-store.d.ts +0 -95
  110. package/dist/types.backup/browser/navigation-transaction.d.ts +0 -75
  111. package/dist/types.backup/browser/network-error-handler.d.ts +0 -35
  112. package/dist/types.backup/browser/partial-update.d.ts +0 -61
  113. package/dist/types.backup/browser/prefetch/cache.d.ts +0 -183
  114. package/dist/types.backup/browser/prefetch/fetch.d.ts +0 -52
  115. package/dist/types.backup/browser/prefetch/observer.d.ts +0 -27
  116. package/dist/types.backup/browser/prefetch/policy.d.ts +0 -13
  117. package/dist/types.backup/browser/prefetch/queue.d.ts +0 -48
  118. package/dist/types.backup/browser/prefetch/resource-ready.d.ts +0 -28
  119. package/dist/types.backup/browser/rango-state.d.ts +0 -52
  120. package/dist/types.backup/browser/react/Link.d.ts +0 -140
  121. package/dist/types.backup/browser/react/NavigationProvider.d.ts +0 -88
  122. package/dist/types.backup/browser/react/ScrollRestoration.d.ts +0 -78
  123. package/dist/types.backup/browser/react/context.d.ts +0 -54
  124. package/dist/types.backup/browser/react/filter-segment-order.d.ts +0 -35
  125. package/dist/types.backup/browser/react/index.d.ts +0 -1
  126. package/dist/types.backup/browser/react/location-state-shared.d.ts +0 -162
  127. package/dist/types.backup/browser/react/location-state.d.ts +0 -29
  128. package/dist/types.backup/browser/react/mount-context.d.ts +0 -23
  129. package/dist/types.backup/browser/react/nonce-context.d.ts +0 -14
  130. package/dist/types.backup/browser/react/shallow-equal.d.ts +0 -5
  131. package/dist/types.backup/browser/react/use-action.d.ts +0 -61
  132. package/dist/types.backup/browser/react/use-handle.d.ts +0 -21
  133. package/dist/types.backup/browser/react/use-href.d.ts +0 -32
  134. package/dist/types.backup/browser/react/use-link-status.d.ts +0 -36
  135. package/dist/types.backup/browser/react/use-mount.d.ts +0 -24
  136. package/dist/types.backup/browser/react/use-navigation.d.ts +0 -15
  137. package/dist/types.backup/browser/react/use-params.d.ts +0 -21
  138. package/dist/types.backup/browser/react/use-pathname.d.ts +0 -13
  139. package/dist/types.backup/browser/react/use-reverse.d.ts +0 -40
  140. package/dist/types.backup/browser/react/use-router.d.ts +0 -23
  141. package/dist/types.backup/browser/react/use-search-params.d.ts +0 -19
  142. package/dist/types.backup/browser/react/use-segments.d.ts +0 -29
  143. package/dist/types.backup/browser/response-adapter.d.ts +0 -58
  144. package/dist/types.backup/browser/rsc-router.d.ts +0 -141
  145. package/dist/types.backup/browser/scroll-restoration.d.ts +0 -103
  146. package/dist/types.backup/browser/segment-reconciler.d.ts +0 -74
  147. package/dist/types.backup/browser/segment-structure-assert.d.ts +0 -16
  148. package/dist/types.backup/browser/server-action-bridge.d.ts +0 -29
  149. package/dist/types.backup/browser/types.d.ts +0 -530
  150. package/dist/types.backup/browser/validate-redirect-origin.d.ts +0 -28
  151. package/dist/types.backup/build/collect-fallback-refs.d.ts +0 -5
  152. package/dist/types.backup/build/generate-manifest.d.ts +0 -100
  153. package/dist/types.backup/build/generate-route-types.d.ts +0 -8
  154. package/dist/types.backup/build/index.d.ts +0 -21
  155. package/dist/types.backup/build/prefix-tree-utils.d.ts +0 -56
  156. package/dist/types.backup/build/route-trie.d.ts +0 -89
  157. package/dist/types.backup/build/route-types/ast-helpers.d.ts +0 -3
  158. package/dist/types.backup/build/route-types/ast-route-extraction.d.ts +0 -13
  159. package/dist/types.backup/build/route-types/codegen.d.ts +0 -16
  160. package/dist/types.backup/build/route-types/include-resolution.d.ts +0 -74
  161. package/dist/types.backup/build/route-types/param-extraction.d.ts +0 -13
  162. package/dist/types.backup/build/route-types/per-module-writer.d.ts +0 -18
  163. package/dist/types.backup/build/route-types/router-processing.d.ts +0 -82
  164. package/dist/types.backup/build/route-types/scan-filter.d.ts +0 -17
  165. package/dist/types.backup/build/route-types/source-scan.d.ts +0 -13
  166. package/dist/types.backup/build/runtime-discovery.d.ts +0 -24
  167. package/dist/types.backup/cache/background-task.d.ts +0 -21
  168. package/dist/types.backup/cache/cache-error.d.ts +0 -71
  169. package/dist/types.backup/cache/cache-key-utils.d.ts +0 -35
  170. package/dist/types.backup/cache/cache-policy.d.ts +0 -59
  171. package/dist/types.backup/cache/cache-runtime.d.ts +0 -51
  172. package/dist/types.backup/cache/cache-scope.d.ts +0 -134
  173. package/dist/types.backup/cache/cache-tag.d.ts +0 -79
  174. package/dist/types.backup/cache/cf/cf-base64.d.ts +0 -4
  175. package/dist/types.backup/cache/cf/cf-cache-constants.d.ts +0 -105
  176. package/dist/types.backup/cache/cf/cf-cache-store.d.ts +0 -481
  177. package/dist/types.backup/cache/cf/cf-cache-types.d.ts +0 -300
  178. package/dist/types.backup/cache/cf/cf-kv-utils.d.ts +0 -22
  179. package/dist/types.backup/cache/cf/cf-tag-marker-memo.d.ts +0 -15
  180. package/dist/types.backup/cache/cf/index.d.ts +0 -3
  181. package/dist/types.backup/cache/document-cache.d.ts +0 -69
  182. package/dist/types.backup/cache/handle-capture.d.ts +0 -23
  183. package/dist/types.backup/cache/handle-snapshot.d.ts +0 -39
  184. package/dist/types.backup/cache/index.d.ts +0 -7
  185. package/dist/types.backup/cache/memory-segment-store.d.ts +0 -163
  186. package/dist/types.backup/cache/profile-registry.d.ts +0 -40
  187. package/dist/types.backup/cache/read-through-swr.d.ts +0 -60
  188. package/dist/types.backup/cache/segment-codec.d.ts +0 -78
  189. package/dist/types.backup/cache/shell-snapshot.d.ts +0 -162
  190. package/dist/types.backup/cache/tag-invalidation.d.ts +0 -74
  191. package/dist/types.backup/cache/taint.d.ts +0 -71
  192. package/dist/types.backup/cache/types.d.ts +0 -407
  193. package/dist/types.backup/cache/vercel/index.d.ts +0 -1
  194. package/dist/types.backup/cache/vercel/vercel-cache-store.d.ts +0 -267
  195. package/dist/types.backup/client.d.ts +0 -184
  196. package/dist/types.backup/client.rsc.d.ts +0 -39
  197. package/dist/types.backup/cloudflare/index.d.ts +0 -7
  198. package/dist/types.backup/cloudflare/tracing.d.ts +0 -53
  199. package/dist/types.backup/component-utils.d.ts +0 -46
  200. package/dist/types.backup/components/DefaultDocument.d.ts +0 -13
  201. package/dist/types.backup/context-var.d.ts +0 -84
  202. package/dist/types.backup/debug.d.ts +0 -57
  203. package/dist/types.backup/decode-loader-results.d.ts +0 -5
  204. package/dist/types.backup/default-error-boundary.d.ts +0 -10
  205. package/dist/types.backup/defer.d.ts +0 -89
  206. package/dist/types.backup/deps/browser.d.ts +0 -1
  207. package/dist/types.backup/deps/html-stream-client.d.ts +0 -1
  208. package/dist/types.backup/deps/html-stream-server.d.ts +0 -1
  209. package/dist/types.backup/deps/rsc.d.ts +0 -1
  210. package/dist/types.backup/deps/ssr.d.ts +0 -1
  211. package/dist/types.backup/encode-kv.d.ts +0 -35
  212. package/dist/types.backup/errors.d.ts +0 -226
  213. package/dist/types.backup/escape-script.d.ts +0 -44
  214. package/dist/types.backup/handle.d.ts +0 -93
  215. package/dist/types.backup/handles/MetaTags.d.ts +0 -17
  216. package/dist/types.backup/handles/Scripts.d.ts +0 -38
  217. package/dist/types.backup/handles/breadcrumbs.d.ts +0 -43
  218. package/dist/types.backup/handles/deferred-resolution.d.ts +0 -53
  219. package/dist/types.backup/handles/is-thenable.d.ts +0 -12
  220. package/dist/types.backup/handles/meta.d.ts +0 -43
  221. package/dist/types.backup/handles/script.d.ts +0 -139
  222. package/dist/types.backup/host/cookie-handler.d.ts +0 -8
  223. package/dist/types.backup/host/errors.d.ts +0 -40
  224. package/dist/types.backup/host/index.d.ts +0 -33
  225. package/dist/types.backup/host/pattern-matcher.d.ts +0 -30
  226. package/dist/types.backup/host/router.d.ts +0 -12
  227. package/dist/types.backup/host/testing.d.ts +0 -41
  228. package/dist/types.backup/host/types.d.ts +0 -148
  229. package/dist/types.backup/host/utils.d.ts +0 -20
  230. package/dist/types.backup/href-client.d.ts +0 -214
  231. package/dist/types.backup/index.d.ts +0 -112
  232. package/dist/types.backup/index.rsc.d.ts +0 -51
  233. package/dist/types.backup/internal-debug.d.ts +0 -1
  234. package/dist/types.backup/loader-store.d.ts +0 -193
  235. package/dist/types.backup/loader.d.ts +0 -18
  236. package/dist/types.backup/loader.rsc.d.ts +0 -18
  237. package/dist/types.backup/missing-id-error.d.ts +0 -1
  238. package/dist/types.backup/outlet-context.d.ts +0 -12
  239. package/dist/types.backup/outlet-provider.d.ts +0 -12
  240. package/dist/types.backup/prerender/build-shell-capture.d.ts +0 -104
  241. package/dist/types.backup/prerender/param-hash.d.ts +0 -6
  242. package/dist/types.backup/prerender/shell-manifest-key.d.ts +0 -18
  243. package/dist/types.backup/prerender/store.d.ts +0 -62
  244. package/dist/types.backup/prerender.d.ts +0 -292
  245. package/dist/types.backup/redirect-origin.d.ts +0 -55
  246. package/dist/types.backup/regex-escape.d.ts +0 -6
  247. package/dist/types.backup/render-error-thrower.d.ts +0 -13
  248. package/dist/types.backup/response-utils.d.ts +0 -35
  249. package/dist/types.backup/reverse.d.ts +0 -206
  250. package/dist/types.backup/root-error-boundary.d.ts +0 -32
  251. package/dist/types.backup/route-content-wrapper.d.ts +0 -40
  252. package/dist/types.backup/route-definition/dsl-helpers.d.ts +0 -130
  253. package/dist/types.backup/route-definition/helper-factories.d.ts +0 -22
  254. package/dist/types.backup/route-definition/helpers-types.d.ts +0 -392
  255. package/dist/types.backup/route-definition/index.d.ts +0 -7
  256. package/dist/types.backup/route-definition/redirect.d.ts +0 -48
  257. package/dist/types.backup/route-definition/resolve-handler-use.d.ts +0 -19
  258. package/dist/types.backup/route-definition/use-item-types.d.ts +0 -1
  259. package/dist/types.backup/route-definition.d.ts +0 -1
  260. package/dist/types.backup/route-map-builder.d.ts +0 -127
  261. package/dist/types.backup/route-name.d.ts +0 -27
  262. package/dist/types.backup/route-types.d.ts +0 -172
  263. package/dist/types.backup/router/basename.d.ts +0 -10
  264. package/dist/types.backup/router/content-negotiation.d.ts +0 -91
  265. package/dist/types.backup/router/debug-manifest.d.ts +0 -7
  266. package/dist/types.backup/router/error-handling.d.ts +0 -76
  267. package/dist/types.backup/router/find-match.d.ts +0 -19
  268. package/dist/types.backup/router/handler-context.d.ts +0 -41
  269. package/dist/types.backup/router/instrument.d.ts +0 -161
  270. package/dist/types.backup/router/intercept-resolution.d.ts +0 -79
  271. package/dist/types.backup/router/lazy-includes.d.ts +0 -26
  272. package/dist/types.backup/router/loader-resolution.d.ts +0 -63
  273. package/dist/types.backup/router/logging.d.ts +0 -41
  274. package/dist/types.backup/router/manifest.d.ts +0 -8
  275. package/dist/types.backup/router/match-api.d.ts +0 -19
  276. package/dist/types.backup/router/match-context.d.ts +0 -184
  277. package/dist/types.backup/router/match-handlers.d.ts +0 -49
  278. package/dist/types.backup/router/match-middleware/background-revalidation.d.ts +0 -113
  279. package/dist/types.backup/router/match-middleware/cache-lookup.d.ts +0 -113
  280. package/dist/types.backup/router/match-middleware/cache-store.d.ts +0 -112
  281. package/dist/types.backup/router/match-middleware/index.d.ts +0 -80
  282. package/dist/types.backup/router/match-middleware/intercept-resolution.d.ts +0 -116
  283. package/dist/types.backup/router/match-middleware/segment-resolution.d.ts +0 -94
  284. package/dist/types.backup/router/match-pipelines.d.ts +0 -103
  285. package/dist/types.backup/router/match-result.d.ts +0 -114
  286. package/dist/types.backup/router/metrics.d.ts +0 -6
  287. package/dist/types.backup/router/middleware-types.d.ts +0 -74
  288. package/dist/types.backup/router/middleware.d.ts +0 -116
  289. package/dist/types.backup/router/navigation-snapshot.d.ts +0 -22
  290. package/dist/types.backup/router/params-util.d.ts +0 -8
  291. package/dist/types.backup/router/parse-pattern.d.ts +0 -38
  292. package/dist/types.backup/router/pattern-matching.d.ts +0 -169
  293. package/dist/types.backup/router/prefetch-cache-ttl.d.ts +0 -27
  294. package/dist/types.backup/router/prefetch-limits.d.ts +0 -20
  295. package/dist/types.backup/router/prerender-match.d.ts +0 -50
  296. package/dist/types.backup/router/preview-match.d.ts +0 -22
  297. package/dist/types.backup/router/request-classification.d.ts +0 -104
  298. package/dist/types.backup/router/revalidation.d.ts +0 -57
  299. package/dist/types.backup/router/route-snapshot.d.ts +0 -112
  300. package/dist/types.backup/router/router-context.d.ts +0 -137
  301. package/dist/types.backup/router/router-interfaces.d.ts +0 -432
  302. package/dist/types.backup/router/router-options.d.ts +0 -738
  303. package/dist/types.backup/router/router-registry.d.ts +0 -15
  304. package/dist/types.backup/router/segment-resolution/fresh.d.ts +0 -55
  305. package/dist/types.backup/router/segment-resolution/helpers.d.ts +0 -93
  306. package/dist/types.backup/router/segment-resolution/loader-cache.d.ts +0 -33
  307. package/dist/types.backup/router/segment-resolution/loader-mask.d.ts +0 -44
  308. package/dist/types.backup/router/segment-resolution/loader-snapshot.d.ts +0 -90
  309. package/dist/types.backup/router/segment-resolution/mask-nested.d.ts +0 -53
  310. package/dist/types.backup/router/segment-resolution/revalidation.d.ts +0 -85
  311. package/dist/types.backup/router/segment-resolution/static-store.d.ts +0 -17
  312. package/dist/types.backup/router/segment-resolution/streamed-handler-telemetry.d.ts +0 -16
  313. package/dist/types.backup/router/segment-resolution/view-transition-default.d.ts +0 -28
  314. package/dist/types.backup/router/segment-resolution.d.ts +0 -3
  315. package/dist/types.backup/router/segment-wrappers.d.ts +0 -53
  316. package/dist/types.backup/router/state-cookie-name.d.ts +0 -1
  317. package/dist/types.backup/router/substitute-pattern-params.d.ts +0 -23
  318. package/dist/types.backup/router/telemetry-otel.d.ts +0 -113
  319. package/dist/types.backup/router/telemetry.d.ts +0 -215
  320. package/dist/types.backup/router/timeout.d.ts +0 -68
  321. package/dist/types.backup/router/tracing.d.ts +0 -125
  322. package/dist/types.backup/router/trie-matching.d.ts +0 -32
  323. package/dist/types.backup/router/types.d.ts +0 -98
  324. package/dist/types.backup/router/url-params.d.ts +0 -26
  325. package/dist/types.backup/router.d.ts +0 -7
  326. package/dist/types.backup/rsc/capture-queue.d.ts +0 -6
  327. package/dist/types.backup/rsc/full-payload.d.ts +0 -22
  328. package/dist/types.backup/rsc/handler-context.d.ts +0 -31
  329. package/dist/types.backup/rsc/handler.d.ts +0 -9
  330. package/dist/types.backup/rsc/helpers.d.ts +0 -213
  331. package/dist/types.backup/rsc/index.d.ts +0 -17
  332. package/dist/types.backup/rsc/json-route-result.d.ts +0 -20
  333. package/dist/types.backup/rsc/loader-fetch.d.ts +0 -14
  334. package/dist/types.backup/rsc/manifest-init.d.ts +0 -18
  335. package/dist/types.backup/rsc/nonce.d.ts +0 -28
  336. package/dist/types.backup/rsc/origin-guard.d.ts +0 -50
  337. package/dist/types.backup/rsc/progressive-enhancement.d.ts +0 -19
  338. package/dist/types.backup/rsc/redirect-guard.d.ts +0 -35
  339. package/dist/types.backup/rsc/response-cache-serve.d.ts +0 -46
  340. package/dist/types.backup/rsc/response-error.d.ts +0 -19
  341. package/dist/types.backup/rsc/response-route-handler.d.ts +0 -29
  342. package/dist/types.backup/rsc/rsc-rendering.d.ts +0 -23
  343. package/dist/types.backup/rsc/runtime-warnings.d.ts +0 -22
  344. package/dist/types.backup/rsc/server-action.d.ts +0 -68
  345. package/dist/types.backup/rsc/shell-build-manifest.d.ts +0 -84
  346. package/dist/types.backup/rsc/shell-capture-constants.d.ts +0 -27
  347. package/dist/types.backup/rsc/shell-capture.d.ts +0 -374
  348. package/dist/types.backup/rsc/shell-serve.d.ts +0 -136
  349. package/dist/types.backup/rsc/ssr-setup.d.ts +0 -48
  350. package/dist/types.backup/rsc/transition-gate.d.ts +0 -27
  351. package/dist/types.backup/rsc/types.d.ts +0 -290
  352. package/dist/types.backup/runtime-env.d.ts +0 -1
  353. package/dist/types.backup/search-params.d.ts +0 -125
  354. package/dist/types.backup/segment-content-promise.d.ts +0 -13
  355. package/dist/types.backup/segment-fragments.d.ts +0 -56
  356. package/dist/types.backup/segment-loader-promise.d.ts +0 -22
  357. package/dist/types.backup/segment-system.d.ts +0 -84
  358. package/dist/types.backup/serialize.d.ts +0 -164
  359. package/dist/types.backup/server/context.d.ts +0 -494
  360. package/dist/types.backup/server/cookie-parse.d.ts +0 -10
  361. package/dist/types.backup/server/cookie-store.d.ts +0 -107
  362. package/dist/types.backup/server/fetchable-loader-store.d.ts +0 -20
  363. package/dist/types.backup/server/handle-store.d.ts +0 -100
  364. package/dist/types.backup/server/loader-registry.d.ts +0 -32
  365. package/dist/types.backup/server/request-context.d.ts +0 -596
  366. package/dist/types.backup/server/root-layout.d.ts +0 -3
  367. package/dist/types.backup/server.d.ts +0 -15
  368. package/dist/types.backup/ssr/index.d.ts +0 -233
  369. package/dist/types.backup/ssr/inject-rsc-eager.d.ts +0 -3
  370. package/dist/types.backup/ssr/preinit-client-references.d.ts +0 -71
  371. package/dist/types.backup/ssr/ssr-root.d.ts +0 -69
  372. package/dist/types.backup/static-handler.d.ts +0 -57
  373. package/dist/types.backup/testing/cache-status.d.ts +0 -63
  374. package/dist/types.backup/testing/collect-handle.d.ts +0 -20
  375. package/dist/types.backup/testing/dispatch.d.ts +0 -123
  376. package/dist/types.backup/testing/dom.entry.d.ts +0 -15
  377. package/dist/types.backup/testing/e2e/fixture.d.ts +0 -37
  378. package/dist/types.backup/testing/e2e/index.d.ts +0 -30
  379. package/dist/types.backup/testing/e2e/matchers.d.ts +0 -17
  380. package/dist/types.backup/testing/e2e/page-helpers.d.ts +0 -62
  381. package/dist/types.backup/testing/e2e/parity.d.ts +0 -111
  382. package/dist/types.backup/testing/e2e/server.d.ts +0 -35
  383. package/dist/types.backup/testing/flight-matchers.d.ts +0 -55
  384. package/dist/types.backup/testing/flight-normalize.d.ts +0 -1
  385. package/dist/types.backup/testing/flight-tree.d.ts +0 -192
  386. package/dist/types.backup/testing/flight.d.ts +0 -115
  387. package/dist/types.backup/testing/flight.entry.d.ts +0 -27
  388. package/dist/types.backup/testing/generated-routes.d.ts +0 -66
  389. package/dist/types.backup/testing/index.d.ts +0 -52
  390. package/dist/types.backup/testing/internal/context.d.ts +0 -225
  391. package/dist/types.backup/testing/internal/flight-client-globals.d.ts +0 -1
  392. package/dist/types.backup/testing/internal/seed-vars.d.ts +0 -30
  393. package/dist/types.backup/testing/render-handler.d.ts +0 -160
  394. package/dist/types.backup/testing/render-route.d.ts +0 -246
  395. package/dist/types.backup/testing/run-loader.d.ts +0 -186
  396. package/dist/types.backup/testing/run-middleware.d.ts +0 -132
  397. package/dist/types.backup/testing/run-transition-when.d.ts +0 -77
  398. package/dist/types.backup/testing/vitest-stubs/cloudflare-email.d.ts +0 -6
  399. package/dist/types.backup/testing/vitest-stubs/cloudflare-workers.d.ts +0 -13
  400. package/dist/types.backup/testing/vitest-stubs/plugin-rsc.d.ts +0 -7
  401. package/dist/types.backup/testing/vitest-stubs/version.d.ts +0 -1
  402. package/dist/types.backup/testing/vitest.d.ts +0 -205
  403. package/dist/types.backup/theme/ThemeProvider.d.ts +0 -13
  404. package/dist/types.backup/theme/ThemeScript.d.ts +0 -45
  405. package/dist/types.backup/theme/constants.d.ts +0 -39
  406. package/dist/types.backup/theme/index.d.ts +0 -29
  407. package/dist/types.backup/theme/theme-context.d.ts +0 -21
  408. package/dist/types.backup/theme/theme-script.d.ts +0 -26
  409. package/dist/types.backup/theme/types.d.ts +0 -162
  410. package/dist/types.backup/theme/use-theme.d.ts +0 -8
  411. package/dist/types.backup/types/boundaries.d.ts +0 -93
  412. package/dist/types.backup/types/cache-types.d.ts +0 -191
  413. package/dist/types.backup/types/error-types.d.ts +0 -114
  414. package/dist/types.backup/types/global-namespace.d.ts +0 -90
  415. package/dist/types.backup/types/handler-context.d.ts +0 -658
  416. package/dist/types.backup/types/index.d.ts +0 -11
  417. package/dist/types.backup/types/loader-types.d.ts +0 -182
  418. package/dist/types.backup/types/request-scope.d.ts +0 -93
  419. package/dist/types.backup/types/route-config.d.ts +0 -105
  420. package/dist/types.backup/types/route-entry.d.ts +0 -95
  421. package/dist/types.backup/types/segments.d.ts +0 -234
  422. package/dist/types.backup/types.d.ts +0 -1
  423. package/dist/types.backup/urls/include-helper.d.ts +0 -17
  424. package/dist/types.backup/urls/include-provider.d.ts +0 -27
  425. package/dist/types.backup/urls/index.d.ts +0 -6
  426. package/dist/types.backup/urls/path-helper-types.d.ts +0 -197
  427. package/dist/types.backup/urls/path-helper.d.ts +0 -12
  428. package/dist/types.backup/urls/pattern-types.d.ts +0 -166
  429. package/dist/types.backup/urls/response-types.d.ts +0 -67
  430. package/dist/types.backup/urls/type-extraction.d.ts +0 -157
  431. package/dist/types.backup/urls/urls-function.d.ts +0 -24
  432. package/dist/types.backup/urls.d.ts +0 -1
  433. package/dist/types.backup/use-loader.d.ts +0 -150
  434. package/dist/types.backup/vercel/index.d.ts +0 -10
  435. package/dist/types.backup/vercel/tracing.d.ts +0 -70
  436. package/dist/types.backup/vite/debug.d.ts +0 -80
  437. package/dist/types.backup/vite/discovery/bundle-postprocess.d.ts +0 -12
  438. package/dist/types.backup/vite/discovery/dev-prerender-cache.d.ts +0 -65
  439. package/dist/types.backup/vite/discovery/discover-routers.d.ts +0 -17
  440. package/dist/types.backup/vite/discovery/discovery-errors.d.ts +0 -113
  441. package/dist/types.backup/vite/discovery/gate-state.d.ts +0 -79
  442. package/dist/types.backup/vite/discovery/prerender-collection.d.ts +0 -24
  443. package/dist/types.backup/vite/discovery/route-types-writer.d.ts +0 -32
  444. package/dist/types.backup/vite/discovery/self-gen-tracking.d.ts +0 -22
  445. package/dist/types.backup/vite/discovery/shell-prerender-phase.d.ts +0 -40
  446. package/dist/types.backup/vite/discovery/state.d.ts +0 -162
  447. package/dist/types.backup/vite/discovery/virtual-module-codegen.d.ts +0 -15
  448. package/dist/types.backup/vite/index.d.ts +0 -11
  449. package/dist/types.backup/vite/inject-client-debug.d.ts +0 -56
  450. package/dist/types.backup/vite/plugin-types.d.ts +0 -298
  451. package/dist/types.backup/vite/plugins/cjs-to-esm.d.ts +0 -6
  452. package/dist/types.backup/vite/plugins/client-ref-dedup.d.ts +0 -40
  453. package/dist/types.backup/vite/plugins/client-ref-hashing.d.ts +0 -35
  454. package/dist/types.backup/vite/plugins/cloudflare-protocol-stub.d.ts +0 -64
  455. package/dist/types.backup/vite/plugins/expose-action-id.d.ts +0 -18
  456. package/dist/types.backup/vite/plugins/expose-id-utils.d.ts +0 -37
  457. package/dist/types.backup/vite/plugins/expose-ids/export-analysis.d.ts +0 -19
  458. package/dist/types.backup/vite/plugins/expose-ids/handler-transform.d.ts +0 -10
  459. package/dist/types.backup/vite/plugins/expose-ids/loader-transform.d.ts +0 -8
  460. package/dist/types.backup/vite/plugins/expose-ids/router-transform.d.ts +0 -13
  461. package/dist/types.backup/vite/plugins/expose-ids/types.d.ts +0 -29
  462. package/dist/types.backup/vite/plugins/expose-internal-ids.d.ts +0 -6
  463. package/dist/types.backup/vite/plugins/performance-tracks.d.ts +0 -25
  464. package/dist/types.backup/vite/plugins/refresh-cmd.d.ts +0 -20
  465. package/dist/types.backup/vite/plugins/use-cache-transform.d.ts +0 -20
  466. package/dist/types.backup/vite/plugins/vercel-output.d.ts +0 -85
  467. package/dist/types.backup/vite/plugins/version-injector.d.ts +0 -21
  468. package/dist/types.backup/vite/plugins/version-plugin.d.ts +0 -19
  469. package/dist/types.backup/vite/plugins/virtual-entries.d.ts +0 -36
  470. package/dist/types.backup/vite/plugins/virtual-stub-plugin.d.ts +0 -7
  471. package/dist/types.backup/vite/rango.d.ts +0 -29
  472. package/dist/types.backup/vite/router-discovery.d.ts +0 -23
  473. package/dist/types.backup/vite/utils/ast-handler-extract.d.ts +0 -64
  474. package/dist/types.backup/vite/utils/banner.d.ts +0 -2
  475. package/dist/types.backup/vite/utils/bundle-analysis.d.ts +0 -28
  476. package/dist/types.backup/vite/utils/client-chunks.d.ts +0 -55
  477. package/dist/types.backup/vite/utils/directive-prologue.d.ts +0 -16
  478. package/dist/types.backup/vite/utils/forward-user-plugins.d.ts +0 -37
  479. package/dist/types.backup/vite/utils/manifest-utils.d.ts +0 -7
  480. package/dist/types.backup/vite/utils/package-resolution.d.ts +0 -6
  481. package/dist/types.backup/vite/utils/prerender-utils.d.ts +0 -32
  482. 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";