vinext 1.0.0-beta.9 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +150 -92
- package/THIRD_PARTY_LICENSES.md +25 -0
- package/dist/_virtual/_rolldown/runtime.js +25 -0
- package/dist/build/action-owner-manifest.d.ts +8 -9
- package/dist/build/action-owner-manifest.js +23 -5
- package/dist/build/assets-ignore.d.ts +3 -4
- package/dist/build/clean-output.d.ts +2 -3
- package/dist/build/client-build-config.d.ts +40 -12
- package/dist/build/client-build-config.js +76 -6
- package/dist/build/css-url-assets.d.ts +4 -5
- package/dist/build/css-url-assets.js +5 -2
- package/dist/build/google-fonts/build-url.d.ts +3 -4
- package/dist/build/google-fonts/fallback-metrics.d.ts +3 -4
- package/dist/build/google-fonts/find-font-files-in-css.d.ts +2 -3
- package/dist/build/google-fonts/font-metadata.d.ts +2 -3
- package/dist/build/google-fonts/get-axes.d.ts +2 -3
- package/dist/build/google-fonts/sort-variants.d.ts +2 -3
- package/dist/build/google-fonts/validate.d.ts +2 -3
- package/dist/build/google-fonts/validate.js +8 -4
- package/dist/build/inject-pregenerated-paths.d.ts +2 -3
- package/dist/build/inject-pregenerated-paths.js +16 -14
- package/dist/build/inline-css.d.ts +3 -4
- package/dist/build/layout-classification-types.d.ts +4 -5
- package/dist/build/layout-classification.d.ts +7 -8
- package/dist/build/lifecycle.d.ts +42 -0
- package/dist/build/lifecycle.js +253 -0
- package/dist/build/module-dependency-cache.d.ts +2 -3
- package/dist/build/next-client-runtime-manifests.d.ts +4 -5
- package/dist/build/nitro-route-rules.d.ts +6 -7
- package/dist/build/nitro-route-rules.js +1 -1
- package/dist/build/pages-client-assets-module.d.ts +4 -8
- package/dist/build/pages-client-assets-module.js +1 -13
- package/dist/build/precompress.d.ts +2 -3
- package/dist/build/prerender-cloudflare-loader.d.ts +4 -0
- package/dist/build/prerender-cloudflare-loader.js +49 -0
- package/dist/build/prerender-paths.d.ts +36 -11
- package/dist/build/prerender-paths.js +273 -97
- package/dist/build/prerender-phase.d.ts +2 -3
- package/dist/build/prerender-server-entry.js +11 -3
- package/dist/build/prerender-server-pool.d.ts +9 -6
- package/dist/build/prerender-server-pool.js +8 -5
- package/dist/build/prerender.d.ts +65 -15
- package/dist/build/prerender.js +139 -43
- package/dist/build/preview-credentials.d.ts +5 -6
- package/dist/build/preview-credentials.js +2 -2
- package/dist/build/public-dir-conflict.d.ts +5 -6
- package/dist/build/public-dir-conflict.js +2 -1
- package/dist/build/report.d.ts +24 -20
- package/dist/build/report.js +10 -2
- package/dist/build/route-classification-injector.d.ts +2 -3
- package/dist/build/route-classification-manifest.d.ts +5 -6
- package/dist/build/run-prerender.d.ts +11 -9
- package/dist/build/run-prerender.js +25 -16
- package/dist/build/server-entry.d.ts +4 -0
- package/dist/build/server-entry.js +28 -0
- package/dist/build/server-manifest.d.ts +8 -3
- package/dist/build/server-manifest.js +14 -2
- package/dist/build/ssr-manifest.d.ts +5 -6
- package/dist/build/standalone.d.ts +2 -3
- package/dist/build/standalone.js +2 -2
- package/dist/build/static-export.d.ts +6 -7
- package/dist/cache/cache-adapters-virtual.d.ts +60 -20
- package/dist/cache/cache-adapters-virtual.js +50 -7
- package/dist/check.d.ts +11 -10
- package/dist/check.js +467 -176
- package/dist/cli-args.d.ts +7 -16
- package/dist/cli-args.js +2 -45
- package/dist/cli-dev-config.d.ts +10 -7
- package/dist/cli-dev-config.js +160 -3
- package/dist/cli.js +124 -442
- package/dist/client/app-nav-failure-handler.d.ts +6 -7
- package/dist/client/client-rewrite-matcher.d.ts +2 -3
- package/dist/client/client-rewrites.d.ts +4 -5
- package/dist/client/dev-error-overlay-store.d.ts +13 -14
- package/dist/client/dev-error-overlay.d.ts +15 -15
- package/dist/client/dev-error-overlay.js +8 -5
- package/dist/client/instrumentation-client-inject.d.ts +3 -4
- package/dist/client/instrumentation-client-state.d.ts +5 -6
- package/dist/client/instrumentation-client.d.ts +3 -4
- package/dist/client/navigation-runtime.d.ts +21 -17
- package/dist/client/navigation-runtime.js +2 -1
- package/dist/client/pages-router-link-navigation.d.ts +4 -5
- package/dist/client/react-instance.d.ts +2 -3
- package/dist/client/validate-module-path.d.ts +2 -3
- package/dist/client/vinext-next-data.d.ts +7 -10
- package/dist/client/window-next.d.ts +4 -5
- package/dist/config/config-matchers.d.ts +16 -16
- package/dist/config/config-matchers.js +2 -4
- package/dist/config/dotenv.d.ts +3 -4
- package/dist/config/dotenv.js +2 -1
- package/dist/config/next-config.d.ts +31 -27
- package/dist/config/next-config.js +163 -16
- package/dist/config/prerender.d.ts +20 -16
- package/dist/config/prerender.js +10 -4
- package/dist/config/request-context.d.ts +5 -6
- package/dist/config/server-external-packages.d.ts +14 -3
- package/dist/config/server-external-packages.js +37 -3
- package/dist/config/tsconfig-paths.d.ts +3 -4
- package/dist/deps/.pnpm/ignore@5.3.2/deps/ignore/index.js +189 -0
- package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +1057 -0
- package/dist/entries/app-browser-entry.d.ts +4 -5
- package/dist/entries/app-browser-entry.js +1 -3
- package/dist/entries/app-rsc-entry.d.ts +10 -3
- package/dist/entries/app-rsc-entry.js +502 -51
- package/dist/entries/app-rsc-manifest.d.ts +4 -3
- package/dist/entries/app-rsc-manifest.js +26 -8
- package/dist/entries/app-ssr-entry.d.ts +2 -3
- package/dist/entries/app-ssr-entry.js +8 -1
- package/dist/entries/pages-client-entry.d.ts +3 -3
- package/dist/entries/pages-client-entry.js +17 -2
- package/dist/entries/pages-server-entry.d.ts +13 -3
- package/dist/entries/pages-server-entry.js +234 -33
- package/dist/entries/runtime-entry-module.d.ts +4 -5
- package/dist/image/image-adapters-virtual.d.ts +4 -5
- package/dist/index.d.ts +10 -11
- package/dist/index.js +711 -189
- package/dist/init-cloudflare.d.ts +26 -17
- package/dist/init-cloudflare.js +710 -102
- package/dist/init-platform.d.ts +26 -22
- package/dist/init-platform.js +85 -29
- package/dist/init.d.ts +19 -13
- package/dist/init.js +123 -41
- package/dist/plugins/action-owner-manifest.d.ts +3 -4
- package/dist/plugins/action-owner-manifest.js +10 -3
- package/dist/plugins/ast-scope.d.ts +10 -11
- package/dist/plugins/ast-scope.js +10 -22
- package/dist/plugins/ast-utils.d.ts +16 -29
- package/dist/plugins/ast-utils.js +27 -71
- package/dist/plugins/async-hooks-stub.d.ts +2 -3
- package/dist/plugins/client-reference-dedup.d.ts +4 -5
- package/dist/plugins/css-data-url.d.ts +2 -3
- package/dist/plugins/css-module-imports.d.ts +3 -4
- package/dist/plugins/css-module-imports.js +1 -1
- package/dist/plugins/dynamic-preload-metadata.d.ts +3 -4
- package/dist/plugins/dynamic-preload-metadata.js +55 -154
- package/dist/plugins/environment.d.ts +2 -3
- package/dist/plugins/extensionless-dynamic-import.d.ts +2 -3
- package/dist/plugins/extensionless-dynamic-import.js +6 -10
- package/dist/plugins/fonts.d.ts +10 -11
- package/dist/plugins/fonts.js +4 -3
- package/dist/plugins/ignore-dynamic-requests.d.ts +3 -4
- package/dist/plugins/ignore-dynamic-requests.js +60 -89
- package/dist/plugins/import-meta-url.d.ts +6 -7
- package/dist/plugins/import-meta-url.js +31 -43
- package/dist/plugins/instrumentation-client.d.ts +3 -3
- package/dist/plugins/instrumentation-client.js +46 -10
- package/dist/plugins/middleware-export-validation.d.ts +3 -4
- package/dist/plugins/middleware-export-validation.js +3 -3
- package/dist/plugins/middleware-server-only.d.ts +2 -3
- package/dist/plugins/og-asset-ownership.d.ts +3 -4
- package/dist/plugins/og-assets.d.ts +4 -5
- package/dist/plugins/og-assets.js +32 -13
- package/dist/plugins/og-harfbuzz.d.ts +24 -0
- package/dist/plugins/og-harfbuzz.js +260 -0
- package/dist/plugins/optimize-imports.d.ts +7 -7
- package/dist/plugins/optimize-imports.js +32 -44
- package/dist/plugins/pages-node-externals.d.ts +2 -3
- package/dist/plugins/pages-node-externals.js +6 -11
- package/dist/plugins/postcss.d.ts +8 -4
- package/dist/plugins/postcss.js +1 -1
- package/dist/plugins/remove-console.d.ts +2 -3
- package/dist/plugins/remove-console.js +0 -1
- package/dist/plugins/require-condition-resolution.d.ts +3 -4
- package/dist/plugins/require-condition-resolution.js +17 -18
- package/dist/plugins/require-context.d.ts +2 -3
- package/dist/plugins/require-context.js +13 -21
- package/dist/plugins/rsc-client-reference-loaders.d.ts +2 -3
- package/dist/plugins/rsc-client-shim-excludes.d.ts +4 -5
- package/dist/plugins/rsc-client-shim-excludes.js +1 -0
- package/dist/plugins/rsc-reference-validation-normalizer.d.ts +2 -3
- package/dist/plugins/sass.d.ts +7 -8
- package/dist/plugins/sass.js +7 -4
- package/dist/plugins/server-externals-manifest.d.ts +2 -3
- package/dist/plugins/strip-server-exports.d.ts +5 -6
- package/dist/plugins/strip-server-exports.js +1 -1
- package/dist/plugins/styled-jsx.d.ts +2 -3
- package/dist/plugins/styled-jsx.js +7 -7
- package/dist/plugins/transform-cache.d.ts +2 -3
- package/dist/plugins/transform-result.d.ts +3 -4
- package/dist/plugins/transitive-externals.d.ts +2 -3
- package/dist/plugins/typeof-window.d.ts +6 -7
- package/dist/plugins/typeof-window.js +30 -31
- package/dist/plugins/use-cache-callable.d.ts +2 -5
- package/dist/plugins/use-cache-callable.js +43 -22
- package/dist/plugins/wasm-module-import.d.ts +2 -3
- package/dist/plugins/worker-image-imports.d.ts +2 -3
- package/dist/plugins/worker-image-imports.js +6 -8
- package/dist/routing/app-route-graph.d.ts +19 -19
- package/dist/routing/app-route-graph.js +3 -2
- package/dist/routing/app-router.d.ts +19 -6
- package/dist/routing/app-router.js +24 -2
- package/dist/routing/file-matcher.d.ts +9 -10
- package/dist/routing/pages-router.d.ts +6 -6
- package/dist/routing/pages-router.js +1 -1
- package/dist/routing/route-matching.d.ts +4 -5
- package/dist/routing/route-matching.js +4 -2
- package/dist/routing/route-pattern.d.ts +13 -14
- package/dist/routing/route-trie.d.ts +5 -6
- package/dist/routing/route-validation.d.ts +3 -4
- package/dist/routing/route-validation.js +12 -11
- package/dist/routing/utils.d.ts +13 -14
- package/dist/server/accept-encoding.d.ts +9 -10
- package/dist/server/api-handler.d.ts +2 -3
- package/dist/server/api-handler.js +9 -6
- package/dist/server/app-action-forwarding.d.ts +3 -4
- package/dist/server/app-action-forwarding.js +1 -1
- package/dist/server/app-action-request.d.ts +2 -3
- package/dist/server/app-bfcache-id.d.ts +3 -4
- package/dist/server/app-bfcache-identity.d.ts +8 -9
- package/dist/server/app-browser-action-result.d.ts +15 -16
- package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -3
- package/dist/server/app-browser-entry.js +87 -34
- package/dist/server/app-browser-error.d.ts +5 -6
- package/dist/server/app-browser-error.js +9 -3
- package/dist/server/app-browser-history-controller.d.ts +4 -5
- package/dist/server/app-browser-hydration.d.ts +16 -6
- package/dist/server/app-browser-hydration.js +14 -1
- package/dist/server/app-browser-interception-context.d.ts +3 -4
- package/dist/server/app-browser-mpa-navigation.d.ts +4 -5
- package/dist/server/app-browser-navigation-abort.d.ts +3 -4
- package/dist/server/app-browser-navigation-controller.d.ts +8 -8
- package/dist/server/app-browser-navigation-controller.js +8 -4
- package/dist/server/app-browser-navigation-response.d.ts +2 -3
- package/dist/server/app-browser-popstate.d.ts +4 -5
- package/dist/server/app-browser-prefetch-response.d.ts +5 -6
- package/dist/server/app-browser-rsc-redirect.d.ts +4 -5
- package/dist/server/app-browser-server-action-client.d.ts +7 -6
- package/dist/server/app-browser-server-action-client.js +9 -5
- package/dist/server/app-browser-server-action-navigation.d.ts +2 -3
- package/dist/server/app-browser-state.d.ts +17 -17
- package/dist/server/app-browser-state.js +6 -2
- package/dist/server/app-browser-stream.d.ts +4 -5
- package/dist/server/app-browser-stream.js +8 -6
- package/dist/server/app-browser-supplemental-refresh.d.ts +11 -12
- package/dist/server/app-browser-visible-commit.d.ts +6 -7
- package/dist/server/app-client-reference-preloader.d.ts +2 -3
- package/dist/server/app-elements-wire-key.d.ts +25 -0
- package/dist/server/app-elements-wire-key.js +69 -0
- package/dist/server/app-elements-wire.d.ts +34 -53
- package/dist/server/app-elements-wire.js +4 -75
- package/dist/server/app-elements.d.ts +5 -5
- package/dist/server/app-elements.js +1 -1
- package/dist/server/app-fallback-renderer.d.ts +4 -4
- package/dist/server/app-fallback-renderer.js +6 -6
- package/dist/server/app-fetch-tracing.d.ts +15 -0
- package/dist/server/app-fetch-tracing.js +38 -0
- package/dist/server/app-history-state.d.ts +26 -27
- package/dist/server/app-history-state.js +19 -11
- package/dist/server/app-hook-warning-suppression.d.ts +2 -3
- package/dist/server/app-hydration-cache-publication.d.ts +3 -4
- package/dist/server/app-inline-css-client.d.ts +3 -4
- package/dist/server/app-interception-context-header.d.ts +2 -3
- package/dist/server/app-layout-param-observation.d.ts +7 -8
- package/dist/server/app-metadata-tracing.d.ts +12 -0
- package/dist/server/app-metadata-tracing.js +17 -0
- package/dist/server/app-middleware.d.ts +7 -7
- package/dist/server/app-middleware.js +2 -3
- package/dist/server/app-mounted-slots-header.d.ts +2 -3
- package/dist/server/app-mounted-slots-header.js +2 -2
- package/dist/server/app-optimistic-routing.d.ts +10 -11
- package/dist/server/app-optimistic-routing.js +3 -2
- package/dist/server/app-page-boundary-render.d.ts +6 -6
- package/dist/server/app-page-boundary-render.js +10 -4
- package/dist/server/app-page-boundary.d.ts +9 -10
- package/dist/server/app-page-boundary.js +1 -1
- package/dist/server/app-page-cache-finalizer.d.ts +18 -9
- package/dist/server/app-page-cache-finalizer.js +51 -16
- package/dist/server/app-page-cache-render.d.ts +8 -5
- package/dist/server/app-page-cache-render.js +22 -5
- package/dist/server/app-page-cache.d.ts +28 -9
- package/dist/server/app-page-cache.js +95 -24
- package/dist/server/app-page-dispatch.d.ts +34 -12
- package/dist/server/app-page-dispatch.js +181 -64
- package/dist/server/app-page-element-builder.d.ts +13 -11
- package/dist/server/app-page-element-builder.js +104 -61
- package/dist/server/app-page-execution.d.ts +14 -14
- package/dist/server/app-page-execution.js +11 -7
- package/dist/server/app-page-head.d.ts +19 -16
- package/dist/server/app-page-head.js +25 -25
- package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
- package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
- package/dist/server/app-page-method.d.ts +5 -11
- package/dist/server/app-page-method.js +2 -9
- package/dist/server/app-page-params.d.ts +5 -6
- package/dist/server/app-page-ppr-runtime.d.ts +2 -2
- package/dist/server/app-page-probe.d.ts +5 -6
- package/dist/server/app-page-probe.js +5 -4
- package/dist/server/app-page-render-identity.d.ts +4 -5
- package/dist/server/app-page-render-observation.d.ts +8 -9
- package/dist/server/app-page-render-observation.js +1 -1
- package/dist/server/app-page-render.d.ts +41 -6
- package/dist/server/app-page-render.js +171 -25
- package/dist/server/app-page-request.d.ts +10 -9
- package/dist/server/app-page-request.js +16 -12
- package/dist/server/app-page-response.d.ts +20 -9
- package/dist/server/app-page-response.js +30 -12
- package/dist/server/app-page-route-wiring.d.ts +15 -15
- package/dist/server/app-page-route-wiring.js +31 -24
- package/dist/server/app-page-search-params-observation.d.ts +26 -5
- package/dist/server/app-page-search-params-observation.js +42 -6
- package/dist/server/app-page-segment-plan.d.ts +2 -3
- package/dist/server/app-page-segment-state.d.ts +11 -12
- package/dist/server/app-page-stream.d.ts +27 -11
- package/dist/server/app-page-stream.js +34 -6
- package/dist/server/app-page-tracing.d.ts +33 -0
- package/dist/server/app-page-tracing.js +49 -0
- package/dist/server/app-pages-bridge.d.ts +6 -6
- package/dist/server/app-pages-bridge.js +17 -4
- package/dist/server/app-post-middleware-context.d.ts +2 -3
- package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
- package/dist/server/app-ppr-fallback-shell-render.js +3 -2
- package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
- package/dist/server/app-prerender-endpoints.d.ts +5 -5
- package/dist/server/app-prerender-endpoints.js +3 -1
- package/dist/server/app-prerender-static-params.d.ts +15 -7
- package/dist/server/app-prerender-static-params.js +24 -9
- package/dist/server/app-render-dependency.d.ts +14 -13
- package/dist/server/app-render-dependency.js +5 -1
- package/dist/server/app-request-context.d.ts +3 -4
- package/dist/server/app-request-stage-context.d.ts +5 -0
- package/dist/server/app-request-stage-context.js +11 -0
- package/dist/server/app-request-stage-dispatch.d.ts +25 -0
- package/dist/server/app-request-stage-dispatch.js +54 -0
- package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
- package/dist/server/app-request-stage-independent-entry.js +115 -0
- package/dist/server/app-response-header-provenance.d.ts +13 -7
- package/dist/server/app-response-header-provenance.js +34 -1
- package/dist/server/app-response-stage-entry.d.ts +9 -0
- package/dist/server/app-response-stage-entry.js +87 -0
- package/dist/server/app-route-handler-cache.d.ts +2 -3
- package/dist/server/app-route-handler-cache.js +46 -34
- package/dist/server/app-route-handler-dispatch.d.ts +3 -3
- package/dist/server/app-route-handler-dispatch.js +68 -54
- package/dist/server/app-route-handler-execution.d.ts +17 -13
- package/dist/server/app-route-handler-execution.js +69 -18
- package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
- package/dist/server/app-route-handler-middleware-context.js +15 -0
- package/dist/server/app-route-handler-policy.d.ts +11 -11
- package/dist/server/app-route-handler-response.d.ts +9 -10
- package/dist/server/app-route-handler-response.js +2 -0
- package/dist/server/app-route-handler-runtime.d.ts +9 -10
- package/dist/server/app-route-handler-runtime.js +20 -16
- package/dist/server/app-route-module-loader.d.ts +6 -7
- package/dist/server/app-route-request-built-ins.d.ts +3 -4
- package/dist/server/app-route-tree-prefetch.d.ts +6 -7
- package/dist/server/app-route-tree-prefetch.js +2 -1
- package/dist/server/app-router-entry.d.ts +2 -0
- package/dist/server/app-router-entry.js +28 -8
- package/dist/server/app-rsc-cache-busting.d.ts +34 -27
- package/dist/server/app-rsc-cache-busting.js +14 -2
- package/dist/server/app-rsc-combined-handler.d.ts +9 -0
- package/dist/server/app-rsc-combined-handler.js +11 -0
- package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
- package/dist/server/app-rsc-error-handler.d.ts +12 -6
- package/dist/server/app-rsc-error-handler.js +15 -6
- package/dist/server/app-rsc-errors.d.ts +12 -9
- package/dist/server/app-rsc-errors.js +15 -13
- package/dist/server/app-rsc-handler.d.ts +31 -6
- package/dist/server/app-rsc-handler.js +411 -61
- package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
- package/dist/server/app-rsc-render-mode.d.ts +8 -9
- package/dist/server/app-rsc-request-normalization.d.ts +3 -3
- package/dist/server/app-rsc-request-normalization.js +2 -1
- package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
- package/dist/server/app-rsc-response-finalizer.js +6 -6
- package/dist/server/app-rsc-response-stage.d.ts +6 -0
- package/dist/server/app-rsc-response-stage.js +251 -0
- package/dist/server/app-rsc-route-matching.d.ts +3 -4
- package/dist/server/app-rsc-route-matching.js +3 -2
- package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
- package/dist/server/app-rsc-vary.d.ts +16 -0
- package/dist/server/app-rsc-vary.js +31 -0
- package/dist/server/app-segment-config.d.ts +119 -7
- package/dist/server/app-segment-config.js +242 -2
- package/dist/server/app-server-action-execution.d.ts +16 -12
- package/dist/server/app-server-action-execution.js +86 -33
- package/dist/server/app-ssr-entry.d.ts +14 -4
- package/dist/server/app-ssr-entry.js +61 -14
- package/dist/server/app-ssr-error-meta.d.ts +3 -4
- package/dist/server/app-ssr-error-meta.js +2 -1
- package/dist/server/app-ssr-router-instance.d.ts +2 -3
- package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
- package/dist/server/app-ssr-search-params-gate.js +54 -0
- package/dist/server/app-ssr-stream.d.ts +13 -9
- package/dist/server/app-ssr-stream.js +33 -7
- package/dist/server/app-static-generation.d.ts +4 -5
- package/dist/server/app-visited-response-cache.d.ts +11 -12
- package/dist/server/app-visited-response-cache.js +2 -2
- package/dist/server/app-worker-stages.d.ts +112 -0
- package/dist/server/app-worker-stages.js +105 -0
- package/dist/server/artifact-compatibility.d.ts +11 -12
- package/dist/server/before-interactive-head.d.ts +2 -3
- package/dist/server/bfcache-identity.d.ts +7 -8
- package/dist/server/cache-control.d.ts +35 -13
- package/dist/server/cache-control.js +71 -5
- package/dist/server/cache-headers.d.ts +3 -4
- package/dist/server/cache-proof.d.ts +75 -70
- package/dist/server/cache-proof.js +9 -1
- package/dist/server/cacheability-limits.d.ts +4 -5
- package/dist/server/cacheability-limits.js +2 -2
- package/dist/server/cacheability-manifest.d.ts +42 -16
- package/dist/server/cacheability-manifest.js +60 -10
- package/dist/server/cacheability-request.d.ts +37 -8
- package/dist/server/cacheability-request.js +159 -57
- package/dist/server/client-reuse-manifest.d.ts +17 -18
- package/dist/server/client-reuse-manifest.js +2 -2
- package/dist/server/client-trace-metadata.d.ts +9 -6
- package/dist/server/client-trace-metadata.js +27 -15
- package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
- package/dist/server/cloudflare-workers-tracing.js +8 -0
- package/dist/server/config-headers.d.ts +19 -5
- package/dist/server/config-headers.js +25 -11
- package/dist/server/cookie-utils.d.ts +2 -3
- package/dist/server/csp.d.ts +5 -6
- package/dist/server/default-global-error-module.d.ts +2 -3
- package/dist/server/default-global-not-found-module.d.ts +2 -3
- package/dist/server/default-not-found-module.d.ts +2 -3
- package/dist/server/defer-until-stream-consumed.d.ts +2 -3
- package/dist/server/defer-until-stream-consumed.js +2 -1
- package/dist/server/dev-initial-server-error.d.ts +3 -4
- package/dist/server/dev-initial-server-error.js +2 -1
- package/dist/server/dev-lockfile.d.ts +7 -8
- package/dist/server/dev-lockfile.js +4 -1
- package/dist/server/dev-module-runner.d.ts +2 -3
- package/dist/server/dev-origin-check.d.ts +5 -6
- package/dist/server/dev-route-files.d.ts +2 -3
- package/dist/server/dev-server.d.ts +4 -5
- package/dist/server/dev-server.js +130 -61
- package/dist/server/dev-stack-sourcemap.d.ts +7 -7
- package/dist/server/dev-stack-sourcemap.js +1 -1
- package/dist/server/document-initial-head.d.ts +3 -4
- package/dist/server/edge-api-runtime.d.ts +4 -5
- package/dist/server/fetch-handler.d.ts +3 -2
- package/dist/server/fetch-handler.js +3 -18
- package/dist/server/file-based-metadata.d.ts +2 -3
- package/dist/server/framework-tracer.d.ts +46 -0
- package/dist/server/framework-tracer.js +125 -0
- package/dist/server/fully-buffered-response.d.ts +11 -0
- package/dist/server/fully-buffered-response.js +19 -0
- package/dist/server/headers.d.ts +54 -61
- package/dist/server/headers.js +18 -31
- package/dist/server/html.d.ts +6 -27
- package/dist/server/html.js +16 -1
- package/dist/server/http-conditional.d.ts +5 -6
- package/dist/server/http-date.d.ts +2 -3
- package/dist/server/http-error-responses.d.ts +9 -10
- package/dist/server/http-range.d.ts +4 -5
- package/dist/server/hybrid-route-priority.d.ts +4 -5
- package/dist/server/image-optimization.d.ts +20 -21
- package/dist/server/implicit-tags.d.ts +3 -4
- package/dist/server/instrumentation-runtime.d.ts +17 -21
- package/dist/server/instrumentation-runtime.js +26 -8
- package/dist/server/instrumentation.d.ts +26 -30
- package/dist/server/instrumentation.js +18 -23
- package/dist/server/isr-cache.d.ts +28 -27
- package/dist/server/isr-cache.js +18 -70
- package/dist/server/isr-decision.d.ts +4 -4
- package/dist/server/metadata-route-build-data.d.ts +4 -5
- package/dist/server/metadata-route-cache-policy.d.ts +2 -3
- package/dist/server/metadata-route-response.d.ts +7 -7
- package/dist/server/metadata-route-response.js +68 -2
- package/dist/server/metadata-routes.d.ts +18 -19
- package/dist/server/middleware-matcher-pattern.d.ts +6 -7
- package/dist/server/middleware-matcher.d.ts +6 -7
- package/dist/server/middleware-path-to-regexp.d.ts +6 -7
- package/dist/server/middleware-path-to-regexp.js +11 -9
- package/dist/server/middleware-response-headers.d.ts +3 -4
- package/dist/server/middleware-runtime.d.ts +7 -8
- package/dist/server/middleware-runtime.js +36 -7
- package/dist/server/middleware.d.ts +5 -5
- package/dist/server/multi-stage.d.ts +141 -0
- package/dist/server/multi-stage.js +8 -0
- package/dist/server/navigation-planner.d.ts +26 -26
- package/dist/server/navigation-trace.d.ts +11 -12
- package/dist/server/next-error-digest.d.ts +4 -5
- package/dist/server/normalize-path.d.ts +5 -6
- package/dist/server/open-redirect.d.ts +2 -3
- package/dist/server/opentelemetry-api.d.ts +59 -0
- package/dist/server/opentelemetry-api.js +53 -0
- package/dist/server/opentelemetry-tracing.d.ts +5 -0
- package/dist/server/opentelemetry-tracing.js +83 -0
- package/dist/server/operation-token.d.ts +11 -12
- package/dist/server/otel-tracer-extension.d.ts +7 -9
- package/dist/server/otel-tracer-extension.js +37 -36
- package/dist/server/pages-api-route.d.ts +5 -4
- package/dist/server/pages-api-route.js +20 -7
- package/dist/server/pages-asset-tags.d.ts +6 -6
- package/dist/server/pages-asset-tags.js +37 -2
- package/dist/server/pages-body-parser-config.d.ts +4 -5
- package/dist/server/pages-body-parser-config.js +4 -4
- package/dist/server/pages-client-assets.d.ts +11 -5
- package/dist/server/pages-data-route.d.ts +11 -12
- package/dist/server/pages-data-route.js +1 -1
- package/dist/server/pages-default-404.d.ts +3 -4
- package/dist/server/pages-dev-hydration.d.ts +9 -4
- package/dist/server/pages-dev-hydration.js +19 -7
- package/dist/server/pages-dev-module-url.d.ts +3 -4
- package/dist/server/pages-dev-stylesheets.d.ts +5 -6
- package/dist/server/pages-document-asset-props.d.ts +6 -7
- package/dist/server/pages-document-initial-props.d.ts +5 -5
- package/dist/server/pages-document-initial-props.js +4 -2
- package/dist/server/pages-execution-tracing.d.ts +40 -0
- package/dist/server/pages-execution-tracing.js +80 -0
- package/dist/server/pages-get-initial-props.d.ts +9 -10
- package/dist/server/pages-i18n.d.ts +8 -8
- package/dist/server/pages-media-type.d.ts +4 -5
- package/dist/server/pages-node-compat.d.ts +11 -10
- package/dist/server/pages-node-compat.js +12 -4
- package/dist/server/pages-page-data.d.ts +18 -19
- package/dist/server/pages-page-data.js +11 -10
- package/dist/server/pages-page-handler.d.ts +7 -6
- package/dist/server/pages-page-handler.js +77 -39
- package/dist/server/pages-page-method.d.ts +2 -3
- package/dist/server/pages-page-response.d.ts +14 -10
- package/dist/server/pages-page-response.js +49 -31
- package/dist/server/pages-preview.d.ts +10 -11
- package/dist/server/pages-readiness.d.ts +2 -3
- package/dist/server/pages-request-pipeline.d.ts +14 -12
- package/dist/server/pages-request-pipeline.js +60 -30
- package/dist/server/pages-request-stage-entry.d.ts +23 -0
- package/dist/server/pages-request-stage-entry.js +314 -0
- package/dist/server/pages-response-stage-entry.d.ts +11 -0
- package/dist/server/pages-response-stage-entry.js +106 -0
- package/dist/server/pages-response-stage.d.ts +31 -0
- package/dist/server/pages-response-stage.js +49 -0
- package/dist/server/pages-revalidate.d.ts +3 -4
- package/dist/server/pages-revalidate.js +9 -4
- package/dist/server/pages-route-data-kind.d.ts +18 -0
- package/dist/server/pages-route-data-kind.js +11 -0
- package/dist/server/pages-router-entry.d.ts +1 -25
- package/dist/server/pages-router-entry.js +35 -148
- package/dist/server/pages-serializable-props.d.ts +3 -4
- package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
- package/dist/server/pregenerated-concrete-paths.js +12 -6
- package/dist/server/prerender-cache-life-header.d.ts +3 -4
- package/dist/server/prerender-manifest.d.ts +11 -11
- package/dist/server/prerender-manifest.js +6 -3
- package/dist/server/prerender-route-params.d.ts +16 -9
- package/dist/server/prerender-route-params.js +18 -3
- package/dist/server/prerender-work-unit-setup.d.ts +2 -3
- package/dist/server/prerender-work-unit-setup.js +5 -5
- package/dist/server/prod-server.d.ts +12 -9
- package/dist/server/prod-server.js +124 -31
- package/dist/server/proxy-trust.d.ts +5 -6
- package/dist/server/request-log.d.ts +3 -4
- package/dist/server/request-pipeline.d.ts +16 -16
- package/dist/server/request-pipeline.js +7 -2
- package/dist/server/request-stage.d.ts +5 -0
- package/dist/server/request-stage.js +7 -0
- package/dist/server/request-tracing.d.ts +22 -0
- package/dist/server/request-tracing.js +180 -0
- package/dist/server/response-stage-cacheability.d.ts +37 -0
- package/dist/server/response-stage-cacheability.js +55 -0
- package/dist/server/response-stage-policy.d.ts +23 -0
- package/dist/server/response-stage-policy.js +89 -0
- package/dist/server/response-stage.d.ts +5 -0
- package/dist/server/response-stage.js +7 -0
- package/dist/server/response-start-tracing.d.ts +14 -0
- package/dist/server/response-start-tracing.js +80 -0
- package/dist/server/revalidation-host.d.ts +2 -3
- package/dist/server/revalidation-host.js +1 -1
- package/dist/server/revalidation-request.d.ts +8 -0
- package/dist/server/revalidation-request.js +37 -0
- package/dist/server/rsc-completion-metadata.d.ts +6 -7
- package/dist/server/rsc-stream-hints.d.ts +18 -7
- package/dist/server/rsc-stream-hints.js +70 -35
- package/dist/server/seed-cache.d.ts +2 -3
- package/dist/server/seed-cache.js +8 -7
- package/dist/server/server-action-not-found.d.ts +5 -6
- package/dist/server/server-globals.d.ts +2 -3
- package/dist/server/skip-cache-proof.d.ts +4 -4
- package/dist/server/socket-error-backstop.d.ts +5 -6
- package/dist/server/socket-error-backstop.js +1 -1
- package/dist/server/static-file-cache.d.ts +5 -6
- package/dist/server/static-file-cache.js +9 -7
- package/dist/server/static-file-signal.d.ts +9 -6
- package/dist/server/static-file-signal.js +51 -2
- package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
- package/dist/server/streaming-metadata.d.ts +2 -3
- package/dist/server/tracer.d.ts +5 -0
- package/dist/server/tracer.js +13 -0
- package/dist/server/worker-prerender-discovery.d.ts +5 -6
- package/dist/server/worker-revalidation-context.d.ts +2 -3
- package/dist/server/worker-revalidation-context.js +5 -5
- package/dist/server/worker-stages.d.ts +43 -0
- package/dist/server/worker-stages.js +25 -0
- package/dist/server/worker-utils.d.ts +5 -6
- package/dist/server/worker-utils.js +2 -1
- package/dist/server/workers-tracing.d.ts +17 -0
- package/dist/server/workers-tracing.js +27 -0
- package/dist/shims/amp.d.ts +3 -4
- package/dist/shims/app-router-scroll-state.d.ts +9 -10
- package/dist/shims/app-router-scroll.d.ts +4 -5
- package/dist/shims/app-router-scroll.js +2 -1
- package/dist/shims/app.d.ts +5 -6
- package/dist/shims/before-interactive-context.d.ts +5 -6
- package/dist/shims/cache-callable-runtime.d.ts +44 -4
- package/dist/shims/cache-callable-runtime.js +168 -8
- package/dist/shims/cache-for-request.d.ts +2 -3
- package/dist/shims/cache-handler.d.ts +33 -20
- package/dist/shims/cache-handler.js +61 -2
- package/dist/shims/cache-request-state.d.ts +28 -29
- package/dist/shims/cache-runtime.d.ts +23 -21
- package/dist/shims/cache-runtime.js +107 -27
- package/dist/shims/cache.d.ts +15 -15
- package/dist/shims/cache.js +15 -13
- package/dist/shims/cacheability-classification.d.ts +49 -28
- package/dist/shims/cacheability-classification.js +27 -12
- package/dist/shims/cdn-cache-state.d.ts +13 -0
- package/dist/shims/cdn-cache-state.js +23 -0
- package/dist/shims/cdn-cache.d.ts +50 -21
- package/dist/shims/cdn-cache.js +15 -38
- package/dist/shims/client-hook-error.d.ts +3 -4
- package/dist/shims/client-locale.d.ts +2 -3
- package/dist/shims/client-page-root.d.ts +24 -0
- package/dist/shims/client-page-root.js +121 -0
- package/dist/shims/compat-router.d.ts +2 -3
- package/dist/shims/config.d.ts +3 -4
- package/dist/shims/constants.d.ts +73 -74
- package/dist/shims/constants.js +1 -1
- package/dist/shims/default-not-found.d.ts +2 -3
- package/dist/shims/document.d.ts +9 -9
- package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
- package/dist/shims/dynamic-preload-chunks.js +17 -13
- package/dist/shims/dynamic.d.ts +3 -3
- package/dist/shims/error-boundary-navigation.d.ts +3 -4
- package/dist/shims/error-boundary.d.ts +17 -18
- package/dist/shims/error-boundary.js +17 -11
- package/dist/shims/error.d.ts +4 -4
- package/dist/shims/error.react-server.d.ts +3 -4
- package/dist/shims/fetch-cache.d.ts +22 -22
- package/dist/shims/fetch-cache.js +42 -17
- package/dist/shims/font-google-base.d.ts +9 -9
- package/dist/shims/font-google-base.js +2 -1
- package/dist/shims/font-local.d.ts +3 -3
- package/dist/shims/font-local.js +1 -1
- package/dist/shims/font-utils.d.ts +14 -15
- package/dist/shims/form.d.ts +2 -2
- package/dist/shims/form.js +10 -7
- package/dist/shims/hash-scroll.d.ts +5 -6
- package/dist/shims/head-state.d.ts +4 -5
- package/dist/shims/head.d.ts +16 -16
- package/dist/shims/head.js +5 -4
- package/dist/shims/headers.d.ts +67 -33
- package/dist/shims/headers.js +93 -6
- package/dist/shims/i18n-context.d.ts +5 -6
- package/dist/shims/i18n-state.d.ts +4 -5
- package/dist/shims/image-config.d.ts +5 -6
- package/dist/shims/image-config.js +2 -0
- package/dist/shims/image.d.ts +5 -5
- package/dist/shims/image.js +12 -8
- package/dist/shims/internal/als-registry.d.ts +4 -5
- package/dist/shims/internal/api-utils.d.ts +3 -4
- package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
- package/dist/shims/internal/app-page-props-cache-key.js +53 -1
- package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
- package/dist/shims/internal/app-prefetch-rsc-request.d.ts +5 -17
- package/dist/shims/internal/app-prefetch-rsc-request.js +5 -14
- package/dist/shims/internal/app-route-detection.d.ts +2 -2
- package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -8
- package/dist/shims/internal/app-route-prefetch-policy.js +0 -1
- package/dist/shims/internal/app-router-context.d.ts +9 -10
- package/dist/shims/internal/cookie-serialize.d.ts +4 -5
- package/dist/shims/internal/format-url-object.d.ts +7 -0
- package/dist/shims/internal/format-url-object.js +53 -0
- package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
- package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
- package/dist/shims/internal/hybrid-client-route-owner.js +3 -2
- package/dist/shims/internal/interpolate-as.d.ts +5 -6
- package/dist/shims/internal/interpolate-as.js +4 -2
- package/dist/shims/internal/link-status-registry.d.ts +5 -6
- package/dist/shims/internal/make-hanging-promise.d.ts +3 -4
- package/dist/shims/internal/navigation-untracked.d.ts +2 -3
- package/dist/shims/internal/normalize-router-href.d.ts +15 -0
- package/dist/shims/internal/normalize-router-href.js +41 -0
- package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
- package/dist/shims/internal/pages-data-target.d.ts +8 -6
- package/dist/shims/internal/pages-data-target.js +32 -36
- package/dist/shims/internal/pages-data-url.d.ts +4 -5
- package/dist/shims/internal/pages-data-url.js +2 -1
- package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
- package/dist/shims/internal/pages-router-components.d.ts +3 -4
- package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
- package/dist/shims/internal/route-pattern-for-warning.js +3 -3
- package/dist/shims/internal/router-context.d.ts +2 -3
- package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
- package/dist/shims/internal/thenable-well-known-properties.js +33 -0
- package/dist/shims/internal/utils.d.ts +7 -8
- package/dist/shims/internal/work-unit-async-storage.d.ts +10 -11
- package/dist/shims/layout-segment-context.d.ts +3 -4
- package/dist/shims/link-prefetch.d.ts +9 -10
- package/dist/shims/link.d.ts +4 -4
- package/dist/shims/link.js +56 -116
- package/dist/shims/metadata.d.ts +15 -16
- package/dist/shims/metadata.js +40 -36
- package/dist/shims/navigation-context-accessors.d.ts +9 -0
- package/dist/shims/navigation-context-accessors.js +19 -0
- package/dist/shims/navigation-context-state.d.ts +27 -18
- package/dist/shims/navigation-errors.d.ts +18 -19
- package/dist/shims/navigation-state.d.ts +6 -7
- package/dist/shims/navigation.d.ts +80 -68
- package/dist/shims/navigation.js +24 -16
- package/dist/shims/navigation.react-server.d.ts +9 -9
- package/dist/shims/offline.d.ts +2 -3
- package/dist/shims/og.d.ts +2 -2
- package/dist/shims/pages-router-runtime.d.ts +4 -5
- package/dist/shims/ppr-fallback-shell.d.ts +13 -14
- package/dist/shims/readonly-url-search-params.d.ts +2 -3
- package/dist/shims/request-context.d.ts +5 -6
- package/dist/shims/root-params.d.ts +14 -15
- package/dist/shims/router-state.d.ts +5 -6
- package/dist/shims/router-state.js +1 -1
- package/dist/shims/router.d.ts +22 -21
- package/dist/shims/router.js +339 -164
- package/dist/shims/script-nonce-context.d.ts +8 -6
- package/dist/shims/script-nonce-context.js +15 -6
- package/dist/shims/script.d.ts +4 -4
- package/dist/shims/script.js +9 -7
- package/dist/shims/search-params-gate.d.ts +35 -0
- package/dist/shims/search-params-gate.js +32 -0
- package/dist/shims/server.d.ts +19 -51
- package/dist/shims/server.js +14 -28
- package/dist/shims/slot.d.ts +33 -15
- package/dist/shims/slot.js +41 -9
- package/dist/shims/streamed-icons.d.ts +3 -4
- package/dist/shims/thenable-params.d.ts +5 -7
- package/dist/shims/thenable-params.js +3 -24
- package/dist/shims/unified-request-context.d.ts +34 -31
- package/dist/shims/unified-request-context.js +34 -24
- package/dist/shims/unrecognized-action-error.d.ts +3 -4
- package/dist/shims/url-safety.d.ts +5 -6
- package/dist/shims/url-utils.d.ts +12 -13
- package/dist/shims/use-merged-ref.d.ts +2 -3
- package/dist/shims/user-agent.d.ts +31 -0
- package/dist/shims/user-agent.js +16 -0
- package/dist/shims/web-vitals.d.ts +2 -2
- package/dist/typegen.d.ts +3 -4
- package/dist/utils/asset-prefix.d.ts +7 -8
- package/dist/utils/base-path.d.ts +5 -6
- package/dist/utils/built-asset-url.d.ts +2 -3
- package/dist/utils/built-asset-url.js +1 -1
- package/dist/utils/cache-control-metadata.d.ts +4 -5
- package/dist/utils/client-build-manifest.d.ts +6 -7
- package/dist/utils/client-build-manifest.js +2 -1
- package/dist/utils/client-entry-manifest.d.ts +6 -7
- package/dist/utils/client-runtime-metadata.d.ts +8 -3
- package/dist/utils/client-runtime-metadata.js +18 -1
- package/dist/utils/commonjs-loader.d.ts +4 -5
- package/dist/utils/compare.d.ts +2 -3
- package/dist/utils/deployment-id.d.ts +6 -7
- package/dist/utils/dev-error-recovery-event.d.ts +2 -3
- package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
- package/dist/utils/domain-locale.d.ts +7 -8
- package/dist/utils/encode-cache-tag.d.ts +3 -4
- package/dist/utils/error-cause.d.ts +2 -3
- package/dist/utils/external-url.d.ts +2 -3
- package/dist/utils/has-trailing-comma.d.ts +3 -4
- package/dist/utils/hash.d.ts +3 -4
- package/dist/utils/html-limited-bots.d.ts +3 -4
- package/dist/utils/lazy-chunks.d.ts +8 -9
- package/dist/utils/lazy-chunks.js +4 -4
- package/dist/utils/manifest-paths.d.ts +5 -6
- package/dist/utils/mdx-scan.d.ts +11 -4
- package/dist/utils/mdx-scan.js +27 -1
- package/dist/utils/middleware-request-headers.d.ts +7 -6
- package/dist/utils/middleware-request-headers.js +6 -1
- package/dist/utils/navigation-signal.d.ts +3 -3
- package/dist/utils/navigation-signal.js +16 -1
- package/dist/utils/number.d.ts +2 -3
- package/dist/utils/package-name.d.ts +3 -4
- package/dist/utils/parse-cookie.d.ts +4 -5
- package/dist/utils/path.d.ts +8 -9
- package/dist/utils/plugin-options.d.ts +2 -3
- package/dist/utils/precompressed-variant.d.ts +3 -4
- package/dist/utils/prerender-output-paths.d.ts +4 -5
- package/dist/utils/project.d.ts +19 -30
- package/dist/utils/project.js +20 -29
- package/dist/utils/promise.d.ts +2 -3
- package/dist/utils/protocol-headers.d.ts +14 -15
- package/dist/utils/public-file-path.d.ts +2 -3
- package/dist/utils/public-routes.d.ts +2 -3
- package/dist/utils/query.d.ts +14 -9
- package/dist/utils/query.js +22 -1
- package/dist/utils/react-compiler-support.d.ts +6 -7
- package/dist/utils/react-version.d.ts +4 -3
- package/dist/utils/react-version.js +19 -1
- package/dist/utils/record.d.ts +2 -3
- package/dist/utils/redirect-digest.d.ts +3 -4
- package/dist/utils/regex-safety.d.ts +4 -5
- package/dist/utils/regex.d.ts +2 -3
- package/dist/utils/safe-json-file.d.ts +2 -3
- package/dist/utils/sorted-array.d.ts +2 -3
- package/dist/utils/text-stream.d.ts +3 -4
- package/dist/utils/vinext-root.d.ts +2 -3
- package/dist/utils/virtual-module.d.ts +3 -4
- package/dist/utils/vite-cli-invocation.d.ts +21 -0
- package/dist/utils/vite-cli-invocation.js +144 -0
- package/dist/utils/vite-version.d.ts +5 -6
- package/next-package.json +4 -0
- package/package.json +47 -6
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { isBotUserAgent } from "../utils/html-limited-bots.js";
|
|
1
2
|
import { getRequestExecutionContext } from "../shims/request-context.js";
|
|
2
|
-
import { NEXTJS_CACHE_HEADER } from "./headers.js";
|
|
3
|
+
import { NEXTJS_CACHE_HEADER, VINEXT_REVALIDATED_CACHE_TAG_HEADER } from "./headers.js";
|
|
3
4
|
import { reportRequestError } from "./instrumentation.js";
|
|
4
5
|
import { BROWSER_REVALIDATE_CACHE_CONTROL, NEVER_CACHE_CONTROL, NO_STORE_CACHE_CONTROL, applyCdnResponseHeaders, shouldUseNextDeployCacheControl } from "./cache-control.js";
|
|
5
6
|
import { buildMissIsrCacheControl } from "./isr-decision.js";
|
|
@@ -15,7 +16,6 @@ import { setCacheStateHeaders } from "./cache-headers.js";
|
|
|
15
16
|
import { readStreamAsText } from "../utils/text-stream.js";
|
|
16
17
|
import { loadUserDocumentInitialProps, runDocumentRenderPage } from "./pages-document-initial-props.js";
|
|
17
18
|
import { callDocumentGetInitialProps } from "./document-initial-head.js";
|
|
18
|
-
import { isBotUserAgent } from "../utils/html-limited-bots.js";
|
|
19
19
|
import { matchesIfNoneMatch } from "./http-conditional.js";
|
|
20
20
|
import React from "react";
|
|
21
21
|
//#region src/server/pages-page-response.ts
|
|
@@ -119,14 +119,15 @@ async function buildPagesCompositeStream(bodyStream, shellPrefix, shellSuffix) {
|
|
|
119
119
|
async function reportPagesIsrCacheWriteError(error, cacheKey, routePattern) {
|
|
120
120
|
console.error(`[vinext] Pages ISR cache write failed for ${cacheKey}:`, error);
|
|
121
121
|
try {
|
|
122
|
-
await reportRequestError(error
|
|
122
|
+
await reportRequestError(error, {
|
|
123
123
|
path: cacheKey,
|
|
124
124
|
method: "GET",
|
|
125
125
|
headers: {}
|
|
126
126
|
}, {
|
|
127
127
|
routerKind: "Pages Router",
|
|
128
128
|
routePath: routePattern,
|
|
129
|
-
routeType: "render"
|
|
129
|
+
routeType: "render",
|
|
130
|
+
revalidateReason: void 0
|
|
130
131
|
});
|
|
131
132
|
} catch {}
|
|
132
133
|
}
|
|
@@ -181,33 +182,48 @@ async function renderPagesPageResponse(options) {
|
|
|
181
182
|
vinext: options.vinext
|
|
182
183
|
});
|
|
183
184
|
const bodyMarker = "<!--VINEXT_STREAM_BODY-->";
|
|
184
|
-
const
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
185
|
+
const documentResult = await (options.traceDocument ?? ((callback) => callback()))(async () => {
|
|
186
|
+
const documentRenderPage = await runDocumentRenderPage({
|
|
187
|
+
DocumentComponent: options.DocumentComponent,
|
|
188
|
+
enhancePageElement: options.enhancePageElement,
|
|
189
|
+
renderToReadableStream: options.renderToReadableStream,
|
|
190
|
+
renderStylesToString: async (element) => readStreamAsText(await options.renderToReadableStream(element)),
|
|
191
|
+
scriptNonce: options.scriptNonce,
|
|
192
|
+
initialStylesheetHrefs: options.initialStylesheetHrefs,
|
|
193
|
+
context: {
|
|
194
|
+
err: options.err,
|
|
195
|
+
req: options.documentReqRes?.req,
|
|
196
|
+
res: options.documentReqRes?.res,
|
|
197
|
+
pathname: options.routePattern,
|
|
198
|
+
query: options.query ?? options.params,
|
|
199
|
+
asPath: options.routeUrl
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
if (options.documentReqRes?.res.headersSent && options.documentReqRes.responsePromise) return {
|
|
203
|
+
documentRenderPage,
|
|
204
|
+
responseSent: true
|
|
205
|
+
};
|
|
206
|
+
let bodyStream;
|
|
207
|
+
if (documentRenderPage.status === "rendered") bodyStream = new ReadableStream({ start(controller) {
|
|
208
|
+
controller.enqueue(new TextEncoder().encode(documentRenderPage.bodyHtml));
|
|
209
|
+
controller.close();
|
|
210
|
+
} });
|
|
211
|
+
else {
|
|
212
|
+
const pageElement = withScriptNonce(React.createElement(React.Fragment, null, options.createPageElement(renderProps)), options.scriptNonce, options.initialStylesheetHrefs);
|
|
213
|
+
bodyStream = await options.renderToReadableStream(pageElement);
|
|
197
214
|
}
|
|
215
|
+
if (documentRenderPage.status === "skipped") await callDocumentGetInitialProps(options.DocumentComponent, options.setDocumentInitialHead);
|
|
216
|
+
else options.setDocumentInitialHead?.(documentRenderPage.head);
|
|
217
|
+
return {
|
|
218
|
+
bodyStream,
|
|
219
|
+
documentRenderPage,
|
|
220
|
+
responseSent: false,
|
|
221
|
+
waitForBody: documentRenderPage.status === "skipped"
|
|
222
|
+
};
|
|
198
223
|
});
|
|
199
|
-
if (
|
|
200
|
-
|
|
201
|
-
if (
|
|
202
|
-
controller.enqueue(new TextEncoder().encode(documentRenderPage.bodyHtml));
|
|
203
|
-
controller.close();
|
|
204
|
-
} });
|
|
205
|
-
else {
|
|
206
|
-
const pageElement = withScriptNonce(React.createElement(React.Fragment, null, options.createPageElement(renderProps)), options.scriptNonce);
|
|
207
|
-
bodyStream = await options.renderToReadableStream(pageElement);
|
|
208
|
-
}
|
|
209
|
-
if (documentRenderPage.status === "skipped") await callDocumentGetInitialProps(options.DocumentComponent, options.setDocumentInitialHead);
|
|
210
|
-
else options.setDocumentInitialHead?.(documentRenderPage.head);
|
|
224
|
+
if (documentResult.responseSent && options.documentReqRes?.responsePromise) return options.documentReqRes.responsePromise;
|
|
225
|
+
const { bodyStream, documentRenderPage } = documentResult;
|
|
226
|
+
if (!bodyStream) throw new Error("Pages document render did not produce a body stream");
|
|
211
227
|
const headFromShim = options.getSSRHeadHTML?.() ?? "";
|
|
212
228
|
const traceMetaHTML = getClientTraceMetadataHTML(options.clientTraceMetadata);
|
|
213
229
|
const ssrHeadHTML = headFromShim;
|
|
@@ -263,8 +279,10 @@ async function renderPagesPageResponse(options) {
|
|
|
263
279
|
cacheControl: buildMissIsrCacheControl(options.isrRevalidateSeconds, options.expireSeconds),
|
|
264
280
|
tags: [encodeCacheTag(`_N_T_${stem || "/"}`)]
|
|
265
281
|
});
|
|
266
|
-
if (options.isOnDemandRevalidate)
|
|
267
|
-
|
|
282
|
+
if (options.isOnDemandRevalidate) {
|
|
283
|
+
responseHeaders.set(NEXTJS_CACHE_HEADER, "REVALIDATED");
|
|
284
|
+
responseHeaders.set(VINEXT_REVALIDATED_CACHE_TAG_HEADER, encodeCacheTag(`_N_T_${stem || "/"}`));
|
|
285
|
+
} else setCacheStateHeaders(responseHeaders, "MISS");
|
|
268
286
|
} else if (options.isStaticPropsRoute && shouldUseNextDeployCacheControl()) responseHeaders.set("Cache-Control", BROWSER_REVALIDATE_CACHE_CONTROL);
|
|
269
287
|
else if (options.gsspRes && !userSetCacheControl) responseHeaders.set("Cache-Control", NEVER_CACHE_CONTROL);
|
|
270
288
|
if (options.fontLinkHeader) responseHeaders.set("Link", options.fontLinkHeader);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
//#region src/server/pages-preview.d.ts
|
|
2
|
-
declare const PAGES_PREVIEW_CACHE_CONTROL = "private, no-cache, no-store, max-age=0, must-revalidate";
|
|
3
|
-
type PagesPreviewData = object | string;
|
|
4
|
-
type PagesPreviewState = {
|
|
2
|
+
export declare const PAGES_PREVIEW_CACHE_CONTROL = "private, no-cache, no-store, max-age=0, must-revalidate";
|
|
3
|
+
export type PagesPreviewData = object | string;
|
|
4
|
+
export type PagesPreviewState = {
|
|
5
5
|
data: PagesPreviewData | false;
|
|
6
6
|
shouldClear: boolean;
|
|
7
7
|
};
|
|
@@ -9,18 +9,17 @@ type PreviewResponse = {
|
|
|
9
9
|
getHeader(name: string): string | number | boolean | string[] | undefined;
|
|
10
10
|
setHeader(name: string, value: string | number | boolean | string[]): unknown;
|
|
11
11
|
};
|
|
12
|
-
declare function getPagesPreviewModeId(): string;
|
|
13
|
-
declare function getPagesPreviewState(cookieHeader: string | string[] | null | undefined, options?: {
|
|
12
|
+
export declare function getPagesPreviewModeId(): string;
|
|
13
|
+
export declare function getPagesPreviewState(cookieHeader: string | string[] | null | undefined, options?: {
|
|
14
14
|
isOnDemandRevalidate?: boolean;
|
|
15
15
|
}): PagesPreviewState;
|
|
16
|
-
declare function setPagesDraftMode(response: PreviewResponse, enabled: boolean): void;
|
|
17
|
-
declare function setPagesPreviewData(response: PreviewResponse, data: PagesPreviewData, options?: {
|
|
16
|
+
export declare function setPagesDraftMode(response: PreviewResponse, enabled: boolean): void;
|
|
17
|
+
export declare function setPagesPreviewData(response: PreviewResponse, data: PagesPreviewData, options?: {
|
|
18
18
|
maxAge?: number;
|
|
19
19
|
path?: string;
|
|
20
20
|
}): void;
|
|
21
|
-
declare function clearPagesPreviewData(response: PreviewResponse, options?: {
|
|
21
|
+
export declare function clearPagesPreviewData(response: PreviewResponse, options?: {
|
|
22
22
|
path?: string;
|
|
23
23
|
}): void;
|
|
24
|
-
declare function appendPagesPreviewClearCookies(headers: Headers): void;
|
|
25
|
-
//#endregion
|
|
26
|
-
export { PAGES_PREVIEW_CACHE_CONTROL, PagesPreviewData, PagesPreviewState, appendPagesPreviewClearCookies, clearPagesPreviewData, getPagesPreviewModeId, getPagesPreviewState, setPagesDraftMode, setPagesPreviewData };
|
|
24
|
+
export declare function appendPagesPreviewClearCookies(headers: Headers): void;
|
|
25
|
+
//#endregion
|
|
@@ -24,7 +24,7 @@ type PagesReadinessNextData = Pick<VinextNextData, "gssp" | "gsp" | "gip" | "app
|
|
|
24
24
|
* Build the readiness flags for a Pages Router render. Shared by the dev and
|
|
25
25
|
* production Pages render paths.
|
|
26
26
|
*/
|
|
27
|
-
declare function buildPagesReadinessNextData(options: {
|
|
27
|
+
export declare function buildPagesReadinessNextData(options: {
|
|
28
28
|
pageModule: PagesPageModule;
|
|
29
29
|
appComponent: {
|
|
30
30
|
getInitialProps?: unknown;
|
|
@@ -32,5 +32,4 @@ declare function buildPagesReadinessNextData(options: {
|
|
|
32
32
|
} | null | undefined;
|
|
33
33
|
hasRewrites: boolean;
|
|
34
34
|
}): PagesReadinessNextData;
|
|
35
|
-
//#endregion
|
|
36
|
-
export { buildPagesReadinessNextData };
|
|
35
|
+
//#endregion
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
import { NextHeader, NextI18nConfig, NextRedirect, NextRewrite } from "../config/next-config.js";
|
|
2
|
+
import { PagesRouteDataKind } from "./pages-route-data-kind.js";
|
|
2
3
|
import { HeaderRecord } from "./request-pipeline.js";
|
|
3
4
|
//#region src/server/pages-request-pipeline.d.ts
|
|
4
|
-
type PagesRenderOptions = {
|
|
5
|
+
export type PagesRenderOptions = {
|
|
5
6
|
isDataReq?: boolean;
|
|
6
7
|
renderErrorPageOnMiss?: boolean;
|
|
7
8
|
originalUrl?: string;
|
|
8
9
|
};
|
|
9
|
-
type FilesystemRoutePhase = "direct" | "beforeFiles" | "afterFiles" | "fallback";
|
|
10
|
+
export type FilesystemRoutePhase = "direct" | "beforeFiles" | "afterFiles" | "fallback";
|
|
10
11
|
type PageRouteMatch = {
|
|
11
12
|
route: {
|
|
12
13
|
isDynamic: boolean;
|
|
13
14
|
pattern?: string;
|
|
14
|
-
dataKind?:
|
|
15
|
+
dataKind?: PagesRouteDataKind;
|
|
15
16
|
};
|
|
16
17
|
};
|
|
17
|
-
declare function fetchWorkerFilesystemRoute(request: Request, requestPathname: string, phase: FilesystemRoutePhase, fetchAsset: (request: Request) => Promise<Response>, publicFiles?: ReadonlySet<string>, isDirectBuildAsset?: boolean): Promise<Response | false>;
|
|
18
|
-
type MiddlewareResult = {
|
|
18
|
+
export declare function fetchWorkerFilesystemRoute(request: Request, requestPathname: string, phase: FilesystemRoutePhase, fetchAsset: (request: Request) => Promise<Response>, publicFiles?: ReadonlySet<string>, isDirectBuildAsset?: boolean): Promise<Response | false>;
|
|
19
|
+
export type MiddlewareResult = {
|
|
19
20
|
continue: boolean;
|
|
20
21
|
/** The pathname matches middleware, irrespective of request `has`/`missing` conditions. */
|
|
21
22
|
pathnameEligible?: boolean;
|
|
@@ -28,7 +29,7 @@ type MiddlewareResult = {
|
|
|
28
29
|
response?: Response;
|
|
29
30
|
waitUntilPromises?: Promise<unknown>[];
|
|
30
31
|
};
|
|
31
|
-
type PagesPipelineDeps = {
|
|
32
|
+
export type PagesPipelineDeps = {
|
|
32
33
|
basePath: string;
|
|
33
34
|
trailingSlash: boolean;
|
|
34
35
|
i18nConfig: NextI18nConfig | null;
|
|
@@ -44,6 +45,8 @@ type PagesPipelineDeps = {
|
|
|
44
45
|
isDataRequest: boolean;
|
|
45
46
|
hasMiddleware: boolean;
|
|
46
47
|
ctx?: unknown;
|
|
48
|
+
/** False when routing and middleware run outside the shared response stage. */
|
|
49
|
+
recordCacheability?: boolean;
|
|
47
50
|
rawSearch?: string;
|
|
48
51
|
configMatchPathname?: string;
|
|
49
52
|
/**
|
|
@@ -69,7 +72,7 @@ type PagesPipelineDeps = {
|
|
|
69
72
|
/** Stale/malformed data response emitted only if middleware does not handle the request. */
|
|
70
73
|
dataNotFoundResponse?: Response | null;
|
|
71
74
|
renderPage?: ((request: Request, resolvedUrl: string, options?: PagesRenderOptions, stagedHeaders?: Headers) => Promise<Response>) | null;
|
|
72
|
-
handleApi?: ((request: Request, apiUrl: string, ctx: unknown) => Promise<Response>) | null;
|
|
75
|
+
handleApi?: ((request: Request, apiUrl: string, ctx: unknown, stagedHeaders: Headers) => Promise<Response>) | null;
|
|
73
76
|
/**
|
|
74
77
|
* Optional override for proxying external rewrite destinations.
|
|
75
78
|
* When supplied, the pipeline calls this instead of proxyExternalRequest(currentRequest, url).
|
|
@@ -100,8 +103,8 @@ type PagesPipelineDeps = {
|
|
|
100
103
|
* Shared by the Node prod server (prod-server.ts) and the generated Pages
|
|
101
104
|
* Router worker entry (deploy.ts) to keep the two adapters in sync.
|
|
102
105
|
*/
|
|
103
|
-
declare function wrapMiddlewareWithBasePath(runMiddleware: NonNullable<PagesPipelineDeps["runMiddleware"]>, basePath: string, hadBasePath: boolean): NonNullable<PagesPipelineDeps["runMiddleware"]>;
|
|
104
|
-
type PagesPipelineResult = {
|
|
106
|
+
export declare function wrapMiddlewareWithBasePath(runMiddleware: NonNullable<PagesPipelineDeps["runMiddleware"]>, basePath: string, hadBasePath: boolean): NonNullable<PagesPipelineDeps["runMiddleware"]>;
|
|
107
|
+
export type PagesPipelineResult = {
|
|
105
108
|
type: "response";
|
|
106
109
|
response: Response;
|
|
107
110
|
defaultContentType?: string;
|
|
@@ -139,6 +142,5 @@ type PagesPipelineResult = {
|
|
|
139
142
|
* decode/normalize/400, public-file serving.
|
|
140
143
|
* runPagesRequest receives a "clean" request with basePath-stripped URL.
|
|
141
144
|
*/
|
|
142
|
-
declare function runPagesRequest(request: Request, deps: PagesPipelineDeps): Promise<PagesPipelineResult>;
|
|
143
|
-
//#endregion
|
|
144
|
-
export { FilesystemRoutePhase, MiddlewareResult, PagesPipelineDeps, PagesPipelineResult, PagesRenderOptions, fetchWorkerFilesystemRoute, runPagesRequest, wrapMiddlewareWithBasePath };
|
|
145
|
+
export declare function runPagesRequest(request: Request, deps: PagesPipelineDeps): Promise<PagesPipelineResult>;
|
|
146
|
+
//#endregion
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { addBasePathToPathname, hasBasePath } from "../utils/base-path.js";
|
|
2
|
-
import { patternToNextFormat } from "../routing/route-validation.js";
|
|
3
|
-
import { requestContextFromRequest } from "../config/request-context.js";
|
|
4
1
|
import { PRERENDER_REVALIDATE_HEADER } from "../utils/protocol-headers.js";
|
|
2
|
+
import { requestContextFromRequest } from "../config/request-context.js";
|
|
5
3
|
import { isExternalUrl } from "../utils/external-url.js";
|
|
6
4
|
import { applyMiddlewareRequestHeaders, matchRedirect, matchRewrite, preserveRedirectDestinationQuery, proxyExternalRequest, sanitizeDestination } from "../config/config-matchers.js";
|
|
5
|
+
import { addBasePathToPathname, hasBasePath } from "../utils/base-path.js";
|
|
6
|
+
import { patternToNextFormat } from "../routing/route-validation.js";
|
|
7
7
|
import { methodNotAllowedResponse, sanitizeMethodNotAllowedHeaders } from "./http-error-responses.js";
|
|
8
8
|
import { cloneRequestWithUrl, normalizeTrailingSlash } from "./request-pipeline.js";
|
|
9
9
|
import { normalizeDefaultLocalePathname, stripI18nLocaleForApiRoute } from "./pages-i18n.js";
|
|
10
|
-
import {
|
|
10
|
+
import { markRouteCacheabilityDynamic } from "../shims/cacheability-classification.js";
|
|
11
|
+
import { isOnDemandRevalidateRequest } from "./revalidation-request.js";
|
|
11
12
|
import { mergeRewriteQuery } from "../utils/query.js";
|
|
12
13
|
import { buildMiddlewarePrefetchSkipResponse } from "./pages-data-route.js";
|
|
13
|
-
import {
|
|
14
|
+
import { setFrameworkRequestRoute } from "./request-tracing.js";
|
|
14
15
|
import { applyConfigHeadersToHeaderRecord } from "./config-headers.js";
|
|
15
16
|
import { mergeHeaders } from "./worker-utils.js";
|
|
16
17
|
//#region src/server/pages-request-pipeline.ts
|
|
@@ -23,6 +24,12 @@ function markConditionalRewriteCacheability(rewrite) {
|
|
|
23
24
|
function markConditionalRedirectCacheability(redirect) {
|
|
24
25
|
if (ruleUsesUnkeyedRequestCondition(redirect)) markRouteCacheabilityDynamic("next.config redirect depends on request headers, cookies, or hostnames");
|
|
25
26
|
}
|
|
27
|
+
function headersFromRecord(record) {
|
|
28
|
+
const headers = new Headers();
|
|
29
|
+
for (const [name, value] of Object.entries(record)) if (Array.isArray(value)) for (const item of value) headers.append(name, item);
|
|
30
|
+
else headers.set(name, value);
|
|
31
|
+
return headers;
|
|
32
|
+
}
|
|
26
33
|
async function fetchWorkerFilesystemRoute(request, requestPathname, phase, fetchAsset, publicFiles, isDirectBuildAsset = false) {
|
|
27
34
|
const isRetrievalMethod = request.method === "GET" || request.method === "HEAD";
|
|
28
35
|
if (phase === "direct" && isRetrievalMethod || phase === "direct" && publicFiles !== void 0 && !isDirectBuildAsset && !publicFiles.has(requestPathname) || requestPathname === "/api" || requestPathname.startsWith("/api/")) return false;
|
|
@@ -74,6 +81,8 @@ function wrapMiddlewareWithBasePath(runMiddleware, basePath, hadBasePath) {
|
|
|
74
81
|
*/
|
|
75
82
|
async function runPagesRequest(request, deps) {
|
|
76
83
|
const { basePath, trailingSlash, i18nConfig, configRedirects, configRewrites, configHeaders, hadBasePath, isDataReq, isDataRequest } = deps;
|
|
84
|
+
const conditionalRedirectCacheability = deps.recordCacheability === false ? void 0 : markConditionalRedirectCacheability;
|
|
85
|
+
const conditionalRewriteCacheability = deps.recordCacheability === false ? void 0 : markConditionalRewriteCacheability;
|
|
77
86
|
const proxyExternal = (currentReq, externalUrl) => deps.proxyExternal ? deps.proxyExternal(currentReq, externalUrl) : proxyExternalRequest(currentReq, externalUrl);
|
|
78
87
|
const url = new URL(request.url);
|
|
79
88
|
let pathname = url.pathname;
|
|
@@ -96,9 +105,10 @@ async function runPagesRequest(request, deps) {
|
|
|
96
105
|
const requestHostname = i18nConfig ? url.hostname : "";
|
|
97
106
|
const requestConfigMatchPathname = i18nConfig ? normalizeDefaultLocalePathname(requestConfigPathname, i18nConfig, { hostname: requestHostname }) : requestConfigPathname;
|
|
98
107
|
if (configRedirects.length) {
|
|
99
|
-
const redirect = matchRedirect(requestConfigMatchPathname, configRedirects, reqCtx, basePathState,
|
|
108
|
+
const redirect = matchRedirect(requestConfigMatchPathname, configRedirects, reqCtx, basePathState, conditionalRedirectCacheability);
|
|
100
109
|
if (redirect) {
|
|
101
|
-
const
|
|
110
|
+
const dest = sanitizeDestination(basePath && hadBasePath && !isExternalUrl(redirect.destination) && !hasBasePath(redirect.destination, basePath) ? basePath + redirect.destination : redirect.destination);
|
|
111
|
+
const location = preserveRedirectDestinationQuery(dest, deps.rawSearch ?? search);
|
|
102
112
|
return {
|
|
103
113
|
type: "response",
|
|
104
114
|
response: new Response(null, {
|
|
@@ -112,6 +122,18 @@ async function runPagesRequest(request, deps) {
|
|
|
112
122
|
let resolvedUrl = originalResolvedUrl;
|
|
113
123
|
let resolvedPathnameIsRequestPathname = true;
|
|
114
124
|
const middlewareHeaders = {};
|
|
125
|
+
const mergeConfigHeadersIntoEarlyResponse = (response) => {
|
|
126
|
+
if (configHeaders.length === 0) return response;
|
|
127
|
+
const matchedConfigHeaders = {};
|
|
128
|
+
applyConfigHeadersToHeaderRecord(matchedConfigHeaders, {
|
|
129
|
+
configHeaders,
|
|
130
|
+
pathname: requestConfigMatchPathname,
|
|
131
|
+
requestContext: reqCtx,
|
|
132
|
+
basePathState,
|
|
133
|
+
recordCacheability: deps.recordCacheability
|
|
134
|
+
});
|
|
135
|
+
return mergeHeaders(response, matchedConfigHeaders);
|
|
136
|
+
};
|
|
115
137
|
let middlewareStatus;
|
|
116
138
|
const serveFilesystemRoute = async (requestPathname, phase) => {
|
|
117
139
|
if (!deps.serveFilesystemRoute) return null;
|
|
@@ -129,7 +151,7 @@ async function runPagesRequest(request, deps) {
|
|
|
129
151
|
};
|
|
130
152
|
if (!isOnDemandRevalidate && typeof deps.runMiddleware === "function") {
|
|
131
153
|
const result = await deps.runMiddleware(deps.middlewareRequest ?? request, deps.ctx ?? null, { isDataRequest });
|
|
132
|
-
if (result.pathnameEligible) markRouteCacheabilityDynamic("middleware can match this pathname");
|
|
154
|
+
if (deps.recordCacheability !== false && result.pathnameEligible) markRouteCacheabilityDynamic("middleware can match this pathname");
|
|
133
155
|
if (result.waitUntilPromises && result.waitUntilPromises.length > 0) {
|
|
134
156
|
const ctx = deps.ctx;
|
|
135
157
|
if (ctx && typeof ctx.waitUntil === "function") for (const p of result.waitUntilPromises) ctx.waitUntil(p);
|
|
@@ -149,15 +171,15 @@ async function runPagesRequest(request, deps) {
|
|
|
149
171
|
else headers.set(k, v);
|
|
150
172
|
return {
|
|
151
173
|
type: "response",
|
|
152
|
-
response: new Response(null, {
|
|
174
|
+
response: mergeConfigHeadersIntoEarlyResponse(new Response(null, {
|
|
153
175
|
status: result.redirectStatus ?? 307,
|
|
154
176
|
headers
|
|
155
|
-
})
|
|
177
|
+
}))
|
|
156
178
|
};
|
|
157
179
|
}
|
|
158
180
|
if (result.response) return {
|
|
159
181
|
type: "response",
|
|
160
|
-
response: result.response
|
|
182
|
+
response: mergeConfigHeadersIntoEarlyResponse(result.response)
|
|
161
183
|
};
|
|
162
184
|
}
|
|
163
185
|
if (result.responseHeaders) for (const [key, value] of result.responseHeaders) if (key === "set-cookie") {
|
|
@@ -206,15 +228,19 @@ async function runPagesRequest(request, deps) {
|
|
|
206
228
|
configHeaders,
|
|
207
229
|
pathname: requestConfigMatchPathname,
|
|
208
230
|
requestContext: reqCtx,
|
|
209
|
-
basePathState
|
|
231
|
+
basePathState,
|
|
232
|
+
recordCacheability: deps.recordCacheability
|
|
210
233
|
});
|
|
211
|
-
if (isExternalUrl(resolvedUrl))
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
234
|
+
if (isExternalUrl(resolvedUrl)) {
|
|
235
|
+
const proxyResponse = await proxyExternal(request, resolvedUrl);
|
|
236
|
+
return {
|
|
237
|
+
type: "response",
|
|
238
|
+
response: mergeHeaders(proxyResponse, middlewareHeaders, void 0)
|
|
239
|
+
};
|
|
240
|
+
}
|
|
215
241
|
let configRewriteFired = false;
|
|
216
242
|
for (const rewrite of configRewrites.beforeFiles ?? []) {
|
|
217
|
-
const rewritten = matchRewrite(configSourcePathname(), [rewrite], rewriteRequestContext(), basePathState, configSourcePathname(),
|
|
243
|
+
const rewritten = matchRewrite(configSourcePathname(), [rewrite], rewriteRequestContext(), basePathState, configSourcePathname(), conditionalRewriteCacheability);
|
|
218
244
|
if (rewritten) {
|
|
219
245
|
if (isExternalUrl(rewritten)) return {
|
|
220
246
|
type: "response",
|
|
@@ -241,7 +267,9 @@ async function runPagesRequest(request, deps) {
|
|
|
241
267
|
const apiLookupUrl = stripI18nLocaleForApiRoute(resolvedUrl, i18nConfig);
|
|
242
268
|
const apiLookupPathname = apiLookupUrl.split("?")[0];
|
|
243
269
|
if (!apiLookupPathname.startsWith("/api/") && apiLookupPathname !== "/api") return null;
|
|
244
|
-
|
|
270
|
+
const apiMatch = deps.matchApiRoute ? await deps.matchApiRoute(apiLookupUrl, request) : null;
|
|
271
|
+
if (deps.matchApiRoute && !apiMatch) return null;
|
|
272
|
+
if (apiMatch) setFrameworkRequestRoute(matchedPathnameForRoute(apiMatch.route.pattern));
|
|
245
273
|
if (typeof deps.handleApi === "function") {
|
|
246
274
|
let apiRequest = request;
|
|
247
275
|
if (basePath && hadBasePath) {
|
|
@@ -249,7 +277,7 @@ async function runPagesRequest(request, deps) {
|
|
|
249
277
|
apiRequestUrl.pathname = addBasePathToPathname(apiRequestUrl.pathname, basePath);
|
|
250
278
|
apiRequest = cloneRequestWithUrl(request, apiRequestUrl.toString());
|
|
251
279
|
}
|
|
252
|
-
const response = await deps.handleApi(apiRequest, apiLookupUrl, deps.ctx ?? null);
|
|
280
|
+
const response = await deps.handleApi(apiRequest, apiLookupUrl, deps.ctx ?? null, headersFromRecord(middlewareHeaders));
|
|
253
281
|
const merged = mergeHeaders(response, middlewareHeaders, middlewareStatus);
|
|
254
282
|
if (merged !== response) merged.__vinextStreamedApiResponse = response.__vinextStreamedApiResponse;
|
|
255
283
|
return {
|
|
@@ -272,7 +300,7 @@ async function runPagesRequest(request, deps) {
|
|
|
272
300
|
let pageMatch = !isOutsideBasePathUnclaimed() && deps.matchPageRoute ? deps.matchPageRoute(resolvedPathname, request) : null;
|
|
273
301
|
let resolvedPathnameChanged = false;
|
|
274
302
|
if (!pageMatch || pageMatch.route.isDynamic) for (const rewrite of configRewrites.afterFiles ?? []) {
|
|
275
|
-
const rewritten = matchRewrite(configSourcePathname(), [rewrite], rewriteRequestContext(), basePathState, configSourcePathname(),
|
|
303
|
+
const rewritten = matchRewrite(configSourcePathname(), [rewrite], rewriteRequestContext(), basePathState, configSourcePathname(), conditionalRewriteCacheability);
|
|
276
304
|
if (rewritten) {
|
|
277
305
|
if (isExternalUrl(rewritten)) return {
|
|
278
306
|
type: "response",
|
|
@@ -299,7 +327,7 @@ async function runPagesRequest(request, deps) {
|
|
|
299
327
|
if (typeof deps.renderPage === "function") {
|
|
300
328
|
let renderPageMatch = pageMatch;
|
|
301
329
|
if ((isOutsideBasePathUnclaimed() || isDataReq || isDataRequest) && !renderPageMatch && configRewrites.fallback?.length) for (const rewrite of configRewrites.fallback) {
|
|
302
|
-
const fallbackRewrite = matchRewrite(configSourcePathname(), [rewrite], rewriteRequestContext(), basePathState, configSourcePathname(),
|
|
330
|
+
const fallbackRewrite = matchRewrite(configSourcePathname(), [rewrite], rewriteRequestContext(), basePathState, configSourcePathname(), conditionalRewriteCacheability);
|
|
303
331
|
if (!fallbackRewrite) continue;
|
|
304
332
|
if (isExternalUrl(fallbackRewrite)) return {
|
|
305
333
|
type: "response",
|
|
@@ -322,13 +350,12 @@ async function runPagesRequest(request, deps) {
|
|
|
322
350
|
if (isOutsideBasePathUnclaimed()) return outOfBasePathNotFound();
|
|
323
351
|
const shouldDeferErrorPageOnMiss = !isDataReq && !isDataRequest && !!deps.matchPageRoute && !renderPageMatch;
|
|
324
352
|
const initialRenderOptions = shouldDeferErrorPageOnMiss ? { renderErrorPageOnMiss: false } : isDataReq ? { isDataReq: true } : void 0;
|
|
325
|
-
const stagedHeaders =
|
|
326
|
-
|
|
327
|
-
else stagedHeaders.set(k, v);
|
|
353
|
+
const stagedHeaders = headersFromRecord(middlewareHeaders);
|
|
354
|
+
if (renderPageMatch) setFrameworkRequestRoute(matchedPathnameForRoute(renderPageMatch.route.pattern));
|
|
328
355
|
let response = await deps.renderPage(request, resolvedUrl, initialRenderOptions, stagedHeaders);
|
|
329
356
|
let matchedFallbackRewrite = false;
|
|
330
357
|
if (response.status === 404 && shouldDeferErrorPageOnMiss && configRewrites.fallback?.length) for (const rewrite of configRewrites.fallback) {
|
|
331
|
-
const fallbackRewrite = matchRewrite(configSourcePathname(), [rewrite], rewriteRequestContext(), basePathState, configSourcePathname(),
|
|
358
|
+
const fallbackRewrite = matchRewrite(configSourcePathname(), [rewrite], rewriteRequestContext(), basePathState, configSourcePathname(), conditionalRewriteCacheability);
|
|
332
359
|
if (!fallbackRewrite) continue;
|
|
333
360
|
if (isExternalUrl(fallbackRewrite)) return {
|
|
334
361
|
type: "response",
|
|
@@ -343,6 +370,7 @@ async function runPagesRequest(request, deps) {
|
|
|
343
370
|
const fallbackApiResult = await handleResolvedApiRoute();
|
|
344
371
|
if (fallbackApiResult) return fallbackApiResult;
|
|
345
372
|
renderPageMatch = deps.matchPageRoute ? deps.matchPageRoute(resolvedPathname, request) : null;
|
|
373
|
+
if (renderPageMatch) setFrameworkRequestRoute(matchedPathnameForRoute(renderPageMatch.route.pattern));
|
|
346
374
|
response = await deps.renderPage(request, resolvedUrl, void 0, stagedHeaders);
|
|
347
375
|
matchedFallbackRewrite = true;
|
|
348
376
|
if (response.status !== 404) break;
|
|
@@ -353,12 +381,13 @@ async function runPagesRequest(request, deps) {
|
|
|
353
381
|
const headers = new Headers(response.headers);
|
|
354
382
|
headers.set("content-type", "application/json");
|
|
355
383
|
headers.set("x-nextjs-matched-path", matchResolvedPathname(pathname));
|
|
384
|
+
const notFoundResponse = new Response("{}", {
|
|
385
|
+
status: 200,
|
|
386
|
+
headers
|
|
387
|
+
});
|
|
356
388
|
return {
|
|
357
389
|
type: "response",
|
|
358
|
-
response: mergeHeaders(
|
|
359
|
-
status: 200,
|
|
360
|
-
headers
|
|
361
|
-
}), matchedPathHeaders, void 0),
|
|
390
|
+
response: mergeHeaders(notFoundResponse, matchedPathHeaders, void 0),
|
|
362
391
|
defaultContentType: "application/json"
|
|
363
392
|
};
|
|
364
393
|
}
|
|
@@ -373,7 +402,7 @@ async function runPagesRequest(request, deps) {
|
|
|
373
402
|
}
|
|
374
403
|
let devPageMatch = isOutsideBasePathUnclaimed() ? null : resolvedPathnameChanged ? deps.matchPageRoute ? deps.matchPageRoute(resolvedPathname, request) : null : pageMatch;
|
|
375
404
|
if (!devPageMatch && configRewrites.fallback?.length) for (const rewrite of configRewrites.fallback) {
|
|
376
|
-
const fallbackRewrite = matchRewrite(configSourcePathname(), [rewrite], rewriteRequestContext(), basePathState, configSourcePathname(),
|
|
405
|
+
const fallbackRewrite = matchRewrite(configSourcePathname(), [rewrite], rewriteRequestContext(), basePathState, configSourcePathname(), conditionalRewriteCacheability);
|
|
377
406
|
if (!fallbackRewrite) continue;
|
|
378
407
|
if (isExternalUrl(fallbackRewrite)) return {
|
|
379
408
|
type: "response",
|
|
@@ -394,6 +423,7 @@ async function runPagesRequest(request, deps) {
|
|
|
394
423
|
if (prefetchSkipResult) return prefetchSkipResult;
|
|
395
424
|
if (isOutsideBasePathUnclaimed()) return outOfBasePathNotFound();
|
|
396
425
|
refreshDataRewriteHeader();
|
|
426
|
+
if (devPageMatch) setFrameworkRequestRoute(matchedPathnameForRoute(devPageMatch.route.pattern));
|
|
397
427
|
return {
|
|
398
428
|
type: "render",
|
|
399
429
|
resolvedUrl,
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { VinextRequestStageContext } from "./multi-stage.js";
|
|
2
|
+
import { ExecutionContextLike } from "../shims/request-context.js";
|
|
3
|
+
import { DispatchWorkerResponseStage, WorkerResponseStageProps } from "./worker-stages.js";
|
|
4
|
+
//#region src/server/pages-request-stage-entry.d.ts
|
|
5
|
+
type AssetFetcher = {
|
|
6
|
+
fetch(request: Request): Promise<Response> | Response;
|
|
7
|
+
};
|
|
8
|
+
export type PagesWorkerEnv = {
|
|
9
|
+
ASSETS?: AssetFetcher;
|
|
10
|
+
} & Record<string, unknown>;
|
|
11
|
+
export type PagesWorkerExecutionContext = {
|
|
12
|
+
waitUntil?(promise: Promise<unknown>): void;
|
|
13
|
+
passThroughOnException?(): void;
|
|
14
|
+
cache?: unknown;
|
|
15
|
+
} & VinextRequestStageContext;
|
|
16
|
+
export type PagesLocalResponseStage = (request: Request, env: PagesWorkerEnv | undefined, ctx: ExecutionContextLike, props: WorkerResponseStageProps) => Promise<Response>;
|
|
17
|
+
export declare const pagesRequestStageBuildId: string | null;
|
|
18
|
+
export declare const pagesRequestStagePrerenderSecret: string | null;
|
|
19
|
+
/** Run the request-time stage with a host-owned response dispatcher. */
|
|
20
|
+
export declare function handleRequestStage(request: Request, env: PagesWorkerEnv | undefined, ctx: PagesWorkerExecutionContext | undefined, dispatchResponseStage: DispatchWorkerResponseStage): Promise<Response>;
|
|
21
|
+
/** Preserve the direct single-entry Worker path without retaining it in request-only builds. */
|
|
22
|
+
export declare function handleRequestStageLocally(request: Request, env: PagesWorkerEnv | undefined, ctx: PagesWorkerExecutionContext | undefined, dispatchResponseStage: PagesLocalResponseStage): Promise<Response>;
|
|
23
|
+
//#endregion
|