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,9 +1,12 @@
|
|
|
1
|
+
import { VINEXT_RSC_VARY_HEADER } from "./app-rsc-vary.js";
|
|
1
2
|
import { isNavigationSignalError } from "../utils/navigation-signal.js";
|
|
2
|
-
import {
|
|
3
|
+
import { deferUntilStreamConsumed } from "./defer-until-stream-consumed.js";
|
|
4
|
+
import "./app-rsc-cache-busting.js";
|
|
3
5
|
import { mergeMiddlewareResponseHeaders } from "./middleware-response-headers.js";
|
|
4
6
|
import { markFrameworkLinkHeaders } from "./app-response-header-provenance.js";
|
|
5
7
|
import { applyEdgeRuntimeHeader } from "./app-page-response.js";
|
|
6
|
-
import {
|
|
8
|
+
import { getNextErrorDigest } from "./next-error-digest.js";
|
|
9
|
+
import { isAppRenderAbortError } from "./app-rsc-errors.js";
|
|
7
10
|
//#region src/server/app-page-stream.ts
|
|
8
11
|
function isAppSsrRenderResult(value) {
|
|
9
12
|
return typeof value === "object" && value !== null && "htmlStream" in value && "metadataReady" in value;
|
|
@@ -49,6 +52,13 @@ function buildAppPageLinkHeader(reactLinkHeader, fontLinkHeader, maxHeadersLengt
|
|
|
49
52
|
}
|
|
50
53
|
return header;
|
|
51
54
|
}
|
|
55
|
+
function createAppPageSsrErrorHandler(baseOnError, isCapturedRscError) {
|
|
56
|
+
return (error) => {
|
|
57
|
+
if (isAppRenderAbortError(error)) return void 0;
|
|
58
|
+
if (isCapturedRscError(error)) return getNextErrorDigest(error) ?? void 0;
|
|
59
|
+
return baseOnError(error, void 0, void 0);
|
|
60
|
+
};
|
|
61
|
+
}
|
|
52
62
|
function createAppPageFontData(options) {
|
|
53
63
|
return {
|
|
54
64
|
links: options.getLinks(),
|
|
@@ -62,6 +72,7 @@ async function renderAppPageHtmlStream(options) {
|
|
|
62
72
|
scriptNonce: options.scriptNonce,
|
|
63
73
|
basePath: options.basePath,
|
|
64
74
|
clientTraceMetadata: options.clientTraceMetadata,
|
|
75
|
+
clientTraceMetadataMarker: options.clientTraceMetadataMarker,
|
|
65
76
|
reactMaxHeadersLength: options.reactMaxHeadersLength,
|
|
66
77
|
rootParams: options.rootParams,
|
|
67
78
|
sideStream: options.sideStream,
|
|
@@ -70,7 +81,9 @@ async function renderAppPageHtmlStream(options) {
|
|
|
70
81
|
waitForAllReady: options.waitForAllReady,
|
|
71
82
|
isStaticGeneration: options.isStaticGeneration,
|
|
72
83
|
isForceStatic: options.isForceStatic,
|
|
84
|
+
isCacheCandidate: options.isCacheCandidate,
|
|
73
85
|
initialDevServerError: options.initialDevServerError,
|
|
86
|
+
onSsrError: options.onSsrError,
|
|
74
87
|
mirrorNextFlight: options.mirrorNextFlight,
|
|
75
88
|
fallbackToErrorDocumentOnShellError: options.fallbackToErrorDocumentOnShellError ?? (options.waitForAllReady !== true && options.hasCustomGlobalError === false),
|
|
76
89
|
dynamicStaleTimeSeconds: options.dynamicStaleTimeSeconds,
|
|
@@ -100,12 +113,13 @@ async function renderAppPageHtmlResponse(options) {
|
|
|
100
113
|
}
|
|
101
114
|
async function renderAppPageHtmlStreamWithRecovery(options) {
|
|
102
115
|
try {
|
|
103
|
-
const { htmlStream, metadataReady, capturedRscData, linkHeader, shellErrorRecovered } = normalizeAppSsrRenderResult(await options.renderHtmlStream());
|
|
116
|
+
const { htmlStream, metadataReady, renderComplete, capturedRscData, linkHeader, shellErrorRecovered } = normalizeAppSsrRenderResult(await options.renderHtmlStream());
|
|
104
117
|
options.onShellRendered?.();
|
|
105
118
|
return {
|
|
106
119
|
htmlStream,
|
|
107
120
|
response: null,
|
|
108
121
|
metadataReady,
|
|
122
|
+
renderComplete: renderComplete ?? resolvedMetadataReady,
|
|
109
123
|
capturedRscData,
|
|
110
124
|
shellErrorRecovered: shellErrorRecovered === true,
|
|
111
125
|
linkHeader
|
|
@@ -116,6 +130,7 @@ async function renderAppPageHtmlStreamWithRecovery(options) {
|
|
|
116
130
|
htmlStream: null,
|
|
117
131
|
response: await options.renderSpecialErrorResponse(specialError),
|
|
118
132
|
metadataReady: resolvedMetadataReady,
|
|
133
|
+
renderComplete: resolvedMetadataReady,
|
|
119
134
|
capturedRscData: null,
|
|
120
135
|
shellErrorRecovered: false
|
|
121
136
|
};
|
|
@@ -124,6 +139,7 @@ async function renderAppPageHtmlStreamWithRecovery(options) {
|
|
|
124
139
|
htmlStream: null,
|
|
125
140
|
response: boundaryResponse,
|
|
126
141
|
metadataReady: resolvedMetadataReady,
|
|
142
|
+
renderComplete: resolvedMetadataReady,
|
|
127
143
|
capturedRscData: null,
|
|
128
144
|
shellErrorRecovered: false
|
|
129
145
|
};
|
|
@@ -133,6 +149,8 @@ async function renderAppPageHtmlStreamWithRecovery(options) {
|
|
|
133
149
|
function createAppPageRscErrorTracker(baseOnError) {
|
|
134
150
|
let capturedError = null;
|
|
135
151
|
let capturedSpecialError = null;
|
|
152
|
+
const capturedErrors = /* @__PURE__ */ new Set();
|
|
153
|
+
const capturedDigests = /* @__PURE__ */ new Set();
|
|
136
154
|
return {
|
|
137
155
|
getCapturedError() {
|
|
138
156
|
return capturedError;
|
|
@@ -140,13 +158,24 @@ function createAppPageRscErrorTracker(baseOnError) {
|
|
|
140
158
|
getCapturedSpecialError() {
|
|
141
159
|
return capturedSpecialError;
|
|
142
160
|
},
|
|
161
|
+
isCapturedError(error) {
|
|
162
|
+
if (capturedErrors.has(error)) return true;
|
|
163
|
+
const digest = getNextErrorDigest(error);
|
|
164
|
+
return digest !== null && capturedDigests.has(digest);
|
|
165
|
+
},
|
|
143
166
|
onRenderError(error, requestInfo, errorContext) {
|
|
144
167
|
if (isNavigationSignalError(error)) {
|
|
145
168
|
if (capturedSpecialError === null) capturedSpecialError = error;
|
|
146
|
-
} else
|
|
147
|
-
|
|
169
|
+
} else {
|
|
170
|
+
capturedError = error;
|
|
171
|
+
capturedErrors.add(error);
|
|
172
|
+
}
|
|
173
|
+
const result = baseOnError(error, requestInfo, errorContext);
|
|
174
|
+
const digest = typeof result === "string" ? result : getNextErrorDigest(error);
|
|
175
|
+
if (digest !== null && !isNavigationSignalError(error)) capturedDigests.add(digest);
|
|
176
|
+
return result;
|
|
148
177
|
}
|
|
149
178
|
};
|
|
150
179
|
}
|
|
151
180
|
//#endregion
|
|
152
|
-
export { buildAppPageLinkHeader, createAppPageFontData, createAppPageRscErrorTracker, deferUntilStreamConsumed, isAppSsrRenderResult, renderAppPageHtmlResponse, renderAppPageHtmlStream, renderAppPageHtmlStreamWithRecovery };
|
|
181
|
+
export { buildAppPageLinkHeader, createAppPageFontData, createAppPageRscErrorTracker, createAppPageSsrErrorHandler, deferUntilStreamConsumed, isAppSsrRenderResult, renderAppPageHtmlResponse, renderAppPageHtmlStream, renderAppPageHtmlStreamWithRecovery };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { FrameworkSpan } from "./framework-tracer.js";
|
|
2
|
+
//#region src/server/app-page-tracing.d.ts
|
|
3
|
+
export declare function traceAppPageRender<T>(routePattern: string, operation: "prerender" | "render", callback: (span: FrameworkSpan) => T): T;
|
|
4
|
+
export declare function createAppPageRenderSpanDescriptor(routePattern: string, operation: "prerender" | "render"): {
|
|
5
|
+
readonly attributes: {
|
|
6
|
+
readonly "next.route": string;
|
|
7
|
+
};
|
|
8
|
+
readonly name: `prerender route (app) ${string}` | `render route (app) ${string}`;
|
|
9
|
+
readonly type: "AppRender.getBodyResult";
|
|
10
|
+
};
|
|
11
|
+
export declare function createGetLayoutOrPageModuleSpanDescriptor(segment: string): {
|
|
12
|
+
readonly attributes: {
|
|
13
|
+
readonly "next.segment": string;
|
|
14
|
+
};
|
|
15
|
+
readonly name: "resolve segment modules";
|
|
16
|
+
readonly type: "NextNodeServer.getLayoutOrPageModule";
|
|
17
|
+
};
|
|
18
|
+
export declare function createComponentTreeSpanDescriptor(): {
|
|
19
|
+
readonly name: "build component tree";
|
|
20
|
+
readonly type: "NextNodeServer.createComponentTree";
|
|
21
|
+
};
|
|
22
|
+
export declare function traceCreateComponentTree<T>(callback: () => T): T;
|
|
23
|
+
export declare function traceGetLayoutOrPageModule<T>(segment: string, callback: () => T): T;
|
|
24
|
+
export declare function resolveAppPageModuleTraceSegment(routeSegments: readonly string[], treePosition: number): string;
|
|
25
|
+
export declare function recordAppPageRenderError(span: FrameworkSpan, error: unknown): void;
|
|
26
|
+
export declare function resolveAppPageTraceOperation(options: {
|
|
27
|
+
hasRequestSearchParams: boolean;
|
|
28
|
+
isDynamicError: boolean;
|
|
29
|
+
isForceStatic: boolean;
|
|
30
|
+
isKnownPrerenderedRoute: boolean;
|
|
31
|
+
isPrerender: boolean;
|
|
32
|
+
}): "prerender" | "render";
|
|
33
|
+
//#endregion
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { patternToNextFormat } from "../routing/route-validation.js";
|
|
2
|
+
import { recordFrameworkSpanError } from "./framework-tracer.js";
|
|
3
|
+
import { frameworkTracer } from "./tracer.js";
|
|
4
|
+
import { getDigestForWellKnownError, isAppRenderAbortError } from "./app-rsc-errors.js";
|
|
5
|
+
//#region src/server/app-page-tracing.ts
|
|
6
|
+
function traceAppPageRender(routePattern, operation, callback) {
|
|
7
|
+
return frameworkTracer.trace(createAppPageRenderSpanDescriptor(routePattern, operation), callback);
|
|
8
|
+
}
|
|
9
|
+
function createAppPageRenderSpanDescriptor(routePattern, operation) {
|
|
10
|
+
const route = patternToNextFormat(routePattern);
|
|
11
|
+
return {
|
|
12
|
+
attributes: { "next.route": route },
|
|
13
|
+
name: `${operation} route (app) ${route}`,
|
|
14
|
+
type: "AppRender.getBodyResult"
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function createGetLayoutOrPageModuleSpanDescriptor(segment) {
|
|
18
|
+
return {
|
|
19
|
+
attributes: { "next.segment": segment },
|
|
20
|
+
name: "resolve segment modules",
|
|
21
|
+
type: "NextNodeServer.getLayoutOrPageModule"
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function createComponentTreeSpanDescriptor() {
|
|
25
|
+
return {
|
|
26
|
+
name: "build component tree",
|
|
27
|
+
type: "NextNodeServer.createComponentTree"
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function traceCreateComponentTree(callback) {
|
|
31
|
+
return frameworkTracer.trace(createComponentTreeSpanDescriptor(), callback);
|
|
32
|
+
}
|
|
33
|
+
function traceGetLayoutOrPageModule(segment, callback) {
|
|
34
|
+
return frameworkTracer.trace(createGetLayoutOrPageModuleSpanDescriptor(segment), callback);
|
|
35
|
+
}
|
|
36
|
+
function resolveAppPageModuleTraceSegment(routeSegments, treePosition) {
|
|
37
|
+
return treePosition === 0 ? "" : routeSegments[treePosition - 1] ?? "";
|
|
38
|
+
}
|
|
39
|
+
function recordAppPageRenderError(span, error) {
|
|
40
|
+
if (isAppRenderAbortError(error) || getDigestForWellKnownError(error) !== void 0) return;
|
|
41
|
+
recordFrameworkSpanError(span, error);
|
|
42
|
+
}
|
|
43
|
+
function resolveAppPageTraceOperation(options) {
|
|
44
|
+
if (options.isPrerender || options.isForceStatic || options.isDynamicError) return "prerender";
|
|
45
|
+
if (options.hasRequestSearchParams) return "render";
|
|
46
|
+
return options.isKnownPrerenderedRoute ? "prerender" : "render";
|
|
47
|
+
}
|
|
48
|
+
//#endregion
|
|
49
|
+
export { createAppPageRenderSpanDescriptor, createComponentTreeSpanDescriptor, createGetLayoutOrPageModuleSpanDescriptor, recordAppPageRenderError, resolveAppPageModuleTraceSegment, resolveAppPageTraceOperation, traceAppPageRender, traceCreateComponentTree, traceGetLayoutOrPageModule };
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { AppMiddlewareContext } from "./app-middleware.js";
|
|
2
2
|
import { EdgeApiExecutionRuntime } from "./edge-api-runtime.js";
|
|
3
3
|
//#region src/server/app-pages-bridge.d.ts
|
|
4
|
-
type PagesEntry = {
|
|
5
|
-
handleApiRoute?: (request: Request, url: string, ctx: unknown, trustedRevalidateOrigin: string | undefined, edgeRuntime: EdgeApiExecutionRuntime) => Promise<Response> | Response;
|
|
4
|
+
export type PagesEntry = {
|
|
5
|
+
handleApiRoute?: (request: Request, url: string, ctx: unknown, trustedRevalidateOrigin: string | undefined, edgeRuntime: EdgeApiExecutionRuntime, initialResponseHeaders?: Headers) => Promise<Response> | Response;
|
|
6
6
|
matchApiRoute?: (url: string, request: Request) => PagesRouteMatch | null;
|
|
7
7
|
matchPageRoute?: (url: string, request: Request) => PagesRouteMatch | null;
|
|
8
8
|
renderPage?: (request: Request, url: string, query: Record<string, unknown>, parsedUrl: unknown, middlewareRequestHeaders?: Headers | null, options?: {
|
|
9
9
|
isDataReq?: boolean;
|
|
10
|
-
}) => Promise<Response> | Response;
|
|
10
|
+
}, initialResponseHeaders?: Headers) => Promise<Response> | Response;
|
|
11
11
|
};
|
|
12
12
|
type PagesRouteMatch = {
|
|
13
13
|
route: {
|
|
@@ -48,6 +48,7 @@ type RenderPagesFallbackOptions = {
|
|
|
48
48
|
appRouteMatch?: AppRouteMatch | null;
|
|
49
49
|
isDataRequest?: boolean;
|
|
50
50
|
isRscRequest: boolean;
|
|
51
|
+
initialResponseHeaders?: Headers;
|
|
51
52
|
matchKind?: "dynamic" | "static";
|
|
52
53
|
middlewareContext: AppMiddlewareContext;
|
|
53
54
|
pathname?: string;
|
|
@@ -58,6 +59,5 @@ type RenderPagesFallbackOptions = {
|
|
|
58
59
|
/**
|
|
59
60
|
* Fallback handler to route App Router requests to the Pages Router when no App Router route matches.
|
|
60
61
|
*/
|
|
61
|
-
declare function renderPagesFallback(options: RenderPagesFallbackOptions, dependencies: RenderPagesFallbackDependencies): Promise<Response | null>;
|
|
62
|
-
//#endregion
|
|
63
|
-
export { PagesEntry, renderPagesFallback };
|
|
62
|
+
export declare function renderPagesFallback(options: RenderPagesFallbackOptions, dependencies: RenderPagesFallbackDependencies): Promise<Response | null>;
|
|
63
|
+
//#endregion
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { getRequestExecutionContext } from "../shims/request-context.js";
|
|
2
2
|
import { cloneRequestWithHeaders, cloneRequestWithUrl } from "./request-pipeline.js";
|
|
3
|
+
import { beginRouteCacheability } from "../shims/cacheability-classification.js";
|
|
3
4
|
import { mergeHeaders } from "./worker-utils.js";
|
|
4
5
|
import { pagesRouteHasPriorityOverAppRoute } from "./hybrid-route-priority.js";
|
|
5
6
|
//#region src/server/app-pages-bridge.ts
|
|
@@ -17,7 +18,7 @@ function applyPagesMiddlewareContext(response, middlewareContext) {
|
|
|
17
18
|
* Fallback handler to route App Router requests to the Pages Router when no App Router route matches.
|
|
18
19
|
*/
|
|
19
20
|
async function renderPagesFallback(options, dependencies) {
|
|
20
|
-
const { allowRscDocumentFallback = false, appRouteMatch = null, isDataRequest = false, isRscRequest, matchKind, middlewareContext, pathname = options.url.pathname, pagesDataRequest = null, request, url } = options;
|
|
21
|
+
const { allowRscDocumentFallback = false, appRouteMatch = null, isDataRequest = false, isRscRequest, initialResponseHeaders, matchKind, middlewareContext, pathname = options.url.pathname, pagesDataRequest = null, request, url } = options;
|
|
21
22
|
const { loadPagesEntry, buildRequestHeaders, decodePathParams, applyRouteHandlerMiddlewareContext, getDraftModeCookieHeader } = dependencies;
|
|
22
23
|
if (isRscRequest && !allowRscDocumentFallback) return null;
|
|
23
24
|
const pagesEntry = await loadPagesEntry();
|
|
@@ -39,7 +40,14 @@ async function renderPagesFallback(options, dependencies) {
|
|
|
39
40
|
if (apiMatch === null || !pagesRouteHasPriorityOverAppRoute(apiMatch.route, appRouteMatch.route)) return null;
|
|
40
41
|
}
|
|
41
42
|
const executionContext = getRequestExecutionContext();
|
|
42
|
-
const
|
|
43
|
+
const apiArgs = [
|
|
44
|
+
pagesRequest,
|
|
45
|
+
pagesUrl,
|
|
46
|
+
void 0,
|
|
47
|
+
executionContext?.trustedRevalidateOrigin ?? new URL(pagesRequest.url).origin,
|
|
48
|
+
executionContext?.hostRuntime ?? "node"
|
|
49
|
+
];
|
|
50
|
+
const pagesApiResponse = await (initialResponseHeaders ? pagesEntry.handleApiRoute(...apiArgs, initialResponseHeaders) : pagesEntry.handleApiRoute(...apiArgs));
|
|
43
51
|
const draftCookie = getDraftModeCookieHeader();
|
|
44
52
|
return applyDraftModeCookie(applyRouteHandlerMiddlewareContext(pagesApiResponse, middlewareContext), draftCookie);
|
|
45
53
|
}
|
|
@@ -50,8 +58,15 @@ async function renderPagesFallback(options, dependencies) {
|
|
|
50
58
|
if (pageMatch !== null && matchKind === "static" && pageMatch.route.isDynamic) return null;
|
|
51
59
|
if (pageMatch !== null && matchKind === "dynamic" && !pageMatch.route.isDynamic) return null;
|
|
52
60
|
if (appRouteMatch !== null && (pageMatch === null || !pagesRouteHasPriorityOverAppRoute(pageMatch.route, appRouteMatch.route))) return null;
|
|
53
|
-
|
|
54
|
-
const
|
|
61
|
+
if (pageMatch !== null) beginRouteCacheability("pages-page", pageMatch.route.pattern);
|
|
62
|
+
const renderArgs = [
|
|
63
|
+
pagesDataRequest ? cloneRequestWithUrl(pagesRequest, pagesDataRequest.url) : pagesRequest,
|
|
64
|
+
pagesUrl,
|
|
65
|
+
{},
|
|
66
|
+
void 0,
|
|
67
|
+
middlewareContext.requestHeaders
|
|
68
|
+
];
|
|
69
|
+
const pagesRes = isDataRequest ? await (initialResponseHeaders ? pagesEntry.renderPage(...renderArgs, { isDataReq: true }, initialResponseHeaders) : pagesEntry.renderPage(...renderArgs, { isDataReq: true })) : await (initialResponseHeaders ? pagesEntry.renderPage(...renderArgs, void 0, initialResponseHeaders) : pagesEntry.renderPage(...renderArgs));
|
|
55
70
|
if (pagesRes.status === 404 && pageMatch === null) return null;
|
|
56
71
|
return applyDraftModeCookie(applyPagesMiddlewareContext(pagesRes, middlewareContext), getDraftModeCookieHeader());
|
|
57
72
|
}
|
|
@@ -9,6 +9,5 @@ import { RequestContext } from "../config/request-context.js";
|
|
|
9
9
|
* Falls back to `requestContextFromRequest(request)` when no HeadersContext
|
|
10
10
|
* is set (no middleware ran, or middleware didn't set request headers).
|
|
11
11
|
*/
|
|
12
|
-
declare function buildPostMwRequestContext(request: Request): RequestContext;
|
|
13
|
-
//#endregion
|
|
14
|
-
export { buildPostMwRequestContext };
|
|
12
|
+
export declare function buildPostMwRequestContext(request: Request): RequestContext;
|
|
13
|
+
//#endregion
|
|
@@ -3,7 +3,7 @@ import { ReactNode } from "react";
|
|
|
3
3
|
//#region src/server/app-ppr-fallback-shell-render.d.ts
|
|
4
4
|
type AppPageBoundaryOnError = (error: unknown, requestInfo: unknown, errorContext: unknown) => unknown;
|
|
5
5
|
type AppPageRenderableElement = ReactNode | Record<string, ReactNode>;
|
|
6
|
-
type WarmPprFallbackShellCachesOptions = {
|
|
6
|
+
export type WarmPprFallbackShellCachesOptions = {
|
|
7
7
|
element: AppPageRenderableElement;
|
|
8
8
|
onError: AppPageBoundaryOnError;
|
|
9
9
|
renderToReadableStream: (element: AppPageRenderableElement, options: {
|
|
@@ -12,6 +12,5 @@ type WarmPprFallbackShellCachesOptions = {
|
|
|
12
12
|
}) => ReadableStream<Uint8Array>;
|
|
13
13
|
state: PprFallbackShellState;
|
|
14
14
|
};
|
|
15
|
-
declare function warmPprFallbackShellCaches(options: WarmPprFallbackShellCachesOptions): Promise<void>;
|
|
16
|
-
//#endregion
|
|
17
|
-
export { WarmPprFallbackShellCachesOptions, warmPprFallbackShellCaches };
|
|
15
|
+
export declare function warmPprFallbackShellCaches(options: WarmPprFallbackShellCachesOptions): Promise<void>;
|
|
16
|
+
//#endregion
|
|
@@ -3,13 +3,14 @@ import { readAppPageBinaryStream } from "./app-page-execution.js";
|
|
|
3
3
|
//#region src/server/app-ppr-fallback-shell-render.ts
|
|
4
4
|
async function warmPprFallbackShellCaches(options) {
|
|
5
5
|
let warmupError = null;
|
|
6
|
-
const
|
|
6
|
+
const warmupStream = options.renderToReadableStream(options.element, {
|
|
7
7
|
signal: options.state.abortController.signal,
|
|
8
8
|
onError(error, requestInfo, errorContext) {
|
|
9
9
|
if (options.state.abortController.signal.aborted || isPprFallbackShellAbortError(error)) return;
|
|
10
10
|
return options.onError(error, requestInfo, errorContext);
|
|
11
11
|
}
|
|
12
|
-
})
|
|
12
|
+
});
|
|
13
|
+
const warmupDrain = readAppPageBinaryStream(warmupStream).catch((error) => {
|
|
13
14
|
if (options.state.abortController.signal.aborted || isPprFallbackShellAbortError(error)) return;
|
|
14
15
|
warmupError = error;
|
|
15
16
|
});
|
|
@@ -14,20 +14,19 @@ type AppPprFallbackShell = {
|
|
|
14
14
|
* Produced at build time by the PPR prerender and served at request time
|
|
15
15
|
* when the exact cache entry for a dynamic child param is missing.
|
|
16
16
|
*/
|
|
17
|
-
type AppPagePprFallbackCacheShell = {
|
|
17
|
+
export type AppPagePprFallbackCacheShell = {
|
|
18
18
|
fallbackParamNames: readonly string[];
|
|
19
19
|
params: Record<string, string | string[]>;
|
|
20
20
|
pathname: string;
|
|
21
21
|
};
|
|
22
|
-
declare function markAppPprDynamicFallbackShellHtml(html: string): string;
|
|
23
|
-
declare function isAppPprDynamicFallbackShellHtml(html: string): boolean;
|
|
24
|
-
declare function createAppPprFallbackShells(route: AppPprFallbackShellRoute, matchedParams: Record<string, string | string[]>): AppPprFallbackShell[];
|
|
25
|
-
declare function rewriteAppPprFallbackShellHtmlNavigation(options: {
|
|
22
|
+
export declare function markAppPprDynamicFallbackShellHtml(html: string): string;
|
|
23
|
+
export declare function isAppPprDynamicFallbackShellHtml(html: string): boolean;
|
|
24
|
+
export declare function createAppPprFallbackShells(route: AppPprFallbackShellRoute, matchedParams: Record<string, string | string[]>): AppPprFallbackShell[];
|
|
25
|
+
export declare function rewriteAppPprFallbackShellHtmlNavigation(options: {
|
|
26
26
|
html: string;
|
|
27
27
|
isForceStatic?: boolean;
|
|
28
28
|
params: Record<string, string | string[]>;
|
|
29
29
|
pathname: string;
|
|
30
30
|
searchParams: URLSearchParams;
|
|
31
31
|
}): string;
|
|
32
|
-
//#endregion
|
|
33
|
-
export { AppPagePprFallbackCacheShell, createAppPprFallbackShells, isAppPprDynamicFallbackShellHtml, markAppPprDynamicFallbackShellHtml, rewriteAppPprFallbackShellHtmlNavigation };
|
|
32
|
+
//#endregion
|
|
@@ -2,9 +2,10 @@ import { RootParams } from "../shims/root-params.js";
|
|
|
2
2
|
//#region src/server/app-prerender-endpoints.d.ts
|
|
3
3
|
type GenerateStaticParams = (args: {
|
|
4
4
|
params: RootParams;
|
|
5
|
+
rejectEmptyResults?: boolean;
|
|
5
6
|
}) => unknown;
|
|
6
|
-
type AppPrerenderStaticParamsMap = Record<string, GenerateStaticParams | null | undefined>;
|
|
7
|
-
type AppPrerenderRootParamNamesMap = Record<string, readonly string[] | undefined>;
|
|
7
|
+
export type AppPrerenderStaticParamsMap = Record<string, GenerateStaticParams | null | undefined>;
|
|
8
|
+
export type AppPrerenderRootParamNamesMap = Record<string, readonly string[] | undefined>;
|
|
8
9
|
type HandleAppPrerenderEndpointOptions = {
|
|
9
10
|
isPrerenderEnabled?: () => boolean;
|
|
10
11
|
getMetadataRoutePaths?: () => Promise<unknown>;
|
|
@@ -13,6 +14,5 @@ type HandleAppPrerenderEndpointOptions = {
|
|
|
13
14
|
rootParamNamesByPattern?: AppPrerenderRootParamNamesMap;
|
|
14
15
|
staticParamsMap: AppPrerenderStaticParamsMap;
|
|
15
16
|
};
|
|
16
|
-
declare function handleAppPrerenderEndpoint(request: Request, options: HandleAppPrerenderEndpointOptions): Promise<Response | null>;
|
|
17
|
-
//#endregion
|
|
18
|
-
export { AppPrerenderRootParamNamesMap, AppPrerenderStaticParamsMap, handleAppPrerenderEndpoint };
|
|
17
|
+
export declare function handleAppPrerenderEndpoint(request: Request, options: HandleAppPrerenderEndpointOptions): Promise<Response | null>;
|
|
18
|
+
//#endregion
|
|
@@ -2,7 +2,11 @@ import "./headers.js";
|
|
|
2
2
|
import { notFoundResponse } from "./http-error-responses.js";
|
|
3
3
|
import { callAppPrerenderStaticParams } from "./app-prerender-static-params.js";
|
|
4
4
|
//#region src/server/app-prerender-endpoints.ts
|
|
5
|
-
const JSON_HEADERS = {
|
|
5
|
+
const JSON_HEADERS = {
|
|
6
|
+
"cache-control": "no-store",
|
|
7
|
+
"content-type": "application/json"
|
|
8
|
+
};
|
|
9
|
+
const NO_STORE_HEADERS = { "cache-control": "no-store" };
|
|
6
10
|
async function handleAppPrerenderEndpoint(request, options) {
|
|
7
11
|
if (options.pathname === "/__vinext/prerender/static-params") return handleStaticParamsEndpoint(request, options);
|
|
8
12
|
if (options.pathname === "/__vinext/prerender/pages-static-paths") {
|
|
@@ -16,7 +20,7 @@ async function handleAppPrerenderEndpoint(request, options) {
|
|
|
16
20
|
return null;
|
|
17
21
|
}
|
|
18
22
|
async function handleMetadataRoutesEndpoint(options) {
|
|
19
|
-
if (!isEnabled(options)) return notFoundResponse();
|
|
23
|
+
if (!isEnabled(options)) return notFoundResponse({ headers: NO_STORE_HEADERS });
|
|
20
24
|
try {
|
|
21
25
|
return jsonResponse(await options.getMetadataRoutePaths?.());
|
|
22
26
|
} catch (error) {
|
|
@@ -24,28 +28,38 @@ async function handleMetadataRoutesEndpoint(options) {
|
|
|
24
28
|
}
|
|
25
29
|
}
|
|
26
30
|
async function handleStaticParamsEndpoint(request, options) {
|
|
27
|
-
if (!isEnabled(options)) return notFoundResponse();
|
|
31
|
+
if (!isEnabled(options)) return notFoundResponse({ headers: NO_STORE_HEADERS });
|
|
28
32
|
const url = new URL(request.url);
|
|
29
33
|
const pattern = url.searchParams.get("pattern");
|
|
30
|
-
if (!pattern) return new Response("missing pattern", {
|
|
34
|
+
if (!pattern) return new Response("missing pattern", {
|
|
35
|
+
headers: NO_STORE_HEADERS,
|
|
36
|
+
status: 400
|
|
37
|
+
});
|
|
31
38
|
const generateStaticParams = options.staticParamsMap[pattern];
|
|
32
39
|
if (typeof generateStaticParams !== "function") return jsonNullResponse();
|
|
33
40
|
try {
|
|
34
|
-
|
|
41
|
+
const params = parseParentParams(url.searchParams.get("parentParams"));
|
|
42
|
+
const result = await callAppPrerenderStaticParams({
|
|
35
43
|
fn: generateStaticParams,
|
|
36
|
-
params
|
|
44
|
+
params,
|
|
37
45
|
pattern,
|
|
46
|
+
rejectEmptyResults: url.searchParams.get("rejectEmptyResults") === "1",
|
|
38
47
|
rootParamNamesByPattern: options.rootParamNamesByPattern ?? {}
|
|
39
|
-
})
|
|
48
|
+
});
|
|
49
|
+
if (result === null) return jsonNullResponse();
|
|
50
|
+
return jsonResponse(result);
|
|
40
51
|
} catch (error) {
|
|
41
52
|
return jsonResponse({ error: String(error) }, 500);
|
|
42
53
|
}
|
|
43
54
|
}
|
|
44
55
|
async function handlePagesStaticPathsEndpoint(request, options) {
|
|
45
|
-
if (!isEnabled(options)) return notFoundResponse();
|
|
56
|
+
if (!isEnabled(options)) return notFoundResponse({ headers: NO_STORE_HEADERS });
|
|
46
57
|
const url = new URL(request.url);
|
|
47
58
|
const pattern = url.searchParams.get("pattern");
|
|
48
|
-
if (!pattern) return new Response("missing pattern", {
|
|
59
|
+
if (!pattern) return new Response("missing pattern", {
|
|
60
|
+
headers: NO_STORE_HEADERS,
|
|
61
|
+
status: 400
|
|
62
|
+
});
|
|
49
63
|
try {
|
|
50
64
|
const getStaticPaths = findPageRoute(await options.loadPagesRoutes?.(), pattern)?.module?.getStaticPaths;
|
|
51
65
|
if (typeof getStaticPaths !== "function") return jsonNullResponse();
|
|
@@ -67,9 +81,9 @@ function jsonResponse(body, status = 200) {
|
|
|
67
81
|
});
|
|
68
82
|
}
|
|
69
83
|
function jsonNullResponse() {
|
|
70
|
-
return new Response(
|
|
71
|
-
headers:
|
|
72
|
-
status:
|
|
84
|
+
return new Response(null, {
|
|
85
|
+
headers: NO_STORE_HEADERS,
|
|
86
|
+
status: 204
|
|
73
87
|
});
|
|
74
88
|
}
|
|
75
89
|
function parseParentParams(raw) {
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import { RootParams } from "../shims/root-params.js";
|
|
2
2
|
//#region src/server/app-prerender-static-params.d.ts
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* A prerender resolver's input. `rejectEmptyResults` is set where Next.js
|
|
5
|
+
* fails the build on any generateStaticParams that returns no params
|
|
6
|
+
* (`output: "export"`, Cache Components), so the resolver hands the empty
|
|
7
|
+
* result back for the caller to reject instead of passing parents through.
|
|
8
|
+
*/
|
|
9
|
+
type AppPrerenderStaticParamsResolverInput = {
|
|
4
10
|
params: RootParams;
|
|
5
|
-
|
|
11
|
+
rejectEmptyResults?: boolean;
|
|
12
|
+
};
|
|
13
|
+
type AppPrerenderStaticParamsResolver = (input: AppPrerenderStaticParamsResolverInput) => unknown;
|
|
6
14
|
/**
|
|
7
15
|
* Build a prerender `generateStaticParams` resolver for one route pattern.
|
|
8
16
|
*
|
|
@@ -17,13 +25,13 @@ type GenerateStaticParamsFunction = (input: {
|
|
|
17
25
|
*
|
|
18
26
|
* Returns `null` (no resolver) only when the pattern has zero sources at all.
|
|
19
27
|
*/
|
|
20
|
-
declare function createAppPrerenderStaticParamsResolver(sources: readonly unknown[], rootParamNames?: readonly string[]):
|
|
28
|
+
export declare function createAppPrerenderStaticParamsResolver(sources: readonly unknown[], rootParamNames?: readonly string[]): AppPrerenderStaticParamsResolver | null;
|
|
21
29
|
type CallAppPrerenderStaticParamsOptions = {
|
|
22
|
-
fn:
|
|
30
|
+
fn: AppPrerenderStaticParamsResolver;
|
|
23
31
|
params: RootParams;
|
|
24
32
|
pattern: string;
|
|
33
|
+
rejectEmptyResults?: boolean;
|
|
25
34
|
rootParamNamesByPattern: Record<string, readonly string[] | undefined>;
|
|
26
35
|
};
|
|
27
|
-
declare function callAppPrerenderStaticParams(options: CallAppPrerenderStaticParamsOptions): Promise<unknown>;
|
|
28
|
-
//#endregion
|
|
29
|
-
export { callAppPrerenderStaticParams, createAppPrerenderStaticParamsResolver };
|
|
36
|
+
export declare function callAppPrerenderStaticParams(options: CallAppPrerenderStaticParamsOptions): Promise<unknown>;
|
|
37
|
+
//#endregion
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import { isUnknownRecord } from "../utils/record.js";
|
|
2
2
|
import { pickRootParams, runWithRootParamsScope } from "../shims/root-params.js";
|
|
3
3
|
//#region src/server/app-prerender-static-params.ts
|
|
4
|
+
/**
|
|
5
|
+
* Next.js rejects malformed generateStaticParams output in every mode
|
|
6
|
+
* (build/static-paths/app.ts callGenerateStaticParams), so it must never read
|
|
7
|
+
* as an empty result that later providers continue from.
|
|
8
|
+
*/
|
|
9
|
+
function invalidGenerateStaticParamsResult(message) {
|
|
10
|
+
throw new Error(message);
|
|
11
|
+
}
|
|
4
12
|
function isGenerateStaticParamsFunction(value) {
|
|
5
13
|
return typeof value === "function";
|
|
6
14
|
}
|
|
@@ -8,7 +16,9 @@ function isLazyStaticParamsSource(value) {
|
|
|
8
16
|
return typeof value === "object" && value !== null && "load" in value && typeof value.load === "function";
|
|
9
17
|
}
|
|
10
18
|
function isRootParams(value) {
|
|
11
|
-
|
|
19
|
+
if (!isUnknownRecord(value)) return false;
|
|
20
|
+
const prototype = Object.getPrototypeOf(value);
|
|
21
|
+
return prototype === Object.prototype || prototype === null;
|
|
12
22
|
}
|
|
13
23
|
/**
|
|
14
24
|
* Build a prerender `generateStaticParams` resolver for one route pattern.
|
|
@@ -48,21 +58,29 @@ function createAppPrerenderStaticParamsResolver(sources, rootParamNames) {
|
|
|
48
58
|
if (fns.length === 0) return null;
|
|
49
59
|
if (fns.length === 1) {
|
|
50
60
|
const single = fns[0];
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
61
|
+
const picked = filterRootParams(input.params);
|
|
62
|
+
return runWithRootParamsScope(picked, async () => {
|
|
63
|
+
const result = await single({ params: input.params });
|
|
64
|
+
if (!Array.isArray(result)) return invalidGenerateStaticParamsResult("generateStaticParams must return an array");
|
|
65
|
+
for (const item of result) if (!isRootParams(item)) return invalidGenerateStaticParamsResult("generateStaticParams must return an array of objects");
|
|
55
66
|
return result;
|
|
56
67
|
});
|
|
57
68
|
}
|
|
58
|
-
let paramSets = [input.params];
|
|
69
|
+
let paramSets = Object.keys(input.params).length > 0 ? [input.params] : [];
|
|
59
70
|
for (const generateStaticParams of fns) {
|
|
60
71
|
const nextParamSets = [];
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
72
|
+
const hasParentSets = paramSets.length > 0;
|
|
73
|
+
for (const parentParams of hasParentSets ? paramSets : [{}]) {
|
|
74
|
+
const rootScope = filterRootParams(parentParams);
|
|
75
|
+
const result = await runWithRootParamsScope(rootScope, async () => generateStaticParams({ params: parentParams }));
|
|
76
|
+
if (!Array.isArray(result)) return invalidGenerateStaticParamsResult("generateStaticParams must return an array");
|
|
77
|
+
if (result.length === 0) {
|
|
78
|
+
if (input.rejectEmptyResults) return [];
|
|
79
|
+
if (hasParentSets) nextParamSets.push(parentParams);
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
64
82
|
for (const item of result) {
|
|
65
|
-
if (!isRootParams(item)) return
|
|
83
|
+
if (!isRootParams(item)) return invalidGenerateStaticParamsResult("generateStaticParams must return an array of objects");
|
|
66
84
|
nextParamSets.push({
|
|
67
85
|
...parentParams,
|
|
68
86
|
...item
|
|
@@ -75,7 +93,11 @@ function createAppPrerenderStaticParamsResolver(sources, rootParamNames) {
|
|
|
75
93
|
};
|
|
76
94
|
}
|
|
77
95
|
async function callAppPrerenderStaticParams(options) {
|
|
78
|
-
|
|
96
|
+
const picked = pickRootParams(options.params, options.rootParamNamesByPattern[options.pattern]);
|
|
97
|
+
return runWithRootParamsScope(picked, () => options.fn(options.rejectEmptyResults ? {
|
|
98
|
+
params: options.params,
|
|
99
|
+
rejectEmptyResults: true
|
|
100
|
+
} : { params: options.params }));
|
|
79
101
|
}
|
|
80
102
|
//#endregion
|
|
81
103
|
export { callAppPrerenderStaticParams, createAppPrerenderStaticParamsResolver };
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
import { ComponentType, ReactNode } from "react";
|
|
2
2
|
//#region src/server/app-render-dependency.d.ts
|
|
3
|
-
type AppRenderDependency = {
|
|
3
|
+
export type AppRenderDependency = {
|
|
4
4
|
promise: Promise<void>;
|
|
5
5
|
release: () => void;
|
|
6
6
|
};
|
|
7
|
-
type AppPageRenderDependency = AppRenderDependency & {
|
|
7
|
+
export type AppPageRenderDependency = AppRenderDependency & {
|
|
8
8
|
resultDependencies: readonly AppRenderDependency[];
|
|
9
9
|
setResultDependencies: (dependencies: readonly AppRenderDependency[]) => void;
|
|
10
10
|
};
|
|
11
|
-
|
|
12
|
-
declare function
|
|
13
|
-
declare function
|
|
14
|
-
declare function
|
|
15
|
-
declare function
|
|
16
|
-
declare function
|
|
17
|
-
declare function
|
|
18
|
-
declare function
|
|
19
|
-
declare function
|
|
20
|
-
|
|
21
|
-
export
|
|
11
|
+
/** Whether `component` is a "use client" export seen from the RSC environment. */
|
|
12
|
+
export declare function isAppClientReference(component: unknown): boolean;
|
|
13
|
+
export declare function isReactOwnedAppComponent(component: unknown): boolean;
|
|
14
|
+
export declare function invokeAppComponent(component: ComponentType<Record<string, unknown>>, props: Readonly<Record<string, unknown>>): ReactNode | Promise<ReactNode>;
|
|
15
|
+
export declare function registerAppElementRenderDependencies(elements: Readonly<Record<string, unknown>>, dependenciesByElementId: ReadonlyMap<string, AppRenderDependency>): void;
|
|
16
|
+
export declare function releaseAppElementRenderDependency(elements: Readonly<Record<string, unknown>>, elementId: string): void;
|
|
17
|
+
export declare function createAppRenderDependency(): AppRenderDependency;
|
|
18
|
+
export declare function createAppPageRenderDependency(): AppPageRenderDependency;
|
|
19
|
+
export declare function isAppRenderSuspension(error: unknown): boolean;
|
|
20
|
+
export declare function renderAfterAppDependencies(children: ReactNode, dependencies: readonly AppRenderDependency[]): ReactNode;
|
|
21
|
+
export declare function renderAppComponentWithDependencyBarrier(component: ComponentType<Record<string, unknown>>, props: Readonly<Record<string, unknown>>, dependency: AppRenderDependency): ReactNode;
|
|
22
|
+
//#endregion
|
|
@@ -6,6 +6,10 @@ const REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference");
|
|
|
6
6
|
const REACT_FORWARD_REF = Symbol.for("react.forward_ref");
|
|
7
7
|
const REACT_LAZY = Symbol.for("react.lazy");
|
|
8
8
|
const REACT_MEMO = Symbol.for("react.memo");
|
|
9
|
+
/** Whether `component` is a "use client" export seen from the RSC environment. */
|
|
10
|
+
function isAppClientReference(component) {
|
|
11
|
+
return component?.$$typeof === REACT_CLIENT_REFERENCE;
|
|
12
|
+
}
|
|
9
13
|
function isReactOwnedAppComponent(component) {
|
|
10
14
|
const candidate = component;
|
|
11
15
|
if (candidate?.$$typeof === REACT_MEMO || candidate?.$$typeof === REACT_LAZY || candidate?.$$typeof === REACT_FORWARD_REF) return false;
|
|
@@ -88,4 +92,4 @@ function renderAppComponentWithDependencyBarrier(component, props, dependency) {
|
|
|
88
92
|
return createElement(AppComponentDependencyBarrier);
|
|
89
93
|
}
|
|
90
94
|
//#endregion
|
|
91
|
-
export { createAppPageRenderDependency, createAppRenderDependency, invokeAppComponent, isAppRenderSuspension, isReactOwnedAppComponent, registerAppElementRenderDependencies, releaseAppElementRenderDependency, renderAfterAppDependencies, renderAppComponentWithDependencyBarrier };
|
|
95
|
+
export { createAppPageRenderDependency, createAppRenderDependency, invokeAppComponent, isAppClientReference, isAppRenderSuspension, isReactOwnedAppComponent, registerAppElementRenderDependencies, releaseAppElementRenderDependency, renderAfterAppDependencies, renderAppComponentWithDependencyBarrier };
|