@qzsy/vinext 0.1.7
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/LICENSE +21 -0
- package/README.md +773 -0
- package/dist/build/assets-ignore.d.ts +32 -0
- package/dist/build/assets-ignore.js +48 -0
- package/dist/build/clean-output.d.ts +13 -0
- package/dist/build/clean-output.js +34 -0
- package/dist/build/client-build-config.d.ts +171 -0
- package/dist/build/client-build-config.js +270 -0
- package/dist/build/css-url-assets.d.ts +29 -0
- package/dist/build/css-url-assets.js +213 -0
- package/dist/build/google-fonts/build-url.d.ts +9 -0
- package/dist/build/google-fonts/build-url.js +28 -0
- package/dist/build/google-fonts/fallback-metrics-data.js +14029 -0
- package/dist/build/google-fonts/fallback-metrics.d.ts +12 -0
- package/dist/build/google-fonts/fallback-metrics.js +44 -0
- package/dist/build/google-fonts/find-font-files-in-css.d.ts +16 -0
- package/dist/build/google-fonts/find-font-files-in-css.js +28 -0
- package/dist/build/google-fonts/font-data.js +24983 -0
- package/dist/build/google-fonts/font-metadata.d.ts +16 -0
- package/dist/build/google-fonts/font-metadata.js +5 -0
- package/dist/build/google-fonts/get-axes.d.ts +6 -0
- package/dist/build/google-fonts/get-axes.js +37 -0
- package/dist/build/google-fonts/sort-variants.d.ts +4 -0
- package/dist/build/google-fonts/sort-variants.js +12 -0
- package/dist/build/google-fonts/validate.d.ts +27 -0
- package/dist/build/google-fonts/validate.js +54 -0
- package/dist/build/inline-css.d.ts +6 -0
- package/dist/build/inline-css.js +48 -0
- package/dist/build/layout-classification-types.d.ts +61 -0
- package/dist/build/layout-classification-types.js +1 -0
- package/dist/build/layout-classification.d.ts +59 -0
- package/dist/build/layout-classification.js +98 -0
- 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 +49 -0
- package/dist/build/nitro-route-rules.js +79 -0
- package/dist/build/precompress.d.ts +27 -0
- package/dist/build/precompress.js +110 -0
- package/dist/build/prerender.d.ts +209 -0
- package/dist/build/prerender.js +932 -0
- package/dist/build/report.d.ts +132 -0
- package/dist/build/report.js +504 -0
- package/dist/build/route-classification-injector.d.ts +34 -0
- package/dist/build/route-classification-injector.js +59 -0
- package/dist/build/route-classification-manifest.d.ts +52 -0
- package/dist/build/route-classification-manifest.js +143 -0
- package/dist/build/run-prerender.d.ts +61 -0
- package/dist/build/run-prerender.js +224 -0
- package/dist/build/server-manifest.d.ts +18 -0
- package/dist/build/server-manifest.js +22 -0
- package/dist/build/ssr-manifest.d.ts +18 -0
- package/dist/build/ssr-manifest.js +69 -0
- package/dist/build/standalone.d.ts +31 -0
- package/dist/build/standalone.js +203 -0
- package/dist/build/static-export.d.ts +55 -0
- package/dist/build/static-export.js +60 -0
- package/dist/cache/cache-adapters-virtual.d.ts +50 -0
- package/dist/cache/cache-adapters-virtual.js +45 -0
- package/dist/cache.d.ts +2 -0
- package/dist/cache.js +2 -0
- package/dist/check.d.ts +87 -0
- package/dist/check.js +1037 -0
- package/dist/cli-args.d.ts +33 -0
- package/dist/cli-args.js +124 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +744 -0
- package/dist/client/app-nav-failure-handler.d.ts +8 -0
- package/dist/client/app-nav-failure-handler.js +44 -0
- package/dist/client/empty-module.d.ts +1 -0
- package/dist/client/empty-module.js +1 -0
- package/dist/client/instrumentation-client-inject.d.ts +33 -0
- package/dist/client/instrumentation-client-inject.js +55 -0
- package/dist/client/instrumentation-client-state.d.ts +9 -0
- package/dist/client/instrumentation-client-state.js +17 -0
- package/dist/client/instrumentation-client.d.ts +7 -0
- package/dist/client/instrumentation-client.js +6 -0
- package/dist/client/navigation-runtime.d.ts +70 -0
- package/dist/client/navigation-runtime.js +169 -0
- package/dist/client/pages-router-link-navigation.d.ts +61 -0
- package/dist/client/pages-router-link-navigation.js +42 -0
- package/dist/client/validate-module-path.d.ts +17 -0
- package/dist/client/validate-module-path.js +24 -0
- package/dist/client/vinext-next-data.d.ts +44 -0
- package/dist/client/vinext-next-data.js +50 -0
- package/dist/client/window-next.d.ts +168 -0
- package/dist/client/window-next.js +57 -0
- package/dist/cloudflare/index.d.ts +3 -0
- package/dist/cloudflare/index.js +3 -0
- package/dist/cloudflare/src/cache/cdn-adapter.runtime.js +102 -0
- package/dist/cloudflare/src/cache/kv-data-adapter.runtime.d.ts +126 -0
- package/dist/cloudflare/src/cache/kv-data-adapter.runtime.js +435 -0
- package/dist/cloudflare/src/utils/cache-control-metadata.js +20 -0
- package/dist/cloudflare/tpr.d.ts +82 -0
- package/dist/cloudflare/tpr.js +558 -0
- package/dist/config/config-matchers.d.ts +257 -0
- package/dist/config/config-matchers.js +1046 -0
- package/dist/config/dotenv.d.ts +56 -0
- package/dist/config/dotenv.js +88 -0
- package/dist/config/next-config.d.ts +540 -0
- package/dist/config/next-config.js +1050 -0
- package/dist/config/tsconfig-paths.d.ts +21 -0
- package/dist/config/tsconfig-paths.js +157 -0
- package/dist/deploy.d.ts +190 -0
- package/dist/deploy.js +1033 -0
- package/dist/entries/app-browser-entry.d.ts +29 -0
- package/dist/entries/app-browser-entry.js +83 -0
- package/dist/entries/app-rsc-entry.d.ts +81 -0
- package/dist/entries/app-rsc-entry.js +943 -0
- package/dist/entries/app-rsc-manifest.d.ts +53 -0
- package/dist/entries/app-rsc-manifest.js +294 -0
- package/dist/entries/app-ssr-entry.d.ts +15 -0
- package/dist/entries/app-ssr-entry.js +24 -0
- package/dist/entries/pages-client-entry.d.ts +11 -0
- package/dist/entries/pages-client-entry.js +204 -0
- package/dist/entries/pages-entry-helpers.d.ts +2 -0
- package/dist/entries/pages-entry-helpers.js +2 -0
- package/dist/entries/pages-server-entry.d.ts +11 -0
- package/dist/entries/pages-server-entry.js +398 -0
- package/dist/entries/runtime-entry-module.d.ts +25 -0
- package/dist/entries/runtime-entry-module.js +46 -0
- package/dist/index.d.ts +115 -0
- package/dist/index.js +2661 -0
- package/dist/init.d.ts +69 -0
- package/dist/init.js +253 -0
- 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 +18 -0
- package/dist/plugins/async-hooks-stub.js +40 -0
- package/dist/plugins/client-reference-dedup.d.ts +35 -0
- package/dist/plugins/client-reference-dedup.js +189 -0
- package/dist/plugins/css-data-url.d.ts +6 -0
- package/dist/plugins/css-data-url.js +83 -0
- package/dist/plugins/dynamic-preload-metadata.d.ts +13 -0
- package/dist/plugins/dynamic-preload-metadata.js +413 -0
- package/dist/plugins/extensionless-dynamic-import.d.ts +6 -0
- package/dist/plugins/extensionless-dynamic-import.js +155 -0
- package/dist/plugins/fonts.d.ts +95 -0
- package/dist/plugins/fonts.js +711 -0
- package/dist/plugins/import-meta-url.d.ts +16 -0
- package/dist/plugins/import-meta-url.js +353 -0
- package/dist/plugins/instrumentation-client.d.ts +6 -0
- package/dist/plugins/instrumentation-client.js +27 -0
- package/dist/plugins/middleware-export-validation.d.ts +5 -0
- package/dist/plugins/middleware-export-validation.js +36 -0
- package/dist/plugins/middleware-server-only.d.ts +53 -0
- package/dist/plugins/middleware-server-only.js +90 -0
- package/dist/plugins/og-asset-ownership.d.ts +27 -0
- package/dist/plugins/og-asset-ownership.js +285 -0
- package/dist/plugins/og-assets.d.ts +50 -0
- package/dist/plugins/og-assets.js +229 -0
- package/dist/plugins/optimize-imports.d.ts +42 -0
- package/dist/plugins/optimize-imports.js +587 -0
- package/dist/plugins/postcss.d.ts +26 -0
- package/dist/plugins/postcss.js +96 -0
- package/dist/plugins/remove-console.d.ts +21 -0
- package/dist/plugins/remove-console.js +177 -0
- package/dist/plugins/require-context.d.ts +6 -0
- package/dist/plugins/require-context.js +185 -0
- package/dist/plugins/rsc-client-reference-loaders.d.ts +6 -0
- package/dist/plugins/rsc-client-reference-loaders.js +46 -0
- package/dist/plugins/rsc-client-shim-excludes.d.ts +6 -0
- package/dist/plugins/rsc-client-shim-excludes.js +35 -0
- package/dist/plugins/sass.d.ts +62 -0
- package/dist/plugins/sass.js +268 -0
- package/dist/plugins/server-externals-manifest.d.ts +26 -0
- package/dist/plugins/server-externals-manifest.js +81 -0
- package/dist/plugins/strip-server-exports.d.ts +21 -0
- package/dist/plugins/strip-server-exports.js +519 -0
- package/dist/plugins/typeof-window.d.ts +14 -0
- package/dist/plugins/typeof-window.js +150 -0
- package/dist/plugins/wasm-module-import.d.ts +15 -0
- package/dist/plugins/wasm-module-import.js +50 -0
- package/dist/routing/app-route-graph.d.ts +336 -0
- package/dist/routing/app-route-graph.js +1518 -0
- package/dist/routing/app-router.d.ts +30 -0
- package/dist/routing/app-router.js +59 -0
- package/dist/routing/file-matcher.d.ts +60 -0
- package/dist/routing/file-matcher.js +147 -0
- package/dist/routing/pages-router.d.ts +48 -0
- package/dist/routing/pages-router.js +163 -0
- package/dist/routing/route-matching.d.ts +27 -0
- package/dist/routing/route-matching.js +42 -0
- package/dist/routing/route-pattern.d.ts +64 -0
- package/dist/routing/route-pattern.js +165 -0
- package/dist/routing/route-trie.d.ts +67 -0
- package/dist/routing/route-trie.js +143 -0
- package/dist/routing/route-validation.d.ts +10 -0
- package/dist/routing/route-validation.js +101 -0
- package/dist/routing/utils.d.ts +117 -0
- package/dist/routing/utils.js +242 -0
- package/dist/server/accept-encoding.d.ts +29 -0
- package/dist/server/accept-encoding.js +95 -0
- package/dist/server/api-handler.d.ts +17 -0
- package/dist/server/api-handler.js +276 -0
- package/dist/server/app-action-request.d.ts +4 -0
- package/dist/server/app-action-request.js +9 -0
- package/dist/server/app-bfcache-id.d.ts +5 -0
- package/dist/server/app-bfcache-id.js +5 -0
- package/dist/server/app-bfcache-identity.d.ts +36 -0
- package/dist/server/app-bfcache-identity.js +156 -0
- package/dist/server/app-browser-action-result.d.ts +64 -0
- package/dist/server/app-browser-action-result.js +111 -0
- 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.d.ts +1 -0
- package/dist/server/app-browser-entry.js +1087 -0
- package/dist/server/app-browser-error.d.ts +13 -0
- package/dist/server/app-browser-error.js +52 -0
- package/dist/server/app-browser-history-controller.d.ts +104 -0
- package/dist/server/app-browser-history-controller.js +210 -0
- package/dist/server/app-browser-hydration.d.ts +32 -0
- package/dist/server/app-browser-hydration.js +29 -0
- package/dist/server/app-browser-interception-context.d.ts +24 -0
- package/dist/server/app-browser-interception-context.js +43 -0
- package/dist/server/app-browser-mpa-navigation.d.ts +16 -0
- package/dist/server/app-browser-mpa-navigation.js +42 -0
- package/dist/server/app-browser-navigation-controller.d.ts +109 -0
- package/dist/server/app-browser-navigation-controller.js +465 -0
- package/dist/server/app-browser-popstate.d.ts +26 -0
- package/dist/server/app-browser-popstate.js +44 -0
- package/dist/server/app-browser-rsc-redirect.d.ts +38 -0
- package/dist/server/app-browser-rsc-redirect.js +64 -0
- package/dist/server/app-browser-server-action-client.d.ts +32 -0
- package/dist/server/app-browser-server-action-client.js +128 -0
- package/dist/server/app-browser-server-action-navigation.d.ts +6 -0
- package/dist/server/app-browser-server-action-navigation.js +9 -0
- package/dist/server/app-browser-state.d.ts +140 -0
- package/dist/server/app-browser-state.js +315 -0
- package/dist/server/app-browser-stream.d.ts +28 -0
- package/dist/server/app-browser-stream.js +122 -0
- package/dist/server/app-browser-visible-commit.d.ts +78 -0
- package/dist/server/app-browser-visible-commit.js +241 -0
- package/dist/server/app-client-reference-preloader.d.ts +14 -0
- package/dist/server/app-client-reference-preloader.js +44 -0
- package/dist/server/app-elements-wire.d.ts +192 -0
- package/dist/server/app-elements-wire.js +443 -0
- package/dist/server/app-elements.d.ts +9 -0
- package/dist/server/app-elements.js +18 -0
- package/dist/server/app-fallback-renderer.d.ts +89 -0
- package/dist/server/app-fallback-renderer.js +136 -0
- package/dist/server/app-history-state.d.ts +85 -0
- package/dist/server/app-history-state.js +223 -0
- package/dist/server/app-hook-warning-suppression.d.ts +6 -0
- package/dist/server/app-hook-warning-suppression.js +10 -0
- package/dist/server/app-inline-css-client.d.ts +6 -0
- package/dist/server/app-inline-css-client.js +35 -0
- package/dist/server/app-interception-context-header.d.ts +32 -0
- package/dist/server/app-interception-context-header.js +42 -0
- package/dist/server/app-layout-param-observation.d.ts +43 -0
- package/dist/server/app-layout-param-observation.js +168 -0
- package/dist/server/app-middleware.d.ts +46 -0
- package/dist/server/app-middleware.js +168 -0
- package/dist/server/app-mounted-slots-header.d.ts +35 -0
- package/dist/server/app-mounted-slots-header.js +58 -0
- package/dist/server/app-optimistic-routing.d.ts +53 -0
- package/dist/server/app-optimistic-routing.js +227 -0
- package/dist/server/app-page-boundary-render.d.ts +85 -0
- package/dist/server/app-page-boundary-render.js +305 -0
- package/dist/server/app-page-boundary.d.ts +102 -0
- package/dist/server/app-page-boundary.js +120 -0
- package/dist/server/app-page-cache-finalizer.d.ts +62 -0
- package/dist/server/app-page-cache-finalizer.js +122 -0
- package/dist/server/app-page-cache-render.d.ts +53 -0
- package/dist/server/app-page-cache-render.js +91 -0
- package/dist/server/app-page-cache.d.ts +83 -0
- package/dist/server/app-page-cache.js +272 -0
- package/dist/server/app-page-dispatch.d.ts +223 -0
- package/dist/server/app-page-dispatch.js +610 -0
- package/dist/server/app-page-element-builder.d.ts +96 -0
- package/dist/server/app-page-element-builder.js +205 -0
- package/dist/server/app-page-execution.d.ts +138 -0
- package/dist/server/app-page-execution.js +328 -0
- package/dist/server/app-page-head.d.ts +65 -0
- package/dist/server/app-page-head.js +228 -0
- package/dist/server/app-page-method.d.ts +15 -0
- package/dist/server/app-page-method.js +25 -0
- package/dist/server/app-page-params.d.ts +8 -0
- package/dist/server/app-page-params.js +39 -0
- package/dist/server/app-page-ppr-runtime.d.ts +7 -0
- package/dist/server/app-page-ppr-runtime.js +70 -0
- package/dist/server/app-page-probe.d.ts +134 -0
- package/dist/server/app-page-probe.js +276 -0
- package/dist/server/app-page-render-identity.d.ts +21 -0
- package/dist/server/app-page-render-identity.js +40 -0
- package/dist/server/app-page-render-observation.d.ts +36 -0
- package/dist/server/app-page-render-observation.js +82 -0
- package/dist/server/app-page-render.d.ts +111 -0
- package/dist/server/app-page-render.js +602 -0
- package/dist/server/app-page-request.d.ts +137 -0
- package/dist/server/app-page-request.js +216 -0
- package/dist/server/app-page-response.d.ts +68 -0
- package/dist/server/app-page-response.js +120 -0
- package/dist/server/app-page-route-wiring.d.ts +151 -0
- package/dist/server/app-page-route-wiring.js +452 -0
- 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 +9 -0
- package/dist/server/app-page-segment-state.js +80 -0
- package/dist/server/app-page-stream.d.ts +151 -0
- package/dist/server/app-page-stream.js +143 -0
- package/dist/server/app-pages-bridge.d.ts +63 -0
- package/dist/server/app-pages-bridge.js +63 -0
- package/dist/server/app-post-middleware-context.d.ts +15 -0
- package/dist/server/app-post-middleware-context.js +26 -0
- package/dist/server/app-ppr-fallback-shell-render.d.ts +18 -0
- package/dist/server/app-ppr-fallback-shell-render.js +26 -0
- package/dist/server/app-ppr-fallback-shell.d.ts +33 -0
- package/dist/server/app-ppr-fallback-shell.js +89 -0
- package/dist/server/app-prerender-endpoints.d.ts +18 -0
- package/dist/server/app-prerender-endpoints.js +94 -0
- package/dist/server/app-prerender-static-params.d.ts +30 -0
- package/dist/server/app-prerender-static-params.js +81 -0
- package/dist/server/app-render-dependency.d.ts +14 -0
- package/dist/server/app-render-dependency.js +41 -0
- package/dist/server/app-request-context.d.ts +20 -0
- package/dist/server/app-request-context.js +29 -0
- package/dist/server/app-route-handler-cache.d.ts +46 -0
- package/dist/server/app-route-handler-cache.js +78 -0
- package/dist/server/app-route-handler-dispatch.d.ts +49 -0
- package/dist/server/app-route-handler-dispatch.js +163 -0
- package/dist/server/app-route-handler-execution.d.ts +86 -0
- package/dist/server/app-route-handler-execution.js +128 -0
- package/dist/server/app-route-handler-policy.d.ts +55 -0
- package/dist/server/app-route-handler-policy.js +58 -0
- package/dist/server/app-route-handler-response.d.ts +28 -0
- package/dist/server/app-route-handler-response.js +145 -0
- package/dist/server/app-route-handler-runtime.d.ts +39 -0
- package/dist/server/app-route-handler-runtime.js +250 -0
- package/dist/server/app-route-module-loader.d.ts +91 -0
- package/dist/server/app-route-module-loader.js +83 -0
- package/dist/server/app-router-entry.d.ts +13 -0
- package/dist/server/app-router-entry.js +49 -0
- package/dist/server/app-rsc-cache-busting.d.ts +64 -0
- package/dist/server/app-rsc-cache-busting.js +206 -0
- package/dist/server/app-rsc-embedded-chunks.d.ts +8 -0
- package/dist/server/app-rsc-embedded-chunks.js +32 -0
- package/dist/server/app-rsc-error-handler.d.ts +20 -0
- package/dist/server/app-rsc-error-handler.js +28 -0
- package/dist/server/app-rsc-errors.d.ts +40 -0
- package/dist/server/app-rsc-errors.js +60 -0
- package/dist/server/app-rsc-handler.d.ts +201 -0
- package/dist/server/app-rsc-handler.js +538 -0
- package/dist/server/app-rsc-render-mode.d.ts +11 -0
- package/dist/server/app-rsc-render-mode.js +25 -0
- package/dist/server/app-rsc-request-normalization.d.ts +48 -0
- package/dist/server/app-rsc-request-normalization.js +75 -0
- package/dist/server/app-rsc-response-finalizer.d.ts +37 -0
- package/dist/server/app-rsc-response-finalizer.js +54 -0
- package/dist/server/app-rsc-route-matching.d.ts +93 -0
- package/dist/server/app-rsc-route-matching.js +134 -0
- package/dist/server/app-segment-config.d.ts +46 -0
- package/dist/server/app-segment-config.js +113 -0
- package/dist/server/app-server-action-execution.d.ts +219 -0
- package/dist/server/app-server-action-execution.js +767 -0
- package/dist/server/app-ssr-entry.d.ts +52 -0
- package/dist/server/app-ssr-entry.js +295 -0
- package/dist/server/app-ssr-error-meta.d.ts +13 -0
- package/dist/server/app-ssr-error-meta.js +48 -0
- package/dist/server/app-ssr-router-instance.d.ts +6 -0
- package/dist/server/app-ssr-router-instance.js +24 -0
- package/dist/server/app-ssr-stream.d.ts +60 -0
- package/dist/server/app-ssr-stream.js +408 -0
- package/dist/server/app-static-generation.d.ts +15 -0
- package/dist/server/app-static-generation.js +19 -0
- 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 +54 -0
- package/dist/server/artifact-compatibility.js +91 -0
- package/dist/server/before-interactive-head.d.ts +17 -0
- package/dist/server/before-interactive-head.js +35 -0
- package/dist/server/cache-control.d.ts +37 -0
- package/dist/server/cache-control.js +56 -0
- package/dist/server/cache-headers.d.ts +6 -0
- package/dist/server/cache-headers.js +17 -0
- package/dist/server/cache-proof.d.ts +364 -0
- package/dist/server/cache-proof.js +794 -0
- package/dist/server/client-reuse-manifest.d.ts +104 -0
- package/dist/server/client-reuse-manifest.js +209 -0
- package/dist/server/client-trace-metadata.d.ts +30 -0
- package/dist/server/client-trace-metadata.js +81 -0
- package/dist/server/cookie-utils.d.ts +12 -0
- package/dist/server/cookie-utils.js +18 -0
- package/dist/server/csp.d.ts +10 -0
- package/dist/server/csp.js +41 -0
- package/dist/server/default-global-error-module.d.ts +19 -0
- package/dist/server/default-global-error-module.js +18 -0
- package/dist/server/default-not-found-module.d.ts +19 -0
- package/dist/server/default-not-found-module.js +18 -0
- package/dist/server/defer-until-stream-consumed.d.ts +7 -0
- package/dist/server/defer-until-stream-consumed.js +34 -0
- package/dist/server/dev-error-overlay-store.d.ts +39 -0
- package/dist/server/dev-error-overlay-store.js +86 -0
- package/dist/server/dev-error-overlay.d.ts +51 -0
- package/dist/server/dev-error-overlay.js +1341 -0
- 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 +109 -0
- package/dist/server/dev-lockfile.js +179 -0
- package/dist/server/dev-module-runner.d.ts +30 -0
- package/dist/server/dev-module-runner.js +91 -0
- package/dist/server/dev-origin-check.d.ts +62 -0
- package/dist/server/dev-origin-check.js +156 -0
- package/dist/server/dev-route-files.d.ts +6 -0
- package/dist/server/dev-route-files.js +71 -0
- package/dist/server/dev-server.d.ts +58 -0
- package/dist/server/dev-server.js +1114 -0
- package/dist/server/dev-stack-sourcemap-endpoint.d.ts +4 -0
- package/dist/server/dev-stack-sourcemap-endpoint.js +4 -0
- package/dist/server/dev-stack-sourcemap.d.ts +43 -0
- package/dist/server/dev-stack-sourcemap.js +443 -0
- package/dist/server/document-initial-head.d.ts +6 -0
- package/dist/server/document-initial-head.js +33 -0
- package/dist/server/edge-api-runtime.d.ts +4 -0
- package/dist/server/edge-api-runtime.js +6 -0
- package/dist/server/file-based-metadata.d.ts +29 -0
- package/dist/server/file-based-metadata.js +401 -0
- package/dist/server/headers.d.ts +114 -0
- package/dist/server/headers.js +136 -0
- package/dist/server/html.d.ts +28 -0
- package/dist/server/html.js +41 -0
- package/dist/server/http-error-responses.d.ts +91 -0
- package/dist/server/http-error-responses.js +105 -0
- package/dist/server/hybrid-route-priority.d.ts +22 -0
- package/dist/server/hybrid-route-priority.js +33 -0
- package/dist/server/image-optimization.d.ts +130 -0
- package/dist/server/image-optimization.js +247 -0
- package/dist/server/implicit-tags.d.ts +6 -0
- package/dist/server/implicit-tags.js +44 -0
- package/dist/server/instrumentation-runtime.d.ts +49 -0
- package/dist/server/instrumentation-runtime.js +35 -0
- package/dist/server/instrumentation.d.ts +85 -0
- package/dist/server/instrumentation.js +130 -0
- package/dist/server/isr-cache.d.ts +127 -0
- package/dist/server/isr-cache.js +282 -0
- package/dist/server/isr-decision.d.ts +79 -0
- package/dist/server/isr-decision.js +70 -0
- package/dist/server/metadata-route-build-data.d.ts +24 -0
- package/dist/server/metadata-route-build-data.js +148 -0
- package/dist/server/metadata-route-response.d.ts +16 -0
- package/dist/server/metadata-route-response.js +205 -0
- package/dist/server/metadata-routes.d.ts +139 -0
- package/dist/server/metadata-routes.js +433 -0
- package/dist/server/middleware-matcher.d.ts +14 -0
- package/dist/server/middleware-matcher.js +111 -0
- package/dist/server/middleware-request-headers.d.ts +11 -0
- package/dist/server/middleware-request-headers.js +65 -0
- package/dist/server/middleware-response-headers.d.ts +12 -0
- package/dist/server/middleware-response-headers.js +42 -0
- package/dist/server/middleware-runtime.d.ts +67 -0
- package/dist/server/middleware-runtime.js +240 -0
- package/dist/server/middleware.d.ts +62 -0
- package/dist/server/middleware.js +114 -0
- package/dist/server/navigation-planner.d.ts +308 -0
- package/dist/server/navigation-planner.js +831 -0
- package/dist/server/navigation-trace.d.ts +68 -0
- package/dist/server/navigation-trace.js +71 -0
- package/dist/server/next-error-digest.d.ts +44 -0
- package/dist/server/next-error-digest.js +40 -0
- package/dist/server/normalize-path.d.ts +38 -0
- package/dist/server/normalize-path.js +70 -0
- package/dist/server/open-redirect.d.ts +12 -0
- package/dist/server/open-redirect.js +21 -0
- package/dist/server/operation-token.d.ts +40 -0
- package/dist/server/operation-token.js +85 -0
- package/dist/server/otel-tracer-extension.d.ts +45 -0
- package/dist/server/otel-tracer-extension.js +89 -0
- package/dist/server/pages-api-route.d.ts +83 -0
- package/dist/server/pages-api-route.js +75 -0
- package/dist/server/pages-asset-tags.d.ts +78 -0
- package/dist/server/pages-asset-tags.js +126 -0
- package/dist/server/pages-body-parser-config.d.ts +59 -0
- package/dist/server/pages-body-parser-config.js +77 -0
- package/dist/server/pages-data-route.d.ts +121 -0
- package/dist/server/pages-data-route.js +157 -0
- package/dist/server/pages-default-404.d.ts +30 -0
- package/dist/server/pages-default-404.js +38 -0
- package/dist/server/pages-dev-module-url.d.ts +4 -0
- package/dist/server/pages-dev-module-url.js +15 -0
- package/dist/server/pages-document-initial-props.d.ts +77 -0
- package/dist/server/pages-document-initial-props.js +109 -0
- package/dist/server/pages-get-initial-props.d.ts +67 -0
- package/dist/server/pages-get-initial-props.js +92 -0
- package/dist/server/pages-i18n.d.ts +106 -0
- package/dist/server/pages-i18n.js +183 -0
- package/dist/server/pages-media-type.d.ts +15 -0
- package/dist/server/pages-media-type.js +24 -0
- package/dist/server/pages-node-compat.d.ts +55 -0
- package/dist/server/pages-node-compat.js +235 -0
- package/dist/server/pages-page-data.d.ts +223 -0
- package/dist/server/pages-page-data.js +484 -0
- package/dist/server/pages-page-handler.d.ts +100 -0
- package/dist/server/pages-page-handler.js +403 -0
- package/dist/server/pages-page-method.d.ts +47 -0
- package/dist/server/pages-page-method.js +17 -0
- package/dist/server/pages-page-response.d.ts +138 -0
- package/dist/server/pages-page-response.js +285 -0
- package/dist/server/pages-readiness.d.ts +36 -0
- package/dist/server/pages-readiness.js +21 -0
- package/dist/server/pages-request-pipeline.d.ts +116 -0
- package/dist/server/pages-request-pipeline.js +311 -0
- package/dist/server/pages-revalidate.d.ts +15 -0
- package/dist/server/pages-revalidate.js +19 -0
- package/dist/server/pages-serializable-props.d.ts +24 -0
- package/dist/server/pages-serializable-props.js +67 -0
- package/dist/server/pregenerated-concrete-paths.d.ts +16 -0
- package/dist/server/pregenerated-concrete-paths.js +61 -0
- package/dist/server/prerender-manifest.d.ts +33 -0
- package/dist/server/prerender-manifest.js +54 -0
- package/dist/server/prerender-route-params.d.ts +23 -0
- package/dist/server/prerender-route-params.js +113 -0
- package/dist/server/prerender-work-unit-setup.d.ts +6 -0
- package/dist/server/prerender-work-unit-setup.js +28 -0
- package/dist/server/prod-server.d.ts +148 -0
- package/dist/server/prod-server.js +1136 -0
- package/dist/server/proxy-trust.d.ts +40 -0
- package/dist/server/proxy-trust.js +68 -0
- package/dist/server/request-log.d.ts +39 -0
- package/dist/server/request-log.js +56 -0
- package/dist/server/request-pipeline.d.ts +187 -0
- package/dist/server/request-pipeline.js +447 -0
- package/dist/server/rsc-stream-hints.d.ts +10 -0
- package/dist/server/rsc-stream-hints.js +41 -0
- package/dist/server/seed-cache.d.ts +29 -0
- package/dist/server/seed-cache.js +125 -0
- package/dist/server/server-action-not-found.d.ts +21 -0
- package/dist/server/server-action-not-found.js +62 -0
- package/dist/server/server-globals.d.ts +4 -0
- package/dist/server/server-globals.js +35 -0
- package/dist/server/skip-cache-proof.d.ts +61 -0
- package/dist/server/skip-cache-proof.js +168 -0
- package/dist/server/socket-error-backstop.d.ts +34 -0
- package/dist/server/socket-error-backstop.js +200 -0
- package/dist/server/static-file-cache.d.ts +56 -0
- package/dist/server/static-file-cache.js +231 -0
- package/dist/server/static-layout-client-reuse-proof.d.ts +15 -0
- package/dist/server/static-layout-client-reuse-proof.js +33 -0
- package/dist/server/streaming-metadata.d.ts +4 -0
- package/dist/server/streaming-metadata.js +8 -0
- package/dist/server/worker-utils.d.ts +7 -0
- package/dist/server/worker-utils.js +99 -0
- package/dist/shims/amp.d.ts +19 -0
- package/dist/shims/amp.js +23 -0
- package/dist/shims/app-router-scroll-state.d.ts +15 -0
- package/dist/shims/app-router-scroll-state.js +61 -0
- package/dist/shims/app-router-scroll.d.ts +29 -0
- package/dist/shims/app-router-scroll.js +141 -0
- package/dist/shims/app.d.ts +42 -0
- package/dist/shims/app.js +48 -0
- package/dist/shims/before-interactive-context.d.ts +40 -0
- package/dist/shims/before-interactive-context.js +8 -0
- package/dist/shims/cache-for-request.d.ts +57 -0
- package/dist/shims/cache-for-request.js +72 -0
- package/dist/shims/cache-handler.d.ts +106 -0
- package/dist/shims/cache-handler.js +176 -0
- package/dist/shims/cache-request-state.d.ts +47 -0
- package/dist/shims/cache-request-state.js +126 -0
- package/dist/shims/cache-runtime.d.ts +83 -0
- package/dist/shims/cache-runtime.js +452 -0
- package/dist/shims/cache.d.ts +145 -0
- package/dist/shims/cache.js +401 -0
- 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 +13 -0
- package/dist/shims/client-hook-error.js +17 -0
- package/dist/shims/client-locale.d.ts +14 -0
- package/dist/shims/client-locale.js +11 -0
- package/dist/shims/client-only.d.ts +1 -0
- package/dist/shims/client-only.js +1 -0
- package/dist/shims/compat-router.d.ts +16 -0
- package/dist/shims/compat-router.js +25 -0
- package/dist/shims/config.d.ts +28 -0
- package/dist/shims/config.js +21 -0
- package/dist/shims/constants.d.ts +130 -0
- package/dist/shims/constants.js +167 -0
- package/dist/shims/default-global-error.d.ts +31 -0
- package/dist/shims/default-global-error.js +179 -0
- package/dist/shims/default-not-found.d.ts +11 -0
- package/dist/shims/default-not-found.js +59 -0
- package/dist/shims/document.d.ts +92 -0
- package/dist/shims/document.js +76 -0
- package/dist/shims/dynamic-preload-chunks.d.ts +8 -0
- package/dist/shims/dynamic-preload-chunks.js +79 -0
- package/dist/shims/dynamic.d.ts +35 -0
- package/dist/shims/dynamic.js +204 -0
- package/dist/shims/error-boundary-navigation.d.ts +7 -0
- package/dist/shims/error-boundary-navigation.js +44 -0
- package/dist/shims/error-boundary.d.ts +155 -0
- package/dist/shims/error-boundary.js +342 -0
- package/dist/shims/error.d.ts +31 -0
- package/dist/shims/error.js +123 -0
- package/dist/shims/error.react-server.d.ts +9 -0
- package/dist/shims/error.react-server.js +6 -0
- package/dist/shims/fetch-cache.d.ts +136 -0
- package/dist/shims/fetch-cache.js +766 -0
- package/dist/shims/font-google-base.d.ts +83 -0
- package/dist/shims/font-google-base.js +290 -0
- package/dist/shims/font-google.d.ts +2 -0
- package/dist/shims/font-google.js +2 -0
- package/dist/shims/font-local.d.ts +50 -0
- package/dist/shims/font-local.js +195 -0
- package/dist/shims/font-utils.d.ts +56 -0
- package/dist/shims/font-utils.js +107 -0
- package/dist/shims/form.d.ts +19 -0
- package/dist/shims/form.js +236 -0
- package/dist/shims/hash-scroll.d.ts +10 -0
- package/dist/shims/hash-scroll.js +47 -0
- package/dist/shims/head-state.d.ts +16 -0
- package/dist/shims/head-state.js +43 -0
- package/dist/shims/head.d.ts +73 -0
- package/dist/shims/head.js +340 -0
- package/dist/shims/headers.d.ts +253 -0
- package/dist/shims/headers.js +754 -0
- package/dist/shims/i18n-context.d.ts +22 -0
- package/dist/shims/i18n-context.js +42 -0
- package/dist/shims/i18n-state.d.ts +14 -0
- package/dist/shims/i18n-state.js +38 -0
- package/dist/shims/image-config.d.ts +45 -0
- package/dist/shims/image-config.js +85 -0
- package/dist/shims/image.d.ts +55 -0
- package/dist/shims/image.js +582 -0
- package/dist/shims/internal/als-registry.d.ts +14 -0
- package/dist/shims/internal/als-registry.js +80 -0
- package/dist/shims/internal/api-utils.d.ts +14 -0
- package/dist/shims/internal/api-utils.js +1 -0
- package/dist/shims/internal/app-page-props-cache-key.d.ts +5 -0
- package/dist/shims/internal/app-page-props-cache-key.js +16 -0
- package/dist/shims/internal/app-route-detection.d.ts +39 -0
- package/dist/shims/internal/app-route-detection.js +62 -0
- package/dist/shims/internal/app-router-context.d.ts +31 -0
- package/dist/shims/internal/app-router-context.js +28 -0
- package/dist/shims/internal/cookie-serialize.d.ts +45 -0
- package/dist/shims/internal/cookie-serialize.js +49 -0
- package/dist/shims/internal/cookies.d.ts +2 -0
- package/dist/shims/internal/cookies.js +2 -0
- package/dist/shims/internal/hybrid-client-route-owner.d.ts +31 -0
- package/dist/shims/internal/hybrid-client-route-owner.js +143 -0
- package/dist/shims/internal/interpolate-as.d.ts +25 -0
- package/dist/shims/internal/interpolate-as.js +196 -0
- package/dist/shims/internal/link-status-registry.d.ts +43 -0
- package/dist/shims/internal/link-status-registry.js +42 -0
- package/dist/shims/internal/make-hanging-promise.d.ts +15 -0
- package/dist/shims/internal/make-hanging-promise.js +44 -0
- package/dist/shims/internal/navigation-untracked.d.ts +35 -0
- package/dist/shims/internal/navigation-untracked.js +56 -0
- package/dist/shims/internal/pages-data-fetch-dedup.d.ts +54 -0
- package/dist/shims/internal/pages-data-fetch-dedup.js +121 -0
- package/dist/shims/internal/pages-data-target.d.ts +62 -0
- package/dist/shims/internal/pages-data-target.js +98 -0
- package/dist/shims/internal/pages-data-url.d.ts +41 -0
- package/dist/shims/internal/pages-data-url.js +71 -0
- package/dist/shims/internal/pages-router-accessor.d.ts +19 -0
- package/dist/shims/internal/pages-router-accessor.js +13 -0
- package/dist/shims/internal/route-pattern-for-warning.d.ts +27 -0
- package/dist/shims/internal/route-pattern-for-warning.js +40 -0
- package/dist/shims/internal/router-context.d.ts +7 -0
- package/dist/shims/internal/router-context.js +13 -0
- package/dist/shims/internal/utils.d.ts +52 -0
- package/dist/shims/internal/utils.js +27 -0
- package/dist/shims/internal/work-unit-async-storage.d.ts +30 -0
- package/dist/shims/internal/work-unit-async-storage.js +17 -0
- package/dist/shims/layout-segment-context.d.ts +24 -0
- package/dist/shims/layout-segment-context.js +39 -0
- package/dist/shims/legacy-image.d.ts +41 -0
- package/dist/shims/legacy-image.js +49 -0
- package/dist/shims/link-prefetch.d.ts +41 -0
- package/dist/shims/link-prefetch.js +43 -0
- package/dist/shims/link.d.ts +102 -0
- package/dist/shims/link.js +687 -0
- package/dist/shims/metadata.d.ts +285 -0
- package/dist/shims/metadata.js +820 -0
- package/dist/shims/navigation-context-state.d.ts +40 -0
- package/dist/shims/navigation-context-state.js +116 -0
- package/dist/shims/navigation-errors.d.ts +55 -0
- package/dist/shims/navigation-errors.js +110 -0
- package/dist/shims/navigation-server.d.ts +3 -0
- package/dist/shims/navigation-server.js +3 -0
- package/dist/shims/navigation-state.d.ts +25 -0
- package/dist/shims/navigation-state.js +66 -0
- package/dist/shims/navigation.d.ts +286 -0
- package/dist/shims/navigation.js +1206 -0
- package/dist/shims/navigation.react-server.d.ts +14 -0
- package/dist/shims/navigation.react-server.js +32 -0
- package/dist/shims/offline.d.ts +4 -0
- package/dist/shims/offline.js +15 -0
- package/dist/shims/og.d.ts +17 -0
- package/dist/shims/og.js +48 -0
- package/dist/shims/pages-router-runtime.d.ts +12 -0
- package/dist/shims/pages-router-runtime.js +24 -0
- package/dist/shims/ppr-fallback-shell.d.ts +33 -0
- package/dist/shims/ppr-fallback-shell.js +170 -0
- package/dist/shims/readonly-url-search-params.d.ts +13 -0
- package/dist/shims/readonly-url-search-params.js +26 -0
- package/dist/shims/request-context.d.ts +58 -0
- package/dist/shims/request-context.js +45 -0
- package/dist/shims/request-state-types.d.ts +12 -0
- package/dist/shims/request-state-types.js +1 -0
- package/dist/shims/root-params.d.ts +12 -0
- package/dist/shims/root-params.js +30 -0
- package/dist/shims/router-state.d.ts +32 -0
- package/dist/shims/router-state.js +39 -0
- package/dist/shims/router.d.ts +192 -0
- package/dist/shims/router.js +1786 -0
- package/dist/shims/script-nonce-context.d.ts +11 -0
- package/dist/shims/script-nonce-context.js +23 -0
- package/dist/shims/script.d.ts +43 -0
- package/dist/shims/script.js +370 -0
- package/dist/shims/server-only.d.ts +1 -0
- package/dist/shims/server-only.js +1 -0
- package/dist/shims/server.d.ts +323 -0
- package/dist/shims/server.js +729 -0
- package/dist/shims/slot.d.ts +45 -0
- package/dist/shims/slot.js +230 -0
- package/dist/shims/thenable-params.d.ts +11 -0
- package/dist/shims/thenable-params.js +176 -0
- package/dist/shims/unified-request-context.d.ts +68 -0
- package/dist/shims/unified-request-context.js +86 -0
- package/dist/shims/unrecognized-action-error.d.ts +34 -0
- package/dist/shims/unrecognized-action-error.js +39 -0
- package/dist/shims/url-safety.d.ts +34 -0
- package/dist/shims/url-safety.js +70 -0
- package/dist/shims/url-utils.d.ts +51 -0
- package/dist/shims/url-utils.js +156 -0
- package/dist/shims/use-merged-ref.d.ts +6 -0
- package/dist/shims/use-merged-ref.js +38 -0
- package/dist/shims/web-vitals.d.ts +8 -0
- package/dist/shims/web-vitals.js +22 -0
- package/dist/typegen.d.ts +9 -0
- package/dist/typegen.js +228 -0
- package/dist/utils/asset-prefix.d.ts +96 -0
- package/dist/utils/asset-prefix.js +122 -0
- package/dist/utils/base-path.d.ts +31 -0
- package/dist/utils/base-path.js +45 -0
- package/dist/utils/built-asset-url.d.ts +4 -0
- package/dist/utils/built-asset-url.js +11 -0
- package/dist/utils/cache-control-metadata.d.ts +4 -0
- package/dist/utils/cache-control-metadata.js +12 -0
- package/dist/utils/client-build-manifest.d.ts +21 -0
- package/dist/utils/client-build-manifest.js +87 -0
- package/dist/utils/client-entry-manifest.d.ts +11 -0
- package/dist/utils/client-entry-manifest.js +29 -0
- package/dist/utils/client-runtime-metadata.d.ts +45 -0
- package/dist/utils/client-runtime-metadata.js +63 -0
- package/dist/utils/commonjs-loader.d.ts +16 -0
- package/dist/utils/commonjs-loader.js +100 -0
- package/dist/utils/compare.d.ts +4 -0
- package/dist/utils/compare.js +8 -0
- package/dist/utils/deployment-id.d.ts +8 -0
- package/dist/utils/deployment-id.js +22 -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 +26 -0
- package/dist/utils/domain-locale.js +50 -0
- package/dist/utils/encode-cache-tag.d.ts +30 -0
- package/dist/utils/encode-cache-tag.js +36 -0
- package/dist/utils/error-cause.d.ts +4 -0
- package/dist/utils/error-cause.js +95 -0
- package/dist/utils/has-trailing-comma.d.ts +24 -0
- package/dist/utils/has-trailing-comma.js +62 -0
- package/dist/utils/hash.d.ts +24 -0
- package/dist/utils/hash.js +55 -0
- package/dist/utils/html-limited-bots.d.ts +21 -0
- package/dist/utils/html-limited-bots.js +35 -0
- package/dist/utils/lazy-chunks.d.ts +59 -0
- package/dist/utils/lazy-chunks.js +112 -0
- package/dist/utils/manifest-paths.d.ts +30 -0
- package/dist/utils/manifest-paths.js +66 -0
- package/dist/utils/mdx-scan.d.ts +9 -0
- package/dist/utils/mdx-scan.js +34 -0
- package/dist/utils/navigation-signal.d.ts +4 -0
- package/dist/utils/navigation-signal.js +12 -0
- package/dist/utils/number.d.ts +4 -0
- package/dist/utils/number.js +6 -0
- package/dist/utils/parse-cookie.d.ts +13 -0
- package/dist/utils/parse-cookie.js +52 -0
- package/dist/utils/path.d.ts +22 -0
- package/dist/utils/path.js +30 -0
- package/dist/utils/prerender-output-paths.d.ts +14 -0
- package/dist/utils/prerender-output-paths.js +22 -0
- package/dist/utils/project.d.ts +76 -0
- package/dist/utils/project.js +213 -0
- package/dist/utils/promise.d.ts +4 -0
- package/dist/utils/promise.js +6 -0
- package/dist/utils/public-routes.d.ts +4 -0
- package/dist/utils/public-routes.js +48 -0
- package/dist/utils/query.d.ts +49 -0
- package/dist/utils/query.js +122 -0
- package/dist/utils/record.d.ts +4 -0
- package/dist/utils/record.js +6 -0
- package/dist/utils/regex.d.ts +4 -0
- package/dist/utils/regex.js +6 -0
- package/dist/utils/safe-json-file.d.ts +17 -0
- package/dist/utils/safe-json-file.js +23 -0
- package/dist/utils/sorted-array.d.ts +8 -0
- package/dist/utils/sorted-array.js +20 -0
- package/dist/utils/text-stream.d.ts +28 -0
- package/dist/utils/text-stream.js +64 -0
- package/dist/utils/vinext-root.d.ts +23 -0
- package/dist/utils/vinext-root.js +29 -0
- package/dist/utils/virtual-module.d.ts +5 -0
- package/dist/utils/virtual-module.js +0 -0
- package/dist/utils/vite-version.d.ts +21 -0
- package/dist/utils/vite-version.js +42 -0
- package/package.json +145 -0
|
@@ -0,0 +1,754 @@
|
|
|
1
|
+
import { getOrCreateAls } from "./internal/als-registry.js";
|
|
2
|
+
import { getRequestContext, isInsideUnifiedScope, runWithUnifiedStateMutation } from "./unified-request-context.js";
|
|
3
|
+
import { MIDDLEWARE_SET_COOKIE_HEADER } from "../server/headers.js";
|
|
4
|
+
import { buildRequestHeadersFromMiddlewareResponse } from "../server/middleware-request-headers.js";
|
|
5
|
+
import { serializeSetCookie, validateCookieAttributeValue, validateCookieName } from "./internal/cookie-serialize.js";
|
|
6
|
+
import { parseEdgeRequestCookieHeader } from "../utils/parse-cookie.js";
|
|
7
|
+
import { createPprFallbackShellSuspensePromise } from "./ppr-fallback-shell.js";
|
|
8
|
+
//#region src/shims/headers.ts
|
|
9
|
+
/**
|
|
10
|
+
* next/headers shim
|
|
11
|
+
*
|
|
12
|
+
* Provides cookies() and headers() functions for App Router Server Components.
|
|
13
|
+
* These read from a request context set by the RSC handler before rendering.
|
|
14
|
+
*
|
|
15
|
+
* In Next.js 15+, cookies() and headers() return Promises (async).
|
|
16
|
+
* We support both the sync (legacy) and async patterns.
|
|
17
|
+
*/
|
|
18
|
+
const _FALLBACK_KEY = Symbol.for("vinext.nextHeadersShim.fallback");
|
|
19
|
+
const _g = globalThis;
|
|
20
|
+
const _als = getOrCreateAls("vinext.nextHeadersShim.als");
|
|
21
|
+
const _fallbackState = _g[_FALLBACK_KEY] ??= {
|
|
22
|
+
headersContext: null,
|
|
23
|
+
dynamicUsageDetected: false,
|
|
24
|
+
renderRequestApiUsage: /* @__PURE__ */ new Set(),
|
|
25
|
+
connectionProbe: null,
|
|
26
|
+
invalidDynamicUsageError: null,
|
|
27
|
+
pendingSetCookies: [],
|
|
28
|
+
draftModeCookieHeader: null,
|
|
29
|
+
phase: "render"
|
|
30
|
+
};
|
|
31
|
+
const EXPIRED_COOKIE_DATE = (/* @__PURE__ */ new Date(0)).toUTCString();
|
|
32
|
+
function splitMiddlewareSetCookieHeader(value) {
|
|
33
|
+
const cookies = [];
|
|
34
|
+
let start = 0;
|
|
35
|
+
let inExpires = false;
|
|
36
|
+
let expiresCommaSeen = false;
|
|
37
|
+
for (let i = 0; i < value.length; i++) {
|
|
38
|
+
if (value.slice(i, i + 8).toLowerCase() === "expires=") {
|
|
39
|
+
inExpires = true;
|
|
40
|
+
expiresCommaSeen = false;
|
|
41
|
+
i += 7;
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
const ch = value[i];
|
|
45
|
+
if (inExpires && ch === ";") {
|
|
46
|
+
inExpires = false;
|
|
47
|
+
expiresCommaSeen = false;
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
if (ch !== ",") continue;
|
|
51
|
+
if (inExpires && !expiresCommaSeen) {
|
|
52
|
+
expiresCommaSeen = true;
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
const cookie = value.slice(start, i).trim();
|
|
56
|
+
if (cookie) cookies.push(cookie);
|
|
57
|
+
start = i + 1;
|
|
58
|
+
inExpires = false;
|
|
59
|
+
expiresCommaSeen = false;
|
|
60
|
+
}
|
|
61
|
+
const cookie = value.slice(start).trim();
|
|
62
|
+
if (cookie) cookies.push(cookie);
|
|
63
|
+
return cookies;
|
|
64
|
+
}
|
|
65
|
+
function setCookieNameValue(setCookie) {
|
|
66
|
+
const equalsIndex = setCookie.indexOf("=");
|
|
67
|
+
if (equalsIndex <= 0) return null;
|
|
68
|
+
const name = setCookie.slice(0, equalsIndex).trim();
|
|
69
|
+
const valueEnd = setCookie.indexOf(";", equalsIndex + 1);
|
|
70
|
+
const encodedValue = setCookie.slice(equalsIndex + 1, valueEnd === -1 ? void 0 : valueEnd);
|
|
71
|
+
let value;
|
|
72
|
+
try {
|
|
73
|
+
value = decodeURIComponent(encodedValue);
|
|
74
|
+
} catch {
|
|
75
|
+
value = encodedValue;
|
|
76
|
+
}
|
|
77
|
+
return {
|
|
78
|
+
name,
|
|
79
|
+
value
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
function rebuildCookiesFromHeader(ctx, cookieHeader) {
|
|
83
|
+
ctx.cookies.clear();
|
|
84
|
+
if (cookieHeader === null) return;
|
|
85
|
+
const nextCookies = parseEdgeRequestCookieHeader(cookieHeader);
|
|
86
|
+
for (const [name, value] of nextCookies) ctx.cookies.set(name, value);
|
|
87
|
+
}
|
|
88
|
+
function mergeMiddlewareSetCookies(ctx, rawHeader) {
|
|
89
|
+
if (rawHeader === null) return false;
|
|
90
|
+
let merged = false;
|
|
91
|
+
for (const setCookie of splitMiddlewareSetCookieHeader(rawHeader)) {
|
|
92
|
+
const entry = setCookieNameValue(setCookie);
|
|
93
|
+
if (!entry) continue;
|
|
94
|
+
ctx.cookies.set(entry.name, entry.value);
|
|
95
|
+
merged = true;
|
|
96
|
+
}
|
|
97
|
+
return merged;
|
|
98
|
+
}
|
|
99
|
+
function _getState() {
|
|
100
|
+
if (isInsideUnifiedScope()) return getRequestContext();
|
|
101
|
+
return _als.getStore() ?? _fallbackState;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Dynamic usage flag — set when a component calls connection(), cookies(),
|
|
105
|
+
* headers(), or noStore() during rendering. When true, ISR caching is
|
|
106
|
+
* bypassed and the response gets Cache-Control: no-store.
|
|
107
|
+
*/
|
|
108
|
+
/**
|
|
109
|
+
* Mark the current render as requiring dynamic (uncached) rendering.
|
|
110
|
+
* Called by connection(), cookies(), headers(), and noStore().
|
|
111
|
+
*/
|
|
112
|
+
function markDynamicUsage() {
|
|
113
|
+
const state = _getState();
|
|
114
|
+
if (state.headersContext?.forceStatic) return;
|
|
115
|
+
state.dynamicUsageDetected = true;
|
|
116
|
+
}
|
|
117
|
+
function markRenderRequestApiUsage(kind) {
|
|
118
|
+
_getState().renderRequestApiUsage.add(kind);
|
|
119
|
+
}
|
|
120
|
+
async function runWithConnectionProbe(fn) {
|
|
121
|
+
const state = _getState();
|
|
122
|
+
const previousProbe = state.connectionProbe;
|
|
123
|
+
let interruptProbe = () => {};
|
|
124
|
+
const interrupted = new Promise((resolve) => {
|
|
125
|
+
interruptProbe = () => resolve({ completed: false });
|
|
126
|
+
});
|
|
127
|
+
const probe = {
|
|
128
|
+
interrupted: false,
|
|
129
|
+
interrupt() {
|
|
130
|
+
if (probe.interrupted) return;
|
|
131
|
+
probe.interrupted = true;
|
|
132
|
+
interruptProbe();
|
|
133
|
+
},
|
|
134
|
+
pending: new Promise(() => {})
|
|
135
|
+
};
|
|
136
|
+
state.connectionProbe = probe;
|
|
137
|
+
try {
|
|
138
|
+
const completed = Promise.resolve().then(fn).then((result) => ({
|
|
139
|
+
completed: true,
|
|
140
|
+
result
|
|
141
|
+
}));
|
|
142
|
+
return await Promise.race([completed, interrupted]);
|
|
143
|
+
} finally {
|
|
144
|
+
state.connectionProbe = previousProbe;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
function suspendConnectionProbe() {
|
|
148
|
+
const probe = _getState().connectionProbe;
|
|
149
|
+
if (!probe) return null;
|
|
150
|
+
probe.interrupt();
|
|
151
|
+
return probe.pending;
|
|
152
|
+
}
|
|
153
|
+
function peekRenderRequestApiUsage() {
|
|
154
|
+
return [..._getState().renderRequestApiUsage].sort();
|
|
155
|
+
}
|
|
156
|
+
function consumeRenderRequestApiUsage() {
|
|
157
|
+
const state = _getState();
|
|
158
|
+
const observed = [...state.renderRequestApiUsage].sort();
|
|
159
|
+
state.renderRequestApiUsage = /* @__PURE__ */ new Set();
|
|
160
|
+
return observed;
|
|
161
|
+
}
|
|
162
|
+
/** Symbol used by cache-runtime.ts to store the "use cache" ALS on globalThis */
|
|
163
|
+
const _USE_CACHE_ALS_KEY = Symbol.for("vinext.cacheRuntime.contextAls");
|
|
164
|
+
/** Symbol used by cache.ts to store the unstable_cache ALS on globalThis */
|
|
165
|
+
const _UNSTABLE_CACHE_ALS_KEY = Symbol.for("vinext.unstableCache.als");
|
|
166
|
+
function _getGlobalCacheScopeStorage(key) {
|
|
167
|
+
const value = Reflect.get(globalThis, key);
|
|
168
|
+
if (!value || typeof value !== "object") return null;
|
|
169
|
+
const getStore = Reflect.get(value, "getStore");
|
|
170
|
+
if (typeof getStore !== "function") return null;
|
|
171
|
+
return { getStore: () => getStore.call(value) };
|
|
172
|
+
}
|
|
173
|
+
function _getUseCacheGuardContext() {
|
|
174
|
+
const store = _getGlobalCacheScopeStorage(_USE_CACHE_ALS_KEY)?.getStore();
|
|
175
|
+
if (!store || typeof store !== "object") return null;
|
|
176
|
+
return store;
|
|
177
|
+
}
|
|
178
|
+
function _isInsidePublicUseCache() {
|
|
179
|
+
const ctx = _getUseCacheGuardContext();
|
|
180
|
+
return ctx !== null && ctx.variant !== "private";
|
|
181
|
+
}
|
|
182
|
+
function _isInsideUnstableCache() {
|
|
183
|
+
return _getGlobalCacheScopeStorage(_UNSTABLE_CACHE_ALS_KEY)?.getStore() === true;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Throw if the current execution is inside a "use cache" or unstable_cache()
|
|
187
|
+
* scope. Called by dynamic request APIs (headers, cookies, connection) to
|
|
188
|
+
* prevent request-specific data from being frozen into cached results.
|
|
189
|
+
*
|
|
190
|
+
* @param apiName - The name of the API being called (e.g. "connection()")
|
|
191
|
+
*/
|
|
192
|
+
function throwIfInsideCacheScope(apiName) {
|
|
193
|
+
if (_isInsidePublicUseCache()) {
|
|
194
|
+
const error = /* @__PURE__ */ new Error(`\`${apiName}\` cannot be called inside "use cache". If you need this data inside a cached function, call \`${apiName}\` outside and pass the required data as an argument.`);
|
|
195
|
+
try {
|
|
196
|
+
const cacheCtx = _getUseCacheGuardContext();
|
|
197
|
+
if (cacheCtx) cacheCtx.invalidDynamicUsageError = error;
|
|
198
|
+
const ctx = getRequestContext();
|
|
199
|
+
if (ctx) ctx.invalidDynamicUsageError = error;
|
|
200
|
+
} catch {}
|
|
201
|
+
throw error;
|
|
202
|
+
}
|
|
203
|
+
if (_isInsideUnstableCache()) {
|
|
204
|
+
const error = /* @__PURE__ */ new Error(`\`${apiName}\` cannot be called inside a function cached with \`unstable_cache()\`. If you need this data inside a cached function, call \`${apiName}\` outside and pass the required data as an argument.`);
|
|
205
|
+
try {
|
|
206
|
+
const ctx = getRequestContext();
|
|
207
|
+
if (ctx) ctx.invalidDynamicUsageError = error;
|
|
208
|
+
} catch {}
|
|
209
|
+
throw error;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Check, consume, and return any invalid dynamic usage error recorded during
|
|
214
|
+
* the render (e.g. cookies() called inside "use cache"). This error persists
|
|
215
|
+
* even if the throw was caught by user-code try/catch, so it can surface on
|
|
216
|
+
* client-side navigations where the static shell validation is skipped.
|
|
217
|
+
* Ported from Next.js: workStore.invalidDynamicUsageError in
|
|
218
|
+
* packages/next/src/server/app-render/app-render.tsx
|
|
219
|
+
* https://github.com/vercel/next.js/commit/f5e54c06726b571a042fce67417e40a29f6b8689
|
|
220
|
+
*/
|
|
221
|
+
function consumeInvalidDynamicUsageError() {
|
|
222
|
+
const state = _getState();
|
|
223
|
+
const err = state.invalidDynamicUsageError;
|
|
224
|
+
state.invalidDynamicUsageError = null;
|
|
225
|
+
return err;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Check and reset the dynamic usage flag.
|
|
229
|
+
* Called by the server after rendering to decide on caching.
|
|
230
|
+
*/
|
|
231
|
+
function consumeDynamicUsage() {
|
|
232
|
+
const state = _getState();
|
|
233
|
+
const used = state.dynamicUsageDetected;
|
|
234
|
+
state.dynamicUsageDetected = false;
|
|
235
|
+
return used;
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Read the dynamic usage flag without resetting it.
|
|
239
|
+
* Used by the layout probe to fold a probe-scoped `markDynamicUsage()` into the
|
|
240
|
+
* per-layout observation before the isolated probe scope is discarded, so the
|
|
241
|
+
* observation captures `markDynamicUsage()` paths (e.g. `"use cache: private"`)
|
|
242
|
+
* that leave no other observable trace.
|
|
243
|
+
*/
|
|
244
|
+
function peekDynamicUsage() {
|
|
245
|
+
return _getState().dynamicUsageDetected;
|
|
246
|
+
}
|
|
247
|
+
function _setStatePhase(state, phase) {
|
|
248
|
+
const previous = state.phase;
|
|
249
|
+
state.phase = phase;
|
|
250
|
+
return previous;
|
|
251
|
+
}
|
|
252
|
+
function _areCookiesMutableInCurrentPhase() {
|
|
253
|
+
const phase = _getState().phase;
|
|
254
|
+
return phase === "action" || phase === "route-handler";
|
|
255
|
+
}
|
|
256
|
+
function setHeadersAccessPhase(phase) {
|
|
257
|
+
return _setStatePhase(_getState(), phase);
|
|
258
|
+
}
|
|
259
|
+
function getHeadersAccessPhase() {
|
|
260
|
+
return _getState().phase;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Set the headers/cookies context for the current RSC render.
|
|
264
|
+
* Called by the framework's RSC entry before rendering each request.
|
|
265
|
+
*
|
|
266
|
+
* @deprecated Prefer runWithHeadersContext() which uses als.run() for
|
|
267
|
+
* proper per-request isolation. This function mutates the ALS store
|
|
268
|
+
* in-place and is only safe for cleanup (ctx=null) within an existing
|
|
269
|
+
* als.run() scope.
|
|
270
|
+
*/
|
|
271
|
+
/**
|
|
272
|
+
* Returns the current live HeadersContext from ALS (or the fallback).
|
|
273
|
+
* Used after applyMiddlewareRequestHeaders() to build a post-middleware
|
|
274
|
+
* request context for afterFiles/fallback rewrite has/missing evaluation.
|
|
275
|
+
*/
|
|
276
|
+
function getHeadersContext() {
|
|
277
|
+
return _getState().headersContext;
|
|
278
|
+
}
|
|
279
|
+
function setHeadersContext(ctx) {
|
|
280
|
+
const state = _getState();
|
|
281
|
+
if (ctx !== null) {
|
|
282
|
+
state.headersContext = ctx;
|
|
283
|
+
state.dynamicUsageDetected = false;
|
|
284
|
+
state.renderRequestApiUsage = /* @__PURE__ */ new Set();
|
|
285
|
+
state.pendingSetCookies = [];
|
|
286
|
+
state.draftModeCookieHeader = null;
|
|
287
|
+
state.phase = "render";
|
|
288
|
+
} else {
|
|
289
|
+
state.headersContext = null;
|
|
290
|
+
state.phase = "render";
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
function runWithHeadersContext(ctx, fn) {
|
|
294
|
+
if (isInsideUnifiedScope()) return runWithUnifiedStateMutation((uCtx) => {
|
|
295
|
+
uCtx.headersContext = ctx;
|
|
296
|
+
uCtx.dynamicUsageDetected = false;
|
|
297
|
+
uCtx.renderRequestApiUsage = /* @__PURE__ */ new Set();
|
|
298
|
+
uCtx.connectionProbe = null;
|
|
299
|
+
uCtx.pendingSetCookies = [];
|
|
300
|
+
uCtx.draftModeCookieHeader = null;
|
|
301
|
+
uCtx.phase = "render";
|
|
302
|
+
}, fn);
|
|
303
|
+
const state = {
|
|
304
|
+
headersContext: ctx,
|
|
305
|
+
dynamicUsageDetected: false,
|
|
306
|
+
renderRequestApiUsage: /* @__PURE__ */ new Set(),
|
|
307
|
+
connectionProbe: null,
|
|
308
|
+
invalidDynamicUsageError: null,
|
|
309
|
+
pendingSetCookies: [],
|
|
310
|
+
draftModeCookieHeader: null,
|
|
311
|
+
phase: "render"
|
|
312
|
+
};
|
|
313
|
+
return _als.run(state, fn);
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Apply middleware-forwarded request headers to the current headers context.
|
|
317
|
+
*
|
|
318
|
+
* When Next.js middleware calls `NextResponse.next()` or `NextResponse.rewrite()`
|
|
319
|
+
* with `{ request: { headers } }`, the modified headers are encoded on the
|
|
320
|
+
* middleware response. This function decodes that protocol and applies the
|
|
321
|
+
* resulting request header set to the live `HeadersContext`. When an override
|
|
322
|
+
* list is present, omitted headers are deleted as part of the rebuild.
|
|
323
|
+
*
|
|
324
|
+
* Cached `readonlyHeaders` and `readonlyCookies` snapshots on the
|
|
325
|
+
* HeadersContext must be invalidated whenever this function rebuilds the
|
|
326
|
+
* underlying `headers`/`cookies`. Otherwise a middleware that reads
|
|
327
|
+
* `headers()` (or `cookies()`) before returning a request-header override —
|
|
328
|
+
* for example `@clerk/nextjs`, whose `clerkClient()` reads `headers()` via
|
|
329
|
+
* `buildRequestLike()` during middleware execution — primes a sealed snapshot
|
|
330
|
+
* built from the *pre*-override request, and any subsequent `headers()` call
|
|
331
|
+
* from a Server Component would return that stale snapshot instead of the
|
|
332
|
+
* middleware-modified view.
|
|
333
|
+
*/
|
|
334
|
+
function applyMiddlewareRequestHeaders(middlewareResponseHeaders) {
|
|
335
|
+
const state = _getState();
|
|
336
|
+
if (!state.headersContext) return;
|
|
337
|
+
const ctx = state.headersContext;
|
|
338
|
+
const previousCookieHeader = ctx.headers.get("cookie");
|
|
339
|
+
const middlewareSetCookieHeader = middlewareResponseHeaders.get(MIDDLEWARE_SET_COOKIE_HEADER);
|
|
340
|
+
const nextHeaders = buildRequestHeadersFromMiddlewareResponse(ctx.headers, middlewareResponseHeaders);
|
|
341
|
+
if (!nextHeaders && middlewareSetCookieHeader === null) return;
|
|
342
|
+
if (nextHeaders) {
|
|
343
|
+
ctx.headers = nextHeaders;
|
|
344
|
+
ctx.readonlyHeaders = void 0;
|
|
345
|
+
const nextCookieHeader = nextHeaders.get("cookie");
|
|
346
|
+
if (previousCookieHeader !== nextCookieHeader) {
|
|
347
|
+
rebuildCookiesFromHeader(ctx, nextCookieHeader);
|
|
348
|
+
ctx.readonlyCookies = void 0;
|
|
349
|
+
ctx.mutableCookies = void 0;
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
if (mergeMiddlewareSetCookies(ctx, middlewareSetCookieHeader)) {
|
|
353
|
+
ctx.readonlyCookies = void 0;
|
|
354
|
+
ctx.mutableCookies = void 0;
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
/** Methods on `Headers` that mutate state. Hoisted to module scope — static. */
|
|
358
|
+
const _HEADERS_MUTATING_METHODS = new Set([
|
|
359
|
+
"set",
|
|
360
|
+
"delete",
|
|
361
|
+
"append"
|
|
362
|
+
]);
|
|
363
|
+
var ReadonlyHeadersError = class ReadonlyHeadersError extends Error {
|
|
364
|
+
constructor() {
|
|
365
|
+
super("Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers");
|
|
366
|
+
}
|
|
367
|
+
static callable() {
|
|
368
|
+
throw new ReadonlyHeadersError();
|
|
369
|
+
}
|
|
370
|
+
};
|
|
371
|
+
var ReadonlyRequestCookiesError = class ReadonlyRequestCookiesError extends Error {
|
|
372
|
+
constructor() {
|
|
373
|
+
super("Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#options");
|
|
374
|
+
}
|
|
375
|
+
static callable() {
|
|
376
|
+
throw new ReadonlyRequestCookiesError();
|
|
377
|
+
}
|
|
378
|
+
};
|
|
379
|
+
function _decorateRequestApiPromise(promise, target) {
|
|
380
|
+
return new Proxy(promise, {
|
|
381
|
+
get(promiseTarget, prop) {
|
|
382
|
+
if (prop in promiseTarget) {
|
|
383
|
+
const value = Reflect.get(promiseTarget, prop, promiseTarget);
|
|
384
|
+
return typeof value === "function" ? value.bind(promiseTarget) : value;
|
|
385
|
+
}
|
|
386
|
+
const value = Reflect.get(target, prop, target);
|
|
387
|
+
return typeof value === "function" ? value.bind(target) : value;
|
|
388
|
+
},
|
|
389
|
+
has(promiseTarget, prop) {
|
|
390
|
+
return prop in promiseTarget || prop in target;
|
|
391
|
+
},
|
|
392
|
+
ownKeys(promiseTarget) {
|
|
393
|
+
return Array.from(new Set([...Reflect.ownKeys(promiseTarget), ...Reflect.ownKeys(target)]));
|
|
394
|
+
},
|
|
395
|
+
getOwnPropertyDescriptor(promiseTarget, prop) {
|
|
396
|
+
return Reflect.getOwnPropertyDescriptor(promiseTarget, prop) ?? Reflect.getOwnPropertyDescriptor(target, prop);
|
|
397
|
+
}
|
|
398
|
+
});
|
|
399
|
+
}
|
|
400
|
+
const _decoratedHeadersPromises = /* @__PURE__ */ new WeakMap();
|
|
401
|
+
const _decoratedCookiesPromises = /* @__PURE__ */ new WeakMap();
|
|
402
|
+
function _getOrCreateDecoratedRequestApiPromise(cache, target) {
|
|
403
|
+
const cached = cache.get(target);
|
|
404
|
+
if (cached) return cached;
|
|
405
|
+
const promise = _decorateRequestApiPromise(Promise.resolve(target), target);
|
|
406
|
+
cache.set(target, promise);
|
|
407
|
+
return promise;
|
|
408
|
+
}
|
|
409
|
+
function _decorateRejectedRequestApiPromise(error) {
|
|
410
|
+
const normalizedError = error instanceof Error ? error : new Error(String(error));
|
|
411
|
+
const promise = Promise.reject(normalizedError);
|
|
412
|
+
promise.catch(() => {});
|
|
413
|
+
return _decorateRequestApiPromise(promise, new Proxy({}, { get(_target, prop) {
|
|
414
|
+
if (prop === "then" || prop === "catch" || prop === "finally") return;
|
|
415
|
+
throw normalizedError;
|
|
416
|
+
} }));
|
|
417
|
+
}
|
|
418
|
+
function _decorateSuspendingRequestApiPromise(promise) {
|
|
419
|
+
return new Proxy(promise, {
|
|
420
|
+
get(promiseTarget, prop) {
|
|
421
|
+
if (prop === "then" || prop === "catch" || prop === "finally") {
|
|
422
|
+
const value = Reflect.get(promiseTarget, prop, promiseTarget);
|
|
423
|
+
return typeof value === "function" ? value.bind(promiseTarget) : value;
|
|
424
|
+
}
|
|
425
|
+
throw promise;
|
|
426
|
+
},
|
|
427
|
+
getOwnPropertyDescriptor() {
|
|
428
|
+
throw promise;
|
|
429
|
+
},
|
|
430
|
+
has() {
|
|
431
|
+
throw promise;
|
|
432
|
+
},
|
|
433
|
+
ownKeys() {
|
|
434
|
+
throw promise;
|
|
435
|
+
}
|
|
436
|
+
});
|
|
437
|
+
}
|
|
438
|
+
function _sealHeaders(headers) {
|
|
439
|
+
return new Proxy(headers, { get(target, prop) {
|
|
440
|
+
if (typeof prop === "string" && _HEADERS_MUTATING_METHODS.has(prop)) throw new ReadonlyHeadersError();
|
|
441
|
+
const value = Reflect.get(target, prop, target);
|
|
442
|
+
return typeof value === "function" ? value.bind(target) : value;
|
|
443
|
+
} });
|
|
444
|
+
}
|
|
445
|
+
function _wrapMutableCookies(cookies) {
|
|
446
|
+
return new Proxy(cookies, { get(target, prop) {
|
|
447
|
+
if (prop === "set" || prop === "delete") return (...args) => {
|
|
448
|
+
if (!_areCookiesMutableInCurrentPhase()) throw new ReadonlyRequestCookiesError();
|
|
449
|
+
return Reflect.get(target, prop, target).apply(target, args);
|
|
450
|
+
};
|
|
451
|
+
const value = Reflect.get(target, prop, target);
|
|
452
|
+
return typeof value === "function" ? value.bind(target) : value;
|
|
453
|
+
} });
|
|
454
|
+
}
|
|
455
|
+
function _sealCookies(cookies) {
|
|
456
|
+
return new Proxy(cookies, { get(target, prop) {
|
|
457
|
+
if (prop === "set" || prop === "delete") throw new ReadonlyRequestCookiesError();
|
|
458
|
+
const value = Reflect.get(target, prop, target);
|
|
459
|
+
return typeof value === "function" ? value.bind(target) : value;
|
|
460
|
+
} });
|
|
461
|
+
}
|
|
462
|
+
function _getMutableCookies(ctx) {
|
|
463
|
+
if (!ctx.mutableCookies) ctx.mutableCookies = _wrapMutableCookies(new RequestCookies(ctx.cookies));
|
|
464
|
+
return ctx.mutableCookies;
|
|
465
|
+
}
|
|
466
|
+
function _getReadonlyCookies(ctx) {
|
|
467
|
+
if (!ctx.readonlyCookies) ctx.readonlyCookies = _sealCookies(new RequestCookies(ctx.cookies));
|
|
468
|
+
return ctx.readonlyCookies;
|
|
469
|
+
}
|
|
470
|
+
function _getReadonlyHeaders(ctx) {
|
|
471
|
+
if (!ctx.readonlyHeaders) ctx.readonlyHeaders = _sealHeaders(ctx.headers);
|
|
472
|
+
return ctx.readonlyHeaders;
|
|
473
|
+
}
|
|
474
|
+
/**
|
|
475
|
+
* Create a HeadersContext from a standard Request object.
|
|
476
|
+
*
|
|
477
|
+
* Performance note: In Workerd (Cloudflare Workers), `new Headers(request.headers)`
|
|
478
|
+
* copies the entire header map across the V8/C++ boundary, which shows up as
|
|
479
|
+
* ~815 ms self-time in production profiles when requests carry many headers.
|
|
480
|
+
* We defer this copy with a lazy proxy:
|
|
481
|
+
*
|
|
482
|
+
* - Reads (`get`, `has`, `entries`, …) are forwarded directly to the original
|
|
483
|
+
* immutable `request.headers` — zero copy cost on the hot path.
|
|
484
|
+
* - The first mutating call (`set`, `delete`, `append`) materialises
|
|
485
|
+
* `new Headers(request.headers)` once, then applies the mutation to the copy.
|
|
486
|
+
* All subsequent operations go to the copy.
|
|
487
|
+
*
|
|
488
|
+
* This means the ~815 ms copy only occurs when middleware actually rewrites
|
|
489
|
+
* request headers via `NextResponse.next({ request: { headers } })`, which is
|
|
490
|
+
* uncommon. Pure read requests (the vast majority) pay zero copy cost.
|
|
491
|
+
*
|
|
492
|
+
* Cookie parsing is also deferred: the `cookie` header string is not split
|
|
493
|
+
* until the first call to `cookies()` or `draftMode()`.
|
|
494
|
+
*/
|
|
495
|
+
function headersContextFromRequest(request, options) {
|
|
496
|
+
let _mutable = null;
|
|
497
|
+
const headersProxy = new Proxy(request.headers, { get(target, prop) {
|
|
498
|
+
const src = _mutable ?? target;
|
|
499
|
+
if (typeof prop === "string" && _HEADERS_MUTATING_METHODS.has(prop)) return (...args) => {
|
|
500
|
+
if (!_mutable) _mutable = new Headers(target);
|
|
501
|
+
return _mutable[prop](...args);
|
|
502
|
+
};
|
|
503
|
+
const value = Reflect.get(src, prop, src);
|
|
504
|
+
return typeof value === "function" ? value.bind(src) : value;
|
|
505
|
+
} });
|
|
506
|
+
let _cookies = null;
|
|
507
|
+
function getCookies() {
|
|
508
|
+
if (_cookies) return _cookies;
|
|
509
|
+
_cookies = parseEdgeRequestCookieHeader(headersProxy.get("cookie") || "");
|
|
510
|
+
return _cookies;
|
|
511
|
+
}
|
|
512
|
+
return {
|
|
513
|
+
headers: headersProxy,
|
|
514
|
+
get cookies() {
|
|
515
|
+
return getCookies();
|
|
516
|
+
},
|
|
517
|
+
draftModeSecret: options?.draftModeSecret
|
|
518
|
+
};
|
|
519
|
+
}
|
|
520
|
+
/**
|
|
521
|
+
* Read-only Headers instance from the incoming request.
|
|
522
|
+
* Returns a Promise in Next.js 15+ style (but resolves synchronously since
|
|
523
|
+
* the context is already available).
|
|
524
|
+
*/
|
|
525
|
+
function headers() {
|
|
526
|
+
markRenderRequestApiUsage("headers");
|
|
527
|
+
try {
|
|
528
|
+
throwIfInsideCacheScope("headers()");
|
|
529
|
+
} catch (error) {
|
|
530
|
+
return _decorateRejectedRequestApiPromise(error);
|
|
531
|
+
}
|
|
532
|
+
const state = _getState();
|
|
533
|
+
if (!state.headersContext) return _decorateRejectedRequestApiPromise(/* @__PURE__ */ new Error("headers() can only be called from a Server Component, Route Handler, or Server Action. Make sure you're not calling it from a Client Component."));
|
|
534
|
+
if (state.headersContext.accessError) return _decorateRejectedRequestApiPromise(state.headersContext.accessError);
|
|
535
|
+
markDynamicUsage();
|
|
536
|
+
const fallbackShellPromise = createPprFallbackShellSuspensePromise("`headers()`");
|
|
537
|
+
if (fallbackShellPromise) return _decorateSuspendingRequestApiPromise(fallbackShellPromise);
|
|
538
|
+
return _getOrCreateDecoratedRequestApiPromise(_decoratedHeadersPromises, _getReadonlyHeaders(state.headersContext));
|
|
539
|
+
}
|
|
540
|
+
/**
|
|
541
|
+
* Cookie jar from the incoming request.
|
|
542
|
+
* Returns a ReadonlyRequestCookies-like object.
|
|
543
|
+
*/
|
|
544
|
+
function cookies() {
|
|
545
|
+
markRenderRequestApiUsage("cookies");
|
|
546
|
+
try {
|
|
547
|
+
throwIfInsideCacheScope("cookies()");
|
|
548
|
+
} catch (error) {
|
|
549
|
+
return _decorateRejectedRequestApiPromise(error);
|
|
550
|
+
}
|
|
551
|
+
const state = _getState();
|
|
552
|
+
if (!state.headersContext) return _decorateRejectedRequestApiPromise(/* @__PURE__ */ new Error("cookies() can only be called from a Server Component, Route Handler, or Server Action."));
|
|
553
|
+
if (state.headersContext.accessError) return _decorateRejectedRequestApiPromise(state.headersContext.accessError);
|
|
554
|
+
markDynamicUsage();
|
|
555
|
+
const fallbackShellPromise = createPprFallbackShellSuspensePromise("`cookies()`");
|
|
556
|
+
if (fallbackShellPromise) return _decorateSuspendingRequestApiPromise(fallbackShellPromise);
|
|
557
|
+
return _getOrCreateDecoratedRequestApiPromise(_decoratedCookiesPromises, _areCookiesMutableInCurrentPhase() ? _getMutableCookies(state.headersContext) : _getReadonlyCookies(state.headersContext));
|
|
558
|
+
}
|
|
559
|
+
/** Accumulated Set-Cookie headers from cookies().set() / .delete() calls */
|
|
560
|
+
/**
|
|
561
|
+
* Get and clear all pending Set-Cookie headers generated by cookies().set()/delete().
|
|
562
|
+
* Called by the framework after rendering to attach headers to the response.
|
|
563
|
+
*/
|
|
564
|
+
function getAndClearPendingCookies() {
|
|
565
|
+
const state = _getState();
|
|
566
|
+
const cookies = state.pendingSetCookies;
|
|
567
|
+
state.pendingSetCookies = [];
|
|
568
|
+
return cookies;
|
|
569
|
+
}
|
|
570
|
+
const DRAFT_MODE_COOKIE = "__prerender_bypass";
|
|
571
|
+
const DRAFT_MODE_EXPIRED_DATE = (/* @__PURE__ */ new Date(0)).toUTCString();
|
|
572
|
+
/**
|
|
573
|
+
* Get any Set-Cookie header generated by draftMode().enable()/disable().
|
|
574
|
+
* Called by the framework after rendering to attach the header to the response.
|
|
575
|
+
*/
|
|
576
|
+
function getDraftModeCookieHeader() {
|
|
577
|
+
const state = _getState();
|
|
578
|
+
const header = state.draftModeCookieHeader;
|
|
579
|
+
state.draftModeCookieHeader = null;
|
|
580
|
+
return header;
|
|
581
|
+
}
|
|
582
|
+
function validateDraftModeSecret(secret) {
|
|
583
|
+
if (secret.length === 0) throw new Error("[vinext] draft mode secret must be a non-empty string.");
|
|
584
|
+
return secret;
|
|
585
|
+
}
|
|
586
|
+
function createDraftModeSecret() {
|
|
587
|
+
const crypto = globalThis.crypto;
|
|
588
|
+
if (crypto && typeof crypto.randomUUID === "function") return crypto.randomUUID();
|
|
589
|
+
throw new Error("[vinext] draft mode secret is not initialized. This should be initialized by the server entry before handling requests.");
|
|
590
|
+
}
|
|
591
|
+
function ensureContextDraftModeSecret(ctx) {
|
|
592
|
+
if (ctx.draftModeSecret !== void 0) return validateDraftModeSecret(ctx.draftModeSecret);
|
|
593
|
+
const secret = createDraftModeSecret();
|
|
594
|
+
ctx.draftModeSecret = secret;
|
|
595
|
+
return secret;
|
|
596
|
+
}
|
|
597
|
+
function isDraftModeRequest(request, draftModeSecret) {
|
|
598
|
+
const cookieHeader = request.headers.get("cookie");
|
|
599
|
+
if (!cookieHeader) return false;
|
|
600
|
+
return parseEdgeRequestCookieHeader(cookieHeader).get(DRAFT_MODE_COOKIE) === validateDraftModeSecret(draftModeSecret);
|
|
601
|
+
}
|
|
602
|
+
function draftModeCookieAttributes() {
|
|
603
|
+
if (typeof process !== "undefined" && process.env?.NODE_ENV === "development") return "Path=/; HttpOnly; SameSite=Lax";
|
|
604
|
+
return "Path=/; HttpOnly; SameSite=None; Secure";
|
|
605
|
+
}
|
|
606
|
+
function createDraftModeScopeError(expression) {
|
|
607
|
+
return /* @__PURE__ */ new Error(`${expression} can only be called from a Server Component, Route Handler, or Server Action.`);
|
|
608
|
+
}
|
|
609
|
+
function requireActiveDraftModeContext(state, expectedContext, expression) {
|
|
610
|
+
const currentContext = state.headersContext;
|
|
611
|
+
if (currentContext !== expectedContext) throw createDraftModeScopeError(expression);
|
|
612
|
+
if (currentContext.accessError) throw currentContext.accessError;
|
|
613
|
+
return currentContext;
|
|
614
|
+
}
|
|
615
|
+
/**
|
|
616
|
+
* Draft mode — check/toggle via a `__prerender_bypass` cookie.
|
|
617
|
+
*
|
|
618
|
+
* - `isEnabled`: true if the bypass cookie is present in the request
|
|
619
|
+
* - `enable()`: sets the bypass cookie (for Route Handlers)
|
|
620
|
+
* - `disable()`: clears the bypass cookie
|
|
621
|
+
*
|
|
622
|
+
* Unlike `headers()` / `cookies()`, calling `draftMode()` itself is allowed
|
|
623
|
+
* inside `"use cache"` and `unstable_cache()` scopes — reads of `isEnabled`
|
|
624
|
+
* are non-dynamic and supported in cached functions. Only the mutating
|
|
625
|
+
* `enable()` / `disable()` methods throw when invoked inside a cache scope.
|
|
626
|
+
* Ported from Next.js: packages/next/src/server/request/draft-mode.ts
|
|
627
|
+
* (`getDraftModeProviderForCacheScope` + `trackDynamicDraftMode`).
|
|
628
|
+
*/
|
|
629
|
+
async function draftMode() {
|
|
630
|
+
markRenderRequestApiUsage("draftMode");
|
|
631
|
+
const state = _getState();
|
|
632
|
+
const context = state.headersContext;
|
|
633
|
+
if (!context) throw createDraftModeScopeError("draftMode()");
|
|
634
|
+
if (context.accessError) throw context.accessError;
|
|
635
|
+
const secret = ensureContextDraftModeSecret(context);
|
|
636
|
+
return {
|
|
637
|
+
get isEnabled() {
|
|
638
|
+
return context.cookies.get(DRAFT_MODE_COOKIE) === secret;
|
|
639
|
+
},
|
|
640
|
+
enable() {
|
|
641
|
+
throwIfInsideCacheScope("draftMode().enable()");
|
|
642
|
+
const activeContext = requireActiveDraftModeContext(state, context, "draftMode().enable()");
|
|
643
|
+
markDynamicUsage();
|
|
644
|
+
activeContext.cookies.set(DRAFT_MODE_COOKIE, secret);
|
|
645
|
+
state.draftModeCookieHeader = `${DRAFT_MODE_COOKIE}=${secret}; ${draftModeCookieAttributes()}`;
|
|
646
|
+
},
|
|
647
|
+
disable() {
|
|
648
|
+
throwIfInsideCacheScope("draftMode().disable()");
|
|
649
|
+
const activeContext = requireActiveDraftModeContext(state, context, "draftMode().disable()");
|
|
650
|
+
markDynamicUsage();
|
|
651
|
+
activeContext.cookies.delete(DRAFT_MODE_COOKIE);
|
|
652
|
+
state.draftModeCookieHeader = `${DRAFT_MODE_COOKIE}=; ${draftModeCookieAttributes()}; Expires=${DRAFT_MODE_EXPIRED_DATE}`;
|
|
653
|
+
}
|
|
654
|
+
};
|
|
655
|
+
}
|
|
656
|
+
var RequestCookies = class {
|
|
657
|
+
_cookies;
|
|
658
|
+
constructor(cookies) {
|
|
659
|
+
this._cookies = cookies;
|
|
660
|
+
}
|
|
661
|
+
get(name) {
|
|
662
|
+
const value = this._cookies.get(name);
|
|
663
|
+
if (value === void 0) return void 0;
|
|
664
|
+
return {
|
|
665
|
+
name,
|
|
666
|
+
value
|
|
667
|
+
};
|
|
668
|
+
}
|
|
669
|
+
getAll(nameOrOptions) {
|
|
670
|
+
const name = typeof nameOrOptions === "string" ? nameOrOptions : nameOrOptions?.name;
|
|
671
|
+
const result = [];
|
|
672
|
+
for (const [cookieName, value] of this._cookies) if (name === void 0 || cookieName === name) result.push({
|
|
673
|
+
name: cookieName,
|
|
674
|
+
value
|
|
675
|
+
});
|
|
676
|
+
return result;
|
|
677
|
+
}
|
|
678
|
+
has(name) {
|
|
679
|
+
return this._cookies.has(name);
|
|
680
|
+
}
|
|
681
|
+
/**
|
|
682
|
+
* Set a cookie. In Route Handlers and Server Actions, this produces
|
|
683
|
+
* a Set-Cookie header on the response.
|
|
684
|
+
*/
|
|
685
|
+
set(nameOrOptions, value, options) {
|
|
686
|
+
let cookieName;
|
|
687
|
+
let cookieValue;
|
|
688
|
+
let opts;
|
|
689
|
+
if (typeof nameOrOptions === "string") {
|
|
690
|
+
cookieName = nameOrOptions;
|
|
691
|
+
cookieValue = value ?? "";
|
|
692
|
+
opts = options;
|
|
693
|
+
} else {
|
|
694
|
+
cookieName = nameOrOptions.name;
|
|
695
|
+
cookieValue = nameOrOptions.value;
|
|
696
|
+
opts = nameOrOptions;
|
|
697
|
+
}
|
|
698
|
+
validateCookieName(cookieName);
|
|
699
|
+
this._cookies.set(cookieName, cookieValue);
|
|
700
|
+
_getState().pendingSetCookies.push(serializeSetCookie(cookieName, cookieValue, opts));
|
|
701
|
+
return this;
|
|
702
|
+
}
|
|
703
|
+
/**
|
|
704
|
+
* Delete a cookie by emitting an expired Set-Cookie header.
|
|
705
|
+
*/
|
|
706
|
+
delete(nameOrOptions) {
|
|
707
|
+
const name = typeof nameOrOptions === "string" ? nameOrOptions : nameOrOptions.name;
|
|
708
|
+
const path = typeof nameOrOptions === "string" ? "/" : nameOrOptions.path ?? "/";
|
|
709
|
+
const domain = typeof nameOrOptions === "string" ? void 0 : nameOrOptions.domain;
|
|
710
|
+
validateCookieName(name);
|
|
711
|
+
validateCookieAttributeValue(path, "Path");
|
|
712
|
+
if (domain) validateCookieAttributeValue(domain, "Domain");
|
|
713
|
+
this._cookies.delete(name);
|
|
714
|
+
const parts = [`${name}=`, `Path=${path}`];
|
|
715
|
+
if (domain) parts.push(`Domain=${domain}`);
|
|
716
|
+
parts.push(`Expires=${EXPIRED_COOKIE_DATE}`);
|
|
717
|
+
_getState().pendingSetCookies.push(parts.join("; "));
|
|
718
|
+
return this;
|
|
719
|
+
}
|
|
720
|
+
get size() {
|
|
721
|
+
return this._cookies.size;
|
|
722
|
+
}
|
|
723
|
+
[Symbol.iterator]() {
|
|
724
|
+
const entries = this._cookies.entries();
|
|
725
|
+
const iter = {
|
|
726
|
+
[Symbol.iterator]() {
|
|
727
|
+
return iter;
|
|
728
|
+
},
|
|
729
|
+
next() {
|
|
730
|
+
const { value, done } = entries.next();
|
|
731
|
+
if (done) return {
|
|
732
|
+
value: void 0,
|
|
733
|
+
done: true
|
|
734
|
+
};
|
|
735
|
+
const [name, val] = value;
|
|
736
|
+
return {
|
|
737
|
+
value: [name, {
|
|
738
|
+
name,
|
|
739
|
+
value: val
|
|
740
|
+
}],
|
|
741
|
+
done: false
|
|
742
|
+
};
|
|
743
|
+
}
|
|
744
|
+
};
|
|
745
|
+
return iter;
|
|
746
|
+
}
|
|
747
|
+
toString() {
|
|
748
|
+
const parts = [];
|
|
749
|
+
for (const [name, value] of this._cookies) parts.push(`${name}=${value}`);
|
|
750
|
+
return parts.join("; ");
|
|
751
|
+
}
|
|
752
|
+
};
|
|
753
|
+
//#endregion
|
|
754
|
+
export { applyMiddlewareRequestHeaders, consumeDynamicUsage, consumeInvalidDynamicUsageError, consumeRenderRequestApiUsage, cookies, draftMode, getAndClearPendingCookies, getDraftModeCookieHeader, getHeadersAccessPhase, getHeadersContext, headers, headersContextFromRequest, isDraftModeRequest, markDynamicUsage, markRenderRequestApiUsage, peekDynamicUsage, peekRenderRequestApiUsage, runWithConnectionProbe, runWithHeadersContext, setHeadersAccessPhase, setHeadersContext, suspendConnectionProbe, throwIfInsideCacheScope };
|