vinext 1.0.0-beta.8 → 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 +158 -84
- 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 +82 -8
- package/dist/build/prerender-paths.js +814 -99
- 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 +67 -15
- package/dist/build/prerender.js +177 -64
- 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 +38 -19
- package/dist/build/report.js +73 -4
- 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 +7 -8
- package/dist/cache/cache-adapters-virtual.d.ts +95 -9
- package/dist/cache/cache-adapters-virtual.js +58 -6
- 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 -435
- 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 -8
- package/dist/client/window-next.d.ts +4 -5
- package/dist/config/config-matchers.d.ts +16 -16
- package/dist/config/config-matchers.js +10 -7
- 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 +5 -6
- package/dist/entries/app-browser-entry.js +3 -2
- package/dist/entries/app-rsc-entry.d.ts +12 -3
- package/dist/entries/app-rsc-entry.js +530 -55
- package/dist/entries/app-rsc-manifest.d.ts +4 -3
- package/dist/entries/app-rsc-manifest.js +27 -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 +237 -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 +832 -199
- package/dist/init-cloudflare.d.ts +27 -16
- package/dist/init-cloudflare.js +754 -113
- 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 +20 -5
- package/dist/routing/app-router.js +28 -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 +121 -40
- 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 +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 +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-browser-visible-commit.js +1 -1
- 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 +15 -7
- package/dist/server/app-middleware.js +30 -5
- 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 +14 -10
- package/dist/server/app-optimistic-routing.js +16 -3
- 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 +2 -1
- package/dist/server/app-page-cache-finalizer.d.ts +32 -8
- package/dist/server/app-page-cache-finalizer.js +118 -14
- 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 +96 -25
- package/dist/server/app-page-dispatch.d.ts +36 -12
- package/dist/server/app-page-dispatch.js +188 -63
- 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 +12 -8
- 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 +42 -6
- package/dist/server/app-page-render.js +192 -28
- 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 +31 -13
- 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 +35 -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 +19 -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 +26 -12
- package/dist/server/app-prerender-static-params.d.ts +15 -7
- package/dist/server/app-prerender-static-params.js +33 -11
- 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 +75 -57
- package/dist/server/app-route-handler-execution.d.ts +18 -13
- package/dist/server/app-route-handler-execution.js +189 -25
- 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 +22 -10
- package/dist/server/app-route-handler-policy.js +19 -4
- 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 +76 -12
- package/dist/server/app-rsc-cache-busting.d.ts +47 -22
- package/dist/server/app-rsc-cache-busting.js +80 -18
- 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 +33 -6
- package/dist/server/app-rsc-handler.js +498 -83
- 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 +24 -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 +4 -4
- package/dist/server/app-rsc-route-matching.js +4 -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 +120 -6
- package/dist/server/app-segment-config.js +264 -12
- package/dist/server/app-server-action-execution.d.ts +16 -12
- package/dist/server/app-server-action-execution.js +88 -35
- package/dist/server/app-ssr-entry.d.ts +14 -4
- package/dist/server/app-ssr-entry.js +64 -17
- 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 +39 -11
- package/dist/server/cache-control.js +104 -7
- 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 +8 -0
- package/dist/server/cacheability-limits.js +9 -0
- package/dist/server/cacheability-manifest.d.ts +68 -0
- package/dist/server/cacheability-manifest.js +241 -0
- package/dist/server/cacheability-request.d.ts +49 -0
- package/dist/server/cacheability-request.js +559 -0
- 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 +39 -5
- 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 +62 -56
- package/dist/server/headers.js +33 -20
- 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 +13 -6
- package/dist/server/middleware-matcher.js +22 -1
- 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 +13 -8
- package/dist/server/middleware-runtime.js +54 -10
- 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/normalize-path.js +1 -1
- 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 +21 -8
- 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-i18n.js +3 -2
- 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 +98 -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 +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 +16 -12
- package/dist/server/pages-request-pipeline.js +69 -28
- 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 +48 -114
- 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 -2
- package/dist/server/prerender-work-unit-setup.d.ts +4 -4
- package/dist/server/prerender-work-unit-setup.js +37 -14
- package/dist/server/prod-server.d.ts +12 -9
- package/dist/server/prod-server.js +129 -36
- 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 +17 -21
- package/dist/server/request-pipeline.js +8 -10
- 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 +2 -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/server-globals.js +13 -0
- 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 +16 -0
- package/dist/server/static-file-signal.js +82 -0
- 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 +18 -0
- package/dist/server/worker-prerender-discovery.js +55 -0
- 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 +4 -4
- 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 +239 -121
- package/dist/shims/cache.d.ts +15 -15
- package/dist/shims/cache.js +25 -13
- package/dist/shims/cacheability-classification.d.ts +106 -0
- package/dist/shims/cacheability-classification.js +161 -0
- 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 +76 -18
- package/dist/shims/cdn-cache.js +40 -39
- 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.js +1 -1
- 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 +50 -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 +68 -32
- package/dist/shims/headers.js +101 -10
- 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 +13 -0
- package/dist/shims/internal/app-prefetch-rsc-request.js +12 -0
- package/dist/shims/internal/app-route-detection.d.ts +2 -2
- package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -6
- package/dist/shims/internal/app-route-prefetch-policy.js +1 -0
- 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-direct.js +29 -11
- package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
- package/dist/shims/internal/hybrid-client-route-owner.js +5 -4
- 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 +8 -3
- package/dist/shims/internal/make-hanging-promise.js +13 -2
- 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 +12 -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 +67 -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 +45 -17
- package/dist/shims/navigation.react-server.d.ts +9 -9
- package/dist/shims/navigation.react-server.js +1 -1
- 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 +7 -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 +18 -12
- package/dist/shims/url-utils.js +10 -1
- 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 +9 -10
- package/dist/utils/prerender-output-paths.js +16 -9
- 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 +55 -6
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
//#region src/server/opentelemetry-api.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* The OpenTelemetry API stores its registered context, propagation, and trace
|
|
4
|
+
* APIs in a versioned global registry. Reading that registry lets vinext join
|
|
5
|
+
* an application-owned provider without requiring OpenTelemetry to be
|
|
6
|
+
* installed alongside vinext itself.
|
|
7
|
+
*/
|
|
8
|
+
type OpenTelemetryContext = {
|
|
9
|
+
deleteValue(key: symbol): OpenTelemetryContext;
|
|
10
|
+
getValue(key: symbol): unknown;
|
|
11
|
+
setValue(key: symbol, value: unknown): OpenTelemetryContext;
|
|
12
|
+
};
|
|
13
|
+
export type OpenTelemetrySpan = {
|
|
14
|
+
end(): void;
|
|
15
|
+
isRecording(): boolean;
|
|
16
|
+
recordException(error: unknown): void;
|
|
17
|
+
setAttribute(key: string, value: OpenTelemetryAttributeValue): void;
|
|
18
|
+
setStatus(status: {
|
|
19
|
+
code: number;
|
|
20
|
+
message?: string;
|
|
21
|
+
}): void;
|
|
22
|
+
spanContext(): unknown;
|
|
23
|
+
updateName(name: string): void;
|
|
24
|
+
};
|
|
25
|
+
export type OpenTelemetryTracer = {
|
|
26
|
+
startActiveSpan<T>(name: string, options: {
|
|
27
|
+
attributes: Record<string, OpenTelemetryAttributeValue>;
|
|
28
|
+
kind?: number;
|
|
29
|
+
}, callback: (span: OpenTelemetrySpan) => T): T;
|
|
30
|
+
startSpan(...args: unknown[]): OpenTelemetrySpan;
|
|
31
|
+
};
|
|
32
|
+
type OpenTelemetryTracerProvider = {
|
|
33
|
+
getDelegate?: () => unknown;
|
|
34
|
+
getDelegateTracer?: (...args: unknown[]) => OpenTelemetryTracer | undefined;
|
|
35
|
+
getTracer(...args: [name: string, version?: string, options?: unknown]): OpenTelemetryTracer;
|
|
36
|
+
};
|
|
37
|
+
type OpenTelemetryAttributeValue = string | number | boolean | readonly string[] | readonly number[] | readonly boolean[];
|
|
38
|
+
export type OpenTelemetryApi = {
|
|
39
|
+
context: {
|
|
40
|
+
active(): OpenTelemetryContext;
|
|
41
|
+
with<T>(context: OpenTelemetryContext, callback: () => T): T;
|
|
42
|
+
};
|
|
43
|
+
propagation: {
|
|
44
|
+
extract(context: OpenTelemetryContext, carrier: Headers, getter: {
|
|
45
|
+
get(carrier: Headers, key: string): string | undefined;
|
|
46
|
+
keys(carrier: Headers): string[];
|
|
47
|
+
}): OpenTelemetryContext;
|
|
48
|
+
};
|
|
49
|
+
trace: {
|
|
50
|
+
getSpan(context: OpenTelemetryContext): OpenTelemetrySpan | undefined;
|
|
51
|
+
getSpanContext(context: OpenTelemetryContext): unknown;
|
|
52
|
+
getTracer(name: string, version?: string): OpenTelemetryTracer;
|
|
53
|
+
getTracerProvider(): OpenTelemetryTracerProvider;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
export declare function getOpenTelemetryRootContext(): OpenTelemetryContext;
|
|
57
|
+
/** Resolve the API registered by the application, if any. */
|
|
58
|
+
export declare function getOpenTelemetryApi(): OpenTelemetryApi | undefined;
|
|
59
|
+
//#endregion
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
//#region src/server/opentelemetry-api.ts
|
|
2
|
+
const OPEN_TELEMETRY_API_SYMBOL = Symbol.for("opentelemetry.js.api.1");
|
|
3
|
+
const OPEN_TELEMETRY_SPAN_SYMBOL = Symbol.for("OpenTelemetry Context Key SPAN");
|
|
4
|
+
const ROOT_CONTEXT = new class RootContext {
|
|
5
|
+
values;
|
|
6
|
+
constructor(values = /* @__PURE__ */ new Map()) {
|
|
7
|
+
this.values = values;
|
|
8
|
+
}
|
|
9
|
+
deleteValue(key) {
|
|
10
|
+
const values = new Map(this.values);
|
|
11
|
+
values.delete(key);
|
|
12
|
+
return new RootContext(values);
|
|
13
|
+
}
|
|
14
|
+
getValue(key) {
|
|
15
|
+
return this.values.get(key);
|
|
16
|
+
}
|
|
17
|
+
setValue(key, value) {
|
|
18
|
+
const values = new Map(this.values);
|
|
19
|
+
values.set(key, value);
|
|
20
|
+
return new RootContext(values);
|
|
21
|
+
}
|
|
22
|
+
}();
|
|
23
|
+
function getOpenTelemetryRootContext() {
|
|
24
|
+
return ROOT_CONTEXT;
|
|
25
|
+
}
|
|
26
|
+
function apiFromRegistry(value) {
|
|
27
|
+
if (!value || typeof value !== "object") return void 0;
|
|
28
|
+
const registry = value;
|
|
29
|
+
const provider = registry.trace;
|
|
30
|
+
if (typeof provider?.getTracer !== "function") return void 0;
|
|
31
|
+
return {
|
|
32
|
+
context: {
|
|
33
|
+
active: () => registry.context?.active() ?? ROOT_CONTEXT,
|
|
34
|
+
with: (context, callback) => registry.context ? registry.context.with(context, callback) : callback()
|
|
35
|
+
},
|
|
36
|
+
propagation: { extract: (context, carrier, getter) => registry.propagation?.extract(context, carrier, getter) ?? context },
|
|
37
|
+
trace: {
|
|
38
|
+
getSpan: (context) => context.getValue(OPEN_TELEMETRY_SPAN_SYMBOL),
|
|
39
|
+
getSpanContext: (context) => {
|
|
40
|
+
return context.getValue(OPEN_TELEMETRY_SPAN_SYMBOL)?.spanContext();
|
|
41
|
+
},
|
|
42
|
+
getTracer: (name, version) => provider.getTracer(name, version),
|
|
43
|
+
getTracerProvider: () => provider
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/** Resolve the API registered by the application, if any. */
|
|
48
|
+
function getOpenTelemetryApi() {
|
|
49
|
+
const registered = globalThis[OPEN_TELEMETRY_API_SYMBOL];
|
|
50
|
+
return apiFromRegistry(registered);
|
|
51
|
+
}
|
|
52
|
+
//#endregion
|
|
53
|
+
export { getOpenTelemetryApi, getOpenTelemetryRootContext };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { FrameworkTracingIntegration } from "./framework-tracer.js";
|
|
2
|
+
//#region src/server/opentelemetry-tracing.d.ts
|
|
3
|
+
/** Standard OpenTelemetry backend using the provider registered by the app. */
|
|
4
|
+
export declare const openTelemetryTracingIntegration: FrameworkTracingIntegration;
|
|
5
|
+
//#endregion
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { getOpenTelemetryApi, getOpenTelemetryRootContext } from "./opentelemetry-api.js";
|
|
2
|
+
import { isPromiseLike } from "../utils/promise.js";
|
|
3
|
+
//#region src/server/opentelemetry-tracing.ts
|
|
4
|
+
const headersGetter = {
|
|
5
|
+
get(carrier, key) {
|
|
6
|
+
return carrier.get(key) ?? void 0;
|
|
7
|
+
},
|
|
8
|
+
keys(carrier) {
|
|
9
|
+
return [...carrier.keys()];
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
const spanKinds = {
|
|
13
|
+
client: 2,
|
|
14
|
+
internal: 0,
|
|
15
|
+
server: 1
|
|
16
|
+
};
|
|
17
|
+
function isEnabled(api) {
|
|
18
|
+
if (api.trace.getSpan(api.context.active())?.isRecording()) return true;
|
|
19
|
+
const provider = api.trace.getTracerProvider();
|
|
20
|
+
if (!("getDelegate" in provider)) return true;
|
|
21
|
+
return (provider.getDelegate?.())?.constructor?.name !== "NoopTracerProvider";
|
|
22
|
+
}
|
|
23
|
+
function backendSpan(span) {
|
|
24
|
+
return {
|
|
25
|
+
recordException: (error) => span.recordException(error),
|
|
26
|
+
setAttribute: (key, value) => span.setAttribute(key, value),
|
|
27
|
+
setErrorStatus: (message) => span.setStatus({
|
|
28
|
+
code: 2,
|
|
29
|
+
message
|
|
30
|
+
}),
|
|
31
|
+
updateName: (name) => span.updateName(name)
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
const noopSpan = { setAttribute() {} };
|
|
35
|
+
/** Standard OpenTelemetry backend using the provider registered by the app. */
|
|
36
|
+
const openTelemetryTracingIntegration = {
|
|
37
|
+
captureActiveContext() {
|
|
38
|
+
const api = getOpenTelemetryApi();
|
|
39
|
+
const context = api?.context.active();
|
|
40
|
+
return (callback) => api && context ? api.context.with(context, callback) : callback();
|
|
41
|
+
},
|
|
42
|
+
getActiveSpan() {
|
|
43
|
+
const api = getOpenTelemetryApi();
|
|
44
|
+
const span = api?.trace.getSpan(api.context.active());
|
|
45
|
+
return span ? backendSpan(span) : void 0;
|
|
46
|
+
},
|
|
47
|
+
id: "opentelemetry",
|
|
48
|
+
enterSpan(descriptor, callback) {
|
|
49
|
+
const api = getOpenTelemetryApi();
|
|
50
|
+
if (!api || !isEnabled(api)) return callback(noopSpan);
|
|
51
|
+
return api.trace.getTracer("next.js", "0.0.1").startActiveSpan(descriptor.name, {
|
|
52
|
+
attributes: descriptor.attributes,
|
|
53
|
+
kind: spanKinds[descriptor.kind]
|
|
54
|
+
}, (span) => {
|
|
55
|
+
try {
|
|
56
|
+
const result = callback(backendSpan(span));
|
|
57
|
+
if (!isPromiseLike(result)) {
|
|
58
|
+
span.end();
|
|
59
|
+
return result;
|
|
60
|
+
}
|
|
61
|
+
return Promise.resolve(result).finally(() => span.end());
|
|
62
|
+
} catch (error) {
|
|
63
|
+
span.end();
|
|
64
|
+
throw error;
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
},
|
|
68
|
+
runWithDetachedContext(callback) {
|
|
69
|
+
const api = getOpenTelemetryApi();
|
|
70
|
+
return api ? api.context.with(getOpenTelemetryRootContext(), callback) : callback();
|
|
71
|
+
},
|
|
72
|
+
withPropagatedContext(carrier, callback) {
|
|
73
|
+
const api = getOpenTelemetryApi();
|
|
74
|
+
if (!api) return callback();
|
|
75
|
+
const active = api.context.active();
|
|
76
|
+
if (!isEnabled(api) && !api.trace.getSpanContext(active)) return callback();
|
|
77
|
+
if (api.trace.getSpanContext(active)) return callback();
|
|
78
|
+
const extracted = api.propagation.extract(active, carrier, headersGetter);
|
|
79
|
+
return api.context.with(extracted, callback);
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
//#endregion
|
|
83
|
+
export { openTelemetryTracingIntegration };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/server/operation-token.d.ts
|
|
2
|
-
type OperationLane = "hmr" | "navigation" | "prefetch" | "refresh" | "server-action" | "traverse";
|
|
3
|
-
type OperationToken = {
|
|
2
|
+
export type OperationLane = "hmr" | "navigation" | "prefetch" | "refresh" | "server-action" | "traverse";
|
|
3
|
+
export type OperationToken = {
|
|
4
4
|
operationId: number;
|
|
5
5
|
lane: OperationLane;
|
|
6
6
|
navigationId: number;
|
|
@@ -11,30 +11,29 @@ type OperationToken = {
|
|
|
11
11
|
cacheVariantFingerprint?: string;
|
|
12
12
|
};
|
|
13
13
|
declare const verifiedOperationTokenBrand: unique symbol;
|
|
14
|
-
type VerifiedOperationToken = OperationToken & {
|
|
14
|
+
export type VerifiedOperationToken = OperationToken & {
|
|
15
15
|
readonly [verifiedOperationTokenBrand]: true;
|
|
16
16
|
};
|
|
17
|
-
type OperationTokenAuthority = {
|
|
17
|
+
export type OperationTokenAuthority = {
|
|
18
18
|
activeNavigationId: number;
|
|
19
19
|
visibleCommitVersion: number;
|
|
20
20
|
graphVersion: string | null;
|
|
21
21
|
installedCacheVariantFingerprint: string | null;
|
|
22
22
|
};
|
|
23
23
|
type OperationTokenDimension = "navigation" | "visibleCommit" | "graphVersion" | "cacheVariant";
|
|
24
|
-
type OperationTokenRejectionReason = "staleNavigation" | "staleVisibleCommit" | "graphVersionMismatch" | "graphVersionMissing" | "cacheVariantMismatch" | "cacheVariantMissing";
|
|
25
|
-
type OperationTokenVerdict = {
|
|
24
|
+
export type OperationTokenRejectionReason = "staleNavigation" | "staleVisibleCommit" | "graphVersionMismatch" | "graphVersionMissing" | "cacheVariantMismatch" | "cacheVariantMissing";
|
|
25
|
+
export type OperationTokenVerdict = {
|
|
26
26
|
readonly authorized: true;
|
|
27
27
|
readonly token: VerifiedOperationToken;
|
|
28
28
|
} | {
|
|
29
29
|
readonly authorized: false;
|
|
30
30
|
readonly reason: OperationTokenRejectionReason;
|
|
31
31
|
};
|
|
32
|
-
type OperationTokenVerificationPolicy = {
|
|
32
|
+
export type OperationTokenVerificationPolicy = {
|
|
33
33
|
check: readonly OperationTokenDimension[];
|
|
34
34
|
require: readonly OperationTokenDimension[];
|
|
35
35
|
};
|
|
36
|
-
declare function verifyOperationToken(token: OperationToken, authority: OperationTokenAuthority, policy: OperationTokenVerificationPolicy): OperationTokenVerdict;
|
|
37
|
-
declare function verifyOperationTokenForCommit(token: OperationToken, authority: Pick<OperationTokenAuthority, "activeNavigationId" | "visibleCommitVersion">): OperationTokenVerdict;
|
|
38
|
-
declare function verifyOperationTokenForCacheReuse(token: OperationToken, authority: Pick<OperationTokenAuthority, "graphVersion" | "installedCacheVariantFingerprint">): OperationTokenVerdict;
|
|
39
|
-
//#endregion
|
|
40
|
-
export { OperationLane, OperationToken, OperationTokenAuthority, OperationTokenRejectionReason, OperationTokenVerdict, OperationTokenVerificationPolicy, VerifiedOperationToken, verifyOperationToken, verifyOperationTokenForCacheReuse, verifyOperationTokenForCommit };
|
|
36
|
+
export declare function verifyOperationToken(token: OperationToken, authority: OperationTokenAuthority, policy: OperationTokenVerificationPolicy): OperationTokenVerdict;
|
|
37
|
+
export declare function verifyOperationTokenForCommit(token: OperationToken, authority: Pick<OperationTokenAuthority, "activeNavigationId" | "visibleCommitVersion">): OperationTokenVerdict;
|
|
38
|
+
export declare function verifyOperationTokenForCacheReuse(token: OperationToken, authority: Pick<OperationTokenAuthority, "graphVersion" | "installedCacheVariantFingerprint">): OperationTokenVerdict;
|
|
39
|
+
//#endregion
|
|
@@ -3,10 +3,9 @@
|
|
|
3
3
|
* OpenTelemetry tracer provider extension for Cache Components.
|
|
4
4
|
*
|
|
5
5
|
* When `cacheComponents: true` is enabled in next.config, component renders
|
|
6
|
-
*
|
|
7
|
-
* `workUnitAsyncStorage` carries a prerender or cache store. Without this
|
|
6
|
+
* run inside request, prerender, or cache work units. Without this
|
|
8
7
|
* extension, calls to `tracer.startSpan()` / `tracer.startActiveSpan()` from
|
|
9
|
-
* inside user RSC code would inherit that
|
|
8
|
+
* inside user RSC code would inherit that work-unit context, causing:
|
|
10
9
|
*
|
|
11
10
|
* 1. Spans to reuse the same trace ID across requests (the frozen prerender
|
|
12
11
|
* context bleeds into the runtime resume render).
|
|
@@ -21,8 +20,7 @@
|
|
|
21
20
|
* context restored.
|
|
22
21
|
*
|
|
23
22
|
* This extension is intentionally a no-op when:
|
|
24
|
-
* -
|
|
25
|
-
* - No OTel tracer provider has been registered (provider is the noop provider).
|
|
23
|
+
* - No compatible OpenTelemetry API has registered its process-wide global.
|
|
26
24
|
* - `workUnitAsyncStorage` has no active store (non-render contexts).
|
|
27
25
|
*
|
|
28
26
|
* References:
|
|
@@ -38,8 +36,8 @@
|
|
|
38
36
|
* Safe to call multiple times — subsequent calls are no-ops once the provider
|
|
39
37
|
* has been wrapped.
|
|
40
38
|
*
|
|
41
|
-
*
|
|
39
|
+
* Safe in Node.js and Workers because it consumes only the application's
|
|
40
|
+
* standard OpenTelemetry global registry.
|
|
42
41
|
*/
|
|
43
|
-
declare function extendTracerProviderForCacheComponents(): void;
|
|
44
|
-
//#endregion
|
|
45
|
-
export { extendTracerProviderForCacheComponents };
|
|
42
|
+
export declare function extendTracerProviderForCacheComponents(): void;
|
|
43
|
+
//#endregion
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { workUnitAsyncStorage } from "../shims/internal/work-unit-async-storage.js";
|
|
2
|
+
import { getOpenTelemetryApi } from "./opentelemetry-api.js";
|
|
2
3
|
//#region src/server/otel-tracer-extension.ts
|
|
3
4
|
/**
|
|
4
5
|
* OpenTelemetry tracer provider extension for Cache Components.
|
|
5
6
|
*
|
|
6
7
|
* When `cacheComponents: true` is enabled in next.config, component renders
|
|
7
|
-
*
|
|
8
|
-
* `workUnitAsyncStorage` carries a prerender or cache store. Without this
|
|
8
|
+
* run inside request, prerender, or cache work units. Without this
|
|
9
9
|
* extension, calls to `tracer.startSpan()` / `tracer.startActiveSpan()` from
|
|
10
|
-
* inside user RSC code would inherit that
|
|
10
|
+
* inside user RSC code would inherit that work-unit context, causing:
|
|
11
11
|
*
|
|
12
12
|
* 1. Spans to reuse the same trace ID across requests (the frozen prerender
|
|
13
13
|
* context bleeds into the runtime resume render).
|
|
@@ -22,8 +22,7 @@ import { workUnitAsyncStorage } from "../shims/internal/work-unit-async-storage.
|
|
|
22
22
|
* context restored.
|
|
23
23
|
*
|
|
24
24
|
* This extension is intentionally a no-op when:
|
|
25
|
-
* -
|
|
26
|
-
* - No OTel tracer provider has been registered (provider is the noop provider).
|
|
25
|
+
* - No compatible OpenTelemetry API has registered its process-wide global.
|
|
27
26
|
* - `workUnitAsyncStorage` has no active store (non-render contexts).
|
|
28
27
|
*
|
|
29
28
|
* References:
|
|
@@ -31,6 +30,7 @@ import { workUnitAsyncStorage } from "../shims/internal/work-unit-async-storage.
|
|
|
31
30
|
* - https://github.com/vercel/next.js/blob/canary/packages/next/src/server/lib/router-utils/instrumentation-node-extensions.ts
|
|
32
31
|
*/
|
|
33
32
|
const extendedProviders = /* @__PURE__ */ new WeakSet();
|
|
33
|
+
const extendedTracers = /* @__PURE__ */ new WeakSet();
|
|
34
34
|
const USE_CACHE_FUNCTION_SYMBOL = Symbol.for("vinext.useCacheFunction");
|
|
35
35
|
function isUseCacheFn(fn) {
|
|
36
36
|
return typeof fn === "function" && fn[USE_CACHE_FUNCTION_SYMBOL] === true;
|
|
@@ -44,46 +44,47 @@ function isUseCacheFn(fn) {
|
|
|
44
44
|
* Safe to call multiple times — subsequent calls are no-ops once the provider
|
|
45
45
|
* has been wrapped.
|
|
46
46
|
*
|
|
47
|
-
*
|
|
47
|
+
* Safe in Node.js and Workers because it consumes only the application's
|
|
48
|
+
* standard OpenTelemetry global registry.
|
|
48
49
|
*/
|
|
49
50
|
function extendTracerProviderForCacheComponents() {
|
|
50
|
-
|
|
51
|
-
try {
|
|
52
|
-
const req = globalThis.require;
|
|
53
|
-
if (typeof req === "function") api = req("@opentelemetry/api");
|
|
54
|
-
} catch {
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
51
|
+
const api = getOpenTelemetryApi();
|
|
57
52
|
if (!api) return;
|
|
58
53
|
const provider = api.trace.getTracerProvider();
|
|
59
|
-
if (!provider || typeof provider.getTracer !== "function") return;
|
|
60
54
|
if (extendedProviders.has(provider)) return;
|
|
61
55
|
extendedProviders.add(provider);
|
|
62
56
|
const originalGetTracer = provider.getTracer.bind(provider);
|
|
63
|
-
|
|
64
|
-
provider.
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
const originalStartActiveSpan = tracer.startActiveSpan;
|
|
70
|
-
if (typeof originalStartActiveSpan === "function") tracer.startActiveSpan = (...startActiveSpanArgs) => {
|
|
71
|
-
const workUnitStore = workUnitAsyncStorage.getStore();
|
|
72
|
-
if (!workUnitStore) return originalStartActiveSpan.apply(tracer, startActiveSpanArgs);
|
|
73
|
-
let fnIdx = 0;
|
|
74
|
-
if (startActiveSpanArgs.length === 2 && typeof startActiveSpanArgs[1] === "function") fnIdx = 1;
|
|
75
|
-
else if (startActiveSpanArgs.length === 3 && typeof startActiveSpanArgs[2] === "function") fnIdx = 2;
|
|
76
|
-
else if (startActiveSpanArgs.length > 3 && typeof startActiveSpanArgs[3] === "function") fnIdx = 3;
|
|
77
|
-
if (fnIdx > 0) {
|
|
78
|
-
const originalFn = startActiveSpanArgs[fnIdx];
|
|
79
|
-
if (isUseCacheFn(originalFn)) console.error("A Cache Function (`use cache`) was passed to startActiveSpan which means it will receive a Span argument with a possibly random ID on every invocation leading to cache misses. Provide a wrapping function around the Cache Function that does not forward the Span argument to avoid this issue.");
|
|
80
|
-
startActiveSpanArgs[fnIdx] = (...cbArgs) => workUnitAsyncStorage.run(workUnitStore, originalFn, ...cbArgs);
|
|
81
|
-
}
|
|
82
|
-
return workUnitAsyncStorage.exit(() => originalStartActiveSpan.apply(tracer, startActiveSpanArgs));
|
|
57
|
+
provider.getTracer = (...args) => instrumentTracer(originalGetTracer(...args));
|
|
58
|
+
if (typeof provider.getDelegateTracer === "function") {
|
|
59
|
+
const originalGetDelegateTracer = provider.getDelegateTracer.bind(provider);
|
|
60
|
+
provider.getDelegateTracer = (...args) => {
|
|
61
|
+
const tracer = originalGetDelegateTracer(...args);
|
|
62
|
+
return tracer ? instrumentTracer(tracer) : void 0;
|
|
83
63
|
};
|
|
84
|
-
|
|
85
|
-
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
function instrumentTracer(tracer) {
|
|
67
|
+
if (extendedTracers.has(tracer)) return tracer;
|
|
68
|
+
const mutableTracer = tracer;
|
|
69
|
+
const originalStartSpan = mutableTracer.startSpan.bind(mutableTracer);
|
|
70
|
+
mutableTracer.startSpan = (...startSpanArgs) => workUnitAsyncStorage.exit(() => originalStartSpan(...startSpanArgs));
|
|
71
|
+
const originalStartActiveSpan = mutableTracer.startActiveSpan.bind(mutableTracer);
|
|
72
|
+
mutableTracer.startActiveSpan = (...startActiveSpanArgs) => {
|
|
73
|
+
const workUnitStore = workUnitAsyncStorage.getStore();
|
|
74
|
+
if (!workUnitStore) return originalStartActiveSpan(...startActiveSpanArgs);
|
|
75
|
+
let fnIdx = 0;
|
|
76
|
+
if (startActiveSpanArgs.length === 2 && typeof startActiveSpanArgs[1] === "function") fnIdx = 1;
|
|
77
|
+
else if (startActiveSpanArgs.length === 3 && typeof startActiveSpanArgs[2] === "function") fnIdx = 2;
|
|
78
|
+
else if (startActiveSpanArgs.length > 3 && typeof startActiveSpanArgs[3] === "function") fnIdx = 3;
|
|
79
|
+
if (fnIdx > 0) {
|
|
80
|
+
const originalFn = startActiveSpanArgs[fnIdx];
|
|
81
|
+
if (isUseCacheFn(originalFn)) console.error("A Cache Function (`use cache`) was passed to startActiveSpan which means it will receive a Span argument with a possibly random ID on every invocation leading to cache misses. Provide a wrapping function around the Cache Function that does not forward the Span argument to avoid this issue.");
|
|
82
|
+
startActiveSpanArgs[fnIdx] = (...cbArgs) => workUnitAsyncStorage.run(workUnitStore, originalFn, ...cbArgs);
|
|
83
|
+
}
|
|
84
|
+
return workUnitAsyncStorage.exit(() => originalStartActiveSpan(...startActiveSpanArgs));
|
|
86
85
|
};
|
|
86
|
+
extendedTracers.add(tracer);
|
|
87
|
+
return tracer;
|
|
87
88
|
}
|
|
88
89
|
//#endregion
|
|
89
90
|
export { extendTracerProviderForCacheComponents };
|
|
@@ -53,7 +53,7 @@ type PagesApiRouteModule = {
|
|
|
53
53
|
runtime?: string;
|
|
54
54
|
default?: PagesNodeApiRouteHandler | PagesEdgeApiRouteHandler;
|
|
55
55
|
};
|
|
56
|
-
type PagesApiRouteMatch = {
|
|
56
|
+
export type PagesApiRouteMatch = {
|
|
57
57
|
params: PagesRequestQuery;
|
|
58
58
|
route: Pick<Route, "pattern"> & {
|
|
59
59
|
module: PagesApiRouteModule;
|
|
@@ -69,6 +69,8 @@ type HandlePagesApiRouteOptions = {
|
|
|
69
69
|
*/
|
|
70
70
|
ctx?: ExecutionContextLike;
|
|
71
71
|
edgeRuntime?: EdgeApiExecutionRuntime;
|
|
72
|
+
/** Headers installed before user code, matching Next.js custom-route ordering. */
|
|
73
|
+
initialResponseHeaders?: Headers;
|
|
72
74
|
match: PagesApiRouteMatch | null;
|
|
73
75
|
reportRequestError?: (error: Error, routePattern: string) => void | Promise<void>;
|
|
74
76
|
request: Request;
|
|
@@ -81,6 +83,5 @@ type HandlePagesApiRouteOptions = {
|
|
|
81
83
|
};
|
|
82
84
|
trustedRevalidateOrigin?: string;
|
|
83
85
|
};
|
|
84
|
-
declare function handlePagesApiRoute(options: HandlePagesApiRouteOptions): Promise<Response>;
|
|
85
|
-
//#endregion
|
|
86
|
-
export { PagesApiRouteMatch, handlePagesApiRoute };
|
|
86
|
+
export declare function handlePagesApiRoute(options: HandlePagesApiRouteOptions): Promise<Response>;
|
|
87
|
+
//#endregion
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import "./server-globals.js";
|
|
2
1
|
import { getRequestExecutionContext, runWithExecutionContext } from "../shims/request-context.js";
|
|
2
|
+
import "./server-globals.js";
|
|
3
3
|
import { NextRequest } from "../shims/server.js";
|
|
4
4
|
import { internalServerErrorResponse } from "./http-error-responses.js";
|
|
5
5
|
import { cloneRequestWithUrl } from "./request-pipeline.js";
|
|
6
6
|
import { mergeRouteParamsIntoQuery, parseQueryString, urlQueryToSearchParams } from "../utils/query.js";
|
|
7
|
+
import { tracePagesApiHandler } from "./pages-execution-tracing.js";
|
|
7
8
|
import { resolveBodyParserConfig } from "./pages-body-parser-config.js";
|
|
8
9
|
import { PagesBodyParseError } from "./pages-media-type.js";
|
|
9
10
|
import { createPagesReqRes, markVinextStreamedApiResponse, parsePagesApiBody } from "./pages-node-compat.js";
|
|
@@ -36,13 +37,26 @@ async function _handlePagesApiRoute(options) {
|
|
|
36
37
|
const { route, params } = options.match;
|
|
37
38
|
try {
|
|
38
39
|
if (isEdgeApiRouteModule(route.module)) {
|
|
40
|
+
const handler = route.module.default;
|
|
39
41
|
const nextRequest = new NextRequest(createEdgeApiRequest(options.request, options.url, params), options.nextConfig ? { nextConfig: {
|
|
40
42
|
basePath: options.nextConfig.basePath,
|
|
41
43
|
i18n: options.nextConfig.i18n ?? void 0,
|
|
42
44
|
trailingSlash: options.nextConfig.trailingSlash
|
|
43
45
|
} } : void 0);
|
|
44
|
-
const response = await route.
|
|
45
|
-
if (response instanceof Response)
|
|
46
|
+
const response = await tracePagesApiHandler(route.pattern, () => handler(nextRequest));
|
|
47
|
+
if (response instanceof Response) {
|
|
48
|
+
const finalized = finalizeEdgeApiResponse(response, options.edgeRuntime ?? "worker");
|
|
49
|
+
if (!options.initialResponseHeaders || !options.initialResponseHeaders.keys().next().value) return finalized;
|
|
50
|
+
const headers = new Headers(options.initialResponseHeaders);
|
|
51
|
+
for (const [name, value] of finalized.headers) if (name.toLowerCase() !== "set-cookie") headers.set(name, value);
|
|
52
|
+
const finalizedCookies = finalized.headers.getSetCookie();
|
|
53
|
+
for (const cookie of finalizedCookies) headers.append("Set-Cookie", cookie);
|
|
54
|
+
return new Response(finalized.body, {
|
|
55
|
+
headers,
|
|
56
|
+
status: finalized.status,
|
|
57
|
+
statusText: finalized.statusText
|
|
58
|
+
});
|
|
59
|
+
}
|
|
46
60
|
throw new Error("Edge API route did not return a Response");
|
|
47
61
|
}
|
|
48
62
|
if (!isNodeApiRouteModule(route.module)) return new Response("API route does not export a default function", { status: 500 });
|
|
@@ -53,6 +67,7 @@ async function _handlePagesApiRoute(options) {
|
|
|
53
67
|
const { req, res, responsePromise } = createPagesReqRes({
|
|
54
68
|
allowedRevalidateHeaderKeys: options.nextConfig?.allowedRevalidateHeaderKeys,
|
|
55
69
|
body,
|
|
70
|
+
initialResponseHeaders: options.initialResponseHeaders,
|
|
56
71
|
query,
|
|
57
72
|
request: options.request,
|
|
58
73
|
trustedRevalidateOrigin: options.trustedRevalidateOrigin,
|
|
@@ -79,12 +94,10 @@ async function _handlePagesApiRoute(options) {
|
|
|
79
94
|
type: "response",
|
|
80
95
|
response
|
|
81
96
|
}));
|
|
82
|
-
const handlerCompletion = Promise.resolve().then(() => handler(req, res)).then(() => ({ type: "handler" }), destroyAfterHandlerError);
|
|
97
|
+
const handlerCompletion = Promise.resolve().then(() => tracePagesApiHandler(route.pattern, () => handler(req, res), { recordErrors: options.edgeRuntime !== "node" })).then(() => ({ type: "handler" }), destroyAfterHandlerError);
|
|
83
98
|
const firstSettled = await Promise.race([responseReady, handlerCompletion]);
|
|
84
99
|
if (firstSettled.type === "response") {
|
|
85
|
-
const handlerLifecycle = handlerCompletion.then(completeHandler, (error) =>
|
|
86
|
-
options.reportRequestError?.(error, route.pattern);
|
|
87
|
-
});
|
|
100
|
+
const handlerLifecycle = handlerCompletion.then(completeHandler, (error) => options.reportRequestError?.(error, route.pattern));
|
|
88
101
|
getRequestExecutionContext()?.waitUntil(handlerLifecycle);
|
|
89
102
|
return finalizeResponse(firstSettled.response);
|
|
90
103
|
}
|
|
@@ -95,7 +108,7 @@ async function _handlePagesApiRoute(options) {
|
|
|
95
108
|
status: error.statusCode,
|
|
96
109
|
statusText: error.message
|
|
97
110
|
});
|
|
98
|
-
options.reportRequestError?.(error instanceof Error ? error : new Error(String(error)), route.pattern);
|
|
111
|
+
await options.reportRequestError?.(error instanceof Error ? error : new Error(String(error)), route.pattern);
|
|
99
112
|
return internalServerErrorResponse();
|
|
100
113
|
}
|
|
101
114
|
}
|
|
@@ -13,14 +13,14 @@
|
|
|
13
13
|
* Resolve the effective SSR manifest: prefer the caller-supplied object and
|
|
14
14
|
* fall back to the registered client build metadata.
|
|
15
15
|
*/
|
|
16
|
-
declare function resolveSsrManifest(manifest: Record<string, string[]> | null | undefined): Record<string, string[]> | null;
|
|
16
|
+
export declare function resolveSsrManifest(manifest: Record<string, string[]> | null | undefined): Record<string, string[]> | null;
|
|
17
17
|
/**
|
|
18
18
|
* Look up the asset-file list for a module ID in the SSR manifest.
|
|
19
19
|
*
|
|
20
20
|
* The manifest keys may use relative paths while callers supply absolute
|
|
21
21
|
* paths, so a suffix-match fallback is used when an exact-key lookup fails.
|
|
22
22
|
*/
|
|
23
|
-
declare function getManifestFilesForModule(manifest: Record<string, string[]> | null | undefined, moduleId: string | null | undefined): string[] | null;
|
|
23
|
+
export declare function getManifestFilesForModule(manifest: Record<string, string[]> | null | undefined, moduleId: string | null | undefined): string[] | null;
|
|
24
24
|
/**
|
|
25
25
|
* Find the first `.js` file in the manifest for `moduleId` and return the URL it
|
|
26
26
|
* is actually SERVED from. Used to resolve the client-navigation / hydration URL
|
|
@@ -29,7 +29,7 @@ declare function getManifestFilesForModule(manifest: Record<string, string[]> |
|
|
|
29
29
|
* asset URLs. SSR-manifest values are base-anchored; re-anchor under any
|
|
30
30
|
* configured `assetPrefix` (default `""` keeps the legacy `"/" + file`).
|
|
31
31
|
*/
|
|
32
|
-
declare function resolveClientModuleUrl(manifest: Record<string, string[]> | null | undefined, moduleId: string | null | undefined, basePath?: string, assetPrefix?: string, _deploymentId?: string): string | undefined;
|
|
32
|
+
export declare function resolveClientModuleUrl(manifest: Record<string, string[]> | null | undefined, moduleId: string | null | undefined, basePath?: string, assetPrefix?: string, _deploymentId?: string): string | undefined;
|
|
33
33
|
type CollectAssetTagsOptions = {
|
|
34
34
|
/**
|
|
35
35
|
* SSR manifest mapping module file paths to their associated asset list.
|
|
@@ -59,6 +59,7 @@ type CollectAssetTagsOptions = {
|
|
|
59
59
|
assetPrefix?: string;
|
|
60
60
|
deploymentId?: string;
|
|
61
61
|
crossOrigin?: string;
|
|
62
|
+
initialStylesheetHrefs?: Set<string>;
|
|
62
63
|
};
|
|
63
64
|
/**
|
|
64
65
|
* Build the HTML `<link>` and `<script>` tag string for the SSR response.
|
|
@@ -73,6 +74,5 @@ type CollectAssetTagsOptions = {
|
|
|
73
74
|
*
|
|
74
75
|
* Extracted from `entries/pages-server-entry.ts`.
|
|
75
76
|
*/
|
|
76
|
-
declare function collectAssetTags(options: CollectAssetTagsOptions): string;
|
|
77
|
-
//#endregion
|
|
78
|
-
export { collectAssetTags, getManifestFilesForModule, resolveClientModuleUrl, resolveSsrManifest };
|
|
77
|
+
export declare function collectAssetTags(options: CollectAssetTagsOptions): string;
|
|
78
|
+
//#endregion
|
|
@@ -34,6 +34,30 @@ function getManifestFilesForModule(manifest, moduleId) {
|
|
|
34
34
|
for (const key in manifest) if (moduleId.endsWith("/" + key) || moduleId === key) return manifest[key];
|
|
35
35
|
return null;
|
|
36
36
|
}
|
|
37
|
+
function collectGraphOrderedCss(graph, moduleIds) {
|
|
38
|
+
const ordered = [];
|
|
39
|
+
const emitted = /* @__PURE__ */ new Set();
|
|
40
|
+
const visited = /* @__PURE__ */ new Set();
|
|
41
|
+
function findKey(moduleId) {
|
|
42
|
+
if (!moduleId) return void 0;
|
|
43
|
+
if (graph[moduleId]) return moduleId;
|
|
44
|
+
for (const key in graph) if (moduleId === key || moduleId.endsWith("/" + key)) return key;
|
|
45
|
+
}
|
|
46
|
+
function visit(key) {
|
|
47
|
+
if (!key || visited.has(key)) return;
|
|
48
|
+
visited.add(key);
|
|
49
|
+
const chunk = graph[key];
|
|
50
|
+
if (!chunk) return;
|
|
51
|
+
for (const importedKey of chunk.imports ?? []) visit(importedKey);
|
|
52
|
+
for (const file of chunk.css ?? []) {
|
|
53
|
+
if (emitted.has(file)) continue;
|
|
54
|
+
emitted.add(file);
|
|
55
|
+
ordered.push(file);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
for (const moduleId of moduleIds) visit(findKey(moduleId));
|
|
59
|
+
return ordered;
|
|
60
|
+
}
|
|
37
61
|
/**
|
|
38
62
|
* Find the first `.js` file in the manifest for `moduleId` and return the URL it
|
|
39
63
|
* is actually SERVED from. Used to resolve the client-navigation / hydration URL
|
|
@@ -87,6 +111,14 @@ function collectAssetTags(options) {
|
|
|
87
111
|
tags.push("<link rel=\"modulepreload\"" + nonceAttr + " href=\"" + href(clientEntry) + "\"" + preloadCrossOriginAttr + " />");
|
|
88
112
|
tags.push("<script type=\"module\"" + deferAttr + nonceAttr + " src=\"" + href(clientEntry) + "\"" + scriptCrossOriginAttr + "><\/script>");
|
|
89
113
|
}
|
|
114
|
+
if (runtimeAssets.cssGraph) for (let file of collectGraphOrderedCss(runtimeAssets.cssGraph, options.moduleIds)) {
|
|
115
|
+
if (file.charAt(0) === "/") file = file.slice(1);
|
|
116
|
+
if (seen.has(file)) continue;
|
|
117
|
+
seen.add(file);
|
|
118
|
+
const stylesheetHref = href(file);
|
|
119
|
+
options.initialStylesheetHrefs?.add(stylesheetHref);
|
|
120
|
+
tags.push("<link rel=\"stylesheet\"" + nonceAttr + " href=\"" + stylesheetHref + "\" />");
|
|
121
|
+
}
|
|
90
122
|
if (m) {
|
|
91
123
|
const allFiles = [];
|
|
92
124
|
const moduleIds = options.moduleIds;
|
|
@@ -114,8 +146,11 @@ function collectAssetTags(options) {
|
|
|
114
146
|
if (tf.charAt(0) === "/") tf = tf.slice(1);
|
|
115
147
|
if (seen.has(tf)) continue;
|
|
116
148
|
seen.add(tf);
|
|
117
|
-
if (tf.endsWith(".css"))
|
|
118
|
-
|
|
149
|
+
if (tf.endsWith(".css")) {
|
|
150
|
+
const stylesheetHref = href(tf);
|
|
151
|
+
options.initialStylesheetHrefs?.add(stylesheetHref);
|
|
152
|
+
tags.push("<link rel=\"stylesheet\"" + nonceAttr + " href=\"" + stylesheetHref + "\" />");
|
|
153
|
+
} else if (tf.endsWith(".js")) {
|
|
119
154
|
if (lazySet && lazySet.has(tf)) continue;
|
|
120
155
|
tags.push("<link rel=\"modulepreload\"" + nonceAttr + " href=\"" + href(tf) + "\"" + preloadCrossOriginAttr + " />");
|
|
121
156
|
tags.push("<script type=\"module\"" + deferAttr + nonceAttr + " src=\"" + href(tf) + "\"" + scriptCrossOriginAttr + "><\/script>");
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
/**
|
|
24
24
|
* Default Pages Router API body size limit, matching Next.js.
|
|
25
25
|
*/
|
|
26
|
-
declare const DEFAULT_PAGES_API_BODY_SIZE_LIMIT: number;
|
|
26
|
+
export declare const DEFAULT_PAGES_API_BODY_SIZE_LIMIT: number;
|
|
27
27
|
/**
|
|
28
28
|
* Resolved bodyParser configuration. When `enabled` is `false`, the body
|
|
29
29
|
* MUST be passed through to the handler as a raw stream (or left unparsed
|
|
@@ -43,17 +43,16 @@ type ResolvedBodyParserConfig = {
|
|
|
43
43
|
* Matches the format accepted by Next.js (the `bytes` package); we
|
|
44
44
|
* implement it inline to avoid pulling a dependency for a tiny parser.
|
|
45
45
|
*/
|
|
46
|
-
declare function parseSizeLimit(value: string | number | undefined): number | undefined;
|
|
46
|
+
export declare function parseSizeLimit(value: string | number | undefined): number | undefined;
|
|
47
47
|
/**
|
|
48
48
|
* Read the resolved `bodyParser` config from a route module's `config`
|
|
49
49
|
* export. Defaults to enabled with the 1 MB Next.js default.
|
|
50
50
|
*/
|
|
51
|
-
declare function resolveBodyParserConfig(moduleConfig: {
|
|
51
|
+
export declare function resolveBodyParserConfig(moduleConfig: {
|
|
52
52
|
api?: {
|
|
53
53
|
bodyParser?: boolean | {
|
|
54
54
|
sizeLimit?: string | number;
|
|
55
55
|
};
|
|
56
56
|
};
|
|
57
57
|
} | undefined, defaultSizeLimit?: number): ResolvedBodyParserConfig;
|
|
58
|
-
//#endregion
|
|
59
|
-
export { DEFAULT_PAGES_API_BODY_SIZE_LIMIT, parseSizeLimit, resolveBodyParserConfig };
|
|
58
|
+
//#endregion
|
|
@@ -23,13 +23,13 @@
|
|
|
23
23
|
/**
|
|
24
24
|
* Default Pages Router API body size limit, matching Next.js.
|
|
25
25
|
*/
|
|
26
|
-
const DEFAULT_PAGES_API_BODY_SIZE_LIMIT =
|
|
26
|
+
const DEFAULT_PAGES_API_BODY_SIZE_LIMIT = 1048576;
|
|
27
27
|
const SIZE_UNITS = {
|
|
28
28
|
b: 1,
|
|
29
29
|
kb: 1024,
|
|
30
|
-
mb:
|
|
31
|
-
gb:
|
|
32
|
-
tb:
|
|
30
|
+
mb: 1048576,
|
|
31
|
+
gb: 1073741824,
|
|
32
|
+
tb: 1099511627776
|
|
33
33
|
};
|
|
34
34
|
/**
|
|
35
35
|
* Parse a Next.js-style `sizeLimit` string (e.g. `"4mb"`, `"100kb"`, `"1gb"`)
|