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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/server/http-range.d.ts
|
|
2
|
-
type ByteRange = {
|
|
2
|
+
export type ByteRange = {
|
|
3
3
|
kind: "ignore";
|
|
4
4
|
} | {
|
|
5
5
|
kind: "unsatisfiable";
|
|
@@ -12,7 +12,7 @@ type ByteRange = {
|
|
|
12
12
|
* Parse a single bytes range. Unsupported range units, malformed values, and
|
|
13
13
|
* multipart ranges are ignored, which RFC 9110 permits servers to do.
|
|
14
14
|
*/
|
|
15
|
-
declare function parseByteRange(value: string | undefined, size: number): ByteRange;
|
|
15
|
+
export declare function parseByteRange(value: string | undefined, size: number): ByteRange;
|
|
16
16
|
/**
|
|
17
17
|
* If-Range requires strong entity-tag comparison. Date validators are matched
|
|
18
18
|
* at HTTP-date (whole-second) precision because filesystem mtimes are finer,
|
|
@@ -20,6 +20,5 @@ declare function parseByteRange(value: string | undefined, size: number): ByteRa
|
|
|
20
20
|
* Vinext's static ETags are currently weak, so its emitted Last-Modified value
|
|
21
21
|
* is the validator that can enable a range response on a later request.
|
|
22
22
|
*/
|
|
23
|
-
declare function ifRangeAllowsRange(value: string | undefined, etag: string, mtimeMs: number): boolean;
|
|
24
|
-
//#endregion
|
|
25
|
-
export { ByteRange, ifRangeAllowsRange, parseByteRange };
|
|
23
|
+
export declare function ifRangeAllowsRange(value: string | undefined, etag: string, mtimeMs: number): boolean;
|
|
24
|
+
//#endregion
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
//#region src/server/hybrid-route-priority.d.ts
|
|
2
|
-
type HybridRoutePriorityRoute = {
|
|
2
|
+
export type HybridRoutePriorityRoute = {
|
|
3
3
|
isDynamic: boolean;
|
|
4
4
|
pattern: string;
|
|
5
5
|
sourcePath?: string | null;
|
|
6
6
|
};
|
|
7
|
-
declare function validateHybridRouteConflicts(pagesRoutes: readonly HybridRoutePriorityRoute[], appRoutes: readonly HybridRoutePriorityRoute[]): void;
|
|
7
|
+
export declare function validateHybridRouteConflicts(pagesRoutes: readonly HybridRoutePriorityRoute[], appRoutes: readonly HybridRoutePriorityRoute[]): void;
|
|
8
8
|
/**
|
|
9
9
|
* Return whether a matched Pages Router route should own the request instead
|
|
10
10
|
* of a matched App Router route.
|
|
@@ -17,6 +17,5 @@ declare function validateHybridRouteConflicts(pagesRoutes: readonly HybridRouteP
|
|
|
17
17
|
* `routing/utils.ts#compareHybridRoutePatterns` so the server and client
|
|
18
18
|
* always reach the same answer.
|
|
19
19
|
*/
|
|
20
|
-
declare function pagesRouteHasPriorityOverAppRoute(pagesRoute: HybridRoutePriorityRoute, appRoute: HybridRoutePriorityRoute | null): boolean;
|
|
21
|
-
//#endregion
|
|
22
|
-
export { HybridRoutePriorityRoute, pagesRouteHasPriorityOverAppRoute, validateHybridRouteConflicts };
|
|
20
|
+
export declare function pagesRouteHasPriorityOverAppRoute(pagesRoute: HybridRoutePriorityRoute, appRoute: HybridRoutePriorityRoute | null): boolean;
|
|
21
|
+
//#endregion
|
|
@@ -18,14 +18,14 @@
|
|
|
18
18
|
* as-is (no transformation) with security headers applied.
|
|
19
19
|
*/
|
|
20
20
|
/** The pathname that triggers image optimization (matches Next.js). */
|
|
21
|
-
declare const IMAGE_OPTIMIZATION_PATH = "/_next/image";
|
|
21
|
+
export declare const IMAGE_OPTIMIZATION_PATH = "/_next/image";
|
|
22
22
|
/**
|
|
23
23
|
* Vinext-prefixed alias for the image optimization endpoint. Accepted
|
|
24
24
|
* alongside IMAGE_OPTIMIZATION_PATH so apps that wire image URLs to the
|
|
25
25
|
* vinext-prefixed path continue to work; emit IMAGE_OPTIMIZATION_PATH
|
|
26
26
|
* for any newly generated URLs.
|
|
27
27
|
*/
|
|
28
|
-
declare const VINEXT_IMAGE_OPTIMIZATION_PATH = "/_vinext/image";
|
|
28
|
+
export declare const VINEXT_IMAGE_OPTIMIZATION_PATH = "/_vinext/image";
|
|
29
29
|
/**
|
|
30
30
|
* Returns true when `pathname` is either supported image optimization
|
|
31
31
|
* endpoint.
|
|
@@ -38,12 +38,12 @@ declare const VINEXT_IMAGE_OPTIMIZATION_PATH = "/_vinext/image";
|
|
|
38
38
|
* Rejecting the slashed form 404'd every dev-mode next/image request under
|
|
39
39
|
* `trailingSlash: true`.
|
|
40
40
|
*/
|
|
41
|
-
declare function isImageOptimizationPath(pathname: string): boolean;
|
|
41
|
+
export declare function isImageOptimizationPath(pathname: string): boolean;
|
|
42
42
|
/**
|
|
43
43
|
* Image security configuration from next.config.js `images` section.
|
|
44
44
|
* Controls SVG handling and security headers for the image endpoint.
|
|
45
45
|
*/
|
|
46
|
-
type ImageConfig = {
|
|
46
|
+
export type ImageConfig = {
|
|
47
47
|
/** Allowed device widths. Defaults to Next.js device sizes. */
|
|
48
48
|
deviceSizes?: number[];
|
|
49
49
|
/** Allowed fixed-image widths. Defaults to Next.js image sizes. */
|
|
@@ -76,12 +76,12 @@ type ImageConfig = {
|
|
|
76
76
|
* These are the allowed widths for image optimization when no custom
|
|
77
77
|
* config is provided. Matches Next.js defaults exactly.
|
|
78
78
|
*/
|
|
79
|
-
declare const DEFAULT_DEVICE_SIZES: number[];
|
|
80
|
-
declare const DEFAULT_IMAGE_SIZES: number[];
|
|
81
|
-
type ParseImageParamsOptions = {
|
|
79
|
+
export declare const DEFAULT_DEVICE_SIZES: number[];
|
|
80
|
+
export declare const DEFAULT_IMAGE_SIZES: number[];
|
|
81
|
+
export type ParseImageParamsOptions = {
|
|
82
82
|
isDev?: boolean;
|
|
83
83
|
};
|
|
84
|
-
declare function resolveDevImageRedirect(requestUrl: URL, allowedWidths?: number[], allowedQualities?: number[], options?: ParseImageParamsOptions): string | null;
|
|
84
|
+
export declare function resolveDevImageRedirect(requestUrl: URL, allowedWidths?: number[], allowedQualities?: number[], options?: ParseImageParamsOptions): string | null;
|
|
85
85
|
/**
|
|
86
86
|
* Parse and validate image optimization query parameters.
|
|
87
87
|
* Returns null if the request is malformed.
|
|
@@ -90,7 +90,7 @@ declare function resolveDevImageRedirect(requestUrl: URL, allowedWidths?: number
|
|
|
90
90
|
* test/integration/image-optimizer/test/index.test.ts
|
|
91
91
|
* https://github.com/vercel/next.js/blob/canary/test/integration/image-optimizer/test/index.test.ts
|
|
92
92
|
*/
|
|
93
|
-
declare function parseImageParams(url: URL, allowedWidths?: number[], allowedQualities?: number[], options?: ParseImageParamsOptions): {
|
|
93
|
+
export declare function parseImageParams(url: URL, allowedWidths?: number[], allowedQualities?: number[], options?: ParseImageParamsOptions): {
|
|
94
94
|
imageUrl: string;
|
|
95
95
|
width: number;
|
|
96
96
|
quality: number;
|
|
@@ -99,29 +99,29 @@ declare function parseImageParams(url: URL, allowedWidths?: number[], allowedQua
|
|
|
99
99
|
* Negotiate the best output format based on the Accept header.
|
|
100
100
|
* Returns an IANA media type.
|
|
101
101
|
*/
|
|
102
|
-
declare function negotiateImageFormat(acceptHeader: string | null): string;
|
|
102
|
+
export declare function negotiateImageFormat(acceptHeader: string | null): string;
|
|
103
103
|
/**
|
|
104
104
|
* Standard Cache-Control header for optimized images.
|
|
105
105
|
* Optimized images are immutable because the URL encodes the transform params.
|
|
106
106
|
*/
|
|
107
|
-
declare const IMAGE_CACHE_CONTROL = "public, max-age=31536000, immutable";
|
|
107
|
+
export declare const IMAGE_CACHE_CONTROL = "public, max-age=31536000, immutable";
|
|
108
108
|
/**
|
|
109
109
|
* Content-Security-Policy for image optimization responses.
|
|
110
110
|
* Blocks script execution and framing to prevent XSS via SVG or other
|
|
111
111
|
* active content that might be served through the image endpoint.
|
|
112
112
|
* Matches Next.js default: script-src 'none'; frame-src 'none'; sandbox;
|
|
113
113
|
*/
|
|
114
|
-
declare const IMAGE_CONTENT_SECURITY_POLICY = "script-src 'none'; frame-src 'none'; sandbox;";
|
|
114
|
+
export declare const IMAGE_CONTENT_SECURITY_POLICY = "script-src 'none'; frame-src 'none'; sandbox;";
|
|
115
115
|
/**
|
|
116
116
|
* Check if a Content-Type header value is a safe image type.
|
|
117
117
|
* Returns false for SVG (unless dangerouslyAllowSVG is true), HTML, or any non-image type.
|
|
118
118
|
*/
|
|
119
|
-
declare function isSafeImageContentType(contentType: string | null, dangerouslyAllowSVG?: boolean): boolean;
|
|
119
|
+
export declare function isSafeImageContentType(contentType: string | null, dangerouslyAllowSVG?: boolean): boolean;
|
|
120
120
|
/**
|
|
121
121
|
* Handlers for image optimization I/O operations.
|
|
122
122
|
* Workers provide these callbacks to adapt their specific bindings.
|
|
123
123
|
*/
|
|
124
|
-
type ImageHandlers = {
|
|
124
|
+
export type ImageHandlers = {
|
|
125
125
|
/** Fetch the source image from storage (e.g., Cloudflare ASSETS binding). */
|
|
126
126
|
fetchAsset: (path: string, request: Request) => Promise<Response>;
|
|
127
127
|
/** Optional: Transform the image (resize, format, quality). */
|
|
@@ -138,14 +138,14 @@ type ImageHandlers = {
|
|
|
138
138
|
* handlers, optionally transforms it, and returns the response with appropriate
|
|
139
139
|
* cache headers.
|
|
140
140
|
*/
|
|
141
|
-
declare function handleImageOptimization(request: Request, handlers: ImageHandlers, allowedWidths?: number[], imageConfig?: ImageConfig): Promise<Response>;
|
|
141
|
+
export declare function handleImageOptimization(request: Request, handlers: ImageHandlers, allowedWidths?: number[], imageConfig?: ImageConfig): Promise<Response>;
|
|
142
142
|
/**
|
|
143
143
|
* A server-side image optimizer: the transform backend that resizes/transcodes
|
|
144
144
|
* a source image. Produced by an adapter factory (e.g. `imagesOptimizer()` from
|
|
145
145
|
* `@vinext/cloudflare/images/images-optimizer`) and registered via
|
|
146
146
|
* {@link setImageOptimizer}.
|
|
147
147
|
*/
|
|
148
|
-
type ImageOptimizer = {
|
|
148
|
+
export type ImageOptimizer = {
|
|
149
149
|
/** Transform the source image (resize, format, quality). */
|
|
150
150
|
transformImage: (body: ReadableStream, options: {
|
|
151
151
|
width: number;
|
|
@@ -175,9 +175,9 @@ type ImageOptimizer = {
|
|
|
175
175
|
* don't have to wire `env.IMAGES` into a custom worker entry. This setter
|
|
176
176
|
* remains the internal registration target.
|
|
177
177
|
*/
|
|
178
|
-
declare function setImageOptimizer(optimizer: ImageOptimizer | null): void;
|
|
178
|
+
export declare function setImageOptimizer(optimizer: ImageOptimizer | null): void;
|
|
179
179
|
/** Get the active image optimizer, or `null` when none is configured. */
|
|
180
|
-
declare function getImageOptimizer(): ImageOptimizer | null;
|
|
180
|
+
export declare function getImageOptimizer(): ImageOptimizer | null;
|
|
181
181
|
/**
|
|
182
182
|
* Handle an image optimization request using the configured optimizer (if any).
|
|
183
183
|
*
|
|
@@ -189,6 +189,5 @@ declare function getImageOptimizer(): ImageOptimizer | null;
|
|
|
189
189
|
* Node). When no optimizer is registered, the request is served unoptimized
|
|
190
190
|
* (passthrough) with the same security/cache headers.
|
|
191
191
|
*/
|
|
192
|
-
declare function handleConfiguredImageOptimization(request: Request, fetchAsset: (path: string, request: Request) => Promise<Response>, allowedWidths?: number[], imageConfig?: ImageConfig): Promise<Response>;
|
|
193
|
-
//#endregion
|
|
194
|
-
export { DEFAULT_DEVICE_SIZES, DEFAULT_IMAGE_SIZES, IMAGE_CACHE_CONTROL, IMAGE_CONTENT_SECURITY_POLICY, IMAGE_OPTIMIZATION_PATH, ImageConfig, ImageHandlers, ImageOptimizer, ParseImageParamsOptions, VINEXT_IMAGE_OPTIMIZATION_PATH, getImageOptimizer, handleConfiguredImageOptimization, handleImageOptimization, isImageOptimizationPath, isSafeImageContentType, negotiateImageFormat, parseImageParams, resolveDevImageRedirect, setImageOptimizer };
|
|
192
|
+
export declare function handleConfiguredImageOptimization(request: Request, fetchAsset: (path: string, request: Request) => Promise<Response>, allowedWidths?: number[], imageConfig?: ImageConfig): Promise<Response>;
|
|
193
|
+
//#endregion
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
//#region src/server/implicit-tags.d.ts
|
|
2
2
|
type AppCacheLeafKind = "page" | "route";
|
|
3
|
-
declare function buildAppPageTags(cleanPathname: string, extraTags: string[], routeSegments: readonly string[]): string[];
|
|
4
|
-
declare function buildPageCacheTags(pathname: string, extraTags: string[], routeSegments: string[], leafKind: AppCacheLeafKind): string[];
|
|
5
|
-
//#endregion
|
|
6
|
-
export { buildAppPageTags, buildPageCacheTags };
|
|
3
|
+
export declare function buildAppPageTags(cleanPathname: string, extraTags: string[], routeSegments: readonly string[]): string[];
|
|
4
|
+
export declare function buildPageCacheTags(pathname: string, extraTags: string[], routeSegments: string[], leafKind: AppCacheLeafKind): string[];
|
|
5
|
+
//#endregion
|
|
@@ -1,31 +1,26 @@
|
|
|
1
1
|
//#region src/server/instrumentation-runtime.d.ts
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Idempotent instrumentation initialisation.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* ## Why lazy?
|
|
11
|
-
*
|
|
12
|
-
* A top-level `await` at module evaluation time blocks the entire V8 isolate
|
|
13
|
-
* startup phase. On Cloudflare Workers that latency is added to every cold
|
|
14
|
-
* start. Moving the `register()` call into the first request handler keeps
|
|
15
|
-
* module evaluation synchronous while still guaranteeing that instrumentation
|
|
16
|
-
* runs before any request is handled.
|
|
5
|
+
* Generated production entries call this before evaluating user route,
|
|
6
|
+
* middleware, and boundary modules. Request handlers call it again so
|
|
7
|
+
* development and split-stage entry points keep the same guarantee. Keeping
|
|
8
|
+
* the shared-promise bookkeeping here leaves generated entries as wiring and
|
|
9
|
+
* makes concurrent initialization directly testable.
|
|
17
10
|
*
|
|
18
11
|
* ## Why idempotent?
|
|
19
12
|
*
|
|
20
13
|
* The same handler may be invoked concurrently (e.g. on a warm Worker).
|
|
21
|
-
*
|
|
22
|
-
* `register()` is called exactly once even when
|
|
14
|
+
* Process-wide state keyed by the imported instrumentation module, plus a
|
|
15
|
+
* shared promise, ensures that `register()` is called exactly once even when
|
|
16
|
+
* multiple requests or bundled runtime copies race. Keying by module avoids
|
|
17
|
+
* suppressing registration for another app loaded in the same process.
|
|
23
18
|
*
|
|
24
19
|
* ## Next.js semantics
|
|
25
20
|
*
|
|
26
|
-
* Next.js calls `register()` once
|
|
27
|
-
* request handling.
|
|
28
|
-
* request
|
|
21
|
+
* Next.js calls `register()` once before user server modules are evaluated and
|
|
22
|
+
* before request handling. Production entries await this helper from a cached
|
|
23
|
+
* request-time initializer before dynamically importing those user modules.
|
|
29
24
|
*
|
|
30
25
|
* References:
|
|
31
26
|
* - https://nextjs.org/docs/app/building-your-application/optimizing/instrumentation
|
|
@@ -43,7 +38,8 @@
|
|
|
43
38
|
* @param instrumentationModule - The imported `instrumentation.ts` module.
|
|
44
39
|
* Passed as an argument so the generated entry can import it normally
|
|
45
40
|
* without this helper needing to know the module path.
|
|
41
|
+
* @param instrumentationId - Stable source path used to deduplicate the same
|
|
42
|
+
* instrumentation file when Vite evaluates it in separate environments.
|
|
46
43
|
*/
|
|
47
|
-
declare function ensureInstrumentationRegistered(instrumentationModule: Record<string, unknown
|
|
48
|
-
//#endregion
|
|
49
|
-
export { ensureInstrumentationRegistered };
|
|
44
|
+
export declare function ensureInstrumentationRegistered(instrumentationModule: Record<string, unknown>, instrumentationId?: string): Promise<void>;
|
|
45
|
+
//#endregion
|
|
@@ -1,7 +1,22 @@
|
|
|
1
1
|
import { extendTracerProviderForCacheComponents } from "./otel-tracer-extension.js";
|
|
2
2
|
//#region src/server/instrumentation-runtime.ts
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
const INSTRUMENTATION_STATE_KEY = Symbol.for("vinext.instrumentation.state");
|
|
4
|
+
function getInstrumentationState(instrumentationModule, instrumentationId) {
|
|
5
|
+
const globals = globalThis;
|
|
6
|
+
const states = globals[INSTRUMENTATION_STATE_KEY] ??= {
|
|
7
|
+
byId: /* @__PURE__ */ new Map(),
|
|
8
|
+
byModule: /* @__PURE__ */ new WeakMap()
|
|
9
|
+
};
|
|
10
|
+
const existing = instrumentationId ? states.byId.get(instrumentationId) : states.byModule.get(instrumentationModule);
|
|
11
|
+
if (existing) return existing;
|
|
12
|
+
const state = {
|
|
13
|
+
initialized: false,
|
|
14
|
+
initPromise: null
|
|
15
|
+
};
|
|
16
|
+
if (instrumentationId) states.byId.set(instrumentationId, state);
|
|
17
|
+
else states.byModule.set(instrumentationModule, state);
|
|
18
|
+
return state;
|
|
19
|
+
}
|
|
5
20
|
function isOnRequestErrorHandler(value) {
|
|
6
21
|
return typeof value === "function";
|
|
7
22
|
}
|
|
@@ -18,18 +33,21 @@ function isOnRequestErrorHandler(value) {
|
|
|
18
33
|
* @param instrumentationModule - The imported `instrumentation.ts` module.
|
|
19
34
|
* Passed as an argument so the generated entry can import it normally
|
|
20
35
|
* without this helper needing to know the module path.
|
|
36
|
+
* @param instrumentationId - Stable source path used to deduplicate the same
|
|
37
|
+
* instrumentation file when Vite evaluates it in separate environments.
|
|
21
38
|
*/
|
|
22
|
-
async function ensureInstrumentationRegistered(instrumentationModule) {
|
|
39
|
+
async function ensureInstrumentationRegistered(instrumentationModule, instrumentationId) {
|
|
23
40
|
if (process.env.VINEXT_PRERENDER === "1") return;
|
|
24
|
-
|
|
25
|
-
if (
|
|
26
|
-
|
|
41
|
+
const state = getInstrumentationState(instrumentationModule, instrumentationId);
|
|
42
|
+
if (state.initialized) return;
|
|
43
|
+
if (state.initPromise) return state.initPromise;
|
|
44
|
+
state.initPromise = (async () => {
|
|
27
45
|
if (typeof instrumentationModule.register === "function") await instrumentationModule.register();
|
|
28
46
|
extendTracerProviderForCacheComponents();
|
|
29
47
|
if (isOnRequestErrorHandler(instrumentationModule.onRequestError)) globalThis.__VINEXT_onRequestErrorHandler__ = instrumentationModule.onRequestError;
|
|
30
|
-
initialized = true;
|
|
48
|
+
state.initialized = true;
|
|
31
49
|
})();
|
|
32
|
-
return initPromise;
|
|
50
|
+
return state.initPromise;
|
|
33
51
|
}
|
|
34
52
|
//#endregion
|
|
35
53
|
export { ensureInstrumentationRegistered };
|
|
@@ -5,7 +5,7 @@ import { ValidFileMatcher } from "../routing/file-matcher.js";
|
|
|
5
5
|
* `runInstrumentation`. Only `.import()` is used — this avoids requiring
|
|
6
6
|
* callers (including tests) to provide a full `ModuleRunner` instance.
|
|
7
7
|
*/
|
|
8
|
-
type ModuleImporter = {
|
|
8
|
+
export type ModuleImporter = {
|
|
9
9
|
import(id: string): Promise<unknown>;
|
|
10
10
|
};
|
|
11
11
|
/**
|
|
@@ -14,63 +14,60 @@ type ModuleImporter = {
|
|
|
14
14
|
* Centralises the `as Record<string, any>` cast so callers don't need
|
|
15
15
|
* per-call oxlint-disable comments.
|
|
16
16
|
*/
|
|
17
|
-
declare function importModule(runner: ModuleImporter, id: string): Promise<Record<string, any>>;
|
|
17
|
+
export declare function importModule(runner: ModuleImporter, id: string): Promise<Record<string, any>>;
|
|
18
18
|
/**
|
|
19
19
|
* Find the instrumentation file in the project root.
|
|
20
20
|
*/
|
|
21
|
-
declare function findInstrumentationFile(root: string, fileMatcher: ValidFileMatcher): string | null;
|
|
21
|
+
export declare function findInstrumentationFile(root: string, fileMatcher: ValidFileMatcher): string | null;
|
|
22
22
|
/**
|
|
23
23
|
* Find the instrumentation-client file in the project root.
|
|
24
24
|
*/
|
|
25
|
-
declare function findInstrumentationClientFile(root: string, fileMatcher: ValidFileMatcher): string | null;
|
|
25
|
+
export declare function findInstrumentationClientFile(root: string, fileMatcher: ValidFileMatcher): string | null;
|
|
26
26
|
/**
|
|
27
27
|
* The onRequestError handler type from Next.js instrumentation.
|
|
28
28
|
*
|
|
29
29
|
* Called when an unhandled error occurs during request handling.
|
|
30
30
|
* Provides the error, the request info, and an error context.
|
|
31
31
|
*/
|
|
32
|
-
type OnRequestErrorContext = {
|
|
33
|
-
/** The
|
|
32
|
+
export type OnRequestErrorContext = {
|
|
33
|
+
/** The router which handled the request. */
|
|
34
34
|
routerKind: "Pages Router" | "App Router";
|
|
35
|
-
/** The matched route pattern */
|
|
35
|
+
/** The matched route pattern. */
|
|
36
36
|
routePath: string;
|
|
37
|
-
/** The
|
|
38
|
-
routeType: "render" | "route" | "action" | "
|
|
39
|
-
/**
|
|
40
|
-
|
|
37
|
+
/** The request operation which failed. */
|
|
38
|
+
routeType: "render" | "route" | "action" | "proxy";
|
|
39
|
+
/** The App Router render phase which failed. */
|
|
40
|
+
renderSource?: "react-server-components" | "react-server-components-payload" | "server-rendering";
|
|
41
|
+
/** Why a static route was being regenerated. */
|
|
42
|
+
revalidateReason: "on-demand" | "stale" | undefined;
|
|
41
43
|
};
|
|
42
|
-
type OnRequestErrorHandler = (error:
|
|
44
|
+
export type OnRequestErrorHandler = (error: unknown, request: Readonly<{
|
|
43
45
|
path: string;
|
|
44
46
|
method: string;
|
|
45
|
-
headers: Record<string, string>;
|
|
46
|
-
}
|
|
47
|
+
headers: Record<string, string | string[] | undefined>;
|
|
48
|
+
}>, context: Readonly<OnRequestErrorContext>) => void | Promise<void>;
|
|
47
49
|
/**
|
|
48
50
|
* Get the registered onRequestError handler (if any).
|
|
49
51
|
*
|
|
50
52
|
* Reads from globalThis so it works across Vite environment boundaries.
|
|
51
53
|
*/
|
|
52
|
-
declare function getOnRequestErrorHandler(): OnRequestErrorHandler | null;
|
|
54
|
+
export declare function getOnRequestErrorHandler(): OnRequestErrorHandler | null;
|
|
53
55
|
/**
|
|
54
56
|
* Load and execute the instrumentation file via a ModuleRunner.
|
|
55
57
|
*
|
|
56
|
-
* Called
|
|
58
|
+
* Called during Node development startup (`configureServer`). It:
|
|
57
59
|
* 1. Loads the instrumentation module via `runner.import()`.
|
|
58
60
|
* 2. Calls the `register()` function if exported.
|
|
59
61
|
* 3. Stores the `onRequestError()` handler on `globalThis` so it is visible
|
|
60
62
|
* to all Vite environment module graphs (SSR and the host process share
|
|
61
63
|
* the same Node.js `globalThis`).
|
|
62
64
|
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
* @param runner - A ModuleRunner created via `createDirectRunner()`. Must be
|
|
68
|
-
* the same long-lived runner used for middleware and SSR so the module graph
|
|
69
|
-
* is shared. Safe with all Vite plugin combinations, including
|
|
70
|
-
* `@cloudflare/vite-plugin`, because it never touches the hot channel.
|
|
65
|
+
* @param runner - The existing RSC runner for App Router, or the long-lived
|
|
66
|
+
* direct runner for Pages-only apps. Reusing the request runner preserves
|
|
67
|
+
* module state initialized by `register()`.
|
|
71
68
|
* @param instrumentationPath - Absolute path to the instrumentation file
|
|
72
69
|
*/
|
|
73
|
-
declare function runInstrumentation(runner: ModuleImporter, instrumentationPath: string): Promise<void>;
|
|
70
|
+
export declare function runInstrumentation(runner: ModuleImporter, instrumentationPath: string): Promise<void>;
|
|
74
71
|
/**
|
|
75
72
|
* Report a request error via the instrumentation handler.
|
|
76
73
|
*
|
|
@@ -79,10 +76,9 @@ declare function runInstrumentation(runner: ModuleImporter, instrumentationPath:
|
|
|
79
76
|
* Reads the handler from globalThis so this function works correctly regardless
|
|
80
77
|
* of which environment it is called from.
|
|
81
78
|
*/
|
|
82
|
-
declare function reportRequestError(error:
|
|
79
|
+
export declare function reportRequestError(error: unknown, request: Readonly<{
|
|
83
80
|
path: string;
|
|
84
81
|
method: string;
|
|
85
|
-
headers: Record<string, string>;
|
|
86
|
-
}
|
|
87
|
-
//#endregion
|
|
88
|
-
export { ModuleImporter, OnRequestErrorContext, OnRequestErrorHandler, findInstrumentationClientFile, findInstrumentationFile, getOnRequestErrorHandler, importModule, reportRequestError, runInstrumentation };
|
|
82
|
+
headers: Record<string, string | string[] | undefined>;
|
|
83
|
+
}>, context: OnRequestErrorContext): Promise<void>;
|
|
84
|
+
//#endregion
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import path from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
|
|
2
|
+
import { patternToNextFormat } from "../routing/route-validation.js";
|
|
2
3
|
import { getRequestExecutionContext } from "../shims/request-context.js";
|
|
4
|
+
import { ensureInstrumentationRegistered } from "./instrumentation-runtime.js";
|
|
3
5
|
import fs from "node:fs";
|
|
4
6
|
//#region src/server/instrumentation.ts
|
|
5
7
|
/**
|
|
@@ -18,12 +20,12 @@ import fs from "node:fs";
|
|
|
18
20
|
*
|
|
19
21
|
* ## App Router
|
|
20
22
|
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
23
|
+
* Node development eagerly calls `runInstrumentation()` through the same RSC
|
|
24
|
+
* runner used for requests. The generated RSC entry also awaits the shared
|
|
25
|
+
* registration promise before importing user server modules. This preserves
|
|
26
|
+
* react-server conditions, module state, and initialization order.
|
|
27
|
+
* Workers and production initialize through the generated entry in their own
|
|
28
|
+
* runtime, without an extra registration in the Node development host.
|
|
27
29
|
*
|
|
28
30
|
* The `onRequestError` handler is stored on `globalThis` so it is visible across
|
|
29
31
|
* the RSC and SSR Vite environments (separate module graphs, same Node.js process).
|
|
@@ -79,31 +81,21 @@ function getOnRequestErrorHandler() {
|
|
|
79
81
|
/**
|
|
80
82
|
* Load and execute the instrumentation file via a ModuleRunner.
|
|
81
83
|
*
|
|
82
|
-
* Called
|
|
84
|
+
* Called during Node development startup (`configureServer`). It:
|
|
83
85
|
* 1. Loads the instrumentation module via `runner.import()`.
|
|
84
86
|
* 2. Calls the `register()` function if exported.
|
|
85
87
|
* 3. Stores the `onRequestError()` handler on `globalThis` so it is visible
|
|
86
88
|
* to all Vite environment module graphs (SSR and the host process share
|
|
87
89
|
* the same Node.js `globalThis`).
|
|
88
90
|
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
* @param runner - A ModuleRunner created via `createDirectRunner()`. Must be
|
|
94
|
-
* the same long-lived runner used for middleware and SSR so the module graph
|
|
95
|
-
* is shared. Safe with all Vite plugin combinations, including
|
|
96
|
-
* `@cloudflare/vite-plugin`, because it never touches the hot channel.
|
|
91
|
+
* @param runner - The existing RSC runner for App Router, or the long-lived
|
|
92
|
+
* direct runner for Pages-only apps. Reusing the request runner preserves
|
|
93
|
+
* module state initialized by `register()`.
|
|
97
94
|
* @param instrumentationPath - Absolute path to the instrumentation file
|
|
98
95
|
*/
|
|
99
96
|
async function runInstrumentation(runner, instrumentationPath) {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
if (typeof mod.register === "function") await mod.register();
|
|
103
|
-
if (typeof mod.onRequestError === "function") globalThis.__VINEXT_onRequestErrorHandler__ = mod.onRequestError;
|
|
104
|
-
} catch (err) {
|
|
105
|
-
console.error("[vinext] Failed to load instrumentation:", err instanceof Error ? err.message : String(err));
|
|
106
|
-
}
|
|
97
|
+
const mod = await runner.import(instrumentationPath);
|
|
98
|
+
await ensureInstrumentationRegistered(mod, instrumentationPath);
|
|
107
99
|
}
|
|
108
100
|
/**
|
|
109
101
|
* Report a request error via the instrumentation handler.
|
|
@@ -118,7 +110,10 @@ function reportRequestError(error, request, context) {
|
|
|
118
110
|
if (!handler) return Promise.resolve();
|
|
119
111
|
const promise = (async () => {
|
|
120
112
|
try {
|
|
121
|
-
await handler(error, request,
|
|
113
|
+
await handler(error, request, {
|
|
114
|
+
...context,
|
|
115
|
+
routePath: patternToNextFormat(context.routePath)
|
|
116
|
+
});
|
|
122
117
|
} catch (reportErr) {
|
|
123
118
|
console.error("[vinext] onRequestError handler threw:", reportErr instanceof Error ? reportErr.message : String(reportErr));
|
|
124
119
|
}
|
|
@@ -4,17 +4,9 @@ import { RenderObservation } from "./cache-proof.js";
|
|
|
4
4
|
import { AppRscRenderMode } from "./app-rsc-render-mode.js";
|
|
5
5
|
import { normalizeMountedSlotsHeader } from "./app-mounted-slots-header.js";
|
|
6
6
|
import { CacheControlMetadata, CacheHandlerValue, CachedAppPageValue, CachedPagesValue, IncrementalCacheValue } from "../shims/cache-handler.js";
|
|
7
|
+
import { getRevalidateSecret, isOnDemandRevalidateRequest, isRevalidateSecret } from "./revalidation-request.js";
|
|
7
8
|
//#region src/server/isr-cache.d.ts
|
|
8
|
-
|
|
9
|
-
declare function isRevalidateSecret(value: string | null | undefined): boolean;
|
|
10
|
-
/**
|
|
11
|
-
* Authorize an incoming request as an on-demand revalidation trigger. Mirrors
|
|
12
|
-
* Next.js's `checkIsOnDemandRevalidate`: the {@link PRERENDER_REVALIDATE_HEADER}
|
|
13
|
-
* value must *equal* the process revalidate secret. Header presence alone is
|
|
14
|
-
* NOT sufficient — see the security note on {@link PRERENDER_REVALIDATE_HEADER}.
|
|
15
|
-
*/
|
|
16
|
-
declare function isOnDemandRevalidateRequest(headerValue: string | string[] | null | undefined): boolean;
|
|
17
|
-
type ISRCacheEntry = {
|
|
9
|
+
export type ISRCacheEntry = {
|
|
18
10
|
value: CacheHandlerValue;
|
|
19
11
|
isStale: boolean;
|
|
20
12
|
/** The entry crossed its hard expire boundary and must not be served. */
|
|
@@ -28,32 +20,39 @@ type ISRCacheEntry = {
|
|
|
28
20
|
* { value, isStale: true, isExpired: true } for entries that must be retained
|
|
29
21
|
* as regeneration input but not served, or null for cache misses.
|
|
30
22
|
*/
|
|
31
|
-
declare function isrGet(key: string): Promise<ISRCacheEntry | null>;
|
|
23
|
+
export declare function isrGet(key: string): Promise<ISRCacheEntry | null>;
|
|
32
24
|
/**
|
|
33
25
|
* Assemble cache-control metadata, omitting the dimensions the producing
|
|
34
26
|
* render made no claim about. Shared by every ISR writer so `expire`/`stale`
|
|
35
27
|
* are never invented from `revalidate`.
|
|
36
28
|
*/
|
|
37
|
-
declare function isrCacheControl(revalidateSeconds: number | false, claims?: {
|
|
29
|
+
export declare function isrCacheControl(revalidateSeconds: number | false, claims?: {
|
|
38
30
|
expireSeconds?: number;
|
|
39
31
|
staleSeconds?: number;
|
|
40
32
|
}): CacheControlMetadata;
|
|
33
|
+
/**
|
|
34
|
+
* The route-level `expireTime` only bounds a finite revalidate. Like Next.js,
|
|
35
|
+
* a `revalidate = false` entry keeps no expire of its own and stays until it
|
|
36
|
+
* is invalidated; only a cacheLife expire can bound it.
|
|
37
|
+
* https://github.com/vercel/next.js/blob/v16.2.7/packages/next/src/build/index.ts#L3035-L3058
|
|
38
|
+
*/
|
|
39
|
+
export declare function resolveRouteExpireSeconds(revalidateSeconds: number | false | null, expireSeconds: number | undefined): number | undefined;
|
|
41
40
|
/**
|
|
42
41
|
* Write policy for one ISR entry: the cache metadata the producing render
|
|
43
42
|
* resolved, plus the tags that can invalidate it. Routers differ only in which
|
|
44
43
|
* `cacheControl` dimensions they populate — App pages carry the client-router
|
|
45
44
|
* `stale` bound, Pages Router and route handlers do not.
|
|
46
45
|
*/
|
|
47
|
-
type IsrWritePolicy = {
|
|
46
|
+
export type IsrWritePolicy = {
|
|
48
47
|
cacheControl: CacheControlMetadata;
|
|
49
48
|
tags?: string[];
|
|
50
49
|
};
|
|
51
50
|
/**
|
|
52
51
|
* Store a value in the ISR cache under the given write policy.
|
|
53
52
|
*/
|
|
54
|
-
declare function isrSet(key: string, data: IncrementalCacheValue | null, policy: IsrWritePolicy): Promise<void>;
|
|
55
|
-
type AppPageCacheSetter = (key: string, data: CachedAppPageValue, policy: IsrWritePolicy) => Promise<void>;
|
|
56
|
-
declare function isrSetPrerenderedAppPage(key: string, data: CachedAppPageValue, metadata: {
|
|
53
|
+
export declare function isrSet(key: string, data: IncrementalCacheValue | null, policy: IsrWritePolicy): Promise<void>;
|
|
54
|
+
export type AppPageCacheSetter = (key: string, data: CachedAppPageValue, policy: IsrWritePolicy) => Promise<void>;
|
|
55
|
+
export declare function isrSetPrerenderedAppPage(key: string, data: CachedAppPageValue, metadata: {
|
|
57
56
|
expireSeconds?: number;
|
|
58
57
|
revalidateSeconds?: number;
|
|
59
58
|
/** Client reuse bound from the prerender's `cacheLife`. */
|
|
@@ -68,7 +67,7 @@ declare function isrSetPrerenderedAppPage(key: string, data: CachedAppPageValue,
|
|
|
68
67
|
tags?: string[];
|
|
69
68
|
}): Promise<void>;
|
|
70
69
|
/** Coalesce same-key synchronous on-demand revalidations. */
|
|
71
|
-
declare function coalesceOnDemandRevalidation<T>(key: string, renderFn: () => Promise<T>): Promise<T>;
|
|
70
|
+
export declare function coalesceOnDemandRevalidation<T>(key: string, renderFn: () => Promise<T>): Promise<T>;
|
|
72
71
|
/**
|
|
73
72
|
* Trigger a background regeneration for a cache key.
|
|
74
73
|
*
|
|
@@ -81,26 +80,28 @@ declare function coalesceOnDemandRevalidation<T>(key: string, renderFn: () => Pr
|
|
|
81
80
|
*
|
|
82
81
|
* When `errorContext` is provided and the render function fails, the error
|
|
83
82
|
* is reported via `reportRequestError` (instrumentation hook) with
|
|
84
|
-
* `revalidateReason: "stale"
|
|
83
|
+
* `revalidateReason: "stale"`, unless `shouldReport` suppresses an error that
|
|
84
|
+
* an inner render boundary already reported.
|
|
85
85
|
*/
|
|
86
|
-
declare function triggerBackgroundRegeneration(key: string, renderFn: () => Promise<void>, errorContext?: {
|
|
86
|
+
export declare function triggerBackgroundRegeneration(key: string, renderFn: () => Promise<void>, errorContext?: {
|
|
87
87
|
routerKind: OnRequestErrorContext["routerKind"];
|
|
88
88
|
routePath: string;
|
|
89
89
|
routeType: OnRequestErrorContext["routeType"];
|
|
90
|
+
shouldReport?: (error: unknown) => boolean;
|
|
90
91
|
}): void;
|
|
91
92
|
/**
|
|
92
93
|
* Build a CachedPagesValue for the Pages Router ISR cache.
|
|
93
94
|
*/
|
|
94
|
-
declare function buildPagesCacheValue(html: string, pageData: object, status?: number): CachedPagesValue;
|
|
95
|
+
export declare function buildPagesCacheValue(html: string, pageData: object, status?: number): CachedPagesValue;
|
|
95
96
|
/**
|
|
96
97
|
* Build a CachedAppPageValue for the App Router ISR cache.
|
|
97
98
|
*/
|
|
98
|
-
declare function buildAppPageCacheValue(html: string, rscData?: ArrayBuffer, status?: number, renderObservation?: RenderObservation, headers?: CachedAppPageValue["headers"]): CachedAppPageValue;
|
|
99
|
+
export declare function buildAppPageCacheValue(html: string, rscData?: ArrayBuffer, status?: number, renderObservation?: RenderObservation, headers?: CachedAppPageValue["headers"]): CachedAppPageValue;
|
|
99
100
|
/**
|
|
100
101
|
* Compute an ISR cache key for a given router type and pathname.
|
|
101
102
|
* Long pathnames are hashed to stay within KV key-length limits (512 bytes).
|
|
102
103
|
*/
|
|
103
|
-
declare function isrCacheKey(router: string, pathname: string, buildId?: string): string;
|
|
104
|
+
export declare function isrCacheKey(router: string, pathname: string, buildId?: string): string;
|
|
104
105
|
/**
|
|
105
106
|
* Compute an App Router ISR key for one cache artifact.
|
|
106
107
|
*
|
|
@@ -108,8 +109,8 @@ declare function isrCacheKey(router: string, pathname: string, buildId?: string)
|
|
|
108
109
|
* The suffix mirrors Next.js's separate on-disk app artifacts while keeping the
|
|
109
110
|
* Cloudflare KV key under its 512-byte limit for long pathnames.
|
|
110
111
|
*/
|
|
111
|
-
declare function appIsrCacheKey(pathname: string, suffix: string, buildId?: string | undefined): string;
|
|
112
|
-
declare function appIsrHtmlKey(pathname: string): string;
|
|
112
|
+
export declare function appIsrCacheKey(pathname: string, suffix: string, buildId?: string | undefined): string;
|
|
113
|
+
export declare function appIsrHtmlKey(pathname: string): string;
|
|
113
114
|
/**
|
|
114
115
|
* Build the ISR cache key for an RSC payload.
|
|
115
116
|
*
|
|
@@ -121,7 +122,7 @@ declare function appIsrHtmlKey(pathname: string): string;
|
|
|
121
122
|
* become unreachable after deployment. This is acceptable because ISR entries
|
|
122
123
|
* have TTLs and will be regenerated on the next request.
|
|
123
124
|
*/
|
|
124
|
-
declare function appIsrRscKey(pathname: string, mountedSlotsHeader?: string | null, renderMode?: AppRscRenderMode, interceptionContext?: string | null, interceptionId?: string | null): string;
|
|
125
|
-
declare function appIsrRouteKey(pathname: string): string;
|
|
125
|
+
export declare function appIsrRscKey(pathname: string, mountedSlotsHeader?: string | null, renderMode?: AppRscRenderMode, interceptionContext?: string | null, interceptionId?: string | null): string;
|
|
126
|
+
export declare function appIsrRouteKey(pathname: string): string;
|
|
126
127
|
//#endregion
|
|
127
|
-
export {
|
|
128
|
+
export { PRERENDER_REVALIDATE_HEADER, PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER, getRevalidateSecret, isOnDemandRevalidateRequest, isRevalidateSecret, normalizeMountedSlotsHeader };
|