@rangojs/router 0.0.0-experimental.tapabs3 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/rango.js +19 -41
- 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/dev-discovery.d.ts +11 -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 +85 -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/loader.d.ts +10 -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/prefetch/runtime.d.ts +3 -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 +518 -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 +106 -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 +136 -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 +589 -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 +186 -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 +435 -0
- package/dist/types/cache/vercel/index.d.ts +1 -0
- package/dist/types/cache/vercel/vercel-cache-store.d.ts +268 -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/dev-discovery-protocol.d.ts +5 -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 +63 -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 +102 -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 +53 -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 +434 -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 +32 -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 +139 -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 +18 -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 +370 -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 +292 -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 +510 -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 +628 -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 +98 -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 +163 -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 +1208 -431
- package/package.json +45 -34
- package/skills/caching/SKILL.md +1 -1
- 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 +148 -19
- 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/dev-discovery.ts +66 -0
- package/src/browser/event-controller.ts +16 -2
- package/src/browser/navigation-client.ts +6 -0
- package/src/browser/navigation-store.ts +4 -271
- package/src/browser/partial-update.ts +7 -14
- package/src/browser/prefetch/cache.ts +1 -1
- package/src/browser/prefetch/loader.ts +110 -0
- package/src/browser/prefetch/runtime.ts +7 -0
- package/src/browser/react/Link.tsx +7 -10
- package/src/browser/react/NavigationProvider.tsx +1 -1
- package/src/browser/react/use-router.ts +1 -1
- package/src/browser/rsc-router.tsx +15 -2
- package/src/browser/types.ts +4 -27
- package/src/build/generate-manifest.ts +16 -36
- package/src/build/route-trie.ts +5 -50
- package/src/cache/cache-key-utils.ts +0 -1
- package/src/cache/cache-scope.ts +54 -5
- package/src/cache/cf/cf-cache-store.ts +522 -89
- 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 +44 -1
- package/src/cache/segment-codec.ts +47 -0
- package/src/cache/shell-snapshot.ts +124 -29
- package/src/cache/types.ts +57 -2
- package/src/cache/vercel/vercel-cache-store.ts +113 -14
- package/src/deps/ssr.ts +4 -1
- package/src/dev-discovery-protocol.ts +11 -0
- package/src/index.rsc.ts +7 -0
- package/src/index.ts +1 -0
- package/src/prerender/build-shell-capture.ts +453 -0
- package/src/prerender/shell-manifest-key.ts +20 -0
- package/src/prerender/store.ts +15 -1
- package/src/prerender.ts +3 -3
- package/src/redirect-origin.ts +37 -8
- package/src/route-definition/dsl-helpers.ts +7 -2
- package/src/route-map-builder.ts +61 -54
- package/src/router/content-negotiation.ts +47 -5
- package/src/router/handler-context.ts +31 -15
- package/src/router/intercept-resolution.ts +30 -1
- package/src/router/lazy-includes.ts +1 -0
- package/src/router/loader-resolution.ts +16 -0
- package/src/router/match-api.ts +14 -3
- 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 +47 -2
- package/src/router/router-interfaces.ts +11 -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/segment-resolution/static-store.ts +36 -10
- 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 +39 -7
- package/src/rsc/capture-queue.ts +67 -0
- package/src/rsc/handler-context.ts +1 -0
- package/src/rsc/handler.ts +153 -77
- package/src/rsc/helpers.ts +67 -4
- package/src/rsc/loader-fetch.ts +2 -2
- package/src/rsc/manifest-init.ts +4 -11
- package/src/rsc/progressive-enhancement.ts +66 -54
- package/src/rsc/redirect-guard.ts +3 -1
- package/src/rsc/render-pipeline.ts +567 -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 +455 -194
- 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 +622 -73
- package/src/rsc/shell-serve.ts +133 -3
- package/src/rsc/ssr-setup.ts +102 -23
- package/src/rsc/types.ts +2 -0
- package/src/segment-fragments.ts +124 -0
- package/src/server/context.ts +212 -8
- package/src/server/request-context.ts +322 -48
- package/src/server.ts +0 -2
- 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 +133 -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/types/route-entry.ts +3 -0
- package/src/urls/include-helper.ts +1 -0
- package/src/urls/path-helper-types.ts +1 -1
- package/src/urls/path-helper.ts +8 -4
- package/src/urls/pattern-types.ts +29 -0
- package/src/vite/discovery/bundle-postprocess.ts +10 -7
- package/src/vite/discovery/discover-routers.ts +39 -79
- package/src/vite/discovery/prerender-collection.ts +29 -2
- package/src/vite/discovery/shell-prerender-phase.ts +397 -0
- package/src/vite/discovery/state.ts +48 -4
- package/src/vite/discovery/virtual-module-codegen.ts +201 -62
- package/src/vite/index.ts +1 -0
- package/src/vite/plugin-types.ts +33 -0
- package/src/vite/plugins/version-injector.ts +0 -1
- package/src/vite/plugins/version-plugin.ts +8 -0
- package/src/vite/plugins/virtual-entries.ts +48 -5
- package/src/vite/rango.ts +42 -2
- package/src/vite/router-discovery.ts +564 -43
- package/src/vite/utils/manifest-utils.ts +1 -4
- 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 +11 -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
|
@@ -96,6 +96,9 @@ export class RecordingShellStore<
|
|
|
96
96
|
get keyGenerator(): SegmentCacheStore<TEnv>["keyGenerator"] {
|
|
97
97
|
return this.inner.keyGenerator;
|
|
98
98
|
}
|
|
99
|
+
get supportsPassiveShellReads(): true | undefined {
|
|
100
|
+
return this.inner.supportsPassiveShellReads;
|
|
101
|
+
}
|
|
99
102
|
|
|
100
103
|
private record(
|
|
101
104
|
family: ShellSnapshotRecord["family"],
|
|
@@ -110,6 +113,19 @@ export class RecordingShellStore<
|
|
|
110
113
|
this.writes.push(p);
|
|
111
114
|
}
|
|
112
115
|
|
|
116
|
+
/**
|
|
117
|
+
* Record a segment-family write into the snapshot WITHOUT touching the inner
|
|
118
|
+
* store. The shell fast path's implicit doc-cache scope writes through this
|
|
119
|
+
* (via {@link SnapshotOnlySegmentStore}): the recorded doc entry must ride
|
|
120
|
+
* ONLY inside the shell entry — a passthrough write would leave a doc-keyed
|
|
121
|
+
* entry in the real store that the NEXT capture's lookup would hit, replaying
|
|
122
|
+
* the previous generation's segments instead of re-running handlers (breaking
|
|
123
|
+
* SWR recapture freshness).
|
|
124
|
+
*/
|
|
125
|
+
recordSegmentWrite(key: string, data: CachedEntryData): void {
|
|
126
|
+
this.record("segment", key, data);
|
|
127
|
+
}
|
|
128
|
+
|
|
113
129
|
/**
|
|
114
130
|
* Await the tracked deferred writes so their records are present before drain.
|
|
115
131
|
* Drains ITERATIVELY: a write task can schedule a NESTED write (the ring-3
|
|
@@ -219,8 +235,9 @@ export class RecordingShellStore<
|
|
|
219
235
|
|
|
220
236
|
async getShell(
|
|
221
237
|
key: string,
|
|
238
|
+
options?: { claimRevalidation?: boolean },
|
|
222
239
|
): Promise<{ entry: ShellCacheEntry; shouldRevalidate?: boolean } | null> {
|
|
223
|
-
return this.inner.getShell ? this.inner.getShell(key) : null;
|
|
240
|
+
return this.inner.getShell ? this.inner.getShell(key, options) : null;
|
|
224
241
|
}
|
|
225
242
|
|
|
226
243
|
async putShell(
|
|
@@ -229,7 +246,7 @@ export class RecordingShellStore<
|
|
|
229
246
|
ttlSeconds?: number,
|
|
230
247
|
swrSeconds?: number,
|
|
231
248
|
tags?: string[],
|
|
232
|
-
): Promise<void> {
|
|
249
|
+
): Promise<"stored" | "invalidated" | void> {
|
|
233
250
|
return this.inner.putShell?.(key, entry, ttlSeconds, swrSeconds, tags);
|
|
234
251
|
}
|
|
235
252
|
|
|
@@ -245,6 +262,40 @@ export function getRecordingStore<TEnv>(
|
|
|
245
262
|
return store instanceof RecordingShellStore ? store : undefined;
|
|
246
263
|
}
|
|
247
264
|
|
|
265
|
+
/**
|
|
266
|
+
* The store the shell fast path's IMPLICIT doc-cache scope resolves during a
|
|
267
|
+
* capture: reads pass through the recording store (a real-store hit is
|
|
268
|
+
* recorded, exactly like any capture read), but segment WRITES are recorded
|
|
269
|
+
* into the snapshot only — see {@link RecordingShellStore.recordSegmentWrite}
|
|
270
|
+
* for why passthrough would break SWR recapture. Routes with their OWN
|
|
271
|
+
* cache() config never see this store (their scope resolves the app-level
|
|
272
|
+
* recording store and keeps today's record-and-write behavior).
|
|
273
|
+
*/
|
|
274
|
+
export class SnapshotOnlySegmentStore<
|
|
275
|
+
TEnv = unknown,
|
|
276
|
+
> implements SegmentCacheStore<TEnv> {
|
|
277
|
+
constructor(private readonly recording: RecordingShellStore<TEnv>) {}
|
|
278
|
+
|
|
279
|
+
get defaults(): SegmentCacheStore<TEnv>["defaults"] {
|
|
280
|
+
return this.recording.defaults;
|
|
281
|
+
}
|
|
282
|
+
get keyGenerator(): SegmentCacheStore<TEnv>["keyGenerator"] {
|
|
283
|
+
return this.recording.keyGenerator;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
async get(key: string): Promise<CacheGetResult | null> {
|
|
287
|
+
return this.recording.get(key);
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
async set(key: string, data: CachedEntryData): Promise<void> {
|
|
291
|
+
this.recording.recordSegmentWrite(key, data);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
async delete(key: string): Promise<boolean> {
|
|
295
|
+
return this.recording.delete(key);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
|
|
248
299
|
/**
|
|
249
300
|
* Materialize the loader-family seed from a shell snapshot for a HIT's tail
|
|
250
301
|
* render: Flight-deserialize each recorded (promise-elided) bake-lane
|
|
@@ -259,9 +310,21 @@ export function getRecordingStore<TEnv>(
|
|
|
259
310
|
* HIT). Returns undefined when the snapshot carries no loader records, without
|
|
260
311
|
* touching the Flight codec (kept lazy for cold paths and non-RSC configs).
|
|
261
312
|
*/
|
|
313
|
+
export interface ShellLoaderSeedEntry {
|
|
314
|
+
/** The Flight-deserialized elided container (recorded paths + markers). */
|
|
315
|
+
container: unknown;
|
|
316
|
+
/**
|
|
317
|
+
* True when the record carries hole markers (or predates the capture-side
|
|
318
|
+
* hole bit, where hole-ness is unknown): the HIT overlay must gate on the
|
|
319
|
+
* fresh run. False = fully pinned; the payload promise resolves immediately
|
|
320
|
+
* from the pin (loader-cache.ts pin-first path).
|
|
321
|
+
*/
|
|
322
|
+
holes: boolean;
|
|
323
|
+
}
|
|
324
|
+
|
|
262
325
|
export async function buildShellLoaderSeed(
|
|
263
326
|
snapshot: ShellSnapshotRecord[],
|
|
264
|
-
): Promise<Map<string,
|
|
327
|
+
): Promise<Map<string, ShellLoaderSeedEntry> | undefined> {
|
|
265
328
|
const loaderRecords: ShellSnapshotRecord[] = [];
|
|
266
329
|
for (const rec of snapshot) {
|
|
267
330
|
if (rec.family === "loader") loaderRecords.push(rec);
|
|
@@ -270,20 +333,26 @@ export async function buildShellLoaderSeed(
|
|
|
270
333
|
|
|
271
334
|
const { deserializeResult } = await import("./segment-codec.js");
|
|
272
335
|
const entries = await Promise.all(
|
|
273
|
-
loaderRecords.map(
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
rec.
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
336
|
+
loaderRecords.map(
|
|
337
|
+
async (rec): Promise<[string, ShellLoaderSeedEntry] | null> => {
|
|
338
|
+
try {
|
|
339
|
+
const stored = rec.value as ShellSnapshotLoaderValue;
|
|
340
|
+
return [
|
|
341
|
+
rec.key,
|
|
342
|
+
{
|
|
343
|
+
container: await deserializeResult(stored.value),
|
|
344
|
+
// A record without the bit (pre-bit snapshot) reads as
|
|
345
|
+
// hole-carrying: unknown hole-ness must keep the gated path.
|
|
346
|
+
holes: stored.holes !== 0,
|
|
347
|
+
},
|
|
348
|
+
];
|
|
349
|
+
} catch {
|
|
350
|
+
return null;
|
|
351
|
+
}
|
|
352
|
+
},
|
|
353
|
+
),
|
|
285
354
|
);
|
|
286
|
-
const seed = new Map<string,
|
|
355
|
+
const seed = new Map<string, ShellLoaderSeedEntry>();
|
|
287
356
|
for (const entry of entries) {
|
|
288
357
|
if (entry) seed.set(entry[0], entry[1]);
|
|
289
358
|
}
|
|
@@ -295,28 +364,42 @@ export async function buildShellLoaderSeed(
|
|
|
295
364
|
* the snapshot it serves the recorded value AS FRESH (shouldRevalidate: false —
|
|
296
365
|
* a pinned key must NOT kick SWR background revalidation) so the tail's payload
|
|
297
366
|
* matches the frozen prelude. Every other read falls through to the real store
|
|
298
|
-
* (the holes — masked loaders were never recorded — stay live).
|
|
299
|
-
* through
|
|
300
|
-
* family
|
|
367
|
+
* (the holes — masked loaders were never recorded — stay live). Writes pass
|
|
368
|
+
* through so a live hole may legitimately write, except that `segmentsOnly`
|
|
369
|
+
* fully isolates the segment family: misses do not fall through, and writes or
|
|
370
|
+
* deletes stay local to the navigation overlay. The shell family always passes
|
|
371
|
+
* through. With `segmentsOnly`, item and response reads also pass through so a
|
|
372
|
+
* partial navigation cannot freeze captured data or write a partial result into
|
|
373
|
+
* the canonical document namespace.
|
|
301
374
|
*/
|
|
302
375
|
export class SeededShellStore<
|
|
303
376
|
TEnv = unknown,
|
|
304
377
|
> implements SegmentCacheStore<TEnv> {
|
|
305
|
-
private readonly items
|
|
378
|
+
private readonly items: Map<string, ShellSnapshotItemValue> | undefined;
|
|
306
379
|
private readonly segments = new Map<string, CachedEntryData>();
|
|
307
|
-
private readonly responses
|
|
380
|
+
private readonly responses:
|
|
381
|
+
| Map<string, ShellSnapshotResponseValue>
|
|
382
|
+
| undefined;
|
|
383
|
+
private readonly segmentsOnly: boolean;
|
|
308
384
|
|
|
309
385
|
constructor(
|
|
310
386
|
private readonly inner: SegmentCacheStore<TEnv>,
|
|
311
387
|
snapshot: ShellSnapshotRecord[],
|
|
388
|
+
options?: { segmentsOnly?: boolean },
|
|
312
389
|
) {
|
|
390
|
+
this.segmentsOnly = options?.segmentsOnly === true;
|
|
391
|
+
this.items = this.segmentsOnly ? undefined : new Map();
|
|
392
|
+
this.responses = this.segmentsOnly ? undefined : new Map();
|
|
313
393
|
for (const rec of snapshot) {
|
|
314
|
-
if (rec
|
|
315
|
-
|
|
316
|
-
} else if (rec.family === "segment") {
|
|
394
|
+
if (!rec || typeof rec !== "object") continue;
|
|
395
|
+
if (rec.family === "segment") {
|
|
317
396
|
this.segments.set(rec.key, rec.value as CachedEntryData);
|
|
397
|
+
} else if (this.segmentsOnly) {
|
|
398
|
+
continue;
|
|
399
|
+
} else if (rec.family === "item") {
|
|
400
|
+
this.items?.set(rec.key, rec.value as ShellSnapshotItemValue);
|
|
318
401
|
} else if (rec.family === "response") {
|
|
319
|
-
this.responses
|
|
402
|
+
this.responses?.set(rec.key, rec.value as ShellSnapshotResponseValue);
|
|
320
403
|
}
|
|
321
404
|
// "loader" family records are not store reads — serveShellHit seeds them
|
|
322
405
|
// onto the tail context (_shellLoaderSeed) for the resolveLoaderData
|
|
@@ -330,10 +413,14 @@ export class SeededShellStore<
|
|
|
330
413
|
get keyGenerator(): SegmentCacheStore<TEnv>["keyGenerator"] {
|
|
331
414
|
return this.inner.keyGenerator;
|
|
332
415
|
}
|
|
416
|
+
get supportsPassiveShellReads(): true | undefined {
|
|
417
|
+
return this.inner.supportsPassiveShellReads;
|
|
418
|
+
}
|
|
333
419
|
|
|
334
420
|
async get(key: string): Promise<CacheGetResult | null> {
|
|
335
421
|
const seeded = this.segments.get(key);
|
|
336
422
|
if (seeded) return { data: seeded, shouldRevalidate: false };
|
|
423
|
+
if (this.segmentsOnly) return null;
|
|
337
424
|
return this.inner.get(key);
|
|
338
425
|
}
|
|
339
426
|
|
|
@@ -343,10 +430,17 @@ export class SeededShellStore<
|
|
|
343
430
|
ttl: number,
|
|
344
431
|
swr?: number,
|
|
345
432
|
): Promise<void> {
|
|
433
|
+
if (this.segmentsOnly) {
|
|
434
|
+
this.segments.set(key, data);
|
|
435
|
+
return;
|
|
436
|
+
}
|
|
346
437
|
return this.inner.set(key, data, ttl, swr);
|
|
347
438
|
}
|
|
348
439
|
|
|
349
440
|
async delete(key: string): Promise<boolean> {
|
|
441
|
+
if (this.segmentsOnly) {
|
|
442
|
+
return this.segments.delete(key);
|
|
443
|
+
}
|
|
350
444
|
return this.inner.delete(key);
|
|
351
445
|
}
|
|
352
446
|
|
|
@@ -357,7 +451,7 @@ export class SeededShellStore<
|
|
|
357
451
|
async getResponse(
|
|
358
452
|
key: string,
|
|
359
453
|
): Promise<{ response: Response; shouldRevalidate: boolean } | null> {
|
|
360
|
-
const seeded = this.responses
|
|
454
|
+
const seeded = this.responses?.get(key);
|
|
361
455
|
if (seeded) {
|
|
362
456
|
return { response: deserializeResponse(seeded), shouldRevalidate: false };
|
|
363
457
|
}
|
|
@@ -375,7 +469,7 @@ export class SeededShellStore<
|
|
|
375
469
|
}
|
|
376
470
|
|
|
377
471
|
async getItem(key: string): Promise<CacheItemResult | null> {
|
|
378
|
-
const seeded = this.items
|
|
472
|
+
const seeded = this.items?.get(key);
|
|
379
473
|
if (seeded) {
|
|
380
474
|
return {
|
|
381
475
|
value: seeded.value,
|
|
@@ -397,8 +491,9 @@ export class SeededShellStore<
|
|
|
397
491
|
|
|
398
492
|
async getShell(
|
|
399
493
|
key: string,
|
|
494
|
+
options?: { claimRevalidation?: boolean },
|
|
400
495
|
): Promise<{ entry: ShellCacheEntry; shouldRevalidate?: boolean } | null> {
|
|
401
|
-
return this.inner.getShell ? this.inner.getShell(key) : null;
|
|
496
|
+
return this.inner.getShell ? this.inner.getShell(key, options) : null;
|
|
402
497
|
}
|
|
403
498
|
|
|
404
499
|
async putShell(
|
|
@@ -407,7 +502,7 @@ export class SeededShellStore<
|
|
|
407
502
|
ttlSeconds?: number,
|
|
408
503
|
swrSeconds?: number,
|
|
409
504
|
tags?: string[],
|
|
410
|
-
): Promise<void> {
|
|
505
|
+
): Promise<"stored" | "invalidated" | void> {
|
|
411
506
|
return this.inner.putShell?.(key, entry, ttlSeconds, swrSeconds, tags);
|
|
412
507
|
}
|
|
413
508
|
|
package/src/cache/types.ts
CHANGED
|
@@ -36,6 +36,13 @@ export interface CacheGetResult {
|
|
|
36
36
|
* @typeParam TEnv - Platform bindings type (e.g., Cloudflare env)
|
|
37
37
|
*/
|
|
38
38
|
export interface SegmentCacheStore<TEnv = unknown> {
|
|
39
|
+
/**
|
|
40
|
+
* The store honors getShell(..., { claimRevalidation: false }) without
|
|
41
|
+
* claiming an SWR lock. Navigation replay requires this opt-in because it
|
|
42
|
+
* cannot recapture an HTML shell after observing a stale entry.
|
|
43
|
+
*/
|
|
44
|
+
readonly supportsPassiveShellReads?: true;
|
|
45
|
+
|
|
39
46
|
/**
|
|
40
47
|
* Default cache options for this store.
|
|
41
48
|
* Used by cache() boundaries when ttl/swr are not explicitly specified.
|
|
@@ -144,9 +151,12 @@ export interface SegmentCacheStore<TEnv = unknown> {
|
|
|
144
151
|
*
|
|
145
152
|
* Optional: a store that does not implement the shell family disables the
|
|
146
153
|
* shell-cache middleware (it fails open to the normal HTML render path).
|
|
154
|
+
* A passive read reports a stale entry as `shouldRevalidate: true` without
|
|
155
|
+
* claiming store-specific revalidation ownership.
|
|
147
156
|
*/
|
|
148
157
|
getShell?(
|
|
149
158
|
key: string,
|
|
159
|
+
options?: { claimRevalidation?: boolean },
|
|
150
160
|
): Promise<{ entry: ShellCacheEntry; shouldRevalidate?: boolean } | null>;
|
|
151
161
|
|
|
152
162
|
/**
|
|
@@ -160,6 +170,8 @@ export interface SegmentCacheStore<TEnv = unknown> {
|
|
|
160
170
|
* @param swrSeconds - Optional stale-while-revalidate window in seconds
|
|
161
171
|
* @param tags - Optional cache tags for invalidation (participates in
|
|
162
172
|
* invalidateTags via the same tag machinery as the item family)
|
|
173
|
+
* @returns `invalidated` when a generation marker rejected the write,
|
|
174
|
+
* `stored` when acknowledged, or void for stores without acknowledgements.
|
|
163
175
|
*/
|
|
164
176
|
putShell?(
|
|
165
177
|
key: string,
|
|
@@ -167,7 +179,7 @@ export interface SegmentCacheStore<TEnv = unknown> {
|
|
|
167
179
|
ttlSeconds?: number,
|
|
168
180
|
swrSeconds?: number,
|
|
169
181
|
tags?: string[],
|
|
170
|
-
): Promise<void>;
|
|
182
|
+
): Promise<"stored" | "invalidated" | void>;
|
|
171
183
|
|
|
172
184
|
/**
|
|
173
185
|
* Get a cached function result by key.
|
|
@@ -196,6 +208,19 @@ export interface SegmentCacheStore<TEnv = unknown> {
|
|
|
196
208
|
* @param tags - The cache tags to invalidate
|
|
197
209
|
*/
|
|
198
210
|
invalidateTags?(tags: string[]): Promise<void>;
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* True when ANY of `tags` was invalidated (invalidateTags/updateTag) at or
|
|
214
|
+
* after `sinceMs` (>= so a same-millisecond invalidation wins, favouring
|
|
215
|
+
* freshness). Consulted by build-shell read-through and runtime shell stores:
|
|
216
|
+
* "was it evicted" is answered by tag markers against the entry's createdAt,
|
|
217
|
+
* including when invalidation races a capture that has not been written yet.
|
|
218
|
+
* Optional: without it, TAGGED build entries are not served (untagged ones
|
|
219
|
+
* are unaffected — they are evictable only by deploy/buildVersion anyway).
|
|
220
|
+
* Fail open to `false` on marker-read errors: a transient store fault must
|
|
221
|
+
* degrade to "still valid", the same posture as the envelope tag checks.
|
|
222
|
+
*/
|
|
223
|
+
isTagsInvalidatedSince?(tags: string[], sinceMs: number): Promise<boolean>;
|
|
199
224
|
}
|
|
200
225
|
|
|
201
226
|
/**
|
|
@@ -280,7 +305,26 @@ export interface ShellCacheEntry {
|
|
|
280
305
|
* heals it. See docs/design/ppr-shell-resume.md ("the capture data snapshot").
|
|
281
306
|
*/
|
|
282
307
|
snapshot?: ShellSnapshotRecord[];
|
|
283
|
-
/**
|
|
308
|
+
/**
|
|
309
|
+
* True when the capture's HANDLER layer declared per-request liveness: a
|
|
310
|
+
* handle pushed OUTSIDE a DSL loader scope carried a nested thenable (the
|
|
311
|
+
* capture mask turns it into a never-filling hole), such a push was still
|
|
312
|
+
* pending when the entry was written, or a handler-invoked loader
|
|
313
|
+
* (ctx.use(loader) from a handler body — the consumption lane, #672)
|
|
314
|
+
* executed during the capture. The serve tail then must NOT take the
|
|
315
|
+
* handler-free fast path (the implicit doc-cache hit): only a handler
|
|
316
|
+
* re-run can mint that hole's live promise or refresh that consumed value.
|
|
317
|
+
* DSL-loader pushes never set this — loaders re-run fresh on every HIT, so
|
|
318
|
+
* their holes always fill.
|
|
319
|
+
*/
|
|
320
|
+
handlerLiveHoles?: boolean;
|
|
321
|
+
/**
|
|
322
|
+
* The capture encountered transition({ when }). Its effective hold policy is
|
|
323
|
+
* request-dependent, so handler-free document and navigation replay must
|
|
324
|
+
* re-run resolution to collect and evaluate the predicate.
|
|
325
|
+
*/
|
|
326
|
+
transitionWhen?: true;
|
|
327
|
+
/** Capture-generation start time; tag invalidations at or after it win. */
|
|
284
328
|
createdAt: number;
|
|
285
329
|
}
|
|
286
330
|
|
|
@@ -305,6 +349,17 @@ export type ShellSnapshotFamily = "item" | "segment" | "response" | "loader";
|
|
|
305
349
|
export interface ShellSnapshotLoaderValue {
|
|
306
350
|
/** RSC-serialized elided container (see loader-snapshot.ts). */
|
|
307
351
|
value: string;
|
|
352
|
+
/**
|
|
353
|
+
* Hole bit, capture-computed (elide already walks every node): 1 = the
|
|
354
|
+
* container carries hole markers, so a HIT must gate the overlay on the
|
|
355
|
+
* fresh run (only the loader body can mint the live nested promises);
|
|
356
|
+
* 0 = fully pinned, so a HIT resolves the payload promise immediately from
|
|
357
|
+
* the pin while the fresh run proceeds ungated (side effects and cache
|
|
358
|
+
* read-through writes preserved; its values were discarded either way —
|
|
359
|
+
* recorded paths win wholesale). Absent on pre-bit snapshots, which keep
|
|
360
|
+
* the gated path.
|
|
361
|
+
*/
|
|
362
|
+
holes?: 0 | 1;
|
|
308
363
|
}
|
|
309
364
|
|
|
310
365
|
/** A serialized cached Response for the response family of a shell snapshot. */
|
|
@@ -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: runtime tagged-shell retention is capped to this lifetime,
|
|
138
|
+
* while buildVersion retires build shells on the next deploy. An expired marker
|
|
139
|
+
* therefore cannot resurrect a runtime shell that outlived its invalidation.
|
|
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 {
|
|
@@ -179,7 +190,7 @@ interface VercelShellEnvelope {
|
|
|
179
190
|
rv: string;
|
|
180
191
|
/** Build version at capture (ShellCacheEntry.buildVersion). */
|
|
181
192
|
bv?: string;
|
|
182
|
-
/**
|
|
193
|
+
/** Capture-generation start time, used by tag marker checks. */
|
|
183
194
|
c: number;
|
|
184
195
|
/** staleAt (ms since epoch). */
|
|
185
196
|
s: number;
|
|
@@ -191,6 +202,15 @@ 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;
|
|
212
|
+
/** ShellCacheEntry.transitionWhen; conditional transitions must re-run. */
|
|
213
|
+
tw?: true;
|
|
194
214
|
}
|
|
195
215
|
|
|
196
216
|
/** Read-path outcome for the debug sink. */
|
|
@@ -337,6 +357,7 @@ function isRecord(value: unknown): value is Record<string, unknown> {
|
|
|
337
357
|
export class VercelCacheStore<
|
|
338
358
|
TEnv = unknown,
|
|
339
359
|
> implements SegmentCacheStore<TEnv> {
|
|
360
|
+
readonly supportsPassiveShellReads: true = true;
|
|
340
361
|
readonly defaults?: CacheDefaults;
|
|
341
362
|
readonly keyGenerator?: (
|
|
342
363
|
ctx: RequestContext<TEnv>,
|
|
@@ -713,6 +734,7 @@ export class VercelCacheStore<
|
|
|
713
734
|
|
|
714
735
|
async getShell(
|
|
715
736
|
key: string,
|
|
737
|
+
options?: { claimRevalidation?: boolean },
|
|
716
738
|
): Promise<{ entry: ShellCacheEntry; shouldRevalidate?: boolean } | null> {
|
|
717
739
|
const storeKey = this.toStoreKey(key, "h");
|
|
718
740
|
const started = Date.now();
|
|
@@ -756,14 +778,25 @@ export class VercelCacheStore<
|
|
|
756
778
|
return null;
|
|
757
779
|
}
|
|
758
780
|
|
|
781
|
+
if (
|
|
782
|
+
env.t &&
|
|
783
|
+
env.t.length > 0 &&
|
|
784
|
+
(await this.isTagsInvalidatedSince(env.t, env.c))
|
|
785
|
+
) {
|
|
786
|
+
void this.safeDelete(storeKey);
|
|
787
|
+
this.emitDebug({ op: "getShell", key, outcome: "miss", readMs });
|
|
788
|
+
return null;
|
|
789
|
+
}
|
|
790
|
+
|
|
759
791
|
const isStale = env.s > 0 && now > env.s;
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
792
|
+
let shouldRevalidate = isStale;
|
|
793
|
+
if (isStale && options?.claimRevalidation !== false) {
|
|
794
|
+
shouldRevalidate = await this.claimRevalidation(
|
|
795
|
+
storeKey,
|
|
796
|
+
env.e,
|
|
797
|
+
"[VercelCacheStore] getShell",
|
|
798
|
+
);
|
|
799
|
+
}
|
|
767
800
|
this.emitDebug({
|
|
768
801
|
op: "getShell",
|
|
769
802
|
key,
|
|
@@ -781,6 +814,8 @@ export class VercelCacheStore<
|
|
|
781
814
|
buildVersion: env.bv,
|
|
782
815
|
initialTheme: env.i,
|
|
783
816
|
snapshot: env.sn,
|
|
817
|
+
handlerLiveHoles: env.lh,
|
|
818
|
+
transitionWhen: env.tw,
|
|
784
819
|
createdAt: env.c,
|
|
785
820
|
},
|
|
786
821
|
shouldRevalidate,
|
|
@@ -793,10 +828,12 @@ export class VercelCacheStore<
|
|
|
793
828
|
ttlSeconds?: number,
|
|
794
829
|
swrSeconds?: number,
|
|
795
830
|
tags?: string[],
|
|
796
|
-
): Promise<void> {
|
|
831
|
+
): Promise<"stored" | "invalidated" | void> {
|
|
797
832
|
try {
|
|
798
833
|
const ttl = resolveTtl(ttlSeconds, this.defaults, DEFAULT_FUNCTION_TTL);
|
|
799
834
|
const swrWindow = resolveSwrWindow(swrSeconds, this.defaults);
|
|
835
|
+
const totalTtl = ttl + swrWindow;
|
|
836
|
+
const now = Date.now();
|
|
800
837
|
const { staleAt, expiresAt } = computeExpiration(ttl, swrWindow);
|
|
801
838
|
// Store the CLAMPED tags (see putResponse/setItem) so dropped tags don't
|
|
802
839
|
// resurface on a hit; write() re-clamps idempotently.
|
|
@@ -804,6 +841,17 @@ export class VercelCacheStore<
|
|
|
804
841
|
tags,
|
|
805
842
|
"[VercelCacheStore] putShell",
|
|
806
843
|
);
|
|
844
|
+
const storeKey = this.toStoreKey(key, "h");
|
|
845
|
+
if (
|
|
846
|
+
safeTags.length > 0 &&
|
|
847
|
+
(await this.isTagsInvalidatedSince(safeTags, entry.createdAt))
|
|
848
|
+
) {
|
|
849
|
+
return "invalidated";
|
|
850
|
+
}
|
|
851
|
+
const retentionTtl =
|
|
852
|
+
safeTags.length > 0
|
|
853
|
+
? Math.min(totalTtl, TAG_MARKER_TTL_SECONDS)
|
|
854
|
+
: totalTtl;
|
|
807
855
|
const env: VercelShellEnvelope = {
|
|
808
856
|
p: entry.prelude,
|
|
809
857
|
po: entry.postponed,
|
|
@@ -811,21 +859,24 @@ export class VercelCacheStore<
|
|
|
811
859
|
bv: entry.buildVersion,
|
|
812
860
|
c: entry.createdAt,
|
|
813
861
|
s: staleAt,
|
|
814
|
-
e: expiresAt,
|
|
862
|
+
e: Math.min(expiresAt, now + retentionTtl * 1000),
|
|
815
863
|
t: safeTags.length > 0 ? safeTags : undefined,
|
|
816
864
|
i: entry.initialTheme,
|
|
817
865
|
sn: entry.snapshot,
|
|
866
|
+
lh: entry.handlerLiveHoles,
|
|
867
|
+
tw: entry.transitionWhen,
|
|
818
868
|
};
|
|
819
869
|
// write() enforces the 2 MB per-item ceiling (withinSizeLimit): an
|
|
820
870
|
// oversized shell prelude is reported and skipped (fail-open to a full
|
|
821
871
|
// render), never silently no-op'd on the platform.
|
|
822
872
|
await this.write(
|
|
823
|
-
|
|
873
|
+
storeKey,
|
|
824
874
|
env,
|
|
825
|
-
|
|
875
|
+
retentionTtl,
|
|
826
876
|
safeTags,
|
|
827
877
|
"[VercelCacheStore] putShell",
|
|
828
878
|
);
|
|
879
|
+
return "stored";
|
|
829
880
|
} catch (error) {
|
|
830
881
|
reportCacheError(error, "cache-write", "[VercelCacheStore] putShell");
|
|
831
882
|
}
|
|
@@ -833,6 +884,38 @@ export class VercelCacheStore<
|
|
|
833
884
|
|
|
834
885
|
// --- Tags ---
|
|
835
886
|
|
|
887
|
+
/**
|
|
888
|
+
* Shell tag-generation gate (SegmentCacheStore.isTagsInvalidatedSince).
|
|
889
|
+
* expireTag() keeps no queryable history, so invalidateTags() writes "tm"
|
|
890
|
+
* markers for runtime capture races and immutable build shells. Marker >=
|
|
891
|
+
* generation start wins; read errors fail open like the CF marker check.
|
|
892
|
+
*/
|
|
893
|
+
async isTagsInvalidatedSince(
|
|
894
|
+
tags: string[],
|
|
895
|
+
sinceMs: number,
|
|
896
|
+
): Promise<boolean> {
|
|
897
|
+
try {
|
|
898
|
+
const markers = await Promise.all(
|
|
899
|
+
tags.map((tag) => this.cache.get(this.toStoreKey(tag, "tm"))),
|
|
900
|
+
);
|
|
901
|
+
for (const raw of markers) {
|
|
902
|
+
if (raw == null) continue;
|
|
903
|
+
const decoded = this.decodeRaw(raw) as { at?: unknown } | null;
|
|
904
|
+
const at =
|
|
905
|
+
decoded && typeof decoded.at === "number" ? decoded.at : null;
|
|
906
|
+
if (at !== null && at >= sinceMs) return true;
|
|
907
|
+
}
|
|
908
|
+
return false;
|
|
909
|
+
} catch (error) {
|
|
910
|
+
reportCacheError(
|
|
911
|
+
error,
|
|
912
|
+
"cache-read",
|
|
913
|
+
"[VercelCacheStore] tag invalidation check",
|
|
914
|
+
);
|
|
915
|
+
return false;
|
|
916
|
+
}
|
|
917
|
+
}
|
|
918
|
+
|
|
836
919
|
async invalidateTags(tags: string[]): Promise<void> {
|
|
837
920
|
if (!tags || tags.length === 0) return;
|
|
838
921
|
// No per-item cap here: an invalidation must reach every requested tag.
|
|
@@ -842,6 +925,20 @@ export class VercelCacheStore<
|
|
|
842
925
|
"cache-invalidate",
|
|
843
926
|
);
|
|
844
927
|
if (safe.length === 0) return;
|
|
928
|
+
// Marker writes FIRST, and strict: isTagsInvalidatedSince() is how an
|
|
929
|
+
// updateTag() reaches a build-time shell entry (expireTag cannot delete
|
|
930
|
+
// what lives in the build manifest), so a failed marker write must reject
|
|
931
|
+
// like a failed expireTag — silently resolving would report success while
|
|
932
|
+
// the baked shell keeps serving.
|
|
933
|
+
await Promise.all(
|
|
934
|
+
safe.map((tag) =>
|
|
935
|
+
this.cache.set(
|
|
936
|
+
this.toStoreKey(tag, "tm"),
|
|
937
|
+
JSON.stringify({ at: Date.now() }),
|
|
938
|
+
{ ttl: TAG_MARKER_TTL_SECONDS },
|
|
939
|
+
),
|
|
940
|
+
),
|
|
941
|
+
);
|
|
845
942
|
try {
|
|
846
943
|
await this.cache.expireTag(safe);
|
|
847
944
|
} catch (error) {
|
|
@@ -1095,7 +1192,7 @@ export class VercelCacheStore<
|
|
|
1095
1192
|
|
|
1096
1193
|
private asShellEnvelope(raw: unknown): VercelShellEnvelope | null {
|
|
1097
1194
|
if (!isRecord(raw)) return null;
|
|
1098
|
-
const { p, po, rv, bv, c, s, e, t, i, sn } = raw;
|
|
1195
|
+
const { p, po, rv, bv, c, s, e, t, i, sn, lh, tw } = raw;
|
|
1099
1196
|
if (typeof p !== "string" || typeof rv !== "string") return null;
|
|
1100
1197
|
if (po !== null && typeof po !== "string") return null;
|
|
1101
1198
|
if (typeof c !== "number") return null;
|
|
@@ -1111,6 +1208,8 @@ export class VercelCacheStore<
|
|
|
1111
1208
|
t: Array.isArray(t) ? (t as string[]) : undefined,
|
|
1112
1209
|
i: typeof i === "string" ? i : undefined,
|
|
1113
1210
|
sn: Array.isArray(sn) ? (sn as ShellSnapshotRecord[]) : undefined,
|
|
1211
|
+
lh: lh === true ? true : undefined,
|
|
1212
|
+
tw: tw === true ? true : undefined,
|
|
1114
1213
|
};
|
|
1115
1214
|
}
|
|
1116
1215
|
|
package/src/deps/ssr.ts
CHANGED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export const DEV_DISCOVERY_READY_EVENT = "rango:dev-discovery-ready";
|
|
2
|
+
|
|
3
|
+
export const DEV_DISCOVERY_QUERY_EVENT = "rango:dev-discovery-query";
|
|
4
|
+
|
|
5
|
+
export const DEV_DISCOVERY_PROBE_HEADER = "x-rango-dev-discovery-probe";
|
|
6
|
+
|
|
7
|
+
export const DEV_DISCOVERY_EPOCH_HEADER = "x-rango-dev-discovery-epoch";
|
|
8
|
+
|
|
9
|
+
export function isValidDevDiscoveryEpoch(value: unknown): value is number {
|
|
10
|
+
return typeof value === "number" && Number.isFinite(value) && value >= 0;
|
|
11
|
+
}
|
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";
|