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,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { VINEXT_MOUNTED_SLOTS_HEADER, VINEXT_RSC_VARY_HEADER } from "./app-rsc-vary.js";
|
|
2
|
+
import { NEXT_CACHE_TAGS_HEADER, NEXT_ROUTER_STALE_TIME_HEADER, VINEXT_DYNAMIC_STALE_TIME_HEADER, VINEXT_PARAMS_HEADER, VINEXT_RENDERED_PATH_AND_SEARCH_HEADER, VINEXT_STALE_TIME_PENDING_HEADER, VINEXT_TIMING_HEADER } from "./headers.js";
|
|
3
|
+
import { NEVER_CACHE_CONTROL, NO_STORE_CACHE_CONTROL, STATIC_CACHE_CONTROL, buildRevalidateCacheControl } from "./cache-control.js";
|
|
3
4
|
import { setCacheStateHeaders } from "./cache-headers.js";
|
|
4
|
-
import { VINEXT_RSC_CONTENT_TYPE,
|
|
5
|
+
import { VINEXT_RSC_CONTENT_TYPE, applyRscCompatibilityIdHeader, applyRscDeploymentIdHeader } from "./app-rsc-cache-busting.js";
|
|
5
6
|
import { mergeMiddlewareResponseHeaders } from "./middleware-response-headers.js";
|
|
6
7
|
import { applyPrerenderCacheLifeHeader } from "./prerender-cache-life-header.js";
|
|
7
8
|
import { markFrameworkLinkHeaders } from "./app-response-header-provenance.js";
|
|
@@ -28,14 +29,27 @@ function applyClientStaleTimeHeader(headers, staleTimeSeconds) {
|
|
|
28
29
|
function applyPrerenderCacheTagsHeader(headers, cacheTags) {
|
|
29
30
|
if (cacheTags && cacheTags.length > 0) headers.set(NEXT_CACHE_TAGS_HEADER, cacheTags.join(","));
|
|
30
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Next.js sends `private, no-cache, no-store, max-age=0, must-revalidate` for
|
|
34
|
+
* an App page response it knows is dynamic. Dev responses never cache, so they
|
|
35
|
+
* keep vinext's dev `no-store` header.
|
|
36
|
+
*/
|
|
37
|
+
function resolveUncacheableCacheControl(isProduction) {
|
|
38
|
+
return isProduction ? NEVER_CACHE_CONTROL : NO_STORE_CACHE_CONTROL;
|
|
39
|
+
}
|
|
31
40
|
function resolveAppPageRscResponsePolicy(options) {
|
|
32
|
-
if (options.isDraftMode) return { cacheControl:
|
|
33
|
-
if (options.
|
|
34
|
-
if (options.
|
|
35
|
-
if (
|
|
41
|
+
if (options.isDraftMode) return { cacheControl: resolveUncacheableCacheControl(options.isProduction) };
|
|
42
|
+
if (options.isStaticEligible === false) return { cacheControl: resolveUncacheableCacheControl(options.isProduction) };
|
|
43
|
+
if (options.isForceDynamic || options.dynamicUsedDuringBuild) return { cacheControl: resolveUncacheableCacheControl(options.isProduction) };
|
|
44
|
+
if (options.revalidateSeconds === 0) return { cacheControl: resolveUncacheableCacheControl(options.isProduction) };
|
|
45
|
+
if ((options.isForceStatic || options.isDynamicError) && (options.revalidateSeconds === null || options.revalidateSeconds === Infinity)) return {
|
|
36
46
|
cacheControl: STATIC_CACHE_CONTROL,
|
|
37
47
|
cacheState: "STATIC"
|
|
38
48
|
};
|
|
49
|
+
if (options.revalidateSeconds === Infinity) return {
|
|
50
|
+
cacheControl: STATIC_CACHE_CONTROL,
|
|
51
|
+
cacheState: options.isProduction ? "MISS" : "STATIC"
|
|
52
|
+
};
|
|
39
53
|
if (options.revalidateSeconds) return {
|
|
40
54
|
cacheControl: buildRevalidateCacheControl(options.revalidateSeconds, options.expireSeconds),
|
|
41
55
|
cacheState: options.isProduction ? "MISS" : void 0
|
|
@@ -44,11 +58,15 @@ function resolveAppPageRscResponsePolicy(options) {
|
|
|
44
58
|
}
|
|
45
59
|
function resolveAppPageHtmlResponsePolicy(options) {
|
|
46
60
|
if (options.isDraftMode) return {
|
|
47
|
-
cacheControl:
|
|
61
|
+
cacheControl: resolveUncacheableCacheControl(options.isProduction),
|
|
62
|
+
shouldWriteToCache: false
|
|
63
|
+
};
|
|
64
|
+
if (options.isStaticEligible === false) return {
|
|
65
|
+
cacheControl: resolveUncacheableCacheControl(options.isProduction),
|
|
48
66
|
shouldWriteToCache: false
|
|
49
67
|
};
|
|
50
68
|
if (options.isForceDynamic) return {
|
|
51
|
-
cacheControl:
|
|
69
|
+
cacheControl: resolveUncacheableCacheControl(options.isProduction),
|
|
52
70
|
shouldWriteToCache: false
|
|
53
71
|
};
|
|
54
72
|
if (options.hasScriptNonce) return {
|
|
@@ -60,16 +78,16 @@ function resolveAppPageHtmlResponsePolicy(options) {
|
|
|
60
78
|
shouldWriteToCache: false
|
|
61
79
|
};
|
|
62
80
|
if (options.revalidateSeconds === 0) return {
|
|
63
|
-
cacheControl:
|
|
81
|
+
cacheControl: resolveUncacheableCacheControl(options.isProduction),
|
|
64
82
|
shouldWriteToCache: false
|
|
65
83
|
};
|
|
66
|
-
if ((options.isForceStatic || options.isDynamicError) && options.revalidateSeconds === null) return {
|
|
84
|
+
if ((options.isForceStatic || options.isDynamicError) && (options.revalidateSeconds === null || options.revalidateSeconds === Infinity)) return {
|
|
67
85
|
cacheControl: STATIC_CACHE_CONTROL,
|
|
68
86
|
cacheState: options.isProduction ? "MISS" : "STATIC",
|
|
69
87
|
shouldWriteToCache: options.isProduction
|
|
70
88
|
};
|
|
71
89
|
if (options.dynamicUsedDuringRender) return {
|
|
72
|
-
cacheControl:
|
|
90
|
+
cacheControl: resolveUncacheableCacheControl(options.isProduction),
|
|
73
91
|
shouldWriteToCache: false
|
|
74
92
|
};
|
|
75
93
|
if (options.revalidateSeconds !== null && options.revalidateSeconds > 0 && options.revalidateSeconds !== Infinity) return {
|
|
@@ -140,4 +158,4 @@ function buildAppPageHtmlResponse(body, options) {
|
|
|
140
158
|
return response;
|
|
141
159
|
}
|
|
142
160
|
//#endregion
|
|
143
|
-
export { applyClientStaleTimeHeader, applyEdgeRuntimeHeader, buildAppPageHtmlResponse, buildAppPageRscResponse, mergeMiddlewareResponseHeaders, resolveAppPageHtmlResponsePolicy, resolveAppPageRscResponsePolicy };
|
|
161
|
+
export { applyClientStaleTimeHeader, applyEdgeRuntimeHeader, buildAppPageHtmlResponse, buildAppPageRscResponse, mergeMiddlewareResponseHeaders, resolveAppPageHtmlResponsePolicy, resolveAppPageRscResponsePolicy, resolveUncacheableCacheControl };
|
|
@@ -22,13 +22,13 @@ type AppPageErrorComponent = ComponentType<{
|
|
|
22
22
|
error: unknown;
|
|
23
23
|
reset: () => void;
|
|
24
24
|
}>;
|
|
25
|
-
type AppPageModule = Record<string, unknown> & {
|
|
25
|
+
export type AppPageModule = Record<string, unknown> & {
|
|
26
26
|
default?: AppPageComponent | null | undefined;
|
|
27
27
|
};
|
|
28
|
-
type AppPageErrorModule = Record<string, unknown> & {
|
|
28
|
+
export type AppPageErrorModule = Record<string, unknown> & {
|
|
29
29
|
default?: AppPageErrorComponent | null | undefined;
|
|
30
30
|
};
|
|
31
|
-
type AppPageRouteWiringSlot<TModule extends AppPageModule = AppPageModule, TErrorModule extends AppPageErrorModule = AppPageErrorModule> = {
|
|
31
|
+
export type AppPageRouteWiringSlot<TModule extends AppPageModule = AppPageModule, TErrorModule extends AppPageErrorModule = AppPageErrorModule> = {
|
|
32
32
|
/** Graph-owned semantic slot identity. */
|
|
33
33
|
id?: string | null;
|
|
34
34
|
/** Slot prop name passed to the owning layout (e.g. "modal" from @modal). */
|
|
@@ -57,7 +57,7 @@ type AppPageRouteWiringSlot<TModule extends AppPageModule = AppPageModule, TErro
|
|
|
57
57
|
/** Param names captured by `slotPatternParts`, in order. */
|
|
58
58
|
slotParamNames?: readonly string[] | null;
|
|
59
59
|
};
|
|
60
|
-
type AppPageRouteWiringRoute<TModule extends AppPageModule = AppPageModule, TErrorModule extends AppPageErrorModule = AppPageErrorModule> = {
|
|
60
|
+
export type AppPageRouteWiringRoute<TModule extends AppPageModule = AppPageModule, TErrorModule extends AppPageErrorModule = AppPageErrorModule> = {
|
|
61
61
|
ids?: AppRouteSemanticIds | null;
|
|
62
62
|
error?: TErrorModule | null;
|
|
63
63
|
errorPaths?: readonly TErrorModule[] | null;
|
|
@@ -105,7 +105,7 @@ type AppPageRouteWiringRoute<TModule extends AppPageModule = AppPageModule, TErr
|
|
|
105
105
|
templateTreePositions?: readonly number[] | null;
|
|
106
106
|
templates?: readonly (TModule | null | undefined)[] | null;
|
|
107
107
|
};
|
|
108
|
-
type AppPageSlotOverride<TModule extends AppPageModule = AppPageModule> = {
|
|
108
|
+
export type AppPageSlotOverride<TModule extends AppPageModule = AppPageModule> = {
|
|
109
109
|
branchSegments?: readonly string[] | null;
|
|
110
110
|
/** Route-matcher-resolved semantic branch, aligned with the flattened branch. */
|
|
111
111
|
identitySegments?: readonly AppPageSemanticSegment[] | null;
|
|
@@ -123,7 +123,7 @@ type AppPageSlotOverride<TModule extends AppPageModule = AppPageModule> = {
|
|
|
123
123
|
props?: Readonly<Record<string, unknown>>;
|
|
124
124
|
routeSegments?: readonly string[] | null;
|
|
125
125
|
};
|
|
126
|
-
type AppPageLayoutEntry<TModule extends AppPageModule = AppPageModule, TErrorModule extends AppPageErrorModule = AppPageErrorModule> = {
|
|
126
|
+
export type AppPageLayoutEntry<TModule extends AppPageModule = AppPageModule, TErrorModule extends AppPageErrorModule = AppPageErrorModule> = {
|
|
127
127
|
errorModule?: TErrorModule | null | undefined;
|
|
128
128
|
forbiddenModule?: TModule | null | undefined;
|
|
129
129
|
id: string;
|
|
@@ -177,27 +177,27 @@ type BuildAppPageElementsOptions<TModule extends AppPageModule = AppPageModule,
|
|
|
177
177
|
semanticInterceptionTargetRouteId?: string | null;
|
|
178
178
|
sourcePageSegments?: readonly string[] | null;
|
|
179
179
|
};
|
|
180
|
-
type AppPageTemplateEntry<TModule extends AppPageModule = AppPageModule> = {
|
|
180
|
+
export type AppPageTemplateEntry<TModule extends AppPageModule = AppPageModule> = {
|
|
181
181
|
id: string;
|
|
182
182
|
templateModule?: TModule | null | undefined;
|
|
183
183
|
treePath: string;
|
|
184
184
|
treePosition: number;
|
|
185
185
|
};
|
|
186
|
-
declare function createAppPageTreePath(routeSegments: readonly string[] | null | undefined, treePosition: number): string;
|
|
187
|
-
declare function probeAppPageLayoutWithTracking<TModule extends AppPageModule>(options: {
|
|
186
|
+
export declare function createAppPageTreePath(routeSegments: readonly string[] | null | undefined, treePosition: number): string;
|
|
187
|
+
export declare function probeAppPageLayoutWithTracking<TModule extends AppPageModule>(options: {
|
|
188
188
|
layoutIndex: number;
|
|
189
189
|
layoutParamAccess: AppLayoutParamAccessTracker | undefined;
|
|
190
190
|
makeThenableParams: MakeThenableParams;
|
|
191
191
|
matchedParams: AppPageParams;
|
|
192
192
|
route: Pick<AppPageRouteWiringRoute<TModule>, "layoutTreePositions" | "layouts" | "routeSegments">;
|
|
193
193
|
}): unknown;
|
|
194
|
-
declare function createAppPageLayoutEntries<TModule extends AppPageModule, TErrorModule extends AppPageErrorModule>(route: Pick<AppPageRouteWiringRoute<TModule, TErrorModule>, "errors" | "errorTreePositions" | "layoutTreePositions" | "layouts" | "notFounds" | "routeSegments"> & {
|
|
194
|
+
export declare function createAppPageLayoutEntries<TModule extends AppPageModule, TErrorModule extends AppPageErrorModule>(route: Pick<AppPageRouteWiringRoute<TModule, TErrorModule>, "errors" | "errorTreePositions" | "layoutTreePositions" | "layouts" | "notFounds" | "routeSegments"> & {
|
|
195
195
|
forbiddens?: readonly (TModule | null | undefined)[] | null;
|
|
196
196
|
unauthorizeds?: readonly (TModule | null | undefined)[] | null;
|
|
197
197
|
}): AppPageLayoutEntry<TModule, TErrorModule>[];
|
|
198
|
-
declare function createAppPageSourcePage(routeSegments: readonly string[] | null | undefined): string;
|
|
199
|
-
declare function resolveAppPageLoadingModuleAtOrAbove<TModule extends AppPageModule>(route: Pick<AppPageRouteWiringRoute<TModule>, "loading" | "loadings" | "loadingTreePositions">, treePosition: number): TModule | null;
|
|
200
|
-
declare function createAppPageRouteBodyMetadata(metadata: Metadata | null, pathname: string, metadataPlacement: "body" | "head", trailingSlash?: boolean, scriptNonce?: string): ReactNode;
|
|
201
|
-
declare function buildAppPageElements<TModule extends AppPageModule, TErrorModule extends AppPageErrorModule>(options: BuildAppPageElementsOptions<TModule, TErrorModule>): AppElements;
|
|
198
|
+
export declare function createAppPageSourcePage(routeSegments: readonly string[] | null | undefined): string;
|
|
199
|
+
export declare function resolveAppPageLoadingModuleAtOrAbove<TModule extends AppPageModule>(route: Pick<AppPageRouteWiringRoute<TModule>, "loading" | "loadings" | "loadingTreePositions">, treePosition: number): TModule | null;
|
|
200
|
+
export declare function createAppPageRouteBodyMetadata(metadata: Metadata | null, pathname: string, metadataPlacement: "body" | "head", trailingSlash?: boolean, scriptNonce?: string): ReactNode;
|
|
201
|
+
export declare function buildAppPageElements<TModule extends AppPageModule, TErrorModule extends AppPageErrorModule>(options: BuildAppPageElementsOptions<TModule, TErrorModule>): AppElements;
|
|
202
202
|
//#endregion
|
|
203
|
-
export {
|
|
203
|
+
export { resolveAppPageChildSegments };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { fnv1a64 } from "../utils/hash.js";
|
|
2
|
+
import { APP_RSC_RENDER_MODE_PREFETCH_EMPTY, APP_RSC_RENDER_MODE_PREFETCH_LOADING_SHELL } from "./app-rsc-render-mode.js";
|
|
1
3
|
import { createAppRenderDependency, registerAppElementRenderDependencies, renderAfterAppDependencies, renderAppComponentWithDependencyBarrier } from "./app-render-dependency.js";
|
|
2
4
|
import { APP_LAYOUT_IDS_KEY, APP_ROOT_LAYOUT_KEY, APP_STATIC_SIBLINGS_KEY, AppElementsWire, normalizeAppElementsSlotBindings } from "./app-elements-wire.js";
|
|
3
|
-
import { APP_RSC_RENDER_MODE_PREFETCH_EMPTY, APP_RSC_RENDER_MODE_PREFETCH_LOADING_SHELL } from "./app-rsc-render-mode.js";
|
|
4
5
|
import { APP_PREFETCH_LOADING_SHELL_MARKER_KEY } from "./app-elements.js";
|
|
5
6
|
import { createInlineScriptTag, escapeHtmlAttr } from "./html.js";
|
|
6
7
|
import DefaultGlobalError from "../shims/default-global-error.js";
|
|
@@ -15,9 +16,11 @@ import { resolveAppPageBranchParams, resolveAppPageSegmentParamScopeKeys, resolv
|
|
|
15
16
|
import { probeReactServerSubtree } from "./app-page-probe.js";
|
|
16
17
|
import { APP_PAGE_SEGMENT_KEY, resolveAppPageChildSegments, resolveAppPageSegmentStateKey, resolveAppPageTemplateStateKey } from "./app-page-segment-state.js";
|
|
17
18
|
import { createAppPageSegmentPlan } from "./app-page-segment-plan.js";
|
|
19
|
+
import { resolveAppPageModuleTraceSegment, traceGetLayoutOrPageModule } from "./app-page-tracing.js";
|
|
18
20
|
import { Fragment, Suspense } from "react";
|
|
19
21
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
20
22
|
//#region src/server/app-page-route-wiring.tsx
|
|
23
|
+
const APP_PAGE_SLOT_SEGMENT_KEY = "(__SLOT__)";
|
|
21
24
|
const APP_PAGE_LAYOUT_PROBE_CHILD = /* @__PURE__ */ jsx(Fragment, {});
|
|
22
25
|
const DEFAULT_GLOBAL_ERROR_COMPONENT = DefaultGlobalError;
|
|
23
26
|
const DEFAULT_NOT_FOUND_COMPONENT = DefaultNotFound;
|
|
@@ -188,9 +191,10 @@ function createAppPageParallelSlotEntries(layoutIndex, layoutEntries, route, get
|
|
|
188
191
|
const slotId = resolveAppPageSlotId(slot, layoutEntries[targetIndex]?.treePath ?? "/");
|
|
189
192
|
const slotParams = getEffectiveSlotParams(slotKey, slotName);
|
|
190
193
|
const routeSegments = resolveSlotOverride(slotKey, slotName)?.routeSegments ?? slot.routeSegments;
|
|
194
|
+
const slotSegments = routeSegments ? resolveAppPageLayoutSegmentProviderSegments(routeSegments, 0, slotParams) : [];
|
|
191
195
|
parallelSlots[slotName] = /* @__PURE__ */ jsx(LayoutSegmentProvider, {
|
|
192
196
|
providerId: slotId,
|
|
193
|
-
segmentMap: { children:
|
|
197
|
+
segmentMap: { children: slotSegments },
|
|
194
198
|
children: /* @__PURE__ */ jsx(Slot, { id: slotId })
|
|
195
199
|
});
|
|
196
200
|
}
|
|
@@ -257,12 +261,7 @@ function hasStreamedIcons(metadata) {
|
|
|
257
261
|
return Boolean(icons.shortcut || icons.icon || icons.apple || icons.other);
|
|
258
262
|
}
|
|
259
263
|
function createStreamedIconKey(pathname, metadataHtml) {
|
|
260
|
-
|
|
261
|
-
for (let index = 0; index < metadataHtml.length; index++) {
|
|
262
|
-
hash ^= metadataHtml.charCodeAt(index);
|
|
263
|
-
hash = Math.imul(hash, 16777619);
|
|
264
|
-
}
|
|
265
|
-
return `${pathname}:${(hash >>> 0).toString(36)}`;
|
|
264
|
+
return `vi${fnv1a64(`${pathname}\0${metadataHtml}`)}`;
|
|
266
265
|
}
|
|
267
266
|
const STREAMED_ICON_KEY_PLACEHOLDER = "vinext-pending-streamed-icon-key";
|
|
268
267
|
const REINSERT_STREAMED_ICONS_SCRIPT = `document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el));const a='data-vinext-streamed-icon',o=el=>{const m=el.getAttribute(a),i=m.lastIndexOf(':');return Number(m.slice(i+1))};[...document.querySelectorAll('link['+a+']')].sort((l,r)=>o(l)-o(r)).forEach(el=>document.head.appendChild(el))`;
|
|
@@ -274,10 +273,11 @@ function createAppPageRouteBodyMetadata(metadata, pathname, metadataPlacement, t
|
|
|
274
273
|
streamedIconKey
|
|
275
274
|
});
|
|
276
275
|
const metadataKey = streamedIconKey ? createStreamedIconKey(pathname, renderedMetadataHtml) : "";
|
|
276
|
+
const parserInsertedMetadataHtml = (streamedIconKey ? renderedMetadataHtml.replaceAll(`<link data-vinext-streamed-icon="${STREAMED_ICON_KEY_PLACEHOLDER}:`, `<link data-vinext-streamed-icon="${escapeHtmlAttr(metadataKey)}:`) : renderedMetadataHtml) + createInlineScriptTag(REINSERT_STREAMED_ICONS_SCRIPT, scriptNonce);
|
|
277
277
|
return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("div", {
|
|
278
278
|
hidden: true,
|
|
279
279
|
suppressHydrationWarning: true,
|
|
280
|
-
dangerouslySetInnerHTML: { __html:
|
|
280
|
+
dangerouslySetInnerHTML: { __html: parserInsertedMetadataHtml }
|
|
281
281
|
}), /* @__PURE__ */ jsx(StreamedIconsInsertion, { metadataKey })] });
|
|
282
282
|
}
|
|
283
283
|
async function AppPageStreamingMetadata(props) {
|
|
@@ -489,7 +489,8 @@ function buildAppPageElements(options) {
|
|
|
489
489
|
for (let index = 0; index < layoutEntries.length; index++) {
|
|
490
490
|
const layoutEntry = layoutEntries[index];
|
|
491
491
|
if (isPrefetchLoadingShell && !includesPrefetchTreePosition(layoutEntry.treePosition)) continue;
|
|
492
|
-
|
|
492
|
+
if (!layoutEntry.layoutModule) continue;
|
|
493
|
+
const layoutComponent = traceGetLayoutOrPageModule(resolveAppPageModuleTraceSegment(routeSegments, layoutEntry.treePosition), () => getDefaultExport(layoutEntry.layoutModule));
|
|
493
494
|
if (!layoutComponent) continue;
|
|
494
495
|
const layoutParams = resolveAppPageSegmentParams(options.route.routeSegments, layoutEntry.treePosition, options.matchedParams);
|
|
495
496
|
recordLayoutSkipObservationScope({
|
|
@@ -535,17 +536,20 @@ function buildAppPageElements(options) {
|
|
|
535
536
|
const slotLoadingEntries = createAppPageSlotLoadingEntries(slot, hasSlotTreeOverride ? slotOverride ?? null : null);
|
|
536
537
|
const prefetchSlotLoadingEntry = isOwnedAtRoutePrefetchCutoff ? prefetchLoadingEntry : isPrefetchLoadingShell ? getFirstLoadingEntry(slotLoadingEntries) : null;
|
|
537
538
|
if (isPrefetchLoadingShell && prefetchSlotLoadingEntry === null) continue;
|
|
538
|
-
const
|
|
539
|
-
const
|
|
540
|
-
if (!
|
|
541
|
-
const slotComponent =
|
|
539
|
+
const resolvedOverrideOrPageComponent = slotOverride?.pageModule || slot.page ? traceGetLayoutOrPageModule(APP_PAGE_SEGMENT_KEY, () => getDefaultExport(slotOverride?.pageModule) ?? getDefaultExport(slot.page)) : null;
|
|
540
|
+
const resolvedDefaultComponent = getDefaultExport(slot.default);
|
|
541
|
+
if (!resolvedOverrideOrPageComponent && resolvedDefaultComponent && options.isRscRequest && options.mountedSlotIds?.has(slotId)) continue;
|
|
542
|
+
const slotComponent = resolvedOverrideOrPageComponent ?? resolvedDefaultComponent;
|
|
543
|
+
const overrideOrPageComponent = resolvedOverrideOrPageComponent;
|
|
542
544
|
if (!slotComponent && !isOwnedAtRoutePrefetchCutoff) {
|
|
543
545
|
elements[slotId] = AppElementsWire.unmatchedSlotValue;
|
|
544
546
|
continue;
|
|
545
547
|
}
|
|
546
548
|
let slotElement;
|
|
547
|
-
if (prefetchSlotLoadingEntry)
|
|
548
|
-
|
|
549
|
+
if (prefetchSlotLoadingEntry) {
|
|
550
|
+
const PrefetchSlotLoadingComponent = getDefaultExport(prefetchSlotLoadingEntry.loadingModule);
|
|
551
|
+
slotElement = /* @__PURE__ */ jsx(PrefetchSlotLoadingComponent, {});
|
|
552
|
+
} else {
|
|
549
553
|
const slotProps = { params: options.makeThenableParams(slotParams) };
|
|
550
554
|
if (options.searchParams !== void 0) slotProps.searchParams = options.searchParams;
|
|
551
555
|
if (slotOverride?.props) Object.assign(slotProps, slotOverride.props);
|
|
@@ -561,18 +565,20 @@ function buildAppPageElements(options) {
|
|
|
561
565
|
branchLayouts.set(treePosition, entries);
|
|
562
566
|
};
|
|
563
567
|
if (hasSlotTreeOverride) for (const [layoutIndex, layoutModule] of (slotOverride?.layoutModules ?? []).entries()) {
|
|
564
|
-
|
|
565
|
-
if (!component) continue;
|
|
568
|
+
if (!layoutModule) continue;
|
|
566
569
|
const treePosition = slotOverride?.layoutSegments?.[layoutIndex]?.length ?? branchSegments.length;
|
|
570
|
+
const component = traceGetLayoutOrPageModule(resolveAppPageModuleTraceSegment(branchSegments, treePosition), () => getDefaultExport(layoutModule));
|
|
571
|
+
if (!component) continue;
|
|
567
572
|
addBranchLayout(treePosition, {
|
|
568
573
|
component,
|
|
569
574
|
params: resolveSlotLayoutParams(branchSegments, treePosition, slotParams)
|
|
570
575
|
});
|
|
571
576
|
}
|
|
572
577
|
else for (const [layoutIndex, layoutModule] of (slot.configLayouts ?? []).entries()) {
|
|
573
|
-
|
|
574
|
-
if (!component) continue;
|
|
578
|
+
if (!layoutModule) continue;
|
|
575
579
|
const treePosition = slot.configLayoutTreePositions?.[layoutIndex] ?? 0;
|
|
580
|
+
const component = traceGetLayoutOrPageModule(resolveAppPageModuleTraceSegment(slotRouteSegments, treePosition), () => getDefaultExport(layoutModule));
|
|
581
|
+
if (!component) continue;
|
|
576
582
|
addBranchLayout(treePosition, {
|
|
577
583
|
component,
|
|
578
584
|
params: {
|
|
@@ -581,7 +587,7 @@ function buildAppPageElements(options) {
|
|
|
581
587
|
}
|
|
582
588
|
});
|
|
583
589
|
}
|
|
584
|
-
const slotLayoutComponent = overrideOrPageComponent ? getDefaultExport(slot.layout) : null;
|
|
590
|
+
const slotLayoutComponent = overrideOrPageComponent && slot.layout ? traceGetLayoutOrPageModule(APP_PAGE_SLOT_SEGMENT_KEY, () => getDefaultExport(slot.layout)) : null;
|
|
585
591
|
if (slotLayoutComponent) {
|
|
586
592
|
const rootEntries = branchLayouts.get(0) ?? [];
|
|
587
593
|
branchLayouts.set(0, [{
|
|
@@ -659,9 +665,10 @@ function buildAppPageElements(options) {
|
|
|
659
665
|
segmentMap: { children: [APP_PAGE_SEGMENT_KEY] },
|
|
660
666
|
children: /* @__PURE__ */ jsx(Slot, { id: pageElementId })
|
|
661
667
|
}), createAppPageStreamingMetadataOutlet(streamingMetadataOutletId, options.streamingMetadataOutletSuspended)] });
|
|
662
|
-
if (isPrefetchLoadingShell)
|
|
663
|
-
|
|
664
|
-
|
|
668
|
+
if (isPrefetchLoadingShell) {
|
|
669
|
+
if (prefetchLoadingComponent === null) routeChildren = null;
|
|
670
|
+
else routeChildren = /* @__PURE__ */ jsx(prefetchLoadingComponent, {});
|
|
671
|
+
} else {
|
|
665
672
|
routeChildren = /* @__PURE__ */ jsx(RedirectBoundary, { children: routeChildren });
|
|
666
673
|
if (routeLoadingComponent) routeChildren = /* @__PURE__ */ jsx(Suspense, {
|
|
667
674
|
fallback: /* @__PURE__ */ jsx(routeLoadingComponent, {}),
|
|
@@ -2,10 +2,31 @@ import { ThenableParams, ThenableParamsObserver } from "../shims/thenable-params
|
|
|
2
2
|
import { AppPageSearchParams } from "./app-page-head.js";
|
|
3
3
|
//#region src/server/app-page-search-params-observation.d.ts
|
|
4
4
|
type AppPageSearchParamsObservationOptions = {
|
|
5
|
-
markDynamic?: boolean;
|
|
6
5
|
observeReactPromiseStatus?: boolean;
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
type ClientPageSsrSearchParamsOptions = {
|
|
8
|
+
isForceStatic?: boolean;
|
|
9
|
+
isPprFallbackShell?: boolean;
|
|
10
|
+
};
|
|
11
|
+
export declare function createAppPageSearchParamsObserver(): ThenableParamsObserver;
|
|
12
|
+
export declare function makeObservedAppPageSearchParamsThenable(pageSearchParams: AppPageSearchParams, options?: AppPageSearchParamsObservationOptions): ThenableParams<AppPageSearchParams>;
|
|
13
|
+
/**
|
|
14
|
+
* The `searchParams` a client page receives during SSR (see
|
|
15
|
+
* `shims/client-page-root.tsx`). Its RSC payload carries no query, so this is
|
|
16
|
+
* the only place a client page can read it on the server, and a read counts
|
|
17
|
+
* like a server page's: the render is dynamic and won't be stored.
|
|
18
|
+
*
|
|
19
|
+
* `force-static` renders read an empty query, which isn't a read, and PPR
|
|
20
|
+
* fallback shells keep their untracked query, so neither is observed.
|
|
21
|
+
*/
|
|
22
|
+
export declare function makeClientPageSsrSearchParamsThenable(searchParams: URLSearchParams, options: ClientPageSsrSearchParamsOptions): ThenableParams<AppPageSearchParams>;
|
|
23
|
+
/**
|
|
24
|
+
* The client page `searchParams` of one SSR render, one promise per page,
|
|
25
|
+
* keyed by the page's props object as the browser keys its own. React writes
|
|
26
|
+
* `status` and `value` onto a promise it tracks, so a promise shared across
|
|
27
|
+
* pages would show one page's `use()` to a sibling in SSR only.
|
|
28
|
+
*
|
|
29
|
+
* The cache lives in this render's navigation context and is dropped with it.
|
|
30
|
+
*/
|
|
31
|
+
export declare function createClientPageSsrSearchParamsSource(searchParams: URLSearchParams, options: ClientPageSsrSearchParamsOptions): (pageProps: object) => ThenableParams<AppPageSearchParams>;
|
|
32
|
+
//#endregion
|
|
@@ -1,24 +1,60 @@
|
|
|
1
1
|
import { markDynamicUsage, markRenderRequestApiUsage, throwIfInsideCacheScope, throwIfStaticGenerationAccessError } from "../shims/headers.js";
|
|
2
|
+
import { searchParamsToRecord } from "../utils/query.js";
|
|
2
3
|
import { makeThenableParams } from "../shims/thenable-params.js";
|
|
3
4
|
//#region src/server/app-page-search-params-observation.ts
|
|
4
|
-
function markAppPageSearchParamsAccess(
|
|
5
|
+
function markAppPageSearchParamsAccess() {
|
|
5
6
|
throwIfStaticGenerationAccessError();
|
|
6
7
|
throwIfInsideCacheScope("searchParams");
|
|
7
|
-
|
|
8
|
+
markDynamicUsage();
|
|
8
9
|
markRenderRequestApiUsage("searchParams");
|
|
9
10
|
}
|
|
10
|
-
function createAppPageSearchParamsObserver(
|
|
11
|
+
function createAppPageSearchParamsObserver() {
|
|
11
12
|
return { observeParamAccess() {
|
|
12
|
-
markAppPageSearchParamsAccess(
|
|
13
|
+
markAppPageSearchParamsAccess();
|
|
13
14
|
} };
|
|
14
15
|
}
|
|
15
16
|
function makeObservedAppPageSearchParamsThenable(pageSearchParams, options = {}) {
|
|
16
|
-
const observer = createAppPageSearchParamsObserver(
|
|
17
|
+
const observer = createAppPageSearchParamsObserver();
|
|
17
18
|
if (options.observeReactPromiseStatus === true) return makeThenableParams(pageSearchParams, {
|
|
18
19
|
...observer,
|
|
19
20
|
observeReactPromiseStatus: true
|
|
20
21
|
});
|
|
21
22
|
return makeThenableParams(pageSearchParams, observer);
|
|
22
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* The `searchParams` a client page receives during SSR (see
|
|
26
|
+
* `shims/client-page-root.tsx`). Its RSC payload carries no query, so this is
|
|
27
|
+
* the only place a client page can read it on the server, and a read counts
|
|
28
|
+
* like a server page's: the render is dynamic and won't be stored.
|
|
29
|
+
*
|
|
30
|
+
* `force-static` renders read an empty query, which isn't a read, and PPR
|
|
31
|
+
* fallback shells keep their untracked query, so neither is observed.
|
|
32
|
+
*/
|
|
33
|
+
function makeClientPageSsrSearchParamsThenable(searchParams, options) {
|
|
34
|
+
return makeClientPageSsrSearchParamsThenableFromRecord(searchParamsToRecord(searchParams), options);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The client page `searchParams` of one SSR render, one promise per page,
|
|
38
|
+
* keyed by the page's props object as the browser keys its own. React writes
|
|
39
|
+
* `status` and `value` onto a promise it tracks, so a promise shared across
|
|
40
|
+
* pages would show one page's `use()` to a sibling in SSR only.
|
|
41
|
+
*
|
|
42
|
+
* The cache lives in this render's navigation context and is dropped with it.
|
|
43
|
+
*/
|
|
44
|
+
function createClientPageSsrSearchParamsSource(searchParams, options) {
|
|
45
|
+
const pageSearchParams = searchParamsToRecord(searchParams);
|
|
46
|
+
const byPage = /* @__PURE__ */ new WeakMap();
|
|
47
|
+
return (pageProps) => {
|
|
48
|
+
let thenable = byPage.get(pageProps);
|
|
49
|
+
if (!thenable) {
|
|
50
|
+
thenable = makeClientPageSsrSearchParamsThenableFromRecord(pageSearchParams, options);
|
|
51
|
+
byPage.set(pageProps, thenable);
|
|
52
|
+
}
|
|
53
|
+
return thenable;
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function makeClientPageSsrSearchParamsThenableFromRecord(pageSearchParams, options) {
|
|
57
|
+
return options.isForceStatic !== true && options.isPprFallbackShell !== true ? makeObservedAppPageSearchParamsThenable(pageSearchParams) : makeThenableParams(pageSearchParams);
|
|
58
|
+
}
|
|
23
59
|
//#endregion
|
|
24
|
-
export { createAppPageSearchParamsObserver, makeObservedAppPageSearchParamsThenable };
|
|
60
|
+
export { createAppPageSearchParamsObserver, createClientPageSsrSearchParamsSource, makeClientPageSsrSearchParamsThenable, makeObservedAppPageSearchParamsThenable };
|
|
@@ -32,7 +32,7 @@ type AppPageSegmentPlan<TModule extends AppPageModule> = Readonly<{
|
|
|
32
32
|
* semantics — which segment intercepts, which params bind it — so this layer
|
|
33
33
|
* only binds keys and derives identities from graph ids.
|
|
34
34
|
*/
|
|
35
|
-
declare function createAppPageSegmentPlan<TModule extends AppPageModule, TErrorModule extends AppPageErrorModule>(options: {
|
|
35
|
+
export declare function createAppPageSegmentPlan<TModule extends AppPageModule, TErrorModule extends AppPageErrorModule>(options: {
|
|
36
36
|
includeSlot: (ownerTreePosition: number, targetTreePosition: number) => boolean;
|
|
37
37
|
interception: AppElementsInterception | null;
|
|
38
38
|
layoutEntries: readonly AppPageLayoutEntry<TModule, TErrorModule>[];
|
|
@@ -52,5 +52,4 @@ declare function createAppPageSegmentPlan<TModule extends AppPageModule, TErrorM
|
|
|
52
52
|
slotBindings: readonly AppElementsSlotBinding[];
|
|
53
53
|
templateEntries: readonly AppPageTemplateEntry<TModule>[];
|
|
54
54
|
}): AppPageSegmentPlan<TModule>;
|
|
55
|
-
//#endregion
|
|
56
|
-
export { createAppPageSegmentPlan };
|
|
55
|
+
//#endregion
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { AppPageParams } from "./app-page-boundary.js";
|
|
2
2
|
//#region src/server/app-page-segment-state.d.ts
|
|
3
|
-
declare const APP_PAGE_SEGMENT_KEY = "__PAGE__";
|
|
4
|
-
declare function isAppPageRouteGroupSegment(segment: string): boolean;
|
|
5
|
-
declare function canonicalizeAppPageParams(params: AppPageParams): void;
|
|
6
|
-
declare function resolveAppPageChildSegments(routeSegments: readonly string[], treePosition: number, params: AppPageParams): string[];
|
|
7
|
-
declare function resolveAppPageSegmentStateKey(routeSegments: readonly string[], treePosition: number, params: AppPageParams): string;
|
|
3
|
+
export declare const APP_PAGE_SEGMENT_KEY = "__PAGE__";
|
|
4
|
+
export declare function isAppPageRouteGroupSegment(segment: string): boolean;
|
|
5
|
+
export declare function canonicalizeAppPageParams(params: AppPageParams): void;
|
|
6
|
+
export declare function resolveAppPageChildSegments(routeSegments: readonly string[], treePosition: number, params: AppPageParams): string[];
|
|
7
|
+
export declare function resolveAppPageSegmentStateKey(routeSegments: readonly string[], treePosition: number, params: AppPageParams): string;
|
|
8
8
|
/**
|
|
9
9
|
* A branch segment already resolved by route matching: the interception marker
|
|
10
10
|
* is split off and the param map that binds the segment is chosen. Downstream
|
|
11
11
|
* layers serialise these; they never reparse filesystem interception syntax.
|
|
12
12
|
*/
|
|
13
|
-
type AppPageSemanticSegment = Readonly<{
|
|
13
|
+
export type AppPageSemanticSegment = Readonly<{
|
|
14
14
|
/** Interception marker this segment carries, or null when it is a plain segment. */
|
|
15
15
|
marker: string | null;
|
|
16
16
|
/** Whether the route's matched params or the slot's own params bind the segment. */
|
|
@@ -18,9 +18,8 @@ type AppPageSemanticSegment = Readonly<{
|
|
|
18
18
|
/** Segment name with any interception marker removed. */
|
|
19
19
|
segment: string;
|
|
20
20
|
}>;
|
|
21
|
-
declare function resolveAppPageSemanticSegmentStateKey(semanticSegment: AppPageSemanticSegment, params: AppPageParams): string;
|
|
22
|
-
declare function resolveAppPageRouteStateKey(routeSegments: readonly string[], params: AppPageParams): string;
|
|
23
|
-
declare function resolveAppPagePatternStateKey(patternParts: readonly string[], params: AppPageParams): string;
|
|
24
|
-
declare function resolveAppPageTemplateStateKey(routeSegments: readonly string[], treePosition: number, params: AppPageParams): string;
|
|
25
|
-
//#endregion
|
|
26
|
-
export { APP_PAGE_SEGMENT_KEY, AppPageSemanticSegment, canonicalizeAppPageParams, isAppPageRouteGroupSegment, resolveAppPageChildSegments, resolveAppPagePatternStateKey, resolveAppPageRouteStateKey, resolveAppPageSegmentStateKey, resolveAppPageSemanticSegmentStateKey, resolveAppPageTemplateStateKey };
|
|
21
|
+
export declare function resolveAppPageSemanticSegmentStateKey(semanticSegment: AppPageSemanticSegment, params: AppPageParams): string;
|
|
22
|
+
export declare function resolveAppPageRouteStateKey(routeSegments: readonly string[], params: AppPageParams): string;
|
|
23
|
+
export declare function resolveAppPagePatternStateKey(patternParts: readonly string[], params: AppPageParams): string;
|
|
24
|
+
export declare function resolveAppPageTemplateStateKey(routeSegments: readonly string[], treePosition: number, params: AppPageParams): string;
|
|
25
|
+
//#endregion
|
|
@@ -6,7 +6,7 @@ import { InitialNavigationCacheMetadata } from "./app-ssr-stream.js";
|
|
|
6
6
|
import { deferUntilStreamConsumed } from "./defer-until-stream-consumed.js";
|
|
7
7
|
import { ReactFormState } from "react-dom/client";
|
|
8
8
|
//#region src/server/app-page-stream.d.ts
|
|
9
|
-
type AppPageFontData = {
|
|
9
|
+
export type AppPageFontData = {
|
|
10
10
|
links: string[];
|
|
11
11
|
preloads: readonly AppPageFontPreload[];
|
|
12
12
|
styles: string[];
|
|
@@ -16,9 +16,10 @@ type CreateAppPageFontDataOptions = {
|
|
|
16
16
|
getPreloads: () => AppPageFontPreload[];
|
|
17
17
|
getStyles: () => string[];
|
|
18
18
|
};
|
|
19
|
-
type AppSsrRenderResult = {
|
|
19
|
+
export type AppSsrRenderResult = {
|
|
20
20
|
htmlStream: ReadableStream<Uint8Array>;
|
|
21
21
|
metadataReady: Promise<void>;
|
|
22
|
+
renderComplete?: Promise<void>;
|
|
22
23
|
capturedRscData: Promise<ArrayBuffer> | null;
|
|
23
24
|
shellErrorRecovered?: boolean;
|
|
24
25
|
/**
|
|
@@ -28,7 +29,7 @@ type AppSsrRenderResult = {
|
|
|
28
29
|
*/
|
|
29
30
|
linkHeader?: string;
|
|
30
31
|
};
|
|
31
|
-
declare function isAppSsrRenderResult(value: unknown): value is AppSsrRenderResult;
|
|
32
|
+
export declare function isAppSsrRenderResult(value: unknown): value is AppSsrRenderResult;
|
|
32
33
|
/**
|
|
33
34
|
* Combine the React-emitted preload `Link` header with vinext's font preload
|
|
34
35
|
* `Link` header, capping the result to `reactMaxHeadersLength`.
|
|
@@ -44,8 +45,8 @@ declare function isAppSsrRenderResult(value: unknown): value is AppSsrRenderResu
|
|
|
44
45
|
* the render-critical entries survive and trailing font preloads are dropped
|
|
45
46
|
* first.
|
|
46
47
|
*/
|
|
47
|
-
declare function buildAppPageLinkHeader(reactLinkHeader: string | undefined, fontLinkHeader: string | undefined, maxHeadersLength: number | undefined): string;
|
|
48
|
-
type AppPageSsrHandler = {
|
|
48
|
+
export declare function buildAppPageLinkHeader(reactLinkHeader: string | undefined, fontLinkHeader: string | undefined, maxHeadersLength: number | undefined): string;
|
|
49
|
+
export type AppPageSsrHandler = {
|
|
49
50
|
handleSsr: (rscStream: ReadableStream<Uint8Array>, navigationContext: NavigationContext | null, fontData: AppPageFontData, options?: {
|
|
50
51
|
formState?: ReactFormState | null;
|
|
51
52
|
scriptNonce?: string;
|
|
@@ -55,6 +56,8 @@ type AppPageSsrHandler = {
|
|
|
55
56
|
* in the SSR head. Sourced from `experimental.clientTraceMetadata`.
|
|
56
57
|
*/
|
|
57
58
|
clientTraceMetadata?: readonly string[];
|
|
59
|
+
/** Private marker used to identify only this render's injected trace tags. */
|
|
60
|
+
clientTraceMetadataMarker?: string;
|
|
58
61
|
/**
|
|
59
62
|
* Maximum total length (in characters) of the preload `Link` header
|
|
60
63
|
* emitted during SSR. `0` disables emission. From `reactMaxHeadersLength`
|
|
@@ -74,8 +77,12 @@ type AppPageSsrHandler = {
|
|
|
74
77
|
isStaticGeneration?: boolean;
|
|
75
78
|
/** `dynamic = "force-static"` suppresses the useSearchParams bailout. */
|
|
76
79
|
isForceStatic?: boolean;
|
|
80
|
+
/** Production render that may be stored under a query-free key. */
|
|
81
|
+
isCacheCandidate?: boolean;
|
|
77
82
|
/** Dev-only: original server error to surface in the browser overlay. */
|
|
78
83
|
initialDevServerError?: unknown;
|
|
84
|
+
/** Report an SSR/Fizz render failure through instrumentation. */
|
|
85
|
+
onSsrError?: (error: unknown) => unknown;
|
|
79
86
|
/** Mirror inline Flight chunks into Next.js's `self.__next_f` transport. */
|
|
80
87
|
mirrorNextFlight?: boolean;
|
|
81
88
|
/** When true, an SSR-phase-only shell render error resolves to the
|
|
@@ -101,6 +108,8 @@ type RenderAppPageHtmlStreamOptions = {
|
|
|
101
108
|
* the SSR head. Undefined or empty disables emission.
|
|
102
109
|
*/
|
|
103
110
|
clientTraceMetadata?: readonly string[];
|
|
111
|
+
/** Private marker used to identify only this render's injected trace tags. */
|
|
112
|
+
clientTraceMetadataMarker?: string;
|
|
104
113
|
/**
|
|
105
114
|
* Maximum total length (in characters) of the preload `Link` header emitted
|
|
106
115
|
* during SSR. `0` disables emission. From `reactMaxHeadersLength` in
|
|
@@ -124,10 +133,14 @@ type RenderAppPageHtmlStreamOptions = {
|
|
|
124
133
|
isStaticGeneration?: boolean;
|
|
125
134
|
/** `dynamic = "force-static"` suppresses the useSearchParams bailout. */
|
|
126
135
|
isForceStatic?: boolean;
|
|
136
|
+
/** Production render that may be stored under a query-free key. */
|
|
137
|
+
isCacheCandidate?: boolean;
|
|
127
138
|
/** Override the default shell-error recovery decision passed to handleSsr. */
|
|
128
139
|
fallbackToErrorDocumentOnShellError?: boolean;
|
|
129
140
|
/** Dev-only: original server error to surface in the browser overlay. */
|
|
130
141
|
initialDevServerError?: unknown;
|
|
142
|
+
/** Report an SSR/Fizz render failure through instrumentation. */
|
|
143
|
+
onSsrError?: (error: unknown) => unknown;
|
|
131
144
|
/** Mirror inline Flight chunks into Next.js's `self.__next_f` transport. */
|
|
132
145
|
mirrorNextFlight?: boolean;
|
|
133
146
|
/** True when the app supplies a custom global-error.tsx. Disables the
|
|
@@ -146,6 +159,7 @@ type AppPageHtmlStreamRecoveryResult = {
|
|
|
146
159
|
htmlStream: ReadableStream<Uint8Array> | null;
|
|
147
160
|
response: Response | null;
|
|
148
161
|
metadataReady: Promise<void>;
|
|
162
|
+
renderComplete: Promise<void>;
|
|
149
163
|
capturedRscData: Promise<ArrayBuffer> | null;
|
|
150
164
|
shellErrorRecovered: boolean;
|
|
151
165
|
/** React-emitted preload `Link` header (already capped). */
|
|
@@ -167,12 +181,14 @@ type AppPageRscErrorTracker = {
|
|
|
167
181
|
* synchronously inside a route-level Suspense boundary (loading.tsx).
|
|
168
182
|
*/
|
|
169
183
|
getCapturedSpecialError: () => unknown;
|
|
184
|
+
isCapturedError: (error: unknown) => boolean;
|
|
170
185
|
onRenderError: (error: unknown, requestInfo: unknown, errorContext: unknown) => unknown;
|
|
171
186
|
};
|
|
172
|
-
declare function
|
|
173
|
-
declare function
|
|
174
|
-
declare function
|
|
175
|
-
declare function
|
|
176
|
-
declare function
|
|
187
|
+
export declare function createAppPageSsrErrorHandler(baseOnError: (error: unknown, requestInfo: unknown, errorContext: unknown) => unknown, isCapturedRscError: (error: unknown) => boolean): (error: unknown) => unknown;
|
|
188
|
+
export declare function createAppPageFontData(options: CreateAppPageFontDataOptions): AppPageFontData;
|
|
189
|
+
export declare function renderAppPageHtmlStream(options: RenderAppPageHtmlStreamOptions): Promise<AppSsrRenderResult>;
|
|
190
|
+
export declare function renderAppPageHtmlResponse(options: RenderAppPageHtmlResponseOptions): Promise<Response>;
|
|
191
|
+
export declare function renderAppPageHtmlStreamWithRecovery<TSpecialError>(options: RenderAppPageHtmlStreamWithRecoveryOptions<TSpecialError>): Promise<AppPageHtmlStreamRecoveryResult>;
|
|
192
|
+
export declare function createAppPageRscErrorTracker(baseOnError: (error: unknown, requestInfo: unknown, errorContext: unknown) => unknown): AppPageRscErrorTracker;
|
|
177
193
|
//#endregion
|
|
178
|
-
export {
|
|
194
|
+
export { deferUntilStreamConsumed };
|