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,10 +1,11 @@
|
|
|
1
|
-
import { splitPathSegments } from "../routing/utils.js";
|
|
2
|
-
import { addBasePathToPathname, hasBasePath, stripBasePath } from "../utils/base-path.js";
|
|
3
|
-
import { parseEdgeRequestCookieHeader } from "../utils/parse-cookie.js";
|
|
4
1
|
import { VINEXT_MW_CTX_HEADER } from "../utils/protocol-headers.js";
|
|
5
|
-
import { ACTION_FORWARDED_HEADER, ACTION_REDIRECT_HEADER, ACTION_REDIRECT_STATUS_HEADER, ACTION_REDIRECT_TYPE_HEADER, ACTION_REVALIDATED_HEADER, NEXT_ROUTER_STATE_TREE_HEADER, VINEXT_RSC_VARY_HEADER } from "./headers.js";
|
|
6
2
|
import { buildRequestHeadersFromMiddlewareResponse } from "../utils/middleware-request-headers.js";
|
|
3
|
+
import { parseEdgeRequestCookieHeader } from "../utils/parse-cookie.js";
|
|
7
4
|
import { isExternalUrl } from "../utils/external-url.js";
|
|
5
|
+
import { splitPathSegments } from "../routing/utils.js";
|
|
6
|
+
import { addBasePathToPathname, hasBasePath, stripBasePath } from "../utils/base-path.js";
|
|
7
|
+
import { NEXT_ROUTER_STATE_TREE_HEADER, VINEXT_RSC_VARY_HEADER } from "./app-rsc-vary.js";
|
|
8
|
+
import { ACTION_FORWARDED_HEADER, ACTION_REDIRECT_HEADER, ACTION_REDIRECT_STATUS_HEADER, ACTION_REDIRECT_TYPE_HEADER, ACTION_REVALIDATED_HEADER, VINEXT_RENDERED_PATH_AND_SEARCH_HEADER } from "./headers.js";
|
|
8
9
|
import { internalServerErrorResponse, payloadTooLargeResponse } from "./http-error-responses.js";
|
|
9
10
|
import { attachRequestCfMetadata, validateCsrfOrigin, validateServerActionPayload } from "./request-pipeline.js";
|
|
10
11
|
import { APP_RSC_RENDER_MODE_NAVIGATION } from "./app-rsc-render-mode.js";
|
|
@@ -12,12 +13,12 @@ import { isDraftModeRequest, setHeadersContext } from "../shims/headers.js";
|
|
|
12
13
|
import { _drainPendingRevalidations, getAndClearActionRevalidationKind } from "../shims/cache-request-state.js";
|
|
13
14
|
import { setCurrentFetchCacheMode, setCurrentFetchRevalidate, setCurrentFetchSoftTags, setCurrentForceDynamicFetchDefault } from "../shims/fetch-cache.js";
|
|
14
15
|
import { readStreamAsTextWithLimit } from "../utils/text-stream.js";
|
|
16
|
+
import { deferUntilStreamConsumed } from "./defer-until-stream-consumed.js";
|
|
15
17
|
import { VINEXT_RSC_CONTENT_TYPE, applyRscCompatibilityIdHeader, createRscRequestUrl, stripRscCacheBustingSearchParam } from "./app-rsc-cache-busting.js";
|
|
16
18
|
import { mergeMiddlewareResponseHeaders } from "./middleware-response-headers.js";
|
|
17
19
|
import { applyEdgeRuntimeHeader } from "./app-page-response.js";
|
|
18
20
|
import { getNextErrorDigest, parseNextHttpErrorDigest, parseNextRedirectDigest } from "./next-error-digest.js";
|
|
19
21
|
import { buildAppPageTags } from "./implicit-tags.js";
|
|
20
|
-
import { deferUntilStreamConsumed } from "./defer-until-stream-consumed.js";
|
|
21
22
|
import { getSetCookieName } from "./cookie-utils.js";
|
|
22
23
|
import { createServerActionNotFoundResponse, getServerActionNotFoundMessage, isServerActionNotFoundError } from "./server-action-not-found.js";
|
|
23
24
|
import { resolveAppPageNavigationParams } from "./app-page-element-builder.js";
|
|
@@ -69,16 +70,19 @@ function parseBoundProgressiveActionReference(body, referencePrefix) {
|
|
|
69
70
|
};
|
|
70
71
|
}
|
|
71
72
|
function prepareActionPageRerenderContext(options) {
|
|
72
|
-
if (options.dynamicConfig === "force-static" || options.dynamicConfig === "error")
|
|
73
|
-
|
|
73
|
+
if (options.dynamicConfig === "force-static" || options.dynamicConfig === "error") {
|
|
74
|
+
const rerenderRequest = createActionRerenderRequest({
|
|
74
75
|
draftModeCookie: options.draftModeCookie,
|
|
75
76
|
request: options.request
|
|
76
|
-
})
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
77
|
+
});
|
|
78
|
+
setHeadersContext(createStaticGenerationHeadersContext({
|
|
79
|
+
draftModeEnabled: isDraftModeRequest(rerenderRequest, options.draftModeSecret),
|
|
80
|
+
draftModeSecret: options.draftModeSecret,
|
|
81
|
+
dynamicConfig: options.dynamicConfig,
|
|
82
|
+
routeKind: "page",
|
|
83
|
+
routePattern: options.routePattern
|
|
84
|
+
}));
|
|
85
|
+
}
|
|
82
86
|
return options.dynamicConfig === "force-static" ? new URLSearchParams() : options.searchParams;
|
|
83
87
|
}
|
|
84
88
|
function createActionRerenderRequest(options) {
|
|
@@ -320,8 +324,30 @@ function dedupePendingCookies(cookies) {
|
|
|
320
324
|
function isAppServerActionFunction(action) {
|
|
321
325
|
return typeof action === "function";
|
|
322
326
|
}
|
|
323
|
-
function
|
|
324
|
-
|
|
327
|
+
function normalizeDevServerReferenceId(id) {
|
|
328
|
+
const exportSeparator = id.indexOf("#");
|
|
329
|
+
if (exportSeparator === -1) return id;
|
|
330
|
+
const moduleId = id.slice(0, exportSeparator);
|
|
331
|
+
const cacheTag = moduleId.indexOf("$$cache=");
|
|
332
|
+
return (cacheTag === -1 ? moduleId : moduleId.slice(0, cacheTag)) + id.slice(exportSeparator);
|
|
333
|
+
}
|
|
334
|
+
function requiresRegisteredServerReferenceMatch(actionId) {
|
|
335
|
+
const exportSeparator = actionId.indexOf("#");
|
|
336
|
+
if (exportSeparator === -1) return true;
|
|
337
|
+
return !/^[0-9a-f]{12}$/.test(actionId.slice(0, exportSeparator));
|
|
338
|
+
}
|
|
339
|
+
function matchesRegisteredServerReference(action, actionId) {
|
|
340
|
+
const registeredId = Reflect.get(action, "$$id");
|
|
341
|
+
if (typeof registeredId !== "string") return false;
|
|
342
|
+
const normalizedRegisteredId = normalizeDevServerReferenceId(registeredId);
|
|
343
|
+
const normalizedActionId = normalizeDevServerReferenceId(actionId);
|
|
344
|
+
if (normalizedRegisteredId === normalizedActionId) return true;
|
|
345
|
+
const registeredSeparator = normalizedRegisteredId.indexOf("#");
|
|
346
|
+
const actionSeparator = normalizedActionId.indexOf("#");
|
|
347
|
+
if (registeredSeparator === -1 || actionSeparator === -1) return false;
|
|
348
|
+
if (normalizedRegisteredId.slice(0, registeredSeparator) !== normalizedActionId.slice(0, actionSeparator)) return false;
|
|
349
|
+
const registeredExport = normalizedRegisteredId.slice(registeredSeparator + 1);
|
|
350
|
+
return !/^\$\$vinext_cache_[0-9a-f]{64}$/.test(registeredExport);
|
|
325
351
|
}
|
|
326
352
|
function getServerActionFailureMessage(error) {
|
|
327
353
|
return error instanceof Error && error.message ? error.message : String(error);
|
|
@@ -457,14 +483,16 @@ function getActionHttpFallbackStatus(error) {
|
|
|
457
483
|
function createServerActionErrorResponse(error, options) {
|
|
458
484
|
options.getAndClearPendingCookies();
|
|
459
485
|
console.error("[vinext] Server action error:", error);
|
|
460
|
-
options.reportRequestError(
|
|
486
|
+
options.reportRequestError(error, {
|
|
461
487
|
path: options.cleanPathname,
|
|
462
488
|
method: options.request.method,
|
|
463
489
|
headers: Object.fromEntries(options.request.headers.entries())
|
|
464
490
|
}, {
|
|
465
491
|
routerKind: "App Router",
|
|
466
|
-
routePath: options.
|
|
467
|
-
routeType: "action"
|
|
492
|
+
routePath: options.routePattern,
|
|
493
|
+
routeType: "action",
|
|
494
|
+
renderSource: "react-server-components-payload",
|
|
495
|
+
revalidateReason: void 0
|
|
468
496
|
});
|
|
469
497
|
options.clearRequestContext();
|
|
470
498
|
return internalServerErrorResponse(process.env.NODE_ENV === "production" ? void 0 : "Server action failed: " + getServerActionFailureMessage(error));
|
|
@@ -539,6 +567,10 @@ async function handleProgressiveServerActionRequest(options) {
|
|
|
539
567
|
});
|
|
540
568
|
return null;
|
|
541
569
|
}
|
|
570
|
+
if (directActionId && requiresRegisteredServerReferenceMatch(directActionId) && !matchesRegisteredServerReference(action, directActionId)) return createActionNotFoundResponse(directActionId, {
|
|
571
|
+
clearRequestContext: options.clearRequestContext,
|
|
572
|
+
getAndClearPendingCookies: options.getAndClearPendingCookies
|
|
573
|
+
});
|
|
542
574
|
const decodedActionId = Reflect.get(action, "$$id");
|
|
543
575
|
if (typeof decodedActionId === "string" && decodedActionId !== directActionId && options.forwardAction) {
|
|
544
576
|
const forwardResponse = await options.forwardAction(decodedActionId);
|
|
@@ -561,14 +593,16 @@ async function handleProgressiveServerActionRequest(options) {
|
|
|
561
593
|
actionFailed = true;
|
|
562
594
|
if (!(getActionHttpFallbackStatus(error) !== null || isServerActionNotFoundError(error, null))) {
|
|
563
595
|
console.error("[vinext] Server action error:", error);
|
|
564
|
-
options.reportRequestError(
|
|
596
|
+
options.reportRequestError(error, {
|
|
565
597
|
path: options.cleanPathname,
|
|
566
598
|
method: options.request.method,
|
|
567
599
|
headers: Object.fromEntries(options.request.headers.entries())
|
|
568
600
|
}, {
|
|
569
601
|
routerKind: "App Router",
|
|
570
|
-
routePath: options.
|
|
571
|
-
routeType: "action"
|
|
602
|
+
routePath: options.routePattern,
|
|
603
|
+
routeType: "action",
|
|
604
|
+
renderSource: "react-server-components-payload",
|
|
605
|
+
revalidateReason: void 0
|
|
572
606
|
});
|
|
573
607
|
}
|
|
574
608
|
}
|
|
@@ -622,14 +656,16 @@ async function handleProgressiveServerActionRequest(options) {
|
|
|
622
656
|
getAndClearActionRevalidationKind();
|
|
623
657
|
options.getAndClearPendingCookies();
|
|
624
658
|
console.error("[vinext] Server action payload parsing error:", error);
|
|
625
|
-
options.reportRequestError(
|
|
659
|
+
options.reportRequestError(error, {
|
|
626
660
|
path: options.cleanPathname,
|
|
627
661
|
method: options.request.method,
|
|
628
662
|
headers: Object.fromEntries(options.request.headers.entries())
|
|
629
663
|
}, {
|
|
630
664
|
routerKind: "App Router",
|
|
631
|
-
routePath: options.
|
|
632
|
-
routeType: "action"
|
|
665
|
+
routePath: options.routePattern,
|
|
666
|
+
routeType: "action",
|
|
667
|
+
renderSource: "react-server-components-payload",
|
|
668
|
+
revalidateReason: void 0
|
|
633
669
|
});
|
|
634
670
|
options.clearRequestContext();
|
|
635
671
|
return internalServerErrorResponse(process.env.NODE_ENV === "production" ? void 0 : "Server action parsing failed: " + getServerActionFailureMessage(error));
|
|
@@ -651,14 +687,16 @@ async function handleProgressiveServerActionRequest(options) {
|
|
|
651
687
|
async function renderFetchActionBodyExceededResponse(options) {
|
|
652
688
|
const error = createBodyExceededError(options.maxActionBodySizeLabel);
|
|
653
689
|
console.error("[vinext] Server action error:", error);
|
|
654
|
-
options.reportRequestError(
|
|
690
|
+
options.reportRequestError(error, {
|
|
655
691
|
path: options.cleanPathname,
|
|
656
692
|
method: options.request.method,
|
|
657
693
|
headers: Object.fromEntries(options.request.headers.entries())
|
|
658
694
|
}, {
|
|
659
695
|
routerKind: "App Router",
|
|
660
|
-
routePath: options.cleanPathname,
|
|
661
|
-
routeType: "action"
|
|
696
|
+
routePath: options.currentRouteMatch?.route.pattern ?? options.cleanPathname,
|
|
697
|
+
routeType: "action",
|
|
698
|
+
renderSource: "react-server-components-payload",
|
|
699
|
+
revalidateReason: void 0
|
|
662
700
|
});
|
|
663
701
|
getAndClearActionRevalidationKind();
|
|
664
702
|
options.getAndClearPendingCookies();
|
|
@@ -667,7 +705,10 @@ async function renderFetchActionBodyExceededResponse(options) {
|
|
|
667
705
|
data: options.sanitizeErrorForClient(error)
|
|
668
706
|
};
|
|
669
707
|
const temporaryReferences = options.createTemporaryReferenceSet();
|
|
670
|
-
const onRenderError = options.createRscOnErrorHandler(options.request, options.cleanPathname, options.cleanPathname
|
|
708
|
+
const onRenderError = options.createRscOnErrorHandler(options.request, options.cleanPathname, options.currentRouteMatch?.route.pattern ?? options.cleanPathname, {
|
|
709
|
+
renderSource: "react-server-components-payload",
|
|
710
|
+
routeType: "action"
|
|
711
|
+
});
|
|
671
712
|
const rscStream = await options.renderToReadableStream({ returnValue }, {
|
|
672
713
|
temporaryReferences,
|
|
673
714
|
onError: onRenderError
|
|
@@ -705,7 +746,7 @@ async function handleServerActionRscRequest(options) {
|
|
|
705
746
|
});
|
|
706
747
|
throw error;
|
|
707
748
|
}
|
|
708
|
-
if (!isAppServerActionFunction(loadedAction)) return createActionNotFoundResponse(options.actionId, {
|
|
749
|
+
if (!isAppServerActionFunction(loadedAction) || requiresRegisteredServerReferenceMatch(options.actionId) && !matchesRegisteredServerReference(loadedAction, options.actionId)) return createActionNotFoundResponse(options.actionId, {
|
|
709
750
|
clearRequestContext: options.clearRequestContext,
|
|
710
751
|
getAndClearPendingCookies: options.getAndClearPendingCookies
|
|
711
752
|
});
|
|
@@ -735,7 +776,7 @@ async function handleServerActionRscRequest(options) {
|
|
|
735
776
|
});
|
|
736
777
|
throw error;
|
|
737
778
|
}
|
|
738
|
-
if (!isAppServerActionFunction(loadedAction)) return createActionNotFoundResponse(options.actionId, {
|
|
779
|
+
if (!isAppServerActionFunction(loadedAction) || requiresRegisteredServerReferenceMatch(options.actionId) && !matchesRegisteredServerReference(loadedAction, options.actionId)) return createActionNotFoundResponse(options.actionId, {
|
|
739
780
|
clearRequestContext: options.clearRequestContext,
|
|
740
781
|
getAndClearPendingCookies: options.getAndClearPendingCookies
|
|
741
782
|
});
|
|
@@ -867,7 +908,10 @@ async function handleServerActionRscRequest(options) {
|
|
|
867
908
|
const actionRevalidationKind = resolveActionRevalidationKind(actionPendingCookies.length > 0 || Boolean(actionDraftCookie));
|
|
868
909
|
const isHttpFallback = actionStatus === 401 || actionStatus === 403 || actionStatus === 404;
|
|
869
910
|
if (!isHttpFallback && (actionWasForwarded || actionRevalidationKind === ACTION_DID_NOT_REVALIDATE)) {
|
|
870
|
-
const onRenderError = options.createRscOnErrorHandler(options.request, options.cleanPathname, options.cleanPathname
|
|
911
|
+
const onRenderError = options.createRscOnErrorHandler(options.request, options.cleanPathname, options.currentRouteMatch?.route.pattern ?? options.cleanPathname, {
|
|
912
|
+
renderSource: "react-server-components-payload",
|
|
913
|
+
routeType: "action"
|
|
914
|
+
});
|
|
871
915
|
const rscStream = await options.renderToReadableStream({ returnValue }, {
|
|
872
916
|
temporaryReferences,
|
|
873
917
|
onError: onRenderError
|
|
@@ -891,6 +935,7 @@ async function handleServerActionRscRequest(options) {
|
|
|
891
935
|
const match = options.currentRouteMatch;
|
|
892
936
|
let element;
|
|
893
937
|
let errorPattern = match ? match.route.pattern : options.cleanPathname;
|
|
938
|
+
let renderedPathAndSearch = null;
|
|
894
939
|
const actionRerenderIsRscRequest = true;
|
|
895
940
|
if (match) {
|
|
896
941
|
const { route: actionRoute, params: actionParams } = match;
|
|
@@ -920,6 +965,8 @@ async function handleServerActionRscRequest(options) {
|
|
|
920
965
|
searchParams: actionRerenderSearchParams,
|
|
921
966
|
params: resolvedActionNavigationParams
|
|
922
967
|
});
|
|
968
|
+
const renderedSearch = options.searchParams.toString();
|
|
969
|
+
renderedPathAndSearch = renderedSearch ? `${options.cleanPathname}?${renderedSearch}` : options.cleanPathname;
|
|
923
970
|
setCurrentFetchCacheMode(options.resolveRouteFetchCacheMode?.(actionRerenderTarget.route) ?? null);
|
|
924
971
|
setCurrentFetchRevalidate(options.resolveRouteRevalidateSeconds?.(actionRerenderTarget.route) ?? null);
|
|
925
972
|
setCurrentForceDynamicFetchDefault(actionRerenderDynamicConfig === "force-dynamic");
|
|
@@ -934,6 +981,7 @@ async function handleServerActionRscRequest(options) {
|
|
|
934
981
|
route: actionRerenderTarget.route,
|
|
935
982
|
searchParams: actionRerenderSearchParams,
|
|
936
983
|
renderMode: APP_RSC_RENDER_MODE_NAVIGATION,
|
|
984
|
+
isForceStatic: actionRerenderDynamicConfig === "force-static",
|
|
937
985
|
observeMetadataSearchParamsAccess: actionRerenderDynamicConfig !== "force-static",
|
|
938
986
|
observePageSearchParamsAccess: actionRerenderDynamicConfig !== "force-static"
|
|
939
987
|
});
|
|
@@ -943,7 +991,10 @@ async function handleServerActionRscRequest(options) {
|
|
|
943
991
|
const actionRouteId = options.createPayloadRouteId(options.cleanPathname, null);
|
|
944
992
|
element = options.createNotFoundElement(actionRouteId);
|
|
945
993
|
}
|
|
946
|
-
const onRenderError = options.createRscOnErrorHandler(options.request, options.cleanPathname, errorPattern
|
|
994
|
+
const onRenderError = options.createRscOnErrorHandler(options.request, options.cleanPathname, errorPattern, {
|
|
995
|
+
renderSource: "react-server-components-payload",
|
|
996
|
+
routeType: "action"
|
|
997
|
+
});
|
|
947
998
|
const renderActionRerender = () => options.renderToReadableStream({
|
|
948
999
|
root: element,
|
|
949
1000
|
returnValue
|
|
@@ -960,6 +1011,7 @@ async function handleServerActionRscRequest(options) {
|
|
|
960
1011
|
mergeMiddlewareResponseHeaders(actionHeaders, options.middlewareHeaders);
|
|
961
1012
|
applyRscCompatibilityIdHeader(actionHeaders);
|
|
962
1013
|
setActionRevalidatedHeader(actionHeaders, actionRevalidationKind);
|
|
1014
|
+
if (renderedPathAndSearch !== null) actionHeaders.set(VINEXT_RENDERED_PATH_AND_SEARCH_HEADER, encodeURIComponent(renderedPathAndSearch));
|
|
963
1015
|
const actionResponse = createServerActionRscResponse(rscStream, {
|
|
964
1016
|
status: options.middlewareStatus ?? actionStatus,
|
|
965
1017
|
headers: actionHeaders
|
|
@@ -976,7 +1028,8 @@ async function handleServerActionRscRequest(options) {
|
|
|
976
1028
|
clearRequestContext: options.clearRequestContext,
|
|
977
1029
|
getAndClearPendingCookies: options.getAndClearPendingCookies,
|
|
978
1030
|
reportRequestError: options.reportRequestError,
|
|
979
|
-
request: options.request
|
|
1031
|
+
request: options.request,
|
|
1032
|
+
routePattern: options.currentRouteMatch?.route.pattern ?? options.cleanPathname
|
|
980
1033
|
});
|
|
981
1034
|
}
|
|
982
1035
|
}
|
|
@@ -5,16 +5,16 @@ import { AppSsrRenderResult } from "./app-page-stream.js";
|
|
|
5
5
|
import "../shims/navigation-server.js";
|
|
6
6
|
import { ReactFormState } from "react-dom/client";
|
|
7
7
|
//#region src/server/app-ssr-entry.d.ts
|
|
8
|
-
type FontPreload = {
|
|
8
|
+
export type FontPreload = {
|
|
9
9
|
href: string;
|
|
10
10
|
type: string;
|
|
11
11
|
};
|
|
12
|
-
type FontData = {
|
|
12
|
+
export type FontData = {
|
|
13
13
|
links?: string[];
|
|
14
14
|
styles?: string[];
|
|
15
15
|
preloads?: FontPreload[];
|
|
16
16
|
};
|
|
17
|
-
declare function handleSsr(rscStream: ReadableStream<Uint8Array>, navContext: NavigationContext | null, fontData?: FontData, options?: {
|
|
17
|
+
export declare function handleSsr(rscStream: ReadableStream<Uint8Array>, navContext: NavigationContext | null, fontData?: FontData, options?: {
|
|
18
18
|
scriptNonce?: string;
|
|
19
19
|
/** Pre-split side stream for embed+capture fusion. When provided,
|
|
20
20
|
* rscStream is fed directly to createFromReadableStream (no internal tee).
|
|
@@ -33,6 +33,8 @@ declare function handleSsr(rscStream: ReadableStream<Uint8Array>, navContext: Na
|
|
|
33
33
|
* SSR head. Undefined or empty disables emission entirely.
|
|
34
34
|
*/
|
|
35
35
|
clientTraceMetadata?: readonly string[];
|
|
36
|
+
/** Private marker used to identify only this render's injected trace tags. */
|
|
37
|
+
clientTraceMetadataMarker?: string;
|
|
36
38
|
/**
|
|
37
39
|
* Maximum total length (in characters) of the preload `Link` header React
|
|
38
40
|
* emits during SSR. `0` disables emission. From `reactMaxHeadersLength` in
|
|
@@ -42,6 +44,8 @@ declare function handleSsr(rscStream: ReadableStream<Uint8Array>, navContext: Na
|
|
|
42
44
|
rootParams?: RootParams;
|
|
43
45
|
/** Dev-only: original server error to surface in the browser overlay. */
|
|
44
46
|
initialDevServerError?: unknown;
|
|
47
|
+
/** Report an SSR/Fizz render failure through instrumentation. */
|
|
48
|
+
onSsrError?: (error: unknown) => unknown;
|
|
45
49
|
/** Mirror inline Flight chunks into Next.js's `self.__next_f` transport. */
|
|
46
50
|
mirrorNextFlight?: boolean;
|
|
47
51
|
/** When true, wait for the full React tree (including Suspense boundaries)
|
|
@@ -52,6 +56,12 @@ declare function handleSsr(rscStream: ReadableStream<Uint8Array>, navContext: Na
|
|
|
52
56
|
isStaticGeneration?: boolean;
|
|
53
57
|
/** `dynamic = "force-static"` suppresses the useSearchParams bailout. */
|
|
54
58
|
isForceStatic?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Production render that may be stored under a query-free key. SSR
|
|
61
|
+
* `useSearchParams()` waits on a per-request gate, and the navigation
|
|
62
|
+
* payload leaves the query for the browser to read.
|
|
63
|
+
*/
|
|
64
|
+
isCacheCandidate?: boolean;
|
|
55
65
|
fallbackToErrorDocumentOnShellError?: boolean;
|
|
56
66
|
dynamicStaleTimeSeconds?: number;
|
|
57
67
|
getInitialNavigationCacheMetadata?: () => InitialNavigationCacheMetadata;
|
|
@@ -60,4 +70,4 @@ declare const _default: {
|
|
|
60
70
|
fetch(request: Request): Promise<Response>;
|
|
61
71
|
};
|
|
62
72
|
//#endregion
|
|
63
|
-
export {
|
|
73
|
+
export { _default as default };
|
|
@@ -4,24 +4,29 @@ import { isOpenRedirectShaped } from "./open-redirect.js";
|
|
|
4
4
|
import { AppElementsWire } from "./app-elements-wire.js";
|
|
5
5
|
import "./app-elements.js";
|
|
6
6
|
import { isPprFallbackShellAbortError } from "../shims/ppr-fallback-shell.js";
|
|
7
|
+
import { onRenderDynamicLatched } from "../shims/headers.js";
|
|
7
8
|
import { AppRouterContext } from "../shims/internal/app-router-context.js";
|
|
8
9
|
import { appendAssetDeploymentIdQuery } from "../utils/deployment-id.js";
|
|
9
10
|
import { withScriptNonce } from "../shims/script-nonce-context.js";
|
|
10
11
|
import { createInlineScriptTag, createNonceAttribute, escapeHtmlAttr, safeJsonStringify } from "./html.js";
|
|
11
|
-
import { getClientTraceMetadataHTML } from "./client-trace-metadata.js";
|
|
12
|
+
import { getClientTraceMetadataHTML, markClientTraceMetadataBlock } from "./client-trace-metadata.js";
|
|
13
|
+
import { deferUntilStreamConsumed } from "./defer-until-stream-consumed.js";
|
|
12
14
|
import { setPagesClientAssets } from "./pages-client-assets.js";
|
|
13
15
|
import { ServerInsertedHTMLContext, clearServerInsertedHTML, getBfcacheIdMapContext, registerServerInsertedHTMLCallback, renderServerInsertedHTML, setNavigationContext } from "../shims/navigation-context-state.js";
|
|
14
16
|
import "../shims/navigation-server.js";
|
|
15
17
|
import DefaultGlobalError from "../shims/default-global-error.js";
|
|
16
18
|
import { BfcacheIdentityMapContext, ElementsContext, Slot } from "../shims/slot.js";
|
|
19
|
+
import { getNextErrorDigest } from "./next-error-digest.js";
|
|
17
20
|
import { createSsrErrorMetaRenderer } from "./app-ssr-error-meta.js";
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
21
|
+
import { createClientPageSsrSearchParamsSource } from "./app-page-search-params-observation.js";
|
|
22
|
+
import { isAppRenderAbortError } from "./app-rsc-errors.js";
|
|
23
|
+
import { createNavigationRuntimeRenderedSearchScript, createNavigationRuntimeRscMetadataScript, createRscEmbedTransform, createTickBufferedTransform, waitAtLeastOneReactRenderTask } from "./app-ssr-stream.js";
|
|
20
24
|
import { createInitialBfcacheMaps } from "./app-bfcache-identity.js";
|
|
21
25
|
import { RSC_FORM_STATE_GLOBAL } from "./app-browser-hydration.js";
|
|
22
26
|
import { createClientReferencePreloader } from "./app-client-reference-preloader.js";
|
|
23
27
|
import { runWithRootParamsScope } from "../shims/root-params.js";
|
|
24
28
|
import { runWithNavigationContext } from "../shims/navigation-state.js";
|
|
29
|
+
import { startCandidateSearchParamsGate } from "./app-ssr-search-params-gate.js";
|
|
25
30
|
import { BeforeInteractiveContext } from "../shims/before-interactive-context.js";
|
|
26
31
|
import { renderBeforeInteractiveInlineScripts } from "./before-interactive-head.js";
|
|
27
32
|
import { createInitialDevServerErrorScript } from "./dev-initial-server-error.js";
|
|
@@ -151,7 +156,7 @@ function extractBootstrapModuleUrl(bootstrapScriptContent) {
|
|
|
151
156
|
}
|
|
152
157
|
function buildModulePreloadHtml(bootstrapModuleUrl, nonce) {
|
|
153
158
|
if (!bootstrapModuleUrl) return "";
|
|
154
|
-
return `<link rel="modulepreload"${createNonceAttribute(nonce)} href="${escapeHtmlAttr(bootstrapModuleUrl)}" />\n`;
|
|
159
|
+
return `<link rel="modulepreload"${createNonceAttribute(nonce)} href="${escapeHtmlAttr(bootstrapModuleUrl)}" crossorigin="${pagesClientAssets.crossOrigin ?? ""}" />\n`;
|
|
155
160
|
}
|
|
156
161
|
function buildHeadInjectionHtml(navContext, bootstrapModuleUrl, formState, insertedHTML, fontHTML, dynamicStaleTimeSeconds, searchParamsFromBrowser, scriptNonce) {
|
|
157
162
|
const navPayload = {
|
|
@@ -166,19 +171,33 @@ function requireNavigationContext(navContext) {
|
|
|
166
171
|
}
|
|
167
172
|
async function handleSsr(rscStream, navContext, fontData, options) {
|
|
168
173
|
return runWithNavigationContext(async () => {
|
|
174
|
+
const assetCrossOrigin = pagesClientAssets.crossOrigin ?? "";
|
|
175
|
+
const searchParamsGate = options?.isCacheCandidate === true && options.isStaticGeneration !== true && options.isForceStatic !== true ? startCandidateSearchParamsGate() : null;
|
|
176
|
+
let rendersDynamic = false;
|
|
177
|
+
const stopWatchingDynamic = searchParamsGate ? onRenderDynamicLatched(() => {
|
|
178
|
+
rendersDynamic = true;
|
|
179
|
+
}) : null;
|
|
180
|
+
const requiredNavigationContext = requireNavigationContext(navContext);
|
|
169
181
|
const ssrNavigationContext = {
|
|
170
|
-
...
|
|
182
|
+
...requiredNavigationContext,
|
|
171
183
|
isStaticGeneration: options?.isStaticGeneration,
|
|
172
|
-
isForceStatic: options?.isForceStatic
|
|
184
|
+
isForceStatic: options?.isForceStatic,
|
|
185
|
+
searchParamsGate: searchParamsGate?.gate,
|
|
186
|
+
getClientPageSearchParams: createClientPageSsrSearchParamsSource(requiredNavigationContext.searchParams, {
|
|
187
|
+
isForceStatic: options?.isForceStatic,
|
|
188
|
+
isPprFallbackShell: options?.pprFallbackShellSignal !== void 0
|
|
189
|
+
})
|
|
173
190
|
};
|
|
174
191
|
await clientReferencePreloader.preload();
|
|
175
192
|
setNavigationContext(ssrNavigationContext);
|
|
176
193
|
clearServerInsertedHTML();
|
|
177
194
|
const cleanup = () => {
|
|
195
|
+
stopWatchingDynamic?.();
|
|
178
196
|
setNavigationContext(null);
|
|
179
197
|
clearServerInsertedHTML();
|
|
180
198
|
};
|
|
181
|
-
|
|
199
|
+
const rootParams = options?.rootParams ?? {};
|
|
200
|
+
return runWithRootParamsScope(rootParams, async () => {
|
|
182
201
|
try {
|
|
183
202
|
let ssrStream;
|
|
184
203
|
let rscEmbed;
|
|
@@ -199,10 +218,12 @@ async function handleSsr(rscStream, navContext, fontData, options) {
|
|
|
199
218
|
getInitialNavigationCacheMetadata: options?.getInitialNavigationCacheMetadata
|
|
200
219
|
});
|
|
201
220
|
}
|
|
221
|
+
if (searchParamsGate) ssrStream = searchParamsGate.settleWhenConsumed(ssrStream);
|
|
202
222
|
let flightRoot = null;
|
|
203
223
|
function VinextFlightRoot() {
|
|
204
224
|
for (const moduleUrl of pagesClientAssets.appBootstrapPreinitModules ?? []) preinitModule(moduleUrl, {
|
|
205
225
|
as: "script",
|
|
226
|
+
crossOrigin: assetCrossOrigin,
|
|
206
227
|
nonce: options?.scriptNonce
|
|
207
228
|
});
|
|
208
229
|
if (!flightRoot) flightRoot = createFromReadableStream(ssrStream);
|
|
@@ -224,7 +245,8 @@ async function handleSsr(rscStream, navContext, fontData, options) {
|
|
|
224
245
|
const registerBeforeInteractiveInlineScript = (script) => {
|
|
225
246
|
beforeInteractiveInlineScripts.push(script);
|
|
226
247
|
};
|
|
227
|
-
const
|
|
248
|
+
const treeWithBeforeInteractive = createElement(BeforeInteractiveContext.Provider, { value: registerBeforeInteractiveInlineScript }, ssrTree);
|
|
249
|
+
const ssrRoot = withScriptNonce(treeWithBeforeInteractive, options?.scriptNonce);
|
|
228
250
|
const bootstrapModuleUrl = extractBootstrapModuleUrl(await import.meta.viteRsc.loadBootstrapScriptContent("index"));
|
|
229
251
|
const errorMetaRenderer = createSsrErrorMetaRenderer({ basePath: options?.basePath });
|
|
230
252
|
const pprFallbackShellSignal = options?.pprFallbackShellSignal;
|
|
@@ -232,7 +254,10 @@ async function handleSsr(rscStream, navContext, fontData, options) {
|
|
|
232
254
|
const maxHeadersLength = options?.reactMaxHeadersLength ?? DEFAULT_REACT_MAX_HEADERS_LENGTH;
|
|
233
255
|
const captureHeaders = maxHeadersLength > 0;
|
|
234
256
|
const renderOptions = {
|
|
235
|
-
bootstrapModules: bootstrapModuleUrl ? [
|
|
257
|
+
bootstrapModules: bootstrapModuleUrl ? [{
|
|
258
|
+
src: bootstrapModuleUrl,
|
|
259
|
+
crossOrigin: assetCrossOrigin
|
|
260
|
+
}] : void 0,
|
|
236
261
|
formState: options?.formState ?? null,
|
|
237
262
|
nonce: options?.scriptNonce,
|
|
238
263
|
onHeaders: captureHeaders ? (headers) => {
|
|
@@ -242,12 +267,17 @@ async function handleSsr(rscStream, navContext, fontData, options) {
|
|
|
242
267
|
maxHeadersLength: captureHeaders ? maxHeadersLength : void 0,
|
|
243
268
|
onError(error) {
|
|
244
269
|
if (pprFallbackShellSignal && isPprFallbackShellAbortError(error)) return;
|
|
270
|
+
if (isAppRenderAbortError(error)) return void 0;
|
|
245
271
|
errorMetaRenderer.capture(error);
|
|
246
|
-
|
|
272
|
+
const instrumentationDigest = options?.onSsrError?.(error);
|
|
273
|
+
if (typeof instrumentationDigest === "string") return instrumentationDigest;
|
|
274
|
+
const existingDigest = getNextErrorDigest(error);
|
|
275
|
+
if (existingDigest !== null) return existingDigest;
|
|
247
276
|
if (process.env.NODE_ENV === "production" && error) return ssrErrorDigest(getErrorMessage(error) + (error instanceof Error ? error.stack ?? "" : ""));
|
|
248
277
|
}
|
|
249
278
|
};
|
|
250
279
|
let htmlStream;
|
|
280
|
+
let renderComplete = Promise.resolve();
|
|
251
281
|
let shellErrorRecovered = false;
|
|
252
282
|
let shouldDelayInitialHtmlPull = false;
|
|
253
283
|
if (pprFallbackShellSignal) {
|
|
@@ -263,6 +293,7 @@ async function handleSsr(rscStream, navContext, fontData, options) {
|
|
|
263
293
|
let streamingHtmlStream;
|
|
264
294
|
try {
|
|
265
295
|
streamingHtmlStream = await renderToReadableStream(ssrRoot, { ...renderOptions });
|
|
296
|
+
renderComplete = streamingHtmlStream.allReady;
|
|
266
297
|
if (options?.waitForAllReady === true) await streamingHtmlStream.allReady;
|
|
267
298
|
else shouldDelayInitialHtmlPull = true;
|
|
268
299
|
htmlStream = streamingHtmlStream;
|
|
@@ -281,23 +312,38 @@ async function handleSsr(rscStream, navContext, fontData, options) {
|
|
|
281
312
|
const fontHTML = renderFontHtml(fontData, options?.scriptNonce, { includeStyles: !mergeFontStylesIntoInlineCss });
|
|
282
313
|
let traceMetaHTML = null;
|
|
283
314
|
const getTraceMetaHTML = () => {
|
|
284
|
-
if (traceMetaHTML === null) traceMetaHTML = getClientTraceMetadataHTML(options?.clientTraceMetadata);
|
|
315
|
+
if (traceMetaHTML === null) traceMetaHTML = markClientTraceMetadataBlock(getClientTraceMetadataHTML(options?.clientTraceMetadata, options?.isStaticGeneration), options?.clientTraceMetadataMarker);
|
|
285
316
|
return traceMetaHTML;
|
|
286
317
|
};
|
|
287
318
|
let didInjectHeadHTML = false;
|
|
319
|
+
let headHidQuery = false;
|
|
320
|
+
let didSendRenderedSearch = false;
|
|
321
|
+
const getRenderedSearchHTML = () => {
|
|
322
|
+
if (!headHidQuery || !rendersDynamic || didSendRenderedSearch) return "";
|
|
323
|
+
didSendRenderedSearch = true;
|
|
324
|
+
const search = ssrNavigationContext.searchParams.toString();
|
|
325
|
+
return createInlineScriptTag(createNavigationRuntimeRenderedSearchScript(search ? `?${search}` : ""), options?.scriptNonce);
|
|
326
|
+
};
|
|
288
327
|
const getInsertedHTML = () => {
|
|
289
328
|
const insertedHTML = renderInsertedHtml(renderServerInsertedHTML());
|
|
290
329
|
const errorMetaHTML = errorMetaRenderer.flush();
|
|
291
330
|
const initialDevServerErrorHTML = createInitialDevServerErrorScript(options?.initialDevServerError, options?.scriptNonce);
|
|
292
|
-
if (didInjectHeadHTML) return insertedHTML + errorMetaHTML;
|
|
331
|
+
if (didInjectHeadHTML) return insertedHTML + errorMetaHTML + getRenderedSearchHTML();
|
|
293
332
|
didInjectHeadHTML = true;
|
|
294
|
-
|
|
333
|
+
const hidesQuery = searchParamsGate !== null && searchParamsGate.gate.decision !== "real";
|
|
334
|
+
headHidQuery = hidesQuery;
|
|
335
|
+
const isSearchParamsFromBrowser = hidesQuery || (options?.isStaticGeneration === true ? options.isForceStatic !== true : void 0);
|
|
336
|
+
return buildHeadInjectionHtml(hidesQuery ? {
|
|
337
|
+
...ssrNavigationContext,
|
|
338
|
+
searchParams: new URLSearchParams()
|
|
339
|
+
} : ssrNavigationContext, bootstrapModuleUrl, options?.formState ?? null, insertedHTML + errorMetaHTML + getTraceMetaHTML() + initialDevServerErrorHTML, fontHTML, options?.dynamicStaleTimeSeconds, isSearchParamsFromBrowser, options?.scriptNonce);
|
|
295
340
|
};
|
|
296
341
|
const getBeforeInteractiveHeadHTML = () => renderBeforeInteractiveInlineScripts(beforeInteractiveInlineScripts);
|
|
297
342
|
if (shouldDelayInitialHtmlPull) await waitAtLeastOneReactRenderTask();
|
|
298
343
|
return {
|
|
299
344
|
htmlStream: deferUntilStreamConsumed(htmlStream.pipeThrough(createTickBufferedTransform(rscEmbed, getInsertedHTML, getBeforeInteractiveHeadHTML, inlineCssManifest, inlineCssFontStyles, inlineCssFontStyleFallbackHTML, options?.scriptNonce)), cleanup),
|
|
300
345
|
metadataReady: Promise.resolve(),
|
|
346
|
+
renderComplete,
|
|
301
347
|
capturedRscData: options?.capturedRscDataRef?.value ?? null,
|
|
302
348
|
shellErrorRecovered,
|
|
303
349
|
linkHeader: reactLinkHeader
|
|
@@ -310,7 +356,8 @@ async function handleSsr(rscStream, navContext, fontData, options) {
|
|
|
310
356
|
});
|
|
311
357
|
}
|
|
312
358
|
var app_ssr_entry_default = { async fetch(request) {
|
|
313
|
-
|
|
359
|
+
const url = new URL(request.url);
|
|
360
|
+
if (isOpenRedirectShaped(url.pathname)) return notFoundResponse();
|
|
314
361
|
const result = await (await import.meta.viteRsc.loadModule("rsc", "index")).default(request);
|
|
315
362
|
if (result instanceof Response) return result;
|
|
316
363
|
if (result == null) return notFoundResponse();
|
|
@@ -7,7 +7,6 @@ type SsrErrorMetaRenderer = {
|
|
|
7
7
|
capture: (error: unknown) => void;
|
|
8
8
|
flush: () => string;
|
|
9
9
|
};
|
|
10
|
-
declare function renderSsrErrorMetaTags(errors: readonly unknown[], options?: SsrErrorMetaRenderOptions): string;
|
|
11
|
-
declare function createSsrErrorMetaRenderer(options?: SsrErrorMetaRenderOptions): SsrErrorMetaRenderer;
|
|
12
|
-
//#endregion
|
|
13
|
-
export { createSsrErrorMetaRenderer, renderSsrErrorMetaTags };
|
|
10
|
+
export declare function renderSsrErrorMetaTags(errors: readonly unknown[], options?: SsrErrorMetaRenderOptions): string;
|
|
11
|
+
export declare function createSsrErrorMetaRenderer(options?: SsrErrorMetaRenderOptions): SsrErrorMetaRenderer;
|
|
12
|
+
//#endregion
|
|
@@ -8,7 +8,8 @@ function prefixRedirectLocation(location, basePath) {
|
|
|
8
8
|
const hashIndex = location.indexOf("#");
|
|
9
9
|
const queryIndex = location.indexOf("?");
|
|
10
10
|
const pathnameEnd = queryIndex === -1 ? hashIndex === -1 ? location.length : hashIndex : hashIndex === -1 ? queryIndex : Math.min(queryIndex, hashIndex);
|
|
11
|
-
|
|
11
|
+
const pathname = location.slice(0, pathnameEnd);
|
|
12
|
+
return addBasePathToPathname(pathname, basePath) + location.slice(pathnameEnd);
|
|
12
13
|
}
|
|
13
14
|
function renderSsrErrorMetaTag(error, options) {
|
|
14
15
|
const digest = getNextErrorDigest(error);
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { AppRouterInstance } from "../shims/internal/app-router-context.js";
|
|
2
2
|
//#region src/server/app-ssr-router-instance.d.ts
|
|
3
|
-
declare const ssrAppRouterInstance: AppRouterInstance;
|
|
4
|
-
//#endregion
|
|
5
|
-
export { ssrAppRouterInstance };
|
|
3
|
+
export declare const ssrAppRouterInstance: AppRouterInstance;
|
|
4
|
+
//#endregion
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { SearchParamsGate } from "../shims/search-params-gate.js";
|
|
2
|
+
//#region src/server/app-ssr-search-params-gate.d.ts
|
|
3
|
+
type CandidateSearchParamsGate = {
|
|
4
|
+
gate: SearchParamsGate;
|
|
5
|
+
/**
|
|
6
|
+
* Wrap the Flight stream SSR reads. The gate settles once SSR has read it to
|
|
7
|
+
* the end, and opens if it is cancelled or fails.
|
|
8
|
+
*/
|
|
9
|
+
settleWhenConsumed: (flightStream: ReadableStream<Uint8Array>) => ReadableStream<Uint8Array>;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Start the SSR `useSearchParams()` gate of a cache-candidate render.
|
|
13
|
+
*
|
|
14
|
+
* The gate opens with real values as soon as the render uses a dynamic API,
|
|
15
|
+
* including before this call. Otherwise it bails out when the render settles:
|
|
16
|
+
* the RSC stream has ended and SSR has read the whole Flight response, so no
|
|
17
|
+
* server component can mark the render dynamic any more.
|
|
18
|
+
*/
|
|
19
|
+
export declare function startCandidateSearchParamsGate(): CandidateSearchParamsGate;
|
|
20
|
+
//#endregion
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { isRenderDynamicLatched, markDynamicUsage, onRenderDynamicLatched } from "../shims/headers.js";
|
|
2
|
+
import { createSearchParamsGate } from "../shims/search-params-gate.js";
|
|
3
|
+
//#region src/server/app-ssr-search-params-gate.ts
|
|
4
|
+
/**
|
|
5
|
+
* Start the SSR `useSearchParams()` gate of a cache-candidate render.
|
|
6
|
+
*
|
|
7
|
+
* The gate opens with real values as soon as the render uses a dynamic API,
|
|
8
|
+
* including before this call. Otherwise it bails out when the render settles:
|
|
9
|
+
* the RSC stream has ended and SSR has read the whole Flight response, so no
|
|
10
|
+
* server component can mark the render dynamic any more.
|
|
11
|
+
*/
|
|
12
|
+
function startCandidateSearchParamsGate() {
|
|
13
|
+
const controller = createSearchParamsGate({ onOpen: markDynamicUsage });
|
|
14
|
+
const unsubscribe = onRenderDynamicLatched(() => controller.open());
|
|
15
|
+
if (isRenderDynamicLatched()) controller.open();
|
|
16
|
+
let finished = false;
|
|
17
|
+
const finish = (endedNormally) => {
|
|
18
|
+
if (finished) return;
|
|
19
|
+
finished = true;
|
|
20
|
+
unsubscribe();
|
|
21
|
+
if (endedNormally) controller.settle();
|
|
22
|
+
else controller.open();
|
|
23
|
+
};
|
|
24
|
+
return {
|
|
25
|
+
gate: controller.gate,
|
|
26
|
+
settleWhenConsumed: (flightStream) => {
|
|
27
|
+
const reader = flightStream.getReader();
|
|
28
|
+
return new ReadableStream({
|
|
29
|
+
async pull(streamController) {
|
|
30
|
+
let result;
|
|
31
|
+
try {
|
|
32
|
+
result = await reader.read();
|
|
33
|
+
} catch (error) {
|
|
34
|
+
finish(false);
|
|
35
|
+
streamController.error(error);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
if (result.done) {
|
|
39
|
+
streamController.close();
|
|
40
|
+
finish(true);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
streamController.enqueue(result.value);
|
|
44
|
+
},
|
|
45
|
+
cancel(reason) {
|
|
46
|
+
finish(false);
|
|
47
|
+
return reader.cancel(reason);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
54
|
+
export { startCandidateSearchParamsGate };
|