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,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { NEXT_ROUTER_PREFETCH_HEADER, NEXT_ROUTER_SEGMENT_PREFETCH_HEADER, NEXT_ROUTER_STATE_TREE_HEADER, NEXT_URL_HEADER, VINEXT_INTERCEPTION_CONTEXT_HEADER, VINEXT_INTERCEPTION_ID_HEADER, VINEXT_MOUNTED_SLOTS_HEADER, VINEXT_RSC_RENDER_MODE_HEADER, VINEXT_RSC_STATE_FINGERPRINT_HEADER, VINEXT_RSC_VARY_HEADER } from "./app-rsc-vary.js";
|
|
2
|
+
import { NEXTJS_DEPLOYMENT_ID_HEADER, VINEXT_CLIENT_REUSE_MANIFEST_HEADER } from "./headers.js";
|
|
2
3
|
import { fnv1a64 } from "../utils/hash.js";
|
|
3
|
-
import { parseAppRscRenderMode } from "./app-rsc-render-mode.js";
|
|
4
|
+
import { APP_RSC_RENDER_MODE_PREFETCH_LOADING_SHELL, parseAppRscRenderMode } from "./app-rsc-render-mode.js";
|
|
4
5
|
import { applyDeploymentIdHeader, getDeploymentId } from "../utils/deployment-id.js";
|
|
5
6
|
import { createAppRscStateFingerprint } from "./app-rsc-state-fingerprint.js";
|
|
6
7
|
//#region src/server/app-rsc-cache-busting.ts
|
|
@@ -11,20 +12,9 @@ import { createAppRscStateFingerprint } from "./app-rsc-state-fingerprint.js";
|
|
|
11
12
|
* repeated canonicalization redirects.
|
|
12
13
|
*/
|
|
13
14
|
const VINEXT_RSC_CACHE_BUSTING_SEARCH_PARAM = "_rsc";
|
|
15
|
+
const VINEXT_RSC_BUILD_ID_HEADER = "X-Vinext-RSC-Build-Id";
|
|
14
16
|
const VINEXT_RSC_COMPATIBILITY_ID_HEADER = "X-Vinext-RSC-Compatibility-Id";
|
|
15
17
|
const VINEXT_RSC_CONTENT_TYPE = "text/x-component";
|
|
16
|
-
const VINEXT_RSC_VARY_HEADER = [
|
|
17
|
-
"RSC",
|
|
18
|
-
NEXT_ROUTER_STATE_TREE_HEADER,
|
|
19
|
-
NEXT_ROUTER_PREFETCH_HEADER,
|
|
20
|
-
NEXT_ROUTER_SEGMENT_PREFETCH_HEADER,
|
|
21
|
-
NEXT_URL_HEADER,
|
|
22
|
-
VINEXT_INTERCEPTION_CONTEXT_HEADER,
|
|
23
|
-
VINEXT_INTERCEPTION_ID_HEADER,
|
|
24
|
-
VINEXT_MOUNTED_SLOTS_HEADER,
|
|
25
|
-
VINEXT_RSC_RENDER_MODE_HEADER,
|
|
26
|
-
VINEXT_RSC_STATE_FINGERPRINT_HEADER
|
|
27
|
-
].join(", ");
|
|
28
18
|
const CACHE_BUSTING_DIGEST_BYTES = 12;
|
|
29
19
|
const textEncoder = new TextEncoder();
|
|
30
20
|
function encodeBase64Url(bytes) {
|
|
@@ -41,10 +31,16 @@ function normalizeCompatibilityId(value) {
|
|
|
41
31
|
function getVinextRscCompatibilityId() {
|
|
42
32
|
return normalizeCompatibilityId(process.env.__VINEXT_RSC_COMPATIBILITY_ID);
|
|
43
33
|
}
|
|
44
|
-
function
|
|
34
|
+
function getVinextRscBuildId() {
|
|
35
|
+
return normalizeCompatibilityId(process.env.__VINEXT_RSC_BUILD_IDENTITY);
|
|
36
|
+
}
|
|
37
|
+
function applyRscCompatibilityIdHeader(headers, compatibilityId = getVinextRscCompatibilityId(), buildId = getVinextRscBuildId()) {
|
|
45
38
|
const normalized = normalizeCompatibilityId(compatibilityId);
|
|
46
39
|
if (normalized) headers.set(VINEXT_RSC_COMPATIBILITY_ID_HEADER, normalized);
|
|
47
40
|
else headers.delete(VINEXT_RSC_COMPATIBILITY_ID_HEADER);
|
|
41
|
+
const normalizedBuildId = normalizeCompatibilityId(buildId);
|
|
42
|
+
if (normalizedBuildId) headers.set(VINEXT_RSC_BUILD_ID_HEADER, normalizedBuildId);
|
|
43
|
+
else headers.delete(VINEXT_RSC_BUILD_ID_HEADER);
|
|
48
44
|
}
|
|
49
45
|
function applyRscDeploymentIdHeader(headers) {
|
|
50
46
|
const deploymentId = getDeploymentId();
|
|
@@ -141,18 +137,41 @@ function stripRscCacheBustingSearchParam(url) {
|
|
|
141
137
|
url.search = pairs.length > 0 ? `?${pairs.join("&")}` : "";
|
|
142
138
|
}
|
|
143
139
|
/**
|
|
140
|
+
* Reduce a URL's query to the one `_rsc` value that selects its representation.
|
|
141
|
+
* For RSC requests that is the value `resolveInvalidRscCacheBustingRequest`
|
|
142
|
+
* validated (the first pair), re-serialized; ignored duplicates and encodings
|
|
143
|
+
* are dropped. Other requests keep no `_rsc`, because it selects nothing there.
|
|
144
|
+
*/
|
|
145
|
+
function keepOnlyValidatedRscCacheBustingSearchParam(url, isRscRequest) {
|
|
146
|
+
const hash = isRscRequest ? url.searchParams.get(VINEXT_RSC_CACHE_BUSTING_SEARCH_PARAM) : null;
|
|
147
|
+
url.search = "";
|
|
148
|
+
if (hash !== null) setRscCacheBustingSearchParam(url, hash);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
144
151
|
* Remove a trailing `.rsc` suffix from a pathname. Returns the pathname
|
|
145
152
|
* unchanged when the suffix is absent.
|
|
146
153
|
*/
|
|
147
154
|
function stripRscSuffix(pathname) {
|
|
148
155
|
return pathname.endsWith(".rsc") ? pathname.slice(0, -4) : pathname;
|
|
149
156
|
}
|
|
150
|
-
function
|
|
157
|
+
function createCanonicalRscRequestHeaders(deploymentId = getDeploymentId()) {
|
|
151
158
|
const headers = new Headers({
|
|
152
159
|
Accept: VINEXT_RSC_CONTENT_TYPE,
|
|
153
160
|
["RSC"]: "1"
|
|
154
161
|
});
|
|
155
|
-
applyDeploymentIdHeader(headers);
|
|
162
|
+
applyDeploymentIdHeader(headers, deploymentId ?? void 0);
|
|
163
|
+
return headers;
|
|
164
|
+
}
|
|
165
|
+
/** Headers for the deterministic loading-boundary prefetch representation. */
|
|
166
|
+
function createCanonicalLoadingShellRscRequestHeaders(deploymentId = getDeploymentId()) {
|
|
167
|
+
const headers = createCanonicalRscRequestHeaders(deploymentId);
|
|
168
|
+
headers.set(NEXT_ROUTER_PREFETCH_HEADER, "1");
|
|
169
|
+
headers.set(NEXT_ROUTER_SEGMENT_PREFETCH_HEADER, "1");
|
|
170
|
+
headers.set(VINEXT_RSC_RENDER_MODE_HEADER, APP_RSC_RENDER_MODE_PREFETCH_LOADING_SHELL);
|
|
171
|
+
return headers;
|
|
172
|
+
}
|
|
173
|
+
function createRscRequestHeaders(options = {}) {
|
|
174
|
+
const headers = createCanonicalRscRequestHeaders(options.deploymentId);
|
|
156
175
|
if (options.prefetchRouterState) {
|
|
157
176
|
if (options.includePrefetchHeader !== false) headers.set(NEXT_ROUTER_PREFETCH_HEADER, "1");
|
|
158
177
|
headers.set(NEXT_ROUTER_STATE_TREE_HEADER, encodeURIComponent(JSON.stringify(options.prefetchRouterState)));
|
|
@@ -169,15 +188,58 @@ function createRscRequestHeaders(options = {}) {
|
|
|
169
188
|
if (renderMode !== "navigation") headers.set(VINEXT_RSC_RENDER_MODE_HEADER, renderMode);
|
|
170
189
|
return headers;
|
|
171
190
|
}
|
|
191
|
+
/**
|
|
192
|
+
* Convert a full, non-contextual navigation request to the definitive ISR RSC
|
|
193
|
+
* variant. Partial/intercepted/mounted-slot payloads remain contextual because
|
|
194
|
+
* their bytes can legitimately differ from the destination's full route.
|
|
195
|
+
*/
|
|
196
|
+
function canonicalizePrewarmableRscRequestHeaders(headers) {
|
|
197
|
+
if (headers.has("X-Vinext-Rsc-Render-Mode") || headers.has("X-Vinext-Interception-Context") || headers.has("X-Vinext-Interception-Id") || headers.has("X-Vinext-Mounted-Slots")) return false;
|
|
198
|
+
headers.delete(NEXT_ROUTER_PREFETCH_HEADER);
|
|
199
|
+
headers.delete(NEXT_ROUTER_SEGMENT_PREFETCH_HEADER);
|
|
200
|
+
headers.delete(NEXT_ROUTER_STATE_TREE_HEADER);
|
|
201
|
+
headers.delete(NEXT_URL_HEADER);
|
|
202
|
+
headers.delete(VINEXT_RSC_STATE_FINGERPRINT_HEADER);
|
|
203
|
+
headers.delete(VINEXT_CLIENT_REUSE_MANIFEST_HEADER);
|
|
204
|
+
return true;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Convert an ordinary loading-boundary prefetch to the shared loading-shell
|
|
208
|
+
* variant. The payload is selected by the three retained mode headers; visible
|
|
209
|
+
* router state is transport context and must not fragment the shared response.
|
|
210
|
+
*/
|
|
211
|
+
function canonicalizeLoadingShellRscRequestHeaders(headers) {
|
|
212
|
+
if (headers.get("X-Vinext-Rsc-Render-Mode") !== "prefetch-loading-shell" || headers.has("X-Vinext-Interception-Context") || headers.has("X-Vinext-Interception-Id") || headers.has("X-Vinext-Mounted-Slots")) return false;
|
|
213
|
+
headers.set(NEXT_ROUTER_PREFETCH_HEADER, "1");
|
|
214
|
+
headers.set(NEXT_ROUTER_SEGMENT_PREFETCH_HEADER, "1");
|
|
215
|
+
headers.delete(NEXT_ROUTER_STATE_TREE_HEADER);
|
|
216
|
+
headers.delete(NEXT_URL_HEADER);
|
|
217
|
+
headers.delete(VINEXT_RSC_STATE_FINGERPRINT_HEADER);
|
|
218
|
+
headers.delete(VINEXT_CLIENT_REUSE_MANIFEST_HEADER);
|
|
219
|
+
return true;
|
|
220
|
+
}
|
|
172
221
|
function toRscRequestPath(href) {
|
|
173
222
|
const hashIndex = href.indexOf("#");
|
|
174
223
|
return hashIndex === -1 ? href : href.slice(0, hashIndex);
|
|
175
224
|
}
|
|
176
225
|
async function createRscRequestUrl(href, headers) {
|
|
177
226
|
const url = new URL(toRscRequestPath(href), "http://vinext.local");
|
|
227
|
+
if (typeof window !== "undefined" && process.env.NODE_ENV === "production" && process.env.__NEXT_CONFIG_OUTPUT === "export") {
|
|
228
|
+
const basePath = process.env.__NEXT_ROUTER_BASEPATH ?? "";
|
|
229
|
+
const isBasePathRoot = basePath !== "" && url.pathname === basePath;
|
|
230
|
+
if (url.pathname.endsWith("/")) url.pathname += "index.txt";
|
|
231
|
+
else url.pathname += isBasePathRoot ? "/index.txt" : ".txt";
|
|
232
|
+
return `${url.pathname}${url.search}`;
|
|
233
|
+
}
|
|
178
234
|
setRscCacheBustingSearchParam(url, await computeRscCacheBustingSearchParam(headers));
|
|
179
235
|
return `${url.pathname}${url.search}`;
|
|
180
236
|
}
|
|
237
|
+
/** Build the definitive full-route RSC URL shared by prefetch and navigation. */
|
|
238
|
+
function createCanonicalRscRequestUrl(href) {
|
|
239
|
+
const url = new URL(toRscRequestPath(href), "http://vinext.local");
|
|
240
|
+
setRscCacheBustingSearchParam(url, "");
|
|
241
|
+
return `${url.pathname}${url.search}`;
|
|
242
|
+
}
|
|
181
243
|
function createServerActionRequestUrl(href) {
|
|
182
244
|
const hashIndex = href.indexOf("#");
|
|
183
245
|
const beforeHash = hashIndex === -1 ? href : href.slice(0, hashIndex);
|
|
@@ -247,4 +309,4 @@ async function resolveInvalidRscCacheBustingRequest(options) {
|
|
|
247
309
|
});
|
|
248
310
|
}
|
|
249
311
|
//#endregion
|
|
250
|
-
export { VINEXT_RSC_CACHE_BUSTING_SEARCH_PARAM, VINEXT_RSC_COMPATIBILITY_ID_HEADER, VINEXT_RSC_CONTENT_TYPE, VINEXT_RSC_RENDER_MODE_HEADER, VINEXT_RSC_VARY_HEADER, applyRscCompatibilityIdHeader, applyRscDeploymentIdHeader, computeRscCacheBustingSearchParam, createRscRedirectLocation, createRscRequestHeaders, createRscRequestUrl, createServerActionRequestUrl, getVinextRscCompatibilityId, hasRscCacheBustingSearchParam, isRscCompatibilityIdCompatible, resolveHardNavigationTargetFromRscResponse, resolveInvalidRscCacheBustingRequest, resolveRscCompatibilityNavigationDecision, setRscCacheBustingSearchParam, stripRscCacheBustingSearchParam, stripRscSuffix };
|
|
312
|
+
export { VINEXT_RSC_BUILD_ID_HEADER, VINEXT_RSC_CACHE_BUSTING_SEARCH_PARAM, VINEXT_RSC_COMPATIBILITY_ID_HEADER, VINEXT_RSC_CONTENT_TYPE, VINEXT_RSC_RENDER_MODE_HEADER, VINEXT_RSC_VARY_HEADER, applyRscCompatibilityIdHeader, applyRscDeploymentIdHeader, canonicalizeLoadingShellRscRequestHeaders, canonicalizePrewarmableRscRequestHeaders, computeRscCacheBustingSearchParam, createCanonicalLoadingShellRscRequestHeaders, createCanonicalRscRequestHeaders, createCanonicalRscRequestUrl, createRscRedirectLocation, createRscRequestHeaders, createRscRequestUrl, createServerActionRequestUrl, getVinextRscCompatibilityId, hasRscCacheBustingSearchParam, isRscCompatibilityIdCompatible, keepOnlyValidatedRscCacheBustingSearchParam, resolveHardNavigationTargetFromRscResponse, resolveInvalidRscCacheBustingRequest, resolveRscCompatibilityNavigationDecision, setRscCacheBustingSearchParam, stripRscCacheBustingSearchParam, stripRscSuffix };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { VinextResponseStageDispatchOptions } from "./multi-stage.js";
|
|
2
|
+
import { AppWorkerResponseStageProps } from "./app-worker-stages.js";
|
|
3
|
+
import { AppRscHandlerRoute, AppRscRequestHandler, CreateAppRscHandlerOptions } from "./app-rsc-handler.js";
|
|
4
|
+
//#region src/server/app-rsc-combined-handler.d.ts
|
|
5
|
+
export type AppRscHandler = AppRscRequestHandler & {
|
|
6
|
+
handleResponseStage(request: Request, ctx: unknown, props: AppWorkerResponseStageProps, options?: VinextResponseStageDispatchOptions): Promise<Response>;
|
|
7
|
+
};
|
|
8
|
+
export declare function createAppRscHandler<TRoute extends AppRscHandlerRoute>(options: CreateAppRscHandlerOptions<TRoute>): AppRscHandler;
|
|
9
|
+
//#endregion
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createAppRscRequestHandler } from "./app-rsc-handler.js";
|
|
2
|
+
//#region src/server/app-rsc-combined-handler.ts
|
|
3
|
+
/** Combined request/response handler used by default single-stage App entries. */
|
|
4
|
+
function createAppRscHandler(options) {
|
|
5
|
+
const appRscHandler = createAppRscRequestHandler(options);
|
|
6
|
+
return Object.assign(appRscHandler, { handleResponseStage(request, ctx, props, stageOptions) {
|
|
7
|
+
return import("./app-rsc-response-stage.js").then(({ renderAppWorkerResponseStage }) => renderAppWorkerResponseStage(options, request, ctx, props, stageOptions));
|
|
8
|
+
} });
|
|
9
|
+
}
|
|
10
|
+
//#endregion
|
|
11
|
+
export { createAppRscHandler };
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
//#region src/server/app-rsc-embedded-chunks.d.ts
|
|
2
|
-
declare const RSC_EMBEDDED_BINARY_CHUNK = 3;
|
|
3
|
-
type RscEmbeddedChunk = string | [typeof RSC_EMBEDDED_BINARY_CHUNK, string];
|
|
4
|
-
declare function bytesToBase64(bytes: Uint8Array): string;
|
|
5
|
-
declare function decodeRscEmbeddedChunk(chunk: RscEmbeddedChunk): Uint8Array;
|
|
6
|
-
declare function concatUint8Arrays(chunks: readonly Uint8Array[]): Uint8Array<ArrayBuffer>;
|
|
7
|
-
//#endregion
|
|
8
|
-
export { RSC_EMBEDDED_BINARY_CHUNK, RscEmbeddedChunk, bytesToBase64, concatUint8Arrays, decodeRscEmbeddedChunk };
|
|
2
|
+
export declare const RSC_EMBEDDED_BINARY_CHUNK = 3;
|
|
3
|
+
export type RscEmbeddedChunk = string | [typeof RSC_EMBEDDED_BINARY_CHUNK, string];
|
|
4
|
+
export declare function bytesToBase64(bytes: Uint8Array): string;
|
|
5
|
+
export declare function decodeRscEmbeddedChunk(chunk: RscEmbeddedChunk): Uint8Array;
|
|
6
|
+
export declare function concatUint8Arrays(chunks: readonly Uint8Array[]): Uint8Array<ArrayBuffer>;
|
|
7
|
+
//#endregion
|
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
//#region src/server/app-rsc-error-handler.d.ts
|
|
2
|
-
type ReportRequestError = (error:
|
|
2
|
+
type ReportRequestError = (error: unknown, requestInfo: {
|
|
3
3
|
path: string;
|
|
4
4
|
method: string;
|
|
5
5
|
headers: Record<string, string>;
|
|
6
6
|
}, errorContext: {
|
|
7
7
|
routerKind: "App Router";
|
|
8
8
|
routePath: string;
|
|
9
|
-
routeType: "render";
|
|
10
|
-
|
|
9
|
+
routeType: "render" | "action";
|
|
10
|
+
renderSource?: "react-server-components" | "react-server-components-payload" | "server-rendering";
|
|
11
|
+
revalidateReason: "on-demand" | "stale" | undefined;
|
|
12
|
+
}) => void | Promise<void>;
|
|
13
|
+
export type AppRenderErrorContextOverrides = {
|
|
14
|
+
renderSource?: "react-server-components" | "react-server-components-payload" | "server-rendering";
|
|
15
|
+
revalidateReason?: "on-demand" | "stale";
|
|
16
|
+
routeType?: "render" | "action";
|
|
17
|
+
};
|
|
11
18
|
/**
|
|
12
19
|
* Build a per-request RSC error handler that extracts request metadata from
|
|
13
20
|
* the incoming Web `Request`, wires it into a `createRscOnErrorHandler` call,
|
|
@@ -15,6 +22,5 @@ type ReportRequestError = (error: Error, requestInfo: {
|
|
|
15
22
|
*
|
|
16
23
|
* Pure factory: takes all deps explicitly — no closure over module-level state.
|
|
17
24
|
*/
|
|
18
|
-
declare function createAppRscOnErrorHandler(reportRequestError: ReportRequestError, request: Request, pathname: string, routePath: string): (error: unknown) => string | undefined;
|
|
19
|
-
//#endregion
|
|
20
|
-
export { createAppRscOnErrorHandler };
|
|
25
|
+
export declare function createAppRscOnErrorHandler(reportRequestError: ReportRequestError, request: Request, pathname: string, routePath: string, overrides?: AppRenderErrorContextOverrides): (error: unknown) => string | undefined;
|
|
26
|
+
//#endregion
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import "../utils/protocol-headers.js";
|
|
2
|
+
import "./app-rsc-vary.js";
|
|
3
|
+
import { isOnDemandRevalidateRequest } from "./revalidation-request.js";
|
|
1
4
|
import { createRscOnErrorHandler } from "./app-rsc-errors.js";
|
|
2
5
|
//#region src/server/app-rsc-error-handler.ts
|
|
3
6
|
/**
|
|
@@ -7,20 +10,26 @@ import { createRscOnErrorHandler } from "./app-rsc-errors.js";
|
|
|
7
10
|
*
|
|
8
11
|
* Pure factory: takes all deps explicitly — no closure over module-level state.
|
|
9
12
|
*/
|
|
10
|
-
function createAppRscOnErrorHandler(reportRequestError, request, pathname, routePath) {
|
|
13
|
+
function createAppRscOnErrorHandler(reportRequestError, request, pathname, routePath, overrides) {
|
|
11
14
|
const requestHeaders = Object.fromEntries(request.headers.entries());
|
|
12
15
|
const requestInfo = {
|
|
13
16
|
path: pathname,
|
|
14
17
|
method: request.method,
|
|
15
18
|
headers: requestHeaders
|
|
16
19
|
};
|
|
20
|
+
const errorContext = {
|
|
21
|
+
routerKind: "App Router",
|
|
22
|
+
routePath: routePath || pathname,
|
|
23
|
+
routeType: overrides?.routeType ?? "render",
|
|
24
|
+
renderSource: overrides?.renderSource ?? (request.headers.get("RSC") === "1" || new URL(request.url).pathname.endsWith(".rsc") ? "react-server-components-payload" : "react-server-components"),
|
|
25
|
+
revalidateReason: isOnDemandRevalidateRequest(request.headers.get("x-prerender-revalidate")) ? "on-demand" : overrides?.revalidateReason
|
|
26
|
+
};
|
|
17
27
|
return createRscOnErrorHandler({
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
28
|
+
attachDigest: errorContext.renderSource !== "server-rendering",
|
|
29
|
+
errorContext,
|
|
30
|
+
reportRequestError(error, info, context) {
|
|
31
|
+
reportRequestError(error, info, context);
|
|
22
32
|
},
|
|
23
|
-
reportRequestError,
|
|
24
33
|
requestInfo
|
|
25
34
|
});
|
|
26
35
|
}
|
|
@@ -7,18 +7,22 @@ type RscRequestInfo = {
|
|
|
7
7
|
type RscErrorContext = {
|
|
8
8
|
routerKind: "App Router";
|
|
9
9
|
routePath: string;
|
|
10
|
-
routeType: "render";
|
|
10
|
+
routeType: "render" | "action";
|
|
11
|
+
renderSource?: "react-server-components" | "react-server-components-payload" | "server-rendering";
|
|
12
|
+
revalidateReason: "on-demand" | "stale" | undefined;
|
|
11
13
|
};
|
|
12
|
-
type RscErrorReporter = (error:
|
|
14
|
+
type RscErrorReporter = (error: unknown, requestInfo: RscRequestInfo, errorContext: RscErrorContext) => void;
|
|
13
15
|
type CreateRscOnErrorHandlerOptions = {
|
|
16
|
+
attachDigest?: boolean;
|
|
14
17
|
errorContext: RscErrorContext | null;
|
|
15
18
|
nodeEnv?: string;
|
|
16
19
|
reportRequestError: RscErrorReporter;
|
|
17
20
|
requestInfo: RscRequestInfo | null;
|
|
18
21
|
};
|
|
19
|
-
declare function hasDigest(error: unknown): error is {
|
|
22
|
+
export declare function hasDigest(error: unknown): error is {
|
|
20
23
|
digest: unknown;
|
|
21
24
|
};
|
|
25
|
+
export declare function isAppRenderAbortError(error: unknown): boolean;
|
|
22
26
|
/**
|
|
23
27
|
* vinext's mirror of Next.js's `getDigestForWellKnownError`: returns the digest
|
|
24
28
|
* string only when the error is a genuine control-flow signal — a redirect,
|
|
@@ -29,12 +33,11 @@ declare function hasDigest(error: unknown): error is {
|
|
|
29
33
|
* presence of a `digest` field is NOT enough — that conflation swallowed a class
|
|
30
34
|
* of server render errors with no instrumentation/telemetry.
|
|
31
35
|
*/
|
|
32
|
-
declare function getDigestForWellKnownError(error: unknown): string | undefined;
|
|
36
|
+
export declare function getDigestForWellKnownError(error: unknown): string | undefined;
|
|
33
37
|
/**
|
|
34
38
|
* djb2 hash matching Next.js's string-hash package for RSC error digests.
|
|
35
39
|
*/
|
|
36
|
-
declare function errorDigest(input: string): string;
|
|
37
|
-
declare function sanitizeErrorForClient(error: unknown, nodeEnv?: "development" | "production" | "test"): unknown;
|
|
38
|
-
declare function createRscOnErrorHandler(options: CreateRscOnErrorHandlerOptions): (error: unknown) => string | undefined;
|
|
39
|
-
//#endregion
|
|
40
|
-
export { createRscOnErrorHandler, errorDigest, getDigestForWellKnownError, hasDigest, sanitizeErrorForClient };
|
|
40
|
+
export declare function errorDigest(input: string): string;
|
|
41
|
+
export declare function sanitizeErrorForClient(error: unknown, nodeEnv?: "development" | "production" | "test"): unknown;
|
|
42
|
+
export declare function createRscOnErrorHandler(options: CreateRscOnErrorHandlerOptions): (error: unknown) => string | undefined;
|
|
43
|
+
//#endregion
|
|
@@ -7,7 +7,7 @@ function hasDigest(error) {
|
|
|
7
7
|
}
|
|
8
8
|
const BAILOUT_TO_CSR_DIGEST = "BAILOUT_TO_CLIENT_SIDE_RENDERING";
|
|
9
9
|
const DYNAMIC_SERVER_USAGE_DIGEST = "DYNAMIC_SERVER_USAGE";
|
|
10
|
-
function
|
|
10
|
+
function isAppRenderAbortError(error) {
|
|
11
11
|
if (!error || typeof error !== "object") return false;
|
|
12
12
|
const name = Reflect.get(error, "name");
|
|
13
13
|
return name === "AbortError" || name === "ResponseAborted";
|
|
@@ -55,27 +55,29 @@ function sanitizeErrorForClient(error, nodeEnv = process.env.NODE_ENV) {
|
|
|
55
55
|
return sanitized;
|
|
56
56
|
}
|
|
57
57
|
function createRscOnErrorHandler(options) {
|
|
58
|
+
let loggedPrerenderErrors;
|
|
58
59
|
return (error) => {
|
|
59
60
|
const nodeEnv = options.nodeEnv ?? process.env.NODE_ENV;
|
|
60
|
-
|
|
61
|
-
|
|
61
|
+
const reportableError = error && typeof error === "object" && ORIGINAL_SERVER_ERROR in error ? Reflect.get(error, ORIGINAL_SERVER_ERROR) : error;
|
|
62
|
+
if (isAppRenderAbortError(error) || isAppRenderAbortError(reportableError)) return;
|
|
63
|
+
const wellKnownDigest = getDigestForWellKnownError(error) ?? getDigestForWellKnownError(reportableError);
|
|
62
64
|
if (wellKnownDigest !== void 0) return wellKnownDigest;
|
|
63
65
|
if (nodeEnv !== "production" && error instanceof Error && error.message.includes("Only plain objects, and a few built-ins, can be passed to Client Components")) {
|
|
64
66
|
console.error("[vinext] RSC serialization error: a non-plain object was passed from a Server Component to a Client Component.\n\nCommon causes:\n * Passing a module namespace (import * as X) directly as a prop.\n Unlike Next.js (webpack), Vite produces real ESM module namespace objects\n which are not serializable. Fix: pass individual values instead,\n e.g. <Comp value={module.value} />\n * Passing a class instance (new Foo()) as a prop.\n Fix: convert to a plain object, e.g. { id: foo.id, name: foo.name }\n * Passing a Date, Map, or Set. Use .toISOString(), [...map.entries()], etc.\n * Passing Object.create(null). Use { ...obj } to restore a prototype.\n\nOriginal error:", error.message);
|
|
65
67
|
return;
|
|
66
68
|
}
|
|
67
|
-
if (options.requestInfo && options.errorContext && error)
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}
|
|
69
|
+
if (options.requestInfo && options.errorContext && error) options.reportRequestError(reportableError, options.requestInfo, options.errorContext);
|
|
70
|
+
if (process.env.VINEXT_PRERENDER === "1" && error) {
|
|
71
|
+
if (!loggedPrerenderErrors?.has(reportableError)) {
|
|
72
|
+
(loggedPrerenderErrors ??= /* @__PURE__ */ new Set()).add(reportableError);
|
|
73
|
+
const route = options.requestInfo?.path ?? options.errorContext?.routePath ?? "<unknown>";
|
|
74
|
+
console.error(`[vinext] Error prerendering route ${JSON.stringify(route)}:`, reportableError);
|
|
75
|
+
}
|
|
76
|
+
} else if (nodeEnv !== "production" && error && !hasDigest(error)) console.error("[vinext] Server render error:", reportableError);
|
|
75
77
|
if (hasDigest(error)) return String(error.digest);
|
|
76
78
|
if (error) {
|
|
77
79
|
const digest = errorDigest(getThrownValueMessage(error) + getThrownValueStack(error));
|
|
78
|
-
if (error instanceof Error) try {
|
|
80
|
+
if (options.attachDigest !== false && error instanceof Error) try {
|
|
79
81
|
Object.assign(error, { digest });
|
|
80
82
|
} catch {}
|
|
81
83
|
return digest;
|
|
@@ -83,4 +85,4 @@ function createRscOnErrorHandler(options) {
|
|
|
83
85
|
};
|
|
84
86
|
}
|
|
85
87
|
//#endregion
|
|
86
|
-
export { createRscOnErrorHandler, errorDigest, getDigestForWellKnownError, hasDigest, sanitizeErrorForClient };
|
|
88
|
+
export { createRscOnErrorHandler, errorDigest, getDigestForWellKnownError, hasDigest, isAppRenderAbortError, sanitizeErrorForClient };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { VinextCacheabilityProbeMode } from "./multi-stage.js";
|
|
1
2
|
import { NextHeader, NextI18nConfig, NextRedirect, NextRewrite } from "../config/next-config.js";
|
|
2
3
|
import { ImageConfig } from "./image-optimization.js";
|
|
3
4
|
import { AppMiddlewareContext, ApplyAppMiddlewareResult } from "./app-middleware.js";
|
|
@@ -6,7 +7,10 @@ import { AppRscRenderMode } from "./app-rsc-render-mode.js";
|
|
|
6
7
|
import { RootParams } from "../shims/root-params.js";
|
|
7
8
|
import { AppPagePprFallbackCacheShell } from "./app-ppr-fallback-shell.js";
|
|
8
9
|
import { AppPrerenderRootParamNamesMap, AppPrerenderStaticParamsMap } from "./app-prerender-endpoints.js";
|
|
10
|
+
import { PagesRouteDataKind } from "./pages-route-data-kind.js";
|
|
11
|
+
import { TrustedPrerenderState } from "./prerender-route-params.js";
|
|
9
12
|
import { AppRouteTreePrefetchRoute, PrefetchInliningConfig } from "./app-route-tree-prefetch.js";
|
|
13
|
+
import { DispatchAppWorkerResponseStage, RenderAppWorkerResponseStageLocally } from "./app-worker-stages.js";
|
|
10
14
|
import { ReactFormState } from "react-dom/client";
|
|
11
15
|
//#region src/server/app-rsc-handler.d.ts
|
|
12
16
|
type AppPageParams = Record<string, string | string[]>;
|
|
@@ -23,9 +27,11 @@ type RunAppMiddlewareOptions = {
|
|
|
23
27
|
request: Request;
|
|
24
28
|
validateExternalRewriteRequest: () => Promise<Response | null>;
|
|
25
29
|
};
|
|
26
|
-
type AppRscHandlerRoute = {
|
|
30
|
+
export type AppRscHandlerRoute = {
|
|
27
31
|
__loadPage?: unknown;
|
|
28
32
|
__loadRouteHandler?: unknown;
|
|
33
|
+
canUseCanonicalLoadingShell?: boolean;
|
|
34
|
+
forceDynamic?: boolean;
|
|
29
35
|
isDynamic: boolean;
|
|
30
36
|
layouts?: readonly unknown[];
|
|
31
37
|
layoutTreePositions?: readonly number[];
|
|
@@ -38,10 +44,13 @@ type AppRscHandlerRoute = {
|
|
|
38
44
|
slots?: AppRouteTreePrefetchRoute["slots"];
|
|
39
45
|
};
|
|
40
46
|
type AppRscRouteMatch<TRoute> = {
|
|
47
|
+
interceptionSourceIsConcrete?: boolean;
|
|
41
48
|
params: AppPageParams;
|
|
42
49
|
route: TRoute;
|
|
43
50
|
};
|
|
44
51
|
type DispatchMatchedPageOptions<TRoute> = {
|
|
52
|
+
bypassInterceptionContextCache: boolean;
|
|
53
|
+
cachePathname: string;
|
|
45
54
|
clientReuseManifest: ClientReuseManifestParseResult;
|
|
46
55
|
cleanPathname: string;
|
|
47
56
|
displayPathname: string;
|
|
@@ -78,6 +87,12 @@ type DispatchMatchedPageOptions<TRoute> = {
|
|
|
78
87
|
renderMode: AppRscRenderMode;
|
|
79
88
|
};
|
|
80
89
|
type DispatchMatchedRouteHandlerOptions<TRoute> = {
|
|
90
|
+
/**
|
|
91
|
+
* Legacy transported cache-bypass bit. Also covers request/cache route-identity
|
|
92
|
+
* divergence so the response cannot be published under another route's key.
|
|
93
|
+
*/
|
|
94
|
+
bypassInterceptionContextCache: boolean;
|
|
95
|
+
cachePathname: string;
|
|
81
96
|
cleanPathname: string;
|
|
82
97
|
middlewareContext: AppRscMiddlewareContext;
|
|
83
98
|
/**
|
|
@@ -152,8 +167,10 @@ type RenderPagesFallbackOptions = {
|
|
|
152
167
|
pattern: string;
|
|
153
168
|
};
|
|
154
169
|
} | null;
|
|
170
|
+
dispatchPagesResponseStage?: (request: Request, resourceKind: "api" | "page", dataKind?: PagesRouteDataKind, hasRequestAwareDocument?: boolean) => Promise<Response>;
|
|
155
171
|
isDataRequest?: boolean;
|
|
156
172
|
isRscRequest: boolean;
|
|
173
|
+
initialResponseHeaders?: Headers;
|
|
157
174
|
matchKind?: "dynamic" | "static";
|
|
158
175
|
middlewareContext: AppRscMiddlewareContext;
|
|
159
176
|
pathname?: string;
|
|
@@ -166,9 +183,15 @@ type NavigationContextValue = {
|
|
|
166
183
|
pathname: string;
|
|
167
184
|
searchParams: URLSearchParams;
|
|
168
185
|
};
|
|
169
|
-
type CreateAppRscHandlerOptions<TRoute extends AppRscHandlerRoute> = {
|
|
186
|
+
export type CreateAppRscHandlerOptions<TRoute extends AppRscHandlerRoute> = {
|
|
170
187
|
basePath: string;
|
|
171
188
|
buildId: string | null;
|
|
189
|
+
/**
|
|
190
|
+
* Serialized request-stage projection of the Workers Cache manifest. Shared
|
|
191
|
+
* App page dispatches whose manifest state is `static-candidate` drop the
|
|
192
|
+
* user query. Null outside a `vinext deploy` artifact.
|
|
193
|
+
*/
|
|
194
|
+
cacheabilityRequestProjection?: string | null;
|
|
172
195
|
clearRequestContext: () => void;
|
|
173
196
|
configHeaders: NextHeader[];
|
|
174
197
|
configRedirects: NextRedirect[];
|
|
@@ -194,14 +217,17 @@ type CreateAppRscHandlerOptions<TRoute extends AppRscHandlerRoute> = {
|
|
|
194
217
|
* Node server and dev included, not just the Cloudflare worker entry.
|
|
195
218
|
*/
|
|
196
219
|
registerCacheAdapters: (env?: Record<string, unknown>) => void;
|
|
220
|
+
/** Request-only entries dynamically load the response graph for local bypasses. */
|
|
221
|
+
renderResponseStageLocally?: RenderAppWorkerResponseStageLocally;
|
|
197
222
|
handleProgressiveActionRequest?: (options: HandleProgressiveActionRequestOptions<TRoute>) => Promise<Response | ProgressiveActionFormStateResult | null>;
|
|
198
|
-
handleMetadataRouteRequest?: (cleanPathname: string) => Promise<Response | null>;
|
|
223
|
+
handleMetadataRouteRequest?: (cleanPathname: string, routePathname: string) => Promise<Response | null>;
|
|
199
224
|
isMetadataRoutePath?: (cleanPathname: string) => boolean | Promise<boolean>;
|
|
200
225
|
getPrerenderMetadataRoutePaths?: () => Promise<unknown>;
|
|
201
226
|
createPprFallbackShells?: (route: Pick<AppRscHandlerRoute, "params" | "pattern" | "rootParamNames">, params: AppPageParams) => AppPagePprFallbackCacheShell[];
|
|
202
227
|
handleServerActionRequest?: (options: HandleServerActionRequestOptions<TRoute>) => Promise<Response | null>;
|
|
203
228
|
i18nConfig: NextI18nConfig | null;
|
|
204
229
|
imageConfig?: ImageConfig;
|
|
230
|
+
isMetadataRoute?: (pathname: string) => boolean;
|
|
205
231
|
isDev: boolean;
|
|
206
232
|
hasInterceptionId: (interceptionId: string) => boolean;
|
|
207
233
|
loadPrerenderPagesRoutes?: () => Promise<unknown>;
|
|
@@ -219,6 +245,7 @@ type CreateAppRscHandlerOptions<TRoute extends AppRscHandlerRoute> = {
|
|
|
219
245
|
trailingSlash: boolean;
|
|
220
246
|
validateDevRequestOrigin?: (request: Request) => Response | null;
|
|
221
247
|
};
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
export
|
|
248
|
+
export type AppRscRequestHandler = (request: Request, ctx: unknown, allowInternalRscDocumentFallback?: boolean, dispatchResponseStage?: DispatchAppWorkerResponseStage, responseStageProbeMode?: VinextCacheabilityProbeMode | null, trustedPrerenderState?: TrustedPrerenderState | null) => Promise<Response>;
|
|
249
|
+
/** Build the request-only handler without retaining the response renderer graph. */
|
|
250
|
+
export declare function createAppRscRequestHandler<TRoute extends AppRscHandlerRoute>(options: CreateAppRscHandlerOptions<TRoute>): AppRscRequestHandler;
|
|
251
|
+
//#endregion
|