vinext 1.2.1 → 1.3.1
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 +12 -9
- package/dist/_virtual/_rolldown/runtime.js +1 -1
- package/dist/build/action-owner-manifest.d.ts +3 -2
- package/dist/build/action-owner-manifest.js +18 -2
- package/dist/build/app-page-static-eligibility.d.ts +17 -1
- package/dist/build/app-page-static-eligibility.js +80 -13
- package/dist/build/clean-output.d.ts +2 -1
- package/dist/build/client-build-config.d.ts +77 -6
- package/dist/build/client-build-config.js +176 -12
- package/dist/build/client-reference-async.d.ts +48 -0
- package/dist/build/client-reference-async.js +123 -0
- package/dist/build/client-reference-chunks.d.ts +32 -0
- package/dist/build/client-reference-chunks.js +111 -0
- package/dist/build/client-reference-groups.d.ts +171 -0
- package/dist/build/client-reference-groups.js +572 -0
- package/dist/build/css-url-assets.d.ts +2 -1
- package/dist/build/google-fonts/fallback-metrics.d.ts +2 -1
- package/dist/build/google-fonts/find-font-files-in-css.d.ts +1 -0
- package/dist/build/google-fonts/find-font-files-in-css.js +17 -4
- package/dist/build/google-fonts/font-metadata.d.ts +2 -1
- package/dist/build/google-fonts/validate.d.ts +2 -1
- package/dist/build/inline-css.d.ts +2 -1
- package/dist/build/layout-classification.d.ts +2 -1
- package/dist/build/module-dependency-cache.d.ts +33 -1
- package/dist/build/module-dependency-cache.js +51 -1
- package/dist/build/next-client-runtime-manifests.d.ts +12 -2
- package/dist/build/next-client-runtime-manifests.js +19 -4
- package/dist/build/nitro-public-files.d.ts +24 -0
- package/dist/build/nitro-public-files.js +60 -0
- package/dist/build/pages-client-assets-module.js +1 -1
- package/dist/build/precompress.d.ts +2 -1
- package/dist/build/precompress.js +1 -1
- package/dist/build/prerender-paths.d.ts +2 -1
- package/dist/build/prerender-paths.js +5 -2
- package/dist/build/prerender-phase.d.ts +2 -1
- package/dist/build/prerender-server-pool.js +1 -1
- package/dist/build/prerender.d.ts +3 -2
- package/dist/build/prerender.js +5 -4
- package/dist/build/report.d.ts +2 -1
- package/dist/build/route-classification-injector.d.ts +2 -1
- package/dist/build/route-classification-manifest.d.ts +2 -1
- package/dist/build/run-prerender.d.ts +2 -1
- package/dist/build/server-actions-encryption-key.d.ts +24 -0
- package/dist/build/server-actions-encryption-key.js +101 -0
- package/dist/build/ssr-manifest.d.ts +3 -0
- package/dist/build/ssr-manifest.js +34 -2
- package/dist/build/standalone.d.ts +2 -1
- package/dist/cache/cache-adapters-virtual.d.ts +2 -1
- package/dist/cache.js +1 -2
- package/dist/check.d.ts +2 -1
- package/dist/check.js +4 -0
- package/dist/cli-args.d.ts +2 -1
- package/dist/cli.js +2 -0
- package/dist/client/client-redirect-matcher.js +2 -1
- package/dist/client/client-redirects.d.ts +4 -3
- package/dist/client/client-redirects.js +2 -1
- package/dist/client/client-rewrite-params.d.ts +9 -0
- package/dist/client/client-rewrite-params.js +20 -0
- package/dist/client/client-rewrites.d.ts +2 -1
- package/dist/client/dev-error-overlay-store.d.ts +2 -1
- package/dist/client/dev-error-overlay.js +2 -1
- package/dist/client/index.js +1 -2
- package/dist/client/instrumentation-client-state.js +5 -5
- package/dist/client/navigation-runtime.d.ts +28 -3
- package/dist/client/navigation-runtime.js +42 -11
- package/dist/client/pages-router-link-navigation.d.ts +2 -1
- package/dist/client/vinext-next-data.d.ts +25 -2
- package/dist/client/window-next.d.ts +2 -1
- package/dist/config/config-matchers.d.ts +27 -41
- package/dist/config/config-matchers.js +293 -270
- package/dist/config/config-source.d.ts +34 -0
- package/dist/config/config-source.js +141 -0
- package/dist/config/dotenv.d.ts +2 -1
- package/dist/config/header-params.d.ts +29 -0
- package/dist/config/header-params.js +106 -0
- package/dist/config/next-config.d.ts +20 -6
- package/dist/config/next-config.js +149 -11
- package/dist/config/tsconfig-paths.d.ts +2 -1
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/detector.js +23 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/index.js +2 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/lookup.js +25 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/bmp.js +11 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/cur.js +15 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/dds.js +11 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/gif.js +12 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/heif.js +55 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/icns.js +76 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/ico.js +39 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/index.js +46 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/j2c.js +11 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/jp2.js +21 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/jpg.js +71 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/jxl-stream.js +42 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/jxl.js +46 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/ktx.js +19 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/png.js +28 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/pnm.js +54 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/psd.js +11 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/svg.js +79 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/tga.js +15 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/tiff.js +96 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/utils.js +53 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/types/webp.js +45 -0
- package/dist/deps/.pnpm/image-size@2.0.4/deps/image-size/dist/esm/utils/bit-reader.js +38 -0
- package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +2 -2
- package/dist/entries/app-browser-entry.d.ts +34 -6
- package/dist/entries/app-browser-entry.js +103 -40
- package/dist/entries/app-rsc-entry.d.ts +4 -1
- package/dist/entries/app-rsc-entry.js +131 -66
- package/dist/entries/app-rsc-manifest.d.ts +12 -1
- package/dist/entries/app-rsc-manifest.js +73 -1
- package/dist/entries/app-ssr-entry.d.ts +4 -1
- package/dist/entries/app-ssr-entry.js +9 -2
- package/dist/entries/pages-client-entry.d.ts +1 -0
- package/dist/entries/pages-client-entry.js +6 -6
- package/dist/entries/pages-entry-helpers.js +1 -2
- package/dist/entries/pages-server-entry.d.ts +2 -1
- package/dist/entries/pages-server-entry.js +18 -15
- package/dist/entries/runtime-entry-module.d.ts +1 -0
- package/dist/entries/runtime-entry-module.js +4 -1
- package/dist/image/image-adapters-virtual.d.ts +2 -1
- package/dist/index.d.ts +11 -0
- package/dist/index.js +340 -116
- package/dist/init.js +17 -0
- package/dist/plugins/client-compile-hints.d.ts +30 -0
- package/dist/plugins/client-compile-hints.js +88 -0
- package/dist/plugins/client-reference-dedup.d.ts +2 -1
- package/dist/plugins/cloudflare-dev-module-urls.d.ts +2 -1
- package/dist/plugins/dynamic-preload-metadata.d.ts +3 -1
- package/dist/plugins/dynamic-preload-metadata.js +1 -1
- package/dist/plugins/environment.d.ts +2 -1
- package/dist/plugins/fonts.js +9 -12
- package/dist/plugins/ignore-dynamic-requests.d.ts +2 -1
- package/dist/plugins/import-meta-url.d.ts +2 -1
- package/dist/plugins/og-assets.d.ts +2 -1
- package/dist/plugins/og-assets.js +2 -3
- package/dist/plugins/optimize-imports.d.ts +27 -3
- package/dist/plugins/optimize-imports.js +106 -20
- package/dist/plugins/pages-node-externals.d.ts +2 -1
- package/dist/plugins/remove-console.d.ts +2 -1
- package/dist/plugins/require-condition-resolution.d.ts +2 -1
- package/dist/plugins/rsc-client-reference-loaders.d.ts +53 -1
- package/dist/plugins/rsc-client-reference-loaders.js +447 -27
- package/dist/plugins/rsc-client-shim-excludes.js +2 -0
- package/dist/plugins/sass.d.ts +2 -1
- package/dist/plugins/strip-server-exports.d.ts +2 -1
- package/dist/plugins/styled-jsx.d.ts +2 -1
- package/dist/plugins/transform-result.d.ts +2 -1
- package/dist/plugins/typeof-window.d.ts +2 -1
- package/dist/plugins/use-cache-callable.d.ts +5 -0
- package/dist/plugins/use-cache-callable.js +30 -8
- package/dist/plugins/worker-image-imports.d.ts +1 -0
- package/dist/plugins/worker-image-imports.js +2 -2
- package/dist/plugins/worker-use-server.d.ts +2 -1
- package/dist/routing/app-route-graph.d.ts +41 -1
- package/dist/routing/app-route-graph.js +122 -50
- package/dist/routing/browser-route-manifest.d.ts +44 -0
- package/dist/routing/browser-route-manifest.js +195 -0
- package/dist/routing/hashed-route-patterns.d.ts +4 -0
- package/dist/routing/hashed-route-patterns.js +22 -0
- package/dist/routing/optimistic-route-trie.d.ts +28 -0
- package/dist/routing/optimistic-route-trie.js +102 -0
- package/dist/routing/route-matching.d.ts +2 -1
- package/dist/routing/route-pattern.d.ts +2 -1
- package/dist/routing/route-validation.d.ts +6 -1
- package/dist/routing/route-validation.js +26 -10
- package/dist/server/accept-encoding.d.ts +2 -1
- package/dist/server/app-action-forwarding.d.ts +10 -1
- package/dist/server/app-action-forwarding.js +15 -1
- package/dist/server/app-bfcache-identity.d.ts +2 -1
- package/dist/server/app-browser-action-result.d.ts +2 -1
- package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -1
- package/dist/server/app-browser-entry.js +175 -64
- package/dist/server/app-browser-error.d.ts +5 -2
- package/dist/server/app-browser-error.js +7 -2
- package/dist/server/app-browser-history-controller.d.ts +2 -1
- package/dist/server/app-browser-hydration.d.ts +2 -1
- package/dist/server/app-browser-interception-context.d.ts +4 -3
- package/dist/server/app-browser-mpa-navigation.d.ts +1 -0
- package/dist/server/app-browser-mpa-navigation.js +6 -5
- package/dist/server/app-browser-navigation-controller.d.ts +17 -6
- package/dist/server/app-browser-navigation-controller.js +103 -36
- package/dist/server/app-browser-popstate.d.ts +2 -1
- package/dist/server/app-browser-rsc-redirect.d.ts +2 -1
- package/dist/server/app-browser-server-action-client.d.ts +2 -1
- package/dist/server/app-browser-state.d.ts +2 -2
- package/dist/server/app-browser-state.js +1 -1
- package/dist/server/app-browser-stream.d.ts +2 -1
- package/dist/server/app-browser-visible-commit.d.ts +6 -5
- package/dist/server/app-client-reference-manifest.d.ts +31 -0
- package/dist/server/app-client-reference-manifest.js +46 -0
- package/dist/server/app-client-reference-preloader.d.ts +45 -2
- package/dist/server/app-client-reference-preloader.js +48 -10
- package/dist/server/app-elements-wire.d.ts +2 -1
- package/dist/server/app-elements.d.ts +2 -0
- package/dist/server/app-elements.js +3 -1
- package/dist/server/app-fallback-renderer.d.ts +9 -2
- package/dist/server/app-fallback-renderer.js +6 -2
- package/dist/server/app-history-state.d.ts +2 -1
- package/dist/server/app-inline-css-client.d.ts +2 -1
- package/dist/server/app-layout-param-observation.d.ts +2 -1
- package/dist/server/app-metadata-tracing.d.ts +2 -1
- package/dist/server/app-middleware.d.ts +6 -0
- package/dist/server/app-middleware.js +8 -10
- package/dist/server/app-optimistic-routing.d.ts +26 -11
- package/dist/server/app-optimistic-routing.js +38 -96
- package/dist/server/app-page-boundary-render.d.ts +20 -2
- package/dist/server/app-page-boundary-render.js +229 -39
- package/dist/server/app-page-boundary.d.ts +34 -5
- package/dist/server/app-page-boundary.js +40 -7
- package/dist/server/app-page-cache-finalizer.d.ts +2 -1
- package/dist/server/app-page-cache-finalizer.js +1 -1
- package/dist/server/app-page-cache-render.d.ts +10 -2
- package/dist/server/app-page-cache-render.js +15 -2
- package/dist/server/app-page-cache.js +2 -2
- package/dist/server/app-page-dispatch.d.ts +34 -1
- package/dist/server/app-page-dispatch.js +165 -34
- package/dist/server/app-page-element-builder.d.ts +17 -1
- package/dist/server/app-page-element-builder.js +187 -66
- package/dist/server/app-page-execution.d.ts +28 -1
- package/dist/server/app-page-execution.js +114 -5
- package/dist/server/app-page-head.d.ts +95 -3
- package/dist/server/app-page-head.js +307 -152
- package/dist/server/app-page-http-access-fallback-metadata.d.ts +48 -2
- package/dist/server/app-page-http-access-fallback-metadata.js +76 -1
- package/dist/server/app-page-method.d.ts +2 -1
- package/dist/server/app-page-probe.d.ts +2 -1
- package/dist/server/app-page-render-identity.d.ts +2 -1
- package/dist/server/app-page-render.d.ts +7 -1
- package/dist/server/app-page-render.js +38 -11
- package/dist/server/app-page-request.d.ts +14 -1
- package/dist/server/app-page-request.js +1 -1
- package/dist/server/app-page-route-wiring.d.ts +52 -2
- package/dist/server/app-page-route-wiring.js +197 -47
- package/dist/server/app-page-rsc-render-status.d.ts +3 -1
- package/dist/server/app-page-rsc-render-status.js +1 -0
- package/dist/server/app-page-search-params-observation.d.ts +8 -6
- package/dist/server/app-page-search-params-observation.js +16 -11
- package/dist/server/app-page-segment-plan.d.ts +2 -1
- package/dist/server/app-page-stream.d.ts +38 -1
- package/dist/server/app-page-stream.js +24 -4
- package/dist/server/app-pages-bridge.d.ts +4 -2
- package/dist/server/app-pages-bridge.js +11 -7
- package/dist/server/app-ppr-fallback-shell-render.d.ts +2 -1
- package/dist/server/app-ppr-fallback-shell.d.ts +2 -1
- package/dist/server/app-prerender-endpoints.d.ts +2 -1
- package/dist/server/app-prerender-static-params.d.ts +2 -1
- package/dist/server/app-prerender-static-params.js +3 -2
- package/dist/server/app-render-dependency.d.ts +11 -1
- package/dist/server/app-render-dependency.js +65 -6
- package/dist/server/app-request-stage-independent-entry.d.ts +2 -1
- package/dist/server/app-request-stage-independent-entry.js +2 -2
- package/dist/server/app-response-stage-entry.d.ts +2 -1
- package/dist/server/app-response-stage-entry.js +3 -3
- package/dist/server/app-route-handler-cache.d.ts +2 -1
- package/dist/server/app-route-handler-dispatch.d.ts +2 -1
- package/dist/server/app-route-handler-dispatch.js +4 -2
- package/dist/server/app-route-handler-execution.d.ts +4 -1
- package/dist/server/app-route-handler-execution.js +9 -2
- package/dist/server/app-route-handler-middleware-context.d.ts +2 -1
- package/dist/server/app-route-handler-middleware-context.js +3 -3
- package/dist/server/app-route-handler-response.d.ts +4 -2
- package/dist/server/app-route-handler-response.js +2 -2
- package/dist/server/app-route-handler-runtime.d.ts +4 -1
- package/dist/server/app-route-handler-runtime.js +20 -3
- package/dist/server/app-route-module-loader.d.ts +18 -1
- package/dist/server/app-route-module-loader.js +15 -6
- package/dist/server/app-route-tree-prefetch.d.ts +2 -1
- package/dist/server/app-route-tree.d.ts +20 -0
- package/dist/server/app-route-tree.js +18 -0
- package/dist/server/app-router-entry.js +2 -2
- package/dist/server/app-rsc-combined-handler.js +8 -1
- package/dist/server/app-rsc-error-handler.d.ts +2 -1
- package/dist/server/app-rsc-errors.d.ts +9 -1
- package/dist/server/app-rsc-errors.js +9 -2
- package/dist/server/app-rsc-handler.d.ts +6 -2
- package/dist/server/app-rsc-handler.js +152 -140
- package/dist/server/app-rsc-response-finalizer.d.ts +7 -1
- package/dist/server/app-rsc-response-finalizer.js +4 -1
- package/dist/server/app-rsc-response-stage.js +3 -1
- package/dist/server/app-rsc-route-matching.d.ts +39 -1
- package/dist/server/app-rsc-route-matching.js +25 -1
- package/dist/server/app-segment-config.d.ts +2 -1
- package/dist/server/app-segment-config.js +1 -14
- package/dist/server/app-server-action-execution.d.ts +25 -7
- package/dist/server/app-server-action-execution.js +53 -59
- package/dist/server/app-ssr-entry.d.ts +12 -0
- package/dist/server/app-ssr-entry.js +104 -48
- package/dist/server/app-ssr-error-meta.d.ts +2 -1
- package/dist/server/app-ssr-search-params-gate.d.ts +2 -1
- package/dist/server/app-ssr-stream.d.ts +29 -10
- package/dist/server/app-ssr-stream.js +311 -67
- package/dist/server/app-static-generation.d.ts +2 -1
- package/dist/server/app-streamed-client-references.d.ts +39 -0
- package/dist/server/app-streamed-client-references.js +156 -0
- package/dist/server/app-visited-response-cache.d.ts +2 -1
- package/dist/server/app-worker-stages.d.ts +2 -1
- package/dist/server/artifact-compatibility.d.ts +2 -1
- package/dist/server/bfcache-identity.d.ts +2 -1
- package/dist/server/cache-headers.d.ts +2 -1
- package/dist/server/cacheability-request.d.ts +2 -1
- package/dist/server/client-reuse-manifest.d.ts +2 -1
- package/dist/server/config-headers.d.ts +2 -1
- package/dist/server/config-headers.js +12 -3
- package/dist/server/csp.d.ts +2 -1
- package/dist/server/default-global-not-found-module.d.ts +2 -1
- package/dist/server/default-http-access-fallback-modules.d.ts +33 -0
- package/dist/server/default-http-access-fallback-modules.js +31 -0
- package/dist/server/defer-until-stream-consumed.d.ts +34 -0
- package/dist/server/defer-until-stream-consumed.js +154 -21
- package/dist/server/dev-lockfile.d.ts +32 -2
- package/dist/server/dev-lockfile.js +46 -2
- package/dist/server/dev-module-runner.d.ts +2 -1
- package/dist/server/dev-server.js +10 -3
- package/dist/server/fetch-handler.js +1 -2
- package/dist/server/file-based-metadata.d.ts +2 -1
- package/dist/server/framework-tracer.d.ts +2 -1
- package/dist/server/html.d.ts +1 -0
- package/dist/server/html.js +19 -1
- package/dist/server/http-conditional.d.ts +2 -1
- package/dist/server/http-error-responses.d.ts +2 -1
- package/dist/server/implicit-tags.d.ts +2 -1
- package/dist/server/isolate-shared-promise.d.ts +10 -0
- package/dist/server/isolate-shared-promise.js +33 -0
- package/dist/server/isr-cache.js +3 -2
- package/dist/server/metadata-route-build-data.d.ts +2 -1
- package/dist/server/metadata-route-build-data.js +1 -1
- package/dist/server/metadata-route-response.d.ts +2 -1
- package/dist/server/metadata-route-response.js +1 -1
- package/dist/server/metadata-routes.d.ts +2 -1
- package/dist/server/middleware-matcher-pattern.d.ts +0 -1
- package/dist/server/middleware-matcher-pattern.js +11 -140
- package/dist/server/middleware-matcher.js +5 -6
- package/dist/server/middleware-response-headers.d.ts +31 -0
- package/dist/server/middleware-response-headers.js +57 -1
- package/dist/server/middleware-runtime.d.ts +2 -1
- package/dist/server/middleware-runtime.js +26 -13
- package/dist/server/navigation-planner.d.ts +2 -2
- package/dist/server/navigation-trace.d.ts +2 -1
- package/dist/server/next-error-digest.d.ts +2 -1
- package/dist/server/nitro-public-files-plugin.d.ts +39 -0
- package/dist/server/nitro-public-files-plugin.js +106 -0
- package/dist/server/nitro-public-files.d.ts +22 -0
- package/dist/server/nitro-public-files.js +39 -0
- package/dist/server/opentelemetry-api.d.ts +2 -1
- package/dist/server/operation-token.d.ts +2 -1
- package/dist/server/pages-api-route.d.ts +2 -1
- package/dist/server/pages-asset-tags.d.ts +7 -1
- package/dist/server/pages-asset-tags.js +9 -2
- package/dist/server/pages-body-parser-config.d.ts +2 -1
- package/dist/server/pages-client-assets.d.ts +8 -1
- package/dist/server/pages-data-route.d.ts +2 -1
- package/dist/server/pages-document-asset-props.d.ts +2 -1
- package/dist/server/pages-document-initial-props.d.ts +2 -1
- package/dist/server/pages-execution-tracing.d.ts +2 -1
- package/dist/server/pages-execution-tracing.js +1 -1
- package/dist/server/pages-get-initial-props.d.ts +2 -1
- package/dist/server/pages-i18n.d.ts +18 -0
- package/dist/server/pages-i18n.js +18 -2
- package/dist/server/pages-node-compat.d.ts +5 -3
- package/dist/server/pages-node-compat.js +35 -16
- package/dist/server/pages-page-data.d.ts +7 -1
- package/dist/server/pages-page-data.js +35 -12
- package/dist/server/pages-page-handler.d.ts +3 -2
- package/dist/server/pages-page-handler.js +16 -7
- package/dist/server/pages-page-method.d.ts +2 -1
- package/dist/server/pages-page-response.d.ts +2 -1
- package/dist/server/pages-preview.d.ts +2 -1
- package/dist/server/pages-readiness.d.ts +2 -1
- package/dist/server/pages-request-pipeline.d.ts +8 -2
- package/dist/server/pages-request-pipeline.js +35 -40
- package/dist/server/pages-request-stage-entry.d.ts +2 -1
- package/dist/server/pages-request-stage-entry.js +16 -6
- package/dist/server/pages-response-stage-entry.d.ts +2 -1
- package/dist/server/pages-response-stage-entry.js +1 -1
- package/dist/server/pages-revalidate.js +1 -0
- package/dist/server/pages-route-data-kind.d.ts +2 -1
- package/dist/server/pages-router-entry.js +1 -1
- package/dist/server/prerender-cache-life-header.d.ts +2 -1
- package/dist/server/prerender-route-params.d.ts +2 -1
- package/dist/server/prod-server.d.ts +2 -2
- package/dist/server/prod-server.js +80 -36
- package/dist/server/proxy-trust.d.ts +6 -0
- package/dist/server/proxy-trust.js +12 -6
- package/dist/server/request-log.d.ts +2 -1
- package/dist/server/request-pipeline.d.ts +5 -0
- package/dist/server/request-pipeline.js +12 -1
- package/dist/server/request-tracing.d.ts +2 -1
- package/dist/server/request-tracing.js +1 -1
- package/dist/server/response-start-tracing.js +7 -29
- package/dist/server/rsc-render-stream.d.ts +4 -0
- package/dist/server/rsc-render-stream.js +25 -0
- package/dist/server/seed-cache.d.ts +2 -1
- package/dist/server/seed-cache.js +1 -1
- package/dist/server/server-reference-loader.js +10 -1
- package/dist/server/static-file-cache.d.ts +2 -1
- package/dist/server/static-file-cache.js +16 -3
- package/dist/server/static-layout-client-reuse-proof.d.ts +2 -1
- package/dist/server/worker-revalidation-context.d.ts +2 -1
- package/dist/server/worker-stages.d.ts +2 -1
- package/dist/server/worker-utils.js +1 -1
- package/dist/shims/app.d.ts +2 -1
- package/dist/shims/cache-callable-runtime.d.ts +2 -1
- package/dist/shims/cache-handler.d.ts +8 -3
- package/dist/shims/cache-handler.js +32 -11
- package/dist/shims/cache-request-state.d.ts +40 -3
- package/dist/shims/cache-request-state.js +70 -5
- package/dist/shims/cache-runtime.js +47 -19
- package/dist/shims/cache.d.ts +2 -2
- package/dist/shims/cache.js +17 -8
- package/dist/shims/caught-not-found-boundaries.d.ts +15 -0
- package/dist/shims/caught-not-found-boundaries.js +48 -0
- package/dist/shims/cdn-purge-routes.d.ts +25 -0
- package/dist/shims/cdn-purge-routes.js +77 -0
- package/dist/shims/client-locale.js +2 -1
- package/dist/shims/client-page-root.d.ts +2 -1
- package/dist/shims/config.d.ts +2 -1
- package/dist/shims/default-forbidden.d.ts +4 -0
- package/dist/shims/default-forbidden.js +18 -0
- package/dist/shims/default-not-found.d.ts +0 -5
- package/dist/shims/default-not-found.js +5 -41
- package/dist/shims/default-unauthorized.d.ts +4 -0
- package/dist/shims/default-unauthorized.js +18 -0
- package/dist/shims/dynamic.js +17 -4
- package/dist/shims/error-boundary.d.ts +39 -3
- package/dist/shims/error-boundary.js +31 -16
- package/dist/shims/font-google.js +1 -2
- package/dist/shims/font-utils.d.ts +3 -2
- package/dist/shims/font-utils.js +5 -3
- package/dist/shims/form.js +9 -4
- package/dist/shims/http-access-error-fallback.d.ts +7 -0
- package/dist/shims/http-access-error-fallback.js +47 -0
- package/dist/shims/image-props.d.ts +93 -0
- package/dist/shims/image-props.js +323 -0
- package/dist/shims/image.d.ts +4 -39
- package/dist/shims/image.js +4 -319
- package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +22 -2
- package/dist/shims/internal/app-prefetch-fetch-queue.js +71 -18
- package/dist/shims/internal/app-route-prefetch-policy.d.ts +14 -3
- package/dist/shims/internal/app-route-prefetch-policy.js +29 -4
- package/dist/shims/internal/cache-context-accessor.d.ts +2 -1
- package/dist/shims/internal/client-reference-loader.d.ts +7 -0
- package/dist/shims/internal/client-reference-loader.js +91 -0
- package/dist/shims/internal/cookie-serialize.d.ts +2 -1
- package/dist/shims/internal/cookies.js +1 -2
- package/dist/shims/internal/headers-state.d.ts +9 -0
- package/dist/shims/internal/headers-state.js +19 -2
- package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -2
- package/dist/shims/internal/hybrid-client-route-owner-direct.js +31 -14
- package/dist/shims/internal/hybrid-client-route-owner.js +8 -8
- package/dist/shims/internal/interpolate-as.d.ts +2 -1
- package/dist/shims/internal/pages-data-target.d.ts +2 -1
- package/dist/shims/internal/pages-data-url.d.ts +2 -1
- package/dist/shims/internal/thenable-well-known-properties.d.ts +2 -1
- package/dist/shims/link.js +198 -53
- package/dist/shims/metadata.d.ts +32 -11
- package/dist/shims/metadata.js +88 -26
- package/dist/shims/navigation-errors.d.ts +2 -1
- package/dist/shims/navigation.d.ts +23 -3
- package/dist/shims/navigation.js +91 -25
- package/dist/shims/og.js +35 -10
- package/dist/shims/pages-router-runtime.d.ts +2 -1
- package/dist/shims/ppr-fallback-shell.d.ts +2 -1
- package/dist/shims/request-context.d.ts +13 -0
- package/dist/shims/router.js +33 -43
- package/dist/shims/server.d.ts +31 -4
- package/dist/shims/server.js +58 -10
- package/dist/shims/thenable-params.d.ts +6 -1
- package/dist/shims/thenable-params.js +11 -2
- package/dist/shims/unified-request-context.d.ts +5 -0
- package/dist/shims/unified-request-context.js +5 -3
- package/dist/typegen.d.ts +2 -1
- package/dist/utils/asset-prefix.d.ts +7 -0
- package/dist/utils/asset-prefix.js +10 -1
- package/dist/utils/client-build-manifest.d.ts +4 -1
- package/dist/utils/client-build-manifest.js +20 -6
- package/dist/utils/client-entry-manifest.d.ts +13 -0
- package/dist/utils/client-entry-manifest.js +20 -1
- package/dist/utils/client-reference-chunks.d.ts +45 -0
- package/dist/utils/client-reference-chunks.js +30 -0
- package/dist/utils/client-runtime-metadata.d.ts +10 -1
- package/dist/utils/client-runtime-metadata.js +53 -9
- package/dist/utils/compare.d.ts +9 -0
- package/dist/utils/compare.js +15 -1
- package/dist/utils/lazy-chunks.d.ts +18 -0
- package/dist/utils/lazy-chunks.js +27 -1
- package/dist/utils/manifest-paths.d.ts +14 -0
- package/dist/utils/manifest-paths.js +22 -1
- package/dist/utils/middleware-request-headers.d.ts +2 -1
- package/dist/utils/path-to-regexp.d.ts +21 -0
- package/dist/{server/middleware-path-to-regexp.js → utils/path-to-regexp.js} +14 -11
- package/dist/utils/plugin-react-version.d.ts +15 -0
- package/dist/utils/plugin-react-version.js +64 -0
- package/dist/utils/project.d.ts +2 -1
- package/dist/utils/project.js +9 -1
- package/dist/utils/public-routes.d.ts +2 -0
- package/dist/utils/public-routes.js +18 -7
- package/dist/utils/query.d.ts +2 -1
- package/dist/utils/sorted-array.d.ts +2 -1
- package/dist/utils/vite-cli-invocation.d.ts +2 -1
- package/package.json +5 -5
- package/dist/deps/.pnpm/image-size@2.0.2/deps/image-size/dist/index.js +0 -808
- package/dist/server/default-not-found-module.d.ts +0 -19
- package/dist/server/default-not-found-module.js +0 -18
- package/dist/server/middleware-path-to-regexp.d.ts +0 -13
- package/dist/server/rsc-stream-hints.d.ts +0 -21
- package/dist/server/rsc-stream-hints.js +0 -227
- package/dist/utils/regex-safety.d.ts +0 -17
- package/dist/utils/regex-safety.js +0 -789
|
@@ -2,8 +2,8 @@ import path from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
|
|
|
2
2
|
import { appIsrCacheKey, appIsrFallbackShellKey, isrSet, isrSetPrerenderedAppPage } from "./isr-cache.js";
|
|
3
3
|
import { addPregeneratedConcretePath, addPregeneratedRoute, clearPregeneratedConcretePaths, normalizePregeneratedPathname } from "./pregenerated-concrete-paths.js";
|
|
4
4
|
import { getRenderedAppRoutes, getRenderedMetadataRoutes, isFallbackShellArtifactPath, readPrerenderManifest } from "./prerender-manifest.js";
|
|
5
|
-
import { buildAppPageCacheTags, buildAppRouteCacheTags } from "./app-page-cache.js";
|
|
6
5
|
import { getAppRouteOutputPath, getOutputPath, getRscOutputPath } from "../utils/prerender-output-paths.js";
|
|
6
|
+
import { buildAppPageCacheTags, buildAppRouteCacheTags } from "./app-page-cache.js";
|
|
7
7
|
import fs from "node:fs";
|
|
8
8
|
//#region src/server/seed-cache.ts
|
|
9
9
|
/**
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { runOutsideRequestScopes } from "../shims/internal/als-registry.js";
|
|
2
|
+
import { getRequestExecutionContext } from "../shims/request-context.js";
|
|
3
|
+
import { shareIsolatePromise } from "./isolate-shared-promise.js";
|
|
2
4
|
//#region src/server/server-reference-loader.ts
|
|
3
5
|
/**
|
|
4
6
|
* Keep server-reference module evaluation out of the request that first
|
|
@@ -21,7 +23,14 @@ const ISOLATED = Symbol.for("vinext.serverReferenceRequire.isolated");
|
|
|
21
23
|
function isolateServerReferenceLoads() {
|
|
22
24
|
const load = globalThis.__vite_rsc_server_require__;
|
|
23
25
|
if (typeof load !== "function" || ISOLATED in load) return;
|
|
24
|
-
const
|
|
26
|
+
const started = /* @__PURE__ */ new WeakSet();
|
|
27
|
+
const isolated = (id) => {
|
|
28
|
+
const ctx = getRequestExecutionContext();
|
|
29
|
+
const loaded = runOutsideRequestScopes(() => load(id));
|
|
30
|
+
if (!(loaded instanceof Promise) || started.has(loaded)) return loaded;
|
|
31
|
+
started.add(loaded);
|
|
32
|
+
return shareIsolatePromise(loaded, ctx);
|
|
33
|
+
};
|
|
25
34
|
Object.defineProperty(isolated, ISOLATED, { value: true });
|
|
26
35
|
globalThis.__vite_rsc_server_require__ = isolated;
|
|
27
36
|
}
|
|
@@ -37,6 +37,7 @@ const CONTENT_TYPES = {
|
|
|
37
37
|
".mp4": "video/mp4",
|
|
38
38
|
".ogg": "audio/ogg",
|
|
39
39
|
".ogv": "video/ogg",
|
|
40
|
+
".otf": "font/otf",
|
|
40
41
|
".pdf": "application/pdf",
|
|
41
42
|
".png": "image/png",
|
|
42
43
|
".rsc": "text/x-component",
|
|
@@ -178,6 +179,15 @@ var StaticFileCache = class StaticFileCache {
|
|
|
178
179
|
return this.entries.get(pathname);
|
|
179
180
|
}
|
|
180
181
|
};
|
|
182
|
+
const MANAGED_CHUNKS_SEGMENT = `${ASSET_PREFIX_URL_DIR}/chunks/`;
|
|
183
|
+
const MANAGED_CSS_SEGMENT = `${ASSET_PREFIX_URL_DIR}/css/`;
|
|
184
|
+
const MANAGED_WORKERS_SEGMENT = `${ASSET_PREFIX_URL_DIR}/workers/`;
|
|
185
|
+
const MANAGED_MEDIA_SEGMENT = `${ASSET_PREFIX_URL_DIR}/media/`;
|
|
186
|
+
const HASH_ONLY_BASENAME_RE = /^[A-Za-z0-9_-]{8}$/;
|
|
187
|
+
const WORKER_BASENAME_RE = /^[0-9a-f]{8}-[A-Za-z0-9_-]{8}$/;
|
|
188
|
+
function isInManagedDir(normalizedPath, segment) {
|
|
189
|
+
return normalizedPath.startsWith(segment) || normalizedPath.includes(`/${segment}`);
|
|
190
|
+
}
|
|
181
191
|
/**
|
|
182
192
|
* Extract a stable weak ETag from a Vite hashed filename (e.g. `app-DqZc3R4n.js`).
|
|
183
193
|
* The hash is a content hash computed by the bundler — deterministic across
|
|
@@ -190,14 +200,17 @@ var StaticFileCache = class StaticFileCache {
|
|
|
190
200
|
*/
|
|
191
201
|
function etagFromFilenameHash(relativePath, ext) {
|
|
192
202
|
const basename = path.basename(relativePath, ext);
|
|
203
|
+
if (basename.length === 8 && HASH_ONLY_BASENAME_RE.test(basename)) {
|
|
204
|
+
const normalizedPath = toSlash(relativePath);
|
|
205
|
+
if (isInManagedDir(normalizedPath, MANAGED_CHUNKS_SEGMENT) || isInManagedDir(normalizedPath, MANAGED_CSS_SEGMENT)) return `W/"${basename}"`;
|
|
206
|
+
}
|
|
207
|
+
if (basename.length === 17 && WORKER_BASENAME_RE.test(basename) && isInManagedDir(toSlash(relativePath), MANAGED_WORKERS_SEGMENT)) return `W/"${basename}"`;
|
|
193
208
|
const lastDash = basename.lastIndexOf("-");
|
|
194
209
|
if (lastDash !== -1 && lastDash !== basename.length - 1) {
|
|
195
210
|
const suffix = basename.slice(lastDash + 1);
|
|
196
211
|
if (suffix.length >= 6 && suffix.length <= 12 && /^[A-Za-z0-9_-]+$/.test(suffix)) return `W/"${suffix}"`;
|
|
197
212
|
}
|
|
198
|
-
|
|
199
|
-
const managedMediaSegment = `${ASSET_PREFIX_URL_DIR}/media/`;
|
|
200
|
-
if (normalizedPath.startsWith(managedMediaSegment) || normalizedPath.includes(`/${managedMediaSegment}`)) {
|
|
213
|
+
if (isInManagedDir(toSlash(relativePath), MANAGED_MEDIA_SEGMENT)) {
|
|
201
214
|
const lastDot = basename.lastIndexOf(".");
|
|
202
215
|
if (lastDot !== -1) {
|
|
203
216
|
const suffix = basename.slice(lastDot + 1);
|
|
@@ -10,4 +10,5 @@ type StaticLayoutClientReuseProofInput = Readonly<{
|
|
|
10
10
|
export declare function createStaticLayoutClientReuseRouteId(layoutId: string): string;
|
|
11
11
|
export declare function createStaticLayoutClientReusePayloadHash(input: StaticLayoutClientReuseProofInput): string;
|
|
12
12
|
export declare function createStaticLayoutClientReuseArtifactCompatibility(input: StaticLayoutClientReuseProofInput): ArtifactCompatibilityEnvelope;
|
|
13
|
-
//#endregion
|
|
13
|
+
//#endregion
|
|
14
|
+
export {};
|
|
@@ -9,4 +9,5 @@ type PlatformExecutionContext = Partial<ExecutionContextLike> & VinextRequestSta
|
|
|
9
9
|
* on the normal header-scrubbing path.
|
|
10
10
|
*/
|
|
11
11
|
export declare function createWorkerRevalidationContext(base: PlatformExecutionContext | undefined, handleInternalRequest: (request: Request, ctx: ExecutionContextLike) => Promise<Response>, defaultHostRuntime?: "node" | "worker"): ExecutionContextLike;
|
|
12
|
-
//#endregion
|
|
12
|
+
//#endregion
|
|
13
|
+
export {};
|
|
@@ -40,4 +40,5 @@ export type WorkerResponseStageProps = PagesApiResponseStageProps | PagesPageRes
|
|
|
40
40
|
*/
|
|
41
41
|
export type DispatchWorkerResponseStage = VinextResponseStageTransport<WorkerResponseStageProps>;
|
|
42
42
|
export declare function isPagesResponseStageProps(value: unknown): value is WorkerResponseStageProps;
|
|
43
|
-
//#endregion
|
|
43
|
+
//#endregion
|
|
44
|
+
export {};
|
|
@@ -108,7 +108,7 @@ async function resolveStaticAssetSignal(signalResponse, options) {
|
|
|
108
108
|
* overrides, so a removed `Range` or replaced validator reaches the asset fetch.
|
|
109
109
|
*/
|
|
110
110
|
function createStaticAssetRequest(assetPath, sourceRequest, headers = null) {
|
|
111
|
-
const assetUrl = new URL(assetPath, sourceRequest.url);
|
|
111
|
+
const assetUrl = new URL(assetPath.replace(/[?#]/g, (character) => encodeURIComponent(character)), sourceRequest.url);
|
|
112
112
|
if (sourceRequest.method === "GET" || sourceRequest.method === "HEAD") return headers ? new Request(new Request(assetUrl, sourceRequest), { headers }) : new Request(assetUrl, sourceRequest);
|
|
113
113
|
return new Request(assetUrl, {
|
|
114
114
|
method: sourceRequest.method,
|
package/dist/shims/app.d.ts
CHANGED
|
@@ -12,4 +12,5 @@ export declare function registerCachedFunction<TArgs extends unknown[], TResult>
|
|
|
12
12
|
}): (...args: TArgs) => Promise<TResult>;
|
|
13
13
|
/** Replay the persisted payload without re-reading or re-encoding caller objects. */
|
|
14
14
|
export declare function invokeCacheFunction(invocation: VinextCacheFunctionInvocation, loadServerAction: (id: string) => Promise<unknown>): Promise<void>;
|
|
15
|
-
//#endregion
|
|
15
|
+
//#endregion
|
|
16
|
+
export {};
|
|
@@ -96,7 +96,7 @@ type MemoryCacheHandlerOptions = Pick<CacheHandlerContext, "maxMemoryCacheSize">
|
|
|
96
96
|
};
|
|
97
97
|
export declare class MemoryCacheHandler implements CacheHandler {
|
|
98
98
|
private store;
|
|
99
|
-
private
|
|
99
|
+
private tagsManifest;
|
|
100
100
|
private readonly maxMemoryCacheSize;
|
|
101
101
|
private currentMemoryCacheSize;
|
|
102
102
|
constructor(options?: number | MemoryCacheHandlerOptions);
|
|
@@ -106,7 +106,11 @@ export declare class MemoryCacheHandler implements CacheHandler {
|
|
|
106
106
|
private evictLeastRecentlyUsed;
|
|
107
107
|
get(key: string, ctx?: Record<string, unknown>): Promise<CacheHandlerValue | null>;
|
|
108
108
|
set(key: string, data: IncrementalCacheValue | null, ctx?: Record<string, unknown>): Promise<void>;
|
|
109
|
-
revalidateTag(tags: string | string[]
|
|
109
|
+
revalidateTag(tags: string | string[], durations?: {
|
|
110
|
+
expire?: number;
|
|
111
|
+
}): Promise<void>;
|
|
112
|
+
private isTagExpired;
|
|
113
|
+
private isTagStale;
|
|
110
114
|
resetRequestCache(): void;
|
|
111
115
|
}
|
|
112
116
|
export declare function configureMemoryCacheHandler(options?: MemoryCacheHandlerOptions): void;
|
|
@@ -121,4 +125,5 @@ export declare function registerLazyDataCacheHandler(load: () => Promise<void>):
|
|
|
121
125
|
export declare function getDataCacheHandler(): CacheHandler;
|
|
122
126
|
export declare function setCacheHandler(handler: CacheHandler): void;
|
|
123
127
|
export declare function getCacheHandler(): CacheHandler;
|
|
124
|
-
//#endregion
|
|
128
|
+
//#endregion
|
|
129
|
+
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { shareIsolatePromise } from "../server/isolate-shared-promise.js";
|
|
1
2
|
import { readCacheControlNumberField, readCacheControlRevalidateField } from "../utils/cache-control-metadata.js";
|
|
2
3
|
//#region src/shims/cache-handler.ts
|
|
3
4
|
var NoOpCacheHandler = class {
|
|
@@ -47,7 +48,7 @@ function readPositiveNumberField(ctx, field) {
|
|
|
47
48
|
}
|
|
48
49
|
var MemoryCacheHandler = class {
|
|
49
50
|
store = /* @__PURE__ */ new Map();
|
|
50
|
-
|
|
51
|
+
tagsManifest = /* @__PURE__ */ new Map();
|
|
51
52
|
maxMemoryCacheSize;
|
|
52
53
|
currentMemoryCacheSize = 0;
|
|
53
54
|
constructor(options) {
|
|
@@ -76,19 +77,20 @@ var MemoryCacheHandler = class {
|
|
|
76
77
|
async get(key, ctx) {
|
|
77
78
|
const entry = this.store.get(key);
|
|
78
79
|
if (!entry) return null;
|
|
80
|
+
const now = Date.now();
|
|
81
|
+
let hasStaleTag = false;
|
|
79
82
|
for (const tag of entry.tags) {
|
|
80
|
-
|
|
81
|
-
if (revalidatedAt && revalidatedAt >= entry.lastModified) {
|
|
83
|
+
if (this.isTagExpired(tag, entry.lastModified, now)) {
|
|
82
84
|
this.deleteEntry(key);
|
|
83
85
|
return null;
|
|
84
86
|
}
|
|
87
|
+
hasStaleTag ||= this.isTagStale(tag, entry.lastModified);
|
|
85
88
|
}
|
|
86
89
|
for (const tag of readStringArrayField(ctx, "softTags")) {
|
|
87
|
-
|
|
88
|
-
|
|
90
|
+
if (this.isTagExpired(tag, entry.lastModified, now)) return null;
|
|
91
|
+
hasStaleTag ||= this.isTagStale(tag, entry.lastModified);
|
|
89
92
|
}
|
|
90
93
|
this.touchEntry(key, entry);
|
|
91
|
-
const now = Date.now();
|
|
92
94
|
if (entry.expireAt !== null && now > entry.expireAt) return {
|
|
93
95
|
lastModified: entry.lastModified,
|
|
94
96
|
value: entry.value,
|
|
@@ -97,7 +99,7 @@ var MemoryCacheHandler = class {
|
|
|
97
99
|
};
|
|
98
100
|
const requestedRevalidate = readPositiveNumberField(ctx, "revalidate");
|
|
99
101
|
const requestedRevalidateAt = requestedRevalidate === void 0 ? null : entry.lastModified + requestedRevalidate * 1e3;
|
|
100
|
-
if (entry.revalidateAt !== null && now > entry.revalidateAt || requestedRevalidateAt !== null && now > requestedRevalidateAt) return {
|
|
102
|
+
if (hasStaleTag || entry.revalidateAt !== null && now > entry.revalidateAt || requestedRevalidateAt !== null && now > requestedRevalidateAt) return {
|
|
101
103
|
lastModified: entry.lastModified,
|
|
102
104
|
value: entry.value,
|
|
103
105
|
cacheState: "stale",
|
|
@@ -147,10 +149,29 @@ var MemoryCacheHandler = class {
|
|
|
147
149
|
this.currentMemoryCacheSize += entrySize;
|
|
148
150
|
this.evictLeastRecentlyUsed();
|
|
149
151
|
}
|
|
150
|
-
async revalidateTag(tags) {
|
|
152
|
+
async revalidateTag(tags, durations) {
|
|
151
153
|
const tagList = Array.isArray(tags) ? tags : [tags];
|
|
152
154
|
const now = Date.now();
|
|
153
|
-
for (const tag of tagList)
|
|
155
|
+
for (const tag of tagList) {
|
|
156
|
+
const existing = this.tagsManifest.get(tag) ?? {};
|
|
157
|
+
if (durations) this.tagsManifest.set(tag, {
|
|
158
|
+
...existing,
|
|
159
|
+
stale: now,
|
|
160
|
+
...durations.expire === void 0 ? {} : { expired: now + durations.expire * 1e3 }
|
|
161
|
+
});
|
|
162
|
+
else this.tagsManifest.set(tag, {
|
|
163
|
+
...existing,
|
|
164
|
+
expired: now
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
isTagExpired(tag, lastModified, now) {
|
|
169
|
+
const expired = this.tagsManifest.get(tag)?.expired;
|
|
170
|
+
return expired !== void 0 && expired <= now && expired >= lastModified;
|
|
171
|
+
}
|
|
172
|
+
isTagStale(tag, lastModified) {
|
|
173
|
+
const stale = this.tagsManifest.get(tag)?.stale;
|
|
174
|
+
return stale !== void 0 && stale > lastModified;
|
|
154
175
|
}
|
|
155
176
|
resetRequestCache() {}
|
|
156
177
|
};
|
|
@@ -167,7 +188,7 @@ var LazyDataCacheHandler = class {
|
|
|
167
188
|
this.load = load;
|
|
168
189
|
}
|
|
169
190
|
resolve() {
|
|
170
|
-
return this.resolved ??= this.load().then(() => {
|
|
191
|
+
return this.resolved ??= shareIsolatePromise(this.load().then(() => {
|
|
171
192
|
const registered = globalHandlers[HANDLER_KEY];
|
|
172
193
|
if (registered && registered !== this) {
|
|
173
194
|
this.loadedHandler = registered;
|
|
@@ -179,7 +200,7 @@ var LazyDataCacheHandler = class {
|
|
|
179
200
|
delete globalHandlers[LAZY_HANDLER_KEY];
|
|
180
201
|
this.loadedHandler = fallback;
|
|
181
202
|
return fallback;
|
|
182
|
-
});
|
|
203
|
+
}));
|
|
183
204
|
}
|
|
184
205
|
async get(key, ctx) {
|
|
185
206
|
return (await this.resolve()).get(key, ctx);
|
|
@@ -23,9 +23,19 @@ export type UnstableCacheObservation = Readonly<{
|
|
|
23
23
|
export type CacheLifeSink = {
|
|
24
24
|
cacheLife: CacheLifeConfig | null;
|
|
25
25
|
};
|
|
26
|
+
type TagInvalidationDurations = {
|
|
27
|
+
expire?: number;
|
|
28
|
+
} | undefined;
|
|
29
|
+
/** A CDN purge waiting for the request boundary, after its data-cache invalidation. */
|
|
30
|
+
export type PendingCdnTagInvalidation = Readonly<{
|
|
31
|
+
tag: string;
|
|
32
|
+
durations: TagInvalidationDurations;
|
|
33
|
+
dataInvalidation: Promise<void>;
|
|
34
|
+
}>;
|
|
26
35
|
export type CacheState = {
|
|
27
36
|
actionRevalidationKind: ActionRevalidationKind;
|
|
28
37
|
cacheLifeSink: CacheLifeSink | null;
|
|
38
|
+
pendingCdnTagInvalidations: PendingCdnTagInvalidation[];
|
|
29
39
|
pendingRevalidatedTags: Set<string>;
|
|
30
40
|
pendingRevalidations: Set<Promise<void>>;
|
|
31
41
|
requestScopedCacheLife: CacheLifeConfig | null;
|
|
@@ -56,9 +66,36 @@ export declare function _hasPendingRevalidatedTag(tags: readonly string[]): bool
|
|
|
56
66
|
*/
|
|
57
67
|
export declare function _queuePendingRevalidation(promise: Promise<void>): boolean;
|
|
58
68
|
/**
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
69
|
+
* Defer the CDN purge for `tag` to the current Server Action or Route Handler
|
|
70
|
+
* boundary, so the request sends one adapter call per cacheLife profile like
|
|
71
|
+
* Next.js' `executeRevalidates`. Edge purges are rate limited (Workers Cache
|
|
72
|
+
* allows 5 requests a minute per account), so per-call purges run out fast.
|
|
73
|
+
*
|
|
74
|
+
* Only those two phases defer: their executors always drain before the
|
|
75
|
+
* request finishes. Once the response has closed, `after()` callbacks run
|
|
76
|
+
* past the last drain, so they purge immediately too. Everywhere else returns
|
|
77
|
+
* false and the caller purges immediately.
|
|
78
|
+
*
|
|
79
|
+
* @internal
|
|
80
|
+
*/
|
|
81
|
+
export declare function _queuePendingCdnTagInvalidation(tag: string, durations: TagInvalidationDurations, dataInvalidation: Promise<void>): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Ask the CDN adapter to invalidate `tags`, logging rather than rethrowing a
|
|
84
|
+
* failure. The data cache is already invalidated by then, so a failed edge
|
|
85
|
+
* purge leaves edge-cached responses stale until they expire, and failing the
|
|
86
|
+
* request would not change that. It would only report a committed Server
|
|
87
|
+
* Action write as a failure.
|
|
88
|
+
*
|
|
89
|
+
* @internal
|
|
90
|
+
*/
|
|
91
|
+
export declare function _revalidateCdnTags(tags: string | string[], durations?: {
|
|
92
|
+
expire?: number;
|
|
93
|
+
}): Promise<void>;
|
|
94
|
+
/**
|
|
95
|
+
* Await and clear every cache invalidation queued in the current request,
|
|
96
|
+
* then send the deferred CDN purges in batches. Clearing before awaiting also
|
|
97
|
+
* lets a later drain observe work enqueued by an async continuation while
|
|
98
|
+
* this batch is settling.
|
|
62
99
|
*
|
|
63
100
|
* @internal
|
|
64
101
|
*/
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { getOrCreateAls } from "./internal/als-registry.js";
|
|
2
2
|
import { getRequestContext, isInsideUnifiedScope, runWithUnifiedStateMutation } from "./unified-request-context.js";
|
|
3
|
+
import { getCdnCacheAdapter } from "./cdn-cache.js";
|
|
3
4
|
import { getHeadersAccessPhase } from "./internal/headers-state.js";
|
|
4
5
|
import { _recordUseCacheRootParamRead, _registerCacheContextAccessor, getRegisteredCacheContext } from "./internal/cache-context-accessor.js";
|
|
5
6
|
//#region src/shims/cache-request-state.ts
|
|
@@ -48,6 +49,7 @@ const ACTION_DID_REVALIDATE_DYNAMIC_ONLY = 2;
|
|
|
48
49
|
const fallbackState = globalState[FALLBACK_KEY] ??= {
|
|
49
50
|
actionRevalidationKind: ACTION_DID_NOT_REVALIDATE,
|
|
50
51
|
cacheLifeSink: null,
|
|
52
|
+
pendingCdnTagInvalidations: [],
|
|
51
53
|
pendingRevalidatedTags: /* @__PURE__ */ new Set(),
|
|
52
54
|
pendingRevalidations: /* @__PURE__ */ new Set(),
|
|
53
55
|
requestScopedCacheLife: null,
|
|
@@ -69,6 +71,7 @@ function _runWithCacheState(fn) {
|
|
|
69
71
|
const state = {
|
|
70
72
|
actionRevalidationKind: ACTION_DID_NOT_REVALIDATE,
|
|
71
73
|
cacheLifeSink: null,
|
|
74
|
+
pendingCdnTagInvalidations: [],
|
|
72
75
|
pendingRevalidatedTags: /* @__PURE__ */ new Set(),
|
|
73
76
|
pendingRevalidations: /* @__PURE__ */ new Set(),
|
|
74
77
|
requestScopedCacheLife: null,
|
|
@@ -128,9 +131,69 @@ function _queuePendingRevalidation(promise) {
|
|
|
128
131
|
return true;
|
|
129
132
|
}
|
|
130
133
|
/**
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
*
|
|
134
|
+
* Defer the CDN purge for `tag` to the current Server Action or Route Handler
|
|
135
|
+
* boundary, so the request sends one adapter call per cacheLife profile like
|
|
136
|
+
* Next.js' `executeRevalidates`. Edge purges are rate limited (Workers Cache
|
|
137
|
+
* allows 5 requests a minute per account), so per-call purges run out fast.
|
|
138
|
+
*
|
|
139
|
+
* Only those two phases defer: their executors always drain before the
|
|
140
|
+
* request finishes. Once the response has closed, `after()` callbacks run
|
|
141
|
+
* past the last drain, so they purge immediately too. Everywhere else returns
|
|
142
|
+
* false and the caller purges immediately.
|
|
143
|
+
*
|
|
144
|
+
* @internal
|
|
145
|
+
*/
|
|
146
|
+
function _queuePendingCdnTagInvalidation(tag, durations, dataInvalidation) {
|
|
147
|
+
const phase = getHeadersAccessPhase();
|
|
148
|
+
if (phase !== "action" && phase !== "route-handler") return false;
|
|
149
|
+
if (isInsideUnifiedScope() && getRequestContext().afterContext.responseClosed) return false;
|
|
150
|
+
getCacheState().pendingCdnTagInvalidations.push({
|
|
151
|
+
tag,
|
|
152
|
+
durations,
|
|
153
|
+
dataInvalidation
|
|
154
|
+
});
|
|
155
|
+
return true;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Ask the CDN adapter to invalidate `tags`, logging rather than rethrowing a
|
|
159
|
+
* failure. The data cache is already invalidated by then, so a failed edge
|
|
160
|
+
* purge leaves edge-cached responses stale until they expire, and failing the
|
|
161
|
+
* request would not change that. It would only report a committed Server
|
|
162
|
+
* Action write as a failure.
|
|
163
|
+
*
|
|
164
|
+
* @internal
|
|
165
|
+
*/
|
|
166
|
+
async function _revalidateCdnTags(tags, durations) {
|
|
167
|
+
try {
|
|
168
|
+
await getCdnCacheAdapter().revalidateTag(tags, durations);
|
|
169
|
+
} catch (error) {
|
|
170
|
+
console.error("[vinext] CDN cache invalidation failed; edge-cached responses may stay stale until they expire:", error);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
async function flushCdnTagInvalidations(invalidations) {
|
|
174
|
+
if (invalidations.length === 0) return;
|
|
175
|
+
const settled = await Promise.allSettled(invalidations.map(({ dataInvalidation }) => dataInvalidation));
|
|
176
|
+
const batches = /* @__PURE__ */ new Map();
|
|
177
|
+
invalidations.forEach(({ tag, durations }, index) => {
|
|
178
|
+
if (settled[index].status === "rejected") return;
|
|
179
|
+
const key = durations === void 0 ? "" : JSON.stringify(durations);
|
|
180
|
+
let batch = batches.get(key);
|
|
181
|
+
if (!batch) {
|
|
182
|
+
batch = {
|
|
183
|
+
durations,
|
|
184
|
+
tags: /* @__PURE__ */ new Set()
|
|
185
|
+
};
|
|
186
|
+
batches.set(key, batch);
|
|
187
|
+
}
|
|
188
|
+
batch.tags.add(tag);
|
|
189
|
+
});
|
|
190
|
+
await Promise.all([...batches.values()].map(({ durations, tags }) => _revalidateCdnTags([...tags], durations)));
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Await and clear every cache invalidation queued in the current request,
|
|
194
|
+
* then send the deferred CDN purges in batches. Clearing before awaiting also
|
|
195
|
+
* lets a later drain observe work enqueued by an async continuation while
|
|
196
|
+
* this batch is settling.
|
|
134
197
|
*
|
|
135
198
|
* @internal
|
|
136
199
|
*/
|
|
@@ -138,14 +201,16 @@ async function _drainPendingRevalidations() {
|
|
|
138
201
|
const state = getCacheState();
|
|
139
202
|
let didReject = false;
|
|
140
203
|
let firstRejection;
|
|
141
|
-
while (state.pendingRevalidations.size > 0) {
|
|
204
|
+
while (state.pendingRevalidations.size > 0 || state.pendingCdnTagInvalidations.length > 0) {
|
|
142
205
|
const pending = [...state.pendingRevalidations];
|
|
143
206
|
state.pendingRevalidations.clear();
|
|
207
|
+
const cdnInvalidations = state.pendingCdnTagInvalidations.splice(0);
|
|
144
208
|
const results = await Promise.allSettled(pending);
|
|
145
209
|
for (const result of results) if (result.status === "rejected" && !didReject) {
|
|
146
210
|
didReject = true;
|
|
147
211
|
firstRejection = result.reason;
|
|
148
212
|
}
|
|
213
|
+
await flushCdnTagInvalidations(cdnInvalidations);
|
|
149
214
|
}
|
|
150
215
|
if (didReject) throw firstRejection;
|
|
151
216
|
}
|
|
@@ -220,4 +285,4 @@ function shouldServeStaleUnstableCacheEntry() {
|
|
|
220
285
|
return getCacheState().unstableCacheRevalidation === "background";
|
|
221
286
|
}
|
|
222
287
|
//#endregion
|
|
223
|
-
export { ACTION_DID_REVALIDATE_DYNAMIC_ONLY, ACTION_DID_REVALIDATE_STATIC_AND_DYNAMIC, _captureRequestScopedCacheLifeAccessors, _consumeRequestScopedCacheLife, _drainPendingRevalidations, _hasPendingRevalidatedTag, _initRequestScopedCacheState, _markPendingRevalidatedTag, _peekRequestScopedCacheLife, _peekUnstableCacheObservations, _queuePendingRevalidation, _recordUseCacheRootParamRead, _registerCacheContextAccessor, _runWithCacheState, _setRequestScopedCacheLife, cacheLifeProfiles, getAndClearActionRevalidationKind, getRegisteredCacheContext, markActionRevalidation, recordUnstableCacheObservation, runWithDetachedCacheObservations, shouldServeStaleUnstableCacheEntry };
|
|
288
|
+
export { ACTION_DID_REVALIDATE_DYNAMIC_ONLY, ACTION_DID_REVALIDATE_STATIC_AND_DYNAMIC, _captureRequestScopedCacheLifeAccessors, _consumeRequestScopedCacheLife, _drainPendingRevalidations, _hasPendingRevalidatedTag, _initRequestScopedCacheState, _markPendingRevalidatedTag, _peekRequestScopedCacheLife, _peekUnstableCacheObservations, _queuePendingCdnTagInvalidation, _queuePendingRevalidation, _recordUseCacheRootParamRead, _registerCacheContextAccessor, _revalidateCdnTags, _runWithCacheState, _setRequestScopedCacheLife, cacheLifeProfiles, getAndClearActionRevalidationKind, getRegisteredCacheContext, markActionRevalidation, recordUnstableCacheObservation, runWithDetachedCacheObservations, shouldServeStaleUnstableCacheEntry };
|
|
@@ -3,17 +3,19 @@ import { getRequestContext, isInsideUnifiedScope, runWithUnifiedStateMutation }
|
|
|
3
3
|
import { VINEXT_RSC_MARKER_HEADER } from "../server/headers.js";
|
|
4
4
|
import { workUnitAsyncStorage } from "./internal/work-unit-async-storage.js";
|
|
5
5
|
import { isRouteCacheabilityProbe, recordRouteCacheabilityProbeBailout } from "./cacheability-classification.js";
|
|
6
|
+
import { shareIsolatePromise } from "../server/isolate-shared-promise.js";
|
|
6
7
|
import { getDataCacheHandler } from "./cache-handler.js";
|
|
7
8
|
import { addCollectedRequestTags, getCurrentFetchSoftTags, runWithDetachedFetchObservations } from "./fetch-cache-state.js";
|
|
8
9
|
import { suppressHangingPromiseAbortRejections } from "./internal/make-hanging-promise.js";
|
|
9
10
|
import { createPprFallbackShellSuspensePromise, trackPprFallbackShellCacheTask } from "./ppr-fallback-shell.js";
|
|
10
|
-
import { markDynamicUsage,
|
|
11
|
+
import { createUseCacheAccessError, markDynamicUsage, recordInvalidDynamicUsageError } from "./internal/headers-state.js";
|
|
11
12
|
import { isDraftModeEnabled } from "./headers.js";
|
|
12
13
|
import { _registerCacheContextAccessor } from "./internal/cache-context-accessor.js";
|
|
13
14
|
import { _hasPendingRevalidatedTag, _setRequestScopedCacheLife, cacheLifeProfiles, runWithDetachedCacheObservations, shouldServeStaleUnstableCacheEntry } from "./cache-request-state.js";
|
|
14
15
|
import "./fetch-cache.js";
|
|
15
16
|
import { hasUseCacheLayoutMarker, hasUseCachePageMarker, isUseCacheFunctionReference, withoutUseCacheSegmentMarker } from "./internal/app-page-props-cache-key.js";
|
|
16
|
-
import {
|
|
17
|
+
import { isWellKnownProperty } from "./internal/thenable-well-known-properties.js";
|
|
18
|
+
import { getFallbackParamsSnapshot, restoreThenableParams } from "./thenable-params.js";
|
|
17
19
|
import { getCurrentRootParams } from "./root-params.js";
|
|
18
20
|
import { flightArgumentsKey, restoreFlightReply, snapshotFlightReply } from "./cache-flight-arguments.js";
|
|
19
21
|
import { cache } from "react";
|
|
@@ -132,7 +134,7 @@ function buildUseCacheKey(id, keySeed, argsKey) {
|
|
|
132
134
|
}
|
|
133
135
|
let _rscModule;
|
|
134
136
|
function getRscModule() {
|
|
135
|
-
return _rscModule ??= import("@vitejs/plugin-rsc/react/rsc");
|
|
137
|
+
return _rscModule ??= shareIsolatePromise(import("@vitejs/plugin-rsc/react/rsc"));
|
|
136
138
|
}
|
|
137
139
|
/** Collect a ReadableStream<Uint8Array> into a single Uint8Array. */
|
|
138
140
|
async function collectStream(stream) {
|
|
@@ -365,9 +367,9 @@ function registerCachedFunction(fn, id, variant, options = {}) {
|
|
|
365
367
|
...props,
|
|
366
368
|
params: restoreThenableParams(await props.params, outerParams)
|
|
367
369
|
});
|
|
368
|
-
if (pagePropsIndex !== void 0) callArgs = withErroringPageSearchParams(callArgs, pagePropsIndex);
|
|
369
370
|
}
|
|
370
|
-
|
|
371
|
+
const callFn = segmentPropsIndex !== -1 && pagePropsIndex !== void 0 ? withErroringPageSearchParams(fn, pagePropsIndex) : fn;
|
|
372
|
+
if (fallbackParams) return (await executeWithContext(callFn, callArgs, cacheVariant, rsc)).result;
|
|
371
373
|
if (cacheVariant === "private") {
|
|
372
374
|
const privateCache = _getPrivateState()._privateCache;
|
|
373
375
|
const privateHit = privateCache.get(cacheKey);
|
|
@@ -375,11 +377,11 @@ function registerCachedFunction(fn, id, variant, options = {}) {
|
|
|
375
377
|
if (privateHit.serialized) return rsc.createFromReadableStream(uint8ToStream(base64ToUint8(privateHit.serialized.body)), {}, { preserveServerReferences: true });
|
|
376
378
|
return privateHit.result;
|
|
377
379
|
}
|
|
378
|
-
const execution = await executeWithContext(
|
|
380
|
+
const execution = await executeWithContext(callFn, callArgs, cacheVariant, rsc);
|
|
379
381
|
if (execution.cacheable) privateCache.set(cacheKey, execution);
|
|
380
382
|
return execution.result;
|
|
381
383
|
}
|
|
382
|
-
if (isDev || isDraftModeEnabled()) return (await executeWithContext(
|
|
384
|
+
if (isDev || isDraftModeEnabled()) return (await executeWithContext(callFn, callArgs, cacheVariant, rsc)).result;
|
|
383
385
|
const handler = getDataCacheHandler();
|
|
384
386
|
const rootParams = getCurrentRootParams();
|
|
385
387
|
const knownRootParamNames = knownRootParamsByFunctionId.get(id);
|
|
@@ -409,7 +411,7 @@ function registerCachedFunction(fn, id, variant, options = {}) {
|
|
|
409
411
|
}
|
|
410
412
|
}
|
|
411
413
|
const generate = async (propagate) => {
|
|
412
|
-
const { result, ctx, effectiveLife, collectedResult } = await runCachedFunctionWithContext(
|
|
414
|
+
const { result, ctx, effectiveLife, collectedResult } = await runCachedFunctionWithContext(callFn, callArgs, cacheVariant, (value) => serializeCacheResult(value, rsc));
|
|
413
415
|
const rootParamNames = ctx.readRootParamNames && ctx.readRootParamNames.size > 0 ? addKnownRootParamNames(id, ctx.readRootParamNames) : knownRootParamsByFunctionId.get(id);
|
|
414
416
|
if (propagate) {
|
|
415
417
|
recordRequestScopedCacheLife(effectiveLife);
|
|
@@ -631,18 +633,44 @@ function toReplayablePageArgs(args, index) {
|
|
|
631
633
|
return replaceArgument(args, index, pageProps);
|
|
632
634
|
}
|
|
633
635
|
/**
|
|
634
|
-
*
|
|
635
|
-
*
|
|
636
|
-
*
|
|
637
|
-
* `makeErroringSearchParamsForUseCache`, instead of `undefined`.
|
|
636
|
+
* Run `fn` with an erroring `searchParams` in the page props at `index` when
|
|
637
|
+
* they have none (they are omitted from a public page cache's arguments, and
|
|
638
|
+
* from a Response Store replay of them), instead of `undefined`.
|
|
638
639
|
*/
|
|
639
|
-
function withErroringPageSearchParams(
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
...
|
|
644
|
-
|
|
645
|
-
|
|
640
|
+
function withErroringPageSearchParams(fn, index) {
|
|
641
|
+
return (...args) => {
|
|
642
|
+
const props = args[index];
|
|
643
|
+
if (!isPagePropsObject(props) || "searchParams" in props) return fn(...args);
|
|
644
|
+
return fn(...replaceArgument(args, index, {
|
|
645
|
+
...props,
|
|
646
|
+
searchParams: makeErroringPageSearchParams()
|
|
647
|
+
}));
|
|
648
|
+
};
|
|
649
|
+
}
|
|
650
|
+
function isNextWellKnownProperty(prop) {
|
|
651
|
+
return prop !== "value" && prop !== "error" && isWellKnownProperty(prop);
|
|
652
|
+
}
|
|
653
|
+
/**
|
|
654
|
+
* Ported from Next.js's `makeErroringSearchParamsForUseCache`
|
|
655
|
+
* (server/request/search-params.ts): reading `then` or a param throws, and
|
|
656
|
+
* everything else reads the underlying promise, with methods bound to it.
|
|
657
|
+
*/
|
|
658
|
+
function makeErroringPageSearchParams() {
|
|
659
|
+
const cacheContext = cacheContextStorage.getStore() ?? null;
|
|
660
|
+
const requestContext = isInsideUnifiedScope() ? getRequestContext() : null;
|
|
661
|
+
const promise = Promise.resolve({});
|
|
662
|
+
return new Proxy(promise, { get(target, prop, receiver) {
|
|
663
|
+
if (!Object.hasOwn(target, prop) && typeof prop === "string" && (prop === "then" || !isNextWellKnownProperty(prop))) {
|
|
664
|
+
const error = createUseCacheAccessError("searchParams");
|
|
665
|
+
if (cacheContext) cacheContext.invalidDynamicUsageError ??= error;
|
|
666
|
+
const activeCacheContext = cacheContextStorage.getStore();
|
|
667
|
+
if (activeCacheContext && activeCacheContext !== cacheContext) activeCacheContext.invalidDynamicUsageError ??= error;
|
|
668
|
+
if (requestContext) recordInvalidDynamicUsageError(requestContext, error);
|
|
669
|
+
throw error;
|
|
670
|
+
}
|
|
671
|
+
const value = Reflect.get(target, prop, receiver);
|
|
672
|
+
return typeof value === "function" ? value.bind(target) : value;
|
|
673
|
+
} });
|
|
646
674
|
}
|
|
647
675
|
//#endregion
|
|
648
676
|
export { NestedDynamicUseCacheError, buildUseCacheKey, cacheContextStorage, clearPrivateCache, getCacheContext, isUseCacheFunction, memoizeInCacheScope, registerCachedFunction, replayCachedFunction, runWithPrivateCache };
|
package/dist/shims/cache.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ExecutionContextLike, getRequestExecutionContext, runWithExecutionContext } from "./request-context.js";
|
|
2
2
|
import { _recordUseCacheRootParamRead, _registerCacheContextAccessor, getRegisteredCacheContext } from "./internal/cache-context-accessor.js";
|
|
3
|
-
import { ACTION_DID_REVALIDATE_DYNAMIC_ONLY, ACTION_DID_REVALIDATE_STATIC_AND_DYNAMIC, ActionRevalidationKind, CacheLifeConfig, CacheLifeSink, CacheState, UnstableCacheObservation, UnstableCacheRevalidationMode, _captureRequestScopedCacheLifeAccessors, _consumeRequestScopedCacheLife, _drainPendingRevalidations, _hasPendingRevalidatedTag, _initRequestScopedCacheState, _markPendingRevalidatedTag, _peekRequestScopedCacheLife, _peekUnstableCacheObservations, _queuePendingRevalidation, _runWithCacheState, _setRequestScopedCacheLife, cacheLifeProfiles, getAndClearActionRevalidationKind, markActionRevalidation, recordUnstableCacheObservation, runWithDetachedCacheObservations, shouldServeStaleUnstableCacheEntry } from "./cache-request-state.js";
|
|
3
|
+
import { ACTION_DID_REVALIDATE_DYNAMIC_ONLY, ACTION_DID_REVALIDATE_STATIC_AND_DYNAMIC, ActionRevalidationKind, CacheLifeConfig, CacheLifeSink, CacheState, PendingCdnTagInvalidation, UnstableCacheObservation, UnstableCacheRevalidationMode, _captureRequestScopedCacheLifeAccessors, _consumeRequestScopedCacheLife, _drainPendingRevalidations, _hasPendingRevalidatedTag, _initRequestScopedCacheState, _markPendingRevalidatedTag, _peekRequestScopedCacheLife, _peekUnstableCacheObservations, _queuePendingCdnTagInvalidation, _queuePendingRevalidation, _revalidateCdnTags, _runWithCacheState, _setRequestScopedCacheLife, cacheLifeProfiles, getAndClearActionRevalidationKind, markActionRevalidation, recordUnstableCacheObservation, runWithDetachedCacheObservations, shouldServeStaleUnstableCacheEntry } from "./cache-request-state.js";
|
|
4
4
|
import { CacheControlMetadata, CacheHandler, CacheHandlerContext, CacheHandlerValue, CachedAppPageValue, CachedFetchValue, CachedImageValue, CachedPagesValue, CachedRedirectValue, CachedRouteValue, IncrementalCacheValue, MemoryCacheHandler, NoOpCacheHandler, configureMemoryCacheHandler, getCacheHandler, getDataCacheHandler, registerDataCacheHandler, registerLazyDataCacheHandler, setCacheHandler, setDataCacheHandler } from "./cache-handler.js";
|
|
5
5
|
//#region src/shims/cache.d.ts
|
|
6
6
|
/**
|
|
@@ -142,4 +142,4 @@ type UnstableCacheOptions = {
|
|
|
142
142
|
*/
|
|
143
143
|
export declare function unstable_cache<T extends (...args: any[]) => Promise<any>>(fn: T, keyParts?: string[], options?: UnstableCacheOptions): T;
|
|
144
144
|
//#endregion
|
|
145
|
-
export { ACTION_DID_REVALIDATE_DYNAMIC_ONLY, ACTION_DID_REVALIDATE_STATIC_AND_DYNAMIC, ActionRevalidationKind, CacheControlMetadata, CacheHandler, CacheHandlerContext, CacheHandlerValue, CacheLifeConfig, CacheLifeSink, CacheState, CachedAppPageValue, CachedFetchValue, CachedImageValue, CachedPagesValue, CachedRedirectValue, CachedRouteValue, type ExecutionContextLike, IncrementalCacheValue, MemoryCacheHandler, NoOpCacheHandler, UnstableCacheObservation, UnstableCacheRevalidationMode, _captureRequestScopedCacheLifeAccessors, _consumeRequestScopedCacheLife, _drainPendingRevalidations, _hasPendingRevalidatedTag, _initRequestScopedCacheState, _markPendingRevalidatedTag, _peekRequestScopedCacheLife, _peekUnstableCacheObservations, _queuePendingRevalidation, _recordUseCacheRootParamRead, _registerCacheContextAccessor, _runWithCacheState, _setRequestScopedCacheLife, cacheLifeProfiles, configureMemoryCacheHandler, getAndClearActionRevalidationKind, getCacheHandler, getDataCacheHandler, getRegisteredCacheContext, getRequestExecutionContext, markActionRevalidation, unstable_noStore as noStore, recordUnstableCacheObservation, registerDataCacheHandler, registerLazyDataCacheHandler, runWithDetachedCacheObservations, runWithExecutionContext, setCacheHandler, setDataCacheHandler, shouldServeStaleUnstableCacheEntry };
|
|
145
|
+
export { ACTION_DID_REVALIDATE_DYNAMIC_ONLY, ACTION_DID_REVALIDATE_STATIC_AND_DYNAMIC, ActionRevalidationKind, CacheControlMetadata, CacheHandler, CacheHandlerContext, CacheHandlerValue, CacheLifeConfig, CacheLifeSink, CacheState, CachedAppPageValue, CachedFetchValue, CachedImageValue, CachedPagesValue, CachedRedirectValue, CachedRouteValue, type ExecutionContextLike, IncrementalCacheValue, MemoryCacheHandler, NoOpCacheHandler, PendingCdnTagInvalidation, UnstableCacheObservation, UnstableCacheRevalidationMode, _captureRequestScopedCacheLifeAccessors, _consumeRequestScopedCacheLife, _drainPendingRevalidations, _hasPendingRevalidatedTag, _initRequestScopedCacheState, _markPendingRevalidatedTag, _peekRequestScopedCacheLife, _peekUnstableCacheObservations, _queuePendingCdnTagInvalidation, _queuePendingRevalidation, _recordUseCacheRootParamRead, _registerCacheContextAccessor, _revalidateCdnTags, _runWithCacheState, _setRequestScopedCacheLife, cacheLifeProfiles, configureMemoryCacheHandler, getAndClearActionRevalidationKind, getCacheHandler, getDataCacheHandler, getRegisteredCacheContext, getRequestExecutionContext, markActionRevalidation, unstable_noStore as noStore, recordUnstableCacheObservation, registerDataCacheHandler, registerLazyDataCacheHandler, runWithDetachedCacheObservations, runWithExecutionContext, setCacheHandler, setDataCacheHandler, shouldServeStaleUnstableCacheEntry };
|