@rangojs/router 0.0.0-experimental.tapabs2 → 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.
- package/dist/bin/rango.js +8 -40
- package/dist/types/__internal.d.ts +127 -0
- package/dist/types/bin/rango.d.ts +1 -0
- package/dist/types/browser/action-coordinator.d.ts +57 -0
- package/dist/types/browser/action-fence.d.ts +33 -0
- package/dist/types/browser/app-shell.d.ts +34 -0
- package/dist/types/browser/app-version.d.ts +6 -0
- package/dist/types/browser/connection-warmup.d.ts +31 -0
- package/dist/types/browser/cookie-name.d.ts +66 -0
- package/dist/types/browser/event-controller.d.ts +221 -0
- package/dist/types/browser/history-state.d.ts +26 -0
- package/dist/types/browser/index.d.ts +1 -0
- package/dist/types/browser/intercept-utils.d.ts +30 -0
- package/dist/types/browser/invalidate-client-cache.d.ts +17 -0
- package/dist/types/browser/link-interceptor.d.ts +43 -0
- package/dist/types/browser/logging.d.ts +33 -0
- package/dist/types/browser/merge-segment-loaders.d.ts +38 -0
- package/dist/types/browser/navigation-bridge.d.ts +27 -0
- package/dist/types/browser/navigation-client.d.ts +17 -0
- package/dist/types/browser/navigation-store-handle.d.ts +25 -0
- package/dist/types/browser/navigation-store.d.ts +95 -0
- package/dist/types/browser/navigation-transaction.d.ts +75 -0
- package/dist/types/browser/network-error-handler.d.ts +35 -0
- package/dist/types/browser/partial-update.d.ts +61 -0
- package/dist/types/browser/prefetch/cache.d.ts +183 -0
- package/dist/types/browser/prefetch/fetch.d.ts +52 -0
- package/dist/types/browser/prefetch/observer.d.ts +27 -0
- package/dist/types/browser/prefetch/policy.d.ts +13 -0
- package/dist/types/browser/prefetch/queue.d.ts +48 -0
- package/dist/types/browser/prefetch/resource-ready.d.ts +28 -0
- package/dist/types/browser/rango-state.d.ts +52 -0
- package/dist/types/browser/react/Link.d.ts +140 -0
- package/dist/types/browser/react/NavigationProvider.d.ts +88 -0
- package/dist/types/browser/react/ScrollRestoration.d.ts +78 -0
- package/dist/types/browser/react/context.d.ts +54 -0
- package/dist/types/browser/react/filter-segment-order.d.ts +35 -0
- package/dist/types/browser/react/index.d.ts +1 -0
- package/dist/types/browser/react/location-state-shared.d.ts +162 -0
- package/dist/types/browser/react/location-state.d.ts +29 -0
- package/dist/types/browser/react/mount-context.d.ts +23 -0
- package/dist/types/browser/react/nonce-context.d.ts +14 -0
- package/dist/types/browser/react/shallow-equal.d.ts +5 -0
- package/dist/types/browser/react/use-action.d.ts +61 -0
- package/dist/types/browser/react/use-handle.d.ts +21 -0
- package/dist/types/browser/react/use-href.d.ts +32 -0
- package/dist/types/browser/react/use-link-status.d.ts +36 -0
- package/dist/types/browser/react/use-mount.d.ts +24 -0
- package/dist/types/browser/react/use-navigation.d.ts +15 -0
- package/dist/types/browser/react/use-params.d.ts +21 -0
- package/dist/types/browser/react/use-pathname.d.ts +13 -0
- package/dist/types/browser/react/use-reverse.d.ts +40 -0
- package/dist/types/browser/react/use-router.d.ts +23 -0
- package/dist/types/browser/react/use-search-params.d.ts +19 -0
- package/dist/types/browser/react/use-segments.d.ts +29 -0
- package/dist/types/browser/response-adapter.d.ts +58 -0
- package/dist/types/browser/rsc-router.d.ts +141 -0
- package/dist/types/browser/scroll-restoration.d.ts +103 -0
- package/dist/types/browser/segment-reconciler.d.ts +74 -0
- package/dist/types/browser/segment-structure-assert.d.ts +16 -0
- package/dist/types/browser/server-action-bridge.d.ts +29 -0
- package/dist/types/browser/types.d.ts +530 -0
- package/dist/types/browser/validate-redirect-origin.d.ts +28 -0
- package/dist/types/build/collect-fallback-refs.d.ts +5 -0
- package/dist/types/build/generate-manifest.d.ts +100 -0
- package/dist/types/build/generate-route-types.d.ts +8 -0
- package/dist/types/build/index.d.ts +21 -0
- package/dist/types/build/prefix-tree-utils.d.ts +56 -0
- package/dist/types/build/route-trie.d.ts +89 -0
- package/dist/types/build/route-types/ast-helpers.d.ts +3 -0
- package/dist/types/build/route-types/ast-route-extraction.d.ts +13 -0
- package/dist/types/build/route-types/codegen.d.ts +16 -0
- package/dist/types/build/route-types/include-resolution.d.ts +74 -0
- package/dist/types/build/route-types/param-extraction.d.ts +13 -0
- package/dist/types/build/route-types/per-module-writer.d.ts +18 -0
- package/dist/types/build/route-types/router-processing.d.ts +82 -0
- package/dist/types/build/route-types/scan-filter.d.ts +17 -0
- package/dist/types/build/route-types/source-scan.d.ts +13 -0
- package/dist/types/build/runtime-discovery.d.ts +24 -0
- package/dist/types/cache/background-task.d.ts +21 -0
- package/dist/types/cache/cache-error.d.ts +71 -0
- package/dist/types/cache/cache-key-utils.d.ts +35 -0
- package/dist/types/cache/cache-policy.d.ts +59 -0
- package/dist/types/cache/cache-runtime.d.ts +51 -0
- package/dist/types/cache/cache-scope.d.ts +134 -0
- package/dist/types/cache/cache-tag.d.ts +79 -0
- package/dist/types/cache/cf/cf-base64.d.ts +4 -0
- package/dist/types/cache/cf/cf-cache-constants.d.ts +105 -0
- package/dist/types/cache/cf/cf-cache-store.d.ts +588 -0
- package/dist/types/cache/cf/cf-cache-types.d.ts +363 -0
- package/dist/types/cache/cf/cf-kv-utils.d.ts +22 -0
- package/dist/types/cache/cf/cf-tag-marker-memo.d.ts +15 -0
- package/dist/types/cache/cf/cf-zone-purge.d.ts +31 -0
- package/dist/types/cache/cf/index.d.ts +4 -0
- package/dist/types/cache/document-cache.d.ts +69 -0
- package/dist/types/cache/handle-capture.d.ts +23 -0
- package/dist/types/cache/handle-snapshot.d.ts +39 -0
- package/dist/types/cache/index.d.ts +7 -0
- package/dist/types/cache/memory-segment-store.d.ts +163 -0
- package/dist/types/cache/profile-registry.d.ts +40 -0
- package/dist/types/cache/read-through-swr.d.ts +60 -0
- package/dist/types/cache/segment-codec.d.ts +78 -0
- package/dist/types/cache/shell-snapshot.d.ts +173 -0
- package/dist/types/cache/tag-invalidation.d.ts +74 -0
- package/dist/types/cache/taint.d.ts +71 -0
- package/dist/types/cache/types.d.ts +418 -0
- package/dist/types/cache/vercel/index.d.ts +1 -0
- package/dist/types/cache/vercel/vercel-cache-store.d.ts +267 -0
- package/dist/types/client.d.ts +184 -0
- package/dist/types/client.rsc.d.ts +39 -0
- package/dist/types/cloudflare/index.d.ts +7 -0
- package/dist/types/cloudflare/tracing.d.ts +53 -0
- package/dist/types/component-utils.d.ts +46 -0
- package/dist/types/components/DefaultDocument.d.ts +13 -0
- package/dist/types/context-var.d.ts +84 -0
- package/dist/types/debug.d.ts +57 -0
- package/dist/types/decode-loader-results.d.ts +5 -0
- package/dist/types/default-error-boundary.d.ts +10 -0
- package/dist/types/defer.d.ts +89 -0
- package/dist/types/deps/browser.d.ts +1 -0
- package/dist/types/deps/html-stream-client.d.ts +1 -0
- package/dist/types/deps/html-stream-server.d.ts +1 -0
- package/dist/types/deps/rsc.d.ts +1 -0
- package/dist/types/deps/ssr.d.ts +1 -0
- package/dist/types/encode-kv.d.ts +35 -0
- package/dist/types/errors.d.ts +226 -0
- package/dist/types/escape-script.d.ts +44 -0
- package/dist/types/handle.d.ts +93 -0
- package/dist/types/handles/MetaTags.d.ts +17 -0
- package/dist/types/handles/Scripts.d.ts +38 -0
- package/dist/types/handles/breadcrumbs.d.ts +43 -0
- package/dist/types/handles/deferred-resolution.d.ts +53 -0
- package/dist/types/handles/is-thenable.d.ts +12 -0
- package/dist/types/handles/meta.d.ts +43 -0
- package/dist/types/handles/script.d.ts +139 -0
- package/dist/types/host/cookie-handler.d.ts +8 -0
- package/dist/types/host/errors.d.ts +40 -0
- package/dist/types/host/index.d.ts +33 -0
- package/dist/types/host/pattern-matcher.d.ts +30 -0
- package/dist/types/host/router.d.ts +12 -0
- package/dist/types/host/testing.d.ts +41 -0
- package/dist/types/host/types.d.ts +148 -0
- package/dist/types/host/utils.d.ts +20 -0
- package/dist/types/href-client.d.ts +214 -0
- package/dist/types/index.d.ts +112 -0
- package/dist/types/index.rsc.d.ts +51 -0
- package/dist/types/internal-debug.d.ts +1 -0
- package/dist/types/loader-store.d.ts +193 -0
- package/dist/types/loader.d.ts +18 -0
- package/dist/types/loader.rsc.d.ts +18 -0
- package/dist/types/missing-id-error.d.ts +1 -0
- package/dist/types/outlet-context.d.ts +12 -0
- package/dist/types/outlet-provider.d.ts +12 -0
- package/dist/types/prerender/build-shell-capture.d.ts +104 -0
- package/dist/types/prerender/param-hash.d.ts +6 -0
- package/dist/types/prerender/shell-manifest-key.d.ts +18 -0
- package/dist/types/prerender/store.d.ts +62 -0
- package/dist/types/prerender.d.ts +292 -0
- package/dist/types/redirect-origin.d.ts +67 -0
- package/dist/types/regex-escape.d.ts +6 -0
- package/dist/types/render-error-thrower.d.ts +13 -0
- package/dist/types/response-utils.d.ts +35 -0
- package/dist/types/reverse.d.ts +206 -0
- package/dist/types/root-error-boundary.d.ts +32 -0
- package/dist/types/route-content-wrapper.d.ts +40 -0
- package/dist/types/route-definition/dsl-helpers.d.ts +130 -0
- package/dist/types/route-definition/helper-factories.d.ts +22 -0
- package/dist/types/route-definition/helpers-types.d.ts +392 -0
- package/dist/types/route-definition/index.d.ts +7 -0
- package/dist/types/route-definition/redirect.d.ts +48 -0
- package/dist/types/route-definition/resolve-handler-use.d.ts +19 -0
- package/dist/types/route-definition/use-item-types.d.ts +1 -0
- package/dist/types/route-definition.d.ts +1 -0
- package/dist/types/route-map-builder.d.ts +127 -0
- package/dist/types/route-name.d.ts +27 -0
- package/dist/types/route-types.d.ts +172 -0
- package/dist/types/router/basename.d.ts +10 -0
- package/dist/types/router/content-negotiation.d.ts +91 -0
- package/dist/types/router/debug-manifest.d.ts +7 -0
- package/dist/types/router/error-handling.d.ts +76 -0
- package/dist/types/router/find-match.d.ts +19 -0
- package/dist/types/router/handler-context.d.ts +41 -0
- package/dist/types/router/instrument.d.ts +161 -0
- package/dist/types/router/intercept-resolution.d.ts +79 -0
- package/dist/types/router/lazy-includes.d.ts +26 -0
- package/dist/types/router/loader-resolution.d.ts +63 -0
- package/dist/types/router/logging.d.ts +41 -0
- package/dist/types/router/manifest.d.ts +8 -0
- package/dist/types/router/match-api.d.ts +19 -0
- package/dist/types/router/match-context.d.ts +184 -0
- package/dist/types/router/match-handlers.d.ts +49 -0
- package/dist/types/router/match-middleware/background-revalidation.d.ts +113 -0
- package/dist/types/router/match-middleware/cache-lookup.d.ts +113 -0
- package/dist/types/router/match-middleware/cache-store.d.ts +112 -0
- package/dist/types/router/match-middleware/index.d.ts +80 -0
- package/dist/types/router/match-middleware/intercept-resolution.d.ts +116 -0
- package/dist/types/router/match-middleware/segment-resolution.d.ts +94 -0
- package/dist/types/router/match-pipelines.d.ts +103 -0
- package/dist/types/router/match-result.d.ts +114 -0
- package/dist/types/router/metrics.d.ts +6 -0
- package/dist/types/router/middleware-types.d.ts +74 -0
- package/dist/types/router/middleware.d.ts +116 -0
- package/dist/types/router/navigation-snapshot.d.ts +22 -0
- package/dist/types/router/params-util.d.ts +8 -0
- package/dist/types/router/parse-pattern.d.ts +38 -0
- package/dist/types/router/pattern-matching.d.ts +169 -0
- package/dist/types/router/prefetch-cache-ttl.d.ts +27 -0
- package/dist/types/router/prefetch-limits.d.ts +20 -0
- package/dist/types/router/prerender-match.d.ts +50 -0
- package/dist/types/router/preview-match.d.ts +22 -0
- package/dist/types/router/request-classification.d.ts +104 -0
- package/dist/types/router/revalidation.d.ts +57 -0
- package/dist/types/router/route-snapshot.d.ts +112 -0
- package/dist/types/router/router-context.d.ts +137 -0
- package/dist/types/router/router-interfaces.d.ts +432 -0
- package/dist/types/router/router-options.d.ts +738 -0
- package/dist/types/router/router-registry.d.ts +15 -0
- package/dist/types/router/segment-resolution/fresh.d.ts +55 -0
- package/dist/types/router/segment-resolution/helpers.d.ts +93 -0
- package/dist/types/router/segment-resolution/loader-cache.d.ts +33 -0
- package/dist/types/router/segment-resolution/loader-mask.d.ts +44 -0
- package/dist/types/router/segment-resolution/loader-snapshot.d.ts +90 -0
- package/dist/types/router/segment-resolution/mask-nested.d.ts +53 -0
- package/dist/types/router/segment-resolution/revalidation.d.ts +85 -0
- package/dist/types/router/segment-resolution/static-store.d.ts +17 -0
- package/dist/types/router/segment-resolution/streamed-handler-telemetry.d.ts +16 -0
- package/dist/types/router/segment-resolution/view-transition-default.d.ts +28 -0
- package/dist/types/router/segment-resolution.d.ts +3 -0
- package/dist/types/router/segment-wrappers.d.ts +53 -0
- package/dist/types/router/state-cookie-name.d.ts +1 -0
- package/dist/types/router/substitute-pattern-params.d.ts +23 -0
- package/dist/types/router/telemetry-otel.d.ts +113 -0
- package/dist/types/router/telemetry.d.ts +216 -0
- package/dist/types/router/timeout.d.ts +96 -0
- package/dist/types/router/tracing.d.ts +125 -0
- package/dist/types/router/trie-matching.d.ts +32 -0
- package/dist/types/router/types.d.ts +98 -0
- package/dist/types/router/url-params.d.ts +26 -0
- package/dist/types/router.d.ts +7 -0
- package/dist/types/rsc/capture-queue.d.ts +6 -0
- package/dist/types/rsc/full-payload.d.ts +22 -0
- package/dist/types/rsc/handler-context.d.ts +31 -0
- package/dist/types/rsc/handler.d.ts +9 -0
- package/dist/types/rsc/helpers.d.ts +124 -0
- package/dist/types/rsc/index.d.ts +17 -0
- package/dist/types/rsc/json-route-result.d.ts +20 -0
- package/dist/types/rsc/loader-fetch.d.ts +14 -0
- package/dist/types/rsc/manifest-init.d.ts +18 -0
- package/dist/types/rsc/nonce.d.ts +28 -0
- package/dist/types/rsc/origin-guard.d.ts +50 -0
- package/dist/types/rsc/progressive-enhancement.d.ts +19 -0
- package/dist/types/rsc/redirect-guard.d.ts +37 -0
- package/dist/types/rsc/render-pipeline.d.ts +138 -0
- package/dist/types/rsc/response-cache-serve.d.ts +46 -0
- package/dist/types/rsc/response-error.d.ts +19 -0
- package/dist/types/rsc/response-route-handler.d.ts +29 -0
- package/dist/types/rsc/rsc-rendering.d.ts +23 -0
- package/dist/types/rsc/runtime-warnings.d.ts +22 -0
- package/dist/types/rsc/server-action.d.ts +68 -0
- package/dist/types/rsc/shell-build-manifest.d.ts +84 -0
- package/dist/types/rsc/shell-capture-constants.d.ts +27 -0
- package/dist/types/rsc/shell-capture.d.ts +374 -0
- package/dist/types/rsc/shell-serve.d.ts +174 -0
- package/dist/types/rsc/ssr-setup.d.ts +73 -0
- package/dist/types/rsc/transition-gate.d.ts +27 -0
- package/dist/types/rsc/types.d.ts +290 -0
- package/dist/types/runtime-env.d.ts +1 -0
- package/dist/types/search-params.d.ts +125 -0
- package/dist/types/segment-content-promise.d.ts +13 -0
- package/dist/types/segment-fragments.d.ts +56 -0
- package/dist/types/segment-loader-promise.d.ts +22 -0
- package/dist/types/segment-system.d.ts +84 -0
- package/dist/types/serialize.d.ts +164 -0
- package/dist/types/server/context.d.ts +494 -0
- package/dist/types/server/cookie-parse.d.ts +10 -0
- package/dist/types/server/cookie-store.d.ts +107 -0
- package/dist/types/server/fetchable-loader-store.d.ts +20 -0
- package/dist/types/server/handle-store.d.ts +100 -0
- package/dist/types/server/loader-registry.d.ts +32 -0
- package/dist/types/server/request-context.d.ts +618 -0
- package/dist/types/server/root-layout.d.ts +3 -0
- package/dist/types/server.d.ts +15 -0
- package/dist/types/ssr/index.d.ts +233 -0
- package/dist/types/ssr/inject-rsc-eager.d.ts +3 -0
- package/dist/types/ssr/preinit-client-references.d.ts +71 -0
- package/dist/types/ssr/ssr-root.d.ts +69 -0
- package/dist/types/static-handler.d.ts +57 -0
- package/dist/types/testing/cache-status.d.ts +63 -0
- package/dist/types/testing/collect-handle.d.ts +20 -0
- package/dist/types/testing/dispatch.d.ts +127 -0
- package/dist/types/testing/dom.entry.d.ts +15 -0
- package/dist/types/testing/e2e/fixture.d.ts +37 -0
- package/dist/types/testing/e2e/index.d.ts +31 -0
- package/dist/types/testing/e2e/matchers.d.ts +17 -0
- package/dist/types/testing/e2e/page-helpers.d.ts +62 -0
- package/dist/types/testing/e2e/parity.d.ts +111 -0
- package/dist/types/testing/e2e/server.d.ts +35 -0
- package/dist/types/testing/flight-matchers.d.ts +55 -0
- package/dist/types/testing/flight-normalize.d.ts +1 -0
- package/dist/types/testing/flight-tree.d.ts +192 -0
- package/dist/types/testing/flight.d.ts +115 -0
- package/dist/types/testing/flight.entry.d.ts +27 -0
- package/dist/types/testing/generated-routes.d.ts +66 -0
- package/dist/types/testing/index.d.ts +54 -0
- package/dist/types/testing/internal/context.d.ts +225 -0
- package/dist/types/testing/internal/flight-client-globals.d.ts +1 -0
- package/dist/types/testing/internal/seed-vars.d.ts +30 -0
- package/dist/types/testing/render-handler.d.ts +160 -0
- package/dist/types/testing/render-route.d.ts +246 -0
- package/dist/types/testing/run-loader.d.ts +186 -0
- package/dist/types/testing/run-middleware.d.ts +132 -0
- package/dist/types/testing/run-transition-when.d.ts +77 -0
- package/dist/types/testing/shell-status.d.ts +58 -0
- package/dist/types/testing/vitest-stubs/cloudflare-email.d.ts +6 -0
- package/dist/types/testing/vitest-stubs/cloudflare-workers.d.ts +13 -0
- package/dist/types/testing/vitest-stubs/plugin-rsc.d.ts +7 -0
- package/dist/types/testing/vitest-stubs/version.d.ts +1 -0
- package/dist/types/testing/vitest.d.ts +205 -0
- package/dist/types/theme/ThemeProvider.d.ts +13 -0
- package/dist/types/theme/ThemeScript.d.ts +45 -0
- package/dist/types/theme/constants.d.ts +39 -0
- package/dist/types/theme/index.d.ts +29 -0
- package/dist/types/theme/theme-context.d.ts +21 -0
- package/dist/types/theme/theme-script.d.ts +26 -0
- package/dist/types/theme/types.d.ts +162 -0
- package/dist/types/theme/use-theme.d.ts +8 -0
- package/dist/types/types/boundaries.d.ts +93 -0
- package/dist/types/types/cache-types.d.ts +191 -0
- package/dist/types/types/error-types.d.ts +114 -0
- package/dist/types/types/global-namespace.d.ts +90 -0
- package/dist/types/types/handler-context.d.ts +658 -0
- package/dist/types/types/index.d.ts +11 -0
- package/dist/types/types/loader-types.d.ts +182 -0
- package/dist/types/types/request-scope.d.ts +93 -0
- package/dist/types/types/route-config.d.ts +105 -0
- package/dist/types/types/route-entry.d.ts +95 -0
- package/dist/types/types/segments.d.ts +234 -0
- package/dist/types/types.d.ts +1 -0
- package/dist/types/urls/include-helper.d.ts +17 -0
- package/dist/types/urls/include-provider.d.ts +27 -0
- package/dist/types/urls/index.d.ts +6 -0
- package/dist/types/urls/path-helper-types.d.ts +197 -0
- package/dist/types/urls/path-helper.d.ts +12 -0
- package/dist/types/urls/pattern-types.d.ts +166 -0
- package/dist/types/urls/response-types.d.ts +67 -0
- package/dist/types/urls/type-extraction.d.ts +157 -0
- package/dist/types/urls/urls-function.d.ts +24 -0
- package/dist/types/urls.d.ts +1 -0
- package/dist/types/use-loader.d.ts +150 -0
- package/dist/types/vercel/index.d.ts +10 -0
- package/dist/types/vercel/tracing.d.ts +70 -0
- package/dist/types/vite/debug.d.ts +80 -0
- package/dist/types/vite/discovery/bundle-postprocess.d.ts +12 -0
- package/dist/types/vite/discovery/dev-prerender-cache.d.ts +65 -0
- package/dist/types/vite/discovery/discover-routers.d.ts +17 -0
- package/dist/types/vite/discovery/discovery-errors.d.ts +113 -0
- package/dist/types/vite/discovery/gate-state.d.ts +79 -0
- package/dist/types/vite/discovery/prerender-collection.d.ts +24 -0
- package/dist/types/vite/discovery/route-types-writer.d.ts +32 -0
- package/dist/types/vite/discovery/self-gen-tracking.d.ts +22 -0
- package/dist/types/vite/discovery/shell-prerender-phase.d.ts +40 -0
- package/dist/types/vite/discovery/state.d.ts +162 -0
- package/dist/types/vite/discovery/virtual-module-codegen.d.ts +15 -0
- package/dist/types/vite/index.d.ts +11 -0
- package/dist/types/vite/inject-client-debug.d.ts +56 -0
- package/dist/types/vite/plugin-types.d.ts +298 -0
- package/dist/types/vite/plugins/cjs-to-esm.d.ts +6 -0
- package/dist/types/vite/plugins/client-ref-dedup.d.ts +40 -0
- package/dist/types/vite/plugins/client-ref-hashing.d.ts +35 -0
- package/dist/types/vite/plugins/cloudflare-protocol-stub.d.ts +64 -0
- package/dist/types/vite/plugins/expose-action-id.d.ts +18 -0
- package/dist/types/vite/plugins/expose-id-utils.d.ts +37 -0
- package/dist/types/vite/plugins/expose-ids/export-analysis.d.ts +19 -0
- package/dist/types/vite/plugins/expose-ids/handler-transform.d.ts +10 -0
- package/dist/types/vite/plugins/expose-ids/loader-transform.d.ts +8 -0
- package/dist/types/vite/plugins/expose-ids/router-transform.d.ts +13 -0
- package/dist/types/vite/plugins/expose-ids/types.d.ts +29 -0
- package/dist/types/vite/plugins/expose-internal-ids.d.ts +6 -0
- package/dist/types/vite/plugins/performance-tracks.d.ts +25 -0
- package/dist/types/vite/plugins/refresh-cmd.d.ts +20 -0
- package/dist/types/vite/plugins/use-cache-transform.d.ts +20 -0
- package/dist/types/vite/plugins/vercel-output.d.ts +85 -0
- package/dist/types/vite/plugins/version-injector.d.ts +21 -0
- package/dist/types/vite/plugins/version-plugin.d.ts +19 -0
- package/dist/types/vite/plugins/virtual-entries.d.ts +36 -0
- package/dist/types/vite/plugins/virtual-stub-plugin.d.ts +7 -0
- package/dist/types/vite/rango.d.ts +29 -0
- package/dist/types/vite/router-discovery.d.ts +23 -0
- package/dist/types/vite/utils/ast-handler-extract.d.ts +64 -0
- package/dist/types/vite/utils/banner.d.ts +2 -0
- package/dist/types/vite/utils/bundle-analysis.d.ts +28 -0
- package/dist/types/vite/utils/client-chunks.d.ts +55 -0
- package/dist/types/vite/utils/directive-prologue.d.ts +16 -0
- package/dist/types/vite/utils/forward-user-plugins.d.ts +37 -0
- package/dist/types/vite/utils/manifest-utils.d.ts +7 -0
- package/dist/types/vite/utils/package-resolution.d.ts +6 -0
- package/dist/types/vite/utils/prerender-utils.d.ts +32 -0
- package/dist/types/vite/utils/shared-utils.d.ts +55 -0
- package/dist/vite/index.js +1051 -361
- package/package.json +39 -33
- package/skills/catalog.json +6 -0
- package/skills/cloudflare/SKILL.md +149 -0
- package/skills/cloudflare/agents/openai.yaml +4 -0
- package/skills/cloudflare/references/d1-and-local-dev.md +131 -0
- package/skills/cloudflare/references/streaming-and-deploy.md +107 -0
- package/skills/cloudflare/references/webhooks-and-crypto.md +147 -0
- package/skills/composability/SKILL.md +14 -0
- package/skills/debug-manifest/SKILL.md +2 -10
- package/skills/links/SKILL.md +12 -0
- package/skills/middleware/SKILL.md +33 -0
- package/skills/migrate-nextjs/SKILL.md +65 -16
- package/skills/migrate-nextjs/backend-host-swap.md +120 -0
- package/skills/migrate-react-router/SKILL.md +6 -6
- package/skills/mime-routes/SKILL.md +25 -17
- package/skills/ppr/SKILL.md +100 -15
- package/skills/prerender/SKILL.md +44 -1
- package/skills/rango/SKILL.md +10 -10
- package/skills/response-routes/SKILL.md +41 -4
- package/skills/route/SKILL.md +6 -0
- package/skills/testing/SKILL.md +1 -0
- package/skills/testing/cache-prerender.md +43 -2
- package/skills/testing/response-routes.md +2 -2
- package/src/browser/event-controller.ts +16 -2
- package/src/browser/rsc-router.tsx +11 -0
- package/src/build/generate-manifest.ts +5 -36
- package/src/build/route-trie.ts +5 -50
- package/src/cache/cache-key-utils.ts +0 -1
- package/src/cache/cache-scope.ts +41 -3
- package/src/cache/cf/cf-cache-store.ts +465 -56
- package/src/cache/cf/cf-cache-types.ts +66 -0
- package/src/cache/cf/cf-tag-marker-memo.ts +5 -2
- package/src/cache/cf/cf-zone-purge.ts +101 -0
- package/src/cache/cf/index.ts +5 -0
- package/src/cache/handle-snapshot.ts +22 -1
- package/src/cache/index.ts +2 -0
- package/src/cache/memory-segment-store.ts +32 -0
- package/src/cache/segment-codec.ts +47 -0
- package/src/cache/shell-snapshot.ts +79 -14
- package/src/cache/types.ts +38 -0
- package/src/cache/vercel/vercel-cache-store.ts +71 -2
- package/src/deps/ssr.ts +4 -1
- package/src/index.rsc.ts +7 -0
- package/src/index.ts +1 -0
- package/src/prerender/build-shell-capture.ts +447 -0
- package/src/prerender/shell-manifest-key.ts +20 -0
- package/src/prerender/store.ts +10 -1
- package/src/prerender.ts +3 -3
- package/src/redirect-origin.ts +37 -8
- package/src/route-map-builder.ts +8 -8
- package/src/router/content-negotiation.ts +47 -5
- package/src/router/handler-context.ts +18 -10
- package/src/router/intercept-resolution.ts +30 -1
- package/src/router/loader-resolution.ts +16 -0
- package/src/router/match-api.ts +9 -2
- package/src/router/match-handlers.ts +13 -0
- package/src/router/match-middleware/cache-lookup.ts +12 -1
- package/src/router/metrics.ts +17 -2
- package/src/router/middleware-types.ts +17 -0
- package/src/router/middleware.ts +4 -0
- package/src/router/prerender-match.ts +28 -0
- package/src/router/router-interfaces.ts +7 -6
- package/src/router/router-options.ts +13 -8
- package/src/router/segment-resolution/fresh.ts +21 -2
- package/src/router/segment-resolution/helpers.ts +1 -1
- package/src/router/segment-resolution/loader-cache.ts +38 -7
- package/src/router/segment-resolution/mask-nested.ts +19 -3
- package/src/router/segment-resolution/revalidation.ts +9 -0
- package/src/router/telemetry-otel.ts +11 -0
- package/src/router/telemetry.ts +1 -0
- package/src/router/timeout.ts +41 -1
- package/src/router.ts +5 -4
- package/src/rsc/capture-queue.ts +67 -0
- package/src/rsc/handler.ts +151 -77
- package/src/rsc/helpers.ts +67 -4
- package/src/rsc/progressive-enhancement.ts +66 -54
- package/src/rsc/redirect-guard.ts +3 -1
- package/src/rsc/render-pipeline.ts +559 -0
- package/src/rsc/response-cache-serve.ts +39 -18
- package/src/rsc/response-route-handler.ts +9 -45
- package/src/rsc/rsc-rendering.ts +303 -103
- package/src/rsc/server-action.ts +50 -42
- package/src/rsc/shell-build-manifest.ts +316 -0
- package/src/rsc/shell-capture-constants.ts +27 -0
- package/src/rsc/shell-capture.ts +595 -69
- package/src/rsc/shell-serve.ts +133 -3
- package/src/rsc/ssr-setup.ts +102 -23
- package/src/segment-fragments.ts +124 -0
- package/src/server/context.ts +184 -8
- package/src/server/request-context.ts +297 -45
- package/src/ssr/index.tsx +167 -32
- package/src/ssr/preinit-client-references.ts +106 -0
- package/src/ssr/ssr-root.tsx +35 -2
- package/src/testing/dispatch.ts +132 -67
- package/src/testing/e2e/index.ts +8 -0
- package/src/testing/index.ts +9 -1
- package/src/testing/internal/context.ts +9 -0
- package/src/testing/render-handler.ts +15 -1
- package/src/testing/run-middleware.ts +14 -0
- package/src/testing/shell-status.ts +100 -0
- package/src/types/handler-context.ts +13 -2
- package/src/urls/path-helper-types.ts +1 -1
- package/src/urls/pattern-types.ts +29 -0
- package/src/vite/discovery/discover-routers.ts +71 -52
- package/src/vite/discovery/prerender-collection.ts +16 -0
- package/src/vite/discovery/shell-prerender-phase.ts +397 -0
- package/src/vite/discovery/state.ts +44 -0
- package/src/vite/discovery/virtual-module-codegen.ts +126 -20
- package/src/vite/index.ts +1 -0
- package/src/vite/plugin-types.ts +33 -0
- package/src/vite/plugins/version-plugin.ts +8 -0
- package/src/vite/plugins/virtual-entries.ts +37 -4
- package/src/vite/rango.ts +42 -2
- package/src/vite/router-discovery.ts +432 -21
- package/src/vite/utils/package-resolution.ts +1 -0
- package/src/vite/utils/prerender-utils.ts +25 -6
- package/src/vite/utils/shared-utils.ts +4 -2
- package/dist/__internal.d.ts +0 -83
- package/dist/__internal.d.ts.map +0 -1
- package/dist/__internal.js +0 -19
- package/dist/__internal.js.map +0 -1
- package/dist/__mocks__/version.d.ts +0 -7
- package/dist/__mocks__/version.d.ts.map +0 -1
- package/dist/__mocks__/version.js +0 -7
- package/dist/__mocks__/version.js.map +0 -1
- package/dist/__tests__/client-href.test.d.ts +0 -2
- package/dist/__tests__/client-href.test.d.ts.map +0 -1
- package/dist/__tests__/client-href.test.js +0 -74
- package/dist/__tests__/client-href.test.js.map +0 -1
- package/dist/__tests__/component-utils.test.d.ts +0 -2
- package/dist/__tests__/component-utils.test.d.ts.map +0 -1
- package/dist/__tests__/component-utils.test.js +0 -51
- package/dist/__tests__/component-utils.test.js.map +0 -1
- package/dist/__tests__/event-controller.test.d.ts +0 -2
- package/dist/__tests__/event-controller.test.d.ts.map +0 -1
- package/dist/__tests__/event-controller.test.js +0 -538
- package/dist/__tests__/event-controller.test.js.map +0 -1
- package/dist/__tests__/helpers/route-tree.d.ts +0 -118
- package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
- package/dist/__tests__/helpers/route-tree.js +0 -374
- package/dist/__tests__/helpers/route-tree.js.map +0 -1
- package/dist/__tests__/match-result.test.d.ts +0 -2
- package/dist/__tests__/match-result.test.d.ts.map +0 -1
- package/dist/__tests__/match-result.test.js +0 -154
- package/dist/__tests__/match-result.test.js.map +0 -1
- package/dist/__tests__/navigation-store.test.d.ts +0 -2
- package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
- package/dist/__tests__/navigation-store.test.js +0 -440
- package/dist/__tests__/navigation-store.test.js.map +0 -1
- package/dist/__tests__/partial-update.test.d.ts +0 -2
- package/dist/__tests__/partial-update.test.d.ts.map +0 -1
- package/dist/__tests__/partial-update.test.js +0 -1009
- package/dist/__tests__/partial-update.test.js.map +0 -1
- package/dist/__tests__/reverse-types.test.d.ts +0 -8
- package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
- package/dist/__tests__/reverse-types.test.js +0 -656
- package/dist/__tests__/reverse-types.test.js.map +0 -1
- package/dist/__tests__/route-definition.test.d.ts +0 -2
- package/dist/__tests__/route-definition.test.d.ts.map +0 -1
- package/dist/__tests__/route-definition.test.js +0 -55
- package/dist/__tests__/route-definition.test.js.map +0 -1
- package/dist/__tests__/router-helpers.test.d.ts +0 -2
- package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
- package/dist/__tests__/router-helpers.test.js +0 -377
- package/dist/__tests__/router-helpers.test.js.map +0 -1
- package/dist/__tests__/router-integration-2.test.d.ts +0 -2
- package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
- package/dist/__tests__/router-integration-2.test.js +0 -426
- package/dist/__tests__/router-integration-2.test.js.map +0 -1
- package/dist/__tests__/router-integration.test.d.ts +0 -2
- package/dist/__tests__/router-integration.test.d.ts.map +0 -1
- package/dist/__tests__/router-integration.test.js +0 -1051
- package/dist/__tests__/router-integration.test.js.map +0 -1
- package/dist/__tests__/search-params.test.d.ts +0 -5
- package/dist/__tests__/search-params.test.d.ts.map +0 -1
- package/dist/__tests__/search-params.test.js +0 -306
- package/dist/__tests__/search-params.test.js.map +0 -1
- package/dist/__tests__/segment-system.test.d.ts +0 -2
- package/dist/__tests__/segment-system.test.d.ts.map +0 -1
- package/dist/__tests__/segment-system.test.js +0 -627
- package/dist/__tests__/segment-system.test.js.map +0 -1
- package/dist/__tests__/static-handler-types.test.d.ts +0 -8
- package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
- package/dist/__tests__/static-handler-types.test.js +0 -63
- package/dist/__tests__/static-handler-types.test.js.map +0 -1
- package/dist/__tests__/urls.test.d.ts +0 -2
- package/dist/__tests__/urls.test.d.ts.map +0 -1
- package/dist/__tests__/urls.test.js +0 -421
- package/dist/__tests__/urls.test.js.map +0 -1
- package/dist/__tests__/use-mount.test.d.ts +0 -2
- package/dist/__tests__/use-mount.test.d.ts.map +0 -1
- package/dist/__tests__/use-mount.test.js +0 -35
- package/dist/__tests__/use-mount.test.js.map +0 -1
- package/dist/bin/rango.d.ts +0 -2
- package/dist/bin/rango.d.ts.map +0 -1
- package/dist/bin/rango.js.map +0 -1
- package/dist/browser/event-controller.d.ts +0 -191
- package/dist/browser/event-controller.d.ts.map +0 -1
- package/dist/browser/event-controller.js +0 -559
- package/dist/browser/event-controller.js.map +0 -1
- package/dist/browser/index.d.ts +0 -2
- package/dist/browser/index.d.ts.map +0 -1
- package/dist/browser/index.js +0 -14
- package/dist/browser/index.js.map +0 -1
- package/dist/browser/link-interceptor.d.ts +0 -38
- package/dist/browser/link-interceptor.d.ts.map +0 -1
- package/dist/browser/link-interceptor.js +0 -99
- package/dist/browser/link-interceptor.js.map +0 -1
- package/dist/browser/logging.d.ts +0 -10
- package/dist/browser/logging.d.ts.map +0 -1
- package/dist/browser/logging.js +0 -29
- package/dist/browser/logging.js.map +0 -1
- package/dist/browser/lru-cache.d.ts +0 -17
- package/dist/browser/lru-cache.d.ts.map +0 -1
- package/dist/browser/lru-cache.js +0 -50
- package/dist/browser/lru-cache.js.map +0 -1
- package/dist/browser/merge-segment-loaders.d.ts +0 -39
- package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
- package/dist/browser/merge-segment-loaders.js +0 -102
- package/dist/browser/merge-segment-loaders.js.map +0 -1
- package/dist/browser/navigation-bridge.d.ts +0 -102
- package/dist/browser/navigation-bridge.d.ts.map +0 -1
- package/dist/browser/navigation-bridge.js +0 -708
- package/dist/browser/navigation-bridge.js.map +0 -1
- package/dist/browser/navigation-client.d.ts +0 -25
- package/dist/browser/navigation-client.d.ts.map +0 -1
- package/dist/browser/navigation-client.js +0 -157
- package/dist/browser/navigation-client.js.map +0 -1
- package/dist/browser/navigation-store.d.ts +0 -101
- package/dist/browser/navigation-store.d.ts.map +0 -1
- package/dist/browser/navigation-store.js +0 -625
- package/dist/browser/navigation-store.js.map +0 -1
- package/dist/browser/partial-update.d.ts +0 -75
- package/dist/browser/partial-update.d.ts.map +0 -1
- package/dist/browser/partial-update.js +0 -426
- package/dist/browser/partial-update.js.map +0 -1
- package/dist/browser/react/Link.d.ts +0 -86
- package/dist/browser/react/Link.d.ts.map +0 -1
- package/dist/browser/react/Link.js +0 -128
- package/dist/browser/react/Link.js.map +0 -1
- package/dist/browser/react/NavigationProvider.d.ts +0 -63
- package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
- package/dist/browser/react/NavigationProvider.js +0 -216
- package/dist/browser/react/NavigationProvider.js.map +0 -1
- package/dist/browser/react/ScrollRestoration.d.ts +0 -75
- package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
- package/dist/browser/react/ScrollRestoration.js +0 -57
- package/dist/browser/react/ScrollRestoration.js.map +0 -1
- package/dist/browser/react/context.d.ts +0 -46
- package/dist/browser/react/context.d.ts.map +0 -1
- package/dist/browser/react/context.js +0 -10
- package/dist/browser/react/context.js.map +0 -1
- package/dist/browser/react/index.d.ts +0 -11
- package/dist/browser/react/index.d.ts.map +0 -1
- package/dist/browser/react/index.js +0 -22
- package/dist/browser/react/index.js.map +0 -1
- package/dist/browser/react/location-state-shared.d.ts +0 -63
- package/dist/browser/react/location-state-shared.d.ts.map +0 -1
- package/dist/browser/react/location-state-shared.js +0 -81
- package/dist/browser/react/location-state-shared.js.map +0 -1
- package/dist/browser/react/location-state.d.ts +0 -23
- package/dist/browser/react/location-state.d.ts.map +0 -1
- package/dist/browser/react/location-state.js +0 -29
- package/dist/browser/react/location-state.js.map +0 -1
- package/dist/browser/react/mount-context.d.ts +0 -24
- package/dist/browser/react/mount-context.d.ts.map +0 -1
- package/dist/browser/react/mount-context.js +0 -24
- package/dist/browser/react/mount-context.js.map +0 -1
- package/dist/browser/react/use-action.d.ts +0 -64
- package/dist/browser/react/use-action.d.ts.map +0 -1
- package/dist/browser/react/use-action.js +0 -134
- package/dist/browser/react/use-action.js.map +0 -1
- package/dist/browser/react/use-client-cache.d.ts +0 -41
- package/dist/browser/react/use-client-cache.d.ts.map +0 -1
- package/dist/browser/react/use-client-cache.js +0 -39
- package/dist/browser/react/use-client-cache.js.map +0 -1
- package/dist/browser/react/use-handle.d.ts +0 -31
- package/dist/browser/react/use-handle.d.ts.map +0 -1
- package/dist/browser/react/use-handle.js +0 -144
- package/dist/browser/react/use-handle.js.map +0 -1
- package/dist/browser/react/use-href.d.ts +0 -33
- package/dist/browser/react/use-href.d.ts.map +0 -1
- package/dist/browser/react/use-href.js +0 -39
- package/dist/browser/react/use-href.js.map +0 -1
- package/dist/browser/react/use-link-status.d.ts +0 -37
- package/dist/browser/react/use-link-status.d.ts.map +0 -1
- package/dist/browser/react/use-link-status.js +0 -99
- package/dist/browser/react/use-link-status.js.map +0 -1
- package/dist/browser/react/use-mount.d.ts +0 -25
- package/dist/browser/react/use-mount.d.ts.map +0 -1
- package/dist/browser/react/use-mount.js +0 -30
- package/dist/browser/react/use-mount.js.map +0 -1
- package/dist/browser/react/use-navigation.d.ts +0 -27
- package/dist/browser/react/use-navigation.d.ts.map +0 -1
- package/dist/browser/react/use-navigation.js +0 -87
- package/dist/browser/react/use-navigation.js.map +0 -1
- package/dist/browser/react/use-segments.d.ts +0 -38
- package/dist/browser/react/use-segments.d.ts.map +0 -1
- package/dist/browser/react/use-segments.js +0 -130
- package/dist/browser/react/use-segments.js.map +0 -1
- package/dist/browser/request-controller.d.ts +0 -26
- package/dist/browser/request-controller.d.ts.map +0 -1
- package/dist/browser/request-controller.js +0 -147
- package/dist/browser/request-controller.js.map +0 -1
- package/dist/browser/rsc-router.d.ts +0 -129
- package/dist/browser/rsc-router.d.ts.map +0 -1
- package/dist/browser/rsc-router.js +0 -195
- package/dist/browser/rsc-router.js.map +0 -1
- package/dist/browser/scroll-restoration.d.ts +0 -93
- package/dist/browser/scroll-restoration.d.ts.map +0 -1
- package/dist/browser/scroll-restoration.js +0 -321
- package/dist/browser/scroll-restoration.js.map +0 -1
- package/dist/browser/segment-structure-assert.d.ts +0 -17
- package/dist/browser/segment-structure-assert.d.ts.map +0 -1
- package/dist/browser/segment-structure-assert.js +0 -59
- package/dist/browser/segment-structure-assert.js.map +0 -1
- package/dist/browser/server-action-bridge.d.ts +0 -26
- package/dist/browser/server-action-bridge.d.ts.map +0 -1
- package/dist/browser/server-action-bridge.js +0 -668
- package/dist/browser/server-action-bridge.js.map +0 -1
- package/dist/browser/shallow.d.ts +0 -12
- package/dist/browser/shallow.d.ts.map +0 -1
- package/dist/browser/shallow.js +0 -34
- package/dist/browser/shallow.js.map +0 -1
- package/dist/browser/types.d.ts +0 -369
- package/dist/browser/types.d.ts.map +0 -1
- package/dist/browser/types.js +0 -2
- package/dist/browser/types.js.map +0 -1
- package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
- package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
- package/dist/build/__tests__/generate-cli.test.js +0 -237
- package/dist/build/__tests__/generate-cli.test.js.map +0 -1
- package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
- package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
- package/dist/build/__tests__/generate-manifest.test.js +0 -119
- package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
- package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
- package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
- package/dist/build/__tests__/generate-route-types.test.js +0 -620
- package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
- package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
- package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
- package/dist/build/__tests__/per-router-manifest.test.js +0 -308
- package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
- package/dist/build/generate-manifest.d.ts +0 -81
- package/dist/build/generate-manifest.d.ts.map +0 -1
- package/dist/build/generate-manifest.js +0 -276
- package/dist/build/generate-manifest.js.map +0 -1
- package/dist/build/generate-route-types.d.ts +0 -115
- package/dist/build/generate-route-types.d.ts.map +0 -1
- package/dist/build/generate-route-types.js +0 -740
- package/dist/build/generate-route-types.js.map +0 -1
- package/dist/build/index.d.ts +0 -21
- package/dist/build/index.d.ts.map +0 -1
- package/dist/build/index.js +0 -21
- package/dist/build/index.js.map +0 -1
- package/dist/build/route-trie.d.ts +0 -71
- package/dist/build/route-trie.d.ts.map +0 -1
- package/dist/build/route-trie.js +0 -175
- package/dist/build/route-trie.js.map +0 -1
- package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
- package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
- package/dist/cache/__tests__/cache-scope.test.js +0 -208
- package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
- package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
- package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
- package/dist/cache/__tests__/document-cache.test.js +0 -345
- package/dist/cache/__tests__/document-cache.test.js.map +0 -1
- package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
- package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
- package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
- package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
- package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
- package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
- package/dist/cache/__tests__/memory-store.test.js +0 -367
- package/dist/cache/__tests__/memory-store.test.js.map +0 -1
- package/dist/cache/cache-scope.d.ts +0 -102
- package/dist/cache/cache-scope.d.ts.map +0 -1
- package/dist/cache/cache-scope.js +0 -440
- package/dist/cache/cache-scope.js.map +0 -1
- package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
- package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
- package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
- package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
- package/dist/cache/cf/cf-cache-store.d.ts +0 -165
- package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
- package/dist/cache/cf/cf-cache-store.js +0 -242
- package/dist/cache/cf/cf-cache-store.js.map +0 -1
- package/dist/cache/cf/index.d.ts +0 -14
- package/dist/cache/cf/index.d.ts.map +0 -1
- package/dist/cache/cf/index.js +0 -17
- package/dist/cache/cf/index.js.map +0 -1
- package/dist/cache/document-cache.d.ts +0 -64
- package/dist/cache/document-cache.d.ts.map +0 -1
- package/dist/cache/document-cache.js +0 -228
- package/dist/cache/document-cache.js.map +0 -1
- package/dist/cache/index.d.ts +0 -19
- package/dist/cache/index.d.ts.map +0 -1
- package/dist/cache/index.js +0 -21
- package/dist/cache/index.js.map +0 -1
- package/dist/cache/memory-segment-store.d.ts +0 -110
- package/dist/cache/memory-segment-store.d.ts.map +0 -1
- package/dist/cache/memory-segment-store.js +0 -117
- package/dist/cache/memory-segment-store.js.map +0 -1
- package/dist/cache/memory-store.d.ts +0 -41
- package/dist/cache/memory-store.d.ts.map +0 -1
- package/dist/cache/memory-store.js +0 -191
- package/dist/cache/memory-store.js.map +0 -1
- package/dist/cache/types.d.ts +0 -317
- package/dist/cache/types.d.ts.map +0 -1
- package/dist/cache/types.js +0 -12
- package/dist/cache/types.js.map +0 -1
- package/dist/client.d.ts +0 -248
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -367
- package/dist/client.js.map +0 -1
- package/dist/client.rsc.d.ts +0 -26
- package/dist/client.rsc.d.ts.map +0 -1
- package/dist/client.rsc.js +0 -46
- package/dist/client.rsc.js.map +0 -1
- package/dist/component-utils.d.ts +0 -36
- package/dist/component-utils.d.ts.map +0 -1
- package/dist/component-utils.js +0 -61
- package/dist/component-utils.js.map +0 -1
- package/dist/components/DefaultDocument.d.ts +0 -13
- package/dist/components/DefaultDocument.d.ts.map +0 -1
- package/dist/components/DefaultDocument.js +0 -15
- package/dist/components/DefaultDocument.js.map +0 -1
- package/dist/debug.d.ts +0 -58
- package/dist/debug.d.ts.map +0 -1
- package/dist/debug.js +0 -157
- package/dist/debug.js.map +0 -1
- package/dist/default-error-boundary.d.ts +0 -11
- package/dist/default-error-boundary.d.ts.map +0 -1
- package/dist/default-error-boundary.js +0 -45
- package/dist/default-error-boundary.js.map +0 -1
- package/dist/deps/browser.d.ts +0 -2
- package/dist/deps/browser.d.ts.map +0 -1
- package/dist/deps/browser.js +0 -3
- package/dist/deps/browser.js.map +0 -1
- package/dist/deps/html-stream-client.d.ts +0 -2
- package/dist/deps/html-stream-client.d.ts.map +0 -1
- package/dist/deps/html-stream-client.js +0 -3
- package/dist/deps/html-stream-client.js.map +0 -1
- package/dist/deps/html-stream-server.d.ts +0 -2
- package/dist/deps/html-stream-server.d.ts.map +0 -1
- package/dist/deps/html-stream-server.js +0 -3
- package/dist/deps/html-stream-server.js.map +0 -1
- package/dist/deps/rsc.d.ts +0 -2
- package/dist/deps/rsc.d.ts.map +0 -1
- package/dist/deps/rsc.js +0 -4
- package/dist/deps/rsc.js.map +0 -1
- package/dist/deps/ssr.d.ts +0 -2
- package/dist/deps/ssr.d.ts.map +0 -1
- package/dist/deps/ssr.js +0 -3
- package/dist/deps/ssr.js.map +0 -1
- package/dist/errors.d.ts +0 -174
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -241
- package/dist/errors.js.map +0 -1
- package/dist/handle.d.ts +0 -78
- package/dist/handle.d.ts.map +0 -1
- package/dist/handle.js +0 -82
- package/dist/handle.js.map +0 -1
- package/dist/handles/MetaTags.d.ts +0 -14
- package/dist/handles/MetaTags.d.ts.map +0 -1
- package/dist/handles/MetaTags.js +0 -136
- package/dist/handles/MetaTags.js.map +0 -1
- package/dist/handles/index.d.ts +0 -6
- package/dist/handles/index.d.ts.map +0 -1
- package/dist/handles/index.js +0 -6
- package/dist/handles/index.js.map +0 -1
- package/dist/handles/meta.d.ts +0 -39
- package/dist/handles/meta.d.ts.map +0 -1
- package/dist/handles/meta.js +0 -202
- package/dist/handles/meta.js.map +0 -1
- package/dist/host/__tests__/errors.test.d.ts +0 -2
- package/dist/host/__tests__/errors.test.d.ts.map +0 -1
- package/dist/host/__tests__/errors.test.js +0 -76
- package/dist/host/__tests__/errors.test.js.map +0 -1
- package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
- package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
- package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
- package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
- package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
- package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
- package/dist/host/__tests__/pattern-matcher.test.js +0 -251
- package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
- package/dist/host/__tests__/router.test.d.ts +0 -2
- package/dist/host/__tests__/router.test.d.ts.map +0 -1
- package/dist/host/__tests__/router.test.js +0 -241
- package/dist/host/__tests__/router.test.js.map +0 -1
- package/dist/host/__tests__/testing.test.d.ts +0 -2
- package/dist/host/__tests__/testing.test.d.ts.map +0 -1
- package/dist/host/__tests__/testing.test.js +0 -64
- package/dist/host/__tests__/testing.test.js.map +0 -1
- package/dist/host/__tests__/utils.test.d.ts +0 -2
- package/dist/host/__tests__/utils.test.d.ts.map +0 -1
- package/dist/host/__tests__/utils.test.js +0 -29
- package/dist/host/__tests__/utils.test.js.map +0 -1
- package/dist/host/cookie-handler.d.ts +0 -34
- package/dist/host/cookie-handler.d.ts.map +0 -1
- package/dist/host/cookie-handler.js +0 -124
- package/dist/host/cookie-handler.js.map +0 -1
- package/dist/host/errors.d.ts +0 -56
- package/dist/host/errors.d.ts.map +0 -1
- package/dist/host/errors.js +0 -79
- package/dist/host/errors.js.map +0 -1
- package/dist/host/index.d.ts +0 -29
- package/dist/host/index.d.ts.map +0 -1
- package/dist/host/index.js +0 -32
- package/dist/host/index.js.map +0 -1
- package/dist/host/pattern-matcher.d.ts +0 -36
- package/dist/host/pattern-matcher.d.ts.map +0 -1
- package/dist/host/pattern-matcher.js +0 -172
- package/dist/host/pattern-matcher.js.map +0 -1
- package/dist/host/router.d.ts +0 -26
- package/dist/host/router.d.ts.map +0 -1
- package/dist/host/router.js +0 -218
- package/dist/host/router.js.map +0 -1
- package/dist/host/testing.d.ts +0 -36
- package/dist/host/testing.d.ts.map +0 -1
- package/dist/host/testing.js +0 -55
- package/dist/host/testing.js.map +0 -1
- package/dist/host/types.d.ts +0 -115
- package/dist/host/types.d.ts.map +0 -1
- package/dist/host/types.js +0 -7
- package/dist/host/types.js.map +0 -1
- package/dist/host/utils.d.ts +0 -21
- package/dist/host/utils.d.ts.map +0 -1
- package/dist/host/utils.js +0 -23
- package/dist/host/utils.js.map +0 -1
- package/dist/href-client.d.ts +0 -131
- package/dist/href-client.d.ts.map +0 -1
- package/dist/href-client.js +0 -64
- package/dist/href-client.js.map +0 -1
- package/dist/href-context.d.ts +0 -29
- package/dist/href-context.d.ts.map +0 -1
- package/dist/href-context.js +0 -21
- package/dist/href-context.js.map +0 -1
- package/dist/index.d.ts +0 -73
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -91
- package/dist/index.js.map +0 -1
- package/dist/index.rsc.d.ts +0 -32
- package/dist/index.rsc.d.ts.map +0 -1
- package/dist/index.rsc.js +0 -40
- package/dist/index.rsc.js.map +0 -1
- package/dist/internal-debug.d.ts +0 -2
- package/dist/internal-debug.d.ts.map +0 -1
- package/dist/internal-debug.js +0 -5
- package/dist/internal-debug.js.map +0 -1
- package/dist/loader.d.ts +0 -14
- package/dist/loader.d.ts.map +0 -1
- package/dist/loader.js +0 -20
- package/dist/loader.js.map +0 -1
- package/dist/loader.rsc.d.ts +0 -19
- package/dist/loader.rsc.d.ts.map +0 -1
- package/dist/loader.rsc.js +0 -99
- package/dist/loader.rsc.js.map +0 -1
- package/dist/network-error-thrower.d.ts +0 -17
- package/dist/network-error-thrower.d.ts.map +0 -1
- package/dist/network-error-thrower.js +0 -14
- package/dist/network-error-thrower.js.map +0 -1
- package/dist/outlet-context.d.ts +0 -13
- package/dist/outlet-context.d.ts.map +0 -1
- package/dist/outlet-context.js +0 -3
- package/dist/outlet-context.js.map +0 -1
- package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
- package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
- package/dist/prerender/__tests__/param-hash.test.js +0 -148
- package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
- package/dist/prerender/param-hash.d.ts +0 -16
- package/dist/prerender/param-hash.d.ts.map +0 -1
- package/dist/prerender/param-hash.js +0 -36
- package/dist/prerender/param-hash.js.map +0 -1
- package/dist/prerender/store.d.ts +0 -38
- package/dist/prerender/store.d.ts.map +0 -1
- package/dist/prerender/store.js +0 -61
- package/dist/prerender/store.js.map +0 -1
- package/dist/prerender.d.ts +0 -66
- package/dist/prerender.d.ts.map +0 -1
- package/dist/prerender.js +0 -57
- package/dist/prerender.js.map +0 -1
- package/dist/reverse.d.ts +0 -196
- package/dist/reverse.d.ts.map +0 -1
- package/dist/reverse.js +0 -78
- package/dist/reverse.js.map +0 -1
- package/dist/root-error-boundary.d.ts +0 -33
- package/dist/root-error-boundary.d.ts.map +0 -1
- package/dist/root-error-boundary.js +0 -165
- package/dist/root-error-boundary.js.map +0 -1
- package/dist/route-content-wrapper.d.ts +0 -46
- package/dist/route-content-wrapper.d.ts.map +0 -1
- package/dist/route-content-wrapper.js +0 -77
- package/dist/route-content-wrapper.js.map +0 -1
- package/dist/route-definition.d.ts +0 -421
- package/dist/route-definition.d.ts.map +0 -1
- package/dist/route-definition.js +0 -868
- package/dist/route-definition.js.map +0 -1
- package/dist/route-map-builder.d.ts +0 -155
- package/dist/route-map-builder.d.ts.map +0 -1
- package/dist/route-map-builder.js +0 -237
- package/dist/route-map-builder.js.map +0 -1
- package/dist/route-types.d.ts +0 -165
- package/dist/route-types.d.ts.map +0 -1
- package/dist/route-types.js +0 -7
- package/dist/route-types.js.map +0 -1
- package/dist/router/__tests__/handler-context.test.d.ts +0 -2
- package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
- package/dist/router/__tests__/handler-context.test.js +0 -65
- package/dist/router/__tests__/handler-context.test.js.map +0 -1
- package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
- package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
- package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
- package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
- package/dist/router/__tests__/match-context.test.d.ts +0 -2
- package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
- package/dist/router/__tests__/match-context.test.js +0 -92
- package/dist/router/__tests__/match-context.test.js.map +0 -1
- package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
- package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
- package/dist/router/__tests__/match-pipelines.test.js +0 -417
- package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
- package/dist/router/__tests__/match-result.test.d.ts +0 -2
- package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
- package/dist/router/__tests__/match-result.test.js +0 -457
- package/dist/router/__tests__/match-result.test.js.map +0 -1
- package/dist/router/__tests__/on-error.test.d.ts +0 -2
- package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
- package/dist/router/__tests__/on-error.test.js +0 -678
- package/dist/router/__tests__/on-error.test.js.map +0 -1
- package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
- package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
- package/dist/router/__tests__/pattern-matching.test.js +0 -629
- package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
- package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
- package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
- package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
- package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
- package/dist/router/error-handling.d.ts +0 -77
- package/dist/router/error-handling.d.ts.map +0 -1
- package/dist/router/error-handling.js +0 -202
- package/dist/router/error-handling.js.map +0 -1
- package/dist/router/handler-context.d.ts +0 -20
- package/dist/router/handler-context.d.ts.map +0 -1
- package/dist/router/handler-context.js +0 -198
- package/dist/router/handler-context.js.map +0 -1
- package/dist/router/intercept-resolution.d.ts +0 -66
- package/dist/router/intercept-resolution.d.ts.map +0 -1
- package/dist/router/intercept-resolution.js +0 -246
- package/dist/router/intercept-resolution.js.map +0 -1
- package/dist/router/loader-resolution.d.ts +0 -64
- package/dist/router/loader-resolution.d.ts.map +0 -1
- package/dist/router/loader-resolution.js +0 -284
- package/dist/router/loader-resolution.js.map +0 -1
- package/dist/router/logging.d.ts +0 -15
- package/dist/router/logging.d.ts.map +0 -1
- package/dist/router/logging.js +0 -99
- package/dist/router/logging.js.map +0 -1
- package/dist/router/manifest.d.ts +0 -22
- package/dist/router/manifest.d.ts.map +0 -1
- package/dist/router/manifest.js +0 -181
- package/dist/router/manifest.js.map +0 -1
- package/dist/router/match-api.d.ts +0 -35
- package/dist/router/match-api.d.ts.map +0 -1
- package/dist/router/match-api.js +0 -406
- package/dist/router/match-api.js.map +0 -1
- package/dist/router/match-context.d.ts +0 -206
- package/dist/router/match-context.d.ts.map +0 -1
- package/dist/router/match-context.js +0 -17
- package/dist/router/match-context.js.map +0 -1
- package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
- package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
- package/dist/router/match-middleware/background-revalidation.js +0 -75
- package/dist/router/match-middleware/background-revalidation.js.map +0 -1
- package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
- package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
- package/dist/router/match-middleware/cache-lookup.js +0 -257
- package/dist/router/match-middleware/cache-lookup.js.map +0 -1
- package/dist/router/match-middleware/cache-store.d.ts +0 -113
- package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
- package/dist/router/match-middleware/cache-store.js +0 -108
- package/dist/router/match-middleware/cache-store.js.map +0 -1
- package/dist/router/match-middleware/index.d.ts +0 -81
- package/dist/router/match-middleware/index.d.ts.map +0 -1
- package/dist/router/match-middleware/index.js +0 -80
- package/dist/router/match-middleware/index.js.map +0 -1
- package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
- package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
- package/dist/router/match-middleware/intercept-resolution.js +0 -134
- package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
- package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
- package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
- package/dist/router/match-middleware/segment-resolution.js +0 -53
- package/dist/router/match-middleware/segment-resolution.js.map +0 -1
- package/dist/router/match-pipelines.d.ts +0 -147
- package/dist/router/match-pipelines.d.ts.map +0 -1
- package/dist/router/match-pipelines.js +0 -82
- package/dist/router/match-pipelines.js.map +0 -1
- package/dist/router/match-result.d.ts +0 -126
- package/dist/router/match-result.d.ts.map +0 -1
- package/dist/router/match-result.js +0 -93
- package/dist/router/match-result.js.map +0 -1
- package/dist/router/metrics.d.ts +0 -20
- package/dist/router/metrics.d.ts.map +0 -1
- package/dist/router/metrics.js +0 -47
- package/dist/router/metrics.js.map +0 -1
- package/dist/router/middleware.d.ts +0 -249
- package/dist/router/middleware.d.ts.map +0 -1
- package/dist/router/middleware.js +0 -434
- package/dist/router/middleware.js.map +0 -1
- package/dist/router/middleware.test.d.ts +0 -2
- package/dist/router/middleware.test.d.ts.map +0 -1
- package/dist/router/middleware.test.js +0 -816
- package/dist/router/middleware.test.js.map +0 -1
- package/dist/router/pattern-matching.d.ts +0 -149
- package/dist/router/pattern-matching.d.ts.map +0 -1
- package/dist/router/pattern-matching.js +0 -349
- package/dist/router/pattern-matching.js.map +0 -1
- package/dist/router/revalidation.d.ts +0 -44
- package/dist/router/revalidation.d.ts.map +0 -1
- package/dist/router/revalidation.js +0 -147
- package/dist/router/revalidation.js.map +0 -1
- package/dist/router/router-context.d.ts +0 -135
- package/dist/router/router-context.d.ts.map +0 -1
- package/dist/router/router-context.js +0 -36
- package/dist/router/router-context.js.map +0 -1
- package/dist/router/segment-resolution.d.ts +0 -127
- package/dist/router/segment-resolution.d.ts.map +0 -1
- package/dist/router/segment-resolution.js +0 -919
- package/dist/router/segment-resolution.js.map +0 -1
- package/dist/router/trie-matching.d.ts +0 -40
- package/dist/router/trie-matching.d.ts.map +0 -1
- package/dist/router/trie-matching.js +0 -127
- package/dist/router/trie-matching.js.map +0 -1
- package/dist/router/types.d.ts +0 -136
- package/dist/router/types.d.ts.map +0 -1
- package/dist/router/types.js +0 -7
- package/dist/router/types.js.map +0 -1
- package/dist/router.d.ts +0 -753
- package/dist/router.d.ts.map +0 -1
- package/dist/router.gen.d.ts +0 -6
- package/dist/router.gen.d.ts.map +0 -1
- package/dist/router.gen.js +0 -6
- package/dist/router.gen.js.map +0 -1
- package/dist/router.js +0 -1304
- package/dist/router.js.map +0 -1
- package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
- package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
- package/dist/rsc/__tests__/helpers.test.js +0 -140
- package/dist/rsc/__tests__/helpers.test.js.map +0 -1
- package/dist/rsc/handler.d.ts +0 -45
- package/dist/rsc/handler.d.ts.map +0 -1
- package/dist/rsc/handler.js +0 -1172
- package/dist/rsc/handler.js.map +0 -1
- package/dist/rsc/helpers.d.ts +0 -16
- package/dist/rsc/helpers.d.ts.map +0 -1
- package/dist/rsc/helpers.js +0 -55
- package/dist/rsc/helpers.js.map +0 -1
- package/dist/rsc/index.d.ts +0 -22
- package/dist/rsc/index.d.ts.map +0 -1
- package/dist/rsc/index.js +0 -23
- package/dist/rsc/index.js.map +0 -1
- package/dist/rsc/nonce.d.ts +0 -9
- package/dist/rsc/nonce.d.ts.map +0 -1
- package/dist/rsc/nonce.js +0 -18
- package/dist/rsc/nonce.js.map +0 -1
- package/dist/rsc/types.d.ts +0 -206
- package/dist/rsc/types.d.ts.map +0 -1
- package/dist/rsc/types.js +0 -8
- package/dist/rsc/types.js.map +0 -1
- package/dist/search-params.d.ts +0 -103
- package/dist/search-params.d.ts.map +0 -1
- package/dist/search-params.js +0 -74
- package/dist/search-params.js.map +0 -1
- package/dist/segment-system.d.ts +0 -75
- package/dist/segment-system.d.ts.map +0 -1
- package/dist/segment-system.js +0 -336
- package/dist/segment-system.js.map +0 -1
- package/dist/server/context.d.ts +0 -245
- package/dist/server/context.d.ts.map +0 -1
- package/dist/server/context.js +0 -197
- package/dist/server/context.js.map +0 -1
- package/dist/server/fetchable-loader-store.d.ts +0 -18
- package/dist/server/fetchable-loader-store.d.ts.map +0 -1
- package/dist/server/fetchable-loader-store.js +0 -18
- package/dist/server/fetchable-loader-store.js.map +0 -1
- package/dist/server/handle-store.d.ts +0 -85
- package/dist/server/handle-store.d.ts.map +0 -1
- package/dist/server/handle-store.js +0 -142
- package/dist/server/handle-store.js.map +0 -1
- package/dist/server/loader-registry.d.ts +0 -55
- package/dist/server/loader-registry.d.ts.map +0 -1
- package/dist/server/loader-registry.js +0 -132
- package/dist/server/loader-registry.js.map +0 -1
- package/dist/server/request-context.d.ts +0 -226
- package/dist/server/request-context.d.ts.map +0 -1
- package/dist/server/request-context.js +0 -290
- package/dist/server/request-context.js.map +0 -1
- package/dist/server/root-layout.d.ts +0 -4
- package/dist/server/root-layout.d.ts.map +0 -1
- package/dist/server/root-layout.js +0 -5
- package/dist/server/root-layout.js.map +0 -1
- package/dist/server.d.ts +0 -15
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js +0 -20
- package/dist/server.js.map +0 -1
- package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
- package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
- package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
- package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
- package/dist/ssr/index.d.ts +0 -98
- package/dist/ssr/index.d.ts.map +0 -1
- package/dist/ssr/index.js +0 -158
- package/dist/ssr/index.js.map +0 -1
- package/dist/static-handler.d.ts +0 -50
- package/dist/static-handler.d.ts.map +0 -1
- package/dist/static-handler.gen.d.ts +0 -5
- package/dist/static-handler.gen.d.ts.map +0 -1
- package/dist/static-handler.gen.js +0 -5
- package/dist/static-handler.gen.js.map +0 -1
- package/dist/static-handler.js +0 -29
- package/dist/static-handler.js.map +0 -1
- package/dist/theme/ThemeProvider.d.ts +0 -20
- package/dist/theme/ThemeProvider.d.ts.map +0 -1
- package/dist/theme/ThemeProvider.js +0 -240
- package/dist/theme/ThemeProvider.js.map +0 -1
- package/dist/theme/ThemeScript.d.ts +0 -48
- package/dist/theme/ThemeScript.d.ts.map +0 -1
- package/dist/theme/ThemeScript.js +0 -13
- package/dist/theme/ThemeScript.js.map +0 -1
- package/dist/theme/__tests__/theme.test.d.ts +0 -2
- package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
- package/dist/theme/__tests__/theme.test.js +0 -103
- package/dist/theme/__tests__/theme.test.js.map +0 -1
- package/dist/theme/constants.d.ts +0 -29
- package/dist/theme/constants.d.ts.map +0 -1
- package/dist/theme/constants.js +0 -48
- package/dist/theme/constants.js.map +0 -1
- package/dist/theme/index.d.ts +0 -31
- package/dist/theme/index.d.ts.map +0 -1
- package/dist/theme/index.js +0 -36
- package/dist/theme/index.js.map +0 -1
- package/dist/theme/theme-context.d.ts +0 -40
- package/dist/theme/theme-context.d.ts.map +0 -1
- package/dist/theme/theme-context.js +0 -60
- package/dist/theme/theme-context.js.map +0 -1
- package/dist/theme/theme-script.d.ts +0 -27
- package/dist/theme/theme-script.d.ts.map +0 -1
- package/dist/theme/theme-script.js +0 -147
- package/dist/theme/theme-script.js.map +0 -1
- package/dist/theme/types.d.ts +0 -163
- package/dist/theme/types.d.ts.map +0 -1
- package/dist/theme/types.js +0 -11
- package/dist/theme/types.js.map +0 -1
- package/dist/theme/use-theme.d.ts +0 -12
- package/dist/theme/use-theme.d.ts.map +0 -1
- package/dist/theme/use-theme.js +0 -40
- package/dist/theme/use-theme.js.map +0 -1
- package/dist/types.d.ts +0 -1479
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -10
- package/dist/types.js.map +0 -1
- package/dist/urls.d.ts +0 -441
- package/dist/urls.d.ts.map +0 -1
- package/dist/urls.gen.d.ts +0 -8
- package/dist/urls.gen.d.ts.map +0 -1
- package/dist/urls.gen.js +0 -8
- package/dist/urls.gen.js.map +0 -1
- package/dist/urls.js +0 -443
- package/dist/urls.js.map +0 -1
- package/dist/use-loader.d.ts +0 -127
- package/dist/use-loader.d.ts.map +0 -1
- package/dist/use-loader.js +0 -237
- package/dist/use-loader.js.map +0 -1
- package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
- package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
- package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
- package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
- package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
- package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
- package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
- package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
- package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
- package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
- package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
- package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
- package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
- package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
- package/dist/vite/__tests__/expose-router-id.test.js +0 -39
- package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
- package/dist/vite/ast-handler-extract.d.ts +0 -49
- package/dist/vite/ast-handler-extract.d.ts.map +0 -1
- package/dist/vite/ast-handler-extract.js +0 -249
- package/dist/vite/ast-handler-extract.js.map +0 -1
- package/dist/vite/expose-action-id.d.ts +0 -19
- package/dist/vite/expose-action-id.d.ts.map +0 -1
- package/dist/vite/expose-action-id.js +0 -250
- package/dist/vite/expose-action-id.js.map +0 -1
- package/dist/vite/expose-id-utils.d.ts +0 -69
- package/dist/vite/expose-id-utils.d.ts.map +0 -1
- package/dist/vite/expose-id-utils.js +0 -289
- package/dist/vite/expose-id-utils.js.map +0 -1
- package/dist/vite/expose-internal-ids.d.ts +0 -22
- package/dist/vite/expose-internal-ids.d.ts.map +0 -1
- package/dist/vite/expose-internal-ids.js +0 -886
- package/dist/vite/expose-internal-ids.js.map +0 -1
- package/dist/vite/index.d.ts +0 -149
- package/dist/vite/index.d.ts.map +0 -1
- package/dist/vite/index.js.bak +0 -5448
- package/dist/vite/index.js.map +0 -1
- package/dist/vite/index.named-routes.gen.ts +0 -103
- package/dist/vite/package-resolution.d.ts +0 -43
- package/dist/vite/package-resolution.d.ts.map +0 -1
- package/dist/vite/package-resolution.js +0 -112
- package/dist/vite/package-resolution.js.map +0 -1
- package/dist/vite/virtual-entries.d.ts +0 -25
- package/dist/vite/virtual-entries.d.ts.map +0 -1
- package/dist/vite/virtual-entries.js +0 -110
- package/dist/vite/virtual-entries.js.map +0 -1
- package/skills/migrate-react-router/cloudflare-workers.md +0 -129
|
@@ -27,15 +27,10 @@ import {
|
|
|
27
27
|
finalizeResponse,
|
|
28
28
|
isCacheableStatus,
|
|
29
29
|
buildRouteMiddlewareEntries,
|
|
30
|
-
|
|
30
|
+
rewrapResponseRouteResponse,
|
|
31
31
|
} from "./helpers.js";
|
|
32
32
|
import { isWebSocketUpgradeResponse } from "../response-utils.js";
|
|
33
33
|
import { stringifyJsonRouteResult } from "./json-route-result.js";
|
|
34
|
-
import {
|
|
35
|
-
EXTERNAL_REDIRECT_MARKER,
|
|
36
|
-
isExternalRedirect,
|
|
37
|
-
markExternalRedirect,
|
|
38
|
-
} from "../redirect-origin.js";
|
|
39
34
|
|
|
40
35
|
export interface ResponseRouteMatch {
|
|
41
36
|
responseType: string;
|
|
@@ -104,48 +99,17 @@ export async function handleResponseRoute<TEnv>(
|
|
|
104
99
|
const callHandler = async () => {
|
|
105
100
|
const errorCtx = { request, url, env };
|
|
106
101
|
|
|
107
|
-
// Re-wrap a handler-returned Response through createResponseWithMergedHeaders
|
|
108
|
-
// so that stub headers (cookies, custom headers set via ctx.header()) are included.
|
|
109
|
-
// Use Headers (not Record<string, string>) to preserve duplicate entries like Set-Cookie.
|
|
110
|
-
const rewrapResponse = (result: Response) => {
|
|
111
|
-
// 204/205/304 are NOT short-circuited — they're valid for the Response
|
|
112
|
-
// constructor and must honor ctx.setStatus() overrides. Only upgrade
|
|
113
|
-
// responses (status 101 / `webSocket` property) bypass reconstruction.
|
|
114
|
-
if (isWebSocketUpgradeResponse(result)) {
|
|
115
|
-
return mergeStubHeadersAndFinalize(result);
|
|
116
|
-
}
|
|
117
|
-
const headers = new Headers();
|
|
118
|
-
result.headers.forEach((value, key) => {
|
|
119
|
-
// Never copy the reserved external-redirect marker off a handler result.
|
|
120
|
-
// It is not a trust signal -- the opt-in is the out-of-band brand below
|
|
121
|
-
// -- and a proxy-style route returning an attacker-controlled upstream
|
|
122
|
-
// response must not let a forged value ride through to the browser.
|
|
123
|
-
if (key.toLowerCase() === EXTERNAL_REDIRECT_MARKER) return;
|
|
124
|
-
if (key.toLowerCase() === "set-cookie") {
|
|
125
|
-
headers.append(key, value);
|
|
126
|
-
} else {
|
|
127
|
-
headers.set(key, value);
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
const rewrapped = createResponseWithMergedHeaders(result.body, {
|
|
131
|
-
status: result.status,
|
|
132
|
-
headers,
|
|
133
|
-
});
|
|
134
|
-
// Transfer the out-of-band external brand only when the handler result is
|
|
135
|
-
// genuinely branded (a real redirect(url, { external: true })). A proxied
|
|
136
|
-
// upstream Response is never branded, so an attacker cannot opt a response
|
|
137
|
-
// route's redirect out of the same-origin guard by injecting the header.
|
|
138
|
-
if (isExternalRedirect(result)) {
|
|
139
|
-
markExternalRedirect(rewrapped);
|
|
140
|
-
}
|
|
141
|
-
return rewrapped;
|
|
142
|
-
};
|
|
143
|
-
|
|
144
102
|
try {
|
|
145
|
-
|
|
103
|
+
let result: unknown;
|
|
104
|
+
try {
|
|
105
|
+
result = await (preview.handler as Function)(responseHandlerCtx);
|
|
106
|
+
} catch (error) {
|
|
107
|
+
if (!(error instanceof Response)) throw error;
|
|
108
|
+
result = error;
|
|
109
|
+
}
|
|
146
110
|
|
|
147
111
|
if (result instanceof Response) {
|
|
148
|
-
return
|
|
112
|
+
return rewrapResponseRouteResponse(result);
|
|
149
113
|
}
|
|
150
114
|
|
|
151
115
|
// Handled before the MIME lookup (json is also a RESPONSE_TYPE_MIME key).
|
package/src/rsc/rsc-rendering.ts
CHANGED
|
@@ -17,7 +17,8 @@ import {
|
|
|
17
17
|
} from "../cache/shell-snapshot.js";
|
|
18
18
|
import { appendMetric } from "../router/metrics.js";
|
|
19
19
|
import { observePhase, PHASES } from "../router/instrument.js";
|
|
20
|
-
import {
|
|
20
|
+
import type { TraceSpan } from "../router/tracing.js";
|
|
21
|
+
import { getSSRSetup, createSsrHtmlStage, isRscRequest } from "./ssr-setup.js";
|
|
21
22
|
import type { RscPayload } from "./types.js";
|
|
22
23
|
import type { SSRModule } from "./types.js";
|
|
23
24
|
import type { RequestContext } from "../server/request-context.js";
|
|
@@ -26,11 +27,15 @@ import {
|
|
|
26
27
|
createSimpleRedirectResponse,
|
|
27
28
|
attachLocationStateIfPresent,
|
|
28
29
|
} from "./helpers.js";
|
|
30
|
+
import { renderRscFlightStage, renderRscResponse } from "./render-pipeline.js";
|
|
29
31
|
import type { HandlerContext } from "./handler-context.js";
|
|
30
32
|
import { gateTransitions } from "./transition-gate.js";
|
|
31
33
|
import { buildFullPayload } from "./full-payload.js";
|
|
32
34
|
import {
|
|
33
35
|
scheduleShellCapture,
|
|
36
|
+
resolveShellCaptureDebugSink,
|
|
37
|
+
takeCaptureDebugEventForTiming,
|
|
38
|
+
describeShellCaptureEvent,
|
|
34
39
|
type ShellCaptureDescriptor,
|
|
35
40
|
} from "./shell-capture.js";
|
|
36
41
|
import {
|
|
@@ -43,7 +48,12 @@ import {
|
|
|
43
48
|
hasShellFamily,
|
|
44
49
|
warnShellStoreMissingOnce,
|
|
45
50
|
warnPprNonceActiveOnce,
|
|
51
|
+
describeShellTailTiming,
|
|
52
|
+
publishShellTailTiming,
|
|
53
|
+
takeShellTailTimingForServerTiming,
|
|
54
|
+
type ShellTailTiming,
|
|
46
55
|
} from "./shell-serve.js";
|
|
56
|
+
import { lookupBuildShell } from "./shell-build-manifest.js";
|
|
47
57
|
import { contextGet } from "../context-var.js";
|
|
48
58
|
import {
|
|
49
59
|
resolveSameOriginRedirect,
|
|
@@ -68,7 +78,7 @@ export function handleRscRendering<TEnv>(
|
|
|
68
78
|
// same boundary (match -> serialize -> SSR), so the two surfaces agree.
|
|
69
79
|
// Loaders kicked off during matching nest under the span; the SSR HTML pass
|
|
70
80
|
// below opens "rango.ssr" the same way.
|
|
71
|
-
return observePhase(PHASES.render, () =>
|
|
81
|
+
return observePhase(PHASES.render, (span) =>
|
|
72
82
|
handleRscRenderingInner(
|
|
73
83
|
ctx,
|
|
74
84
|
request,
|
|
@@ -77,6 +87,7 @@ export function handleRscRendering<TEnv>(
|
|
|
77
87
|
isPartial,
|
|
78
88
|
handleStore,
|
|
79
89
|
nonce,
|
|
90
|
+
span,
|
|
80
91
|
),
|
|
81
92
|
);
|
|
82
93
|
}
|
|
@@ -89,6 +100,7 @@ async function handleRscRenderingInner<TEnv>(
|
|
|
89
100
|
isPartial: boolean,
|
|
90
101
|
handleStore: ReturnType<typeof getRequestContext>["_handleStore"],
|
|
91
102
|
nonce: string | undefined,
|
|
103
|
+
renderSpan: TraceSpan,
|
|
92
104
|
): Promise<Response> {
|
|
93
105
|
const reqCtx = getRequestContext();
|
|
94
106
|
|
|
@@ -120,7 +132,8 @@ async function handleRscRenderingInner<TEnv>(
|
|
|
120
132
|
!isPartial &&
|
|
121
133
|
request.method === "GET" &&
|
|
122
134
|
!url.searchParams.has("__prerender_collect") &&
|
|
123
|
-
!isRscRequest(request, url, false)
|
|
135
|
+
!isRscRequest(request, url, false) &&
|
|
136
|
+
!reqCtx._dynamic
|
|
124
137
|
) {
|
|
125
138
|
const pprConfig = resolvePprConfig(reqCtx._classifiedRoute?.manifestEntry);
|
|
126
139
|
if (pprConfig) {
|
|
@@ -139,6 +152,45 @@ async function handleRscRenderingInner<TEnv>(
|
|
|
139
152
|
const activeNonce = nonce ?? contextGet(reqCtx._variables, nonceToken);
|
|
140
153
|
const store = reqCtx._cacheStore;
|
|
141
154
|
const key = buildShellKey(url);
|
|
155
|
+
// Dev Server-Timing mirror (issue #651): a capture runs AFTER its
|
|
156
|
+
// triggering response committed, so its outcome can only ride a LATER
|
|
157
|
+
// response's header. When the metrics surface is active
|
|
158
|
+
// (debugPerformance), fold the buffered terminal capture event for this
|
|
159
|
+
// key into THIS request's Server-Timing as `ppr-capture;dur=<attempt
|
|
160
|
+
// ms>;desc="<outcome + sizes + waits>"`. Consuming (read-and-clear)
|
|
161
|
+
// keeps one capture = one report. Dev-only: the buffer is only written
|
|
162
|
+
// in dev (see takeCaptureDebugEventForTiming), and production folds the
|
|
163
|
+
// whole branch away.
|
|
164
|
+
if (process.env.NODE_ENV !== "production" && reqCtx._metricsStore) {
|
|
165
|
+
const lastCapture = takeCaptureDebugEventForTiming(key);
|
|
166
|
+
if (lastCapture) {
|
|
167
|
+
appendMetric(
|
|
168
|
+
reqCtx._metricsStore,
|
|
169
|
+
"ppr:capture",
|
|
170
|
+
performance.now(),
|
|
171
|
+
lastCapture.attemptMs ?? 0,
|
|
172
|
+
undefined,
|
|
173
|
+
// attemptMs already rides as this entry's dur — drop it from desc.
|
|
174
|
+
describeShellCaptureEvent({ ...lastCapture, attemptMs: undefined }),
|
|
175
|
+
);
|
|
176
|
+
}
|
|
177
|
+
// Same mirror for the previous HIT's tail: its per-stage numbers
|
|
178
|
+
// (seed/match/handover/first-html/complete) finished after that
|
|
179
|
+
// response's headers were committed, so they ride THIS request's
|
|
180
|
+
// Server-Timing as `ppr:tail;dur=<complete ms>`.
|
|
181
|
+
const lastTail = takeShellTailTimingForServerTiming(key);
|
|
182
|
+
if (lastTail) {
|
|
183
|
+
appendMetric(
|
|
184
|
+
reqCtx._metricsStore,
|
|
185
|
+
"ppr:tail",
|
|
186
|
+
performance.now(),
|
|
187
|
+
lastTail.completeMs ?? 0,
|
|
188
|
+
undefined,
|
|
189
|
+
// completeMs already rides as this entry's dur — drop it from desc.
|
|
190
|
+
describeShellTailTiming({ ...lastTail, completeMs: undefined }),
|
|
191
|
+
);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
142
194
|
if (activeNonce !== undefined) {
|
|
143
195
|
// Declared intent that cannot be honored deserves a diagnostic (unlike an
|
|
144
196
|
// undeclared route, which is silent): a ppr route gated off by an active
|
|
@@ -169,16 +221,67 @@ async function handleRscRenderingInner<TEnv>(
|
|
|
169
221
|
ttl: pprConfig.ttl,
|
|
170
222
|
swr: pprConfig.swr,
|
|
171
223
|
tags: pprConfig.tags,
|
|
224
|
+
captureTimeout: pprConfig.captureTimeout,
|
|
172
225
|
store,
|
|
173
226
|
debug: INTERNAL_RANGO_DEBUG,
|
|
227
|
+
maxSnapshotBytes: pprConfig.maxSnapshotBytes,
|
|
228
|
+
// The resolver owns the whole policy: option wins, the
|
|
229
|
+
// INTERNAL_RANGO_DEBUG env flag lights the events up when no
|
|
230
|
+
// option is set, an explicit `false` stays off.
|
|
231
|
+
debugSink: resolveShellCaptureDebugSink(
|
|
232
|
+
ctx.router.debugShellCapture,
|
|
233
|
+
),
|
|
234
|
+
};
|
|
235
|
+
// One serve funnel for BOTH entry sources (runtime store hit below,
|
|
236
|
+
// build-manifest hit further down): schedule the background
|
|
237
|
+
// recapture when asked, then commit the composed response.
|
|
238
|
+
const serveHit = (
|
|
239
|
+
entry: ShellCacheEntry,
|
|
240
|
+
revalidate: boolean | undefined,
|
|
241
|
+
): Response => {
|
|
242
|
+
if (revalidate) {
|
|
243
|
+
scheduleShellCapture(
|
|
244
|
+
ctx,
|
|
245
|
+
request,
|
|
246
|
+
env,
|
|
247
|
+
url,
|
|
248
|
+
reqCtx,
|
|
249
|
+
ssrModule,
|
|
250
|
+
descriptor,
|
|
251
|
+
);
|
|
252
|
+
}
|
|
253
|
+
return serveShellHit(
|
|
254
|
+
ctx,
|
|
255
|
+
request,
|
|
256
|
+
env,
|
|
257
|
+
url,
|
|
258
|
+
reqCtx,
|
|
259
|
+
handleStore,
|
|
260
|
+
ssrModule,
|
|
261
|
+
entry,
|
|
262
|
+
descriptor,
|
|
263
|
+
);
|
|
174
264
|
};
|
|
175
265
|
let cached: Awaited<ReturnType<typeof store.getShell>> = null;
|
|
266
|
+
const shellReadStart = reqCtx._metricsStore ? performance.now() : 0;
|
|
176
267
|
try {
|
|
177
268
|
cached = await store.getShell(key);
|
|
178
269
|
} catch (error) {
|
|
179
270
|
// A failing store read degrades to axis 1 (MISS), never a 500.
|
|
180
271
|
reportCacheError(error, "cache-read", "[ShellServe] getShell");
|
|
181
272
|
}
|
|
273
|
+
if (reqCtx._metricsStore) {
|
|
274
|
+
// Raw store outcome (pre-validity-gates), so a version-mismatch
|
|
275
|
+
// lifecycle miss is still distinguishable from a store miss.
|
|
276
|
+
appendMetric(
|
|
277
|
+
reqCtx._metricsStore,
|
|
278
|
+
"ppr:shell-read",
|
|
279
|
+
shellReadStart,
|
|
280
|
+
performance.now() - shellReadStart,
|
|
281
|
+
undefined,
|
|
282
|
+
cached ? "hit" : "miss",
|
|
283
|
+
);
|
|
284
|
+
}
|
|
182
285
|
if (cached && isValidShellHit(cached.entry, ctx.version)) {
|
|
183
286
|
if (!hasIntactShellPayload(cached.entry)) {
|
|
184
287
|
// Corrupt stored payload (undecodable prelude / unparseable
|
|
@@ -196,30 +299,45 @@ async function handleRscRenderingInner<TEnv>(
|
|
|
196
299
|
} else {
|
|
197
300
|
// Stale (SWR) hit: serve the stale shell now, recapture in the
|
|
198
301
|
// background (stampede-guarded + backoff inside scheduleShellCapture).
|
|
199
|
-
|
|
200
|
-
scheduleShellCapture(
|
|
201
|
-
ctx,
|
|
202
|
-
request,
|
|
203
|
-
env,
|
|
204
|
-
url,
|
|
205
|
-
reqCtx,
|
|
206
|
-
ssrModule,
|
|
207
|
-
descriptor,
|
|
208
|
-
);
|
|
209
|
-
}
|
|
210
|
-
return serveShellHit(
|
|
211
|
-
ctx,
|
|
212
|
-
request,
|
|
213
|
-
env,
|
|
214
|
-
url,
|
|
215
|
-
reqCtx,
|
|
216
|
-
handleStore,
|
|
217
|
-
ssrModule,
|
|
218
|
-
cached.entry,
|
|
219
|
-
descriptor,
|
|
220
|
-
);
|
|
302
|
+
return serveHit(cached.entry, cached.shouldRevalidate);
|
|
221
303
|
}
|
|
222
304
|
}
|
|
305
|
+
// Build-time shell read-through (producer B, #699): on a runtime
|
|
306
|
+
// store MISS (or an invalid/corrupt runtime entry), a Prerender+ppr
|
|
307
|
+
// route's shell was already produced at `vite build` — serve it
|
|
308
|
+
// through the SAME serveShellHit, so the first-ever request after a
|
|
309
|
+
// deploy is a HIT with zero runtime capture. lookupBuildShell owns
|
|
310
|
+
// every gate (search-less request, versions, integrity, tag
|
|
311
|
+
// markers) and fails to null — the ordinary MISS path below takes
|
|
312
|
+
// over. Past ppr.ttl the baked entry still serves but a runtime
|
|
313
|
+
// recapture is scheduled: SWR is the UPGRADE path from build entry
|
|
314
|
+
// to fresher runtime entry (the runtime store read above wins once
|
|
315
|
+
// the capture lands).
|
|
316
|
+
const buildHit = await lookupBuildShell(
|
|
317
|
+
url,
|
|
318
|
+
ctx.version,
|
|
319
|
+
store,
|
|
320
|
+
// Dev: no build manifest exists; producer B runs on demand via
|
|
321
|
+
// the dev server's /__rsc_shell endpoint for PRERENDERED routes
|
|
322
|
+
// only (production's exact candidate set). Folded away in
|
|
323
|
+
// production builds (NODE_ENV is a compile-time constant).
|
|
324
|
+
process.env.NODE_ENV !== "production"
|
|
325
|
+
? {
|
|
326
|
+
isPrerenderRoute:
|
|
327
|
+
reqCtx._classifiedRoute?.matched?.pr === true,
|
|
328
|
+
routeName: reqCtx._classifiedRoute?.routeKey,
|
|
329
|
+
ttl: pprConfig.ttl,
|
|
330
|
+
swr: pprConfig.swr,
|
|
331
|
+
tags: pprConfig.tags,
|
|
332
|
+
maxSnapshotBytes: pprConfig.maxSnapshotBytes,
|
|
333
|
+
captureTimeout: pprConfig.captureTimeout,
|
|
334
|
+
}
|
|
335
|
+
: undefined,
|
|
336
|
+
);
|
|
337
|
+
if (buildHit) {
|
|
338
|
+
// Past ppr.ttl: still serve the baked entry, recapture upgrades it.
|
|
339
|
+
return serveHit(buildHit.entry, buildHit.stale);
|
|
340
|
+
}
|
|
223
341
|
// MISS (no entry, invalid reactVersion, or store read failure): axis 1
|
|
224
342
|
// + a background capture scheduled once the response is known servable.
|
|
225
343
|
pprMiss = { descriptor, ssrModule };
|
|
@@ -240,8 +358,12 @@ async function handleRscRenderingInner<TEnv>(
|
|
|
240
358
|
if (match.redirect) {
|
|
241
359
|
// Partial request: use X-RSC-Redirect header so the client can
|
|
242
360
|
// perform SPA navigation. A raw 308 would be auto-followed by
|
|
243
|
-
// fetch, hitting the target without _rsc_partial.
|
|
244
|
-
|
|
361
|
+
// fetch, hitting the target without _rsc_partial. Resolve the
|
|
362
|
+
// target server-side (same open-redirect policy as 3xx).
|
|
363
|
+
return createSimpleRedirectResponse(match.redirect, {
|
|
364
|
+
requestOrigin: url.origin,
|
|
365
|
+
basename: ctx.router.basename,
|
|
366
|
+
});
|
|
245
367
|
}
|
|
246
368
|
|
|
247
369
|
payload = buildFullPayload(match, ctx, url, reqCtx, handleStore);
|
|
@@ -335,76 +457,64 @@ async function handleRscRenderingInner<TEnv>(
|
|
|
335
457
|
|
|
336
458
|
const metricsStore = reqCtx._metricsStore;
|
|
337
459
|
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
"X-RSC-Router-Id": ctx.router.id,
|
|
364
|
-
};
|
|
365
|
-
// Tell the client's prefetch cache to scope this response to its source
|
|
366
|
-
// URL (instead of the default source-agnostic wildcard). Intercept
|
|
367
|
-
// responses depend on the source page matching an intercept rule, so
|
|
368
|
-
// they must not be reused for navigations from other sources.
|
|
369
|
-
if (hasInterceptSlots) {
|
|
370
|
-
rscHeaders["x-rsc-prefetch-scope"] = "source";
|
|
371
|
-
}
|
|
372
|
-
// Enable browser HTTP caching for prefetch responses only.
|
|
373
|
-
// Requires X-Rango-Prefetch header (sent by Link prefetch fetch),
|
|
374
|
-
// non-intercept context (intercept responses depend on source page),
|
|
375
|
-
// and a configured cache-control value (false disables caching).
|
|
376
|
-
const isPrefetch = request.headers.has("X-Rango-Prefetch");
|
|
377
|
-
if (isPrefetch && isPartial && !hasInterceptSlots) {
|
|
378
|
-
const cc = ctx.router.prefetchCacheControl;
|
|
379
|
-
if (cc) {
|
|
380
|
-
rscHeaders["cache-control"] = cc;
|
|
381
|
-
}
|
|
460
|
+
const rscHeaders: Record<string, string> = {
|
|
461
|
+
"content-type": "text/x-component;charset=utf-8",
|
|
462
|
+
vary: "accept, X-Rango-State, X-RSC-Router-Client-Path",
|
|
463
|
+
// Router identity, so the client can verify pre-decode (before importing
|
|
464
|
+
// chunks) that this content payload belongs to its app and refuse a
|
|
465
|
+
// foreign one (cache/proxy/bug). Control-only reload/redirect responses
|
|
466
|
+
// are deliberately NOT stamped. See browser/response-adapter.ts.
|
|
467
|
+
"X-RSC-Router-Id": ctx.router.id,
|
|
468
|
+
};
|
|
469
|
+
// Tell the client's prefetch cache to scope this response to its source
|
|
470
|
+
// URL (instead of the default source-agnostic wildcard). Intercept
|
|
471
|
+
// responses depend on the source page matching an intercept rule, so
|
|
472
|
+
// they must not be reused for navigations from other sources.
|
|
473
|
+
if (hasInterceptSlots) {
|
|
474
|
+
rscHeaders["x-rsc-prefetch-scope"] = "source";
|
|
475
|
+
}
|
|
476
|
+
// Enable browser HTTP caching for prefetch responses only.
|
|
477
|
+
// Requires X-Rango-Prefetch header (sent by Link prefetch fetch),
|
|
478
|
+
// non-intercept context (intercept responses depend on source page),
|
|
479
|
+
// and a configured cache-control value (false disables caching).
|
|
480
|
+
const isPrefetch = request.headers.has("X-Rango-Prefetch");
|
|
481
|
+
if (isPrefetch && isPartial && !hasInterceptSlots) {
|
|
482
|
+
const cc = ctx.router.prefetchCacheControl;
|
|
483
|
+
if (cc) {
|
|
484
|
+
rscHeaders["cache-control"] = cc;
|
|
382
485
|
}
|
|
383
|
-
return createResponseWithMergedHeaders(rscStream, {
|
|
384
|
-
headers: rscHeaders,
|
|
385
|
-
});
|
|
386
486
|
}
|
|
387
487
|
|
|
388
|
-
|
|
389
|
-
const
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
}
|
|
488
|
+
const isFlightResponse = isRscRequest(request, url, isPartial);
|
|
489
|
+
const stageTracking = {
|
|
490
|
+
mode: isPartial ? ("partial" as const) : ("full" as const),
|
|
491
|
+
routeKey: reqCtx._routeName,
|
|
492
|
+
span: renderSpan,
|
|
493
|
+
};
|
|
494
|
+
const response = await renderRscResponse(
|
|
495
|
+
{
|
|
496
|
+
ctx,
|
|
497
|
+
request,
|
|
498
|
+
env,
|
|
499
|
+
url,
|
|
500
|
+
payload,
|
|
501
|
+
init: { headers: rscHeaders },
|
|
502
|
+
tracking: stageTracking,
|
|
503
|
+
},
|
|
504
|
+
isFlightResponse
|
|
505
|
+
? undefined
|
|
506
|
+
: {
|
|
507
|
+
html: createSsrHtmlStage({
|
|
508
|
+
ctx,
|
|
509
|
+
request,
|
|
510
|
+
env,
|
|
511
|
+
url,
|
|
512
|
+
metricsStore,
|
|
513
|
+
render: { nonce },
|
|
514
|
+
init: { headers: { "content-type": "text/html;charset=utf-8" } },
|
|
515
|
+
}),
|
|
516
|
+
},
|
|
404
517
|
);
|
|
405
|
-
const response = createResponseWithMergedHeaders(htmlStream, {
|
|
406
|
-
headers: { "content-type": "text/html;charset=utf-8" },
|
|
407
|
-
});
|
|
408
518
|
|
|
409
519
|
// --- Axis 2: PPR shell CAPTURE on MISS (background task; see design doc) ---
|
|
410
520
|
// The ppr route missed its shell above. Schedule the background capture only
|
|
@@ -414,7 +524,7 @@ async function handleRscRenderingInner<TEnv>(
|
|
|
414
524
|
// page via router.match() under a derived context (fresh handle store,
|
|
415
525
|
// _shellCaptureRun: true) — middleware never re-runs; it already ran for this
|
|
416
526
|
// request and guarding is serve-time.
|
|
417
|
-
if (pprMiss) {
|
|
527
|
+
if (pprMiss && !reqCtx._dynamic) {
|
|
418
528
|
if (
|
|
419
529
|
response.status === 200 &&
|
|
420
530
|
(response.headers.get("content-type") ?? "").includes("text/html")
|
|
@@ -489,12 +599,27 @@ function serveShellHit(
|
|
|
489
599
|
descriptor: ShellCaptureDescriptor,
|
|
490
600
|
): Response {
|
|
491
601
|
const preludeBytes = base64ToBytes(entry.prelude);
|
|
602
|
+
// Per-stage tail timing for the dev `ppr:tail` Server-Timing mirror. Dev
|
|
603
|
+
// only (NODE_ENV folds the branch away in production builds); offsets are
|
|
604
|
+
// relative to this commit point.
|
|
605
|
+
const tailTiming: ShellTailTiming | null =
|
|
606
|
+
process.env.NODE_ENV !== "production"
|
|
607
|
+
? {
|
|
608
|
+
key: descriptor.key,
|
|
609
|
+
outcome: "complete",
|
|
610
|
+
preludeBytes: preludeBytes.length,
|
|
611
|
+
}
|
|
612
|
+
: null;
|
|
613
|
+
const tailT0 = tailTiming ? performance.now() : 0;
|
|
492
614
|
|
|
493
615
|
const renderTail = async (
|
|
494
616
|
activeCtx: RequestContext<any>,
|
|
495
617
|
): Promise<ReadableStream<Uint8Array> | { redirect: string }> => {
|
|
496
618
|
const matchStart = INTERNAL_RANGO_DEBUG ? performance.now() : 0;
|
|
497
619
|
const match = await ctx.router.match(request, { env });
|
|
620
|
+
if (tailTiming) {
|
|
621
|
+
tailTiming.matchMs = Math.round(performance.now() - tailT0);
|
|
622
|
+
}
|
|
498
623
|
if (INTERNAL_RANGO_DEBUG) {
|
|
499
624
|
console.log(
|
|
500
625
|
`[Server][ppr] shell HIT: tail match done +${Math.round(performance.now() - matchStart)}ms (abs ${Math.round(performance.now())}, started ${Math.round(matchStart)})`,
|
|
@@ -518,11 +643,18 @@ function serveShellHit(
|
|
|
518
643
|
}
|
|
519
644
|
// Full Flight render per request: hydration needs the whole payload (there
|
|
520
645
|
// is no Flight-side resume — a React limitation, not ours).
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
646
|
+
const flightStage = renderRscFlightStage({
|
|
647
|
+
ctx,
|
|
648
|
+
request,
|
|
649
|
+
env,
|
|
650
|
+
url,
|
|
651
|
+
payload,
|
|
652
|
+
tracking: {
|
|
653
|
+
mode: "full",
|
|
654
|
+
routeKey: activeCtx._routeName,
|
|
524
655
|
},
|
|
525
656
|
});
|
|
657
|
+
let rscStream = flightStage.stream;
|
|
526
658
|
// Timing tap: when does the Flight render produce its FIRST byte? Compared
|
|
527
659
|
// with the eager-inject/first-tail logs this proves whether hydration-start
|
|
528
660
|
// latency is genuine server work (loaders) or stream plumbing holding
|
|
@@ -579,15 +711,57 @@ function serveShellHit(
|
|
|
579
711
|
// hole-marker paths keep the fresh run's live nested promises.
|
|
580
712
|
const seedStart = INTERNAL_RANGO_DEBUG ? performance.now() : 0;
|
|
581
713
|
const loaderSeed = await buildShellLoaderSeed(entry.snapshot);
|
|
714
|
+
if (tailTiming) {
|
|
715
|
+
tailTiming.seedMs = Math.round(performance.now() - tailT0);
|
|
716
|
+
}
|
|
582
717
|
if (INTERNAL_RANGO_DEBUG) {
|
|
583
718
|
console.log(
|
|
584
719
|
`[Server][ppr] shell HIT: loader seed built +${Math.round(performance.now() - seedStart)}ms (abs ${Math.round(performance.now())})`,
|
|
585
720
|
);
|
|
586
721
|
}
|
|
587
722
|
if (loaderSeed) seededCtx._shellLoaderSeed = loaderSeed;
|
|
723
|
+
// Shell fast path (serve side): when the capture recorded the implicit
|
|
724
|
+
// doc segment record and the handler layer declared no liveness, arm the
|
|
725
|
+
// implicit scope on the seeded context — the tail match's cache lookup
|
|
726
|
+
// then HITs the SeededShellStore's doc entry and the whole handler layer
|
|
727
|
+
// is REPLAYED, not re-executed (loaders still run fresh via
|
|
728
|
+
// resolveFreshLoadersAndYield; per-request payload metadata is rebuilt
|
|
729
|
+
// by buildFullPayload as always). A route with handler-live holes, a
|
|
730
|
+
// route-derived cache scope, or a missing/corrupt record degrades to
|
|
731
|
+
// the full tail (handler re-run — today's behavior) automatically.
|
|
732
|
+
if (!entry.handlerLiveHoles) {
|
|
733
|
+
seededCtx._shellImplicitCache = {
|
|
734
|
+
ttl: descriptor.ttl,
|
|
735
|
+
swr: descriptor.swr,
|
|
736
|
+
};
|
|
737
|
+
if (INTERNAL_RANGO_DEBUG) {
|
|
738
|
+
console.log(
|
|
739
|
+
`[Server][ppr] shell HIT: fast path armed (implicit doc cache) (abs ${Math.round(performance.now())})`,
|
|
740
|
+
);
|
|
741
|
+
}
|
|
742
|
+
} else if (INTERNAL_RANGO_DEBUG) {
|
|
743
|
+
console.log(
|
|
744
|
+
`[Server][ppr] shell HIT: fast path declined — handler-live holes; tail re-runs handlers (abs ${Math.round(performance.now())})`,
|
|
745
|
+
);
|
|
746
|
+
}
|
|
747
|
+
// Fragment splice (issue #700): cache/prerender-store hits inside THIS
|
|
748
|
+
// tail render emit their stored segment fragments verbatim into the
|
|
749
|
+
// payload; the SSR resume pass and browser hydration expand them
|
|
750
|
+
// (segment-fragments.ts). Tail-only: the flag lives on the derived
|
|
751
|
+
// context so it can never leak into a capture render (which serializes
|
|
752
|
+
// segments and must see real elements).
|
|
753
|
+
seededCtx._shellFragmentPayload = true;
|
|
588
754
|
return runWithRequestContext(seededCtx, () => renderTail(seededCtx));
|
|
589
755
|
}
|
|
590
|
-
|
|
756
|
+
// No snapshot (e.g. a producer B entry whose capture hit only the
|
|
757
|
+
// prerender store): still a shell-HIT tail, so arm the fragment splice on
|
|
758
|
+
// a derived context — the tail's prerender-store/cache hits (if any) then
|
|
759
|
+
// splice; a route with neither serves exactly as before. Derived, never
|
|
760
|
+
// the shared reqCtx: scheduleShellCapture derives the capture context from
|
|
761
|
+
// reqCtx and the flag must not be inherited there.
|
|
762
|
+
const fragmentCtx: RequestContext<any> = Object.create(reqCtx);
|
|
763
|
+
fragmentCtx._shellFragmentPayload = true;
|
|
764
|
+
return runWithRequestContext(fragmentCtx, () => renderTail(fragmentCtx));
|
|
591
765
|
})();
|
|
592
766
|
// The stream below is the only consumer; pre-attach a no-op catch so a tail
|
|
593
767
|
// failure before the stream is pulled never surfaces as an unhandled rejection.
|
|
@@ -604,6 +778,9 @@ function serveShellHit(
|
|
|
604
778
|
}
|
|
605
779
|
try {
|
|
606
780
|
const tail = await tailPromise;
|
|
781
|
+
if (tailTiming) {
|
|
782
|
+
tailTiming.handoverMs = Math.round(performance.now() - tailT0);
|
|
783
|
+
}
|
|
607
784
|
if (INTERNAL_RANGO_DEBUG) {
|
|
608
785
|
console.log(
|
|
609
786
|
`[Server][ppr] shell HIT: tail stream handed over +${Math.round(performance.now() - serveStart)}ms (abs ${Math.round(performance.now())})`,
|
|
@@ -617,18 +794,31 @@ function serveShellHit(
|
|
|
617
794
|
for (;;) {
|
|
618
795
|
const { done, value } = await reader.read();
|
|
619
796
|
if (done) break;
|
|
620
|
-
if (
|
|
797
|
+
if (firstTailChunk) {
|
|
621
798
|
firstTailChunk = false;
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
799
|
+
if (tailTiming) {
|
|
800
|
+
tailTiming.firstHtmlMs = Math.round(
|
|
801
|
+
performance.now() - tailT0,
|
|
802
|
+
);
|
|
803
|
+
}
|
|
804
|
+
if (INTERNAL_RANGO_DEBUG) {
|
|
805
|
+
console.log(
|
|
806
|
+
`[Server][ppr] shell HIT: first tail chunk on the wire +${Math.round(performance.now() - serveStart)}ms (abs ${Math.round(performance.now())})`,
|
|
807
|
+
);
|
|
808
|
+
}
|
|
809
|
+
}
|
|
810
|
+
if (tailTiming || INTERNAL_RANGO_DEBUG) {
|
|
811
|
+
tailBytes += value.length;
|
|
625
812
|
}
|
|
626
|
-
if (INTERNAL_RANGO_DEBUG) tailBytes += value.length;
|
|
627
813
|
controller.enqueue(value);
|
|
628
814
|
}
|
|
629
815
|
} finally {
|
|
630
816
|
reader.releaseLock();
|
|
631
817
|
}
|
|
818
|
+
if (tailTiming) {
|
|
819
|
+
tailTiming.completeMs = Math.round(performance.now() - tailT0);
|
|
820
|
+
tailTiming.tailBytes = tailBytes;
|
|
821
|
+
}
|
|
632
822
|
// Bounds the post-header work Server-Timing structurally cannot see:
|
|
633
823
|
// the HIT commits headers at the flush, so ALL live-tail time (match,
|
|
634
824
|
// loaders, Flight, resume) happens inside the response body. This
|
|
@@ -655,7 +845,12 @@ function serveShellHit(
|
|
|
655
845
|
`<script>location.replace(${JSON.stringify(safeTarget)})</script>`,
|
|
656
846
|
),
|
|
657
847
|
);
|
|
848
|
+
if (tailTiming) {
|
|
849
|
+
tailTiming.outcome = "redirect";
|
|
850
|
+
tailTiming.completeMs = Math.round(performance.now() - tailT0);
|
|
851
|
+
}
|
|
658
852
|
}
|
|
853
|
+
if (tailTiming) publishShellTailTiming(tailTiming);
|
|
659
854
|
controller.close();
|
|
660
855
|
} catch (error) {
|
|
661
856
|
// Self-heal on a failed tail: the pre-commit gates (isValidShellHit +
|
|
@@ -676,6 +871,11 @@ function serveShellHit(
|
|
|
676
871
|
ssrModule,
|
|
677
872
|
descriptor,
|
|
678
873
|
);
|
|
874
|
+
if (tailTiming) {
|
|
875
|
+
tailTiming.outcome = "error";
|
|
876
|
+
tailTiming.completeMs = Math.round(performance.now() - tailT0);
|
|
877
|
+
publishShellTailTiming(tailTiming);
|
|
878
|
+
}
|
|
679
879
|
controller.error(error);
|
|
680
880
|
}
|
|
681
881
|
},
|