vinext 0.0.55 → 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 +51 -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 +306 -24
- 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 +1 -2
- package/dist/client/navigation-runtime.js +0 -2
- 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 +16 -2
- package/dist/config/next-config.js +23 -4
- package/dist/config/tsconfig-paths.d.ts +1 -2
- package/dist/config/tsconfig-paths.js +3 -7
- 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 +4 -4
- package/dist/entries/app-rsc-entry.js +50 -61
- package/dist/entries/app-rsc-manifest.d.ts +1 -2
- package/dist/entries/app-rsc-manifest.js +20 -7
- 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 +89 -702
- 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 +216 -101
- 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 +2 -2
- package/dist/plugins/import-meta-url.js +187 -33
- 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 +1 -2
- package/dist/server/app-browser-action-result.js +0 -2
- 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 +186 -75
- 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 +2 -2
- package/dist/server/app-browser-mpa-navigation.js +9 -3
- 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 +1 -2
- package/dist/server/app-browser-popstate.js +0 -2
- 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 +193 -10
- 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 +15 -2
- package/dist/server/app-layout-param-observation.js +46 -8
- 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 +18 -9
- 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 +1 -2
- package/dist/server/app-page-params.js +0 -2
- package/dist/server/app-page-probe.d.ts +79 -2
- package/dist/server/app-page-probe.js +89 -9
- 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 +7 -6
- 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 +10 -2
- package/dist/server/app-rsc-cache-busting.js +13 -4
- 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 +21 -13
- 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 +4 -2
- package/dist/server/app-segment-config.js +8 -2
- package/dist/server/app-server-action-execution.d.ts +7 -2
- package/dist/server/app-server-action-execution.js +7 -8
- 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 +1 -2
- package/dist/server/artifact-compatibility.js +2 -6
- 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 +3 -3
- package/dist/server/client-reuse-manifest.js +6 -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 +75 -18
- 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 +1 -2
- package/dist/server/document-initial-head.js +0 -2
- 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 +1 -2
- package/dist/server/pages-document-initial-props.js +0 -2
- 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 +34 -3
- 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 +1 -2
- package/dist/server/pages-page-response.js +8 -4
- 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 +0 -2
- 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 +1 -2
- package/dist/server/skip-cache-proof.js +0 -2
- 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 +1 -2
- package/dist/server/static-layout-client-reuse-proof.js +0 -2
- 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 +48 -7
- package/dist/shims/cache.js +79 -20
- 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 +5 -7
- package/dist/shims/document.js +0 -2
- 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 +35 -2
- package/dist/shims/error.d.ts +1 -2
- package/dist/shims/error.js +0 -2
- package/dist/shims/fetch-cache.d.ts +1 -2
- package/dist/shims/fetch-cache.js +2 -4
- 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 +1 -2
- package/dist/shims/hash-scroll.js +0 -2
- package/dist/shims/head-state.d.ts +1 -2
- package/dist/shims/head-state.js +0 -2
- package/dist/shims/head.d.ts +1 -2
- package/dist/shims/head.js +0 -2
- 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 +1 -2
- package/dist/shims/internal/pages-data-fetch-dedup.js +0 -2
- 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 +20 -14
- 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 +23 -7
- package/dist/shims/navigation.js +188 -39
- 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 +135 -20
- 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 +2 -2
- package/dist/shims/thenable-params.js +107 -12
- package/dist/shims/unified-request-context.d.ts +1 -2
- package/dist/shims/unified-request-context.js +0 -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 +1 -2
- package/dist/utils/client-build-manifest.js +0 -2
- 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 +0 -2
- 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 +1 -2
- package/dist/utils/vite-version.js +0 -2
- package/package.json +19 -6
- 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/import-meta-url.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-mpa-navigation.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-layout-param-observation.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/document-initial-head.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/static-layout-client-reuse-proof.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-fetch-dedup.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/client-build-manifest.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/utils/vite-version.js.map +0 -1
|
@@ -2,7 +2,7 @@ import { getOrCreateAls } from "./internal/als-registry.js";
|
|
|
2
2
|
import { getRequestContext, isInsideUnifiedScope, runWithUnifiedStateMutation } from "./unified-request-context.js";
|
|
3
3
|
import { VINEXT_RSC_MARKER_HEADER } from "../server/headers.js";
|
|
4
4
|
import { markDynamicUsage } from "./headers.js";
|
|
5
|
-
import { _registerCacheContextAccessor, _setRequestScopedCacheLife, cacheLifeProfiles,
|
|
5
|
+
import { _registerCacheContextAccessor, _setRequestScopedCacheLife, cacheLifeProfiles, getDataCacheHandler } from "./cache.js";
|
|
6
6
|
//#region src/shims/cache-runtime.ts
|
|
7
7
|
/**
|
|
8
8
|
* "use cache" runtime
|
|
@@ -33,6 +33,7 @@ import { _registerCacheContextAccessor, _setRequestScopedCacheLife, cacheLifePro
|
|
|
33
33
|
* - "use cache: remote" — shared cache (explicit)
|
|
34
34
|
* - "use cache: private" — per-request cache (not shared across requests)
|
|
35
35
|
*/
|
|
36
|
+
const APP_PAGE_PROPS_CACHE_KEY_MARKER = Symbol.for("vinext.appPagePropsCacheKeyMarker");
|
|
36
37
|
/** Threshold below which expire is considered "dynamic" (5 minutes in seconds). */
|
|
37
38
|
const DYNAMIC_EXPIRE = 300;
|
|
38
39
|
/**
|
|
@@ -219,6 +220,15 @@ function clearPrivateCache() {
|
|
|
219
220
|
if (state) state._privateCache = /* @__PURE__ */ new Map();
|
|
220
221
|
else _privateFallbackState._privateCache = /* @__PURE__ */ new Map();
|
|
221
222
|
}
|
|
223
|
+
function markAppPagePropsForUseCache(props) {
|
|
224
|
+
Object.defineProperty(props, APP_PAGE_PROPS_CACHE_KEY_MARKER, {
|
|
225
|
+
configurable: false,
|
|
226
|
+
enumerable: false,
|
|
227
|
+
value: true,
|
|
228
|
+
writable: false
|
|
229
|
+
});
|
|
230
|
+
return props;
|
|
231
|
+
}
|
|
222
232
|
/**
|
|
223
233
|
* Register a function as a cached function. This is called by the Vite
|
|
224
234
|
* transform for each "use cache" function.
|
|
@@ -228,19 +238,20 @@ function clearPrivateCache() {
|
|
|
228
238
|
* @param variant - Cache variant: "" (default/shared), "remote", "private"
|
|
229
239
|
* @returns A wrapper function that checks cache before calling the original
|
|
230
240
|
*/
|
|
231
|
-
function registerCachedFunction(fn, id, variant) {
|
|
241
|
+
function registerCachedFunction(fn, id, variant, options = {}) {
|
|
232
242
|
const cacheVariant = variant ?? "";
|
|
243
|
+
const omitAppPageSearchParamsFromFirstArg = options.appPageDefaultExport === true;
|
|
233
244
|
const isDev = typeof process !== "undefined" && process.env.NODE_ENV === "development";
|
|
234
245
|
const cachedFn = async (...args) => {
|
|
235
246
|
const rsc = await getRscModule();
|
|
236
247
|
const keySeed = getUseCacheKeySeed();
|
|
237
248
|
let cacheKey;
|
|
238
249
|
try {
|
|
250
|
+
const processedArgs = args.length > 0 ? unwrapThenableObjectArray(args, { omitAppPageSearchParamsFromFirstArg }) : [];
|
|
239
251
|
if (rsc && args.length > 0) {
|
|
240
252
|
const tempRefs = rsc.createClientTemporaryReferenceSet();
|
|
241
|
-
const processedArgs = unwrapThenableObjectArray(args);
|
|
242
253
|
cacheKey = buildUseCacheKey(id, keySeed, await replyToCacheKey(await rsc.encodeReply(processedArgs, { temporaryReferences: tempRefs })));
|
|
243
|
-
} else cacheKey = buildUseCacheKey(id, keySeed,
|
|
254
|
+
} else cacheKey = buildUseCacheKey(id, keySeed, processedArgs.length > 0 ? stableStringify(processedArgs) : void 0);
|
|
244
255
|
} catch {
|
|
245
256
|
return fn(...args);
|
|
246
257
|
}
|
|
@@ -256,7 +267,7 @@ function registerCachedFunction(fn, id, variant) {
|
|
|
256
267
|
return result;
|
|
257
268
|
}
|
|
258
269
|
if (isDev) return executeWithContext(fn, args, cacheVariant);
|
|
259
|
-
const handler =
|
|
270
|
+
const handler = getDataCacheHandler();
|
|
260
271
|
const existing = await handler.get(cacheKey, { kind: "FETCH" });
|
|
261
272
|
if (existing?.value && existing.value.kind === "FETCH" && existing.cacheState !== "stale") try {
|
|
262
273
|
if (rsc && existing.value.data.headers["x-vinext-rsc"] === "1") {
|
|
@@ -303,6 +314,10 @@ function registerCachedFunction(fn, id, variant) {
|
|
|
303
314
|
} catch {}
|
|
304
315
|
return result;
|
|
305
316
|
};
|
|
317
|
+
Object.defineProperty(cachedFn, "length", {
|
|
318
|
+
value: fn.length,
|
|
319
|
+
configurable: true
|
|
320
|
+
});
|
|
306
321
|
return cachedFn;
|
|
307
322
|
}
|
|
308
323
|
function throwPrivateUseCacheInsidePublicUseCacheError() {
|
|
@@ -339,9 +354,11 @@ async function runCachedFunctionWithContext(fn, args, variant) {
|
|
|
339
354
|
variant: variant || "default",
|
|
340
355
|
hasExplicitRevalidate: false,
|
|
341
356
|
hasExplicitExpire: false,
|
|
342
|
-
dynamicNestedCacheError: void 0
|
|
357
|
+
dynamicNestedCacheError: void 0,
|
|
358
|
+
invalidDynamicUsageError: void 0
|
|
343
359
|
};
|
|
344
360
|
const result = await cacheContextStorage.run(ctx, () => fn(...args));
|
|
361
|
+
if (ctx.invalidDynamicUsageError) throw ctx.invalidDynamicUsageError;
|
|
345
362
|
const effectiveLife = resolveCacheLife(ctx.lifeConfigs);
|
|
346
363
|
if (parentCtx) parentCtx.lifeConfigs.push(effectiveLife);
|
|
347
364
|
if (parentCtx && eagerError && (effectiveLife.revalidate === 0 || effectiveLife.expire !== void 0 && effectiveLife.expire < DYNAMIC_EXPIRE)) parentCtx.dynamicNestedCacheError ??= eagerError;
|
|
@@ -355,25 +372,9 @@ async function runCachedFunctionWithContext(fn, args, variant) {
|
|
|
355
372
|
effectiveLife
|
|
356
373
|
};
|
|
357
374
|
}
|
|
358
|
-
|
|
359
|
-
* Recursively unwrap "thenable objects" — values created by
|
|
360
|
-
* `Object.assign(Promise.resolve(obj), obj)` — into plain objects.
|
|
361
|
-
*
|
|
362
|
-
* Next.js 16 params and searchParams are passed as Promise-augmented objects
|
|
363
|
-
* that work both as `await params` and `params.key`. When these are fed to
|
|
364
|
-
* `encodeReply` with `temporaryReferences`, the Promise is treated as a
|
|
365
|
-
* temporary reference and its actual values are **excluded** from the
|
|
366
|
-
* serialized output. This means different param values (e.g.,
|
|
367
|
-
* `section:"sports"` vs `section:"electronics"`) produce identical cache keys.
|
|
368
|
-
*
|
|
369
|
-
* This function extracts the own enumerable properties into plain objects
|
|
370
|
-
* so `encodeReply` can serialize the actual values into the cache key.
|
|
371
|
-
* Only used for cache key generation — the original Promise-augmented
|
|
372
|
-
* objects are still passed to the actual function on cache miss.
|
|
373
|
-
*/
|
|
374
|
-
function unwrapThenableObjects(value) {
|
|
375
|
+
function unwrapThenableObjects(value, options = {}) {
|
|
375
376
|
if (value === null || value === void 0 || typeof value !== "object") return value;
|
|
376
|
-
if (Array.isArray(value)) return value.map(unwrapThenableObjects);
|
|
377
|
+
if (Array.isArray(value)) return value.map((item) => unwrapThenableObjects(item));
|
|
377
378
|
if (typeof value.then === "function") {
|
|
378
379
|
const keys = Object.keys(value);
|
|
379
380
|
if (keys.length > 0) {
|
|
@@ -384,11 +385,17 @@ function unwrapThenableObjects(value) {
|
|
|
384
385
|
return value;
|
|
385
386
|
}
|
|
386
387
|
const result = {};
|
|
387
|
-
for (const key of Object.keys(value))
|
|
388
|
+
for (const key of Object.keys(value)) {
|
|
389
|
+
if (key === "searchParams" && (options.omitAppPageSearchParamsAtRoot || isMarkedAppPagePropsObject(value))) continue;
|
|
390
|
+
result[key] = unwrapThenableObjects(value[key]);
|
|
391
|
+
}
|
|
388
392
|
return result;
|
|
389
393
|
}
|
|
390
|
-
function
|
|
391
|
-
return
|
|
394
|
+
function isMarkedAppPagePropsObject(value) {
|
|
395
|
+
return Reflect.get(value, APP_PAGE_PROPS_CACHE_KEY_MARKER) === true;
|
|
396
|
+
}
|
|
397
|
+
function unwrapThenableObjectArray(values, options) {
|
|
398
|
+
return values.map((value, index) => unwrapThenableObjects(value, { omitAppPageSearchParamsAtRoot: index === 0 && options.omitAppPageSearchParamsFromFirstArg }));
|
|
392
399
|
}
|
|
393
400
|
function stableStringify(value, seen) {
|
|
394
401
|
if (value === void 0) return "undefined";
|
|
@@ -415,6 +422,4 @@ function stableStringify(value, seen) {
|
|
|
415
422
|
return JSON.stringify(value);
|
|
416
423
|
}
|
|
417
424
|
//#endregion
|
|
418
|
-
export { NestedDynamicUseCacheError, cacheContextStorage, clearPrivateCache, getCacheContext, registerCachedFunction, replyToCacheKey, runWithPrivateCache };
|
|
419
|
-
|
|
420
|
-
//# sourceMappingURL=cache-runtime.js.map
|
|
425
|
+
export { NestedDynamicUseCacheError, cacheContextStorage, clearPrivateCache, getCacheContext, markAppPagePropsForUseCache, registerCachedFunction, replyToCacheKey, runWithPrivateCache };
|
package/dist/shims/cache.d.ts
CHANGED
|
@@ -97,6 +97,16 @@ declare class NoOpCacheHandler implements CacheHandler {
|
|
|
97
97
|
type MemoryCacheHandlerOptions = Pick<CacheHandlerContext, "maxMemoryCacheSize"> & {
|
|
98
98
|
cacheMaxMemorySize?: number;
|
|
99
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
|
+
*/
|
|
100
110
|
declare class MemoryCacheHandler implements CacheHandler {
|
|
101
111
|
private store;
|
|
102
112
|
private tagRevalidatedAt;
|
|
@@ -116,15 +126,47 @@ declare class MemoryCacheHandler implements CacheHandler {
|
|
|
116
126
|
}
|
|
117
127
|
declare function configureMemoryCacheHandler(options?: MemoryCacheHandlerOptions): void;
|
|
118
128
|
/**
|
|
119
|
-
* Set
|
|
120
|
-
*
|
|
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:
|
|
139
|
+
*
|
|
140
|
+
* ```ts
|
|
141
|
+
* import { vinext } from "vinext";
|
|
142
|
+
* import { kvDataAdapter } from "@vinext/cloudflare/cache/kv-data-adapter";
|
|
121
143
|
*
|
|
122
|
-
*
|
|
123
|
-
*
|
|
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.
|
|
124
166
|
*/
|
|
125
167
|
declare function setCacheHandler(handler: CacheHandler): void;
|
|
126
168
|
/**
|
|
127
|
-
*
|
|
169
|
+
* @deprecated Prefer {@link getDataCacheHandler}.
|
|
128
170
|
*/
|
|
129
171
|
declare function getCacheHandler(): CacheHandler;
|
|
130
172
|
/**
|
|
@@ -327,5 +369,4 @@ type UnstableCacheOptions = {
|
|
|
327
369
|
*/
|
|
328
370
|
declare function unstable_cache<T extends (...args: any[]) => Promise<any>>(fn: T, keyParts?: string[], options?: UnstableCacheOptions): T;
|
|
329
371
|
//#endregion
|
|
330
|
-
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, getRequestExecutionContext, io, isInsideUnstableCacheScope, unstable_noStore as noStore, unstable_noStore, refresh, revalidatePath, revalidateTag, runWithExecutionContext, setCacheHandler, unstable_cache, unstable_cacheLife, unstable_cacheTag, unstable_io, updateTag };
|
|
331
|
-
//# 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;
|
|
@@ -77,6 +80,16 @@ function readStringArrayField(ctx, field) {
|
|
|
77
80
|
if (!Array.isArray(value)) return [];
|
|
78
81
|
return value.filter((item) => typeof item === "string");
|
|
79
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
|
+
*/
|
|
80
93
|
var MemoryCacheHandler = class {
|
|
81
94
|
store = /* @__PURE__ */ new Map();
|
|
82
95
|
tagRevalidatedAt = /* @__PURE__ */ new Map();
|
|
@@ -198,22 +211,58 @@ function configureMemoryCacheHandler(options) {
|
|
|
198
211
|
_gHandler[_HANDLER_KEY] = new MemoryCacheHandler(options);
|
|
199
212
|
}
|
|
200
213
|
/**
|
|
201
|
-
* Set
|
|
202
|
-
*
|
|
203
|
-
*
|
|
204
|
-
*
|
|
205
|
-
*
|
|
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.
|
|
206
238
|
*/
|
|
207
|
-
function
|
|
239
|
+
function setDataCacheHandler(handler) {
|
|
208
240
|
_gHandler[_HANDLER_KEY] = handler;
|
|
209
241
|
}
|
|
210
242
|
/**
|
|
211
|
-
* Get the active
|
|
243
|
+
* Get the active data cache handler (for internal use or testing).
|
|
212
244
|
*/
|
|
213
|
-
function
|
|
245
|
+
function getDataCacheHandler() {
|
|
214
246
|
return _getActiveHandler();
|
|
215
247
|
}
|
|
216
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
|
+
/**
|
|
217
266
|
* Revalidate cached data associated with a specific cache tag.
|
|
218
267
|
*
|
|
219
268
|
* Works with both `fetch(..., { next: { tags: ['myTag'] } })` and
|
|
@@ -233,7 +282,20 @@ async function revalidateTag(tag, profile) {
|
|
|
233
282
|
if (resolved) durations = { expire: resolved.expire };
|
|
234
283
|
} else if (profile && typeof profile === "object") durations = profile;
|
|
235
284
|
if (!profile || !durations || durations.expire === 0) markActionRevalidation(ACTION_DID_REVALIDATE_STATIC_AND_DYNAMIC);
|
|
236
|
-
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);
|
|
237
299
|
}
|
|
238
300
|
/**
|
|
239
301
|
* Revalidate cached data associated with a specific path.
|
|
@@ -253,8 +315,7 @@ async function revalidateTag(tag, profile) {
|
|
|
253
315
|
async function revalidatePath(path, type) {
|
|
254
316
|
markActionRevalidation(ACTION_DID_REVALIDATE_STATIC_AND_DYNAMIC);
|
|
255
317
|
const stem = path.endsWith("/") ? path.slice(0, -1) : path;
|
|
256
|
-
|
|
257
|
-
await _getActiveHandler().revalidateTag(encodeCacheTag(tag));
|
|
318
|
+
await _invalidateEncodedTag(encodeCacheTag(type ? `_N_T_${stem}/${type}` : `_N_T_${stem || "/"}`));
|
|
258
319
|
}
|
|
259
320
|
/**
|
|
260
321
|
* No-op shim for API compatibility.
|
|
@@ -283,7 +344,7 @@ function refresh() {
|
|
|
283
344
|
async function updateTag(tag) {
|
|
284
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");
|
|
285
346
|
markActionRevalidation(ACTION_DID_REVALIDATE_STATIC_AND_DYNAMIC);
|
|
286
|
-
await
|
|
347
|
+
await _invalidateEncodedTag(encodeCacheTag(tag));
|
|
287
348
|
}
|
|
288
349
|
/**
|
|
289
350
|
* Opt out of static rendering and indicate a particular component should not be cached.
|
|
@@ -703,6 +764,4 @@ function unstable_cache(fn, keyParts, options) {
|
|
|
703
764
|
return cachedFn;
|
|
704
765
|
}
|
|
705
766
|
//#endregion
|
|
706
|
-
export { MemoryCacheHandler, NoOpCacheHandler, _consumeRequestScopedCacheLife, _initRequestScopedCacheState, _peekRequestScopedCacheLife, _peekUnstableCacheObservations, _registerCacheContextAccessor, _runWithCacheState, _setRequestScopedCacheLife, cacheLife, cacheLifeProfiles, cacheTag, configureMemoryCacheHandler, 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 };
|
|
707
|
-
|
|
708
|
-
//# 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 };
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { getRequestExecutionContext } from "./request-context.js";
|
|
2
|
+
import { getDataCacheHandler } from "./cache.js";
|
|
3
|
+
import { CloudflareCdnCacheAdapter } from "../cloudflare/src/cache/cdn-adapter.runtime.js";
|
|
4
|
+
//#region src/shims/cdn-cache.ts
|
|
5
|
+
/**
|
|
6
|
+
* CDN cache adapter — owns the *page-level ISR serving strategy*.
|
|
7
|
+
*
|
|
8
|
+
* This is deliberately distinct from the data cache handler (see `./cache.ts`):
|
|
9
|
+
*
|
|
10
|
+
* - The **data cache** stores cached data (fetch, `"use cache"`,
|
|
11
|
+
* `unstable_cache`, route-handler data). It is a pure key/value store.
|
|
12
|
+
*
|
|
13
|
+
* - The **CDN cache adapter** decides *how page-level ISR is served*: where the
|
|
14
|
+
* rendered page/route/image artifacts live, what cache headers the response
|
|
15
|
+
* carries, whether the origin runs background regeneration, and how
|
|
16
|
+
* invalidation propagates to a CDN edge.
|
|
17
|
+
*
|
|
18
|
+
* Two strategies sit behind one interface:
|
|
19
|
+
*
|
|
20
|
+
* | Concern | DefaultCdnCacheAdapter (origin-managed) | Edge adapter (CDN-managed) |
|
|
21
|
+
* | ------------------ | --------------------------------------- | ------------------------------------------- |
|
|
22
|
+
* | Serve from store? | Yes — reads the data cache | No — origin renders fresh, edge caches |
|
|
23
|
+
* | Background regen | In-process via `waitUntil` | Edge re-requests origin |
|
|
24
|
+
* | Response headers | `Cache-Control` (SWR) | `Cache-Control: no-store` + `CDN-Cache-Control: <SWR>` |
|
|
25
|
+
* | Invalidation | (data cache handles tag invalidation) | purge / revalidate via request context |
|
|
26
|
+
*
|
|
27
|
+
* The default adapter is a thin shim over the data cache + the framework's
|
|
28
|
+
* existing header logic, so default behavior is byte-for-byte identical to the
|
|
29
|
+
* pre-split implementation.
|
|
30
|
+
*/
|
|
31
|
+
const PENDING_DYNAMIC_CACHE_CONTROL = "no-store, must-revalidate";
|
|
32
|
+
/**
|
|
33
|
+
* Default origin-managed ISR strategy: store page artifacts in the data cache,
|
|
34
|
+
* serve HIT/STALE from it, run in-process background regeneration, and emit the
|
|
35
|
+
* framework's standard `Cache-Control` headers.
|
|
36
|
+
*/
|
|
37
|
+
var DefaultCdnCacheAdapter = class {
|
|
38
|
+
ownsBackgroundRevalidation = true;
|
|
39
|
+
async get(key, ctx) {
|
|
40
|
+
return getDataCacheHandler().get(key, ctx);
|
|
41
|
+
}
|
|
42
|
+
async set(key, data, ctx) {
|
|
43
|
+
await getDataCacheHandler().set(key, data, ctx);
|
|
44
|
+
}
|
|
45
|
+
buildResponseHeaders(input) {
|
|
46
|
+
if (input.pendingDynamicCheck) return { "Cache-Control": PENDING_DYNAMIC_CACHE_CONTROL };
|
|
47
|
+
return { "Cache-Control": input.cacheControl };
|
|
48
|
+
}
|
|
49
|
+
async revalidateTag(_tags, _durations) {}
|
|
50
|
+
};
|
|
51
|
+
const _CDN_KEY = Symbol.for("vinext.cdnCacheAdapter");
|
|
52
|
+
const _gCdn = globalThis;
|
|
53
|
+
let _defaultAdapter = null;
|
|
54
|
+
/**
|
|
55
|
+
* Set a custom CDN cache adapter to delegate page-level ISR to a CDN edge. An
|
|
56
|
+
* explicit adapter always wins over the built-in request-context / default
|
|
57
|
+
* selection.
|
|
58
|
+
*
|
|
59
|
+
* @deprecated Don't wire up the CDN cache adapter imperatively. Configure it
|
|
60
|
+
* declaratively via the `cache.cdn` option on the `vinext()` plugin in your
|
|
61
|
+
* `vite.config.ts`, using a config-time adapter builder. On Cloudflare Workers:
|
|
62
|
+
*
|
|
63
|
+
* ```ts
|
|
64
|
+
* import { vinext } from "vinext";
|
|
65
|
+
* import { cdnAdapter } from "@vinext/cloudflare/cache/cdn-adapter";
|
|
66
|
+
*
|
|
67
|
+
* export default defineConfig({
|
|
68
|
+
* plugins: [vinext({ cache: { cdn: cdnAdapter() } })],
|
|
69
|
+
* });
|
|
70
|
+
* ```
|
|
71
|
+
*
|
|
72
|
+
* The plugin registers the adapter across every runtime/router entry, so you
|
|
73
|
+
* don't have to call this from a worker entry. This setter remains as the
|
|
74
|
+
* internal registration target and for backwards compatibility, but is not the
|
|
75
|
+
* recommended consumer API.
|
|
76
|
+
*/
|
|
77
|
+
function setCdnCacheAdapter(adapter) {
|
|
78
|
+
_gCdn[_CDN_KEY] = adapter;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Get the active CDN cache adapter. See the precedence note above:
|
|
82
|
+
* explicit (or an already-resolved auto-detected edge adapter) → origin-managed
|
|
83
|
+
* {@link DefaultCdnCacheAdapter}.
|
|
84
|
+
*
|
|
85
|
+
* Auto-detection of the Cloudflare Workers Cache (`ctx.cache`) only runs when
|
|
86
|
+
* `VINEXT_CDN_CACHE_AUTO_DETECT === "1"`; otherwise the default adapter is used
|
|
87
|
+
* unless an adapter was set explicitly.
|
|
88
|
+
*/
|
|
89
|
+
function getCdnCacheAdapter() {
|
|
90
|
+
const active = _gCdn[_CDN_KEY];
|
|
91
|
+
if (active) return active;
|
|
92
|
+
if (process.env.VINEXT_CDN_CACHE_AUTO_DETECT === "1" && getRequestExecutionContext()?.cache) {
|
|
93
|
+
const edge = new CloudflareCdnCacheAdapter();
|
|
94
|
+
_gCdn[_CDN_KEY] = edge;
|
|
95
|
+
return edge;
|
|
96
|
+
}
|
|
97
|
+
return _defaultAdapter ??= new DefaultCdnCacheAdapter();
|
|
98
|
+
}
|
|
99
|
+
//#endregion
|
|
100
|
+
export { DefaultCdnCacheAdapter, getCdnCacheAdapter, setCdnCacheAdapter };
|
|
@@ -10,5 +10,4 @@
|
|
|
10
10
|
declare function buildClientHookErrorMessage(hookName: string): string;
|
|
11
11
|
declare function throwClientHookError(hookName: string): never;
|
|
12
12
|
//#endregion
|
|
13
|
-
export { buildClientHookErrorMessage, throwClientHookError };
|
|
14
|
-
//# sourceMappingURL=client-hook-error.d.ts.map
|
|
13
|
+
export { buildClientHookErrorMessage, throwClientHookError };
|
|
@@ -5,9 +5,7 @@ function getCurrentBrowserLocale({ basePath, domainLocales, hostname }) {
|
|
|
5
5
|
if (typeof window === "undefined") return void 0;
|
|
6
6
|
const pathnameLocale = getLocalePathPrefix(stripBasePath(window.location.pathname, basePath), window.__VINEXT_LOCALES__);
|
|
7
7
|
if (pathnameLocale) return pathnameLocale;
|
|
8
|
-
return detectDomainLocale(domainLocales, hostname ?? void 0)?.defaultLocale ?? window.
|
|
8
|
+
return detectDomainLocale(domainLocales, hostname ?? void 0)?.defaultLocale ?? window.__VINEXT_LOCALE__ ?? window.__VINEXT_DEFAULT_LOCALE__;
|
|
9
9
|
}
|
|
10
10
|
//#endregion
|
|
11
11
|
export { getCurrentBrowserLocale };
|
|
12
|
-
|
|
13
|
-
//# sourceMappingURL=client-locale.js.map
|