@rangojs/router 0.0.0-experimental.tapabs2 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/rango.js +8 -40
- package/dist/types/__internal.d.ts +127 -0
- package/dist/types/bin/rango.d.ts +1 -0
- package/dist/types/browser/action-coordinator.d.ts +57 -0
- package/dist/types/browser/action-fence.d.ts +33 -0
- package/dist/types/browser/app-shell.d.ts +34 -0
- package/dist/types/browser/app-version.d.ts +6 -0
- package/dist/types/browser/connection-warmup.d.ts +31 -0
- package/dist/types/browser/cookie-name.d.ts +66 -0
- package/dist/types/browser/event-controller.d.ts +221 -0
- package/dist/types/browser/history-state.d.ts +26 -0
- package/dist/types/browser/index.d.ts +1 -0
- package/dist/types/browser/intercept-utils.d.ts +30 -0
- package/dist/types/browser/invalidate-client-cache.d.ts +17 -0
- package/dist/types/browser/link-interceptor.d.ts +43 -0
- package/dist/types/browser/logging.d.ts +33 -0
- package/dist/types/browser/merge-segment-loaders.d.ts +38 -0
- package/dist/types/browser/navigation-bridge.d.ts +27 -0
- package/dist/types/browser/navigation-client.d.ts +17 -0
- package/dist/types/browser/navigation-store-handle.d.ts +25 -0
- package/dist/types/browser/navigation-store.d.ts +95 -0
- package/dist/types/browser/navigation-transaction.d.ts +75 -0
- package/dist/types/browser/network-error-handler.d.ts +35 -0
- package/dist/types/browser/partial-update.d.ts +61 -0
- package/dist/types/browser/prefetch/cache.d.ts +183 -0
- package/dist/types/browser/prefetch/fetch.d.ts +52 -0
- package/dist/types/browser/prefetch/observer.d.ts +27 -0
- package/dist/types/browser/prefetch/policy.d.ts +13 -0
- package/dist/types/browser/prefetch/queue.d.ts +48 -0
- package/dist/types/browser/prefetch/resource-ready.d.ts +28 -0
- package/dist/types/browser/rango-state.d.ts +52 -0
- package/dist/types/browser/react/Link.d.ts +140 -0
- package/dist/types/browser/react/NavigationProvider.d.ts +88 -0
- package/dist/types/browser/react/ScrollRestoration.d.ts +78 -0
- package/dist/types/browser/react/context.d.ts +54 -0
- package/dist/types/browser/react/filter-segment-order.d.ts +35 -0
- package/dist/types/browser/react/index.d.ts +1 -0
- package/dist/types/browser/react/location-state-shared.d.ts +162 -0
- package/dist/types/browser/react/location-state.d.ts +29 -0
- package/dist/types/browser/react/mount-context.d.ts +23 -0
- package/dist/types/browser/react/nonce-context.d.ts +14 -0
- package/dist/types/browser/react/shallow-equal.d.ts +5 -0
- package/dist/types/browser/react/use-action.d.ts +61 -0
- package/dist/types/browser/react/use-handle.d.ts +21 -0
- package/dist/types/browser/react/use-href.d.ts +32 -0
- package/dist/types/browser/react/use-link-status.d.ts +36 -0
- package/dist/types/browser/react/use-mount.d.ts +24 -0
- package/dist/types/browser/react/use-navigation.d.ts +15 -0
- package/dist/types/browser/react/use-params.d.ts +21 -0
- package/dist/types/browser/react/use-pathname.d.ts +13 -0
- package/dist/types/browser/react/use-reverse.d.ts +40 -0
- package/dist/types/browser/react/use-router.d.ts +23 -0
- package/dist/types/browser/react/use-search-params.d.ts +19 -0
- package/dist/types/browser/react/use-segments.d.ts +29 -0
- package/dist/types/browser/response-adapter.d.ts +58 -0
- package/dist/types/browser/rsc-router.d.ts +141 -0
- package/dist/types/browser/scroll-restoration.d.ts +103 -0
- package/dist/types/browser/segment-reconciler.d.ts +74 -0
- package/dist/types/browser/segment-structure-assert.d.ts +16 -0
- package/dist/types/browser/server-action-bridge.d.ts +29 -0
- package/dist/types/browser/types.d.ts +530 -0
- package/dist/types/browser/validate-redirect-origin.d.ts +28 -0
- package/dist/types/build/collect-fallback-refs.d.ts +5 -0
- package/dist/types/build/generate-manifest.d.ts +100 -0
- package/dist/types/build/generate-route-types.d.ts +8 -0
- package/dist/types/build/index.d.ts +21 -0
- package/dist/types/build/prefix-tree-utils.d.ts +56 -0
- package/dist/types/build/route-trie.d.ts +89 -0
- package/dist/types/build/route-types/ast-helpers.d.ts +3 -0
- package/dist/types/build/route-types/ast-route-extraction.d.ts +13 -0
- package/dist/types/build/route-types/codegen.d.ts +16 -0
- package/dist/types/build/route-types/include-resolution.d.ts +74 -0
- package/dist/types/build/route-types/param-extraction.d.ts +13 -0
- package/dist/types/build/route-types/per-module-writer.d.ts +18 -0
- package/dist/types/build/route-types/router-processing.d.ts +82 -0
- package/dist/types/build/route-types/scan-filter.d.ts +17 -0
- package/dist/types/build/route-types/source-scan.d.ts +13 -0
- package/dist/types/build/runtime-discovery.d.ts +24 -0
- package/dist/types/cache/background-task.d.ts +21 -0
- package/dist/types/cache/cache-error.d.ts +71 -0
- package/dist/types/cache/cache-key-utils.d.ts +35 -0
- package/dist/types/cache/cache-policy.d.ts +59 -0
- package/dist/types/cache/cache-runtime.d.ts +51 -0
- package/dist/types/cache/cache-scope.d.ts +134 -0
- package/dist/types/cache/cache-tag.d.ts +79 -0
- package/dist/types/cache/cf/cf-base64.d.ts +4 -0
- package/dist/types/cache/cf/cf-cache-constants.d.ts +105 -0
- package/dist/types/cache/cf/cf-cache-store.d.ts +588 -0
- package/dist/types/cache/cf/cf-cache-types.d.ts +363 -0
- package/dist/types/cache/cf/cf-kv-utils.d.ts +22 -0
- package/dist/types/cache/cf/cf-tag-marker-memo.d.ts +15 -0
- package/dist/types/cache/cf/cf-zone-purge.d.ts +31 -0
- package/dist/types/cache/cf/index.d.ts +4 -0
- package/dist/types/cache/document-cache.d.ts +69 -0
- package/dist/types/cache/handle-capture.d.ts +23 -0
- package/dist/types/cache/handle-snapshot.d.ts +39 -0
- package/dist/types/cache/index.d.ts +7 -0
- package/dist/types/cache/memory-segment-store.d.ts +163 -0
- package/dist/types/cache/profile-registry.d.ts +40 -0
- package/dist/types/cache/read-through-swr.d.ts +60 -0
- package/dist/types/cache/segment-codec.d.ts +78 -0
- package/dist/types/cache/shell-snapshot.d.ts +173 -0
- package/dist/types/cache/tag-invalidation.d.ts +74 -0
- package/dist/types/cache/taint.d.ts +71 -0
- package/dist/types/cache/types.d.ts +418 -0
- package/dist/types/cache/vercel/index.d.ts +1 -0
- package/dist/types/cache/vercel/vercel-cache-store.d.ts +267 -0
- package/dist/types/client.d.ts +184 -0
- package/dist/types/client.rsc.d.ts +39 -0
- package/dist/types/cloudflare/index.d.ts +7 -0
- package/dist/types/cloudflare/tracing.d.ts +53 -0
- package/dist/types/component-utils.d.ts +46 -0
- package/dist/types/components/DefaultDocument.d.ts +13 -0
- package/dist/types/context-var.d.ts +84 -0
- package/dist/types/debug.d.ts +57 -0
- package/dist/types/decode-loader-results.d.ts +5 -0
- package/dist/types/default-error-boundary.d.ts +10 -0
- package/dist/types/defer.d.ts +89 -0
- package/dist/types/deps/browser.d.ts +1 -0
- package/dist/types/deps/html-stream-client.d.ts +1 -0
- package/dist/types/deps/html-stream-server.d.ts +1 -0
- package/dist/types/deps/rsc.d.ts +1 -0
- package/dist/types/deps/ssr.d.ts +1 -0
- package/dist/types/encode-kv.d.ts +35 -0
- package/dist/types/errors.d.ts +226 -0
- package/dist/types/escape-script.d.ts +44 -0
- package/dist/types/handle.d.ts +93 -0
- package/dist/types/handles/MetaTags.d.ts +17 -0
- package/dist/types/handles/Scripts.d.ts +38 -0
- package/dist/types/handles/breadcrumbs.d.ts +43 -0
- package/dist/types/handles/deferred-resolution.d.ts +53 -0
- package/dist/types/handles/is-thenable.d.ts +12 -0
- package/dist/types/handles/meta.d.ts +43 -0
- package/dist/types/handles/script.d.ts +139 -0
- package/dist/types/host/cookie-handler.d.ts +8 -0
- package/dist/types/host/errors.d.ts +40 -0
- package/dist/types/host/index.d.ts +33 -0
- package/dist/types/host/pattern-matcher.d.ts +30 -0
- package/dist/types/host/router.d.ts +12 -0
- package/dist/types/host/testing.d.ts +41 -0
- package/dist/types/host/types.d.ts +148 -0
- package/dist/types/host/utils.d.ts +20 -0
- package/dist/types/href-client.d.ts +214 -0
- package/dist/types/index.d.ts +112 -0
- package/dist/types/index.rsc.d.ts +51 -0
- package/dist/types/internal-debug.d.ts +1 -0
- package/dist/types/loader-store.d.ts +193 -0
- package/dist/types/loader.d.ts +18 -0
- package/dist/types/loader.rsc.d.ts +18 -0
- package/dist/types/missing-id-error.d.ts +1 -0
- package/dist/types/outlet-context.d.ts +12 -0
- package/dist/types/outlet-provider.d.ts +12 -0
- package/dist/types/prerender/build-shell-capture.d.ts +104 -0
- package/dist/types/prerender/param-hash.d.ts +6 -0
- package/dist/types/prerender/shell-manifest-key.d.ts +18 -0
- package/dist/types/prerender/store.d.ts +62 -0
- package/dist/types/prerender.d.ts +292 -0
- package/dist/types/redirect-origin.d.ts +67 -0
- package/dist/types/regex-escape.d.ts +6 -0
- package/dist/types/render-error-thrower.d.ts +13 -0
- package/dist/types/response-utils.d.ts +35 -0
- package/dist/types/reverse.d.ts +206 -0
- package/dist/types/root-error-boundary.d.ts +32 -0
- package/dist/types/route-content-wrapper.d.ts +40 -0
- package/dist/types/route-definition/dsl-helpers.d.ts +130 -0
- package/dist/types/route-definition/helper-factories.d.ts +22 -0
- package/dist/types/route-definition/helpers-types.d.ts +392 -0
- package/dist/types/route-definition/index.d.ts +7 -0
- package/dist/types/route-definition/redirect.d.ts +48 -0
- package/dist/types/route-definition/resolve-handler-use.d.ts +19 -0
- package/dist/types/route-definition/use-item-types.d.ts +1 -0
- package/dist/types/route-definition.d.ts +1 -0
- package/dist/types/route-map-builder.d.ts +127 -0
- package/dist/types/route-name.d.ts +27 -0
- package/dist/types/route-types.d.ts +172 -0
- package/dist/types/router/basename.d.ts +10 -0
- package/dist/types/router/content-negotiation.d.ts +91 -0
- package/dist/types/router/debug-manifest.d.ts +7 -0
- package/dist/types/router/error-handling.d.ts +76 -0
- package/dist/types/router/find-match.d.ts +19 -0
- package/dist/types/router/handler-context.d.ts +41 -0
- package/dist/types/router/instrument.d.ts +161 -0
- package/dist/types/router/intercept-resolution.d.ts +79 -0
- package/dist/types/router/lazy-includes.d.ts +26 -0
- package/dist/types/router/loader-resolution.d.ts +63 -0
- package/dist/types/router/logging.d.ts +41 -0
- package/dist/types/router/manifest.d.ts +8 -0
- package/dist/types/router/match-api.d.ts +19 -0
- package/dist/types/router/match-context.d.ts +184 -0
- package/dist/types/router/match-handlers.d.ts +49 -0
- package/dist/types/router/match-middleware/background-revalidation.d.ts +113 -0
- package/dist/types/router/match-middleware/cache-lookup.d.ts +113 -0
- package/dist/types/router/match-middleware/cache-store.d.ts +112 -0
- package/dist/types/router/match-middleware/index.d.ts +80 -0
- package/dist/types/router/match-middleware/intercept-resolution.d.ts +116 -0
- package/dist/types/router/match-middleware/segment-resolution.d.ts +94 -0
- package/dist/types/router/match-pipelines.d.ts +103 -0
- package/dist/types/router/match-result.d.ts +114 -0
- package/dist/types/router/metrics.d.ts +6 -0
- package/dist/types/router/middleware-types.d.ts +74 -0
- package/dist/types/router/middleware.d.ts +116 -0
- package/dist/types/router/navigation-snapshot.d.ts +22 -0
- package/dist/types/router/params-util.d.ts +8 -0
- package/dist/types/router/parse-pattern.d.ts +38 -0
- package/dist/types/router/pattern-matching.d.ts +169 -0
- package/dist/types/router/prefetch-cache-ttl.d.ts +27 -0
- package/dist/types/router/prefetch-limits.d.ts +20 -0
- package/dist/types/router/prerender-match.d.ts +50 -0
- package/dist/types/router/preview-match.d.ts +22 -0
- package/dist/types/router/request-classification.d.ts +104 -0
- package/dist/types/router/revalidation.d.ts +57 -0
- package/dist/types/router/route-snapshot.d.ts +112 -0
- package/dist/types/router/router-context.d.ts +137 -0
- package/dist/types/router/router-interfaces.d.ts +432 -0
- package/dist/types/router/router-options.d.ts +738 -0
- package/dist/types/router/router-registry.d.ts +15 -0
- package/dist/types/router/segment-resolution/fresh.d.ts +55 -0
- package/dist/types/router/segment-resolution/helpers.d.ts +93 -0
- package/dist/types/router/segment-resolution/loader-cache.d.ts +33 -0
- package/dist/types/router/segment-resolution/loader-mask.d.ts +44 -0
- package/dist/types/router/segment-resolution/loader-snapshot.d.ts +90 -0
- package/dist/types/router/segment-resolution/mask-nested.d.ts +53 -0
- package/dist/types/router/segment-resolution/revalidation.d.ts +85 -0
- package/dist/types/router/segment-resolution/static-store.d.ts +17 -0
- package/dist/types/router/segment-resolution/streamed-handler-telemetry.d.ts +16 -0
- package/dist/types/router/segment-resolution/view-transition-default.d.ts +28 -0
- package/dist/types/router/segment-resolution.d.ts +3 -0
- package/dist/types/router/segment-wrappers.d.ts +53 -0
- package/dist/types/router/state-cookie-name.d.ts +1 -0
- package/dist/types/router/substitute-pattern-params.d.ts +23 -0
- package/dist/types/router/telemetry-otel.d.ts +113 -0
- package/dist/types/router/telemetry.d.ts +216 -0
- package/dist/types/router/timeout.d.ts +96 -0
- package/dist/types/router/tracing.d.ts +125 -0
- package/dist/types/router/trie-matching.d.ts +32 -0
- package/dist/types/router/types.d.ts +98 -0
- package/dist/types/router/url-params.d.ts +26 -0
- package/dist/types/router.d.ts +7 -0
- package/dist/types/rsc/capture-queue.d.ts +6 -0
- package/dist/types/rsc/full-payload.d.ts +22 -0
- package/dist/types/rsc/handler-context.d.ts +31 -0
- package/dist/types/rsc/handler.d.ts +9 -0
- package/dist/types/rsc/helpers.d.ts +124 -0
- package/dist/types/rsc/index.d.ts +17 -0
- package/dist/types/rsc/json-route-result.d.ts +20 -0
- package/dist/types/rsc/loader-fetch.d.ts +14 -0
- package/dist/types/rsc/manifest-init.d.ts +18 -0
- package/dist/types/rsc/nonce.d.ts +28 -0
- package/dist/types/rsc/origin-guard.d.ts +50 -0
- package/dist/types/rsc/progressive-enhancement.d.ts +19 -0
- package/dist/types/rsc/redirect-guard.d.ts +37 -0
- package/dist/types/rsc/render-pipeline.d.ts +138 -0
- package/dist/types/rsc/response-cache-serve.d.ts +46 -0
- package/dist/types/rsc/response-error.d.ts +19 -0
- package/dist/types/rsc/response-route-handler.d.ts +29 -0
- package/dist/types/rsc/rsc-rendering.d.ts +23 -0
- package/dist/types/rsc/runtime-warnings.d.ts +22 -0
- package/dist/types/rsc/server-action.d.ts +68 -0
- package/dist/types/rsc/shell-build-manifest.d.ts +84 -0
- package/dist/types/rsc/shell-capture-constants.d.ts +27 -0
- package/dist/types/rsc/shell-capture.d.ts +374 -0
- package/dist/types/rsc/shell-serve.d.ts +174 -0
- package/dist/types/rsc/ssr-setup.d.ts +73 -0
- package/dist/types/rsc/transition-gate.d.ts +27 -0
- package/dist/types/rsc/types.d.ts +290 -0
- package/dist/types/runtime-env.d.ts +1 -0
- package/dist/types/search-params.d.ts +125 -0
- package/dist/types/segment-content-promise.d.ts +13 -0
- package/dist/types/segment-fragments.d.ts +56 -0
- package/dist/types/segment-loader-promise.d.ts +22 -0
- package/dist/types/segment-system.d.ts +84 -0
- package/dist/types/serialize.d.ts +164 -0
- package/dist/types/server/context.d.ts +494 -0
- package/dist/types/server/cookie-parse.d.ts +10 -0
- package/dist/types/server/cookie-store.d.ts +107 -0
- package/dist/types/server/fetchable-loader-store.d.ts +20 -0
- package/dist/types/server/handle-store.d.ts +100 -0
- package/dist/types/server/loader-registry.d.ts +32 -0
- package/dist/types/server/request-context.d.ts +618 -0
- package/dist/types/server/root-layout.d.ts +3 -0
- package/dist/types/server.d.ts +15 -0
- package/dist/types/ssr/index.d.ts +233 -0
- package/dist/types/ssr/inject-rsc-eager.d.ts +3 -0
- package/dist/types/ssr/preinit-client-references.d.ts +71 -0
- package/dist/types/ssr/ssr-root.d.ts +69 -0
- package/dist/types/static-handler.d.ts +57 -0
- package/dist/types/testing/cache-status.d.ts +63 -0
- package/dist/types/testing/collect-handle.d.ts +20 -0
- package/dist/types/testing/dispatch.d.ts +127 -0
- package/dist/types/testing/dom.entry.d.ts +15 -0
- package/dist/types/testing/e2e/fixture.d.ts +37 -0
- package/dist/types/testing/e2e/index.d.ts +31 -0
- package/dist/types/testing/e2e/matchers.d.ts +17 -0
- package/dist/types/testing/e2e/page-helpers.d.ts +62 -0
- package/dist/types/testing/e2e/parity.d.ts +111 -0
- package/dist/types/testing/e2e/server.d.ts +35 -0
- package/dist/types/testing/flight-matchers.d.ts +55 -0
- package/dist/types/testing/flight-normalize.d.ts +1 -0
- package/dist/types/testing/flight-tree.d.ts +192 -0
- package/dist/types/testing/flight.d.ts +115 -0
- package/dist/types/testing/flight.entry.d.ts +27 -0
- package/dist/types/testing/generated-routes.d.ts +66 -0
- package/dist/types/testing/index.d.ts +54 -0
- package/dist/types/testing/internal/context.d.ts +225 -0
- package/dist/types/testing/internal/flight-client-globals.d.ts +1 -0
- package/dist/types/testing/internal/seed-vars.d.ts +30 -0
- package/dist/types/testing/render-handler.d.ts +160 -0
- package/dist/types/testing/render-route.d.ts +246 -0
- package/dist/types/testing/run-loader.d.ts +186 -0
- package/dist/types/testing/run-middleware.d.ts +132 -0
- package/dist/types/testing/run-transition-when.d.ts +77 -0
- package/dist/types/testing/shell-status.d.ts +58 -0
- package/dist/types/testing/vitest-stubs/cloudflare-email.d.ts +6 -0
- package/dist/types/testing/vitest-stubs/cloudflare-workers.d.ts +13 -0
- package/dist/types/testing/vitest-stubs/plugin-rsc.d.ts +7 -0
- package/dist/types/testing/vitest-stubs/version.d.ts +1 -0
- package/dist/types/testing/vitest.d.ts +205 -0
- package/dist/types/theme/ThemeProvider.d.ts +13 -0
- package/dist/types/theme/ThemeScript.d.ts +45 -0
- package/dist/types/theme/constants.d.ts +39 -0
- package/dist/types/theme/index.d.ts +29 -0
- package/dist/types/theme/theme-context.d.ts +21 -0
- package/dist/types/theme/theme-script.d.ts +26 -0
- package/dist/types/theme/types.d.ts +162 -0
- package/dist/types/theme/use-theme.d.ts +8 -0
- package/dist/types/types/boundaries.d.ts +93 -0
- package/dist/types/types/cache-types.d.ts +191 -0
- package/dist/types/types/error-types.d.ts +114 -0
- package/dist/types/types/global-namespace.d.ts +90 -0
- package/dist/types/types/handler-context.d.ts +658 -0
- package/dist/types/types/index.d.ts +11 -0
- package/dist/types/types/loader-types.d.ts +182 -0
- package/dist/types/types/request-scope.d.ts +93 -0
- package/dist/types/types/route-config.d.ts +105 -0
- package/dist/types/types/route-entry.d.ts +95 -0
- package/dist/types/types/segments.d.ts +234 -0
- package/dist/types/types.d.ts +1 -0
- package/dist/types/urls/include-helper.d.ts +17 -0
- package/dist/types/urls/include-provider.d.ts +27 -0
- package/dist/types/urls/index.d.ts +6 -0
- package/dist/types/urls/path-helper-types.d.ts +197 -0
- package/dist/types/urls/path-helper.d.ts +12 -0
- package/dist/types/urls/pattern-types.d.ts +166 -0
- package/dist/types/urls/response-types.d.ts +67 -0
- package/dist/types/urls/type-extraction.d.ts +157 -0
- package/dist/types/urls/urls-function.d.ts +24 -0
- package/dist/types/urls.d.ts +1 -0
- package/dist/types/use-loader.d.ts +150 -0
- package/dist/types/vercel/index.d.ts +10 -0
- package/dist/types/vercel/tracing.d.ts +70 -0
- package/dist/types/vite/debug.d.ts +80 -0
- package/dist/types/vite/discovery/bundle-postprocess.d.ts +12 -0
- package/dist/types/vite/discovery/dev-prerender-cache.d.ts +65 -0
- package/dist/types/vite/discovery/discover-routers.d.ts +17 -0
- package/dist/types/vite/discovery/discovery-errors.d.ts +113 -0
- package/dist/types/vite/discovery/gate-state.d.ts +79 -0
- package/dist/types/vite/discovery/prerender-collection.d.ts +24 -0
- package/dist/types/vite/discovery/route-types-writer.d.ts +32 -0
- package/dist/types/vite/discovery/self-gen-tracking.d.ts +22 -0
- package/dist/types/vite/discovery/shell-prerender-phase.d.ts +40 -0
- package/dist/types/vite/discovery/state.d.ts +162 -0
- package/dist/types/vite/discovery/virtual-module-codegen.d.ts +15 -0
- package/dist/types/vite/index.d.ts +11 -0
- package/dist/types/vite/inject-client-debug.d.ts +56 -0
- package/dist/types/vite/plugin-types.d.ts +298 -0
- package/dist/types/vite/plugins/cjs-to-esm.d.ts +6 -0
- package/dist/types/vite/plugins/client-ref-dedup.d.ts +40 -0
- package/dist/types/vite/plugins/client-ref-hashing.d.ts +35 -0
- package/dist/types/vite/plugins/cloudflare-protocol-stub.d.ts +64 -0
- package/dist/types/vite/plugins/expose-action-id.d.ts +18 -0
- package/dist/types/vite/plugins/expose-id-utils.d.ts +37 -0
- package/dist/types/vite/plugins/expose-ids/export-analysis.d.ts +19 -0
- package/dist/types/vite/plugins/expose-ids/handler-transform.d.ts +10 -0
- package/dist/types/vite/plugins/expose-ids/loader-transform.d.ts +8 -0
- package/dist/types/vite/plugins/expose-ids/router-transform.d.ts +13 -0
- package/dist/types/vite/plugins/expose-ids/types.d.ts +29 -0
- package/dist/types/vite/plugins/expose-internal-ids.d.ts +6 -0
- package/dist/types/vite/plugins/performance-tracks.d.ts +25 -0
- package/dist/types/vite/plugins/refresh-cmd.d.ts +20 -0
- package/dist/types/vite/plugins/use-cache-transform.d.ts +20 -0
- package/dist/types/vite/plugins/vercel-output.d.ts +85 -0
- package/dist/types/vite/plugins/version-injector.d.ts +21 -0
- package/dist/types/vite/plugins/version-plugin.d.ts +19 -0
- package/dist/types/vite/plugins/virtual-entries.d.ts +36 -0
- package/dist/types/vite/plugins/virtual-stub-plugin.d.ts +7 -0
- package/dist/types/vite/rango.d.ts +29 -0
- package/dist/types/vite/router-discovery.d.ts +23 -0
- package/dist/types/vite/utils/ast-handler-extract.d.ts +64 -0
- package/dist/types/vite/utils/banner.d.ts +2 -0
- package/dist/types/vite/utils/bundle-analysis.d.ts +28 -0
- package/dist/types/vite/utils/client-chunks.d.ts +55 -0
- package/dist/types/vite/utils/directive-prologue.d.ts +16 -0
- package/dist/types/vite/utils/forward-user-plugins.d.ts +37 -0
- package/dist/types/vite/utils/manifest-utils.d.ts +7 -0
- package/dist/types/vite/utils/package-resolution.d.ts +6 -0
- package/dist/types/vite/utils/prerender-utils.d.ts +32 -0
- package/dist/types/vite/utils/shared-utils.d.ts +55 -0
- package/dist/vite/index.js +1051 -361
- package/package.json +39 -33
- package/skills/catalog.json +6 -0
- package/skills/cloudflare/SKILL.md +149 -0
- package/skills/cloudflare/agents/openai.yaml +4 -0
- package/skills/cloudflare/references/d1-and-local-dev.md +131 -0
- package/skills/cloudflare/references/streaming-and-deploy.md +107 -0
- package/skills/cloudflare/references/webhooks-and-crypto.md +147 -0
- package/skills/composability/SKILL.md +14 -0
- package/skills/debug-manifest/SKILL.md +2 -10
- package/skills/links/SKILL.md +12 -0
- package/skills/middleware/SKILL.md +33 -0
- package/skills/migrate-nextjs/SKILL.md +65 -16
- package/skills/migrate-nextjs/backend-host-swap.md +120 -0
- package/skills/migrate-react-router/SKILL.md +6 -6
- package/skills/mime-routes/SKILL.md +25 -17
- package/skills/ppr/SKILL.md +100 -15
- package/skills/prerender/SKILL.md +44 -1
- package/skills/rango/SKILL.md +10 -10
- package/skills/response-routes/SKILL.md +41 -4
- package/skills/route/SKILL.md +6 -0
- package/skills/testing/SKILL.md +1 -0
- package/skills/testing/cache-prerender.md +43 -2
- package/skills/testing/response-routes.md +2 -2
- package/src/browser/event-controller.ts +16 -2
- package/src/browser/rsc-router.tsx +11 -0
- package/src/build/generate-manifest.ts +5 -36
- package/src/build/route-trie.ts +5 -50
- package/src/cache/cache-key-utils.ts +0 -1
- package/src/cache/cache-scope.ts +41 -3
- package/src/cache/cf/cf-cache-store.ts +465 -56
- package/src/cache/cf/cf-cache-types.ts +66 -0
- package/src/cache/cf/cf-tag-marker-memo.ts +5 -2
- package/src/cache/cf/cf-zone-purge.ts +101 -0
- package/src/cache/cf/index.ts +5 -0
- package/src/cache/handle-snapshot.ts +22 -1
- package/src/cache/index.ts +2 -0
- package/src/cache/memory-segment-store.ts +32 -0
- package/src/cache/segment-codec.ts +47 -0
- package/src/cache/shell-snapshot.ts +79 -14
- package/src/cache/types.ts +38 -0
- package/src/cache/vercel/vercel-cache-store.ts +71 -2
- package/src/deps/ssr.ts +4 -1
- package/src/index.rsc.ts +7 -0
- package/src/index.ts +1 -0
- package/src/prerender/build-shell-capture.ts +447 -0
- package/src/prerender/shell-manifest-key.ts +20 -0
- package/src/prerender/store.ts +10 -1
- package/src/prerender.ts +3 -3
- package/src/redirect-origin.ts +37 -8
- package/src/route-map-builder.ts +8 -8
- package/src/router/content-negotiation.ts +47 -5
- package/src/router/handler-context.ts +18 -10
- package/src/router/intercept-resolution.ts +30 -1
- package/src/router/loader-resolution.ts +16 -0
- package/src/router/match-api.ts +9 -2
- package/src/router/match-handlers.ts +13 -0
- package/src/router/match-middleware/cache-lookup.ts +12 -1
- package/src/router/metrics.ts +17 -2
- package/src/router/middleware-types.ts +17 -0
- package/src/router/middleware.ts +4 -0
- package/src/router/prerender-match.ts +28 -0
- package/src/router/router-interfaces.ts +7 -6
- package/src/router/router-options.ts +13 -8
- package/src/router/segment-resolution/fresh.ts +21 -2
- package/src/router/segment-resolution/helpers.ts +1 -1
- package/src/router/segment-resolution/loader-cache.ts +38 -7
- package/src/router/segment-resolution/mask-nested.ts +19 -3
- package/src/router/segment-resolution/revalidation.ts +9 -0
- package/src/router/telemetry-otel.ts +11 -0
- package/src/router/telemetry.ts +1 -0
- package/src/router/timeout.ts +41 -1
- package/src/router.ts +5 -4
- package/src/rsc/capture-queue.ts +67 -0
- package/src/rsc/handler.ts +151 -77
- package/src/rsc/helpers.ts +67 -4
- package/src/rsc/progressive-enhancement.ts +66 -54
- package/src/rsc/redirect-guard.ts +3 -1
- package/src/rsc/render-pipeline.ts +559 -0
- package/src/rsc/response-cache-serve.ts +39 -18
- package/src/rsc/response-route-handler.ts +9 -45
- package/src/rsc/rsc-rendering.ts +303 -103
- package/src/rsc/server-action.ts +50 -42
- package/src/rsc/shell-build-manifest.ts +316 -0
- package/src/rsc/shell-capture-constants.ts +27 -0
- package/src/rsc/shell-capture.ts +595 -69
- package/src/rsc/shell-serve.ts +133 -3
- package/src/rsc/ssr-setup.ts +102 -23
- package/src/segment-fragments.ts +124 -0
- package/src/server/context.ts +184 -8
- package/src/server/request-context.ts +297 -45
- package/src/ssr/index.tsx +167 -32
- package/src/ssr/preinit-client-references.ts +106 -0
- package/src/ssr/ssr-root.tsx +35 -2
- package/src/testing/dispatch.ts +132 -67
- package/src/testing/e2e/index.ts +8 -0
- package/src/testing/index.ts +9 -1
- package/src/testing/internal/context.ts +9 -0
- package/src/testing/render-handler.ts +15 -1
- package/src/testing/run-middleware.ts +14 -0
- package/src/testing/shell-status.ts +100 -0
- package/src/types/handler-context.ts +13 -2
- package/src/urls/path-helper-types.ts +1 -1
- package/src/urls/pattern-types.ts +29 -0
- package/src/vite/discovery/discover-routers.ts +71 -52
- package/src/vite/discovery/prerender-collection.ts +16 -0
- package/src/vite/discovery/shell-prerender-phase.ts +397 -0
- package/src/vite/discovery/state.ts +44 -0
- package/src/vite/discovery/virtual-module-codegen.ts +126 -20
- package/src/vite/index.ts +1 -0
- package/src/vite/plugin-types.ts +33 -0
- package/src/vite/plugins/version-plugin.ts +8 -0
- package/src/vite/plugins/virtual-entries.ts +37 -4
- package/src/vite/rango.ts +42 -2
- package/src/vite/router-discovery.ts +432 -21
- package/src/vite/utils/package-resolution.ts +1 -0
- package/src/vite/utils/prerender-utils.ts +25 -6
- package/src/vite/utils/shared-utils.ts +4 -2
- package/dist/__internal.d.ts +0 -83
- package/dist/__internal.d.ts.map +0 -1
- package/dist/__internal.js +0 -19
- package/dist/__internal.js.map +0 -1
- package/dist/__mocks__/version.d.ts +0 -7
- package/dist/__mocks__/version.d.ts.map +0 -1
- package/dist/__mocks__/version.js +0 -7
- package/dist/__mocks__/version.js.map +0 -1
- package/dist/__tests__/client-href.test.d.ts +0 -2
- package/dist/__tests__/client-href.test.d.ts.map +0 -1
- package/dist/__tests__/client-href.test.js +0 -74
- package/dist/__tests__/client-href.test.js.map +0 -1
- package/dist/__tests__/component-utils.test.d.ts +0 -2
- package/dist/__tests__/component-utils.test.d.ts.map +0 -1
- package/dist/__tests__/component-utils.test.js +0 -51
- package/dist/__tests__/component-utils.test.js.map +0 -1
- package/dist/__tests__/event-controller.test.d.ts +0 -2
- package/dist/__tests__/event-controller.test.d.ts.map +0 -1
- package/dist/__tests__/event-controller.test.js +0 -538
- package/dist/__tests__/event-controller.test.js.map +0 -1
- package/dist/__tests__/helpers/route-tree.d.ts +0 -118
- package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
- package/dist/__tests__/helpers/route-tree.js +0 -374
- package/dist/__tests__/helpers/route-tree.js.map +0 -1
- package/dist/__tests__/match-result.test.d.ts +0 -2
- package/dist/__tests__/match-result.test.d.ts.map +0 -1
- package/dist/__tests__/match-result.test.js +0 -154
- package/dist/__tests__/match-result.test.js.map +0 -1
- package/dist/__tests__/navigation-store.test.d.ts +0 -2
- package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
- package/dist/__tests__/navigation-store.test.js +0 -440
- package/dist/__tests__/navigation-store.test.js.map +0 -1
- package/dist/__tests__/partial-update.test.d.ts +0 -2
- package/dist/__tests__/partial-update.test.d.ts.map +0 -1
- package/dist/__tests__/partial-update.test.js +0 -1009
- package/dist/__tests__/partial-update.test.js.map +0 -1
- package/dist/__tests__/reverse-types.test.d.ts +0 -8
- package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
- package/dist/__tests__/reverse-types.test.js +0 -656
- package/dist/__tests__/reverse-types.test.js.map +0 -1
- package/dist/__tests__/route-definition.test.d.ts +0 -2
- package/dist/__tests__/route-definition.test.d.ts.map +0 -1
- package/dist/__tests__/route-definition.test.js +0 -55
- package/dist/__tests__/route-definition.test.js.map +0 -1
- package/dist/__tests__/router-helpers.test.d.ts +0 -2
- package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
- package/dist/__tests__/router-helpers.test.js +0 -377
- package/dist/__tests__/router-helpers.test.js.map +0 -1
- package/dist/__tests__/router-integration-2.test.d.ts +0 -2
- package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
- package/dist/__tests__/router-integration-2.test.js +0 -426
- package/dist/__tests__/router-integration-2.test.js.map +0 -1
- package/dist/__tests__/router-integration.test.d.ts +0 -2
- package/dist/__tests__/router-integration.test.d.ts.map +0 -1
- package/dist/__tests__/router-integration.test.js +0 -1051
- package/dist/__tests__/router-integration.test.js.map +0 -1
- package/dist/__tests__/search-params.test.d.ts +0 -5
- package/dist/__tests__/search-params.test.d.ts.map +0 -1
- package/dist/__tests__/search-params.test.js +0 -306
- package/dist/__tests__/search-params.test.js.map +0 -1
- package/dist/__tests__/segment-system.test.d.ts +0 -2
- package/dist/__tests__/segment-system.test.d.ts.map +0 -1
- package/dist/__tests__/segment-system.test.js +0 -627
- package/dist/__tests__/segment-system.test.js.map +0 -1
- package/dist/__tests__/static-handler-types.test.d.ts +0 -8
- package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
- package/dist/__tests__/static-handler-types.test.js +0 -63
- package/dist/__tests__/static-handler-types.test.js.map +0 -1
- package/dist/__tests__/urls.test.d.ts +0 -2
- package/dist/__tests__/urls.test.d.ts.map +0 -1
- package/dist/__tests__/urls.test.js +0 -421
- package/dist/__tests__/urls.test.js.map +0 -1
- package/dist/__tests__/use-mount.test.d.ts +0 -2
- package/dist/__tests__/use-mount.test.d.ts.map +0 -1
- package/dist/__tests__/use-mount.test.js +0 -35
- package/dist/__tests__/use-mount.test.js.map +0 -1
- package/dist/bin/rango.d.ts +0 -2
- package/dist/bin/rango.d.ts.map +0 -1
- package/dist/bin/rango.js.map +0 -1
- package/dist/browser/event-controller.d.ts +0 -191
- package/dist/browser/event-controller.d.ts.map +0 -1
- package/dist/browser/event-controller.js +0 -559
- package/dist/browser/event-controller.js.map +0 -1
- package/dist/browser/index.d.ts +0 -2
- package/dist/browser/index.d.ts.map +0 -1
- package/dist/browser/index.js +0 -14
- package/dist/browser/index.js.map +0 -1
- package/dist/browser/link-interceptor.d.ts +0 -38
- package/dist/browser/link-interceptor.d.ts.map +0 -1
- package/dist/browser/link-interceptor.js +0 -99
- package/dist/browser/link-interceptor.js.map +0 -1
- package/dist/browser/logging.d.ts +0 -10
- package/dist/browser/logging.d.ts.map +0 -1
- package/dist/browser/logging.js +0 -29
- package/dist/browser/logging.js.map +0 -1
- package/dist/browser/lru-cache.d.ts +0 -17
- package/dist/browser/lru-cache.d.ts.map +0 -1
- package/dist/browser/lru-cache.js +0 -50
- package/dist/browser/lru-cache.js.map +0 -1
- package/dist/browser/merge-segment-loaders.d.ts +0 -39
- package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
- package/dist/browser/merge-segment-loaders.js +0 -102
- package/dist/browser/merge-segment-loaders.js.map +0 -1
- package/dist/browser/navigation-bridge.d.ts +0 -102
- package/dist/browser/navigation-bridge.d.ts.map +0 -1
- package/dist/browser/navigation-bridge.js +0 -708
- package/dist/browser/navigation-bridge.js.map +0 -1
- package/dist/browser/navigation-client.d.ts +0 -25
- package/dist/browser/navigation-client.d.ts.map +0 -1
- package/dist/browser/navigation-client.js +0 -157
- package/dist/browser/navigation-client.js.map +0 -1
- package/dist/browser/navigation-store.d.ts +0 -101
- package/dist/browser/navigation-store.d.ts.map +0 -1
- package/dist/browser/navigation-store.js +0 -625
- package/dist/browser/navigation-store.js.map +0 -1
- package/dist/browser/partial-update.d.ts +0 -75
- package/dist/browser/partial-update.d.ts.map +0 -1
- package/dist/browser/partial-update.js +0 -426
- package/dist/browser/partial-update.js.map +0 -1
- package/dist/browser/react/Link.d.ts +0 -86
- package/dist/browser/react/Link.d.ts.map +0 -1
- package/dist/browser/react/Link.js +0 -128
- package/dist/browser/react/Link.js.map +0 -1
- package/dist/browser/react/NavigationProvider.d.ts +0 -63
- package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
- package/dist/browser/react/NavigationProvider.js +0 -216
- package/dist/browser/react/NavigationProvider.js.map +0 -1
- package/dist/browser/react/ScrollRestoration.d.ts +0 -75
- package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
- package/dist/browser/react/ScrollRestoration.js +0 -57
- package/dist/browser/react/ScrollRestoration.js.map +0 -1
- package/dist/browser/react/context.d.ts +0 -46
- package/dist/browser/react/context.d.ts.map +0 -1
- package/dist/browser/react/context.js +0 -10
- package/dist/browser/react/context.js.map +0 -1
- package/dist/browser/react/index.d.ts +0 -11
- package/dist/browser/react/index.d.ts.map +0 -1
- package/dist/browser/react/index.js +0 -22
- package/dist/browser/react/index.js.map +0 -1
- package/dist/browser/react/location-state-shared.d.ts +0 -63
- package/dist/browser/react/location-state-shared.d.ts.map +0 -1
- package/dist/browser/react/location-state-shared.js +0 -81
- package/dist/browser/react/location-state-shared.js.map +0 -1
- package/dist/browser/react/location-state.d.ts +0 -23
- package/dist/browser/react/location-state.d.ts.map +0 -1
- package/dist/browser/react/location-state.js +0 -29
- package/dist/browser/react/location-state.js.map +0 -1
- package/dist/browser/react/mount-context.d.ts +0 -24
- package/dist/browser/react/mount-context.d.ts.map +0 -1
- package/dist/browser/react/mount-context.js +0 -24
- package/dist/browser/react/mount-context.js.map +0 -1
- package/dist/browser/react/use-action.d.ts +0 -64
- package/dist/browser/react/use-action.d.ts.map +0 -1
- package/dist/browser/react/use-action.js +0 -134
- package/dist/browser/react/use-action.js.map +0 -1
- package/dist/browser/react/use-client-cache.d.ts +0 -41
- package/dist/browser/react/use-client-cache.d.ts.map +0 -1
- package/dist/browser/react/use-client-cache.js +0 -39
- package/dist/browser/react/use-client-cache.js.map +0 -1
- package/dist/browser/react/use-handle.d.ts +0 -31
- package/dist/browser/react/use-handle.d.ts.map +0 -1
- package/dist/browser/react/use-handle.js +0 -144
- package/dist/browser/react/use-handle.js.map +0 -1
- package/dist/browser/react/use-href.d.ts +0 -33
- package/dist/browser/react/use-href.d.ts.map +0 -1
- package/dist/browser/react/use-href.js +0 -39
- package/dist/browser/react/use-href.js.map +0 -1
- package/dist/browser/react/use-link-status.d.ts +0 -37
- package/dist/browser/react/use-link-status.d.ts.map +0 -1
- package/dist/browser/react/use-link-status.js +0 -99
- package/dist/browser/react/use-link-status.js.map +0 -1
- package/dist/browser/react/use-mount.d.ts +0 -25
- package/dist/browser/react/use-mount.d.ts.map +0 -1
- package/dist/browser/react/use-mount.js +0 -30
- package/dist/browser/react/use-mount.js.map +0 -1
- package/dist/browser/react/use-navigation.d.ts +0 -27
- package/dist/browser/react/use-navigation.d.ts.map +0 -1
- package/dist/browser/react/use-navigation.js +0 -87
- package/dist/browser/react/use-navigation.js.map +0 -1
- package/dist/browser/react/use-segments.d.ts +0 -38
- package/dist/browser/react/use-segments.d.ts.map +0 -1
- package/dist/browser/react/use-segments.js +0 -130
- package/dist/browser/react/use-segments.js.map +0 -1
- package/dist/browser/request-controller.d.ts +0 -26
- package/dist/browser/request-controller.d.ts.map +0 -1
- package/dist/browser/request-controller.js +0 -147
- package/dist/browser/request-controller.js.map +0 -1
- package/dist/browser/rsc-router.d.ts +0 -129
- package/dist/browser/rsc-router.d.ts.map +0 -1
- package/dist/browser/rsc-router.js +0 -195
- package/dist/browser/rsc-router.js.map +0 -1
- package/dist/browser/scroll-restoration.d.ts +0 -93
- package/dist/browser/scroll-restoration.d.ts.map +0 -1
- package/dist/browser/scroll-restoration.js +0 -321
- package/dist/browser/scroll-restoration.js.map +0 -1
- package/dist/browser/segment-structure-assert.d.ts +0 -17
- package/dist/browser/segment-structure-assert.d.ts.map +0 -1
- package/dist/browser/segment-structure-assert.js +0 -59
- package/dist/browser/segment-structure-assert.js.map +0 -1
- package/dist/browser/server-action-bridge.d.ts +0 -26
- package/dist/browser/server-action-bridge.d.ts.map +0 -1
- package/dist/browser/server-action-bridge.js +0 -668
- package/dist/browser/server-action-bridge.js.map +0 -1
- package/dist/browser/shallow.d.ts +0 -12
- package/dist/browser/shallow.d.ts.map +0 -1
- package/dist/browser/shallow.js +0 -34
- package/dist/browser/shallow.js.map +0 -1
- package/dist/browser/types.d.ts +0 -369
- package/dist/browser/types.d.ts.map +0 -1
- package/dist/browser/types.js +0 -2
- package/dist/browser/types.js.map +0 -1
- package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
- package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
- package/dist/build/__tests__/generate-cli.test.js +0 -237
- package/dist/build/__tests__/generate-cli.test.js.map +0 -1
- package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
- package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
- package/dist/build/__tests__/generate-manifest.test.js +0 -119
- package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
- package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
- package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
- package/dist/build/__tests__/generate-route-types.test.js +0 -620
- package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
- package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
- package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
- package/dist/build/__tests__/per-router-manifest.test.js +0 -308
- package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
- package/dist/build/generate-manifest.d.ts +0 -81
- package/dist/build/generate-manifest.d.ts.map +0 -1
- package/dist/build/generate-manifest.js +0 -276
- package/dist/build/generate-manifest.js.map +0 -1
- package/dist/build/generate-route-types.d.ts +0 -115
- package/dist/build/generate-route-types.d.ts.map +0 -1
- package/dist/build/generate-route-types.js +0 -740
- package/dist/build/generate-route-types.js.map +0 -1
- package/dist/build/index.d.ts +0 -21
- package/dist/build/index.d.ts.map +0 -1
- package/dist/build/index.js +0 -21
- package/dist/build/index.js.map +0 -1
- package/dist/build/route-trie.d.ts +0 -71
- package/dist/build/route-trie.d.ts.map +0 -1
- package/dist/build/route-trie.js +0 -175
- package/dist/build/route-trie.js.map +0 -1
- package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
- package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
- package/dist/cache/__tests__/cache-scope.test.js +0 -208
- package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
- package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
- package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
- package/dist/cache/__tests__/document-cache.test.js +0 -345
- package/dist/cache/__tests__/document-cache.test.js.map +0 -1
- package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
- package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
- package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
- package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
- package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
- package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
- package/dist/cache/__tests__/memory-store.test.js +0 -367
- package/dist/cache/__tests__/memory-store.test.js.map +0 -1
- package/dist/cache/cache-scope.d.ts +0 -102
- package/dist/cache/cache-scope.d.ts.map +0 -1
- package/dist/cache/cache-scope.js +0 -440
- package/dist/cache/cache-scope.js.map +0 -1
- package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
- package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
- package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
- package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
- package/dist/cache/cf/cf-cache-store.d.ts +0 -165
- package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
- package/dist/cache/cf/cf-cache-store.js +0 -242
- package/dist/cache/cf/cf-cache-store.js.map +0 -1
- package/dist/cache/cf/index.d.ts +0 -14
- package/dist/cache/cf/index.d.ts.map +0 -1
- package/dist/cache/cf/index.js +0 -17
- package/dist/cache/cf/index.js.map +0 -1
- package/dist/cache/document-cache.d.ts +0 -64
- package/dist/cache/document-cache.d.ts.map +0 -1
- package/dist/cache/document-cache.js +0 -228
- package/dist/cache/document-cache.js.map +0 -1
- package/dist/cache/index.d.ts +0 -19
- package/dist/cache/index.d.ts.map +0 -1
- package/dist/cache/index.js +0 -21
- package/dist/cache/index.js.map +0 -1
- package/dist/cache/memory-segment-store.d.ts +0 -110
- package/dist/cache/memory-segment-store.d.ts.map +0 -1
- package/dist/cache/memory-segment-store.js +0 -117
- package/dist/cache/memory-segment-store.js.map +0 -1
- package/dist/cache/memory-store.d.ts +0 -41
- package/dist/cache/memory-store.d.ts.map +0 -1
- package/dist/cache/memory-store.js +0 -191
- package/dist/cache/memory-store.js.map +0 -1
- package/dist/cache/types.d.ts +0 -317
- package/dist/cache/types.d.ts.map +0 -1
- package/dist/cache/types.js +0 -12
- package/dist/cache/types.js.map +0 -1
- package/dist/client.d.ts +0 -248
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -367
- package/dist/client.js.map +0 -1
- package/dist/client.rsc.d.ts +0 -26
- package/dist/client.rsc.d.ts.map +0 -1
- package/dist/client.rsc.js +0 -46
- package/dist/client.rsc.js.map +0 -1
- package/dist/component-utils.d.ts +0 -36
- package/dist/component-utils.d.ts.map +0 -1
- package/dist/component-utils.js +0 -61
- package/dist/component-utils.js.map +0 -1
- package/dist/components/DefaultDocument.d.ts +0 -13
- package/dist/components/DefaultDocument.d.ts.map +0 -1
- package/dist/components/DefaultDocument.js +0 -15
- package/dist/components/DefaultDocument.js.map +0 -1
- package/dist/debug.d.ts +0 -58
- package/dist/debug.d.ts.map +0 -1
- package/dist/debug.js +0 -157
- package/dist/debug.js.map +0 -1
- package/dist/default-error-boundary.d.ts +0 -11
- package/dist/default-error-boundary.d.ts.map +0 -1
- package/dist/default-error-boundary.js +0 -45
- package/dist/default-error-boundary.js.map +0 -1
- package/dist/deps/browser.d.ts +0 -2
- package/dist/deps/browser.d.ts.map +0 -1
- package/dist/deps/browser.js +0 -3
- package/dist/deps/browser.js.map +0 -1
- package/dist/deps/html-stream-client.d.ts +0 -2
- package/dist/deps/html-stream-client.d.ts.map +0 -1
- package/dist/deps/html-stream-client.js +0 -3
- package/dist/deps/html-stream-client.js.map +0 -1
- package/dist/deps/html-stream-server.d.ts +0 -2
- package/dist/deps/html-stream-server.d.ts.map +0 -1
- package/dist/deps/html-stream-server.js +0 -3
- package/dist/deps/html-stream-server.js.map +0 -1
- package/dist/deps/rsc.d.ts +0 -2
- package/dist/deps/rsc.d.ts.map +0 -1
- package/dist/deps/rsc.js +0 -4
- package/dist/deps/rsc.js.map +0 -1
- package/dist/deps/ssr.d.ts +0 -2
- package/dist/deps/ssr.d.ts.map +0 -1
- package/dist/deps/ssr.js +0 -3
- package/dist/deps/ssr.js.map +0 -1
- package/dist/errors.d.ts +0 -174
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -241
- package/dist/errors.js.map +0 -1
- package/dist/handle.d.ts +0 -78
- package/dist/handle.d.ts.map +0 -1
- package/dist/handle.js +0 -82
- package/dist/handle.js.map +0 -1
- package/dist/handles/MetaTags.d.ts +0 -14
- package/dist/handles/MetaTags.d.ts.map +0 -1
- package/dist/handles/MetaTags.js +0 -136
- package/dist/handles/MetaTags.js.map +0 -1
- package/dist/handles/index.d.ts +0 -6
- package/dist/handles/index.d.ts.map +0 -1
- package/dist/handles/index.js +0 -6
- package/dist/handles/index.js.map +0 -1
- package/dist/handles/meta.d.ts +0 -39
- package/dist/handles/meta.d.ts.map +0 -1
- package/dist/handles/meta.js +0 -202
- package/dist/handles/meta.js.map +0 -1
- package/dist/host/__tests__/errors.test.d.ts +0 -2
- package/dist/host/__tests__/errors.test.d.ts.map +0 -1
- package/dist/host/__tests__/errors.test.js +0 -76
- package/dist/host/__tests__/errors.test.js.map +0 -1
- package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
- package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
- package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
- package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
- package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
- package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
- package/dist/host/__tests__/pattern-matcher.test.js +0 -251
- package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
- package/dist/host/__tests__/router.test.d.ts +0 -2
- package/dist/host/__tests__/router.test.d.ts.map +0 -1
- package/dist/host/__tests__/router.test.js +0 -241
- package/dist/host/__tests__/router.test.js.map +0 -1
- package/dist/host/__tests__/testing.test.d.ts +0 -2
- package/dist/host/__tests__/testing.test.d.ts.map +0 -1
- package/dist/host/__tests__/testing.test.js +0 -64
- package/dist/host/__tests__/testing.test.js.map +0 -1
- package/dist/host/__tests__/utils.test.d.ts +0 -2
- package/dist/host/__tests__/utils.test.d.ts.map +0 -1
- package/dist/host/__tests__/utils.test.js +0 -29
- package/dist/host/__tests__/utils.test.js.map +0 -1
- package/dist/host/cookie-handler.d.ts +0 -34
- package/dist/host/cookie-handler.d.ts.map +0 -1
- package/dist/host/cookie-handler.js +0 -124
- package/dist/host/cookie-handler.js.map +0 -1
- package/dist/host/errors.d.ts +0 -56
- package/dist/host/errors.d.ts.map +0 -1
- package/dist/host/errors.js +0 -79
- package/dist/host/errors.js.map +0 -1
- package/dist/host/index.d.ts +0 -29
- package/dist/host/index.d.ts.map +0 -1
- package/dist/host/index.js +0 -32
- package/dist/host/index.js.map +0 -1
- package/dist/host/pattern-matcher.d.ts +0 -36
- package/dist/host/pattern-matcher.d.ts.map +0 -1
- package/dist/host/pattern-matcher.js +0 -172
- package/dist/host/pattern-matcher.js.map +0 -1
- package/dist/host/router.d.ts +0 -26
- package/dist/host/router.d.ts.map +0 -1
- package/dist/host/router.js +0 -218
- package/dist/host/router.js.map +0 -1
- package/dist/host/testing.d.ts +0 -36
- package/dist/host/testing.d.ts.map +0 -1
- package/dist/host/testing.js +0 -55
- package/dist/host/testing.js.map +0 -1
- package/dist/host/types.d.ts +0 -115
- package/dist/host/types.d.ts.map +0 -1
- package/dist/host/types.js +0 -7
- package/dist/host/types.js.map +0 -1
- package/dist/host/utils.d.ts +0 -21
- package/dist/host/utils.d.ts.map +0 -1
- package/dist/host/utils.js +0 -23
- package/dist/host/utils.js.map +0 -1
- package/dist/href-client.d.ts +0 -131
- package/dist/href-client.d.ts.map +0 -1
- package/dist/href-client.js +0 -64
- package/dist/href-client.js.map +0 -1
- package/dist/href-context.d.ts +0 -29
- package/dist/href-context.d.ts.map +0 -1
- package/dist/href-context.js +0 -21
- package/dist/href-context.js.map +0 -1
- package/dist/index.d.ts +0 -73
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -91
- package/dist/index.js.map +0 -1
- package/dist/index.rsc.d.ts +0 -32
- package/dist/index.rsc.d.ts.map +0 -1
- package/dist/index.rsc.js +0 -40
- package/dist/index.rsc.js.map +0 -1
- package/dist/internal-debug.d.ts +0 -2
- package/dist/internal-debug.d.ts.map +0 -1
- package/dist/internal-debug.js +0 -5
- package/dist/internal-debug.js.map +0 -1
- package/dist/loader.d.ts +0 -14
- package/dist/loader.d.ts.map +0 -1
- package/dist/loader.js +0 -20
- package/dist/loader.js.map +0 -1
- package/dist/loader.rsc.d.ts +0 -19
- package/dist/loader.rsc.d.ts.map +0 -1
- package/dist/loader.rsc.js +0 -99
- package/dist/loader.rsc.js.map +0 -1
- package/dist/network-error-thrower.d.ts +0 -17
- package/dist/network-error-thrower.d.ts.map +0 -1
- package/dist/network-error-thrower.js +0 -14
- package/dist/network-error-thrower.js.map +0 -1
- package/dist/outlet-context.d.ts +0 -13
- package/dist/outlet-context.d.ts.map +0 -1
- package/dist/outlet-context.js +0 -3
- package/dist/outlet-context.js.map +0 -1
- package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
- package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
- package/dist/prerender/__tests__/param-hash.test.js +0 -148
- package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
- package/dist/prerender/param-hash.d.ts +0 -16
- package/dist/prerender/param-hash.d.ts.map +0 -1
- package/dist/prerender/param-hash.js +0 -36
- package/dist/prerender/param-hash.js.map +0 -1
- package/dist/prerender/store.d.ts +0 -38
- package/dist/prerender/store.d.ts.map +0 -1
- package/dist/prerender/store.js +0 -61
- package/dist/prerender/store.js.map +0 -1
- package/dist/prerender.d.ts +0 -66
- package/dist/prerender.d.ts.map +0 -1
- package/dist/prerender.js +0 -57
- package/dist/prerender.js.map +0 -1
- package/dist/reverse.d.ts +0 -196
- package/dist/reverse.d.ts.map +0 -1
- package/dist/reverse.js +0 -78
- package/dist/reverse.js.map +0 -1
- package/dist/root-error-boundary.d.ts +0 -33
- package/dist/root-error-boundary.d.ts.map +0 -1
- package/dist/root-error-boundary.js +0 -165
- package/dist/root-error-boundary.js.map +0 -1
- package/dist/route-content-wrapper.d.ts +0 -46
- package/dist/route-content-wrapper.d.ts.map +0 -1
- package/dist/route-content-wrapper.js +0 -77
- package/dist/route-content-wrapper.js.map +0 -1
- package/dist/route-definition.d.ts +0 -421
- package/dist/route-definition.d.ts.map +0 -1
- package/dist/route-definition.js +0 -868
- package/dist/route-definition.js.map +0 -1
- package/dist/route-map-builder.d.ts +0 -155
- package/dist/route-map-builder.d.ts.map +0 -1
- package/dist/route-map-builder.js +0 -237
- package/dist/route-map-builder.js.map +0 -1
- package/dist/route-types.d.ts +0 -165
- package/dist/route-types.d.ts.map +0 -1
- package/dist/route-types.js +0 -7
- package/dist/route-types.js.map +0 -1
- package/dist/router/__tests__/handler-context.test.d.ts +0 -2
- package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
- package/dist/router/__tests__/handler-context.test.js +0 -65
- package/dist/router/__tests__/handler-context.test.js.map +0 -1
- package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
- package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
- package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
- package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
- package/dist/router/__tests__/match-context.test.d.ts +0 -2
- package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
- package/dist/router/__tests__/match-context.test.js +0 -92
- package/dist/router/__tests__/match-context.test.js.map +0 -1
- package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
- package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
- package/dist/router/__tests__/match-pipelines.test.js +0 -417
- package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
- package/dist/router/__tests__/match-result.test.d.ts +0 -2
- package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
- package/dist/router/__tests__/match-result.test.js +0 -457
- package/dist/router/__tests__/match-result.test.js.map +0 -1
- package/dist/router/__tests__/on-error.test.d.ts +0 -2
- package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
- package/dist/router/__tests__/on-error.test.js +0 -678
- package/dist/router/__tests__/on-error.test.js.map +0 -1
- package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
- package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
- package/dist/router/__tests__/pattern-matching.test.js +0 -629
- package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
- package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
- package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
- package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
- package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
- package/dist/router/error-handling.d.ts +0 -77
- package/dist/router/error-handling.d.ts.map +0 -1
- package/dist/router/error-handling.js +0 -202
- package/dist/router/error-handling.js.map +0 -1
- package/dist/router/handler-context.d.ts +0 -20
- package/dist/router/handler-context.d.ts.map +0 -1
- package/dist/router/handler-context.js +0 -198
- package/dist/router/handler-context.js.map +0 -1
- package/dist/router/intercept-resolution.d.ts +0 -66
- package/dist/router/intercept-resolution.d.ts.map +0 -1
- package/dist/router/intercept-resolution.js +0 -246
- package/dist/router/intercept-resolution.js.map +0 -1
- package/dist/router/loader-resolution.d.ts +0 -64
- package/dist/router/loader-resolution.d.ts.map +0 -1
- package/dist/router/loader-resolution.js +0 -284
- package/dist/router/loader-resolution.js.map +0 -1
- package/dist/router/logging.d.ts +0 -15
- package/dist/router/logging.d.ts.map +0 -1
- package/dist/router/logging.js +0 -99
- package/dist/router/logging.js.map +0 -1
- package/dist/router/manifest.d.ts +0 -22
- package/dist/router/manifest.d.ts.map +0 -1
- package/dist/router/manifest.js +0 -181
- package/dist/router/manifest.js.map +0 -1
- package/dist/router/match-api.d.ts +0 -35
- package/dist/router/match-api.d.ts.map +0 -1
- package/dist/router/match-api.js +0 -406
- package/dist/router/match-api.js.map +0 -1
- package/dist/router/match-context.d.ts +0 -206
- package/dist/router/match-context.d.ts.map +0 -1
- package/dist/router/match-context.js +0 -17
- package/dist/router/match-context.js.map +0 -1
- package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
- package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
- package/dist/router/match-middleware/background-revalidation.js +0 -75
- package/dist/router/match-middleware/background-revalidation.js.map +0 -1
- package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
- package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
- package/dist/router/match-middleware/cache-lookup.js +0 -257
- package/dist/router/match-middleware/cache-lookup.js.map +0 -1
- package/dist/router/match-middleware/cache-store.d.ts +0 -113
- package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
- package/dist/router/match-middleware/cache-store.js +0 -108
- package/dist/router/match-middleware/cache-store.js.map +0 -1
- package/dist/router/match-middleware/index.d.ts +0 -81
- package/dist/router/match-middleware/index.d.ts.map +0 -1
- package/dist/router/match-middleware/index.js +0 -80
- package/dist/router/match-middleware/index.js.map +0 -1
- package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
- package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
- package/dist/router/match-middleware/intercept-resolution.js +0 -134
- package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
- package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
- package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
- package/dist/router/match-middleware/segment-resolution.js +0 -53
- package/dist/router/match-middleware/segment-resolution.js.map +0 -1
- package/dist/router/match-pipelines.d.ts +0 -147
- package/dist/router/match-pipelines.d.ts.map +0 -1
- package/dist/router/match-pipelines.js +0 -82
- package/dist/router/match-pipelines.js.map +0 -1
- package/dist/router/match-result.d.ts +0 -126
- package/dist/router/match-result.d.ts.map +0 -1
- package/dist/router/match-result.js +0 -93
- package/dist/router/match-result.js.map +0 -1
- package/dist/router/metrics.d.ts +0 -20
- package/dist/router/metrics.d.ts.map +0 -1
- package/dist/router/metrics.js +0 -47
- package/dist/router/metrics.js.map +0 -1
- package/dist/router/middleware.d.ts +0 -249
- package/dist/router/middleware.d.ts.map +0 -1
- package/dist/router/middleware.js +0 -434
- package/dist/router/middleware.js.map +0 -1
- package/dist/router/middleware.test.d.ts +0 -2
- package/dist/router/middleware.test.d.ts.map +0 -1
- package/dist/router/middleware.test.js +0 -816
- package/dist/router/middleware.test.js.map +0 -1
- package/dist/router/pattern-matching.d.ts +0 -149
- package/dist/router/pattern-matching.d.ts.map +0 -1
- package/dist/router/pattern-matching.js +0 -349
- package/dist/router/pattern-matching.js.map +0 -1
- package/dist/router/revalidation.d.ts +0 -44
- package/dist/router/revalidation.d.ts.map +0 -1
- package/dist/router/revalidation.js +0 -147
- package/dist/router/revalidation.js.map +0 -1
- package/dist/router/router-context.d.ts +0 -135
- package/dist/router/router-context.d.ts.map +0 -1
- package/dist/router/router-context.js +0 -36
- package/dist/router/router-context.js.map +0 -1
- package/dist/router/segment-resolution.d.ts +0 -127
- package/dist/router/segment-resolution.d.ts.map +0 -1
- package/dist/router/segment-resolution.js +0 -919
- package/dist/router/segment-resolution.js.map +0 -1
- package/dist/router/trie-matching.d.ts +0 -40
- package/dist/router/trie-matching.d.ts.map +0 -1
- package/dist/router/trie-matching.js +0 -127
- package/dist/router/trie-matching.js.map +0 -1
- package/dist/router/types.d.ts +0 -136
- package/dist/router/types.d.ts.map +0 -1
- package/dist/router/types.js +0 -7
- package/dist/router/types.js.map +0 -1
- package/dist/router.d.ts +0 -753
- package/dist/router.d.ts.map +0 -1
- package/dist/router.gen.d.ts +0 -6
- package/dist/router.gen.d.ts.map +0 -1
- package/dist/router.gen.js +0 -6
- package/dist/router.gen.js.map +0 -1
- package/dist/router.js +0 -1304
- package/dist/router.js.map +0 -1
- package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
- package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
- package/dist/rsc/__tests__/helpers.test.js +0 -140
- package/dist/rsc/__tests__/helpers.test.js.map +0 -1
- package/dist/rsc/handler.d.ts +0 -45
- package/dist/rsc/handler.d.ts.map +0 -1
- package/dist/rsc/handler.js +0 -1172
- package/dist/rsc/handler.js.map +0 -1
- package/dist/rsc/helpers.d.ts +0 -16
- package/dist/rsc/helpers.d.ts.map +0 -1
- package/dist/rsc/helpers.js +0 -55
- package/dist/rsc/helpers.js.map +0 -1
- package/dist/rsc/index.d.ts +0 -22
- package/dist/rsc/index.d.ts.map +0 -1
- package/dist/rsc/index.js +0 -23
- package/dist/rsc/index.js.map +0 -1
- package/dist/rsc/nonce.d.ts +0 -9
- package/dist/rsc/nonce.d.ts.map +0 -1
- package/dist/rsc/nonce.js +0 -18
- package/dist/rsc/nonce.js.map +0 -1
- package/dist/rsc/types.d.ts +0 -206
- package/dist/rsc/types.d.ts.map +0 -1
- package/dist/rsc/types.js +0 -8
- package/dist/rsc/types.js.map +0 -1
- package/dist/search-params.d.ts +0 -103
- package/dist/search-params.d.ts.map +0 -1
- package/dist/search-params.js +0 -74
- package/dist/search-params.js.map +0 -1
- package/dist/segment-system.d.ts +0 -75
- package/dist/segment-system.d.ts.map +0 -1
- package/dist/segment-system.js +0 -336
- package/dist/segment-system.js.map +0 -1
- package/dist/server/context.d.ts +0 -245
- package/dist/server/context.d.ts.map +0 -1
- package/dist/server/context.js +0 -197
- package/dist/server/context.js.map +0 -1
- package/dist/server/fetchable-loader-store.d.ts +0 -18
- package/dist/server/fetchable-loader-store.d.ts.map +0 -1
- package/dist/server/fetchable-loader-store.js +0 -18
- package/dist/server/fetchable-loader-store.js.map +0 -1
- package/dist/server/handle-store.d.ts +0 -85
- package/dist/server/handle-store.d.ts.map +0 -1
- package/dist/server/handle-store.js +0 -142
- package/dist/server/handle-store.js.map +0 -1
- package/dist/server/loader-registry.d.ts +0 -55
- package/dist/server/loader-registry.d.ts.map +0 -1
- package/dist/server/loader-registry.js +0 -132
- package/dist/server/loader-registry.js.map +0 -1
- package/dist/server/request-context.d.ts +0 -226
- package/dist/server/request-context.d.ts.map +0 -1
- package/dist/server/request-context.js +0 -290
- package/dist/server/request-context.js.map +0 -1
- package/dist/server/root-layout.d.ts +0 -4
- package/dist/server/root-layout.d.ts.map +0 -1
- package/dist/server/root-layout.js +0 -5
- package/dist/server/root-layout.js.map +0 -1
- package/dist/server.d.ts +0 -15
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js +0 -20
- package/dist/server.js.map +0 -1
- package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
- package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
- package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
- package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
- package/dist/ssr/index.d.ts +0 -98
- package/dist/ssr/index.d.ts.map +0 -1
- package/dist/ssr/index.js +0 -158
- package/dist/ssr/index.js.map +0 -1
- package/dist/static-handler.d.ts +0 -50
- package/dist/static-handler.d.ts.map +0 -1
- package/dist/static-handler.gen.d.ts +0 -5
- package/dist/static-handler.gen.d.ts.map +0 -1
- package/dist/static-handler.gen.js +0 -5
- package/dist/static-handler.gen.js.map +0 -1
- package/dist/static-handler.js +0 -29
- package/dist/static-handler.js.map +0 -1
- package/dist/theme/ThemeProvider.d.ts +0 -20
- package/dist/theme/ThemeProvider.d.ts.map +0 -1
- package/dist/theme/ThemeProvider.js +0 -240
- package/dist/theme/ThemeProvider.js.map +0 -1
- package/dist/theme/ThemeScript.d.ts +0 -48
- package/dist/theme/ThemeScript.d.ts.map +0 -1
- package/dist/theme/ThemeScript.js +0 -13
- package/dist/theme/ThemeScript.js.map +0 -1
- package/dist/theme/__tests__/theme.test.d.ts +0 -2
- package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
- package/dist/theme/__tests__/theme.test.js +0 -103
- package/dist/theme/__tests__/theme.test.js.map +0 -1
- package/dist/theme/constants.d.ts +0 -29
- package/dist/theme/constants.d.ts.map +0 -1
- package/dist/theme/constants.js +0 -48
- package/dist/theme/constants.js.map +0 -1
- package/dist/theme/index.d.ts +0 -31
- package/dist/theme/index.d.ts.map +0 -1
- package/dist/theme/index.js +0 -36
- package/dist/theme/index.js.map +0 -1
- package/dist/theme/theme-context.d.ts +0 -40
- package/dist/theme/theme-context.d.ts.map +0 -1
- package/dist/theme/theme-context.js +0 -60
- package/dist/theme/theme-context.js.map +0 -1
- package/dist/theme/theme-script.d.ts +0 -27
- package/dist/theme/theme-script.d.ts.map +0 -1
- package/dist/theme/theme-script.js +0 -147
- package/dist/theme/theme-script.js.map +0 -1
- package/dist/theme/types.d.ts +0 -163
- package/dist/theme/types.d.ts.map +0 -1
- package/dist/theme/types.js +0 -11
- package/dist/theme/types.js.map +0 -1
- package/dist/theme/use-theme.d.ts +0 -12
- package/dist/theme/use-theme.d.ts.map +0 -1
- package/dist/theme/use-theme.js +0 -40
- package/dist/theme/use-theme.js.map +0 -1
- package/dist/types.d.ts +0 -1479
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -10
- package/dist/types.js.map +0 -1
- package/dist/urls.d.ts +0 -441
- package/dist/urls.d.ts.map +0 -1
- package/dist/urls.gen.d.ts +0 -8
- package/dist/urls.gen.d.ts.map +0 -1
- package/dist/urls.gen.js +0 -8
- package/dist/urls.gen.js.map +0 -1
- package/dist/urls.js +0 -443
- package/dist/urls.js.map +0 -1
- package/dist/use-loader.d.ts +0 -127
- package/dist/use-loader.d.ts.map +0 -1
- package/dist/use-loader.js +0 -237
- package/dist/use-loader.js.map +0 -1
- package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
- package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
- package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
- package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
- package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
- package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
- package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
- package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
- package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
- package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
- package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
- package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
- package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
- package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
- package/dist/vite/__tests__/expose-router-id.test.js +0 -39
- package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
- package/dist/vite/ast-handler-extract.d.ts +0 -49
- package/dist/vite/ast-handler-extract.d.ts.map +0 -1
- package/dist/vite/ast-handler-extract.js +0 -249
- package/dist/vite/ast-handler-extract.js.map +0 -1
- package/dist/vite/expose-action-id.d.ts +0 -19
- package/dist/vite/expose-action-id.d.ts.map +0 -1
- package/dist/vite/expose-action-id.js +0 -250
- package/dist/vite/expose-action-id.js.map +0 -1
- package/dist/vite/expose-id-utils.d.ts +0 -69
- package/dist/vite/expose-id-utils.d.ts.map +0 -1
- package/dist/vite/expose-id-utils.js +0 -289
- package/dist/vite/expose-id-utils.js.map +0 -1
- package/dist/vite/expose-internal-ids.d.ts +0 -22
- package/dist/vite/expose-internal-ids.d.ts.map +0 -1
- package/dist/vite/expose-internal-ids.js +0 -886
- package/dist/vite/expose-internal-ids.js.map +0 -1
- package/dist/vite/index.d.ts +0 -149
- package/dist/vite/index.d.ts.map +0 -1
- package/dist/vite/index.js.bak +0 -5448
- package/dist/vite/index.js.map +0 -1
- package/dist/vite/index.named-routes.gen.ts +0 -103
- package/dist/vite/package-resolution.d.ts +0 -43
- package/dist/vite/package-resolution.d.ts.map +0 -1
- package/dist/vite/package-resolution.js +0 -112
- package/dist/vite/package-resolution.js.map +0 -1
- package/dist/vite/virtual-entries.d.ts +0 -25
- package/dist/vite/virtual-entries.d.ts.map +0 -1
- package/dist/vite/virtual-entries.js +0 -110
- package/dist/vite/virtual-entries.js.map +0 -1
- package/skills/migrate-react-router/cloudflare-workers.md +0 -129
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import type { TrailingSlashMode } from "../types.js";
|
|
2
|
+
import type { AllUseItems, UrlPatternsBrand } from "../route-types.js";
|
|
3
|
+
import type { SearchSchema } from "../search-params.js";
|
|
4
|
+
import { RESPONSE_TYPE } from "./response-types.js";
|
|
5
|
+
import type { DefaultEnv } from "../types.js";
|
|
6
|
+
import type { PathHelpers } from "./path-helper-types.js";
|
|
7
|
+
/**
|
|
8
|
+
* Builder function accepted by urls() and as a shorthand for routes()/urls option.
|
|
9
|
+
* When passed directly to routes() or createRouter({ urls }), it is wrapped in urls() automatically.
|
|
10
|
+
*/
|
|
11
|
+
export type UrlBuilder<TEnv = DefaultEnv, TItems extends readonly (AllUseItems | readonly AllUseItems[])[] = readonly AllUseItems[]> = (helpers: PathHelpers<TEnv>) => TItems;
|
|
12
|
+
/**
|
|
13
|
+
* Sentinel type for unnamed routes.
|
|
14
|
+
* Using a branded string instead of `never` prevents TypeScript from
|
|
15
|
+
* widening array type inference when mixing named and unnamed routes.
|
|
16
|
+
*/
|
|
17
|
+
export type UnnamedRoute = "$unnamed";
|
|
18
|
+
/**
|
|
19
|
+
* Sentinel type for include() mounts that stay local to the mounted module.
|
|
20
|
+
* This keeps child route names out of the parent/global type map while still
|
|
21
|
+
* allowing the mounted module to use its own local route names internally.
|
|
22
|
+
*
|
|
23
|
+
* Branded with a symbol key so it cannot be accidentally produced by user code.
|
|
24
|
+
*/
|
|
25
|
+
declare const LOCAL_ONLY_BRAND: unique symbol;
|
|
26
|
+
export type LocalOnlyInclude = string & {
|
|
27
|
+
[LOCAL_ONLY_BRAND]: void;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Options for path() function
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* Options for the `ppr` path option (PPR shell caching — Axis 2, see
|
|
34
|
+
* docs/design/ppr-shell-resume.md and the /ppr skill). Declaring
|
|
35
|
+
* `ppr: true | PartialPrerenderProps` on a page route opts that DOCUMENT into
|
|
36
|
+
* shell capture: the rendered HTML shell (everything that is not a live hole) is
|
|
37
|
+
* cached and, on a later GET, flushed immediately while fizz resumes only the
|
|
38
|
+
* holes. Serving is integral to the router — there is no middleware to mount;
|
|
39
|
+
* the shell store is the app-level `createRouter({ cache })` store (which must
|
|
40
|
+
* implement the `getShell`/`putShell` family).
|
|
41
|
+
*/
|
|
42
|
+
export interface PartialPrerenderProps {
|
|
43
|
+
/**
|
|
44
|
+
* Shell time-to-live in seconds. Defaults to 300 (`ppr: true` uses the same
|
|
45
|
+
* default).
|
|
46
|
+
*/
|
|
47
|
+
ttl?: number;
|
|
48
|
+
/**
|
|
49
|
+
* Stale-while-revalidate window in seconds: a stale shell is still served
|
|
50
|
+
* while a background recapture refreshes it.
|
|
51
|
+
*/
|
|
52
|
+
swr?: number;
|
|
53
|
+
/**
|
|
54
|
+
* Operational tags attached to the captured shell entry for
|
|
55
|
+
* `updateTag()`/`revalidateTag()`-driven eviction. UNIONED with the tags the
|
|
56
|
+
* capture render auto-collects (the shell's own non-loader request tags).
|
|
57
|
+
*/
|
|
58
|
+
tags?: string[];
|
|
59
|
+
/**
|
|
60
|
+
* Upper bound (serialized UTF-8 bytes) on the capture data snapshot riding
|
|
61
|
+
* inside the shell entry. The snapshot duplicates every cache-store value
|
|
62
|
+
* the capture pinned, so a page over a large cache() segment can push the
|
|
63
|
+
* entry toward store value limits (Cloudflare KV caps a value at 25 MiB).
|
|
64
|
+
* Over the cap the snapshot is skipped: the shell is still stored and
|
|
65
|
+
* served, but pinned reads fall back to the live store, so drifted cached
|
|
66
|
+
* content can hydration-mismatch and be repaired client-side (the
|
|
67
|
+
* pre-snapshot behavior). Reported once per key. Defaults to 8 MiB.
|
|
68
|
+
*/
|
|
69
|
+
maxSnapshotBytes?: number;
|
|
70
|
+
/**
|
|
71
|
+
* Capture settle budget in MILLISECONDS (default 15000). Bounds the whole
|
|
72
|
+
* background capture: the wait for deferred shell material — top-level
|
|
73
|
+
* pushed handle promises (`ctx.use(Meta)(promise.then(...))` and friends)
|
|
74
|
+
* are AWAITED and their settled values baked into the stored shell — AND
|
|
75
|
+
* the fizz prerender deadline. Declare it to tighten the budget below the
|
|
76
|
+
* default or when a route's shell material takes longer than 15s to
|
|
77
|
+
* settle. A budget that expires with pushes still pending REFUSES the
|
|
78
|
+
* capture (the route stays MISS with the once-per-key warning) — a shell
|
|
79
|
+
* with missing head material is never stored. Capture is background work
|
|
80
|
+
* (waitUntil), so a longer budget costs latency-to-HIT only, never a served
|
|
81
|
+
* response; the platform waitUntil lifetime (workerd: ~30s past response
|
|
82
|
+
* completion) is the physical ceiling — the default's derivation lives in
|
|
83
|
+
* docs/design/ppr-shell-resume.md (Cost model). Build-time captures
|
|
84
|
+
* (Prerender+ppr, producer B) honor the same budget with no platform
|
|
85
|
+
* ceiling. Non-finite or sub-1ms values fall back to the default.
|
|
86
|
+
*/
|
|
87
|
+
captureTimeout?: number;
|
|
88
|
+
}
|
|
89
|
+
export interface PathOptions<TName extends string = string, TSearch extends SearchSchema = {}> {
|
|
90
|
+
/** Route name for href() lookups */
|
|
91
|
+
name?: TName;
|
|
92
|
+
/**
|
|
93
|
+
* PPR shell caching opt-in for this page route (document-level). `true` uses
|
|
94
|
+
* the default policy (ttl 300); an object sets ttl/swr/tags. See
|
|
95
|
+
* {@link PartialPrerenderProps}. Routes without this option are pure axis 1 —
|
|
96
|
+
* no capture, no store reads, no logs.
|
|
97
|
+
*/
|
|
98
|
+
ppr?: boolean | PartialPrerenderProps;
|
|
99
|
+
/** Search param schema for typed query parameters */
|
|
100
|
+
search?: TSearch;
|
|
101
|
+
/** Trailing slash behavior: "never" (redirect /path/ to /path), "always" (redirect /path to /path/), "ignore" (match both) */
|
|
102
|
+
trailingSlash?: TrailingSlashMode;
|
|
103
|
+
/** Response type marker (set by path.json(), etc.) */
|
|
104
|
+
[RESPONSE_TYPE]?: string;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Result of urls() - contains the route definitions
|
|
108
|
+
*/
|
|
109
|
+
export interface UrlPatterns<TEnv = any, TRoutes extends Record<string, any> = Record<string, string>, TResponses extends Record<string, unknown> = Record<string, unknown>> {
|
|
110
|
+
/** Internal: compiled handler function */
|
|
111
|
+
readonly handler: () => AllUseItems[];
|
|
112
|
+
/** Internal: trailing slash config per route name */
|
|
113
|
+
readonly trailingSlash: Record<string, TrailingSlashMode>;
|
|
114
|
+
/** Brand for type checking */
|
|
115
|
+
readonly [UrlPatternsBrand]: void;
|
|
116
|
+
/** Environment type brand (phantom) */
|
|
117
|
+
readonly _env?: TEnv;
|
|
118
|
+
/** Routes type brand (phantom) - carries route name -> pattern mapping */
|
|
119
|
+
readonly _routes?: TRoutes;
|
|
120
|
+
/** Responses type brand (phantom) - carries route name -> response data type mapping */
|
|
121
|
+
readonly _responses?: TResponses;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Extract the phantom env type carried by a UrlPatterns value.
|
|
125
|
+
*/
|
|
126
|
+
export type UrlPatternsEnv<T> = T extends UrlPatterns<infer TEnv, any, any> ? TEnv : never;
|
|
127
|
+
/**
|
|
128
|
+
* Guards `routes()` env compatibility without over-constraining.
|
|
129
|
+
*
|
|
130
|
+
* - An env-agnostic block (its env is `unknown` — e.g. a shared urls() module,
|
|
131
|
+
* or an app that does not augment `Rango.Env`) attaches to any router.
|
|
132
|
+
* - A block carrying a concrete env is accepted only when the router env
|
|
133
|
+
* (`TRouterEnv`) satisfies it; resolves to `never` otherwise, so a
|
|
134
|
+
* `urls<{ DB: D1Database }>()` cannot be mounted on a `createRouter<{}>()`.
|
|
135
|
+
*
|
|
136
|
+
* Use as `patterns: T & EnvCompatible<T, TEnv>` so `T` still infers from the
|
|
137
|
+
* argument — a bare `EnvCompatible<T, TEnv>` parameter sits in a non-inferrable
|
|
138
|
+
* conditional position and would collapse `T` to its constraint.
|
|
139
|
+
*
|
|
140
|
+
* Known limitation: `TRouterEnv extends ...` distributes over a union router env,
|
|
141
|
+
* so a `urls<A>()` block is accepted on `createRouter<A | B>()` even though the
|
|
142
|
+
* `B` arm cannot supply `A`'s env. Suppressing distribution with
|
|
143
|
+
* `[TRouterEnv] extends [...]` would close that edge but breaks the common
|
|
144
|
+
* generic-`TEnv` call sites (a deferred type parameter can't resolve the tuple
|
|
145
|
+
* conditional, so the intersection stops reducing to `T`). A router has one env,
|
|
146
|
+
* so a union env is not a supported pattern; the distributive form is kept.
|
|
147
|
+
*/
|
|
148
|
+
export type EnvCompatible<TPatterns, TRouterEnv> = unknown extends UrlPatternsEnv<TPatterns> ? TPatterns : TRouterEnv extends UrlPatternsEnv<TPatterns> ? TPatterns : never;
|
|
149
|
+
/**
|
|
150
|
+
* Options for include()
|
|
151
|
+
*/
|
|
152
|
+
export interface IncludeOptions<TNamePrefix extends string = string> {
|
|
153
|
+
/**
|
|
154
|
+
* Name prefix for all routes in this pattern set.
|
|
155
|
+
*
|
|
156
|
+
* - `{ name: "blog" }` — children become `blog.index`, `blog.detail`, etc.
|
|
157
|
+
* Visible in generated route types and resolvable globally via `reverse("blog.index")`.
|
|
158
|
+
* - `{ name: "" }` — children merge into the parent namespace with no prefix.
|
|
159
|
+
* Equivalent to defining the routes inline at the include site.
|
|
160
|
+
* - Omitted — children live in a private local scope, hidden from the
|
|
161
|
+
* generated route map and global reverse resolution. Only dot-local
|
|
162
|
+
* reverse (e.g. `reverse(".child")`) works from inside the module.
|
|
163
|
+
*/
|
|
164
|
+
name?: TNamePrefix;
|
|
165
|
+
}
|
|
166
|
+
export {};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { ContextVar } from "../context-var.js";
|
|
2
|
+
import type { ReverseFunction } from "../reverse.js";
|
|
3
|
+
import type { DefaultReverseRouteMap, DefaultVars } from "../types/global-namespace.js";
|
|
4
|
+
import type { UseItems, ResponseRouteUseItem } from "../route-types.js";
|
|
5
|
+
import type { RequestScope } from "../types/request-scope.js";
|
|
6
|
+
/**
|
|
7
|
+
* Reverse function for response handler contexts.
|
|
8
|
+
* Global names get autocomplete and param validation from the generated route map.
|
|
9
|
+
* Local `.name` calls are accepted but not validated (scope unknown at type level).
|
|
10
|
+
*/
|
|
11
|
+
type ResponseReverseFunction = [DefaultReverseRouteMap] extends [
|
|
12
|
+
Record<string, string>
|
|
13
|
+
] ? (name: string, params?: Record<string, string>, search?: Record<string, unknown>) => string : ReverseFunction<DefaultReverseRouteMap> & {
|
|
14
|
+
(name: `.${string}`, params?: Record<string, string>, search?: Record<string, unknown>): string;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Symbol marking a route as a response route (non-RSC).
|
|
18
|
+
* Stored on PathOptions and UrlPatterns to signal the trie to short-circuit.
|
|
19
|
+
*/
|
|
20
|
+
export declare const RESPONSE_TYPE: unique symbol;
|
|
21
|
+
/**
|
|
22
|
+
* Shared shape of a response-route handler: a function returning TReturn (or a
|
|
23
|
+
* promise of it), plus an optional composable `use` thunk merged at mount time.
|
|
24
|
+
*/
|
|
25
|
+
type ResponseHandlerOf<TReturn, TParams = Record<string, string>, TEnv = any> = ((ctx: ResponseHandlerContext<TParams, TEnv>) => TReturn | Promise<TReturn>) & {
|
|
26
|
+
/** Composable default DSL items merged when the handler is mounted. */
|
|
27
|
+
use?: () => UseItems<ResponseRouteUseItem>;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Handler that must return Response (not ReactNode).
|
|
31
|
+
* Used by path.image(), path.stream(), path.any() (binary/streaming data).
|
|
32
|
+
*/
|
|
33
|
+
export type ResponseHandler<TParams = Record<string, string>, TEnv = any> = ResponseHandlerOf<Response, TParams, TEnv>;
|
|
34
|
+
/**
|
|
35
|
+
* JSON-serializable value type for auto-wrap support.
|
|
36
|
+
*/
|
|
37
|
+
export type JsonValue = string | number | boolean | null | JsonValue[] | {
|
|
38
|
+
[key: string]: JsonValue;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Handler for JSON response routes.
|
|
42
|
+
* Can return a plain JSON-serializable value (auto-wrapped) or Response (pass-through).
|
|
43
|
+
*/
|
|
44
|
+
export type JsonResponseHandler<TParams = Record<string, string>, TEnv = any> = ResponseHandlerOf<JsonValue | Response, TParams, TEnv>;
|
|
45
|
+
/**
|
|
46
|
+
* Handler for text-based response routes (text, html, xml).
|
|
47
|
+
* Can return a string (auto-wrapped) or Response (pass-through).
|
|
48
|
+
*/
|
|
49
|
+
export type TextResponseHandler<TParams = Record<string, string>, TEnv = any> = ResponseHandlerOf<string | Response, TParams, TEnv>;
|
|
50
|
+
/**
|
|
51
|
+
* Lighter handler context for response routes.
|
|
52
|
+
* No ctx.use() (no loaders). Supports setting response headers via ctx.header().
|
|
53
|
+
* Use the standalone cookies() function for cookie mutations.
|
|
54
|
+
*/
|
|
55
|
+
export interface ResponseHandlerContext<TParams = Record<string, string>, TEnv = any> extends RequestScope<TEnv> {
|
|
56
|
+
params: TParams;
|
|
57
|
+
/** @internal Phantom property for params type invariance. Prevents mounting handlers on wrong routes. */
|
|
58
|
+
readonly _paramCheck?: (params: TParams) => TParams;
|
|
59
|
+
reverse: ResponseReverseFunction;
|
|
60
|
+
/** Read a variable set by middleware via ctx.set(key, value) or ctx.set(ContextVar, value). */
|
|
61
|
+
get: {
|
|
62
|
+
<T>(contextVar: ContextVar<T>): T | undefined;
|
|
63
|
+
} & (<K extends keyof DefaultVars>(key: K) => DefaultVars[K]);
|
|
64
|
+
/** Set a response header. Merged into the auto-wrapped or pass-through Response. */
|
|
65
|
+
header: (name: string, value: string) => void;
|
|
66
|
+
}
|
|
67
|
+
export {};
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import type { JsonSerialize } from "../serialize.js";
|
|
2
|
+
import type { TypedRouteItem, TypedIncludeItem, TypedLayoutItem, TypedCacheItem, TypedTransitionItem } from "../route-types.js";
|
|
3
|
+
import type { LocalOnlyInclude, UnnamedRoute } from "./pattern-types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Prefix route names with a given prefix (e.g., "blog" + "post" = "blog.post")
|
|
6
|
+
*
|
|
7
|
+
* Filters out plain `string` index signatures to prevent dynamically-generated
|
|
8
|
+
* routes from poisoning the route map. When TypeScript encounters very large
|
|
9
|
+
* route sets (5000+ routes via Array.from), it may give up computing specific
|
|
10
|
+
* types and fall back to Record<string, string>. Without filtering, PrefixRoutes
|
|
11
|
+
* would map `string` to `${prefix}.${string}`, creating an index signature that
|
|
12
|
+
* accepts ANY prefixed name and defeats type-safe route checking.
|
|
13
|
+
*
|
|
14
|
+
* Uses `string extends K` (conservative filter):
|
|
15
|
+
* - Drops `string` keys (TypeScript fallback) -> prevents `[x: `site.${string}`]`
|
|
16
|
+
* - Keeps template literal patterns like `item${number}` from Array.from loops,
|
|
17
|
+
* which are imprecise but still allow writing paths like `/shop/product/1`
|
|
18
|
+
*
|
|
19
|
+
* A more aggressive alternative (`{} extends Record<K, 1>`) would also drop
|
|
20
|
+
* template literal patterns. We chose conservative because loop-generated routes
|
|
21
|
+
* with `${number}` patterns still provide some value: they don't appear in
|
|
22
|
+
* named-routes.gen.ts or IDE autocomplete, but they do let you manually write
|
|
23
|
+
* valid paths without type errors.
|
|
24
|
+
*/
|
|
25
|
+
type PrefixRoutes<TRoutes extends Record<string, any>, TPrefix extends string> = TPrefix extends "" ? TRoutes : {
|
|
26
|
+
[K in keyof TRoutes as K extends string ? string extends K ? never : `${TPrefix}.${K}` : never]: TRoutes[K];
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Prefix route patterns with a URL prefix (e.g., "/blog" + "/:slug" = "/blog/:slug")
|
|
30
|
+
*/
|
|
31
|
+
type PrefixPatterns<TRoutes extends Record<string, any>, TUrlPrefix extends string> = {
|
|
32
|
+
[K in keyof TRoutes]: TRoutes[K] extends string ? `${TUrlPrefix}${TRoutes[K]}` : TRoutes[K] extends {
|
|
33
|
+
readonly path: infer P extends string;
|
|
34
|
+
readonly search: infer S;
|
|
35
|
+
} ? {
|
|
36
|
+
readonly path: `${TUrlPrefix}${P}`;
|
|
37
|
+
readonly search: S;
|
|
38
|
+
} : TRoutes[K];
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Convert a union type to an intersection type.
|
|
42
|
+
* Used to combine route maps from multiple siblings without recursive tuple processing.
|
|
43
|
+
*/
|
|
44
|
+
type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
|
|
45
|
+
/**
|
|
46
|
+
* Extract routes from a single item (path, include, layout, cache with children)
|
|
47
|
+
*/
|
|
48
|
+
type ExtractRoutesFromItem<T> = T extends TypedRouteItem<infer TName, infer TPattern, any, infer TSearch> ? TName extends string ? string extends TName ? {} : TName extends UnnamedRoute ? {} : {} extends TSearch ? {
|
|
49
|
+
[K in TName]: TPattern;
|
|
50
|
+
} : {
|
|
51
|
+
[K in TName]: {
|
|
52
|
+
readonly path: TPattern;
|
|
53
|
+
readonly search: TSearch;
|
|
54
|
+
};
|
|
55
|
+
} : {} : T extends TypedIncludeItem<infer TRoutes, infer TNamePrefix, infer TUrlPrefix> ? TNamePrefix extends LocalOnlyInclude ? {} : TNamePrefix extends string ? TUrlPrefix extends string ? PrefixRoutes<PrefixPatterns<TRoutes, TUrlPrefix>, TNamePrefix> : PrefixRoutes<TRoutes, TNamePrefix> : TUrlPrefix extends string ? PrefixPatterns<TRoutes, TUrlPrefix> : TRoutes : T extends TypedLayoutItem<infer TChildRoutes> ? TChildRoutes : T extends TypedCacheItem<infer TChildRoutes> ? TChildRoutes : T extends TypedTransitionItem<infer TChildRoutes> ? TChildRoutes : {};
|
|
56
|
+
/**
|
|
57
|
+
* Extract routes from an array of items using mapped types.
|
|
58
|
+
* Uses UnionToIntersection to combine routes without recursive tuple processing,
|
|
59
|
+
* removing the sibling limit that was caused by TypeScript recursion limits.
|
|
60
|
+
*/
|
|
61
|
+
type ExtractRoutesFromItems<T extends readonly any[]> = T extends readonly any[] ? UnionToIntersection<{
|
|
62
|
+
[K in keyof T]: ExtractRoutesFromItem<T[K]>;
|
|
63
|
+
}[number]> extends infer R ? [
|
|
64
|
+
R
|
|
65
|
+
] extends [never] ? {} : R extends Record<string, any> ? R : {} : {} : {};
|
|
66
|
+
/**
|
|
67
|
+
* Main utility: extract route map from urls() callback return type
|
|
68
|
+
* Uses mapped types for sibling processing (no sibling limit).
|
|
69
|
+
*/
|
|
70
|
+
export type ExtractRoutes<T extends readonly any[]> = ExtractRoutesFromItems<T>;
|
|
71
|
+
/**
|
|
72
|
+
* Prefix keys of a Record<string, unknown> with a dot-separated prefix.
|
|
73
|
+
* Used for response type maps through include().
|
|
74
|
+
* Same index signature filter as PrefixRoutes (see comment there).
|
|
75
|
+
*/
|
|
76
|
+
type PrefixKeys<T extends Record<string, unknown>, TPrefix extends string> = TPrefix extends "" ? T : {
|
|
77
|
+
[K in keyof T as K extends string ? string extends K ? never : `${TPrefix}.${K}` : never]: T[K];
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Extract response data types from a single item.
|
|
81
|
+
* Parallel to ExtractRoutesFromItem but extracts name -> TData mapping.
|
|
82
|
+
*/
|
|
83
|
+
type ExtractResponsesFromItem<T> = T extends TypedRouteItem<infer TName, any, infer TData> ? TName extends string ? string extends TName ? {} : TName extends UnnamedRoute ? {} : {
|
|
84
|
+
[K in TName]: TData;
|
|
85
|
+
} : {} : T extends TypedIncludeItem<any, infer TNamePrefix, any, infer TResponses> ? TNamePrefix extends LocalOnlyInclude ? {} : TNamePrefix extends string ? TResponses extends Record<string, unknown> ? PrefixKeys<TResponses, TNamePrefix> : {} : TResponses extends Record<string, unknown> ? TResponses : {} : T extends TypedLayoutItem<any, infer TChildResponses> ? TChildResponses extends Record<string, unknown> ? TChildResponses : {} : T extends TypedCacheItem<any, infer TChildResponses> ? TChildResponses extends Record<string, unknown> ? TChildResponses : {} : T extends TypedTransitionItem<any, infer TChildResponses> ? TChildResponses extends Record<string, unknown> ? TChildResponses : {} : {};
|
|
86
|
+
/**
|
|
87
|
+
* Extract responses from an array of items using mapped types.
|
|
88
|
+
* Parallel to ExtractRoutesFromItems.
|
|
89
|
+
*/
|
|
90
|
+
type ExtractResponsesFromItems<T extends readonly any[]> = T extends readonly any[] ? UnionToIntersection<{
|
|
91
|
+
[K in keyof T]: ExtractResponsesFromItem<T[K]>;
|
|
92
|
+
}[number]> extends infer R ? [
|
|
93
|
+
R
|
|
94
|
+
] extends [never] ? {} : R extends Record<string, unknown> ? R : {} : {} : {};
|
|
95
|
+
/**
|
|
96
|
+
* Main utility: extract response data type map from urls() callback return type.
|
|
97
|
+
* Parallel to ExtractRoutes.
|
|
98
|
+
*/
|
|
99
|
+
export type ExtractResponses<T extends readonly any[]> = ExtractResponsesFromItems<T>;
|
|
100
|
+
/**
|
|
101
|
+
* RFC 9457 (problem+json) error body returned by JSON response routes on a
|
|
102
|
+
* non-2xx status. Sent verbatim as the response body (not wrapped) with
|
|
103
|
+
* content-type `application/problem+json`.
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```typescript
|
|
107
|
+
* const res = await fetch(url);
|
|
108
|
+
* if (!res.ok) {
|
|
109
|
+
* const problem: ProblemDetails = await res.json();
|
|
110
|
+
* console.log(problem.code, problem.detail); // "NOT_FOUND", "Product not found"
|
|
111
|
+
* return;
|
|
112
|
+
* }
|
|
113
|
+
* const product = await res.json(); // bare value, no envelope
|
|
114
|
+
* ```
|
|
115
|
+
*/
|
|
116
|
+
export interface ProblemDetails {
|
|
117
|
+
/**
|
|
118
|
+
* URI reference identifying the problem type. Omitted in this phase (per RFC
|
|
119
|
+
* 9457 an absent `type` is treated as `"about:blank"` — no semantics beyond
|
|
120
|
+
* the HTTP status); per-route problem-type URIs arrive with the
|
|
121
|
+
* declared-errors map later.
|
|
122
|
+
*/
|
|
123
|
+
type?: string;
|
|
124
|
+
/** Short, human-readable summary (the HTTP status reason phrase). */
|
|
125
|
+
title: string;
|
|
126
|
+
/** The HTTP status code. */
|
|
127
|
+
status: number;
|
|
128
|
+
/** Human-readable explanation specific to this occurrence (the error message). */
|
|
129
|
+
detail: string;
|
|
130
|
+
/** Stable machine-readable error code (`RouterError.code`, else `"INTERNAL"`). */
|
|
131
|
+
code: string;
|
|
132
|
+
/** Stack trace, included in development only. */
|
|
133
|
+
stack?: string;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Extract the JSON response payload type for a named route from a UrlPatterns
|
|
137
|
+
* instance. JSON response routes send the handler's return value verbatim
|
|
138
|
+
* (bare), so this resolves to the wire value a consumer receives — no envelope.
|
|
139
|
+
*
|
|
140
|
+
* @example
|
|
141
|
+
* ```typescript
|
|
142
|
+
* const apiPatterns = urls(({ path }) => [
|
|
143
|
+
* path.json("/health", (ctx) => ({ status: "ok", timestamp: Date.now() }), { name: "health" }),
|
|
144
|
+
* ]);
|
|
145
|
+
*
|
|
146
|
+
* type HealthData = RouteResponse<typeof apiPatterns, "health">;
|
|
147
|
+
* // { status: string; timestamp: number }
|
|
148
|
+
* ```
|
|
149
|
+
*
|
|
150
|
+
* The payload is the JSON wire shape (via `Rango.JsonSerialize`), matching
|
|
151
|
+
* `Rango.PathResponse` and what `fetch().then(r => r.json())` actually yields —
|
|
152
|
+
* e.g. a `Date` field resolves as `string`.
|
|
153
|
+
*/
|
|
154
|
+
export type RouteResponse<TPatterns, TName extends string> = TPatterns extends {
|
|
155
|
+
readonly _responses?: infer R;
|
|
156
|
+
} ? TName extends keyof R ? JsonSerialize<Exclude<R[TName], Response>> : never : never;
|
|
157
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { DefaultEnv } from "../types.js";
|
|
2
|
+
import type { AllUseItems } from "../route-types.js";
|
|
3
|
+
import type { UrlPatterns } from "./pattern-types.js";
|
|
4
|
+
import type { PathHelpers } from "./path-helper-types.js";
|
|
5
|
+
import type { ExtractRoutes, ExtractResponses } from "./type-extraction.js";
|
|
6
|
+
/**
|
|
7
|
+
* Define URL patterns with Django-inspired syntax
|
|
8
|
+
*
|
|
9
|
+
* Replaces map() as the entry point for route definitions.
|
|
10
|
+
* URL patterns are now visible at the definition site via path().
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* export const blogPatterns = urls(({ path, layout, loader }) => [
|
|
15
|
+
* layout(BlogLayout, () => [
|
|
16
|
+
* path("/", BlogIndex, { name: "index" }),
|
|
17
|
+
* path("/:slug", BlogPost, { name: "post" }, () => [
|
|
18
|
+
* loader(PostLoader),
|
|
19
|
+
* ]),
|
|
20
|
+
* ]),
|
|
21
|
+
* ]);
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare function urls<TEnv = DefaultEnv, const TItems extends readonly (AllUseItems | readonly AllUseItems[])[] = readonly AllUseItems[]>(builder: (helpers: PathHelpers<TEnv>) => TItems): UrlPatterns<TEnv, ExtractRoutes<TItems>, ExtractResponses<TItems>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./urls/index.js";
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import type { LoaderDefinition, LoadOptions } from "./types.js";
|
|
2
|
+
export type LoadFunction<T> = (options?: LoadOptions) => Promise<T>;
|
|
3
|
+
export interface UseLoaderResult<T> {
|
|
4
|
+
data: T;
|
|
5
|
+
isLoading: boolean;
|
|
6
|
+
error: Error | null;
|
|
7
|
+
load: LoadFunction<T>;
|
|
8
|
+
refetch: LoadFunction<T>;
|
|
9
|
+
}
|
|
10
|
+
export interface UseFetchLoaderResult<T> {
|
|
11
|
+
data: T | undefined;
|
|
12
|
+
isLoading: boolean;
|
|
13
|
+
error: Error | null;
|
|
14
|
+
load: LoadFunction<T>;
|
|
15
|
+
refetch: LoadFunction<T>;
|
|
16
|
+
}
|
|
17
|
+
export interface UseLoaderOptions {
|
|
18
|
+
throwOnError?: boolean;
|
|
19
|
+
key?: string;
|
|
20
|
+
refreshGroup?: string | string[];
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Hook to access loader data from route context (strict version)
|
|
24
|
+
*
|
|
25
|
+
* Use this when the loader is registered on the route via `loader()`.
|
|
26
|
+
* The data is guaranteed to exist - throws an error if not found.
|
|
27
|
+
*
|
|
28
|
+
* For on-demand fetching or when loader might not be in context,
|
|
29
|
+
* use `useFetchLoader` instead.
|
|
30
|
+
*
|
|
31
|
+
* @param loader - The loader definition (must be registered on route)
|
|
32
|
+
* @param options - Optional configuration
|
|
33
|
+
* @returns Object with data (guaranteed), isLoading, error, load, and refetch
|
|
34
|
+
* @throws Error if loader data is not found in context
|
|
35
|
+
*
|
|
36
|
+
* @example Basic usage - accessing route loader data
|
|
37
|
+
* ```tsx
|
|
38
|
+
* "use client";
|
|
39
|
+
* import { useLoader } from "rsc-router/client";
|
|
40
|
+
* import { CartLoader } from "../loaders/cart";
|
|
41
|
+
*
|
|
42
|
+
* // In route definition: loader(CartLoader)
|
|
43
|
+
*
|
|
44
|
+
* export function CartIcon() {
|
|
45
|
+
* const { data } = useLoader(CartLoader);
|
|
46
|
+
* // data is guaranteed to be CartData, not CartData | undefined
|
|
47
|
+
* return <span>Cart ({data.items.length})</span>;
|
|
48
|
+
* }
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
export declare function useLoader<T>(loader: LoaderDefinition<T>, options?: UseLoaderOptions): UseLoaderResult<Rango.FlightSerialize<T>>;
|
|
52
|
+
/**
|
|
53
|
+
* Hook to access loader data with optional fetching (flexible version)
|
|
54
|
+
*
|
|
55
|
+
* Use this when:
|
|
56
|
+
* - The loader might not be registered on the route
|
|
57
|
+
* - You want to fetch data on-demand from the client
|
|
58
|
+
* - You're building a reusable component that doesn't assume route context
|
|
59
|
+
*
|
|
60
|
+
* If the loader IS registered on the route, it will still get the initial
|
|
61
|
+
* data from context - you just have to handle the `undefined` case in types.
|
|
62
|
+
*
|
|
63
|
+
* @param loader - The loader definition
|
|
64
|
+
* @param options - Optional configuration
|
|
65
|
+
* @returns Object with data (may be undefined), isLoading, error, load, and refetch
|
|
66
|
+
*
|
|
67
|
+
* @example On-demand fetching
|
|
68
|
+
* ```tsx
|
|
69
|
+
* "use client";
|
|
70
|
+
* import { useFetchLoader } from "rsc-router/client";
|
|
71
|
+
* import { SearchLoader } from "../loaders/search";
|
|
72
|
+
*
|
|
73
|
+
* export function SearchResults() {
|
|
74
|
+
* const { data, load, isLoading } = useFetchLoader(SearchLoader);
|
|
75
|
+
*
|
|
76
|
+
* const handleSearch = async (query: string) => {
|
|
77
|
+
* await load({ params: { query } });
|
|
78
|
+
* };
|
|
79
|
+
*
|
|
80
|
+
* return (
|
|
81
|
+
* <div>
|
|
82
|
+
* <button onClick={() => handleSearch("test")}>Search</button>
|
|
83
|
+
* {isLoading && <span>Loading...</span>}
|
|
84
|
+
* {data?.results.map(r => <div key={r.id}>{r.name}</div>)}
|
|
85
|
+
* </div>
|
|
86
|
+
* );
|
|
87
|
+
* }
|
|
88
|
+
* ```
|
|
89
|
+
*
|
|
90
|
+
* @example With route context (hybrid usage)
|
|
91
|
+
* ```tsx
|
|
92
|
+
* // Loader registered on route: loader(UserLoader)
|
|
93
|
+
* // useFetchLoader still works - gets initial data from context
|
|
94
|
+
* const { data, load } = useFetchLoader(UserLoader);
|
|
95
|
+
* // data is UserData | undefined (even though it will have initial value)
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
98
|
+
export declare function useFetchLoader<T>(loader: LoaderDefinition<T>, options?: UseLoaderOptions): UseFetchLoaderResult<Rango.FlightSerialize<T>>;
|
|
99
|
+
/**
|
|
100
|
+
* Get a stable function that refreshes loaders by cross-loader group tag.
|
|
101
|
+
*
|
|
102
|
+
* The returned `refresh(groups)` takes one group name or an array of names and
|
|
103
|
+
* re-runs every currently-mounted read tagged with ANY of them, with a plain GET
|
|
104
|
+
* against the current route URL. This is the cross-loader counterpart to the
|
|
105
|
+
* single-loader `key`: use it to refresh a set of DIFFERENT loaders together
|
|
106
|
+
* (e.g. profile + orders after an account switch). Members are tagged via
|
|
107
|
+
* `useLoader(Loader, { refreshGroup })` / `useFetchLoader(Loader, { refreshGroup })`,
|
|
108
|
+
* where `refreshGroup` is one name or several.
|
|
109
|
+
*
|
|
110
|
+
* Passing the group(s) to the returned function rather than to the hook lets a
|
|
111
|
+
* single `useRefreshLoaders()` instance refresh different groups depending on
|
|
112
|
+
* context, and lets one call refresh several groups at once — their members are
|
|
113
|
+
* unioned and deduped, so a loader tagged into two of the named groups is fetched
|
|
114
|
+
* exactly once.
|
|
115
|
+
*
|
|
116
|
+
* Group refresh never render-throws: a failing member surfaces its error via
|
|
117
|
+
* that read's `error` state, and the returned promise rejects with an
|
|
118
|
+
* `AggregateError` of the failures so the caller can handle them at the await
|
|
119
|
+
* site. Each loader is refreshed in place — no params, no body, no mutations.
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```tsx
|
|
123
|
+
* "use client";
|
|
124
|
+
* import { useLoader, useRefreshLoaders } from "rsc-router/client";
|
|
125
|
+
*
|
|
126
|
+
* function Profile() {
|
|
127
|
+
* const { data } = useLoader(ProfileLoader, { key: userId, refreshGroup: "account" });
|
|
128
|
+
* return <span>{data.name}</span>;
|
|
129
|
+
* }
|
|
130
|
+
* function Orders() {
|
|
131
|
+
* // Tagged into two groups: refreshed by "account" (the whole set) or "orders".
|
|
132
|
+
* const { data } = useLoader(OrdersLoader, {
|
|
133
|
+
* key: userId,
|
|
134
|
+
* refreshGroup: ["account", "orders"],
|
|
135
|
+
* });
|
|
136
|
+
* return <span>{data.count} orders</span>;
|
|
137
|
+
* }
|
|
138
|
+
* function RefreshButtons() {
|
|
139
|
+
* const refresh = useRefreshLoaders();
|
|
140
|
+
* return (
|
|
141
|
+
* <>
|
|
142
|
+
* <button onClick={() => refresh("account")}>Refresh account</button>
|
|
143
|
+
* <button onClick={() => refresh("orders")}>Refresh orders</button>
|
|
144
|
+
* <button onClick={() => refresh(["account", "orders"])}>Refresh both</button>
|
|
145
|
+
* </>
|
|
146
|
+
* );
|
|
147
|
+
* }
|
|
148
|
+
* ```
|
|
149
|
+
*/
|
|
150
|
+
export declare function useRefreshLoaders(): (groups: string | string[]) => Promise<void>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vercel preset integration surface for @rangojs/router.
|
|
3
|
+
*
|
|
4
|
+
* Imported via `@rangojs/router/vercel`. Vercel-only helpers live here so
|
|
5
|
+
* Node/other-platform consumers never pull them in. The Vercel cache store
|
|
6
|
+
* (`VercelCacheStore`) is exported from `@rangojs/router/cache`, mirroring the
|
|
7
|
+
* Cloudflare split where the store lives in `/cache` and the tracing helper in
|
|
8
|
+
* the platform subpath.
|
|
9
|
+
*/
|
|
10
|
+
export { createVercelTracing, type VercelTracingOptions } from "./tracing.js";
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vercel OpenTelemetry tracing integration.
|
|
3
|
+
*
|
|
4
|
+
* Bridges the router's performance phases (request, middleware, action,
|
|
5
|
+
* loaders, handler, render, ssr) onto OpenTelemetry spans so they show up in
|
|
6
|
+
* Vercel's trace waterfall next to the platform's automatic spans, with correct
|
|
7
|
+
* nesting. Vercel exposes tracing through OpenTelemetry (not a native import-free
|
|
8
|
+
* API like Cloudflare), so this is a thin convenience over `createOTelTracing`:
|
|
9
|
+
* it reads the global OTel tracer that `@vercel/otel`'s `registerOTel()` installs.
|
|
10
|
+
*
|
|
11
|
+
* Usage (vercel preset). A Rango/Vite app does NOT auto-load `instrumentation.ts`
|
|
12
|
+
* the way Next.js does, so export the tracing config from there and import it —
|
|
13
|
+
* the import is what runs `registerOTel()`. A standalone `registerOTel()` that
|
|
14
|
+
* nothing imports is a silent no-op (the tracer never registers, spans drop):
|
|
15
|
+
*
|
|
16
|
+
* // instrumentation.ts
|
|
17
|
+
* import { registerOTel } from "@vercel/otel";
|
|
18
|
+
* import { createVercelTracing } from "@rangojs/router/vercel";
|
|
19
|
+
* registerOTel({ serviceName: "my-app" });
|
|
20
|
+
* export const tracing = createVercelTracing();
|
|
21
|
+
*
|
|
22
|
+
* // router.tsx — importing `tracing` runs instrumentation.ts (and registerOTel)
|
|
23
|
+
* import { createRouter } from "@rangojs/router";
|
|
24
|
+
* import { tracing } from "./instrumentation.js";
|
|
25
|
+
* export const router = createRouter({ tracing });
|
|
26
|
+
*
|
|
27
|
+
* Two runtime caveats inherited from the platform:
|
|
28
|
+
* - Node.js runtime only. Vercel custom spans are unsupported on the Edge
|
|
29
|
+
* runtime; `startActiveSpan` also needs an AsyncLocalStorage context manager
|
|
30
|
+
* (which @vercel/otel configures on Node) for spans to nest correctly.
|
|
31
|
+
* - `registerOTel()` must run before the first request. Reading the tracer via
|
|
32
|
+
* `trace.getTracer` here is safe even if it runs first — the API's proxy
|
|
33
|
+
* tracer delegates to the provider once registered — but no provider means
|
|
34
|
+
* every span is a no-op (the request behaves exactly as if tracing were off).
|
|
35
|
+
*
|
|
36
|
+
* Whether spans are actually exported is governed by your OTel setup / Vercel
|
|
37
|
+
* tracing destination, not by this adapter.
|
|
38
|
+
*/
|
|
39
|
+
import { type OTelActiveSpanTracer } from "../router/telemetry-otel.js";
|
|
40
|
+
import type { RouterTracingConfig, TracingToggleOptions } from "../router/tracing.js";
|
|
41
|
+
/**
|
|
42
|
+
* Options for createVercelTracing. Extends the shared
|
|
43
|
+
* {@link TracingToggleOptions} (`enabled` + per-phase `spans`) with the
|
|
44
|
+
* Vercel-specific tracer selectors.
|
|
45
|
+
*/
|
|
46
|
+
export interface VercelTracingOptions extends TracingToggleOptions {
|
|
47
|
+
/**
|
|
48
|
+
* OTel instrumentation-scope name passed to `trace.getTracer()`. Defaults to
|
|
49
|
+
* `"rango"`. Ignored when `tracer` is provided.
|
|
50
|
+
*/
|
|
51
|
+
tracerName?: string;
|
|
52
|
+
/**
|
|
53
|
+
* Explicit tracer override. Defaults to the global OTel tracer
|
|
54
|
+
* (`trace.getTracer(tracerName)`) — the provider `@vercel/otel`'s
|
|
55
|
+
* `registerOTel()` installs. Pass this to bridge onto a tracer you own.
|
|
56
|
+
*/
|
|
57
|
+
tracer?: OTelActiveSpanTracer;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Create the tracing config for a Vercel router. Pass the result to
|
|
61
|
+
* `createRouter({ tracing })`. Spans are emitted for the request, middleware,
|
|
62
|
+
* action, loaders, handler, render, and ssr phases; pass `spans` to turn
|
|
63
|
+
* individual phases off.
|
|
64
|
+
*
|
|
65
|
+
* @see createOTelTracing (`@rangojs/router`) for the underlying adapter on any
|
|
66
|
+
* platform with an OpenTelemetry SDK.
|
|
67
|
+
* @see createCloudflareTracing (`@rangojs/router/cloudflare`) for the same slot
|
|
68
|
+
* using Cloudflare Workers native custom spans.
|
|
69
|
+
*/
|
|
70
|
+
export declare function createVercelTracing(options?: VercelTracingOptions): RouterTracingConfig;
|