@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,184 +0,0 @@
1
- import { Component, type ReactNode } from "react";
2
- import { type ClientErrorBoundaryFallbackProps } from "./types";
3
- /**
4
- * Outlet component - renders child content in layouts
5
- *
6
- * If the current segment defines a loading component, the outlet content
7
- * is wrapped in Suspense with the loading component as fallback.
8
- * This means during navigation/streaming, React's Suspense will automatically
9
- * show the loading skeleton until the content is ready.
10
- *
11
- * When a name prop is provided (e.g., "@modal"), renders content from
12
- * the parallel segment with that slot name instead of the default content.
13
- * This is used for parallel routes and intercepting routes.
14
- *
15
- * For a named slot, `<Outlet name="@x" />` is equivalent to
16
- * `<ParallelOutlet name="@x" />` — both run the same resolution + wrapping
17
- * pipeline. Convention: use bare `<Outlet />` for default content and
18
- * `<ParallelOutlet name="@x" />` for named slots.
19
- *
20
- * @param name - Optional slot name for parallel/intercept content (must start with @)
21
- *
22
- * @example
23
- * ```tsx
24
- * function BlogLayout() {
25
- * return (
26
- * <div>
27
- * <h1>Blog</h1>
28
- * <Outlet />
29
- * </div>
30
- * );
31
- * }
32
- *
33
- * // With named slot for modal/parallel content:
34
- * function KanbanLayout() {
35
- * return (
36
- * <div>
37
- * <KanbanBoard />
38
- * <Outlet name="@modal" />
39
- * <Outlet />
40
- * </div>
41
- * );
42
- * }
43
- * ```
44
- */
45
- export declare function Outlet({ name }?: {
46
- name?: `@${string}`;
47
- }): ReactNode;
48
- /**
49
- * ParallelOutlet component - renders content for a named parallel slot
50
- *
51
- * If the parallel segment defines a loading component, the content
52
- * is wrapped in Suspense with the loading component as fallback.
53
- * This enables streaming and navigation loading states for parallels.
54
- *
55
- * Equivalent to `<Outlet name="@x" />` for a named slot; ParallelOutlet
56
- * requires `name` and is named-slot-only, which reads clearer at the call site.
57
- *
58
- * @param name - The slot name (must start with @, e.g., "@modal", "@sidebar")
59
- *
60
- * @example
61
- * ```tsx
62
- * function DashboardLayout() {
63
- * return (
64
- * <div>
65
- * <h1>Dashboard</h1>
66
- * <ParallelOutlet name="@sidebar" />
67
- * <ParallelOutlet name="@modal" />
68
- * </div>
69
- * );
70
- * }
71
- * ```
72
- */
73
- export declare function ParallelOutlet({ name }: {
74
- name: `@${string}`;
75
- }): ReactNode;
76
- /**
77
- * Hook to access outlet content programmatically
78
- *
79
- * Alternative to using <Outlet /> component. Useful when you need
80
- * direct access to the outlet content in your logic.
81
- *
82
- * @example
83
- * ```tsx
84
- * function BlogLayout() {
85
- * const outlet = useOutlet();
86
- * return <div><h1>Blog</h1>{outlet}</div>;
87
- * }
88
- * ```
89
- */
90
- export declare function useOutlet(): ReactNode;
91
- export { useLoader, useFetchLoader, useRefreshLoaders, type LoadFunction, type UseLoaderResult, type UseFetchLoaderResult, type UseLoaderOptions, } from "./use-loader.js";
92
- /**
93
- * Props for the ErrorBoundary component
94
- */
95
- export interface ErrorBoundaryProps {
96
- /** Fallback UI to show when an error is caught */
97
- fallback: ReactNode | ((props: ClientErrorBoundaryFallbackProps) => ReactNode);
98
- /** Children to render */
99
- children: ReactNode;
100
- /** Optional callback when an error is caught */
101
- onError?: (error: Error, errorInfo: React.ErrorInfo) => void;
102
- }
103
- interface ErrorBoundaryState {
104
- hasError: boolean;
105
- error: Error | null;
106
- }
107
- /**
108
- * Client-side ErrorBoundary component
109
- *
110
- * Catches JavaScript errors in child components during rendering,
111
- * in lifecycle methods, and in constructors of the whole tree below them.
112
- * Displays a fallback UI instead of the component tree that crashed.
113
- *
114
- * Use this to wrap client components that might throw during hydration
115
- * or user interaction. For server-side errors (middleware, loaders, handlers),
116
- * use the errorBoundary() helper in route definitions instead.
117
- *
118
- * @example
119
- * ```tsx
120
- * "use client";
121
- * import { ErrorBoundary } from "rsc-router/client";
122
- *
123
- * function MyComponent() {
124
- * return (
125
- * <ErrorBoundary fallback={<div>Something went wrong</div>}>
126
- * <ComponentThatMightThrow />
127
- * </ErrorBoundary>
128
- * );
129
- * }
130
- *
131
- * // Or with a function fallback for more control:
132
- * function MyComponent() {
133
- * return (
134
- * <ErrorBoundary
135
- * fallback={({ error, reset }) => (
136
- * <div>
137
- * <p>Error: {error.message}</p>
138
- * <button onClick={reset}>Try again</button>
139
- * </div>
140
- * )}
141
- * >
142
- * <ComponentThatMightThrow />
143
- * </ErrorBoundary>
144
- * );
145
- * }
146
- * ```
147
- */
148
- export declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
149
- constructor(props: ErrorBoundaryProps);
150
- static getDerivedStateFromError(error: Error): ErrorBoundaryState;
151
- componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void;
152
- reset: () => void;
153
- render(): ReactNode;
154
- }
155
- export { useNavigation } from "./browser/react/use-navigation.js";
156
- export { useRouter } from "./browser/react/use-router.js";
157
- export { usePathname } from "./browser/react/use-pathname.js";
158
- export { useSearchParams } from "./browser/react/use-search-params.js";
159
- export { useParams } from "./browser/react/use-params.js";
160
- export { useNonce } from "./browser/react/nonce-context.js";
161
- export type { RouterInstance, RouterNavigateOptions, ReadonlyURLSearchParams, ActionState, ActionLifecycleState, } from "./browser/types.js";
162
- export { useAction, type ServerActionFunction, } from "./browser/react/use-action.js";
163
- export { useSegments, type SegmentsState, } from "./browser/react/use-segments.js";
164
- export { NavigationProvider, type NavigationProviderProps, } from "./browser/react/NavigationProvider.js";
165
- export { Link, type LinkProps, type PrefetchStrategy, type StateOrGetter, type LinkState, } from "./browser/react/Link.js";
166
- export { useLinkStatus, type LinkStatus, } from "./browser/react/use-link-status.js";
167
- export { ScrollRestoration, useScrollRestoration, type ScrollRestorationProps, } from "./browser/react/ScrollRestoration.js";
168
- export { type Handle } from "./handle.js";
169
- export { useHandle } from "./browser/react/use-handle.js";
170
- export { Meta } from "./handles/meta.js";
171
- export { MetaTags } from "./handles/MetaTags.js";
172
- export type { MetaDescriptor, MetaDescriptorBase } from "./router/types.js";
173
- export { Script, type ScriptConfig, type ScriptAttributes, } from "./handles/script.js";
174
- export { Scripts } from "./handles/Scripts.js";
175
- export { Breadcrumbs, type BreadcrumbItem } from "./handles/breadcrumbs.js";
176
- export { createLocationState, useLocationState, type LocationStateDefinition, type LocationStateEntry, type LocationStateOptions, } from "./browser/react/location-state.js";
177
- export { href, type PatternToPath } from "./href-client.js";
178
- export type { ProblemDetails } from "./urls.js";
179
- export { useMount } from "./browser/react/use-mount.js";
180
- export { MountContext } from "./browser/react/mount-context.js";
181
- export { useHref } from "./browser/react/use-href.js";
182
- export { useReverse } from "./browser/react/use-reverse.js";
183
- export type { ScopedReverseFunction, LocalReverseFunction } from "./reverse.js";
184
- export type { LoaderDefinition } from "./types.js";
@@ -1,39 +0,0 @@
1
- /**
2
- * RSC-environment version of client exports
3
- *
4
- * This file is used when importing "rsc-router/client" from RSC (server components).
5
- * It re-exports the server's createLoader so that loader definitions work in both
6
- * environments with the same import.
7
- *
8
- * The bundler uses the "react-server" export condition to select this file
9
- * in RSC context, while the regular client.tsx is used in client components.
10
- */
11
- export { Outlet, ParallelOutlet, useOutlet, useLoader, ErrorBoundary, type ErrorBoundaryProps, } from "./client.js";
12
- export { useFetchLoader, useRefreshLoaders, type LoadFunction, type UseLoaderResult, type UseFetchLoaderResult, type UseLoaderOptions, } from "./use-loader.js";
13
- export { createLoader } from "./route-definition.js";
14
- export { useRouter } from "./browser/react/use-router.js";
15
- export { usePathname } from "./browser/react/use-pathname.js";
16
- export { useSearchParams } from "./browser/react/use-search-params.js";
17
- export { useParams } from "./browser/react/use-params.js";
18
- export { useNonce } from "./browser/react/nonce-context.js";
19
- export { useMount } from "./browser/react/use-mount.js";
20
- export { useSegments, type SegmentsState, } from "./browser/react/use-segments.js";
21
- export { useLinkStatus, type LinkStatus, } from "./browser/react/use-link-status.js";
22
- export { useScrollRestoration } from "./browser/react/ScrollRestoration.js";
23
- export { Link, type LinkProps, type PrefetchStrategy, } from "./browser/react/Link.js";
24
- export { ScrollRestoration, type ScrollRestorationProps, } from "./browser/react/ScrollRestoration.js";
25
- export { NavigationProvider, type NavigationProviderProps, } from "./browser/react/NavigationProvider.js";
26
- export { href } from "./href-client.js";
27
- export { MountContext } from "./browser/react/mount-context.js";
28
- export { createHandle, isHandle, type Handle } from "./handle.js";
29
- export { Meta } from "./handles/meta.js";
30
- export { MetaTags } from "./handles/MetaTags.js";
31
- export type { MetaDescriptor, MetaDescriptorBase } from "./router/types.js";
32
- export { Script, type ScriptConfig, type ScriptAttributes, } from "./handles/script.js";
33
- export { Scripts } from "./handles/Scripts.js";
34
- export { Breadcrumbs, type BreadcrumbItem } from "./handles/breadcrumbs.js";
35
- export { createLocationState, type LocationStateDefinition, type LocationStateEntry, type LocationStateOptions, } from "./browser/react/location-state-shared.js";
36
- export { useHref } from "./browser/react/use-href.js";
37
- export { useReverse } from "./browser/react/use-reverse.js";
38
- export { useHandle } from "./browser/react/use-handle.js";
39
- export { useLocationState } from "./browser/react/location-state.js";
@@ -1,7 +0,0 @@
1
- /**
2
- * Cloudflare preset integration surface for @rangojs/router.
3
- *
4
- * Imported via `@rangojs/router/cloudflare`. Cloudflare-only helpers live here
5
- * so Node/other-platform consumers never pull them in.
6
- */
7
- export { createCloudflareTracing, type CloudflareTracingOptions, } from "./tracing.js";
@@ -1,53 +0,0 @@
1
- /**
2
- * Cloudflare custom-spans integration.
3
- *
4
- * Bridges the router's performance phases (request, middleware, action,
5
- * loaders, handler, render, ssr) onto Cloudflare Workers custom spans so they show
6
- * up in the trace waterfall and OpenTelemetry exports next to the platform's
7
- * automatic spans (KV reads, D1 queries, fetch calls), with correct nesting.
8
- *
9
- * Usage (Cloudflare preset only):
10
- *
11
- * import { createRouter } from "@rangojs/router";
12
- * import { createCloudflareTracing } from "@rangojs/router/cloudflare";
13
- *
14
- * export const router = createRouter({
15
- * tracing: createCloudflareTracing(),
16
- * });
17
- *
18
- * The runner reads `executionContext.tracing` (the same object as
19
- * `import { tracing } from "cloudflare:workers"`) at call time. It is therefore
20
- * dependency-free: no `cloudflare:workers` import and no hard dependency on
21
- * `@cloudflare/workers-types`, matching the convention in cache/cf. When the
22
- * worker is not running on a tracing-enabled Cloudflare runtime — Node, dev
23
- * without a tracing destination, an older runtime — `executionContext.tracing`
24
- * is undefined and every span call falls through to the work directly, so the
25
- * request behaves exactly as if tracing were off. Whether spans are actually
26
- * recorded is governed by the `observability`/tracing block in wrangler config.
27
- *
28
- * Span duration note: enterSpan ends a span when its callback's returned value
29
- * (or promise) settles. For the streaming phases (request/render/ssr) that is at
30
- * stream CONSTRUCTION, not body-drain. Instrumentation is best-effort and never
31
- * wraps or buffers the response body, so it cannot regress streaming or latency.
32
- * A loader/Suspense child that resolves mid-stream therefore keeps a rango.loader
33
- * span that can extend past its render parent — overlapping spans are valid. Uses
34
- * only the typed enterSpan API; spans bound work up to stream-handoff, matching
35
- * the co-emitted perf metric.
36
- */
37
- import { type RouterTracingConfig, type TracingToggleOptions } from "../router/tracing.js";
38
- /**
39
- * Options for createCloudflareTracing. Alias of the shared
40
- * {@link TracingToggleOptions} (`enabled` master switch + per-phase `spans`
41
- * toggles); the name is public API.
42
- */
43
- export type CloudflareTracingOptions = TracingToggleOptions;
44
- /**
45
- * Create the tracing config for a Cloudflare router. Pass the result to
46
- * `createRouter({ tracing })`. Spans are emitted for the request, middleware,
47
- * action, loaders, handler, render, and ssr phases; pass `spans` to turn
48
- * individual phases off.
49
- *
50
- * @see createOTelTracing (`@rangojs/router`) for the same slot on any platform
51
- * with an OpenTelemetry SDK.
52
- */
53
- export declare function createCloudflareTracing(options?: CloudflareTracingOptions): RouterTracingConfig;
@@ -1,46 +0,0 @@
1
- /**
2
- * Component utilities for RSC
3
- *
4
- * Helpers for working with React Server Components and client components.
5
- */
6
- import type { ComponentType } from "react";
7
- /**
8
- * Check if a component is a client component (has "use client" directive).
9
- *
10
- * Client components are marked by the bundler with:
11
- * - $$typeof: Symbol.for("react.client.reference")
12
- * - $$id: string (module identifier)
13
- *
14
- * @param component - The component to check
15
- * @returns true if the component has client reference marker
16
- *
17
- * @example
18
- * ```typescript
19
- * import { MyComponent } from "./my-component"; // has "use client"
20
- *
21
- * if (!isClientComponent(MyComponent)) {
22
- * throw new Error("MyComponent must be a client component");
23
- * }
24
- * ```
25
- */
26
- export declare function isClientComponent(component: ComponentType<unknown> | unknown): boolean;
27
- /**
28
- * Assert that a component is a client component.
29
- * Throws a descriptive error if not.
30
- *
31
- * @param component - The component to check
32
- * @param name - Name to use in error message (e.g., "document")
33
- * @param opts.allowServerInTest - When true AND running under a test runner
34
- * (`isUnderTestRunner()`), relax ONLY the "use client" requirement: a server
35
- * component is accepted. The plugin's "use client" transform does not run in a
36
- * bare unit test, so a real exported `document` (almost every app sets one) has
37
- * no client marker and would otherwise throw at `createRouter`, blocking
38
- * `dispatch`/`assertGeneratedRoutesMatch` against the real router. The document
39
- * reference is irrelevant to those (no Flight render). The "not a JSX element"
40
- * guard still fires, and a real dev/build still throws (mirrors the runtime
41
- * fallback-id gating in handle.ts/loader.ts).
42
- * @throws Error if the component is not a client component
43
- */
44
- export declare function assertClientComponent(component: ComponentType<unknown> | unknown, name: string, opts?: {
45
- allowServerInTest?: boolean;
46
- }): asserts component is ComponentType<unknown>;
@@ -1,13 +0,0 @@
1
- import type { ReactNode, ReactElement } from "react";
2
- /**
3
- * Default document component that provides a basic HTML structure.
4
- * Used when no custom document is provided to createRouter.
5
- * Includes MetaTags for automatic charset, viewport, and route meta support,
6
- * and Scripts (head + body sites) so the Script handle works out of the box.
7
- *
8
- * Uses suppressHydrationWarning on <html> because the theme script
9
- * may modify class/style attributes before React hydrates.
10
- */
11
- export declare function DefaultDocument({ children, }: {
12
- children: ReactNode;
13
- }): ReactElement;
@@ -1,84 +0,0 @@
1
- /**
2
- * Typed context variables for ctx.set() / ctx.get().
3
- *
4
- * createVar<T>() produces a typed token that handlers set and layouts/middleware
5
- * read. The token carries a unique Symbol used as the property key on the
6
- * per-request variables object — no build-time processing, no IDs.
7
- *
8
- * @example
9
- * ```ts
10
- * import { createVar } from "@rangojs/router";
11
- *
12
- * interface PaginationData { current: number; total: number }
13
- * export const Pagination = createVar<PaginationData>();
14
- *
15
- * // Non-cacheable var — ctx.get(User) throws inside a cache() boundary
16
- * export const User = createVar<UserData>({ cache: false });
17
- *
18
- * // handler
19
- * ctx.set(Pagination, { current: 1, total: 4 });
20
- *
21
- * // layout
22
- * const pg = ctx.get(Pagination); // PaginationData | undefined
23
- * ```
24
- */
25
- export interface ContextVar<T> {
26
- readonly __brand: "context-var";
27
- readonly key: symbol;
28
- /** When false, ctx.get(var) throws inside a cache() boundary. */
29
- readonly cache: boolean;
30
- /** Phantom field to carry the type parameter. Never set at runtime. */
31
- readonly __type?: T;
32
- }
33
- export interface ContextVarOptions {
34
- /**
35
- * When false, marks this variable as non-cacheable.
36
- * Reading this var with ctx.get() inside a cache() boundary throws. Use for
37
- * inherently request-specific data (user sessions, auth tokens, etc.) that
38
- * must never be baked into cached segments.
39
- *
40
- * @default true
41
- */
42
- cache?: boolean;
43
- }
44
- /**
45
- * Create a typed context variable token.
46
- *
47
- * The returned object is used with ctx.set(token, value) and ctx.get(token)
48
- * for compile-time-checked data flow between handlers, layouts, and middleware.
49
- */
50
- export declare function createVar<T>(options?: ContextVarOptions): ContextVar<T>;
51
- /**
52
- * Type guard: is the value a ContextVar token?
53
- */
54
- export declare function isContextVar(value: unknown): value is ContextVar<unknown>;
55
- /**
56
- * Does a variables object hold any entries? Counts both string keys and the
57
- * symbol-keyed entries (context vars are stored under symbols), so an object
58
- * carrying only symbol-keyed vars is still reported as non-empty.
59
- */
60
- export declare function hasContextVars(variables: object): boolean;
61
- /**
62
- * Check if a variable value is non-cacheable (either var-level or write-level).
63
- */
64
- export declare function isNonCacheable(variables: any, keyOrVar: string | ContextVar<any>): boolean;
65
- /**
66
- * Read a variable from the variables store.
67
- * Accepts either a string key (legacy) or a ContextVar token (typed).
68
- */
69
- export declare function contextGet(variables: any, keyOrVar: string | ContextVar<any>): any;
70
- export interface ContextSetOptions {
71
- /**
72
- * When false, marks this specific write as non-cacheable.
73
- * "Least cacheable wins" — if either the var definition or this option
74
- * says cache: false, the value is non-cacheable.
75
- *
76
- * @default true (inherits from createVar)
77
- */
78
- cache?: boolean;
79
- }
80
- /**
81
- * Write a variable to the variables store.
82
- * Accepts either a string key (legacy) or a ContextVar token (typed).
83
- */
84
- export declare function contextSet(variables: any, keyOrVar: string | ContextVar<any>, value: any, options?: ContextSetOptions): void;
@@ -1,57 +0,0 @@
1
- /**
2
- * Debug utilities for manifest inspection and comparison
3
- */
4
- import { type EntryData } from "./server/context";
5
- /**
6
- * Serialized entry for debug output
7
- */
8
- export interface SerializedEntry {
9
- id: string;
10
- shortCode: string;
11
- type: string;
12
- parentShortCode: string | null;
13
- pattern?: string;
14
- hasLoader: boolean;
15
- hasMiddleware: boolean;
16
- hasErrorBoundary: boolean;
17
- parallelCount: number;
18
- interceptCount: number;
19
- }
20
- /**
21
- * Serialized manifest structure
22
- */
23
- export interface SerializedManifest {
24
- routes: Record<string, SerializedEntry>;
25
- layouts: Record<string, SerializedEntry>;
26
- totalRoutes: number;
27
- totalLayouts: number;
28
- }
29
- /**
30
- * Serialize a manifest Map into a JSON-friendly structure
31
- */
32
- export declare function serializeManifest(manifest: Map<string, EntryData>): SerializedManifest;
33
- /**
34
- * Compare two manifests and return differences
35
- */
36
- export declare function compareManifests(oldManifest: SerializedManifest, newManifest: SerializedManifest): {
37
- addedRoutes: string[];
38
- removedRoutes: string[];
39
- changedRoutes: Array<{
40
- key: string;
41
- field: string;
42
- old: any;
43
- new: any;
44
- }>;
45
- addedLayouts: string[];
46
- removedLayouts: string[];
47
- changedLayouts: Array<{
48
- key: string;
49
- field: string;
50
- old: any;
51
- new: any;
52
- }>;
53
- };
54
- /**
55
- * Format manifest diff as a human-readable string
56
- */
57
- export declare function formatManifestDiff(diff: ReturnType<typeof compareManifests>): string;
@@ -1,5 +0,0 @@
1
- import type { ReactNode } from "react";
2
- export declare function decodeLoaderResults(resolvedData: any[], loaderIds: string[]): {
3
- loaderData: Record<string, any>;
4
- errorFallback: ReactNode;
5
- };
@@ -1,10 +0,0 @@
1
- import type { ReactNode } from "react";
2
- import type { ErrorBoundaryFallbackProps } from "./types.js";
3
- /**
4
- * Default error boundary fallback component
5
- *
6
- * This is rendered when an error occurs and no custom error boundary
7
- * is defined in the route tree. Shows a simple "Internal Server Error"
8
- * message with the error details in development.
9
- */
10
- export declare function DefaultErrorFallback({ error, }: ErrorBoundaryFallbackProps): ReactNode;
@@ -1,89 +0,0 @@
1
- /**
2
- * Deferred handle values — "decide synchronously, resolve late".
3
- *
4
- * A handle is pushed from code that holds `ctx` (a route/layout handler), so the
5
- * decision to push lands before the handles stream seals. But the value often
6
- * isn't known there — it may come from a deep async component far from the
7
- * handler. `ctx.use(Handle).defer()` reserves the handle's slot now (synchronous,
8
- * so ordering and the pre-seal timing hold) and returns a resolver with the SAME
9
- * signature as the push: you call it later, anywhere in the render, with the same
10
- * value you would have passed to the push.
11
- *
12
- * const breadcrumb = ctx.use(Breadcrumbs); // (item) => void & .defer()
13
- * const resolve = breadcrumb.defer({ timeoutMs: 5000, else: null });
14
- * // deep async component, far from ctx:
15
- * resolve({ label, href, content }); // identical call, just deferred
16
- *
17
- * Under the hood the reserved slot is a Promise. Handle values are resolved
18
- * before any consumer sees them (resolve-by-default: the full render resolves
19
- * server-side, navigation resolves client-side before apply), so `useHandle`
20
- * receives the resolved value, never the Promise. The hazard that guards against
21
- * bugs: a deferred slot whose resolver is never called would keep the render —
22
- * and the HTTP response — waiting forever. So a deferred auto-resolves to `else`
23
- * after `timeoutMs` (default {@link DEFAULT_DEFER_TIMEOUT_MS}) if the resolver is
24
- * never called, degrading gracefully (and warning in dev) instead of hanging.
25
- */
26
- /** Default auto-resolve window. Long enough for genuine deep async work, short
27
- * enough that a forgotten resolve does not hang the response indefinitely. */
28
- export declare const DEFAULT_DEFER_TIMEOUT_MS = 10000;
29
- /** Options for `ctx.use(Handle).defer()`. */
30
- export interface DeferOptions<TData> {
31
- /**
32
- * Auto-resolve to `else` after this many ms if the resolver is never called,
33
- * so a forgotten resolve cannot hold the Flight stream — and thus the HTTP
34
- * response — open. Defaults to {@link DEFAULT_DEFER_TIMEOUT_MS}. `0` or
35
- * `Infinity` disable the timeout intentionally (not recommended on a request
36
- * path). Any other non-finite or negative value is treated as a mistake and
37
- * falls back to the default rather than silently disabling the safety net.
38
- * Named `timeoutMs` to match the router's `*Ms` duration convention.
39
- */
40
- timeoutMs?: number;
41
- /**
42
- * Value the slot resolves to if the timeout fires before the resolver is
43
- * called. Defaults to `undefined` (the deferred item is skipped/empty). For
44
- * renderable handle content, `null` is the usual graceful fallback, so the
45
- * type admits `null` even when `TData` does not.
46
- */
47
- else?: TData | null;
48
- }
49
- /**
50
- * The call signature shared by a handle push and the resolver returned by
51
- * `.defer()`: a concrete value, a `Promise` of the value (Flight streams it as a
52
- * late row), or a thunk returning a `Promise` (called immediately).
53
- */
54
- export type HandlePushFn<TData> = (data: TData | Promise<TData> | (() => Promise<TData>)) => void;
55
- /**
56
- * The push function returned by `ctx.use(Handle)`. Call it to push a value now,
57
- * or call `.defer()` to reserve the slot now and resolve the value later (e.g.
58
- * from a deep async component) with a timeout safety net.
59
- */
60
- export type HandlePush<TData> = HandlePushFn<TData> & {
61
- /**
62
- * Reserve this handle's slot synchronously and return a resolver that is
63
- * push-equal: it takes the same argument shapes as the push (value, Promise, or
64
- * thunk) and behaves identically. Two things the resolver adds over a direct
65
- * push: a timeout (if the resolver is never called, the slot auto-resolves to
66
- * `options.else` after `options.timeoutMs`; calling the resolver cancels it),
67
- * and — on the action/revalidation path only — a thunk it runs does NOT
68
- * re-enter the deadlock-guard push-callback scope a direct push thunk gets,
69
- * because a deferred resolver fires after the handler phase has closed.
70
- *
71
- * The reserved slot is resolved before any consumer reads it
72
- * (resolve-by-default), so `useHandle` receives the resolved value (or the
73
- * `else` fallback on timeout), never a Promise.
74
- */
75
- defer(options?: DeferOptions<TData>): HandlePushFn<TData>;
76
- };
77
- export declare function createDeferred<T>(options?: {
78
- timeoutMs?: number;
79
- fallback?: T | null;
80
- }): {
81
- promise: Promise<T | null | undefined>;
82
- resolve: (value: T | null | undefined) => void;
83
- };
84
- /**
85
- * Attach `.defer()` to a handle push function. The deferred slot is reserved by
86
- * pushing the deferred promise through the same push (so ordering, sealing, and
87
- * Flight streaming all reuse the existing path); the returned resolver settles it.
88
- */
89
- export declare function withDefer<TData>(push: HandlePushFn<TData>): HandlePush<TData>;
@@ -1 +0,0 @@
1
- export { createFromReadableStream, createFromFetch, setServerCallback, encodeReply, createTemporaryReferenceSet, } from "@vitejs/plugin-rsc/browser";
@@ -1 +0,0 @@
1
- export { rscStream } from "rsc-html-stream/client";
@@ -1 +0,0 @@
1
- export { injectRSCPayload } from "rsc-html-stream/server";
@@ -1 +0,0 @@
1
- export { renderToReadableStream, decodeReply, createTemporaryReferenceSet, loadServerAction, decodeAction, decodeFormState, } from "@vitejs/plugin-rsc/rsc";
@@ -1 +0,0 @@
1
- export { createFromReadableStream, setOnClientReference, } from "@vitejs/plugin-rsc/ssr";
@@ -1,35 +0,0 @@
1
- /**
2
- * Shared key=value serialization core.
3
- *
4
- * One encode+join rule shared by every deterministic query-string serializer
5
- * in the codebase (cache keys, route-param strings, search-param strings,
6
- * prerender param hashes). Each call site differs only in how it pre-filters
7
- * and orders the pairs it hands in, plus whether it sorts; the encoding itself
8
- * (`encodeURIComponent(k)=encodeURIComponent(v)` joined by `&`) is identical.
9
- *
10
- * Dependency-free leaf module so any layer (build-time prerender hashing,
11
- * runtime cache keys, client search-param serialization) can import it without
12
- * pulling in cache/router internals.
13
- */
14
- export interface EncodeKVOptions {
15
- /**
16
- * Sort pairs by key in codepoint (byte) order before joining. Byte order via
17
- * the `<` operator, NOT localeCompare, so the result is identical across
18
- * Node, Workers, and browsers regardless of runtime locale.
19
- *
20
- * Defaults to false (insertion order preserved).
21
- */
22
- sort?: boolean;
23
- }
24
- /**
25
- * Serialize an array of [key, value] pairs to a deterministic query string
26
- * (no leading `?`). Both key and value are passed through encodeURIComponent
27
- * so a key/value containing `&` or `=` cannot collide with a structurally
28
- * different pair set.
29
- *
30
- * Callers are responsible for any filtering (e.g. dropping reserved params) and
31
- * any value coercion (e.g. String(v), skipping null/undefined) BEFORE calling.
32
- * This function never inspects or skips values; it encodes exactly what it is
33
- * given so each call site keeps its own existing output.
34
- */
35
- export declare function encodeKV(pairs: Iterable<readonly [string, string]>, options?: EncodeKVOptions): string;