@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,234 +0,0 @@
1
- import type { ReactNode } from "react";
2
- import type { ErrorInfo, NotFoundInfo } from "./boundaries.js";
3
- import type { RevalidateParams, HandlerContext } from "./handler-context.js";
4
- /**
5
- * CSS class(es) for a ViewTransition phase.
6
- * Can be a simple string or an object mapping transition types to class names
7
- * for direction-aware transitions (e.g., { "navigation": "slide-right", "navigation-back": "slide-left" }).
8
- */
9
- export type ViewTransitionClass = Record<string, string> | string;
10
- /**
11
- * The context a transition({ when }) predicate receives.
12
- *
13
- * It mirrors the {@link ShouldRevalidateFn} args a `revalidate()` predicate
14
- * gets — the same navigation/action metadata — so the two read the same shape,
15
- * plus `get`/`env` for post-handler reads. There is no full `HandlerContext`
16
- * here: the gate runs at the RSC-payload layer with the request context, not a
17
- * handler context, so handler-only sugar (`search`/`build`/`dev`/`headers`) is
18
- * absent by design. `get` is the way to read what the handler/middleware set
19
- * via `ctx.set(...)` this request.
20
- *
21
- * Field availability (all source fields are optional — never fabricated):
22
- * - `currentUrl` / `currentParams` / `fromRouteName` (the navigation SOURCE) are
23
- * populated on soft navigations and action-success revalidations. They are
24
- * undefined on an initial full document load and on action-error / no-JS error
25
- * paths that skip the navigation snapshot — there is no prior page to name.
26
- * - `nextUrl` / `nextParams` / `get` / `env` / `method` are always present;
27
- * `toRouteName` is present only when the target route is named (undefined for
28
- * unnamed/auto-generated routes, like `fromRouteName`).
29
- * - `actionId` / `actionUrl` / `actionResult` / `formData` are populated only
30
- * when a server action triggered the render; `method` is "POST" then, "GET"
31
- * otherwise. On no-JS (progressive-enhancement) action paths `actionId` may be
32
- * undefined when React cannot surface the action's stable id: the success
33
- * re-render still sets `actionUrl`/`formData` for a recognized action, but the
34
- * error-boundary re-render exposes `actionUrl` only when `actionId` resolved.
35
- * Malformed form bodies that fail before action detection expose no action
36
- * fields. Treat `actionId` as "the action, if known", not as "was this an
37
- * action".
38
- *
39
- * PREFETCH / CACHE CAVEAT (read this before gating on the source): the gate runs
40
- * server-side during resolution. A PREFETCHED navigation renders at prefetch
41
- * time, so `currentUrl`/`currentParams`/`fromRouteName` reflect the page the
42
- * prefetch fired from, NOT necessarily the page the user actually navigates from
43
- * — the decision is baked into the stored Flight payload and replayed verbatim.
44
- * A `cache()`/prerender hit replays the stored transition with the predicate NOT
45
- * re-run at all. So a source-sensitive predicate can be frozen to prefetch-time
46
- * or store-time state. This is accepted (~99% of navigations match), but if your
47
- * gate must reflect the exact click-time source, source-scope the prefetch
48
- * (`<Link prefetchKey=":source">`) and do not `cache()` that segment.
49
- */
50
- export type TransitionWhenContext<TParams = Record<string, string>, TEnv = unknown> = Partial<Pick<RevalidateParams<TParams, TEnv>, "currentUrl" | "currentParams" | "fromRouteName">> & Pick<RevalidateParams<TParams, TEnv>, "nextUrl" | "nextParams" | "toRouteName" | "actionId" | "actionUrl" | "actionResult" | "formData" | "method"> & Pick<HandlerContext<any, TEnv>, "get" | "env">;
51
- /**
52
- * Predicate that gates whether a transition() applies for the current request.
53
- *
54
- * Evaluated server-side AFTER the route's handler runs (so `get(...)` can read
55
- * handler/middleware-set state) and outside any cache scope. Return false to
56
- * drop this segment's transition for the request; return true to apply it. The
57
- * context ({@link TransitionWhenContext}) carries the same navigation/action
58
- * metadata a `revalidate()` predicate sees plus `get`/`env`. If it throws, the
59
- * error is reported to the router's onError (phase "rendering") and the
60
- * transition is dropped (the navigation does not hold).
61
- *
62
- * Distinct from intercept()'s `when` config selector, which runs at MATCH time
63
- * over `{ from, to, params, segments, … }`; a transition `when` runs
64
- * post-handler over the resolved payload.
65
- *
66
- * Scope: dropping a transition removes only THIS segment's contribution to the
67
- * navigation's hold. The startTransition hold is navigation-wide — it engages if
68
- * any matched segment still has a transition — so `when: false` makes the
69
- * navigation stream its loading fallback only when no other matched segment
70
- * keeps a transition (the common case: a single transition on the route).
71
- *
72
- * Evaluated on every fresh (cache-miss) resolution; it is NOT re-run when a
73
- * segment is replayed from the runtime cache or a build-time prerender, and a
74
- * prefetched navigation freezes it to prefetch-time state — see the caveat on
75
- * {@link TransitionWhenContext}.
76
- */
77
- export type TransitionWhenFn = (ctx: TransitionWhenContext) => boolean;
78
- /**
79
- * Configuration for React's <ViewTransition> component.
80
- *
81
- * The phase fields (enter/exit/update/share/default/name) map directly to
82
- * ViewTransitionProps (minus children/ref/callbacks). The `viewTransition`
83
- * field is router-specific and is stripped before the config reaches React.
84
- */
85
- export interface TransitionConfig {
86
- enter?: ViewTransitionClass;
87
- exit?: ViewTransitionClass;
88
- update?: ViewTransitionClass;
89
- share?: ViewTransitionClass;
90
- default?: ViewTransitionClass;
91
- name?: string;
92
- /**
93
- * Whether the router wraps this segment's content in its own
94
- * <ViewTransition> boundary.
95
- *
96
- * - "auto" (default): the router places the boundary, producing the
97
- * router-owned cross-fade described by the phase fields above.
98
- * - false: the router places no boundary. The navigation commit is still
99
- * driven through startTransition (so loaders hold instead of flashing a
100
- * skeleton, and consumer-placed <ViewTransition> elements still animate),
101
- * but the router contributes no cross-fade of its own.
102
- *
103
- * When unset, inherits the createRouter({ viewTransition }) default.
104
- */
105
- viewTransition?: "auto" | false;
106
- /**
107
- * Optional server-side predicate that gates this transition per request. When
108
- * present and it returns false (evaluated post-handler), the router drops this
109
- * segment's transition for the request, so the navigation streams its loading
110
- * fallback instead of holding. The predicate is server-only and never
111
- * serialized to the client; only its resolved effect (transition kept or
112
- * dropped) crosses. See {@link TransitionWhenFn}.
113
- */
114
- when?: TransitionWhenFn;
115
- }
116
- /**
117
- * Resolved segment with component
118
- *
119
- * @internal This type is an implementation detail and may change without notice.
120
- */
121
- export interface ResolvedSegment {
122
- id: string;
123
- namespace: string;
124
- type: "layout" | "route" | "parallel" | "loader" | "error" | "notFound";
125
- index: number;
126
- component: ReactNode;
127
- loading?: ReactNode;
128
- transition?: TransitionConfig;
129
- layout?: ReactNode;
130
- params?: Record<string, string>;
131
- slot?: string;
132
- belongsToRoute?: boolean;
133
- layoutName?: string;
134
- parallelName?: string;
135
- loaderId?: string;
136
- _inherited?: boolean;
137
- loaderData?: any;
138
- parallelLoading?: ReactNode;
139
- loaderDataPromise?: Promise<any[]> | any[];
140
- loaderIds?: string[];
141
- error?: ErrorInfo;
142
- notFoundInfo?: NotFoundInfo;
143
- mountPath?: string;
144
- /**
145
- * @internal Server-side marker: true when the segment's handler actually ran
146
- * this request (not skipped via the revalidate cache path). Used by
147
- * match-result.ts to populate `MatchResult.resolvedIds` for client-side
148
- * handle-bucket cleanup. Stripped from the wire payload before serialization
149
- * — never reaches the client.
150
- */
151
- _handlerRan?: boolean;
152
- }
153
- export interface SegmentMetadata {
154
- id: string;
155
- type: "layout" | "route" | "parallel" | "loader" | "error" | "notFound";
156
- index: number;
157
- params?: Record<string, string>;
158
- slot?: string;
159
- loaderId?: string;
160
- error?: ErrorInfo;
161
- notFoundInfo?: NotFoundInfo;
162
- }
163
- /**
164
- * State of a named slot (e.g., @modal, @sidebar)
165
- * Used for intercepting routes where slots render alternative content
166
- *
167
- * @internal This type is an implementation detail and may change without notice.
168
- */
169
- export interface SlotState {
170
- /**
171
- * Whether the slot is currently active (has content to render)
172
- */
173
- active: boolean;
174
- /**
175
- * Segments for this slot when active
176
- */
177
- segments?: ResolvedSegment[];
178
- }
179
- /**
180
- * Props passed to the root layout component
181
- */
182
- export interface RootLayoutProps {
183
- children: ReactNode;
184
- }
185
- /**
186
- * Router match result
187
- *
188
- * @internal This type is an implementation detail and may change without notice.
189
- */
190
- export interface MatchResult {
191
- segments: ResolvedSegment[];
192
- matched: string[];
193
- diff: string[];
194
- /**
195
- * Every segment id whose handler actually ran on the server this request,
196
- * including ones with `component === null` that get filtered out of
197
- * `segments`/`diff` to avoid wasted bytes. Drives the client's handle-
198
- * cleanup pass — a slot that re-resolves and pushes nothing must clear
199
- * its previous handle bucket, but `diff` doesn't carry it because the
200
- * segment payload doesn't either. A superset of `diff`.
201
- */
202
- resolvedIds: string[];
203
- /**
204
- * Merged route params from all matched segments
205
- * Available for use by the handler after route matching
206
- */
207
- params: Record<string, string>;
208
- /**
209
- * The matched route name (includes name prefix from include()).
210
- * Used by ctx.reverse() for local name resolution.
211
- */
212
- routeName?: string;
213
- /**
214
- * State of named slots for this route match
215
- * Key is slot name (e.g., "@modal"), value is slot state
216
- * Slots are used for intercepting routes during soft navigation
217
- */
218
- slots?: Record<string, SlotState>;
219
- /**
220
- * Redirect URL for trailing slash normalization.
221
- * When set, the RSC handler should return a 308 redirect to this URL
222
- * instead of rendering the page.
223
- */
224
- redirect?: string;
225
- /**
226
- * Route-level middleware collected from the matched entry tree.
227
- * These run with the same onion-style execution as app-level middleware,
228
- * wrapping the entire RSC response creation.
229
- */
230
- routeMiddleware?: Array<{
231
- handler: import("../router/middleware.js").MiddlewareFn;
232
- params: Record<string, string>;
233
- }>;
234
- }
@@ -1 +0,0 @@
1
- export * from "./types/index.js";
@@ -1,17 +0,0 @@
1
- import type { AllUseItems } from "../route-types.js";
2
- import type { IncludeFn } from "./path-helper-types.js";
3
- /**
4
- * Recursively walk items, recursing into layout children.
5
- *
6
- * All includes are lazy and kept as-is; the router expands them on the first
7
- * matching request.
8
- */
9
- export declare function processItems(items: readonly AllUseItems[]): AllUseItems[];
10
- /**
11
- * Create include() helper for composing URL patterns
12
- *
13
- * All includes are lazy: the nested patterns are NOT expanded at definition
14
- * time. Instead they are evaluated on the first request that matches the
15
- * prefix, which improves cold start time for apps with many routes.
16
- */
17
- export declare function createIncludeHelper<TEnv>(): IncludeFn<TEnv>;
@@ -1,27 +0,0 @@
1
- import type { UrlPatterns } from "./pattern-types.js";
2
- /**
3
- * What an async `include()` provider may resolve to: a `urls()` value directly,
4
- * or a module namespace whose `default` export is a `urls()` value (the shape
5
- * produced by `() => import("./routes")` when the route module does
6
- * `export default urls(...)`).
7
- */
8
- export type IncludeModule<TEnv = any> = UrlPatterns<TEnv> | {
9
- default: UrlPatterns<TEnv>;
10
- };
11
- /**
12
- * An async/lazy include provider: a thunk returning a `urls()` value (or a
13
- * Promise of one). The thunk is stored unevaluated by `include()` and called
14
- * once, on the first request that matches the prefix — so the route module and
15
- * its (code-split) subtree are not evaluated at startup.
16
- *
17
- * Forward-compatible: `() => import("./routes")` today (async, separate chunk);
18
- * `() => m.routes` with native `import defer` later (sync, deferred eval).
19
- */
20
- export type IncludeProvider<TEnv = any> = () => IncludeModule<TEnv> | Promise<IncludeModule<TEnv>>;
21
- /** True when the include() argument is a provider thunk rather than a value. */
22
- export declare function isIncludeProvider(value: unknown): value is IncludeProvider;
23
- /**
24
- * Normalize an async provider's resolved value to a `UrlPatterns`. Accepts a
25
- * `urls()` value directly or a module whose `default` export is one.
26
- */
27
- export declare function resolveIncludeModule<TEnv = any>(mod: IncludeModule<TEnv>, id?: string): UrlPatterns<TEnv>;
@@ -1,6 +0,0 @@
1
- export { RESPONSE_TYPE, type ResponseHandler, type JsonValue, type JsonResponseHandler, type TextResponseHandler, type ResponseHandlerContext, } from "./response-types.js";
2
- export type { UnnamedRoute, LocalOnlyInclude, PathOptions, PartialPrerenderProps, UrlPatterns, IncludeOptions, } from "./pattern-types.js";
3
- export type { ExtractRoutes, ExtractResponses, ProblemDetails, RouteResponse, } from "./type-extraction.js";
4
- export type { PathFn, ResponsePathFn, JsonResponsePathFn, TextResponsePathFn, IncludeFn, PathHelpers, } from "./path-helper-types.js";
5
- export { urls } from "./urls-function.js";
6
- export type { AllUseItems, IncludeItem, TypedRouteItem, TypedIncludeItem, TypedLayoutItem, TypedCacheItem, } from "../route-types.js";
@@ -1,197 +0,0 @@
1
- import type { ReactNode } from "react";
2
- import type { ErrorBoundaryHandler, ExtractParams, Handler, HandlerContext, LoaderDefinition, MiddlewareFn, NotFoundBoundaryHandler, PartialCacheOptions, ShouldRevalidateFn, TransitionConfig } from "../types.js";
3
- import type { AllUseItems, TypedLayoutItem, ParallelItem, InterceptItem, MiddlewareItem, RevalidateItem, LoaderItem, LoadingItem, ErrorBoundaryItem, NotFoundBoundaryItem, LayoutUseItem, RouteUseItem, ResponseRouteUseItem, ParallelUseItem, InterceptUseItem, LoaderUseItem, TypedCacheItem, TransitionItem, TypedTransitionItem, TypedRouteItem, TypedIncludeItem, UseItems } from "../route-types.js";
4
- import type { SearchSchema } from "../search-params.js";
5
- import type { PrerenderHandlerDefinition, PassthroughHandlerDefinition } from "../prerender.js";
6
- import type { StaticHandlerDefinition } from "../static-handler.js";
7
- import type { ResponseHandler, ResponseHandlerContext, TextResponseHandler } from "./response-types.js";
8
- import type { UnnamedRoute, LocalOnlyInclude, PathOptions, UrlPatterns, IncludeOptions } from "./pattern-types.js";
9
- import type { ExtractRoutes, ExtractResponses } from "./type-extraction.js";
10
- /**
11
- * Base path function signature for defining routes with URL patterns.
12
- */
13
- export type PathFn<TEnv> = <const TPattern extends string, const TName extends string = UnnamedRoute, const TSearch extends SearchSchema = {}, TParams extends Record<string, any> = ExtractParams<TPattern>>(pattern: TPattern, handler: ReactNode | ((ctx: HandlerContext<TParams, TEnv, TSearch>) => ReactNode | Response | Promise<ReactNode | Response>) | PrerenderHandlerDefinition<TParams> | PassthroughHandlerDefinition<TParams, TEnv> | StaticHandlerDefinition<TParams>, optionsOrUse?: PathOptions<TName, TSearch> | (() => UseItems<RouteUseItem>), use?: () => UseItems<RouteUseItem>) => string extends keyof TParams ? TypedRouteItem<TName, TPattern, unknown, TSearch> : TParams extends ExtractParams<TPattern> ? TypedRouteItem<TName, TPattern, unknown, TSearch> : {
14
- __error: `Handler params do not match pattern "${TPattern}"`;
15
- };
16
- /**
17
- * Path function for response routes that must return Response (image, stream, any).
18
- * Handler must return Response, not ReactNode. Uses lighter ResponseHandlerContext.
19
- * Use items restricted to middleware() and cache() only.
20
- */
21
- export type ResponsePathFn<TEnv> = <const TPattern extends string, const TName extends string = UnnamedRoute, const TSearch extends SearchSchema = {}>(pattern: TPattern, handler: ResponseHandler<ExtractParams<TPattern>, TEnv>, optionsOrUse?: PathOptions<TName, TSearch> | (() => UseItems<ResponseRouteUseItem>), use?: () => UseItems<ResponseRouteUseItem>) => TypedRouteItem<TName, TPattern, unknown, TSearch>;
22
- /**
23
- * Path function for JSON response routes (path.json()).
24
- * Handler can return plain JSON-serializable values or Response.
25
- * TData is inferred from the handler's return type (excluding Response/Promise wrappers).
26
- *
27
- * Note: a nested Promise in the return (a forgotten await) is caught at runtime
28
- * by response-route-handler.ts (it throws instead of silently emitting `{}`). A
29
- * compile-time JsonValue constraint was evaluated and rejected — it breaks
30
- * interface-typed returns (interfaces lack the index signature JsonValue
31
- * requires) and preserves literal types in the inferred response shape.
32
- */
33
- export type JsonResponsePathFn<TEnv> = <const TPattern extends string, const TName extends string = UnnamedRoute, const TSearch extends SearchSchema = {}, TData = unknown>(pattern: TPattern, handler: (ctx: ResponseHandlerContext<ExtractParams<TPattern>, TEnv>) => TData | Response | Promise<TData | Response>, optionsOrUse?: PathOptions<TName, TSearch> | (() => UseItems<ResponseRouteUseItem>), use?: () => UseItems<ResponseRouteUseItem>) => TypedRouteItem<TName, TPattern, TData, TSearch>;
34
- /**
35
- * Path function for text-based response routes (path.text(), path.html(), path.xml()).
36
- * Handler can return a string or Response. TData is always `string`.
37
- */
38
- export type TextResponsePathFn<TEnv> = <const TPattern extends string, const TName extends string = UnnamedRoute, const TSearch extends SearchSchema = {}>(pattern: TPattern, handler: TextResponseHandler<ExtractParams<TPattern>, TEnv>, optionsOrUse?: PathOptions<TName, TSearch> | (() => UseItems<ResponseRouteUseItem>), use?: () => UseItems<ResponseRouteUseItem>) => TypedRouteItem<TName, TPattern, string, TSearch>;
39
- /**
40
- * What an async include() provider resolves to. Route types (`TRoutes`) are
41
- * inferred from the resolved `urls()` value so `href()` and named routes stay
42
- * type-safe through a code-split module (`() => import("./routes")`).
43
- */
44
- type IncludeResolved<TEnv, TRoutes extends Record<string, any>, TResponses extends Record<string, unknown>> = UrlPatterns<TEnv, TRoutes, TResponses> | {
45
- default: UrlPatterns<TEnv, TRoutes, TResponses>;
46
- };
47
- /** include() argument: an eager `urls()` value or an async provider thunk. */
48
- export type IncludeArg<TEnv, TRoutes extends Record<string, any>, TResponses extends Record<string, unknown>> = UrlPatterns<TEnv, TRoutes, TResponses> | (() => IncludeResolved<TEnv, TRoutes, TResponses> | Promise<IncludeResolved<TEnv, TRoutes, TResponses>>);
49
- /**
50
- * Base include function signature.
51
- */
52
- export type IncludeFn<TEnv> = <TRoutes extends Record<string, any>, const TUrlPrefix extends string, const TNamePrefix extends string = LocalOnlyInclude, TResponses extends Record<string, unknown> = Record<string, unknown>>(prefix: TUrlPrefix, patterns: IncludeArg<TEnv, TRoutes, TResponses>, options?: IncludeOptions<TNamePrefix>) => TypedIncludeItem<TRoutes, TNamePrefix, TUrlPrefix, TResponses>;
53
- export type PathHelpers<TEnv> = {
54
- /**
55
- * Define a route with URL pattern at definition site
56
- *
57
- * @example
58
- * ```typescript
59
- * // Pattern and component only
60
- * path("/about", AboutPage)
61
- *
62
- * // With options
63
- * path("/:slug", PostPage, { name: "post" })
64
- *
65
- * // With children (loaders, middleware, etc.)
66
- * path("/:slug", PostPage, { name: "post" }, () => [
67
- * loader(PostLoader),
68
- * ])
69
- * ```
70
- */
71
- path: PathFn<TEnv> & {
72
- json: JsonResponsePathFn<TEnv>;
73
- text: TextResponsePathFn<TEnv>;
74
- html: TextResponsePathFn<TEnv>;
75
- xml: TextResponsePathFn<TEnv>;
76
- md: TextResponsePathFn<TEnv>;
77
- image: ResponsePathFn<TEnv>;
78
- stream: ResponsePathFn<TEnv>;
79
- any: ResponsePathFn<TEnv>;
80
- };
81
- /**
82
- * Define a layout that wraps child routes
83
- */
84
- layout: {
85
- (component: ReactNode | Handler<any, any, TEnv> | StaticHandlerDefinition): TypedLayoutItem<{}, {}>;
86
- <const TChildren extends readonly (LayoutUseItem | readonly LayoutUseItem[])[]>(component: ReactNode | Handler<any, any, TEnv> | StaticHandlerDefinition, use: () => TChildren): TypedLayoutItem<ExtractRoutes<TChildren>, ExtractResponses<TChildren>>;
87
- };
88
- /**
89
- * Include nested URL patterns under a URL prefix.
90
- *
91
- * The `name` option controls how child route names appear in the
92
- * global route map and generated types:
93
- *
94
- * ```typescript
95
- * // Named — children become "blog.index", "blog.post", etc.
96
- * // Visible in generated types and globally reversible.
97
- * include("/blog", blogPatterns, { name: "blog" })
98
- *
99
- * // Flattened — children merge into the parent namespace as-is.
100
- * // Equivalent to defining those routes inline at the include site.
101
- * include("/blog", blogPatterns, { name: "" })
102
- *
103
- * // Local-only (default) — children are scoped privately.
104
- * // Hidden from generated types and global reverse resolution.
105
- * // Only dot-local reverse (reverse(".child")) works inside.
106
- * include("/blog", blogPatterns)
107
- * ```
108
- */
109
- include: IncludeFn<TEnv>;
110
- /**
111
- * Define parallel routes that render simultaneously in named slots.
112
- *
113
- * A slot value can be a Handler / ReactNode / StaticHandlerDefinition
114
- * (legacy form, broadcast use applies to every slot) or a slot descriptor
115
- * `{ handler, use? }` whose `use` is scoped to that slot only. Per-slot
116
- * merge order is `handler.use` → shared `use` → slot-local `use`, with
117
- * narrowest scope winning for last-write-wins items like `loading()`.
118
- *
119
- * Not generic over the slots record: an inferred type parameter makes the
120
- * object literal an inference site, which suppresses contextual typing of
121
- * arrow slot handlers (`(ctx) => ...` was implicit any). Bare handlers infer
122
- * now; a descriptor's `handler:` arrow still needs an explicit ctx annotation
123
- * because StaticHandlerDefinition's own `.handler` joins the contextual union
124
- * (two callables — see parallel-slot-handler-types.test.ts).
125
- */
126
- parallel: (slots: Record<`@${string}`, Handler<any, any, TEnv> | ReactNode | StaticHandlerDefinition | {
127
- handler: Handler<any, any, TEnv> | ReactNode | StaticHandlerDefinition;
128
- use?: () => ParallelUseItem[];
129
- }>, use?: () => ParallelUseItem[]) => ParallelItem;
130
- /**
131
- * Define an intercepting route for soft navigation
132
- * Note: routeName must match a named path() in this urlpatterns
133
- */
134
- intercept: keyof Rango.GeneratedRouteMap extends never ? (slotName: `@${string}`, routeName: string, handler: ReactNode | Handler<any, any, TEnv>, config?: import("../server/context.js").InterceptConfig<TEnv> | (() => InterceptUseItem[]), use?: () => InterceptUseItem[]) => InterceptItem : (slotName: `@${string}`, routeName: (keyof Rango.GeneratedRouteMap & string) | `.${string}`, handler: ReactNode | Handler<any, any, TEnv>, config?: import("../server/context.js").InterceptConfig<TEnv> | (() => InterceptUseItem[]), use?: () => InterceptUseItem[]) => InterceptItem;
135
- /**
136
- * Attach middleware to the current route/layout, or wrap child segments
137
- */
138
- middleware: {
139
- (fn: MiddlewareFn<TEnv>): MiddlewareItem;
140
- (fn: MiddlewareFn<TEnv>, children: () => UseItems<LayoutUseItem>): MiddlewareItem;
141
- (fns: MiddlewareFn<TEnv>[]): MiddlewareItem;
142
- (fns: MiddlewareFn<TEnv>[], children: () => UseItems<LayoutUseItem>): MiddlewareItem;
143
- };
144
- /**
145
- * Control when a segment should revalidate during navigation
146
- */
147
- revalidate: (fn: ShouldRevalidateFn<any, TEnv>) => RevalidateItem;
148
- /**
149
- * Attach a data loader to the current route/layout
150
- */
151
- loader: <TData>(loaderDef: LoaderDefinition<TData>, use?: () => LoaderUseItem[]) => LoaderItem;
152
- /**
153
- * Attach a loading component to the current route/layout
154
- */
155
- loading: (component: ReactNode | (() => ReactNode), options?: {
156
- ssr?: boolean;
157
- }) => LoadingItem;
158
- /**
159
- * Attach an error boundary to catch errors in this segment
160
- */
161
- errorBoundary: (fallback: ReactNode | ErrorBoundaryHandler) => ErrorBoundaryItem;
162
- /**
163
- * Attach a not-found boundary to handle notFound() calls
164
- */
165
- notFoundBoundary: (fallback: ReactNode | NotFoundBoundaryHandler) => NotFoundBoundaryItem;
166
- /**
167
- * Define cache configuration for segments
168
- */
169
- cache: {
170
- (): TypedCacheItem<{}, {}>;
171
- <const TChildren extends readonly (AllUseItems | readonly AllUseItems[])[]>(children: () => TChildren): TypedCacheItem<ExtractRoutes<TChildren>, ExtractResponses<TChildren>>;
172
- (options: PartialCacheOptions<TEnv> | false): TypedCacheItem<{}, {}>;
173
- <const TChildren extends readonly (AllUseItems | readonly AllUseItems[])[]>(options: PartialCacheOptions<TEnv> | false, use: () => TChildren): TypedCacheItem<ExtractRoutes<TChildren>, ExtractResponses<TChildren>>;
174
- };
175
- /**
176
- * Opt a route (or group of routes) into transition-driven navigation.
177
- *
178
- * Two independent layers: (1) startTransition, on all React versions, holds
179
- * the previous content across a same-route nav (no skeleton flash) and is the
180
- * precondition for any view transition; (2) on experimental React, an
181
- * additional `<ViewTransition>` boundary cross-fades/morphs the swap. Pass
182
- * `{ viewTransition: false }` to keep #1 without the router boundary. A view
183
- * transition cannot fire without a startTransition. See
184
- * skills/view-transitions for the startTransition x ViewTransition matrix.
185
- *
186
- * Pass `when: (ctx) => boolean` to gate the transition per request: it runs
187
- * server-side after the route handler (can read `ctx.get(...)`), and returning
188
- * false drops the transition so the navigation streams its loading() skeleton.
189
- */
190
- transition: {
191
- (): TransitionItem;
192
- (config: TransitionConfig): TransitionItem;
193
- <const TChildren extends readonly (AllUseItems | readonly AllUseItems[])[]>(children: () => TChildren): TypedTransitionItem<ExtractRoutes<TChildren>, ExtractResponses<TChildren>>;
194
- <const TChildren extends readonly (AllUseItems | readonly AllUseItems[])[]>(config: TransitionConfig, children: () => TChildren): TypedTransitionItem<ExtractRoutes<TChildren>, ExtractResponses<TChildren>>;
195
- };
196
- };
197
- export {};
@@ -1,12 +0,0 @@
1
- import type { PathFn, ResponsePathFn, JsonResponsePathFn, TextResponsePathFn } from "./path-helper-types.js";
2
- export declare function createPathHelper<TEnv>(): PathFn<TEnv>;
3
- export declare function attachPathResponseTags<TEnv>(pathFn: PathFn<TEnv>): PathFn<TEnv> & {
4
- json: JsonResponsePathFn<TEnv>;
5
- text: TextResponsePathFn<TEnv>;
6
- html: TextResponsePathFn<TEnv>;
7
- xml: TextResponsePathFn<TEnv>;
8
- md: TextResponsePathFn<TEnv>;
9
- image: ResponsePathFn<TEnv>;
10
- stream: ResponsePathFn<TEnv>;
11
- any: ResponsePathFn<TEnv>;
12
- };