@rangojs/router 0.0.0-experimental.tapabs3 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1319) hide show
  1. package/dist/bin/rango.js +8 -40
  2. package/dist/types/__internal.d.ts +127 -0
  3. package/dist/types/bin/rango.d.ts +1 -0
  4. package/dist/types/browser/action-coordinator.d.ts +57 -0
  5. package/dist/types/browser/action-fence.d.ts +33 -0
  6. package/dist/types/browser/app-shell.d.ts +34 -0
  7. package/dist/types/browser/app-version.d.ts +6 -0
  8. package/dist/types/browser/connection-warmup.d.ts +31 -0
  9. package/dist/types/browser/cookie-name.d.ts +66 -0
  10. package/dist/types/browser/event-controller.d.ts +221 -0
  11. package/dist/types/browser/history-state.d.ts +26 -0
  12. package/dist/types/browser/index.d.ts +1 -0
  13. package/dist/types/browser/intercept-utils.d.ts +30 -0
  14. package/dist/types/browser/invalidate-client-cache.d.ts +17 -0
  15. package/dist/types/browser/link-interceptor.d.ts +43 -0
  16. package/dist/types/browser/logging.d.ts +33 -0
  17. package/dist/types/browser/merge-segment-loaders.d.ts +38 -0
  18. package/dist/types/browser/navigation-bridge.d.ts +27 -0
  19. package/dist/types/browser/navigation-client.d.ts +17 -0
  20. package/dist/types/browser/navigation-store-handle.d.ts +25 -0
  21. package/dist/types/browser/navigation-store.d.ts +95 -0
  22. package/dist/types/browser/navigation-transaction.d.ts +75 -0
  23. package/dist/types/browser/network-error-handler.d.ts +35 -0
  24. package/dist/types/browser/partial-update.d.ts +61 -0
  25. package/dist/types/browser/prefetch/cache.d.ts +183 -0
  26. package/dist/types/browser/prefetch/fetch.d.ts +52 -0
  27. package/dist/types/browser/prefetch/observer.d.ts +27 -0
  28. package/dist/types/browser/prefetch/policy.d.ts +13 -0
  29. package/dist/types/browser/prefetch/queue.d.ts +48 -0
  30. package/dist/types/browser/prefetch/resource-ready.d.ts +28 -0
  31. package/dist/types/browser/rango-state.d.ts +52 -0
  32. package/dist/types/browser/react/Link.d.ts +140 -0
  33. package/dist/types/browser/react/NavigationProvider.d.ts +88 -0
  34. package/dist/types/browser/react/ScrollRestoration.d.ts +78 -0
  35. package/dist/types/browser/react/context.d.ts +54 -0
  36. package/dist/types/browser/react/filter-segment-order.d.ts +35 -0
  37. package/dist/types/browser/react/index.d.ts +1 -0
  38. package/dist/types/browser/react/location-state-shared.d.ts +162 -0
  39. package/dist/types/browser/react/location-state.d.ts +29 -0
  40. package/dist/types/browser/react/mount-context.d.ts +23 -0
  41. package/dist/types/browser/react/nonce-context.d.ts +14 -0
  42. package/dist/types/browser/react/shallow-equal.d.ts +5 -0
  43. package/dist/types/browser/react/use-action.d.ts +61 -0
  44. package/dist/types/browser/react/use-handle.d.ts +21 -0
  45. package/dist/types/browser/react/use-href.d.ts +32 -0
  46. package/dist/types/browser/react/use-link-status.d.ts +36 -0
  47. package/dist/types/browser/react/use-mount.d.ts +24 -0
  48. package/dist/types/browser/react/use-navigation.d.ts +15 -0
  49. package/dist/types/browser/react/use-params.d.ts +21 -0
  50. package/dist/types/browser/react/use-pathname.d.ts +13 -0
  51. package/dist/types/browser/react/use-reverse.d.ts +40 -0
  52. package/dist/types/browser/react/use-router.d.ts +23 -0
  53. package/dist/types/browser/react/use-search-params.d.ts +19 -0
  54. package/dist/types/browser/react/use-segments.d.ts +29 -0
  55. package/dist/types/browser/response-adapter.d.ts +58 -0
  56. package/dist/types/browser/rsc-router.d.ts +141 -0
  57. package/dist/types/browser/scroll-restoration.d.ts +103 -0
  58. package/dist/types/browser/segment-reconciler.d.ts +74 -0
  59. package/dist/types/browser/segment-structure-assert.d.ts +16 -0
  60. package/dist/types/browser/server-action-bridge.d.ts +29 -0
  61. package/dist/types/browser/types.d.ts +530 -0
  62. package/dist/types/browser/validate-redirect-origin.d.ts +28 -0
  63. package/dist/types/build/collect-fallback-refs.d.ts +5 -0
  64. package/dist/types/build/generate-manifest.d.ts +100 -0
  65. package/dist/types/build/generate-route-types.d.ts +8 -0
  66. package/dist/types/build/index.d.ts +21 -0
  67. package/dist/types/build/prefix-tree-utils.d.ts +56 -0
  68. package/dist/types/build/route-trie.d.ts +89 -0
  69. package/dist/types/build/route-types/ast-helpers.d.ts +3 -0
  70. package/dist/types/build/route-types/ast-route-extraction.d.ts +13 -0
  71. package/dist/types/build/route-types/codegen.d.ts +16 -0
  72. package/dist/types/build/route-types/include-resolution.d.ts +74 -0
  73. package/dist/types/build/route-types/param-extraction.d.ts +13 -0
  74. package/dist/types/build/route-types/per-module-writer.d.ts +18 -0
  75. package/dist/types/build/route-types/router-processing.d.ts +82 -0
  76. package/dist/types/build/route-types/scan-filter.d.ts +17 -0
  77. package/dist/types/build/route-types/source-scan.d.ts +13 -0
  78. package/dist/types/build/runtime-discovery.d.ts +24 -0
  79. package/dist/types/cache/background-task.d.ts +21 -0
  80. package/dist/types/cache/cache-error.d.ts +71 -0
  81. package/dist/types/cache/cache-key-utils.d.ts +35 -0
  82. package/dist/types/cache/cache-policy.d.ts +59 -0
  83. package/dist/types/cache/cache-runtime.d.ts +51 -0
  84. package/dist/types/cache/cache-scope.d.ts +134 -0
  85. package/dist/types/cache/cache-tag.d.ts +79 -0
  86. package/dist/types/cache/cf/cf-base64.d.ts +4 -0
  87. package/dist/types/cache/cf/cf-cache-constants.d.ts +105 -0
  88. package/dist/types/cache/cf/cf-cache-store.d.ts +588 -0
  89. package/dist/types/cache/cf/cf-cache-types.d.ts +363 -0
  90. package/dist/types/cache/cf/cf-kv-utils.d.ts +22 -0
  91. package/dist/types/cache/cf/cf-tag-marker-memo.d.ts +15 -0
  92. package/dist/types/cache/cf/cf-zone-purge.d.ts +31 -0
  93. package/dist/types/cache/cf/index.d.ts +4 -0
  94. package/dist/types/cache/document-cache.d.ts +69 -0
  95. package/dist/types/cache/handle-capture.d.ts +23 -0
  96. package/dist/types/cache/handle-snapshot.d.ts +39 -0
  97. package/dist/types/cache/index.d.ts +7 -0
  98. package/dist/types/cache/memory-segment-store.d.ts +163 -0
  99. package/dist/types/cache/profile-registry.d.ts +40 -0
  100. package/dist/types/cache/read-through-swr.d.ts +60 -0
  101. package/dist/types/cache/segment-codec.d.ts +78 -0
  102. package/dist/types/cache/shell-snapshot.d.ts +173 -0
  103. package/dist/types/cache/tag-invalidation.d.ts +74 -0
  104. package/dist/types/cache/taint.d.ts +71 -0
  105. package/dist/types/cache/types.d.ts +418 -0
  106. package/dist/types/cache/vercel/index.d.ts +1 -0
  107. package/dist/types/cache/vercel/vercel-cache-store.d.ts +267 -0
  108. package/dist/types/client.d.ts +184 -0
  109. package/dist/types/client.rsc.d.ts +39 -0
  110. package/dist/types/cloudflare/index.d.ts +7 -0
  111. package/dist/types/cloudflare/tracing.d.ts +53 -0
  112. package/dist/types/component-utils.d.ts +46 -0
  113. package/dist/types/components/DefaultDocument.d.ts +13 -0
  114. package/dist/types/context-var.d.ts +84 -0
  115. package/dist/types/debug.d.ts +57 -0
  116. package/dist/types/decode-loader-results.d.ts +5 -0
  117. package/dist/types/default-error-boundary.d.ts +10 -0
  118. package/dist/types/defer.d.ts +89 -0
  119. package/dist/types/deps/browser.d.ts +1 -0
  120. package/dist/types/deps/html-stream-client.d.ts +1 -0
  121. package/dist/types/deps/html-stream-server.d.ts +1 -0
  122. package/dist/types/deps/rsc.d.ts +1 -0
  123. package/dist/types/deps/ssr.d.ts +1 -0
  124. package/dist/types/encode-kv.d.ts +35 -0
  125. package/dist/types/errors.d.ts +226 -0
  126. package/dist/types/escape-script.d.ts +44 -0
  127. package/dist/types/handle.d.ts +93 -0
  128. package/dist/types/handles/MetaTags.d.ts +17 -0
  129. package/dist/types/handles/Scripts.d.ts +38 -0
  130. package/dist/types/handles/breadcrumbs.d.ts +43 -0
  131. package/dist/types/handles/deferred-resolution.d.ts +53 -0
  132. package/dist/types/handles/is-thenable.d.ts +12 -0
  133. package/dist/types/handles/meta.d.ts +43 -0
  134. package/dist/types/handles/script.d.ts +139 -0
  135. package/dist/types/host/cookie-handler.d.ts +8 -0
  136. package/dist/types/host/errors.d.ts +40 -0
  137. package/dist/types/host/index.d.ts +33 -0
  138. package/dist/types/host/pattern-matcher.d.ts +30 -0
  139. package/dist/types/host/router.d.ts +12 -0
  140. package/dist/types/host/testing.d.ts +41 -0
  141. package/dist/types/host/types.d.ts +148 -0
  142. package/dist/types/host/utils.d.ts +20 -0
  143. package/dist/types/href-client.d.ts +214 -0
  144. package/dist/types/index.d.ts +112 -0
  145. package/dist/types/index.rsc.d.ts +51 -0
  146. package/dist/types/internal-debug.d.ts +1 -0
  147. package/dist/types/loader-store.d.ts +193 -0
  148. package/dist/types/loader.d.ts +18 -0
  149. package/dist/types/loader.rsc.d.ts +18 -0
  150. package/dist/types/missing-id-error.d.ts +1 -0
  151. package/dist/types/outlet-context.d.ts +12 -0
  152. package/dist/types/outlet-provider.d.ts +12 -0
  153. package/dist/types/prerender/build-shell-capture.d.ts +104 -0
  154. package/dist/types/prerender/param-hash.d.ts +6 -0
  155. package/dist/types/prerender/shell-manifest-key.d.ts +18 -0
  156. package/dist/types/prerender/store.d.ts +62 -0
  157. package/dist/types/prerender.d.ts +292 -0
  158. package/dist/types/redirect-origin.d.ts +67 -0
  159. package/dist/types/regex-escape.d.ts +6 -0
  160. package/dist/types/render-error-thrower.d.ts +13 -0
  161. package/dist/types/response-utils.d.ts +35 -0
  162. package/dist/types/reverse.d.ts +206 -0
  163. package/dist/types/root-error-boundary.d.ts +32 -0
  164. package/dist/types/route-content-wrapper.d.ts +40 -0
  165. package/dist/types/route-definition/dsl-helpers.d.ts +130 -0
  166. package/dist/types/route-definition/helper-factories.d.ts +22 -0
  167. package/dist/types/route-definition/helpers-types.d.ts +392 -0
  168. package/dist/types/route-definition/index.d.ts +7 -0
  169. package/dist/types/route-definition/redirect.d.ts +48 -0
  170. package/dist/types/route-definition/resolve-handler-use.d.ts +19 -0
  171. package/dist/types/route-definition/use-item-types.d.ts +1 -0
  172. package/dist/types/route-definition.d.ts +1 -0
  173. package/dist/types/route-map-builder.d.ts +127 -0
  174. package/dist/types/route-name.d.ts +27 -0
  175. package/dist/types/route-types.d.ts +172 -0
  176. package/dist/types/router/basename.d.ts +10 -0
  177. package/dist/types/router/content-negotiation.d.ts +91 -0
  178. package/dist/types/router/debug-manifest.d.ts +7 -0
  179. package/dist/types/router/error-handling.d.ts +76 -0
  180. package/dist/types/router/find-match.d.ts +19 -0
  181. package/dist/types/router/handler-context.d.ts +41 -0
  182. package/dist/types/router/instrument.d.ts +161 -0
  183. package/dist/types/router/intercept-resolution.d.ts +79 -0
  184. package/dist/types/router/lazy-includes.d.ts +26 -0
  185. package/dist/types/router/loader-resolution.d.ts +63 -0
  186. package/dist/types/router/logging.d.ts +41 -0
  187. package/dist/types/router/manifest.d.ts +8 -0
  188. package/dist/types/router/match-api.d.ts +19 -0
  189. package/dist/types/router/match-context.d.ts +184 -0
  190. package/dist/types/router/match-handlers.d.ts +49 -0
  191. package/dist/types/router/match-middleware/background-revalidation.d.ts +113 -0
  192. package/dist/types/router/match-middleware/cache-lookup.d.ts +113 -0
  193. package/dist/types/router/match-middleware/cache-store.d.ts +112 -0
  194. package/dist/types/router/match-middleware/index.d.ts +80 -0
  195. package/dist/types/router/match-middleware/intercept-resolution.d.ts +116 -0
  196. package/dist/types/router/match-middleware/segment-resolution.d.ts +94 -0
  197. package/dist/types/router/match-pipelines.d.ts +103 -0
  198. package/dist/types/router/match-result.d.ts +114 -0
  199. package/dist/types/router/metrics.d.ts +6 -0
  200. package/dist/types/router/middleware-types.d.ts +74 -0
  201. package/dist/types/router/middleware.d.ts +116 -0
  202. package/dist/types/router/navigation-snapshot.d.ts +22 -0
  203. package/dist/types/router/params-util.d.ts +8 -0
  204. package/dist/types/router/parse-pattern.d.ts +38 -0
  205. package/dist/types/router/pattern-matching.d.ts +169 -0
  206. package/dist/types/router/prefetch-cache-ttl.d.ts +27 -0
  207. package/dist/types/router/prefetch-limits.d.ts +20 -0
  208. package/dist/types/router/prerender-match.d.ts +50 -0
  209. package/dist/types/router/preview-match.d.ts +22 -0
  210. package/dist/types/router/request-classification.d.ts +104 -0
  211. package/dist/types/router/revalidation.d.ts +57 -0
  212. package/dist/types/router/route-snapshot.d.ts +112 -0
  213. package/dist/types/router/router-context.d.ts +137 -0
  214. package/dist/types/router/router-interfaces.d.ts +432 -0
  215. package/dist/types/router/router-options.d.ts +738 -0
  216. package/dist/types/router/router-registry.d.ts +15 -0
  217. package/dist/types/router/segment-resolution/fresh.d.ts +55 -0
  218. package/dist/types/router/segment-resolution/helpers.d.ts +93 -0
  219. package/dist/types/router/segment-resolution/loader-cache.d.ts +33 -0
  220. package/dist/types/router/segment-resolution/loader-mask.d.ts +44 -0
  221. package/dist/types/router/segment-resolution/loader-snapshot.d.ts +90 -0
  222. package/dist/types/router/segment-resolution/mask-nested.d.ts +53 -0
  223. package/dist/types/router/segment-resolution/revalidation.d.ts +85 -0
  224. package/dist/types/router/segment-resolution/static-store.d.ts +17 -0
  225. package/dist/types/router/segment-resolution/streamed-handler-telemetry.d.ts +16 -0
  226. package/dist/types/router/segment-resolution/view-transition-default.d.ts +28 -0
  227. package/dist/types/router/segment-resolution.d.ts +3 -0
  228. package/dist/types/router/segment-wrappers.d.ts +53 -0
  229. package/dist/types/router/state-cookie-name.d.ts +1 -0
  230. package/dist/types/router/substitute-pattern-params.d.ts +23 -0
  231. package/dist/types/router/telemetry-otel.d.ts +113 -0
  232. package/dist/types/router/telemetry.d.ts +216 -0
  233. package/dist/types/router/timeout.d.ts +96 -0
  234. package/dist/types/router/tracing.d.ts +125 -0
  235. package/dist/types/router/trie-matching.d.ts +32 -0
  236. package/dist/types/router/types.d.ts +98 -0
  237. package/dist/types/router/url-params.d.ts +26 -0
  238. package/dist/types/router.d.ts +7 -0
  239. package/dist/types/rsc/capture-queue.d.ts +6 -0
  240. package/dist/types/rsc/full-payload.d.ts +22 -0
  241. package/dist/types/rsc/handler-context.d.ts +31 -0
  242. package/dist/types/rsc/handler.d.ts +9 -0
  243. package/dist/types/rsc/helpers.d.ts +124 -0
  244. package/dist/types/rsc/index.d.ts +17 -0
  245. package/dist/types/rsc/json-route-result.d.ts +20 -0
  246. package/dist/types/rsc/loader-fetch.d.ts +14 -0
  247. package/dist/types/rsc/manifest-init.d.ts +18 -0
  248. package/dist/types/rsc/nonce.d.ts +28 -0
  249. package/dist/types/rsc/origin-guard.d.ts +50 -0
  250. package/dist/types/rsc/progressive-enhancement.d.ts +19 -0
  251. package/dist/types/rsc/redirect-guard.d.ts +37 -0
  252. package/dist/types/rsc/render-pipeline.d.ts +138 -0
  253. package/dist/types/rsc/response-cache-serve.d.ts +46 -0
  254. package/dist/types/rsc/response-error.d.ts +19 -0
  255. package/dist/types/rsc/response-route-handler.d.ts +29 -0
  256. package/dist/types/rsc/rsc-rendering.d.ts +23 -0
  257. package/dist/types/rsc/runtime-warnings.d.ts +22 -0
  258. package/dist/types/rsc/server-action.d.ts +68 -0
  259. package/dist/types/rsc/shell-build-manifest.d.ts +84 -0
  260. package/dist/types/rsc/shell-capture-constants.d.ts +27 -0
  261. package/dist/types/rsc/shell-capture.d.ts +374 -0
  262. package/dist/types/rsc/shell-serve.d.ts +174 -0
  263. package/dist/types/rsc/ssr-setup.d.ts +73 -0
  264. package/dist/types/rsc/transition-gate.d.ts +27 -0
  265. package/dist/types/rsc/types.d.ts +290 -0
  266. package/dist/types/runtime-env.d.ts +1 -0
  267. package/dist/types/search-params.d.ts +125 -0
  268. package/dist/types/segment-content-promise.d.ts +13 -0
  269. package/dist/types/segment-fragments.d.ts +56 -0
  270. package/dist/types/segment-loader-promise.d.ts +22 -0
  271. package/dist/types/segment-system.d.ts +84 -0
  272. package/dist/types/serialize.d.ts +164 -0
  273. package/dist/types/server/context.d.ts +494 -0
  274. package/dist/types/server/cookie-parse.d.ts +10 -0
  275. package/dist/types/server/cookie-store.d.ts +107 -0
  276. package/dist/types/server/fetchable-loader-store.d.ts +20 -0
  277. package/dist/types/server/handle-store.d.ts +100 -0
  278. package/dist/types/server/loader-registry.d.ts +32 -0
  279. package/dist/types/server/request-context.d.ts +618 -0
  280. package/dist/types/server/root-layout.d.ts +3 -0
  281. package/dist/types/server.d.ts +15 -0
  282. package/dist/types/ssr/index.d.ts +233 -0
  283. package/dist/types/ssr/inject-rsc-eager.d.ts +3 -0
  284. package/dist/types/ssr/preinit-client-references.d.ts +71 -0
  285. package/dist/types/ssr/ssr-root.d.ts +69 -0
  286. package/dist/types/static-handler.d.ts +57 -0
  287. package/dist/types/testing/cache-status.d.ts +63 -0
  288. package/dist/types/testing/collect-handle.d.ts +20 -0
  289. package/dist/types/testing/dispatch.d.ts +127 -0
  290. package/dist/types/testing/dom.entry.d.ts +15 -0
  291. package/dist/types/testing/e2e/fixture.d.ts +37 -0
  292. package/dist/types/testing/e2e/index.d.ts +31 -0
  293. package/dist/types/testing/e2e/matchers.d.ts +17 -0
  294. package/dist/types/testing/e2e/page-helpers.d.ts +62 -0
  295. package/dist/types/testing/e2e/parity.d.ts +111 -0
  296. package/dist/types/testing/e2e/server.d.ts +35 -0
  297. package/dist/types/testing/flight-matchers.d.ts +55 -0
  298. package/dist/types/testing/flight-normalize.d.ts +1 -0
  299. package/dist/types/testing/flight-tree.d.ts +192 -0
  300. package/dist/types/testing/flight.d.ts +115 -0
  301. package/dist/types/testing/flight.entry.d.ts +27 -0
  302. package/dist/types/testing/generated-routes.d.ts +66 -0
  303. package/dist/types/testing/index.d.ts +54 -0
  304. package/dist/types/testing/internal/context.d.ts +225 -0
  305. package/dist/types/testing/internal/flight-client-globals.d.ts +1 -0
  306. package/dist/types/testing/internal/seed-vars.d.ts +30 -0
  307. package/dist/types/testing/render-handler.d.ts +160 -0
  308. package/dist/types/testing/render-route.d.ts +246 -0
  309. package/dist/types/testing/run-loader.d.ts +186 -0
  310. package/dist/types/testing/run-middleware.d.ts +132 -0
  311. package/dist/types/testing/run-transition-when.d.ts +77 -0
  312. package/dist/types/testing/shell-status.d.ts +58 -0
  313. package/dist/types/testing/vitest-stubs/cloudflare-email.d.ts +6 -0
  314. package/dist/types/testing/vitest-stubs/cloudflare-workers.d.ts +13 -0
  315. package/dist/types/testing/vitest-stubs/plugin-rsc.d.ts +7 -0
  316. package/dist/types/testing/vitest-stubs/version.d.ts +1 -0
  317. package/dist/types/testing/vitest.d.ts +205 -0
  318. package/dist/types/theme/ThemeProvider.d.ts +13 -0
  319. package/dist/types/theme/ThemeScript.d.ts +45 -0
  320. package/dist/types/theme/constants.d.ts +39 -0
  321. package/dist/types/theme/index.d.ts +29 -0
  322. package/dist/types/theme/theme-context.d.ts +21 -0
  323. package/dist/types/theme/theme-script.d.ts +26 -0
  324. package/dist/types/theme/types.d.ts +162 -0
  325. package/dist/types/theme/use-theme.d.ts +8 -0
  326. package/dist/types/types/boundaries.d.ts +93 -0
  327. package/dist/types/types/cache-types.d.ts +191 -0
  328. package/dist/types/types/error-types.d.ts +114 -0
  329. package/dist/types/types/global-namespace.d.ts +90 -0
  330. package/dist/types/types/handler-context.d.ts +658 -0
  331. package/dist/types/types/index.d.ts +11 -0
  332. package/dist/types/types/loader-types.d.ts +182 -0
  333. package/dist/types/types/request-scope.d.ts +93 -0
  334. package/dist/types/types/route-config.d.ts +105 -0
  335. package/dist/types/types/route-entry.d.ts +95 -0
  336. package/dist/types/types/segments.d.ts +234 -0
  337. package/dist/types/types.d.ts +1 -0
  338. package/dist/types/urls/include-helper.d.ts +17 -0
  339. package/dist/types/urls/include-provider.d.ts +27 -0
  340. package/dist/types/urls/index.d.ts +6 -0
  341. package/dist/types/urls/path-helper-types.d.ts +197 -0
  342. package/dist/types/urls/path-helper.d.ts +12 -0
  343. package/dist/types/urls/pattern-types.d.ts +166 -0
  344. package/dist/types/urls/response-types.d.ts +67 -0
  345. package/dist/types/urls/type-extraction.d.ts +157 -0
  346. package/dist/types/urls/urls-function.d.ts +24 -0
  347. package/dist/types/urls.d.ts +1 -0
  348. package/dist/types/use-loader.d.ts +150 -0
  349. package/dist/types/vercel/index.d.ts +10 -0
  350. package/dist/types/vercel/tracing.d.ts +70 -0
  351. package/dist/types/vite/debug.d.ts +80 -0
  352. package/dist/types/vite/discovery/bundle-postprocess.d.ts +12 -0
  353. package/dist/types/vite/discovery/dev-prerender-cache.d.ts +65 -0
  354. package/dist/types/vite/discovery/discover-routers.d.ts +17 -0
  355. package/dist/types/vite/discovery/discovery-errors.d.ts +113 -0
  356. package/dist/types/vite/discovery/gate-state.d.ts +79 -0
  357. package/dist/types/vite/discovery/prerender-collection.d.ts +24 -0
  358. package/dist/types/vite/discovery/route-types-writer.d.ts +32 -0
  359. package/dist/types/vite/discovery/self-gen-tracking.d.ts +22 -0
  360. package/dist/types/vite/discovery/shell-prerender-phase.d.ts +40 -0
  361. package/dist/types/vite/discovery/state.d.ts +162 -0
  362. package/dist/types/vite/discovery/virtual-module-codegen.d.ts +15 -0
  363. package/dist/types/vite/index.d.ts +11 -0
  364. package/dist/types/vite/inject-client-debug.d.ts +56 -0
  365. package/dist/types/vite/plugin-types.d.ts +298 -0
  366. package/dist/types/vite/plugins/cjs-to-esm.d.ts +6 -0
  367. package/dist/types/vite/plugins/client-ref-dedup.d.ts +40 -0
  368. package/dist/types/vite/plugins/client-ref-hashing.d.ts +35 -0
  369. package/dist/types/vite/plugins/cloudflare-protocol-stub.d.ts +64 -0
  370. package/dist/types/vite/plugins/expose-action-id.d.ts +18 -0
  371. package/dist/types/vite/plugins/expose-id-utils.d.ts +37 -0
  372. package/dist/types/vite/plugins/expose-ids/export-analysis.d.ts +19 -0
  373. package/dist/types/vite/plugins/expose-ids/handler-transform.d.ts +10 -0
  374. package/dist/types/vite/plugins/expose-ids/loader-transform.d.ts +8 -0
  375. package/dist/types/vite/plugins/expose-ids/router-transform.d.ts +13 -0
  376. package/dist/types/vite/plugins/expose-ids/types.d.ts +29 -0
  377. package/dist/types/vite/plugins/expose-internal-ids.d.ts +6 -0
  378. package/dist/types/vite/plugins/performance-tracks.d.ts +25 -0
  379. package/dist/types/vite/plugins/refresh-cmd.d.ts +20 -0
  380. package/dist/types/vite/plugins/use-cache-transform.d.ts +20 -0
  381. package/dist/types/vite/plugins/vercel-output.d.ts +85 -0
  382. package/dist/types/vite/plugins/version-injector.d.ts +21 -0
  383. package/dist/types/vite/plugins/version-plugin.d.ts +19 -0
  384. package/dist/types/vite/plugins/virtual-entries.d.ts +36 -0
  385. package/dist/types/vite/plugins/virtual-stub-plugin.d.ts +7 -0
  386. package/dist/types/vite/rango.d.ts +29 -0
  387. package/dist/types/vite/router-discovery.d.ts +23 -0
  388. package/dist/types/vite/utils/ast-handler-extract.d.ts +64 -0
  389. package/dist/types/vite/utils/banner.d.ts +2 -0
  390. package/dist/types/vite/utils/bundle-analysis.d.ts +28 -0
  391. package/dist/types/vite/utils/client-chunks.d.ts +55 -0
  392. package/dist/types/vite/utils/directive-prologue.d.ts +16 -0
  393. package/dist/types/vite/utils/forward-user-plugins.d.ts +37 -0
  394. package/dist/types/vite/utils/manifest-utils.d.ts +7 -0
  395. package/dist/types/vite/utils/package-resolution.d.ts +6 -0
  396. package/dist/types/vite/utils/prerender-utils.d.ts +32 -0
  397. package/dist/types/vite/utils/shared-utils.d.ts +55 -0
  398. package/dist/vite/index.js +1051 -361
  399. package/package.json +39 -33
  400. package/skills/catalog.json +6 -0
  401. package/skills/cloudflare/SKILL.md +149 -0
  402. package/skills/cloudflare/agents/openai.yaml +4 -0
  403. package/skills/cloudflare/references/d1-and-local-dev.md +131 -0
  404. package/skills/cloudflare/references/streaming-and-deploy.md +107 -0
  405. package/skills/cloudflare/references/webhooks-and-crypto.md +147 -0
  406. package/skills/composability/SKILL.md +14 -0
  407. package/skills/debug-manifest/SKILL.md +2 -10
  408. package/skills/links/SKILL.md +12 -0
  409. package/skills/middleware/SKILL.md +33 -0
  410. package/skills/migrate-nextjs/SKILL.md +65 -16
  411. package/skills/migrate-nextjs/backend-host-swap.md +120 -0
  412. package/skills/migrate-react-router/SKILL.md +6 -6
  413. package/skills/mime-routes/SKILL.md +25 -17
  414. package/skills/ppr/SKILL.md +100 -15
  415. package/skills/prerender/SKILL.md +44 -1
  416. package/skills/rango/SKILL.md +10 -10
  417. package/skills/response-routes/SKILL.md +41 -4
  418. package/skills/route/SKILL.md +6 -0
  419. package/skills/testing/SKILL.md +1 -0
  420. package/skills/testing/cache-prerender.md +43 -2
  421. package/skills/testing/response-routes.md +2 -2
  422. package/src/browser/event-controller.ts +16 -2
  423. package/src/browser/rsc-router.tsx +11 -0
  424. package/src/build/generate-manifest.ts +5 -36
  425. package/src/build/route-trie.ts +5 -50
  426. package/src/cache/cache-key-utils.ts +0 -1
  427. package/src/cache/cache-scope.ts +41 -3
  428. package/src/cache/cf/cf-cache-store.ts +465 -56
  429. package/src/cache/cf/cf-cache-types.ts +66 -0
  430. package/src/cache/cf/cf-tag-marker-memo.ts +5 -2
  431. package/src/cache/cf/cf-zone-purge.ts +101 -0
  432. package/src/cache/cf/index.ts +5 -0
  433. package/src/cache/handle-snapshot.ts +22 -1
  434. package/src/cache/index.ts +2 -0
  435. package/src/cache/memory-segment-store.ts +32 -0
  436. package/src/cache/segment-codec.ts +47 -0
  437. package/src/cache/shell-snapshot.ts +79 -14
  438. package/src/cache/types.ts +38 -0
  439. package/src/cache/vercel/vercel-cache-store.ts +71 -2
  440. package/src/deps/ssr.ts +4 -1
  441. package/src/index.rsc.ts +7 -0
  442. package/src/index.ts +1 -0
  443. package/src/prerender/build-shell-capture.ts +447 -0
  444. package/src/prerender/shell-manifest-key.ts +20 -0
  445. package/src/prerender/store.ts +10 -1
  446. package/src/prerender.ts +3 -3
  447. package/src/redirect-origin.ts +37 -8
  448. package/src/route-map-builder.ts +8 -8
  449. package/src/router/content-negotiation.ts +47 -5
  450. package/src/router/handler-context.ts +18 -10
  451. package/src/router/intercept-resolution.ts +30 -1
  452. package/src/router/loader-resolution.ts +16 -0
  453. package/src/router/match-api.ts +9 -2
  454. package/src/router/match-middleware/cache-lookup.ts +12 -1
  455. package/src/router/metrics.ts +17 -2
  456. package/src/router/middleware-types.ts +17 -0
  457. package/src/router/middleware.ts +4 -0
  458. package/src/router/prerender-match.ts +28 -0
  459. package/src/router/router-interfaces.ts +7 -6
  460. package/src/router/router-options.ts +13 -8
  461. package/src/router/segment-resolution/fresh.ts +21 -2
  462. package/src/router/segment-resolution/helpers.ts +1 -1
  463. package/src/router/segment-resolution/loader-cache.ts +38 -7
  464. package/src/router/segment-resolution/mask-nested.ts +19 -3
  465. package/src/router/segment-resolution/revalidation.ts +9 -0
  466. package/src/router/telemetry-otel.ts +11 -0
  467. package/src/router/telemetry.ts +1 -0
  468. package/src/router/timeout.ts +41 -1
  469. package/src/router.ts +5 -4
  470. package/src/rsc/capture-queue.ts +67 -0
  471. package/src/rsc/handler.ts +151 -77
  472. package/src/rsc/helpers.ts +67 -4
  473. package/src/rsc/progressive-enhancement.ts +66 -54
  474. package/src/rsc/redirect-guard.ts +3 -1
  475. package/src/rsc/render-pipeline.ts +559 -0
  476. package/src/rsc/response-cache-serve.ts +39 -18
  477. package/src/rsc/response-route-handler.ts +9 -45
  478. package/src/rsc/rsc-rendering.ts +303 -103
  479. package/src/rsc/server-action.ts +50 -42
  480. package/src/rsc/shell-build-manifest.ts +316 -0
  481. package/src/rsc/shell-capture-constants.ts +27 -0
  482. package/src/rsc/shell-capture.ts +595 -69
  483. package/src/rsc/shell-serve.ts +133 -3
  484. package/src/rsc/ssr-setup.ts +102 -23
  485. package/src/segment-fragments.ts +124 -0
  486. package/src/server/context.ts +184 -8
  487. package/src/server/request-context.ts +297 -45
  488. package/src/ssr/index.tsx +167 -32
  489. package/src/ssr/preinit-client-references.ts +106 -0
  490. package/src/ssr/ssr-root.tsx +35 -2
  491. package/src/testing/dispatch.ts +132 -67
  492. package/src/testing/e2e/index.ts +8 -0
  493. package/src/testing/index.ts +9 -1
  494. package/src/testing/internal/context.ts +9 -0
  495. package/src/testing/render-handler.ts +15 -1
  496. package/src/testing/run-middleware.ts +14 -0
  497. package/src/testing/shell-status.ts +100 -0
  498. package/src/types/handler-context.ts +13 -2
  499. package/src/urls/path-helper-types.ts +1 -1
  500. package/src/urls/pattern-types.ts +29 -0
  501. package/src/vite/discovery/discover-routers.ts +71 -52
  502. package/src/vite/discovery/prerender-collection.ts +16 -0
  503. package/src/vite/discovery/shell-prerender-phase.ts +397 -0
  504. package/src/vite/discovery/state.ts +44 -0
  505. package/src/vite/discovery/virtual-module-codegen.ts +126 -20
  506. package/src/vite/index.ts +1 -0
  507. package/src/vite/plugin-types.ts +33 -0
  508. package/src/vite/plugins/version-plugin.ts +8 -0
  509. package/src/vite/plugins/virtual-entries.ts +37 -4
  510. package/src/vite/rango.ts +42 -2
  511. package/src/vite/router-discovery.ts +432 -21
  512. package/src/vite/utils/package-resolution.ts +1 -0
  513. package/src/vite/utils/prerender-utils.ts +25 -6
  514. package/src/vite/utils/shared-utils.ts +4 -2
  515. package/dist/__internal.d.ts +0 -83
  516. package/dist/__internal.d.ts.map +0 -1
  517. package/dist/__internal.js +0 -19
  518. package/dist/__internal.js.map +0 -1
  519. package/dist/__mocks__/version.d.ts +0 -7
  520. package/dist/__mocks__/version.d.ts.map +0 -1
  521. package/dist/__mocks__/version.js +0 -7
  522. package/dist/__mocks__/version.js.map +0 -1
  523. package/dist/__tests__/client-href.test.d.ts +0 -2
  524. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  525. package/dist/__tests__/client-href.test.js +0 -74
  526. package/dist/__tests__/client-href.test.js.map +0 -1
  527. package/dist/__tests__/component-utils.test.d.ts +0 -2
  528. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  529. package/dist/__tests__/component-utils.test.js +0 -51
  530. package/dist/__tests__/component-utils.test.js.map +0 -1
  531. package/dist/__tests__/event-controller.test.d.ts +0 -2
  532. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  533. package/dist/__tests__/event-controller.test.js +0 -538
  534. package/dist/__tests__/event-controller.test.js.map +0 -1
  535. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  536. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  537. package/dist/__tests__/helpers/route-tree.js +0 -374
  538. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  539. package/dist/__tests__/match-result.test.d.ts +0 -2
  540. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  541. package/dist/__tests__/match-result.test.js +0 -154
  542. package/dist/__tests__/match-result.test.js.map +0 -1
  543. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  544. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  545. package/dist/__tests__/navigation-store.test.js +0 -440
  546. package/dist/__tests__/navigation-store.test.js.map +0 -1
  547. package/dist/__tests__/partial-update.test.d.ts +0 -2
  548. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  549. package/dist/__tests__/partial-update.test.js +0 -1009
  550. package/dist/__tests__/partial-update.test.js.map +0 -1
  551. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  552. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  553. package/dist/__tests__/reverse-types.test.js +0 -656
  554. package/dist/__tests__/reverse-types.test.js.map +0 -1
  555. package/dist/__tests__/route-definition.test.d.ts +0 -2
  556. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  557. package/dist/__tests__/route-definition.test.js +0 -55
  558. package/dist/__tests__/route-definition.test.js.map +0 -1
  559. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  560. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  561. package/dist/__tests__/router-helpers.test.js +0 -377
  562. package/dist/__tests__/router-helpers.test.js.map +0 -1
  563. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  564. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  565. package/dist/__tests__/router-integration-2.test.js +0 -426
  566. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  567. package/dist/__tests__/router-integration.test.d.ts +0 -2
  568. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  569. package/dist/__tests__/router-integration.test.js +0 -1051
  570. package/dist/__tests__/router-integration.test.js.map +0 -1
  571. package/dist/__tests__/search-params.test.d.ts +0 -5
  572. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  573. package/dist/__tests__/search-params.test.js +0 -306
  574. package/dist/__tests__/search-params.test.js.map +0 -1
  575. package/dist/__tests__/segment-system.test.d.ts +0 -2
  576. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  577. package/dist/__tests__/segment-system.test.js +0 -627
  578. package/dist/__tests__/segment-system.test.js.map +0 -1
  579. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  580. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  581. package/dist/__tests__/static-handler-types.test.js +0 -63
  582. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  583. package/dist/__tests__/urls.test.d.ts +0 -2
  584. package/dist/__tests__/urls.test.d.ts.map +0 -1
  585. package/dist/__tests__/urls.test.js +0 -421
  586. package/dist/__tests__/urls.test.js.map +0 -1
  587. package/dist/__tests__/use-mount.test.d.ts +0 -2
  588. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  589. package/dist/__tests__/use-mount.test.js +0 -35
  590. package/dist/__tests__/use-mount.test.js.map +0 -1
  591. package/dist/bin/rango.d.ts +0 -2
  592. package/dist/bin/rango.d.ts.map +0 -1
  593. package/dist/bin/rango.js.map +0 -1
  594. package/dist/browser/event-controller.d.ts +0 -191
  595. package/dist/browser/event-controller.d.ts.map +0 -1
  596. package/dist/browser/event-controller.js +0 -559
  597. package/dist/browser/event-controller.js.map +0 -1
  598. package/dist/browser/index.d.ts +0 -2
  599. package/dist/browser/index.d.ts.map +0 -1
  600. package/dist/browser/index.js +0 -14
  601. package/dist/browser/index.js.map +0 -1
  602. package/dist/browser/link-interceptor.d.ts +0 -38
  603. package/dist/browser/link-interceptor.d.ts.map +0 -1
  604. package/dist/browser/link-interceptor.js +0 -99
  605. package/dist/browser/link-interceptor.js.map +0 -1
  606. package/dist/browser/logging.d.ts +0 -10
  607. package/dist/browser/logging.d.ts.map +0 -1
  608. package/dist/browser/logging.js +0 -29
  609. package/dist/browser/logging.js.map +0 -1
  610. package/dist/browser/lru-cache.d.ts +0 -17
  611. package/dist/browser/lru-cache.d.ts.map +0 -1
  612. package/dist/browser/lru-cache.js +0 -50
  613. package/dist/browser/lru-cache.js.map +0 -1
  614. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  615. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  616. package/dist/browser/merge-segment-loaders.js +0 -102
  617. package/dist/browser/merge-segment-loaders.js.map +0 -1
  618. package/dist/browser/navigation-bridge.d.ts +0 -102
  619. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  620. package/dist/browser/navigation-bridge.js +0 -708
  621. package/dist/browser/navigation-bridge.js.map +0 -1
  622. package/dist/browser/navigation-client.d.ts +0 -25
  623. package/dist/browser/navigation-client.d.ts.map +0 -1
  624. package/dist/browser/navigation-client.js +0 -157
  625. package/dist/browser/navigation-client.js.map +0 -1
  626. package/dist/browser/navigation-store.d.ts +0 -101
  627. package/dist/browser/navigation-store.d.ts.map +0 -1
  628. package/dist/browser/navigation-store.js +0 -625
  629. package/dist/browser/navigation-store.js.map +0 -1
  630. package/dist/browser/partial-update.d.ts +0 -75
  631. package/dist/browser/partial-update.d.ts.map +0 -1
  632. package/dist/browser/partial-update.js +0 -426
  633. package/dist/browser/partial-update.js.map +0 -1
  634. package/dist/browser/react/Link.d.ts +0 -86
  635. package/dist/browser/react/Link.d.ts.map +0 -1
  636. package/dist/browser/react/Link.js +0 -128
  637. package/dist/browser/react/Link.js.map +0 -1
  638. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  639. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  640. package/dist/browser/react/NavigationProvider.js +0 -216
  641. package/dist/browser/react/NavigationProvider.js.map +0 -1
  642. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  643. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  644. package/dist/browser/react/ScrollRestoration.js +0 -57
  645. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  646. package/dist/browser/react/context.d.ts +0 -46
  647. package/dist/browser/react/context.d.ts.map +0 -1
  648. package/dist/browser/react/context.js +0 -10
  649. package/dist/browser/react/context.js.map +0 -1
  650. package/dist/browser/react/index.d.ts +0 -11
  651. package/dist/browser/react/index.d.ts.map +0 -1
  652. package/dist/browser/react/index.js +0 -22
  653. package/dist/browser/react/index.js.map +0 -1
  654. package/dist/browser/react/location-state-shared.d.ts +0 -63
  655. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  656. package/dist/browser/react/location-state-shared.js +0 -81
  657. package/dist/browser/react/location-state-shared.js.map +0 -1
  658. package/dist/browser/react/location-state.d.ts +0 -23
  659. package/dist/browser/react/location-state.d.ts.map +0 -1
  660. package/dist/browser/react/location-state.js +0 -29
  661. package/dist/browser/react/location-state.js.map +0 -1
  662. package/dist/browser/react/mount-context.d.ts +0 -24
  663. package/dist/browser/react/mount-context.d.ts.map +0 -1
  664. package/dist/browser/react/mount-context.js +0 -24
  665. package/dist/browser/react/mount-context.js.map +0 -1
  666. package/dist/browser/react/use-action.d.ts +0 -64
  667. package/dist/browser/react/use-action.d.ts.map +0 -1
  668. package/dist/browser/react/use-action.js +0 -134
  669. package/dist/browser/react/use-action.js.map +0 -1
  670. package/dist/browser/react/use-client-cache.d.ts +0 -41
  671. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  672. package/dist/browser/react/use-client-cache.js +0 -39
  673. package/dist/browser/react/use-client-cache.js.map +0 -1
  674. package/dist/browser/react/use-handle.d.ts +0 -31
  675. package/dist/browser/react/use-handle.d.ts.map +0 -1
  676. package/dist/browser/react/use-handle.js +0 -144
  677. package/dist/browser/react/use-handle.js.map +0 -1
  678. package/dist/browser/react/use-href.d.ts +0 -33
  679. package/dist/browser/react/use-href.d.ts.map +0 -1
  680. package/dist/browser/react/use-href.js +0 -39
  681. package/dist/browser/react/use-href.js.map +0 -1
  682. package/dist/browser/react/use-link-status.d.ts +0 -37
  683. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  684. package/dist/browser/react/use-link-status.js +0 -99
  685. package/dist/browser/react/use-link-status.js.map +0 -1
  686. package/dist/browser/react/use-mount.d.ts +0 -25
  687. package/dist/browser/react/use-mount.d.ts.map +0 -1
  688. package/dist/browser/react/use-mount.js +0 -30
  689. package/dist/browser/react/use-mount.js.map +0 -1
  690. package/dist/browser/react/use-navigation.d.ts +0 -27
  691. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  692. package/dist/browser/react/use-navigation.js +0 -87
  693. package/dist/browser/react/use-navigation.js.map +0 -1
  694. package/dist/browser/react/use-segments.d.ts +0 -38
  695. package/dist/browser/react/use-segments.d.ts.map +0 -1
  696. package/dist/browser/react/use-segments.js +0 -130
  697. package/dist/browser/react/use-segments.js.map +0 -1
  698. package/dist/browser/request-controller.d.ts +0 -26
  699. package/dist/browser/request-controller.d.ts.map +0 -1
  700. package/dist/browser/request-controller.js +0 -147
  701. package/dist/browser/request-controller.js.map +0 -1
  702. package/dist/browser/rsc-router.d.ts +0 -129
  703. package/dist/browser/rsc-router.d.ts.map +0 -1
  704. package/dist/browser/rsc-router.js +0 -195
  705. package/dist/browser/rsc-router.js.map +0 -1
  706. package/dist/browser/scroll-restoration.d.ts +0 -93
  707. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  708. package/dist/browser/scroll-restoration.js +0 -321
  709. package/dist/browser/scroll-restoration.js.map +0 -1
  710. package/dist/browser/segment-structure-assert.d.ts +0 -17
  711. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  712. package/dist/browser/segment-structure-assert.js +0 -59
  713. package/dist/browser/segment-structure-assert.js.map +0 -1
  714. package/dist/browser/server-action-bridge.d.ts +0 -26
  715. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  716. package/dist/browser/server-action-bridge.js +0 -668
  717. package/dist/browser/server-action-bridge.js.map +0 -1
  718. package/dist/browser/shallow.d.ts +0 -12
  719. package/dist/browser/shallow.d.ts.map +0 -1
  720. package/dist/browser/shallow.js +0 -34
  721. package/dist/browser/shallow.js.map +0 -1
  722. package/dist/browser/types.d.ts +0 -369
  723. package/dist/browser/types.d.ts.map +0 -1
  724. package/dist/browser/types.js +0 -2
  725. package/dist/browser/types.js.map +0 -1
  726. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  727. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  728. package/dist/build/__tests__/generate-cli.test.js +0 -237
  729. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  730. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  731. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  732. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  733. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  734. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  735. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  736. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  737. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  738. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  739. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  740. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  741. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  742. package/dist/build/generate-manifest.d.ts +0 -81
  743. package/dist/build/generate-manifest.d.ts.map +0 -1
  744. package/dist/build/generate-manifest.js +0 -276
  745. package/dist/build/generate-manifest.js.map +0 -1
  746. package/dist/build/generate-route-types.d.ts +0 -115
  747. package/dist/build/generate-route-types.d.ts.map +0 -1
  748. package/dist/build/generate-route-types.js +0 -740
  749. package/dist/build/generate-route-types.js.map +0 -1
  750. package/dist/build/index.d.ts +0 -21
  751. package/dist/build/index.d.ts.map +0 -1
  752. package/dist/build/index.js +0 -21
  753. package/dist/build/index.js.map +0 -1
  754. package/dist/build/route-trie.d.ts +0 -71
  755. package/dist/build/route-trie.d.ts.map +0 -1
  756. package/dist/build/route-trie.js +0 -175
  757. package/dist/build/route-trie.js.map +0 -1
  758. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  759. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  760. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  761. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  762. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  763. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  764. package/dist/cache/__tests__/document-cache.test.js +0 -345
  765. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  766. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  767. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  768. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  769. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  770. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  771. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  772. package/dist/cache/__tests__/memory-store.test.js +0 -367
  773. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  774. package/dist/cache/cache-scope.d.ts +0 -102
  775. package/dist/cache/cache-scope.d.ts.map +0 -1
  776. package/dist/cache/cache-scope.js +0 -440
  777. package/dist/cache/cache-scope.js.map +0 -1
  778. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  779. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  780. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  781. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  782. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  783. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  784. package/dist/cache/cf/cf-cache-store.js +0 -242
  785. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  786. package/dist/cache/cf/index.d.ts +0 -14
  787. package/dist/cache/cf/index.d.ts.map +0 -1
  788. package/dist/cache/cf/index.js +0 -17
  789. package/dist/cache/cf/index.js.map +0 -1
  790. package/dist/cache/document-cache.d.ts +0 -64
  791. package/dist/cache/document-cache.d.ts.map +0 -1
  792. package/dist/cache/document-cache.js +0 -228
  793. package/dist/cache/document-cache.js.map +0 -1
  794. package/dist/cache/index.d.ts +0 -19
  795. package/dist/cache/index.d.ts.map +0 -1
  796. package/dist/cache/index.js +0 -21
  797. package/dist/cache/index.js.map +0 -1
  798. package/dist/cache/memory-segment-store.d.ts +0 -110
  799. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  800. package/dist/cache/memory-segment-store.js +0 -117
  801. package/dist/cache/memory-segment-store.js.map +0 -1
  802. package/dist/cache/memory-store.d.ts +0 -41
  803. package/dist/cache/memory-store.d.ts.map +0 -1
  804. package/dist/cache/memory-store.js +0 -191
  805. package/dist/cache/memory-store.js.map +0 -1
  806. package/dist/cache/types.d.ts +0 -317
  807. package/dist/cache/types.d.ts.map +0 -1
  808. package/dist/cache/types.js +0 -12
  809. package/dist/cache/types.js.map +0 -1
  810. package/dist/client.d.ts +0 -248
  811. package/dist/client.d.ts.map +0 -1
  812. package/dist/client.js +0 -367
  813. package/dist/client.js.map +0 -1
  814. package/dist/client.rsc.d.ts +0 -26
  815. package/dist/client.rsc.d.ts.map +0 -1
  816. package/dist/client.rsc.js +0 -46
  817. package/dist/client.rsc.js.map +0 -1
  818. package/dist/component-utils.d.ts +0 -36
  819. package/dist/component-utils.d.ts.map +0 -1
  820. package/dist/component-utils.js +0 -61
  821. package/dist/component-utils.js.map +0 -1
  822. package/dist/components/DefaultDocument.d.ts +0 -13
  823. package/dist/components/DefaultDocument.d.ts.map +0 -1
  824. package/dist/components/DefaultDocument.js +0 -15
  825. package/dist/components/DefaultDocument.js.map +0 -1
  826. package/dist/debug.d.ts +0 -58
  827. package/dist/debug.d.ts.map +0 -1
  828. package/dist/debug.js +0 -157
  829. package/dist/debug.js.map +0 -1
  830. package/dist/default-error-boundary.d.ts +0 -11
  831. package/dist/default-error-boundary.d.ts.map +0 -1
  832. package/dist/default-error-boundary.js +0 -45
  833. package/dist/default-error-boundary.js.map +0 -1
  834. package/dist/deps/browser.d.ts +0 -2
  835. package/dist/deps/browser.d.ts.map +0 -1
  836. package/dist/deps/browser.js +0 -3
  837. package/dist/deps/browser.js.map +0 -1
  838. package/dist/deps/html-stream-client.d.ts +0 -2
  839. package/dist/deps/html-stream-client.d.ts.map +0 -1
  840. package/dist/deps/html-stream-client.js +0 -3
  841. package/dist/deps/html-stream-client.js.map +0 -1
  842. package/dist/deps/html-stream-server.d.ts +0 -2
  843. package/dist/deps/html-stream-server.d.ts.map +0 -1
  844. package/dist/deps/html-stream-server.js +0 -3
  845. package/dist/deps/html-stream-server.js.map +0 -1
  846. package/dist/deps/rsc.d.ts +0 -2
  847. package/dist/deps/rsc.d.ts.map +0 -1
  848. package/dist/deps/rsc.js +0 -4
  849. package/dist/deps/rsc.js.map +0 -1
  850. package/dist/deps/ssr.d.ts +0 -2
  851. package/dist/deps/ssr.d.ts.map +0 -1
  852. package/dist/deps/ssr.js +0 -3
  853. package/dist/deps/ssr.js.map +0 -1
  854. package/dist/errors.d.ts +0 -174
  855. package/dist/errors.d.ts.map +0 -1
  856. package/dist/errors.js +0 -241
  857. package/dist/errors.js.map +0 -1
  858. package/dist/handle.d.ts +0 -78
  859. package/dist/handle.d.ts.map +0 -1
  860. package/dist/handle.js +0 -82
  861. package/dist/handle.js.map +0 -1
  862. package/dist/handles/MetaTags.d.ts +0 -14
  863. package/dist/handles/MetaTags.d.ts.map +0 -1
  864. package/dist/handles/MetaTags.js +0 -136
  865. package/dist/handles/MetaTags.js.map +0 -1
  866. package/dist/handles/index.d.ts +0 -6
  867. package/dist/handles/index.d.ts.map +0 -1
  868. package/dist/handles/index.js +0 -6
  869. package/dist/handles/index.js.map +0 -1
  870. package/dist/handles/meta.d.ts +0 -39
  871. package/dist/handles/meta.d.ts.map +0 -1
  872. package/dist/handles/meta.js +0 -202
  873. package/dist/handles/meta.js.map +0 -1
  874. package/dist/host/__tests__/errors.test.d.ts +0 -2
  875. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  876. package/dist/host/__tests__/errors.test.js +0 -76
  877. package/dist/host/__tests__/errors.test.js.map +0 -1
  878. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  879. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  880. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  881. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  882. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  883. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  884. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  885. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  886. package/dist/host/__tests__/router.test.d.ts +0 -2
  887. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  888. package/dist/host/__tests__/router.test.js +0 -241
  889. package/dist/host/__tests__/router.test.js.map +0 -1
  890. package/dist/host/__tests__/testing.test.d.ts +0 -2
  891. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  892. package/dist/host/__tests__/testing.test.js +0 -64
  893. package/dist/host/__tests__/testing.test.js.map +0 -1
  894. package/dist/host/__tests__/utils.test.d.ts +0 -2
  895. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  896. package/dist/host/__tests__/utils.test.js +0 -29
  897. package/dist/host/__tests__/utils.test.js.map +0 -1
  898. package/dist/host/cookie-handler.d.ts +0 -34
  899. package/dist/host/cookie-handler.d.ts.map +0 -1
  900. package/dist/host/cookie-handler.js +0 -124
  901. package/dist/host/cookie-handler.js.map +0 -1
  902. package/dist/host/errors.d.ts +0 -56
  903. package/dist/host/errors.d.ts.map +0 -1
  904. package/dist/host/errors.js +0 -79
  905. package/dist/host/errors.js.map +0 -1
  906. package/dist/host/index.d.ts +0 -29
  907. package/dist/host/index.d.ts.map +0 -1
  908. package/dist/host/index.js +0 -32
  909. package/dist/host/index.js.map +0 -1
  910. package/dist/host/pattern-matcher.d.ts +0 -36
  911. package/dist/host/pattern-matcher.d.ts.map +0 -1
  912. package/dist/host/pattern-matcher.js +0 -172
  913. package/dist/host/pattern-matcher.js.map +0 -1
  914. package/dist/host/router.d.ts +0 -26
  915. package/dist/host/router.d.ts.map +0 -1
  916. package/dist/host/router.js +0 -218
  917. package/dist/host/router.js.map +0 -1
  918. package/dist/host/testing.d.ts +0 -36
  919. package/dist/host/testing.d.ts.map +0 -1
  920. package/dist/host/testing.js +0 -55
  921. package/dist/host/testing.js.map +0 -1
  922. package/dist/host/types.d.ts +0 -115
  923. package/dist/host/types.d.ts.map +0 -1
  924. package/dist/host/types.js +0 -7
  925. package/dist/host/types.js.map +0 -1
  926. package/dist/host/utils.d.ts +0 -21
  927. package/dist/host/utils.d.ts.map +0 -1
  928. package/dist/host/utils.js +0 -23
  929. package/dist/host/utils.js.map +0 -1
  930. package/dist/href-client.d.ts +0 -131
  931. package/dist/href-client.d.ts.map +0 -1
  932. package/dist/href-client.js +0 -64
  933. package/dist/href-client.js.map +0 -1
  934. package/dist/href-context.d.ts +0 -29
  935. package/dist/href-context.d.ts.map +0 -1
  936. package/dist/href-context.js +0 -21
  937. package/dist/href-context.js.map +0 -1
  938. package/dist/index.d.ts +0 -73
  939. package/dist/index.d.ts.map +0 -1
  940. package/dist/index.js +0 -91
  941. package/dist/index.js.map +0 -1
  942. package/dist/index.rsc.d.ts +0 -32
  943. package/dist/index.rsc.d.ts.map +0 -1
  944. package/dist/index.rsc.js +0 -40
  945. package/dist/index.rsc.js.map +0 -1
  946. package/dist/internal-debug.d.ts +0 -2
  947. package/dist/internal-debug.d.ts.map +0 -1
  948. package/dist/internal-debug.js +0 -5
  949. package/dist/internal-debug.js.map +0 -1
  950. package/dist/loader.d.ts +0 -14
  951. package/dist/loader.d.ts.map +0 -1
  952. package/dist/loader.js +0 -20
  953. package/dist/loader.js.map +0 -1
  954. package/dist/loader.rsc.d.ts +0 -19
  955. package/dist/loader.rsc.d.ts.map +0 -1
  956. package/dist/loader.rsc.js +0 -99
  957. package/dist/loader.rsc.js.map +0 -1
  958. package/dist/network-error-thrower.d.ts +0 -17
  959. package/dist/network-error-thrower.d.ts.map +0 -1
  960. package/dist/network-error-thrower.js +0 -14
  961. package/dist/network-error-thrower.js.map +0 -1
  962. package/dist/outlet-context.d.ts +0 -13
  963. package/dist/outlet-context.d.ts.map +0 -1
  964. package/dist/outlet-context.js +0 -3
  965. package/dist/outlet-context.js.map +0 -1
  966. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  967. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  968. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  969. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  970. package/dist/prerender/param-hash.d.ts +0 -16
  971. package/dist/prerender/param-hash.d.ts.map +0 -1
  972. package/dist/prerender/param-hash.js +0 -36
  973. package/dist/prerender/param-hash.js.map +0 -1
  974. package/dist/prerender/store.d.ts +0 -38
  975. package/dist/prerender/store.d.ts.map +0 -1
  976. package/dist/prerender/store.js +0 -61
  977. package/dist/prerender/store.js.map +0 -1
  978. package/dist/prerender.d.ts +0 -66
  979. package/dist/prerender.d.ts.map +0 -1
  980. package/dist/prerender.js +0 -57
  981. package/dist/prerender.js.map +0 -1
  982. package/dist/reverse.d.ts +0 -196
  983. package/dist/reverse.d.ts.map +0 -1
  984. package/dist/reverse.js +0 -78
  985. package/dist/reverse.js.map +0 -1
  986. package/dist/root-error-boundary.d.ts +0 -33
  987. package/dist/root-error-boundary.d.ts.map +0 -1
  988. package/dist/root-error-boundary.js +0 -165
  989. package/dist/root-error-boundary.js.map +0 -1
  990. package/dist/route-content-wrapper.d.ts +0 -46
  991. package/dist/route-content-wrapper.d.ts.map +0 -1
  992. package/dist/route-content-wrapper.js +0 -77
  993. package/dist/route-content-wrapper.js.map +0 -1
  994. package/dist/route-definition.d.ts +0 -421
  995. package/dist/route-definition.d.ts.map +0 -1
  996. package/dist/route-definition.js +0 -868
  997. package/dist/route-definition.js.map +0 -1
  998. package/dist/route-map-builder.d.ts +0 -155
  999. package/dist/route-map-builder.d.ts.map +0 -1
  1000. package/dist/route-map-builder.js +0 -237
  1001. package/dist/route-map-builder.js.map +0 -1
  1002. package/dist/route-types.d.ts +0 -165
  1003. package/dist/route-types.d.ts.map +0 -1
  1004. package/dist/route-types.js +0 -7
  1005. package/dist/route-types.js.map +0 -1
  1006. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  1007. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  1008. package/dist/router/__tests__/handler-context.test.js +0 -65
  1009. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  1010. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  1011. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  1012. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  1013. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  1014. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  1015. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  1016. package/dist/router/__tests__/match-context.test.js +0 -92
  1017. package/dist/router/__tests__/match-context.test.js.map +0 -1
  1018. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  1019. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  1020. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  1021. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  1022. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  1023. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  1024. package/dist/router/__tests__/match-result.test.js +0 -457
  1025. package/dist/router/__tests__/match-result.test.js.map +0 -1
  1026. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  1027. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  1028. package/dist/router/__tests__/on-error.test.js +0 -678
  1029. package/dist/router/__tests__/on-error.test.js.map +0 -1
  1030. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  1031. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  1032. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  1033. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  1034. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  1035. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  1036. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  1037. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  1038. package/dist/router/error-handling.d.ts +0 -77
  1039. package/dist/router/error-handling.d.ts.map +0 -1
  1040. package/dist/router/error-handling.js +0 -202
  1041. package/dist/router/error-handling.js.map +0 -1
  1042. package/dist/router/handler-context.d.ts +0 -20
  1043. package/dist/router/handler-context.d.ts.map +0 -1
  1044. package/dist/router/handler-context.js +0 -198
  1045. package/dist/router/handler-context.js.map +0 -1
  1046. package/dist/router/intercept-resolution.d.ts +0 -66
  1047. package/dist/router/intercept-resolution.d.ts.map +0 -1
  1048. package/dist/router/intercept-resolution.js +0 -246
  1049. package/dist/router/intercept-resolution.js.map +0 -1
  1050. package/dist/router/loader-resolution.d.ts +0 -64
  1051. package/dist/router/loader-resolution.d.ts.map +0 -1
  1052. package/dist/router/loader-resolution.js +0 -284
  1053. package/dist/router/loader-resolution.js.map +0 -1
  1054. package/dist/router/logging.d.ts +0 -15
  1055. package/dist/router/logging.d.ts.map +0 -1
  1056. package/dist/router/logging.js +0 -99
  1057. package/dist/router/logging.js.map +0 -1
  1058. package/dist/router/manifest.d.ts +0 -22
  1059. package/dist/router/manifest.d.ts.map +0 -1
  1060. package/dist/router/manifest.js +0 -181
  1061. package/dist/router/manifest.js.map +0 -1
  1062. package/dist/router/match-api.d.ts +0 -35
  1063. package/dist/router/match-api.d.ts.map +0 -1
  1064. package/dist/router/match-api.js +0 -406
  1065. package/dist/router/match-api.js.map +0 -1
  1066. package/dist/router/match-context.d.ts +0 -206
  1067. package/dist/router/match-context.d.ts.map +0 -1
  1068. package/dist/router/match-context.js +0 -17
  1069. package/dist/router/match-context.js.map +0 -1
  1070. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  1071. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  1072. package/dist/router/match-middleware/background-revalidation.js +0 -75
  1073. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  1074. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  1075. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  1076. package/dist/router/match-middleware/cache-lookup.js +0 -257
  1077. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  1078. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  1079. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  1080. package/dist/router/match-middleware/cache-store.js +0 -108
  1081. package/dist/router/match-middleware/cache-store.js.map +0 -1
  1082. package/dist/router/match-middleware/index.d.ts +0 -81
  1083. package/dist/router/match-middleware/index.d.ts.map +0 -1
  1084. package/dist/router/match-middleware/index.js +0 -80
  1085. package/dist/router/match-middleware/index.js.map +0 -1
  1086. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  1087. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  1088. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  1089. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  1090. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  1091. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  1092. package/dist/router/match-middleware/segment-resolution.js +0 -53
  1093. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  1094. package/dist/router/match-pipelines.d.ts +0 -147
  1095. package/dist/router/match-pipelines.d.ts.map +0 -1
  1096. package/dist/router/match-pipelines.js +0 -82
  1097. package/dist/router/match-pipelines.js.map +0 -1
  1098. package/dist/router/match-result.d.ts +0 -126
  1099. package/dist/router/match-result.d.ts.map +0 -1
  1100. package/dist/router/match-result.js +0 -93
  1101. package/dist/router/match-result.js.map +0 -1
  1102. package/dist/router/metrics.d.ts +0 -20
  1103. package/dist/router/metrics.d.ts.map +0 -1
  1104. package/dist/router/metrics.js +0 -47
  1105. package/dist/router/metrics.js.map +0 -1
  1106. package/dist/router/middleware.d.ts +0 -249
  1107. package/dist/router/middleware.d.ts.map +0 -1
  1108. package/dist/router/middleware.js +0 -434
  1109. package/dist/router/middleware.js.map +0 -1
  1110. package/dist/router/middleware.test.d.ts +0 -2
  1111. package/dist/router/middleware.test.d.ts.map +0 -1
  1112. package/dist/router/middleware.test.js +0 -816
  1113. package/dist/router/middleware.test.js.map +0 -1
  1114. package/dist/router/pattern-matching.d.ts +0 -149
  1115. package/dist/router/pattern-matching.d.ts.map +0 -1
  1116. package/dist/router/pattern-matching.js +0 -349
  1117. package/dist/router/pattern-matching.js.map +0 -1
  1118. package/dist/router/revalidation.d.ts +0 -44
  1119. package/dist/router/revalidation.d.ts.map +0 -1
  1120. package/dist/router/revalidation.js +0 -147
  1121. package/dist/router/revalidation.js.map +0 -1
  1122. package/dist/router/router-context.d.ts +0 -135
  1123. package/dist/router/router-context.d.ts.map +0 -1
  1124. package/dist/router/router-context.js +0 -36
  1125. package/dist/router/router-context.js.map +0 -1
  1126. package/dist/router/segment-resolution.d.ts +0 -127
  1127. package/dist/router/segment-resolution.d.ts.map +0 -1
  1128. package/dist/router/segment-resolution.js +0 -919
  1129. package/dist/router/segment-resolution.js.map +0 -1
  1130. package/dist/router/trie-matching.d.ts +0 -40
  1131. package/dist/router/trie-matching.d.ts.map +0 -1
  1132. package/dist/router/trie-matching.js +0 -127
  1133. package/dist/router/trie-matching.js.map +0 -1
  1134. package/dist/router/types.d.ts +0 -136
  1135. package/dist/router/types.d.ts.map +0 -1
  1136. package/dist/router/types.js +0 -7
  1137. package/dist/router/types.js.map +0 -1
  1138. package/dist/router.d.ts +0 -753
  1139. package/dist/router.d.ts.map +0 -1
  1140. package/dist/router.gen.d.ts +0 -6
  1141. package/dist/router.gen.d.ts.map +0 -1
  1142. package/dist/router.gen.js +0 -6
  1143. package/dist/router.gen.js.map +0 -1
  1144. package/dist/router.js +0 -1304
  1145. package/dist/router.js.map +0 -1
  1146. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  1147. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  1148. package/dist/rsc/__tests__/helpers.test.js +0 -140
  1149. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  1150. package/dist/rsc/handler.d.ts +0 -45
  1151. package/dist/rsc/handler.d.ts.map +0 -1
  1152. package/dist/rsc/handler.js +0 -1172
  1153. package/dist/rsc/handler.js.map +0 -1
  1154. package/dist/rsc/helpers.d.ts +0 -16
  1155. package/dist/rsc/helpers.d.ts.map +0 -1
  1156. package/dist/rsc/helpers.js +0 -55
  1157. package/dist/rsc/helpers.js.map +0 -1
  1158. package/dist/rsc/index.d.ts +0 -22
  1159. package/dist/rsc/index.d.ts.map +0 -1
  1160. package/dist/rsc/index.js +0 -23
  1161. package/dist/rsc/index.js.map +0 -1
  1162. package/dist/rsc/nonce.d.ts +0 -9
  1163. package/dist/rsc/nonce.d.ts.map +0 -1
  1164. package/dist/rsc/nonce.js +0 -18
  1165. package/dist/rsc/nonce.js.map +0 -1
  1166. package/dist/rsc/types.d.ts +0 -206
  1167. package/dist/rsc/types.d.ts.map +0 -1
  1168. package/dist/rsc/types.js +0 -8
  1169. package/dist/rsc/types.js.map +0 -1
  1170. package/dist/search-params.d.ts +0 -103
  1171. package/dist/search-params.d.ts.map +0 -1
  1172. package/dist/search-params.js +0 -74
  1173. package/dist/search-params.js.map +0 -1
  1174. package/dist/segment-system.d.ts +0 -75
  1175. package/dist/segment-system.d.ts.map +0 -1
  1176. package/dist/segment-system.js +0 -336
  1177. package/dist/segment-system.js.map +0 -1
  1178. package/dist/server/context.d.ts +0 -245
  1179. package/dist/server/context.d.ts.map +0 -1
  1180. package/dist/server/context.js +0 -197
  1181. package/dist/server/context.js.map +0 -1
  1182. package/dist/server/fetchable-loader-store.d.ts +0 -18
  1183. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  1184. package/dist/server/fetchable-loader-store.js +0 -18
  1185. package/dist/server/fetchable-loader-store.js.map +0 -1
  1186. package/dist/server/handle-store.d.ts +0 -85
  1187. package/dist/server/handle-store.d.ts.map +0 -1
  1188. package/dist/server/handle-store.js +0 -142
  1189. package/dist/server/handle-store.js.map +0 -1
  1190. package/dist/server/loader-registry.d.ts +0 -55
  1191. package/dist/server/loader-registry.d.ts.map +0 -1
  1192. package/dist/server/loader-registry.js +0 -132
  1193. package/dist/server/loader-registry.js.map +0 -1
  1194. package/dist/server/request-context.d.ts +0 -226
  1195. package/dist/server/request-context.d.ts.map +0 -1
  1196. package/dist/server/request-context.js +0 -290
  1197. package/dist/server/request-context.js.map +0 -1
  1198. package/dist/server/root-layout.d.ts +0 -4
  1199. package/dist/server/root-layout.d.ts.map +0 -1
  1200. package/dist/server/root-layout.js +0 -5
  1201. package/dist/server/root-layout.js.map +0 -1
  1202. package/dist/server.d.ts +0 -15
  1203. package/dist/server.d.ts.map +0 -1
  1204. package/dist/server.js +0 -20
  1205. package/dist/server.js.map +0 -1
  1206. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  1207. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  1208. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  1209. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  1210. package/dist/ssr/index.d.ts +0 -98
  1211. package/dist/ssr/index.d.ts.map +0 -1
  1212. package/dist/ssr/index.js +0 -158
  1213. package/dist/ssr/index.js.map +0 -1
  1214. package/dist/static-handler.d.ts +0 -50
  1215. package/dist/static-handler.d.ts.map +0 -1
  1216. package/dist/static-handler.gen.d.ts +0 -5
  1217. package/dist/static-handler.gen.d.ts.map +0 -1
  1218. package/dist/static-handler.gen.js +0 -5
  1219. package/dist/static-handler.gen.js.map +0 -1
  1220. package/dist/static-handler.js +0 -29
  1221. package/dist/static-handler.js.map +0 -1
  1222. package/dist/theme/ThemeProvider.d.ts +0 -20
  1223. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  1224. package/dist/theme/ThemeProvider.js +0 -240
  1225. package/dist/theme/ThemeProvider.js.map +0 -1
  1226. package/dist/theme/ThemeScript.d.ts +0 -48
  1227. package/dist/theme/ThemeScript.d.ts.map +0 -1
  1228. package/dist/theme/ThemeScript.js +0 -13
  1229. package/dist/theme/ThemeScript.js.map +0 -1
  1230. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  1231. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  1232. package/dist/theme/__tests__/theme.test.js +0 -103
  1233. package/dist/theme/__tests__/theme.test.js.map +0 -1
  1234. package/dist/theme/constants.d.ts +0 -29
  1235. package/dist/theme/constants.d.ts.map +0 -1
  1236. package/dist/theme/constants.js +0 -48
  1237. package/dist/theme/constants.js.map +0 -1
  1238. package/dist/theme/index.d.ts +0 -31
  1239. package/dist/theme/index.d.ts.map +0 -1
  1240. package/dist/theme/index.js +0 -36
  1241. package/dist/theme/index.js.map +0 -1
  1242. package/dist/theme/theme-context.d.ts +0 -40
  1243. package/dist/theme/theme-context.d.ts.map +0 -1
  1244. package/dist/theme/theme-context.js +0 -60
  1245. package/dist/theme/theme-context.js.map +0 -1
  1246. package/dist/theme/theme-script.d.ts +0 -27
  1247. package/dist/theme/theme-script.d.ts.map +0 -1
  1248. package/dist/theme/theme-script.js +0 -147
  1249. package/dist/theme/theme-script.js.map +0 -1
  1250. package/dist/theme/types.d.ts +0 -163
  1251. package/dist/theme/types.d.ts.map +0 -1
  1252. package/dist/theme/types.js +0 -11
  1253. package/dist/theme/types.js.map +0 -1
  1254. package/dist/theme/use-theme.d.ts +0 -12
  1255. package/dist/theme/use-theme.d.ts.map +0 -1
  1256. package/dist/theme/use-theme.js +0 -40
  1257. package/dist/theme/use-theme.js.map +0 -1
  1258. package/dist/types.d.ts +0 -1479
  1259. package/dist/types.d.ts.map +0 -1
  1260. package/dist/types.js +0 -10
  1261. package/dist/types.js.map +0 -1
  1262. package/dist/urls.d.ts +0 -441
  1263. package/dist/urls.d.ts.map +0 -1
  1264. package/dist/urls.gen.d.ts +0 -8
  1265. package/dist/urls.gen.d.ts.map +0 -1
  1266. package/dist/urls.gen.js +0 -8
  1267. package/dist/urls.gen.js.map +0 -1
  1268. package/dist/urls.js +0 -443
  1269. package/dist/urls.js.map +0 -1
  1270. package/dist/use-loader.d.ts +0 -127
  1271. package/dist/use-loader.d.ts.map +0 -1
  1272. package/dist/use-loader.js +0 -237
  1273. package/dist/use-loader.js.map +0 -1
  1274. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  1275. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  1276. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  1277. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  1278. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  1279. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  1280. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  1281. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  1282. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  1283. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  1284. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  1285. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  1286. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  1287. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  1288. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  1289. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  1290. package/dist/vite/ast-handler-extract.d.ts +0 -49
  1291. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  1292. package/dist/vite/ast-handler-extract.js +0 -249
  1293. package/dist/vite/ast-handler-extract.js.map +0 -1
  1294. package/dist/vite/expose-action-id.d.ts +0 -19
  1295. package/dist/vite/expose-action-id.d.ts.map +0 -1
  1296. package/dist/vite/expose-action-id.js +0 -250
  1297. package/dist/vite/expose-action-id.js.map +0 -1
  1298. package/dist/vite/expose-id-utils.d.ts +0 -69
  1299. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  1300. package/dist/vite/expose-id-utils.js +0 -289
  1301. package/dist/vite/expose-id-utils.js.map +0 -1
  1302. package/dist/vite/expose-internal-ids.d.ts +0 -22
  1303. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  1304. package/dist/vite/expose-internal-ids.js +0 -886
  1305. package/dist/vite/expose-internal-ids.js.map +0 -1
  1306. package/dist/vite/index.d.ts +0 -149
  1307. package/dist/vite/index.d.ts.map +0 -1
  1308. package/dist/vite/index.js.bak +0 -5448
  1309. package/dist/vite/index.js.map +0 -1
  1310. package/dist/vite/index.named-routes.gen.ts +0 -103
  1311. package/dist/vite/package-resolution.d.ts +0 -43
  1312. package/dist/vite/package-resolution.d.ts.map +0 -1
  1313. package/dist/vite/package-resolution.js +0 -112
  1314. package/dist/vite/package-resolution.js.map +0 -1
  1315. package/dist/vite/virtual-entries.d.ts +0 -25
  1316. package/dist/vite/virtual-entries.d.ts.map +0 -1
  1317. package/dist/vite/virtual-entries.js +0 -110
  1318. package/dist/vite/virtual-entries.js.map +0 -1
  1319. package/skills/migrate-react-router/cloudflare-workers.md +0 -129
