@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
|
@@ -127,7 +127,18 @@ const REVALIDATION_LOCK_MS = 30_000;
|
|
|
127
127
|
/** Family prefixes that keep the value tiers from colliding in the single Vercel
|
|
128
128
|
* keyspace. The router's own semantic prefixes (doc:/partial:/use-cache:) become
|
|
129
129
|
* the suffix; `rg:` namespaces every Rango entry. `h` is the PPR shell tier. */
|
|
130
|
-
type CacheFamily = "s" | "i" | "r" | "h";
|
|
130
|
+
type CacheFamily = "s" | "i" | "r" | "h" | "tm";
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* TTL for tag-invalidation marker entries ("tm" family), written by
|
|
134
|
+
* invalidateTags for the build-shell read-through's isTagsInvalidatedSince
|
|
135
|
+
* gate. The platform's expireTag() DELETES tagged entries (no queryable
|
|
136
|
+
* history), so the markers are rango's own record of "tag X was invalidated
|
|
137
|
+
* at T". One year: markers must outlive any build's shell entries (which the
|
|
138
|
+
* buildVersion gate retires on the next deploy anyway); an expired marker
|
|
139
|
+
* would silently resurrect an updateTag()-evicted build shell.
|
|
140
|
+
*/
|
|
141
|
+
const TAG_MARKER_TTL_SECONDS = 365 * 24 * 60 * 60;
|
|
131
142
|
|
|
132
143
|
/** Stored envelope for a segment-tree entry (get/set). */
|
|
133
144
|
interface VercelSegmentEnvelope {
|
|
@@ -191,6 +202,13 @@ interface VercelShellEnvelope {
|
|
|
191
202
|
i?: string;
|
|
192
203
|
/** Capture data snapshot: recorded cache-store hits/writes for HIT parity. */
|
|
193
204
|
sn?: ShellSnapshotRecord[];
|
|
205
|
+
/**
|
|
206
|
+
* ShellCacheEntry.handlerLiveHoles. Must round-trip: the serve side arms the
|
|
207
|
+
* handler-free fast path on `!entry.handlerLiveHoles`, so dropping the flag
|
|
208
|
+
* here silently fast-pathed handler-live entries after a store round trip —
|
|
209
|
+
* their holes only a handler re-run can fill.
|
|
210
|
+
*/
|
|
211
|
+
lh?: boolean;
|
|
194
212
|
}
|
|
195
213
|
|
|
196
214
|
/** Read-path outcome for the debug sink. */
|
|
@@ -781,6 +799,7 @@ export class VercelCacheStore<
|
|
|
781
799
|
buildVersion: env.bv,
|
|
782
800
|
initialTheme: env.i,
|
|
783
801
|
snapshot: env.sn,
|
|
802
|
+
handlerLiveHoles: env.lh,
|
|
784
803
|
createdAt: env.c,
|
|
785
804
|
},
|
|
786
805
|
shouldRevalidate,
|
|
@@ -815,6 +834,7 @@ export class VercelCacheStore<
|
|
|
815
834
|
t: safeTags.length > 0 ? safeTags : undefined,
|
|
816
835
|
i: entry.initialTheme,
|
|
817
836
|
sn: entry.snapshot,
|
|
837
|
+
lh: entry.handlerLiveHoles,
|
|
818
838
|
};
|
|
819
839
|
// write() enforces the 2 MB per-item ceiling (withinSizeLimit): an
|
|
820
840
|
// oversized shell prelude is reported and skipped (fail-open to a full
|
|
@@ -833,6 +853,40 @@ export class VercelCacheStore<
|
|
|
833
853
|
|
|
834
854
|
// --- Tags ---
|
|
835
855
|
|
|
856
|
+
/**
|
|
857
|
+
* Build-shell read-through gate (SegmentCacheStore.isTagsInvalidatedSince).
|
|
858
|
+
* The platform's expireTag() DELETES tagged entries and keeps no queryable
|
|
859
|
+
* history, so invalidateTags() below writes its own "tm" marker entries and
|
|
860
|
+
* this compares them against the baked entry's build-time createdAt
|
|
861
|
+
* (>= so a same-millisecond invalidation wins). Fails open to `false` on
|
|
862
|
+
* read errors — the same posture as the CF marker check.
|
|
863
|
+
*/
|
|
864
|
+
async isTagsInvalidatedSince(
|
|
865
|
+
tags: string[],
|
|
866
|
+
sinceMs: number,
|
|
867
|
+
): Promise<boolean> {
|
|
868
|
+
try {
|
|
869
|
+
const markers = await Promise.all(
|
|
870
|
+
tags.map((tag) => this.cache.get(this.toStoreKey(tag, "tm"))),
|
|
871
|
+
);
|
|
872
|
+
for (const raw of markers) {
|
|
873
|
+
if (raw == null) continue;
|
|
874
|
+
const decoded = this.decodeRaw(raw) as { at?: unknown } | null;
|
|
875
|
+
const at =
|
|
876
|
+
decoded && typeof decoded.at === "number" ? decoded.at : null;
|
|
877
|
+
if (at !== null && at >= sinceMs) return true;
|
|
878
|
+
}
|
|
879
|
+
return false;
|
|
880
|
+
} catch (error) {
|
|
881
|
+
reportCacheError(
|
|
882
|
+
error,
|
|
883
|
+
"cache-read",
|
|
884
|
+
"[VercelCacheStore] tag invalidation check",
|
|
885
|
+
);
|
|
886
|
+
return false;
|
|
887
|
+
}
|
|
888
|
+
}
|
|
889
|
+
|
|
836
890
|
async invalidateTags(tags: string[]): Promise<void> {
|
|
837
891
|
if (!tags || tags.length === 0) return;
|
|
838
892
|
// No per-item cap here: an invalidation must reach every requested tag.
|
|
@@ -842,6 +896,20 @@ export class VercelCacheStore<
|
|
|
842
896
|
"cache-invalidate",
|
|
843
897
|
);
|
|
844
898
|
if (safe.length === 0) return;
|
|
899
|
+
// Marker writes FIRST, and strict: isTagsInvalidatedSince() is how an
|
|
900
|
+
// updateTag() reaches a build-time shell entry (expireTag cannot delete
|
|
901
|
+
// what lives in the build manifest), so a failed marker write must reject
|
|
902
|
+
// like a failed expireTag — silently resolving would report success while
|
|
903
|
+
// the baked shell keeps serving.
|
|
904
|
+
await Promise.all(
|
|
905
|
+
safe.map((tag) =>
|
|
906
|
+
this.cache.set(
|
|
907
|
+
this.toStoreKey(tag, "tm"),
|
|
908
|
+
JSON.stringify({ at: Date.now() }),
|
|
909
|
+
{ ttl: TAG_MARKER_TTL_SECONDS },
|
|
910
|
+
),
|
|
911
|
+
),
|
|
912
|
+
);
|
|
845
913
|
try {
|
|
846
914
|
await this.cache.expireTag(safe);
|
|
847
915
|
} catch (error) {
|
|
@@ -1095,7 +1163,7 @@ export class VercelCacheStore<
|
|
|
1095
1163
|
|
|
1096
1164
|
private asShellEnvelope(raw: unknown): VercelShellEnvelope | null {
|
|
1097
1165
|
if (!isRecord(raw)) return null;
|
|
1098
|
-
const { p, po, rv, bv, c, s, e, t, i, sn } = raw;
|
|
1166
|
+
const { p, po, rv, bv, c, s, e, t, i, sn, lh } = raw;
|
|
1099
1167
|
if (typeof p !== "string" || typeof rv !== "string") return null;
|
|
1100
1168
|
if (po !== null && typeof po !== "string") return null;
|
|
1101
1169
|
if (typeof c !== "number") return null;
|
|
@@ -1111,6 +1179,7 @@ export class VercelCacheStore<
|
|
|
1111
1179
|
t: Array.isArray(t) ? (t as string[]) : undefined,
|
|
1112
1180
|
i: typeof i === "string" ? i : undefined,
|
|
1113
1181
|
sn: Array.isArray(sn) ? (sn as ShellSnapshotRecord[]) : undefined,
|
|
1182
|
+
lh: lh === true ? true : undefined,
|
|
1114
1183
|
};
|
|
1115
1184
|
}
|
|
1116
1185
|
|
package/src/deps/ssr.ts
CHANGED
package/src/index.rsc.ts
CHANGED
|
@@ -88,6 +88,12 @@ export type {
|
|
|
88
88
|
OriginCheckPhase,
|
|
89
89
|
} from "./rsc/origin-guard.js";
|
|
90
90
|
|
|
91
|
+
// PPR shell-capture debug sink types (RangoOptions.debugShellCapture)
|
|
92
|
+
export type {
|
|
93
|
+
ShellCaptureDebug,
|
|
94
|
+
ShellCaptureDebugEvent,
|
|
95
|
+
} from "./rsc/shell-capture.js";
|
|
96
|
+
|
|
91
97
|
// Server-side createLoader and redirect
|
|
92
98
|
export {
|
|
93
99
|
createLoader,
|
|
@@ -317,4 +323,5 @@ export type {
|
|
|
317
323
|
RouterTimeouts,
|
|
318
324
|
TimeoutPhase,
|
|
319
325
|
TimeoutContext,
|
|
326
|
+
RenderTimeoutContext,
|
|
320
327
|
} from "./router/timeout.js";
|
package/src/index.ts
CHANGED
|
@@ -0,0 +1,447 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Producer B: build-time PPR shell capture for Prerender+ppr routes (#699).
|
|
3
|
+
*
|
|
4
|
+
* Runs in the RSC realm of the build's temp server, AFTER all bundles are
|
|
5
|
+
* written (the prelude embeds built client asset URLs — bootstrap module,
|
|
6
|
+
* chunk preloads — that only exist post-client-build). The capture core is
|
|
7
|
+
* producer A's, verbatim: deriveShellCaptureContext (mask funnel, liveness,
|
|
8
|
+
* snapshot recording, implicit doc-cache scope) + captureAndStoreShell (gates,
|
|
9
|
+
* quiesce, tags union, putShell barrier). Build capture first replays global
|
|
10
|
+
* and route middleware with a synthetic build request context
|
|
11
|
+
* (`ctx.build === true`, inert `ctx.waitUntil()`); middleware can seed vars or
|
|
12
|
+
* call `ctx.dynamic()` to skip this URL. The sink is an entry collector instead
|
|
13
|
+
* of a runtime store.
|
|
14
|
+
*
|
|
15
|
+
* The capture's match() re-enters withCacheLookup, HITs the in-realm prerender
|
|
16
|
+
* store seeded from the just-collected Flight payloads, and REPLAYS the
|
|
17
|
+
* build-time segments — no handler execution, exactly the runtime composition
|
|
18
|
+
* path (#697). Live-lane loaders mask into holes; bake-lane loaders execute
|
|
19
|
+
* under the build context and refuse the capture if they reject or read
|
|
20
|
+
* identity, the same eligibility rules as at runtime.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
import type { ShellCacheEntry } from "../cache/types.js";
|
|
24
|
+
import { MemorySegmentCacheStore } from "../cache/memory-segment-store.js";
|
|
25
|
+
import {
|
|
26
|
+
createRequestContext,
|
|
27
|
+
runWithRequestContext,
|
|
28
|
+
setRequestContextParams,
|
|
29
|
+
type RequestContext,
|
|
30
|
+
} from "../server/request-context.js";
|
|
31
|
+
import {
|
|
32
|
+
deriveShellCaptureContext,
|
|
33
|
+
captureAndStoreShell,
|
|
34
|
+
delay,
|
|
35
|
+
SHELL_CAPTURE_RETRY_DELAY_MS,
|
|
36
|
+
type ShellCaptureDescriptor,
|
|
37
|
+
} from "../rsc/shell-capture.js";
|
|
38
|
+
import { buildFullPayload } from "../rsc/full-payload.js";
|
|
39
|
+
import { buildRouteMiddlewareEntries } from "../rsc/helpers.js";
|
|
40
|
+
import type { RscPayload, SSRModule } from "../rsc/types.js";
|
|
41
|
+
import type { HandlerContext } from "../rsc/handler-context.js";
|
|
42
|
+
import { renderToReadableStream } from "../deps/rsc.js";
|
|
43
|
+
import { isRouteNotFoundError } from "../errors.js";
|
|
44
|
+
import { createReverseFunction } from "../router/handler-context.js";
|
|
45
|
+
import { executeMiddleware, matchMiddleware } from "../router/middleware.js";
|
|
46
|
+
import type { MiddlewareEntry } from "../router/middleware.js";
|
|
47
|
+
import { getGlobalRouteMap } from "../route-map-builder.js";
|
|
48
|
+
import {
|
|
49
|
+
resolvePprConfig,
|
|
50
|
+
type ResolvedPprConfig,
|
|
51
|
+
} from "../rsc/shell-serve.js";
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Normalize a collected truthy `ppr` path option into the SAME concrete
|
|
55
|
+
* policy the runtime serve path derives — through resolvePprConfig itself,
|
|
56
|
+
* over a synthetic route entry — so the build-stamped ttl default can never
|
|
57
|
+
* drift from the serve-side one.
|
|
58
|
+
*/
|
|
59
|
+
export function resolveBuildPprConfig(
|
|
60
|
+
ppr:
|
|
61
|
+
| true
|
|
62
|
+
| { ttl?: number; swr?: number; tags?: string[]; captureTimeout?: number },
|
|
63
|
+
): ResolvedPprConfig {
|
|
64
|
+
const resolved = resolvePprConfig({ type: "route", ppr } as any);
|
|
65
|
+
// resolvePprConfig returns null only for undefined/false ppr; the collector
|
|
66
|
+
// filtered those out. Guard for the type only.
|
|
67
|
+
if (!resolved) throw new Error("[rango] unreachable: ppr option was falsy");
|
|
68
|
+
return resolved;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export interface BuildShellCaptureOptions {
|
|
72
|
+
/** The router instance (from RouterRegistry in the same realm). */
|
|
73
|
+
router: any;
|
|
74
|
+
/** Concrete URL path to capture (e.g. "/pp/alpha"). */
|
|
75
|
+
urlPath: string;
|
|
76
|
+
/**
|
|
77
|
+
* The candidate's trie route key. The capture's match() must land on THIS
|
|
78
|
+
* route: the phase sweeps every registered router, and a router that does
|
|
79
|
+
* not own the URL matches something else (its catch-all, a 404 shape) —
|
|
80
|
+
* that capture must not be baked.
|
|
81
|
+
*/
|
|
82
|
+
routeName: string;
|
|
83
|
+
/** Shell store key to stamp into the descriptor (host-free at build). */
|
|
84
|
+
key: string;
|
|
85
|
+
ttl?: number;
|
|
86
|
+
swr?: number;
|
|
87
|
+
/** The route's static ppr.tags (the capture unions render-recorded tags). */
|
|
88
|
+
tags?: string[];
|
|
89
|
+
/**
|
|
90
|
+
* The route's resolved snapshot size cap (ResolvedPprConfig.maxSnapshotBytes)
|
|
91
|
+
* — build captures apply the same over-cap skip as runtime captures, so a
|
|
92
|
+
* raised per-route cap behaves identically across both producers.
|
|
93
|
+
*/
|
|
94
|
+
maxSnapshotBytes?: number;
|
|
95
|
+
/**
|
|
96
|
+
* The route's `ppr.captureTimeout` (ms) — producer B honors the same settle
|
|
97
|
+
* budget as the runtime capture. Build has no waitUntil lifetime bound, so
|
|
98
|
+
* the option is the only ceiling here.
|
|
99
|
+
*/
|
|
100
|
+
captureTimeout?: number;
|
|
101
|
+
/** Build-time env bindings (rango plugin buildEnv), if configured. */
|
|
102
|
+
buildEnv?: unknown;
|
|
103
|
+
/**
|
|
104
|
+
* The MAIN build's version (the version plugin's value folded into the
|
|
105
|
+
* shipped worker) — NOT the temp server's own version-plugin value. The
|
|
106
|
+
* serve-side isValidShellHit gate compares entry.buildVersion against the
|
|
107
|
+
* running worker's ctx.version; stamping the temp server's would make every
|
|
108
|
+
* build entry an eternal MISS.
|
|
109
|
+
*/
|
|
110
|
+
buildVersion: string;
|
|
111
|
+
/**
|
|
112
|
+
* The SSR half, composed by the plugin from the temp server's SSR
|
|
113
|
+
* environment runner (react-dom/static prerender + Flight client), with the
|
|
114
|
+
* bootstrap script content overridden to the BUILT client entry URL.
|
|
115
|
+
*/
|
|
116
|
+
captureShellHTML: NonNullable<SSRModule["captureShellHTML"]>;
|
|
117
|
+
/** Verbose per-attempt breadcrumbs (build log). */
|
|
118
|
+
debug?: boolean;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export interface BuildShellCaptureResult {
|
|
122
|
+
outcome:
|
|
123
|
+
| "stored"
|
|
124
|
+
| "no-shell"
|
|
125
|
+
| "redirect"
|
|
126
|
+
| "refused"
|
|
127
|
+
/** Middleware/handler opted this URL out of PPR shell capture. */
|
|
128
|
+
| "dynamic"
|
|
129
|
+
/** The router swept does not own this URL — try the next one. */
|
|
130
|
+
| "route-mismatch";
|
|
131
|
+
/** Present iff outcome === "stored". */
|
|
132
|
+
entry?: ShellCacheEntry;
|
|
133
|
+
/** The putShell-barrier tag union (static ppr.tags + render-recorded). */
|
|
134
|
+
tags?: string[];
|
|
135
|
+
/** On route-mismatch: what this router's match actually landed on. */
|
|
136
|
+
matchedRouteName?: string;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Capture the PPR shell for one prerendered URL at build time. Retries once
|
|
141
|
+
* in place on `no-shell` (the first attempt warms the temp server's SSR/Flight
|
|
142
|
+
* transform graph, mirroring producer A's cold-start retry — same delay).
|
|
143
|
+
*/
|
|
144
|
+
export async function captureShellForBuild(
|
|
145
|
+
opts: BuildShellCaptureOptions,
|
|
146
|
+
): Promise<BuildShellCaptureResult> {
|
|
147
|
+
const first = await attemptBuildCapture(opts);
|
|
148
|
+
if (first.outcome !== "no-shell") return first;
|
|
149
|
+
if (opts.debug) {
|
|
150
|
+
console.log(
|
|
151
|
+
`[rango] shell capture attempt 1/2 for ${opts.urlPath} produced no shell (cold graph?) — retrying`,
|
|
152
|
+
);
|
|
153
|
+
}
|
|
154
|
+
await delay(SHELL_CAPTURE_RETRY_DELAY_MS);
|
|
155
|
+
return attemptBuildCapture(opts);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/** One attempt: fresh base context, fresh derivation, fresh render. */
|
|
159
|
+
async function attemptBuildCapture(
|
|
160
|
+
opts: BuildShellCaptureOptions,
|
|
161
|
+
): Promise<BuildShellCaptureResult> {
|
|
162
|
+
const router = opts.router;
|
|
163
|
+
const url = new URL(opts.urlPath, "http://build.invalid");
|
|
164
|
+
const request = new Request(url, { method: "GET" });
|
|
165
|
+
const env = (opts.buildEnv ?? {}) as any;
|
|
166
|
+
const variables: Record<string, any> = {};
|
|
167
|
+
|
|
168
|
+
// Synthetic build request context: same factory the runtime handler uses,
|
|
169
|
+
// so the capture's ALS surface (cookie machinery, variables, waitUntil,
|
|
170
|
+
// theme resolution) is production-shaped. No cookie header → theme resolves
|
|
171
|
+
// to the app default, exactly like a first anonymous visitor's capture.
|
|
172
|
+
const baseCtx = createRequestContext({
|
|
173
|
+
env,
|
|
174
|
+
request,
|
|
175
|
+
url,
|
|
176
|
+
variables,
|
|
177
|
+
build: true,
|
|
178
|
+
// Fresh empty store per attempt: cache()/"use cache" reads MISS, execute,
|
|
179
|
+
// and are recorded into the snapshot by the derivation's RecordingShell
|
|
180
|
+
// wrapper — the entry pins its own generation, nothing preexisting leaks.
|
|
181
|
+
cacheStore: new MemorySegmentCacheStore(),
|
|
182
|
+
themeConfig: router.themeConfig ?? null,
|
|
183
|
+
stateCookieName: router.resolvedStateCookieName,
|
|
184
|
+
version: opts.buildVersion,
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
// Entry collector: captureAndStoreShell's sink. putShell never fails here,
|
|
188
|
+
// so a "stored" outcome always carries the entry.
|
|
189
|
+
let collected: { entry: ShellCacheEntry; tags?: string[] } | null = null;
|
|
190
|
+
const collector = {
|
|
191
|
+
putShell: async (
|
|
192
|
+
_key: string,
|
|
193
|
+
entry: ShellCacheEntry,
|
|
194
|
+
_ttl?: number,
|
|
195
|
+
_swr?: number,
|
|
196
|
+
tags?: string[],
|
|
197
|
+
): Promise<void> => {
|
|
198
|
+
collected = { entry, tags };
|
|
199
|
+
},
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
const descriptor: ShellCaptureDescriptor = {
|
|
203
|
+
key: opts.key,
|
|
204
|
+
buildVersion: opts.buildVersion,
|
|
205
|
+
ttl: opts.ttl,
|
|
206
|
+
swr: opts.swr,
|
|
207
|
+
tags: opts.tags,
|
|
208
|
+
captureTimeout: opts.captureTimeout,
|
|
209
|
+
store: collector as any,
|
|
210
|
+
debug: opts.debug,
|
|
211
|
+
maxSnapshotBytes: opts.maxSnapshotBytes,
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
let mismatchedRouteName: string | undefined;
|
|
215
|
+
const result = await runWithRequestContext(baseCtx, async () => {
|
|
216
|
+
const preview =
|
|
217
|
+
typeof router.previewMatch === "function"
|
|
218
|
+
? await router.previewMatch(request, { env })
|
|
219
|
+
: undefined;
|
|
220
|
+
// These preview-based mismatches exit before any middleware/envelope runs,
|
|
221
|
+
// so nothing consumes a response — only result.outcome is read below.
|
|
222
|
+
if (preview === null) {
|
|
223
|
+
return { outcome: "route-mismatch" } as const;
|
|
224
|
+
}
|
|
225
|
+
if (preview?.routeKey && preview.routeKey !== opts.routeName) {
|
|
226
|
+
mismatchedRouteName = preview.routeKey;
|
|
227
|
+
return { outcome: "route-mismatch" } as const;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
if (preview?.routeKey) {
|
|
231
|
+
setRequestContextParams(preview.params ?? {}, preview.routeKey);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
const routeReverse = createReverseFunction(
|
|
235
|
+
getGlobalRouteMap(),
|
|
236
|
+
preview?.routeKey,
|
|
237
|
+
preview?.params ?? {},
|
|
238
|
+
);
|
|
239
|
+
|
|
240
|
+
const runCapture = () =>
|
|
241
|
+
runBuildCaptureFinal({
|
|
242
|
+
baseCtx,
|
|
243
|
+
descriptor,
|
|
244
|
+
env,
|
|
245
|
+
opts,
|
|
246
|
+
request,
|
|
247
|
+
router,
|
|
248
|
+
url,
|
|
249
|
+
setMismatchedRouteName: (routeName) => {
|
|
250
|
+
mismatchedRouteName = routeName;
|
|
251
|
+
},
|
|
252
|
+
});
|
|
253
|
+
|
|
254
|
+
const routeMiddleware =
|
|
255
|
+
preview?.routeMiddleware && preview.routeMiddleware.length > 0
|
|
256
|
+
? buildRouteMiddlewareEntries(preview.routeMiddleware)
|
|
257
|
+
: [];
|
|
258
|
+
const runRouteMiddleware = () =>
|
|
259
|
+
runBuildMiddlewareEnvelope(
|
|
260
|
+
routeMiddleware,
|
|
261
|
+
request,
|
|
262
|
+
env,
|
|
263
|
+
variables,
|
|
264
|
+
runCapture,
|
|
265
|
+
routeReverse,
|
|
266
|
+
baseCtx,
|
|
267
|
+
);
|
|
268
|
+
|
|
269
|
+
const globalMiddleware = Array.isArray(router.middleware)
|
|
270
|
+
? matchMiddleware(url.pathname, router.middleware)
|
|
271
|
+
: [];
|
|
272
|
+
return runBuildMiddlewareEnvelope(
|
|
273
|
+
globalMiddleware,
|
|
274
|
+
request,
|
|
275
|
+
env,
|
|
276
|
+
variables,
|
|
277
|
+
runRouteMiddleware,
|
|
278
|
+
routeReverse,
|
|
279
|
+
baseCtx,
|
|
280
|
+
);
|
|
281
|
+
});
|
|
282
|
+
|
|
283
|
+
const outcome = result.outcome;
|
|
284
|
+
if (outcome === "stored" && collected !== null) {
|
|
285
|
+
const hit: { entry: ShellCacheEntry; tags?: string[] } = collected;
|
|
286
|
+
return { outcome, entry: hit.entry, tags: hit.tags };
|
|
287
|
+
}
|
|
288
|
+
if (outcome === "route-mismatch") {
|
|
289
|
+
return { outcome, matchedRouteName: mismatchedRouteName };
|
|
290
|
+
}
|
|
291
|
+
return { outcome };
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
type BuildShellCaptureOutcome = BuildShellCaptureResult["outcome"];
|
|
295
|
+
|
|
296
|
+
interface BuildCaptureRunResult {
|
|
297
|
+
outcome: BuildShellCaptureOutcome;
|
|
298
|
+
response: Response;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
interface BuildCaptureFinalOptions {
|
|
302
|
+
baseCtx: RequestContext<any>;
|
|
303
|
+
descriptor: ShellCaptureDescriptor;
|
|
304
|
+
env: any;
|
|
305
|
+
opts: BuildShellCaptureOptions;
|
|
306
|
+
request: Request;
|
|
307
|
+
router: any;
|
|
308
|
+
url: URL;
|
|
309
|
+
setMismatchedRouteName(routeName: string | undefined): void;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
async function runBuildMiddlewareEnvelope<TEnv>(
|
|
313
|
+
middlewares: Array<{
|
|
314
|
+
entry: MiddlewareEntry<TEnv>;
|
|
315
|
+
params: Record<string, string>;
|
|
316
|
+
}>,
|
|
317
|
+
request: Request,
|
|
318
|
+
env: TEnv,
|
|
319
|
+
variables: Record<string, any>,
|
|
320
|
+
finalHandler: () => Promise<BuildCaptureRunResult>,
|
|
321
|
+
reverse: (
|
|
322
|
+
name: string,
|
|
323
|
+
params?: Record<string, string>,
|
|
324
|
+
search?: Record<string, unknown>,
|
|
325
|
+
) => string,
|
|
326
|
+
baseCtx: RequestContext<any>,
|
|
327
|
+
): Promise<BuildCaptureRunResult> {
|
|
328
|
+
let downstream: BuildCaptureRunResult | undefined;
|
|
329
|
+
const response = await executeMiddleware(
|
|
330
|
+
middlewares,
|
|
331
|
+
request,
|
|
332
|
+
env,
|
|
333
|
+
variables,
|
|
334
|
+
async () => {
|
|
335
|
+
downstream = baseCtx._dynamic
|
|
336
|
+
? {
|
|
337
|
+
outcome: "dynamic",
|
|
338
|
+
response: responseForBuildCaptureOutcome("dynamic"),
|
|
339
|
+
}
|
|
340
|
+
: await finalHandler();
|
|
341
|
+
return downstream.response;
|
|
342
|
+
},
|
|
343
|
+
reverse,
|
|
344
|
+
);
|
|
345
|
+
|
|
346
|
+
if (baseCtx._dynamic) {
|
|
347
|
+
return { outcome: "dynamic", response };
|
|
348
|
+
}
|
|
349
|
+
if (response.status >= 300 && response.status < 400) {
|
|
350
|
+
return { outcome: "redirect", response };
|
|
351
|
+
}
|
|
352
|
+
return (
|
|
353
|
+
downstream ?? {
|
|
354
|
+
outcome: "no-shell",
|
|
355
|
+
response,
|
|
356
|
+
}
|
|
357
|
+
);
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
async function runBuildCaptureFinal(
|
|
361
|
+
options: BuildCaptureFinalOptions,
|
|
362
|
+
): Promise<BuildCaptureRunResult> {
|
|
363
|
+
const { baseCtx, descriptor, env, opts, request, router, url } = options;
|
|
364
|
+
// No baseCtx._dynamic recheck here: the only caller is the route envelope's
|
|
365
|
+
// finalHandler wrapper, which already short-circuits to "dynamic" without
|
|
366
|
+
// invoking this when baseCtx._dynamic is set. A loader/handler opting out
|
|
367
|
+
// DURING the capture render is caught by the derivedCtx._dynamic check below.
|
|
368
|
+
|
|
369
|
+
const { derivedCtx, freshHandleStore } = deriveShellCaptureContext(baseCtx, {
|
|
370
|
+
ttl: opts.ttl,
|
|
371
|
+
swr: opts.swr,
|
|
372
|
+
});
|
|
373
|
+
|
|
374
|
+
const outcome = await runWithRequestContext(derivedCtx, async () => {
|
|
375
|
+
let match;
|
|
376
|
+
try {
|
|
377
|
+
match = await router.match(request, { env });
|
|
378
|
+
} catch (error) {
|
|
379
|
+
if (isPlainPathMiss(error, opts.urlPath)) {
|
|
380
|
+
return "route-mismatch" as const;
|
|
381
|
+
}
|
|
382
|
+
throw error;
|
|
383
|
+
}
|
|
384
|
+
if (match.routeName !== opts.routeName) {
|
|
385
|
+
options.setMismatchedRouteName(match.routeName);
|
|
386
|
+
return "route-mismatch" as const;
|
|
387
|
+
}
|
|
388
|
+
if (match.redirect) return "redirect" as const;
|
|
389
|
+
|
|
390
|
+
setRequestContextParams(match.params, match.routeName);
|
|
391
|
+
|
|
392
|
+
const payload = buildFullPayload(
|
|
393
|
+
match,
|
|
394
|
+
// buildFullPayload reads only ctx.router.* and ctx.version.
|
|
395
|
+
{ router, version: opts.buildVersion } as unknown as HandlerContext<any>,
|
|
396
|
+
url,
|
|
397
|
+
derivedCtx,
|
|
398
|
+
freshHandleStore,
|
|
399
|
+
);
|
|
400
|
+
const rscStream = renderToReadableStream<RscPayload>(payload, {
|
|
401
|
+
onError: (error: unknown) => {
|
|
402
|
+
if (opts.debug) {
|
|
403
|
+
console.warn(
|
|
404
|
+
`[rango] shell capture render error for ${opts.urlPath}:`,
|
|
405
|
+
error,
|
|
406
|
+
);
|
|
407
|
+
}
|
|
408
|
+
},
|
|
409
|
+
});
|
|
410
|
+
|
|
411
|
+
const captureOutcome = await captureAndStoreShell(
|
|
412
|
+
{ captureShellHTML: opts.captureShellHTML } as SSRModule,
|
|
413
|
+
rscStream,
|
|
414
|
+
freshHandleStore,
|
|
415
|
+
derivedCtx,
|
|
416
|
+
descriptor,
|
|
417
|
+
);
|
|
418
|
+
return derivedCtx._dynamic ? "dynamic" : captureOutcome;
|
|
419
|
+
});
|
|
420
|
+
|
|
421
|
+
return {
|
|
422
|
+
outcome,
|
|
423
|
+
response: responseForBuildCaptureOutcome(outcome),
|
|
424
|
+
};
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
function responseForBuildCaptureOutcome(
|
|
428
|
+
outcome: BuildShellCaptureOutcome,
|
|
429
|
+
): Response {
|
|
430
|
+
if (outcome === "redirect") {
|
|
431
|
+
return new Response(null, {
|
|
432
|
+
status: 302,
|
|
433
|
+
headers: { location: "http://build.invalid/" },
|
|
434
|
+
});
|
|
435
|
+
}
|
|
436
|
+
return new Response(null, { status: 204 });
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
function isPlainPathMiss(error: unknown, pathname: string): boolean {
|
|
440
|
+
if (!isRouteNotFoundError(error)) return false;
|
|
441
|
+
const cause = (error as { cause?: unknown }).cause;
|
|
442
|
+
return (
|
|
443
|
+
cause !== null &&
|
|
444
|
+
typeof cause === "object" &&
|
|
445
|
+
(cause as { pathname?: unknown }).pathname === pathname
|
|
446
|
+
);
|
|
447
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build shell manifest key, shared by the producer (the build's shell
|
|
3
|
+
* prerender phase, vite/discovery/shell-prerender-phase.ts) and the consumer
|
|
4
|
+
* (the runtime read-through, rsc/shell-build-manifest.ts) so the format
|
|
5
|
+
* cannot drift. Dependency-free: the producer runs node-side in the plugin,
|
|
6
|
+
* the consumer in the RSC runtime.
|
|
7
|
+
*
|
|
8
|
+
* PATHNAME-ONLY by design. Host-free because the build knows no request
|
|
9
|
+
* host. Router-free because the router id ($$id) is a hash of
|
|
10
|
+
* filePath:lineNumber of the TRANSFORMED source, which differs between the
|
|
11
|
+
* discovery temp server's dev-style transform chain and the main build's —
|
|
12
|
+
* a temp-realm router id can never be looked up by the shipped worker. The
|
|
13
|
+
* producer instead detects pathname collisions across routers at build time
|
|
14
|
+
* and declines both entries (loudly), keeping the key unambiguous. This is
|
|
15
|
+
* a manifest namespace, never a store keyspace: the runtime shell key
|
|
16
|
+
* (host + pathname + search + ":shell") stays untouched.
|
|
17
|
+
*/
|
|
18
|
+
export function buildShellManifestKey(pathname: string): string {
|
|
19
|
+
return pathname;
|
|
20
|
+
}
|
package/src/prerender/store.ts
CHANGED
|
@@ -73,7 +73,16 @@ export function createDevPrerenderStore(devUrl: string): PrerenderStore {
|
|
|
73
73
|
if (isIntercept) url += "&intercept=1";
|
|
74
74
|
if (meta.isPassthroughRoute) url += "&passthrough=1";
|
|
75
75
|
try {
|
|
76
|
-
|
|
76
|
+
// Bounded: this fetch also runs inside the PPR shell capture (a
|
|
77
|
+
// workerd waitUntil task), where an unsettled fetch does not reject —
|
|
78
|
+
// it pends until the task is torn down. Unbounded, one pending fetch
|
|
79
|
+
// wedged the per-isolate capture queue on GH runners (rotating dev
|
|
80
|
+
// capture failures; endpoint instrumentation showed 3-4ms memo HITs,
|
|
81
|
+
// so latency was never the issue — settlement was). On timeout the
|
|
82
|
+
// catch degrades to a store miss and the pipeline falls through to
|
|
83
|
+
// the live handler render (the documented dev fall-through), so the
|
|
84
|
+
// capture still lands with live content.
|
|
85
|
+
const res = await fetch(url, { signal: AbortSignal.timeout(10_000) });
|
|
77
86
|
if (!res.ok) return null;
|
|
78
87
|
return res.json();
|
|
79
88
|
} catch {
|
package/src/prerender.ts
CHANGED
|
@@ -540,7 +540,7 @@ export interface PassthroughHandlerDefinition<
|
|
|
540
540
|
/** Live handler for runtime fallback on unknown params. */
|
|
541
541
|
liveHandler: (
|
|
542
542
|
ctx: HandlerContext<TParams, TEnv>,
|
|
543
|
-
) => ReactNode | Promise<ReactNode
|
|
543
|
+
) => ReactNode | Response | Promise<ReactNode | Response>;
|
|
544
544
|
/** Composable default DSL items merged when the handler is mounted. */
|
|
545
545
|
use?: () => UseItems<HandlerUseItem>;
|
|
546
546
|
}
|
|
@@ -552,7 +552,7 @@ export function Passthrough<
|
|
|
552
552
|
prerenderDef: PrerenderHandlerDefinition<TParams>,
|
|
553
553
|
liveHandler: (
|
|
554
554
|
ctx: HandlerContext<TParams, TEnv>,
|
|
555
|
-
) => ReactNode | Promise<ReactNode
|
|
555
|
+
) => ReactNode | Response | Promise<ReactNode | Response>,
|
|
556
556
|
): PassthroughHandlerDefinition<TParams, TEnv>;
|
|
557
557
|
|
|
558
558
|
// Implementation
|
|
@@ -563,7 +563,7 @@ export function Passthrough<
|
|
|
563
563
|
prerenderDef: PrerenderHandlerDefinition<TParams>,
|
|
564
564
|
liveHandler: (
|
|
565
565
|
ctx: HandlerContext<TParams, TEnv>,
|
|
566
|
-
) => ReactNode | Promise<ReactNode
|
|
566
|
+
) => ReactNode | Response | Promise<ReactNode | Response>,
|
|
567
567
|
): PassthroughHandlerDefinition<TParams, TEnv> {
|
|
568
568
|
if (!isPrerenderHandler(prerenderDef)) {
|
|
569
569
|
throw new Error(
|