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,16 +1,18 @@
|
|
|
1
1
|
import { closeAfterResponse, createRequestContext, runWithRequestContext } from "../shims/unified-request-context.js";
|
|
2
2
|
import { createValidFileMatcher, findFileWithExts } from "../routing/file-matcher.js";
|
|
3
|
+
import { isBotUserAgent } from "../utils/html-limited-bots.js";
|
|
4
|
+
import { PRERENDER_REVALIDATE_HEADER } from "../utils/protocol-headers.js";
|
|
5
|
+
import { sanitizeDestination } from "../config/config-matchers.js";
|
|
3
6
|
import { patternToNextFormat } from "../routing/route-validation.js";
|
|
4
7
|
import { matchRoute } from "../routing/pages-router.js";
|
|
5
|
-
import { PRERENDER_REVALIDATE_HEADER } from "../utils/protocol-headers.js";
|
|
6
8
|
import { NEXTJS_CACHE_HEADER, NEXTJS_DEPLOYMENT_ID_HEADER } from "./headers.js";
|
|
7
9
|
import { isDangerousScheme } from "../shims/url-safety.js";
|
|
8
|
-
import { sanitizeDestination } from "../config/config-matchers.js";
|
|
9
10
|
import { extractLocaleFromUrl as extractLocaleFromUrl$1, resolvePagesI18nRequest } from "./pages-i18n.js";
|
|
10
11
|
import { importModule, reportRequestError } from "./instrumentation.js";
|
|
11
12
|
import { NEVER_CACHE_CONTROL } from "./cache-control.js";
|
|
12
13
|
import { buildMissIsrCacheControl } from "./isr-decision.js";
|
|
13
|
-
import { isOnDemandRevalidateRequest } from "./
|
|
14
|
+
import { isOnDemandRevalidateRequest } from "./revalidation-request.js";
|
|
15
|
+
import "./isr-cache.js";
|
|
14
16
|
import { ensureFetchPatch } from "../shims/fetch-cache.js";
|
|
15
17
|
import { mergeRouteParamsIntoQuery, parseQueryString } from "../utils/query.js";
|
|
16
18
|
import "../shims/router-state.js";
|
|
@@ -25,9 +27,9 @@ import { buildPagesReadinessNextData } from "./pages-readiness.js";
|
|
|
25
27
|
import { resolvePagesPageMethodResponse } from "./pages-page-method.js";
|
|
26
28
|
import { loadUserDocumentInitialProps, runDocumentRenderPage } from "./pages-document-initial-props.js";
|
|
27
29
|
import { callDocumentGetInitialProps } from "./document-initial-head.js";
|
|
28
|
-
import { isBotUserAgent } from "../utils/html-limited-bots.js";
|
|
29
30
|
import { hasPagesGetInitialProps, loadDevAppInitialProps, loadPagesGetInitialProps } from "./pages-get-initial-props.js";
|
|
30
31
|
import { isSerializableProps } from "./pages-serializable-props.js";
|
|
32
|
+
import { traceFindPageComponents, tracePagesData, tracePagesDocument, tracePagesDocumentStream } from "./pages-execution-tracing.js";
|
|
31
33
|
import { assertPages404DoesNotReturnNotFound, buildPagesRedirectProps, getPagesRouteParams, matchesPagesStaticPath, mergePagesDataProps, resolvePagesRedirect, resolvePagesRedirectLocation, resolvePagesRevalidateSeconds } from "./pages-page-data.js";
|
|
32
34
|
import { createPagesDevModuleUrl } from "./pages-dev-module-url.js";
|
|
33
35
|
import { collectPagesDevInitialStylesheetHeadHTML } from "./pages-dev-stylesheets.js";
|
|
@@ -158,27 +160,43 @@ function stripDevPagesNotFoundFramingHeaders(res) {
|
|
|
158
160
|
* deferring them reduces TTFB and lets the browser start parsing the
|
|
159
161
|
* shell sooner).
|
|
160
162
|
*/
|
|
161
|
-
async function
|
|
162
|
-
const { url, server, fontHeadHTML, assetHeadHTML = "", scripts, DocumentComponent, statusCode, extraHeaders, getHeadHTML, getTailHeadHTML, enhancePageElement, scriptNonce, documentContext, setDocumentInitialHead, crossOrigin, bufferBodyBeforeHeaders = false, preserveExistingContentType = false } = options;
|
|
163
|
-
const
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
163
|
+
async function streamPageToResponseImpl(routePattern, res, element, options) {
|
|
164
|
+
const { url, server, fontHeadHTML, assetHeadHTML = "", scripts, DocumentComponent, statusCode, extraHeaders, getHeadHTML, getTailHeadHTML, enhancePageElement, scriptNonce, documentContext, setDocumentInitialHead, crossOrigin, bufferBodyBeforeHeaders = false, preserveExistingContentType = false, onDocumentBody } = options;
|
|
165
|
+
const renderDocument = async () => {
|
|
166
|
+
const documentRenderPage = await runDocumentRenderPage({
|
|
167
|
+
DocumentComponent,
|
|
168
|
+
enhancePageElement,
|
|
169
|
+
renderToReadableStream,
|
|
170
|
+
renderStylesToString: renderToStringAsync,
|
|
171
|
+
scriptNonce,
|
|
172
|
+
context: documentContext
|
|
173
|
+
});
|
|
174
|
+
if (res.headersSent || res.writableEnded) return {
|
|
175
|
+
documentRenderPage,
|
|
176
|
+
responseSent: true
|
|
177
|
+
};
|
|
178
|
+
let bodyStream;
|
|
179
|
+
if (documentRenderPage.status === "rendered") {
|
|
180
|
+
const synthesised = documentRenderPage.bodyHtml;
|
|
181
|
+
bodyStream = new ReadableStream({ start(controller) {
|
|
182
|
+
controller.enqueue(new TextEncoder().encode(synthesised));
|
|
183
|
+
controller.close();
|
|
184
|
+
} });
|
|
185
|
+
} else bodyStream = await renderToReadableStream(element);
|
|
186
|
+
if (documentRenderPage.status === "skipped") await callDocumentGetInitialProps(DocumentComponent, setDocumentInitialHead);
|
|
187
|
+
else setDocumentInitialHead?.(documentRenderPage.head);
|
|
188
|
+
return {
|
|
189
|
+
bodyStream,
|
|
190
|
+
documentRenderPage,
|
|
191
|
+
responseSent: false,
|
|
192
|
+
waitForBody: documentRenderPage.status === "skipped"
|
|
193
|
+
};
|
|
194
|
+
};
|
|
195
|
+
const documentResult = await tracePagesDocumentStream(routePattern, renderDocument);
|
|
196
|
+
if (documentResult.responseSent) return;
|
|
197
|
+
const { bodyStream, documentRenderPage } = documentResult;
|
|
198
|
+
if (!bodyStream) throw new Error("Pages document render did not produce a body stream");
|
|
199
|
+
onDocumentBody?.(bodyStream);
|
|
182
200
|
const headHTML = getHeadHTML();
|
|
183
201
|
const ssrHeadMarkerId = randomUUID();
|
|
184
202
|
const ssrHeadStartMarker = `<!--VINEXT_SSR_HEAD_START:${ssrHeadMarkerId}-->`;
|
|
@@ -198,7 +216,8 @@ async function streamPageToResponse(res, element, options) {
|
|
|
198
216
|
}));
|
|
199
217
|
if (DocumentComponent) {
|
|
200
218
|
const docProps = documentRenderPage.status === "skipped" ? await loadUserDocumentInitialProps(DocumentComponent) : documentRenderPage.docProps;
|
|
201
|
-
const
|
|
219
|
+
const docElement = docProps ? React.createElement(DocumentComponent, docProps) : React.createElement(DocumentComponent);
|
|
220
|
+
const renderedDocument = extractDocumentAssetProps(await renderToStringAsync(docElement));
|
|
202
221
|
documentAssetProps = renderedDocument.props;
|
|
203
222
|
let docHtml = protectAssetTags(renderedDocument.html);
|
|
204
223
|
const generatedScripts = applyGeneratedAssetProps(scripts, renderedDocument.props, "next-script");
|
|
@@ -264,6 +283,20 @@ async function streamPageToResponse(res, element, options) {
|
|
|
264
283
|
}
|
|
265
284
|
res.end(suffix);
|
|
266
285
|
}
|
|
286
|
+
async function streamPageToResponse(...args) {
|
|
287
|
+
let bodyStream;
|
|
288
|
+
try {
|
|
289
|
+
await streamPageToResponseImpl(args[0], args[1], args[2], {
|
|
290
|
+
...args[3],
|
|
291
|
+
onDocumentBody(stream) {
|
|
292
|
+
bodyStream = stream;
|
|
293
|
+
}
|
|
294
|
+
});
|
|
295
|
+
} catch (error) {
|
|
296
|
+
if (bodyStream && !bodyStream.locked) await bodyStream.cancel(error).catch(() => {});
|
|
297
|
+
throw error;
|
|
298
|
+
}
|
|
299
|
+
}
|
|
267
300
|
/**
|
|
268
301
|
* Extract locale prefix from a URL path.
|
|
269
302
|
* e.g. /fr/about -> { locale: "fr", url: "/about", hadPrefix: true }
|
|
@@ -282,9 +315,20 @@ function extractLocaleFromUrl(url, i18nConfig) {
|
|
|
282
315
|
* 4. Render the component to HTML
|
|
283
316
|
* 5. Wrap in _document shell and send response
|
|
284
317
|
*/
|
|
285
|
-
function createSSRHandler(server, runner, routes, pagesDir, i18nConfig, fileMatcher, basePath = "", trailingSlash = false, hasMiddleware = false, hasRewrites = false, clientTraceMetadata, htmlLimitedBots, reactStrictMode = false, expireTime = PAGES_CACHE_ONE_YEAR_SECONDS, crossOrigin, buildId = process.env.__VINEXT_BUILD_ID ?? "development") {
|
|
318
|
+
function createSSRHandler(server, runner, routes, pagesDir, i18nConfig, fileMatcher, basePath = "", trailingSlash = false, hasMiddleware = false, hasRewrites = false, clientTraceMetadata, htmlLimitedBots, reactStrictMode = false, expireTime = PAGES_CACHE_ONE_YEAR_SECONDS, crossOrigin, buildId = process.env.__VINEXT_BUILD_ID ?? "development", clientMiddlewareMatcher, classifyPageRoute) {
|
|
286
319
|
const matcher = fileMatcher ?? createValidFileMatcher();
|
|
287
320
|
const pagePatterns = routes.map((r) => patternToNextFormat(r.pattern));
|
|
321
|
+
const pageLoaders = routes.map((route) => ({
|
|
322
|
+
pattern: patternToNextFormat(route.pattern),
|
|
323
|
+
moduleSource: createPagesDevModuleUrl(server.config.root, route.filePath, "/"),
|
|
324
|
+
dataKind: classifyPageRoute?.(route) ?? "none"
|
|
325
|
+
}));
|
|
326
|
+
const errorFile = findFileWithExts(pagesDir, "_error", matcher);
|
|
327
|
+
pageLoaders.push({
|
|
328
|
+
pattern: "/_error",
|
|
329
|
+
moduleSource: errorFile ? createPagesDevModuleUrl(server.config.root, errorFile, "/") : "next/error",
|
|
330
|
+
dataKind: "none"
|
|
331
|
+
});
|
|
288
332
|
const _alsRegistration = Promise.all([runner.import("vinext/head-state"), runner.import("vinext/router-state")]);
|
|
289
333
|
_alsRegistration.catch(() => {});
|
|
290
334
|
return async (req, res, url, statusCode, isDataReq = false, originalUrl = url) => {
|
|
@@ -324,6 +368,9 @@ function createSSRHandler(server, runner, routes, pagesDir, i18nConfig, fileMatc
|
|
|
324
368
|
basePath,
|
|
325
369
|
buildId,
|
|
326
370
|
clientTraceMetadata,
|
|
371
|
+
pageLoaders,
|
|
372
|
+
hasMiddleware,
|
|
373
|
+
clientMiddlewareMatcher,
|
|
327
374
|
locale: locale ?? currentDefaultLocale,
|
|
328
375
|
locales: i18nConfig?.locales,
|
|
329
376
|
defaultLocale: currentDefaultLocale,
|
|
@@ -359,6 +406,7 @@ function createSSRHandler(server, runner, routes, pagesDir, i18nConfig, fileMatc
|
|
|
359
406
|
const userFacingParams = route.isDynamic ? params : null;
|
|
360
407
|
let query = mergeRouteParamsIntoQuery(parseQueryString(url), params);
|
|
361
408
|
const requestContext = createRequestContext();
|
|
409
|
+
let isStaticPropsRender = false;
|
|
362
410
|
const closeRequest = () => void closeAfterResponse(requestContext);
|
|
363
411
|
res.on("finish", closeRequest);
|
|
364
412
|
res.on("close", closeRequest);
|
|
@@ -378,8 +426,20 @@ function createSSRHandler(server, runner, routes, pagesDir, i18nConfig, fileMatc
|
|
|
378
426
|
hostname: req.headers.host?.split(":", 1)[0]
|
|
379
427
|
});
|
|
380
428
|
}
|
|
381
|
-
const pageModule = await
|
|
382
|
-
|
|
429
|
+
const { pageModule, AppComponent, appFilePath, DocumentComponent } = await traceFindPageComponents(route.pattern, async () => {
|
|
430
|
+
const pageModule = await importModule(runner, route.filePath);
|
|
431
|
+
const appFilePath = findFileWithExts(pagesDir, "_app", matcher);
|
|
432
|
+
const appModule = appFilePath ? await importModule(runner, appFilePath) : null;
|
|
433
|
+
const docFilePath = findFileWithExts(pagesDir, "_document", matcher);
|
|
434
|
+
const docModule = docFilePath ? await runner.import(docFilePath) : null;
|
|
435
|
+
return {
|
|
436
|
+
pageModule,
|
|
437
|
+
AppComponent: appModule?.default ?? null,
|
|
438
|
+
appFilePath,
|
|
439
|
+
DocumentComponent: docModule?.default ?? null
|
|
440
|
+
};
|
|
441
|
+
});
|
|
442
|
+
isStaticPropsRender = typeof pageModule.getStaticProps === "function" && typeof pageModule.getServerSideProps !== "function";
|
|
383
443
|
if (isStaticPropsRender) {
|
|
384
444
|
query = mergeRouteParamsIntoQuery({}, params);
|
|
385
445
|
requestAsPath = localeStrippedUrl.split("?")[0];
|
|
@@ -389,9 +449,6 @@ function createSSRHandler(server, runner, routes, pagesDir, i18nConfig, fileMatc
|
|
|
389
449
|
shouldClear: false
|
|
390
450
|
};
|
|
391
451
|
const requestPreviewData = requestPreview.data;
|
|
392
|
-
let AppComponent = null;
|
|
393
|
-
const appFilePath = findFileWithExts(pagesDir, "_app", matcher);
|
|
394
|
-
if (appFilePath) AppComponent = (await importModule(runner, appFilePath)).default ?? null;
|
|
395
452
|
const pagesNextData = {
|
|
396
453
|
...buildPagesReadinessNextData({
|
|
397
454
|
pageModule,
|
|
@@ -451,7 +508,8 @@ function createSSRHandler(server, runner, routes, pagesDir, i18nConfig, fileMatc
|
|
|
451
508
|
});
|
|
452
509
|
const fallback = pathsResult?.fallback ?? false;
|
|
453
510
|
const paths = pathsResult?.paths ?? [];
|
|
454
|
-
const
|
|
511
|
+
const routePattern = patternToNextFormat(route.pattern);
|
|
512
|
+
const routeParams = getPagesRouteParams(routePattern);
|
|
455
513
|
const isValidPath = paths.some((pathEntry) => matchesPagesStaticPath(pathEntry, params, routeParams, url));
|
|
456
514
|
if (fallback === false && !isValidPath && requestPreviewData === false) {
|
|
457
515
|
if (isDataReq) {
|
|
@@ -540,7 +598,7 @@ function createSSRHandler(server, runner, routes, pagesDir, i18nConfig, fileMatc
|
|
|
540
598
|
defaultLocale: currentDefaultLocale,
|
|
541
599
|
...previewContext
|
|
542
600
|
};
|
|
543
|
-
const result = await pageModule.getServerSideProps(context);
|
|
601
|
+
const result = await tracePagesData("getServerSideProps", route.pattern, () => pageModule.getServerSideProps(context));
|
|
544
602
|
if (res.writableEnded) return;
|
|
545
603
|
if (result && "props" in result) {
|
|
546
604
|
pageProps = mergePagesDataProps(renderProps.pageProps, await Promise.resolve(result.props));
|
|
@@ -609,7 +667,7 @@ function createSSRHandler(server, runner, routes, pagesDir, i18nConfig, fileMatc
|
|
|
609
667
|
...previewContext
|
|
610
668
|
};
|
|
611
669
|
if (await loadAppInitialProps()) return;
|
|
612
|
-
const result = await pageModule.getStaticProps(context);
|
|
670
|
+
const result = await tracePagesData("getStaticProps", route.pattern, () => pageModule.getStaticProps(context));
|
|
613
671
|
const routePattern = patternToNextFormat(route.pattern);
|
|
614
672
|
assertPages404DoesNotReturnNotFound(routePattern, result);
|
|
615
673
|
if (result) staticPropsRevalidateSeconds = resolvePagesRevalidateSeconds(result, routePattern);
|
|
@@ -754,17 +812,19 @@ function createSSRHandler(server, runner, routes, pagesDir, i18nConfig, fileMatc
|
|
|
754
812
|
pageModuleUrl,
|
|
755
813
|
appModuleUrl,
|
|
756
814
|
hasMiddleware,
|
|
757
|
-
routeUrl: requestAsPath
|
|
815
|
+
routeUrl: requestAsPath,
|
|
816
|
+
clientMiddlewareMatcher
|
|
758
817
|
}
|
|
759
818
|
};
|
|
760
819
|
const hydrationScript = createPagesDevHydrationScript({
|
|
761
820
|
appModuleSource,
|
|
762
821
|
pageModuleSource,
|
|
822
|
+
pageLoaders,
|
|
763
823
|
reactStrictMode: reactStrictMode === true,
|
|
764
824
|
replaceFallbackRoute: true,
|
|
765
825
|
scriptNonce
|
|
766
826
|
});
|
|
767
|
-
const
|
|
827
|
+
const allScripts = `${`<script id="__NEXT_DATA__" type="application/json"${nonceAttr}>${safeJsonStringify({
|
|
768
828
|
props: renderProps,
|
|
769
829
|
page: patternToNextFormat(route.pattern),
|
|
770
830
|
query: isFallbackRender ? {} : params,
|
|
@@ -775,11 +835,7 @@ function createSSRHandler(server, runner, routes, pagesDir, i18nConfig, fileMatc
|
|
|
775
835
|
defaultLocale: currentDefaultLocale,
|
|
776
836
|
domainLocales,
|
|
777
837
|
...serializedPagesNextData
|
|
778
|
-
})}<\/script
|
|
779
|
-
const docFilePath = findFileWithExts(pagesDir, "_document", matcher);
|
|
780
|
-
let DocumentComponent = null;
|
|
781
|
-
if (docFilePath) DocumentComponent = (await runner.import(docFilePath)).default ?? null;
|
|
782
|
-
const allScripts = `${nextDataScript}\n ${createInlineScriptTag(`window.__VINEXT_PAGE_PATTERNS__=${safeJsonStringify(pagePatterns)}`, scriptNonce)}\n ${hydrationScript}`;
|
|
838
|
+
})}<\/script>`}\n ${createInlineScriptTag(`window.__VINEXT_PAGE_PATTERNS__=${safeJsonStringify(pagePatterns)}`, scriptNonce)}\n ${hydrationScript}`;
|
|
783
839
|
const extraHeaders = { ...gsspExtraHeaders };
|
|
784
840
|
if (typeof pageModule.getStaticProps === "function") {
|
|
785
841
|
extraHeaders["Cache-Control"] = DEV_PAGES_CACHE_CONTROL;
|
|
@@ -787,7 +843,7 @@ function createSSRHandler(server, runner, routes, pagesDir, i18nConfig, fileMatc
|
|
|
787
843
|
}
|
|
788
844
|
applyDevPagesPreviewHeaders(extraHeaders, requestPreview);
|
|
789
845
|
if (allFontPreloads.length > 0) extraHeaders["Link"] = allFontPreloads.map((p) => `<${p.href}>; rel=preload; as=font; type=${p.type}; crossorigin`).join(", ");
|
|
790
|
-
await streamPageToResponse(res, withScriptNonce(element, scriptNonce), {
|
|
846
|
+
await streamPageToResponse(route.pattern, res, withScriptNonce(element, scriptNonce), {
|
|
791
847
|
url,
|
|
792
848
|
server,
|
|
793
849
|
fontHeadHTML,
|
|
@@ -831,15 +887,16 @@ function createSSRHandler(server, runner, routes, pagesDir, i18nConfig, fileMatc
|
|
|
831
887
|
if (typeof routerShim.setSSRContext === "function") routerShim.setSSRContext(null);
|
|
832
888
|
} catch (e) {
|
|
833
889
|
console.error(e);
|
|
834
|
-
reportRequestError(e
|
|
890
|
+
await reportRequestError(e, {
|
|
835
891
|
path: url,
|
|
836
892
|
method: req.method ?? "GET",
|
|
837
|
-
headers: Object.fromEntries(Object.entries(req.headers).filter(([k]) => !k.startsWith(":"))
|
|
893
|
+
headers: Object.fromEntries(Object.entries(req.headers).filter(([k]) => !k.startsWith(":")))
|
|
838
894
|
}, {
|
|
839
895
|
routerKind: "Pages Router",
|
|
840
896
|
routePath: route.pattern,
|
|
841
|
-
routeType: "render"
|
|
842
|
-
|
|
897
|
+
routeType: "render",
|
|
898
|
+
revalidateReason: isOnDemandRevalidateRequest(Array.isArray(req.headers["x-prerender-revalidate"]) ? req.headers["x-prerender-revalidate"]?.[0] : req.headers["x-prerender-revalidate"]) ? "on-demand" : isStaticPropsRender ? "stale" : void 0
|
|
899
|
+
});
|
|
843
900
|
try {
|
|
844
901
|
await renderErrorPage(server, runner, req, res, url, pagesDir, 500, void 0, matcher, e instanceof Error ? e : new Error(String(e)), reactStrictMode, errorPageContext);
|
|
845
902
|
} catch (fallbackErr) {
|
|
@@ -861,7 +918,7 @@ function createSSRHandler(server, runner, routes, pagesDir, i18nConfig, fileMatc
|
|
|
861
918
|
async function renderErrorPage(server, runner, req, res, url, pagesDir, statusCode, wrapWithRouterContext, fileMatcher, err, reactStrictMode = false, context = { basePath: "" }) {
|
|
862
919
|
attachPagesRequestCookies(req);
|
|
863
920
|
const matcher = fileMatcher ?? createValidFileMatcher();
|
|
864
|
-
const candidates = statusCode === 404 ? ["404", "_error"] :
|
|
921
|
+
const candidates = statusCode === 404 ? ["404", "_error"] : ["_error"];
|
|
865
922
|
for (const candidate of candidates) {
|
|
866
923
|
let errorRouterShim = null;
|
|
867
924
|
let candidateLoaded = false;
|
|
@@ -869,16 +926,25 @@ async function renderErrorPage(server, runner, req, res, url, pagesDir, statusCo
|
|
|
869
926
|
try {
|
|
870
927
|
errorAssetPath = findFileWithExts(pagesDir, candidate, matcher);
|
|
871
928
|
if (!errorAssetPath && candidate !== "_error") continue;
|
|
872
|
-
const
|
|
929
|
+
const errorPage = candidate === "_error" ? "/_error" : `/${candidate}`;
|
|
930
|
+
const { errorModule, AppComponent, appAssetPath, DocumentComponent } = await traceFindPageComponents(errorPage, async () => {
|
|
931
|
+
const errorModule = await importModule(runner, errorAssetPath ?? "next/error");
|
|
932
|
+
const appAssetPath = findFileWithExts(pagesDir, "_app", matcher);
|
|
933
|
+
const appModule = appAssetPath ? await importModule(runner, appAssetPath) : null;
|
|
934
|
+
const docFilePath = findFileWithExts(pagesDir, "_document", matcher);
|
|
935
|
+
const docModule = docFilePath ? await importModule(runner, docFilePath) : null;
|
|
936
|
+
return {
|
|
937
|
+
errorModule,
|
|
938
|
+
AppComponent: appModule?.default ?? null,
|
|
939
|
+
appAssetPath,
|
|
940
|
+
DocumentComponent: docModule?.default ?? null
|
|
941
|
+
};
|
|
942
|
+
});
|
|
873
943
|
candidateLoaded = true;
|
|
874
944
|
const ErrorComponent = errorModule.default;
|
|
875
945
|
if (!ErrorComponent) continue;
|
|
876
|
-
let AppComponent = null;
|
|
877
|
-
const appAssetPath = findFileWithExts(pagesDir, "_app", matcher);
|
|
878
|
-
if (appAssetPath) AppComponent = (await importModule(runner, appAssetPath)).default ?? null;
|
|
879
946
|
const createElement = React.createElement;
|
|
880
947
|
res.statusCode = statusCode;
|
|
881
|
-
const errorPage = candidate === "_error" ? "/_error" : `/${candidate}`;
|
|
882
948
|
const errorRouter = {
|
|
883
949
|
pathname: errorPage,
|
|
884
950
|
query: parseQueryString(url),
|
|
@@ -908,12 +974,12 @@ async function renderErrorPage(server, runner, req, res, url, pagesDir, statusCo
|
|
|
908
974
|
};
|
|
909
975
|
if (typeof errorModule.getStaticProps === "function") {
|
|
910
976
|
const isOnDemandRevalidate = isOnDemandRevalidateRequest(req.headers[PRERENDER_REVALIDATE_HEADER]);
|
|
911
|
-
const staticResult = await errorModule.getStaticProps({
|
|
977
|
+
const staticResult = await tracePagesData("getStaticProps", errorPage, () => errorModule.getStaticProps({
|
|
912
978
|
locale: context.locale,
|
|
913
979
|
locales: context.locales,
|
|
914
980
|
defaultLocale: context.defaultLocale,
|
|
915
981
|
revalidateReason: isOnDemandRevalidate ? "on-demand" : "stale"
|
|
916
|
-
});
|
|
982
|
+
}));
|
|
917
983
|
assertPages404DoesNotReturnNotFound(errorPage, staticResult);
|
|
918
984
|
if (staticResult?.redirect) {
|
|
919
985
|
applyDevPagesCacheHeaders(res, isOnDemandRevalidate ? "REVALIDATED" : "HIT", NEVER_CACHE_CONTROL);
|
|
@@ -961,9 +1027,6 @@ async function renderErrorPage(server, runner, req, res, url, pagesDir, statusCo
|
|
|
961
1027
|
pageProps: mergePagesDataProps(appRenderProps.pageProps, errorProps)
|
|
962
1028
|
} : appRenderProps;
|
|
963
1029
|
} else renderProps = { pageProps: errorProps };
|
|
964
|
-
let DocumentComponent = null;
|
|
965
|
-
const docFilePathErr = findFileWithExts(pagesDir, "_document", matcher);
|
|
966
|
-
if (docFilePathErr) DocumentComponent = (await importModule(runner, docFilePathErr)).default ?? null;
|
|
967
1030
|
const createErrorElement = (FinalApp, FinalComponent) => {
|
|
968
1031
|
let errorElement = FinalApp ? createElement(FinalApp, {
|
|
969
1032
|
...renderProps,
|
|
@@ -990,22 +1053,28 @@ async function renderErrorPage(server, runner, req, res, url, pagesDir, statusCo
|
|
|
990
1053
|
query: parseQueryString(url),
|
|
991
1054
|
buildId: context.buildId ?? process.env.__VINEXT_BUILD_ID ?? "development",
|
|
992
1055
|
isFallback: false,
|
|
1056
|
+
locale: context.locale,
|
|
1057
|
+
locales: context.locales,
|
|
1058
|
+
defaultLocale: context.defaultLocale,
|
|
993
1059
|
notFoundSrcPage: context.notFoundSrcPage,
|
|
994
1060
|
__vinext: {
|
|
995
1061
|
pageModuleUrl: errorModuleUrl ?? void 0,
|
|
996
|
-
appModuleUrl: appModuleUrl ?? void 0
|
|
1062
|
+
appModuleUrl: appModuleUrl ?? void 0,
|
|
1063
|
+
hasMiddleware: context.hasMiddleware,
|
|
1064
|
+
clientMiddlewareMatcher: context.clientMiddlewareMatcher
|
|
997
1065
|
}
|
|
998
1066
|
})}<\/script>`}\n${createPagesDevHydrationScript({
|
|
999
1067
|
appModuleSource,
|
|
1000
1068
|
forceRouterReady: true,
|
|
1001
1069
|
normalizePageProps: false,
|
|
1002
1070
|
pageModuleSource: errorModuleSource,
|
|
1071
|
+
pageLoaders: context.pageLoaders,
|
|
1003
1072
|
reactStrictMode: reactStrictMode === true,
|
|
1004
1073
|
scriptNonce,
|
|
1005
1074
|
setPagePatternsFromNextData: true
|
|
1006
1075
|
})}`;
|
|
1007
1076
|
if (statusCode === 404) stripDevPagesNotFoundFramingHeaders(res);
|
|
1008
|
-
if (DocumentComponent) await streamPageToResponse(res, element, {
|
|
1077
|
+
if (DocumentComponent) await streamPageToResponse(errorPage, res, element, {
|
|
1009
1078
|
url,
|
|
1010
1079
|
server,
|
|
1011
1080
|
fontHeadHTML: "",
|
|
@@ -1035,7 +1104,7 @@ async function renderErrorPage(server, runner, req, res, url, pagesDir, statusCo
|
|
|
1035
1104
|
preserveExistingContentType: statusCode === 404
|
|
1036
1105
|
});
|
|
1037
1106
|
else {
|
|
1038
|
-
const bodyHtml = await renderToStringAsync(element);
|
|
1107
|
+
const bodyHtml = await tracePagesDocument(errorPage, () => renderToStringAsync(element));
|
|
1039
1108
|
const traceMetaHTML = getClientTraceMetadataHTML(context.clientTraceMetadata);
|
|
1040
1109
|
const protectedAssetMarker = `data-vinext-document-asset-props-protected-${randomUUID()}`;
|
|
1041
1110
|
const protectAssetTags = (assetHtml) => markDocumentAssetPropsProtectedTags(assetHtml, protectedAssetMarker);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VINEXT_ORIGINAL_STACK_TRACE_ENDPOINT } from "../utils/dev-stack-sourcemap-endpoint.js";
|
|
2
2
|
import { ViteDevServer } from "vite";
|
|
3
3
|
//#region src/server/dev-stack-sourcemap.d.ts
|
|
4
|
-
type SourceMapPayload = {
|
|
4
|
+
export type SourceMapPayload = {
|
|
5
5
|
version?: number;
|
|
6
6
|
sources: string[];
|
|
7
7
|
sourcesContent?: (string | null)[];
|
|
@@ -32,10 +32,10 @@ type MappedStackLine = {
|
|
|
32
32
|
ignored: boolean;
|
|
33
33
|
codeFrame?: StackCodeFramePayload;
|
|
34
34
|
};
|
|
35
|
-
declare function installDevStackSourcemapMiddleware(server: ViteDevServer): void;
|
|
36
|
-
declare function mapStackLineWithMetadata(server: ViteDevServer, line: string, requestHost: string | undefined, sourceMapCache: Map<string, Promise<SourceMapPayload | null>>): Promise<MappedStackLine>;
|
|
37
|
-
declare function originalPositionFor(sourceMap: SourceMapPayload, generatedLine: number, generatedColumn: number): SourceMapPosition | null;
|
|
38
|
-
declare function decodeVlqSegment(segment: string): number[];
|
|
39
|
-
declare function resolveSourceFile(source: string, sourceMap: SourceMapPayload, generatedUrl: URL): string;
|
|
35
|
+
export declare function installDevStackSourcemapMiddleware(server: ViteDevServer): void;
|
|
36
|
+
export declare function mapStackLineWithMetadata(server: ViteDevServer, line: string, requestHost: string | undefined, sourceMapCache: Map<string, Promise<SourceMapPayload | null>>): Promise<MappedStackLine>;
|
|
37
|
+
export declare function originalPositionFor(sourceMap: SourceMapPayload, generatedLine: number, generatedColumn: number): SourceMapPosition | null;
|
|
38
|
+
export declare function decodeVlqSegment(segment: string): number[];
|
|
39
|
+
export declare function resolveSourceFile(source: string, sourceMap: SourceMapPayload, generatedUrl: URL): string;
|
|
40
40
|
//#endregion
|
|
41
|
-
export {
|
|
41
|
+
export { VINEXT_ORIGINAL_STACK_TRACE_ENDPOINT };
|
|
@@ -3,7 +3,7 @@ import { VINEXT_ORIGINAL_STACK_TRACE_ENDPOINT } from "../utils/dev-stack-sourcem
|
|
|
3
3
|
import { readFile } from "node:fs/promises";
|
|
4
4
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
5
5
|
//#region src/server/dev-stack-sourcemap.ts
|
|
6
|
-
const MAX_ORIGINAL_STACK_TRACE_BODY_BYTES =
|
|
6
|
+
const MAX_ORIGINAL_STACK_TRACE_BODY_BYTES = 1048576;
|
|
7
7
|
const V8_PAREN_STACK_LINE = /^(\s*at\s+.*?\()(.+):(\d+):(\d+)(\)\s*)$/;
|
|
8
8
|
const V8_BARE_STACK_LINE = /^(\s*at\s+)(.+):(\d+):(\d+)(\s*)$/;
|
|
9
9
|
const MOZ_STACK_LINE = /^([^@\n]*@)(.+):(\d+):(\d+)(\s*)$/;
|
|
@@ -10,7 +10,6 @@ import React from "react";
|
|
|
10
10
|
* Callers use this to decide whether the render pipeline owes `_document` the
|
|
11
11
|
* full `getInitialProps` contract, since only an override can observe it.
|
|
12
12
|
*/
|
|
13
|
-
declare function hasUserDocumentGetInitialProps(DocumentComponent: React.ComponentType | null | undefined): boolean;
|
|
14
|
-
declare function callDocumentGetInitialProps(DocumentComponent: React.ComponentType | null | undefined, setDocumentInitialHead: ((head: React.ReactNode[]) => void) | undefined): Promise<void>;
|
|
15
|
-
//#endregion
|
|
16
|
-
export { callDocumentGetInitialProps, hasUserDocumentGetInitialProps };
|
|
13
|
+
export declare function hasUserDocumentGetInitialProps(DocumentComponent: React.ComponentType | null | undefined): boolean;
|
|
14
|
+
export declare function callDocumentGetInitialProps(DocumentComponent: React.ComponentType | null | undefined, setDocumentInitialHead: ((head: React.ReactNode[]) => void) | undefined): Promise<void>;
|
|
15
|
+
//#endregion
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/server/edge-api-runtime.d.ts
|
|
2
|
-
declare function isEdgeApiRuntime(runtime: string | undefined): boolean;
|
|
3
|
-
type EdgeApiExecutionRuntime = "node" | "worker";
|
|
2
|
+
export declare function isEdgeApiRuntime(runtime: string | undefined): boolean;
|
|
3
|
+
export type EdgeApiExecutionRuntime = "node" | "worker";
|
|
4
4
|
/**
|
|
5
5
|
* Remove wire-level body headers after Node's fetch implementation has decoded
|
|
6
6
|
* an Edge API response. Next.js applies the same boundary in its edge sandbox.
|
|
@@ -8,6 +8,5 @@ type EdgeApiExecutionRuntime = "node" | "worker";
|
|
|
8
8
|
* Workers keep the original response untouched: workerd preserves the encoded
|
|
9
9
|
* body/header pair and can stream it directly to the client.
|
|
10
10
|
*/
|
|
11
|
-
declare function finalizeEdgeApiResponse(response: Response, runtime: EdgeApiExecutionRuntime): Response;
|
|
12
|
-
//#endregion
|
|
13
|
-
export { EdgeApiExecutionRuntime, finalizeEdgeApiResponse, isEdgeApiRuntime };
|
|
11
|
+
export declare function finalizeEdgeApiResponse(response: Response, runtime: EdgeApiExecutionRuntime): Response;
|
|
12
|
+
//#endregion
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import
|
|
2
|
-
export
|
|
1
|
+
import virtual_vinext_worker_entry_default from "virtual:vinext-worker-entry";
|
|
2
|
+
export * from "virtual:vinext-worker-entry";
|
|
3
|
+
export { virtual_vinext_worker_entry_default as default };
|
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* Default Cloudflare fetch handler for vinext.
|
|
5
|
-
*
|
|
6
|
-
* Use this directly in wrangler.jsonc:
|
|
7
|
-
* "main": "vinext/server/fetch-handler"
|
|
8
|
-
*
|
|
9
|
-
* Or import and delegate to it from a custom worker:
|
|
10
|
-
* import handler from "vinext/server/fetch-handler";
|
|
11
|
-
* return handler.fetch(request, env, ctx);
|
|
12
|
-
*
|
|
13
|
-
* The vinext plugin resolves this to the App Router or Pages Router handler
|
|
14
|
-
* for the current project at build time.
|
|
15
|
-
*/
|
|
16
|
-
var fetch_handler_default = handler;
|
|
17
|
-
//#endregion
|
|
18
|
-
export { fetch_handler_default as default };
|
|
1
|
+
import virtual_vinext_worker_entry_default from "virtual:vinext-worker-entry";
|
|
2
|
+
export * from "virtual:vinext-worker-entry";
|
|
3
|
+
export { virtual_vinext_worker_entry_default as default };
|
|
@@ -23,6 +23,5 @@ type FileBasedMetadataOptions = {
|
|
|
23
23
|
*/
|
|
24
24
|
basePath?: string;
|
|
25
25
|
};
|
|
26
|
-
declare function applyFileBasedMetadata(metadata: Metadata | null, routePath: string, params: AppPageParams, metadataRoutes: readonly MetadataFileRoute[] | null | undefined, options?: FileBasedMetadataOptions): Promise<Metadata | null>;
|
|
27
|
-
//#endregion
|
|
28
|
-
export { applyFileBasedMetadata };
|
|
26
|
+
export declare function applyFileBasedMetadata(metadata: Metadata | null, routePath: string, params: AppPageParams, metadataRoutes: readonly MetadataFileRoute[] | null | undefined, options?: FileBasedMetadataOptions): Promise<Metadata | null>;
|
|
27
|
+
//#endregion
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
//#region src/server/framework-tracer.d.ts
|
|
2
|
+
type FrameworkSpanAttributeValue = string | number | boolean;
|
|
3
|
+
type FrameworkSpanDescriptor = {
|
|
4
|
+
attributes?: Readonly<Record<string, FrameworkSpanAttributeValue | undefined>>;
|
|
5
|
+
kind?: "client" | "internal" | "server";
|
|
6
|
+
name?: string;
|
|
7
|
+
recordErrors?: boolean;
|
|
8
|
+
type: string;
|
|
9
|
+
};
|
|
10
|
+
export type ResolvedFrameworkSpanDescriptor = {
|
|
11
|
+
attributes: Readonly<Record<string, FrameworkSpanAttributeValue>>;
|
|
12
|
+
kind: "client" | "internal" | "server";
|
|
13
|
+
name: string;
|
|
14
|
+
type: string;
|
|
15
|
+
};
|
|
16
|
+
export type FrameworkTracingBackendSpan = {
|
|
17
|
+
recordException?(error: unknown): void;
|
|
18
|
+
setAttribute(key: string, value: FrameworkSpanAttributeValue): void;
|
|
19
|
+
setErrorStatus?(message?: string): void;
|
|
20
|
+
updateName?(name: string): void;
|
|
21
|
+
};
|
|
22
|
+
export type FrameworkTracingIntegration = {
|
|
23
|
+
captureActiveContext?(): <T>(callback: () => T) => T;
|
|
24
|
+
getActiveSpan?(): FrameworkTracingBackendSpan | undefined;
|
|
25
|
+
id: string;
|
|
26
|
+
enterSpan<T>(descriptor: ResolvedFrameworkSpanDescriptor, callback: (span: FrameworkTracingBackendSpan) => T): T;
|
|
27
|
+
runWithDetachedContext?<T>(callback: () => T): T;
|
|
28
|
+
withPropagatedContext?<T>(carrier: Headers, callback: () => T): T;
|
|
29
|
+
};
|
|
30
|
+
export type FrameworkSpan = {
|
|
31
|
+
recordException(error: unknown): void;
|
|
32
|
+
setAttribute(key: string, value: FrameworkSpanAttributeValue | undefined): void;
|
|
33
|
+
setAttributes(attributes: Readonly<Record<string, FrameworkSpanAttributeValue | undefined>>): void;
|
|
34
|
+
setErrorStatus(message?: string): void;
|
|
35
|
+
updateName(name: string): void;
|
|
36
|
+
};
|
|
37
|
+
export type FrameworkTracer = {
|
|
38
|
+
captureActiveContext(): <T>(callback: () => T) => T;
|
|
39
|
+
getActiveScopeSpan(): FrameworkSpan | undefined;
|
|
40
|
+
runWithDetachedContext<T>(callback: () => T): T;
|
|
41
|
+
trace<T>(descriptor: FrameworkSpanDescriptor, callback: (span: FrameworkSpan) => T): T;
|
|
42
|
+
withPropagatedContext<T>(carrier: Headers, callback: () => T): T;
|
|
43
|
+
};
|
|
44
|
+
export declare function recordFrameworkSpanError(span: FrameworkSpan, error: unknown): void;
|
|
45
|
+
export declare function createFrameworkTracer(integrations: readonly FrameworkTracingIntegration[]): FrameworkTracer;
|
|
46
|
+
//#endregion
|