vinext 1.0.0-beta.9 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +150 -92
- package/THIRD_PARTY_LICENSES.md +51 -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 +7 -14
- package/dist/build/precompress.d.ts +2 -3
- package/dist/build/precompress.js +1 -1
- 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 +274 -102
- 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 +73 -16
- package/dist/build/prerender.js +272 -80
- 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 +26 -16
- package/dist/build/server-entry.d.ts +6 -0
- package/dist/build/server-entry.js +34 -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/browser-globals.d.ts +4 -0
- package/dist/client/browser-globals.js +5 -0
- 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 +20 -17
- package/dist/client/navigation-runtime.js +4 -3
- 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 +14 -2
- 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 +503 -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 +848 -255
- package/dist/init-cloudflare.d.ts +26 -17
- package/dist/init-cloudflare.js +711 -103
- 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 +126 -42
- 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/commonjs-syntax.d.ts +16 -0
- package/dist/plugins/commonjs-syntax.js +22 -0
- 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 +14 -4
- package/dist/plugins/ignore-dynamic-requests.js +113 -91
- package/dist/plugins/import-meta-url.d.ts +6 -7
- package/dist/plugins/import-meta-url.js +36 -48
- 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 +5 -4
- package/dist/plugins/og-asset-ownership.js +24 -13
- package/dist/plugins/og-assets.d.ts +22 -5
- package/dist/plugins/og-assets.js +82 -21
- package/dist/plugins/og-harfbuzz.d.ts +24 -0
- package/dist/plugins/og-harfbuzz.js +271 -0
- package/dist/plugins/optimize-imports.d.ts +7 -7
- package/dist/plugins/optimize-imports.js +34 -45
- 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 +3 -3
- package/dist/plugins/require-context.js +41 -22
- 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/scan-build-css.d.ts +12 -0
- package/dist/plugins/scan-build-css.js +39 -0
- package/dist/plugins/server-externals-manifest.d.ts +2 -3
- package/dist/plugins/strip-server-exports.d.ts +7 -6
- package/dist/plugins/strip-server-exports.js +4 -2
- 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 +21 -4
- package/dist/plugins/transform-result.js +23 -2
- package/dist/plugins/transitive-externals.d.ts +2 -3
- package/dist/plugins/typeof-window.d.ts +16 -7
- package/dist/plugins/typeof-window.js +62 -39
- 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 +18 -19
- package/dist/routing/app-route-graph.js +5 -6
- package/dist/routing/app-route-ids.d.ts +3 -0
- package/dist/routing/app-route-ids.js +6 -0
- 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 +4 -4
- package/dist/server/app-bfcache-id.js +7 -1
- package/dist/server/app-bfcache-identity.d.ts +8 -9
- package/dist/server/app-bfcache-identity.js +1 -2
- 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 +91 -36
- 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 +15 -2
- 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 +9 -5
- 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 +7 -3
- package/dist/server/app-browser-stream.d.ts +5 -6
- 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 +25 -27
- package/dist/server/app-history-state.js +21 -16
- 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 -4
- 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 -24
- 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 +43 -7
- 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 +50 -0
- package/dist/server/app-pages-bridge.d.ts +6 -6
- package/dist/server/app-pages-bridge.js +18 -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-abort-error.d.ts +3 -0
- package/dist/server/app-render-abort-error.js +8 -0
- 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 +112 -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 +4 -4
- package/dist/server/app-route-handler-cache.js +51 -35
- package/dist/server/app-route-handler-dispatch.d.ts +3 -3
- package/dist/server/app-route-handler-dispatch.js +77 -56
- package/dist/server/app-route-handler-execution.d.ts +26 -14
- package/dist/server/app-route-handler-execution.js +94 -28
- 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-policy.js +2 -2
- package/dist/server/app-route-handler-response.d.ts +9 -10
- package/dist/server/app-route-handler-response.js +14 -3
- 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 +4 -1
- package/dist/server/app-router-entry.js +33 -17
- 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 +11 -9
- package/dist/server/app-rsc-errors.js +14 -16
- package/dist/server/app-rsc-handler.d.ts +32 -6
- package/dist/server/app-rsc-handler.js +425 -64
- 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 +5 -3
- package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
- package/dist/server/app-rsc-response-finalizer.js +10 -7
- 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 +18 -13
- 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 +62 -15
- 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 +34 -8
- 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 +64 -6
- 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 +192 -90
- 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 +141 -64
- 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 +56 -61
- package/dist/server/headers.js +22 -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-error-responses.js +1 -0
- 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 +30 -27
- package/dist/server/isr-cache.js +23 -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-response.d.ts +7 -7
- package/dist/server/metadata-route-response.js +158 -35
- 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 +28 -9
- package/dist/server/pages-asset-tags.d.ts +7 -6
- package/dist/server/pages-asset-tags.js +104 -18
- 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 +13 -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 +23 -19
- package/dist/server/pages-page-data.js +82 -75
- package/dist/server/pages-page-handler.d.ts +7 -6
- package/dist/server/pages-page-handler.js +103 -47
- 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 +52 -32
- 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 +15 -12
- package/dist/server/pages-request-pipeline.js +80 -35
- package/dist/server/pages-request-stage-entry.d.ts +23 -0
- package/dist/server/pages-request-stage-entry.js +316 -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 +17 -11
- package/dist/server/prerender-manifest.js +7 -4
- 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 +127 -44
- 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 +4 -4
- package/dist/server/worker-revalidation-context.js +6 -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 +34 -0
- package/dist/server/workers-tracing.js +67 -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 +26 -38
- package/dist/shims/cache-request-state.js +2 -13
- package/dist/shims/cache-runtime.d.ts +23 -21
- package/dist/shims/cache-runtime.js +110 -28
- package/dist/shims/cache.d.ts +17 -16
- package/dist/shims/cache.js +19 -15
- package/dist/shims/cacheability-classification.d.ts +50 -29
- package/dist/shims/cacheability-classification.js +29 -14
- 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 +59 -21
- package/dist/shims/cdn-cache.js +31 -47
- 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 +5 -19
- package/dist/shims/error.js +17 -10
- package/dist/shims/error.react-server.d.ts +4 -7
- package/dist/shims/error.react-server.js +4 -1
- package/dist/shims/fetch-cache.d.ts +22 -22
- package/dist/shims/fetch-cache.js +46 -20
- 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 +44 -73
- package/dist/shims/headers.js +87 -144
- 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/cache-context-accessor.d.ts +16 -0
- package/dist/shims/internal/cache-context-accessor.js +15 -0
- 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/headers-state.d.ts +74 -0
- package/dist/shims/internal/headers-state.js +157 -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 +26 -18
- 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/request-state-types.d.ts +2 -1
- package/dist/shims/root-params.d.ts +14 -15
- package/dist/shims/root-params.js +1 -1
- 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 +66 -30
- 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 +35 -32
- 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 +4 -4
- package/dist/utils/encode-cache-tag.js +11 -1
- 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 +151 -0
- package/dist/utils/vite-version.d.ts +5 -6
- package/next-package.json +4 -0
- package/package.json +51 -6
- package/dist/server/metadata-route-cache-policy.d.ts +0 -6
- package/dist/server/metadata-route-cache-policy.js +0 -6
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { VINEXT_PRERENDER_SECRET_HEADER, VINEXT_REVALIDATE_HOST_HEADER } from "../utils/protocol-headers.js";
|
|
2
|
+
import { runWithExecutionContext } from "../shims/request-context.js";
|
|
3
|
+
import "./server-globals.js";
|
|
4
|
+
import "./app-rsc-vary.js";
|
|
5
|
+
import { VINEXT_CACHEABILITY_PROBE_QUERY_PARAM, VINEXT_EXPECTED_WORKER_VERSION_HEADER } from "./headers.js";
|
|
6
|
+
import { badRequestResponse, notFoundResponse } from "./http-error-responses.js";
|
|
7
|
+
import { isOpenRedirectShaped } from "./open-redirect.js";
|
|
8
|
+
import { cloneRequestWithHeaders, filterInternalHeaders } from "./request-pipeline.js";
|
|
9
|
+
import { getExplicitCdnCacheAdapter } from "../shims/cdn-cache-state.js";
|
|
10
|
+
import { applyCdnResponseIdentityHeaders, validateCdnRequest } from "./cache-control.js";
|
|
11
|
+
import { registerLazyDataCacheHandler } from "../shims/cache-handler.js";
|
|
12
|
+
import { getImageOptimizer, handleConfiguredImageOptimization, isImageOptimizationPath } from "./image-optimization.js";
|
|
13
|
+
import { consumeFrameworkRequestRoute, traceFrameworkRequest } from "./request-tracing.js";
|
|
14
|
+
import { createStaticAssetRequest, resolveStaticAssetSignal } from "./worker-utils.js";
|
|
15
|
+
import { readTrustedPrerenderStateFromHeaders } from "./prerender-route-params.js";
|
|
16
|
+
import { createWorkerRevalidationContext } from "./worker-revalidation-context.js";
|
|
17
|
+
import { createWorkerPrerenderDiscoveryContext, createWorkerPrerenderReadinessResponse } from "./worker-prerender-discovery.js";
|
|
18
|
+
import requestRscHandler, { __ensureHybridPagesApplication, __ensureInstrumentation, __imageAllowedWidths, __imageConfig, __prerenderSecret } from "virtual:vinext-app-request-entry";
|
|
19
|
+
import * as configuredCdnCacheAdapters from "virtual:vinext-cdn-cache-adapter";
|
|
20
|
+
import { registerConfiguredImageOptimizer } from "virtual:vinext-image-adapters";
|
|
21
|
+
//#region src/server/app-request-stage-independent-entry.ts
|
|
22
|
+
function handleRequestStage(request, env, ctx, dispatchResponseStage) {
|
|
23
|
+
const originalRequest = request;
|
|
24
|
+
const handleStage = async () => {
|
|
25
|
+
await __ensureInstrumentation();
|
|
26
|
+
const url = new URL(request.url);
|
|
27
|
+
return traceFrameworkRequest({
|
|
28
|
+
callback: () => handleRequest(request, env, ctx, dispatchResponseStage, ctx?.assets).then((response) => applyCdnResponseIdentityHeaders(response, originalRequest)),
|
|
29
|
+
getStatus: (response) => response?.status,
|
|
30
|
+
headers: request.headers,
|
|
31
|
+
isRsc: url.pathname.endsWith(".rsc") || request.headers.get("RSC") === "1",
|
|
32
|
+
method: request.method,
|
|
33
|
+
target: url.pathname + url.search
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
return ctx ? runWithExecutionContext(ctx, handleStage) : handleStage();
|
|
37
|
+
}
|
|
38
|
+
async function handleRequest(request, env, platformCtx, dispatchResponseStage, assets) {
|
|
39
|
+
let ctx = platformCtx?.trustedRevalidateOrigin ? platformCtx : createWorkerRevalidationContext(platformCtx, (internalRequest, internalCtx) => handleRequest(internalRequest, env, internalCtx, dispatchResponseStage, assets), "node");
|
|
40
|
+
configuredCdnCacheAdapters.registerConfiguredCacheAdapters(env);
|
|
41
|
+
assets ??= getExplicitCdnCacheAdapter()?.assets;
|
|
42
|
+
if (configuredCdnCacheAdapters.hasConfiguredDataCache) registerLazyDataCacheHandler(async () => {
|
|
43
|
+
(await import("virtual:vinext-cache-adapters")).registerConfiguredCacheAdapters(env);
|
|
44
|
+
});
|
|
45
|
+
registerConfiguredImageOptimizer(env);
|
|
46
|
+
ctx = createWorkerPrerenderDiscoveryContext(ctx, request, __prerenderSecret);
|
|
47
|
+
const readinessResponse = createWorkerPrerenderReadinessResponse(ctx, request);
|
|
48
|
+
let didValidateCdnRequest = false;
|
|
49
|
+
if (readinessResponse) {
|
|
50
|
+
const validationResponse = await validateCdnRequest(request);
|
|
51
|
+
if (validationResponse) return validationResponse;
|
|
52
|
+
didValidateCdnRequest = true;
|
|
53
|
+
if (readinessResponse.status !== 204) return readinessResponse;
|
|
54
|
+
await __ensureHybridPagesApplication();
|
|
55
|
+
}
|
|
56
|
+
let probeMode = null;
|
|
57
|
+
let probeRoute = null;
|
|
58
|
+
if (request.headers.has("X-Vinext-Cacheability-Probe")) {
|
|
59
|
+
const { readWorkerCacheabilityProbeMode, readWorkerCacheabilityProbeRoute } = await import("./cacheability-request.js");
|
|
60
|
+
probeMode = readWorkerCacheabilityProbeMode(request, __prerenderSecret);
|
|
61
|
+
if (probeMode) {
|
|
62
|
+
probeRoute = readWorkerCacheabilityProbeRoute(request);
|
|
63
|
+
const probeUrl = new URL(request.url);
|
|
64
|
+
probeUrl.searchParams.delete(VINEXT_CACHEABILITY_PROBE_QUERY_PARAM);
|
|
65
|
+
request = new Request(probeUrl, request);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
if (!didValidateCdnRequest) {
|
|
69
|
+
const cdnValidationResponse = await validateCdnRequest(request);
|
|
70
|
+
if (cdnValidationResponse) return cdnValidationResponse;
|
|
71
|
+
}
|
|
72
|
+
const url = new URL(request.url);
|
|
73
|
+
if (isImageOptimizationPath(url.pathname) && assets && getImageOptimizer()) return handleConfiguredImageOptimization(request, (assetPath) => Promise.resolve(assets.fetch(new Request(new URL(assetPath, request.url)))), __imageAllowedWidths, __imageConfig);
|
|
74
|
+
if (isOpenRedirectShaped(url.pathname)) return notFoundResponse();
|
|
75
|
+
try {
|
|
76
|
+
decodeURIComponent(url.pathname);
|
|
77
|
+
} catch {
|
|
78
|
+
return badRequestResponse();
|
|
79
|
+
}
|
|
80
|
+
const trustedPrerenderState = readTrustedPrerenderStateFromHeaders(request.headers, __prerenderSecret);
|
|
81
|
+
const filteredHeaders = ctx.isInternalPagesRevalidation ? new Headers(request.headers) : filterInternalHeaders(request.headers);
|
|
82
|
+
filteredHeaders.delete(VINEXT_PRERENDER_SECRET_HEADER);
|
|
83
|
+
filteredHeaders.delete(VINEXT_REVALIDATE_HOST_HEADER);
|
|
84
|
+
if (readinessResponse?.status === 204) {
|
|
85
|
+
const expectedWorkerVersion = request.headers.get(VINEXT_EXPECTED_WORKER_VERSION_HEADER);
|
|
86
|
+
if (expectedWorkerVersion) filteredHeaders.set(VINEXT_EXPECTED_WORKER_VERSION_HEADER, expectedWorkerVersion);
|
|
87
|
+
}
|
|
88
|
+
request = cloneRequestWithHeaders(request, filteredHeaders);
|
|
89
|
+
let responseStageDispatched = false;
|
|
90
|
+
const trackedDispatchResponseStage = (stageRequest, props, options) => {
|
|
91
|
+
responseStageDispatched = true;
|
|
92
|
+
const response = dispatchResponseStage(stageRequest, props, options);
|
|
93
|
+
return props.kind === "app-full-request" ? response.then(consumeFrameworkRequestRoute) : response;
|
|
94
|
+
};
|
|
95
|
+
const handle = () => requestRscHandler(request, ctx, trackedDispatchResponseStage, probeMode, ctx.isPrerenderPathDiscovery === true, trustedPrerenderState);
|
|
96
|
+
let response = await runWithExecutionContext(ctx, handle);
|
|
97
|
+
if (assets) {
|
|
98
|
+
const assetResponse = await resolveStaticAssetSignal(response, { fetchAsset: (path) => Promise.resolve(assets.fetch(createStaticAssetRequest(path, request))) });
|
|
99
|
+
if (assetResponse) response = assetResponse;
|
|
100
|
+
}
|
|
101
|
+
if (probeMode && probeRoute && !responseStageDispatched) {
|
|
102
|
+
const { finalizeRequestStageCacheabilityProbe } = await import("./cacheability-request.js");
|
|
103
|
+
response = finalizeRequestStageCacheabilityProbe(response, {
|
|
104
|
+
mode: probeMode,
|
|
105
|
+
responseStageDispatched,
|
|
106
|
+
route: probeRoute
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
return response;
|
|
110
|
+
}
|
|
111
|
+
//#endregion
|
|
112
|
+
export { handleRequestStage };
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
//#region src/server/app-response-header-provenance.d.ts
|
|
2
2
|
/** Mark response headers whose Link value was emitted by the App page renderer. */
|
|
3
|
-
declare function markFrameworkLinkHeaders(headers: Headers, linkHeader: string | string[] | null | undefined): void;
|
|
3
|
+
export declare function markFrameworkLinkHeaders(headers: Headers, linkHeader: string | string[] | null | undefined): void;
|
|
4
4
|
/** Whether the response carries renderer-owned Link values that config may prepend to. */
|
|
5
|
-
declare function hasFrameworkLinkHeaders(headers: Headers): boolean;
|
|
5
|
+
export declare function hasFrameworkLinkHeaders(headers: Headers): boolean;
|
|
6
6
|
/** Mark Link values returned by an Edge route handler after config and middleware. */
|
|
7
|
-
declare function markEdgeRouteHandlerLinkHeaders(headers: Headers, linkHeader: string | null | undefined): void;
|
|
7
|
+
export declare function markEdgeRouteHandlerLinkHeaders(headers: Headers, linkHeader: string | null | undefined): void;
|
|
8
8
|
/** Whether config must precede a later framework or Edge-handler Link value. */
|
|
9
|
-
declare function hasPostConfigLinkHeaders(headers: Headers): boolean;
|
|
9
|
+
export declare function hasPostConfigLinkHeaders(headers: Headers): boolean;
|
|
10
10
|
/** Preserve Link provenance when a response wrapper reconstructs a Response. */
|
|
11
|
-
declare function copyLinkHeaderProvenance(source: Headers, target: Headers): void;
|
|
12
|
-
|
|
13
|
-
export
|
|
11
|
+
export declare function copyLinkHeaderProvenance(source: Headers, target: Headers): void;
|
|
12
|
+
/** Serialize otherwise process-local Link provenance across a response-stage transport. */
|
|
13
|
+
export declare function serializeResponseStageLinkProvenance(response: Response): Response;
|
|
14
|
+
/** Consume transported Link provenance before applying outer config and middleware. */
|
|
15
|
+
export declare function consumeResponseStageLinkProvenance(response: Response): {
|
|
16
|
+
appendToPostConfigLink: boolean;
|
|
17
|
+
response: Response;
|
|
18
|
+
};
|
|
19
|
+
//#endregion
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import { preserveFullyBufferedBodyMetadata } from "./fully-buffered-response.js";
|
|
2
|
+
import "../shims/unified-request-context.js";
|
|
1
3
|
//#region src/server/app-response-header-provenance.ts
|
|
2
4
|
const frameworkLinkHeaders = /* @__PURE__ */ new WeakSet();
|
|
3
5
|
const edgeRouteHandlerLinkHeaders = /* @__PURE__ */ new WeakSet();
|
|
6
|
+
const APP_RESPONSE_STAGE_LINK_PROVENANCE_HEADER = "x-vinext-app-stage-post-config-link";
|
|
4
7
|
/** Mark response headers whose Link value was emitted by the App page renderer. */
|
|
5
8
|
function markFrameworkLinkHeaders(headers, linkHeader) {
|
|
6
9
|
if (linkHeader && (typeof linkHeader === "string" || linkHeader.length > 0)) frameworkLinkHeaders.add(headers);
|
|
@@ -22,5 +25,35 @@ function copyLinkHeaderProvenance(source, target) {
|
|
|
22
25
|
if (frameworkLinkHeaders.has(source)) frameworkLinkHeaders.add(target);
|
|
23
26
|
if (edgeRouteHandlerLinkHeaders.has(source)) edgeRouteHandlerLinkHeaders.add(target);
|
|
24
27
|
}
|
|
28
|
+
/** Serialize otherwise process-local Link provenance across a response-stage transport. */
|
|
29
|
+
function serializeResponseStageLinkProvenance(response) {
|
|
30
|
+
if (!hasPostConfigLinkHeaders(response.headers)) return response;
|
|
31
|
+
const headers = new Headers(response.headers);
|
|
32
|
+
headers.set(APP_RESPONSE_STAGE_LINK_PROVENANCE_HEADER, "1");
|
|
33
|
+
return preserveFullyBufferedBodyMetadata(response, new Response(response.body, {
|
|
34
|
+
headers,
|
|
35
|
+
status: response.status,
|
|
36
|
+
statusText: response.statusText
|
|
37
|
+
}));
|
|
38
|
+
}
|
|
39
|
+
/** Consume transported Link provenance before applying outer config and middleware. */
|
|
40
|
+
function consumeResponseStageLinkProvenance(response) {
|
|
41
|
+
if (response.headers.get(APP_RESPONSE_STAGE_LINK_PROVENANCE_HEADER) !== "1") return {
|
|
42
|
+
appendToPostConfigLink: false,
|
|
43
|
+
response
|
|
44
|
+
};
|
|
45
|
+
const headers = new Headers(response.headers);
|
|
46
|
+
headers.delete(APP_RESPONSE_STAGE_LINK_PROVENANCE_HEADER);
|
|
47
|
+
const transported = preserveFullyBufferedBodyMetadata(response, new Response(response.body, {
|
|
48
|
+
headers,
|
|
49
|
+
status: response.status,
|
|
50
|
+
statusText: response.statusText
|
|
51
|
+
}));
|
|
52
|
+
markFrameworkLinkHeaders(transported.headers, transported.headers.get("link"));
|
|
53
|
+
return {
|
|
54
|
+
appendToPostConfigLink: true,
|
|
55
|
+
response: transported
|
|
56
|
+
};
|
|
57
|
+
}
|
|
25
58
|
//#endregion
|
|
26
|
-
export { copyLinkHeaderProvenance, hasFrameworkLinkHeaders, hasPostConfigLinkHeaders, markEdgeRouteHandlerLinkHeaders, markFrameworkLinkHeaders };
|
|
59
|
+
export { consumeResponseStageLinkProvenance, copyLinkHeaderProvenance, hasFrameworkLinkHeaders, hasPostConfigLinkHeaders, markEdgeRouteHandlerLinkHeaders, markFrameworkLinkHeaders, serializeResponseStageLinkProvenance };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { VinextCacheFunctionInvocation, VinextRequestStageTransport, VinextResponseStageDispatchOptions } from "./multi-stage.js";
|
|
2
|
+
import { ExecutionContextLike } from "../shims/request-context.js";
|
|
3
|
+
import { AppWorkerResponseStageProps } from "./app-worker-stages.js";
|
|
4
|
+
//#region src/server/app-response-stage-entry.d.ts
|
|
5
|
+
type AppResponseStageEnv = Record<string, unknown>;
|
|
6
|
+
/** Invoke one transformed public cache function without rendering its owning route. */
|
|
7
|
+
export declare function invokeCacheFunction(invocation: VinextCacheFunctionInvocation, env: AppResponseStageEnv | undefined, platformCtx: ExecutionContextLike | undefined, dispatchRequestStage: VinextRequestStageTransport): Promise<void>;
|
|
8
|
+
export declare function handleResponseStage(request: Request, env: AppResponseStageEnv | undefined, platformCtx: ExecutionContextLike | undefined, props: AppWorkerResponseStageProps, dispatchRequestStage: VinextRequestStageTransport, options?: VinextResponseStageDispatchOptions): Promise<Response>;
|
|
9
|
+
//#endregion
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { createRequestContext, runWithRequestContext } from "../shims/unified-request-context.js";
|
|
2
|
+
import { runWithExecutionContext } from "../shims/request-context.js";
|
|
3
|
+
import { serializeStaticFileSignalForTransport } from "./static-file-signal.js";
|
|
4
|
+
import { validateCdnRequest } from "./cache-control.js";
|
|
5
|
+
import { ensureFetchPatch } from "../shims/fetch-cache.js";
|
|
6
|
+
import { serializeResponseStageLinkProvenance } from "./app-response-header-provenance.js";
|
|
7
|
+
import { attachFrameworkRequestError, attachFrameworkRequestRoute, captureFrameworkRequestRoute, clearFrameworkRequestError } from "./request-tracing.js";
|
|
8
|
+
import { isAppWorkerResponseStageProps } from "./app-worker-stages.js";
|
|
9
|
+
import { createWorkerRevalidationContext } from "./worker-revalidation-context.js";
|
|
10
|
+
import { createWorkerPrerenderReadinessResponse } from "./worker-prerender-discovery.js";
|
|
11
|
+
import { withResponseStageCacheability } from "./response-stage-cacheability.js";
|
|
12
|
+
import { registerConfiguredImageOptimizer } from "virtual:vinext-image-adapters";
|
|
13
|
+
import rscHandler, { __cacheabilityManifest, __ensureHybridPagesApplication, __ensureInstrumentation } from "virtual:vinext-app-response-entry";
|
|
14
|
+
import { registerConfiguredCacheAdapters } from "virtual:vinext-cache-adapters";
|
|
15
|
+
//#region src/server/app-response-stage-entry.ts
|
|
16
|
+
/** Cacheable App response stage. This is the only multi-stage App entry that imports user routes. */
|
|
17
|
+
/** Invoke one transformed public cache function without rendering its owning route. */
|
|
18
|
+
async function invokeCacheFunction(invocation, env, platformCtx, dispatchRequestStage) {
|
|
19
|
+
await __ensureInstrumentation();
|
|
20
|
+
const [{ loadServerAction }, { invokeCacheFunction: invokeRegisteredCacheFunction }] = await Promise.all([import("@vitejs/plugin-rsc/core/rsc"), import("../shims/cache-callable-runtime.js")]);
|
|
21
|
+
registerConfiguredCacheAdapters(env);
|
|
22
|
+
ensureFetchPatch();
|
|
23
|
+
const executionContext = createWorkerRevalidationContext(platformCtx, (request) => dispatchRequestStage(request), "node");
|
|
24
|
+
const context = createRequestContext({
|
|
25
|
+
currentFetchSoftTags: invocation.softTags,
|
|
26
|
+
executionContext,
|
|
27
|
+
rootParams: invocation.rootParams
|
|
28
|
+
});
|
|
29
|
+
await runWithRequestContext(context, () => invokeRegisteredCacheFunction(invocation, loadServerAction));
|
|
30
|
+
}
|
|
31
|
+
async function handleResponseStage(request, env, platformCtx, props, dispatchRequestStage, options = { cache: "bypass" }) {
|
|
32
|
+
if (!isAppWorkerResponseStageProps(props)) return new Response("Invalid vinext App response stage", { status: 400 });
|
|
33
|
+
if (props.requestOrigin !== new URL(request.url).origin) return new Response("Invalid vinext App response stage", { status: 400 });
|
|
34
|
+
const currentBuildId = process.env.__VINEXT_BUILD_ID ?? null;
|
|
35
|
+
if (props.buildId !== currentBuildId) return new Response("Incompatible vinext App response stage", { status: 409 });
|
|
36
|
+
await __ensureInstrumentation();
|
|
37
|
+
if (props.kind === "app-full-request" && props.prerenderDiscovery) await __ensureHybridPagesApplication();
|
|
38
|
+
registerConfiguredImageOptimizer(env);
|
|
39
|
+
let ctx = createWorkerRevalidationContext(platformCtx, (internalRequest) => dispatchRequestStage(internalRequest), "node");
|
|
40
|
+
if (props.kind === "app-full-request" && props.prerenderDiscovery) ctx = {
|
|
41
|
+
...ctx,
|
|
42
|
+
isPrerenderPathDiscovery: true
|
|
43
|
+
};
|
|
44
|
+
return withResponseStageCacheability({
|
|
45
|
+
buildId: process.env.__VINEXT_BUILD_ID,
|
|
46
|
+
cache: options.cache,
|
|
47
|
+
context: ctx,
|
|
48
|
+
forceDynamic: (props.kind === "app-page" || props.kind === "app-route-handler") && props.forceDynamic === true,
|
|
49
|
+
policyHeaders: props.cacheability.policyHeaders,
|
|
50
|
+
probeMode: props.cacheability.probeMode,
|
|
51
|
+
rawManifest: __cacheabilityManifest,
|
|
52
|
+
recomposesRequestScopedHeaders: props.kind === "app-page" && props.isRscRequest,
|
|
53
|
+
registerCacheAdapters: () => registerConfiguredCacheAdapters(env),
|
|
54
|
+
request,
|
|
55
|
+
representation: props.cacheability.representation,
|
|
56
|
+
resolvedRoutePathname: props.cacheability.resolvedRoutePathname
|
|
57
|
+
}, async (cacheabilityContext) => {
|
|
58
|
+
if (props.kind === "app-full-request") {
|
|
59
|
+
if (props.prerenderDiscovery) {
|
|
60
|
+
const readinessResponse = createWorkerPrerenderReadinessResponse(cacheabilityContext, request);
|
|
61
|
+
if (readinessResponse) return await validateCdnRequest(request) ?? readinessResponse;
|
|
62
|
+
}
|
|
63
|
+
const fullEntry = await import("virtual:vinext-rsc-entry");
|
|
64
|
+
const render = () => fullEntry.default(request, cacheabilityContext, false, void 0, null, props.trustedPrerenderState);
|
|
65
|
+
let route;
|
|
66
|
+
let result;
|
|
67
|
+
let failure;
|
|
68
|
+
let failed = false;
|
|
69
|
+
try {
|
|
70
|
+
({result, route} = await captureFrameworkRequestRoute(() => runWithExecutionContext(cacheabilityContext, render), (matchedRoute) => {
|
|
71
|
+
route = matchedRoute;
|
|
72
|
+
}));
|
|
73
|
+
} catch (error) {
|
|
74
|
+
console.error("[vinext] App response stage error:", error);
|
|
75
|
+
failed = true;
|
|
76
|
+
failure = error;
|
|
77
|
+
result = new Response("Internal Server Error", { status: 500 });
|
|
78
|
+
}
|
|
79
|
+
const serialized = serializeStaticFileSignalForTransport(result, props.staticFileSignalToken);
|
|
80
|
+
return attachFrameworkRequestRoute(failed ? attachFrameworkRequestError(serialized, failure) : clearFrameworkRequestError(serialized), route);
|
|
81
|
+
}
|
|
82
|
+
const render = () => rscHandler.handleResponseStage(request, cacheabilityContext, props, options);
|
|
83
|
+
return serializeResponseStageLinkProvenance(await runWithExecutionContext(cacheabilityContext, render));
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
//#endregion
|
|
87
|
+
export { handleResponseStage, invokeCacheFunction };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { NextI18nConfig } from "../config/next-config.js";
|
|
2
2
|
import { ISRCacheEntry } from "./isr-cache.js";
|
|
3
|
-
import { HeadersAccessPhase } from "../shims/headers.js";
|
|
3
|
+
import { HeadersAccessPhase } from "../shims/internal/headers-state.js";
|
|
4
|
+
import "../shims/headers.js";
|
|
4
5
|
import { RouteHandlerMiddlewareContext } from "./app-route-handler-response.js";
|
|
5
6
|
import { AppRouteDebugLogger, AppRouteDynamicUsageFn, AppRouteHandlerFunction, AppRouteParams, MarkAppRouteDynamicUsageFn, RouteHandlerCacheSetter } from "./app-route-handler-execution.js";
|
|
6
7
|
//#region src/server/app-route-handler-cache.d.ts
|
|
@@ -42,6 +43,5 @@ type ReadAppRouteHandlerCacheOptions = {
|
|
|
42
43
|
params: AppRouteParams;
|
|
43
44
|
} | null) => void;
|
|
44
45
|
};
|
|
45
|
-
declare function readAppRouteHandlerCacheResponse(options: ReadAppRouteHandlerCacheOptions): Promise<Response | null>;
|
|
46
|
-
//#endregion
|
|
47
|
-
export { readAppRouteHandlerCacheResponse };
|
|
46
|
+
export declare function readAppRouteHandlerCacheResponse(options: ReadAppRouteHandlerCacheOptions): Promise<Response | null>;
|
|
47
|
+
//#endregion
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { isrCacheControl } from "./isr-cache.js";
|
|
1
|
+
import { isrCacheControl, resolveRouteExpireSeconds } from "./isr-cache.js";
|
|
2
2
|
import { makeThenableParams } from "../shims/thenable-params.js";
|
|
3
3
|
import { applyRouteHandlerMiddlewareContext, assertSupportedAppRouteHandlerResponse, buildAppRouteCacheValue, buildRouteHandlerCachedResponse } from "./app-route-handler-response.js";
|
|
4
4
|
import { markKnownDynamicAppRoute } from "./app-route-handler-runtime.js";
|
|
5
|
-
import {
|
|
5
|
+
import { resolveAppRouteHandlerSpecialError } from "./app-route-handler-policy.js";
|
|
6
|
+
import { completeAppRouteHandlerResponse, runAppRouteHandler, traceAppRouteHandlerExecution } from "./app-route-handler-execution.js";
|
|
6
7
|
//#region src/server/app-route-handler-cache.ts
|
|
7
8
|
const EMPTY_PARAMS = Object.freeze({});
|
|
8
9
|
function getCachedAppRouteValue(entry) {
|
|
@@ -31,42 +32,57 @@ async function readAppRouteHandlerCacheResponse(options) {
|
|
|
31
32
|
if (cached?.isStale && cachedValue) {
|
|
32
33
|
const staleValue = cachedValue;
|
|
33
34
|
const revalidateSearchParams = new URLSearchParams(options.revalidateSearchParams);
|
|
34
|
-
options.scheduleBackgroundRegeneration(routeKey, async () => {
|
|
35
|
-
|
|
36
|
-
options.
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
35
|
+
options.scheduleBackgroundRegeneration(routeKey, () => options.runInRevalidationContext(async () => {
|
|
36
|
+
options.setNavigationContext({
|
|
37
|
+
pathname: options.cleanPathname,
|
|
38
|
+
searchParams: revalidateSearchParams,
|
|
39
|
+
params: options.params ?? EMPTY_PARAMS
|
|
40
|
+
});
|
|
41
|
+
let tracedResult;
|
|
42
|
+
try {
|
|
43
|
+
tracedResult = await traceAppRouteHandlerExecution(options.routePattern, async () => {
|
|
44
|
+
try {
|
|
45
|
+
return { handlerResult: await runAppRouteHandler({
|
|
46
|
+
basePath: options.basePath,
|
|
47
|
+
consumeDynamicUsage: options.consumeDynamicUsage,
|
|
48
|
+
dynamicConfig: options.dynamicConfig,
|
|
49
|
+
handlerFn: options.handlerFn,
|
|
50
|
+
i18n: options.i18n,
|
|
51
|
+
trailingSlash: options.trailingSlash,
|
|
52
|
+
markDynamicUsage: options.markDynamicUsage,
|
|
53
|
+
params: options.params === null ? null : makeThenableParams(options.params),
|
|
54
|
+
request: new Request(options.requestUrl, { method: "GET" }),
|
|
55
|
+
routePattern: options.routePattern,
|
|
56
|
+
setHeadersAccessPhase: options.setHeadersAccessPhase
|
|
57
|
+
}) };
|
|
58
|
+
} catch (error) {
|
|
59
|
+
if (resolveAppRouteHandlerSpecialError(error, options.requestUrl)) return { specialError: error };
|
|
60
|
+
throw error;
|
|
61
|
+
}
|
|
53
62
|
});
|
|
63
|
+
} finally {
|
|
54
64
|
options.setNavigationContext(null);
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
65
|
+
}
|
|
66
|
+
if ("specialError" in tracedResult) return;
|
|
67
|
+
const { dynamicUsedInHandler, response, didAccessDynamicRequest } = tracedResult.handlerResult;
|
|
68
|
+
assertSupportedAppRouteHandlerResponse(response);
|
|
69
|
+
const completed = await completeAppRouteHandlerResponse(response);
|
|
70
|
+
const lateDynamicUsage = options.consumeDynamicUsage();
|
|
71
|
+
const becameDynamic = dynamicUsedInHandler || lateDynamicUsage || didAccessDynamicRequest();
|
|
72
|
+
if (!completed.completed || becameDynamic || response.headers.has("set-cookie")) {
|
|
73
|
+
completed.response.body?.cancel().catch(() => {});
|
|
74
|
+
if (becameDynamic) markKnownDynamicAppRoute(options.routePattern);
|
|
75
|
+
options.isrDebug?.("route regen skipped (dynamic usage)", options.cleanPathname);
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const routeTags = options.buildPageCacheTags(options.cleanPathname, options.getCollectedFetchTags());
|
|
79
|
+
const routeCacheValue = await buildAppRouteCacheValue(completed.response, response.headers.get("Cache-Control") ?? void 0);
|
|
80
|
+
await options.isrSet(routeKey, routeCacheValue, {
|
|
81
|
+
cacheControl: isrCacheControl(options.revalidateSeconds === Infinity ? false : options.revalidateSeconds, { expireSeconds: resolveRouteExpireSeconds(options.revalidateSeconds, options.expireSeconds) }),
|
|
82
|
+
tags: routeTags
|
|
68
83
|
});
|
|
69
|
-
|
|
84
|
+
options.isrDebug?.("route regen complete", routeKey);
|
|
85
|
+
}));
|
|
70
86
|
options.isrDebug?.("STALE (route)", options.cleanPathname);
|
|
71
87
|
options.clearRequestContext();
|
|
72
88
|
return applyRouteHandlerMiddlewareContext(buildRouteHandlerCachedResponse(staleValue, {
|
|
@@ -18,6 +18,7 @@ type RouteHandlerBackgroundRegenerationErrorContext = {
|
|
|
18
18
|
type RouteHandlerBackgroundRegenerator = (key: string, renderFn: () => Promise<void>, errorContext?: RouteHandlerBackgroundRegenerationErrorContext) => void;
|
|
19
19
|
type DispatchAppRouteHandlerOptions = {
|
|
20
20
|
basePath?: string;
|
|
21
|
+
bypassSharedCache?: boolean;
|
|
21
22
|
cleanPathname: string;
|
|
22
23
|
clearRequestContext: () => void;
|
|
23
24
|
draftModeSecret: string;
|
|
@@ -43,6 +44,5 @@ type DispatchAppRouteHandlerOptions = {
|
|
|
43
44
|
scheduleBackgroundRegeneration: RouteHandlerBackgroundRegenerator;
|
|
44
45
|
searchParams: URLSearchParams;
|
|
45
46
|
};
|
|
46
|
-
declare function dispatchAppRouteHandler(options: DispatchAppRouteHandlerOptions): Promise<Response>;
|
|
47
|
-
//#endregion
|
|
48
|
-
export { dispatchAppRouteHandler };
|
|
47
|
+
export declare function dispatchAppRouteHandler(options: DispatchAppRouteHandlerOptions): Promise<Response>;
|
|
48
|
+
//#endregion
|
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
import { closeAfterResponse, createRequestContext, runWithRequestContext } from "../shims/unified-request-context.js";
|
|
2
|
+
import "../utils/protocol-headers.js";
|
|
2
3
|
import { getRequestExecutionContext } from "../shims/request-context.js";
|
|
3
4
|
import { reportRequestError } from "./instrumentation.js";
|
|
5
|
+
import { beginRouteCacheability, getRouteCacheabilityDynamicReason } from "../shims/cacheability-classification.js";
|
|
4
6
|
import { applyCdnResponseBuildIdentityHeaders } from "./cache-control.js";
|
|
5
|
-
import {
|
|
7
|
+
import { isOnDemandRevalidateRequest } from "./revalidation-request.js";
|
|
8
|
+
import { markDynamicUsage } from "../shims/internal/headers-state.js";
|
|
9
|
+
import { consumeDynamicUsage, getActiveDraftModeState, getAndClearPendingCookies, getDraftModeCookieHeader, isDraftModeRequest, setHeadersAccessPhase } from "../shims/headers.js";
|
|
6
10
|
import { _drainPendingRevalidations } from "../shims/cache-request-state.js";
|
|
7
11
|
import { ensureFetchPatch, getCollectedFetchTags, setCurrentFetchCacheMode, setCurrentFetchRevalidate, setCurrentFetchSoftTags, setCurrentForceDynamicFetchDefault } from "../shims/fetch-cache.js";
|
|
8
12
|
import { setNavigationContext } from "../shims/navigation-context-state.js";
|
|
9
13
|
import { makeThenableParams } from "../shims/thenable-params.js";
|
|
10
|
-
import {
|
|
14
|
+
import { traceResponseStart } from "./response-start-tracing.js";
|
|
11
15
|
import { buildPageCacheTags } from "./implicit-tags.js";
|
|
12
16
|
import { applyRouteHandlerMiddlewareContext, finalizeRouteHandlerResponse } from "./app-route-handler-response.js";
|
|
13
17
|
import { resolveAppRouteHandlerFetchCacheMode } from "./app-segment-config.js";
|
|
14
18
|
import "../shims/navigation.js";
|
|
15
19
|
import { isKnownDynamicAppRoute, isValidHTTPMethod } from "./app-route-handler-runtime.js";
|
|
16
|
-
import { createStaticGenerationHeadersContext } from "./app-static-generation.js";
|
|
17
20
|
import { getAppRouteHandlerRevalidateSeconds, hasAppRouteHandlerDefaultExport, hasNonStaticAppRouteHandlerMethods, resolveAppRouteHandlerMethod, shouldReadAppRouteHandlerCache } from "./app-route-handler-policy.js";
|
|
21
|
+
import { createStaticGenerationHeadersContext } from "./app-static-generation.js";
|
|
18
22
|
import { applyDraftModeCachePolicy, executeAppRouteHandler } from "./app-route-handler-execution.js";
|
|
19
23
|
import { readAppRouteHandlerCacheResponse } from "./app-route-handler-cache.js";
|
|
20
24
|
//#region src/server/app-route-handler-dispatch.ts
|
|
@@ -25,14 +29,15 @@ function buildRouteHandlerPageCacheTags(pathname, extraTags, routeSegments) {
|
|
|
25
29
|
return buildPageCacheTags(pathname, extraTags, routeSegments, "route");
|
|
26
30
|
}
|
|
27
31
|
async function runInRouteHandlerRevalidationContext(options, renderFn) {
|
|
32
|
+
const headersContext = createStaticGenerationHeadersContext({
|
|
33
|
+
draftModeEnabled: false,
|
|
34
|
+
draftModeSecret: options.draftModeSecret,
|
|
35
|
+
dynamicConfig: options.dynamicConfig,
|
|
36
|
+
routeKind: "route",
|
|
37
|
+
routePattern: options.routePattern
|
|
38
|
+
});
|
|
28
39
|
const requestContext = createRequestContext({
|
|
29
|
-
headersContext
|
|
30
|
-
draftModeEnabled: false,
|
|
31
|
-
draftModeSecret: options.draftModeSecret,
|
|
32
|
-
dynamicConfig: options.dynamicConfig,
|
|
33
|
-
routeKind: "route",
|
|
34
|
-
routePattern: options.routePattern
|
|
35
|
-
}),
|
|
40
|
+
headersContext,
|
|
36
41
|
executionContext: getRequestExecutionContext(),
|
|
37
42
|
unstableCacheRevalidation: "foreground"
|
|
38
43
|
});
|
|
@@ -55,6 +60,9 @@ async function runInRouteHandlerRevalidationContext(options, renderFn) {
|
|
|
55
60
|
}
|
|
56
61
|
}
|
|
57
62
|
async function dispatchAppRouteHandler(options) {
|
|
63
|
+
return traceResponseStart(await dispatchAppRouteHandlerImpl(options));
|
|
64
|
+
}
|
|
65
|
+
async function dispatchAppRouteHandlerImpl(options) {
|
|
58
66
|
const { route } = options;
|
|
59
67
|
const handler = route.routeHandler;
|
|
60
68
|
const method = options.request.method.toUpperCase();
|
|
@@ -84,11 +92,7 @@ async function dispatchAppRouteHandler(options) {
|
|
|
84
92
|
headers: { Allow: allowHeaderForOptions }
|
|
85
93
|
}));
|
|
86
94
|
const resolvedHandlerFn = isAppRouteHandlerFunction(handlerFn) ? handlerFn : void 0;
|
|
87
|
-
const
|
|
88
|
-
setCurrentFetchCacheMode(fetchCacheMode);
|
|
89
|
-
setCurrentFetchRevalidate(configuredRevalidateSeconds);
|
|
90
|
-
setCurrentForceDynamicFetchDefault(handler.dynamic === "force-dynamic");
|
|
91
|
-
if (revalidateSeconds !== null && !getRouteCacheabilityDynamicReason() && shouldReadAppRouteHandlerCache({
|
|
95
|
+
const shouldReadRouteCache = options.bypassSharedCache !== true && revalidateSeconds !== null && !getRouteCacheabilityDynamicReason() && shouldReadAppRouteHandlerCache({
|
|
92
96
|
dynamicConfig: handler.dynamic,
|
|
93
97
|
handlerFn: resolvedHandlerFn,
|
|
94
98
|
isAutoHead,
|
|
@@ -97,7 +101,14 @@ async function dispatchAppRouteHandler(options) {
|
|
|
97
101
|
isProduction,
|
|
98
102
|
method,
|
|
99
103
|
revalidateSeconds
|
|
100
|
-
})
|
|
104
|
+
});
|
|
105
|
+
const revalidateReason = isOnDemandRevalidateRequest(options.request.headers.get("x-prerender-revalidate")) ? "on-demand" : shouldReadRouteCache && revalidateSeconds !== Infinity ? "stale" : void 0;
|
|
106
|
+
const fetchCacheMode = resolveAppRouteHandlerFetchCacheMode(handler);
|
|
107
|
+
setCurrentFetchCacheMode(fetchCacheMode);
|
|
108
|
+
setCurrentFetchRevalidate(configuredRevalidateSeconds);
|
|
109
|
+
setCurrentForceDynamicFetchDefault(handler.dynamic === "force-dynamic");
|
|
110
|
+
let isRevalidation = false;
|
|
111
|
+
if (shouldReadRouteCache && resolvedHandlerFn) {
|
|
101
112
|
const cachedRouteResponse = await readAppRouteHandlerCacheResponse({
|
|
102
113
|
basePath: options.basePath,
|
|
103
114
|
buildPageCacheTags(pathname, extraTags) {
|
|
@@ -114,7 +125,11 @@ async function dispatchAppRouteHandler(options) {
|
|
|
114
125
|
isAutoHead,
|
|
115
126
|
appendResponseLink,
|
|
116
127
|
isrDebug: options.isrDebug,
|
|
117
|
-
isrGet
|
|
128
|
+
async isrGet(key) {
|
|
129
|
+
const entry = await options.isrGet(key);
|
|
130
|
+
isRevalidation = entry?.value.value?.kind === "APP_ROUTE";
|
|
131
|
+
return entry;
|
|
132
|
+
},
|
|
118
133
|
isrRouteKey: options.isrRouteKey,
|
|
119
134
|
isrSet: options.isrSet,
|
|
120
135
|
markDynamicUsage,
|
|
@@ -148,45 +163,51 @@ async function dispatchAppRouteHandler(options) {
|
|
|
148
163
|
});
|
|
149
164
|
if (cachedRouteResponse) return applyCdnResponseBuildIdentityHeaders(cachedRouteResponse);
|
|
150
165
|
}
|
|
151
|
-
if (resolvedHandlerFn)
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
166
|
+
if (resolvedHandlerFn) {
|
|
167
|
+
const response = await executeAppRouteHandler({
|
|
168
|
+
isRevalidation,
|
|
169
|
+
basePath: options.basePath,
|
|
170
|
+
bypassSharedCache: options.bypassSharedCache,
|
|
171
|
+
buildPageCacheTags(pathname, extraTags) {
|
|
172
|
+
return buildRouteHandlerPageCacheTags(pathname, extraTags, route.routeSegments);
|
|
173
|
+
},
|
|
174
|
+
cleanPathname: options.cleanPathname,
|
|
175
|
+
clearRequestContext: options.clearRequestContext,
|
|
176
|
+
consumeDynamicUsage,
|
|
177
|
+
draftModeSecret: options.draftModeSecret,
|
|
178
|
+
executionContext: getRequestExecutionContext(),
|
|
179
|
+
getAndClearPendingCookies,
|
|
180
|
+
getCollectedFetchTags,
|
|
181
|
+
getActiveDraftModeState,
|
|
182
|
+
getDraftModeCookieHeader,
|
|
183
|
+
handler,
|
|
184
|
+
handlerFn: resolvedHandlerFn,
|
|
185
|
+
i18n: options.i18n,
|
|
186
|
+
trailingSlash: options.trailingSlash,
|
|
187
|
+
isAutoHead,
|
|
188
|
+
initialDraftModeCookie,
|
|
189
|
+
isDraftMode,
|
|
190
|
+
isProduction,
|
|
191
|
+
isrDebug: options.isrDebug,
|
|
192
|
+
isrRouteKey: options.isrRouteKey,
|
|
193
|
+
isrSet: options.isrSet,
|
|
194
|
+
markDynamicUsage,
|
|
195
|
+
method,
|
|
196
|
+
middlewareContext: options.middlewareContext,
|
|
197
|
+
middlewareRequestHeaders: options.middlewareRequestHeaders,
|
|
198
|
+
params: options.params === null ? null : makeThenableParams(options.params),
|
|
199
|
+
reportRequestError(error, request, context) {
|
|
200
|
+
return reportRequestError(error, request, context);
|
|
201
|
+
},
|
|
202
|
+
request: options.request,
|
|
203
|
+
expireSeconds: options.expireSeconds,
|
|
204
|
+
revalidateSeconds,
|
|
205
|
+
revalidateReason,
|
|
206
|
+
routePattern: route.pattern,
|
|
207
|
+
setHeadersAccessPhase
|
|
208
|
+
});
|
|
209
|
+
return applyCdnResponseBuildIdentityHeaders(response);
|
|
210
|
+
}
|
|
190
211
|
return finalizeFrameworkResponse(new Response(null, { status: 405 }));
|
|
191
212
|
}
|
|
192
213
|
//#endregion
|