vinext 0.0.54 → 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/README.md +52 -15
- package/dist/build/clean-output.d.ts +1 -2
- package/dist/build/clean-output.js +0 -2
- package/dist/build/client-build-config.d.ts +16 -3
- package/dist/build/client-build-config.js +29 -4
- package/dist/build/css-url-assets.d.ts +29 -0
- package/dist/build/css-url-assets.js +211 -0
- package/dist/build/google-fonts/build-url.d.ts +1 -2
- package/dist/build/google-fonts/build-url.js +0 -2
- package/dist/build/google-fonts/fallback-metrics-data.js +0 -2
- package/dist/build/google-fonts/fallback-metrics.d.ts +1 -2
- package/dist/build/google-fonts/fallback-metrics.js +0 -2
- package/dist/build/google-fonts/font-data.js +0 -2
- package/dist/build/google-fonts/font-metadata.d.ts +1 -2
- package/dist/build/google-fonts/font-metadata.js +0 -2
- package/dist/build/google-fonts/get-axes.d.ts +1 -2
- package/dist/build/google-fonts/get-axes.js +0 -2
- package/dist/build/google-fonts/sort-variants.d.ts +1 -2
- package/dist/build/google-fonts/sort-variants.js +0 -2
- package/dist/build/google-fonts/validate.d.ts +1 -2
- package/dist/build/google-fonts/validate.js +0 -2
- package/dist/build/inline-css.d.ts +1 -2
- package/dist/build/inline-css.js +0 -2
- package/dist/build/layout-classification-types.d.ts +1 -2
- package/dist/build/layout-classification.d.ts +2 -3
- package/dist/build/layout-classification.js +1 -3
- package/dist/build/next-client-runtime-manifests.d.ts +14 -0
- package/dist/build/next-client-runtime-manifests.js +39 -0
- package/dist/build/nitro-route-rules.d.ts +1 -2
- package/dist/build/nitro-route-rules.js +0 -2
- package/dist/build/precompress.d.ts +1 -2
- package/dist/build/precompress.js +0 -2
- package/dist/build/prerender.d.ts +2 -3
- package/dist/build/prerender.js +14 -2
- package/dist/build/report.d.ts +1 -2
- package/dist/build/report.js +0 -2
- package/dist/build/route-classification-injector.d.ts +1 -2
- package/dist/build/route-classification-injector.js +4 -6
- package/dist/build/route-classification-manifest.d.ts +5 -6
- package/dist/build/route-classification-manifest.js +5 -7
- package/dist/build/run-prerender.d.ts +1 -2
- package/dist/build/run-prerender.js +15 -7
- package/dist/build/server-manifest.d.ts +1 -2
- package/dist/build/server-manifest.js +0 -2
- package/dist/build/ssr-manifest.d.ts +1 -2
- package/dist/build/ssr-manifest.js +2 -4
- package/dist/build/standalone.d.ts +1 -2
- package/dist/build/standalone.js +0 -2
- package/dist/build/static-export.d.ts +2 -3
- package/dist/build/static-export.js +0 -2
- package/dist/cache/cache-adapters-virtual.d.ts +50 -0
- package/dist/cache/cache-adapters-virtual.js +45 -0
- package/dist/check.d.ts +33 -2
- package/dist/check.js +321 -27
- package/dist/cli-args.d.ts +1 -2
- package/dist/cli-args.js +0 -2
- package/dist/cli.js +7 -13
- package/dist/client/instrumentation-client-inject.d.ts +1 -2
- package/dist/client/instrumentation-client-inject.js +0 -2
- package/dist/client/instrumentation-client-state.d.ts +1 -2
- package/dist/client/instrumentation-client-state.js +0 -2
- package/dist/client/instrumentation-client.d.ts +1 -2
- package/dist/client/instrumentation-client.js +0 -2
- package/dist/client/navigation-runtime.d.ts +2 -2
- package/dist/client/navigation-runtime.js +1 -3
- package/dist/client/pages-router-link-navigation.d.ts +1 -2
- package/dist/client/pages-router-link-navigation.js +0 -2
- package/dist/client/validate-module-path.d.ts +1 -2
- package/dist/client/validate-module-path.js +0 -2
- package/dist/client/vinext-next-data.d.ts +1 -2
- package/dist/client/vinext-next-data.js +0 -2
- package/dist/client/window-next.d.ts +1 -2
- package/dist/client/window-next.js +0 -2
- package/dist/cloudflare/index.d.ts +1 -1
- package/dist/cloudflare/index.js +1 -1
- package/dist/cloudflare/src/cache/cdn-adapter.runtime.js +97 -0
- package/dist/cloudflare/{kv-cache-handler.d.ts → src/cache/kv-data-adapter.runtime.d.ts} +25 -6
- package/dist/cloudflare/{kv-cache-handler.js → src/cache/kv-data-adapter.runtime.js} +36 -28
- package/dist/cloudflare/src/utils/cache-control-metadata.js +20 -0
- package/dist/cloudflare/tpr.d.ts +2 -3
- package/dist/cloudflare/tpr.js +8 -8
- package/dist/config/config-matchers.d.ts +1 -2
- package/dist/config/config-matchers.js +0 -2
- package/dist/config/dotenv.d.ts +1 -2
- package/dist/config/dotenv.js +0 -2
- package/dist/config/next-config.d.ts +30 -3
- package/dist/config/next-config.js +47 -8
- package/dist/config/tsconfig-paths.d.ts +12 -4
- package/dist/config/tsconfig-paths.js +58 -31
- package/dist/deploy.d.ts +48 -3
- package/dist/deploy.js +141 -112
- package/dist/entries/app-browser-entry.d.ts +1 -2
- package/dist/entries/app-browser-entry.js +0 -2
- package/dist/entries/app-rsc-entry.d.ts +6 -5
- package/dist/entries/app-rsc-entry.js +62 -61
- package/dist/entries/app-rsc-manifest.d.ts +1 -2
- package/dist/entries/app-rsc-manifest.js +42 -12
- package/dist/entries/app-ssr-entry.d.ts +1 -2
- package/dist/entries/app-ssr-entry.js +0 -2
- package/dist/entries/pages-client-entry.d.ts +3 -3
- package/dist/entries/pages-client-entry.js +16 -5
- package/dist/entries/pages-entry-helpers.d.ts +2 -11
- package/dist/entries/pages-entry-helpers.js +1 -20
- package/dist/entries/pages-server-entry.d.ts +2 -3
- package/dist/entries/pages-server-entry.js +94 -670
- package/dist/entries/runtime-entry-module.d.ts +1 -2
- package/dist/entries/runtime-entry-module.js +0 -2
- package/dist/index.d.ts +22 -2
- package/dist/index.js +297 -140
- package/dist/init.d.ts +1 -2
- package/dist/init.js +1 -3
- package/dist/plugins/ast-utils.d.ts +20 -0
- package/dist/plugins/ast-utils.js +78 -0
- package/dist/plugins/async-hooks-stub.d.ts +1 -2
- package/dist/plugins/async-hooks-stub.js +0 -2
- package/dist/plugins/client-reference-dedup.d.ts +1 -2
- package/dist/plugins/client-reference-dedup.js +4 -8
- package/dist/plugins/css-data-url.d.ts +1 -2
- package/dist/plugins/css-data-url.js +0 -2
- package/dist/plugins/fonts.d.ts +13 -3
- package/dist/plugins/fonts.js +19 -13
- package/dist/plugins/import-meta-url.d.ts +16 -0
- package/dist/plugins/import-meta-url.js +347 -0
- package/dist/plugins/instrumentation-client.d.ts +1 -2
- package/dist/plugins/instrumentation-client.js +0 -2
- package/dist/plugins/middleware-server-only.d.ts +1 -2
- package/dist/plugins/middleware-server-only.js +0 -2
- package/dist/plugins/og-assets.d.ts +32 -8
- package/dist/plugins/og-assets.js +126 -34
- package/dist/plugins/optimize-imports.d.ts +1 -2
- package/dist/plugins/optimize-imports.js +9 -17
- package/dist/plugins/postcss.d.ts +1 -2
- package/dist/plugins/postcss.js +0 -2
- package/dist/plugins/remove-console.d.ts +1 -2
- package/dist/plugins/remove-console.js +0 -2
- package/dist/plugins/rsc-client-reference-loaders.d.ts +1 -2
- package/dist/plugins/rsc-client-reference-loaders.js +0 -2
- package/dist/plugins/rsc-client-shim-excludes.d.ts +1 -2
- package/dist/plugins/rsc-client-shim-excludes.js +0 -2
- package/dist/plugins/sass.d.ts +1 -2
- package/dist/plugins/sass.js +0 -2
- package/dist/plugins/server-externals-manifest.d.ts +1 -2
- package/dist/plugins/server-externals-manifest.js +0 -2
- package/dist/plugins/strip-server-exports.d.ts +1 -2
- package/dist/plugins/strip-server-exports.js +0 -2
- package/dist/routing/app-route-graph.d.ts +2 -9
- package/dist/routing/app-route-graph.js +9 -30
- package/dist/routing/app-router.d.ts +1 -2
- package/dist/routing/app-router.js +0 -2
- package/dist/routing/file-matcher.d.ts +6 -2
- package/dist/routing/file-matcher.js +15 -7
- package/dist/routing/pages-router.d.ts +1 -2
- package/dist/routing/pages-router.js +0 -2
- package/dist/routing/route-matching.d.ts +1 -2
- package/dist/routing/route-matching.js +0 -2
- package/dist/routing/route-pattern.d.ts +1 -2
- package/dist/routing/route-pattern.js +0 -2
- package/dist/routing/route-trie.d.ts +1 -2
- package/dist/routing/route-trie.js +0 -2
- package/dist/routing/route-validation.d.ts +1 -2
- package/dist/routing/route-validation.js +0 -2
- package/dist/routing/utils.d.ts +44 -2
- package/dist/routing/utils.js +62 -3
- package/dist/server/api-handler.d.ts +1 -2
- package/dist/server/api-handler.js +0 -2
- package/dist/server/app-bfcache-id.d.ts +5 -0
- package/dist/server/app-bfcache-id.js +5 -0
- package/dist/server/app-browser-action-result.d.ts +9 -17
- package/dist/server/app-browser-action-result.js +25 -16
- package/dist/server/app-browser-client-reuse-manifest.d.ts +12 -0
- package/dist/server/app-browser-client-reuse-manifest.js +101 -0
- package/dist/server/app-browser-entry.js +352 -115
- package/dist/server/app-browser-error.d.ts +1 -2
- package/dist/server/app-browser-error.js +0 -2
- package/dist/server/app-browser-hydration.d.ts +1 -2
- package/dist/server/app-browser-hydration.js +0 -2
- package/dist/server/app-browser-interception-context.d.ts +1 -2
- package/dist/server/app-browser-interception-context.js +0 -2
- package/dist/server/app-browser-mpa-navigation.d.ts +16 -0
- package/dist/server/app-browser-mpa-navigation.js +42 -0
- package/dist/server/app-browser-navigation-controller.d.ts +5 -4
- package/dist/server/app-browser-navigation-controller.js +3 -3
- package/dist/server/app-browser-popstate.d.ts +4 -3
- package/dist/server/app-browser-popstate.js +15 -3
- package/dist/server/app-browser-rsc-redirect.d.ts +1 -2
- package/dist/server/app-browser-rsc-redirect.js +0 -2
- package/dist/server/app-browser-state.d.ts +28 -4
- package/dist/server/app-browser-state.js +195 -11
- package/dist/server/app-browser-stream.d.ts +1 -2
- package/dist/server/app-browser-stream.js +0 -2
- package/dist/server/app-browser-visible-commit.d.ts +2 -3
- package/dist/server/app-browser-visible-commit.js +24 -17
- package/dist/server/app-client-reference-preloader.d.ts +1 -2
- package/dist/server/app-client-reference-preloader.js +0 -2
- package/dist/server/app-elements-wire.d.ts +14 -8
- package/dist/server/app-elements-wire.js +45 -24
- package/dist/server/app-elements.d.ts +2 -3
- package/dist/server/app-elements.js +2 -4
- package/dist/server/app-fallback-renderer.d.ts +5 -5
- package/dist/server/app-fallback-renderer.js +4 -3
- package/dist/server/app-history-state.d.ts +18 -2
- package/dist/server/app-history-state.js +68 -10
- package/dist/server/app-hook-warning-suppression.d.ts +1 -2
- package/dist/server/app-hook-warning-suppression.js +0 -2
- package/dist/server/app-inline-css-client.d.ts +1 -2
- package/dist/server/app-inline-css-client.js +0 -2
- package/dist/server/app-interception-context-header.d.ts +1 -2
- package/dist/server/app-interception-context-header.js +0 -2
- package/dist/server/app-layout-param-observation.d.ts +43 -0
- package/dist/server/app-layout-param-observation.js +168 -0
- package/dist/server/app-middleware.d.ts +1 -2
- package/dist/server/app-middleware.js +0 -2
- package/dist/server/app-mounted-slots-header.d.ts +1 -2
- package/dist/server/app-mounted-slots-header.js +0 -2
- package/dist/server/app-optimistic-routing.d.ts +1 -2
- package/dist/server/app-optimistic-routing.js +0 -2
- package/dist/server/app-page-boundary-render.d.ts +4 -3
- package/dist/server/app-page-boundary-render.js +20 -11
- package/dist/server/app-page-boundary.d.ts +11 -2
- package/dist/server/app-page-boundary.js +13 -4
- package/dist/server/app-page-cache.d.ts +3 -3
- package/dist/server/app-page-cache.js +36 -11
- package/dist/server/app-page-dispatch.d.ts +19 -5
- package/dist/server/app-page-dispatch.js +119 -24
- package/dist/server/app-page-element-builder.d.ts +3 -2
- package/dist/server/app-page-element-builder.js +9 -11
- package/dist/server/app-page-execution.d.ts +8 -3
- package/dist/server/app-page-execution.js +55 -24
- package/dist/server/app-page-head.d.ts +1 -2
- package/dist/server/app-page-head.js +6 -6
- package/dist/server/app-page-method.d.ts +1 -2
- package/dist/server/app-page-method.js +0 -2
- package/dist/server/app-page-params.d.ts +2 -2
- package/dist/server/app-page-params.js +14 -3
- package/dist/server/app-page-probe.d.ts +90 -2
- package/dist/server/app-page-probe.js +201 -6
- package/dist/server/app-page-render-identity.d.ts +1 -2
- package/dist/server/app-page-render-identity.js +0 -2
- package/dist/server/app-page-render-observation.d.ts +1 -2
- package/dist/server/app-page-render-observation.js +0 -2
- package/dist/server/app-page-render.d.ts +9 -3
- package/dist/server/app-page-render.js +167 -10
- package/dist/server/app-page-request.d.ts +4 -3
- package/dist/server/app-page-request.js +1 -3
- package/dist/server/app-page-response.d.ts +2 -2
- package/dist/server/app-page-response.js +5 -3
- package/dist/server/app-page-route-wiring.d.ts +14 -3
- package/dist/server/app-page-route-wiring.js +63 -11
- package/dist/server/app-page-search-params-observation.d.ts +10 -0
- package/dist/server/app-page-search-params-observation.js +20 -0
- package/dist/server/app-page-segment-state.d.ts +1 -2
- package/dist/server/app-page-segment-state.js +1 -8
- package/dist/server/app-page-stream.d.ts +19 -9
- package/dist/server/app-page-stream.js +28 -10
- package/dist/server/app-pages-bridge.d.ts +25 -0
- package/dist/server/app-pages-bridge.js +34 -0
- package/dist/server/app-post-middleware-context.d.ts +1 -2
- package/dist/server/app-post-middleware-context.js +0 -2
- package/dist/server/app-ppr-fallback-shell.d.ts +21 -0
- package/dist/server/app-ppr-fallback-shell.js +82 -0
- package/dist/server/app-prerender-endpoints.d.ts +1 -2
- package/dist/server/app-prerender-endpoints.js +0 -2
- package/dist/server/app-prerender-static-params.d.ts +15 -2
- package/dist/server/app-prerender-static-params.js +44 -13
- package/dist/server/app-render-dependency.d.ts +3 -2
- package/dist/server/app-render-dependency.js +9 -3
- package/dist/server/app-request-context.d.ts +1 -2
- package/dist/server/app-request-context.js +0 -2
- package/dist/server/app-route-handler-cache.d.ts +1 -2
- package/dist/server/app-route-handler-cache.js +0 -2
- package/dist/server/app-route-handler-dispatch.d.ts +1 -2
- package/dist/server/app-route-handler-dispatch.js +0 -2
- package/dist/server/app-route-handler-execution.d.ts +1 -2
- package/dist/server/app-route-handler-execution.js +2 -4
- package/dist/server/app-route-handler-policy.d.ts +1 -2
- package/dist/server/app-route-handler-policy.js +0 -2
- package/dist/server/app-route-handler-response.d.ts +2 -3
- package/dist/server/app-route-handler-response.js +8 -7
- package/dist/server/app-route-handler-runtime.d.ts +1 -2
- package/dist/server/app-route-handler-runtime.js +0 -2
- package/dist/server/app-route-module-loader.d.ts +43 -0
- package/dist/server/app-route-module-loader.js +32 -0
- package/dist/server/app-router-entry.d.ts +1 -2
- package/dist/server/app-router-entry.js +2 -2
- package/dist/server/app-rsc-cache-busting.d.ts +12 -3
- package/dist/server/app-rsc-cache-busting.js +21 -10
- package/dist/server/app-rsc-embedded-chunks.d.ts +1 -2
- package/dist/server/app-rsc-embedded-chunks.js +0 -2
- package/dist/server/app-rsc-error-handler.d.ts +1 -2
- package/dist/server/app-rsc-error-handler.js +0 -2
- package/dist/server/app-rsc-errors.d.ts +1 -2
- package/dist/server/app-rsc-errors.js +0 -2
- package/dist/server/app-rsc-handler.d.ts +16 -2
- package/dist/server/app-rsc-handler.js +32 -14
- package/dist/server/app-rsc-render-mode.d.ts +1 -2
- package/dist/server/app-rsc-render-mode.js +0 -2
- package/dist/server/app-rsc-request-normalization.d.ts +4 -5
- package/dist/server/app-rsc-request-normalization.js +2 -4
- package/dist/server/app-rsc-response-finalizer.d.ts +1 -2
- package/dist/server/app-rsc-response-finalizer.js +2 -2
- package/dist/server/app-rsc-route-matching.d.ts +1 -2
- package/dist/server/app-rsc-route-matching.js +0 -2
- package/dist/server/app-segment-config.d.ts +5 -3
- package/dist/server/app-segment-config.js +12 -3
- package/dist/server/app-server-action-execution.d.ts +12 -2
- package/dist/server/app-server-action-execution.js +200 -25
- package/dist/server/app-ssr-entry.d.ts +5 -4
- package/dist/server/app-ssr-entry.js +31 -15
- package/dist/server/app-ssr-error-meta.d.ts +1 -2
- package/dist/server/app-ssr-error-meta.js +0 -2
- package/dist/server/app-ssr-stream.d.ts +1 -2
- package/dist/server/app-ssr-stream.js +31 -3
- package/dist/server/app-static-generation.d.ts +1 -2
- package/dist/server/app-static-generation.js +0 -2
- package/dist/server/app-visited-response-cache.d.ts +23 -0
- package/dist/server/app-visited-response-cache.js +19 -0
- package/dist/server/artifact-compatibility.d.ts +2 -2
- package/dist/server/artifact-compatibility.js +12 -7
- package/dist/server/cache-control.d.ts +15 -2
- package/dist/server/cache-control.js +21 -3
- package/dist/server/cache-headers.d.ts +1 -2
- package/dist/server/cache-headers.js +0 -2
- package/dist/server/cache-proof.d.ts +1 -2
- package/dist/server/cache-proof.js +0 -2
- package/dist/server/client-reuse-manifest.d.ts +10 -5
- package/dist/server/client-reuse-manifest.js +7 -10
- package/dist/server/client-trace-metadata.d.ts +1 -2
- package/dist/server/client-trace-metadata.js +0 -2
- package/dist/server/cookie-utils.d.ts +1 -2
- package/dist/server/cookie-utils.js +0 -2
- package/dist/server/csp.d.ts +1 -2
- package/dist/server/csp.js +0 -2
- package/dist/server/default-global-error-module.d.ts +1 -2
- package/dist/server/default-global-error-module.js +0 -2
- package/dist/server/default-not-found-module.d.ts +1 -2
- package/dist/server/default-not-found-module.js +0 -2
- package/dist/server/dev-error-overlay-store.d.ts +20 -4
- package/dist/server/dev-error-overlay-store.js +23 -4
- package/dist/server/dev-error-overlay.d.ts +39 -3
- package/dist/server/dev-error-overlay.js +952 -164
- package/dist/server/dev-initial-server-error.d.ts +9 -0
- package/dist/server/dev-initial-server-error.js +26 -0
- package/dist/server/dev-lockfile.d.ts +1 -2
- package/dist/server/dev-lockfile.js +0 -2
- package/dist/server/dev-module-runner.d.ts +1 -2
- package/dist/server/dev-module-runner.js +0 -2
- package/dist/server/dev-origin-check.d.ts +1 -2
- package/dist/server/dev-origin-check.js +0 -2
- package/dist/server/dev-route-files.d.ts +1 -2
- package/dist/server/dev-route-files.js +0 -2
- package/dist/server/dev-server.d.ts +2 -3
- package/dist/server/dev-server.js +127 -28
- package/dist/server/dev-stack-sourcemap-endpoint.d.ts +4 -0
- package/dist/server/dev-stack-sourcemap-endpoint.js +4 -0
- package/dist/server/dev-stack-sourcemap.d.ts +43 -0
- package/dist/server/dev-stack-sourcemap.js +443 -0
- package/dist/server/document-initial-head.d.ts +6 -0
- package/dist/server/document-initial-head.js +33 -0
- package/dist/server/edge-api-runtime.d.ts +1 -2
- package/dist/server/edge-api-runtime.js +0 -2
- package/dist/server/file-based-metadata.d.ts +1 -2
- package/dist/server/file-based-metadata.js +0 -2
- package/dist/server/headers.d.ts +3 -2
- package/dist/server/headers.js +3 -3
- package/dist/server/html.d.ts +1 -2
- package/dist/server/html.js +0 -2
- package/dist/server/http-error-responses.d.ts +1 -2
- package/dist/server/http-error-responses.js +0 -2
- package/dist/server/image-optimization.d.ts +1 -2
- package/dist/server/image-optimization.js +0 -2
- package/dist/server/implicit-tags.d.ts +1 -2
- package/dist/server/implicit-tags.js +0 -2
- package/dist/server/instrumentation-runtime.d.ts +1 -2
- package/dist/server/instrumentation-runtime.js +0 -2
- package/dist/server/instrumentation.d.ts +1 -2
- package/dist/server/instrumentation.js +0 -2
- package/dist/server/isr-cache.d.ts +10 -3
- package/dist/server/isr-cache.js +13 -28
- package/dist/server/metadata-route-build-data.d.ts +1 -2
- package/dist/server/metadata-route-build-data.js +0 -2
- package/dist/server/metadata-route-response.d.ts +1 -2
- package/dist/server/metadata-route-response.js +0 -2
- package/dist/server/metadata-routes.d.ts +1 -2
- package/dist/server/metadata-routes.js +0 -2
- package/dist/server/middleware-matcher.d.ts +1 -2
- package/dist/server/middleware-matcher.js +0 -2
- package/dist/server/middleware-request-headers.d.ts +1 -2
- package/dist/server/middleware-request-headers.js +0 -2
- package/dist/server/middleware-response-headers.d.ts +1 -2
- package/dist/server/middleware-response-headers.js +0 -2
- package/dist/server/middleware-runtime.d.ts +1 -2
- package/dist/server/middleware-runtime.js +14 -5
- package/dist/server/middleware.d.ts +2 -3
- package/dist/server/middleware.js +0 -2
- package/dist/server/navigation-planner.d.ts +16 -2
- package/dist/server/navigation-planner.js +1 -3
- package/dist/server/navigation-trace.d.ts +1 -2
- package/dist/server/navigation-trace.js +0 -2
- package/dist/server/next-error-digest.d.ts +1 -2
- package/dist/server/next-error-digest.js +0 -2
- package/dist/server/normalize-path.d.ts +1 -2
- package/dist/server/normalize-path.js +0 -2
- package/dist/server/pages-api-route.d.ts +1 -2
- package/dist/server/pages-api-route.js +1 -3
- package/dist/server/pages-asset-tags.d.ts +66 -0
- package/dist/server/pages-asset-tags.js +116 -0
- package/dist/server/pages-body-parser-config.d.ts +1 -2
- package/dist/server/pages-body-parser-config.js +0 -2
- package/dist/server/pages-data-route.d.ts +39 -2
- package/dist/server/pages-data-route.js +46 -3
- package/dist/server/pages-default-404.d.ts +1 -2
- package/dist/server/pages-default-404.js +0 -2
- package/dist/server/pages-document-initial-props.d.ts +84 -3
- package/dist/server/pages-document-initial-props.js +127 -3
- package/dist/server/pages-get-initial-props.d.ts +17 -0
- package/dist/server/pages-get-initial-props.js +50 -0
- package/dist/server/pages-i18n.d.ts +1 -2
- package/dist/server/pages-i18n.js +0 -2
- package/dist/server/pages-media-type.d.ts +1 -2
- package/dist/server/pages-media-type.js +1 -2
- package/dist/server/pages-node-compat.d.ts +9 -2
- package/dist/server/pages-node-compat.js +35 -4
- package/dist/server/pages-page-data.d.ts +7 -3
- package/dist/server/pages-page-data.js +75 -33
- package/dist/server/pages-page-handler.d.ts +90 -0
- package/dist/server/pages-page-handler.js +335 -0
- package/dist/server/pages-page-method.d.ts +1 -2
- package/dist/server/pages-page-method.js +0 -2
- package/dist/server/pages-page-response.d.ts +15 -2
- package/dist/server/pages-page-response.js +39 -12
- package/dist/server/pages-serializable-props.d.ts +1 -2
- package/dist/server/pages-serializable-props.js +0 -2
- package/dist/server/pregenerated-concrete-paths.d.ts +32 -0
- package/dist/server/pregenerated-concrete-paths.js +78 -0
- package/dist/server/prerender-route-params.d.ts +13 -3
- package/dist/server/prerender-route-params.js +30 -11
- package/dist/server/prerender-work-unit-setup.d.ts +1 -2
- package/dist/server/prerender-work-unit-setup.js +0 -2
- package/dist/server/prod-server.d.ts +2 -4
- package/dist/server/prod-server.js +13 -8
- package/dist/server/proxy-trust.d.ts +1 -2
- package/dist/server/proxy-trust.js +0 -2
- package/dist/server/request-log.d.ts +1 -2
- package/dist/server/request-log.js +0 -2
- package/dist/server/request-pipeline.d.ts +14 -2
- package/dist/server/request-pipeline.js +42 -3
- package/dist/server/rsc-stream-hints.d.ts +1 -2
- package/dist/server/rsc-stream-hints.js +0 -2
- package/dist/server/seed-cache.d.ts +6 -2
- package/dist/server/seed-cache.js +10 -8
- package/dist/server/server-action-not-found.d.ts +1 -2
- package/dist/server/server-action-not-found.js +0 -2
- package/dist/server/server-globals.d.ts +1 -2
- package/dist/server/server-globals.js +0 -2
- package/dist/server/skip-cache-proof.d.ts +23 -3
- package/dist/server/skip-cache-proof.js +81 -14
- package/dist/server/socket-error-backstop.d.ts +1 -2
- package/dist/server/socket-error-backstop.js +0 -2
- package/dist/server/static-file-cache.d.ts +1 -2
- package/dist/server/static-file-cache.js +0 -2
- package/dist/server/static-layout-client-reuse-proof.d.ts +15 -0
- package/dist/server/static-layout-client-reuse-proof.js +33 -0
- package/dist/server/streaming-metadata.d.ts +1 -2
- package/dist/server/streaming-metadata.js +0 -2
- package/dist/server/worker-utils.d.ts +1 -2
- package/dist/server/worker-utils.js +3 -6
- package/dist/shims/amp.d.ts +1 -2
- package/dist/shims/amp.js +0 -2
- package/dist/shims/app-router-scroll-state.d.ts +1 -2
- package/dist/shims/app-router-scroll-state.js +0 -2
- package/dist/shims/app-router-scroll.d.ts +3 -5
- package/dist/shims/app-router-scroll.js +0 -2
- package/dist/shims/app.d.ts +1 -2
- package/dist/shims/app.js +0 -2
- package/dist/shims/before-interactive-context.d.ts +1 -2
- package/dist/shims/before-interactive-context.js +0 -2
- package/dist/shims/cache-for-request.d.ts +1 -2
- package/dist/shims/cache-for-request.js +0 -2
- package/dist/shims/cache-runtime.d.ts +20 -5
- package/dist/shims/cache-runtime.js +35 -30
- package/dist/shims/cache.d.ts +68 -7
- package/dist/shims/cache.js +179 -25
- package/dist/shims/cdn-cache.d.ts +125 -0
- package/dist/shims/cdn-cache.js +100 -0
- package/dist/shims/client-hook-error.d.ts +1 -2
- package/dist/shims/client-hook-error.js +0 -2
- package/dist/shims/client-locale.d.ts +1 -2
- package/dist/shims/client-locale.js +1 -3
- package/dist/shims/compat-router.d.ts +1 -2
- package/dist/shims/compat-router.js +0 -2
- package/dist/shims/config.d.ts +1 -2
- package/dist/shims/config.js +0 -2
- package/dist/shims/constants.d.ts +1 -2
- package/dist/shims/constants.js +0 -2
- package/dist/shims/default-global-error.d.ts +3 -4
- package/dist/shims/default-global-error.js +0 -2
- package/dist/shims/default-not-found.d.ts +1 -2
- package/dist/shims/default-not-found.js +0 -2
- package/dist/shims/document.d.ts +11 -7
- package/dist/shims/document.js +7 -10
- package/dist/shims/dynamic.d.ts +1 -2
- package/dist/shims/dynamic.js +0 -2
- package/dist/shims/error-boundary.d.ts +16 -12
- package/dist/shims/error-boundary.js +60 -28
- package/dist/shims/error.d.ts +1 -2
- package/dist/shims/error.js +0 -2
- package/dist/shims/fetch-cache.d.ts +3 -2
- package/dist/shims/fetch-cache.js +18 -9
- package/dist/shims/font-google-base.d.ts +1 -2
- package/dist/shims/font-google-base.js +1 -13
- package/dist/shims/font-local.d.ts +1 -2
- package/dist/shims/font-local.js +1 -15
- package/dist/shims/font-utils.d.ts +7 -2
- package/dist/shims/font-utils.js +13 -3
- package/dist/shims/form.d.ts +12 -5
- package/dist/shims/form.js +98 -21
- package/dist/shims/hash-scroll.d.ts +4 -2
- package/dist/shims/hash-scroll.js +13 -3
- package/dist/shims/head-state.d.ts +2 -2
- package/dist/shims/head-state.js +18 -5
- package/dist/shims/head.d.ts +35 -2
- package/dist/shims/head.js +113 -16
- package/dist/shims/headers.d.ts +9 -2
- package/dist/shims/headers.js +13 -3
- package/dist/shims/i18n-context.d.ts +1 -2
- package/dist/shims/i18n-context.js +0 -2
- package/dist/shims/i18n-state.d.ts +1 -2
- package/dist/shims/i18n-state.js +0 -2
- package/dist/shims/image-config.d.ts +1 -2
- package/dist/shims/image-config.js +0 -2
- package/dist/shims/image.d.ts +1 -2
- package/dist/shims/image.js +1 -3
- package/dist/shims/internal/als-registry.d.ts +1 -2
- package/dist/shims/internal/als-registry.js +0 -2
- package/dist/shims/internal/api-utils.d.ts +1 -2
- package/dist/shims/internal/app-route-detection.d.ts +1 -2
- package/dist/shims/internal/app-route-detection.js +0 -2
- package/dist/shims/internal/app-router-context.d.ts +1 -2
- package/dist/shims/internal/app-router-context.js +0 -2
- package/dist/shims/internal/cookie-serialize.d.ts +1 -2
- package/dist/shims/internal/cookie-serialize.js +0 -2
- package/dist/shims/internal/make-hanging-promise.d.ts +1 -2
- package/dist/shims/internal/make-hanging-promise.js +0 -2
- package/dist/shims/internal/pages-data-fetch-dedup.d.ts +55 -0
- package/dist/shims/internal/pages-data-fetch-dedup.js +68 -0
- package/dist/shims/internal/pages-data-target.d.ts +1 -2
- package/dist/shims/internal/pages-data-target.js +0 -2
- package/dist/shims/internal/pages-data-url.d.ts +1 -2
- package/dist/shims/internal/pages-data-url.js +0 -2
- package/dist/shims/internal/parse-cookie-header.d.ts +1 -2
- package/dist/shims/internal/parse-cookie-header.js +0 -2
- package/dist/shims/internal/router-context.d.ts +2 -4
- package/dist/shims/internal/router-context.js +0 -2
- package/dist/shims/internal/utils.d.ts +1 -2
- package/dist/shims/internal/utils.js +0 -2
- package/dist/shims/internal/work-unit-async-storage.d.ts +1 -2
- package/dist/shims/internal/work-unit-async-storage.js +0 -2
- package/dist/shims/layout-segment-context.d.ts +2 -4
- package/dist/shims/layout-segment-context.js +0 -2
- package/dist/shims/legacy-image.d.ts +1 -2
- package/dist/shims/legacy-image.js +0 -2
- package/dist/shims/link-prefetch.d.ts +1 -2
- package/dist/shims/link-prefetch.js +0 -2
- package/dist/shims/link.d.ts +2 -2
- package/dist/shims/link.js +47 -15
- package/dist/shims/metadata.d.ts +4 -5
- package/dist/shims/metadata.js +1 -3
- package/dist/shims/navigation-state.d.ts +1 -2
- package/dist/shims/navigation-state.js +0 -2
- package/dist/shims/navigation.d.ts +61 -7
- package/dist/shims/navigation.js +244 -47
- package/dist/shims/navigation.react-server.d.ts +1 -2
- package/dist/shims/navigation.react-server.js +0 -2
- package/dist/shims/offline.d.ts +1 -2
- package/dist/shims/offline.js +0 -2
- package/dist/shims/og.d.ts +1 -2
- package/dist/shims/og.js +2 -4
- package/dist/shims/pages-router-runtime.d.ts +7 -2
- package/dist/shims/pages-router-runtime.js +11 -3
- package/dist/shims/ppr-fallback-shell.d.ts +29 -0
- package/dist/shims/ppr-fallback-shell.js +149 -0
- package/dist/shims/readonly-url-search-params.d.ts +1 -2
- package/dist/shims/readonly-url-search-params.js +0 -2
- package/dist/shims/request-context.d.ts +9 -5
- package/dist/shims/request-context.js +0 -2
- package/dist/shims/request-state-types.d.ts +1 -1
- package/dist/shims/root-params.d.ts +1 -2
- package/dist/shims/root-params.js +0 -2
- package/dist/shims/router-state.d.ts +1 -2
- package/dist/shims/router-state.js +0 -2
- package/dist/shims/router.d.ts +1 -2
- package/dist/shims/router.js +172 -37
- package/dist/shims/script-nonce-context.d.ts +1 -2
- package/dist/shims/script-nonce-context.js +0 -2
- package/dist/shims/script.d.ts +1 -2
- package/dist/shims/script.js +0 -2
- package/dist/shims/server.d.ts +1 -2
- package/dist/shims/server.js +0 -2
- package/dist/shims/slot.d.ts +11 -4
- package/dist/shims/slot.js +121 -9
- package/dist/shims/thenable-params.d.ts +6 -3
- package/dist/shims/thenable-params.js +131 -12
- package/dist/shims/unified-request-context.d.ts +1 -2
- package/dist/shims/unified-request-context.js +3 -2
- package/dist/shims/unrecognized-action-error.d.ts +1 -2
- package/dist/shims/unrecognized-action-error.js +0 -2
- package/dist/shims/url-safety.d.ts +1 -2
- package/dist/shims/url-safety.js +0 -2
- package/dist/shims/url-utils.d.ts +1 -2
- package/dist/shims/url-utils.js +0 -2
- package/dist/shims/use-merged-ref.d.ts +1 -2
- package/dist/shims/use-merged-ref.js +0 -2
- package/dist/shims/web-vitals.d.ts +1 -2
- package/dist/shims/web-vitals.js +0 -2
- package/dist/typegen.d.ts +1 -2
- package/dist/typegen.js +2 -9
- package/dist/utils/asset-prefix.d.ts +1 -2
- package/dist/utils/asset-prefix.js +0 -2
- package/dist/utils/base-path.d.ts +1 -2
- package/dist/utils/base-path.js +0 -2
- package/dist/utils/cache-control-metadata.d.ts +1 -4
- package/dist/utils/cache-control-metadata.js +1 -3
- package/dist/utils/client-build-manifest.d.ts +14 -0
- package/dist/utils/client-build-manifest.js +52 -0
- package/dist/utils/compare.d.ts +4 -0
- package/dist/utils/compare.js +8 -0
- package/dist/utils/dev-error-recovery-event.d.ts +4 -0
- package/dist/utils/dev-error-recovery-event.js +4 -0
- package/dist/utils/domain-locale.d.ts +1 -2
- package/dist/utils/domain-locale.js +2 -4
- package/dist/utils/encode-cache-tag.d.ts +1 -2
- package/dist/utils/encode-cache-tag.js +0 -2
- package/dist/utils/error-cause.d.ts +1 -2
- package/dist/utils/error-cause.js +0 -2
- package/dist/utils/hash.d.ts +1 -2
- package/dist/utils/hash.js +1 -3
- package/dist/utils/html-limited-bots.d.ts +1 -2
- package/dist/utils/html-limited-bots.js +0 -2
- package/dist/utils/lazy-chunks.d.ts +1 -2
- package/dist/utils/lazy-chunks.js +0 -2
- package/dist/utils/manifest-paths.d.ts +8 -3
- package/dist/utils/manifest-paths.js +15 -3
- package/dist/utils/mdx-scan.d.ts +1 -2
- package/dist/utils/mdx-scan.js +0 -2
- package/dist/utils/navigation-signal.d.ts +1 -2
- package/dist/utils/navigation-signal.js +0 -2
- package/dist/utils/number.d.ts +4 -0
- package/dist/utils/number.js +6 -0
- package/dist/utils/path.d.ts +4 -2
- package/dist/utils/path.js +5 -3
- package/dist/utils/prerender-output-paths.d.ts +1 -2
- package/dist/utils/prerender-output-paths.js +0 -2
- package/dist/utils/project.d.ts +1 -2
- package/dist/utils/project.js +0 -2
- package/dist/utils/promise.d.ts +4 -0
- package/dist/utils/promise.js +6 -0
- package/dist/utils/public-routes.d.ts +1 -2
- package/dist/utils/public-routes.js +0 -2
- package/dist/utils/query.d.ts +1 -2
- package/dist/utils/query.js +0 -2
- package/dist/utils/record.d.ts +1 -2
- package/dist/utils/record.js +0 -2
- package/dist/utils/regex.d.ts +4 -0
- package/dist/utils/regex.js +6 -0
- package/dist/utils/safe-json-file.d.ts +1 -2
- package/dist/utils/safe-json-file.js +0 -2
- package/dist/utils/sorted-array.d.ts +1 -2
- package/dist/utils/sorted-array.js +0 -2
- package/dist/utils/text-stream.d.ts +1 -2
- package/dist/utils/text-stream.js +0 -2
- package/dist/utils/vinext-root.d.ts +1 -2
- package/dist/utils/vinext-root.js +0 -2
- package/dist/utils/vite-version.d.ts +10 -0
- package/dist/utils/vite-version.js +34 -0
- package/package.json +20 -7
- package/dist/build/clean-output.js.map +0 -1
- package/dist/build/client-build-config.js.map +0 -1
- package/dist/build/google-fonts/build-url.js.map +0 -1
- package/dist/build/google-fonts/fallback-metrics-data.js.map +0 -1
- package/dist/build/google-fonts/fallback-metrics.js.map +0 -1
- package/dist/build/google-fonts/font-data.js.map +0 -1
- package/dist/build/google-fonts/font-metadata.js.map +0 -1
- package/dist/build/google-fonts/get-axes.js.map +0 -1
- package/dist/build/google-fonts/sort-variants.js.map +0 -1
- package/dist/build/google-fonts/validate.js.map +0 -1
- package/dist/build/inline-css.js.map +0 -1
- package/dist/build/layout-classification.js.map +0 -1
- package/dist/build/nitro-route-rules.js.map +0 -1
- package/dist/build/precompress.js.map +0 -1
- package/dist/build/prerender.js.map +0 -1
- package/dist/build/report.js.map +0 -1
- package/dist/build/route-classification-injector.js.map +0 -1
- package/dist/build/route-classification-manifest.js.map +0 -1
- package/dist/build/run-prerender.js.map +0 -1
- package/dist/build/server-manifest.js.map +0 -1
- package/dist/build/ssr-manifest.js.map +0 -1
- package/dist/build/standalone.js.map +0 -1
- package/dist/build/static-export.js.map +0 -1
- package/dist/check.js.map +0 -1
- package/dist/cli-args.js.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/client/instrumentation-client-inject.js.map +0 -1
- package/dist/client/instrumentation-client-state.js.map +0 -1
- package/dist/client/instrumentation-client.js.map +0 -1
- package/dist/client/navigation-runtime.js.map +0 -1
- package/dist/client/pages-router-link-navigation.js.map +0 -1
- package/dist/client/validate-module-path.js.map +0 -1
- package/dist/client/vinext-next-data.js.map +0 -1
- package/dist/client/window-next.js.map +0 -1
- package/dist/cloudflare/kv-cache-handler.js.map +0 -1
- package/dist/cloudflare/tpr.js.map +0 -1
- package/dist/config/config-matchers.js.map +0 -1
- package/dist/config/dotenv.js.map +0 -1
- package/dist/config/next-config.js.map +0 -1
- package/dist/config/tsconfig-paths.js.map +0 -1
- package/dist/deploy.js.map +0 -1
- package/dist/entries/app-browser-entry.js.map +0 -1
- package/dist/entries/app-rsc-entry.js.map +0 -1
- package/dist/entries/app-rsc-manifest.js.map +0 -1
- package/dist/entries/app-ssr-entry.js.map +0 -1
- package/dist/entries/pages-client-entry.js.map +0 -1
- package/dist/entries/pages-entry-helpers.js.map +0 -1
- package/dist/entries/pages-server-entry.js.map +0 -1
- package/dist/entries/runtime-entry-module.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/init.js.map +0 -1
- package/dist/plugins/async-hooks-stub.js.map +0 -1
- package/dist/plugins/client-reference-dedup.js.map +0 -1
- package/dist/plugins/css-data-url.js.map +0 -1
- package/dist/plugins/fonts.js.map +0 -1
- package/dist/plugins/instrumentation-client.js.map +0 -1
- package/dist/plugins/middleware-server-only.js.map +0 -1
- package/dist/plugins/og-assets.js.map +0 -1
- package/dist/plugins/optimize-imports.js.map +0 -1
- package/dist/plugins/postcss.js.map +0 -1
- package/dist/plugins/remove-console.js.map +0 -1
- package/dist/plugins/rsc-client-reference-loaders.js.map +0 -1
- package/dist/plugins/rsc-client-shim-excludes.js.map +0 -1
- package/dist/plugins/sass.js.map +0 -1
- package/dist/plugins/server-externals-manifest.js.map +0 -1
- package/dist/plugins/strip-server-exports.js.map +0 -1
- package/dist/routing/app-route-graph.js.map +0 -1
- package/dist/routing/app-router.js.map +0 -1
- package/dist/routing/file-matcher.js.map +0 -1
- package/dist/routing/pages-router.js.map +0 -1
- package/dist/routing/route-matching.js.map +0 -1
- package/dist/routing/route-pattern.js.map +0 -1
- package/dist/routing/route-trie.js.map +0 -1
- package/dist/routing/route-validation.js.map +0 -1
- package/dist/routing/utils.js.map +0 -1
- package/dist/server/api-handler.js.map +0 -1
- package/dist/server/app-browser-action-result.js.map +0 -1
- package/dist/server/app-browser-entry.js.map +0 -1
- package/dist/server/app-browser-error.js.map +0 -1
- package/dist/server/app-browser-hydration.js.map +0 -1
- package/dist/server/app-browser-interception-context.js.map +0 -1
- package/dist/server/app-browser-navigation-controller.js.map +0 -1
- package/dist/server/app-browser-popstate.js.map +0 -1
- package/dist/server/app-browser-rsc-redirect.js.map +0 -1
- package/dist/server/app-browser-state.js.map +0 -1
- package/dist/server/app-browser-stream.js.map +0 -1
- package/dist/server/app-browser-visible-commit.js.map +0 -1
- package/dist/server/app-client-reference-preloader.js.map +0 -1
- package/dist/server/app-elements-wire.js.map +0 -1
- package/dist/server/app-elements.js.map +0 -1
- package/dist/server/app-fallback-renderer.js.map +0 -1
- package/dist/server/app-history-state.js.map +0 -1
- package/dist/server/app-hook-warning-suppression.js.map +0 -1
- package/dist/server/app-inline-css-client.js.map +0 -1
- package/dist/server/app-interception-context-header.js.map +0 -1
- package/dist/server/app-middleware.js.map +0 -1
- package/dist/server/app-mounted-slots-header.js.map +0 -1
- package/dist/server/app-optimistic-routing.js.map +0 -1
- package/dist/server/app-page-boundary-render.js.map +0 -1
- package/dist/server/app-page-boundary.js.map +0 -1
- package/dist/server/app-page-cache.js.map +0 -1
- package/dist/server/app-page-dispatch.js.map +0 -1
- package/dist/server/app-page-element-builder.js.map +0 -1
- package/dist/server/app-page-execution.js.map +0 -1
- package/dist/server/app-page-head.js.map +0 -1
- package/dist/server/app-page-method.js.map +0 -1
- package/dist/server/app-page-params.js.map +0 -1
- package/dist/server/app-page-probe.js.map +0 -1
- package/dist/server/app-page-render-identity.js.map +0 -1
- package/dist/server/app-page-render-observation.js.map +0 -1
- package/dist/server/app-page-render.js.map +0 -1
- package/dist/server/app-page-request.js.map +0 -1
- package/dist/server/app-page-response.js.map +0 -1
- package/dist/server/app-page-route-wiring.js.map +0 -1
- package/dist/server/app-page-segment-state.js.map +0 -1
- package/dist/server/app-page-stream.js.map +0 -1
- package/dist/server/app-post-middleware-context.js.map +0 -1
- package/dist/server/app-prerender-endpoints.js.map +0 -1
- package/dist/server/app-prerender-static-params.js.map +0 -1
- package/dist/server/app-render-dependency.js.map +0 -1
- package/dist/server/app-request-context.js.map +0 -1
- package/dist/server/app-route-handler-cache.js.map +0 -1
- package/dist/server/app-route-handler-dispatch.js.map +0 -1
- package/dist/server/app-route-handler-execution.js.map +0 -1
- package/dist/server/app-route-handler-policy.js.map +0 -1
- package/dist/server/app-route-handler-response.js.map +0 -1
- package/dist/server/app-route-handler-runtime.js.map +0 -1
- package/dist/server/app-router-entry.js.map +0 -1
- package/dist/server/app-rsc-cache-busting.js.map +0 -1
- package/dist/server/app-rsc-embedded-chunks.js.map +0 -1
- package/dist/server/app-rsc-error-handler.js.map +0 -1
- package/dist/server/app-rsc-errors.js.map +0 -1
- package/dist/server/app-rsc-handler.js.map +0 -1
- package/dist/server/app-rsc-render-mode.js.map +0 -1
- package/dist/server/app-rsc-request-normalization.js.map +0 -1
- package/dist/server/app-rsc-response-finalizer.js.map +0 -1
- package/dist/server/app-rsc-route-matching.js.map +0 -1
- package/dist/server/app-segment-config.js.map +0 -1
- package/dist/server/app-server-action-execution.js.map +0 -1
- package/dist/server/app-ssr-entry.js.map +0 -1
- package/dist/server/app-ssr-error-meta.js.map +0 -1
- package/dist/server/app-ssr-stream.js.map +0 -1
- package/dist/server/app-static-generation.js.map +0 -1
- package/dist/server/artifact-compatibility.js.map +0 -1
- package/dist/server/cache-control.js.map +0 -1
- package/dist/server/cache-headers.js.map +0 -1
- package/dist/server/cache-proof.js.map +0 -1
- package/dist/server/client-reuse-manifest.js.map +0 -1
- package/dist/server/client-trace-metadata.js.map +0 -1
- package/dist/server/cookie-utils.js.map +0 -1
- package/dist/server/csp.js.map +0 -1
- package/dist/server/default-global-error-module.js.map +0 -1
- package/dist/server/default-not-found-module.js.map +0 -1
- package/dist/server/dev-error-overlay-store.js.map +0 -1
- package/dist/server/dev-error-overlay.js.map +0 -1
- package/dist/server/dev-lockfile.js.map +0 -1
- package/dist/server/dev-module-runner.js.map +0 -1
- package/dist/server/dev-origin-check.js.map +0 -1
- package/dist/server/dev-route-files.js.map +0 -1
- package/dist/server/dev-server.js.map +0 -1
- package/dist/server/edge-api-runtime.js.map +0 -1
- package/dist/server/file-based-metadata.js.map +0 -1
- package/dist/server/headers.js.map +0 -1
- package/dist/server/html.js.map +0 -1
- package/dist/server/http-error-responses.js.map +0 -1
- package/dist/server/image-optimization.js.map +0 -1
- package/dist/server/implicit-tags.js.map +0 -1
- package/dist/server/instrumentation-runtime.js.map +0 -1
- package/dist/server/instrumentation.js.map +0 -1
- package/dist/server/isr-cache.js.map +0 -1
- package/dist/server/metadata-route-build-data.js.map +0 -1
- package/dist/server/metadata-route-response.js.map +0 -1
- package/dist/server/metadata-routes.js.map +0 -1
- package/dist/server/middleware-matcher.js.map +0 -1
- package/dist/server/middleware-request-headers.js.map +0 -1
- package/dist/server/middleware-response-headers.js.map +0 -1
- package/dist/server/middleware-runtime.js.map +0 -1
- package/dist/server/middleware.js.map +0 -1
- package/dist/server/navigation-planner.js.map +0 -1
- package/dist/server/navigation-trace.js.map +0 -1
- package/dist/server/next-error-digest.js.map +0 -1
- package/dist/server/normalize-path.js.map +0 -1
- package/dist/server/pages-api-route.js.map +0 -1
- package/dist/server/pages-body-parser-config.js.map +0 -1
- package/dist/server/pages-data-route.js.map +0 -1
- package/dist/server/pages-default-404.js.map +0 -1
- package/dist/server/pages-document-initial-props.js.map +0 -1
- package/dist/server/pages-i18n.js.map +0 -1
- package/dist/server/pages-media-type.js.map +0 -1
- package/dist/server/pages-node-compat.js.map +0 -1
- package/dist/server/pages-page-data.js.map +0 -1
- package/dist/server/pages-page-method.js.map +0 -1
- package/dist/server/pages-page-response.js.map +0 -1
- package/dist/server/pages-serializable-props.js.map +0 -1
- package/dist/server/prerender-route-params.js.map +0 -1
- package/dist/server/prerender-work-unit-setup.js.map +0 -1
- package/dist/server/prod-server.js.map +0 -1
- package/dist/server/proxy-trust.js.map +0 -1
- package/dist/server/request-log.js.map +0 -1
- package/dist/server/request-pipeline.js.map +0 -1
- package/dist/server/rsc-stream-hints.js.map +0 -1
- package/dist/server/seed-cache.js.map +0 -1
- package/dist/server/server-action-not-found.js.map +0 -1
- package/dist/server/server-globals.js.map +0 -1
- package/dist/server/skip-cache-proof.js.map +0 -1
- package/dist/server/socket-error-backstop.js.map +0 -1
- package/dist/server/static-file-cache.js.map +0 -1
- package/dist/server/streaming-metadata.js.map +0 -1
- package/dist/server/worker-utils.js.map +0 -1
- package/dist/shims/amp.js.map +0 -1
- package/dist/shims/app-router-scroll-state.js.map +0 -1
- package/dist/shims/app-router-scroll.js.map +0 -1
- package/dist/shims/app.js.map +0 -1
- package/dist/shims/before-interactive-context.js.map +0 -1
- package/dist/shims/cache-for-request.js.map +0 -1
- package/dist/shims/cache-runtime.js.map +0 -1
- package/dist/shims/cache.js.map +0 -1
- package/dist/shims/client-hook-error.js.map +0 -1
- package/dist/shims/client-locale.js.map +0 -1
- package/dist/shims/compat-router.js.map +0 -1
- package/dist/shims/config.js.map +0 -1
- package/dist/shims/constants.js.map +0 -1
- package/dist/shims/default-global-error.js.map +0 -1
- package/dist/shims/default-not-found.js.map +0 -1
- package/dist/shims/document.js.map +0 -1
- package/dist/shims/dynamic.js.map +0 -1
- package/dist/shims/error-boundary.js.map +0 -1
- package/dist/shims/error.js.map +0 -1
- package/dist/shims/fetch-cache.js.map +0 -1
- package/dist/shims/font-google-base.js.map +0 -1
- package/dist/shims/font-local.js.map +0 -1
- package/dist/shims/font-utils.js.map +0 -1
- package/dist/shims/form.js.map +0 -1
- package/dist/shims/hash-scroll.js.map +0 -1
- package/dist/shims/head-state.js.map +0 -1
- package/dist/shims/head.js.map +0 -1
- package/dist/shims/headers.js.map +0 -1
- package/dist/shims/i18n-context.js.map +0 -1
- package/dist/shims/i18n-state.js.map +0 -1
- package/dist/shims/image-config.js.map +0 -1
- package/dist/shims/image.js.map +0 -1
- package/dist/shims/internal/als-registry.js.map +0 -1
- package/dist/shims/internal/app-route-detection.js.map +0 -1
- package/dist/shims/internal/app-router-context.js.map +0 -1
- package/dist/shims/internal/cookie-serialize.js.map +0 -1
- package/dist/shims/internal/make-hanging-promise.js.map +0 -1
- package/dist/shims/internal/pages-data-target.js.map +0 -1
- package/dist/shims/internal/pages-data-url.js.map +0 -1
- package/dist/shims/internal/parse-cookie-header.js.map +0 -1
- package/dist/shims/internal/router-context.js.map +0 -1
- package/dist/shims/internal/utils.js.map +0 -1
- package/dist/shims/internal/work-unit-async-storage.js.map +0 -1
- package/dist/shims/layout-segment-context.js.map +0 -1
- package/dist/shims/legacy-image.js.map +0 -1
- package/dist/shims/link-prefetch.js.map +0 -1
- package/dist/shims/link.js.map +0 -1
- package/dist/shims/metadata.js.map +0 -1
- package/dist/shims/navigation-state.js.map +0 -1
- package/dist/shims/navigation.js.map +0 -1
- package/dist/shims/navigation.react-server.js.map +0 -1
- package/dist/shims/offline.js.map +0 -1
- package/dist/shims/og.js.map +0 -1
- package/dist/shims/pages-router-runtime.js.map +0 -1
- package/dist/shims/readonly-url-search-params.js.map +0 -1
- package/dist/shims/request-context.js.map +0 -1
- package/dist/shims/root-params.js.map +0 -1
- package/dist/shims/router-state.js.map +0 -1
- package/dist/shims/router.js.map +0 -1
- package/dist/shims/script-nonce-context.js.map +0 -1
- package/dist/shims/script.js.map +0 -1
- package/dist/shims/server.js.map +0 -1
- package/dist/shims/slot.js.map +0 -1
- package/dist/shims/thenable-params.js.map +0 -1
- package/dist/shims/unified-request-context.js.map +0 -1
- package/dist/shims/unrecognized-action-error.js.map +0 -1
- package/dist/shims/url-safety.js.map +0 -1
- package/dist/shims/url-utils.js.map +0 -1
- package/dist/shims/use-merged-ref.js.map +0 -1
- package/dist/shims/web-vitals.js.map +0 -1
- package/dist/typegen.js.map +0 -1
- package/dist/utils/asset-prefix.js.map +0 -1
- package/dist/utils/base-path.js.map +0 -1
- package/dist/utils/cache-control-metadata.js.map +0 -1
- package/dist/utils/domain-locale.js.map +0 -1
- package/dist/utils/encode-cache-tag.js.map +0 -1
- package/dist/utils/error-cause.js.map +0 -1
- package/dist/utils/hash.js.map +0 -1
- package/dist/utils/html-limited-bots.js.map +0 -1
- package/dist/utils/lazy-chunks.js.map +0 -1
- package/dist/utils/manifest-paths.js.map +0 -1
- package/dist/utils/mdx-scan.js.map +0 -1
- package/dist/utils/navigation-signal.js.map +0 -1
- package/dist/utils/path.js.map +0 -1
- package/dist/utils/prerender-output-paths.js.map +0 -1
- package/dist/utils/project.js.map +0 -1
- package/dist/utils/public-routes.js.map +0 -1
- package/dist/utils/query.js.map +0 -1
- package/dist/utils/record.js.map +0 -1
- package/dist/utils/safe-json-file.js.map +0 -1
- package/dist/utils/sorted-array.js.map +0 -1
- package/dist/utils/text-stream.js.map +0 -1
- package/dist/utils/vinext-root.js.map +0 -1
package/dist/shims/cache.d.ts
CHANGED
|
@@ -94,9 +94,29 @@ declare class NoOpCacheHandler implements CacheHandler {
|
|
|
94
94
|
expire?: number;
|
|
95
95
|
}): Promise<void>;
|
|
96
96
|
}
|
|
97
|
+
type MemoryCacheHandlerOptions = Pick<CacheHandlerContext, "maxMemoryCacheSize"> & {
|
|
98
|
+
cacheMaxMemorySize?: number;
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* In-memory data cache handler. This is the built-in default — vinext installs
|
|
102
|
+
* it automatically, so consumers should not construct or register it by hand.
|
|
103
|
+
*
|
|
104
|
+
* @deprecated Consumers should not instantiate cache handlers directly.
|
|
105
|
+
* Configure caching declaratively via the `cache` option on the `vinext()`
|
|
106
|
+
* plugin (see {@link setDataCacheHandler}); the in-memory handler is the
|
|
107
|
+
* default when nothing is configured, and its size is tuned via the
|
|
108
|
+
* `cacheMaxMemorySize` plugin option.
|
|
109
|
+
*/
|
|
97
110
|
declare class MemoryCacheHandler implements CacheHandler {
|
|
98
111
|
private store;
|
|
99
112
|
private tagRevalidatedAt;
|
|
113
|
+
private readonly maxMemoryCacheSize;
|
|
114
|
+
private currentMemoryCacheSize;
|
|
115
|
+
constructor(options?: number | MemoryCacheHandlerOptions);
|
|
116
|
+
private estimateEntrySize;
|
|
117
|
+
private deleteEntry;
|
|
118
|
+
private touchEntry;
|
|
119
|
+
private evictLeastRecentlyUsed;
|
|
100
120
|
get(key: string, _ctx?: Record<string, unknown>): Promise<CacheHandlerValue | null>;
|
|
101
121
|
set(key: string, data: IncrementalCacheValue | null, ctx?: Record<string, unknown>): Promise<void>;
|
|
102
122
|
revalidateTag(tags: string | string[], _durations?: {
|
|
@@ -104,16 +124,49 @@ declare class MemoryCacheHandler implements CacheHandler {
|
|
|
104
124
|
}): Promise<void>;
|
|
105
125
|
resetRequestCache(): void;
|
|
106
126
|
}
|
|
127
|
+
declare function configureMemoryCacheHandler(options?: MemoryCacheHandlerOptions): void;
|
|
107
128
|
/**
|
|
108
|
-
* Set
|
|
109
|
-
*
|
|
129
|
+
* Set the **data cache** handler. This backs all data-cache concerns —
|
|
130
|
+
* `fetch` caching, `"use cache"`, `unstable_cache` — and is also the default
|
|
131
|
+
* underlying store for page-level ISR (via the default CDN cache adapter).
|
|
132
|
+
*
|
|
133
|
+
* The handler must implement the CacheHandler interface (same shape as
|
|
134
|
+
* Next.js 16's CacheHandler class).
|
|
135
|
+
*
|
|
136
|
+
* @deprecated Don't wire up the data cache imperatively. Configure it
|
|
137
|
+
* declaratively via the `cache.data` option on the `vinext()` plugin in your
|
|
138
|
+
* `vite.config.ts`, using a config-time adapter builder. On Cloudflare Workers:
|
|
110
139
|
*
|
|
111
|
-
*
|
|
112
|
-
*
|
|
140
|
+
* ```ts
|
|
141
|
+
* import { vinext } from "vinext";
|
|
142
|
+
* import { kvDataAdapter } from "@vinext/cloudflare/cache/kv-data-adapter";
|
|
143
|
+
*
|
|
144
|
+
* export default defineConfig({
|
|
145
|
+
* plugins: [vinext({ cache: { data: kvDataAdapter({ binding: "VINEXT_KV_CACHE" }) } })],
|
|
146
|
+
* });
|
|
147
|
+
* ```
|
|
148
|
+
*
|
|
149
|
+
* The plugin defers instantiation to the first request and registers the
|
|
150
|
+
* handler across every runtime/router entry, so you don't have to call this
|
|
151
|
+
* from a worker entry. This setter remains as the internal registration target
|
|
152
|
+
* and for backwards compatibility, but is not the recommended consumer API.
|
|
153
|
+
*/
|
|
154
|
+
declare function setDataCacheHandler(handler: CacheHandler): void;
|
|
155
|
+
/**
|
|
156
|
+
* Get the active data cache handler (for internal use or testing).
|
|
157
|
+
*/
|
|
158
|
+
declare function getDataCacheHandler(): CacheHandler;
|
|
159
|
+
/**
|
|
160
|
+
* @deprecated Don't wire up the data cache imperatively. Configure it
|
|
161
|
+
* declaratively via the `cache.data` option on the `vinext()` plugin (e.g.
|
|
162
|
+
* `kvDataAdapter()` from `@vinext/cloudflare/cache/kv-data-adapter`). See
|
|
163
|
+
* {@link setDataCacheHandler} for the migration example. Retained as a
|
|
164
|
+
* backwards-compatible alias — `setCacheHandler` has always configured the
|
|
165
|
+
* data cache handler.
|
|
113
166
|
*/
|
|
114
167
|
declare function setCacheHandler(handler: CacheHandler): void;
|
|
115
168
|
/**
|
|
116
|
-
*
|
|
169
|
+
* @deprecated Prefer {@link getDataCacheHandler}.
|
|
117
170
|
*/
|
|
118
171
|
declare function getCacheHandler(): CacheHandler;
|
|
119
172
|
/**
|
|
@@ -212,9 +265,17 @@ declare function io(): Promise<void>;
|
|
|
212
265
|
declare function unstable_io(): Promise<void>;
|
|
213
266
|
type UnstableCacheRevalidationMode = "foreground" | "background";
|
|
214
267
|
type ActionRevalidationKind = 0 | 1 | 2;
|
|
268
|
+
type UnstableCacheObservation = Readonly<{
|
|
269
|
+
kind: "unstable_cache";
|
|
270
|
+
keyHash: string;
|
|
271
|
+
revalidate: number | false | null;
|
|
272
|
+
tagCount: number;
|
|
273
|
+
tagHash: string | null;
|
|
274
|
+
}>;
|
|
215
275
|
type CacheState = {
|
|
216
276
|
actionRevalidationKind: ActionRevalidationKind;
|
|
217
277
|
requestScopedCacheLife: CacheLifeConfig | null;
|
|
278
|
+
unstableCacheObservations: Map<string, UnstableCacheObservation>;
|
|
218
279
|
unstableCacheRevalidation: UnstableCacheRevalidationMode;
|
|
219
280
|
};
|
|
220
281
|
/**
|
|
@@ -250,6 +311,7 @@ declare function _peekRequestScopedCacheLife(): CacheLifeConfig | null;
|
|
|
250
311
|
* @internal
|
|
251
312
|
*/
|
|
252
313
|
declare function _consumeRequestScopedCacheLife(): CacheLifeConfig | null;
|
|
314
|
+
declare function _peekUnstableCacheObservations(): UnstableCacheObservation[];
|
|
253
315
|
/**
|
|
254
316
|
* Cache life configuration. Controls stale-while-revalidate behavior.
|
|
255
317
|
*/
|
|
@@ -307,5 +369,4 @@ type UnstableCacheOptions = {
|
|
|
307
369
|
*/
|
|
308
370
|
declare function unstable_cache<T extends (...args: any[]) => Promise<any>>(fn: T, keyParts?: string[], options?: UnstableCacheOptions): T;
|
|
309
371
|
//#endregion
|
|
310
|
-
export { ActionRevalidationKind, CacheControlMetadata, CacheHandler, CacheHandlerContext, CacheHandlerValue, CacheLifeConfig, CacheState, CachedAppPageValue, CachedFetchValue, CachedImageValue, CachedPagesValue, CachedRedirectValue, CachedRouteValue, type ExecutionContextLike, IncrementalCacheValue, MemoryCacheHandler, NoOpCacheHandler, UnstableCacheRevalidationMode, _consumeRequestScopedCacheLife, _initRequestScopedCacheState, _peekRequestScopedCacheLife, _registerCacheContextAccessor, _runWithCacheState, _setRequestScopedCacheLife, cacheLife, cacheLifeProfiles, cacheTag, getAndClearActionRevalidationKind, getCacheHandler, getRequestExecutionContext, io, isInsideUnstableCacheScope, unstable_noStore as noStore, unstable_noStore, refresh, revalidatePath, revalidateTag, runWithExecutionContext, setCacheHandler, unstable_cache, unstable_cacheLife, unstable_cacheTag, unstable_io, updateTag };
|
|
311
|
-
//# sourceMappingURL=cache.d.ts.map
|
|
372
|
+
export { ActionRevalidationKind, CacheControlMetadata, CacheHandler, CacheHandlerContext, CacheHandlerValue, CacheLifeConfig, CacheState, CachedAppPageValue, CachedFetchValue, CachedImageValue, CachedPagesValue, CachedRedirectValue, CachedRouteValue, type ExecutionContextLike, IncrementalCacheValue, MemoryCacheHandler, NoOpCacheHandler, UnstableCacheObservation, UnstableCacheRevalidationMode, _consumeRequestScopedCacheLife, _initRequestScopedCacheState, _peekRequestScopedCacheLife, _peekUnstableCacheObservations, _registerCacheContextAccessor, _runWithCacheState, _setRequestScopedCacheLife, cacheLife, cacheLifeProfiles, cacheTag, configureMemoryCacheHandler, getAndClearActionRevalidationKind, getCacheHandler, getDataCacheHandler, getRequestExecutionContext, io, isInsideUnstableCacheScope, unstable_noStore as noStore, unstable_noStore, refresh, revalidatePath, revalidateTag, runWithExecutionContext, setCacheHandler, setDataCacheHandler, unstable_cache, unstable_cacheLife, unstable_cacheTag, unstable_io, updateTag };
|
package/dist/shims/cache.js
CHANGED
|
@@ -7,6 +7,7 @@ import { workUnitAsyncStorage } from "./internal/work-unit-async-storage.js";
|
|
|
7
7
|
import { makeHangingPromise } from "./internal/make-hanging-promise.js";
|
|
8
8
|
import { readCacheControlNumberField } from "../utils/cache-control-metadata.js";
|
|
9
9
|
import { encodeCacheTag, encodeCacheTags } from "../utils/encode-cache-tag.js";
|
|
10
|
+
import { getCdnCacheAdapter } from "./cdn-cache.js";
|
|
10
11
|
//#region src/shims/cache.ts
|
|
11
12
|
/**
|
|
12
13
|
* next/cache shim
|
|
@@ -19,12 +20,14 @@ import { encodeCacheTag, encodeCacheTags } from "../utils/encode-cache-tag.js";
|
|
|
19
20
|
* existing community adapters (@neshca/cache-handler, @opennextjs/aws, etc.)
|
|
20
21
|
* can be used directly.
|
|
21
22
|
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
23
|
+
* Recommended configuration is declarative, via the `cache` option on the
|
|
24
|
+
* `vinext()` plugin in vite.config.ts:
|
|
25
|
+
* import { kvDataAdapter } from '@vinext/cloudflare/cache/kv-data-adapter';
|
|
26
|
+
* vinext({ cache: { data: kvDataAdapter({ binding: 'VINEXT_KV_CACHE' }) } })
|
|
24
27
|
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
+
* The imperative `setCacheHandler` / `setDataCacheHandler` setters are
|
|
29
|
+
* deprecated for consumers and retained only as the internal registration
|
|
30
|
+
* target used by the generated cache-adapter module.
|
|
28
31
|
*/
|
|
29
32
|
/** @internal Set by cache-runtime.ts on import to avoid circular dependency */
|
|
30
33
|
let _getCacheContextFn = null;
|
|
@@ -42,21 +45,86 @@ var NoOpCacheHandler = class {
|
|
|
42
45
|
async set(_key, _data, _ctx) {}
|
|
43
46
|
async revalidateTag(_tags, _durations) {}
|
|
44
47
|
};
|
|
48
|
+
const DEFAULT_MEMORY_CACHE_MAX_SIZE = 50 * 1024 * 1024;
|
|
49
|
+
const MAX_REVALIDATED_TAG_ENTRIES = 1e4;
|
|
50
|
+
function estimateStringMapSize(map) {
|
|
51
|
+
if (!map) return 0;
|
|
52
|
+
let size = 0;
|
|
53
|
+
for (const [key, value] of Object.entries(map)) {
|
|
54
|
+
size += key.length;
|
|
55
|
+
if (Array.isArray(value)) for (const item of value) size += item.length;
|
|
56
|
+
else size += value.length;
|
|
57
|
+
}
|
|
58
|
+
return size;
|
|
59
|
+
}
|
|
60
|
+
function estimateIncrementalCacheValueSize(value) {
|
|
61
|
+
if (value === null) return 25;
|
|
62
|
+
switch (value.kind) {
|
|
63
|
+
case "FETCH": return JSON.stringify(value.data ?? "").length;
|
|
64
|
+
case "PAGES": return value.html.length + JSON.stringify(value.pageData ?? {}).length + estimateStringMapSize(value.headers);
|
|
65
|
+
case "APP_PAGE": return value.html.length + (value.rscData?.byteLength ?? 0) + (value.postponed?.length ?? 0) + estimateStringMapSize(value.headers);
|
|
66
|
+
case "APP_ROUTE": return value.body.byteLength + estimateStringMapSize(value.headers);
|
|
67
|
+
case "REDIRECT": return JSON.stringify(value.props ?? {}).length;
|
|
68
|
+
case "IMAGE": return value.buffer.byteLength + value.extension.length + value.etag.length;
|
|
69
|
+
default: return JSON.stringify(value).length;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
function resolveMemoryCacheMaxSize(options) {
|
|
73
|
+
if (typeof options === "number") return options;
|
|
74
|
+
if (typeof options?.cacheMaxMemorySize === "number") return options.cacheMaxMemorySize;
|
|
75
|
+
if (typeof options?.maxMemoryCacheSize === "number") return options.maxMemoryCacheSize;
|
|
76
|
+
return DEFAULT_MEMORY_CACHE_MAX_SIZE;
|
|
77
|
+
}
|
|
45
78
|
function readStringArrayField(ctx, field) {
|
|
46
79
|
const value = ctx?.[field];
|
|
47
80
|
if (!Array.isArray(value)) return [];
|
|
48
81
|
return value.filter((item) => typeof item === "string");
|
|
49
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* In-memory data cache handler. This is the built-in default — vinext installs
|
|
85
|
+
* it automatically, so consumers should not construct or register it by hand.
|
|
86
|
+
*
|
|
87
|
+
* @deprecated Consumers should not instantiate cache handlers directly.
|
|
88
|
+
* Configure caching declaratively via the `cache` option on the `vinext()`
|
|
89
|
+
* plugin (see {@link setDataCacheHandler}); the in-memory handler is the
|
|
90
|
+
* default when nothing is configured, and its size is tuned via the
|
|
91
|
+
* `cacheMaxMemorySize` plugin option.
|
|
92
|
+
*/
|
|
50
93
|
var MemoryCacheHandler = class {
|
|
51
94
|
store = /* @__PURE__ */ new Map();
|
|
52
95
|
tagRevalidatedAt = /* @__PURE__ */ new Map();
|
|
96
|
+
maxMemoryCacheSize;
|
|
97
|
+
currentMemoryCacheSize = 0;
|
|
98
|
+
constructor(options) {
|
|
99
|
+
this.maxMemoryCacheSize = resolveMemoryCacheMaxSize(options);
|
|
100
|
+
}
|
|
101
|
+
estimateEntrySize(entry) {
|
|
102
|
+
return estimateIncrementalCacheValueSize(entry.value) + entry.tags.reduce((sum, tag) => sum + tag.length, 0) + 64;
|
|
103
|
+
}
|
|
104
|
+
deleteEntry(key) {
|
|
105
|
+
const existing = this.store.get(key);
|
|
106
|
+
if (!existing) return;
|
|
107
|
+
this.currentMemoryCacheSize -= this.estimateEntrySize(existing);
|
|
108
|
+
this.store.delete(key);
|
|
109
|
+
}
|
|
110
|
+
touchEntry(key, entry) {
|
|
111
|
+
this.store.delete(key);
|
|
112
|
+
this.store.set(key, entry);
|
|
113
|
+
}
|
|
114
|
+
evictLeastRecentlyUsed() {
|
|
115
|
+
while (this.maxMemoryCacheSize > 0 && this.currentMemoryCacheSize > this.maxMemoryCacheSize) {
|
|
116
|
+
const oldestKey = this.store.keys().next().value;
|
|
117
|
+
if (oldestKey === void 0) return;
|
|
118
|
+
this.deleteEntry(oldestKey);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
53
121
|
async get(key, _ctx) {
|
|
54
122
|
const entry = this.store.get(key);
|
|
55
123
|
if (!entry) return null;
|
|
56
124
|
for (const tag of entry.tags) {
|
|
57
125
|
const revalidatedAt = this.tagRevalidatedAt.get(tag);
|
|
58
126
|
if (revalidatedAt && revalidatedAt >= entry.lastModified) {
|
|
59
|
-
this.
|
|
127
|
+
this.deleteEntry(key);
|
|
60
128
|
return null;
|
|
61
129
|
}
|
|
62
130
|
}
|
|
@@ -65,9 +133,10 @@ var MemoryCacheHandler = class {
|
|
|
65
133
|
if (revalidatedAt && revalidatedAt >= entry.lastModified) return null;
|
|
66
134
|
}
|
|
67
135
|
if (entry.expireAt !== null && Date.now() > entry.expireAt) {
|
|
68
|
-
this.
|
|
136
|
+
this.deleteEntry(key);
|
|
69
137
|
return null;
|
|
70
138
|
}
|
|
139
|
+
this.touchEntry(key, entry);
|
|
71
140
|
if (entry.revalidateAt !== null && Date.now() > entry.revalidateAt) return {
|
|
72
141
|
lastModified: entry.lastModified,
|
|
73
142
|
value: entry.value,
|
|
@@ -98,19 +167,36 @@ var MemoryCacheHandler = class {
|
|
|
98
167
|
revalidate: effectiveRevalidate,
|
|
99
168
|
expire: effectiveExpire
|
|
100
169
|
} : void 0;
|
|
101
|
-
this.
|
|
170
|
+
if (this.maxMemoryCacheSize === 0) return;
|
|
171
|
+
const entry = {
|
|
102
172
|
value: data,
|
|
103
173
|
tags,
|
|
104
174
|
lastModified: now,
|
|
105
175
|
revalidateAt,
|
|
106
176
|
expireAt,
|
|
107
177
|
cacheControl
|
|
108
|
-
}
|
|
178
|
+
};
|
|
179
|
+
const entrySize = this.estimateEntrySize(entry);
|
|
180
|
+
if (entrySize > this.maxMemoryCacheSize) {
|
|
181
|
+
this.deleteEntry(key);
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
this.deleteEntry(key);
|
|
185
|
+
this.store.set(key, entry);
|
|
186
|
+
this.currentMemoryCacheSize += entrySize;
|
|
187
|
+
this.evictLeastRecentlyUsed();
|
|
109
188
|
}
|
|
110
189
|
async revalidateTag(tags, _durations) {
|
|
111
190
|
const tagList = Array.isArray(tags) ? tags : [tags];
|
|
112
191
|
const now = Date.now();
|
|
113
|
-
for (const tag of tagList)
|
|
192
|
+
for (const tag of tagList) {
|
|
193
|
+
this.tagRevalidatedAt.set(tag, now);
|
|
194
|
+
while (this.tagRevalidatedAt.size > MAX_REVALIDATED_TAG_ENTRIES) {
|
|
195
|
+
const oldest = this.tagRevalidatedAt.keys().next().value;
|
|
196
|
+
if (oldest === void 0) break;
|
|
197
|
+
this.tagRevalidatedAt.delete(oldest);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
114
200
|
}
|
|
115
201
|
resetRequestCache() {}
|
|
116
202
|
};
|
|
@@ -119,23 +205,64 @@ const _gHandler = globalThis;
|
|
|
119
205
|
function _getActiveHandler() {
|
|
120
206
|
return _gHandler[_HANDLER_KEY] ?? (_gHandler[_HANDLER_KEY] = new MemoryCacheHandler());
|
|
121
207
|
}
|
|
208
|
+
function configureMemoryCacheHandler(options) {
|
|
209
|
+
const current = _gHandler[_HANDLER_KEY];
|
|
210
|
+
if (current && !(current instanceof MemoryCacheHandler)) return;
|
|
211
|
+
_gHandler[_HANDLER_KEY] = new MemoryCacheHandler(options);
|
|
212
|
+
}
|
|
122
213
|
/**
|
|
123
|
-
* Set
|
|
124
|
-
*
|
|
125
|
-
*
|
|
126
|
-
*
|
|
127
|
-
*
|
|
214
|
+
* Set the **data cache** handler. This backs all data-cache concerns —
|
|
215
|
+
* `fetch` caching, `"use cache"`, `unstable_cache` — and is also the default
|
|
216
|
+
* underlying store for page-level ISR (via the default CDN cache adapter).
|
|
217
|
+
*
|
|
218
|
+
* The handler must implement the CacheHandler interface (same shape as
|
|
219
|
+
* Next.js 16's CacheHandler class).
|
|
220
|
+
*
|
|
221
|
+
* @deprecated Don't wire up the data cache imperatively. Configure it
|
|
222
|
+
* declaratively via the `cache.data` option on the `vinext()` plugin in your
|
|
223
|
+
* `vite.config.ts`, using a config-time adapter builder. On Cloudflare Workers:
|
|
224
|
+
*
|
|
225
|
+
* ```ts
|
|
226
|
+
* import { vinext } from "vinext";
|
|
227
|
+
* import { kvDataAdapter } from "@vinext/cloudflare/cache/kv-data-adapter";
|
|
228
|
+
*
|
|
229
|
+
* export default defineConfig({
|
|
230
|
+
* plugins: [vinext({ cache: { data: kvDataAdapter({ binding: "VINEXT_KV_CACHE" }) } })],
|
|
231
|
+
* });
|
|
232
|
+
* ```
|
|
233
|
+
*
|
|
234
|
+
* The plugin defers instantiation to the first request and registers the
|
|
235
|
+
* handler across every runtime/router entry, so you don't have to call this
|
|
236
|
+
* from a worker entry. This setter remains as the internal registration target
|
|
237
|
+
* and for backwards compatibility, but is not the recommended consumer API.
|
|
128
238
|
*/
|
|
129
|
-
function
|
|
239
|
+
function setDataCacheHandler(handler) {
|
|
130
240
|
_gHandler[_HANDLER_KEY] = handler;
|
|
131
241
|
}
|
|
132
242
|
/**
|
|
133
|
-
* Get the active
|
|
243
|
+
* Get the active data cache handler (for internal use or testing).
|
|
134
244
|
*/
|
|
135
|
-
function
|
|
245
|
+
function getDataCacheHandler() {
|
|
136
246
|
return _getActiveHandler();
|
|
137
247
|
}
|
|
138
248
|
/**
|
|
249
|
+
* @deprecated Don't wire up the data cache imperatively. Configure it
|
|
250
|
+
* declaratively via the `cache.data` option on the `vinext()` plugin (e.g.
|
|
251
|
+
* `kvDataAdapter()` from `@vinext/cloudflare/cache/kv-data-adapter`). See
|
|
252
|
+
* {@link setDataCacheHandler} for the migration example. Retained as a
|
|
253
|
+
* backwards-compatible alias — `setCacheHandler` has always configured the
|
|
254
|
+
* data cache handler.
|
|
255
|
+
*/
|
|
256
|
+
function setCacheHandler(handler) {
|
|
257
|
+
setDataCacheHandler(handler);
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* @deprecated Prefer {@link getDataCacheHandler}.
|
|
261
|
+
*/
|
|
262
|
+
function getCacheHandler() {
|
|
263
|
+
return getDataCacheHandler();
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
139
266
|
* Revalidate cached data associated with a specific cache tag.
|
|
140
267
|
*
|
|
141
268
|
* Works with both `fetch(..., { next: { tags: ['myTag'] } })` and
|
|
@@ -155,7 +282,20 @@ async function revalidateTag(tag, profile) {
|
|
|
155
282
|
if (resolved) durations = { expire: resolved.expire };
|
|
156
283
|
} else if (profile && typeof profile === "object") durations = profile;
|
|
157
284
|
if (!profile || !durations || durations.expire === 0) markActionRevalidation(ACTION_DID_REVALIDATE_STATIC_AND_DYNAMIC);
|
|
158
|
-
await
|
|
285
|
+
await _invalidateEncodedTag(encodeCacheTag(tag), durations);
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Invalidate one already-encoded tag across both cache layers.
|
|
289
|
+
*
|
|
290
|
+
* Ordering is intentional and load-bearing: invalidate the data cache store
|
|
291
|
+
* FIRST (covers fetch data, `"use cache"`, and page entries stored there by the
|
|
292
|
+
* default CDN adapter), THEN ask the CDN adapter to purge its edge (a no-op for
|
|
293
|
+
* the default adapter). Purging the edge before the store is invalidated would
|
|
294
|
+
* let the edge re-fetch and re-cache stale data.
|
|
295
|
+
*/
|
|
296
|
+
async function _invalidateEncodedTag(encoded, durations) {
|
|
297
|
+
await _getActiveHandler().revalidateTag(encoded, durations);
|
|
298
|
+
await getCdnCacheAdapter().revalidateTag(encoded, durations);
|
|
159
299
|
}
|
|
160
300
|
/**
|
|
161
301
|
* Revalidate cached data associated with a specific path.
|
|
@@ -175,8 +315,7 @@ async function revalidateTag(tag, profile) {
|
|
|
175
315
|
async function revalidatePath(path, type) {
|
|
176
316
|
markActionRevalidation(ACTION_DID_REVALIDATE_STATIC_AND_DYNAMIC);
|
|
177
317
|
const stem = path.endsWith("/") ? path.slice(0, -1) : path;
|
|
178
|
-
|
|
179
|
-
await _getActiveHandler().revalidateTag(encodeCacheTag(tag));
|
|
318
|
+
await _invalidateEncodedTag(encodeCacheTag(type ? `_N_T_${stem}/${type}` : `_N_T_${stem || "/"}`));
|
|
180
319
|
}
|
|
181
320
|
/**
|
|
182
321
|
* No-op shim for API compatibility.
|
|
@@ -205,7 +344,7 @@ function refresh() {
|
|
|
205
344
|
async function updateTag(tag) {
|
|
206
345
|
if (getHeadersAccessPhase() !== "action") throw new Error("updateTag can only be called from within a Server Action. To invalidate cache tags in Route Handlers or other contexts, use revalidateTag instead. See more info here: https://nextjs.org/docs/app/api-reference/functions/updateTag");
|
|
207
346
|
markActionRevalidation(ACTION_DID_REVALIDATE_STATIC_AND_DYNAMIC);
|
|
208
|
-
await
|
|
347
|
+
await _invalidateEncodedTag(encodeCacheTag(tag));
|
|
209
348
|
}
|
|
210
349
|
/**
|
|
211
350
|
* Opt out of static rendering and indicate a particular component should not be cached.
|
|
@@ -286,6 +425,7 @@ const _cacheAls = getOrCreateAls("vinext.cache.als");
|
|
|
286
425
|
const _cacheFallbackState = _g[_FALLBACK_KEY] ??= {
|
|
287
426
|
actionRevalidationKind: 0,
|
|
288
427
|
requestScopedCacheLife: null,
|
|
428
|
+
unstableCacheObservations: /* @__PURE__ */ new Map(),
|
|
289
429
|
unstableCacheRevalidation: "foreground"
|
|
290
430
|
};
|
|
291
431
|
const ACTION_DID_NOT_REVALIDATE = 0;
|
|
@@ -299,11 +439,13 @@ function _runWithCacheState(fn) {
|
|
|
299
439
|
if (isInsideUnifiedScope()) return runWithUnifiedStateMutation((uCtx) => {
|
|
300
440
|
uCtx.actionRevalidationKind = ACTION_DID_NOT_REVALIDATE;
|
|
301
441
|
uCtx.requestScopedCacheLife = null;
|
|
442
|
+
uCtx.unstableCacheObservations = /* @__PURE__ */ new Map();
|
|
302
443
|
uCtx.unstableCacheRevalidation = "foreground";
|
|
303
444
|
}, fn);
|
|
304
445
|
const state = {
|
|
305
446
|
actionRevalidationKind: ACTION_DID_NOT_REVALIDATE,
|
|
306
447
|
requestScopedCacheLife: null,
|
|
448
|
+
unstableCacheObservations: /* @__PURE__ */ new Map(),
|
|
307
449
|
unstableCacheRevalidation: "foreground"
|
|
308
450
|
};
|
|
309
451
|
return _cacheAls.run(state, fn);
|
|
@@ -317,6 +459,7 @@ function _initRequestScopedCacheState() {
|
|
|
317
459
|
const state = _getCacheState();
|
|
318
460
|
state.actionRevalidationKind = ACTION_DID_NOT_REVALIDATE;
|
|
319
461
|
state.requestScopedCacheLife = null;
|
|
462
|
+
state.unstableCacheObservations = /* @__PURE__ */ new Map();
|
|
320
463
|
}
|
|
321
464
|
function markActionRevalidation(kind) {
|
|
322
465
|
if (getHeadersAccessPhase() !== "action") return;
|
|
@@ -363,6 +506,12 @@ function _consumeRequestScopedCacheLife() {
|
|
|
363
506
|
state.requestScopedCacheLife = null;
|
|
364
507
|
return config;
|
|
365
508
|
}
|
|
509
|
+
function recordUnstableCacheObservation(observation) {
|
|
510
|
+
_getCacheState().unstableCacheObservations.set(observation.keyHash, observation);
|
|
511
|
+
}
|
|
512
|
+
function _peekUnstableCacheObservations() {
|
|
513
|
+
return [..._getCacheState().unstableCacheObservations.values()].sort((a, b) => a.keyHash.localeCompare(b.keyHash));
|
|
514
|
+
}
|
|
366
515
|
/**
|
|
367
516
|
* Built-in cache life profiles matching Next.js 16.
|
|
368
517
|
*/
|
|
@@ -590,6 +739,13 @@ function unstable_cache(fn, keyParts, options) {
|
|
|
590
739
|
const revalidateSeconds = options?.revalidate;
|
|
591
740
|
const cachedFn = async (...args) => {
|
|
592
741
|
const cacheKey = `unstable_cache:${baseKey}:${JSON.stringify(args)}`;
|
|
742
|
+
recordUnstableCacheObservation({
|
|
743
|
+
kind: "unstable_cache",
|
|
744
|
+
keyHash: fnv1a64(cacheKey),
|
|
745
|
+
revalidate: typeof revalidateSeconds === "number" ? revalidateSeconds : revalidateSeconds === false ? false : null,
|
|
746
|
+
tagCount: tags.length,
|
|
747
|
+
tagHash: tags.length > 0 ? fnv1a64(JSON.stringify(tags)) : null
|
|
748
|
+
});
|
|
593
749
|
const existing = await _getActiveHandler().get(cacheKey, {
|
|
594
750
|
kind: "FETCH",
|
|
595
751
|
tags
|
|
@@ -608,6 +764,4 @@ function unstable_cache(fn, keyParts, options) {
|
|
|
608
764
|
return cachedFn;
|
|
609
765
|
}
|
|
610
766
|
//#endregion
|
|
611
|
-
export { MemoryCacheHandler, NoOpCacheHandler, _consumeRequestScopedCacheLife, _initRequestScopedCacheState, _peekRequestScopedCacheLife, _registerCacheContextAccessor, _runWithCacheState, _setRequestScopedCacheLife, cacheLife, cacheLifeProfiles, cacheTag, getAndClearActionRevalidationKind, getCacheHandler, getRequestExecutionContext, io, isInsideUnstableCacheScope, unstable_noStore as noStore, unstable_noStore, refresh, revalidatePath, revalidateTag, runWithExecutionContext, setCacheHandler, unstable_cache, unstable_cacheLife, unstable_cacheTag, unstable_io, updateTag };
|
|
612
|
-
|
|
613
|
-
//# sourceMappingURL=cache.js.map
|
|
767
|
+
export { MemoryCacheHandler, NoOpCacheHandler, _consumeRequestScopedCacheLife, _initRequestScopedCacheState, _peekRequestScopedCacheLife, _peekUnstableCacheObservations, _registerCacheContextAccessor, _runWithCacheState, _setRequestScopedCacheLife, cacheLife, cacheLifeProfiles, cacheTag, configureMemoryCacheHandler, getAndClearActionRevalidationKind, getCacheHandler, getDataCacheHandler, getRequestExecutionContext, io, isInsideUnstableCacheScope, unstable_noStore as noStore, unstable_noStore, refresh, revalidatePath, revalidateTag, runWithExecutionContext, setCacheHandler, setDataCacheHandler, unstable_cache, unstable_cacheLife, unstable_cacheTag, unstable_io, updateTag };
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { CacheHandlerValue, IncrementalCacheValue } from "./cache.js";
|
|
2
|
+
|
|
3
|
+
//#region src/shims/cdn-cache.d.ts
|
|
4
|
+
/** A map of response header name -> value the adapter wants applied. */
|
|
5
|
+
type CdnResponseHeaders = Record<string, string>;
|
|
6
|
+
type CdnCacheableHeaderInput = {
|
|
7
|
+
/**
|
|
8
|
+
* The cacheable `Cache-Control` value the framework computed for shared
|
|
9
|
+
* caches (e.g. `s-maxage=60, stale-while-revalidate`). May be an empty string
|
|
10
|
+
* when no cacheable policy applies.
|
|
11
|
+
*/
|
|
12
|
+
cacheControl: string;
|
|
13
|
+
/**
|
|
14
|
+
* True when this is a freshly-rendered **streaming** response whose
|
|
15
|
+
* dynamic-ness is not yet proven (late Server Component request-API usage can
|
|
16
|
+
* only be detected after the stream drains).
|
|
17
|
+
*
|
|
18
|
+
* The default adapter forces `no-store` for the browser in this case — the
|
|
19
|
+
* page is instead served from the origin store on subsequent requests. Edge
|
|
20
|
+
* adapters may instead emit edge-only cache headers (e.g. `CDN-Cache-Control`)
|
|
21
|
+
* so the CDN performs SWR while the browser still sees `no-store`.
|
|
22
|
+
*/
|
|
23
|
+
pendingDynamicCheck?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* The cache tags associated with this page/route, already canonicalised
|
|
26
|
+
* (e.g. via `encodeCacheTag`). Edge adapters use these to emit a tag header
|
|
27
|
+
* (e.g. a `Cache-Tag` header) so tag-based purging can target the response.
|
|
28
|
+
* The default adapter ignores them.
|
|
29
|
+
*/
|
|
30
|
+
tags?: readonly string[];
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* The serving strategy for page-level ISR. Implement this to delegate
|
|
34
|
+
* page/route/image caching to a CDN edge instead of the origin store.
|
|
35
|
+
*/
|
|
36
|
+
type CdnCacheAdapter = {
|
|
37
|
+
/**
|
|
38
|
+
* Read a page-level artifact. Returning a value lets the origin serve it
|
|
39
|
+
* (HIT/STALE); returning `null` makes the origin render fresh.
|
|
40
|
+
*
|
|
41
|
+
* Default: reads the data cache. Edge adapters typically return `null` so the
|
|
42
|
+
* edge owns serving.
|
|
43
|
+
*/
|
|
44
|
+
get(key: string, ctx?: Record<string, unknown>): Promise<CacheHandlerValue | null>;
|
|
45
|
+
/**
|
|
46
|
+
* Persist a freshly-rendered page-level artifact.
|
|
47
|
+
*
|
|
48
|
+
* Default: writes to the data cache. Edge adapters that rely entirely on the
|
|
49
|
+
* CDN may make this a no-op.
|
|
50
|
+
*/
|
|
51
|
+
set(key: string, data: IncrementalCacheValue | null, ctx?: Record<string, unknown>): Promise<void>;
|
|
52
|
+
/**
|
|
53
|
+
* Build the response cache headers for a given cacheable policy. Returns a map
|
|
54
|
+
* so an adapter can emit more than one header (e.g. `Cache-Control` +
|
|
55
|
+
* `CDN-Cache-Control`).
|
|
56
|
+
*/
|
|
57
|
+
buildResponseHeaders(input: CdnCacheableHeaderInput): CdnResponseHeaders;
|
|
58
|
+
/**
|
|
59
|
+
* Whether the **origin** runs in-process background regeneration when a stale
|
|
60
|
+
* entry is served. Edge adapters set this to `false` because the CDN
|
|
61
|
+
* revalidates by re-requesting the origin.
|
|
62
|
+
*/
|
|
63
|
+
readonly ownsBackgroundRevalidation: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Propagate a tag/path invalidation to the CDN edge (purge). Called *in
|
|
66
|
+
* addition to* the data cache's own tag invalidation, so the default
|
|
67
|
+
* implementation is a no-op (the data cache already invalidated its entries).
|
|
68
|
+
*
|
|
69
|
+
* Edge adapters implement this to purge the edge cache — typically firing the
|
|
70
|
+
* purge through the request execution context (`ctx.waitUntil`).
|
|
71
|
+
*/
|
|
72
|
+
revalidateTag(tags: string | string[], durations?: {
|
|
73
|
+
expire?: number;
|
|
74
|
+
}): Promise<void>;
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* Default origin-managed ISR strategy: store page artifacts in the data cache,
|
|
78
|
+
* serve HIT/STALE from it, run in-process background regeneration, and emit the
|
|
79
|
+
* framework's standard `Cache-Control` headers.
|
|
80
|
+
*/
|
|
81
|
+
declare class DefaultCdnCacheAdapter implements CdnCacheAdapter {
|
|
82
|
+
readonly ownsBackgroundRevalidation = true;
|
|
83
|
+
get(key: string, ctx?: Record<string, unknown>): Promise<CacheHandlerValue | null>;
|
|
84
|
+
set(key: string, data: IncrementalCacheValue | null, ctx?: Record<string, unknown>): Promise<void>;
|
|
85
|
+
buildResponseHeaders(input: CdnCacheableHeaderInput): CdnResponseHeaders;
|
|
86
|
+
revalidateTag(_tags: string | string[], _durations?: {
|
|
87
|
+
expire?: number;
|
|
88
|
+
}): Promise<void>;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Set a custom CDN cache adapter to delegate page-level ISR to a CDN edge. An
|
|
92
|
+
* explicit adapter always wins over the built-in request-context / default
|
|
93
|
+
* selection.
|
|
94
|
+
*
|
|
95
|
+
* @deprecated Don't wire up the CDN cache adapter imperatively. Configure it
|
|
96
|
+
* declaratively via the `cache.cdn` option on the `vinext()` plugin in your
|
|
97
|
+
* `vite.config.ts`, using a config-time adapter builder. On Cloudflare Workers:
|
|
98
|
+
*
|
|
99
|
+
* ```ts
|
|
100
|
+
* import { vinext } from "vinext";
|
|
101
|
+
* import { cdnAdapter } from "@vinext/cloudflare/cache/cdn-adapter";
|
|
102
|
+
*
|
|
103
|
+
* export default defineConfig({
|
|
104
|
+
* plugins: [vinext({ cache: { cdn: cdnAdapter() } })],
|
|
105
|
+
* });
|
|
106
|
+
* ```
|
|
107
|
+
*
|
|
108
|
+
* The plugin registers the adapter across every runtime/router entry, so you
|
|
109
|
+
* don't have to call this from a worker entry. This setter remains as the
|
|
110
|
+
* internal registration target and for backwards compatibility, but is not the
|
|
111
|
+
* recommended consumer API.
|
|
112
|
+
*/
|
|
113
|
+
declare function setCdnCacheAdapter(adapter: CdnCacheAdapter): void;
|
|
114
|
+
/**
|
|
115
|
+
* Get the active CDN cache adapter. See the precedence note above:
|
|
116
|
+
* explicit (or an already-resolved auto-detected edge adapter) → origin-managed
|
|
117
|
+
* {@link DefaultCdnCacheAdapter}.
|
|
118
|
+
*
|
|
119
|
+
* Auto-detection of the Cloudflare Workers Cache (`ctx.cache`) only runs when
|
|
120
|
+
* `VINEXT_CDN_CACHE_AUTO_DETECT === "1"`; otherwise the default adapter is used
|
|
121
|
+
* unless an adapter was set explicitly.
|
|
122
|
+
*/
|
|
123
|
+
declare function getCdnCacheAdapter(): CdnCacheAdapter;
|
|
124
|
+
//#endregion
|
|
125
|
+
export { CdnCacheAdapter, CdnCacheableHeaderInput, CdnResponseHeaders, DefaultCdnCacheAdapter, getCdnCacheAdapter, setCdnCacheAdapter };
|