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,30 +1,32 @@
|
|
|
1
1
|
import path from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
|
|
2
|
+
import { isUnknownRecord } from "../utils/record.js";
|
|
3
|
+
import { VINEXT_PRERENDER_ROUTE_PARAMS_HEADER, VINEXT_PRERENDER_SECRET_HEADER, VINEXT_PRERENDER_SPECULATIVE_HEADER } from "../utils/protocol-headers.js";
|
|
4
|
+
import { ASSET_PREFIX_URL_DIR, assetPrefixPathname, isAbsoluteAssetPrefix } from "../utils/asset-prefix.js";
|
|
5
|
+
import { StaticFileCache, contentTypeForPath, etagFromFilenameHash } from "./static-file-cache.js";
|
|
2
6
|
import { normalizePathnameForRouteMatchStrict } from "../routing/utils.js";
|
|
3
7
|
import { hasBasePath, stripBasePath } from "../utils/base-path.js";
|
|
4
|
-
import { VINEXT_PRERENDER_ROUTE_PARAMS_HEADER, VINEXT_PRERENDER_SECRET_HEADER, VINEXT_PRERENDER_SPECULATIVE_HEADER } from "../utils/protocol-headers.js";
|
|
5
8
|
import { VINEXT_PRERENDER_RENDER_ERROR_HEADER } from "./headers.js";
|
|
6
9
|
import { normalizePath } from "./normalize-path.js";
|
|
7
10
|
import { notFoundResponse } from "./http-error-responses.js";
|
|
8
11
|
import { isOpenRedirectShaped } from "./open-redirect.js";
|
|
9
12
|
import { readStaticFileSignal } from "./static-file-signal.js";
|
|
10
13
|
import { canonicalizeRequestPathname, filterInternalHeaders } from "./request-pipeline.js";
|
|
11
|
-
import { isUnknownRecord } from "../utils/record.js";
|
|
12
14
|
import { parseHttpDate } from "./http-date.js";
|
|
13
15
|
import { evaluateStaticPreconditions } from "./http-conditional.js";
|
|
14
16
|
import { buildNextDataNotFoundResponse, encodeUrlParserIgnoredCharacters, isNextDataPathname, normalizeNextDataPagePathname, parseNextDataPathname, shouldAddTrailingSlashToPagesDataPath, urlParserCreatesPagesDataPath } from "./pages-data-route.js";
|
|
15
|
-
import { ASSET_PREFIX_URL_DIR, assetPrefixPathname, isAbsoluteAssetPrefix } from "../utils/asset-prefix.js";
|
|
16
17
|
import { setPagesClientAssets } from "./pages-client-assets.js";
|
|
17
18
|
import { resolveRequestHost, resolveRequestProtocol, trustProxy, trustedHosts } from "./proxy-trust.js";
|
|
18
19
|
import { DEFAULT_DEVICE_SIZES, DEFAULT_IMAGE_SIZES, isImageOptimizationPath, isSafeImageContentType, parseImageParams } from "./image-optimization.js";
|
|
19
20
|
import { installSocketErrorBackstop } from "./socket-error-backstop.js";
|
|
20
|
-
import { StaticFileCache, contentTypeForPath, etagFromFilenameHash } from "./static-file-cache.js";
|
|
21
21
|
import { collectInlineCssManifest } from "../build/inline-css.js";
|
|
22
22
|
import { readTrustedRevalidationHostname } from "./revalidation-host.js";
|
|
23
|
+
import { traceFrameworkRequest } from "./request-tracing.js";
|
|
23
24
|
import { finalizeMissingStaticAssetResponse, mergeHeaders } from "./worker-utils.js";
|
|
24
25
|
import { runPagesRequest, wrapMiddlewareWithBasePath } from "./pages-request-pipeline.js";
|
|
25
26
|
import { computeClientRuntimeMetadata } from "../utils/client-runtime-metadata.js";
|
|
26
|
-
import { readTrustedPrerenderRouteParamsFromHeaders, serializePrerenderRouteParamsHeader } from "./prerender-route-params.js";
|
|
27
27
|
import { readPrerenderSecret } from "../build/server-manifest.js";
|
|
28
|
+
import { readTrustedPrerenderRouteParamsFromHeaders, serializePrerenderRouteParamsHeader } from "./prerender-route-params.js";
|
|
29
|
+
import { registerPrerenderCloudflareLoader } from "../build/prerender-cloudflare-loader.js";
|
|
28
30
|
import { seedMemoryCacheFromPrerender } from "./seed-cache.js";
|
|
29
31
|
import { negotiateEncoding, parseAcceptedEncodings, selectContentEncoding } from "./accept-encoding.js";
|
|
30
32
|
import { ifRangeAllowsRange, parseByteRange } from "./http-range.js";
|
|
@@ -40,7 +42,7 @@ import { createServer } from "node:http";
|
|
|
40
42
|
/**
|
|
41
43
|
* Production server for vinext.
|
|
42
44
|
*
|
|
43
|
-
* Serves the built output from `
|
|
45
|
+
* Serves the built output from `vite build`. Handles:
|
|
44
46
|
* - Static asset serving from client build output
|
|
45
47
|
* - Pages Router: SSR rendering + API route handling
|
|
46
48
|
* - App Router: RSC/SSR rendering, route handlers, server actions
|
|
@@ -314,7 +316,7 @@ const OMIT_METHOD_NOT_ALLOWED_HEADERS = /* @__PURE__ */ new Set([
|
|
|
314
316
|
"content-type",
|
|
315
317
|
"transfer-encoding"
|
|
316
318
|
]);
|
|
317
|
-
function installClientBuildManifestGlobals(clientDir, assetBase, assetPrefix) {
|
|
319
|
+
function installClientBuildManifestGlobals(clientDir, assetBase, assetPrefix, crossOrigin) {
|
|
318
320
|
const metadata = computeClientRuntimeMetadata({
|
|
319
321
|
clientDir,
|
|
320
322
|
assetBase,
|
|
@@ -323,7 +325,8 @@ function installClientBuildManifestGlobals(clientDir, assetBase, assetPrefix) {
|
|
|
323
325
|
setPagesClientAssets({
|
|
324
326
|
appBootstrapPreinitModules: metadata.appBootstrapPreinitModules,
|
|
325
327
|
lazyChunks: metadata.lazyChunks,
|
|
326
|
-
dynamicPreloads: metadata.dynamicPreloads
|
|
328
|
+
dynamicPreloads: metadata.dynamicPreloads,
|
|
329
|
+
crossOrigin
|
|
327
330
|
});
|
|
328
331
|
}
|
|
329
332
|
function isNoBodyResponseStatus(status) {
|
|
@@ -795,8 +798,32 @@ async function sendWebResponse(webResponse, req, res, compress) {
|
|
|
795
798
|
return;
|
|
796
799
|
}
|
|
797
800
|
const nodeStream = Readable.fromWeb(webResponse.body);
|
|
798
|
-
if (shouldCompress)
|
|
799
|
-
|
|
801
|
+
if (shouldCompress) {
|
|
802
|
+
const compressor = createCompressor(encoding, "streaming");
|
|
803
|
+
await new Promise((resolve) => {
|
|
804
|
+
pipeline(nodeStream, compressor, res, () => {
|
|
805
|
+
resolve();
|
|
806
|
+
});
|
|
807
|
+
});
|
|
808
|
+
} else await new Promise((resolve) => {
|
|
809
|
+
pipeline(nodeStream, res, () => {
|
|
810
|
+
resolve();
|
|
811
|
+
});
|
|
812
|
+
});
|
|
813
|
+
}
|
|
814
|
+
function waitForNodeResponseCompletion(res) {
|
|
815
|
+
if (res.writableFinished || res.destroyed) return Promise.resolve();
|
|
816
|
+
return new Promise((resolve) => {
|
|
817
|
+
const done = () => {
|
|
818
|
+
res.off("finish", done);
|
|
819
|
+
res.off("close", done);
|
|
820
|
+
res.off("error", done);
|
|
821
|
+
resolve();
|
|
822
|
+
};
|
|
823
|
+
res.once("finish", done);
|
|
824
|
+
res.once("close", done);
|
|
825
|
+
res.once("error", done);
|
|
826
|
+
});
|
|
800
827
|
}
|
|
801
828
|
/**
|
|
802
829
|
* Start the production server.
|
|
@@ -806,22 +833,25 @@ async function sendWebResponse(webResponse, req, res, compress) {
|
|
|
806
833
|
*/
|
|
807
834
|
async function startProdServer(options = {}) {
|
|
808
835
|
installSocketErrorBackstop();
|
|
809
|
-
const { port = process.env.PORT ? parseInt(process.env.PORT) : 3e3, host = "0.0.0.0", outDir = path.resolve("dist"), rscEntryPath: explicitRscEntryPath, serverEntryPath: explicitServerEntryPath, noCompression = false, purpose, silent = false } = options;
|
|
836
|
+
const { port = process.env.PORT ? parseInt(process.env.PORT) : 3e3, host = "0.0.0.0", outDir = path.resolve("dist"), rscEntryPath: explicitRscEntryPath, serverDir: explicitServerDir, serverEntryPath: explicitServerEntryPath, noCompression = false, purpose, silent = false } = options;
|
|
837
|
+
if (purpose === "prerender") registerPrerenderCloudflareLoader();
|
|
810
838
|
const compress = !noCompression;
|
|
811
839
|
const resolvedOutDir = path.resolve(outDir);
|
|
812
840
|
const clientDir = path.join(resolvedOutDir, "client");
|
|
813
|
-
const
|
|
814
|
-
const
|
|
841
|
+
const serverDir = explicitServerDir ? path.resolve(explicitServerDir) : path.join(resolvedOutDir, "server");
|
|
842
|
+
const rscEntryPath = explicitRscEntryPath ? path.resolve(explicitRscEntryPath) : path.join(serverDir, "index.js");
|
|
843
|
+
const serverEntryPath = explicitServerEntryPath ? path.resolve(explicitServerEntryPath) : path.join(serverDir, "entry.js");
|
|
815
844
|
const isAppRouter = fs.existsSync(rscEntryPath);
|
|
816
845
|
if (!isAppRouter && !fs.existsSync(serverEntryPath)) {
|
|
817
846
|
console.error(`[vinext] No build output found in ${outDir}`);
|
|
818
|
-
console.error("Run `
|
|
847
|
+
console.error("Run `vite build` first.");
|
|
819
848
|
process.exit(1);
|
|
820
849
|
}
|
|
821
850
|
if (isAppRouter) return startAppRouterServer({
|
|
822
851
|
port,
|
|
823
852
|
host,
|
|
824
853
|
clientDir,
|
|
854
|
+
serverDir,
|
|
825
855
|
rscEntryPath,
|
|
826
856
|
compress,
|
|
827
857
|
purpose,
|
|
@@ -953,8 +983,10 @@ function installPagesClientAssets(options) {
|
|
|
953
983
|
clientEntry: metadata.clientEntryFile,
|
|
954
984
|
appBootstrapPreinitModules: metadata.appBootstrapPreinitModules,
|
|
955
985
|
ssrManifest: Object.keys(ssrManifest).length > 0 ? ssrManifest : void 0,
|
|
986
|
+
cssGraph: metadata.cssGraph,
|
|
956
987
|
lazyChunks: metadata.lazyChunks,
|
|
957
|
-
dynamicPreloads: metadata.dynamicPreloads
|
|
988
|
+
dynamicPreloads: metadata.dynamicPreloads,
|
|
989
|
+
crossOrigin: options.crossOrigin
|
|
958
990
|
});
|
|
959
991
|
return ssrManifest;
|
|
960
992
|
}
|
|
@@ -976,12 +1008,15 @@ function installPagesClientAssets(options) {
|
|
|
976
1008
|
* 4. Stream the Web Response back (with optional compression)
|
|
977
1009
|
*/
|
|
978
1010
|
async function startAppRouterServer(options) {
|
|
979
|
-
const { port, host, clientDir, rscEntryPath, compress, purpose, silent } = options;
|
|
980
|
-
const prerenderSecret = readPrerenderSecret(
|
|
1011
|
+
const { port, host, clientDir, serverDir, rscEntryPath, compress, purpose, silent } = options;
|
|
1012
|
+
const prerenderSecret = readPrerenderSecret(serverDir);
|
|
981
1013
|
const rscModule = await importServerEntryModule(rscEntryPath);
|
|
982
1014
|
const rscEntryRequire = createServerEntryRequire(rscEntryPath);
|
|
983
1015
|
const rscHandler = resolveAppRouterHandler(rscModule.default);
|
|
1016
|
+
const workerEntry = rscModule.default && typeof rscModule.default === "object" ? rscModule.default : void 0;
|
|
1017
|
+
const ensureInstrumentation = typeof workerEntry?.__ensureInstrumentation === "function" ? () => workerEntry.__ensureInstrumentation() : typeof rscModule.__ensureInstrumentation === "function" ? () => rscModule.__ensureInstrumentation() : () => void 0;
|
|
984
1018
|
const appRouterAssetPrefix = typeof rscModule.__assetPrefix === "string" ? rscModule.__assetPrefix : "";
|
|
1019
|
+
const appRouterCrossOrigin = rscModule.__crossOrigin === "anonymous" || rscModule.__crossOrigin === "use-credentials" ? rscModule.__crossOrigin : "";
|
|
985
1020
|
const appRouterBasePath = typeof rscModule.__basePath === "string" ? rscModule.__basePath : "";
|
|
986
1021
|
const appRouterInlineCss = rscModule.__inlineCss === true;
|
|
987
1022
|
const appRouterHasPagesDir = rscModule.__hasPagesDir === true;
|
|
@@ -990,7 +1025,7 @@ async function startAppRouterServer(options) {
|
|
|
990
1025
|
const appImageAllowedWidths = Array.isArray(rscModule.__imageAllowedWidths) ? rscModule.__imageAllowedWidths : [...DEFAULT_DEVICE_SIZES, ...DEFAULT_IMAGE_SIZES];
|
|
991
1026
|
let imageConfig = typeof rscModule.__imageConfig === "object" && rscModule.__imageConfig !== null ? rscModule.__imageConfig : void 0;
|
|
992
1027
|
if (imageConfig === void 0) {
|
|
993
|
-
const imageConfigPath = path.join(
|
|
1028
|
+
const imageConfigPath = path.join(serverDir, "image-config.json");
|
|
994
1029
|
if (fs.existsSync(imageConfigPath)) try {
|
|
995
1030
|
imageConfig = JSON.parse(fs.readFileSync(imageConfigPath, "utf-8"));
|
|
996
1031
|
} catch {}
|
|
@@ -1002,14 +1037,15 @@ async function startAppRouterServer(options) {
|
|
|
1002
1037
|
clientDir,
|
|
1003
1038
|
assetPrefix: appRouterAssetPrefix,
|
|
1004
1039
|
assetBase: appAssetBase,
|
|
1005
|
-
clientEntryLookup: "pages-client-entry"
|
|
1040
|
+
clientEntryLookup: "pages-client-entry",
|
|
1041
|
+
crossOrigin: appRouterCrossOrigin
|
|
1006
1042
|
});
|
|
1007
|
-
else installClientBuildManifestGlobals(clientDir, appAssetBase, appRouterAssetPrefix);
|
|
1043
|
+
else installClientBuildManifestGlobals(clientDir, appAssetBase, appRouterAssetPrefix, appRouterCrossOrigin);
|
|
1008
1044
|
const seedPrerenderedRoutes = resolveAppRouterPrerenderSeeder(rscModule);
|
|
1009
|
-
const seededRoutes = await runWithServerEntryRequire(rscEntryRequire, () => seedPrerenderedRoutes(
|
|
1045
|
+
const seededRoutes = await runWithServerEntryRequire(rscEntryRequire, () => seedPrerenderedRoutes(serverDir));
|
|
1010
1046
|
if (seededRoutes > 0) console.log(`[vinext] Seeded ${seededRoutes} pre-rendered route${seededRoutes !== 1 ? "s" : ""} into memory cache`);
|
|
1011
1047
|
const staticCache = await StaticFileCache.create(clientDir);
|
|
1012
|
-
const
|
|
1048
|
+
const handleRequestImpl = async (req, res) => {
|
|
1013
1049
|
const rawUrl = req.url ?? "/";
|
|
1014
1050
|
const rawPathname = rawUrl.split("?")[0];
|
|
1015
1051
|
if (isOpenRedirectShaped(rawPathname)) {
|
|
@@ -1043,13 +1079,15 @@ async function startAppRouterServer(options) {
|
|
|
1043
1079
|
}
|
|
1044
1080
|
}
|
|
1045
1081
|
if (isImageOptimizationPath(pathname)) {
|
|
1046
|
-
const
|
|
1082
|
+
const parsedUrl = new URL(rawUrl, "http://localhost");
|
|
1083
|
+
const params = parseImageParams(parsedUrl, appImageAllowedWidths, imageConfig?.qualities);
|
|
1047
1084
|
if (!params) {
|
|
1048
1085
|
res.writeHead(400);
|
|
1049
1086
|
res.end("Bad Request");
|
|
1050
1087
|
return;
|
|
1051
1088
|
}
|
|
1052
|
-
|
|
1089
|
+
const ct = contentTypeForPath(params.imageUrl);
|
|
1090
|
+
if (!isSafeImageContentType(ct, imageConfig?.dangerouslyAllowSVG)) {
|
|
1053
1091
|
res.writeHead(400);
|
|
1054
1092
|
res.end("The requested resource is not an allowed image type");
|
|
1055
1093
|
return;
|
|
@@ -1096,6 +1134,32 @@ async function startAppRouterServer(options) {
|
|
|
1096
1134
|
}
|
|
1097
1135
|
}
|
|
1098
1136
|
};
|
|
1137
|
+
const handleRequest = async (req, res) => {
|
|
1138
|
+
try {
|
|
1139
|
+
await ensureInstrumentation();
|
|
1140
|
+
} catch (error) {
|
|
1141
|
+
console.error("[vinext] Instrumentation error:", error);
|
|
1142
|
+
if (!res.headersSent) {
|
|
1143
|
+
if (purpose === "prerender") res.setHeader(VINEXT_PRERENDER_RENDER_ERROR_HEADER, "1");
|
|
1144
|
+
res.writeHead(500);
|
|
1145
|
+
res.end("Internal Server Error");
|
|
1146
|
+
}
|
|
1147
|
+
return;
|
|
1148
|
+
}
|
|
1149
|
+
const target = req.url ?? "/";
|
|
1150
|
+
const headers = nodeHeadersToWebHeaders(req.headers);
|
|
1151
|
+
return traceFrameworkRequest({
|
|
1152
|
+
callback: async () => {
|
|
1153
|
+
await handleRequestImpl(req, res);
|
|
1154
|
+
await waitForNodeResponseCompletion(res);
|
|
1155
|
+
},
|
|
1156
|
+
getStatus: () => res.statusCode,
|
|
1157
|
+
headers,
|
|
1158
|
+
isRsc: new URL(target, "http://localhost").pathname.endsWith(".rsc") || headers.get("RSC") === "1",
|
|
1159
|
+
method: req.method ?? "GET",
|
|
1160
|
+
target
|
|
1161
|
+
});
|
|
1162
|
+
};
|
|
1099
1163
|
const server = createServer((req, res) => {
|
|
1100
1164
|
runWithServerEntryRequire(rscEntryRequire, () => handleRequest(req, res));
|
|
1101
1165
|
});
|
|
@@ -1118,7 +1182,8 @@ function isPagesServerEntryPageRoute(value) {
|
|
|
1118
1182
|
if (typeof value.pattern !== "string") return false;
|
|
1119
1183
|
if (!("module" in value) || value.module === void 0) return true;
|
|
1120
1184
|
const pageModule = value.module;
|
|
1121
|
-
if (
|
|
1185
|
+
if (pageModule === null) return true;
|
|
1186
|
+
if (typeof pageModule !== "object") return false;
|
|
1122
1187
|
return !("getStaticPaths" in pageModule) || typeof pageModule.getStaticPaths === "function";
|
|
1123
1188
|
}
|
|
1124
1189
|
function readPagesServerEntryPageRoutes(value) {
|
|
@@ -1142,6 +1207,7 @@ async function startPagesRouterServer(options) {
|
|
|
1142
1207
|
const { renderPage, handleApiRoute: handleApi, authorizeOnDemandRevalidate, runMiddleware, vinextConfig, buildId: pagesBuildId } = serverEntry;
|
|
1143
1208
|
const matchPageRoute = typeof serverEntry.matchPageRoute === "function" ? serverEntry.matchPageRoute : void 0;
|
|
1144
1209
|
const matchApiRoute = typeof serverEntry.matchApiRoute === "function" ? serverEntry.matchApiRoute : void 0;
|
|
1210
|
+
const ensureInstrumentation = typeof serverEntry.__ensureInstrumentation === "function" ? () => serverEntry.__ensureInstrumentation() : () => void 0;
|
|
1145
1211
|
const hasMiddleware = serverEntry.hasMiddleware === true;
|
|
1146
1212
|
const pageRoutes = readPagesServerEntryPageRoutes(serverEntry.pageRoutes);
|
|
1147
1213
|
const prerenderSecret = readPrerenderSecret(path.dirname(serverEntryPath));
|
|
@@ -1171,10 +1237,34 @@ async function startPagesRouterServer(options) {
|
|
|
1171
1237
|
clientDir,
|
|
1172
1238
|
assetPrefix,
|
|
1173
1239
|
assetBase,
|
|
1174
|
-
clientEntryLookup: "any-client-entry"
|
|
1240
|
+
clientEntryLookup: "any-client-entry",
|
|
1241
|
+
crossOrigin: vinextConfig?.crossOrigin ?? ""
|
|
1175
1242
|
});
|
|
1176
1243
|
const staticCache = await StaticFileCache.create(clientDir);
|
|
1177
1244
|
const handleRequest = async (req, res) => {
|
|
1245
|
+
try {
|
|
1246
|
+
await ensureInstrumentation();
|
|
1247
|
+
} catch (error) {
|
|
1248
|
+
console.error("[vinext] Instrumentation error:", error);
|
|
1249
|
+
if (!res.headersSent) {
|
|
1250
|
+
if (purpose === "prerender") res.setHeader(VINEXT_PRERENDER_RENDER_ERROR_HEADER, "1");
|
|
1251
|
+
res.writeHead(500);
|
|
1252
|
+
res.end("Internal Server Error");
|
|
1253
|
+
}
|
|
1254
|
+
return;
|
|
1255
|
+
}
|
|
1256
|
+
return traceFrameworkRequest({
|
|
1257
|
+
callback: async () => {
|
|
1258
|
+
await handleRequestImpl(req, res);
|
|
1259
|
+
await waitForNodeResponseCompletion(res);
|
|
1260
|
+
},
|
|
1261
|
+
getStatus: () => res.statusCode,
|
|
1262
|
+
headers: nodeHeadersToWebHeaders(req.headers),
|
|
1263
|
+
method: req.method ?? "GET",
|
|
1264
|
+
target: req.url ?? "/"
|
|
1265
|
+
});
|
|
1266
|
+
};
|
|
1267
|
+
const handleRequestImpl = async (req, res) => {
|
|
1178
1268
|
const rawUrl = req.url ?? "/";
|
|
1179
1269
|
const rawPagesPathnameBeforeNormalize = rawUrl.split("?")[0];
|
|
1180
1270
|
if (isOpenRedirectShaped(rawPagesPathnameBeforeNormalize)) {
|
|
@@ -1291,7 +1381,7 @@ async function startPagesRouterServer(options) {
|
|
|
1291
1381
|
duplex: hasBody ? "half" : void 0
|
|
1292
1382
|
});
|
|
1293
1383
|
const middlewareRequest = isDataReq && skipProxyUrlNormalize ? new Request(new URL(originalRenderUrl, webRequest.url), webRequest) : void 0;
|
|
1294
|
-
const
|
|
1384
|
+
const deps = {
|
|
1295
1385
|
basePath,
|
|
1296
1386
|
trailingSlash,
|
|
1297
1387
|
i18nConfig,
|
|
@@ -1319,13 +1409,15 @@ async function startPagesRouterServer(options) {
|
|
|
1319
1409
|
serveFilesystemRoute: async (requestPathname, stagedHeaders, phase, resolvedUrl) => {
|
|
1320
1410
|
if (isImageOptimizationPath(requestPathname)) {
|
|
1321
1411
|
for (const [name, value] of Object.entries(stagedHeaders)) res.setHeader(name, value);
|
|
1322
|
-
const
|
|
1412
|
+
const parsedUrl = new URL(resolvedUrl, "http://localhost");
|
|
1413
|
+
const params = parseImageParams(parsedUrl, allowedImageWidths, pagesImageConfig?.qualities);
|
|
1323
1414
|
if (!params) {
|
|
1324
1415
|
res.writeHead(400);
|
|
1325
1416
|
res.end("Bad Request");
|
|
1326
1417
|
return true;
|
|
1327
1418
|
}
|
|
1328
|
-
|
|
1419
|
+
const ct = contentTypeForPath(params.imageUrl);
|
|
1420
|
+
if (!isSafeImageContentType(ct, pagesImageConfig?.dangerouslyAllowSVG)) {
|
|
1329
1421
|
res.writeHead(400);
|
|
1330
1422
|
res.end("The requested resource is not an allowed image type");
|
|
1331
1423
|
return true;
|
|
@@ -1343,7 +1435,8 @@ async function startPagesRouterServer(options) {
|
|
|
1343
1435
|
if (requestPathname === "/" || requestPathname === "/api" || requestPathname.startsWith("/api/") || phase === "direct" && requestPathname.startsWith(`/_next/static/`)) return false;
|
|
1344
1436
|
return tryServeStatic(req, res, clientDir, requestPathname, compress, staticCache, stagedHeaders);
|
|
1345
1437
|
}
|
|
1346
|
-
}
|
|
1438
|
+
};
|
|
1439
|
+
const result = await runPagesRequest(webRequest, deps);
|
|
1347
1440
|
if (result.type === "handled") return;
|
|
1348
1441
|
if (result.type === "response") {
|
|
1349
1442
|
const { response } = result;
|
|
@@ -1399,4 +1492,4 @@ async function startPagesRouterServer(options) {
|
|
|
1399
1492
|
};
|
|
1400
1493
|
}
|
|
1401
1494
|
//#endregion
|
|
1402
|
-
export { COMPRESSIBLE_TYPES, COMPRESS_THRESHOLD, importServerEntryModule, mergeResponseHeaders, mergeWebResponse, negotiateEncoding, nodeToWebRequest, readNodeStream, rememberCurrentServerEntryImportMtime, resolveAppRouterAssetPath, resolveAppRouterPrerenderSeeder, resolveRequestHost as resolveHost, resolveServerEntryImportUrl, sendCompressed, sendWebResponse, startProdServer, trustProxy, trustedHosts, tryServeStatic };
|
|
1495
|
+
export { COMPRESSIBLE_TYPES, COMPRESS_THRESHOLD, importServerEntryModule, mergeResponseHeaders, mergeWebResponse, negotiateEncoding, nodeToWebRequest, readNodeStream, rememberCurrentServerEntryImportMtime, resolveAppRouterAssetPath, resolveAppRouterPrerenderSeeder, resolveRequestHost as resolveHost, resolveServerEntryImportUrl, sendCompressed, sendWebResponse, startProdServer, trustProxy, trustedHosts, tryServeStatic, waitForNodeResponseCompletion };
|
|
@@ -7,7 +7,7 @@ import { IncomingMessage } from "node:http";
|
|
|
7
7
|
* without reloading the module, and so existing call sites that imported
|
|
8
8
|
* `trustedHosts` from `prod-server.ts` keep the same semantics.
|
|
9
9
|
*/
|
|
10
|
-
declare const trustedHosts: Set<string>;
|
|
10
|
+
export declare const trustedHosts: Set<string>;
|
|
11
11
|
/**
|
|
12
12
|
* Whether to trust `X-Forwarded-Proto` from upstream proxies.
|
|
13
13
|
*
|
|
@@ -15,7 +15,7 @@ declare const trustedHosts: Set<string>;
|
|
|
15
15
|
* non-empty (having trusted hosts implies a trusted proxy). Computed at
|
|
16
16
|
* module load time, matching the existing prod-server behavior.
|
|
17
17
|
*/
|
|
18
|
-
declare const trustProxy: boolean;
|
|
18
|
+
export declare const trustProxy: boolean;
|
|
19
19
|
/**
|
|
20
20
|
* Resolve the request protocol, honoring `X-Forwarded-Proto` only when
|
|
21
21
|
* the trust-proxy gate is enabled. Defaults to `"http"`.
|
|
@@ -23,7 +23,7 @@ declare const trustProxy: boolean;
|
|
|
23
23
|
* Accepts either a Node `IncomingMessage` or a Fetch `Headers` instance
|
|
24
24
|
* so the same trust logic can be applied in both server flavors.
|
|
25
25
|
*/
|
|
26
|
-
declare function resolveRequestProtocol(source: IncomingMessage | Headers): "http" | "https";
|
|
26
|
+
export declare function resolveRequestProtocol(source: IncomingMessage | Headers): "http" | "https";
|
|
27
27
|
/**
|
|
28
28
|
* Resolve the request host. `X-Forwarded-Host` is honored only when its
|
|
29
29
|
* value matches the `trustedHosts` allow-list. Falls back to the raw
|
|
@@ -34,6 +34,5 @@ declare function resolveRequestProtocol(source: IncomingMessage | Headers): "htt
|
|
|
34
34
|
* `X-Forwarded-Host: evil.com` to a server that resolves redirect URLs
|
|
35
35
|
* against `request.url`.
|
|
36
36
|
*/
|
|
37
|
-
declare function resolveRequestHost(source: IncomingMessage | Headers, fallback: string): string;
|
|
38
|
-
//#endregion
|
|
39
|
-
export { resolveRequestHost, resolveRequestProtocol, trustProxy, trustedHosts };
|
|
37
|
+
export declare function resolveRequestHost(source: IncomingMessage | Headers, fallback: string): string;
|
|
38
|
+
//#endregion
|
|
@@ -26,10 +26,9 @@ type RequestLogOptions = {
|
|
|
26
26
|
/**
|
|
27
27
|
* Print a single request log line to stdout.
|
|
28
28
|
*/
|
|
29
|
-
declare function logRequest({ method, url, status, totalMs, compileMs, renderMs }: RequestLogOptions): void;
|
|
29
|
+
export declare function logRequest({ method, url, status, totalMs, compileMs, renderMs }: RequestLogOptions): void;
|
|
30
30
|
/**
|
|
31
31
|
* Returns `performance.now()` - a high-resolution monotonic timestamp.
|
|
32
32
|
*/
|
|
33
|
-
declare function now(): number;
|
|
34
|
-
//#endregion
|
|
35
|
-
export { logRequest, now };
|
|
33
|
+
export declare function now(): number;
|
|
34
|
+
//#endregion
|
|
@@ -13,9 +13,9 @@ import { isOpenRedirectShaped } from "./open-redirect.js";
|
|
|
13
13
|
* must do this before comparing raw route/config/basePath identity so those
|
|
14
14
|
* comparisons agree with the `Request` that userland eventually receives.
|
|
15
15
|
*/
|
|
16
|
-
declare function canonicalizeRequestPathname(pathname: string): string;
|
|
16
|
+
export declare function canonicalizeRequestPathname(pathname: string): string;
|
|
17
17
|
/** Canonicalize only the pathname portion while preserving the raw query. */
|
|
18
|
-
declare function canonicalizeRequestUrlPathname(url: string): string;
|
|
18
|
+
export declare function canonicalizeRequestUrlPathname(url: string): string;
|
|
19
19
|
/**
|
|
20
20
|
* Shared request pipeline utilities.
|
|
21
21
|
*
|
|
@@ -53,8 +53,8 @@ declare function canonicalizeRequestUrlPathname(url: string): string;
|
|
|
53
53
|
* @param rawPathname - The raw pathname from the URL, before any normalization
|
|
54
54
|
* @returns A 404 Response if the path is protocol-relative, or null to continue
|
|
55
55
|
*/
|
|
56
|
-
declare function guardProtocolRelativeUrl(rawPathname: string): Response | null;
|
|
57
|
-
type HeaderRecord = Record<string, string | string[]>;
|
|
56
|
+
export declare function guardProtocolRelativeUrl(rawPathname: string): Response | null;
|
|
57
|
+
export type HeaderRecord = Record<string, string | string[]>;
|
|
58
58
|
type ResolvePublicFileRouteOptions = {
|
|
59
59
|
cleanPathname: string;
|
|
60
60
|
middlewareContext: StaticFileSignalContext;
|
|
@@ -70,8 +70,8 @@ type ResolvePublicFileRouteOptions = {
|
|
|
70
70
|
* helper owns the RSC exclusion, existence-first method enforcement, and
|
|
71
71
|
* static-file signaling. Missing mutation targets continue through routing.
|
|
72
72
|
*/
|
|
73
|
-
declare function resolvePublicFileRoute(options: ResolvePublicFileRouteOptions): Response | null;
|
|
74
|
-
declare function normalizeTrailingSlashPathname(pathname: string, trailingSlash: boolean): string | null;
|
|
73
|
+
export declare function resolvePublicFileRoute(options: ResolvePublicFileRouteOptions): Response | null;
|
|
74
|
+
export declare function normalizeTrailingSlashPathname(pathname: string, trailingSlash: boolean): string | null;
|
|
75
75
|
/**
|
|
76
76
|
* Check if the pathname needs a trailing slash redirect, and return the
|
|
77
77
|
* redirect Response if so.
|
|
@@ -90,7 +90,7 @@ declare function normalizeTrailingSlashPathname(pathname: string, trailingSlash:
|
|
|
90
90
|
* @param search - The query string (including `?`) to preserve in the redirect
|
|
91
91
|
* @returns A 308 redirect Response, or null if no redirect is needed
|
|
92
92
|
*/
|
|
93
|
-
declare function normalizeTrailingSlash(pathname: string, basePath: string, trailingSlash: boolean, search: string): Response | null;
|
|
93
|
+
export declare function normalizeTrailingSlash(pathname: string, basePath: string, trailingSlash: boolean, search: string): Response | null;
|
|
94
94
|
/**
|
|
95
95
|
* Validate CSRF origin for server action requests.
|
|
96
96
|
*
|
|
@@ -102,7 +102,7 @@ declare function normalizeTrailingSlash(pathname: string, basePath: string, trai
|
|
|
102
102
|
* @param allowedOrigins - Origins from experimental.serverActions.allowedOrigins
|
|
103
103
|
* @returns A 403 Response if origin validation fails, or null to continue
|
|
104
104
|
*/
|
|
105
|
-
declare function validateCsrfOrigin(request: Request, allowedOrigins?: string[]): Response | null;
|
|
105
|
+
export declare function validateCsrfOrigin(request: Request, allowedOrigins?: string[]): Response | null;
|
|
106
106
|
/**
|
|
107
107
|
* Reject malformed Flight container reference graphs in server action payloads.
|
|
108
108
|
*
|
|
@@ -115,8 +115,8 @@ declare function validateCsrfOrigin(request: Request, allowedOrigins?: string[])
|
|
|
115
115
|
* numeric backing-field graphs that contain missing backing fields or cycles.
|
|
116
116
|
* Regular user form fields are ignored entirely.
|
|
117
117
|
*/
|
|
118
|
-
declare function validateServerActionPayload(body: string | FormData): Promise<Response | null>;
|
|
119
|
-
declare function isOriginAllowed(origin: string, allowed: string[]): boolean;
|
|
118
|
+
export declare function validateServerActionPayload(body: string | FormData): Promise<Response | null>;
|
|
119
|
+
export declare function isOriginAllowed(origin: string, allowed: string[]): boolean;
|
|
120
120
|
/**
|
|
121
121
|
* Strip internal `x-middleware-*` headers from a Headers object.
|
|
122
122
|
*
|
|
@@ -128,7 +128,7 @@ declare function isOriginAllowed(origin: string, allowed: string[]): boolean;
|
|
|
128
128
|
*
|
|
129
129
|
* @param headers - The Headers object to modify in place
|
|
130
130
|
*/
|
|
131
|
-
declare function processMiddlewareHeaders(headers: Headers): void;
|
|
131
|
+
export declare function processMiddlewareHeaders(headers: Headers): void;
|
|
132
132
|
/**
|
|
133
133
|
* Strip internal headers from an inbound request so they cannot be forged by
|
|
134
134
|
* an external attacker to influence routing or impersonate internal state.
|
|
@@ -144,14 +144,14 @@ declare function processMiddlewareHeaders(headers: Headers): void;
|
|
|
144
144
|
* @param headers - The source Headers (never modified)
|
|
145
145
|
* @returns A new Headers with internal framework headers removed
|
|
146
146
|
*/
|
|
147
|
-
declare function filterInternalHeaders(headers: Headers): Headers;
|
|
147
|
+
export declare function filterInternalHeaders(headers: Headers): Headers;
|
|
148
148
|
/**
|
|
149
149
|
* Re-attach the Workers-specific `cf` metadata from `source` onto a rebuilt
|
|
150
150
|
* Request. `new Request()` never copies it, and middleware/authorization code
|
|
151
151
|
* can key off `request.cf` (geo checks, bot scores), so every reconstruction
|
|
152
152
|
* must restore it explicitly.
|
|
153
153
|
*/
|
|
154
|
-
declare function attachRequestCfMetadata(target: Request, source: Request): Request;
|
|
154
|
+
export declare function attachRequestCfMetadata(target: Request, source: Request): Request;
|
|
155
155
|
/**
|
|
156
156
|
* Clone a Request while overriding headers, preserving metadata when possible.
|
|
157
157
|
*
|
|
@@ -160,7 +160,7 @@ declare function attachRequestCfMetadata(target: Request, source: Request): Requ
|
|
|
160
160
|
* when cloning a foreign Request instance. In that case, fall back to building
|
|
161
161
|
* a RequestInit with best-effort metadata.
|
|
162
162
|
*/
|
|
163
|
-
declare function cloneRequestWithHeaders(request: Request, headers: Headers): Request;
|
|
163
|
+
export declare function cloneRequestWithHeaders(request: Request, headers: Headers): Request;
|
|
164
164
|
/**
|
|
165
165
|
* Clone a Request while overriding the URL, preserving headers and metadata
|
|
166
166
|
* when possible.
|
|
@@ -173,6 +173,6 @@ declare function cloneRequestWithHeaders(request: Request, headers: Headers): Re
|
|
|
173
173
|
* both are handled explicitly — the same reasons `cloneRequestWithHeaders`
|
|
174
174
|
* exists.
|
|
175
175
|
*/
|
|
176
|
-
declare function cloneRequestWithUrl(request: Request, url: string): Request;
|
|
176
|
+
export declare function cloneRequestWithUrl(request: Request, url: string): Request;
|
|
177
177
|
//#endregion
|
|
178
|
-
export {
|
|
178
|
+
export { INTERNAL_HEADERS, VINEXT_INTERNAL_HEADERS, createStaticFileSignal, hasBasePath, isOpenRedirectShaped, stripBasePath };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { hasBasePath, removeTrailingSlash, stripBasePath } from "../utils/base-path.js";
|
|
2
1
|
import "../utils/protocol-headers.js";
|
|
3
|
-
import { INTERNAL_HEADERS, VINEXT_INTERNAL_HEADERS } from "./headers.js";
|
|
4
2
|
import { getUnconsumedMiddlewareRequestHeaders } from "../utils/middleware-request-headers.js";
|
|
3
|
+
import { hasBasePath, removeTrailingSlash, stripBasePath } from "../utils/base-path.js";
|
|
4
|
+
import { INTERNAL_HEADERS, VINEXT_INTERNAL_HEADERS } from "./headers.js";
|
|
5
5
|
import { forbiddenResponse, methodNotAllowedResponse, notFoundResponse } from "./http-error-responses.js";
|
|
6
6
|
import { isOpenRedirectShaped } from "./open-redirect.js";
|
|
7
7
|
import { createStaticFileSignal } from "./static-file-signal.js";
|
|
@@ -336,6 +336,11 @@ function getRequestCf(request) {
|
|
|
336
336
|
* must restore it explicitly.
|
|
337
337
|
*/
|
|
338
338
|
function attachRequestCfMetadata(target, source) {
|
|
339
|
+
const ownDescriptor = Object.getOwnPropertyDescriptor(source, "cf");
|
|
340
|
+
if (ownDescriptor) {
|
|
341
|
+
Object.defineProperty(target, "cf", ownDescriptor);
|
|
342
|
+
return target;
|
|
343
|
+
}
|
|
339
344
|
const cf = getRequestCf(source);
|
|
340
345
|
if (cf !== void 0) Object.defineProperty(target, "cf", {
|
|
341
346
|
value: cf,
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { VinextRequestStageModule } from "./multi-stage.js";
|
|
2
|
+
//#region src/server/request-stage.d.ts
|
|
3
|
+
/** Lazily load the router-specific request stage selected by vinext. */
|
|
4
|
+
export declare function loadVinextRequestStage<Env = unknown, Context = unknown>(): Promise<VinextRequestStageModule<Env, Context>>;
|
|
5
|
+
//#endregion
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//#region src/server/request-tracing.d.ts
|
|
2
|
+
type RequestTraceInput<T> = {
|
|
3
|
+
callback: () => Promise<T>;
|
|
4
|
+
/** Trace an intentional in-process request as a separate propagated request segment. */
|
|
5
|
+
detached?: boolean;
|
|
6
|
+
getStatus(result: T | undefined): number | undefined;
|
|
7
|
+
headers: Headers;
|
|
8
|
+
isRsc?: boolean;
|
|
9
|
+
method: string;
|
|
10
|
+
target: string;
|
|
11
|
+
};
|
|
12
|
+
export declare function setFrameworkRequestRoute(route: string | undefined, isRsc?: boolean): void;
|
|
13
|
+
export declare function captureFrameworkRequestRoute<T>(callback: () => Promise<T>, onRoute?: (route: string) => void): Promise<{
|
|
14
|
+
result: T;
|
|
15
|
+
route: string | undefined;
|
|
16
|
+
}>;
|
|
17
|
+
export declare function attachFrameworkRequestRoute(response: Response, route: string | undefined): Response;
|
|
18
|
+
export declare function clearFrameworkRequestError(response: Response): Response;
|
|
19
|
+
export declare function attachFrameworkRequestError(response: Response, error: unknown): Response;
|
|
20
|
+
export declare function consumeFrameworkRequestRoute(response: Response): Response;
|
|
21
|
+
export declare function traceFrameworkRequest<T>(input: RequestTraceInput<T>): Promise<T>;
|
|
22
|
+
//#endregion
|