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
|
@@ -24,7 +24,7 @@ import { ReactNode } from "react";
|
|
|
24
24
|
* `.nextjs-ref/packages/next/src/client/components/redirect.ts:20-23`
|
|
25
25
|
* `.nextjs-ref/packages/next/src/client/components/redirect-error.ts`
|
|
26
26
|
*/
|
|
27
|
-
declare function formatNextRedirectDigest(options: {
|
|
27
|
+
export declare function formatNextRedirectDigest(options: {
|
|
28
28
|
type: "push" | "replace";
|
|
29
29
|
url: string;
|
|
30
30
|
statusCode: number;
|
|
@@ -35,7 +35,7 @@ declare function formatNextRedirectDigest(options: {
|
|
|
35
35
|
* environment-specific renderer, which accepts a wider element type; a plain
|
|
36
36
|
* throwing React element satisfies all of them.
|
|
37
37
|
*/
|
|
38
|
-
type RedirectFlightStreamRenderer = (element: ReactNode, options: {
|
|
38
|
+
export type RedirectFlightStreamRenderer = (element: ReactNode, options: {
|
|
39
39
|
onError: (error: unknown, requestInfo: unknown, errorContext: unknown) => unknown;
|
|
40
40
|
}) => ReadableStream<Uint8Array>;
|
|
41
41
|
/**
|
|
@@ -57,9 +57,8 @@ type RedirectFlightStreamRenderer = (element: ReactNode, options: {
|
|
|
57
57
|
* through the `buildRscRedirectFlightStream` option of
|
|
58
58
|
* `buildAppPageSpecialErrorResponse`.
|
|
59
59
|
*/
|
|
60
|
-
declare function buildRscRedirectFlightStream(options: {
|
|
60
|
+
export declare function buildRscRedirectFlightStream(options: {
|
|
61
61
|
renderToReadableStream: RedirectFlightStreamRenderer;
|
|
62
62
|
digest: string;
|
|
63
63
|
}): ReadableStream<Uint8Array>;
|
|
64
|
-
//#endregion
|
|
65
|
-
export { RedirectFlightStreamRenderer, buildRscRedirectFlightStream, formatNextRedirectDigest };
|
|
64
|
+
//#endregion
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
//#region src/server/app-rsc-render-mode.d.ts
|
|
2
|
-
type AppRscRenderMode = "navigation" | "prefetch-empty" | "prefetch-dynamic-shell" | "prefetch-loading-shell";
|
|
3
|
-
declare const APP_RSC_RENDER_MODE_NAVIGATION = "navigation";
|
|
4
|
-
declare const APP_RSC_RENDER_MODE_PREFETCH_EMPTY = "prefetch-empty";
|
|
5
|
-
declare const APP_RSC_RENDER_MODE_PREFETCH_DYNAMIC_SHELL = "prefetch-dynamic-shell";
|
|
6
|
-
declare const APP_RSC_RENDER_MODE_PREFETCH_LOADING_SHELL = "prefetch-loading-shell";
|
|
7
|
-
declare function getRscRenderModeCacheVariant(mode: AppRscRenderMode): string | null;
|
|
8
|
-
declare function parseAppRscRenderMode(value: string | null): AppRscRenderMode;
|
|
9
|
-
//#endregion
|
|
10
|
-
export { APP_RSC_RENDER_MODE_NAVIGATION, APP_RSC_RENDER_MODE_PREFETCH_DYNAMIC_SHELL, APP_RSC_RENDER_MODE_PREFETCH_EMPTY, APP_RSC_RENDER_MODE_PREFETCH_LOADING_SHELL, AppRscRenderMode, getRscRenderModeCacheVariant, parseAppRscRenderMode };
|
|
2
|
+
export type AppRscRenderMode = "navigation" | "prefetch-empty" | "prefetch-dynamic-shell" | "prefetch-loading-shell";
|
|
3
|
+
export declare const APP_RSC_RENDER_MODE_NAVIGATION = "navigation";
|
|
4
|
+
export declare const APP_RSC_RENDER_MODE_PREFETCH_EMPTY = "prefetch-empty";
|
|
5
|
+
export declare const APP_RSC_RENDER_MODE_PREFETCH_DYNAMIC_SHELL = "prefetch-dynamic-shell";
|
|
6
|
+
export declare const APP_RSC_RENDER_MODE_PREFETCH_LOADING_SHELL = "prefetch-loading-shell";
|
|
7
|
+
export declare function getRscRenderModeCacheVariant(mode: AppRscRenderMode): string | null;
|
|
8
|
+
export declare function parseAppRscRenderMode(value: string | null): AppRscRenderMode;
|
|
9
|
+
//#endregion
|
|
@@ -2,7 +2,7 @@ import { ClientReuseManifestParseResult } from "./client-reuse-manifest.js";
|
|
|
2
2
|
import { AppRscRenderMode } from "./app-rsc-render-mode.js";
|
|
3
3
|
import { normalizeMountedSlotsHeader } from "./app-mounted-slots-header.js";
|
|
4
4
|
//#region src/server/app-rsc-request-normalization.d.ts
|
|
5
|
-
type NormalizedRscRequest = {
|
|
5
|
+
export type NormalizedRscRequest = {
|
|
6
6
|
/** Parsed URL. Callers may mutate `url.search` after middleware runs. */
|
|
7
7
|
url: URL;
|
|
8
8
|
/** Normalized pathname with basePath stripped. Used for all internal routing. */
|
|
@@ -55,6 +55,6 @@ type NormalizedRscRequest = {
|
|
|
55
55
|
* @returns A 400 or 404 Response for invalid or out-of-scope inputs,
|
|
56
56
|
* or a NormalizedRscRequest for valid requests.
|
|
57
57
|
*/
|
|
58
|
-
declare function normalizeRscRequest(request: Request, basePath: string, allowOutsideBasePath?: boolean): Response | NormalizedRscRequest;
|
|
58
|
+
export declare function normalizeRscRequest(request: Request, basePath: string, allowOutsideBasePath?: boolean): Response | NormalizedRscRequest;
|
|
59
59
|
//#endregion
|
|
60
|
-
export {
|
|
60
|
+
export { normalizeMountedSlotsHeader };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { normalizePathnameForRouteMatchStrict } from "../routing/utils.js";
|
|
2
2
|
import { hasBasePath, stripBasePath } from "../utils/base-path.js";
|
|
3
|
-
import { NEXT_ROUTER_STATE_TREE_HEADER, NEXT_URL_HEADER,
|
|
3
|
+
import { NEXT_ROUTER_STATE_TREE_HEADER, NEXT_URL_HEADER, VINEXT_INTERCEPTION_CONTEXT_HEADER, VINEXT_INTERCEPTION_ID_HEADER, VINEXT_MOUNTED_SLOTS_HEADER, VINEXT_RSC_RENDER_MODE_HEADER } from "./app-rsc-vary.js";
|
|
4
|
+
import { VINEXT_CLIENT_REUSE_MANIFEST_HEADER } from "./headers.js";
|
|
4
5
|
import { normalizePath } from "./normalize-path.js";
|
|
5
6
|
import { badRequestResponse, notFoundResponse } from "./http-error-responses.js";
|
|
6
7
|
import { guardProtocolRelativeUrl } from "./request-pipeline.js";
|
|
@@ -18,13 +18,17 @@ type FinalizeAppRscResponseOptions = {
|
|
|
18
18
|
* before middleware runs.
|
|
19
19
|
*/
|
|
20
20
|
requestContext: RequestContext;
|
|
21
|
+
/** Existing response headers that matching next.config rules may replace. */
|
|
22
|
+
overwriteExisting?: ReadonlySet<string> | ((name: string) => boolean);
|
|
21
23
|
/** Response headers emitted by middleware after config matching. */
|
|
22
24
|
middlewareHeaders?: Headers | null;
|
|
25
|
+
/** Whether config matching should update the active cacheability classification. */
|
|
26
|
+
recordCacheability?: boolean;
|
|
23
27
|
};
|
|
24
28
|
/** Mark a response whose final target pipeline has already applied config headers. */
|
|
25
|
-
declare function markAppRscResponseConfigHeadersApplied(response: Response): Response;
|
|
29
|
+
export declare function markAppRscResponseConfigHeadersApplied(response: Response): Response;
|
|
26
30
|
/** Apply only the matching next.config headers for an App Router request. */
|
|
27
|
-
declare function applyAppRscConfigHeaders(headers: Headers, request: Request, options: FinalizeAppRscResponseOptions): Promise<void>;
|
|
31
|
+
export declare function applyAppRscConfigHeaders(headers: Headers, request: Request, options: FinalizeAppRscResponseOptions): Promise<void>;
|
|
28
32
|
/**
|
|
29
33
|
* Apply App Router response finalization that must happen outside individual
|
|
30
34
|
* route dispatchers.
|
|
@@ -37,6 +41,5 @@ declare function applyAppRscConfigHeaders(headers: Headers, request: Request, op
|
|
|
37
41
|
* headers that throw on mutation, and Next.js does not apply config headers
|
|
38
42
|
* to redirects regardless.
|
|
39
43
|
*/
|
|
40
|
-
declare function finalizeAppRscResponse(response: Response, request: Request, options: FinalizeAppRscResponseOptions): Promise<Response>;
|
|
41
|
-
//#endregion
|
|
42
|
-
export { applyAppRscConfigHeaders, finalizeAppRscResponse, markAppRscResponseConfigHeadersApplied };
|
|
44
|
+
export declare function finalizeAppRscResponse(response: Response, request: Request, options: FinalizeAppRscResponseOptions): Promise<Response>;
|
|
45
|
+
//#endregion
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
import { hasBasePath, stripBasePath } from "../utils/base-path.js";
|
|
2
|
-
import { VINEXT_RSC_VARY_HEADER } from "./
|
|
2
|
+
import { VINEXT_RSC_VARY_HEADER } from "./app-rsc-vary.js";
|
|
3
3
|
import { sanitizeMethodNotAllowedHeaders } from "./http-error-responses.js";
|
|
4
4
|
import { isStaticFileSignal } from "./static-file-signal.js";
|
|
5
5
|
import { normalizeDefaultLocalePathname } from "./pages-i18n.js";
|
|
6
6
|
import { isNonCacheableCacheControl } from "../shims/cdn-cache.js";
|
|
7
|
-
import {
|
|
7
|
+
import { captureRouteCacheabilityResponsePolicy } from "../shims/cacheability-classification.js";
|
|
8
|
+
import { NO_STORE_CACHE_CONTROL, applyCdnResponseHeaders, captureCdnResponsePolicyHeaders, hasExplicitNonCacheableResponsePolicy, isCdnResponsePolicyHeader } from "./cache-control.js";
|
|
8
9
|
import "./app-rsc-cache-busting.js";
|
|
9
10
|
import { mergeVaryHeader } from "./middleware-response-headers.js";
|
|
10
11
|
import { hasPostConfigLinkHeaders } from "./app-response-header-provenance.js";
|
|
11
|
-
import { CACHEABILITY_POLICY_HEADERS, captureRouteCacheabilityResponsePolicy } from "../shims/cacheability-classification.js";
|
|
12
12
|
//#region src/server/app-rsc-response-finalizer.ts
|
|
13
13
|
const HAS_CONFIG_HEADERS = process.env.__VINEXT_HAS_CONFIG_HEADERS !== "false";
|
|
14
14
|
const configHeadersAlreadyApplied = /* @__PURE__ */ new WeakSet();
|
|
15
|
-
const CONFIG_CACHE_POLICY_HEADERS = new Set(CACHEABILITY_POLICY_HEADERS);
|
|
16
15
|
function normalizeExplicitNonCacheablePolicy(headers) {
|
|
17
16
|
if (!hasExplicitNonCacheableResponsePolicy(headers)) return;
|
|
18
17
|
const cacheControl = headers.get("Cache-Control");
|
|
@@ -42,7 +41,8 @@ async function applyAppRscConfigHeaders(headers, request, options) {
|
|
|
42
41
|
},
|
|
43
42
|
appendToPostConfigLink: hasPostConfigLinkHeaders(headers),
|
|
44
43
|
middlewareHeaders: options.middlewareHeaders,
|
|
45
|
-
|
|
44
|
+
recordCacheability: options.recordCacheability,
|
|
45
|
+
overwriteExisting: options.overwriteExisting ?? isCdnResponsePolicyHeader
|
|
46
46
|
});
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
@@ -66,7 +66,7 @@ async function finalizeAppRscResponse(response, request, options) {
|
|
|
66
66
|
}
|
|
67
67
|
if (!response.headers.has("Cache-Control")) {
|
|
68
68
|
applyCdnResponseHeaders(response.headers, { cacheControl: "" });
|
|
69
|
-
captureRouteCacheabilityResponsePolicy(response.headers);
|
|
69
|
+
captureRouteCacheabilityResponsePolicy(captureCdnResponsePolicyHeaders(response.headers));
|
|
70
70
|
}
|
|
71
71
|
if (configHeadersAlreadyApplied.has(response)) {
|
|
72
72
|
normalizeExplicitNonCacheablePolicy(response.headers);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { VinextResponseStageDispatchOptions } from "./multi-stage.js";
|
|
2
|
+
import { AppWorkerResponseStageProps } from "./app-worker-stages.js";
|
|
3
|
+
import { AppRscHandlerRoute, CreateAppRscHandlerOptions } from "./app-rsc-handler.js";
|
|
4
|
+
//#region src/server/app-rsc-response-stage.d.ts
|
|
5
|
+
export declare function renderAppWorkerResponseStage<TRoute extends AppRscHandlerRoute>(options: CreateAppRscHandlerOptions<TRoute>, rawRequest: Request, ctx: unknown, props: AppWorkerResponseStageProps, _stageOptions?: VinextResponseStageDispatchOptions): Promise<Response>;
|
|
6
|
+
//#endregion
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
import { preserveFullyBufferedBodyMetadata } from "./fully-buffered-response.js";
|
|
2
|
+
import { closeAfterResponse, closeAfterResponseWithBody, createRequestContext, runWithRequestContext } from "../shims/unified-request-context.js";
|
|
3
|
+
import { VINEXT_REVALIDATE_HOST_HEADER } from "../utils/protocol-headers.js";
|
|
4
|
+
import { getRequestExecutionContext } from "../shims/request-context.js";
|
|
5
|
+
import "./headers.js";
|
|
6
|
+
import { cloneRequestWithHeaders, cloneRequestWithUrl, filterInternalHeaders } from "./request-pipeline.js";
|
|
7
|
+
import { applyEffectiveRequestCookieHeader, getDraftModeCookieHeader, headersContextFromRequest, restoreDraftModeTransition } from "../shims/headers.js";
|
|
8
|
+
import { ensureFetchPatch, setCurrentFetchSoftTags } from "../shims/fetch-cache.js";
|
|
9
|
+
import { traceFindPageComponents } from "./pages-execution-tracing.js";
|
|
10
|
+
import { getRenderedConcreteUrlPathsForRoute } from "./pregenerated-concrete-paths.js";
|
|
11
|
+
import { VINEXT_RSC_CACHE_BUSTING_SEARCH_PARAM, hasRscCacheBustingSearchParam, stripRscCacheBustingSearchParam, stripRscSuffix } from "./app-rsc-cache-busting.js";
|
|
12
|
+
import { traceAppPageRender } from "./app-page-tracing.js";
|
|
13
|
+
import { buildPageCacheTags } from "./implicit-tags.js";
|
|
14
|
+
import { pickRootParams, setRootParams } from "../shims/root-params.js";
|
|
15
|
+
import "./app-worker-stages.js";
|
|
16
|
+
import { normalizeRscRequest } from "./app-rsc-request-normalization.js";
|
|
17
|
+
import { runWithPrerenderWorkUnit } from "./prerender-work-unit-setup.js";
|
|
18
|
+
import { stripInheritedResponseStageCookies } from "./response-stage-policy.js";
|
|
19
|
+
//#region src/server/app-rsc-response-stage.ts
|
|
20
|
+
function haveSamePageParams(first, second) {
|
|
21
|
+
const firstKeys = Object.keys(first);
|
|
22
|
+
const secondKeys = Object.keys(second);
|
|
23
|
+
if (firstKeys.length !== secondKeys.length) return false;
|
|
24
|
+
for (const key of firstKeys) {
|
|
25
|
+
const firstValue = first[key];
|
|
26
|
+
const secondValue = second[key];
|
|
27
|
+
if (Array.isArray(firstValue)) {
|
|
28
|
+
if (!Array.isArray(secondValue) || firstValue.length !== secondValue.length || firstValue.some((value, index) => value !== secondValue[index])) return false;
|
|
29
|
+
} else if (firstValue !== secondValue) return false;
|
|
30
|
+
}
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
function hasProperty(value, key) {
|
|
34
|
+
return key in value;
|
|
35
|
+
}
|
|
36
|
+
function isEdgeRouteHandler(handler) {
|
|
37
|
+
if (!handler || typeof handler !== "object" || !hasProperty(handler, "runtime")) return false;
|
|
38
|
+
return handler.runtime === "edge" || handler.runtime === "experimental-edge";
|
|
39
|
+
}
|
|
40
|
+
function isExecutionContextLike(value) {
|
|
41
|
+
return !!value && typeof value === "object" && hasProperty(value, "waitUntil") && typeof value.waitUntil === "function";
|
|
42
|
+
}
|
|
43
|
+
function requestWithoutRscCacheBustingSearchParam(request) {
|
|
44
|
+
const url = new URL(request.url);
|
|
45
|
+
if (!hasRscCacheBustingSearchParam(url)) return request;
|
|
46
|
+
stripRscCacheBustingSearchParam(url);
|
|
47
|
+
return cloneRequestWithUrl(request, url.toString());
|
|
48
|
+
}
|
|
49
|
+
function requestWithoutRscSuffix(request) {
|
|
50
|
+
const url = new URL(request.url);
|
|
51
|
+
const pathname = stripRscSuffix(url.pathname);
|
|
52
|
+
if (pathname === url.pathname) return request;
|
|
53
|
+
url.pathname = pathname;
|
|
54
|
+
return cloneRequestWithUrl(request, url.toString());
|
|
55
|
+
}
|
|
56
|
+
function pathnameForResolvedUrl(resolvedUrl) {
|
|
57
|
+
return resolvedUrl.split("#", 1)[0].split("?", 1)[0];
|
|
58
|
+
}
|
|
59
|
+
function rematchAppWorkerResponseStageRoute(options, normalized, props) {
|
|
60
|
+
let match = null;
|
|
61
|
+
if (props.matchKind === "interception") {
|
|
62
|
+
if (normalized.interceptionContextHeader !== null) match = options.matchInterceptRoute?.(props.routePathname, normalized.interceptionContextHeader, props.interceptionId) ?? null;
|
|
63
|
+
} else if (props.matchKind === "request") match = options.matchRequestRoute?.(props.routePathname) ?? null;
|
|
64
|
+
else match = options.matchRoute(props.routePathname);
|
|
65
|
+
if (!match) return null;
|
|
66
|
+
if (match.route.pattern !== props.routePattern || !haveSamePageParams(match.params, props.params)) return null;
|
|
67
|
+
return match;
|
|
68
|
+
}
|
|
69
|
+
async function renderAppWorkerResponseStage(options, rawRequest, ctx, props, _stageOptions) {
|
|
70
|
+
if (props.protocolVersion !== 10 || props.buildId !== options.buildId) return new Response("Incompatible vinext App response stage", { status: 409 });
|
|
71
|
+
if (props.kind === "app-full-request") return new Response("Invalid vinext App response stage", { status: 400 });
|
|
72
|
+
options.registerCacheAdapters();
|
|
73
|
+
await options.ensureInstrumentation?.();
|
|
74
|
+
const executionContext = isExecutionContextLike(ctx) ? ctx : getRequestExecutionContext() ?? null;
|
|
75
|
+
const filteredHeaders = executionContext?.isInternalPagesRevalidation ? new Headers(rawRequest.headers) : filterInternalHeaders(rawRequest.headers);
|
|
76
|
+
filteredHeaders.delete(VINEXT_REVALIDATE_HOST_HEADER);
|
|
77
|
+
const request = cloneRequestWithHeaders(rawRequest, filteredHeaders);
|
|
78
|
+
if (props.kind === "hybrid-pages") try {
|
|
79
|
+
if (new URL(props.requestUrl).origin !== new URL(request.url).origin) return new Response("Invalid vinext App response stage", { status: 400 });
|
|
80
|
+
} catch {
|
|
81
|
+
return new Response("Invalid vinext App response stage", { status: 400 });
|
|
82
|
+
}
|
|
83
|
+
const liveNormalized = normalizeRscRequest(request, options.basePath, true);
|
|
84
|
+
if (liveNormalized instanceof Response) return new Response("Invalid vinext App response stage", { status: 400 });
|
|
85
|
+
const normalized = props.kind === "hybrid-pages" ? liveNormalized : {
|
|
86
|
+
...liveNormalized,
|
|
87
|
+
interceptionContextHeader: props.kind === "app-page" || props.kind === "app-route-handler" ? props.interceptionContext : liveNormalized.interceptionContextHeader,
|
|
88
|
+
interceptionIdHeader: props.kind === "app-page" || props.kind === "app-route-handler" ? props.interceptionId : liveNormalized.interceptionIdHeader,
|
|
89
|
+
isRscRequest: props.isRscRequest,
|
|
90
|
+
mountedSlotsHeader: props.mountedSlotsHeader,
|
|
91
|
+
renderMode: props.renderMode
|
|
92
|
+
};
|
|
93
|
+
const match = props.kind === "hybrid-pages" || props.kind === "app-metadata" || props.kind === "app-not-found" ? null : rematchAppWorkerResponseStageRoute(options, normalized, props);
|
|
94
|
+
if (props.kind !== "hybrid-pages" && props.kind !== "app-metadata" && props.kind !== "app-not-found" && !match) return new Response("Invalid vinext App response stage", { status: 400 });
|
|
95
|
+
const route = match?.route ?? null;
|
|
96
|
+
if (route) {
|
|
97
|
+
if (options.ensureRouteLoaded) await traceFindPageComponents(route.pattern, () => options.ensureRouteLoaded(route));
|
|
98
|
+
if (props.kind === "app-page" && route.routeHandler || props.kind === "app-route-handler" && !route.routeHandler) return new Response("Invalid vinext App response stage", { status: 400 });
|
|
99
|
+
}
|
|
100
|
+
const headersContext = headersContextFromRequest(request, { draftModeSecret: options.draftModeSecret });
|
|
101
|
+
const requestContext = createRequestContext({
|
|
102
|
+
headersContext,
|
|
103
|
+
executionContext,
|
|
104
|
+
unstableCacheRevalidation: "background"
|
|
105
|
+
});
|
|
106
|
+
const middlewareContext = {
|
|
107
|
+
headers: null,
|
|
108
|
+
requestHeaders: null,
|
|
109
|
+
status: null
|
|
110
|
+
};
|
|
111
|
+
const responsePromise = runWithRequestContext(requestContext, () => runWithPrerenderWorkUnit(async () => {
|
|
112
|
+
if (props.middlewareCookieOverlay !== null) applyEffectiveRequestCookieHeader(props.middlewareCookieOverlay);
|
|
113
|
+
if (props.draftModeCookie !== null) restoreDraftModeTransition(props.draftModeCookie);
|
|
114
|
+
ensureFetchPatch();
|
|
115
|
+
if (props.kind === "app-metadata") {
|
|
116
|
+
if (!options.handleMetadataRouteRequest) return new Response("Invalid vinext App response stage", { status: 400 });
|
|
117
|
+
let response = await options.handleMetadataRouteRequest(props.cleanPathname, props.routePathname) ?? new Response(null, {
|
|
118
|
+
status: 204,
|
|
119
|
+
headers: { ["x-vinext-app-metadata-stage-no-match"]: "1" }
|
|
120
|
+
});
|
|
121
|
+
const draftCookie = getDraftModeCookieHeader();
|
|
122
|
+
if (draftCookie) {
|
|
123
|
+
const headers = new Headers(response.headers);
|
|
124
|
+
headers.append("Set-Cookie", draftCookie);
|
|
125
|
+
response = preserveFullyBufferedBodyMetadata(response, new Response(response.body, {
|
|
126
|
+
headers,
|
|
127
|
+
status: response.status,
|
|
128
|
+
statusText: response.statusText
|
|
129
|
+
}));
|
|
130
|
+
}
|
|
131
|
+
return response;
|
|
132
|
+
}
|
|
133
|
+
if (props.kind === "app-not-found") {
|
|
134
|
+
options.setNavigationContext({
|
|
135
|
+
pathname: props.canonicalPathname,
|
|
136
|
+
searchParams: new URL(props.resolvedUrl, request.url).searchParams,
|
|
137
|
+
params: {}
|
|
138
|
+
});
|
|
139
|
+
setRootParams({});
|
|
140
|
+
return await traceAppPageRender("/404", "render", () => options.renderNotFound({
|
|
141
|
+
isRscRequest: normalized.isRscRequest,
|
|
142
|
+
middlewareContext,
|
|
143
|
+
request,
|
|
144
|
+
route: null,
|
|
145
|
+
scriptNonce: props.scriptNonce ?? void 0
|
|
146
|
+
})) ?? new Response("Not Found", { status: 404 });
|
|
147
|
+
}
|
|
148
|
+
if (props.kind === "hybrid-pages") {
|
|
149
|
+
if (!options.renderPagesFallback) return new Response("Invalid vinext App response stage", { status: 400 });
|
|
150
|
+
const resolvedPathname = pathnameForResolvedUrl(props.resolvedUrl);
|
|
151
|
+
if ((resolvedPathname === "/api" || resolvedPathname.startsWith("/api/") ? "api" : "page") !== props.resourceKind) return new Response("Invalid vinext App response stage", { status: 400 });
|
|
152
|
+
const pageRequest = props.isDataRequest ? cloneRequestWithUrl(request, new URL(props.resolvedUrl, request.url).toString()) : request;
|
|
153
|
+
const preHandlerHeaders = props.preHandlerHeaders === null ? void 0 : new Headers(props.preHandlerHeaders);
|
|
154
|
+
preHandlerHeaders?.delete("Content-Length");
|
|
155
|
+
let pagesResponse = await options.renderPagesFallback({
|
|
156
|
+
allowRscDocumentFallback: props.allowRscDocumentFallback,
|
|
157
|
+
appRouteMatch: props.appRouteMatch ? { route: {
|
|
158
|
+
isDynamic: props.appRouteMatch.isDynamic,
|
|
159
|
+
pattern: props.appRouteMatch.pattern
|
|
160
|
+
} } : null,
|
|
161
|
+
isDataRequest: props.isDataRequest,
|
|
162
|
+
isRscRequest: props.isRscRequest,
|
|
163
|
+
matchKind: props.matchKind,
|
|
164
|
+
middlewareContext,
|
|
165
|
+
initialResponseHeaders: preHandlerHeaders,
|
|
166
|
+
pathname: props.resolvedUrl,
|
|
167
|
+
pagesDataRequest: props.isDataRequest ? request : null,
|
|
168
|
+
request: pageRequest,
|
|
169
|
+
url: new URL(props.requestUrl)
|
|
170
|
+
});
|
|
171
|
+
if (!pagesResponse) return new Response("Invalid vinext App response stage", { status: 404 });
|
|
172
|
+
if (preHandlerHeaders) pagesResponse = stripInheritedResponseStageCookies(pagesResponse, preHandlerHeaders);
|
|
173
|
+
return pagesResponse;
|
|
174
|
+
}
|
|
175
|
+
if (!route) return new Response("Invalid vinext App response stage", { status: 400 });
|
|
176
|
+
const searchParams = new URL(props.resolvedUrl, request.url).searchParams;
|
|
177
|
+
const renderParams = props.params;
|
|
178
|
+
options.setNavigationContext({
|
|
179
|
+
pathname: props.canonicalPathname,
|
|
180
|
+
searchParams,
|
|
181
|
+
params: renderParams
|
|
182
|
+
});
|
|
183
|
+
const rootParams = pickRootParams(renderParams, route.rootParamNames);
|
|
184
|
+
setRootParams(rootParams);
|
|
185
|
+
if (props.kind === "app-route-handler") {
|
|
186
|
+
setCurrentFetchSoftTags(buildPageCacheTags(props.cleanPathname, [], [...route.routeSegments], "route"));
|
|
187
|
+
const normalizedUserlandRequest = requestWithoutRscSuffix(request);
|
|
188
|
+
const userlandRequest = requestWithoutRscCacheBustingSearchParam(normalizedUserlandRequest);
|
|
189
|
+
const routeHandlerRequest = isEdgeRouteHandler(route.routeHandler) ? userlandRequest : normalizedUserlandRequest;
|
|
190
|
+
const routeHandlerUrl = new URL(routeHandlerRequest.url);
|
|
191
|
+
const internalRscValues = isEdgeRouteHandler(route.routeHandler) ? [] : routeHandlerUrl.searchParams.getAll(VINEXT_RSC_CACHE_BUSTING_SEARCH_PARAM);
|
|
192
|
+
routeHandlerUrl.search = searchParams.toString();
|
|
193
|
+
for (const internalRscValue of internalRscValues) routeHandlerUrl.searchParams.append(VINEXT_RSC_CACHE_BUSTING_SEARCH_PARAM, internalRscValue);
|
|
194
|
+
return options.dispatchMatchedRouteHandler({
|
|
195
|
+
bypassInterceptionContextCache: props.bypassInterceptionContextCache,
|
|
196
|
+
cachePathname: props.cachePathname,
|
|
197
|
+
cleanPathname: props.cleanPathname,
|
|
198
|
+
middlewareContext,
|
|
199
|
+
params: route.isDynamic ? renderParams : null,
|
|
200
|
+
request: cloneRequestWithUrl(routeHandlerRequest, routeHandlerUrl.toString()),
|
|
201
|
+
route,
|
|
202
|
+
searchParams
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
let pprFallbackCacheShells = [];
|
|
206
|
+
if (options.createPprFallbackShells && request.method === "GET" && !normalized.isRscRequest && route.params) pprFallbackCacheShells = options.createPprFallbackShells({
|
|
207
|
+
params: route.params,
|
|
208
|
+
pattern: route.pattern,
|
|
209
|
+
rootParamNames: route.rootParamNames
|
|
210
|
+
}, renderParams);
|
|
211
|
+
return options.dispatchMatchedPage({
|
|
212
|
+
bypassInterceptionContextCache: props.bypassInterceptionContextCache,
|
|
213
|
+
cachePathname: props.cachePathname,
|
|
214
|
+
clientReuseManifest: normalized.clientReuseManifest,
|
|
215
|
+
cleanPathname: props.cleanPathname,
|
|
216
|
+
displayPathname: props.canonicalPathname,
|
|
217
|
+
formState: null,
|
|
218
|
+
handlerStart: process.env.NODE_ENV !== "production" ? performance.now() : 0,
|
|
219
|
+
interceptionContext: normalized.interceptionContextHeader,
|
|
220
|
+
interceptionId: normalized.interceptionIdHeader,
|
|
221
|
+
interceptionPathname: props.matchKind === "resolved" ? props.cleanPathname : normalized.requestCleanPathname,
|
|
222
|
+
isProgressiveActionRender: false,
|
|
223
|
+
isRscRequest: normalized.isRscRequest,
|
|
224
|
+
middlewareContext,
|
|
225
|
+
mountedSlotsHeader: normalized.mountedSlotsHeader,
|
|
226
|
+
params: renderParams,
|
|
227
|
+
pprFallbackCacheShells,
|
|
228
|
+
renderedConcreteUrlPaths: getRenderedConcreteUrlPathsForRoute(route.pattern),
|
|
229
|
+
rootParams,
|
|
230
|
+
request,
|
|
231
|
+
renderedPathAndSearch: props.resolvedUrl,
|
|
232
|
+
route,
|
|
233
|
+
searchParams,
|
|
234
|
+
scriptNonce: props.scriptNonce ?? void 0,
|
|
235
|
+
renderMode: normalized.renderMode
|
|
236
|
+
});
|
|
237
|
+
}, {
|
|
238
|
+
cacheComponents: options.createPprFallbackShells !== void 0,
|
|
239
|
+
route: () => props.canonicalPathname
|
|
240
|
+
}));
|
|
241
|
+
let response;
|
|
242
|
+
try {
|
|
243
|
+
response = await responsePromise;
|
|
244
|
+
} catch (error) {
|
|
245
|
+
await closeAfterResponse(requestContext);
|
|
246
|
+
throw error;
|
|
247
|
+
}
|
|
248
|
+
return closeAfterResponseWithBody(response, requestContext);
|
|
249
|
+
}
|
|
250
|
+
//#endregion
|
|
251
|
+
export { renderAppWorkerResponseStage };
|
|
@@ -5,7 +5,7 @@ import { RoutePatternParams } from "../routing/route-pattern.js";
|
|
|
5
5
|
* When a matched intercept carries this key, the render layer replaces the
|
|
6
6
|
* route's main page element instead of a parallel slot.
|
|
7
7
|
*/
|
|
8
|
-
declare const SIBLING_PAGE_INTERCEPT_SLOT_KEY = "__vinext_page_intercept";
|
|
8
|
+
export declare const SIBLING_PAGE_INTERCEPT_SLOT_KEY = "__vinext_page_intercept";
|
|
9
9
|
type AppRscRouteParams = RoutePatternParams;
|
|
10
10
|
type AppRscInterceptForMatching = {
|
|
11
11
|
targetPattern: string;
|
|
@@ -120,7 +120,7 @@ type AppRscInterceptLookupEntry = {
|
|
|
120
120
|
slotId: string | null;
|
|
121
121
|
targetRouteGraphId: string | null;
|
|
122
122
|
};
|
|
123
|
-
declare function createAppRscRouteMatcher<Route extends AppRscRouteForMatching>(routes: Route[]): {
|
|
123
|
+
export declare function createAppRscRouteMatcher<Route extends AppRscRouteForMatching>(routes: Route[]): {
|
|
124
124
|
hasInterceptionId(interceptionId: string): boolean;
|
|
125
125
|
matchRoute(url: string): {
|
|
126
126
|
route: Route;
|
|
@@ -132,5 +132,4 @@ declare function createAppRscRouteMatcher<Route extends AppRscRouteForMatching>(
|
|
|
132
132
|
} | null;
|
|
133
133
|
findIntercept(pathname: string, sourcePathname?: string | null, interceptionId?: string | null): AppRscInterceptMatch | null;
|
|
134
134
|
};
|
|
135
|
-
//#endregion
|
|
136
|
-
export { SIBLING_PAGE_INTERCEPT_SLOT_KEY, createAppRscRouteMatcher };
|
|
135
|
+
//#endregion
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { decodeMatchedParams, splitPathSegments, splitPathnameForRouteMatch } from "../routing/utils.js";
|
|
2
|
-
import { buildRouteTrie, trieMatchRaw } from "../routing/route-trie.js";
|
|
3
2
|
import { createAppRouteGraphInterceptionId } from "../routing/app-route-graph.js";
|
|
3
|
+
import { buildRouteTrie, trieMatchRaw } from "../routing/route-trie.js";
|
|
4
4
|
import { extractRawRoutePatternParams, matchRoutePatternPrefix, matchRoutePatternRaw } from "../routing/route-pattern.js";
|
|
5
5
|
import { canonicalizeAppPageParams } from "./app-page-segment-state.js";
|
|
6
6
|
//#region src/server/app-rsc-route-matching.ts
|
|
@@ -20,7 +20,8 @@ function appRscPathnameParts(pathname, isNormalized = false) {
|
|
|
20
20
|
}
|
|
21
21
|
function appRscInterceptionSourcePathnameParts(pathname) {
|
|
22
22
|
const pathOnly = pathname.split("?")[0];
|
|
23
|
-
|
|
23
|
+
const normalizedPathname = pathOnly === "/" ? "/" : pathOnly.replace(/\/$/, "");
|
|
24
|
+
return splitPathSegments(normalizedPathname).map((segment) => {
|
|
24
25
|
try {
|
|
25
26
|
return decodeURIComponent(segment);
|
|
26
27
|
} catch {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/server/app-rsc-state-fingerprint.d.ts
|
|
2
|
-
type AppRscStateFingerprintInput = {
|
|
2
|
+
export type AppRscStateFingerprintInput = {
|
|
3
3
|
pathAndSearch: string;
|
|
4
4
|
routeId: string;
|
|
5
5
|
};
|
|
@@ -9,6 +9,5 @@ type AppRscStateFingerprintInput = {
|
|
|
9
9
|
* does not emit Next.js' Flight router-tree wire format, so reusing that header
|
|
10
10
|
* would give it incorrect routing semantics.
|
|
11
11
|
*/
|
|
12
|
-
declare function createAppRscStateFingerprint(input: AppRscStateFingerprintInput): string;
|
|
13
|
-
//#endregion
|
|
14
|
-
export { AppRscStateFingerprintInput, createAppRscStateFingerprint };
|
|
12
|
+
export declare function createAppRscStateFingerprint(input: AppRscStateFingerprintInput): string;
|
|
13
|
+
//#endregion
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/server/app-rsc-vary.d.ts
|
|
2
|
+
/** Request selectors that define a reusable full-route RSC response variant. */
|
|
3
|
+
export declare const RSC_HEADER = "RSC";
|
|
4
|
+
export declare const NEXT_ROUTER_STATE_TREE_HEADER = "Next-Router-State-Tree";
|
|
5
|
+
export declare const NEXT_ROUTER_PREFETCH_HEADER = "Next-Router-Prefetch";
|
|
6
|
+
export declare const NEXT_ROUTER_SEGMENT_PREFETCH_HEADER = "Next-Router-Segment-Prefetch";
|
|
7
|
+
export declare const NEXT_URL_HEADER = "Next-Url";
|
|
8
|
+
export declare const VINEXT_INTERCEPTION_CONTEXT_HEADER = "X-Vinext-Interception-Context";
|
|
9
|
+
export declare const VINEXT_INTERCEPTION_ID_HEADER = "X-Vinext-Interception-Id";
|
|
10
|
+
export declare const VINEXT_MOUNTED_SLOTS_HEADER = "X-Vinext-Mounted-Slots";
|
|
11
|
+
export declare const VINEXT_RSC_RENDER_MODE_HEADER = "X-Vinext-Rsc-Render-Mode";
|
|
12
|
+
export declare const VINEXT_RSC_STATE_FINGERPRINT_HEADER = "X-Vinext-Rsc-State-Fingerprint";
|
|
13
|
+
export declare const VINEXT_RSC_VARY_HEADER: string;
|
|
14
|
+
/** Whether a normalized response `Vary` field is a framework RSC selector. */
|
|
15
|
+
export declare function isVinextRscVaryField(name: string): boolean;
|
|
16
|
+
//#endregion
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
//#region src/server/app-rsc-vary.ts
|
|
2
|
+
/** Request selectors that define a reusable full-route RSC response variant. */
|
|
3
|
+
const RSC_HEADER = "RSC";
|
|
4
|
+
const NEXT_ROUTER_STATE_TREE_HEADER = "Next-Router-State-Tree";
|
|
5
|
+
const NEXT_ROUTER_PREFETCH_HEADER = "Next-Router-Prefetch";
|
|
6
|
+
const NEXT_ROUTER_SEGMENT_PREFETCH_HEADER = "Next-Router-Segment-Prefetch";
|
|
7
|
+
const NEXT_URL_HEADER = "Next-Url";
|
|
8
|
+
const VINEXT_INTERCEPTION_CONTEXT_HEADER = "X-Vinext-Interception-Context";
|
|
9
|
+
const VINEXT_INTERCEPTION_ID_HEADER = "X-Vinext-Interception-Id";
|
|
10
|
+
const VINEXT_MOUNTED_SLOTS_HEADER = "X-Vinext-Mounted-Slots";
|
|
11
|
+
const VINEXT_RSC_RENDER_MODE_HEADER = "X-Vinext-Rsc-Render-Mode";
|
|
12
|
+
const VINEXT_RSC_STATE_FINGERPRINT_HEADER = "X-Vinext-Rsc-State-Fingerprint";
|
|
13
|
+
const VINEXT_RSC_VARY_HEADER = [
|
|
14
|
+
"RSC",
|
|
15
|
+
NEXT_ROUTER_STATE_TREE_HEADER,
|
|
16
|
+
NEXT_ROUTER_PREFETCH_HEADER,
|
|
17
|
+
NEXT_ROUTER_SEGMENT_PREFETCH_HEADER,
|
|
18
|
+
NEXT_URL_HEADER,
|
|
19
|
+
VINEXT_INTERCEPTION_CONTEXT_HEADER,
|
|
20
|
+
VINEXT_INTERCEPTION_ID_HEADER,
|
|
21
|
+
VINEXT_MOUNTED_SLOTS_HEADER,
|
|
22
|
+
VINEXT_RSC_RENDER_MODE_HEADER,
|
|
23
|
+
VINEXT_RSC_STATE_FINGERPRINT_HEADER
|
|
24
|
+
].join(", ");
|
|
25
|
+
const VINEXT_RSC_VARY_FIELDS = new Set(VINEXT_RSC_VARY_HEADER.split(",").map((name) => name.trim().toLowerCase()));
|
|
26
|
+
/** Whether a normalized response `Vary` field is a framework RSC selector. */
|
|
27
|
+
function isVinextRscVaryField(name) {
|
|
28
|
+
return VINEXT_RSC_VARY_FIELDS.has(name.trim().toLowerCase());
|
|
29
|
+
}
|
|
30
|
+
//#endregion
|
|
31
|
+
export { NEXT_ROUTER_PREFETCH_HEADER, NEXT_ROUTER_SEGMENT_PREFETCH_HEADER, NEXT_ROUTER_STATE_TREE_HEADER, NEXT_URL_HEADER, RSC_HEADER, VINEXT_INTERCEPTION_CONTEXT_HEADER, VINEXT_INTERCEPTION_ID_HEADER, VINEXT_MOUNTED_SLOTS_HEADER, VINEXT_RSC_RENDER_MODE_HEADER, VINEXT_RSC_STATE_FINGERPRINT_HEADER, VINEXT_RSC_VARY_HEADER, isVinextRscVaryField };
|