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,7 +1,7 @@
|
|
|
1
1
|
//#region src/server/navigation-trace.d.ts
|
|
2
|
-
declare const NAVIGATION_TRACE_SCHEMA_VERSION = 0;
|
|
2
|
+
export declare const NAVIGATION_TRACE_SCHEMA_VERSION = 0;
|
|
3
3
|
type NavigationTraceSchemaVersion = 0;
|
|
4
|
-
declare const NavigationTraceReasonCodes: {
|
|
4
|
+
export declare const NavigationTraceReasonCodes: {
|
|
5
5
|
cacheProofRejected: "NC_CACHE_REJECT";
|
|
6
6
|
cacheReuseTokenRejected: "NC_CACHE_TOKEN_REJECT";
|
|
7
7
|
commitCurrent: "NC_COMMIT";
|
|
@@ -36,26 +36,26 @@ declare const NavigationTraceReasonCodes: {
|
|
|
36
36
|
streamedRedirectLoop: "NC_RSC_STREAMED_REDIRECT_LOOP";
|
|
37
37
|
visitedResponseReuse: "NC_VISITED_REUSE";
|
|
38
38
|
};
|
|
39
|
-
declare const NavigationTraceTransactionCodes: {
|
|
39
|
+
export declare const NavigationTraceTransactionCodes: {
|
|
40
40
|
hardNavigate: "NT_HARD_NAVIGATE";
|
|
41
41
|
noCommit: "NT_NO_COMMIT";
|
|
42
42
|
visibleCommit: "NT_VISIBLE_COMMIT";
|
|
43
43
|
};
|
|
44
|
-
type NavigationTraceReasonCode = (typeof NavigationTraceReasonCodes)[keyof typeof NavigationTraceReasonCodes];
|
|
45
|
-
type NavigationTraceTransactionCode = (typeof NavigationTraceTransactionCodes)[keyof typeof NavigationTraceTransactionCodes];
|
|
44
|
+
export type NavigationTraceReasonCode = (typeof NavigationTraceReasonCodes)[keyof typeof NavigationTraceReasonCodes];
|
|
45
|
+
export type NavigationTraceTransactionCode = (typeof NavigationTraceTransactionCodes)[keyof typeof NavigationTraceTransactionCodes];
|
|
46
46
|
type NavigationTraceCode = NavigationTraceReasonCode | NavigationTraceTransactionCode;
|
|
47
47
|
type NavigationTraceFieldName = "activeNavigationId" | "cacheProofCode" | "cacheProofMode" | "cacheProofReuseClass" | "cacheProofScope" | "cacheReuseTokenReason" | "currentRootLayoutTreePath" | "currentVisibleCommitVersion" | "nextRootLayoutTreePath" | "eventKind" | "fetchResultSource" | "freshFetchReason" | "operationLane" | "pendingOperationId" | "redirectDepth" | "redirectSignal" | "startedVisibleCommitVersion" | "startedNavigationId" | "targetHref" | "traverseDirection";
|
|
48
48
|
type NavigationTraceFieldValue = string | number | boolean | null;
|
|
49
|
-
type NavigationTraceFields = Readonly<Partial<Record<NavigationTraceFieldName, NavigationTraceFieldValue>>>;
|
|
49
|
+
export type NavigationTraceFields = Readonly<Partial<Record<NavigationTraceFieldName, NavigationTraceFieldValue>>>;
|
|
50
50
|
type NavigationTraceEntry = Readonly<{
|
|
51
51
|
code: NavigationTraceCode;
|
|
52
52
|
fields: NavigationTraceFields;
|
|
53
53
|
}>;
|
|
54
|
-
type NavigationTrace = Readonly<{
|
|
54
|
+
export type NavigationTrace = Readonly<{
|
|
55
55
|
schemaVersion: NavigationTraceSchemaVersion;
|
|
56
56
|
entries: readonly NavigationTraceEntry[];
|
|
57
57
|
}>;
|
|
58
|
-
declare function createNavigationLifecycleTraceFields(options: {
|
|
58
|
+
export declare function createNavigationLifecycleTraceFields(options: {
|
|
59
59
|
activeNavigationId?: number;
|
|
60
60
|
currentRootLayoutTreePath: string | null;
|
|
61
61
|
currentVisibleCommitVersion: number;
|
|
@@ -63,7 +63,6 @@ declare function createNavigationLifecycleTraceFields(options: {
|
|
|
63
63
|
startedNavigationId?: number;
|
|
64
64
|
startedVisibleCommitVersion: number;
|
|
65
65
|
}): NavigationTraceFields;
|
|
66
|
-
declare function createNavigationTrace(code: NavigationTraceCode, fields?: NavigationTraceFields): NavigationTrace;
|
|
67
|
-
declare function prependNavigationTraceEntry(trace: NavigationTrace, code: NavigationTraceCode, fields?: NavigationTraceFields): NavigationTrace;
|
|
68
|
-
//#endregion
|
|
69
|
-
export { NAVIGATION_TRACE_SCHEMA_VERSION, NavigationTrace, NavigationTraceFields, NavigationTraceReasonCode, NavigationTraceReasonCodes, NavigationTraceTransactionCode, NavigationTraceTransactionCodes, createNavigationLifecycleTraceFields, createNavigationTrace, prependNavigationTraceEntry };
|
|
66
|
+
export declare function createNavigationTrace(code: NavigationTraceCode, fields?: NavigationTraceFields): NavigationTrace;
|
|
67
|
+
export declare function prependNavigationTraceEntry(trace: NavigationTrace, code: NavigationTraceCode, fields?: NavigationTraceFields): NavigationTrace;
|
|
68
|
+
//#endregion
|
|
@@ -8,7 +8,7 @@ type NextHttpErrorDigest = {
|
|
|
8
8
|
* Pulls a stringified `digest` off an unknown thrown value, or returns null
|
|
9
9
|
* when the value is not a digest-bearing error.
|
|
10
10
|
*/
|
|
11
|
-
declare function getNextErrorDigest(error: unknown): string | null;
|
|
11
|
+
export declare function getNextErrorDigest(error: unknown): string | null;
|
|
12
12
|
/**
|
|
13
13
|
* Parses redirect digests from vinext's encoded three-part form and Next.js's
|
|
14
14
|
* raw, semicolon-terminated form. Returns null when the digest is not a
|
|
@@ -17,12 +17,11 @@ declare function getNextErrorDigest(error: unknown): string | null;
|
|
|
17
17
|
* 307 when omitted; an omitted `type` is left as null so the caller can apply
|
|
18
18
|
* the correct context-sensitive default.
|
|
19
19
|
*/
|
|
20
|
-
declare function parseNextRedirectDigest(digest: string): NextRedirectDigest | null;
|
|
20
|
+
export declare function parseNextRedirectDigest(digest: string): NextRedirectDigest | null;
|
|
21
21
|
/**
|
|
22
22
|
* Parses a `NEXT_NOT_FOUND` or `NEXT_HTTP_ERROR_FALLBACK;<status>` digest.
|
|
23
23
|
* Returns `{ status: 404 }` for `NEXT_NOT_FOUND` and the parsed status code
|
|
24
24
|
* for the fallback form. Returns null otherwise.
|
|
25
25
|
*/
|
|
26
|
-
declare function parseNextHttpErrorDigest(digest: string): NextHttpErrorDigest | null;
|
|
27
|
-
//#endregion
|
|
28
|
-
export { getNextErrorDigest, parseNextHttpErrorDigest, parseNextRedirectDigest };
|
|
26
|
+
export declare function parseNextHttpErrorDigest(digest: string): NextHttpErrorDigest | null;
|
|
27
|
+
//#endregion
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/server/normalize-path.d.ts
|
|
2
|
-
declare function escapePathDelimiters(segment: string, escapeEncoded?: boolean): string;
|
|
2
|
+
export declare function escapePathDelimiters(segment: string, escapeEncoded?: boolean): string;
|
|
3
3
|
/**
|
|
4
4
|
* Decode a URL pathname segment-by-segment, preserving encoded path delimiters.
|
|
5
5
|
* Non-ASCII characters (e.g. %C3%A9 -> e) are decoded, but structural characters
|
|
@@ -11,8 +11,8 @@ declare function escapePathDelimiters(segment: string, escapeEncoded?: boolean):
|
|
|
11
11
|
* Ported from Next.js: packages/next/src/server/lib/router-utils/decode-path-params.ts
|
|
12
12
|
* https://github.com/vercel/next.js/blob/canary/packages/next/src/server/lib/router-utils/decode-path-params.ts
|
|
13
13
|
*/
|
|
14
|
-
declare function decodePathParams(pathname: string): string;
|
|
15
|
-
declare function isInterceptionMatchedUrlPath(value: string): boolean;
|
|
14
|
+
export declare function decodePathParams(pathname: string): string;
|
|
15
|
+
export declare function isInterceptionMatchedUrlPath(value: string): boolean;
|
|
16
16
|
/**
|
|
17
17
|
* Path normalization utility for request handling.
|
|
18
18
|
*
|
|
@@ -33,6 +33,5 @@ declare function isInterceptionMatchedUrlPath(value: string): boolean;
|
|
|
33
33
|
* - Decode percent-encoded characters (callers should decode before calling this)
|
|
34
34
|
* - Lowercase the path (route matching is case-sensitive)
|
|
35
35
|
*/
|
|
36
|
-
declare function normalizePath(pathname: string): string;
|
|
37
|
-
//#endregion
|
|
38
|
-
export { decodePathParams, escapePathDelimiters, isInterceptionMatchedUrlPath, normalizePath };
|
|
36
|
+
export declare function normalizePath(pathname: string): string;
|
|
37
|
+
//#endregion
|
|
@@ -7,6 +7,5 @@
|
|
|
7
7
|
* after decoding backslashes and encoded delimiters, would cause a browser
|
|
8
8
|
* to resolve a `Location` containing the pathname as protocol-relative.
|
|
9
9
|
*/
|
|
10
|
-
declare function isOpenRedirectShaped(rawPathname: string): boolean;
|
|
11
|
-
//#endregion
|
|
12
|
-
export { isOpenRedirectShaped };
|
|
10
|
+
export declare function isOpenRedirectShaped(rawPathname: string): boolean;
|
|
11
|
+
//#endregion
|
|
@@ -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
|
|
@@ -3,7 +3,10 @@ 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
|
+
import { markRouteCacheabilityExplicitResponsePolicy } from "../shims/cacheability-classification.js";
|
|
7
|
+
import { hasCdnResponsePolicy } from "./cache-control.js";
|
|
6
8
|
import { mergeRouteParamsIntoQuery, parseQueryString, urlQueryToSearchParams } from "../utils/query.js";
|
|
9
|
+
import { tracePagesApiHandler } from "./pages-execution-tracing.js";
|
|
7
10
|
import { resolveBodyParserConfig } from "./pages-body-parser-config.js";
|
|
8
11
|
import { PagesBodyParseError } from "./pages-media-type.js";
|
|
9
12
|
import { createPagesReqRes, markVinextStreamedApiResponse, parsePagesApiBody } from "./pages-node-compat.js";
|
|
@@ -28,21 +31,38 @@ function isNodeApiRouteModule(module) {
|
|
|
28
31
|
return typeof module.default === "function" && !isEdgeApiRuntime(resolveModuleRuntime(module));
|
|
29
32
|
}
|
|
30
33
|
async function handlePagesApiRoute(options) {
|
|
31
|
-
|
|
32
|
-
|
|
34
|
+
const run = async () => {
|
|
35
|
+
const response = await _handlePagesApiRoute(options);
|
|
36
|
+
if (hasCdnResponsePolicy(response.headers)) markRouteCacheabilityExplicitResponsePolicy();
|
|
37
|
+
return response;
|
|
38
|
+
};
|
|
39
|
+
return options.ctx ? runWithExecutionContext(options.ctx, run) : run();
|
|
33
40
|
}
|
|
34
41
|
async function _handlePagesApiRoute(options) {
|
|
35
42
|
if (!options.match) return new Response("404 - API route not found", { status: 404 });
|
|
36
43
|
const { route, params } = options.match;
|
|
37
44
|
try {
|
|
38
45
|
if (isEdgeApiRouteModule(route.module)) {
|
|
46
|
+
const handler = route.module.default;
|
|
39
47
|
const nextRequest = new NextRequest(createEdgeApiRequest(options.request, options.url, params), options.nextConfig ? { nextConfig: {
|
|
40
48
|
basePath: options.nextConfig.basePath,
|
|
41
49
|
i18n: options.nextConfig.i18n ?? void 0,
|
|
42
50
|
trailingSlash: options.nextConfig.trailingSlash
|
|
43
51
|
} } : void 0);
|
|
44
|
-
const response = await route.
|
|
45
|
-
if (response instanceof Response)
|
|
52
|
+
const response = await tracePagesApiHandler(route.pattern, () => handler(nextRequest));
|
|
53
|
+
if (response instanceof Response) {
|
|
54
|
+
const finalized = finalizeEdgeApiResponse(response, options.edgeRuntime ?? "worker");
|
|
55
|
+
if (!options.initialResponseHeaders || !options.initialResponseHeaders.keys().next().value) return finalized;
|
|
56
|
+
const headers = new Headers(options.initialResponseHeaders);
|
|
57
|
+
for (const [name, value] of finalized.headers) if (name.toLowerCase() !== "set-cookie") headers.set(name, value);
|
|
58
|
+
const finalizedCookies = finalized.headers.getSetCookie();
|
|
59
|
+
for (const cookie of finalizedCookies) headers.append("Set-Cookie", cookie);
|
|
60
|
+
return new Response(finalized.body, {
|
|
61
|
+
headers,
|
|
62
|
+
status: finalized.status,
|
|
63
|
+
statusText: finalized.statusText
|
|
64
|
+
});
|
|
65
|
+
}
|
|
46
66
|
throw new Error("Edge API route did not return a Response");
|
|
47
67
|
}
|
|
48
68
|
if (!isNodeApiRouteModule(route.module)) return new Response("API route does not export a default function", { status: 500 });
|
|
@@ -53,6 +73,7 @@ async function _handlePagesApiRoute(options) {
|
|
|
53
73
|
const { req, res, responsePromise } = createPagesReqRes({
|
|
54
74
|
allowedRevalidateHeaderKeys: options.nextConfig?.allowedRevalidateHeaderKeys,
|
|
55
75
|
body,
|
|
76
|
+
initialResponseHeaders: options.initialResponseHeaders,
|
|
56
77
|
query,
|
|
57
78
|
request: options.request,
|
|
58
79
|
trustedRevalidateOrigin: options.trustedRevalidateOrigin,
|
|
@@ -79,12 +100,10 @@ async function _handlePagesApiRoute(options) {
|
|
|
79
100
|
type: "response",
|
|
80
101
|
response
|
|
81
102
|
}));
|
|
82
|
-
const handlerCompletion = Promise.resolve().then(() => handler(req, res)).then(() => ({ type: "handler" }), destroyAfterHandlerError);
|
|
103
|
+
const handlerCompletion = Promise.resolve().then(() => tracePagesApiHandler(route.pattern, () => handler(req, res), { recordErrors: options.edgeRuntime !== "node" })).then(() => ({ type: "handler" }), destroyAfterHandlerError);
|
|
83
104
|
const firstSettled = await Promise.race([responseReady, handlerCompletion]);
|
|
84
105
|
if (firstSettled.type === "response") {
|
|
85
|
-
const handlerLifecycle = handlerCompletion.then(completeHandler, (error) =>
|
|
86
|
-
options.reportRequestError?.(error, route.pattern);
|
|
87
|
-
});
|
|
106
|
+
const handlerLifecycle = handlerCompletion.then(completeHandler, (error) => options.reportRequestError?.(error, route.pattern));
|
|
88
107
|
getRequestExecutionContext()?.waitUntil(handlerLifecycle);
|
|
89
108
|
return finalizeResponse(firstSettled.response);
|
|
90
109
|
}
|
|
@@ -95,7 +114,7 @@ async function _handlePagesApiRoute(options) {
|
|
|
95
114
|
status: error.statusCode,
|
|
96
115
|
statusText: error.message
|
|
97
116
|
});
|
|
98
|
-
options.reportRequestError?.(error instanceof Error ? error : new Error(String(error)), route.pattern);
|
|
117
|
+
await options.reportRequestError?.(error instanceof Error ? error : new Error(String(error)), route.pattern);
|
|
99
118
|
return internalServerErrorResponse();
|
|
100
119
|
}
|
|
101
120
|
}
|