@rangojs/router 0.5.1 → 0.5.2

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 (448) hide show
  1. package/README.md +5 -1
  2. package/dist/types/browser/event-controller.d.ts +6 -0
  3. package/dist/types/cache/cf/cf-cache-constants.d.ts +8 -1
  4. package/dist/types/cache/cf/cf-cache-store.d.ts +15 -1
  5. package/dist/types/cache/cf/cf-cache-types.d.ts +1 -1
  6. package/dist/types/cache/cf/cf-kv-utils.d.ts +21 -0
  7. package/dist/types/handles/is-thenable.d.ts +2 -4
  8. package/dist/types/rsc/helpers.d.ts +3 -0
  9. package/dist/types/rsc/render-pipeline.d.ts +9 -0
  10. package/dist/types/rsc/routine-plan.d.ts +124 -0
  11. package/dist/types/rsc/shell-capture-constants.d.ts +17 -0
  12. package/dist/types/server/request-context.d.ts +4 -1
  13. package/dist/types/vite/encryption-key.d.ts +2 -0
  14. package/dist/types/vite/plugins/expose-internal-ids.d.ts +10 -0
  15. package/dist/types/vite/plugins/server-ref-hashing.d.ts +24 -0
  16. package/dist/types/vite/plugins/server-reference-pattern.d.ts +1 -0
  17. package/dist/types/vite/utils/shared-utils.d.ts +12 -0
  18. package/dist/vite/index.js +154 -57
  19. package/package.json +3 -3
  20. package/skills/caching/SKILL.md +1 -1
  21. package/skills/mime-routes/SKILL.md +3 -1
  22. package/skills/response-routes/SKILL.md +4 -2
  23. package/skills/typesafety/generated-files-and-cli.md +16 -9
  24. package/skills/typesafety/route-types.md +5 -1
  25. package/skills/use-cache/SKILL.md +47 -0
  26. package/src/browser/event-controller.ts +40 -15
  27. package/src/browser/partial-update.ts +26 -11
  28. package/src/browser/react/NavigationProvider.tsx +7 -0
  29. package/src/cache/cache-runtime.ts +89 -15
  30. package/src/cache/cf/cf-cache-constants.ts +8 -1
  31. package/src/cache/cf/cf-cache-store.ts +41 -64
  32. package/src/cache/cf/cf-cache-types.ts +1 -1
  33. package/src/cache/cf/cf-kv-utils.ts +38 -0
  34. package/src/cache/segment-codec.ts +21 -5
  35. package/src/handles/is-thenable.ts +2 -4
  36. package/src/router/match-middleware/cache-lookup.ts +24 -15
  37. package/src/rsc/handler.ts +26 -5
  38. package/src/rsc/helpers.ts +13 -0
  39. package/src/rsc/progressive-enhancement.ts +247 -70
  40. package/src/rsc/render-pipeline.ts +68 -24
  41. package/src/rsc/routine-plan.ts +359 -0
  42. package/src/rsc/rsc-rendering.ts +555 -302
  43. package/src/rsc/server-action.ts +180 -71
  44. package/src/rsc/shell-capture-constants.ts +18 -0
  45. package/src/rsc/shell-capture.ts +92 -21
  46. package/src/server/request-context.ts +6 -0
  47. package/src/ssr/ssr-root.tsx +1 -0
  48. package/src/vite/encryption-key.ts +29 -0
  49. package/src/vite/plugins/expose-action-id.ts +2 -2
  50. package/src/vite/plugins/expose-internal-ids.ts +46 -0
  51. package/src/vite/plugins/server-ref-hashing.ts +74 -0
  52. package/src/vite/plugins/server-reference-pattern.ts +10 -0
  53. package/src/vite/rango.ts +9 -0
  54. package/src/vite/router-discovery.ts +21 -2
  55. package/src/vite/utils/shared-utils.ts +12 -7
  56. package/dist/types.backup/__internal.d.ts +0 -127
  57. package/dist/types.backup/bin/rango.d.ts +0 -1
  58. package/dist/types.backup/browser/action-coordinator.d.ts +0 -57
  59. package/dist/types.backup/browser/action-fence.d.ts +0 -33
  60. package/dist/types.backup/browser/app-shell.d.ts +0 -34
  61. package/dist/types.backup/browser/app-version.d.ts +0 -6
  62. package/dist/types.backup/browser/connection-warmup.d.ts +0 -31
  63. package/dist/types.backup/browser/cookie-name.d.ts +0 -66
  64. package/dist/types.backup/browser/event-controller.d.ts +0 -221
  65. package/dist/types.backup/browser/history-state.d.ts +0 -26
  66. package/dist/types.backup/browser/index.d.ts +0 -1
  67. package/dist/types.backup/browser/intercept-utils.d.ts +0 -30
  68. package/dist/types.backup/browser/invalidate-client-cache.d.ts +0 -17
  69. package/dist/types.backup/browser/link-interceptor.d.ts +0 -43
  70. package/dist/types.backup/browser/logging.d.ts +0 -33
  71. package/dist/types.backup/browser/merge-segment-loaders.d.ts +0 -38
  72. package/dist/types.backup/browser/navigation-bridge.d.ts +0 -27
  73. package/dist/types.backup/browser/navigation-client.d.ts +0 -17
  74. package/dist/types.backup/browser/navigation-store-handle.d.ts +0 -25
  75. package/dist/types.backup/browser/navigation-store.d.ts +0 -95
  76. package/dist/types.backup/browser/navigation-transaction.d.ts +0 -75
  77. package/dist/types.backup/browser/network-error-handler.d.ts +0 -35
  78. package/dist/types.backup/browser/partial-update.d.ts +0 -61
  79. package/dist/types.backup/browser/prefetch/cache.d.ts +0 -183
  80. package/dist/types.backup/browser/prefetch/fetch.d.ts +0 -52
  81. package/dist/types.backup/browser/prefetch/observer.d.ts +0 -27
  82. package/dist/types.backup/browser/prefetch/policy.d.ts +0 -13
  83. package/dist/types.backup/browser/prefetch/queue.d.ts +0 -48
  84. package/dist/types.backup/browser/prefetch/resource-ready.d.ts +0 -28
  85. package/dist/types.backup/browser/rango-state.d.ts +0 -52
  86. package/dist/types.backup/browser/react/Link.d.ts +0 -140
  87. package/dist/types.backup/browser/react/NavigationProvider.d.ts +0 -88
  88. package/dist/types.backup/browser/react/ScrollRestoration.d.ts +0 -78
  89. package/dist/types.backup/browser/react/context.d.ts +0 -54
  90. package/dist/types.backup/browser/react/filter-segment-order.d.ts +0 -35
  91. package/dist/types.backup/browser/react/index.d.ts +0 -1
  92. package/dist/types.backup/browser/react/location-state-shared.d.ts +0 -162
  93. package/dist/types.backup/browser/react/location-state.d.ts +0 -29
  94. package/dist/types.backup/browser/react/mount-context.d.ts +0 -23
  95. package/dist/types.backup/browser/react/nonce-context.d.ts +0 -14
  96. package/dist/types.backup/browser/react/shallow-equal.d.ts +0 -5
  97. package/dist/types.backup/browser/react/use-action.d.ts +0 -61
  98. package/dist/types.backup/browser/react/use-handle.d.ts +0 -21
  99. package/dist/types.backup/browser/react/use-href.d.ts +0 -32
  100. package/dist/types.backup/browser/react/use-link-status.d.ts +0 -36
  101. package/dist/types.backup/browser/react/use-mount.d.ts +0 -24
  102. package/dist/types.backup/browser/react/use-navigation.d.ts +0 -15
  103. package/dist/types.backup/browser/react/use-params.d.ts +0 -21
  104. package/dist/types.backup/browser/react/use-pathname.d.ts +0 -13
  105. package/dist/types.backup/browser/react/use-reverse.d.ts +0 -40
  106. package/dist/types.backup/browser/react/use-router.d.ts +0 -23
  107. package/dist/types.backup/browser/react/use-search-params.d.ts +0 -19
  108. package/dist/types.backup/browser/react/use-segments.d.ts +0 -29
  109. package/dist/types.backup/browser/response-adapter.d.ts +0 -58
  110. package/dist/types.backup/browser/rsc-router.d.ts +0 -141
  111. package/dist/types.backup/browser/scroll-restoration.d.ts +0 -103
  112. package/dist/types.backup/browser/segment-reconciler.d.ts +0 -74
  113. package/dist/types.backup/browser/segment-structure-assert.d.ts +0 -16
  114. package/dist/types.backup/browser/server-action-bridge.d.ts +0 -29
  115. package/dist/types.backup/browser/types.d.ts +0 -530
  116. package/dist/types.backup/browser/validate-redirect-origin.d.ts +0 -28
  117. package/dist/types.backup/build/collect-fallback-refs.d.ts +0 -5
  118. package/dist/types.backup/build/generate-manifest.d.ts +0 -100
  119. package/dist/types.backup/build/generate-route-types.d.ts +0 -8
  120. package/dist/types.backup/build/index.d.ts +0 -21
  121. package/dist/types.backup/build/prefix-tree-utils.d.ts +0 -56
  122. package/dist/types.backup/build/route-trie.d.ts +0 -89
  123. package/dist/types.backup/build/route-types/ast-helpers.d.ts +0 -3
  124. package/dist/types.backup/build/route-types/ast-route-extraction.d.ts +0 -13
  125. package/dist/types.backup/build/route-types/codegen.d.ts +0 -16
  126. package/dist/types.backup/build/route-types/include-resolution.d.ts +0 -74
  127. package/dist/types.backup/build/route-types/param-extraction.d.ts +0 -13
  128. package/dist/types.backup/build/route-types/per-module-writer.d.ts +0 -18
  129. package/dist/types.backup/build/route-types/router-processing.d.ts +0 -82
  130. package/dist/types.backup/build/route-types/scan-filter.d.ts +0 -17
  131. package/dist/types.backup/build/route-types/source-scan.d.ts +0 -13
  132. package/dist/types.backup/build/runtime-discovery.d.ts +0 -24
  133. package/dist/types.backup/cache/background-task.d.ts +0 -21
  134. package/dist/types.backup/cache/cache-error.d.ts +0 -71
  135. package/dist/types.backup/cache/cache-key-utils.d.ts +0 -35
  136. package/dist/types.backup/cache/cache-policy.d.ts +0 -59
  137. package/dist/types.backup/cache/cache-runtime.d.ts +0 -51
  138. package/dist/types.backup/cache/cache-scope.d.ts +0 -134
  139. package/dist/types.backup/cache/cache-tag.d.ts +0 -79
  140. package/dist/types.backup/cache/cf/cf-base64.d.ts +0 -4
  141. package/dist/types.backup/cache/cf/cf-cache-constants.d.ts +0 -105
  142. package/dist/types.backup/cache/cf/cf-cache-store.d.ts +0 -481
  143. package/dist/types.backup/cache/cf/cf-cache-types.d.ts +0 -300
  144. package/dist/types.backup/cache/cf/cf-kv-utils.d.ts +0 -22
  145. package/dist/types.backup/cache/cf/cf-tag-marker-memo.d.ts +0 -15
  146. package/dist/types.backup/cache/cf/index.d.ts +0 -3
  147. package/dist/types.backup/cache/document-cache.d.ts +0 -69
  148. package/dist/types.backup/cache/handle-capture.d.ts +0 -23
  149. package/dist/types.backup/cache/handle-snapshot.d.ts +0 -39
  150. package/dist/types.backup/cache/index.d.ts +0 -7
  151. package/dist/types.backup/cache/memory-segment-store.d.ts +0 -163
  152. package/dist/types.backup/cache/profile-registry.d.ts +0 -40
  153. package/dist/types.backup/cache/read-through-swr.d.ts +0 -60
  154. package/dist/types.backup/cache/segment-codec.d.ts +0 -78
  155. package/dist/types.backup/cache/shell-snapshot.d.ts +0 -162
  156. package/dist/types.backup/cache/tag-invalidation.d.ts +0 -74
  157. package/dist/types.backup/cache/taint.d.ts +0 -71
  158. package/dist/types.backup/cache/types.d.ts +0 -407
  159. package/dist/types.backup/cache/vercel/index.d.ts +0 -1
  160. package/dist/types.backup/cache/vercel/vercel-cache-store.d.ts +0 -267
  161. package/dist/types.backup/client.d.ts +0 -184
  162. package/dist/types.backup/client.rsc.d.ts +0 -39
  163. package/dist/types.backup/cloudflare/index.d.ts +0 -7
  164. package/dist/types.backup/cloudflare/tracing.d.ts +0 -53
  165. package/dist/types.backup/component-utils.d.ts +0 -46
  166. package/dist/types.backup/components/DefaultDocument.d.ts +0 -13
  167. package/dist/types.backup/context-var.d.ts +0 -84
  168. package/dist/types.backup/debug.d.ts +0 -57
  169. package/dist/types.backup/decode-loader-results.d.ts +0 -5
  170. package/dist/types.backup/default-error-boundary.d.ts +0 -10
  171. package/dist/types.backup/defer.d.ts +0 -89
  172. package/dist/types.backup/deps/browser.d.ts +0 -1
  173. package/dist/types.backup/deps/html-stream-client.d.ts +0 -1
  174. package/dist/types.backup/deps/html-stream-server.d.ts +0 -1
  175. package/dist/types.backup/deps/rsc.d.ts +0 -1
  176. package/dist/types.backup/deps/ssr.d.ts +0 -1
  177. package/dist/types.backup/encode-kv.d.ts +0 -35
  178. package/dist/types.backup/errors.d.ts +0 -226
  179. package/dist/types.backup/escape-script.d.ts +0 -44
  180. package/dist/types.backup/handle.d.ts +0 -93
  181. package/dist/types.backup/handles/MetaTags.d.ts +0 -17
  182. package/dist/types.backup/handles/Scripts.d.ts +0 -38
  183. package/dist/types.backup/handles/breadcrumbs.d.ts +0 -43
  184. package/dist/types.backup/handles/deferred-resolution.d.ts +0 -53
  185. package/dist/types.backup/handles/is-thenable.d.ts +0 -12
  186. package/dist/types.backup/handles/meta.d.ts +0 -43
  187. package/dist/types.backup/handles/script.d.ts +0 -139
  188. package/dist/types.backup/host/cookie-handler.d.ts +0 -8
  189. package/dist/types.backup/host/errors.d.ts +0 -40
  190. package/dist/types.backup/host/index.d.ts +0 -33
  191. package/dist/types.backup/host/pattern-matcher.d.ts +0 -30
  192. package/dist/types.backup/host/router.d.ts +0 -12
  193. package/dist/types.backup/host/testing.d.ts +0 -41
  194. package/dist/types.backup/host/types.d.ts +0 -148
  195. package/dist/types.backup/host/utils.d.ts +0 -20
  196. package/dist/types.backup/href-client.d.ts +0 -214
  197. package/dist/types.backup/index.d.ts +0 -112
  198. package/dist/types.backup/index.rsc.d.ts +0 -51
  199. package/dist/types.backup/internal-debug.d.ts +0 -1
  200. package/dist/types.backup/loader-store.d.ts +0 -193
  201. package/dist/types.backup/loader.d.ts +0 -18
  202. package/dist/types.backup/loader.rsc.d.ts +0 -18
  203. package/dist/types.backup/missing-id-error.d.ts +0 -1
  204. package/dist/types.backup/outlet-context.d.ts +0 -12
  205. package/dist/types.backup/outlet-provider.d.ts +0 -12
  206. package/dist/types.backup/prerender/build-shell-capture.d.ts +0 -104
  207. package/dist/types.backup/prerender/param-hash.d.ts +0 -6
  208. package/dist/types.backup/prerender/shell-manifest-key.d.ts +0 -18
  209. package/dist/types.backup/prerender/store.d.ts +0 -62
  210. package/dist/types.backup/prerender.d.ts +0 -292
  211. package/dist/types.backup/redirect-origin.d.ts +0 -55
  212. package/dist/types.backup/regex-escape.d.ts +0 -6
  213. package/dist/types.backup/render-error-thrower.d.ts +0 -13
  214. package/dist/types.backup/response-utils.d.ts +0 -35
  215. package/dist/types.backup/reverse.d.ts +0 -206
  216. package/dist/types.backup/root-error-boundary.d.ts +0 -32
  217. package/dist/types.backup/route-content-wrapper.d.ts +0 -40
  218. package/dist/types.backup/route-definition/dsl-helpers.d.ts +0 -130
  219. package/dist/types.backup/route-definition/helper-factories.d.ts +0 -22
  220. package/dist/types.backup/route-definition/helpers-types.d.ts +0 -392
  221. package/dist/types.backup/route-definition/index.d.ts +0 -7
  222. package/dist/types.backup/route-definition/redirect.d.ts +0 -48
  223. package/dist/types.backup/route-definition/resolve-handler-use.d.ts +0 -19
  224. package/dist/types.backup/route-definition/use-item-types.d.ts +0 -1
  225. package/dist/types.backup/route-definition.d.ts +0 -1
  226. package/dist/types.backup/route-map-builder.d.ts +0 -127
  227. package/dist/types.backup/route-name.d.ts +0 -27
  228. package/dist/types.backup/route-types.d.ts +0 -172
  229. package/dist/types.backup/router/basename.d.ts +0 -10
  230. package/dist/types.backup/router/content-negotiation.d.ts +0 -91
  231. package/dist/types.backup/router/debug-manifest.d.ts +0 -7
  232. package/dist/types.backup/router/error-handling.d.ts +0 -76
  233. package/dist/types.backup/router/find-match.d.ts +0 -19
  234. package/dist/types.backup/router/handler-context.d.ts +0 -41
  235. package/dist/types.backup/router/instrument.d.ts +0 -161
  236. package/dist/types.backup/router/intercept-resolution.d.ts +0 -79
  237. package/dist/types.backup/router/lazy-includes.d.ts +0 -26
  238. package/dist/types.backup/router/loader-resolution.d.ts +0 -63
  239. package/dist/types.backup/router/logging.d.ts +0 -41
  240. package/dist/types.backup/router/manifest.d.ts +0 -8
  241. package/dist/types.backup/router/match-api.d.ts +0 -19
  242. package/dist/types.backup/router/match-context.d.ts +0 -184
  243. package/dist/types.backup/router/match-handlers.d.ts +0 -49
  244. package/dist/types.backup/router/match-middleware/background-revalidation.d.ts +0 -113
  245. package/dist/types.backup/router/match-middleware/cache-lookup.d.ts +0 -113
  246. package/dist/types.backup/router/match-middleware/cache-store.d.ts +0 -112
  247. package/dist/types.backup/router/match-middleware/index.d.ts +0 -80
  248. package/dist/types.backup/router/match-middleware/intercept-resolution.d.ts +0 -116
  249. package/dist/types.backup/router/match-middleware/segment-resolution.d.ts +0 -94
  250. package/dist/types.backup/router/match-pipelines.d.ts +0 -103
  251. package/dist/types.backup/router/match-result.d.ts +0 -114
  252. package/dist/types.backup/router/metrics.d.ts +0 -6
  253. package/dist/types.backup/router/middleware-types.d.ts +0 -74
  254. package/dist/types.backup/router/middleware.d.ts +0 -116
  255. package/dist/types.backup/router/navigation-snapshot.d.ts +0 -22
  256. package/dist/types.backup/router/params-util.d.ts +0 -8
  257. package/dist/types.backup/router/parse-pattern.d.ts +0 -38
  258. package/dist/types.backup/router/pattern-matching.d.ts +0 -169
  259. package/dist/types.backup/router/prefetch-cache-ttl.d.ts +0 -27
  260. package/dist/types.backup/router/prefetch-limits.d.ts +0 -20
  261. package/dist/types.backup/router/prerender-match.d.ts +0 -50
  262. package/dist/types.backup/router/preview-match.d.ts +0 -22
  263. package/dist/types.backup/router/request-classification.d.ts +0 -104
  264. package/dist/types.backup/router/revalidation.d.ts +0 -57
  265. package/dist/types.backup/router/route-snapshot.d.ts +0 -112
  266. package/dist/types.backup/router/router-context.d.ts +0 -137
  267. package/dist/types.backup/router/router-interfaces.d.ts +0 -432
  268. package/dist/types.backup/router/router-options.d.ts +0 -738
  269. package/dist/types.backup/router/router-registry.d.ts +0 -15
  270. package/dist/types.backup/router/segment-resolution/fresh.d.ts +0 -55
  271. package/dist/types.backup/router/segment-resolution/helpers.d.ts +0 -93
  272. package/dist/types.backup/router/segment-resolution/loader-cache.d.ts +0 -33
  273. package/dist/types.backup/router/segment-resolution/loader-mask.d.ts +0 -44
  274. package/dist/types.backup/router/segment-resolution/loader-snapshot.d.ts +0 -90
  275. package/dist/types.backup/router/segment-resolution/mask-nested.d.ts +0 -53
  276. package/dist/types.backup/router/segment-resolution/revalidation.d.ts +0 -85
  277. package/dist/types.backup/router/segment-resolution/static-store.d.ts +0 -17
  278. package/dist/types.backup/router/segment-resolution/streamed-handler-telemetry.d.ts +0 -16
  279. package/dist/types.backup/router/segment-resolution/view-transition-default.d.ts +0 -28
  280. package/dist/types.backup/router/segment-resolution.d.ts +0 -3
  281. package/dist/types.backup/router/segment-wrappers.d.ts +0 -53
  282. package/dist/types.backup/router/state-cookie-name.d.ts +0 -1
  283. package/dist/types.backup/router/substitute-pattern-params.d.ts +0 -23
  284. package/dist/types.backup/router/telemetry-otel.d.ts +0 -113
  285. package/dist/types.backup/router/telemetry.d.ts +0 -215
  286. package/dist/types.backup/router/timeout.d.ts +0 -68
  287. package/dist/types.backup/router/tracing.d.ts +0 -125
  288. package/dist/types.backup/router/trie-matching.d.ts +0 -32
  289. package/dist/types.backup/router/types.d.ts +0 -98
  290. package/dist/types.backup/router/url-params.d.ts +0 -26
  291. package/dist/types.backup/router.d.ts +0 -7
  292. package/dist/types.backup/rsc/capture-queue.d.ts +0 -6
  293. package/dist/types.backup/rsc/full-payload.d.ts +0 -22
  294. package/dist/types.backup/rsc/handler-context.d.ts +0 -31
  295. package/dist/types.backup/rsc/handler.d.ts +0 -9
  296. package/dist/types.backup/rsc/helpers.d.ts +0 -213
  297. package/dist/types.backup/rsc/index.d.ts +0 -17
  298. package/dist/types.backup/rsc/json-route-result.d.ts +0 -20
  299. package/dist/types.backup/rsc/loader-fetch.d.ts +0 -14
  300. package/dist/types.backup/rsc/manifest-init.d.ts +0 -18
  301. package/dist/types.backup/rsc/nonce.d.ts +0 -28
  302. package/dist/types.backup/rsc/origin-guard.d.ts +0 -50
  303. package/dist/types.backup/rsc/progressive-enhancement.d.ts +0 -19
  304. package/dist/types.backup/rsc/redirect-guard.d.ts +0 -35
  305. package/dist/types.backup/rsc/response-cache-serve.d.ts +0 -46
  306. package/dist/types.backup/rsc/response-error.d.ts +0 -19
  307. package/dist/types.backup/rsc/response-route-handler.d.ts +0 -29
  308. package/dist/types.backup/rsc/rsc-rendering.d.ts +0 -23
  309. package/dist/types.backup/rsc/runtime-warnings.d.ts +0 -22
  310. package/dist/types.backup/rsc/server-action.d.ts +0 -68
  311. package/dist/types.backup/rsc/shell-build-manifest.d.ts +0 -84
  312. package/dist/types.backup/rsc/shell-capture-constants.d.ts +0 -27
  313. package/dist/types.backup/rsc/shell-capture.d.ts +0 -374
  314. package/dist/types.backup/rsc/shell-serve.d.ts +0 -136
  315. package/dist/types.backup/rsc/ssr-setup.d.ts +0 -48
  316. package/dist/types.backup/rsc/transition-gate.d.ts +0 -27
  317. package/dist/types.backup/rsc/types.d.ts +0 -290
  318. package/dist/types.backup/runtime-env.d.ts +0 -1
  319. package/dist/types.backup/search-params.d.ts +0 -125
  320. package/dist/types.backup/segment-content-promise.d.ts +0 -13
  321. package/dist/types.backup/segment-fragments.d.ts +0 -56
  322. package/dist/types.backup/segment-loader-promise.d.ts +0 -22
  323. package/dist/types.backup/segment-system.d.ts +0 -84
  324. package/dist/types.backup/serialize.d.ts +0 -164
  325. package/dist/types.backup/server/context.d.ts +0 -494
  326. package/dist/types.backup/server/cookie-parse.d.ts +0 -10
  327. package/dist/types.backup/server/cookie-store.d.ts +0 -107
  328. package/dist/types.backup/server/fetchable-loader-store.d.ts +0 -20
  329. package/dist/types.backup/server/handle-store.d.ts +0 -100
  330. package/dist/types.backup/server/loader-registry.d.ts +0 -32
  331. package/dist/types.backup/server/request-context.d.ts +0 -596
  332. package/dist/types.backup/server/root-layout.d.ts +0 -3
  333. package/dist/types.backup/server.d.ts +0 -15
  334. package/dist/types.backup/ssr/index.d.ts +0 -233
  335. package/dist/types.backup/ssr/inject-rsc-eager.d.ts +0 -3
  336. package/dist/types.backup/ssr/preinit-client-references.d.ts +0 -71
  337. package/dist/types.backup/ssr/ssr-root.d.ts +0 -69
  338. package/dist/types.backup/static-handler.d.ts +0 -57
  339. package/dist/types.backup/testing/cache-status.d.ts +0 -63
  340. package/dist/types.backup/testing/collect-handle.d.ts +0 -20
  341. package/dist/types.backup/testing/dispatch.d.ts +0 -123
  342. package/dist/types.backup/testing/dom.entry.d.ts +0 -15
  343. package/dist/types.backup/testing/e2e/fixture.d.ts +0 -37
  344. package/dist/types.backup/testing/e2e/index.d.ts +0 -30
  345. package/dist/types.backup/testing/e2e/matchers.d.ts +0 -17
  346. package/dist/types.backup/testing/e2e/page-helpers.d.ts +0 -62
  347. package/dist/types.backup/testing/e2e/parity.d.ts +0 -111
  348. package/dist/types.backup/testing/e2e/server.d.ts +0 -35
  349. package/dist/types.backup/testing/flight-matchers.d.ts +0 -55
  350. package/dist/types.backup/testing/flight-normalize.d.ts +0 -1
  351. package/dist/types.backup/testing/flight-tree.d.ts +0 -192
  352. package/dist/types.backup/testing/flight.d.ts +0 -115
  353. package/dist/types.backup/testing/flight.entry.d.ts +0 -27
  354. package/dist/types.backup/testing/generated-routes.d.ts +0 -66
  355. package/dist/types.backup/testing/index.d.ts +0 -52
  356. package/dist/types.backup/testing/internal/context.d.ts +0 -225
  357. package/dist/types.backup/testing/internal/flight-client-globals.d.ts +0 -1
  358. package/dist/types.backup/testing/internal/seed-vars.d.ts +0 -30
  359. package/dist/types.backup/testing/render-handler.d.ts +0 -160
  360. package/dist/types.backup/testing/render-route.d.ts +0 -246
  361. package/dist/types.backup/testing/run-loader.d.ts +0 -186
  362. package/dist/types.backup/testing/run-middleware.d.ts +0 -132
  363. package/dist/types.backup/testing/run-transition-when.d.ts +0 -77
  364. package/dist/types.backup/testing/vitest-stubs/cloudflare-email.d.ts +0 -6
  365. package/dist/types.backup/testing/vitest-stubs/cloudflare-workers.d.ts +0 -13
  366. package/dist/types.backup/testing/vitest-stubs/plugin-rsc.d.ts +0 -7
  367. package/dist/types.backup/testing/vitest-stubs/version.d.ts +0 -1
  368. package/dist/types.backup/testing/vitest.d.ts +0 -205
  369. package/dist/types.backup/theme/ThemeProvider.d.ts +0 -13
  370. package/dist/types.backup/theme/ThemeScript.d.ts +0 -45
  371. package/dist/types.backup/theme/constants.d.ts +0 -39
  372. package/dist/types.backup/theme/index.d.ts +0 -29
  373. package/dist/types.backup/theme/theme-context.d.ts +0 -21
  374. package/dist/types.backup/theme/theme-script.d.ts +0 -26
  375. package/dist/types.backup/theme/types.d.ts +0 -162
  376. package/dist/types.backup/theme/use-theme.d.ts +0 -8
  377. package/dist/types.backup/types/boundaries.d.ts +0 -93
  378. package/dist/types.backup/types/cache-types.d.ts +0 -191
  379. package/dist/types.backup/types/error-types.d.ts +0 -114
  380. package/dist/types.backup/types/global-namespace.d.ts +0 -90
  381. package/dist/types.backup/types/handler-context.d.ts +0 -658
  382. package/dist/types.backup/types/index.d.ts +0 -11
  383. package/dist/types.backup/types/loader-types.d.ts +0 -182
  384. package/dist/types.backup/types/request-scope.d.ts +0 -93
  385. package/dist/types.backup/types/route-config.d.ts +0 -105
  386. package/dist/types.backup/types/route-entry.d.ts +0 -95
  387. package/dist/types.backup/types/segments.d.ts +0 -234
  388. package/dist/types.backup/types.d.ts +0 -1
  389. package/dist/types.backup/urls/include-helper.d.ts +0 -17
  390. package/dist/types.backup/urls/include-provider.d.ts +0 -27
  391. package/dist/types.backup/urls/index.d.ts +0 -6
  392. package/dist/types.backup/urls/path-helper-types.d.ts +0 -197
  393. package/dist/types.backup/urls/path-helper.d.ts +0 -12
  394. package/dist/types.backup/urls/pattern-types.d.ts +0 -166
  395. package/dist/types.backup/urls/response-types.d.ts +0 -67
  396. package/dist/types.backup/urls/type-extraction.d.ts +0 -157
  397. package/dist/types.backup/urls/urls-function.d.ts +0 -24
  398. package/dist/types.backup/urls.d.ts +0 -1
  399. package/dist/types.backup/use-loader.d.ts +0 -150
  400. package/dist/types.backup/vercel/index.d.ts +0 -10
  401. package/dist/types.backup/vercel/tracing.d.ts +0 -70
  402. package/dist/types.backup/vite/debug.d.ts +0 -80
  403. package/dist/types.backup/vite/discovery/bundle-postprocess.d.ts +0 -12
  404. package/dist/types.backup/vite/discovery/dev-prerender-cache.d.ts +0 -65
  405. package/dist/types.backup/vite/discovery/discover-routers.d.ts +0 -17
  406. package/dist/types.backup/vite/discovery/discovery-errors.d.ts +0 -113
  407. package/dist/types.backup/vite/discovery/gate-state.d.ts +0 -79
  408. package/dist/types.backup/vite/discovery/prerender-collection.d.ts +0 -24
  409. package/dist/types.backup/vite/discovery/route-types-writer.d.ts +0 -32
  410. package/dist/types.backup/vite/discovery/self-gen-tracking.d.ts +0 -22
  411. package/dist/types.backup/vite/discovery/shell-prerender-phase.d.ts +0 -40
  412. package/dist/types.backup/vite/discovery/state.d.ts +0 -162
  413. package/dist/types.backup/vite/discovery/virtual-module-codegen.d.ts +0 -15
  414. package/dist/types.backup/vite/index.d.ts +0 -11
  415. package/dist/types.backup/vite/inject-client-debug.d.ts +0 -56
  416. package/dist/types.backup/vite/plugin-types.d.ts +0 -298
  417. package/dist/types.backup/vite/plugins/cjs-to-esm.d.ts +0 -6
  418. package/dist/types.backup/vite/plugins/client-ref-dedup.d.ts +0 -40
  419. package/dist/types.backup/vite/plugins/client-ref-hashing.d.ts +0 -35
  420. package/dist/types.backup/vite/plugins/cloudflare-protocol-stub.d.ts +0 -64
  421. package/dist/types.backup/vite/plugins/expose-action-id.d.ts +0 -18
  422. package/dist/types.backup/vite/plugins/expose-id-utils.d.ts +0 -37
  423. package/dist/types.backup/vite/plugins/expose-ids/export-analysis.d.ts +0 -19
  424. package/dist/types.backup/vite/plugins/expose-ids/handler-transform.d.ts +0 -10
  425. package/dist/types.backup/vite/plugins/expose-ids/loader-transform.d.ts +0 -8
  426. package/dist/types.backup/vite/plugins/expose-ids/router-transform.d.ts +0 -13
  427. package/dist/types.backup/vite/plugins/expose-ids/types.d.ts +0 -29
  428. package/dist/types.backup/vite/plugins/expose-internal-ids.d.ts +0 -6
  429. package/dist/types.backup/vite/plugins/performance-tracks.d.ts +0 -25
  430. package/dist/types.backup/vite/plugins/refresh-cmd.d.ts +0 -20
  431. package/dist/types.backup/vite/plugins/use-cache-transform.d.ts +0 -20
  432. package/dist/types.backup/vite/plugins/vercel-output.d.ts +0 -85
  433. package/dist/types.backup/vite/plugins/version-injector.d.ts +0 -21
  434. package/dist/types.backup/vite/plugins/version-plugin.d.ts +0 -19
  435. package/dist/types.backup/vite/plugins/virtual-entries.d.ts +0 -36
  436. package/dist/types.backup/vite/plugins/virtual-stub-plugin.d.ts +0 -7
  437. package/dist/types.backup/vite/rango.d.ts +0 -29
  438. package/dist/types.backup/vite/router-discovery.d.ts +0 -23
  439. package/dist/types.backup/vite/utils/ast-handler-extract.d.ts +0 -64
  440. package/dist/types.backup/vite/utils/banner.d.ts +0 -2
  441. package/dist/types.backup/vite/utils/bundle-analysis.d.ts +0 -28
  442. package/dist/types.backup/vite/utils/client-chunks.d.ts +0 -55
  443. package/dist/types.backup/vite/utils/directive-prologue.d.ts +0 -16
  444. package/dist/types.backup/vite/utils/forward-user-plugins.d.ts +0 -37
  445. package/dist/types.backup/vite/utils/manifest-utils.d.ts +0 -7
  446. package/dist/types.backup/vite/utils/package-resolution.d.ts +0 -6
  447. package/dist/types.backup/vite/utils/prerender-utils.d.ts +0 -32
  448. package/dist/types.backup/vite/utils/shared-utils.d.ts +0 -55
