@rangojs/router 0.0.0-experimental.tapabs3 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/rango.js +8 -40
- package/dist/types/__internal.d.ts +127 -0
- package/dist/types/bin/rango.d.ts +1 -0
- package/dist/types/browser/action-coordinator.d.ts +57 -0
- package/dist/types/browser/action-fence.d.ts +33 -0
- package/dist/types/browser/app-shell.d.ts +34 -0
- package/dist/types/browser/app-version.d.ts +6 -0
- package/dist/types/browser/connection-warmup.d.ts +31 -0
- package/dist/types/browser/cookie-name.d.ts +66 -0
- package/dist/types/browser/event-controller.d.ts +221 -0
- package/dist/types/browser/history-state.d.ts +26 -0
- package/dist/types/browser/index.d.ts +1 -0
- package/dist/types/browser/intercept-utils.d.ts +30 -0
- package/dist/types/browser/invalidate-client-cache.d.ts +17 -0
- package/dist/types/browser/link-interceptor.d.ts +43 -0
- package/dist/types/browser/logging.d.ts +33 -0
- package/dist/types/browser/merge-segment-loaders.d.ts +38 -0
- package/dist/types/browser/navigation-bridge.d.ts +27 -0
- package/dist/types/browser/navigation-client.d.ts +17 -0
- package/dist/types/browser/navigation-store-handle.d.ts +25 -0
- package/dist/types/browser/navigation-store.d.ts +95 -0
- package/dist/types/browser/navigation-transaction.d.ts +75 -0
- package/dist/types/browser/network-error-handler.d.ts +35 -0
- package/dist/types/browser/partial-update.d.ts +61 -0
- package/dist/types/browser/prefetch/cache.d.ts +183 -0
- package/dist/types/browser/prefetch/fetch.d.ts +52 -0
- package/dist/types/browser/prefetch/observer.d.ts +27 -0
- package/dist/types/browser/prefetch/policy.d.ts +13 -0
- package/dist/types/browser/prefetch/queue.d.ts +48 -0
- package/dist/types/browser/prefetch/resource-ready.d.ts +28 -0
- package/dist/types/browser/rango-state.d.ts +52 -0
- package/dist/types/browser/react/Link.d.ts +140 -0
- package/dist/types/browser/react/NavigationProvider.d.ts +88 -0
- package/dist/types/browser/react/ScrollRestoration.d.ts +78 -0
- package/dist/types/browser/react/context.d.ts +54 -0
- package/dist/types/browser/react/filter-segment-order.d.ts +35 -0
- package/dist/types/browser/react/index.d.ts +1 -0
- package/dist/types/browser/react/location-state-shared.d.ts +162 -0
- package/dist/types/browser/react/location-state.d.ts +29 -0
- package/dist/types/browser/react/mount-context.d.ts +23 -0
- package/dist/types/browser/react/nonce-context.d.ts +14 -0
- package/dist/types/browser/react/shallow-equal.d.ts +5 -0
- package/dist/types/browser/react/use-action.d.ts +61 -0
- package/dist/types/browser/react/use-handle.d.ts +21 -0
- package/dist/types/browser/react/use-href.d.ts +32 -0
- package/dist/types/browser/react/use-link-status.d.ts +36 -0
- package/dist/types/browser/react/use-mount.d.ts +24 -0
- package/dist/types/browser/react/use-navigation.d.ts +15 -0
- package/dist/types/browser/react/use-params.d.ts +21 -0
- package/dist/types/browser/react/use-pathname.d.ts +13 -0
- package/dist/types/browser/react/use-reverse.d.ts +40 -0
- package/dist/types/browser/react/use-router.d.ts +23 -0
- package/dist/types/browser/react/use-search-params.d.ts +19 -0
- package/dist/types/browser/react/use-segments.d.ts +29 -0
- package/dist/types/browser/response-adapter.d.ts +58 -0
- package/dist/types/browser/rsc-router.d.ts +141 -0
- package/dist/types/browser/scroll-restoration.d.ts +103 -0
- package/dist/types/browser/segment-reconciler.d.ts +74 -0
- package/dist/types/browser/segment-structure-assert.d.ts +16 -0
- package/dist/types/browser/server-action-bridge.d.ts +29 -0
- package/dist/types/browser/types.d.ts +530 -0
- package/dist/types/browser/validate-redirect-origin.d.ts +28 -0
- package/dist/types/build/collect-fallback-refs.d.ts +5 -0
- package/dist/types/build/generate-manifest.d.ts +100 -0
- package/dist/types/build/generate-route-types.d.ts +8 -0
- package/dist/types/build/index.d.ts +21 -0
- package/dist/types/build/prefix-tree-utils.d.ts +56 -0
- package/dist/types/build/route-trie.d.ts +89 -0
- package/dist/types/build/route-types/ast-helpers.d.ts +3 -0
- package/dist/types/build/route-types/ast-route-extraction.d.ts +13 -0
- package/dist/types/build/route-types/codegen.d.ts +16 -0
- package/dist/types/build/route-types/include-resolution.d.ts +74 -0
- package/dist/types/build/route-types/param-extraction.d.ts +13 -0
- package/dist/types/build/route-types/per-module-writer.d.ts +18 -0
- package/dist/types/build/route-types/router-processing.d.ts +82 -0
- package/dist/types/build/route-types/scan-filter.d.ts +17 -0
- package/dist/types/build/route-types/source-scan.d.ts +13 -0
- package/dist/types/build/runtime-discovery.d.ts +24 -0
- package/dist/types/cache/background-task.d.ts +21 -0
- package/dist/types/cache/cache-error.d.ts +71 -0
- package/dist/types/cache/cache-key-utils.d.ts +35 -0
- package/dist/types/cache/cache-policy.d.ts +59 -0
- package/dist/types/cache/cache-runtime.d.ts +51 -0
- package/dist/types/cache/cache-scope.d.ts +134 -0
- package/dist/types/cache/cache-tag.d.ts +79 -0
- package/dist/types/cache/cf/cf-base64.d.ts +4 -0
- package/dist/types/cache/cf/cf-cache-constants.d.ts +105 -0
- package/dist/types/cache/cf/cf-cache-store.d.ts +588 -0
- package/dist/types/cache/cf/cf-cache-types.d.ts +363 -0
- package/dist/types/cache/cf/cf-kv-utils.d.ts +22 -0
- package/dist/types/cache/cf/cf-tag-marker-memo.d.ts +15 -0
- package/dist/types/cache/cf/cf-zone-purge.d.ts +31 -0
- package/dist/types/cache/cf/index.d.ts +4 -0
- package/dist/types/cache/document-cache.d.ts +69 -0
- package/dist/types/cache/handle-capture.d.ts +23 -0
- package/dist/types/cache/handle-snapshot.d.ts +39 -0
- package/dist/types/cache/index.d.ts +7 -0
- package/dist/types/cache/memory-segment-store.d.ts +163 -0
- package/dist/types/cache/profile-registry.d.ts +40 -0
- package/dist/types/cache/read-through-swr.d.ts +60 -0
- package/dist/types/cache/segment-codec.d.ts +78 -0
- package/dist/types/cache/shell-snapshot.d.ts +173 -0
- package/dist/types/cache/tag-invalidation.d.ts +74 -0
- package/dist/types/cache/taint.d.ts +71 -0
- package/dist/types/cache/types.d.ts +418 -0
- package/dist/types/cache/vercel/index.d.ts +1 -0
- package/dist/types/cache/vercel/vercel-cache-store.d.ts +267 -0
- package/dist/types/client.d.ts +184 -0
- package/dist/types/client.rsc.d.ts +39 -0
- package/dist/types/cloudflare/index.d.ts +7 -0
- package/dist/types/cloudflare/tracing.d.ts +53 -0
- package/dist/types/component-utils.d.ts +46 -0
- package/dist/types/components/DefaultDocument.d.ts +13 -0
- package/dist/types/context-var.d.ts +84 -0
- package/dist/types/debug.d.ts +57 -0
- package/dist/types/decode-loader-results.d.ts +5 -0
- package/dist/types/default-error-boundary.d.ts +10 -0
- package/dist/types/defer.d.ts +89 -0
- package/dist/types/deps/browser.d.ts +1 -0
- package/dist/types/deps/html-stream-client.d.ts +1 -0
- package/dist/types/deps/html-stream-server.d.ts +1 -0
- package/dist/types/deps/rsc.d.ts +1 -0
- package/dist/types/deps/ssr.d.ts +1 -0
- package/dist/types/encode-kv.d.ts +35 -0
- package/dist/types/errors.d.ts +226 -0
- package/dist/types/escape-script.d.ts +44 -0
- package/dist/types/handle.d.ts +93 -0
- package/dist/types/handles/MetaTags.d.ts +17 -0
- package/dist/types/handles/Scripts.d.ts +38 -0
- package/dist/types/handles/breadcrumbs.d.ts +43 -0
- package/dist/types/handles/deferred-resolution.d.ts +53 -0
- package/dist/types/handles/is-thenable.d.ts +12 -0
- package/dist/types/handles/meta.d.ts +43 -0
- package/dist/types/handles/script.d.ts +139 -0
- package/dist/types/host/cookie-handler.d.ts +8 -0
- package/dist/types/host/errors.d.ts +40 -0
- package/dist/types/host/index.d.ts +33 -0
- package/dist/types/host/pattern-matcher.d.ts +30 -0
- package/dist/types/host/router.d.ts +12 -0
- package/dist/types/host/testing.d.ts +41 -0
- package/dist/types/host/types.d.ts +148 -0
- package/dist/types/host/utils.d.ts +20 -0
- package/dist/types/href-client.d.ts +214 -0
- package/dist/types/index.d.ts +112 -0
- package/dist/types/index.rsc.d.ts +51 -0
- package/dist/types/internal-debug.d.ts +1 -0
- package/dist/types/loader-store.d.ts +193 -0
- package/dist/types/loader.d.ts +18 -0
- package/dist/types/loader.rsc.d.ts +18 -0
- package/dist/types/missing-id-error.d.ts +1 -0
- package/dist/types/outlet-context.d.ts +12 -0
- package/dist/types/outlet-provider.d.ts +12 -0
- package/dist/types/prerender/build-shell-capture.d.ts +104 -0
- package/dist/types/prerender/param-hash.d.ts +6 -0
- package/dist/types/prerender/shell-manifest-key.d.ts +18 -0
- package/dist/types/prerender/store.d.ts +62 -0
- package/dist/types/prerender.d.ts +292 -0
- package/dist/types/redirect-origin.d.ts +67 -0
- package/dist/types/regex-escape.d.ts +6 -0
- package/dist/types/render-error-thrower.d.ts +13 -0
- package/dist/types/response-utils.d.ts +35 -0
- package/dist/types/reverse.d.ts +206 -0
- package/dist/types/root-error-boundary.d.ts +32 -0
- package/dist/types/route-content-wrapper.d.ts +40 -0
- package/dist/types/route-definition/dsl-helpers.d.ts +130 -0
- package/dist/types/route-definition/helper-factories.d.ts +22 -0
- package/dist/types/route-definition/helpers-types.d.ts +392 -0
- package/dist/types/route-definition/index.d.ts +7 -0
- package/dist/types/route-definition/redirect.d.ts +48 -0
- package/dist/types/route-definition/resolve-handler-use.d.ts +19 -0
- package/dist/types/route-definition/use-item-types.d.ts +1 -0
- package/dist/types/route-definition.d.ts +1 -0
- package/dist/types/route-map-builder.d.ts +127 -0
- package/dist/types/route-name.d.ts +27 -0
- package/dist/types/route-types.d.ts +172 -0
- package/dist/types/router/basename.d.ts +10 -0
- package/dist/types/router/content-negotiation.d.ts +91 -0
- package/dist/types/router/debug-manifest.d.ts +7 -0
- package/dist/types/router/error-handling.d.ts +76 -0
- package/dist/types/router/find-match.d.ts +19 -0
- package/dist/types/router/handler-context.d.ts +41 -0
- package/dist/types/router/instrument.d.ts +161 -0
- package/dist/types/router/intercept-resolution.d.ts +79 -0
- package/dist/types/router/lazy-includes.d.ts +26 -0
- package/dist/types/router/loader-resolution.d.ts +63 -0
- package/dist/types/router/logging.d.ts +41 -0
- package/dist/types/router/manifest.d.ts +8 -0
- package/dist/types/router/match-api.d.ts +19 -0
- package/dist/types/router/match-context.d.ts +184 -0
- package/dist/types/router/match-handlers.d.ts +49 -0
- package/dist/types/router/match-middleware/background-revalidation.d.ts +113 -0
- package/dist/types/router/match-middleware/cache-lookup.d.ts +113 -0
- package/dist/types/router/match-middleware/cache-store.d.ts +112 -0
- package/dist/types/router/match-middleware/index.d.ts +80 -0
- package/dist/types/router/match-middleware/intercept-resolution.d.ts +116 -0
- package/dist/types/router/match-middleware/segment-resolution.d.ts +94 -0
- package/dist/types/router/match-pipelines.d.ts +103 -0
- package/dist/types/router/match-result.d.ts +114 -0
- package/dist/types/router/metrics.d.ts +6 -0
- package/dist/types/router/middleware-types.d.ts +74 -0
- package/dist/types/router/middleware.d.ts +116 -0
- package/dist/types/router/navigation-snapshot.d.ts +22 -0
- package/dist/types/router/params-util.d.ts +8 -0
- package/dist/types/router/parse-pattern.d.ts +38 -0
- package/dist/types/router/pattern-matching.d.ts +169 -0
- package/dist/types/router/prefetch-cache-ttl.d.ts +27 -0
- package/dist/types/router/prefetch-limits.d.ts +20 -0
- package/dist/types/router/prerender-match.d.ts +50 -0
- package/dist/types/router/preview-match.d.ts +22 -0
- package/dist/types/router/request-classification.d.ts +104 -0
- package/dist/types/router/revalidation.d.ts +57 -0
- package/dist/types/router/route-snapshot.d.ts +112 -0
- package/dist/types/router/router-context.d.ts +137 -0
- package/dist/types/router/router-interfaces.d.ts +432 -0
- package/dist/types/router/router-options.d.ts +738 -0
- package/dist/types/router/router-registry.d.ts +15 -0
- package/dist/types/router/segment-resolution/fresh.d.ts +55 -0
- package/dist/types/router/segment-resolution/helpers.d.ts +93 -0
- package/dist/types/router/segment-resolution/loader-cache.d.ts +33 -0
- package/dist/types/router/segment-resolution/loader-mask.d.ts +44 -0
- package/dist/types/router/segment-resolution/loader-snapshot.d.ts +90 -0
- package/dist/types/router/segment-resolution/mask-nested.d.ts +53 -0
- package/dist/types/router/segment-resolution/revalidation.d.ts +85 -0
- package/dist/types/router/segment-resolution/static-store.d.ts +17 -0
- package/dist/types/router/segment-resolution/streamed-handler-telemetry.d.ts +16 -0
- package/dist/types/router/segment-resolution/view-transition-default.d.ts +28 -0
- package/dist/types/router/segment-resolution.d.ts +3 -0
- package/dist/types/router/segment-wrappers.d.ts +53 -0
- package/dist/types/router/state-cookie-name.d.ts +1 -0
- package/dist/types/router/substitute-pattern-params.d.ts +23 -0
- package/dist/types/router/telemetry-otel.d.ts +113 -0
- package/dist/types/router/telemetry.d.ts +216 -0
- package/dist/types/router/timeout.d.ts +96 -0
- package/dist/types/router/tracing.d.ts +125 -0
- package/dist/types/router/trie-matching.d.ts +32 -0
- package/dist/types/router/types.d.ts +98 -0
- package/dist/types/router/url-params.d.ts +26 -0
- package/dist/types/router.d.ts +7 -0
- package/dist/types/rsc/capture-queue.d.ts +6 -0
- package/dist/types/rsc/full-payload.d.ts +22 -0
- package/dist/types/rsc/handler-context.d.ts +31 -0
- package/dist/types/rsc/handler.d.ts +9 -0
- package/dist/types/rsc/helpers.d.ts +124 -0
- package/dist/types/rsc/index.d.ts +17 -0
- package/dist/types/rsc/json-route-result.d.ts +20 -0
- package/dist/types/rsc/loader-fetch.d.ts +14 -0
- package/dist/types/rsc/manifest-init.d.ts +18 -0
- package/dist/types/rsc/nonce.d.ts +28 -0
- package/dist/types/rsc/origin-guard.d.ts +50 -0
- package/dist/types/rsc/progressive-enhancement.d.ts +19 -0
- package/dist/types/rsc/redirect-guard.d.ts +37 -0
- package/dist/types/rsc/render-pipeline.d.ts +138 -0
- package/dist/types/rsc/response-cache-serve.d.ts +46 -0
- package/dist/types/rsc/response-error.d.ts +19 -0
- package/dist/types/rsc/response-route-handler.d.ts +29 -0
- package/dist/types/rsc/rsc-rendering.d.ts +23 -0
- package/dist/types/rsc/runtime-warnings.d.ts +22 -0
- package/dist/types/rsc/server-action.d.ts +68 -0
- package/dist/types/rsc/shell-build-manifest.d.ts +84 -0
- package/dist/types/rsc/shell-capture-constants.d.ts +27 -0
- package/dist/types/rsc/shell-capture.d.ts +374 -0
- package/dist/types/rsc/shell-serve.d.ts +174 -0
- package/dist/types/rsc/ssr-setup.d.ts +73 -0
- package/dist/types/rsc/transition-gate.d.ts +27 -0
- package/dist/types/rsc/types.d.ts +290 -0
- package/dist/types/runtime-env.d.ts +1 -0
- package/dist/types/search-params.d.ts +125 -0
- package/dist/types/segment-content-promise.d.ts +13 -0
- package/dist/types/segment-fragments.d.ts +56 -0
- package/dist/types/segment-loader-promise.d.ts +22 -0
- package/dist/types/segment-system.d.ts +84 -0
- package/dist/types/serialize.d.ts +164 -0
- package/dist/types/server/context.d.ts +494 -0
- package/dist/types/server/cookie-parse.d.ts +10 -0
- package/dist/types/server/cookie-store.d.ts +107 -0
- package/dist/types/server/fetchable-loader-store.d.ts +20 -0
- package/dist/types/server/handle-store.d.ts +100 -0
- package/dist/types/server/loader-registry.d.ts +32 -0
- package/dist/types/server/request-context.d.ts +618 -0
- package/dist/types/server/root-layout.d.ts +3 -0
- package/dist/types/server.d.ts +15 -0
- package/dist/types/ssr/index.d.ts +233 -0
- package/dist/types/ssr/inject-rsc-eager.d.ts +3 -0
- package/dist/types/ssr/preinit-client-references.d.ts +71 -0
- package/dist/types/ssr/ssr-root.d.ts +69 -0
- package/dist/types/static-handler.d.ts +57 -0
- package/dist/types/testing/cache-status.d.ts +63 -0
- package/dist/types/testing/collect-handle.d.ts +20 -0
- package/dist/types/testing/dispatch.d.ts +127 -0
- package/dist/types/testing/dom.entry.d.ts +15 -0
- package/dist/types/testing/e2e/fixture.d.ts +37 -0
- package/dist/types/testing/e2e/index.d.ts +31 -0
- package/dist/types/testing/e2e/matchers.d.ts +17 -0
- package/dist/types/testing/e2e/page-helpers.d.ts +62 -0
- package/dist/types/testing/e2e/parity.d.ts +111 -0
- package/dist/types/testing/e2e/server.d.ts +35 -0
- package/dist/types/testing/flight-matchers.d.ts +55 -0
- package/dist/types/testing/flight-normalize.d.ts +1 -0
- package/dist/types/testing/flight-tree.d.ts +192 -0
- package/dist/types/testing/flight.d.ts +115 -0
- package/dist/types/testing/flight.entry.d.ts +27 -0
- package/dist/types/testing/generated-routes.d.ts +66 -0
- package/dist/types/testing/index.d.ts +54 -0
- package/dist/types/testing/internal/context.d.ts +225 -0
- package/dist/types/testing/internal/flight-client-globals.d.ts +1 -0
- package/dist/types/testing/internal/seed-vars.d.ts +30 -0
- package/dist/types/testing/render-handler.d.ts +160 -0
- package/dist/types/testing/render-route.d.ts +246 -0
- package/dist/types/testing/run-loader.d.ts +186 -0
- package/dist/types/testing/run-middleware.d.ts +132 -0
- package/dist/types/testing/run-transition-when.d.ts +77 -0
- package/dist/types/testing/shell-status.d.ts +58 -0
- package/dist/types/testing/vitest-stubs/cloudflare-email.d.ts +6 -0
- package/dist/types/testing/vitest-stubs/cloudflare-workers.d.ts +13 -0
- package/dist/types/testing/vitest-stubs/plugin-rsc.d.ts +7 -0
- package/dist/types/testing/vitest-stubs/version.d.ts +1 -0
- package/dist/types/testing/vitest.d.ts +205 -0
- package/dist/types/theme/ThemeProvider.d.ts +13 -0
- package/dist/types/theme/ThemeScript.d.ts +45 -0
- package/dist/types/theme/constants.d.ts +39 -0
- package/dist/types/theme/index.d.ts +29 -0
- package/dist/types/theme/theme-context.d.ts +21 -0
- package/dist/types/theme/theme-script.d.ts +26 -0
- package/dist/types/theme/types.d.ts +162 -0
- package/dist/types/theme/use-theme.d.ts +8 -0
- package/dist/types/types/boundaries.d.ts +93 -0
- package/dist/types/types/cache-types.d.ts +191 -0
- package/dist/types/types/error-types.d.ts +114 -0
- package/dist/types/types/global-namespace.d.ts +90 -0
- package/dist/types/types/handler-context.d.ts +658 -0
- package/dist/types/types/index.d.ts +11 -0
- package/dist/types/types/loader-types.d.ts +182 -0
- package/dist/types/types/request-scope.d.ts +93 -0
- package/dist/types/types/route-config.d.ts +105 -0
- package/dist/types/types/route-entry.d.ts +95 -0
- package/dist/types/types/segments.d.ts +234 -0
- package/dist/types/types.d.ts +1 -0
- package/dist/types/urls/include-helper.d.ts +17 -0
- package/dist/types/urls/include-provider.d.ts +27 -0
- package/dist/types/urls/index.d.ts +6 -0
- package/dist/types/urls/path-helper-types.d.ts +197 -0
- package/dist/types/urls/path-helper.d.ts +12 -0
- package/dist/types/urls/pattern-types.d.ts +166 -0
- package/dist/types/urls/response-types.d.ts +67 -0
- package/dist/types/urls/type-extraction.d.ts +157 -0
- package/dist/types/urls/urls-function.d.ts +24 -0
- package/dist/types/urls.d.ts +1 -0
- package/dist/types/use-loader.d.ts +150 -0
- package/dist/types/vercel/index.d.ts +10 -0
- package/dist/types/vercel/tracing.d.ts +70 -0
- package/dist/types/vite/debug.d.ts +80 -0
- package/dist/types/vite/discovery/bundle-postprocess.d.ts +12 -0
- package/dist/types/vite/discovery/dev-prerender-cache.d.ts +65 -0
- package/dist/types/vite/discovery/discover-routers.d.ts +17 -0
- package/dist/types/vite/discovery/discovery-errors.d.ts +113 -0
- package/dist/types/vite/discovery/gate-state.d.ts +79 -0
- package/dist/types/vite/discovery/prerender-collection.d.ts +24 -0
- package/dist/types/vite/discovery/route-types-writer.d.ts +32 -0
- package/dist/types/vite/discovery/self-gen-tracking.d.ts +22 -0
- package/dist/types/vite/discovery/shell-prerender-phase.d.ts +40 -0
- package/dist/types/vite/discovery/state.d.ts +162 -0
- package/dist/types/vite/discovery/virtual-module-codegen.d.ts +15 -0
- package/dist/types/vite/index.d.ts +11 -0
- package/dist/types/vite/inject-client-debug.d.ts +56 -0
- package/dist/types/vite/plugin-types.d.ts +298 -0
- package/dist/types/vite/plugins/cjs-to-esm.d.ts +6 -0
- package/dist/types/vite/plugins/client-ref-dedup.d.ts +40 -0
- package/dist/types/vite/plugins/client-ref-hashing.d.ts +35 -0
- package/dist/types/vite/plugins/cloudflare-protocol-stub.d.ts +64 -0
- package/dist/types/vite/plugins/expose-action-id.d.ts +18 -0
- package/dist/types/vite/plugins/expose-id-utils.d.ts +37 -0
- package/dist/types/vite/plugins/expose-ids/export-analysis.d.ts +19 -0
- package/dist/types/vite/plugins/expose-ids/handler-transform.d.ts +10 -0
- package/dist/types/vite/plugins/expose-ids/loader-transform.d.ts +8 -0
- package/dist/types/vite/plugins/expose-ids/router-transform.d.ts +13 -0
- package/dist/types/vite/plugins/expose-ids/types.d.ts +29 -0
- package/dist/types/vite/plugins/expose-internal-ids.d.ts +6 -0
- package/dist/types/vite/plugins/performance-tracks.d.ts +25 -0
- package/dist/types/vite/plugins/refresh-cmd.d.ts +20 -0
- package/dist/types/vite/plugins/use-cache-transform.d.ts +20 -0
- package/dist/types/vite/plugins/vercel-output.d.ts +85 -0
- package/dist/types/vite/plugins/version-injector.d.ts +21 -0
- package/dist/types/vite/plugins/version-plugin.d.ts +19 -0
- package/dist/types/vite/plugins/virtual-entries.d.ts +36 -0
- package/dist/types/vite/plugins/virtual-stub-plugin.d.ts +7 -0
- package/dist/types/vite/rango.d.ts +29 -0
- package/dist/types/vite/router-discovery.d.ts +23 -0
- package/dist/types/vite/utils/ast-handler-extract.d.ts +64 -0
- package/dist/types/vite/utils/banner.d.ts +2 -0
- package/dist/types/vite/utils/bundle-analysis.d.ts +28 -0
- package/dist/types/vite/utils/client-chunks.d.ts +55 -0
- package/dist/types/vite/utils/directive-prologue.d.ts +16 -0
- package/dist/types/vite/utils/forward-user-plugins.d.ts +37 -0
- package/dist/types/vite/utils/manifest-utils.d.ts +7 -0
- package/dist/types/vite/utils/package-resolution.d.ts +6 -0
- package/dist/types/vite/utils/prerender-utils.d.ts +32 -0
- package/dist/types/vite/utils/shared-utils.d.ts +55 -0
- package/dist/vite/index.js +1051 -361
- package/package.json +39 -33
- package/skills/catalog.json +6 -0
- package/skills/cloudflare/SKILL.md +149 -0
- package/skills/cloudflare/agents/openai.yaml +4 -0
- package/skills/cloudflare/references/d1-and-local-dev.md +131 -0
- package/skills/cloudflare/references/streaming-and-deploy.md +107 -0
- package/skills/cloudflare/references/webhooks-and-crypto.md +147 -0
- package/skills/composability/SKILL.md +14 -0
- package/skills/debug-manifest/SKILL.md +2 -10
- package/skills/links/SKILL.md +12 -0
- package/skills/middleware/SKILL.md +33 -0
- package/skills/migrate-nextjs/SKILL.md +65 -16
- package/skills/migrate-nextjs/backend-host-swap.md +120 -0
- package/skills/migrate-react-router/SKILL.md +6 -6
- package/skills/mime-routes/SKILL.md +25 -17
- package/skills/ppr/SKILL.md +100 -15
- package/skills/prerender/SKILL.md +44 -1
- package/skills/rango/SKILL.md +10 -10
- package/skills/response-routes/SKILL.md +41 -4
- package/skills/route/SKILL.md +6 -0
- package/skills/testing/SKILL.md +1 -0
- package/skills/testing/cache-prerender.md +43 -2
- package/skills/testing/response-routes.md +2 -2
- package/src/browser/event-controller.ts +16 -2
- package/src/browser/rsc-router.tsx +11 -0
- package/src/build/generate-manifest.ts +5 -36
- package/src/build/route-trie.ts +5 -50
- package/src/cache/cache-key-utils.ts +0 -1
- package/src/cache/cache-scope.ts +41 -3
- package/src/cache/cf/cf-cache-store.ts +465 -56
- package/src/cache/cf/cf-cache-types.ts +66 -0
- package/src/cache/cf/cf-tag-marker-memo.ts +5 -2
- package/src/cache/cf/cf-zone-purge.ts +101 -0
- package/src/cache/cf/index.ts +5 -0
- package/src/cache/handle-snapshot.ts +22 -1
- package/src/cache/index.ts +2 -0
- package/src/cache/memory-segment-store.ts +32 -0
- package/src/cache/segment-codec.ts +47 -0
- package/src/cache/shell-snapshot.ts +79 -14
- package/src/cache/types.ts +38 -0
- package/src/cache/vercel/vercel-cache-store.ts +71 -2
- package/src/deps/ssr.ts +4 -1
- package/src/index.rsc.ts +7 -0
- package/src/index.ts +1 -0
- package/src/prerender/build-shell-capture.ts +447 -0
- package/src/prerender/shell-manifest-key.ts +20 -0
- package/src/prerender/store.ts +10 -1
- package/src/prerender.ts +3 -3
- package/src/redirect-origin.ts +37 -8
- package/src/route-map-builder.ts +8 -8
- package/src/router/content-negotiation.ts +47 -5
- package/src/router/handler-context.ts +18 -10
- package/src/router/intercept-resolution.ts +30 -1
- package/src/router/loader-resolution.ts +16 -0
- package/src/router/match-api.ts +9 -2
- package/src/router/match-middleware/cache-lookup.ts +12 -1
- package/src/router/metrics.ts +17 -2
- package/src/router/middleware-types.ts +17 -0
- package/src/router/middleware.ts +4 -0
- package/src/router/prerender-match.ts +28 -0
- package/src/router/router-interfaces.ts +7 -6
- package/src/router/router-options.ts +13 -8
- package/src/router/segment-resolution/fresh.ts +21 -2
- package/src/router/segment-resolution/helpers.ts +1 -1
- package/src/router/segment-resolution/loader-cache.ts +38 -7
- package/src/router/segment-resolution/mask-nested.ts +19 -3
- package/src/router/segment-resolution/revalidation.ts +9 -0
- package/src/router/telemetry-otel.ts +11 -0
- package/src/router/telemetry.ts +1 -0
- package/src/router/timeout.ts +41 -1
- package/src/router.ts +5 -4
- package/src/rsc/capture-queue.ts +67 -0
- package/src/rsc/handler.ts +151 -77
- package/src/rsc/helpers.ts +67 -4
- package/src/rsc/progressive-enhancement.ts +66 -54
- package/src/rsc/redirect-guard.ts +3 -1
- package/src/rsc/render-pipeline.ts +559 -0
- package/src/rsc/response-cache-serve.ts +39 -18
- package/src/rsc/response-route-handler.ts +9 -45
- package/src/rsc/rsc-rendering.ts +303 -103
- package/src/rsc/server-action.ts +50 -42
- package/src/rsc/shell-build-manifest.ts +316 -0
- package/src/rsc/shell-capture-constants.ts +27 -0
- package/src/rsc/shell-capture.ts +595 -69
- package/src/rsc/shell-serve.ts +133 -3
- package/src/rsc/ssr-setup.ts +102 -23
- package/src/segment-fragments.ts +124 -0
- package/src/server/context.ts +184 -8
- package/src/server/request-context.ts +297 -45
- package/src/ssr/index.tsx +167 -32
- package/src/ssr/preinit-client-references.ts +106 -0
- package/src/ssr/ssr-root.tsx +35 -2
- package/src/testing/dispatch.ts +132 -67
- package/src/testing/e2e/index.ts +8 -0
- package/src/testing/index.ts +9 -1
- package/src/testing/internal/context.ts +9 -0
- package/src/testing/render-handler.ts +15 -1
- package/src/testing/run-middleware.ts +14 -0
- package/src/testing/shell-status.ts +100 -0
- package/src/types/handler-context.ts +13 -2
- package/src/urls/path-helper-types.ts +1 -1
- package/src/urls/pattern-types.ts +29 -0
- package/src/vite/discovery/discover-routers.ts +71 -52
- package/src/vite/discovery/prerender-collection.ts +16 -0
- package/src/vite/discovery/shell-prerender-phase.ts +397 -0
- package/src/vite/discovery/state.ts +44 -0
- package/src/vite/discovery/virtual-module-codegen.ts +126 -20
- package/src/vite/index.ts +1 -0
- package/src/vite/plugin-types.ts +33 -0
- package/src/vite/plugins/version-plugin.ts +8 -0
- package/src/vite/plugins/virtual-entries.ts +37 -4
- package/src/vite/rango.ts +42 -2
- package/src/vite/router-discovery.ts +432 -21
- package/src/vite/utils/package-resolution.ts +1 -0
- package/src/vite/utils/prerender-utils.ts +25 -6
- package/src/vite/utils/shared-utils.ts +4 -2
- package/dist/__internal.d.ts +0 -83
- package/dist/__internal.d.ts.map +0 -1
- package/dist/__internal.js +0 -19
- package/dist/__internal.js.map +0 -1
- package/dist/__mocks__/version.d.ts +0 -7
- package/dist/__mocks__/version.d.ts.map +0 -1
- package/dist/__mocks__/version.js +0 -7
- package/dist/__mocks__/version.js.map +0 -1
- package/dist/__tests__/client-href.test.d.ts +0 -2
- package/dist/__tests__/client-href.test.d.ts.map +0 -1
- package/dist/__tests__/client-href.test.js +0 -74
- package/dist/__tests__/client-href.test.js.map +0 -1
- package/dist/__tests__/component-utils.test.d.ts +0 -2
- package/dist/__tests__/component-utils.test.d.ts.map +0 -1
- package/dist/__tests__/component-utils.test.js +0 -51
- package/dist/__tests__/component-utils.test.js.map +0 -1
- package/dist/__tests__/event-controller.test.d.ts +0 -2
- package/dist/__tests__/event-controller.test.d.ts.map +0 -1
- package/dist/__tests__/event-controller.test.js +0 -538
- package/dist/__tests__/event-controller.test.js.map +0 -1
- package/dist/__tests__/helpers/route-tree.d.ts +0 -118
- package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
- package/dist/__tests__/helpers/route-tree.js +0 -374
- package/dist/__tests__/helpers/route-tree.js.map +0 -1
- package/dist/__tests__/match-result.test.d.ts +0 -2
- package/dist/__tests__/match-result.test.d.ts.map +0 -1
- package/dist/__tests__/match-result.test.js +0 -154
- package/dist/__tests__/match-result.test.js.map +0 -1
- package/dist/__tests__/navigation-store.test.d.ts +0 -2
- package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
- package/dist/__tests__/navigation-store.test.js +0 -440
- package/dist/__tests__/navigation-store.test.js.map +0 -1
- package/dist/__tests__/partial-update.test.d.ts +0 -2
- package/dist/__tests__/partial-update.test.d.ts.map +0 -1
- package/dist/__tests__/partial-update.test.js +0 -1009
- package/dist/__tests__/partial-update.test.js.map +0 -1
- package/dist/__tests__/reverse-types.test.d.ts +0 -8
- package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
- package/dist/__tests__/reverse-types.test.js +0 -656
- package/dist/__tests__/reverse-types.test.js.map +0 -1
- package/dist/__tests__/route-definition.test.d.ts +0 -2
- package/dist/__tests__/route-definition.test.d.ts.map +0 -1
- package/dist/__tests__/route-definition.test.js +0 -55
- package/dist/__tests__/route-definition.test.js.map +0 -1
- package/dist/__tests__/router-helpers.test.d.ts +0 -2
- package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
- package/dist/__tests__/router-helpers.test.js +0 -377
- package/dist/__tests__/router-helpers.test.js.map +0 -1
- package/dist/__tests__/router-integration-2.test.d.ts +0 -2
- package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
- package/dist/__tests__/router-integration-2.test.js +0 -426
- package/dist/__tests__/router-integration-2.test.js.map +0 -1
- package/dist/__tests__/router-integration.test.d.ts +0 -2
- package/dist/__tests__/router-integration.test.d.ts.map +0 -1
- package/dist/__tests__/router-integration.test.js +0 -1051
- package/dist/__tests__/router-integration.test.js.map +0 -1
- package/dist/__tests__/search-params.test.d.ts +0 -5
- package/dist/__tests__/search-params.test.d.ts.map +0 -1
- package/dist/__tests__/search-params.test.js +0 -306
- package/dist/__tests__/search-params.test.js.map +0 -1
- package/dist/__tests__/segment-system.test.d.ts +0 -2
- package/dist/__tests__/segment-system.test.d.ts.map +0 -1
- package/dist/__tests__/segment-system.test.js +0 -627
- package/dist/__tests__/segment-system.test.js.map +0 -1
- package/dist/__tests__/static-handler-types.test.d.ts +0 -8
- package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
- package/dist/__tests__/static-handler-types.test.js +0 -63
- package/dist/__tests__/static-handler-types.test.js.map +0 -1
- package/dist/__tests__/urls.test.d.ts +0 -2
- package/dist/__tests__/urls.test.d.ts.map +0 -1
- package/dist/__tests__/urls.test.js +0 -421
- package/dist/__tests__/urls.test.js.map +0 -1
- package/dist/__tests__/use-mount.test.d.ts +0 -2
- package/dist/__tests__/use-mount.test.d.ts.map +0 -1
- package/dist/__tests__/use-mount.test.js +0 -35
- package/dist/__tests__/use-mount.test.js.map +0 -1
- package/dist/bin/rango.d.ts +0 -2
- package/dist/bin/rango.d.ts.map +0 -1
- package/dist/bin/rango.js.map +0 -1
- package/dist/browser/event-controller.d.ts +0 -191
- package/dist/browser/event-controller.d.ts.map +0 -1
- package/dist/browser/event-controller.js +0 -559
- package/dist/browser/event-controller.js.map +0 -1
- package/dist/browser/index.d.ts +0 -2
- package/dist/browser/index.d.ts.map +0 -1
- package/dist/browser/index.js +0 -14
- package/dist/browser/index.js.map +0 -1
- package/dist/browser/link-interceptor.d.ts +0 -38
- package/dist/browser/link-interceptor.d.ts.map +0 -1
- package/dist/browser/link-interceptor.js +0 -99
- package/dist/browser/link-interceptor.js.map +0 -1
- package/dist/browser/logging.d.ts +0 -10
- package/dist/browser/logging.d.ts.map +0 -1
- package/dist/browser/logging.js +0 -29
- package/dist/browser/logging.js.map +0 -1
- package/dist/browser/lru-cache.d.ts +0 -17
- package/dist/browser/lru-cache.d.ts.map +0 -1
- package/dist/browser/lru-cache.js +0 -50
- package/dist/browser/lru-cache.js.map +0 -1
- package/dist/browser/merge-segment-loaders.d.ts +0 -39
- package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
- package/dist/browser/merge-segment-loaders.js +0 -102
- package/dist/browser/merge-segment-loaders.js.map +0 -1
- package/dist/browser/navigation-bridge.d.ts +0 -102
- package/dist/browser/navigation-bridge.d.ts.map +0 -1
- package/dist/browser/navigation-bridge.js +0 -708
- package/dist/browser/navigation-bridge.js.map +0 -1
- package/dist/browser/navigation-client.d.ts +0 -25
- package/dist/browser/navigation-client.d.ts.map +0 -1
- package/dist/browser/navigation-client.js +0 -157
- package/dist/browser/navigation-client.js.map +0 -1
- package/dist/browser/navigation-store.d.ts +0 -101
- package/dist/browser/navigation-store.d.ts.map +0 -1
- package/dist/browser/navigation-store.js +0 -625
- package/dist/browser/navigation-store.js.map +0 -1
- package/dist/browser/partial-update.d.ts +0 -75
- package/dist/browser/partial-update.d.ts.map +0 -1
- package/dist/browser/partial-update.js +0 -426
- package/dist/browser/partial-update.js.map +0 -1
- package/dist/browser/react/Link.d.ts +0 -86
- package/dist/browser/react/Link.d.ts.map +0 -1
- package/dist/browser/react/Link.js +0 -128
- package/dist/browser/react/Link.js.map +0 -1
- package/dist/browser/react/NavigationProvider.d.ts +0 -63
- package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
- package/dist/browser/react/NavigationProvider.js +0 -216
- package/dist/browser/react/NavigationProvider.js.map +0 -1
- package/dist/browser/react/ScrollRestoration.d.ts +0 -75
- package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
- package/dist/browser/react/ScrollRestoration.js +0 -57
- package/dist/browser/react/ScrollRestoration.js.map +0 -1
- package/dist/browser/react/context.d.ts +0 -46
- package/dist/browser/react/context.d.ts.map +0 -1
- package/dist/browser/react/context.js +0 -10
- package/dist/browser/react/context.js.map +0 -1
- package/dist/browser/react/index.d.ts +0 -11
- package/dist/browser/react/index.d.ts.map +0 -1
- package/dist/browser/react/index.js +0 -22
- package/dist/browser/react/index.js.map +0 -1
- package/dist/browser/react/location-state-shared.d.ts +0 -63
- package/dist/browser/react/location-state-shared.d.ts.map +0 -1
- package/dist/browser/react/location-state-shared.js +0 -81
- package/dist/browser/react/location-state-shared.js.map +0 -1
- package/dist/browser/react/location-state.d.ts +0 -23
- package/dist/browser/react/location-state.d.ts.map +0 -1
- package/dist/browser/react/location-state.js +0 -29
- package/dist/browser/react/location-state.js.map +0 -1
- package/dist/browser/react/mount-context.d.ts +0 -24
- package/dist/browser/react/mount-context.d.ts.map +0 -1
- package/dist/browser/react/mount-context.js +0 -24
- package/dist/browser/react/mount-context.js.map +0 -1
- package/dist/browser/react/use-action.d.ts +0 -64
- package/dist/browser/react/use-action.d.ts.map +0 -1
- package/dist/browser/react/use-action.js +0 -134
- package/dist/browser/react/use-action.js.map +0 -1
- package/dist/browser/react/use-client-cache.d.ts +0 -41
- package/dist/browser/react/use-client-cache.d.ts.map +0 -1
- package/dist/browser/react/use-client-cache.js +0 -39
- package/dist/browser/react/use-client-cache.js.map +0 -1
- package/dist/browser/react/use-handle.d.ts +0 -31
- package/dist/browser/react/use-handle.d.ts.map +0 -1
- package/dist/browser/react/use-handle.js +0 -144
- package/dist/browser/react/use-handle.js.map +0 -1
- package/dist/browser/react/use-href.d.ts +0 -33
- package/dist/browser/react/use-href.d.ts.map +0 -1
- package/dist/browser/react/use-href.js +0 -39
- package/dist/browser/react/use-href.js.map +0 -1
- package/dist/browser/react/use-link-status.d.ts +0 -37
- package/dist/browser/react/use-link-status.d.ts.map +0 -1
- package/dist/browser/react/use-link-status.js +0 -99
- package/dist/browser/react/use-link-status.js.map +0 -1
- package/dist/browser/react/use-mount.d.ts +0 -25
- package/dist/browser/react/use-mount.d.ts.map +0 -1
- package/dist/browser/react/use-mount.js +0 -30
- package/dist/browser/react/use-mount.js.map +0 -1
- package/dist/browser/react/use-navigation.d.ts +0 -27
- package/dist/browser/react/use-navigation.d.ts.map +0 -1
- package/dist/browser/react/use-navigation.js +0 -87
- package/dist/browser/react/use-navigation.js.map +0 -1
- package/dist/browser/react/use-segments.d.ts +0 -38
- package/dist/browser/react/use-segments.d.ts.map +0 -1
- package/dist/browser/react/use-segments.js +0 -130
- package/dist/browser/react/use-segments.js.map +0 -1
- package/dist/browser/request-controller.d.ts +0 -26
- package/dist/browser/request-controller.d.ts.map +0 -1
- package/dist/browser/request-controller.js +0 -147
- package/dist/browser/request-controller.js.map +0 -1
- package/dist/browser/rsc-router.d.ts +0 -129
- package/dist/browser/rsc-router.d.ts.map +0 -1
- package/dist/browser/rsc-router.js +0 -195
- package/dist/browser/rsc-router.js.map +0 -1
- package/dist/browser/scroll-restoration.d.ts +0 -93
- package/dist/browser/scroll-restoration.d.ts.map +0 -1
- package/dist/browser/scroll-restoration.js +0 -321
- package/dist/browser/scroll-restoration.js.map +0 -1
- package/dist/browser/segment-structure-assert.d.ts +0 -17
- package/dist/browser/segment-structure-assert.d.ts.map +0 -1
- package/dist/browser/segment-structure-assert.js +0 -59
- package/dist/browser/segment-structure-assert.js.map +0 -1
- package/dist/browser/server-action-bridge.d.ts +0 -26
- package/dist/browser/server-action-bridge.d.ts.map +0 -1
- package/dist/browser/server-action-bridge.js +0 -668
- package/dist/browser/server-action-bridge.js.map +0 -1
- package/dist/browser/shallow.d.ts +0 -12
- package/dist/browser/shallow.d.ts.map +0 -1
- package/dist/browser/shallow.js +0 -34
- package/dist/browser/shallow.js.map +0 -1
- package/dist/browser/types.d.ts +0 -369
- package/dist/browser/types.d.ts.map +0 -1
- package/dist/browser/types.js +0 -2
- package/dist/browser/types.js.map +0 -1
- package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
- package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
- package/dist/build/__tests__/generate-cli.test.js +0 -237
- package/dist/build/__tests__/generate-cli.test.js.map +0 -1
- package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
- package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
- package/dist/build/__tests__/generate-manifest.test.js +0 -119
- package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
- package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
- package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
- package/dist/build/__tests__/generate-route-types.test.js +0 -620
- package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
- package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
- package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
- package/dist/build/__tests__/per-router-manifest.test.js +0 -308
- package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
- package/dist/build/generate-manifest.d.ts +0 -81
- package/dist/build/generate-manifest.d.ts.map +0 -1
- package/dist/build/generate-manifest.js +0 -276
- package/dist/build/generate-manifest.js.map +0 -1
- package/dist/build/generate-route-types.d.ts +0 -115
- package/dist/build/generate-route-types.d.ts.map +0 -1
- package/dist/build/generate-route-types.js +0 -740
- package/dist/build/generate-route-types.js.map +0 -1
- package/dist/build/index.d.ts +0 -21
- package/dist/build/index.d.ts.map +0 -1
- package/dist/build/index.js +0 -21
- package/dist/build/index.js.map +0 -1
- package/dist/build/route-trie.d.ts +0 -71
- package/dist/build/route-trie.d.ts.map +0 -1
- package/dist/build/route-trie.js +0 -175
- package/dist/build/route-trie.js.map +0 -1
- package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
- package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
- package/dist/cache/__tests__/cache-scope.test.js +0 -208
- package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
- package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
- package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
- package/dist/cache/__tests__/document-cache.test.js +0 -345
- package/dist/cache/__tests__/document-cache.test.js.map +0 -1
- package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
- package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
- package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
- package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
- package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
- package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
- package/dist/cache/__tests__/memory-store.test.js +0 -367
- package/dist/cache/__tests__/memory-store.test.js.map +0 -1
- package/dist/cache/cache-scope.d.ts +0 -102
- package/dist/cache/cache-scope.d.ts.map +0 -1
- package/dist/cache/cache-scope.js +0 -440
- package/dist/cache/cache-scope.js.map +0 -1
- package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
- package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
- package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
- package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
- package/dist/cache/cf/cf-cache-store.d.ts +0 -165
- package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
- package/dist/cache/cf/cf-cache-store.js +0 -242
- package/dist/cache/cf/cf-cache-store.js.map +0 -1
- package/dist/cache/cf/index.d.ts +0 -14
- package/dist/cache/cf/index.d.ts.map +0 -1
- package/dist/cache/cf/index.js +0 -17
- package/dist/cache/cf/index.js.map +0 -1
- package/dist/cache/document-cache.d.ts +0 -64
- package/dist/cache/document-cache.d.ts.map +0 -1
- package/dist/cache/document-cache.js +0 -228
- package/dist/cache/document-cache.js.map +0 -1
- package/dist/cache/index.d.ts +0 -19
- package/dist/cache/index.d.ts.map +0 -1
- package/dist/cache/index.js +0 -21
- package/dist/cache/index.js.map +0 -1
- package/dist/cache/memory-segment-store.d.ts +0 -110
- package/dist/cache/memory-segment-store.d.ts.map +0 -1
- package/dist/cache/memory-segment-store.js +0 -117
- package/dist/cache/memory-segment-store.js.map +0 -1
- package/dist/cache/memory-store.d.ts +0 -41
- package/dist/cache/memory-store.d.ts.map +0 -1
- package/dist/cache/memory-store.js +0 -191
- package/dist/cache/memory-store.js.map +0 -1
- package/dist/cache/types.d.ts +0 -317
- package/dist/cache/types.d.ts.map +0 -1
- package/dist/cache/types.js +0 -12
- package/dist/cache/types.js.map +0 -1
- package/dist/client.d.ts +0 -248
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -367
- package/dist/client.js.map +0 -1
- package/dist/client.rsc.d.ts +0 -26
- package/dist/client.rsc.d.ts.map +0 -1
- package/dist/client.rsc.js +0 -46
- package/dist/client.rsc.js.map +0 -1
- package/dist/component-utils.d.ts +0 -36
- package/dist/component-utils.d.ts.map +0 -1
- package/dist/component-utils.js +0 -61
- package/dist/component-utils.js.map +0 -1
- package/dist/components/DefaultDocument.d.ts +0 -13
- package/dist/components/DefaultDocument.d.ts.map +0 -1
- package/dist/components/DefaultDocument.js +0 -15
- package/dist/components/DefaultDocument.js.map +0 -1
- package/dist/debug.d.ts +0 -58
- package/dist/debug.d.ts.map +0 -1
- package/dist/debug.js +0 -157
- package/dist/debug.js.map +0 -1
- package/dist/default-error-boundary.d.ts +0 -11
- package/dist/default-error-boundary.d.ts.map +0 -1
- package/dist/default-error-boundary.js +0 -45
- package/dist/default-error-boundary.js.map +0 -1
- package/dist/deps/browser.d.ts +0 -2
- package/dist/deps/browser.d.ts.map +0 -1
- package/dist/deps/browser.js +0 -3
- package/dist/deps/browser.js.map +0 -1
- package/dist/deps/html-stream-client.d.ts +0 -2
- package/dist/deps/html-stream-client.d.ts.map +0 -1
- package/dist/deps/html-stream-client.js +0 -3
- package/dist/deps/html-stream-client.js.map +0 -1
- package/dist/deps/html-stream-server.d.ts +0 -2
- package/dist/deps/html-stream-server.d.ts.map +0 -1
- package/dist/deps/html-stream-server.js +0 -3
- package/dist/deps/html-stream-server.js.map +0 -1
- package/dist/deps/rsc.d.ts +0 -2
- package/dist/deps/rsc.d.ts.map +0 -1
- package/dist/deps/rsc.js +0 -4
- package/dist/deps/rsc.js.map +0 -1
- package/dist/deps/ssr.d.ts +0 -2
- package/dist/deps/ssr.d.ts.map +0 -1
- package/dist/deps/ssr.js +0 -3
- package/dist/deps/ssr.js.map +0 -1
- package/dist/errors.d.ts +0 -174
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -241
- package/dist/errors.js.map +0 -1
- package/dist/handle.d.ts +0 -78
- package/dist/handle.d.ts.map +0 -1
- package/dist/handle.js +0 -82
- package/dist/handle.js.map +0 -1
- package/dist/handles/MetaTags.d.ts +0 -14
- package/dist/handles/MetaTags.d.ts.map +0 -1
- package/dist/handles/MetaTags.js +0 -136
- package/dist/handles/MetaTags.js.map +0 -1
- package/dist/handles/index.d.ts +0 -6
- package/dist/handles/index.d.ts.map +0 -1
- package/dist/handles/index.js +0 -6
- package/dist/handles/index.js.map +0 -1
- package/dist/handles/meta.d.ts +0 -39
- package/dist/handles/meta.d.ts.map +0 -1
- package/dist/handles/meta.js +0 -202
- package/dist/handles/meta.js.map +0 -1
- package/dist/host/__tests__/errors.test.d.ts +0 -2
- package/dist/host/__tests__/errors.test.d.ts.map +0 -1
- package/dist/host/__tests__/errors.test.js +0 -76
- package/dist/host/__tests__/errors.test.js.map +0 -1
- package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
- package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
- package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
- package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
- package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
- package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
- package/dist/host/__tests__/pattern-matcher.test.js +0 -251
- package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
- package/dist/host/__tests__/router.test.d.ts +0 -2
- package/dist/host/__tests__/router.test.d.ts.map +0 -1
- package/dist/host/__tests__/router.test.js +0 -241
- package/dist/host/__tests__/router.test.js.map +0 -1
- package/dist/host/__tests__/testing.test.d.ts +0 -2
- package/dist/host/__tests__/testing.test.d.ts.map +0 -1
- package/dist/host/__tests__/testing.test.js +0 -64
- package/dist/host/__tests__/testing.test.js.map +0 -1
- package/dist/host/__tests__/utils.test.d.ts +0 -2
- package/dist/host/__tests__/utils.test.d.ts.map +0 -1
- package/dist/host/__tests__/utils.test.js +0 -29
- package/dist/host/__tests__/utils.test.js.map +0 -1
- package/dist/host/cookie-handler.d.ts +0 -34
- package/dist/host/cookie-handler.d.ts.map +0 -1
- package/dist/host/cookie-handler.js +0 -124
- package/dist/host/cookie-handler.js.map +0 -1
- package/dist/host/errors.d.ts +0 -56
- package/dist/host/errors.d.ts.map +0 -1
- package/dist/host/errors.js +0 -79
- package/dist/host/errors.js.map +0 -1
- package/dist/host/index.d.ts +0 -29
- package/dist/host/index.d.ts.map +0 -1
- package/dist/host/index.js +0 -32
- package/dist/host/index.js.map +0 -1
- package/dist/host/pattern-matcher.d.ts +0 -36
- package/dist/host/pattern-matcher.d.ts.map +0 -1
- package/dist/host/pattern-matcher.js +0 -172
- package/dist/host/pattern-matcher.js.map +0 -1
- package/dist/host/router.d.ts +0 -26
- package/dist/host/router.d.ts.map +0 -1
- package/dist/host/router.js +0 -218
- package/dist/host/router.js.map +0 -1
- package/dist/host/testing.d.ts +0 -36
- package/dist/host/testing.d.ts.map +0 -1
- package/dist/host/testing.js +0 -55
- package/dist/host/testing.js.map +0 -1
- package/dist/host/types.d.ts +0 -115
- package/dist/host/types.d.ts.map +0 -1
- package/dist/host/types.js +0 -7
- package/dist/host/types.js.map +0 -1
- package/dist/host/utils.d.ts +0 -21
- package/dist/host/utils.d.ts.map +0 -1
- package/dist/host/utils.js +0 -23
- package/dist/host/utils.js.map +0 -1
- package/dist/href-client.d.ts +0 -131
- package/dist/href-client.d.ts.map +0 -1
- package/dist/href-client.js +0 -64
- package/dist/href-client.js.map +0 -1
- package/dist/href-context.d.ts +0 -29
- package/dist/href-context.d.ts.map +0 -1
- package/dist/href-context.js +0 -21
- package/dist/href-context.js.map +0 -1
- package/dist/index.d.ts +0 -73
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -91
- package/dist/index.js.map +0 -1
- package/dist/index.rsc.d.ts +0 -32
- package/dist/index.rsc.d.ts.map +0 -1
- package/dist/index.rsc.js +0 -40
- package/dist/index.rsc.js.map +0 -1
- package/dist/internal-debug.d.ts +0 -2
- package/dist/internal-debug.d.ts.map +0 -1
- package/dist/internal-debug.js +0 -5
- package/dist/internal-debug.js.map +0 -1
- package/dist/loader.d.ts +0 -14
- package/dist/loader.d.ts.map +0 -1
- package/dist/loader.js +0 -20
- package/dist/loader.js.map +0 -1
- package/dist/loader.rsc.d.ts +0 -19
- package/dist/loader.rsc.d.ts.map +0 -1
- package/dist/loader.rsc.js +0 -99
- package/dist/loader.rsc.js.map +0 -1
- package/dist/network-error-thrower.d.ts +0 -17
- package/dist/network-error-thrower.d.ts.map +0 -1
- package/dist/network-error-thrower.js +0 -14
- package/dist/network-error-thrower.js.map +0 -1
- package/dist/outlet-context.d.ts +0 -13
- package/dist/outlet-context.d.ts.map +0 -1
- package/dist/outlet-context.js +0 -3
- package/dist/outlet-context.js.map +0 -1
- package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
- package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
- package/dist/prerender/__tests__/param-hash.test.js +0 -148
- package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
- package/dist/prerender/param-hash.d.ts +0 -16
- package/dist/prerender/param-hash.d.ts.map +0 -1
- package/dist/prerender/param-hash.js +0 -36
- package/dist/prerender/param-hash.js.map +0 -1
- package/dist/prerender/store.d.ts +0 -38
- package/dist/prerender/store.d.ts.map +0 -1
- package/dist/prerender/store.js +0 -61
- package/dist/prerender/store.js.map +0 -1
- package/dist/prerender.d.ts +0 -66
- package/dist/prerender.d.ts.map +0 -1
- package/dist/prerender.js +0 -57
- package/dist/prerender.js.map +0 -1
- package/dist/reverse.d.ts +0 -196
- package/dist/reverse.d.ts.map +0 -1
- package/dist/reverse.js +0 -78
- package/dist/reverse.js.map +0 -1
- package/dist/root-error-boundary.d.ts +0 -33
- package/dist/root-error-boundary.d.ts.map +0 -1
- package/dist/root-error-boundary.js +0 -165
- package/dist/root-error-boundary.js.map +0 -1
- package/dist/route-content-wrapper.d.ts +0 -46
- package/dist/route-content-wrapper.d.ts.map +0 -1
- package/dist/route-content-wrapper.js +0 -77
- package/dist/route-content-wrapper.js.map +0 -1
- package/dist/route-definition.d.ts +0 -421
- package/dist/route-definition.d.ts.map +0 -1
- package/dist/route-definition.js +0 -868
- package/dist/route-definition.js.map +0 -1
- package/dist/route-map-builder.d.ts +0 -155
- package/dist/route-map-builder.d.ts.map +0 -1
- package/dist/route-map-builder.js +0 -237
- package/dist/route-map-builder.js.map +0 -1
- package/dist/route-types.d.ts +0 -165
- package/dist/route-types.d.ts.map +0 -1
- package/dist/route-types.js +0 -7
- package/dist/route-types.js.map +0 -1
- package/dist/router/__tests__/handler-context.test.d.ts +0 -2
- package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
- package/dist/router/__tests__/handler-context.test.js +0 -65
- package/dist/router/__tests__/handler-context.test.js.map +0 -1
- package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
- package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
- package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
- package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
- package/dist/router/__tests__/match-context.test.d.ts +0 -2
- package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
- package/dist/router/__tests__/match-context.test.js +0 -92
- package/dist/router/__tests__/match-context.test.js.map +0 -1
- package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
- package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
- package/dist/router/__tests__/match-pipelines.test.js +0 -417
- package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
- package/dist/router/__tests__/match-result.test.d.ts +0 -2
- package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
- package/dist/router/__tests__/match-result.test.js +0 -457
- package/dist/router/__tests__/match-result.test.js.map +0 -1
- package/dist/router/__tests__/on-error.test.d.ts +0 -2
- package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
- package/dist/router/__tests__/on-error.test.js +0 -678
- package/dist/router/__tests__/on-error.test.js.map +0 -1
- package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
- package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
- package/dist/router/__tests__/pattern-matching.test.js +0 -629
- package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
- package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
- package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
- package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
- package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
- package/dist/router/error-handling.d.ts +0 -77
- package/dist/router/error-handling.d.ts.map +0 -1
- package/dist/router/error-handling.js +0 -202
- package/dist/router/error-handling.js.map +0 -1
- package/dist/router/handler-context.d.ts +0 -20
- package/dist/router/handler-context.d.ts.map +0 -1
- package/dist/router/handler-context.js +0 -198
- package/dist/router/handler-context.js.map +0 -1
- package/dist/router/intercept-resolution.d.ts +0 -66
- package/dist/router/intercept-resolution.d.ts.map +0 -1
- package/dist/router/intercept-resolution.js +0 -246
- package/dist/router/intercept-resolution.js.map +0 -1
- package/dist/router/loader-resolution.d.ts +0 -64
- package/dist/router/loader-resolution.d.ts.map +0 -1
- package/dist/router/loader-resolution.js +0 -284
- package/dist/router/loader-resolution.js.map +0 -1
- package/dist/router/logging.d.ts +0 -15
- package/dist/router/logging.d.ts.map +0 -1
- package/dist/router/logging.js +0 -99
- package/dist/router/logging.js.map +0 -1
- package/dist/router/manifest.d.ts +0 -22
- package/dist/router/manifest.d.ts.map +0 -1
- package/dist/router/manifest.js +0 -181
- package/dist/router/manifest.js.map +0 -1
- package/dist/router/match-api.d.ts +0 -35
- package/dist/router/match-api.d.ts.map +0 -1
- package/dist/router/match-api.js +0 -406
- package/dist/router/match-api.js.map +0 -1
- package/dist/router/match-context.d.ts +0 -206
- package/dist/router/match-context.d.ts.map +0 -1
- package/dist/router/match-context.js +0 -17
- package/dist/router/match-context.js.map +0 -1
- package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
- package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
- package/dist/router/match-middleware/background-revalidation.js +0 -75
- package/dist/router/match-middleware/background-revalidation.js.map +0 -1
- package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
- package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
- package/dist/router/match-middleware/cache-lookup.js +0 -257
- package/dist/router/match-middleware/cache-lookup.js.map +0 -1
- package/dist/router/match-middleware/cache-store.d.ts +0 -113
- package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
- package/dist/router/match-middleware/cache-store.js +0 -108
- package/dist/router/match-middleware/cache-store.js.map +0 -1
- package/dist/router/match-middleware/index.d.ts +0 -81
- package/dist/router/match-middleware/index.d.ts.map +0 -1
- package/dist/router/match-middleware/index.js +0 -80
- package/dist/router/match-middleware/index.js.map +0 -1
- package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
- package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
- package/dist/router/match-middleware/intercept-resolution.js +0 -134
- package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
- package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
- package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
- package/dist/router/match-middleware/segment-resolution.js +0 -53
- package/dist/router/match-middleware/segment-resolution.js.map +0 -1
- package/dist/router/match-pipelines.d.ts +0 -147
- package/dist/router/match-pipelines.d.ts.map +0 -1
- package/dist/router/match-pipelines.js +0 -82
- package/dist/router/match-pipelines.js.map +0 -1
- package/dist/router/match-result.d.ts +0 -126
- package/dist/router/match-result.d.ts.map +0 -1
- package/dist/router/match-result.js +0 -93
- package/dist/router/match-result.js.map +0 -1
- package/dist/router/metrics.d.ts +0 -20
- package/dist/router/metrics.d.ts.map +0 -1
- package/dist/router/metrics.js +0 -47
- package/dist/router/metrics.js.map +0 -1
- package/dist/router/middleware.d.ts +0 -249
- package/dist/router/middleware.d.ts.map +0 -1
- package/dist/router/middleware.js +0 -434
- package/dist/router/middleware.js.map +0 -1
- package/dist/router/middleware.test.d.ts +0 -2
- package/dist/router/middleware.test.d.ts.map +0 -1
- package/dist/router/middleware.test.js +0 -816
- package/dist/router/middleware.test.js.map +0 -1
- package/dist/router/pattern-matching.d.ts +0 -149
- package/dist/router/pattern-matching.d.ts.map +0 -1
- package/dist/router/pattern-matching.js +0 -349
- package/dist/router/pattern-matching.js.map +0 -1
- package/dist/router/revalidation.d.ts +0 -44
- package/dist/router/revalidation.d.ts.map +0 -1
- package/dist/router/revalidation.js +0 -147
- package/dist/router/revalidation.js.map +0 -1
- package/dist/router/router-context.d.ts +0 -135
- package/dist/router/router-context.d.ts.map +0 -1
- package/dist/router/router-context.js +0 -36
- package/dist/router/router-context.js.map +0 -1
- package/dist/router/segment-resolution.d.ts +0 -127
- package/dist/router/segment-resolution.d.ts.map +0 -1
- package/dist/router/segment-resolution.js +0 -919
- package/dist/router/segment-resolution.js.map +0 -1
- package/dist/router/trie-matching.d.ts +0 -40
- package/dist/router/trie-matching.d.ts.map +0 -1
- package/dist/router/trie-matching.js +0 -127
- package/dist/router/trie-matching.js.map +0 -1
- package/dist/router/types.d.ts +0 -136
- package/dist/router/types.d.ts.map +0 -1
- package/dist/router/types.js +0 -7
- package/dist/router/types.js.map +0 -1
- package/dist/router.d.ts +0 -753
- package/dist/router.d.ts.map +0 -1
- package/dist/router.gen.d.ts +0 -6
- package/dist/router.gen.d.ts.map +0 -1
- package/dist/router.gen.js +0 -6
- package/dist/router.gen.js.map +0 -1
- package/dist/router.js +0 -1304
- package/dist/router.js.map +0 -1
- package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
- package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
- package/dist/rsc/__tests__/helpers.test.js +0 -140
- package/dist/rsc/__tests__/helpers.test.js.map +0 -1
- package/dist/rsc/handler.d.ts +0 -45
- package/dist/rsc/handler.d.ts.map +0 -1
- package/dist/rsc/handler.js +0 -1172
- package/dist/rsc/handler.js.map +0 -1
- package/dist/rsc/helpers.d.ts +0 -16
- package/dist/rsc/helpers.d.ts.map +0 -1
- package/dist/rsc/helpers.js +0 -55
- package/dist/rsc/helpers.js.map +0 -1
- package/dist/rsc/index.d.ts +0 -22
- package/dist/rsc/index.d.ts.map +0 -1
- package/dist/rsc/index.js +0 -23
- package/dist/rsc/index.js.map +0 -1
- package/dist/rsc/nonce.d.ts +0 -9
- package/dist/rsc/nonce.d.ts.map +0 -1
- package/dist/rsc/nonce.js +0 -18
- package/dist/rsc/nonce.js.map +0 -1
- package/dist/rsc/types.d.ts +0 -206
- package/dist/rsc/types.d.ts.map +0 -1
- package/dist/rsc/types.js +0 -8
- package/dist/rsc/types.js.map +0 -1
- package/dist/search-params.d.ts +0 -103
- package/dist/search-params.d.ts.map +0 -1
- package/dist/search-params.js +0 -74
- package/dist/search-params.js.map +0 -1
- package/dist/segment-system.d.ts +0 -75
- package/dist/segment-system.d.ts.map +0 -1
- package/dist/segment-system.js +0 -336
- package/dist/segment-system.js.map +0 -1
- package/dist/server/context.d.ts +0 -245
- package/dist/server/context.d.ts.map +0 -1
- package/dist/server/context.js +0 -197
- package/dist/server/context.js.map +0 -1
- package/dist/server/fetchable-loader-store.d.ts +0 -18
- package/dist/server/fetchable-loader-store.d.ts.map +0 -1
- package/dist/server/fetchable-loader-store.js +0 -18
- package/dist/server/fetchable-loader-store.js.map +0 -1
- package/dist/server/handle-store.d.ts +0 -85
- package/dist/server/handle-store.d.ts.map +0 -1
- package/dist/server/handle-store.js +0 -142
- package/dist/server/handle-store.js.map +0 -1
- package/dist/server/loader-registry.d.ts +0 -55
- package/dist/server/loader-registry.d.ts.map +0 -1
- package/dist/server/loader-registry.js +0 -132
- package/dist/server/loader-registry.js.map +0 -1
- package/dist/server/request-context.d.ts +0 -226
- package/dist/server/request-context.d.ts.map +0 -1
- package/dist/server/request-context.js +0 -290
- package/dist/server/request-context.js.map +0 -1
- package/dist/server/root-layout.d.ts +0 -4
- package/dist/server/root-layout.d.ts.map +0 -1
- package/dist/server/root-layout.js +0 -5
- package/dist/server/root-layout.js.map +0 -1
- package/dist/server.d.ts +0 -15
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js +0 -20
- package/dist/server.js.map +0 -1
- package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
- package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
- package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
- package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
- package/dist/ssr/index.d.ts +0 -98
- package/dist/ssr/index.d.ts.map +0 -1
- package/dist/ssr/index.js +0 -158
- package/dist/ssr/index.js.map +0 -1
- package/dist/static-handler.d.ts +0 -50
- package/dist/static-handler.d.ts.map +0 -1
- package/dist/static-handler.gen.d.ts +0 -5
- package/dist/static-handler.gen.d.ts.map +0 -1
- package/dist/static-handler.gen.js +0 -5
- package/dist/static-handler.gen.js.map +0 -1
- package/dist/static-handler.js +0 -29
- package/dist/static-handler.js.map +0 -1
- package/dist/theme/ThemeProvider.d.ts +0 -20
- package/dist/theme/ThemeProvider.d.ts.map +0 -1
- package/dist/theme/ThemeProvider.js +0 -240
- package/dist/theme/ThemeProvider.js.map +0 -1
- package/dist/theme/ThemeScript.d.ts +0 -48
- package/dist/theme/ThemeScript.d.ts.map +0 -1
- package/dist/theme/ThemeScript.js +0 -13
- package/dist/theme/ThemeScript.js.map +0 -1
- package/dist/theme/__tests__/theme.test.d.ts +0 -2
- package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
- package/dist/theme/__tests__/theme.test.js +0 -103
- package/dist/theme/__tests__/theme.test.js.map +0 -1
- package/dist/theme/constants.d.ts +0 -29
- package/dist/theme/constants.d.ts.map +0 -1
- package/dist/theme/constants.js +0 -48
- package/dist/theme/constants.js.map +0 -1
- package/dist/theme/index.d.ts +0 -31
- package/dist/theme/index.d.ts.map +0 -1
- package/dist/theme/index.js +0 -36
- package/dist/theme/index.js.map +0 -1
- package/dist/theme/theme-context.d.ts +0 -40
- package/dist/theme/theme-context.d.ts.map +0 -1
- package/dist/theme/theme-context.js +0 -60
- package/dist/theme/theme-context.js.map +0 -1
- package/dist/theme/theme-script.d.ts +0 -27
- package/dist/theme/theme-script.d.ts.map +0 -1
- package/dist/theme/theme-script.js +0 -147
- package/dist/theme/theme-script.js.map +0 -1
- package/dist/theme/types.d.ts +0 -163
- package/dist/theme/types.d.ts.map +0 -1
- package/dist/theme/types.js +0 -11
- package/dist/theme/types.js.map +0 -1
- package/dist/theme/use-theme.d.ts +0 -12
- package/dist/theme/use-theme.d.ts.map +0 -1
- package/dist/theme/use-theme.js +0 -40
- package/dist/theme/use-theme.js.map +0 -1
- package/dist/types.d.ts +0 -1479
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -10
- package/dist/types.js.map +0 -1
- package/dist/urls.d.ts +0 -441
- package/dist/urls.d.ts.map +0 -1
- package/dist/urls.gen.d.ts +0 -8
- package/dist/urls.gen.d.ts.map +0 -1
- package/dist/urls.gen.js +0 -8
- package/dist/urls.gen.js.map +0 -1
- package/dist/urls.js +0 -443
- package/dist/urls.js.map +0 -1
- package/dist/use-loader.d.ts +0 -127
- package/dist/use-loader.d.ts.map +0 -1
- package/dist/use-loader.js +0 -237
- package/dist/use-loader.js.map +0 -1
- package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
- package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
- package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
- package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
- package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
- package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
- package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
- package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
- package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
- package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
- package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
- package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
- package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
- package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
- package/dist/vite/__tests__/expose-router-id.test.js +0 -39
- package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
- package/dist/vite/ast-handler-extract.d.ts +0 -49
- package/dist/vite/ast-handler-extract.d.ts.map +0 -1
- package/dist/vite/ast-handler-extract.js +0 -249
- package/dist/vite/ast-handler-extract.js.map +0 -1
- package/dist/vite/expose-action-id.d.ts +0 -19
- package/dist/vite/expose-action-id.d.ts.map +0 -1
- package/dist/vite/expose-action-id.js +0 -250
- package/dist/vite/expose-action-id.js.map +0 -1
- package/dist/vite/expose-id-utils.d.ts +0 -69
- package/dist/vite/expose-id-utils.d.ts.map +0 -1
- package/dist/vite/expose-id-utils.js +0 -289
- package/dist/vite/expose-id-utils.js.map +0 -1
- package/dist/vite/expose-internal-ids.d.ts +0 -22
- package/dist/vite/expose-internal-ids.d.ts.map +0 -1
- package/dist/vite/expose-internal-ids.js +0 -886
- package/dist/vite/expose-internal-ids.js.map +0 -1
- package/dist/vite/index.d.ts +0 -149
- package/dist/vite/index.d.ts.map +0 -1
- package/dist/vite/index.js.bak +0 -5448
- package/dist/vite/index.js.map +0 -1
- package/dist/vite/index.named-routes.gen.ts +0 -103
- package/dist/vite/package-resolution.d.ts +0 -43
- package/dist/vite/package-resolution.d.ts.map +0 -1
- package/dist/vite/package-resolution.js +0 -112
- package/dist/vite/package-resolution.js.map +0 -1
- package/dist/vite/virtual-entries.d.ts +0 -25
- package/dist/vite/virtual-entries.d.ts.map +0 -1
- package/dist/vite/virtual-entries.js +0 -110
- package/dist/vite/virtual-entries.js.map +0 -1
- package/skills/migrate-react-router/cloudflare-workers.md +0 -129
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vercel Runtime Cache Store
|
|
3
|
+
*
|
|
4
|
+
* A SegmentCacheStore backed by Vercel's Runtime Cache (`getCache()` from
|
|
5
|
+
* `@vercel/functions`). It is the production store analogue to CFCacheStore, but
|
|
6
|
+
* far smaller: Vercel's Runtime Cache already IS a distributed, tag-aware cache
|
|
7
|
+
* (regional storage, global tag-expire within ~300ms), so none of CFCacheStore's
|
|
8
|
+
* L1/L2 tiering, KV tag-marker comparison, marker memoization, or per-tier
|
|
9
|
+
* timeout budgets are needed here - the platform does that work. What this store
|
|
10
|
+
* adds on top of the raw primitive is the parts Vercel does NOT give us:
|
|
11
|
+
*
|
|
12
|
+
* 1. Stale-while-revalidate. `getCache` has no stale-but-serve: a TTL'd entry
|
|
13
|
+
* simply becomes a miss. We store our own {staleAt, expiresAt} envelope and
|
|
14
|
+
* set the Vercel ttl to (ttl + swr) so the entry survives its SWR window,
|
|
15
|
+
* computing staleness ourselves via the shared cache-policy helpers.
|
|
16
|
+
* 2. A single-keyspace family split. `getCache` is one flat keyspace, whereas
|
|
17
|
+
* the interface has three value families (segments, "use cache" items, full
|
|
18
|
+
* responses). The memory store keeps three separate Maps; here they must be
|
|
19
|
+
* namespaced by a prefix or a set() of a response would clobber a segment
|
|
20
|
+
* cached under the same router key.
|
|
21
|
+
* 3. The platform guardrails: the 2 MB per-item ceiling (oversized writes
|
|
22
|
+
* silently no-op on Vercel, so we skip + report), the per-item tag cap, and
|
|
23
|
+
* cross-deploy non-reconciliation (TTL/tag updates are not reconciled across
|
|
24
|
+
* deployments - bake a build id into `version` or the getCache namespace).
|
|
25
|
+
*
|
|
26
|
+
* Dependency stance: this module imports NOTHING from `@vercel/functions`. The
|
|
27
|
+
* runtime cache handle (and `waitUntil`) are injected through the constructor and
|
|
28
|
+
* typed against the local VercelRuntimeCache shape below, exactly as CFCacheStore
|
|
29
|
+
* takes its `kv`/`ctx` bindings by injection. The consumer passes the real
|
|
30
|
+
* `getCache(...)` result, which satisfies the shape structurally. That keeps the
|
|
31
|
+
* router free of a hard Vercel dependency.
|
|
32
|
+
*/
|
|
33
|
+
import type { SegmentCacheStore, CachedEntryData, CacheDefaults, CacheGetResult, CacheItemResult, CacheItemOptions, ShellCacheEntry } from "../types.js";
|
|
34
|
+
import type { RequestContext } from "../../server/request-context.js";
|
|
35
|
+
/**
|
|
36
|
+
* Minimal structural shape of the Vercel Runtime Cache returned by `getCache()`
|
|
37
|
+
* from `@vercel/functions`. Declared locally so @rangojs/router carries no hard
|
|
38
|
+
* dependency on `@vercel/functions`; the real handle satisfies it structurally.
|
|
39
|
+
*
|
|
40
|
+
* @see https://vercel.com/docs/functions/functions-api-reference/vercel-functions-package#getcache
|
|
41
|
+
*/
|
|
42
|
+
export interface VercelRuntimeCache {
|
|
43
|
+
/** Returns the stored value, or a nullish value on miss. Never throws on miss. */
|
|
44
|
+
get(key: string): Promise<unknown>;
|
|
45
|
+
/** Stores a value with optional TTL (seconds), tags, and observability name. */
|
|
46
|
+
set(key: string, value: unknown, options?: {
|
|
47
|
+
ttl?: number;
|
|
48
|
+
tags?: string[];
|
|
49
|
+
name?: string;
|
|
50
|
+
}): Promise<void>;
|
|
51
|
+
/** Removes a value by key. */
|
|
52
|
+
delete(key: string): Promise<void>;
|
|
53
|
+
/** Expires every entry tagged with any of `tag`. Global, ~300ms propagation. */
|
|
54
|
+
expireTag(tag: string | string[]): Promise<void>;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Vercel Runtime Cache hard per-item ceiling: 2 MB. Writes above this silently
|
|
58
|
+
* no-op on the platform, so the store measures the serialized envelope and skips
|
|
59
|
+
* (fail-open) entries at or above this size.
|
|
60
|
+
*/
|
|
61
|
+
export declare const VERCEL_MAX_ITEM_BYTES: number;
|
|
62
|
+
/**
|
|
63
|
+
* Per-item tag ceiling. Vercel's getCache API reference lists 128 tags per item
|
|
64
|
+
* (https://vercel.com/docs/functions/functions-api-reference/vercel-functions-package#getcache).
|
|
65
|
+
* Tags beyond this are dropped with a warning at write time. Does NOT cap
|
|
66
|
+
* invalidateTags() - an invalidation must reach every requested tag.
|
|
67
|
+
*/
|
|
68
|
+
export declare const VERCEL_MAX_TAGS_PER_ITEM: number;
|
|
69
|
+
/** Max tag length in UTF-8 bytes accepted by Vercel; longer tags are skipped. */
|
|
70
|
+
export declare const VERCEL_MAX_TAG_BYTES: number;
|
|
71
|
+
/** Read-path outcome for the debug sink. */
|
|
72
|
+
export type VercelCacheReadOutcome = "miss" | "fresh" | "stale-revalidate" | "expired" | "corrupt" | "error";
|
|
73
|
+
/** Diagnostic event emitted on every read when `debug` is set. */
|
|
74
|
+
export interface VercelCacheReadDebugEvent {
|
|
75
|
+
op: "get" | "getItem" | "getResponse" | "getShell";
|
|
76
|
+
key: string;
|
|
77
|
+
outcome: VercelCacheReadOutcome;
|
|
78
|
+
staleAt?: number;
|
|
79
|
+
expiresAt?: number;
|
|
80
|
+
shouldRevalidate?: boolean;
|
|
81
|
+
/** Wall-clock ms spent in the backing cache.get(). */
|
|
82
|
+
readMs?: number;
|
|
83
|
+
}
|
|
84
|
+
/** `true` logs each read outcome; a function receives the structured event. */
|
|
85
|
+
export type VercelCacheDebug = boolean | ((event: VercelCacheReadDebugEvent) => void);
|
|
86
|
+
/**
|
|
87
|
+
* Options for VercelCacheStore.
|
|
88
|
+
*/
|
|
89
|
+
export interface VercelCacheStoreOptions<TEnv = unknown> {
|
|
90
|
+
/**
|
|
91
|
+
* The Vercel Runtime Cache handle - `getCache()` from `@vercel/functions`.
|
|
92
|
+
* Required. Construct it with a build-hash namespace to bust stale-shaped
|
|
93
|
+
* entries across deployments, since Vercel does not reconcile TTL/tags between
|
|
94
|
+
* deploys:
|
|
95
|
+
*
|
|
96
|
+
* ```ts
|
|
97
|
+
* import { getCache } from "@vercel/functions";
|
|
98
|
+
* new VercelCacheStore({ cache: getCache({ namespace: BUILD_ID }) });
|
|
99
|
+
* ```
|
|
100
|
+
*/
|
|
101
|
+
cache: VercelRuntimeCache;
|
|
102
|
+
/**
|
|
103
|
+
* `waitUntil` from `@vercel/functions`. Used only to run the stale-read lock
|
|
104
|
+
* write (herd dampening) off the response path - the router already
|
|
105
|
+
* backgrounds the actual writes. When omitted, the lock write runs detached
|
|
106
|
+
* (fire-and-forget) instead.
|
|
107
|
+
*/
|
|
108
|
+
waitUntil?: (promise: Promise<unknown>) => void;
|
|
109
|
+
/**
|
|
110
|
+
* Default ttl/swr for cache() boundaries when not explicitly specified.
|
|
111
|
+
*/
|
|
112
|
+
defaults?: CacheDefaults;
|
|
113
|
+
/**
|
|
114
|
+
* Custom key generator applied to all cache operations (region/locale/user
|
|
115
|
+
* segmentation). Receives the request context and the default key.
|
|
116
|
+
*/
|
|
117
|
+
keyGenerator?: (ctx: RequestContext<TEnv>, defaultKey: string) => string | Promise<string>;
|
|
118
|
+
/**
|
|
119
|
+
* Build/version id folded into every stored key as `v/{version}/...`. A second
|
|
120
|
+
* cross-deploy busting layer in addition to (or instead of) the getCache
|
|
121
|
+
* namespace. Changing it invalidates everything this store wrote previously.
|
|
122
|
+
*/
|
|
123
|
+
version?: string;
|
|
124
|
+
/**
|
|
125
|
+
* Max serialized entry size in bytes before a write is skipped. Defaults to
|
|
126
|
+
* VERCEL_MAX_ITEM_BYTES (2 MB - the platform's hard cap).
|
|
127
|
+
*/
|
|
128
|
+
maxItemBytes?: number;
|
|
129
|
+
/**
|
|
130
|
+
* Human-readable label passed as the Vercel `set({ name })` option for
|
|
131
|
+
* observability in the Vercel dashboard.
|
|
132
|
+
*/
|
|
133
|
+
name?: string;
|
|
134
|
+
/**
|
|
135
|
+
* Read diagnostics. `true` logs each read outcome to the console; a function
|
|
136
|
+
* receives the structured VercelCacheReadDebugEvent.
|
|
137
|
+
*/
|
|
138
|
+
debug?: VercelCacheDebug;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Vercel Runtime Cache-backed segment cache store.
|
|
142
|
+
*
|
|
143
|
+
* Suitable for production deployments on Vercel Functions (Node runtime). The
|
|
144
|
+
* store is best-effort: every read failure degrades to a miss and every write
|
|
145
|
+
* failure to a no-op (reported, never thrown) - the sole exception is
|
|
146
|
+
* invalidateTags(), which rejects when the injected cache's expireTag() rejects
|
|
147
|
+
* so an awaited updateTag() can surface the failure.
|
|
148
|
+
*
|
|
149
|
+
* Read-your-own-writes caveat: this honesty is only as strong as the cache
|
|
150
|
+
* handle. The official `@vercel/functions` cache (`BuildCache.expireTag`)
|
|
151
|
+
* CATCHES backend failures and resolves, so with the official client a failed
|
|
152
|
+
* expireTag is invisible here and an awaited updateTag() can report success that
|
|
153
|
+
* did not happen. Treat tag invalidation on the official Vercel client as
|
|
154
|
+
* best-effort, not a hard read-your-own-writes guarantee. (A custom cache handle
|
|
155
|
+
* that propagates expireTag rejections does get the strict guarantee, which is
|
|
156
|
+
* what the unit suite exercises.)
|
|
157
|
+
*
|
|
158
|
+
* Key hashing / family isolation. The store namespaces its three value tiers as
|
|
159
|
+
* `rg:{s|i|r}:{key}` so segment, `"use cache"`, and response entries occupy
|
|
160
|
+
* disjoint keyspaces. That separation is only as strong as the cache's
|
|
161
|
+
* `keyHashFunction`: `getCache`'s default is djb2, which folds every key to 32
|
|
162
|
+
* bits (8 hex chars), so at a large live-key count a collision can let one
|
|
163
|
+
* entry's body be served for another key (same-family) or be misread as corrupt
|
|
164
|
+
* (cross-family). For deployments with many cached keys, pass a wider hash so
|
|
165
|
+
* the family split is real isolation, e.g. `getCache({ keyHashFunction })` with
|
|
166
|
+
* a sha256-based function.
|
|
167
|
+
*
|
|
168
|
+
* @example
|
|
169
|
+
* ```ts
|
|
170
|
+
* import { getCache, waitUntil } from "@vercel/functions";
|
|
171
|
+
* import { VercelCacheStore } from "@rangojs/router/cache";
|
|
172
|
+
*
|
|
173
|
+
* export const router = createRouter({
|
|
174
|
+
* cache: () => ({
|
|
175
|
+
* store: new VercelCacheStore({
|
|
176
|
+
* // `process.env` (not `import.meta.env`, which needs a VITE_ prefix and
|
|
177
|
+
* // would be undefined here) so cross-deploy busting via `version` works.
|
|
178
|
+
* cache: getCache({ namespace: process.env.VERCEL_DEPLOYMENT_ID }),
|
|
179
|
+
* waitUntil,
|
|
180
|
+
* defaults: { ttl: 60, swr: 300 },
|
|
181
|
+
* }),
|
|
182
|
+
* }),
|
|
183
|
+
* });
|
|
184
|
+
* ```
|
|
185
|
+
*/
|
|
186
|
+
export declare class VercelCacheStore<TEnv = unknown> implements SegmentCacheStore<TEnv> {
|
|
187
|
+
readonly defaults?: CacheDefaults;
|
|
188
|
+
readonly keyGenerator?: (ctx: RequestContext<TEnv>, defaultKey: string) => string | Promise<string>;
|
|
189
|
+
private readonly cache;
|
|
190
|
+
private readonly waitUntil?;
|
|
191
|
+
private readonly version?;
|
|
192
|
+
private readonly maxItemBytes;
|
|
193
|
+
private readonly name?;
|
|
194
|
+
private readonly debug?;
|
|
195
|
+
constructor(options: VercelCacheStoreOptions<TEnv>);
|
|
196
|
+
get(key: string): Promise<CacheGetResult | null>;
|
|
197
|
+
set(key: string, data: CachedEntryData, ttl: number, swr?: number): Promise<void>;
|
|
198
|
+
delete(key: string): Promise<boolean>;
|
|
199
|
+
getResponse(key: string): Promise<{
|
|
200
|
+
response: Response;
|
|
201
|
+
shouldRevalidate: boolean;
|
|
202
|
+
} | null>;
|
|
203
|
+
putResponse(key: string, response: Response, ttl: number, swr?: number, tags?: string[]): Promise<void>;
|
|
204
|
+
getItem(key: string): Promise<CacheItemResult | null>;
|
|
205
|
+
setItem(key: string, value: string, options?: CacheItemOptions): Promise<void>;
|
|
206
|
+
getShell(key: string): Promise<{
|
|
207
|
+
entry: ShellCacheEntry;
|
|
208
|
+
shouldRevalidate?: boolean;
|
|
209
|
+
} | null>;
|
|
210
|
+
putShell(key: string, entry: ShellCacheEntry, ttlSeconds?: number, swrSeconds?: number, tags?: string[]): Promise<void>;
|
|
211
|
+
/**
|
|
212
|
+
* Build-shell read-through gate (SegmentCacheStore.isTagsInvalidatedSince).
|
|
213
|
+
* The platform's expireTag() DELETES tagged entries and keeps no queryable
|
|
214
|
+
* history, so invalidateTags() below writes its own "tm" marker entries and
|
|
215
|
+
* this compares them against the baked entry's build-time createdAt
|
|
216
|
+
* (>= so a same-millisecond invalidation wins). Fails open to `false` on
|
|
217
|
+
* read errors — the same posture as the CF marker check.
|
|
218
|
+
*/
|
|
219
|
+
isTagsInvalidatedSince(tags: string[], sinceMs: number): Promise<boolean>;
|
|
220
|
+
invalidateTags(tags: string[]): Promise<void>;
|
|
221
|
+
private toStoreKey;
|
|
222
|
+
private write;
|
|
223
|
+
/**
|
|
224
|
+
* Normalize a value read back from the cache. Entries written by this store
|
|
225
|
+
* are pre-serialized JSON strings (see write()); legacy entries (written
|
|
226
|
+
* before that change, or by a client that deserializes for us) come back as
|
|
227
|
+
* objects. Parse strings, pass objects through, and treat a non-JSON string
|
|
228
|
+
* as corrupt (returns undefined, so the caller reports + evicts).
|
|
229
|
+
*/
|
|
230
|
+
private decodeRaw;
|
|
231
|
+
/**
|
|
232
|
+
* Stale-read herd dampening via a tiny companion lock key. On a stale read,
|
|
233
|
+
* check `{storeKey}:lock`; if absent, claim it (write a short-TTL marker) and
|
|
234
|
+
* return true so THIS reader triggers revalidation. If present, another
|
|
235
|
+
* same-region reader already claimed it, so return false and serve the stale
|
|
236
|
+
* entry as fresh without piling on. Best-effort and non-blocking; never throws.
|
|
237
|
+
*
|
|
238
|
+
* Only the STALE path pays the extra lock read; the fresh-hit path takes no
|
|
239
|
+
* lock round trip. Unlike the prior whole-envelope re-stamp, a stale read now
|
|
240
|
+
* writes only the tiny lock, never the (potentially large) payload.
|
|
241
|
+
*
|
|
242
|
+
* Non-atomic (getCache has no compare-and-set): two readers can both find no
|
|
243
|
+
* lock and both revalidate. The window is REVALIDATION_LOCK_MS wide, after
|
|
244
|
+
* which the lock expires and the entry is re-claimed (or a fresh write has
|
|
245
|
+
* superseded it). A read-compare would not close the race without CAS.
|
|
246
|
+
*/
|
|
247
|
+
private claimRevalidation;
|
|
248
|
+
/** Measure a pre-serialized entry against the per-item size cap (see write). */
|
|
249
|
+
private withinSizeLimit;
|
|
250
|
+
/**
|
|
251
|
+
* Drop tags Vercel cannot round-trip: over-length tags, and tags carrying a
|
|
252
|
+
* URL metacharacter the `@vercel/functions` client does not encode (see
|
|
253
|
+
* VERCEL_UNSAFE_TAG_CHARS). Runs on BOTH paths - the write path
|
|
254
|
+
* (clampTagsForWrite) and invalidateTags - so a tag that would silently fail
|
|
255
|
+
* invalidation is never stored in the first place. `category` reports the
|
|
256
|
+
* drop under the caller's real operation (write vs invalidate).
|
|
257
|
+
*/
|
|
258
|
+
private validateTags;
|
|
259
|
+
/** validateTags + the per-item tag cap. Used on the write path. */
|
|
260
|
+
private clampTagsForWrite;
|
|
261
|
+
private safeDelete;
|
|
262
|
+
private emitDebug;
|
|
263
|
+
private asSegmentEnvelope;
|
|
264
|
+
private asItemEnvelope;
|
|
265
|
+
private asShellEnvelope;
|
|
266
|
+
private asResponseEnvelope;
|
|
267
|
+
}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { Component, type ReactNode } from "react";
|
|
2
|
+
import { type ClientErrorBoundaryFallbackProps } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* Outlet component - renders child content in layouts
|
|
5
|
+
*
|
|
6
|
+
* If the current segment defines a loading component, the outlet content
|
|
7
|
+
* is wrapped in Suspense with the loading component as fallback.
|
|
8
|
+
* This means during navigation/streaming, React's Suspense will automatically
|
|
9
|
+
* show the loading skeleton until the content is ready.
|
|
10
|
+
*
|
|
11
|
+
* When a name prop is provided (e.g., "@modal"), renders content from
|
|
12
|
+
* the parallel segment with that slot name instead of the default content.
|
|
13
|
+
* This is used for parallel routes and intercepting routes.
|
|
14
|
+
*
|
|
15
|
+
* For a named slot, `<Outlet name="@x" />` is equivalent to
|
|
16
|
+
* `<ParallelOutlet name="@x" />` — both run the same resolution + wrapping
|
|
17
|
+
* pipeline. Convention: use bare `<Outlet />` for default content and
|
|
18
|
+
* `<ParallelOutlet name="@x" />` for named slots.
|
|
19
|
+
*
|
|
20
|
+
* @param name - Optional slot name for parallel/intercept content (must start with @)
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```tsx
|
|
24
|
+
* function BlogLayout() {
|
|
25
|
+
* return (
|
|
26
|
+
* <div>
|
|
27
|
+
* <h1>Blog</h1>
|
|
28
|
+
* <Outlet />
|
|
29
|
+
* </div>
|
|
30
|
+
* );
|
|
31
|
+
* }
|
|
32
|
+
*
|
|
33
|
+
* // With named slot for modal/parallel content:
|
|
34
|
+
* function KanbanLayout() {
|
|
35
|
+
* return (
|
|
36
|
+
* <div>
|
|
37
|
+
* <KanbanBoard />
|
|
38
|
+
* <Outlet name="@modal" />
|
|
39
|
+
* <Outlet />
|
|
40
|
+
* </div>
|
|
41
|
+
* );
|
|
42
|
+
* }
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export declare function Outlet({ name }?: {
|
|
46
|
+
name?: `@${string}`;
|
|
47
|
+
}): ReactNode;
|
|
48
|
+
/**
|
|
49
|
+
* ParallelOutlet component - renders content for a named parallel slot
|
|
50
|
+
*
|
|
51
|
+
* If the parallel segment defines a loading component, the content
|
|
52
|
+
* is wrapped in Suspense with the loading component as fallback.
|
|
53
|
+
* This enables streaming and navigation loading states for parallels.
|
|
54
|
+
*
|
|
55
|
+
* Equivalent to `<Outlet name="@x" />` for a named slot; ParallelOutlet
|
|
56
|
+
* requires `name` and is named-slot-only, which reads clearer at the call site.
|
|
57
|
+
*
|
|
58
|
+
* @param name - The slot name (must start with @, e.g., "@modal", "@sidebar")
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```tsx
|
|
62
|
+
* function DashboardLayout() {
|
|
63
|
+
* return (
|
|
64
|
+
* <div>
|
|
65
|
+
* <h1>Dashboard</h1>
|
|
66
|
+
* <ParallelOutlet name="@sidebar" />
|
|
67
|
+
* <ParallelOutlet name="@modal" />
|
|
68
|
+
* </div>
|
|
69
|
+
* );
|
|
70
|
+
* }
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
export declare function ParallelOutlet({ name }: {
|
|
74
|
+
name: `@${string}`;
|
|
75
|
+
}): ReactNode;
|
|
76
|
+
/**
|
|
77
|
+
* Hook to access outlet content programmatically
|
|
78
|
+
*
|
|
79
|
+
* Alternative to using <Outlet /> component. Useful when you need
|
|
80
|
+
* direct access to the outlet content in your logic.
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```tsx
|
|
84
|
+
* function BlogLayout() {
|
|
85
|
+
* const outlet = useOutlet();
|
|
86
|
+
* return <div><h1>Blog</h1>{outlet}</div>;
|
|
87
|
+
* }
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
90
|
+
export declare function useOutlet(): ReactNode;
|
|
91
|
+
export { useLoader, useFetchLoader, useRefreshLoaders, type LoadFunction, type UseLoaderResult, type UseFetchLoaderResult, type UseLoaderOptions, } from "./use-loader.js";
|
|
92
|
+
/**
|
|
93
|
+
* Props for the ErrorBoundary component
|
|
94
|
+
*/
|
|
95
|
+
export interface ErrorBoundaryProps {
|
|
96
|
+
/** Fallback UI to show when an error is caught */
|
|
97
|
+
fallback: ReactNode | ((props: ClientErrorBoundaryFallbackProps) => ReactNode);
|
|
98
|
+
/** Children to render */
|
|
99
|
+
children: ReactNode;
|
|
100
|
+
/** Optional callback when an error is caught */
|
|
101
|
+
onError?: (error: Error, errorInfo: React.ErrorInfo) => void;
|
|
102
|
+
}
|
|
103
|
+
interface ErrorBoundaryState {
|
|
104
|
+
hasError: boolean;
|
|
105
|
+
error: Error | null;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Client-side ErrorBoundary component
|
|
109
|
+
*
|
|
110
|
+
* Catches JavaScript errors in child components during rendering,
|
|
111
|
+
* in lifecycle methods, and in constructors of the whole tree below them.
|
|
112
|
+
* Displays a fallback UI instead of the component tree that crashed.
|
|
113
|
+
*
|
|
114
|
+
* Use this to wrap client components that might throw during hydration
|
|
115
|
+
* or user interaction. For server-side errors (middleware, loaders, handlers),
|
|
116
|
+
* use the errorBoundary() helper in route definitions instead.
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```tsx
|
|
120
|
+
* "use client";
|
|
121
|
+
* import { ErrorBoundary } from "rsc-router/client";
|
|
122
|
+
*
|
|
123
|
+
* function MyComponent() {
|
|
124
|
+
* return (
|
|
125
|
+
* <ErrorBoundary fallback={<div>Something went wrong</div>}>
|
|
126
|
+
* <ComponentThatMightThrow />
|
|
127
|
+
* </ErrorBoundary>
|
|
128
|
+
* );
|
|
129
|
+
* }
|
|
130
|
+
*
|
|
131
|
+
* // Or with a function fallback for more control:
|
|
132
|
+
* function MyComponent() {
|
|
133
|
+
* return (
|
|
134
|
+
* <ErrorBoundary
|
|
135
|
+
* fallback={({ error, reset }) => (
|
|
136
|
+
* <div>
|
|
137
|
+
* <p>Error: {error.message}</p>
|
|
138
|
+
* <button onClick={reset}>Try again</button>
|
|
139
|
+
* </div>
|
|
140
|
+
* )}
|
|
141
|
+
* >
|
|
142
|
+
* <ComponentThatMightThrow />
|
|
143
|
+
* </ErrorBoundary>
|
|
144
|
+
* );
|
|
145
|
+
* }
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
export declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
|
|
149
|
+
constructor(props: ErrorBoundaryProps);
|
|
150
|
+
static getDerivedStateFromError(error: Error): ErrorBoundaryState;
|
|
151
|
+
componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void;
|
|
152
|
+
reset: () => void;
|
|
153
|
+
render(): ReactNode;
|
|
154
|
+
}
|
|
155
|
+
export { useNavigation } from "./browser/react/use-navigation.js";
|
|
156
|
+
export { useRouter } from "./browser/react/use-router.js";
|
|
157
|
+
export { usePathname } from "./browser/react/use-pathname.js";
|
|
158
|
+
export { useSearchParams } from "./browser/react/use-search-params.js";
|
|
159
|
+
export { useParams } from "./browser/react/use-params.js";
|
|
160
|
+
export { useNonce } from "./browser/react/nonce-context.js";
|
|
161
|
+
export type { RouterInstance, RouterNavigateOptions, ReadonlyURLSearchParams, ActionState, ActionLifecycleState, } from "./browser/types.js";
|
|
162
|
+
export { useAction, type ServerActionFunction, } from "./browser/react/use-action.js";
|
|
163
|
+
export { useSegments, type SegmentsState, } from "./browser/react/use-segments.js";
|
|
164
|
+
export { NavigationProvider, type NavigationProviderProps, } from "./browser/react/NavigationProvider.js";
|
|
165
|
+
export { Link, type LinkProps, type PrefetchStrategy, type StateOrGetter, type LinkState, } from "./browser/react/Link.js";
|
|
166
|
+
export { useLinkStatus, type LinkStatus, } from "./browser/react/use-link-status.js";
|
|
167
|
+
export { ScrollRestoration, useScrollRestoration, type ScrollRestorationProps, } from "./browser/react/ScrollRestoration.js";
|
|
168
|
+
export { type Handle } from "./handle.js";
|
|
169
|
+
export { useHandle } from "./browser/react/use-handle.js";
|
|
170
|
+
export { Meta } from "./handles/meta.js";
|
|
171
|
+
export { MetaTags } from "./handles/MetaTags.js";
|
|
172
|
+
export type { MetaDescriptor, MetaDescriptorBase } from "./router/types.js";
|
|
173
|
+
export { Script, type ScriptConfig, type ScriptAttributes, } from "./handles/script.js";
|
|
174
|
+
export { Scripts } from "./handles/Scripts.js";
|
|
175
|
+
export { Breadcrumbs, type BreadcrumbItem } from "./handles/breadcrumbs.js";
|
|
176
|
+
export { createLocationState, useLocationState, type LocationStateDefinition, type LocationStateEntry, type LocationStateOptions, } from "./browser/react/location-state.js";
|
|
177
|
+
export { href, type PatternToPath } from "./href-client.js";
|
|
178
|
+
export type { ProblemDetails } from "./urls.js";
|
|
179
|
+
export { useMount } from "./browser/react/use-mount.js";
|
|
180
|
+
export { MountContext } from "./browser/react/mount-context.js";
|
|
181
|
+
export { useHref } from "./browser/react/use-href.js";
|
|
182
|
+
export { useReverse } from "./browser/react/use-reverse.js";
|
|
183
|
+
export type { ScopedReverseFunction, LocalReverseFunction } from "./reverse.js";
|
|
184
|
+
export type { LoaderDefinition } from "./types.js";
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RSC-environment version of client exports
|
|
3
|
+
*
|
|
4
|
+
* This file is used when importing "rsc-router/client" from RSC (server components).
|
|
5
|
+
* It re-exports the server's createLoader so that loader definitions work in both
|
|
6
|
+
* environments with the same import.
|
|
7
|
+
*
|
|
8
|
+
* The bundler uses the "react-server" export condition to select this file
|
|
9
|
+
* in RSC context, while the regular client.tsx is used in client components.
|
|
10
|
+
*/
|
|
11
|
+
export { Outlet, ParallelOutlet, useOutlet, useLoader, ErrorBoundary, type ErrorBoundaryProps, } from "./client.js";
|
|
12
|
+
export { useFetchLoader, useRefreshLoaders, type LoadFunction, type UseLoaderResult, type UseFetchLoaderResult, type UseLoaderOptions, } from "./use-loader.js";
|
|
13
|
+
export { createLoader } from "./route-definition.js";
|
|
14
|
+
export { useRouter } from "./browser/react/use-router.js";
|
|
15
|
+
export { usePathname } from "./browser/react/use-pathname.js";
|
|
16
|
+
export { useSearchParams } from "./browser/react/use-search-params.js";
|
|
17
|
+
export { useParams } from "./browser/react/use-params.js";
|
|
18
|
+
export { useNonce } from "./browser/react/nonce-context.js";
|
|
19
|
+
export { useMount } from "./browser/react/use-mount.js";
|
|
20
|
+
export { useSegments, type SegmentsState, } from "./browser/react/use-segments.js";
|
|
21
|
+
export { useLinkStatus, type LinkStatus, } from "./browser/react/use-link-status.js";
|
|
22
|
+
export { useScrollRestoration } from "./browser/react/ScrollRestoration.js";
|
|
23
|
+
export { Link, type LinkProps, type PrefetchStrategy, } from "./browser/react/Link.js";
|
|
24
|
+
export { ScrollRestoration, type ScrollRestorationProps, } from "./browser/react/ScrollRestoration.js";
|
|
25
|
+
export { NavigationProvider, type NavigationProviderProps, } from "./browser/react/NavigationProvider.js";
|
|
26
|
+
export { href } from "./href-client.js";
|
|
27
|
+
export { MountContext } from "./browser/react/mount-context.js";
|
|
28
|
+
export { createHandle, isHandle, type Handle } from "./handle.js";
|
|
29
|
+
export { Meta } from "./handles/meta.js";
|
|
30
|
+
export { MetaTags } from "./handles/MetaTags.js";
|
|
31
|
+
export type { MetaDescriptor, MetaDescriptorBase } from "./router/types.js";
|
|
32
|
+
export { Script, type ScriptConfig, type ScriptAttributes, } from "./handles/script.js";
|
|
33
|
+
export { Scripts } from "./handles/Scripts.js";
|
|
34
|
+
export { Breadcrumbs, type BreadcrumbItem } from "./handles/breadcrumbs.js";
|
|
35
|
+
export { createLocationState, type LocationStateDefinition, type LocationStateEntry, type LocationStateOptions, } from "./browser/react/location-state-shared.js";
|
|
36
|
+
export { useHref } from "./browser/react/use-href.js";
|
|
37
|
+
export { useReverse } from "./browser/react/use-reverse.js";
|
|
38
|
+
export { useHandle } from "./browser/react/use-handle.js";
|
|
39
|
+
export { useLocationState } from "./browser/react/location-state.js";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloudflare preset integration surface for @rangojs/router.
|
|
3
|
+
*
|
|
4
|
+
* Imported via `@rangojs/router/cloudflare`. Cloudflare-only helpers live here
|
|
5
|
+
* so Node/other-platform consumers never pull them in.
|
|
6
|
+
*/
|
|
7
|
+
export { createCloudflareTracing, type CloudflareTracingOptions, } from "./tracing.js";
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloudflare custom-spans integration.
|
|
3
|
+
*
|
|
4
|
+
* Bridges the router's performance phases (request, middleware, action,
|
|
5
|
+
* loaders, handler, render, ssr) onto Cloudflare Workers custom spans so they show
|
|
6
|
+
* up in the trace waterfall and OpenTelemetry exports next to the platform's
|
|
7
|
+
* automatic spans (KV reads, D1 queries, fetch calls), with correct nesting.
|
|
8
|
+
*
|
|
9
|
+
* Usage (Cloudflare preset only):
|
|
10
|
+
*
|
|
11
|
+
* import { createRouter } from "@rangojs/router";
|
|
12
|
+
* import { createCloudflareTracing } from "@rangojs/router/cloudflare";
|
|
13
|
+
*
|
|
14
|
+
* export const router = createRouter({
|
|
15
|
+
* tracing: createCloudflareTracing(),
|
|
16
|
+
* });
|
|
17
|
+
*
|
|
18
|
+
* The runner reads `executionContext.tracing` (the same object as
|
|
19
|
+
* `import { tracing } from "cloudflare:workers"`) at call time. It is therefore
|
|
20
|
+
* dependency-free: no `cloudflare:workers` import and no hard dependency on
|
|
21
|
+
* `@cloudflare/workers-types`, matching the convention in cache/cf. When the
|
|
22
|
+
* worker is not running on a tracing-enabled Cloudflare runtime — Node, dev
|
|
23
|
+
* without a tracing destination, an older runtime — `executionContext.tracing`
|
|
24
|
+
* is undefined and every span call falls through to the work directly, so the
|
|
25
|
+
* request behaves exactly as if tracing were off. Whether spans are actually
|
|
26
|
+
* recorded is governed by the `observability`/tracing block in wrangler config.
|
|
27
|
+
*
|
|
28
|
+
* Span duration note: enterSpan ends a span when its callback's returned value
|
|
29
|
+
* (or promise) settles. For the streaming phases (request/render/ssr) that is at
|
|
30
|
+
* stream CONSTRUCTION, not body-drain. Instrumentation is best-effort and never
|
|
31
|
+
* wraps or buffers the response body, so it cannot regress streaming or latency.
|
|
32
|
+
* A loader/Suspense child that resolves mid-stream therefore keeps a rango.loader
|
|
33
|
+
* span that can extend past its render parent — overlapping spans are valid. Uses
|
|
34
|
+
* only the typed enterSpan API; spans bound work up to stream-handoff, matching
|
|
35
|
+
* the co-emitted perf metric.
|
|
36
|
+
*/
|
|
37
|
+
import { type RouterTracingConfig, type TracingToggleOptions } from "../router/tracing.js";
|
|
38
|
+
/**
|
|
39
|
+
* Options for createCloudflareTracing. Alias of the shared
|
|
40
|
+
* {@link TracingToggleOptions} (`enabled` master switch + per-phase `spans`
|
|
41
|
+
* toggles); the name is public API.
|
|
42
|
+
*/
|
|
43
|
+
export type CloudflareTracingOptions = TracingToggleOptions;
|
|
44
|
+
/**
|
|
45
|
+
* Create the tracing config for a Cloudflare router. Pass the result to
|
|
46
|
+
* `createRouter({ tracing })`. Spans are emitted for the request, middleware,
|
|
47
|
+
* action, loaders, handler, render, and ssr phases; pass `spans` to turn
|
|
48
|
+
* individual phases off.
|
|
49
|
+
*
|
|
50
|
+
* @see createOTelTracing (`@rangojs/router`) for the same slot on any platform
|
|
51
|
+
* with an OpenTelemetry SDK.
|
|
52
|
+
*/
|
|
53
|
+
export declare function createCloudflareTracing(options?: CloudflareTracingOptions): RouterTracingConfig;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Component utilities for RSC
|
|
3
|
+
*
|
|
4
|
+
* Helpers for working with React Server Components and client components.
|
|
5
|
+
*/
|
|
6
|
+
import type { ComponentType } from "react";
|
|
7
|
+
/**
|
|
8
|
+
* Check if a component is a client component (has "use client" directive).
|
|
9
|
+
*
|
|
10
|
+
* Client components are marked by the bundler with:
|
|
11
|
+
* - $$typeof: Symbol.for("react.client.reference")
|
|
12
|
+
* - $$id: string (module identifier)
|
|
13
|
+
*
|
|
14
|
+
* @param component - The component to check
|
|
15
|
+
* @returns true if the component has client reference marker
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* import { MyComponent } from "./my-component"; // has "use client"
|
|
20
|
+
*
|
|
21
|
+
* if (!isClientComponent(MyComponent)) {
|
|
22
|
+
* throw new Error("MyComponent must be a client component");
|
|
23
|
+
* }
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare function isClientComponent(component: ComponentType<unknown> | unknown): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Assert that a component is a client component.
|
|
29
|
+
* Throws a descriptive error if not.
|
|
30
|
+
*
|
|
31
|
+
* @param component - The component to check
|
|
32
|
+
* @param name - Name to use in error message (e.g., "document")
|
|
33
|
+
* @param opts.allowServerInTest - When true AND running under a test runner
|
|
34
|
+
* (`isUnderTestRunner()`), relax ONLY the "use client" requirement: a server
|
|
35
|
+
* component is accepted. The plugin's "use client" transform does not run in a
|
|
36
|
+
* bare unit test, so a real exported `document` (almost every app sets one) has
|
|
37
|
+
* no client marker and would otherwise throw at `createRouter`, blocking
|
|
38
|
+
* `dispatch`/`assertGeneratedRoutesMatch` against the real router. The document
|
|
39
|
+
* reference is irrelevant to those (no Flight render). The "not a JSX element"
|
|
40
|
+
* guard still fires, and a real dev/build still throws (mirrors the runtime
|
|
41
|
+
* fallback-id gating in handle.ts/loader.ts).
|
|
42
|
+
* @throws Error if the component is not a client component
|
|
43
|
+
*/
|
|
44
|
+
export declare function assertClientComponent(component: ComponentType<unknown> | unknown, name: string, opts?: {
|
|
45
|
+
allowServerInTest?: boolean;
|
|
46
|
+
}): asserts component is ComponentType<unknown>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ReactNode, ReactElement } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Default document component that provides a basic HTML structure.
|
|
4
|
+
* Used when no custom document is provided to createRouter.
|
|
5
|
+
* Includes MetaTags for automatic charset, viewport, and route meta support,
|
|
6
|
+
* and Scripts (head + body sites) so the Script handle works out of the box.
|
|
7
|
+
*
|
|
8
|
+
* Uses suppressHydrationWarning on <html> because the theme script
|
|
9
|
+
* may modify class/style attributes before React hydrates.
|
|
10
|
+
*/
|
|
11
|
+
export declare function DefaultDocument({ children, }: {
|
|
12
|
+
children: ReactNode;
|
|
13
|
+
}): ReactElement;
|