vinext 1.0.0-beta.9 → 1.0.1
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 +51 -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 +7 -14
- package/dist/build/precompress.d.ts +2 -3
- package/dist/build/precompress.js +1 -1
- 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 +274 -102
- 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 +73 -16
- package/dist/build/prerender.js +272 -80
- 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 +26 -16
- package/dist/build/server-entry.d.ts +6 -0
- package/dist/build/server-entry.js +34 -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/browser-globals.d.ts +4 -0
- package/dist/client/browser-globals.js +5 -0
- 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 +20 -17
- package/dist/client/navigation-runtime.js +4 -3
- 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 +14 -2
- 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 +503 -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 +848 -255
- package/dist/init-cloudflare.d.ts +26 -17
- package/dist/init-cloudflare.js +711 -103
- 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 +126 -42
- 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/commonjs-syntax.d.ts +16 -0
- package/dist/plugins/commonjs-syntax.js +22 -0
- 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 +14 -4
- package/dist/plugins/ignore-dynamic-requests.js +113 -91
- package/dist/plugins/import-meta-url.d.ts +6 -7
- package/dist/plugins/import-meta-url.js +36 -48
- 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 +5 -4
- package/dist/plugins/og-asset-ownership.js +24 -13
- package/dist/plugins/og-assets.d.ts +22 -5
- package/dist/plugins/og-assets.js +82 -21
- package/dist/plugins/og-harfbuzz.d.ts +24 -0
- package/dist/plugins/og-harfbuzz.js +271 -0
- package/dist/plugins/optimize-imports.d.ts +7 -7
- package/dist/plugins/optimize-imports.js +34 -45
- 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 +3 -3
- package/dist/plugins/require-context.js +41 -22
- 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/scan-build-css.d.ts +12 -0
- package/dist/plugins/scan-build-css.js +39 -0
- package/dist/plugins/server-externals-manifest.d.ts +2 -3
- package/dist/plugins/strip-server-exports.d.ts +7 -6
- package/dist/plugins/strip-server-exports.js +4 -2
- 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 +21 -4
- package/dist/plugins/transform-result.js +23 -2
- package/dist/plugins/transitive-externals.d.ts +2 -3
- package/dist/plugins/typeof-window.d.ts +16 -7
- package/dist/plugins/typeof-window.js +62 -39
- 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 +18 -19
- package/dist/routing/app-route-graph.js +5 -6
- package/dist/routing/app-route-ids.d.ts +3 -0
- package/dist/routing/app-route-ids.js +6 -0
- 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 +4 -4
- package/dist/server/app-bfcache-id.js +7 -1
- package/dist/server/app-bfcache-identity.d.ts +8 -9
- package/dist/server/app-bfcache-identity.js +1 -2
- 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 +91 -36
- 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 +15 -2
- 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 +9 -5
- 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 +7 -3
- package/dist/server/app-browser-stream.d.ts +5 -6
- 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 +25 -27
- package/dist/server/app-history-state.js +21 -16
- 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 -4
- 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 -24
- 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 +43 -7
- 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 +50 -0
- package/dist/server/app-pages-bridge.d.ts +6 -6
- package/dist/server/app-pages-bridge.js +18 -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-abort-error.d.ts +3 -0
- package/dist/server/app-render-abort-error.js +8 -0
- 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 +112 -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 +4 -4
- package/dist/server/app-route-handler-cache.js +51 -35
- package/dist/server/app-route-handler-dispatch.d.ts +3 -3
- package/dist/server/app-route-handler-dispatch.js +77 -56
- package/dist/server/app-route-handler-execution.d.ts +26 -14
- package/dist/server/app-route-handler-execution.js +94 -28
- 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-policy.js +2 -2
- package/dist/server/app-route-handler-response.d.ts +9 -10
- package/dist/server/app-route-handler-response.js +14 -3
- 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 +4 -1
- package/dist/server/app-router-entry.js +33 -17
- 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 +11 -9
- package/dist/server/app-rsc-errors.js +14 -16
- package/dist/server/app-rsc-handler.d.ts +32 -6
- package/dist/server/app-rsc-handler.js +425 -64
- 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 +5 -3
- package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
- package/dist/server/app-rsc-response-finalizer.js +10 -7
- 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 +18 -13
- 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 +62 -15
- 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 +34 -8
- 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 +64 -6
- 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 +192 -90
- 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 +141 -64
- 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 +56 -61
- package/dist/server/headers.js +22 -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-error-responses.js +1 -0
- 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 +30 -27
- package/dist/server/isr-cache.js +23 -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-response.d.ts +7 -7
- package/dist/server/metadata-route-response.js +158 -35
- 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 +28 -9
- package/dist/server/pages-asset-tags.d.ts +7 -6
- package/dist/server/pages-asset-tags.js +104 -18
- 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 +13 -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 +23 -19
- package/dist/server/pages-page-data.js +82 -75
- package/dist/server/pages-page-handler.d.ts +7 -6
- package/dist/server/pages-page-handler.js +103 -47
- 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 +52 -32
- 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 +15 -12
- package/dist/server/pages-request-pipeline.js +80 -35
- package/dist/server/pages-request-stage-entry.d.ts +23 -0
- package/dist/server/pages-request-stage-entry.js +316 -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 +17 -11
- package/dist/server/prerender-manifest.js +7 -4
- 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 +127 -44
- 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 +4 -4
- package/dist/server/worker-revalidation-context.js +6 -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 +34 -0
- package/dist/server/workers-tracing.js +67 -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 +26 -38
- package/dist/shims/cache-request-state.js +2 -13
- package/dist/shims/cache-runtime.d.ts +23 -21
- package/dist/shims/cache-runtime.js +110 -28
- package/dist/shims/cache.d.ts +17 -16
- package/dist/shims/cache.js +19 -15
- package/dist/shims/cacheability-classification.d.ts +50 -29
- package/dist/shims/cacheability-classification.js +29 -14
- 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 +59 -21
- package/dist/shims/cdn-cache.js +31 -47
- 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 +5 -19
- package/dist/shims/error.js +17 -10
- package/dist/shims/error.react-server.d.ts +4 -7
- package/dist/shims/error.react-server.js +4 -1
- package/dist/shims/fetch-cache.d.ts +22 -22
- package/dist/shims/fetch-cache.js +46 -20
- 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 +44 -73
- package/dist/shims/headers.js +87 -144
- 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/cache-context-accessor.d.ts +16 -0
- package/dist/shims/internal/cache-context-accessor.js +15 -0
- 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/headers-state.d.ts +74 -0
- package/dist/shims/internal/headers-state.js +157 -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 +26 -18
- 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/request-state-types.d.ts +2 -1
- package/dist/shims/root-params.d.ts +14 -15
- package/dist/shims/root-params.js +1 -1
- 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 +66 -30
- 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 +35 -32
- 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 +4 -4
- package/dist/utils/encode-cache-tag.js +11 -1
- 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 +151 -0
- package/dist/utils/vite-version.d.ts +5 -6
- package/next-package.json +4 -0
- package/package.json +51 -6
- package/dist/server/metadata-route-cache-policy.d.ts +0 -6
- package/dist/server/metadata-route-cache-policy.js +0 -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 {
|
|
23
|
+
import { traceFrameworkRequest } from "./request-tracing.js";
|
|
24
|
+
import { 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)) {
|
|
@@ -1034,22 +1070,22 @@ async function startAppRouterServer(options) {
|
|
|
1034
1070
|
return;
|
|
1035
1071
|
}
|
|
1036
1072
|
}
|
|
1037
|
-
let missingBuildAsset = false;
|
|
1038
1073
|
{
|
|
1039
1074
|
const assetLookupPath = resolveAppRouterAssetPath(pathname, appAssetPathPrefix, appRouterAssetPrefix);
|
|
1040
1075
|
if (assetLookupPath) {
|
|
1041
1076
|
if (await tryServeStatic(req, res, clientDir, assetLookupPath, compress, staticCache)) return;
|
|
1042
|
-
missingBuildAsset = true;
|
|
1043
1077
|
}
|
|
1044
1078
|
}
|
|
1045
1079
|
if (isImageOptimizationPath(pathname)) {
|
|
1046
|
-
const
|
|
1080
|
+
const parsedUrl = new URL(rawUrl, "http://localhost");
|
|
1081
|
+
const params = parseImageParams(parsedUrl, appImageAllowedWidths, imageConfig?.qualities);
|
|
1047
1082
|
if (!params) {
|
|
1048
1083
|
res.writeHead(400);
|
|
1049
1084
|
res.end("Bad Request");
|
|
1050
1085
|
return;
|
|
1051
1086
|
}
|
|
1052
|
-
|
|
1087
|
+
const ct = contentTypeForPath(params.imageUrl);
|
|
1088
|
+
if (!isSafeImageContentType(ct, imageConfig?.dangerouslyAllowSVG)) {
|
|
1053
1089
|
res.writeHead(400);
|
|
1054
1090
|
res.end("The requested resource is not an allowed image type");
|
|
1055
1091
|
return;
|
|
@@ -1067,10 +1103,6 @@ async function startAppRouterServer(options) {
|
|
|
1067
1103
|
try {
|
|
1068
1104
|
const request = nodeToWebRequest(req, rawUrl, prerenderSecret, appRouterI18nConfig, appRouterAuthorizeOnDemandRevalidate);
|
|
1069
1105
|
const response = await rscHandler(request, createNodeExecutionContext(resolveTrustedNodeRevalidateOrigin(req, host, port)));
|
|
1070
|
-
if (missingBuildAsset && response.status === 404) {
|
|
1071
|
-
await sendWebResponse(finalizeMissingStaticAssetResponse(response, true), req, res, compress);
|
|
1072
|
-
return;
|
|
1073
|
-
}
|
|
1074
1106
|
const staticFileSignal = readStaticFileSignal(response);
|
|
1075
1107
|
if (staticFileSignal) {
|
|
1076
1108
|
let staticFilePath = "/";
|
|
@@ -1096,6 +1128,32 @@ async function startAppRouterServer(options) {
|
|
|
1096
1128
|
}
|
|
1097
1129
|
}
|
|
1098
1130
|
};
|
|
1131
|
+
const handleRequest = async (req, res) => {
|
|
1132
|
+
try {
|
|
1133
|
+
await ensureInstrumentation();
|
|
1134
|
+
} catch (error) {
|
|
1135
|
+
console.error("[vinext] Instrumentation error:", error);
|
|
1136
|
+
if (!res.headersSent) {
|
|
1137
|
+
if (purpose === "prerender") res.setHeader(VINEXT_PRERENDER_RENDER_ERROR_HEADER, "1");
|
|
1138
|
+
res.writeHead(500);
|
|
1139
|
+
res.end("Internal Server Error");
|
|
1140
|
+
}
|
|
1141
|
+
return;
|
|
1142
|
+
}
|
|
1143
|
+
const target = req.url ?? "/";
|
|
1144
|
+
const headers = nodeHeadersToWebHeaders(req.headers);
|
|
1145
|
+
return traceFrameworkRequest({
|
|
1146
|
+
callback: async () => {
|
|
1147
|
+
await handleRequestImpl(req, res);
|
|
1148
|
+
await waitForNodeResponseCompletion(res);
|
|
1149
|
+
},
|
|
1150
|
+
getStatus: () => res.statusCode,
|
|
1151
|
+
headers,
|
|
1152
|
+
isRsc: new URL(target, "http://localhost").pathname.endsWith(".rsc") || headers.get("RSC") === "1",
|
|
1153
|
+
method: req.method ?? "GET",
|
|
1154
|
+
target
|
|
1155
|
+
});
|
|
1156
|
+
};
|
|
1099
1157
|
const server = createServer((req, res) => {
|
|
1100
1158
|
runWithServerEntryRequire(rscEntryRequire, () => handleRequest(req, res));
|
|
1101
1159
|
});
|
|
@@ -1118,7 +1176,8 @@ function isPagesServerEntryPageRoute(value) {
|
|
|
1118
1176
|
if (typeof value.pattern !== "string") return false;
|
|
1119
1177
|
if (!("module" in value) || value.module === void 0) return true;
|
|
1120
1178
|
const pageModule = value.module;
|
|
1121
|
-
if (
|
|
1179
|
+
if (pageModule === null) return true;
|
|
1180
|
+
if (typeof pageModule !== "object") return false;
|
|
1122
1181
|
return !("getStaticPaths" in pageModule) || typeof pageModule.getStaticPaths === "function";
|
|
1123
1182
|
}
|
|
1124
1183
|
function readPagesServerEntryPageRoutes(value) {
|
|
@@ -1142,6 +1201,7 @@ async function startPagesRouterServer(options) {
|
|
|
1142
1201
|
const { renderPage, handleApiRoute: handleApi, authorizeOnDemandRevalidate, runMiddleware, vinextConfig, buildId: pagesBuildId } = serverEntry;
|
|
1143
1202
|
const matchPageRoute = typeof serverEntry.matchPageRoute === "function" ? serverEntry.matchPageRoute : void 0;
|
|
1144
1203
|
const matchApiRoute = typeof serverEntry.matchApiRoute === "function" ? serverEntry.matchApiRoute : void 0;
|
|
1204
|
+
const ensureInstrumentation = typeof serverEntry.__ensureInstrumentation === "function" ? () => serverEntry.__ensureInstrumentation() : () => void 0;
|
|
1145
1205
|
const hasMiddleware = serverEntry.hasMiddleware === true;
|
|
1146
1206
|
const pageRoutes = readPagesServerEntryPageRoutes(serverEntry.pageRoutes);
|
|
1147
1207
|
const prerenderSecret = readPrerenderSecret(path.dirname(serverEntryPath));
|
|
@@ -1171,10 +1231,34 @@ async function startPagesRouterServer(options) {
|
|
|
1171
1231
|
clientDir,
|
|
1172
1232
|
assetPrefix,
|
|
1173
1233
|
assetBase,
|
|
1174
|
-
clientEntryLookup: "any-client-entry"
|
|
1234
|
+
clientEntryLookup: "any-client-entry",
|
|
1235
|
+
crossOrigin: vinextConfig?.crossOrigin ?? ""
|
|
1175
1236
|
});
|
|
1176
1237
|
const staticCache = await StaticFileCache.create(clientDir);
|
|
1177
1238
|
const handleRequest = async (req, res) => {
|
|
1239
|
+
try {
|
|
1240
|
+
await ensureInstrumentation();
|
|
1241
|
+
} catch (error) {
|
|
1242
|
+
console.error("[vinext] Instrumentation error:", error);
|
|
1243
|
+
if (!res.headersSent) {
|
|
1244
|
+
if (purpose === "prerender") res.setHeader(VINEXT_PRERENDER_RENDER_ERROR_HEADER, "1");
|
|
1245
|
+
res.writeHead(500);
|
|
1246
|
+
res.end("Internal Server Error");
|
|
1247
|
+
}
|
|
1248
|
+
return;
|
|
1249
|
+
}
|
|
1250
|
+
return traceFrameworkRequest({
|
|
1251
|
+
callback: async () => {
|
|
1252
|
+
await handleRequestImpl(req, res);
|
|
1253
|
+
await waitForNodeResponseCompletion(res);
|
|
1254
|
+
},
|
|
1255
|
+
getStatus: () => res.statusCode,
|
|
1256
|
+
headers: nodeHeadersToWebHeaders(req.headers),
|
|
1257
|
+
method: req.method ?? "GET",
|
|
1258
|
+
target: req.url ?? "/"
|
|
1259
|
+
});
|
|
1260
|
+
};
|
|
1261
|
+
const handleRequestImpl = async (req, res) => {
|
|
1178
1262
|
const rawUrl = req.url ?? "/";
|
|
1179
1263
|
const rawPagesPathnameBeforeNormalize = rawUrl.split("?")[0];
|
|
1180
1264
|
if (isOpenRedirectShaped(rawPagesPathnameBeforeNormalize)) {
|
|
@@ -1226,7 +1310,6 @@ async function startPagesRouterServer(options) {
|
|
|
1226
1310
|
return;
|
|
1227
1311
|
}
|
|
1228
1312
|
const pagesAssetLookup = resolveAppRouterAssetPath(pathname, pagesAssetPathPrefix, assetPrefix);
|
|
1229
|
-
const missingBuildAsset = pagesAssetLookup !== null;
|
|
1230
1313
|
if (pagesAssetLookup) {
|
|
1231
1314
|
if (await tryServeStatic(req, res, clientDir, pagesAssetLookup, compress, staticCache)) return;
|
|
1232
1315
|
}
|
|
@@ -1291,7 +1374,8 @@ async function startPagesRouterServer(options) {
|
|
|
1291
1374
|
duplex: hasBody ? "half" : void 0
|
|
1292
1375
|
});
|
|
1293
1376
|
const middlewareRequest = isDataReq && skipProxyUrlNormalize ? new Request(new URL(originalRenderUrl, webRequest.url), webRequest) : void 0;
|
|
1294
|
-
const
|
|
1377
|
+
const deps = {
|
|
1378
|
+
assetPrefix,
|
|
1295
1379
|
basePath,
|
|
1296
1380
|
trailingSlash,
|
|
1297
1381
|
i18nConfig,
|
|
@@ -1314,18 +1398,20 @@ async function startPagesRouterServer(options) {
|
|
|
1314
1398
|
renderPage: typeof renderPage === "function" ? (request, resolvedUrl, options, stagedHeaders) => renderPage(request, resolvedUrl, ssrManifest, void 0, stagedHeaders, {
|
|
1315
1399
|
...options,
|
|
1316
1400
|
originalUrl: originalRenderUrl
|
|
1317
|
-
}) : null,
|
|
1401
|
+
}, stagedHeaders?.has("Cache-Control") ? new Headers({ "Cache-Control": stagedHeaders.get("Cache-Control") }) : void 0) : null,
|
|
1318
1402
|
handleApi: typeof handleApi === "function" ? (request, apiUrl) => handleApi(request, apiUrl, createNodeExecutionContext(), resolveTrustedNodeRevalidateOrigin(req, host, port), "node") : null,
|
|
1319
1403
|
serveFilesystemRoute: async (requestPathname, stagedHeaders, phase, resolvedUrl) => {
|
|
1320
1404
|
if (isImageOptimizationPath(requestPathname)) {
|
|
1321
1405
|
for (const [name, value] of Object.entries(stagedHeaders)) res.setHeader(name, value);
|
|
1322
|
-
const
|
|
1406
|
+
const parsedUrl = new URL(resolvedUrl, "http://localhost");
|
|
1407
|
+
const params = parseImageParams(parsedUrl, allowedImageWidths, pagesImageConfig?.qualities);
|
|
1323
1408
|
if (!params) {
|
|
1324
1409
|
res.writeHead(400);
|
|
1325
1410
|
res.end("Bad Request");
|
|
1326
1411
|
return true;
|
|
1327
1412
|
}
|
|
1328
|
-
|
|
1413
|
+
const ct = contentTypeForPath(params.imageUrl);
|
|
1414
|
+
if (!isSafeImageContentType(ct, pagesImageConfig?.dangerouslyAllowSVG)) {
|
|
1329
1415
|
res.writeHead(400);
|
|
1330
1416
|
res.end("The requested resource is not an allowed image type");
|
|
1331
1417
|
return true;
|
|
@@ -1343,14 +1429,11 @@ async function startPagesRouterServer(options) {
|
|
|
1343
1429
|
if (requestPathname === "/" || requestPathname === "/api" || requestPathname.startsWith("/api/") || phase === "direct" && requestPathname.startsWith(`/_next/static/`)) return false;
|
|
1344
1430
|
return tryServeStatic(req, res, clientDir, requestPathname, compress, staticCache, stagedHeaders);
|
|
1345
1431
|
}
|
|
1346
|
-
}
|
|
1432
|
+
};
|
|
1433
|
+
const result = await runPagesRequest(webRequest, deps);
|
|
1347
1434
|
if (result.type === "handled") return;
|
|
1348
1435
|
if (result.type === "response") {
|
|
1349
1436
|
const { response } = result;
|
|
1350
|
-
if (missingBuildAsset && response.status === 404) {
|
|
1351
|
-
await sendWebResponse(finalizeMissingStaticAssetResponse(response, true), req, res, compress);
|
|
1352
|
-
return;
|
|
1353
|
-
}
|
|
1354
1437
|
const streamedApi = isVinextStreamedApiResponse(response);
|
|
1355
1438
|
if (isVinextStreamedHtmlResponse(response) || streamedApi || !response.body || result.defaultContentType === void 0) {
|
|
1356
1439
|
if (streamedApi && result.defaultContentType !== void 0 && !response.headers.has("content-type")) response.headers.set("content-type", result.defaultContentType);
|
|
@@ -1399,4 +1482,4 @@ async function startPagesRouterServer(options) {
|
|
|
1399
1482
|
};
|
|
1400
1483
|
}
|
|
1401
1484
|
//#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 };
|
|
1485
|
+
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
|