@@ -1,392 +0,0 @@
1
- import type { ReactNode } from "react";
2
- import type { ExtractRouteParams, Handler, PartialCacheOptions, ErrorBoundaryHandler, LoaderDefinition, MiddlewareFn, NotFoundBoundaryHandler, ResolvedRouteMap, RouteDefinition, ShouldRevalidateFn, TransitionConfig } from "../types.js";
3
- import type { AllUseItems, LayoutItem, RouteItem, ParallelItem, InterceptItem, MiddlewareItem, RevalidateItem, LoaderItem, LoadingItem, ErrorBoundaryItem, NotFoundBoundaryItem, LayoutUseItem, RouteUseItem, ParallelUseItem, InterceptUseItem, LoaderUseItem, CacheItem, TransitionItem, UseItems } from "../route-types.js";
4
- export type { AllUseItems, LayoutItem, RouteItem, ParallelItem, InterceptItem, MiddlewareItem, RevalidateItem, LoaderItem, ErrorBoundaryItem, NotFoundBoundaryItem, LayoutUseItem, RouteUseItem, ParallelUseItem, InterceptUseItem, CacheItem, } from "../route-types.js";
5
- export type { InterceptConfig, InterceptSelectorContext, InterceptSegmentsState, InterceptWhenFn, } from "../server/context";
6
- /**
7
- * Route helpers provided by map()
8
- * These are the only typed helpers users interact with
9
- */
10
- export type RouteHelpers<T extends RouteDefinition, TEnv> = {
11
- /**
12
- * Define a route handler for a specific route pattern
13
- * ```typescript
14
- * route("products.detail", async (ctx) => {
15
- * const product = await getProduct(ctx.params.slug);
16
- * return <ProductPage product={product} />;
17
- * })
18
- *
19
- * // With nested use() for middleware, loaders, etc.
20
- * route("products.detail", ProductHandler, () => [
21
- * loader(ProductLoader),
22
- * loading(<ProductSkeleton />),
23
- * ])
24
- * ```
25
- * @param name - Route name matching a key from route definitions
26
- * @param handler - Async function that returns JSX for the route
27
- * @param use - Optional callback returning middleware, loaders, loading, etc.
28
- */
29
- route: <K extends keyof ResolvedRouteMap<T> & string>(name: K, handler: Handler<ExtractRouteParams<T, K & string>, {}, TEnv>, use?: () => UseItems<RouteUseItem>) => RouteItem;
30
- /**
31
- * Define a layout that wraps child routes
32
- * ```typescript
33
- * layout(<RootLayout />, () => [
34
- * route("home", HomePage),
35
- * route("about", AboutPage),
36
- * ])
37
- *
38
- * // With dynamic layout handler
39
- * layout(async (ctx) => {
40
- * const user = ctx.get("user");
41
- * return <DashboardShell user={user} />;
42
- * }, () => [
43
- * middleware(authMiddleware),
44
- * route("dashboard", DashboardPage),
45
- * ])
46
- * ```
47
- * @param component - Static JSX or async handler for the layout
48
- * @param use - Callback returning child routes, middleware, loaders, etc.
49
- */
50
- layout: (component: ReactNode | Handler<any, any, TEnv>, use?: () => UseItems<LayoutUseItem>) => LayoutItem;
51
- /**
52
- * Define parallel routes that render simultaneously in named slots
53
- * ```typescript
54
- * parallel({
55
- * "@sidebar": <Sidebar />,
56
- * "@main": async (ctx) => <MainContent data={ctx.use(DataLoader)} />,
57
- * })
58
- *
59
- * // With loaders and loading states (broadcast to every slot)
60
- * parallel({
61
- * "@analytics": AnalyticsPanel,
62
- * "@metrics": MetricsPanel,
63
- * }, () => [
64
- * loader(DashboardLoader),
65
- * loading(<DashboardSkeleton />),
66
- * ])
67
- *
68
- * // Per-slot scoped use via slot descriptor — for single-assignment items
69
- * // like loading() that should not broadcast to siblings.
70
- * parallel({
71
- * "@meta": MetaSlot,
72
- * "@sidebar": {
73
- * handler: SidebarSlot,
74
- * use: () => [loading(<SidebarSkeleton />)],
75
- * },
76
- * })
77
- * ```
78
- * @param slots - Object with slot names (prefixed with @) mapped to handlers
79
- * or `{ handler, use? }` slot descriptors.
80
- * @param use - Optional callback for loaders, loading, revalidate, etc.
81
- * Items here apply to every slot in the call (broadcast).
82
- * For per-slot single-assignment items, use the slot descriptor's
83
- * own `use` callback — slot-local items run after the broadcast,
84
- * so they take precedence on `loading()` and other last-write-wins
85
- * fields.
86
- */
87
- parallel: (slots: Record<`@${string}`, Handler<any, any, TEnv> | ReactNode | {
88
- handler: Handler<any, any, TEnv> | ReactNode;
89
- use?: () => UseItems<ParallelUseItem>;
90
- }>, use?: () => UseItems<ParallelUseItem>) => ParallelItem;
91
- /**
92
- * Define an intercepting route for soft navigation
93
- *
94
- * When soft-navigating to the target route from within the current layout,
95
- * the intercept handler renders in the named slot instead of the route's
96
- * default handler. Direct navigation uses the route's handler.
97
- *
98
- * ```typescript
99
- * // In a layout - intercept "card" route as modal
100
- * layout(<KanbanLayout />, () => [
101
- * intercept("@modal", "card", () => <CardModal />),
102
- * ])
103
- *
104
- * // With loaders and revalidation
105
- * intercept("@modal", "card", () => <CardModal />, () => [
106
- * loader(CardModalLoader),
107
- * revalidate(() => false),
108
- * ])
109
- *
110
- * // Conditional activation via the config object's `when` selector
111
- * intercept("@modal", "card", <CardModal />, {
112
- * when: ({ from }) => from.pathname.startsWith("/board"),
113
- * })
114
- *
115
- * // Config + other use-items: config is arg 4, use is arg 5
116
- * intercept(
117
- * "@modal",
118
- * "card",
119
- * <CardModal />,
120
- * { when: ({ from }) => from.pathname.startsWith("/board") },
121
- * () => [loader(CardDetailLoader)],
122
- * )
123
- * ```
124
- * @param slotName - Named slot (prefixed with @) where intercept renders
125
- * @param routeName - Route name to intercept
126
- * @param handler - Component or handler for intercepted render
127
- * @param config - Optional InterceptConfig (e.g. `{ when }`), or the use
128
- * callback directly when there is no config
129
- * @param use - Optional callback for loaders, middleware, revalidate, etc.
130
- */
131
- intercept: {
132
- <K extends keyof ResolvedRouteMap<T> & string>(slotName: `@${string}`, routeName: `.${K}`, handler: ReactNode | Handler<ExtractRouteParams<T, K>, {}, TEnv>, config?: import("../server/context.js").InterceptConfig<TEnv> | (() => UseItems<InterceptUseItem>), use?: () => UseItems<InterceptUseItem>): InterceptItem;
133
- <K extends keyof Rango.GeneratedRouteMap & string>(slotName: `@${string}`, routeName: K, handler: ReactNode | Handler<K, Rango.GeneratedRouteMap, TEnv>, config?: import("../server/context.js").InterceptConfig<TEnv> | (() => UseItems<InterceptUseItem>), use?: () => UseItems<InterceptUseItem>): InterceptItem;
134
- };
135
- /**
136
- * Attach middleware to the current route/layout, or wrap child segments
137
- *
138
- * **Sibling mode** — attaches middleware to the parent entry:
139
- * ```typescript
140
- * layout(<DashboardShell />, () => [
141
- * middleware(authMiddleware),
142
- * middleware([authMiddleware, loggingMiddleware]),
143
- * path("/", DashboardPage),
144
- * ])
145
- * ```
146
- *
147
- * **Wrapping mode** — scopes middleware to the children only:
148
- * ```typescript
149
- * middleware(authMiddleware, () => [
150
- * path("/dashboard", DashboardPage),
151
- * path("/settings", SettingsPage),
152
- * ])
153
- *
154
- * middleware([authMiddleware, loggingMiddleware], () => [
155
- * path("/admin", AdminPage),
156
- * ])
157
- * ```
158
- */
159
- middleware: {
160
- (fn: MiddlewareFn<TEnv>): MiddlewareItem;
161
- (fn: MiddlewareFn<TEnv>, children: () => UseItems<LayoutUseItem>): MiddlewareItem;
162
- (fns: MiddlewareFn<TEnv>[]): MiddlewareItem;
163
- (fns: MiddlewareFn<TEnv>[], children: () => UseItems<LayoutUseItem>): MiddlewareItem;
164
- };
165
- /**
166
- * Control when a segment should revalidate during navigation
167
- * ```typescript
168
- * // Revalidate when params change
169
- * revalidate(({ currentParams, nextParams }) =>
170
- * currentParams.slug !== nextParams.slug
171
- * )
172
- *
173
- * // Revalidate after specific actions (actionId format: "path/to/file.ts#exportName")
174
- * // Use `|| undefined` (defer), not `?? false` (hard short-circuit), so the
175
- * // chain and the segment default still apply when there is no match.
176
- * revalidate(({ actionId }) =>
177
- * actionId?.includes("Cart") || undefined
178
- * )
179
- *
180
- * // Soft decision (suggest but allow override)
181
- * revalidate(({ defaultShouldRevalidate }) =>
182
- * ({ defaultShouldRevalidate: true })
183
- * )
184
- * ```
185
- * @param fn - Function returning either:
186
- * - `boolean` (hard decision — short-circuits the chain),
187
- * - `{ defaultShouldRevalidate: boolean }` (soft — updates the suggestion
188
- * for downstream revalidators),
189
- * - or nothing / `null` / `undefined` (defer — leaves the suggestion
190
- * unchanged and continues to the next revalidator).
191
- */
192
- revalidate: (fn: ShouldRevalidateFn<any, TEnv>) => RevalidateItem;
193
- /**
194
- * Attach a data loader to the current route/layout
195
- * ```typescript
196
- * loader(ProductLoader)
197
- *
198
- * // With loader-specific revalidation (match by file or export name)
199
- * loader(CartLoader, () => [
200
- * revalidate(({ actionId }) => actionId?.includes("Cart") || undefined),
201
- * ])
202
- *
203
- * // Consume in client components with useLoader()
204
- * // (preferred — cache-safe, always fresh)
205
- * function ProductDetails() {
206
- * const { data } = useLoader(ProductLoader);
207
- * return <div>{data.name}</div>;
208
- * }
209
- * ```
210
- * @param loaderDef - Loader created with createLoader()
211
- * @param use - Optional callback for loader-specific revalidation rules
212
- */
213
- loader: <TData>(loaderDef: LoaderDefinition<TData>, use?: () => UseItems<LoaderUseItem>) => LoaderItem;
214
- /**
215
- * Attach a loading component to the current route/layout
216
- * ```typescript
217
- * // Show loading on all requests (including SSR)
218
- * loading(<Skeleton />)
219
- *
220
- * // Skip loading on SSR, only show on client navigation
221
- * loading(<Skeleton />, { ssr: false })
222
- * ```
223
- * @param component - The loading UI to show during navigation
224
- * @param options - Configuration options
225
- * @param options.ssr - If false, skip showing loading on document requests (SSR)
226
- */
227
- loading: (component: ReactNode | (() => ReactNode), options?: {
228
- ssr?: boolean;
229
- }) => LoadingItem;
230
- /**
231
- * Attach an error boundary to catch errors in this segment and children
232
- * ```typescript
233
- * errorBoundary(<ErrorFallback />)
234
- *
235
- * // With dynamic error handler
236
- * errorBoundary(({ error, reset }) => (
237
- * <div>
238
- * <h2>Something went wrong</h2>
239
- * <p>{error.message}</p>
240
- * <button onClick={reset}>Try again</button>
241
- * </div>
242
- * ))
243
- * ```
244
- * @param fallback - Static JSX or handler receiving error info and reset function
245
- */
246
- errorBoundary: (fallback: ReactNode | ErrorBoundaryHandler) => ErrorBoundaryItem;
247
- /**
248
- * Attach a not-found boundary to handle notFound() calls in this segment
249
- * ```typescript
250
- * notFoundBoundary(<ProductNotFound />)
251
- *
252
- * // With dynamic handler
253
- * notFoundBoundary(({ notFound }) => (
254
- * <div>
255
- * <h2>{notFound.message}</h2>
256
- * <a href="/products">Browse all products</a>
257
- * </div>
258
- * ))
259
- * ```
260
- * @param fallback - Static JSX or handler receiving not-found info
261
- */
262
- notFoundBoundary: (fallback: ReactNode | NotFoundBoundaryHandler) => NotFoundBoundaryItem;
263
- /**
264
- * Define cache configuration for segments
265
- *
266
- * Creates a cache boundary that applies to all children unless overridden.
267
- * Cache config inherits down the route tree like middleware wrapping.
268
- *
269
- * When ttl is not specified, uses store defaults (explicit store first,
270
- * then app-level store). When store is not specified, uses app-level store.
271
- *
272
- * Note: Loaders are NOT cached by default. Use cache() inside loader()
273
- * to explicitly opt-in to loader caching.
274
- *
275
- * ```typescript
276
- * // Using app-level defaults (ttl inherited from store.defaults)
277
- * cache(() => [
278
- * layout(<BlogLayout />), // cached with default TTL
279
- * route("post/:slug"), // cached with default TTL
280
- * ])
281
- *
282
- * // Cache all segments with explicit 60s TTL
283
- * cache({ ttl: 60 }, () => [
284
- * layout(<BlogLayout />), // cached
285
- * route("post/:slug"), // cached
286
- * ])
287
- *
288
- * // With stale-while-revalidate
289
- * cache({ ttl: 60, swr: 300 }, () => [
290
- * route("product/:id"),
291
- * ])
292
- *
293
- * // Override for specific section
294
- * cache({ ttl: 60 }, () => [
295
- * layout(<RootLayout />),
296
- * cache({ ttl: 300 }, () => [
297
- * route("static-page"), // longer TTL
298
- * ]),
299
- * cache(false, () => [
300
- * route("admin"), // not cached
301
- * ]),
302
- * ])
303
- *
304
- * // Use different store for specific routes
305
- * cache({ store: kvStore, ttl: 3600 }, () => [
306
- * route("archive/:year"), // uses KV store
307
- * ])
308
- *
309
- * // Opt-in loader caching
310
- * route("product/:id", ProductHandler, () => [
311
- * loader(ProductLoader), // NOT cached (default)
312
- * loader(StaticMetadata, () => [
313
- * cache({ ttl: 3600 }), // cached for 1 hour
314
- * ]),
315
- * ])
316
- * ```
317
- * @param optionsOrChildren - Cache options, false to disable, or children callback
318
- * @param children - Optional callback returning child segments (when first arg is options)
319
- */
320
- cache: {
321
- (): CacheItem;
322
- (children: () => UseItems<AllUseItems>): CacheItem;
323
- (options: PartialCacheOptions<TEnv> | false, use?: () => UseItems<AllUseItems>): CacheItem;
324
- };
325
- /**
326
- * Opt a route (or group of routes) into transition-driven navigation.
327
- *
328
- * `transition()` does two independent things, and you choose how far to go:
329
- * 1. startTransition (ALL React versions): the navigation commit is driven
330
- * through React's startTransition, so a same-route nav (same route,
331
- * different params, e.g. /product/1 -> /product/2) holds the previous
332
- * content while the new loader resolves instead of flashing the route's
333
- * loading() skeleton (see segment-system.tsx inTransitionScope). This is
334
- * also the precondition for any view-transition animation.
335
- * 2. <ViewTransition> (experimental React only): the segment content is also
336
- * wrapped in React's <ViewTransition>, so the held swap cross-fades/morphs.
337
- * Layered on by default; pass { viewTransition: false } to keep #1 without
338
- * the router boundary (and place your own <ViewTransition> instead).
339
- *
340
- * A view transition cannot fire without a startTransition, so the meaningful
341
- * choices are (see skills/view-transitions for the full matrix):
342
- * - no transition() -> neither (remount + skeleton)
343
- * - transition({ viewTransition: false }) -> startTransition only (hold)
344
- * - transition({}) / transition({ enter… }) -> startTransition + ViewTransition
345
- *
346
- * Precedence: a bare transition({}) inherits createRouter({ viewTransition })
347
- * (default "auto"); an explicit per-route `viewTransition` always wins. So
348
- * transition({}) is startTransition + ViewTransition under the default and
349
- * startTransition only when the router sets viewTransition: false.
350
- *
351
- * Conditional hold: pass `when: (ctx) => boolean` to gate the transition per
352
- * request. It runs server-side AFTER the route handler (so it can read state
353
- * the handler set via `ctx.get(...)`); returning false drops this transition
354
- * for the request, so the navigation streams its loading() skeleton instead of
355
- * holding. This is a post-handler predicate — distinct from intercept()'s
356
- * match-time `when` config selector (`intercept(slot, route, Comp, { when })`).
357
- *
358
- * ```typescript
359
- * // Attach to a single route
360
- * path("/about", AboutPage, { name: "about" }, () => [
361
- * transition({ enter: "fade-in", exit: "fade-out" }),
362
- * ])
363
- *
364
- * // Wrap a group of routes
365
- * transition({ enter: "fade-in", exit: "fade-out" }, () => [
366
- * path("/", HomePage),
367
- * path("/about", AboutPage),
368
- * ])
369
- *
370
- * // Hold content + drive view transitions, but place no router boundary:
371
- * path("/product/:id", ProductPage, { name: "product" }, () => [
372
- * transition({ viewTransition: false }),
373
- * ])
374
- *
375
- * // Hold only when the handler decided to (post-handler predicate):
376
- * path("/product/:id", ProductPage, { name: "product" }, () => [
377
- * transition({ when: (ctx) => ctx.get(KeepScroll) === true }),
378
- * ])
379
- * ```
380
- * @param config - ViewTransition configuration (enter, exit, update, share,
381
- * default, name), `viewTransition: "auto" | false` to toggle the router
382
- * boundary (createRouter({ viewTransition }) sets the app-wide default), and
383
- * `when: (ctx) => boolean` to gate the transition per request post-handler
384
- * @param children - Optional callback returning child routes to wrap
385
- */
386
- transition: {
387
- (): TransitionItem;
388
- (children: () => UseItems<AllUseItems>): TransitionItem;
389
- (config: TransitionConfig): TransitionItem;
390
- (config: TransitionConfig, children: () => UseItems<AllUseItems>): TransitionItem;
391
- };
392
- };
@@ -1,7 +0,0 @@
1
- export type { RouteHelpers } from "./helpers-types.js";
2
- export type { AllUseItems, LayoutItem, RouteItem, ParallelItem, InterceptItem, MiddlewareItem, RevalidateItem, LoaderItem, ErrorBoundaryItem, NotFoundBoundaryItem, LayoutUseItem, RouteUseItem, ParallelUseItem, InterceptUseItem, CacheItem, InterceptConfig, InterceptSelectorContext, InterceptSegmentsState, InterceptWhenFn, } from "./helpers-types.js";
3
- export { layout, cache, middleware, revalidate, parallel, intercept, errorBoundary, notFoundBoundary, loader, loading, transition, } from "./dsl-helpers.js";
4
- export { map, createRouteHelpers, type RouteHandlers, } from "./helper-factories.js";
5
- export { resolveHandlerUse } from "./resolve-handler-use.js";
6
- export { redirect } from "./redirect.js";
7
- export { createLoader } from "../loader.rsc.js";
@@ -1,48 +0,0 @@
1
- import type { LocationStateEntry } from "../browser/react/location-state-shared.js";
2
- /**
3
- * Create a soft redirect Response for middleware short-circuit
4
- *
5
- * Returns a Response that signals a client-side navigation to the target URL.
6
- * Unlike Response.redirect() which causes a full page reload, this redirect
7
- * is handled by the router for SPA-style navigation.
8
- *
9
- * Supports an optional state parameter to carry location state through the
10
- * redirect. On the target page, state can be read via useLocationState()
11
- * (use { flash: true } in createLocationState for read-once flash messages).
12
- *
13
- * @param url - The URL to redirect to
14
- * @param statusOrOptions - HTTP status code (default: 302) or options object
15
- *
16
- * @example
17
- * ```typescript
18
- * // Simple redirect
19
- * middleware((ctx, next) => {
20
- * if (!ctx.get('user')) {
21
- * return redirect('/login');
22
- * }
23
- * next();
24
- * })
25
- *
26
- * // Redirect with state
27
- * return redirect('/dashboard', {
28
- * state: [Flash({ text: "Item saved!" })],
29
- * });
30
- *
31
- * // Redirect with custom status and state
32
- * return redirect('/login', {
33
- * status: 303,
34
- * state: [Flash({ text: "Session expired" })],
35
- * });
36
- *
37
- * // Off-host redirect (opt out of the same-origin guard). Without
38
- * // `external: true`, a cross-origin target is blocked and replaced with the
39
- * // app root, matching the client's open-redirect protection.
40
- * return redirect('https://accounts.example.com/oauth', { external: true });
41
- * ```
42
- */
43
- export declare function redirect(url: string, status?: number): Response;
44
- export declare function redirect(url: string, options: {
45
- status?: number;
46
- state?: LocationStateEntry | LocationStateEntry[];
47
- external?: boolean;
48
- }): Response;
@@ -1,19 +0,0 @@
1
- import type { AllUseItems } from "../route-types.js";
2
- /**
3
- * Extract the .use callback from any handler shape.
4
- *
5
- * Checks definition brands first (objects with __brand), then plain functions.
6
- * ReactNode handlers return undefined (no .use possible).
7
- */
8
- export declare function resolveHandlerUse(handler: unknown): (() => any[]) | undefined;
9
- /**
10
- * Validate that items from handler.use() are valid for the given mount site.
11
- * Throws a descriptive error if any item is not allowed.
12
- */
13
- export declare function validateHandlerUseItems(items: AllUseItems[], mountSite: string): void;
14
- /**
15
- * Create a merged use callback from handler.use and explicit use.
16
- * handler.use items come first (defaults), explicit items second (overrides).
17
- * Returns undefined if both are absent.
18
- */
19
- export declare function mergeHandlerUse(handlerUse: (() => any[]) | undefined, explicitUse: (() => any[]) | undefined, mountSite: string): (() => any[]) | undefined;
@@ -1 +0,0 @@
1
- export declare const ALL_USE_ITEM_TYPES: ReadonlySet<string>;
@@ -1 +0,0 @@
1
- export * from "./route-definition/index.js";
@@ -1,127 +0,0 @@
1
- /**
2
- * Route manifest storage and retrieval.
3
- *
4
- * The route manifest maps route names to URL patterns. It is populated
5
- * by the virtual module (which imports from .named-routes.gen.ts files)
6
- * and consumed by reverse() and href() at runtime.
7
- *
8
- * See docs/manifests.md for the full data flow.
9
- */
10
- declare let cachedPrecomputedEntries: Array<{
11
- staticPrefix: string;
12
- routes: Record<string, string>;
13
- }> | null;
14
- /**
15
- * Register routes into the global route map.
16
- * Routes are merged with any existing registered routes.
17
- * Called by createRouter() during module evaluation, and by lazy-include
18
- * expansion (src/router/lazy-includes.ts) with each expansion's route delta.
19
- *
20
- * Merges IN PLACE — O(|map|), not O(total routes). The previous
21
- * `globalRouteMap = { ...globalRouteMap, ...map }` copy made every
22
- * lazy-include first hit O(total routes) on the request path: with a 26k-route
23
- * manifest the spread measured 8.9ms/call (M4, node), paid once per level of a
24
- * nested async-include chain (3 calls on a 3-level chain — the 464ms edge
25
- * cold-hit in issue #666).
26
- *
27
- * In-place mutation is safe because every getGlobalRouteMap() consumer reads
28
- * it fresh per call (server/request-context.ts, rsc/loader-fetch.ts,
29
- * router/intercept-resolution.ts, testing/generated-routes.ts,
30
- * rsc/manifest-init.ts) — none memoizes the returned reference. If you add a
31
- * consumer that caches the map object, it will now observe later
32
- * registrations; snapshot it yourself if you need frozen contents.
33
- */
34
- export declare function registerRouteMap(map: Record<string, string>): void;
35
- /**
36
- * Get the globally registered route map
37
- *
38
- * Used internally by reverse to resolve route names to URLs at runtime.
39
- * Returns the cached manifest if available (complete with lazy includes),
40
- * otherwise returns the runtime-accumulated route map.
41
- *
42
- * @returns The registered route map
43
- * @internal
44
- */
45
- export declare function getGlobalRouteMap(): Record<string, string>;
46
- /**
47
- * Set the cached manifest (for runtime cache integration)
48
- *
49
- * This sets the complete route manifest from a runtime cache.
50
- * The cached manifest includes all routes (including lazy includes)
51
- * and takes precedence over the incrementally-built globalRouteMap.
52
- *
53
- * @param manifest - The complete route manifest to cache
54
- */
55
- export declare function setCachedManifest(manifest: Record<string, string>): void;
56
- /**
57
- * Check if a cached manifest is loaded
58
- *
59
- * @returns true if a complete manifest is available
60
- */
61
- export declare function hasCachedManifest(): boolean;
62
- /**
63
- * Clear the cached manifest (for testing)
64
- */
65
- export declare function clearCachedManifest(): void;
66
- /**
67
- * Set pre-computed route entries from build-time data.
68
- *
69
- * Each entry corresponds to a leaf node in the prefix tree (no nested includes).
70
- * evaluateLazyEntry() checks these before running the handler, avoiding the
71
- * 5-50ms cost of handler evaluation for route matching on the first request.
72
- *
73
- * @param entries - Array of { staticPrefix, routes } from build-time prefix tree leaves
74
- */
75
- export declare function setPrecomputedEntries(entries: Array<{
76
- staticPrefix: string;
77
- routes: Record<string, string>;
78
- }> | null): void;
79
- /**
80
- * Get pre-computed route entries (if available)
81
- */
82
- export declare function getPrecomputedEntries(): typeof cachedPrecomputedEntries;
83
- declare let cachedRouteTrie: import("./build/route-trie.js").TrieNode | null;
84
- export declare function setRouteTrie(trie: typeof cachedRouteTrie): void;
85
- export declare function getRouteTrie(): typeof cachedRouteTrie;
86
- /**
87
- * Clear all cached route data (global and per-router).
88
- * Called during HMR when route definitions change so the handler rebuilds
89
- * the trie from the updated router.urlpatterns on the next request.
90
- *
91
- * The virtual module calls this before repopulating with fresh data,
92
- * preventing stale entries from removed routes from accumulating.
93
- */
94
- export declare function clearAllRouterData(): void;
95
- export declare function setRouterManifest(routerId: string, manifest: Record<string, string>): void;
96
- /** @internal */
97
- export declare function getRouterManifest(routerId: string): Record<string, string> | undefined;
98
- export declare function setRouterTrie(routerId: string, trie: import("./build/route-trie.js").TrieNode): void;
99
- export declare function markRouterTrieAuthoritative(routerId: string): void;
100
- export declare function isRouterTrieAuthoritative(routerId: string): boolean;
101
- export declare function getRouterTrie(routerId: string): import("./build/route-trie.js").TrieNode | undefined;
102
- export declare function setRouterPrecomputedEntries(routerId: string, entries: Array<{
103
- staticPrefix: string;
104
- routes: Record<string, string>;
105
- }>): void;
106
- export declare function getRouterPrecomputedEntries(routerId: string): Array<{
107
- staticPrefix: string;
108
- routes: Record<string, string>;
109
- }> | undefined;
110
- export declare function registerRouterManifestLoader(routerId: string, loader: () => Promise<any>): void;
111
- export declare function ensureRouterManifest(routerId: string): Promise<void>;
112
- export declare function setManifestReadyPromise(promise: Promise<void>): void;
113
- export declare function waitForManifestReady(): Promise<void> | null;
114
- /**
115
- * Register whether a route is at root scope.
116
- * Called by path() during route evaluation.
117
- */
118
- export declare function registerRouteRootScope(routeName: string, rootScoped: boolean): void;
119
- /**
120
- * Check if a route is at root scope.
121
- * Returns undefined if the route has not been registered (e.g. in unit tests).
122
- */
123
- export declare function isRouteRootScoped(routeName: string): boolean | undefined;
124
- import type { SearchSchema } from "./search-params.js";
125
- export declare function registerSearchSchema(routeName: string, schema: SearchSchema): void;
126
- export declare function getSearchSchema(routeName: string): SearchSchema | undefined;
127
- export {};
@@ -1,27 +0,0 @@
1
- /**
2
- * Route name utilities for filtering internal route names.
3
- *
4
- * Internal names stay active in the runtime manifest for matching and local
5
- * reverse() resolution, but they must not leak into public APIs or generated
6
- * route maps.
7
- */
8
- export declare const AUTO_GENERATED_ROUTE_PREFIX = "$path_";
9
- export declare const INTERNAL_INCLUDE_SCOPE_PREFIX = "$prefix_";
10
- /**
11
- * Check if a route name is internal.
12
- * Internal names include:
13
- * - unnamed path() routes like "$path__health" or "docs.$path__health"
14
- * - hidden include scopes like "$prefix_0.index" or "blog.$prefix_1.post"
15
- *
16
- * User-defined names containing "$" (e.g. "docs.$admin") are valid and must
17
- * be preserved.
18
- */
19
- export declare function isAutoGeneratedRouteName(name: string): boolean;
20
- /**
21
- * Validate that a user-provided route name does not collide with
22
- * reserved internal prefixes. Checks every dot-separated segment,
23
- * mirroring the same rule used by isAutoGeneratedRouteName().
24
- *
25
- * Throws with a clear message when a reserved prefix is detected.
26
- */
27
- export declare function validateUserRouteName(name: string): void;