@rangojs/router 0.0.0-experimental.tapabs3 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/rango.js +8 -40
- package/dist/types/__internal.d.ts +127 -0
- package/dist/types/bin/rango.d.ts +1 -0
- package/dist/types/browser/action-coordinator.d.ts +57 -0
- package/dist/types/browser/action-fence.d.ts +33 -0
- package/dist/types/browser/app-shell.d.ts +34 -0
- package/dist/types/browser/app-version.d.ts +6 -0
- package/dist/types/browser/connection-warmup.d.ts +31 -0
- package/dist/types/browser/cookie-name.d.ts +66 -0
- package/dist/types/browser/event-controller.d.ts +221 -0
- package/dist/types/browser/history-state.d.ts +26 -0
- package/dist/types/browser/index.d.ts +1 -0
- package/dist/types/browser/intercept-utils.d.ts +30 -0
- package/dist/types/browser/invalidate-client-cache.d.ts +17 -0
- package/dist/types/browser/link-interceptor.d.ts +43 -0
- package/dist/types/browser/logging.d.ts +33 -0
- package/dist/types/browser/merge-segment-loaders.d.ts +38 -0
- package/dist/types/browser/navigation-bridge.d.ts +27 -0
- package/dist/types/browser/navigation-client.d.ts +17 -0
- package/dist/types/browser/navigation-store-handle.d.ts +25 -0
- package/dist/types/browser/navigation-store.d.ts +95 -0
- package/dist/types/browser/navigation-transaction.d.ts +75 -0
- package/dist/types/browser/network-error-handler.d.ts +35 -0
- package/dist/types/browser/partial-update.d.ts +61 -0
- package/dist/types/browser/prefetch/cache.d.ts +183 -0
- package/dist/types/browser/prefetch/fetch.d.ts +52 -0
- package/dist/types/browser/prefetch/observer.d.ts +27 -0
- package/dist/types/browser/prefetch/policy.d.ts +13 -0
- package/dist/types/browser/prefetch/queue.d.ts +48 -0
- package/dist/types/browser/prefetch/resource-ready.d.ts +28 -0
- package/dist/types/browser/rango-state.d.ts +52 -0
- package/dist/types/browser/react/Link.d.ts +140 -0
- package/dist/types/browser/react/NavigationProvider.d.ts +88 -0
- package/dist/types/browser/react/ScrollRestoration.d.ts +78 -0
- package/dist/types/browser/react/context.d.ts +54 -0
- package/dist/types/browser/react/filter-segment-order.d.ts +35 -0
- package/dist/types/browser/react/index.d.ts +1 -0
- package/dist/types/browser/react/location-state-shared.d.ts +162 -0
- package/dist/types/browser/react/location-state.d.ts +29 -0
- package/dist/types/browser/react/mount-context.d.ts +23 -0
- package/dist/types/browser/react/nonce-context.d.ts +14 -0
- package/dist/types/browser/react/shallow-equal.d.ts +5 -0
- package/dist/types/browser/react/use-action.d.ts +61 -0
- package/dist/types/browser/react/use-handle.d.ts +21 -0
- package/dist/types/browser/react/use-href.d.ts +32 -0
- package/dist/types/browser/react/use-link-status.d.ts +36 -0
- package/dist/types/browser/react/use-mount.d.ts +24 -0
- package/dist/types/browser/react/use-navigation.d.ts +15 -0
- package/dist/types/browser/react/use-params.d.ts +21 -0
- package/dist/types/browser/react/use-pathname.d.ts +13 -0
- package/dist/types/browser/react/use-reverse.d.ts +40 -0
- package/dist/types/browser/react/use-router.d.ts +23 -0
- package/dist/types/browser/react/use-search-params.d.ts +19 -0
- package/dist/types/browser/react/use-segments.d.ts +29 -0
- package/dist/types/browser/response-adapter.d.ts +58 -0
- package/dist/types/browser/rsc-router.d.ts +141 -0
- package/dist/types/browser/scroll-restoration.d.ts +103 -0
- package/dist/types/browser/segment-reconciler.d.ts +74 -0
- package/dist/types/browser/segment-structure-assert.d.ts +16 -0
- package/dist/types/browser/server-action-bridge.d.ts +29 -0
- package/dist/types/browser/types.d.ts +530 -0
- package/dist/types/browser/validate-redirect-origin.d.ts +28 -0
- package/dist/types/build/collect-fallback-refs.d.ts +5 -0
- package/dist/types/build/generate-manifest.d.ts +100 -0
- package/dist/types/build/generate-route-types.d.ts +8 -0
- package/dist/types/build/index.d.ts +21 -0
- package/dist/types/build/prefix-tree-utils.d.ts +56 -0
- package/dist/types/build/route-trie.d.ts +89 -0
- package/dist/types/build/route-types/ast-helpers.d.ts +3 -0
- package/dist/types/build/route-types/ast-route-extraction.d.ts +13 -0
- package/dist/types/build/route-types/codegen.d.ts +16 -0
- package/dist/types/build/route-types/include-resolution.d.ts +74 -0
- package/dist/types/build/route-types/param-extraction.d.ts +13 -0
- package/dist/types/build/route-types/per-module-writer.d.ts +18 -0
- package/dist/types/build/route-types/router-processing.d.ts +82 -0
- package/dist/types/build/route-types/scan-filter.d.ts +17 -0
- package/dist/types/build/route-types/source-scan.d.ts +13 -0
- package/dist/types/build/runtime-discovery.d.ts +24 -0
- package/dist/types/cache/background-task.d.ts +21 -0
- package/dist/types/cache/cache-error.d.ts +71 -0
- package/dist/types/cache/cache-key-utils.d.ts +35 -0
- package/dist/types/cache/cache-policy.d.ts +59 -0
- package/dist/types/cache/cache-runtime.d.ts +51 -0
- package/dist/types/cache/cache-scope.d.ts +134 -0
- package/dist/types/cache/cache-tag.d.ts +79 -0
- package/dist/types/cache/cf/cf-base64.d.ts +4 -0
- package/dist/types/cache/cf/cf-cache-constants.d.ts +105 -0
- package/dist/types/cache/cf/cf-cache-store.d.ts +588 -0
- package/dist/types/cache/cf/cf-cache-types.d.ts +363 -0
- package/dist/types/cache/cf/cf-kv-utils.d.ts +22 -0
- package/dist/types/cache/cf/cf-tag-marker-memo.d.ts +15 -0
- package/dist/types/cache/cf/cf-zone-purge.d.ts +31 -0
- package/dist/types/cache/cf/index.d.ts +4 -0
- package/dist/types/cache/document-cache.d.ts +69 -0
- package/dist/types/cache/handle-capture.d.ts +23 -0
- package/dist/types/cache/handle-snapshot.d.ts +39 -0
- package/dist/types/cache/index.d.ts +7 -0
- package/dist/types/cache/memory-segment-store.d.ts +163 -0
- package/dist/types/cache/profile-registry.d.ts +40 -0
- package/dist/types/cache/read-through-swr.d.ts +60 -0
- package/dist/types/cache/segment-codec.d.ts +78 -0
- package/dist/types/cache/shell-snapshot.d.ts +173 -0
- package/dist/types/cache/tag-invalidation.d.ts +74 -0
- package/dist/types/cache/taint.d.ts +71 -0
- package/dist/types/cache/types.d.ts +418 -0
- package/dist/types/cache/vercel/index.d.ts +1 -0
- package/dist/types/cache/vercel/vercel-cache-store.d.ts +267 -0
- package/dist/types/client.d.ts +184 -0
- package/dist/types/client.rsc.d.ts +39 -0
- package/dist/types/cloudflare/index.d.ts +7 -0
- package/dist/types/cloudflare/tracing.d.ts +53 -0
- package/dist/types/component-utils.d.ts +46 -0
- package/dist/types/components/DefaultDocument.d.ts +13 -0
- package/dist/types/context-var.d.ts +84 -0
- package/dist/types/debug.d.ts +57 -0
- package/dist/types/decode-loader-results.d.ts +5 -0
- package/dist/types/default-error-boundary.d.ts +10 -0
- package/dist/types/defer.d.ts +89 -0
- package/dist/types/deps/browser.d.ts +1 -0
- package/dist/types/deps/html-stream-client.d.ts +1 -0
- package/dist/types/deps/html-stream-server.d.ts +1 -0
- package/dist/types/deps/rsc.d.ts +1 -0
- package/dist/types/deps/ssr.d.ts +1 -0
- package/dist/types/encode-kv.d.ts +35 -0
- package/dist/types/errors.d.ts +226 -0
- package/dist/types/escape-script.d.ts +44 -0
- package/dist/types/handle.d.ts +93 -0
- package/dist/types/handles/MetaTags.d.ts +17 -0
- package/dist/types/handles/Scripts.d.ts +38 -0
- package/dist/types/handles/breadcrumbs.d.ts +43 -0
- package/dist/types/handles/deferred-resolution.d.ts +53 -0
- package/dist/types/handles/is-thenable.d.ts +12 -0
- package/dist/types/handles/meta.d.ts +43 -0
- package/dist/types/handles/script.d.ts +139 -0
- package/dist/types/host/cookie-handler.d.ts +8 -0
- package/dist/types/host/errors.d.ts +40 -0
- package/dist/types/host/index.d.ts +33 -0
- package/dist/types/host/pattern-matcher.d.ts +30 -0
- package/dist/types/host/router.d.ts +12 -0
- package/dist/types/host/testing.d.ts +41 -0
- package/dist/types/host/types.d.ts +148 -0
- package/dist/types/host/utils.d.ts +20 -0
- package/dist/types/href-client.d.ts +214 -0
- package/dist/types/index.d.ts +112 -0
- package/dist/types/index.rsc.d.ts +51 -0
- package/dist/types/internal-debug.d.ts +1 -0
- package/dist/types/loader-store.d.ts +193 -0
- package/dist/types/loader.d.ts +18 -0
- package/dist/types/loader.rsc.d.ts +18 -0
- package/dist/types/missing-id-error.d.ts +1 -0
- package/dist/types/outlet-context.d.ts +12 -0
- package/dist/types/outlet-provider.d.ts +12 -0
- package/dist/types/prerender/build-shell-capture.d.ts +104 -0
- package/dist/types/prerender/param-hash.d.ts +6 -0
- package/dist/types/prerender/shell-manifest-key.d.ts +18 -0
- package/dist/types/prerender/store.d.ts +62 -0
- package/dist/types/prerender.d.ts +292 -0
- package/dist/types/redirect-origin.d.ts +67 -0
- package/dist/types/regex-escape.d.ts +6 -0
- package/dist/types/render-error-thrower.d.ts +13 -0
- package/dist/types/response-utils.d.ts +35 -0
- package/dist/types/reverse.d.ts +206 -0
- package/dist/types/root-error-boundary.d.ts +32 -0
- package/dist/types/route-content-wrapper.d.ts +40 -0
- package/dist/types/route-definition/dsl-helpers.d.ts +130 -0
- package/dist/types/route-definition/helper-factories.d.ts +22 -0
- package/dist/types/route-definition/helpers-types.d.ts +392 -0
- package/dist/types/route-definition/index.d.ts +7 -0
- package/dist/types/route-definition/redirect.d.ts +48 -0
- package/dist/types/route-definition/resolve-handler-use.d.ts +19 -0
- package/dist/types/route-definition/use-item-types.d.ts +1 -0
- package/dist/types/route-definition.d.ts +1 -0
- package/dist/types/route-map-builder.d.ts +127 -0
- package/dist/types/route-name.d.ts +27 -0
- package/dist/types/route-types.d.ts +172 -0
- package/dist/types/router/basename.d.ts +10 -0
- package/dist/types/router/content-negotiation.d.ts +91 -0
- package/dist/types/router/debug-manifest.d.ts +7 -0
- package/dist/types/router/error-handling.d.ts +76 -0
- package/dist/types/router/find-match.d.ts +19 -0
- package/dist/types/router/handler-context.d.ts +41 -0
- package/dist/types/router/instrument.d.ts +161 -0
- package/dist/types/router/intercept-resolution.d.ts +79 -0
- package/dist/types/router/lazy-includes.d.ts +26 -0
- package/dist/types/router/loader-resolution.d.ts +63 -0
- package/dist/types/router/logging.d.ts +41 -0
- package/dist/types/router/manifest.d.ts +8 -0
- package/dist/types/router/match-api.d.ts +19 -0
- package/dist/types/router/match-context.d.ts +184 -0
- package/dist/types/router/match-handlers.d.ts +49 -0
- package/dist/types/router/match-middleware/background-revalidation.d.ts +113 -0
- package/dist/types/router/match-middleware/cache-lookup.d.ts +113 -0
- package/dist/types/router/match-middleware/cache-store.d.ts +112 -0
- package/dist/types/router/match-middleware/index.d.ts +80 -0
- package/dist/types/router/match-middleware/intercept-resolution.d.ts +116 -0
- package/dist/types/router/match-middleware/segment-resolution.d.ts +94 -0
- package/dist/types/router/match-pipelines.d.ts +103 -0
- package/dist/types/router/match-result.d.ts +114 -0
- package/dist/types/router/metrics.d.ts +6 -0
- package/dist/types/router/middleware-types.d.ts +74 -0
- package/dist/types/router/middleware.d.ts +116 -0
- package/dist/types/router/navigation-snapshot.d.ts +22 -0
- package/dist/types/router/params-util.d.ts +8 -0
- package/dist/types/router/parse-pattern.d.ts +38 -0
- package/dist/types/router/pattern-matching.d.ts +169 -0
- package/dist/types/router/prefetch-cache-ttl.d.ts +27 -0
- package/dist/types/router/prefetch-limits.d.ts +20 -0
- package/dist/types/router/prerender-match.d.ts +50 -0
- package/dist/types/router/preview-match.d.ts +22 -0
- package/dist/types/router/request-classification.d.ts +104 -0
- package/dist/types/router/revalidation.d.ts +57 -0
- package/dist/types/router/route-snapshot.d.ts +112 -0
- package/dist/types/router/router-context.d.ts +137 -0
- package/dist/types/router/router-interfaces.d.ts +432 -0
- package/dist/types/router/router-options.d.ts +738 -0
- package/dist/types/router/router-registry.d.ts +15 -0
- package/dist/types/router/segment-resolution/fresh.d.ts +55 -0
- package/dist/types/router/segment-resolution/helpers.d.ts +93 -0
- package/dist/types/router/segment-resolution/loader-cache.d.ts +33 -0
- package/dist/types/router/segment-resolution/loader-mask.d.ts +44 -0
- package/dist/types/router/segment-resolution/loader-snapshot.d.ts +90 -0
- package/dist/types/router/segment-resolution/mask-nested.d.ts +53 -0
- package/dist/types/router/segment-resolution/revalidation.d.ts +85 -0
- package/dist/types/router/segment-resolution/static-store.d.ts +17 -0
- package/dist/types/router/segment-resolution/streamed-handler-telemetry.d.ts +16 -0
- package/dist/types/router/segment-resolution/view-transition-default.d.ts +28 -0
- package/dist/types/router/segment-resolution.d.ts +3 -0
- package/dist/types/router/segment-wrappers.d.ts +53 -0
- package/dist/types/router/state-cookie-name.d.ts +1 -0
- package/dist/types/router/substitute-pattern-params.d.ts +23 -0
- package/dist/types/router/telemetry-otel.d.ts +113 -0
- package/dist/types/router/telemetry.d.ts +216 -0
- package/dist/types/router/timeout.d.ts +96 -0
- package/dist/types/router/tracing.d.ts +125 -0
- package/dist/types/router/trie-matching.d.ts +32 -0
- package/dist/types/router/types.d.ts +98 -0
- package/dist/types/router/url-params.d.ts +26 -0
- package/dist/types/router.d.ts +7 -0
- package/dist/types/rsc/capture-queue.d.ts +6 -0
- package/dist/types/rsc/full-payload.d.ts +22 -0
- package/dist/types/rsc/handler-context.d.ts +31 -0
- package/dist/types/rsc/handler.d.ts +9 -0
- package/dist/types/rsc/helpers.d.ts +124 -0
- package/dist/types/rsc/index.d.ts +17 -0
- package/dist/types/rsc/json-route-result.d.ts +20 -0
- package/dist/types/rsc/loader-fetch.d.ts +14 -0
- package/dist/types/rsc/manifest-init.d.ts +18 -0
- package/dist/types/rsc/nonce.d.ts +28 -0
- package/dist/types/rsc/origin-guard.d.ts +50 -0
- package/dist/types/rsc/progressive-enhancement.d.ts +19 -0
- package/dist/types/rsc/redirect-guard.d.ts +37 -0
- package/dist/types/rsc/render-pipeline.d.ts +138 -0
- package/dist/types/rsc/response-cache-serve.d.ts +46 -0
- package/dist/types/rsc/response-error.d.ts +19 -0
- package/dist/types/rsc/response-route-handler.d.ts +29 -0
- package/dist/types/rsc/rsc-rendering.d.ts +23 -0
- package/dist/types/rsc/runtime-warnings.d.ts +22 -0
- package/dist/types/rsc/server-action.d.ts +68 -0
- package/dist/types/rsc/shell-build-manifest.d.ts +84 -0
- package/dist/types/rsc/shell-capture-constants.d.ts +27 -0
- package/dist/types/rsc/shell-capture.d.ts +374 -0
- package/dist/types/rsc/shell-serve.d.ts +174 -0
- package/dist/types/rsc/ssr-setup.d.ts +73 -0
- package/dist/types/rsc/transition-gate.d.ts +27 -0
- package/dist/types/rsc/types.d.ts +290 -0
- package/dist/types/runtime-env.d.ts +1 -0
- package/dist/types/search-params.d.ts +125 -0
- package/dist/types/segment-content-promise.d.ts +13 -0
- package/dist/types/segment-fragments.d.ts +56 -0
- package/dist/types/segment-loader-promise.d.ts +22 -0
- package/dist/types/segment-system.d.ts +84 -0
- package/dist/types/serialize.d.ts +164 -0
- package/dist/types/server/context.d.ts +494 -0
- package/dist/types/server/cookie-parse.d.ts +10 -0
- package/dist/types/server/cookie-store.d.ts +107 -0
- package/dist/types/server/fetchable-loader-store.d.ts +20 -0
- package/dist/types/server/handle-store.d.ts +100 -0
- package/dist/types/server/loader-registry.d.ts +32 -0
- package/dist/types/server/request-context.d.ts +618 -0
- package/dist/types/server/root-layout.d.ts +3 -0
- package/dist/types/server.d.ts +15 -0
- package/dist/types/ssr/index.d.ts +233 -0
- package/dist/types/ssr/inject-rsc-eager.d.ts +3 -0
- package/dist/types/ssr/preinit-client-references.d.ts +71 -0
- package/dist/types/ssr/ssr-root.d.ts +69 -0
- package/dist/types/static-handler.d.ts +57 -0
- package/dist/types/testing/cache-status.d.ts +63 -0
- package/dist/types/testing/collect-handle.d.ts +20 -0
- package/dist/types/testing/dispatch.d.ts +127 -0
- package/dist/types/testing/dom.entry.d.ts +15 -0
- package/dist/types/testing/e2e/fixture.d.ts +37 -0
- package/dist/types/testing/e2e/index.d.ts +31 -0
- package/dist/types/testing/e2e/matchers.d.ts +17 -0
- package/dist/types/testing/e2e/page-helpers.d.ts +62 -0
- package/dist/types/testing/e2e/parity.d.ts +111 -0
- package/dist/types/testing/e2e/server.d.ts +35 -0
- package/dist/types/testing/flight-matchers.d.ts +55 -0
- package/dist/types/testing/flight-normalize.d.ts +1 -0
- package/dist/types/testing/flight-tree.d.ts +192 -0
- package/dist/types/testing/flight.d.ts +115 -0
- package/dist/types/testing/flight.entry.d.ts +27 -0
- package/dist/types/testing/generated-routes.d.ts +66 -0
- package/dist/types/testing/index.d.ts +54 -0
- package/dist/types/testing/internal/context.d.ts +225 -0
- package/dist/types/testing/internal/flight-client-globals.d.ts +1 -0
- package/dist/types/testing/internal/seed-vars.d.ts +30 -0
- package/dist/types/testing/render-handler.d.ts +160 -0
- package/dist/types/testing/render-route.d.ts +246 -0
- package/dist/types/testing/run-loader.d.ts +186 -0
- package/dist/types/testing/run-middleware.d.ts +132 -0
- package/dist/types/testing/run-transition-when.d.ts +77 -0
- package/dist/types/testing/shell-status.d.ts +58 -0
- package/dist/types/testing/vitest-stubs/cloudflare-email.d.ts +6 -0
- package/dist/types/testing/vitest-stubs/cloudflare-workers.d.ts +13 -0
- package/dist/types/testing/vitest-stubs/plugin-rsc.d.ts +7 -0
- package/dist/types/testing/vitest-stubs/version.d.ts +1 -0
- package/dist/types/testing/vitest.d.ts +205 -0
- package/dist/types/theme/ThemeProvider.d.ts +13 -0
- package/dist/types/theme/ThemeScript.d.ts +45 -0
- package/dist/types/theme/constants.d.ts +39 -0
- package/dist/types/theme/index.d.ts +29 -0
- package/dist/types/theme/theme-context.d.ts +21 -0
- package/dist/types/theme/theme-script.d.ts +26 -0
- package/dist/types/theme/types.d.ts +162 -0
- package/dist/types/theme/use-theme.d.ts +8 -0
- package/dist/types/types/boundaries.d.ts +93 -0
- package/dist/types/types/cache-types.d.ts +191 -0
- package/dist/types/types/error-types.d.ts +114 -0
- package/dist/types/types/global-namespace.d.ts +90 -0
- package/dist/types/types/handler-context.d.ts +658 -0
- package/dist/types/types/index.d.ts +11 -0
- package/dist/types/types/loader-types.d.ts +182 -0
- package/dist/types/types/request-scope.d.ts +93 -0
- package/dist/types/types/route-config.d.ts +105 -0
- package/dist/types/types/route-entry.d.ts +95 -0
- package/dist/types/types/segments.d.ts +234 -0
- package/dist/types/types.d.ts +1 -0
- package/dist/types/urls/include-helper.d.ts +17 -0
- package/dist/types/urls/include-provider.d.ts +27 -0
- package/dist/types/urls/index.d.ts +6 -0
- package/dist/types/urls/path-helper-types.d.ts +197 -0
- package/dist/types/urls/path-helper.d.ts +12 -0
- package/dist/types/urls/pattern-types.d.ts +166 -0
- package/dist/types/urls/response-types.d.ts +67 -0
- package/dist/types/urls/type-extraction.d.ts +157 -0
- package/dist/types/urls/urls-function.d.ts +24 -0
- package/dist/types/urls.d.ts +1 -0
- package/dist/types/use-loader.d.ts +150 -0
- package/dist/types/vercel/index.d.ts +10 -0
- package/dist/types/vercel/tracing.d.ts +70 -0
- package/dist/types/vite/debug.d.ts +80 -0
- package/dist/types/vite/discovery/bundle-postprocess.d.ts +12 -0
- package/dist/types/vite/discovery/dev-prerender-cache.d.ts +65 -0
- package/dist/types/vite/discovery/discover-routers.d.ts +17 -0
- package/dist/types/vite/discovery/discovery-errors.d.ts +113 -0
- package/dist/types/vite/discovery/gate-state.d.ts +79 -0
- package/dist/types/vite/discovery/prerender-collection.d.ts +24 -0
- package/dist/types/vite/discovery/route-types-writer.d.ts +32 -0
- package/dist/types/vite/discovery/self-gen-tracking.d.ts +22 -0
- package/dist/types/vite/discovery/shell-prerender-phase.d.ts +40 -0
- package/dist/types/vite/discovery/state.d.ts +162 -0
- package/dist/types/vite/discovery/virtual-module-codegen.d.ts +15 -0
- package/dist/types/vite/index.d.ts +11 -0
- package/dist/types/vite/inject-client-debug.d.ts +56 -0
- package/dist/types/vite/plugin-types.d.ts +298 -0
- package/dist/types/vite/plugins/cjs-to-esm.d.ts +6 -0
- package/dist/types/vite/plugins/client-ref-dedup.d.ts +40 -0
- package/dist/types/vite/plugins/client-ref-hashing.d.ts +35 -0
- package/dist/types/vite/plugins/cloudflare-protocol-stub.d.ts +64 -0
- package/dist/types/vite/plugins/expose-action-id.d.ts +18 -0
- package/dist/types/vite/plugins/expose-id-utils.d.ts +37 -0
- package/dist/types/vite/plugins/expose-ids/export-analysis.d.ts +19 -0
- package/dist/types/vite/plugins/expose-ids/handler-transform.d.ts +10 -0
- package/dist/types/vite/plugins/expose-ids/loader-transform.d.ts +8 -0
- package/dist/types/vite/plugins/expose-ids/router-transform.d.ts +13 -0
- package/dist/types/vite/plugins/expose-ids/types.d.ts +29 -0
- package/dist/types/vite/plugins/expose-internal-ids.d.ts +6 -0
- package/dist/types/vite/plugins/performance-tracks.d.ts +25 -0
- package/dist/types/vite/plugins/refresh-cmd.d.ts +20 -0
- package/dist/types/vite/plugins/use-cache-transform.d.ts +20 -0
- package/dist/types/vite/plugins/vercel-output.d.ts +85 -0
- package/dist/types/vite/plugins/version-injector.d.ts +21 -0
- package/dist/types/vite/plugins/version-plugin.d.ts +19 -0
- package/dist/types/vite/plugins/virtual-entries.d.ts +36 -0
- package/dist/types/vite/plugins/virtual-stub-plugin.d.ts +7 -0
- package/dist/types/vite/rango.d.ts +29 -0
- package/dist/types/vite/router-discovery.d.ts +23 -0
- package/dist/types/vite/utils/ast-handler-extract.d.ts +64 -0
- package/dist/types/vite/utils/banner.d.ts +2 -0
- package/dist/types/vite/utils/bundle-analysis.d.ts +28 -0
- package/dist/types/vite/utils/client-chunks.d.ts +55 -0
- package/dist/types/vite/utils/directive-prologue.d.ts +16 -0
- package/dist/types/vite/utils/forward-user-plugins.d.ts +37 -0
- package/dist/types/vite/utils/manifest-utils.d.ts +7 -0
- package/dist/types/vite/utils/package-resolution.d.ts +6 -0
- package/dist/types/vite/utils/prerender-utils.d.ts +32 -0
- package/dist/types/vite/utils/shared-utils.d.ts +55 -0
- package/dist/vite/index.js +1051 -361
- package/package.json +39 -33
- package/skills/catalog.json +6 -0
- package/skills/cloudflare/SKILL.md +149 -0
- package/skills/cloudflare/agents/openai.yaml +4 -0
- package/skills/cloudflare/references/d1-and-local-dev.md +131 -0
- package/skills/cloudflare/references/streaming-and-deploy.md +107 -0
- package/skills/cloudflare/references/webhooks-and-crypto.md +147 -0
- package/skills/composability/SKILL.md +14 -0
- package/skills/debug-manifest/SKILL.md +2 -10
- package/skills/links/SKILL.md +12 -0
- package/skills/middleware/SKILL.md +33 -0
- package/skills/migrate-nextjs/SKILL.md +65 -16
- package/skills/migrate-nextjs/backend-host-swap.md +120 -0
- package/skills/migrate-react-router/SKILL.md +6 -6
- package/skills/mime-routes/SKILL.md +25 -17
- package/skills/ppr/SKILL.md +100 -15
- package/skills/prerender/SKILL.md +44 -1
- package/skills/rango/SKILL.md +10 -10
- package/skills/response-routes/SKILL.md +41 -4
- package/skills/route/SKILL.md +6 -0
- package/skills/testing/SKILL.md +1 -0
- package/skills/testing/cache-prerender.md +43 -2
- package/skills/testing/response-routes.md +2 -2
- package/src/browser/event-controller.ts +16 -2
- package/src/browser/rsc-router.tsx +11 -0
- package/src/build/generate-manifest.ts +5 -36
- package/src/build/route-trie.ts +5 -50
- package/src/cache/cache-key-utils.ts +0 -1
- package/src/cache/cache-scope.ts +41 -3
- package/src/cache/cf/cf-cache-store.ts +465 -56
- package/src/cache/cf/cf-cache-types.ts +66 -0
- package/src/cache/cf/cf-tag-marker-memo.ts +5 -2
- package/src/cache/cf/cf-zone-purge.ts +101 -0
- package/src/cache/cf/index.ts +5 -0
- package/src/cache/handle-snapshot.ts +22 -1
- package/src/cache/index.ts +2 -0
- package/src/cache/memory-segment-store.ts +32 -0
- package/src/cache/segment-codec.ts +47 -0
- package/src/cache/shell-snapshot.ts +79 -14
- package/src/cache/types.ts +38 -0
- package/src/cache/vercel/vercel-cache-store.ts +71 -2
- package/src/deps/ssr.ts +4 -1
- package/src/index.rsc.ts +7 -0
- package/src/index.ts +1 -0
- package/src/prerender/build-shell-capture.ts +447 -0
- package/src/prerender/shell-manifest-key.ts +20 -0
- package/src/prerender/store.ts +10 -1
- package/src/prerender.ts +3 -3
- package/src/redirect-origin.ts +37 -8
- package/src/route-map-builder.ts +8 -8
- package/src/router/content-negotiation.ts +47 -5
- package/src/router/handler-context.ts +18 -10
- package/src/router/intercept-resolution.ts +30 -1
- package/src/router/loader-resolution.ts +16 -0
- package/src/router/match-api.ts +9 -2
- package/src/router/match-middleware/cache-lookup.ts +12 -1
- package/src/router/metrics.ts +17 -2
- package/src/router/middleware-types.ts +17 -0
- package/src/router/middleware.ts +4 -0
- package/src/router/prerender-match.ts +28 -0
- package/src/router/router-interfaces.ts +7 -6
- package/src/router/router-options.ts +13 -8
- package/src/router/segment-resolution/fresh.ts +21 -2
- package/src/router/segment-resolution/helpers.ts +1 -1
- package/src/router/segment-resolution/loader-cache.ts +38 -7
- package/src/router/segment-resolution/mask-nested.ts +19 -3
- package/src/router/segment-resolution/revalidation.ts +9 -0
- package/src/router/telemetry-otel.ts +11 -0
- package/src/router/telemetry.ts +1 -0
- package/src/router/timeout.ts +41 -1
- package/src/router.ts +5 -4
- package/src/rsc/capture-queue.ts +67 -0
- package/src/rsc/handler.ts +151 -77
- package/src/rsc/helpers.ts +67 -4
- package/src/rsc/progressive-enhancement.ts +66 -54
- package/src/rsc/redirect-guard.ts +3 -1
- package/src/rsc/render-pipeline.ts +559 -0
- package/src/rsc/response-cache-serve.ts +39 -18
- package/src/rsc/response-route-handler.ts +9 -45
- package/src/rsc/rsc-rendering.ts +303 -103
- package/src/rsc/server-action.ts +50 -42
- package/src/rsc/shell-build-manifest.ts +316 -0
- package/src/rsc/shell-capture-constants.ts +27 -0
- package/src/rsc/shell-capture.ts +595 -69
- package/src/rsc/shell-serve.ts +133 -3
- package/src/rsc/ssr-setup.ts +102 -23
- package/src/segment-fragments.ts +124 -0
- package/src/server/context.ts +184 -8
- package/src/server/request-context.ts +297 -45
- package/src/ssr/index.tsx +167 -32
- package/src/ssr/preinit-client-references.ts +106 -0
- package/src/ssr/ssr-root.tsx +35 -2
- package/src/testing/dispatch.ts +132 -67
- package/src/testing/e2e/index.ts +8 -0
- package/src/testing/index.ts +9 -1
- package/src/testing/internal/context.ts +9 -0
- package/src/testing/render-handler.ts +15 -1
- package/src/testing/run-middleware.ts +14 -0
- package/src/testing/shell-status.ts +100 -0
- package/src/types/handler-context.ts +13 -2
- package/src/urls/path-helper-types.ts +1 -1
- package/src/urls/pattern-types.ts +29 -0
- package/src/vite/discovery/discover-routers.ts +71 -52
- package/src/vite/discovery/prerender-collection.ts +16 -0
- package/src/vite/discovery/shell-prerender-phase.ts +397 -0
- package/src/vite/discovery/state.ts +44 -0
- package/src/vite/discovery/virtual-module-codegen.ts +126 -20
- package/src/vite/index.ts +1 -0
- package/src/vite/plugin-types.ts +33 -0
- package/src/vite/plugins/version-plugin.ts +8 -0
- package/src/vite/plugins/virtual-entries.ts +37 -4
- package/src/vite/rango.ts +42 -2
- package/src/vite/router-discovery.ts +432 -21
- package/src/vite/utils/package-resolution.ts +1 -0
- package/src/vite/utils/prerender-utils.ts +25 -6
- package/src/vite/utils/shared-utils.ts +4 -2
- package/dist/__internal.d.ts +0 -83
- package/dist/__internal.d.ts.map +0 -1
- package/dist/__internal.js +0 -19
- package/dist/__internal.js.map +0 -1
- package/dist/__mocks__/version.d.ts +0 -7
- package/dist/__mocks__/version.d.ts.map +0 -1
- package/dist/__mocks__/version.js +0 -7
- package/dist/__mocks__/version.js.map +0 -1
- package/dist/__tests__/client-href.test.d.ts +0 -2
- package/dist/__tests__/client-href.test.d.ts.map +0 -1
- package/dist/__tests__/client-href.test.js +0 -74
- package/dist/__tests__/client-href.test.js.map +0 -1
- package/dist/__tests__/component-utils.test.d.ts +0 -2
- package/dist/__tests__/component-utils.test.d.ts.map +0 -1
- package/dist/__tests__/component-utils.test.js +0 -51
- package/dist/__tests__/component-utils.test.js.map +0 -1
- package/dist/__tests__/event-controller.test.d.ts +0 -2
- package/dist/__tests__/event-controller.test.d.ts.map +0 -1
- package/dist/__tests__/event-controller.test.js +0 -538
- package/dist/__tests__/event-controller.test.js.map +0 -1
- package/dist/__tests__/helpers/route-tree.d.ts +0 -118
- package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
- package/dist/__tests__/helpers/route-tree.js +0 -374
- package/dist/__tests__/helpers/route-tree.js.map +0 -1
- package/dist/__tests__/match-result.test.d.ts +0 -2
- package/dist/__tests__/match-result.test.d.ts.map +0 -1
- package/dist/__tests__/match-result.test.js +0 -154
- package/dist/__tests__/match-result.test.js.map +0 -1
- package/dist/__tests__/navigation-store.test.d.ts +0 -2
- package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
- package/dist/__tests__/navigation-store.test.js +0 -440
- package/dist/__tests__/navigation-store.test.js.map +0 -1
- package/dist/__tests__/partial-update.test.d.ts +0 -2
- package/dist/__tests__/partial-update.test.d.ts.map +0 -1
- package/dist/__tests__/partial-update.test.js +0 -1009
- package/dist/__tests__/partial-update.test.js.map +0 -1
- package/dist/__tests__/reverse-types.test.d.ts +0 -8
- package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
- package/dist/__tests__/reverse-types.test.js +0 -656
- package/dist/__tests__/reverse-types.test.js.map +0 -1
- package/dist/__tests__/route-definition.test.d.ts +0 -2
- package/dist/__tests__/route-definition.test.d.ts.map +0 -1
- package/dist/__tests__/route-definition.test.js +0 -55
- package/dist/__tests__/route-definition.test.js.map +0 -1
- package/dist/__tests__/router-helpers.test.d.ts +0 -2
- package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
- package/dist/__tests__/router-helpers.test.js +0 -377
- package/dist/__tests__/router-helpers.test.js.map +0 -1
- package/dist/__tests__/router-integration-2.test.d.ts +0 -2
- package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
- package/dist/__tests__/router-integration-2.test.js +0 -426
- package/dist/__tests__/router-integration-2.test.js.map +0 -1
- package/dist/__tests__/router-integration.test.d.ts +0 -2
- package/dist/__tests__/router-integration.test.d.ts.map +0 -1
- package/dist/__tests__/router-integration.test.js +0 -1051
- package/dist/__tests__/router-integration.test.js.map +0 -1
- package/dist/__tests__/search-params.test.d.ts +0 -5
- package/dist/__tests__/search-params.test.d.ts.map +0 -1
- package/dist/__tests__/search-params.test.js +0 -306
- package/dist/__tests__/search-params.test.js.map +0 -1
- package/dist/__tests__/segment-system.test.d.ts +0 -2
- package/dist/__tests__/segment-system.test.d.ts.map +0 -1
- package/dist/__tests__/segment-system.test.js +0 -627
- package/dist/__tests__/segment-system.test.js.map +0 -1
- package/dist/__tests__/static-handler-types.test.d.ts +0 -8
- package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
- package/dist/__tests__/static-handler-types.test.js +0 -63
- package/dist/__tests__/static-handler-types.test.js.map +0 -1
- package/dist/__tests__/urls.test.d.ts +0 -2
- package/dist/__tests__/urls.test.d.ts.map +0 -1
- package/dist/__tests__/urls.test.js +0 -421
- package/dist/__tests__/urls.test.js.map +0 -1
- package/dist/__tests__/use-mount.test.d.ts +0 -2
- package/dist/__tests__/use-mount.test.d.ts.map +0 -1
- package/dist/__tests__/use-mount.test.js +0 -35
- package/dist/__tests__/use-mount.test.js.map +0 -1
- package/dist/bin/rango.d.ts +0 -2
- package/dist/bin/rango.d.ts.map +0 -1
- package/dist/bin/rango.js.map +0 -1
- package/dist/browser/event-controller.d.ts +0 -191
- package/dist/browser/event-controller.d.ts.map +0 -1
- package/dist/browser/event-controller.js +0 -559
- package/dist/browser/event-controller.js.map +0 -1
- package/dist/browser/index.d.ts +0 -2
- package/dist/browser/index.d.ts.map +0 -1
- package/dist/browser/index.js +0 -14
- package/dist/browser/index.js.map +0 -1
- package/dist/browser/link-interceptor.d.ts +0 -38
- package/dist/browser/link-interceptor.d.ts.map +0 -1
- package/dist/browser/link-interceptor.js +0 -99
- package/dist/browser/link-interceptor.js.map +0 -1
- package/dist/browser/logging.d.ts +0 -10
- package/dist/browser/logging.d.ts.map +0 -1
- package/dist/browser/logging.js +0 -29
- package/dist/browser/logging.js.map +0 -1
- package/dist/browser/lru-cache.d.ts +0 -17
- package/dist/browser/lru-cache.d.ts.map +0 -1
- package/dist/browser/lru-cache.js +0 -50
- package/dist/browser/lru-cache.js.map +0 -1
- package/dist/browser/merge-segment-loaders.d.ts +0 -39
- package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
- package/dist/browser/merge-segment-loaders.js +0 -102
- package/dist/browser/merge-segment-loaders.js.map +0 -1
- package/dist/browser/navigation-bridge.d.ts +0 -102
- package/dist/browser/navigation-bridge.d.ts.map +0 -1
- package/dist/browser/navigation-bridge.js +0 -708
- package/dist/browser/navigation-bridge.js.map +0 -1
- package/dist/browser/navigation-client.d.ts +0 -25
- package/dist/browser/navigation-client.d.ts.map +0 -1
- package/dist/browser/navigation-client.js +0 -157
- package/dist/browser/navigation-client.js.map +0 -1
- package/dist/browser/navigation-store.d.ts +0 -101
- package/dist/browser/navigation-store.d.ts.map +0 -1
- package/dist/browser/navigation-store.js +0 -625
- package/dist/browser/navigation-store.js.map +0 -1
- package/dist/browser/partial-update.d.ts +0 -75
- package/dist/browser/partial-update.d.ts.map +0 -1
- package/dist/browser/partial-update.js +0 -426
- package/dist/browser/partial-update.js.map +0 -1
- package/dist/browser/react/Link.d.ts +0 -86
- package/dist/browser/react/Link.d.ts.map +0 -1
- package/dist/browser/react/Link.js +0 -128
- package/dist/browser/react/Link.js.map +0 -1
- package/dist/browser/react/NavigationProvider.d.ts +0 -63
- package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
- package/dist/browser/react/NavigationProvider.js +0 -216
- package/dist/browser/react/NavigationProvider.js.map +0 -1
- package/dist/browser/react/ScrollRestoration.d.ts +0 -75
- package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
- package/dist/browser/react/ScrollRestoration.js +0 -57
- package/dist/browser/react/ScrollRestoration.js.map +0 -1
- package/dist/browser/react/context.d.ts +0 -46
- package/dist/browser/react/context.d.ts.map +0 -1
- package/dist/browser/react/context.js +0 -10
- package/dist/browser/react/context.js.map +0 -1
- package/dist/browser/react/index.d.ts +0 -11
- package/dist/browser/react/index.d.ts.map +0 -1
- package/dist/browser/react/index.js +0 -22
- package/dist/browser/react/index.js.map +0 -1
- package/dist/browser/react/location-state-shared.d.ts +0 -63
- package/dist/browser/react/location-state-shared.d.ts.map +0 -1
- package/dist/browser/react/location-state-shared.js +0 -81
- package/dist/browser/react/location-state-shared.js.map +0 -1
- package/dist/browser/react/location-state.d.ts +0 -23
- package/dist/browser/react/location-state.d.ts.map +0 -1
- package/dist/browser/react/location-state.js +0 -29
- package/dist/browser/react/location-state.js.map +0 -1
- package/dist/browser/react/mount-context.d.ts +0 -24
- package/dist/browser/react/mount-context.d.ts.map +0 -1
- package/dist/browser/react/mount-context.js +0 -24
- package/dist/browser/react/mount-context.js.map +0 -1
- package/dist/browser/react/use-action.d.ts +0 -64
- package/dist/browser/react/use-action.d.ts.map +0 -1
- package/dist/browser/react/use-action.js +0 -134
- package/dist/browser/react/use-action.js.map +0 -1
- package/dist/browser/react/use-client-cache.d.ts +0 -41
- package/dist/browser/react/use-client-cache.d.ts.map +0 -1
- package/dist/browser/react/use-client-cache.js +0 -39
- package/dist/browser/react/use-client-cache.js.map +0 -1
- package/dist/browser/react/use-handle.d.ts +0 -31
- package/dist/browser/react/use-handle.d.ts.map +0 -1
- package/dist/browser/react/use-handle.js +0 -144
- package/dist/browser/react/use-handle.js.map +0 -1
- package/dist/browser/react/use-href.d.ts +0 -33
- package/dist/browser/react/use-href.d.ts.map +0 -1
- package/dist/browser/react/use-href.js +0 -39
- package/dist/browser/react/use-href.js.map +0 -1
- package/dist/browser/react/use-link-status.d.ts +0 -37
- package/dist/browser/react/use-link-status.d.ts.map +0 -1
- package/dist/browser/react/use-link-status.js +0 -99
- package/dist/browser/react/use-link-status.js.map +0 -1
- package/dist/browser/react/use-mount.d.ts +0 -25
- package/dist/browser/react/use-mount.d.ts.map +0 -1
- package/dist/browser/react/use-mount.js +0 -30
- package/dist/browser/react/use-mount.js.map +0 -1
- package/dist/browser/react/use-navigation.d.ts +0 -27
- package/dist/browser/react/use-navigation.d.ts.map +0 -1
- package/dist/browser/react/use-navigation.js +0 -87
- package/dist/browser/react/use-navigation.js.map +0 -1
- package/dist/browser/react/use-segments.d.ts +0 -38
- package/dist/browser/react/use-segments.d.ts.map +0 -1
- package/dist/browser/react/use-segments.js +0 -130
- package/dist/browser/react/use-segments.js.map +0 -1
- package/dist/browser/request-controller.d.ts +0 -26
- package/dist/browser/request-controller.d.ts.map +0 -1
- package/dist/browser/request-controller.js +0 -147
- package/dist/browser/request-controller.js.map +0 -1
- package/dist/browser/rsc-router.d.ts +0 -129
- package/dist/browser/rsc-router.d.ts.map +0 -1
- package/dist/browser/rsc-router.js +0 -195
- package/dist/browser/rsc-router.js.map +0 -1
- package/dist/browser/scroll-restoration.d.ts +0 -93
- package/dist/browser/scroll-restoration.d.ts.map +0 -1
- package/dist/browser/scroll-restoration.js +0 -321
- package/dist/browser/scroll-restoration.js.map +0 -1
- package/dist/browser/segment-structure-assert.d.ts +0 -17
- package/dist/browser/segment-structure-assert.d.ts.map +0 -1
- package/dist/browser/segment-structure-assert.js +0 -59
- package/dist/browser/segment-structure-assert.js.map +0 -1
- package/dist/browser/server-action-bridge.d.ts +0 -26
- package/dist/browser/server-action-bridge.d.ts.map +0 -1
- package/dist/browser/server-action-bridge.js +0 -668
- package/dist/browser/server-action-bridge.js.map +0 -1
- package/dist/browser/shallow.d.ts +0 -12
- package/dist/browser/shallow.d.ts.map +0 -1
- package/dist/browser/shallow.js +0 -34
- package/dist/browser/shallow.js.map +0 -1
- package/dist/browser/types.d.ts +0 -369
- package/dist/browser/types.d.ts.map +0 -1
- package/dist/browser/types.js +0 -2
- package/dist/browser/types.js.map +0 -1
- package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
- package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
- package/dist/build/__tests__/generate-cli.test.js +0 -237
- package/dist/build/__tests__/generate-cli.test.js.map +0 -1
- package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
- package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
- package/dist/build/__tests__/generate-manifest.test.js +0 -119
- package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
- package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
- package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
- package/dist/build/__tests__/generate-route-types.test.js +0 -620
- package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
- package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
- package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
- package/dist/build/__tests__/per-router-manifest.test.js +0 -308
- package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
- package/dist/build/generate-manifest.d.ts +0 -81
- package/dist/build/generate-manifest.d.ts.map +0 -1
- package/dist/build/generate-manifest.js +0 -276
- package/dist/build/generate-manifest.js.map +0 -1
- package/dist/build/generate-route-types.d.ts +0 -115
- package/dist/build/generate-route-types.d.ts.map +0 -1
- package/dist/build/generate-route-types.js +0 -740
- package/dist/build/generate-route-types.js.map +0 -1
- package/dist/build/index.d.ts +0 -21
- package/dist/build/index.d.ts.map +0 -1
- package/dist/build/index.js +0 -21
- package/dist/build/index.js.map +0 -1
- package/dist/build/route-trie.d.ts +0 -71
- package/dist/build/route-trie.d.ts.map +0 -1
- package/dist/build/route-trie.js +0 -175
- package/dist/build/route-trie.js.map +0 -1
- package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
- package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
- package/dist/cache/__tests__/cache-scope.test.js +0 -208
- package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
- package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
- package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
- package/dist/cache/__tests__/document-cache.test.js +0 -345
- package/dist/cache/__tests__/document-cache.test.js.map +0 -1
- package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
- package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
- package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
- package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
- package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
- package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
- package/dist/cache/__tests__/memory-store.test.js +0 -367
- package/dist/cache/__tests__/memory-store.test.js.map +0 -1
- package/dist/cache/cache-scope.d.ts +0 -102
- package/dist/cache/cache-scope.d.ts.map +0 -1
- package/dist/cache/cache-scope.js +0 -440
- package/dist/cache/cache-scope.js.map +0 -1
- package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
- package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
- package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
- package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
- package/dist/cache/cf/cf-cache-store.d.ts +0 -165
- package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
- package/dist/cache/cf/cf-cache-store.js +0 -242
- package/dist/cache/cf/cf-cache-store.js.map +0 -1
- package/dist/cache/cf/index.d.ts +0 -14
- package/dist/cache/cf/index.d.ts.map +0 -1
- package/dist/cache/cf/index.js +0 -17
- package/dist/cache/cf/index.js.map +0 -1
- package/dist/cache/document-cache.d.ts +0 -64
- package/dist/cache/document-cache.d.ts.map +0 -1
- package/dist/cache/document-cache.js +0 -228
- package/dist/cache/document-cache.js.map +0 -1
- package/dist/cache/index.d.ts +0 -19
- package/dist/cache/index.d.ts.map +0 -1
- package/dist/cache/index.js +0 -21
- package/dist/cache/index.js.map +0 -1
- package/dist/cache/memory-segment-store.d.ts +0 -110
- package/dist/cache/memory-segment-store.d.ts.map +0 -1
- package/dist/cache/memory-segment-store.js +0 -117
- package/dist/cache/memory-segment-store.js.map +0 -1
- package/dist/cache/memory-store.d.ts +0 -41
- package/dist/cache/memory-store.d.ts.map +0 -1
- package/dist/cache/memory-store.js +0 -191
- package/dist/cache/memory-store.js.map +0 -1
- package/dist/cache/types.d.ts +0 -317
- package/dist/cache/types.d.ts.map +0 -1
- package/dist/cache/types.js +0 -12
- package/dist/cache/types.js.map +0 -1
- package/dist/client.d.ts +0 -248
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -367
- package/dist/client.js.map +0 -1
- package/dist/client.rsc.d.ts +0 -26
- package/dist/client.rsc.d.ts.map +0 -1
- package/dist/client.rsc.js +0 -46
- package/dist/client.rsc.js.map +0 -1
- package/dist/component-utils.d.ts +0 -36
- package/dist/component-utils.d.ts.map +0 -1
- package/dist/component-utils.js +0 -61
- package/dist/component-utils.js.map +0 -1
- package/dist/components/DefaultDocument.d.ts +0 -13
- package/dist/components/DefaultDocument.d.ts.map +0 -1
- package/dist/components/DefaultDocument.js +0 -15
- package/dist/components/DefaultDocument.js.map +0 -1
- package/dist/debug.d.ts +0 -58
- package/dist/debug.d.ts.map +0 -1
- package/dist/debug.js +0 -157
- package/dist/debug.js.map +0 -1
- package/dist/default-error-boundary.d.ts +0 -11
- package/dist/default-error-boundary.d.ts.map +0 -1
- package/dist/default-error-boundary.js +0 -45
- package/dist/default-error-boundary.js.map +0 -1
- package/dist/deps/browser.d.ts +0 -2
- package/dist/deps/browser.d.ts.map +0 -1
- package/dist/deps/browser.js +0 -3
- package/dist/deps/browser.js.map +0 -1
- package/dist/deps/html-stream-client.d.ts +0 -2
- package/dist/deps/html-stream-client.d.ts.map +0 -1
- package/dist/deps/html-stream-client.js +0 -3
- package/dist/deps/html-stream-client.js.map +0 -1
- package/dist/deps/html-stream-server.d.ts +0 -2
- package/dist/deps/html-stream-server.d.ts.map +0 -1
- package/dist/deps/html-stream-server.js +0 -3
- package/dist/deps/html-stream-server.js.map +0 -1
- package/dist/deps/rsc.d.ts +0 -2
- package/dist/deps/rsc.d.ts.map +0 -1
- package/dist/deps/rsc.js +0 -4
- package/dist/deps/rsc.js.map +0 -1
- package/dist/deps/ssr.d.ts +0 -2
- package/dist/deps/ssr.d.ts.map +0 -1
- package/dist/deps/ssr.js +0 -3
- package/dist/deps/ssr.js.map +0 -1
- package/dist/errors.d.ts +0 -174
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -241
- package/dist/errors.js.map +0 -1
- package/dist/handle.d.ts +0 -78
- package/dist/handle.d.ts.map +0 -1
- package/dist/handle.js +0 -82
- package/dist/handle.js.map +0 -1
- package/dist/handles/MetaTags.d.ts +0 -14
- package/dist/handles/MetaTags.d.ts.map +0 -1
- package/dist/handles/MetaTags.js +0 -136
- package/dist/handles/MetaTags.js.map +0 -1
- package/dist/handles/index.d.ts +0 -6
- package/dist/handles/index.d.ts.map +0 -1
- package/dist/handles/index.js +0 -6
- package/dist/handles/index.js.map +0 -1
- package/dist/handles/meta.d.ts +0 -39
- package/dist/handles/meta.d.ts.map +0 -1
- package/dist/handles/meta.js +0 -202
- package/dist/handles/meta.js.map +0 -1
- package/dist/host/__tests__/errors.test.d.ts +0 -2
- package/dist/host/__tests__/errors.test.d.ts.map +0 -1
- package/dist/host/__tests__/errors.test.js +0 -76
- package/dist/host/__tests__/errors.test.js.map +0 -1
- package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
- package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
- package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
- package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
- package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
- package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
- package/dist/host/__tests__/pattern-matcher.test.js +0 -251
- package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
- package/dist/host/__tests__/router.test.d.ts +0 -2
- package/dist/host/__tests__/router.test.d.ts.map +0 -1
- package/dist/host/__tests__/router.test.js +0 -241
- package/dist/host/__tests__/router.test.js.map +0 -1
- package/dist/host/__tests__/testing.test.d.ts +0 -2
- package/dist/host/__tests__/testing.test.d.ts.map +0 -1
- package/dist/host/__tests__/testing.test.js +0 -64
- package/dist/host/__tests__/testing.test.js.map +0 -1
- package/dist/host/__tests__/utils.test.d.ts +0 -2
- package/dist/host/__tests__/utils.test.d.ts.map +0 -1
- package/dist/host/__tests__/utils.test.js +0 -29
- package/dist/host/__tests__/utils.test.js.map +0 -1
- package/dist/host/cookie-handler.d.ts +0 -34
- package/dist/host/cookie-handler.d.ts.map +0 -1
- package/dist/host/cookie-handler.js +0 -124
- package/dist/host/cookie-handler.js.map +0 -1
- package/dist/host/errors.d.ts +0 -56
- package/dist/host/errors.d.ts.map +0 -1
- package/dist/host/errors.js +0 -79
- package/dist/host/errors.js.map +0 -1
- package/dist/host/index.d.ts +0 -29
- package/dist/host/index.d.ts.map +0 -1
- package/dist/host/index.js +0 -32
- package/dist/host/index.js.map +0 -1
- package/dist/host/pattern-matcher.d.ts +0 -36
- package/dist/host/pattern-matcher.d.ts.map +0 -1
- package/dist/host/pattern-matcher.js +0 -172
- package/dist/host/pattern-matcher.js.map +0 -1
- package/dist/host/router.d.ts +0 -26
- package/dist/host/router.d.ts.map +0 -1
- package/dist/host/router.js +0 -218
- package/dist/host/router.js.map +0 -1
- package/dist/host/testing.d.ts +0 -36
- package/dist/host/testing.d.ts.map +0 -1
- package/dist/host/testing.js +0 -55
- package/dist/host/testing.js.map +0 -1
- package/dist/host/types.d.ts +0 -115
- package/dist/host/types.d.ts.map +0 -1
- package/dist/host/types.js +0 -7
- package/dist/host/types.js.map +0 -1
- package/dist/host/utils.d.ts +0 -21
- package/dist/host/utils.d.ts.map +0 -1
- package/dist/host/utils.js +0 -23
- package/dist/host/utils.js.map +0 -1
- package/dist/href-client.d.ts +0 -131
- package/dist/href-client.d.ts.map +0 -1
- package/dist/href-client.js +0 -64
- package/dist/href-client.js.map +0 -1
- package/dist/href-context.d.ts +0 -29
- package/dist/href-context.d.ts.map +0 -1
- package/dist/href-context.js +0 -21
- package/dist/href-context.js.map +0 -1
- package/dist/index.d.ts +0 -73
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -91
- package/dist/index.js.map +0 -1
- package/dist/index.rsc.d.ts +0 -32
- package/dist/index.rsc.d.ts.map +0 -1
- package/dist/index.rsc.js +0 -40
- package/dist/index.rsc.js.map +0 -1
- package/dist/internal-debug.d.ts +0 -2
- package/dist/internal-debug.d.ts.map +0 -1
- package/dist/internal-debug.js +0 -5
- package/dist/internal-debug.js.map +0 -1
- package/dist/loader.d.ts +0 -14
- package/dist/loader.d.ts.map +0 -1
- package/dist/loader.js +0 -20
- package/dist/loader.js.map +0 -1
- package/dist/loader.rsc.d.ts +0 -19
- package/dist/loader.rsc.d.ts.map +0 -1
- package/dist/loader.rsc.js +0 -99
- package/dist/loader.rsc.js.map +0 -1
- package/dist/network-error-thrower.d.ts +0 -17
- package/dist/network-error-thrower.d.ts.map +0 -1
- package/dist/network-error-thrower.js +0 -14
- package/dist/network-error-thrower.js.map +0 -1
- package/dist/outlet-context.d.ts +0 -13
- package/dist/outlet-context.d.ts.map +0 -1
- package/dist/outlet-context.js +0 -3
- package/dist/outlet-context.js.map +0 -1
- package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
- package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
- package/dist/prerender/__tests__/param-hash.test.js +0 -148
- package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
- package/dist/prerender/param-hash.d.ts +0 -16
- package/dist/prerender/param-hash.d.ts.map +0 -1
- package/dist/prerender/param-hash.js +0 -36
- package/dist/prerender/param-hash.js.map +0 -1
- package/dist/prerender/store.d.ts +0 -38
- package/dist/prerender/store.d.ts.map +0 -1
- package/dist/prerender/store.js +0 -61
- package/dist/prerender/store.js.map +0 -1
- package/dist/prerender.d.ts +0 -66
- package/dist/prerender.d.ts.map +0 -1
- package/dist/prerender.js +0 -57
- package/dist/prerender.js.map +0 -1
- package/dist/reverse.d.ts +0 -196
- package/dist/reverse.d.ts.map +0 -1
- package/dist/reverse.js +0 -78
- package/dist/reverse.js.map +0 -1
- package/dist/root-error-boundary.d.ts +0 -33
- package/dist/root-error-boundary.d.ts.map +0 -1
- package/dist/root-error-boundary.js +0 -165
- package/dist/root-error-boundary.js.map +0 -1
- package/dist/route-content-wrapper.d.ts +0 -46
- package/dist/route-content-wrapper.d.ts.map +0 -1
- package/dist/route-content-wrapper.js +0 -77
- package/dist/route-content-wrapper.js.map +0 -1
- package/dist/route-definition.d.ts +0 -421
- package/dist/route-definition.d.ts.map +0 -1
- package/dist/route-definition.js +0 -868
- package/dist/route-definition.js.map +0 -1
- package/dist/route-map-builder.d.ts +0 -155
- package/dist/route-map-builder.d.ts.map +0 -1
- package/dist/route-map-builder.js +0 -237
- package/dist/route-map-builder.js.map +0 -1
- package/dist/route-types.d.ts +0 -165
- package/dist/route-types.d.ts.map +0 -1
- package/dist/route-types.js +0 -7
- package/dist/route-types.js.map +0 -1
- package/dist/router/__tests__/handler-context.test.d.ts +0 -2
- package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
- package/dist/router/__tests__/handler-context.test.js +0 -65
- package/dist/router/__tests__/handler-context.test.js.map +0 -1
- package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
- package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
- package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
- package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
- package/dist/router/__tests__/match-context.test.d.ts +0 -2
- package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
- package/dist/router/__tests__/match-context.test.js +0 -92
- package/dist/router/__tests__/match-context.test.js.map +0 -1
- package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
- package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
- package/dist/router/__tests__/match-pipelines.test.js +0 -417
- package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
- package/dist/router/__tests__/match-result.test.d.ts +0 -2
- package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
- package/dist/router/__tests__/match-result.test.js +0 -457
- package/dist/router/__tests__/match-result.test.js.map +0 -1
- package/dist/router/__tests__/on-error.test.d.ts +0 -2
- package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
- package/dist/router/__tests__/on-error.test.js +0 -678
- package/dist/router/__tests__/on-error.test.js.map +0 -1
- package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
- package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
- package/dist/router/__tests__/pattern-matching.test.js +0 -629
- package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
- package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
- package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
- package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
- package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
- package/dist/router/error-handling.d.ts +0 -77
- package/dist/router/error-handling.d.ts.map +0 -1
- package/dist/router/error-handling.js +0 -202
- package/dist/router/error-handling.js.map +0 -1
- package/dist/router/handler-context.d.ts +0 -20
- package/dist/router/handler-context.d.ts.map +0 -1
- package/dist/router/handler-context.js +0 -198
- package/dist/router/handler-context.js.map +0 -1
- package/dist/router/intercept-resolution.d.ts +0 -66
- package/dist/router/intercept-resolution.d.ts.map +0 -1
- package/dist/router/intercept-resolution.js +0 -246
- package/dist/router/intercept-resolution.js.map +0 -1
- package/dist/router/loader-resolution.d.ts +0 -64
- package/dist/router/loader-resolution.d.ts.map +0 -1
- package/dist/router/loader-resolution.js +0 -284
- package/dist/router/loader-resolution.js.map +0 -1
- package/dist/router/logging.d.ts +0 -15
- package/dist/router/logging.d.ts.map +0 -1
- package/dist/router/logging.js +0 -99
- package/dist/router/logging.js.map +0 -1
- package/dist/router/manifest.d.ts +0 -22
- package/dist/router/manifest.d.ts.map +0 -1
- package/dist/router/manifest.js +0 -181
- package/dist/router/manifest.js.map +0 -1
- package/dist/router/match-api.d.ts +0 -35
- package/dist/router/match-api.d.ts.map +0 -1
- package/dist/router/match-api.js +0 -406
- package/dist/router/match-api.js.map +0 -1
- package/dist/router/match-context.d.ts +0 -206
- package/dist/router/match-context.d.ts.map +0 -1
- package/dist/router/match-context.js +0 -17
- package/dist/router/match-context.js.map +0 -1
- package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
- package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
- package/dist/router/match-middleware/background-revalidation.js +0 -75
- package/dist/router/match-middleware/background-revalidation.js.map +0 -1
- package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
- package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
- package/dist/router/match-middleware/cache-lookup.js +0 -257
- package/dist/router/match-middleware/cache-lookup.js.map +0 -1
- package/dist/router/match-middleware/cache-store.d.ts +0 -113
- package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
- package/dist/router/match-middleware/cache-store.js +0 -108
- package/dist/router/match-middleware/cache-store.js.map +0 -1
- package/dist/router/match-middleware/index.d.ts +0 -81
- package/dist/router/match-middleware/index.d.ts.map +0 -1
- package/dist/router/match-middleware/index.js +0 -80
- package/dist/router/match-middleware/index.js.map +0 -1
- package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
- package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
- package/dist/router/match-middleware/intercept-resolution.js +0 -134
- package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
- package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
- package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
- package/dist/router/match-middleware/segment-resolution.js +0 -53
- package/dist/router/match-middleware/segment-resolution.js.map +0 -1
- package/dist/router/match-pipelines.d.ts +0 -147
- package/dist/router/match-pipelines.d.ts.map +0 -1
- package/dist/router/match-pipelines.js +0 -82
- package/dist/router/match-pipelines.js.map +0 -1
- package/dist/router/match-result.d.ts +0 -126
- package/dist/router/match-result.d.ts.map +0 -1
- package/dist/router/match-result.js +0 -93
- package/dist/router/match-result.js.map +0 -1
- package/dist/router/metrics.d.ts +0 -20
- package/dist/router/metrics.d.ts.map +0 -1
- package/dist/router/metrics.js +0 -47
- package/dist/router/metrics.js.map +0 -1
- package/dist/router/middleware.d.ts +0 -249
- package/dist/router/middleware.d.ts.map +0 -1
- package/dist/router/middleware.js +0 -434
- package/dist/router/middleware.js.map +0 -1
- package/dist/router/middleware.test.d.ts +0 -2
- package/dist/router/middleware.test.d.ts.map +0 -1
- package/dist/router/middleware.test.js +0 -816
- package/dist/router/middleware.test.js.map +0 -1
- package/dist/router/pattern-matching.d.ts +0 -149
- package/dist/router/pattern-matching.d.ts.map +0 -1
- package/dist/router/pattern-matching.js +0 -349
- package/dist/router/pattern-matching.js.map +0 -1
- package/dist/router/revalidation.d.ts +0 -44
- package/dist/router/revalidation.d.ts.map +0 -1
- package/dist/router/revalidation.js +0 -147
- package/dist/router/revalidation.js.map +0 -1
- package/dist/router/router-context.d.ts +0 -135
- package/dist/router/router-context.d.ts.map +0 -1
- package/dist/router/router-context.js +0 -36
- package/dist/router/router-context.js.map +0 -1
- package/dist/router/segment-resolution.d.ts +0 -127
- package/dist/router/segment-resolution.d.ts.map +0 -1
- package/dist/router/segment-resolution.js +0 -919
- package/dist/router/segment-resolution.js.map +0 -1
- package/dist/router/trie-matching.d.ts +0 -40
- package/dist/router/trie-matching.d.ts.map +0 -1
- package/dist/router/trie-matching.js +0 -127
- package/dist/router/trie-matching.js.map +0 -1
- package/dist/router/types.d.ts +0 -136
- package/dist/router/types.d.ts.map +0 -1
- package/dist/router/types.js +0 -7
- package/dist/router/types.js.map +0 -1
- package/dist/router.d.ts +0 -753
- package/dist/router.d.ts.map +0 -1
- package/dist/router.gen.d.ts +0 -6
- package/dist/router.gen.d.ts.map +0 -1
- package/dist/router.gen.js +0 -6
- package/dist/router.gen.js.map +0 -1
- package/dist/router.js +0 -1304
- package/dist/router.js.map +0 -1
- package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
- package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
- package/dist/rsc/__tests__/helpers.test.js +0 -140
- package/dist/rsc/__tests__/helpers.test.js.map +0 -1
- package/dist/rsc/handler.d.ts +0 -45
- package/dist/rsc/handler.d.ts.map +0 -1
- package/dist/rsc/handler.js +0 -1172
- package/dist/rsc/handler.js.map +0 -1
- package/dist/rsc/helpers.d.ts +0 -16
- package/dist/rsc/helpers.d.ts.map +0 -1
- package/dist/rsc/helpers.js +0 -55
- package/dist/rsc/helpers.js.map +0 -1
- package/dist/rsc/index.d.ts +0 -22
- package/dist/rsc/index.d.ts.map +0 -1
- package/dist/rsc/index.js +0 -23
- package/dist/rsc/index.js.map +0 -1
- package/dist/rsc/nonce.d.ts +0 -9
- package/dist/rsc/nonce.d.ts.map +0 -1
- package/dist/rsc/nonce.js +0 -18
- package/dist/rsc/nonce.js.map +0 -1
- package/dist/rsc/types.d.ts +0 -206
- package/dist/rsc/types.d.ts.map +0 -1
- package/dist/rsc/types.js +0 -8
- package/dist/rsc/types.js.map +0 -1
- package/dist/search-params.d.ts +0 -103
- package/dist/search-params.d.ts.map +0 -1
- package/dist/search-params.js +0 -74
- package/dist/search-params.js.map +0 -1
- package/dist/segment-system.d.ts +0 -75
- package/dist/segment-system.d.ts.map +0 -1
- package/dist/segment-system.js +0 -336
- package/dist/segment-system.js.map +0 -1
- package/dist/server/context.d.ts +0 -245
- package/dist/server/context.d.ts.map +0 -1
- package/dist/server/context.js +0 -197
- package/dist/server/context.js.map +0 -1
- package/dist/server/fetchable-loader-store.d.ts +0 -18
- package/dist/server/fetchable-loader-store.d.ts.map +0 -1
- package/dist/server/fetchable-loader-store.js +0 -18
- package/dist/server/fetchable-loader-store.js.map +0 -1
- package/dist/server/handle-store.d.ts +0 -85
- package/dist/server/handle-store.d.ts.map +0 -1
- package/dist/server/handle-store.js +0 -142
- package/dist/server/handle-store.js.map +0 -1
- package/dist/server/loader-registry.d.ts +0 -55
- package/dist/server/loader-registry.d.ts.map +0 -1
- package/dist/server/loader-registry.js +0 -132
- package/dist/server/loader-registry.js.map +0 -1
- package/dist/server/request-context.d.ts +0 -226
- package/dist/server/request-context.d.ts.map +0 -1
- package/dist/server/request-context.js +0 -290
- package/dist/server/request-context.js.map +0 -1
- package/dist/server/root-layout.d.ts +0 -4
- package/dist/server/root-layout.d.ts.map +0 -1
- package/dist/server/root-layout.js +0 -5
- package/dist/server/root-layout.js.map +0 -1
- package/dist/server.d.ts +0 -15
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js +0 -20
- package/dist/server.js.map +0 -1
- package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
- package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
- package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
- package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
- package/dist/ssr/index.d.ts +0 -98
- package/dist/ssr/index.d.ts.map +0 -1
- package/dist/ssr/index.js +0 -158
- package/dist/ssr/index.js.map +0 -1
- package/dist/static-handler.d.ts +0 -50
- package/dist/static-handler.d.ts.map +0 -1
- package/dist/static-handler.gen.d.ts +0 -5
- package/dist/static-handler.gen.d.ts.map +0 -1
- package/dist/static-handler.gen.js +0 -5
- package/dist/static-handler.gen.js.map +0 -1
- package/dist/static-handler.js +0 -29
- package/dist/static-handler.js.map +0 -1
- package/dist/theme/ThemeProvider.d.ts +0 -20
- package/dist/theme/ThemeProvider.d.ts.map +0 -1
- package/dist/theme/ThemeProvider.js +0 -240
- package/dist/theme/ThemeProvider.js.map +0 -1
- package/dist/theme/ThemeScript.d.ts +0 -48
- package/dist/theme/ThemeScript.d.ts.map +0 -1
- package/dist/theme/ThemeScript.js +0 -13
- package/dist/theme/ThemeScript.js.map +0 -1
- package/dist/theme/__tests__/theme.test.d.ts +0 -2
- package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
- package/dist/theme/__tests__/theme.test.js +0 -103
- package/dist/theme/__tests__/theme.test.js.map +0 -1
- package/dist/theme/constants.d.ts +0 -29
- package/dist/theme/constants.d.ts.map +0 -1
- package/dist/theme/constants.js +0 -48
- package/dist/theme/constants.js.map +0 -1
- package/dist/theme/index.d.ts +0 -31
- package/dist/theme/index.d.ts.map +0 -1
- package/dist/theme/index.js +0 -36
- package/dist/theme/index.js.map +0 -1
- package/dist/theme/theme-context.d.ts +0 -40
- package/dist/theme/theme-context.d.ts.map +0 -1
- package/dist/theme/theme-context.js +0 -60
- package/dist/theme/theme-context.js.map +0 -1
- package/dist/theme/theme-script.d.ts +0 -27
- package/dist/theme/theme-script.d.ts.map +0 -1
- package/dist/theme/theme-script.js +0 -147
- package/dist/theme/theme-script.js.map +0 -1
- package/dist/theme/types.d.ts +0 -163
- package/dist/theme/types.d.ts.map +0 -1
- package/dist/theme/types.js +0 -11
- package/dist/theme/types.js.map +0 -1
- package/dist/theme/use-theme.d.ts +0 -12
- package/dist/theme/use-theme.d.ts.map +0 -1
- package/dist/theme/use-theme.js +0 -40
- package/dist/theme/use-theme.js.map +0 -1
- package/dist/types.d.ts +0 -1479
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -10
- package/dist/types.js.map +0 -1
- package/dist/urls.d.ts +0 -441
- package/dist/urls.d.ts.map +0 -1
- package/dist/urls.gen.d.ts +0 -8
- package/dist/urls.gen.d.ts.map +0 -1
- package/dist/urls.gen.js +0 -8
- package/dist/urls.gen.js.map +0 -1
- package/dist/urls.js +0 -443
- package/dist/urls.js.map +0 -1
- package/dist/use-loader.d.ts +0 -127
- package/dist/use-loader.d.ts.map +0 -1
- package/dist/use-loader.js +0 -237
- package/dist/use-loader.js.map +0 -1
- package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
- package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
- package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
- package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
- package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
- package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
- package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
- package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
- package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
- package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
- package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
- package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
- package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
- package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
- package/dist/vite/__tests__/expose-router-id.test.js +0 -39
- package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
- package/dist/vite/ast-handler-extract.d.ts +0 -49
- package/dist/vite/ast-handler-extract.d.ts.map +0 -1
- package/dist/vite/ast-handler-extract.js +0 -249
- package/dist/vite/ast-handler-extract.js.map +0 -1
- package/dist/vite/expose-action-id.d.ts +0 -19
- package/dist/vite/expose-action-id.d.ts.map +0 -1
- package/dist/vite/expose-action-id.js +0 -250
- package/dist/vite/expose-action-id.js.map +0 -1
- package/dist/vite/expose-id-utils.d.ts +0 -69
- package/dist/vite/expose-id-utils.d.ts.map +0 -1
- package/dist/vite/expose-id-utils.js +0 -289
- package/dist/vite/expose-id-utils.js.map +0 -1
- package/dist/vite/expose-internal-ids.d.ts +0 -22
- package/dist/vite/expose-internal-ids.d.ts.map +0 -1
- package/dist/vite/expose-internal-ids.js +0 -886
- package/dist/vite/expose-internal-ids.js.map +0 -1
- package/dist/vite/index.d.ts +0 -149
- package/dist/vite/index.d.ts.map +0 -1
- package/dist/vite/index.js.bak +0 -5448
- package/dist/vite/index.js.map +0 -1
- package/dist/vite/index.named-routes.gen.ts +0 -103
- package/dist/vite/package-resolution.d.ts +0 -43
- package/dist/vite/package-resolution.d.ts.map +0 -1
- package/dist/vite/package-resolution.js +0 -112
- package/dist/vite/package-resolution.js.map +0 -1
- package/dist/vite/virtual-entries.d.ts +0 -25
- package/dist/vite/virtual-entries.d.ts.map +0 -1
- package/dist/vite/virtual-entries.js +0 -110
- package/dist/vite/virtual-entries.js.map +0 -1
- package/skills/migrate-react-router/cloudflare-workers.md +0 -129
|
@@ -19,11 +19,16 @@ import {
|
|
|
19
19
|
createScanFilter,
|
|
20
20
|
} from "../build/generate-route-types.js";
|
|
21
21
|
import { firstCodeMatchIndex } from "../build/route-types/source-scan.js";
|
|
22
|
+
import {
|
|
23
|
+
DEV_SHELL_PROBE_TIMEOUT_MS,
|
|
24
|
+
normalizeCaptureTimeout,
|
|
25
|
+
} from "../rsc/shell-serve.js";
|
|
22
26
|
import {
|
|
23
27
|
injectClientDebugFlag,
|
|
24
28
|
internalDebugNoCacheMiddleware,
|
|
25
29
|
} from "./inject-client-debug.js";
|
|
26
30
|
import { createVersionPlugin } from "./plugins/version-plugin.js";
|
|
31
|
+
import { getVirtualEntrySSR, VIRTUAL_IDS } from "./plugins/virtual-entries.js";
|
|
27
32
|
import { createVirtualStubPlugin } from "./plugins/virtual-stub-plugin.js";
|
|
28
33
|
import {
|
|
29
34
|
BUILD_ENV_GLOBAL_KEY,
|
|
@@ -46,6 +51,7 @@ import {
|
|
|
46
51
|
peekSelfGenWrite,
|
|
47
52
|
} from "./discovery/self-gen-tracking.js";
|
|
48
53
|
import { discoverRouters } from "./discovery/discover-routers.js";
|
|
54
|
+
import { runShellPrerenderPhase } from "./discovery/shell-prerender-phase.js";
|
|
49
55
|
import { describeDiscoveryFailure } from "./discovery/discovery-errors.js";
|
|
50
56
|
import {
|
|
51
57
|
createDevPrerenderCache,
|
|
@@ -125,6 +131,30 @@ function ensureCloudflareProtocolLoaderRegistered(): void {
|
|
|
125
131
|
// Temp Server Factory
|
|
126
132
|
// ============================================================================
|
|
127
133
|
|
|
134
|
+
/**
|
|
135
|
+
* Outcome of getOrCreateTempServer. `env` is the temp RSC environment on
|
|
136
|
+
* success, else null with `error` carrying WHY the create/import failed — or
|
|
137
|
+
* null when createServer resolved cleanly but attached no runner (terminal, but
|
|
138
|
+
* not an exception). The dev /__rsc_shell endpoint runs `error` through the
|
|
139
|
+
* SAME reoptimization classifier the import sites use: only a transient Vite
|
|
140
|
+
* re-optimization is signalled NOT-READY (client re-polls); every terminal
|
|
141
|
+
* failure fails fast so the read-through MISSes immediately instead of
|
|
142
|
+
* re-polling a permanently-broken realm for the full readiness deadline
|
|
143
|
+
* (issue #719 P2).
|
|
144
|
+
*/
|
|
145
|
+
type TempServerResult = { env: any; error: unknown };
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Test-only one-shot boot-race injection (issue #719 P3). When
|
|
149
|
+
* RANGO_E2E_INJECT_SHELL_NOTREADY=1, the dev /__rsc_shell endpoint emits a
|
|
150
|
+
* single reoptimization-class NOT-READY per pathname before serving, so an e2e
|
|
151
|
+
* can drive the REAL endpoint + real client re-poll deterministically — a
|
|
152
|
+
* natural cold race settles too fast on quick machines to guard the regression.
|
|
153
|
+
* Keyed per pathname so the read-through's re-poll finds it already fired and
|
|
154
|
+
* gets the HIT. Never engaged without the env flag.
|
|
155
|
+
*/
|
|
156
|
+
const injectedShellNotReadyPaths = new Set<string>();
|
|
157
|
+
|
|
128
158
|
/**
|
|
129
159
|
* Create a minimal Vite server for router discovery.
|
|
130
160
|
*
|
|
@@ -138,7 +168,21 @@ function ensureCloudflareProtocolLoaderRegistered(): void {
|
|
|
138
168
|
*/
|
|
139
169
|
async function createTempRscServer(
|
|
140
170
|
state: DiscoveryState,
|
|
141
|
-
options: {
|
|
171
|
+
options: {
|
|
172
|
+
forceBuild?: boolean;
|
|
173
|
+
cacheDir?: string;
|
|
174
|
+
/**
|
|
175
|
+
* Serve the REAL rango SSR entry (getVirtualEntrySSR) for
|
|
176
|
+
* "virtual:entry-ssr" instead of the discovery stub, so the dev
|
|
177
|
+
* /__rsc_shell endpoint can drive captureShellHTML in this server's SSR
|
|
178
|
+
* realm. Dev-correct by construction: the entry's bootstrap resolves to
|
|
179
|
+
* plugin-rsc's stable virtual browser-entry URL, which the MAIN dev
|
|
180
|
+
* server serves to the browser. Loaded lazily — discovery never imports
|
|
181
|
+
* the SSR entry, so the temp server stays as light as before until a
|
|
182
|
+
* shell capture actually runs.
|
|
183
|
+
*/
|
|
184
|
+
realSsrEntry?: boolean;
|
|
185
|
+
} = {},
|
|
142
186
|
) {
|
|
143
187
|
// Install the Node ESM loader hook before any module evaluation so
|
|
144
188
|
// `cloudflare:*` specifiers in externalized/loader-delegated modules
|
|
@@ -178,6 +222,26 @@ async function createTempRscServer(
|
|
|
178
222
|
// hashClientRefs only in build mode — production bundles need hashed refs
|
|
179
223
|
...(options.forceBuild ? [hashClientRefs(state.projectRoot)] : []),
|
|
180
224
|
createVersionPlugin(),
|
|
225
|
+
// Before the stub plugin, so "virtual:entry-ssr" resolves to the real
|
|
226
|
+
// SSR entry when the shell endpoint needs it (see the option doc).
|
|
227
|
+
...(options.realSsrEntry
|
|
228
|
+
? [
|
|
229
|
+
{
|
|
230
|
+
name: "@rangojs/router:temp-real-ssr-entry",
|
|
231
|
+
enforce: "pre" as const,
|
|
232
|
+
resolveId(id: string) {
|
|
233
|
+
return id === "virtual:entry-ssr"
|
|
234
|
+
? "\0rango-temp-real-ssr-entry"
|
|
235
|
+
: null;
|
|
236
|
+
},
|
|
237
|
+
load(id: string) {
|
|
238
|
+
return id === "\0rango-temp-real-ssr-entry"
|
|
239
|
+
? getVirtualEntrySSR(state.opts?.headScripts)
|
|
240
|
+
: null;
|
|
241
|
+
},
|
|
242
|
+
} satisfies import("vite").Plugin,
|
|
243
|
+
]
|
|
244
|
+
: []),
|
|
181
245
|
createVirtualStubPlugin(),
|
|
182
246
|
createCloudflareProtocolStubPlugin(),
|
|
183
247
|
// Dev prerender must use dev-mode IDs (path-based) to match the workerd
|
|
@@ -281,6 +345,19 @@ async function acquireBuildEnv(
|
|
|
281
345
|
return true;
|
|
282
346
|
}
|
|
283
347
|
|
|
348
|
+
/**
|
|
349
|
+
* Reset the per-build prerender collection state. A helper (not inline
|
|
350
|
+
* assignments in buildStart) so TS's property narrowing does not pin
|
|
351
|
+
* `s.shellCandidates` to `null` across the discovery call that repopulates
|
|
352
|
+
* it — the finally block re-reads it to decide the temp-server keep-alive.
|
|
353
|
+
*/
|
|
354
|
+
function resetPrerenderCollection(s: DiscoveryState): void {
|
|
355
|
+
s.prerenderManifestEntries = null;
|
|
356
|
+
s.staticManifestEntries = null;
|
|
357
|
+
s.shellCandidates = null;
|
|
358
|
+
s.prerenderPayloadValues = null;
|
|
359
|
+
}
|
|
360
|
+
|
|
284
361
|
/**
|
|
285
362
|
* Release build-time env resources and clear state.
|
|
286
363
|
*/
|
|
@@ -480,7 +557,7 @@ export function createRouterDiscoveryPlugin(
|
|
|
480
557
|
}
|
|
481
558
|
}
|
|
482
559
|
|
|
483
|
-
async function getOrCreateTempServer(): Promise<
|
|
560
|
+
async function getOrCreateTempServer(): Promise<TempServerResult> {
|
|
484
561
|
// Reuse path: if a temp server is already alive, prefer reusing
|
|
485
562
|
// it over orphaning the existing instance and spinning up a new
|
|
486
563
|
// one. This handles two cases:
|
|
@@ -501,7 +578,7 @@ export function createRouterDiscoveryPlugin(
|
|
|
501
578
|
debugDiscovery?.(
|
|
502
579
|
"getOrCreateTempServer: cached temp runner reused",
|
|
503
580
|
);
|
|
504
|
-
return existingEnv;
|
|
581
|
+
return { env: existingEnv, error: null };
|
|
505
582
|
}
|
|
506
583
|
// Server alive but registry missing — likely after a prior
|
|
507
584
|
// refresh's invalidate + import threw. Try to re-import.
|
|
@@ -510,7 +587,7 @@ export function createRouterDiscoveryPlugin(
|
|
|
510
587
|
);
|
|
511
588
|
try {
|
|
512
589
|
await importEntryAndRegistry(existingEnv);
|
|
513
|
-
return existingEnv;
|
|
590
|
+
return { env: existingEnv, error: null };
|
|
514
591
|
} catch (err: any) {
|
|
515
592
|
debugDiscovery?.(
|
|
516
593
|
"getOrCreateTempServer: reuse import failed (%s) — closing orphan and creating fresh",
|
|
@@ -538,20 +615,30 @@ export function createRouterDiscoveryPlugin(
|
|
|
538
615
|
"getOrCreateTempServer: creating new temp server, entry=%s",
|
|
539
616
|
s.resolvedEntryPath ?? "(unset)",
|
|
540
617
|
);
|
|
618
|
+
// Surface the create/import cause to the caller (issue #719 P2): a
|
|
619
|
+
// transient re-optimization is re-pollable, a terminal fault is not. A
|
|
620
|
+
// clean createServer that yields no runner leaves this null — terminal,
|
|
621
|
+
// but not an exception.
|
|
622
|
+
let createError: unknown = null;
|
|
541
623
|
try {
|
|
542
624
|
prerenderTempServer = await createTempRscServer(s, {
|
|
543
625
|
cacheDir: "node_modules/.vite_prerender",
|
|
626
|
+
// The dev /__rsc_shell endpoint drives captureShellHTML in this
|
|
627
|
+
// server's SSR realm; the entry is only imported when a shell
|
|
628
|
+
// capture runs, so discovery cost is unchanged.
|
|
629
|
+
realSsrEntry: true,
|
|
544
630
|
});
|
|
545
631
|
|
|
546
632
|
const tempRscEnv = (prerenderTempServer.environments as any)?.rsc;
|
|
547
633
|
if (tempRscEnv?.runner) {
|
|
548
634
|
await importEntryAndRegistry(tempRscEnv);
|
|
549
|
-
return tempRscEnv;
|
|
635
|
+
return { env: tempRscEnv, error: null };
|
|
550
636
|
}
|
|
551
637
|
debugDiscovery?.(
|
|
552
638
|
"getOrCreateTempServer: tempRscEnv.runner unavailable",
|
|
553
639
|
);
|
|
554
640
|
} catch (err: any) {
|
|
641
|
+
createError = err;
|
|
555
642
|
debugDiscovery?.(
|
|
556
643
|
"getOrCreateTempServer: FAILED message=%s",
|
|
557
644
|
err.message,
|
|
@@ -566,7 +653,7 @@ export function createRouterDiscoveryPlugin(
|
|
|
566
653
|
await prerenderTempServer?.close().catch(() => {});
|
|
567
654
|
prerenderTempServer = null;
|
|
568
655
|
prerenderNodeRegistry = null;
|
|
569
|
-
return null;
|
|
656
|
+
return { env: null, error: createError };
|
|
570
657
|
}
|
|
571
658
|
|
|
572
659
|
// Clear the package-level singleton registries that survive a Vite
|
|
@@ -619,7 +706,7 @@ export function createRouterDiscoveryPlugin(
|
|
|
619
706
|
// versions / preset configurations may differ in which graph carries
|
|
620
707
|
// the module-runner cache).
|
|
621
708
|
async function refreshTempRscEnv(): Promise<any | null> {
|
|
622
|
-
|
|
709
|
+
const tempRscEnv = (await getOrCreateTempServer()).env;
|
|
623
710
|
if (!tempRscEnv) return null;
|
|
624
711
|
|
|
625
712
|
// Module-runner cache is on the per-environment graph in Vite 6+;
|
|
@@ -645,7 +732,7 @@ export function createRouterDiscoveryPlugin(
|
|
|
645
732
|
prerenderTempServer = null;
|
|
646
733
|
prerenderNodeRegistry = null;
|
|
647
734
|
}
|
|
648
|
-
return await getOrCreateTempServer();
|
|
735
|
+
return (await getOrCreateTempServer()).env;
|
|
649
736
|
}
|
|
650
737
|
|
|
651
738
|
debugDiscovery?.(
|
|
@@ -718,11 +805,11 @@ export function createRouterDiscoveryPlugin(
|
|
|
718
805
|
acquireBuildEnv(s, viteCommand, viteMode),
|
|
719
806
|
);
|
|
720
807
|
|
|
721
|
-
tempRscEnv =
|
|
722
|
-
debugDiscovery,
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
);
|
|
808
|
+
tempRscEnv = (
|
|
809
|
+
await timed(debugDiscovery, "getOrCreateTempServer", () =>
|
|
810
|
+
getOrCreateTempServer(),
|
|
811
|
+
)
|
|
812
|
+
).env;
|
|
726
813
|
if (tempRscEnv) {
|
|
727
814
|
optimizerHashBefore =
|
|
728
815
|
tempRscEnv.depsOptimizer?.metadata?.browserHash;
|
|
@@ -949,7 +1036,7 @@ export function createRouterDiscoveryPlugin(
|
|
|
949
1036
|
// instances. Before #654 the cached registry was only refreshed on
|
|
950
1037
|
// route-file edits, so handler-only edits served stale prerender
|
|
951
1038
|
// content on this path. Warm-cache re-imports are module-cache hits.
|
|
952
|
-
const tempRscEnv = await getOrCreateTempServer();
|
|
1039
|
+
const tempRscEnv = (await getOrCreateTempServer()).env;
|
|
953
1040
|
if (tempRscEnv) {
|
|
954
1041
|
try {
|
|
955
1042
|
await importEntryAndRegistry(tempRscEnv);
|
|
@@ -1057,6 +1144,283 @@ export function createRouterDiscoveryPlugin(
|
|
|
1057
1144
|
logResult(404, "no match");
|
|
1058
1145
|
});
|
|
1059
1146
|
|
|
1147
|
+
// Dev on-demand PPR shell production (producer B, #699). There is no
|
|
1148
|
+
// build manifest in dev, so the serve path's read-through
|
|
1149
|
+
// (rsc/shell-build-manifest.ts) fetches the shell entry from here on a
|
|
1150
|
+
// Prerender+ppr route's first request — dev serves x-rango-shell: HIT
|
|
1151
|
+
// from request one, mirroring production. Memoized per router HMR
|
|
1152
|
+
// generation AND per caller version (a client-module edit bumps the
|
|
1153
|
+
// version without rotating the router instance; the stale entry would
|
|
1154
|
+
// fail the serve gate forever). The endpoint is policy-free: the caller
|
|
1155
|
+
// (the serve gate, which resolved the route's ppr option) sends
|
|
1156
|
+
// ttl/swr/tags/version. Only prerender-backed routes produce entries —
|
|
1157
|
+
// the /__rsc_prerender pre-flight below both warms the payload memo the
|
|
1158
|
+
// capture's dev store fetch will hit AND refuses non-prerenderable
|
|
1159
|
+
// routes (a live-handler render must never be served as a baked shell).
|
|
1160
|
+
server.middlewares.use("/__rsc_shell", async (req: any, res: any) => {
|
|
1161
|
+
await s.discoveryDone;
|
|
1162
|
+
const url = new URL(req.url ?? "", "http://localhost");
|
|
1163
|
+
const pathname = url.searchParams.get("pathname");
|
|
1164
|
+
const routeName = url.searchParams.get("routeName");
|
|
1165
|
+
const version = url.searchParams.get("version");
|
|
1166
|
+
// ttl is required like the identifiers: the endpoint is policy-free
|
|
1167
|
+
// (the serve gate resolved the route's ppr option and always sends
|
|
1168
|
+
// it), so there is deliberately no default to drift from
|
|
1169
|
+
// resolvePprConfig's.
|
|
1170
|
+
const ttlRaw = url.searchParams.get("ttl");
|
|
1171
|
+
if (!pathname || !routeName || !version || !ttlRaw) {
|
|
1172
|
+
res.statusCode = 400;
|
|
1173
|
+
res.end("Missing pathname/routeName/version/ttl");
|
|
1174
|
+
return;
|
|
1175
|
+
}
|
|
1176
|
+
|
|
1177
|
+
// Boot-race readiness signal (issue #719): the capture realm is stood
|
|
1178
|
+
// up lazily on the first hit (temp server, registry import, and a Vite
|
|
1179
|
+
// dep re-optimization the first shell-capture import can trigger). All
|
|
1180
|
+
// are TRANSIENT — a retry seconds later succeeds. Tagging them 503 +
|
|
1181
|
+
// x-rango-shell-dev: NOT-READY lets the read-through re-poll ONLY these
|
|
1182
|
+
// (a bounded await of readiness) instead of mapping the boot window to
|
|
1183
|
+
// a hard first-request MISS. Genuine negatives (404) stay untagged so a
|
|
1184
|
+
// non-baked route never stalls the foreground.
|
|
1185
|
+
const sendNotReady = (detail: string): void => {
|
|
1186
|
+
res.statusCode = 503;
|
|
1187
|
+
res.setHeader("x-rango-shell-dev", "NOT-READY");
|
|
1188
|
+
res.end(detail);
|
|
1189
|
+
};
|
|
1190
|
+
// A Vite dependency re-optimization surfaces as ERR_OUTDATED_OPTIMIZED_DEP
|
|
1191
|
+
// (import throws once, then re-imports clean) — retryable, unlike a real
|
|
1192
|
+
// module fault (syntax error, missing export), which stays a hard 500.
|
|
1193
|
+
// The message-regex fallback is NOT gratuitous: err.code is stripped when
|
|
1194
|
+
// the error serializes across the module-runner/workerd RPC boundary (the
|
|
1195
|
+
// message survives), so under the Cloudflare preset .code alone misses it.
|
|
1196
|
+
const isReoptimizing = (err: any): boolean =>
|
|
1197
|
+
err?.code === "ERR_OUTDATED_OPTIMIZED_DEP" ||
|
|
1198
|
+
/Outdated Optimize Dep|optimized dependency|new dependencies optimized/i.test(
|
|
1199
|
+
String(err?.message ?? ""),
|
|
1200
|
+
);
|
|
1201
|
+
// Fold the reoptimize-guard pasted at all three import/capture catch
|
|
1202
|
+
// sites: emit NOT-READY + report handled for a transient re-optimization,
|
|
1203
|
+
// else leave the caller to send its own terminal (500 for an entry
|
|
1204
|
+
// import, 404 for a mid-capture failure that keeps runtime capture).
|
|
1205
|
+
const handledAsReoptimizing = (err: any): boolean => {
|
|
1206
|
+
if (!isReoptimizing(err)) return false;
|
|
1207
|
+
sendNotReady(`Shell capture re-optimizing: ${err.message}`);
|
|
1208
|
+
return true;
|
|
1209
|
+
};
|
|
1210
|
+
// Both entry-import sites (main-server rsc env, temp Node server) fail
|
|
1211
|
+
// identically: reoptimize → NOT-READY, else → hard 500.
|
|
1212
|
+
const handleShellImportError = (err: any): void => {
|
|
1213
|
+
if (handledAsReoptimizing(err)) return;
|
|
1214
|
+
res.statusCode = 500;
|
|
1215
|
+
res.end(`Shell capture module refresh failed: ${err.message}`);
|
|
1216
|
+
};
|
|
1217
|
+
// Deterministic boot-race injection for e2e (issue #719 P3): fire ONE
|
|
1218
|
+
// reopt-class NOT-READY per pathname through the REAL classifier so the
|
|
1219
|
+
// read-through's re-poll path is exercised end-to-end (not just the
|
|
1220
|
+
// unit-mocked fetch), then serve normally on the re-poll. Env-gated —
|
|
1221
|
+
// inert in every non-test run.
|
|
1222
|
+
if (
|
|
1223
|
+
process.env.RANGO_E2E_INJECT_SHELL_NOTREADY === "1" &&
|
|
1224
|
+
!injectedShellNotReadyPaths.has(pathname)
|
|
1225
|
+
) {
|
|
1226
|
+
injectedShellNotReadyPaths.add(pathname);
|
|
1227
|
+
const injected = Object.assign(
|
|
1228
|
+
new Error("Outdated Optimize Dep (injected boot-race)"),
|
|
1229
|
+
{ code: "ERR_OUTDATED_OPTIMIZED_DEP" },
|
|
1230
|
+
);
|
|
1231
|
+
if (handledAsReoptimizing(injected)) return;
|
|
1232
|
+
}
|
|
1233
|
+
const ttl = Number(ttlRaw);
|
|
1234
|
+
const swrRaw = url.searchParams.get("swr");
|
|
1235
|
+
const swr = swrRaw === null ? undefined : Number(swrRaw);
|
|
1236
|
+
const tagsRaw = url.searchParams.get("tags");
|
|
1237
|
+
const tags = tagsRaw ? tagsRaw.split(",") : undefined;
|
|
1238
|
+
const maxSnapshotBytesRaw = url.searchParams.get("maxSnapshotBytes");
|
|
1239
|
+
const maxSnapshotBytes =
|
|
1240
|
+
maxSnapshotBytesRaw === null
|
|
1241
|
+
? undefined
|
|
1242
|
+
: Number(maxSnapshotBytesRaw);
|
|
1243
|
+
// Boundary revalidation via the SHARED normalizer (shell-serve.ts):
|
|
1244
|
+
// the param crossed an HTTP query string, and a garbage value must
|
|
1245
|
+
// fall back to the capture default, never reach setTimeout as NaN
|
|
1246
|
+
// (which Node clamps to ~1ms — an instant abort).
|
|
1247
|
+
const captureTimeout = normalizeCaptureTimeout(
|
|
1248
|
+
Number(url.searchParams.get("captureTimeout")),
|
|
1249
|
+
);
|
|
1250
|
+
|
|
1251
|
+
// Resolve the capture realms: main-server envs (Node preset) or the
|
|
1252
|
+
// shared temp Node server (Cloudflare preset — no main RSC runner).
|
|
1253
|
+
// Entry re-import per request picks up HMR edits, exactly like the
|
|
1254
|
+
// prerender endpoint above.
|
|
1255
|
+
const rscEnvMain = (server.environments as any)?.rsc;
|
|
1256
|
+
let rscRealm: any = null;
|
|
1257
|
+
let ssrRealm: any = null;
|
|
1258
|
+
let ssrEntryId: string;
|
|
1259
|
+
// Why the temp-server path returned no runner, if it did: a transient
|
|
1260
|
+
// re-optimization is re-pollable (NOT-READY), a terminal create/import
|
|
1261
|
+
// fault is not. Carried from getOrCreateTempServer to the readiness
|
|
1262
|
+
// check below so only reopt re-polls (issue #719 P2).
|
|
1263
|
+
let tempServerError: unknown = null;
|
|
1264
|
+
if (rscEnvMain?.runner && s.resolvedEntryPath) {
|
|
1265
|
+
try {
|
|
1266
|
+
await rscEnvMain.runner.import(s.resolvedEntryPath);
|
|
1267
|
+
} catch (err: any) {
|
|
1268
|
+
handleShellImportError(err);
|
|
1269
|
+
return;
|
|
1270
|
+
}
|
|
1271
|
+
rscRealm = rscEnvMain;
|
|
1272
|
+
ssrRealm = (server.environments as any)?.ssr;
|
|
1273
|
+
ssrEntryId =
|
|
1274
|
+
(server.environments as any)?.ssr?.config?.build?.rollupOptions
|
|
1275
|
+
?.input?.index ?? VIRTUAL_IDS.ssr;
|
|
1276
|
+
} else {
|
|
1277
|
+
const tempResult = await getOrCreateTempServer();
|
|
1278
|
+
if (tempResult.env) {
|
|
1279
|
+
try {
|
|
1280
|
+
await importEntryAndRegistry(tempResult.env);
|
|
1281
|
+
} catch (err: any) {
|
|
1282
|
+
handleShellImportError(err);
|
|
1283
|
+
return;
|
|
1284
|
+
}
|
|
1285
|
+
} else {
|
|
1286
|
+
tempServerError = tempResult.error;
|
|
1287
|
+
}
|
|
1288
|
+
rscRealm = tempResult.env;
|
|
1289
|
+
ssrRealm = (prerenderTempServer?.environments as any)?.ssr;
|
|
1290
|
+
ssrEntryId = "virtual:entry-ssr";
|
|
1291
|
+
}
|
|
1292
|
+
if (!rscRealm?.runner || !ssrRealm?.runner) {
|
|
1293
|
+
// Reoptimization is the ONLY transient class: re-poll it (NOT-READY).
|
|
1294
|
+
// A terminal temp-server create/import fault, or an SSR runner absent
|
|
1295
|
+
// after a clean createServer, fails fast with a plain 503 (no
|
|
1296
|
+
// NOT-READY header) so the read-through MISSes on its first attempt
|
|
1297
|
+
// instead of re-polling a permanently-broken realm for the full
|
|
1298
|
+
// readiness deadline (issue #719 P2).
|
|
1299
|
+
if (tempServerError && handledAsReoptimizing(tempServerError)) return;
|
|
1300
|
+
res.statusCode = 503;
|
|
1301
|
+
res.end("Shell capture runners not available");
|
|
1302
|
+
return;
|
|
1303
|
+
}
|
|
1304
|
+
let registry: Map<string, any> | null = null;
|
|
1305
|
+
let registryError: unknown = null;
|
|
1306
|
+
try {
|
|
1307
|
+
const serverMod = await rscRealm.runner.import(
|
|
1308
|
+
"@rangojs/router/server",
|
|
1309
|
+
);
|
|
1310
|
+
registry = serverMod.RouterRegistry ?? null;
|
|
1311
|
+
} catch (err: any) {
|
|
1312
|
+
registryError = err;
|
|
1313
|
+
registry = null;
|
|
1314
|
+
}
|
|
1315
|
+
if (!registry || registry.size === 0) {
|
|
1316
|
+
// Same rule as the runner check: a re-optimization mid-import is
|
|
1317
|
+
// re-pollable (NOT-READY); a terminal import fault or a genuinely
|
|
1318
|
+
// empty registry (no routers registered) fails fast (issue #719 P2).
|
|
1319
|
+
if (registryError && handledAsReoptimizing(registryError)) return;
|
|
1320
|
+
res.statusCode = 503;
|
|
1321
|
+
res.end("Shell capture registry not available");
|
|
1322
|
+
return;
|
|
1323
|
+
}
|
|
1324
|
+
|
|
1325
|
+
// Memo sweep FIRST: after request one the common case is a memo HIT
|
|
1326
|
+
// (this fetch blocks a foreground document request), and the memoized
|
|
1327
|
+
// body needs neither the pre-flight round-trip nor a capture. Keyed
|
|
1328
|
+
// per router instance (= HMR generation) like the prerender memo.
|
|
1329
|
+
const cacheKey = `shell|${pathname}|r=${routeName}|t=${ttl}|s=${swr ?? ""}|g=${(tags ?? []).join("+")}|c=${captureTimeout ?? ""}|v=${version}`;
|
|
1330
|
+
for (const [, routerInstance] of registry) {
|
|
1331
|
+
if (typeof routerInstance.match !== "function") continue;
|
|
1332
|
+
const cached = devPrerenderCache.get(routerInstance, cacheKey);
|
|
1333
|
+
if (cached !== undefined) {
|
|
1334
|
+
res.setHeader("content-type", "application/json");
|
|
1335
|
+
res.setHeader("x-rango-shell-dev", "HIT");
|
|
1336
|
+
res.end(cached);
|
|
1337
|
+
return;
|
|
1338
|
+
}
|
|
1339
|
+
}
|
|
1340
|
+
|
|
1341
|
+
// Pre-flight: the route must be prerender-backed. Warms the payload
|
|
1342
|
+
// memo the capture's dev prerender store will fetch, and closes the
|
|
1343
|
+
// live-handler-bake hole (a non-pr route 404s here).
|
|
1344
|
+
if (s.devServerOrigin) {
|
|
1345
|
+
try {
|
|
1346
|
+
const probe = await fetch(
|
|
1347
|
+
`${s.devServerOrigin}/__rsc_prerender?pathname=${encodeURIComponent(pathname)}&routeName=${encodeURIComponent(routeName)}`,
|
|
1348
|
+
{ signal: AbortSignal.timeout(DEV_SHELL_PROBE_TIMEOUT_MS) },
|
|
1349
|
+
);
|
|
1350
|
+
if (!probe.ok) {
|
|
1351
|
+
res.statusCode = 404;
|
|
1352
|
+
res.end("Route is not prerenderable");
|
|
1353
|
+
return;
|
|
1354
|
+
}
|
|
1355
|
+
} catch {
|
|
1356
|
+
res.statusCode = 404;
|
|
1357
|
+
res.end("Prerender pre-flight failed");
|
|
1358
|
+
return;
|
|
1359
|
+
}
|
|
1360
|
+
}
|
|
1361
|
+
|
|
1362
|
+
for (const [, routerInstance] of registry) {
|
|
1363
|
+
if (typeof routerInstance.match !== "function") continue;
|
|
1364
|
+
try {
|
|
1365
|
+
const ssrModule = await ssrRealm.runner.import(ssrEntryId);
|
|
1366
|
+
if (typeof ssrModule?.captureShellHTML !== "function") {
|
|
1367
|
+
res.statusCode = 404;
|
|
1368
|
+
res.end("SSR entry has no captureShellHTML");
|
|
1369
|
+
return;
|
|
1370
|
+
}
|
|
1371
|
+
const captureMod = await rscRealm.runner.import(
|
|
1372
|
+
"@rangojs/router/build/shell-capture",
|
|
1373
|
+
);
|
|
1374
|
+
const result = await captureMod.captureShellForBuild({
|
|
1375
|
+
router: routerInstance,
|
|
1376
|
+
urlPath: pathname,
|
|
1377
|
+
routeName,
|
|
1378
|
+
key: `${pathname}:shell`,
|
|
1379
|
+
ttl,
|
|
1380
|
+
swr,
|
|
1381
|
+
tags,
|
|
1382
|
+
maxSnapshotBytes,
|
|
1383
|
+
captureTimeout,
|
|
1384
|
+
buildEnv: s.resolvedBuildEnv,
|
|
1385
|
+
buildVersion: version,
|
|
1386
|
+
captureShellHTML: ssrModule.captureShellHTML,
|
|
1387
|
+
debug: !!debugDiscovery,
|
|
1388
|
+
});
|
|
1389
|
+
if (result.outcome === "route-mismatch") continue;
|
|
1390
|
+
if (result.outcome !== "stored" || !result.entry) {
|
|
1391
|
+
res.statusCode = 404;
|
|
1392
|
+
res.end(`Shell capture ${result.outcome}`);
|
|
1393
|
+
return;
|
|
1394
|
+
}
|
|
1395
|
+
const body = JSON.stringify({
|
|
1396
|
+
entry: result.entry,
|
|
1397
|
+
ttl,
|
|
1398
|
+
swr,
|
|
1399
|
+
tags: result.tags,
|
|
1400
|
+
routeName,
|
|
1401
|
+
});
|
|
1402
|
+
devPrerenderCache.set(routerInstance, cacheKey, body);
|
|
1403
|
+
res.setHeader("content-type", "application/json");
|
|
1404
|
+
res.setHeader("x-rango-shell-dev", "MISS");
|
|
1405
|
+
res.end(body);
|
|
1406
|
+
return;
|
|
1407
|
+
} catch (err: any) {
|
|
1408
|
+
// A dep re-optimization mid-capture is a boot-race, not a capture
|
|
1409
|
+
// failure: signal NOT-READY so the read-through re-polls instead of
|
|
1410
|
+
// conceding a first-request MISS (issue #719).
|
|
1411
|
+
if (handledAsReoptimizing(err)) return;
|
|
1412
|
+
console.warn(
|
|
1413
|
+
`[rango] Dev shell capture error for ${pathname} (route keeps runtime capture): ${err.message}`,
|
|
1414
|
+
);
|
|
1415
|
+
res.statusCode = 404;
|
|
1416
|
+
res.end(`Shell capture error: ${err.message}`);
|
|
1417
|
+
return;
|
|
1418
|
+
}
|
|
1419
|
+
}
|
|
1420
|
+
res.statusCode = 404;
|
|
1421
|
+
res.end("No router matched");
|
|
1422
|
+
});
|
|
1423
|
+
|
|
1060
1424
|
// Watch url module and router files for changes and regenerate named-routes.gen.ts.
|
|
1061
1425
|
// Process files containing urls( or createRouter( to update the combined route map.
|
|
1062
1426
|
if (opts?.staticRouteTypesGeneration !== false) {
|
|
@@ -1430,8 +1794,7 @@ export function createRouterDiscoveryPlugin(
|
|
|
1430
1794
|
const buildStartTime = performance.now();
|
|
1431
1795
|
debugDiscovery?.("build: start (env=%s)", this.environment?.name ?? "?");
|
|
1432
1796
|
resetStagedBuildAssets(s.projectRoot);
|
|
1433
|
-
s
|
|
1434
|
-
s.staticManifestEntries = null;
|
|
1797
|
+
resetPrerenderCollection(s);
|
|
1435
1798
|
|
|
1436
1799
|
// Acquire build-time env bindings if configured
|
|
1437
1800
|
await timed(debugDiscovery, "build acquireBuildEnv", () =>
|
|
@@ -1502,12 +1865,23 @@ export function createRouterDiscoveryPlugin(
|
|
|
1502
1865
|
);
|
|
1503
1866
|
} finally {
|
|
1504
1867
|
delete (globalThis as any).__rscRouterDiscoveryActive;
|
|
1505
|
-
if (tempServer) {
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
)
|
|
1868
|
+
if (tempServer && s.shellCandidates?.length) {
|
|
1869
|
+
// Prerender+ppr candidates exist: keep the temp server (and its
|
|
1870
|
+
// realm — tries installed, registry populated) alive for the
|
|
1871
|
+
// post-build shell capture phase (buildApp post, producer B #699).
|
|
1872
|
+
// The prelude embeds built client asset URLs, so the capture can
|
|
1873
|
+
// only run after the client build; that phase closes the server.
|
|
1874
|
+
// buildEnv release is deferred with it — a bake-lane loader
|
|
1875
|
+
// executing during the capture may read ctx.env.
|
|
1876
|
+
s.shellPhaseTempServer = tempServer;
|
|
1877
|
+
} else {
|
|
1878
|
+
if (tempServer) {
|
|
1879
|
+
await timed(debugDiscovery, "build tempServer.close", () =>
|
|
1880
|
+
tempServer.close(),
|
|
1881
|
+
);
|
|
1882
|
+
}
|
|
1883
|
+
await releaseBuildEnv(s);
|
|
1509
1884
|
}
|
|
1510
|
-
await releaseBuildEnv(s);
|
|
1511
1885
|
debugDiscovery?.(
|
|
1512
1886
|
"build discovery done (%sms)",
|
|
1513
1887
|
(performance.now() - buildStartTime).toFixed(1),
|
|
@@ -1515,6 +1889,43 @@ export function createRouterDiscoveryPlugin(
|
|
|
1515
1889
|
}
|
|
1516
1890
|
},
|
|
1517
1891
|
|
|
1892
|
+
// Post-build PPR shell capture (producer B, #699): runs after EVERY
|
|
1893
|
+
// environment bundle is written — the shell prelude embeds built client
|
|
1894
|
+
// asset URLs (bootstrap entry), which do not exist at buildStart. The
|
|
1895
|
+
// kept temp server and the buildEnv were deferred AS A PAIR in
|
|
1896
|
+
// buildStart's finally; this finally is the pair's success-path owner
|
|
1897
|
+
// (buildEnd below owns the aborted-build path) — the phase itself is a
|
|
1898
|
+
// pure producer and tears down only the globals it installs.
|
|
1899
|
+
buildApp: {
|
|
1900
|
+
order: "post",
|
|
1901
|
+
async handler(builder) {
|
|
1902
|
+
try {
|
|
1903
|
+
await runShellPrerenderPhase(s, builder as any);
|
|
1904
|
+
} finally {
|
|
1905
|
+
if (s.isBuildMode) {
|
|
1906
|
+
const tempServer = s.shellPhaseTempServer;
|
|
1907
|
+
s.shellPhaseTempServer = null;
|
|
1908
|
+
if (tempServer) await tempServer.close();
|
|
1909
|
+
await releaseBuildEnv(s);
|
|
1910
|
+
}
|
|
1911
|
+
}
|
|
1912
|
+
},
|
|
1913
|
+
},
|
|
1914
|
+
|
|
1915
|
+
// An environment build failure aborts the builder before the buildApp
|
|
1916
|
+
// post hook — never leak the kept temp server (open handles hang the CLI)
|
|
1917
|
+
// or the deferred buildEnv (a live miniflare proxy).
|
|
1918
|
+
async buildEnd(error) {
|
|
1919
|
+
if (!error || !s.shellPhaseTempServer) return;
|
|
1920
|
+
const tempServer = s.shellPhaseTempServer;
|
|
1921
|
+
s.shellPhaseTempServer = null;
|
|
1922
|
+
try {
|
|
1923
|
+
await tempServer.close();
|
|
1924
|
+
} finally {
|
|
1925
|
+
await releaseBuildEnv(s);
|
|
1926
|
+
}
|
|
1927
|
+
},
|
|
1928
|
+
|
|
1518
1929
|
// Suppress vite's HMR cascade for our own gen-file writes.
|
|
1519
1930
|
//
|
|
1520
1931
|
// After every cf HMR cycle, refreshTempRscEnv → writeRouteTypesFiles
|
|
@@ -74,6 +74,7 @@ export function getPackageAliases(): Record<string, string> {
|
|
|
74
74
|
|
|
75
75
|
export function getVendorAliases(): Record<string, string> {
|
|
76
76
|
const specs = [
|
|
77
|
+
"@vitejs/plugin-rsc/vendor/react-server-dom/client.browser",
|
|
77
78
|
"@vitejs/plugin-rsc/vendor/react-server-dom/client.edge",
|
|
78
79
|
"@vitejs/plugin-rsc/vendor/react-server-dom/server.edge",
|
|
79
80
|
];
|
|
@@ -207,20 +207,27 @@ export function resetStagedBuildAssets(projectRoot: string): void {
|
|
|
207
207
|
rmSync(getStagedAssetDir(projectRoot), { recursive: true, force: true });
|
|
208
208
|
}
|
|
209
209
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
210
|
+
/**
|
|
211
|
+
* Write one content-hashed `export default <value>;` asset module into `dir`
|
|
212
|
+
* (created if needed) and return its file name. Identical payloads dedupe to
|
|
213
|
+
* one file (the hash is the content). Shared by the staged prerender/static
|
|
214
|
+
* flow (stageBuildAssetModule below) and the shell prerender phase, which
|
|
215
|
+
* writes directly into the final RSC assets dir — it runs after buildApp,
|
|
216
|
+
* past the staging/copy window.
|
|
217
|
+
*/
|
|
218
|
+
export function writeBuildAssetModule(
|
|
219
|
+
dir: string,
|
|
220
|
+
prefix: "__pr" | "__st" | "__ps",
|
|
213
221
|
exportValue: string,
|
|
214
222
|
): string {
|
|
215
|
-
|
|
216
|
-
mkdirSync(stagedDir, { recursive: true });
|
|
223
|
+
mkdirSync(dir, { recursive: true });
|
|
217
224
|
|
|
218
225
|
const contentHash = createHash("sha256")
|
|
219
226
|
.update(exportValue)
|
|
220
227
|
.digest("hex")
|
|
221
228
|
.slice(0, 8);
|
|
222
229
|
const fileName = `${prefix}-${contentHash}.js`;
|
|
223
|
-
const filePath = resolve(
|
|
230
|
+
const filePath = resolve(dir, fileName);
|
|
224
231
|
|
|
225
232
|
if (!existsSync(filePath)) {
|
|
226
233
|
writeFileSync(filePath, `export default ${exportValue};\n`);
|
|
@@ -229,6 +236,18 @@ export function stageBuildAssetModule(
|
|
|
229
236
|
return fileName;
|
|
230
237
|
}
|
|
231
238
|
|
|
239
|
+
export function stageBuildAssetModule(
|
|
240
|
+
projectRoot: string,
|
|
241
|
+
prefix: "__pr" | "__st",
|
|
242
|
+
exportValue: string,
|
|
243
|
+
): string {
|
|
244
|
+
return writeBuildAssetModule(
|
|
245
|
+
getStagedAssetDir(projectRoot),
|
|
246
|
+
prefix,
|
|
247
|
+
exportValue,
|
|
248
|
+
);
|
|
249
|
+
}
|
|
250
|
+
|
|
232
251
|
export function copyStagedBuildAssets(
|
|
233
252
|
projectRoot: string,
|
|
234
253
|
fileNames: Iterable<string>,
|