package/src/ssr/index.tsx CHANGED
@@ -1,7 +1,12 @@
1
1
  import React from "react";
2
2
  import { createSsrRootComponent } from "./ssr-root.js";
3
3
  import { injectRSCPayloadEager } from "./inject-rsc-eager.js";
4
+ import { runWithPreinitNonce } from "./preinit-client-references.js";
5
+ import { SHELL_CAPTURE_MAX_WAIT_MS } from "../rsc/shell-capture-constants.js";
4
6
  import type { ErrorPhase } from "../types.js";
7
+ import type { HeadScriptsOption } from "../vite/plugin-types.js";
8
+
9
+ export { installClientReferencePreinit } from "./preinit-client-references.js";
5
10
 
6
11
  /**
7
12
  * Options for injectRSCPayload
@@ -18,6 +23,7 @@ export interface InjectRSCPayloadOptions {
18
23
  */
19
24
  interface RenderToReadableStreamOptions {
20
25
  bootstrapScriptContent?: string;
26
+ bootstrapModules?: string[];
21
27
  nonce?: string;
22
28
  formState?: unknown;
23
29
  }
@@ -35,6 +41,7 @@ interface ReactDOMReadableStream extends ReadableStream<Uint8Array> {
35
41
  interface PrerenderOptions {
36
42
  signal?: AbortSignal;
37
43
  bootstrapScriptContent?: string;
44
+ bootstrapModules?: string[];
38
45
  onError?: (error: unknown) => void;
39
46
  }
40
47
 
@@ -133,6 +140,17 @@ export interface SSRDependencies<TEnv = unknown> {
133
140
  */
134
141
  loadBootstrapScriptContent: () => Promise<string>;
135
142
 
143
+ /**
144
+ * Document script strategy; the generated virtual SSR entry threads the
145
+ * `rango({ headScripts })` plugin option here (canonical docs on
146
+ * `RangoBaseOptions.headScripts` in vite/plugin-types.ts). The
147
+ * bootstrapModules conversion runs ONLY on an explicit `"preinit"`:
148
+ * undefined keeps the inline bootstrap verbatim, so a custom SSR entry that
149
+ * never installed the preinit hook cannot drift into the half-converted
150
+ * state on upgrade (the generated entry always passes an explicit value).
151
+ */
152
+ headScripts?: HeadScriptsOption;
153
+
136
154
  /**
137
155
  * prerender from react-dom/static.edge. Optional; required only by
138
156
  * {@link createShellCaptureHandler} for PPR shell capture.
@@ -164,15 +182,6 @@ export interface SSRDependencies<TEnv = unknown> {
164
182
  onError?: (error: Error, context: { phase: ErrorPhase }) => void;
165
183
  }
166
184
 
167
- /**
168
- * Default guard for how long capture waits on the caller's `quiesce` signal
169
- * before forcing the abort that freezes the shell. This is the ONLY wall-clock
170
- * on the capture path and it is a pathological guard — it should never fire once
171
- * the caller's `quiesce` is a task-quantized, frozen-byte signal (the capture
172
- * gate in shell-capture.ts). See docs/design/ppr-shell-resume.md.
173
- */
174
- const DEFAULT_SHELL_CAPTURE_MAX_WAIT_MS = 5000;
175
-
176
185
  /**
177
186
  * Fixed number of macrotask hops between `quiesce` resolving and the abort. These
178
187
  * give React's fizz worker turns to flush the settled shell into the prelude and
@@ -184,13 +193,16 @@ const DEFAULT_SHELL_CAPTURE_MAX_WAIT_MS = 5000;
184
193
  * cached segments that are ALREADY serialized, so it emits the whole shell payload
185
194
  * in the first tick and the gate declares quiesce almost immediately (~a few ms).
186
195
  * On the old fresh-execution path the Flight dribbled out as handlers ran, so
187
- * Flight-quiet effectively meant "the shell has rendered" and 2 hops sufficed. Under
188
- * replay, Flight-quiet fires BEFORE the fizz side has consumed the instant payload
189
- * and rendered the shell to `<body>`, so the fizz needs a real buffer of turns after
190
- * quiesce otherwise the abort lands on an unrendered tree (empty prelude, root
191
- * postpone) and the sanity gate refuses. Still task-based (masked loaders never
192
- * emit, so more hops never lets a hole settle); a cold worker whose first
193
- * attempt still under-renders heals on the in-place retry. Bounded by maxWaitMs.
196
+ * Flight-quiet effectively meant "the shell has rendered" and 2 hops sufficed.
197
+ *
198
+ * Hops alone are NOT render-readiness: fizz cannot emit even <html> until the
199
+ * payload root settles, which waits on every referenced client-module LOAD
200
+ * real module-runner I/O in dev (100ms+ cold), which no fixed count of near-
201
+ * zero-cost task hops can buy. captureShellHTML therefore awaits the payload-
202
+ * settled signal (SsrRootOptions.onPayloadSettled, deadline-bounded) between
203
+ * quiesce and these hops; the hops then only flush the settled tree and mark
204
+ * pending boundaries POSTPONED. Still task-based (masked loaders never emit,
205
+ * so more hops never lets a hole settle). Bounded by maxWaitMs end to end.
194
206
  */
195
207
  const POST_QUIESCE_TASK_HOPS = 16;
196
208
 
@@ -238,6 +250,38 @@ function createCancelableTimeout(ms: number): {
238
250
  return { promise, cancel: () => clearTimeout(id) };
239
251
  }
240
252
 
253
+ /**
254
+ * True when a debugger is attached outside a production build: a breakpoint
255
+ * pauses script execution but not wall-clock, so the capture deadline would
256
+ * expire mid-inspection and push the key into refusal/backoff while debugging.
257
+ * Next.js precedent (packages/next/src/export/worker.ts): its static-page
258
+ * timeout race is disabled when NODE_OPTIONS contains --inspect. The gate is
259
+ * the bare `process.env.NODE_ENV !== "production"` token — the build define
260
+ * folds exactly that token to a literal (same dev signal as shell-capture.ts's
261
+ * isDevMode), and it covers dev servers that never set NODE_ENV, the common
262
+ * debug case. A production worker launched with --inspect in NODE_OPTIONS
263
+ * keeps the capture's safety bound unconditionally. Every probe is guarded:
264
+ * `process` reads are optional-chained and the node:inspector import is
265
+ * try/caught, so non-Node runtimes (workerd) resolve to false instead of
266
+ * breaking.
267
+ */
268
+ export async function isDebuggerAttached(): Promise<boolean> {
269
+ if (process.env.NODE_ENV === "production") return false;
270
+ try {
271
+ // Substring match also catches --inspect-brk / --inspect=PORT.
272
+ if (globalThis.process?.env?.NODE_OPTIONS?.includes("--inspect")) {
273
+ return true;
274
+ }
275
+ if (globalThis.process?.execArgv?.some((a) => a.startsWith("--inspect"))) {
276
+ return true;
277
+ }
278
+ const inspector = await import("node:inspector");
279
+ return inspector.url() !== undefined;
280
+ } catch {
281
+ return false;
282
+ }
283
+ }
284
+
241
285
  /**
242
286
  * Drain a ReadableStream fully into a single Uint8Array. Capture buffers the
243
287
  * whole prelude so it can be stored and later prepended byte-for-byte.
@@ -301,7 +345,7 @@ function createDataVariantHtmlStream(): ReadableStream<Uint8Array> {
301
345
  interface ShellCaptureOptions {
302
346
  /** Caller-provided promise that resolves once the cached content settled. */
303
347
  quiesce: Promise<void>;
304
- /** Upper bound on how long to wait for `quiesce`. Default 5000ms. */
348
+ /** Upper bound on how long to wait for `quiesce`. Default SHELL_CAPTURE_MAX_WAIT_MS. */
305
349
  maxWaitMs?: number;
306
350
  }
307
351
 
@@ -326,6 +370,47 @@ interface ShellResumeOptions {
326
370
  nonce?: string;
327
371
  }
328
372
 
373
+ /**
374
+ * The exact shape plugin-rsc's loadBootstrapScriptContent returns in both dev
375
+ * and build: a single dynamic import of the browser entry, nothing else.
376
+ * Escapes/other statements never appear in that generated content; anything
377
+ * that doesn't match falls back to inline bootstrapScriptContent unchanged.
378
+ */
379
+ const BOOTSTRAP_IMPORT_ONLY_RE =
380
+ /^\s*import\(\s*(["'])([^"'\\]+)\1\s*\)\s*;?\s*$/;
381
+
382
+ /**
383
+ * Prefer bootstrapModules over the inline import() bootstrap. When the content
384
+ * is exactly `import("<entry-url>")`, hand Fizz the URL instead: React then
385
+ * emits a `<link rel="modulepreload" fetchpriority="low">` hint in the head
386
+ * plus the executing `<script type="module" src async>` at end of shell — the
387
+ * entry fetch starts with the first flushed bytes instead of when the parser
388
+ * reaches an opaque inline script that only reveals the URL once executed.
389
+ * Fizz stamps the request nonce on both tags (the inline form needed that
390
+ * too), and under PPR both land in the stored prelude; on resume React has
391
+ * already cleared the bootstrap fields from the postponed state, so nothing
392
+ * re-emits.
393
+ */
394
+ function resolveBootstrapOptions(
395
+ content: string,
396
+ headScripts: SSRDependencies["headScripts"],
397
+ ): Pick<
398
+ RenderToReadableStreamOptions,
399
+ "bootstrapScriptContent" | "bootstrapModules"
400
+ > {
401
+ // Explicit opt-in only: undefined (a custom SSR entry that predates the
402
+ // option, which also never installed the preinit hook) keeps the inline
403
+ // bootstrap byte-for-byte — converting by default would break CSPs that
404
+ // allowlist the known inline import() via a script hash.
405
+ if (headScripts !== "preinit") {
406
+ return { bootstrapScriptContent: content };
407
+ }
408
+ const match = BOOTSTRAP_IMPORT_ONLY_RE.exec(content);
409
+ return match
410
+ ? { bootstrapModules: [match[2]!] }
411
+ : { bootstrapScriptContent: content };
412
+ }
413
+
329
414
  /**
330
415
  * Create an SSR handler that converts RSC streams to HTML.
331
416
  *
@@ -383,12 +468,16 @@ export function createSSRHandler<TEnv = unknown>(deps: SSRDependencies<TEnv>) {
383
468
 
384
469
  // Render React tree to HTML stream
385
470
  // Pass formState for useActionState progressive enhancement if provided
386
- // Pass nonce for CSP if provided
387
- const htmlStream = await renderToReadableStream(<SsrRoot />, {
388
- bootstrapScriptContent,
389
- formState,
390
- nonce,
391
- });
471
+ // Pass nonce for CSP if provided. runWithPreinitNonce makes the same
472
+ // nonce visible to the client-reference preinit hook (ALS the hook is
473
+ // isolate-global, the nonce per request).
474
+ const htmlStream = await runWithPreinitNonce(nonce, () =>
475
+ renderToReadableStream(<SsrRoot />, {
476
+ ...resolveBootstrapOptions(bootstrapScriptContent, deps.headScripts),
477
+ formState,
478
+ nonce,
479
+ }),
480
+ );
392
481
 
393
482
  // Wait for all Suspense boundaries to resolve when streamMode is "allReady".
394
483
  // This buffers the entire HTML before flushing — used for bots that
@@ -444,7 +533,7 @@ export function createShellCaptureHandler<TEnv = unknown>(
444
533
  rscStream: ReadableStream<Uint8Array>,
445
534
  opts: ShellCaptureOptions,
446
535
  ): Promise<ShellCaptureResult | null> {
447
- const maxWaitMs = opts.maxWaitMs ?? DEFAULT_SHELL_CAPTURE_MAX_WAIT_MS;
536
+ const maxWaitMs = opts.maxWaitMs ?? SHELL_CAPTURE_MAX_WAIT_MS;
448
537
 
449
538
  // Arm the maxWaitMs deadline BEFORE the first await so it bounds the ENTIRE
450
539
  // capture, the bootstrap-script load included. loadBootstrapScriptContent()
@@ -452,12 +541,27 @@ export function createShellCaptureHandler<TEnv = unknown>(
452
541
  // captureShellHTML with no upper bound and held the background capture task
453
542
  // open. One deadline, shared by the bootstrap race below and the quiesce
454
543
  // race, keeps the whole path "bounded by maxWaitMs like every quiesce input".
455
- const deadline = createCancelableTimeout(maxWaitMs);
544
+ // Debugger attached (non-production, see isDebuggerAttached): a paused process
545
+ // must not burn the budget, so the deadline becomes a never-resolving
546
+ // promise (the Next.js approach) — no timer, so it cannot hold the event
547
+ // loop open either.
548
+ const deadline = (await isDebuggerAttached())
549
+ ? { promise: new Promise<void>(() => {}), cancel: () => {} }
550
+ : createCancelableTimeout(maxWaitMs);
456
551
  try {
457
552
  // No nonce (nonce'd requests never reach capture); no formState.
553
+ // payloadSettled: fires when the Flight payload root settles — i.e.
554
+ // every client-module load the payload references completed and fizz
555
+ // can actually emit the tree. The abort below gates on it (bounded by
556
+ // the same deadline): Flight byte-quiet alone is NOT render-readiness.
557
+ let settlePayload!: () => void;
558
+ const payloadSettled = new Promise<void>((resolve) => {
559
+ settlePayload = resolve;
560
+ });
458
561
  const SsrRoot = createSsrRootComponent({
459
562
  createFromReadableStream,
460
563
  rscStream,
564
+ onPayloadSettled: settlePayload,
461
565
  });
462
566
 
463
567
  // Bootstrap load raced against the deadline. A load that never resolves
@@ -490,7 +594,7 @@ export function createShellCaptureHandler<TEnv = unknown>(
490
594
  const abortReason = { rangoShellCaptureAbort: true };
491
595
  const prerenderPromise = prerender(<SsrRoot />, {
492
596
  signal: controller.signal,
493
- bootstrapScriptContent,
597
+ ...resolveBootstrapOptions(bootstrapScriptContent, deps.headScripts),
494
598
  // Abort is how capture WORKS: once the shell is quiet we abort() to
495
599
  // freeze the prelude and let the still-pending holes postpone. React
496
600
  // reports the abort reason for each pending boundary through onError.
@@ -526,10 +630,36 @@ export function createShellCaptureHandler<TEnv = unknown>(
526
630
  // wall-clock debounce here — maxWaitMs is only the pathological guard for a
527
631
  // shell that never goes quiet (a root postpone / hung handle).
528
632
  await Promise.race([opts.quiesce, deadline.promise]);
633
+ // Then wait for fizz RENDER-READINESS, bounded by the same deadline:
634
+ // the payload root settles only after every client-module load the
635
+ // payload references completed (real module-runner I/O in dev; 100ms+
636
+ // on a cold graph). Flight byte-quiet does NOT imply this — a fully
637
+ // REPLAYED (prerendered) route's Flight stream finishes in ~1-3ms and
638
+ // an abort taken on quiet-plus-task-hops alone landed BEFORE fizz could
639
+ // emit <html>, freezing a zero-byte prelude: the eternal-MISS shape
640
+ // this route class showed on every cold graph (dev cold boots, GH
641
+ // runners) while ordinary routes — whose live handler execution keeps
642
+ // Flight noisy long enough — never hit it. Masked-loader holes do not
643
+ // block payload settlement (they postpone below the root), so this
644
+ // await costs a genuinely hole-y shell nothing; a payload that NEVER
645
+ // settles (hung handles) degrades at the deadline exactly as before.
646
+ // A prerender that SETTLES first (early success or a hard rejection)
647
+ // ends the wait immediately — fizz is already done either way.
648
+ const prerenderSettled = prerenderPromise.then(
649
+ () => {},
650
+ () => {},
651
+ );
652
+ await Promise.race([payloadSettled, prerenderSettled, deadline.promise]);
529
653
  // Fixed task hops before the abort: give React's fizz worker turns to flush
530
654
  // the now-complete shell and mark the still-pending boundaries as POSTPONED
531
- // rather than errored. Deterministic (the byte set is already frozen), so a
532
- // fixed count of turns suffices — no wall-clock.
655
+ // rather than errored. Deterministic (the byte set is already frozen and
656
+ // the payload is settled), so a fixed count of turns suffices — no
657
+ // wall-clock. Ready-but-queued fizz render work (however large — a multi-MB
658
+ // outlined boundary) can never lose this race: tracked-postpones pings run
659
+ // on scheduleMicrotask, so every runnable task drains before the FIRST
660
+ // setTimeout hop fires; only tasks parked on genuinely pending promises
661
+ // (masked loaders, real per-request I/O) remain, and those are exactly the
662
+ // holes that must postpone (issue #702).
533
663
  for (let i = 0; i < POST_QUIESCE_TASK_HOPS; i++) {
534
664
  await macrotask();
535
665
  }
@@ -659,10 +789,15 @@ export function createShellResumeHandler<TEnv = unknown>(
659
789
  const injector = injectRSCPayloadEager(rscStream2, { nonce });
660
790
  void (async () => {
661
791
  try {
662
- const resumed = await resume(<SsrRoot />, JSON.parse(postponed), {
663
- onError: (error) => reportRenderError(onError, error),
664
- nonce,
665
- });
792
+ // Nonce wrap mirrors renderHTML: client references first discovered
793
+ // during resume (holes the shell never rendered) preinit into the
794
+ // resumed stream and need the per-request nonce.
795
+ const resumed = await runWithPreinitNonce(nonce, () =>
796
+ resume(<SsrRoot />, JSON.parse(postponed), {
797
+ onError: (error) => reportRenderError(onError, error),
798
+ nonce,
799
+ }),
800
+ );
666
801
  await resumed.pipeTo(injector.writable);
667
802
  } catch (error) {
668
803
  reportRenderError(onError, error);
@@ -0,0 +1,106 @@
1
+ import { AsyncLocalStorage } from "node:async_hooks";
2
+ import { preinitModule } from "react-dom";
3
+
4
+ /**
5
+ * JS/CSS asset deps plugin-rsc resolves for a client reference. Structural
6
+ * mirror of @vitejs/plugin-rsc's ResolvedAssetDeps — deliberately not imported:
7
+ * @rangojs/router/ssr never imports plugin-rsc directly; every plugin binding
8
+ * is injected by the virtual SSR entry (see SSRDependencies).
9
+ */
10
+ export interface ClientReferenceDeps {
11
+ js: string[];
12
+ css: string[];
13
+ }
14
+
15
+ /**
16
+ * Callback shape of @vitejs/plugin-rsc/ssr's setOnClientReference. Fired
17
+ * (synchronously, inside the Fizz render) whenever a client reference module
18
+ * is accessed during SSR — the same moment plugin-rsc issues its own
19
+ * ReactDOM.preloadModule calls for the reference's chunks.
20
+ */
21
+ export type OnClientReference = (reference: {
22
+ id: string;
23
+ deps: ClientReferenceDeps;
24
+ }) => void;
25
+
26
+ /** setOnClientReference from @vitejs/plugin-rsc/ssr (injected). */
27
+ export type SetOnClientReference = (
28
+ callback: OnClientReference | undefined,
29
+ ) => void;
30
+
31
+ /**
32
+ * Per-request CSP nonce channel for the preinit hook. The hook is installed
33
+ * once per isolate while the nonce is per request, and Fizz interleaves
34
+ * concurrent renders at task granularity — a module-scoped variable would race
35
+ * across requests and stamp request A's scripts with request B's nonce. ALS is
36
+ * the only channel that survives from the render call into the client-reference
37
+ * proxy access. A lost context degrades to nonce-less preinit (CSP blocks the
38
+ * head script; hydration still works through the nonce'd bootstrap), never to a
39
+ * wrong nonce.
40
+ */
41
+ const preinitNonceStorage = new AsyncLocalStorage<string | undefined>();
42
+
43
+ /**
44
+ * Run a Fizz render (renderToReadableStream / prerender / resume) with the
45
+ * request's nonce visible to the client-reference preinit hook. Nonce-less
46
+ * requests (the common non-CSP configuration) skip the ALS frame entirely —
47
+ * getStore() on an unentered storage already returns undefined, so the hook
48
+ * reads the same value either way.
49
+ */
50
+ export function runWithPreinitNonce<T>(
51
+ nonce: string | undefined,
52
+ fn: () => T,
53
+ ): T {
54
+ return nonce === undefined ? fn() : preinitNonceStorage.run(nonce, fn);
55
+ }
56
+
57
+ /**
58
+ * Upgrade plugin-rsc's client-reference modulepreload hints to executing
59
+ * scripts: for every JS chunk a client reference needs, emit
60
+ * `<script type="module" src async>` hoisted into the document head instead of
61
+ * only `<link rel="modulepreload">`.
62
+ *
63
+ * Why: modulepreload fetches + compiles but never executes; the chunks then
64
+ * execute only when the entry's hydration import walks the graph — after the
65
+ * whole document has streamed. preinitModule starts execution as soon as each
66
+ * chunk arrives, overlapping it with body streaming (the pattern Next.js uses
67
+ * via ReactDOM.preinit for all non-bootstrap chunks). Under PPR the preinits
68
+ * run during shell capture, so the executing tags live in the stored prelude
69
+ * and chunk execution starts on the first flushed bytes.
70
+ *
71
+ * No duplicate tags: plugin-rsc's preloadModule fires first in the same
72
+ * synchronous block; Fizz's preinitModuleScript then clears the queued preload
73
+ * chunks for that URL and adopts its credentials (ReactFizzConfigDOM,
74
+ * renderState.preloads.moduleScripts). Capture→resume double-emission is
75
+ * prevented the same way: the `moduleScriptResources[src] = null` markers
76
+ * serialize inside the postponed state, so the resume pass preinits only
77
+ * references the shell never saw.
78
+ *
79
+ * crossOrigin "" matches plugin-rsc's preloadModule creds so the upgrade path
80
+ * reuses the same resource instead of forking on credential mismatch.
81
+ *
82
+ * Known trades (deliberate, measured neutral-to-positive on the e2e apps —
83
+ * PR #694 has the Lighthouse/hydration numbers):
84
+ * - Fetch priority: an executing async module script fetches at Chromium's
85
+ * async-script priority, below a bare modulepreload hint; preinitModule
86
+ * forwards no fetchPriority (react-dom's public API drops it — only
87
+ * `preinit` forwards it). Execution-overlap is bought with hint priority,
88
+ * the same trade Next.js ships via ReactDOM.preinit.
89
+ * - Build only: plugin-rsc's dev load path reports `js: []` per reference, so
90
+ * dev documents have no head chunk scripts — a client module whose module
91
+ * scope assumes body-parsed DOM can break in production only. The
92
+ * `rango({ headScripts: "preload" })` escape hatch restores hint-only.
93
+ * - plugin-rsc's setOnClientReference is a single-slot, last-write-wins
94
+ * setter: another registrant in the SSR environment silently replaces this
95
+ * hook (or is replaced by it). No composition API exists upstream yet.
96
+ */
97
+ export function installClientReferencePreinit(
98
+ setOnClientReference: SetOnClientReference,
99
+ ): void {
100
+ setOnClientReference(({ deps }) => {
101
+ const nonce = preinitNonceStorage.getStore();
102
+ for (const href of deps.js) {
103
+ preinitModule(href, { as: "script", crossOrigin: "", nonce });
104
+ }
105
+ });
106
+ }
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
+ import { expandSegmentFragments } from "../segment-fragments.js";
2
3
  import { renderSegments } from "../segment-system.js";
3
4
  import {
4
5
  filterSegmentOrder,
@@ -128,6 +129,18 @@ export interface SsrRootOptions {
128
129
  rscStream: ReadableStream<Uint8Array>;
129
130
  /** Nonce for CSP; propagated to NonceContext. */
130
131
  nonce?: string;
132
+ /**
133
+ * Fires once when the Flight payload root settles (resolve OR reject) — the
134
+ * signal that every client-module load the payload references completed and
135
+ * fizz can start emitting the tree. The capture pass gates its abort on
136
+ * this: a fully REPLAYED (prerendered) route's Flight stream goes
137
+ * byte-quiet in ~1-3ms, but fizz cannot render even <html> until the
138
+ * module loads finish (real module-runner I/O in dev; 100ms+ on a cold
139
+ * graph), so an abort gated on Flight quiet alone fires first and freezes
140
+ * a zero-byte prelude. Masked-loader holes do NOT block this signal —
141
+ * they postpone below the root.
142
+ */
143
+ onPayloadSettled?: () => void;
131
144
  }
132
145
 
133
146
  /**
@@ -148,7 +161,7 @@ export interface SsrRootOptions {
148
161
  * re-running the whole segment-tree build unless the promise is memoized.
149
162
  */
150
163
  export function createSsrRootComponent(opts: SsrRootOptions): React.FC {
151
- const { createFromReadableStream, rscStream, nonce } = opts;
164
+ const { createFromReadableStream, rscStream, nonce, onPayloadSettled } = opts;
152
165
 
153
166
  let payload: Promise<RscPayload> | undefined;
154
167
  let handlesPromise: Promise<HandleData> | undefined;
@@ -156,7 +169,27 @@ export function createSsrRootComponent(opts: SsrRootOptions): React.FC {
156
169
  let rootPromise: Promise<React.ReactNode> | undefined;
157
170
 
158
171
  return function SsrRoot() {
159
- payload ??= createFromReadableStream<RscPayload>(rscStream);
172
+ if (payload === undefined) {
173
+ // Shell-HIT tails carry replayed segments as VERBATIM stored fragments
174
+ // (segment-fragments.ts, issue #700); expand them through this
175
+ // environment's deserializer before anything reads the segments. Every
176
+ // other payload (full render, capture, actions) has no envelopes and
177
+ // pays one field scan. onPayloadSettled fires AFTER expansion: the
178
+ // capture's fizz-readiness gate must include fragment module loads.
179
+ // Promise.resolve() adoption is load-bearing: some wirings (the build
180
+ // temp server's vendored Flight client) return a THENABLE Chunk whose
181
+ // .then returns undefined — chaining on it directly yields undefined.
182
+ payload = Promise.resolve(
183
+ createFromReadableStream<RscPayload>(rscStream),
184
+ ).then(async (resolvedPayload) => {
185
+ await expandSegmentFragments(
186
+ resolvedPayload.metadata?.segments,
187
+ createFromReadableStream,
188
+ );
189
+ return resolvedPayload;
190
+ });
191
+ if (onPayloadSettled) payload.then(onPayloadSettled, onPayloadSettled);
192
+ }
160
193
  const resolved = React.use(payload);
161
194
 
162
195
  const themeConfig = resolved.metadata?.themeConfig ?? null;