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,15 +1,16 @@
|
|
|
1
1
|
import { NextI18nConfig } from "../config/next-config.js";
|
|
2
2
|
import { ExecutionContextLike } from "../shims/request-context.js";
|
|
3
3
|
import { NextRequest } from "../shims/server.js";
|
|
4
|
+
import { FrameworkSpan } from "./framework-tracer.js";
|
|
4
5
|
import { CachedRouteValue } from "../shims/cache-handler.js";
|
|
5
6
|
import { IsrWritePolicy } from "./isr-cache.js";
|
|
6
7
|
import { HeadersAccessPhase } from "../shims/headers.js";
|
|
7
8
|
import { RouteHandlerMiddlewareContext } from "./app-route-handler-response.js";
|
|
8
9
|
import { AppRouteHandlerModule } from "./app-route-handler-policy.js";
|
|
9
10
|
//#region src/server/app-route-handler-execution.d.ts
|
|
10
|
-
type AppRouteParams = Record<string, string | string[]>;
|
|
11
|
-
type AppRouteDynamicUsageFn = () => boolean;
|
|
12
|
-
type MarkAppRouteDynamicUsageFn = () => void;
|
|
11
|
+
export type AppRouteParams = Record<string, string | string[]>;
|
|
12
|
+
export type AppRouteDynamicUsageFn = () => boolean;
|
|
13
|
+
export type MarkAppRouteDynamicUsageFn = () => void;
|
|
13
14
|
/**
|
|
14
15
|
* Route handler context.
|
|
15
16
|
*
|
|
@@ -21,11 +22,11 @@ type MarkAppRouteDynamicUsageFn = () => void;
|
|
|
21
22
|
* See: test/e2e/app-dir/app-routes/app-custom-routes.test.ts in Next.js for
|
|
22
23
|
* the authoritative assertion (`expect(meta.params).toEqual(null)`).
|
|
23
24
|
*/
|
|
24
|
-
type AppRouteHandlerFunction = (request: NextRequest, context: {
|
|
25
|
+
export type AppRouteHandlerFunction = (request: NextRequest, context: {
|
|
25
26
|
params: AppRouteParams | null;
|
|
26
27
|
}) => Response | Promise<Response>;
|
|
27
|
-
type RouteHandlerCacheSetter = (key: string, data: CachedRouteValue, policy: IsrWritePolicy) => Promise<void>;
|
|
28
|
-
type AppRouteErrorReporter = (error:
|
|
28
|
+
export type RouteHandlerCacheSetter = (key: string, data: CachedRouteValue, policy: IsrWritePolicy) => Promise<void>;
|
|
29
|
+
type AppRouteErrorReporter = (error: unknown, request: {
|
|
29
30
|
path: string;
|
|
30
31
|
method: string;
|
|
31
32
|
headers: Record<string, string>;
|
|
@@ -33,8 +34,9 @@ type AppRouteErrorReporter = (error: Error, request: {
|
|
|
33
34
|
routerKind: "App Router";
|
|
34
35
|
routePath: string;
|
|
35
36
|
routeType: "route";
|
|
36
|
-
|
|
37
|
-
|
|
37
|
+
revalidateReason: "on-demand" | "stale" | undefined;
|
|
38
|
+
}) => void | Promise<void>;
|
|
39
|
+
export type AppRouteDebugLogger = (event: string, detail: string) => void;
|
|
38
40
|
type RunAppRouteHandlerOptions = {
|
|
39
41
|
basePath?: string;
|
|
40
42
|
consumeDynamicUsage: AppRouteDynamicUsageFn;
|
|
@@ -60,9 +62,10 @@ type RunAppRouteHandlerResult = {
|
|
|
60
62
|
dynamicUsedInHandler: boolean;
|
|
61
63
|
response: Response;
|
|
62
64
|
};
|
|
63
|
-
declare function applyDraftModeCachePolicy(response: Response, isDraftMode: boolean): Response;
|
|
65
|
+
export declare function applyDraftModeCachePolicy(response: Response, isDraftMode: boolean): Response;
|
|
64
66
|
type ExecuteAppRouteHandlerOptions = {
|
|
65
67
|
buildPageCacheTags: (pathname: string, extraTags: string[]) => string[];
|
|
68
|
+
bypassSharedCache?: boolean;
|
|
66
69
|
clearRequestContext: () => void;
|
|
67
70
|
cleanPathname: string;
|
|
68
71
|
executionContext: ExecutionContextLike | null;
|
|
@@ -83,10 +86,11 @@ type ExecuteAppRouteHandlerOptions = {
|
|
|
83
86
|
reportRequestError: AppRouteErrorReporter;
|
|
84
87
|
expireSeconds?: number;
|
|
85
88
|
revalidateSeconds: number | null;
|
|
89
|
+
revalidateReason?: "on-demand" | "stale";
|
|
86
90
|
routePattern: string;
|
|
87
91
|
setHeadersAccessPhase: (phase: HeadersAccessPhase) => HeadersAccessPhase;
|
|
88
92
|
} & RunAppRouteHandlerOptions;
|
|
89
|
-
declare function runAppRouteHandler(options: RunAppRouteHandlerOptions): Promise<RunAppRouteHandlerResult>;
|
|
90
|
-
declare function executeAppRouteHandler(options: ExecuteAppRouteHandlerOptions): Promise<Response>;
|
|
91
|
-
|
|
92
|
-
|
|
93
|
+
export declare function runAppRouteHandler(options: RunAppRouteHandlerOptions): Promise<RunAppRouteHandlerResult>;
|
|
94
|
+
export declare function executeAppRouteHandler(options: ExecuteAppRouteHandlerOptions): Promise<Response>;
|
|
95
|
+
export declare function traceAppRouteHandlerExecution<T>(routePattern: string, callback: (span: FrameworkSpan) => T): T;
|
|
96
|
+
//#endregion
|
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { patternToNextFormat } from "../routing/route-validation.js";
|
|
2
|
+
import { frameworkTracer } from "./tracer.js";
|
|
3
|
+
import { getRouteCacheabilityCaptureOptions, getRouteCacheabilityDynamicReason, isRouteCacheabilityEvaluation, markRouteCacheabilityExplicitResponsePolicy, markRouteCacheabilityResponseBodyComplete } from "../shims/cacheability-classification.js";
|
|
4
|
+
import { NEVER_CACHE_CONTROL, applyCdnResponseHeaders, hasCdnResponsePolicy, hasExplicitNonCacheableResponsePolicy } from "./cache-control.js";
|
|
2
5
|
import { isrCacheControl } from "./isr-cache.js";
|
|
3
6
|
import { isDraftModeRequest, setHeadersContext } from "../shims/headers.js";
|
|
4
7
|
import { _drainPendingRevalidations } from "../shims/cache-request-state.js";
|
|
5
8
|
import { copyLinkHeaderProvenance } from "./app-response-header-provenance.js";
|
|
6
|
-
import { CACHEABILITY_POLICY_HEADERS, getRouteCacheabilityCaptureOptions, getRouteCacheabilityDynamicReason, isRouteCacheabilityEvaluation, markRouteCacheabilityExplicitResponsePolicy, markRouteCacheabilityResponseBodyComplete } from "../shims/cacheability-classification.js";
|
|
7
9
|
import { applyRouteHandlerMiddlewareContext, applyRouteHandlerRevalidateHeader, assertSupportedAppRouteHandlerResponse, buildAppRouteCacheValue, finalizeRouteHandlerResponse, markRouteHandlerCacheMiss } from "./app-route-handler-response.js";
|
|
8
10
|
import { isPossibleAppRouteActionRequest } from "./app-action-request.js";
|
|
9
11
|
import { runWithRootParamsUsage } from "../shims/root-params.js";
|
|
10
12
|
import { createTrackedAppRouteRequest, markKnownDynamicAppRoute } from "./app-route-handler-runtime.js";
|
|
11
|
-
import { createStaticGenerationHeadersContext, getAppRouteStaticGenerationErrorMessage } from "./app-static-generation.js";
|
|
12
13
|
import { resolveAppRouteHandlerSpecialError, shouldApplyAppRouteHandlerRevalidateHeader, shouldCompleteAppRouteHandlerResponse, shouldWriteAppRouteHandlerCache } from "./app-route-handler-policy.js";
|
|
14
|
+
import { createStaticGenerationHeadersContext, getAppRouteStaticGenerationErrorMessage } from "./app-static-generation.js";
|
|
13
15
|
import { CACHEABILITY_ADMISSION_RESPONSE_BODY_LIMIT } from "./cacheability-limits.js";
|
|
14
16
|
//#region src/server/app-route-handler-execution.ts
|
|
15
17
|
function hasExplicitCacheableResponsePolicy(headers) {
|
|
16
|
-
return !hasExplicitNonCacheableResponsePolicy(headers) &&
|
|
18
|
+
return !hasExplicitNonCacheableResponsePolicy(headers) && hasCdnResponsePolicy(headers);
|
|
17
19
|
}
|
|
18
20
|
async function completeAppRouteHandlerResponse(response) {
|
|
19
21
|
const { captureCacheabilityAdmissionBody } = await import("./cacheability-request.js");
|
|
@@ -86,8 +88,9 @@ function applyDraftModeCachePolicy(response, isDraftMode) {
|
|
|
86
88
|
}
|
|
87
89
|
function configureAppRouteStaticGenerationContext(options) {
|
|
88
90
|
if (options.dynamicConfig === "force-static" || options.dynamicConfig === "error") {
|
|
91
|
+
const isDraftMode = options.isDraftMode ?? (options.draftModeSecret !== void 0 && isDraftModeRequest(options.request, options.draftModeSecret));
|
|
89
92
|
setHeadersContext(createStaticGenerationHeadersContext({
|
|
90
|
-
draftModeEnabled:
|
|
93
|
+
draftModeEnabled: isDraftMode,
|
|
91
94
|
draftModeSecret: options.draftModeSecret,
|
|
92
95
|
dynamicConfig: options.dynamicConfig,
|
|
93
96
|
routeKind: "route",
|
|
@@ -112,9 +115,10 @@ async function runAppRouteHandler(options) {
|
|
|
112
115
|
return getAppRouteStaticGenerationErrorMessage(options.routePattern, expression);
|
|
113
116
|
}
|
|
114
117
|
});
|
|
118
|
+
const routePattern = options.routePattern ?? new URL(options.request.url).pathname;
|
|
115
119
|
const response = await runWithRootParamsUsage({
|
|
116
120
|
kind: "route-handler",
|
|
117
|
-
routePattern
|
|
121
|
+
routePattern
|
|
118
122
|
}, () => options.handlerFn(trackedRequest.request, { params: options.params }));
|
|
119
123
|
const dynamicUsedInContext = options.consumeDynamicUsage();
|
|
120
124
|
return {
|
|
@@ -124,22 +128,68 @@ async function runAppRouteHandler(options) {
|
|
|
124
128
|
};
|
|
125
129
|
}
|
|
126
130
|
async function executeAppRouteHandler(options) {
|
|
131
|
+
return executeAppRouteHandlerImpl(options);
|
|
132
|
+
}
|
|
133
|
+
function traceAppRouteHandlerExecution(routePattern, callback) {
|
|
134
|
+
const route = patternToNextFormat(routePattern);
|
|
135
|
+
return frameworkTracer.trace({
|
|
136
|
+
attributes: { "next.route": route },
|
|
137
|
+
name: `executing api route (app) ${route}`,
|
|
138
|
+
type: "AppRouteRouteHandlers.runHandler"
|
|
139
|
+
}, callback);
|
|
140
|
+
}
|
|
141
|
+
async function executeAppRouteHandlerImpl(options) {
|
|
127
142
|
const previousHeadersPhase = options.setHeadersAccessPhase("route-handler");
|
|
128
143
|
let cleanupDeferredToBody = false;
|
|
129
144
|
const middlewareMergeOptions = { appendResponseLink: options.handler.runtime === "edge" || options.handler.runtime === "experimental-edge" };
|
|
130
145
|
try {
|
|
131
|
-
let
|
|
146
|
+
let tracedResult;
|
|
147
|
+
let traceError;
|
|
148
|
+
let traceFailed = false;
|
|
149
|
+
let pendingRevalidations = Promise.resolve();
|
|
132
150
|
try {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
151
|
+
tracedResult = await traceAppRouteHandlerExecution(options.routePattern, async () => {
|
|
152
|
+
try {
|
|
153
|
+
try {
|
|
154
|
+
return {
|
|
155
|
+
kind: "handler",
|
|
156
|
+
handlerResult: await runAppRouteHandler({
|
|
157
|
+
...options,
|
|
158
|
+
dynamicConfig: options.handler.dynamic
|
|
159
|
+
})
|
|
160
|
+
};
|
|
161
|
+
} catch (error) {
|
|
162
|
+
if (resolveAppRouteHandlerSpecialError(error, options.request.url, { isAction: isPossibleAppRouteActionRequest(options.request) })) return {
|
|
163
|
+
kind: "special",
|
|
164
|
+
error
|
|
165
|
+
};
|
|
166
|
+
throw error;
|
|
167
|
+
}
|
|
168
|
+
} finally {
|
|
169
|
+
pendingRevalidations = _drainPendingRevalidations();
|
|
170
|
+
pendingRevalidations.catch(() => {});
|
|
171
|
+
}
|
|
136
172
|
});
|
|
137
|
-
}
|
|
138
|
-
|
|
173
|
+
} catch (error) {
|
|
174
|
+
traceFailed = true;
|
|
175
|
+
traceError = error;
|
|
176
|
+
}
|
|
177
|
+
let revalidationError;
|
|
178
|
+
let revalidationFailed = false;
|
|
179
|
+
try {
|
|
180
|
+
await pendingRevalidations;
|
|
181
|
+
} catch (error) {
|
|
182
|
+
revalidationFailed = true;
|
|
183
|
+
revalidationError = error;
|
|
139
184
|
}
|
|
185
|
+
if (traceFailed) throw traceError;
|
|
186
|
+
if (revalidationFailed) throw revalidationError;
|
|
187
|
+
if (!tracedResult) throw new Error("App Route Handler tracing completed without a result");
|
|
188
|
+
if (tracedResult.kind === "special") throw tracedResult.error;
|
|
189
|
+
const handlerResult = tracedResult.handlerResult;
|
|
140
190
|
let { dynamicUsedInHandler, response } = handlerResult;
|
|
141
191
|
assertSupportedAppRouteHandlerResponse(response);
|
|
142
|
-
const handlerSetCachePolicy =
|
|
192
|
+
const handlerSetCachePolicy = hasCdnResponsePolicy(response.headers);
|
|
143
193
|
const hasExplicitCacheablePolicy = hasExplicitCacheableResponsePolicy(response.headers);
|
|
144
194
|
if (hasExplicitCacheablePolicy) markRouteCacheabilityExplicitResponsePolicy();
|
|
145
195
|
const draftModeBeforeCompletion = options.getActiveDraftModeState?.() ?? options.isDraftMode === true;
|
|
@@ -164,7 +214,7 @@ async function executeAppRouteHandler(options) {
|
|
|
164
214
|
dynamicUsedInHandler = handlerResult.didAccessDynamicRequest() || dynamicUsedDuringCompletion || dynamicUsedInHandler;
|
|
165
215
|
}
|
|
166
216
|
const requestCacheabilityVeto = getRouteCacheabilityDynamicReason();
|
|
167
|
-
const responseMustStayPrivate = Boolean(options.handler.dynamic === "force-dynamic" || dynamicUsedInHandler || requestCacheabilityVeto || cleanupDeferredToBody);
|
|
217
|
+
const responseMustStayPrivate = Boolean(options.bypassSharedCache === true || options.handler.dynamic === "force-dynamic" || dynamicUsedInHandler || requestCacheabilityVeto || cleanupDeferredToBody);
|
|
168
218
|
if (dynamicUsedInHandler) markKnownDynamicAppRoute(options.routePattern);
|
|
169
219
|
const pendingCookies = options.getAndClearPendingCookies();
|
|
170
220
|
const handlerDraftCookie = options.getDraftModeCookieHeader() ?? handlerDraftCookieBeforeCompletion;
|
|
@@ -219,7 +269,7 @@ async function executeAppRouteHandler(options) {
|
|
|
219
269
|
isHead: options.isAutoHead
|
|
220
270
|
}), options.middlewareContext, middlewareMergeOptions), shouldApplyDraftPolicy);
|
|
221
271
|
const preserveHandlerPolicy = isRouteCacheabilityEvaluation() ? hasExplicitCacheablePolicy : handlerSetCachePolicy;
|
|
222
|
-
if (responseMustStayPrivate && !preserveHandlerPolicy) {
|
|
272
|
+
if (options.bypassSharedCache === true || responseMustStayPrivate && !preserveHandlerPolicy) {
|
|
223
273
|
const headers = new Headers(finalized.headers);
|
|
224
274
|
applyCdnResponseHeaders(headers, { cacheControl: NEVER_CACHE_CONTROL });
|
|
225
275
|
finalized = new Response(finalized.body, {
|
|
@@ -262,14 +312,15 @@ async function executeAppRouteHandler(options) {
|
|
|
262
312
|
return applyDraftModeCachePolicy(applyRouteHandlerMiddlewareContext(new Response(null, { status: specialError.statusCode }), options.middlewareContext, middlewareMergeOptions), shouldApplyDraftPolicy);
|
|
263
313
|
}
|
|
264
314
|
console.error("[vinext] Route handler error:", error);
|
|
265
|
-
options.reportRequestError(error
|
|
315
|
+
await options.reportRequestError(error, {
|
|
266
316
|
path: options.cleanPathname,
|
|
267
317
|
method: options.request.method,
|
|
268
318
|
headers: Object.fromEntries(options.request.headers.entries())
|
|
269
319
|
}, {
|
|
270
320
|
routerKind: "App Router",
|
|
271
321
|
routePath: options.routePattern,
|
|
272
|
-
routeType: "route"
|
|
322
|
+
routeType: "route",
|
|
323
|
+
revalidateReason: options.revalidateReason
|
|
273
324
|
});
|
|
274
325
|
return applyDraftModeCachePolicy(applyRouteHandlerMiddlewareContext(new Response(null, { status: 500 }), options.middlewareContext, middlewareMergeOptions), shouldApplyDraftPolicy);
|
|
275
326
|
} finally {
|
|
@@ -277,4 +328,4 @@ async function executeAppRouteHandler(options) {
|
|
|
277
328
|
}
|
|
278
329
|
}
|
|
279
330
|
//#endregion
|
|
280
|
-
export { applyDraftModeCachePolicy, executeAppRouteHandler, runAppRouteHandler };
|
|
331
|
+
export { applyDraftModeCachePolicy, executeAppRouteHandler, runAppRouteHandler, traceAppRouteHandlerExecution };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/server/app-route-handler-middleware-context.d.ts
|
|
2
|
+
export type RouteHandlerMiddlewareContext = {
|
|
3
|
+
headers: Headers | null;
|
|
4
|
+
status: number | null;
|
|
5
|
+
};
|
|
6
|
+
/** Apply request-stage middleware response metadata to a route-handler response. */
|
|
7
|
+
export declare function applyRouteHandlerMiddlewareContext(response: Response, middlewareContext: RouteHandlerMiddlewareContext): Response;
|
|
8
|
+
//#endregion
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { mergeMiddlewareResponseHeaders } from "./middleware-response-headers.js";
|
|
2
|
+
//#region src/server/app-route-handler-middleware-context.ts
|
|
3
|
+
/** Apply request-stage middleware response metadata to a route-handler response. */
|
|
4
|
+
function applyRouteHandlerMiddlewareContext(response, middlewareContext) {
|
|
5
|
+
if (!middlewareContext.headers && middlewareContext.status == null) return response;
|
|
6
|
+
const responseHeaders = new Headers(response.headers);
|
|
7
|
+
mergeMiddlewareResponseHeaders(responseHeaders, middlewareContext.headers);
|
|
8
|
+
return new Response(response.body, {
|
|
9
|
+
status: middlewareContext.status ?? response.status,
|
|
10
|
+
statusText: response.statusText,
|
|
11
|
+
headers: responseHeaders
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { applyRouteHandlerMiddlewareContext };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isPossibleAppRouteActionRequest } from "./app-action-request.js";
|
|
2
2
|
import { RouteHandlerHttpMethod, RouteHandlerModule } from "./app-route-handler-runtime.js";
|
|
3
3
|
//#region src/server/app-route-handler-policy.d.ts
|
|
4
|
-
type AppRouteHandlerModule = {
|
|
4
|
+
export type AppRouteHandlerModule = {
|
|
5
5
|
dynamic?: string;
|
|
6
6
|
fetchCache?: unknown;
|
|
7
7
|
generateStaticParams?: unknown;
|
|
@@ -49,21 +49,21 @@ type AppRouteHandlerSpecialError = {
|
|
|
49
49
|
type AppRouteHandlerSpecialErrorOptions = {
|
|
50
50
|
isAction: boolean;
|
|
51
51
|
};
|
|
52
|
-
declare function getAppRouteHandlerRevalidateSeconds(handler: Pick<AppRouteHandlerModule, "dynamic" | "generateStaticParams" | "revalidate">): number | null;
|
|
53
|
-
declare function hasAppRouteHandlerDefaultExport(handler: RouteHandlerModule): boolean;
|
|
52
|
+
export declare function getAppRouteHandlerRevalidateSeconds(handler: Pick<AppRouteHandlerModule, "dynamic" | "generateStaticParams" | "revalidate">): number | null;
|
|
53
|
+
export declare function hasAppRouteHandlerDefaultExport(handler: RouteHandlerModule): boolean;
|
|
54
54
|
/** Match Next.js methods that force an App Route out of static generation. */
|
|
55
|
-
declare function hasNonStaticAppRouteHandlerMethods(handler: RouteHandlerModule): boolean;
|
|
56
|
-
declare function resolveAppRouteHandlerMethod(handler: AppRouteHandlerModule, method: string): ResolvedAppRouteHandlerMethod;
|
|
57
|
-
declare function shouldReadAppRouteHandlerCache(options: AppRouteHandlerCacheReadOptions): boolean;
|
|
58
|
-
declare function shouldApplyAppRouteHandlerRevalidateHeader(options: Omit<AppRouteHandlerResponseCacheOptions, "dynamicConfig" | "isProduction">): boolean;
|
|
55
|
+
export declare function hasNonStaticAppRouteHandlerMethods(handler: RouteHandlerModule): boolean;
|
|
56
|
+
export declare function resolveAppRouteHandlerMethod(handler: AppRouteHandlerModule, method: string): ResolvedAppRouteHandlerMethod;
|
|
57
|
+
export declare function shouldReadAppRouteHandlerCache(options: AppRouteHandlerCacheReadOptions): boolean;
|
|
58
|
+
export declare function shouldApplyAppRouteHandlerRevalidateHeader(options: Omit<AppRouteHandlerResponseCacheOptions, "dynamicConfig" | "isProduction">): boolean;
|
|
59
59
|
/**
|
|
60
60
|
* Next.js consumes the full body before completing static generation for an
|
|
61
61
|
* App Route. Keep that completion boundary for every response that can still
|
|
62
62
|
* receive a public framework cache policy, including
|
|
63
63
|
* `revalidate = false` (represented by Infinity).
|
|
64
64
|
*/
|
|
65
|
-
declare function shouldCompleteAppRouteHandlerResponse(options: AppRouteHandlerResponseCacheOptions): boolean;
|
|
66
|
-
declare function shouldWriteAppRouteHandlerCache(options: AppRouteHandlerResponseCacheOptions): boolean;
|
|
67
|
-
declare function resolveAppRouteHandlerSpecialError(error: unknown, requestUrl: string, options?: AppRouteHandlerSpecialErrorOptions): AppRouteHandlerSpecialError | null;
|
|
65
|
+
export declare function shouldCompleteAppRouteHandlerResponse(options: AppRouteHandlerResponseCacheOptions): boolean;
|
|
66
|
+
export declare function shouldWriteAppRouteHandlerCache(options: AppRouteHandlerResponseCacheOptions): boolean;
|
|
67
|
+
export declare function resolveAppRouteHandlerSpecialError(error: unknown, requestUrl: string, options?: AppRouteHandlerSpecialErrorOptions): AppRouteHandlerSpecialError | null;
|
|
68
68
|
//#endregion
|
|
69
|
-
export {
|
|
69
|
+
export { isPossibleAppRouteActionRequest };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CacheControlMetadata, CachedRouteValue } from "../shims/cache-handler.js";
|
|
2
2
|
//#region src/server/app-route-handler-response.d.ts
|
|
3
|
-
type RouteHandlerMiddlewareContext = {
|
|
3
|
+
export type RouteHandlerMiddlewareContext = {
|
|
4
4
|
headers: Headers | null;
|
|
5
5
|
status: number | null;
|
|
6
6
|
};
|
|
@@ -16,14 +16,13 @@ type FinalizeRouteHandlerResponseOptions = {
|
|
|
16
16
|
draftCookie?: string | null;
|
|
17
17
|
isHead: boolean;
|
|
18
18
|
};
|
|
19
|
-
declare function applyRouteHandlerMiddlewareContext(response: Response, middlewareContext: RouteHandlerMiddlewareContext, options?: {
|
|
19
|
+
export declare function applyRouteHandlerMiddlewareContext(response: Response, middlewareContext: RouteHandlerMiddlewareContext, options?: {
|
|
20
20
|
appendResponseLink?: boolean;
|
|
21
21
|
}): Response;
|
|
22
|
-
declare function assertSupportedAppRouteHandlerResponse(response: Response): void;
|
|
23
|
-
declare function buildRouteHandlerCachedResponse(cachedValue: CachedRouteValue, options: BuildRouteHandlerCachedResponseOptions): Response;
|
|
24
|
-
declare function applyRouteHandlerRevalidateHeader(response: Response, revalidateSeconds: number, expireSeconds?: number, tags?: readonly string[]): void;
|
|
25
|
-
declare function markRouteHandlerCacheMiss(response: Response): void;
|
|
26
|
-
declare function buildAppRouteCacheValue(response: Response): Promise<CachedRouteValue>;
|
|
27
|
-
declare function finalizeRouteHandlerResponse(response: Response, options: FinalizeRouteHandlerResponseOptions): Response;
|
|
28
|
-
//#endregion
|
|
29
|
-
export { RouteHandlerMiddlewareContext, applyRouteHandlerMiddlewareContext, applyRouteHandlerRevalidateHeader, assertSupportedAppRouteHandlerResponse, buildAppRouteCacheValue, buildRouteHandlerCachedResponse, finalizeRouteHandlerResponse, markRouteHandlerCacheMiss };
|
|
22
|
+
export declare function assertSupportedAppRouteHandlerResponse(response: Response): void;
|
|
23
|
+
export declare function buildRouteHandlerCachedResponse(cachedValue: CachedRouteValue, options: BuildRouteHandlerCachedResponseOptions): Response;
|
|
24
|
+
export declare function applyRouteHandlerRevalidateHeader(response: Response, revalidateSeconds: number, expireSeconds?: number, tags?: readonly string[]): void;
|
|
25
|
+
export declare function markRouteHandlerCacheMiss(response: Response): void;
|
|
26
|
+
export declare function buildAppRouteCacheValue(response: Response): Promise<CachedRouteValue>;
|
|
27
|
+
export declare function finalizeRouteHandlerResponse(response: Response, options: FinalizeRouteHandlerResponseOptions): Response;
|
|
28
|
+
//#endregion
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import "../utils/protocol-headers.js";
|
|
2
2
|
import { NEXT_CACHE_TAGS_HEADER, VINEXT_METADATA_ROUTE_CACHE_HEADER } from "./headers.js";
|
|
3
3
|
import { processMiddlewareHeaders } from "./request-pipeline.js";
|
|
4
|
+
import { markRouteCacheabilityExplicitConfigPolicy } from "../shims/cacheability-classification.js";
|
|
4
5
|
import { applyCdnResponseHeaders } from "./cache-control.js";
|
|
5
6
|
import { buildAppRouteMissIsrCacheControl, decideIsr } from "./isr-decision.js";
|
|
6
7
|
import { setCacheStateHeaders } from "./cache-headers.js";
|
|
@@ -56,6 +57,7 @@ function buildRouteHandlerCachedResponse(cachedValue, options) {
|
|
|
56
57
|
});
|
|
57
58
|
}
|
|
58
59
|
function applyRouteHandlerRevalidateHeader(response, revalidateSeconds, expireSeconds, tags) {
|
|
60
|
+
markRouteCacheabilityExplicitConfigPolicy();
|
|
59
61
|
applyCdnResponseHeaders(response.headers, {
|
|
60
62
|
cacheControl: buildAppRouteMissIsrCacheControl(revalidateSeconds, expireSeconds),
|
|
61
63
|
tags
|
|
@@ -2,8 +2,8 @@ import { NextI18nConfig } from "../config/next-config.js";
|
|
|
2
2
|
import { NextRequest } from "../shims/server.js";
|
|
3
3
|
//#region src/server/app-route-handler-runtime.d.ts
|
|
4
4
|
declare const ROUTE_HANDLER_HTTP_METHODS: readonly ["GET", "HEAD", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"];
|
|
5
|
-
type RouteHandlerHttpMethod = (typeof ROUTE_HANDLER_HTTP_METHODS)[number];
|
|
6
|
-
type RouteHandlerModule = Partial<Record<RouteHandlerHttpMethod | "default", unknown>>;
|
|
5
|
+
export type RouteHandlerHttpMethod = (typeof ROUTE_HANDLER_HTTP_METHODS)[number];
|
|
6
|
+
export type RouteHandlerModule = Partial<Record<RouteHandlerHttpMethod | "default", unknown>>;
|
|
7
7
|
/**
|
|
8
8
|
* Checks whether a string is a recognized HTTP method for App Router route
|
|
9
9
|
* handlers. Invalid methods must be rejected with 400 before any auto-OPTIONS
|
|
@@ -11,11 +11,11 @@ type RouteHandlerModule = Partial<Record<RouteHandlerHttpMethod | "default", unk
|
|
|
11
11
|
*
|
|
12
12
|
* @see https://github.com/vercel/next.js/blob/canary/packages/next/src/server/web/http.ts
|
|
13
13
|
*/
|
|
14
|
-
declare function isValidHTTPMethod(maybeMethod: string): maybeMethod is RouteHandlerHttpMethod;
|
|
15
|
-
declare function collectRouteHandlerMethods(handler: RouteHandlerModule): RouteHandlerHttpMethod[];
|
|
16
|
-
declare function buildRouteHandlerAllowHeader(exportedMethods: readonly string[]): string;
|
|
17
|
-
declare function isKnownDynamicAppRoute(pattern: string): boolean;
|
|
18
|
-
declare function markKnownDynamicAppRoute(pattern: string): void;
|
|
14
|
+
export declare function isValidHTTPMethod(maybeMethod: string): maybeMethod is RouteHandlerHttpMethod;
|
|
15
|
+
export declare function collectRouteHandlerMethods(handler: RouteHandlerModule): RouteHandlerHttpMethod[];
|
|
16
|
+
export declare function buildRouteHandlerAllowHeader(exportedMethods: readonly string[]): string;
|
|
17
|
+
export declare function isKnownDynamicAppRoute(pattern: string): boolean;
|
|
18
|
+
export declare function markKnownDynamicAppRoute(pattern: string): void;
|
|
19
19
|
type RequestDynamicAccess = "request.headers" | "request.cookies" | "request.cf" | "request.ip" | "request.geo" | "request.url" | "request.body" | "request.blob" | "request.bytes" | "request.json" | "request.text" | "request.arrayBuffer" | "request.formData";
|
|
20
20
|
type NextUrlDynamicAccess = "nextUrl.search" | "nextUrl.searchParams" | "nextUrl.url" | "nextUrl.href" | "nextUrl.toJSON" | "nextUrl.toString" | "nextUrl.origin";
|
|
21
21
|
type AppRouteDynamicRequestAccess = RequestDynamicAccess | NextUrlDynamicAccess;
|
|
@@ -33,6 +33,5 @@ type TrackedAppRouteRequest = {
|
|
|
33
33
|
request: NextRequest;
|
|
34
34
|
didAccessDynamicRequest(): boolean;
|
|
35
35
|
};
|
|
36
|
-
declare function createTrackedAppRouteRequest(request: Request, options?: TrackedAppRouteRequestOptions): TrackedAppRouteRequest;
|
|
37
|
-
//#endregion
|
|
38
|
-
export { RouteHandlerHttpMethod, RouteHandlerModule, buildRouteHandlerAllowHeader, collectRouteHandlerMethods, createTrackedAppRouteRequest, isKnownDynamicAppRoute, isValidHTTPMethod, markKnownDynamicAppRoute };
|
|
36
|
+
export declare function createTrackedAppRouteRequest(request: Request, options?: TrackedAppRouteRequestOptions): TrackedAppRouteRequest;
|
|
37
|
+
//#endregion
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { addBasePathToPathname } from "../utils/base-path.js";
|
|
2
1
|
import { buildRequestHeadersFromMiddlewareResponse } from "../utils/middleware-request-headers.js";
|
|
2
|
+
import { addBasePathToPathname } from "../utils/base-path.js";
|
|
3
3
|
import { NextRequest, RequestCookies, sealRequestCookies, sealRequestHeaders } from "../shims/server.js";
|
|
4
4
|
import { cloneRequestWithHeaders, cloneRequestWithUrl } from "./request-pipeline.js";
|
|
5
5
|
import { BUILT_IN_REQUEST_PROPERTIES } from "./app-route-request-built-ins.js";
|
|
@@ -191,10 +191,12 @@ function createTrackedAppRouteRequest(request, options = {}) {
|
|
|
191
191
|
}
|
|
192
192
|
const requestHeaders = options.middlewareHeaders ? buildRequestHeadersFromMiddlewareResponse(input.headers, options.middlewareHeaders) : null;
|
|
193
193
|
const requestWithOverrides = requestHeaders ? cloneRequestWithHeaders(input, requestHeaders) : input;
|
|
194
|
-
const sourceCfMetadata = Reflect.get(requestWithOverrides, "cf", requestWithOverrides);
|
|
195
194
|
const sourceCfDescriptor = Reflect.getOwnPropertyDescriptor(requestWithOverrides, "cf");
|
|
195
|
+
const sourceCfAccessor = sourceCfDescriptor?.get;
|
|
196
|
+
const sourceCfMetadata = sourceCfAccessor ? void 0 : Reflect.get(requestWithOverrides, "cf", requestWithOverrides);
|
|
196
197
|
const nextRequest = requestMode === "force-static" ? createForceStaticNextRequest(requestWithOverrides, nextConfig) : requestWithOverrides instanceof NextRequest && sourceCfDescriptor?.configurable !== false ? requestWithOverrides : new NextRequest(requestWithOverrides, { nextConfig: nextConfig ?? void 0 });
|
|
197
|
-
const rawCfMetadata = sourceCfMetadata === void 0 ? Reflect.get(nextRequest, "cf", nextRequest) : sourceCfMetadata;
|
|
198
|
+
const rawCfMetadata = sourceCfAccessor ? void 0 : sourceCfMetadata === void 0 ? Reflect.get(nextRequest, "cf", nextRequest) : sourceCfMetadata;
|
|
199
|
+
const hasCfMetadata = sourceCfAccessor !== void 0 || rawCfMetadata !== void 0;
|
|
198
200
|
const originalCfDescriptor = sourceCfDescriptor ?? Reflect.getOwnPropertyDescriptor(nextRequest, "cf");
|
|
199
201
|
const accessCf = (read, forceStaticValue) => {
|
|
200
202
|
if (requestMode === "force-static") return forceStaticValue;
|
|
@@ -202,8 +204,8 @@ function createTrackedAppRouteRequest(request, options = {}) {
|
|
|
202
204
|
markDynamicAccess("request.cf");
|
|
203
205
|
return read();
|
|
204
206
|
};
|
|
205
|
-
const controlledCfGetter = () => accessCf(() => rawCfMetadata, void 0);
|
|
206
|
-
if (
|
|
207
|
+
const controlledCfGetter = () => accessCf(sourceCfAccessor ? () => Reflect.apply(sourceCfAccessor, requestWithOverrides, []) : () => rawCfMetadata, void 0);
|
|
208
|
+
if (hasCfMetadata) {
|
|
207
209
|
if (requestMode === "force-static") Object.defineProperty(nextRequest, "cf", {
|
|
208
210
|
configurable: true,
|
|
209
211
|
enumerable: originalCfDescriptor?.enumerable ?? false,
|
|
@@ -217,7 +219,7 @@ function createTrackedAppRouteRequest(request, options = {}) {
|
|
|
217
219
|
}
|
|
218
220
|
const cloneTrackedRequest = () => {
|
|
219
221
|
const cloned = nextRequest.clone();
|
|
220
|
-
if (
|
|
222
|
+
if (hasCfMetadata) Object.defineProperty(cloned, "cf", sourceCfDescriptor ?? {
|
|
221
223
|
value: rawCfMetadata,
|
|
222
224
|
enumerable: originalCfDescriptor?.enumerable ?? false,
|
|
223
225
|
configurable: true
|
|
@@ -356,16 +358,18 @@ function createTrackedAppRouteRequest(request, options = {}) {
|
|
|
356
358
|
},
|
|
357
359
|
preventExtensions(target) {
|
|
358
360
|
const descriptor = Reflect.getOwnPropertyDescriptor(target, "cf");
|
|
359
|
-
if (descriptor?.get === controlledCfGetter)
|
|
360
|
-
if (
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
361
|
+
if (descriptor?.get === controlledCfGetter) {
|
|
362
|
+
if (requestMode === "force-static") {
|
|
363
|
+
if (!Reflect.deleteProperty(target, "cf")) return false;
|
|
364
|
+
} else {
|
|
365
|
+
accessCf(() => void 0, void 0);
|
|
366
|
+
Object.defineProperty(target, "cf", {
|
|
367
|
+
configurable: true,
|
|
368
|
+
enumerable: descriptor.enumerable,
|
|
369
|
+
value: rawCfMetadata,
|
|
370
|
+
writable: false
|
|
371
|
+
});
|
|
372
|
+
}
|
|
369
373
|
}
|
|
370
374
|
return Reflect.preventExtensions(target);
|
|
371
375
|
}
|
|
@@ -71,7 +71,7 @@ type LazyLoadableSlot = {
|
|
|
71
71
|
/** Hydrated only after an intercept matches, not with the slot's base modules. */
|
|
72
72
|
intercepts?: LazyLoadableIntercept[];
|
|
73
73
|
};
|
|
74
|
-
type LazyLoadableRoute = {
|
|
74
|
+
export type LazyLoadableRoute = {
|
|
75
75
|
page?: unknown;
|
|
76
76
|
routeHandler?: unknown;
|
|
77
77
|
layouts?: unknown[];
|
|
@@ -112,16 +112,15 @@ type LazyLoadableRoute = {
|
|
|
112
112
|
__loading?: Promise<unknown> | null;
|
|
113
113
|
};
|
|
114
114
|
/** Hydrate an intercepting route's page module onto `intercept.page`. */
|
|
115
|
-
declare function loadAppInterceptPage(intercept: LazyLoadableIntercept): Promise<void>;
|
|
115
|
+
export declare function loadAppInterceptPage(intercept: LazyLoadableIntercept): Promise<void>;
|
|
116
116
|
/** Hydrate an intercepting route's not-found boundary onto `intercept.notFound`. */
|
|
117
|
-
declare function loadAppInterceptNotFound(intercept: LazyLoadableIntercept): Promise<void>;
|
|
118
|
-
declare function loadAppInterceptLayouts(intercept: LazyLoadableIntercept): Promise<readonly unknown[]>;
|
|
117
|
+
export declare function loadAppInterceptNotFound(intercept: LazyLoadableIntercept): Promise<void>;
|
|
118
|
+
export declare function loadAppInterceptLayouts(intercept: LazyLoadableIntercept): Promise<readonly unknown[]>;
|
|
119
119
|
/**
|
|
120
120
|
* Resolve a route's lazy modules and assign them onto the route's synchronous
|
|
121
121
|
* module fields. Returns the same route reference (synchronously when already
|
|
122
122
|
* loaded, otherwise after the in-flight import resolves). Safe to call on
|
|
123
123
|
* `null`/`undefined` routes and on eager routes that have no lazy thunks.
|
|
124
124
|
*/
|
|
125
|
-
declare function ensureAppRouteModulesLoaded<TRoute extends LazyLoadableRoute>(route: TRoute | null | undefined): TRoute | Promise<TRoute>;
|
|
126
|
-
//#endregion
|
|
127
|
-
export { LazyLoadableRoute, ensureAppRouteModulesLoaded, loadAppInterceptLayouts, loadAppInterceptNotFound, loadAppInterceptPage };
|
|
125
|
+
export declare function ensureAppRouteModulesLoaded<TRoute extends LazyLoadableRoute>(route: TRoute | null | undefined): TRoute | Promise<TRoute>;
|
|
126
|
+
//#endregion
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/server/app-route-request-built-ins.d.ts
|
|
2
|
-
type BuiltInRequestProperty = {
|
|
2
|
+
export type BuiltInRequestProperty = {
|
|
3
3
|
descriptor: PropertyDescriptor;
|
|
4
4
|
instanceOnly: boolean;
|
|
5
5
|
key: PropertyKey;
|
|
@@ -11,6 +11,5 @@ type BuiltInRequestProperty = {
|
|
|
11
11
|
* The production RSC entry imports this module ahead of userland; the global
|
|
12
12
|
* symbol also preserves that first snapshot for the lazy dispatch chunk.
|
|
13
13
|
*/
|
|
14
|
-
declare const BUILT_IN_REQUEST_PROPERTIES: readonly BuiltInRequestProperty[];
|
|
15
|
-
//#endregion
|
|
16
|
-
export { BUILT_IN_REQUEST_PROPERTIES, BuiltInRequestProperty };
|
|
14
|
+
export declare const BUILT_IN_REQUEST_PROPERTIES: readonly BuiltInRequestProperty[];
|
|
15
|
+
//#endregion
|
|
@@ -15,14 +15,14 @@ type AppRouteTreePrefetchSlot = {
|
|
|
15
15
|
page?: unknown;
|
|
16
16
|
routeSegments?: readonly string[] | null;
|
|
17
17
|
};
|
|
18
|
-
type AppRouteTreePrefetchRoute = {
|
|
18
|
+
export type AppRouteTreePrefetchRoute = {
|
|
19
19
|
layoutTreePositions?: readonly number[];
|
|
20
20
|
layouts?: readonly unknown[];
|
|
21
21
|
page?: unknown;
|
|
22
22
|
routeSegments: readonly string[];
|
|
23
23
|
slots?: Readonly<Record<string, AppRouteTreePrefetchSlot>> | null;
|
|
24
24
|
};
|
|
25
|
-
type TreePrefetch = {
|
|
25
|
+
export type TreePrefetch = {
|
|
26
26
|
name: string;
|
|
27
27
|
param: TreePrefetchParam | null;
|
|
28
28
|
prefetchHints: number;
|
|
@@ -33,11 +33,10 @@ type RouteTreePrefetchResponseOptions = {
|
|
|
33
33
|
deploymentId?: string;
|
|
34
34
|
prefetchInlining?: PrefetchInliningConfig;
|
|
35
35
|
};
|
|
36
|
-
type PrefetchInliningConfig = false | {
|
|
36
|
+
export type PrefetchInliningConfig = false | {
|
|
37
37
|
maxBundleSize: number;
|
|
38
38
|
maxSize: number;
|
|
39
39
|
};
|
|
40
|
-
declare function isRouteTreePrefetchRequest(request: Request): boolean;
|
|
41
|
-
declare function createRouteTreePrefetchResponse(route: AppRouteTreePrefetchRoute, options?: RouteTreePrefetchResponseOptions): Promise<Response>;
|
|
42
|
-
//#endregion
|
|
43
|
-
export { AppRouteTreePrefetchRoute, PrefetchInliningConfig, TreePrefetch, createRouteTreePrefetchResponse, isRouteTreePrefetchRequest };
|
|
40
|
+
export declare function isRouteTreePrefetchRequest(request: Request): boolean;
|
|
41
|
+
export declare function createRouteTreePrefetchResponse(route: AppRouteTreePrefetchRoute, options?: RouteTreePrefetchResponseOptions): Promise<Response>;
|
|
42
|
+
//#endregion
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { VINEXT_RSC_VARY_HEADER } from "./app-rsc-vary.js";
|
|
2
|
+
import { NEXTJS_DEPLOYMENT_ID_HEADER } from "./headers.js";
|
|
2
3
|
import { getDeploymentId } from "../utils/deployment-id.js";
|
|
3
4
|
import { VINEXT_RSC_CONTENT_TYPE, applyRscCompatibilityIdHeader } from "./app-rsc-cache-busting.js";
|
|
4
5
|
//#region src/server/app-route-tree-prefetch.ts
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ExecutionContextLike } from "../shims/request-context.js";
|
|
2
|
+
import { __ensureInstrumentation } from "virtual:vinext-rsc-entry";
|
|
2
3
|
//#region src/server/app-router-entry.d.ts
|
|
3
4
|
type WorkerAssetEnv = {
|
|
4
5
|
ASSETS?: {
|
|
@@ -6,6 +7,7 @@ type WorkerAssetEnv = {
|
|
|
6
7
|
};
|
|
7
8
|
};
|
|
8
9
|
declare const _default: {
|
|
10
|
+
__ensureInstrumentation: typeof __ensureInstrumentation;
|
|
9
11
|
fetch(request: Request, env?: WorkerAssetEnv, ctx?: ExecutionContextLike): Promise<Response>;
|
|
10
12
|
};
|
|
11
13
|
//#endregion
|