vinext 1.0.0-beta.9 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +150 -92
- package/THIRD_PARTY_LICENSES.md +51 -0
- package/dist/_virtual/_rolldown/runtime.js +25 -0
- package/dist/build/action-owner-manifest.d.ts +8 -9
- package/dist/build/action-owner-manifest.js +23 -5
- package/dist/build/assets-ignore.d.ts +3 -4
- package/dist/build/clean-output.d.ts +2 -3
- package/dist/build/client-build-config.d.ts +40 -12
- package/dist/build/client-build-config.js +76 -6
- package/dist/build/css-url-assets.d.ts +4 -5
- package/dist/build/css-url-assets.js +5 -2
- package/dist/build/google-fonts/build-url.d.ts +3 -4
- package/dist/build/google-fonts/fallback-metrics.d.ts +3 -4
- package/dist/build/google-fonts/find-font-files-in-css.d.ts +2 -3
- package/dist/build/google-fonts/font-metadata.d.ts +2 -3
- package/dist/build/google-fonts/get-axes.d.ts +2 -3
- package/dist/build/google-fonts/sort-variants.d.ts +2 -3
- package/dist/build/google-fonts/validate.d.ts +2 -3
- package/dist/build/google-fonts/validate.js +8 -4
- package/dist/build/inject-pregenerated-paths.d.ts +2 -3
- package/dist/build/inject-pregenerated-paths.js +16 -14
- package/dist/build/inline-css.d.ts +3 -4
- package/dist/build/layout-classification-types.d.ts +4 -5
- package/dist/build/layout-classification.d.ts +7 -8
- package/dist/build/lifecycle.d.ts +42 -0
- package/dist/build/lifecycle.js +253 -0
- package/dist/build/module-dependency-cache.d.ts +2 -3
- package/dist/build/next-client-runtime-manifests.d.ts +4 -5
- package/dist/build/nitro-route-rules.d.ts +6 -7
- package/dist/build/nitro-route-rules.js +1 -1
- package/dist/build/pages-client-assets-module.d.ts +4 -8
- package/dist/build/pages-client-assets-module.js +7 -14
- package/dist/build/precompress.d.ts +2 -3
- package/dist/build/precompress.js +1 -1
- package/dist/build/prerender-cloudflare-loader.d.ts +4 -0
- package/dist/build/prerender-cloudflare-loader.js +49 -0
- package/dist/build/prerender-paths.d.ts +36 -11
- package/dist/build/prerender-paths.js +274 -102
- package/dist/build/prerender-phase.d.ts +2 -3
- package/dist/build/prerender-server-entry.js +11 -3
- package/dist/build/prerender-server-pool.d.ts +9 -6
- package/dist/build/prerender-server-pool.js +8 -5
- package/dist/build/prerender.d.ts +73 -16
- package/dist/build/prerender.js +272 -80
- package/dist/build/preview-credentials.d.ts +5 -6
- package/dist/build/preview-credentials.js +2 -2
- package/dist/build/public-dir-conflict.d.ts +5 -6
- package/dist/build/public-dir-conflict.js +2 -1
- package/dist/build/report.d.ts +24 -20
- package/dist/build/report.js +10 -2
- package/dist/build/route-classification-injector.d.ts +2 -3
- package/dist/build/route-classification-manifest.d.ts +5 -6
- package/dist/build/run-prerender.d.ts +11 -9
- package/dist/build/run-prerender.js +26 -16
- package/dist/build/server-entry.d.ts +6 -0
- package/dist/build/server-entry.js +34 -0
- package/dist/build/server-manifest.d.ts +8 -3
- package/dist/build/server-manifest.js +14 -2
- package/dist/build/ssr-manifest.d.ts +5 -6
- package/dist/build/standalone.d.ts +2 -3
- package/dist/build/standalone.js +2 -2
- package/dist/build/static-export.d.ts +6 -7
- package/dist/cache/cache-adapters-virtual.d.ts +60 -20
- package/dist/cache/cache-adapters-virtual.js +50 -7
- package/dist/check.d.ts +11 -10
- package/dist/check.js +467 -176
- package/dist/cli-args.d.ts +7 -16
- package/dist/cli-args.js +2 -45
- package/dist/cli-dev-config.d.ts +10 -7
- package/dist/cli-dev-config.js +160 -3
- package/dist/cli.js +124 -442
- package/dist/client/app-nav-failure-handler.d.ts +6 -7
- package/dist/client/browser-globals.d.ts +4 -0
- package/dist/client/browser-globals.js +5 -0
- package/dist/client/client-rewrite-matcher.d.ts +2 -3
- package/dist/client/client-rewrites.d.ts +4 -5
- package/dist/client/dev-error-overlay-store.d.ts +13 -14
- package/dist/client/dev-error-overlay.d.ts +15 -15
- package/dist/client/dev-error-overlay.js +8 -5
- package/dist/client/instrumentation-client-inject.d.ts +3 -4
- package/dist/client/instrumentation-client-state.d.ts +5 -6
- package/dist/client/instrumentation-client.d.ts +3 -4
- package/dist/client/navigation-runtime.d.ts +20 -17
- package/dist/client/navigation-runtime.js +4 -3
- package/dist/client/pages-router-link-navigation.d.ts +4 -5
- package/dist/client/react-instance.d.ts +2 -3
- package/dist/client/validate-module-path.d.ts +2 -3
- package/dist/client/vinext-next-data.d.ts +7 -10
- package/dist/client/window-next.d.ts +4 -5
- package/dist/config/config-matchers.d.ts +16 -16
- package/dist/config/config-matchers.js +2 -4
- package/dist/config/dotenv.d.ts +3 -4
- package/dist/config/dotenv.js +14 -2
- package/dist/config/next-config.d.ts +31 -27
- package/dist/config/next-config.js +163 -16
- package/dist/config/prerender.d.ts +20 -16
- package/dist/config/prerender.js +10 -4
- package/dist/config/request-context.d.ts +5 -6
- package/dist/config/server-external-packages.d.ts +14 -3
- package/dist/config/server-external-packages.js +37 -3
- package/dist/config/tsconfig-paths.d.ts +3 -4
- package/dist/deps/.pnpm/ignore@5.3.2/deps/ignore/index.js +189 -0
- package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +1057 -0
- package/dist/entries/app-browser-entry.d.ts +4 -5
- package/dist/entries/app-browser-entry.js +1 -3
- package/dist/entries/app-rsc-entry.d.ts +10 -3
- package/dist/entries/app-rsc-entry.js +503 -51
- package/dist/entries/app-rsc-manifest.d.ts +4 -3
- package/dist/entries/app-rsc-manifest.js +26 -8
- package/dist/entries/app-ssr-entry.d.ts +2 -3
- package/dist/entries/app-ssr-entry.js +8 -1
- package/dist/entries/pages-client-entry.d.ts +3 -3
- package/dist/entries/pages-client-entry.js +17 -2
- package/dist/entries/pages-server-entry.d.ts +13 -3
- package/dist/entries/pages-server-entry.js +234 -33
- package/dist/entries/runtime-entry-module.d.ts +4 -5
- package/dist/image/image-adapters-virtual.d.ts +4 -5
- package/dist/index.d.ts +10 -11
- package/dist/index.js +848 -255
- package/dist/init-cloudflare.d.ts +26 -17
- package/dist/init-cloudflare.js +711 -103
- package/dist/init-platform.d.ts +26 -22
- package/dist/init-platform.js +85 -29
- package/dist/init.d.ts +19 -13
- package/dist/init.js +126 -42
- package/dist/plugins/action-owner-manifest.d.ts +3 -4
- package/dist/plugins/action-owner-manifest.js +10 -3
- package/dist/plugins/ast-scope.d.ts +10 -11
- package/dist/plugins/ast-scope.js +10 -22
- package/dist/plugins/ast-utils.d.ts +16 -29
- package/dist/plugins/ast-utils.js +27 -71
- package/dist/plugins/async-hooks-stub.d.ts +2 -3
- package/dist/plugins/client-reference-dedup.d.ts +4 -5
- package/dist/plugins/commonjs-syntax.d.ts +16 -0
- package/dist/plugins/commonjs-syntax.js +22 -0
- package/dist/plugins/css-data-url.d.ts +2 -3
- package/dist/plugins/css-module-imports.d.ts +3 -4
- package/dist/plugins/css-module-imports.js +1 -1
- package/dist/plugins/dynamic-preload-metadata.d.ts +3 -4
- package/dist/plugins/dynamic-preload-metadata.js +55 -154
- package/dist/plugins/environment.d.ts +2 -3
- package/dist/plugins/extensionless-dynamic-import.d.ts +2 -3
- package/dist/plugins/extensionless-dynamic-import.js +6 -10
- package/dist/plugins/fonts.d.ts +10 -11
- package/dist/plugins/fonts.js +4 -3
- package/dist/plugins/ignore-dynamic-requests.d.ts +14 -4
- package/dist/plugins/ignore-dynamic-requests.js +113 -91
- package/dist/plugins/import-meta-url.d.ts +6 -7
- package/dist/plugins/import-meta-url.js +36 -48
- package/dist/plugins/instrumentation-client.d.ts +3 -3
- package/dist/plugins/instrumentation-client.js +46 -10
- package/dist/plugins/middleware-export-validation.d.ts +3 -4
- package/dist/plugins/middleware-export-validation.js +3 -3
- package/dist/plugins/middleware-server-only.d.ts +2 -3
- package/dist/plugins/og-asset-ownership.d.ts +5 -4
- package/dist/plugins/og-asset-ownership.js +24 -13
- package/dist/plugins/og-assets.d.ts +22 -5
- package/dist/plugins/og-assets.js +82 -21
- package/dist/plugins/og-harfbuzz.d.ts +24 -0
- package/dist/plugins/og-harfbuzz.js +271 -0
- package/dist/plugins/optimize-imports.d.ts +7 -7
- package/dist/plugins/optimize-imports.js +34 -45
- package/dist/plugins/pages-node-externals.d.ts +2 -3
- package/dist/plugins/pages-node-externals.js +6 -11
- package/dist/plugins/postcss.d.ts +8 -4
- package/dist/plugins/postcss.js +1 -1
- package/dist/plugins/remove-console.d.ts +2 -3
- package/dist/plugins/remove-console.js +0 -1
- package/dist/plugins/require-condition-resolution.d.ts +3 -4
- package/dist/plugins/require-condition-resolution.js +17 -18
- package/dist/plugins/require-context.d.ts +3 -3
- package/dist/plugins/require-context.js +41 -22
- package/dist/plugins/rsc-client-reference-loaders.d.ts +2 -3
- package/dist/plugins/rsc-client-shim-excludes.d.ts +4 -5
- package/dist/plugins/rsc-client-shim-excludes.js +1 -0
- package/dist/plugins/rsc-reference-validation-normalizer.d.ts +2 -3
- package/dist/plugins/sass.d.ts +7 -8
- package/dist/plugins/sass.js +7 -4
- package/dist/plugins/scan-build-css.d.ts +12 -0
- package/dist/plugins/scan-build-css.js +39 -0
- package/dist/plugins/server-externals-manifest.d.ts +2 -3
- package/dist/plugins/strip-server-exports.d.ts +7 -6
- package/dist/plugins/strip-server-exports.js +4 -2
- package/dist/plugins/styled-jsx.d.ts +2 -3
- package/dist/plugins/styled-jsx.js +7 -7
- package/dist/plugins/transform-cache.d.ts +2 -3
- package/dist/plugins/transform-result.d.ts +21 -4
- package/dist/plugins/transform-result.js +23 -2
- package/dist/plugins/transitive-externals.d.ts +2 -3
- package/dist/plugins/typeof-window.d.ts +16 -7
- package/dist/plugins/typeof-window.js +62 -39
- package/dist/plugins/use-cache-callable.d.ts +2 -5
- package/dist/plugins/use-cache-callable.js +43 -22
- package/dist/plugins/wasm-module-import.d.ts +2 -3
- package/dist/plugins/worker-image-imports.d.ts +2 -3
- package/dist/plugins/worker-image-imports.js +6 -8
- package/dist/routing/app-route-graph.d.ts +18 -19
- package/dist/routing/app-route-graph.js +5 -6
- package/dist/routing/app-route-ids.d.ts +3 -0
- package/dist/routing/app-route-ids.js +6 -0
- package/dist/routing/app-router.d.ts +19 -6
- package/dist/routing/app-router.js +24 -2
- package/dist/routing/file-matcher.d.ts +9 -10
- package/dist/routing/pages-router.d.ts +6 -6
- package/dist/routing/pages-router.js +1 -1
- package/dist/routing/route-matching.d.ts +4 -5
- package/dist/routing/route-matching.js +4 -2
- package/dist/routing/route-pattern.d.ts +13 -14
- package/dist/routing/route-trie.d.ts +5 -6
- package/dist/routing/route-validation.d.ts +3 -4
- package/dist/routing/route-validation.js +12 -11
- package/dist/routing/utils.d.ts +13 -14
- package/dist/server/accept-encoding.d.ts +9 -10
- package/dist/server/api-handler.d.ts +2 -3
- package/dist/server/api-handler.js +9 -6
- package/dist/server/app-action-forwarding.d.ts +3 -4
- package/dist/server/app-action-forwarding.js +1 -1
- package/dist/server/app-action-request.d.ts +2 -3
- package/dist/server/app-bfcache-id.d.ts +4 -4
- package/dist/server/app-bfcache-id.js +7 -1
- package/dist/server/app-bfcache-identity.d.ts +8 -9
- package/dist/server/app-bfcache-identity.js +1 -2
- package/dist/server/app-browser-action-result.d.ts +15 -16
- package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -3
- package/dist/server/app-browser-entry.js +91 -36
- package/dist/server/app-browser-error.d.ts +5 -6
- package/dist/server/app-browser-error.js +9 -3
- package/dist/server/app-browser-history-controller.d.ts +4 -5
- package/dist/server/app-browser-hydration.d.ts +16 -6
- package/dist/server/app-browser-hydration.js +15 -2
- package/dist/server/app-browser-interception-context.d.ts +3 -4
- package/dist/server/app-browser-mpa-navigation.d.ts +4 -5
- package/dist/server/app-browser-navigation-abort.d.ts +3 -4
- package/dist/server/app-browser-navigation-controller.d.ts +8 -8
- package/dist/server/app-browser-navigation-controller.js +9 -5
- package/dist/server/app-browser-navigation-response.d.ts +2 -3
- package/dist/server/app-browser-popstate.d.ts +4 -5
- package/dist/server/app-browser-prefetch-response.d.ts +5 -6
- package/dist/server/app-browser-rsc-redirect.d.ts +4 -5
- package/dist/server/app-browser-server-action-client.d.ts +7 -6
- package/dist/server/app-browser-server-action-client.js +9 -5
- package/dist/server/app-browser-server-action-navigation.d.ts +2 -3
- package/dist/server/app-browser-state.d.ts +17 -17
- package/dist/server/app-browser-state.js +7 -3
- package/dist/server/app-browser-stream.d.ts +5 -6
- package/dist/server/app-browser-stream.js +8 -6
- package/dist/server/app-browser-supplemental-refresh.d.ts +11 -12
- package/dist/server/app-browser-visible-commit.d.ts +6 -7
- package/dist/server/app-client-reference-preloader.d.ts +2 -3
- package/dist/server/app-elements-wire-key.d.ts +25 -0
- package/dist/server/app-elements-wire-key.js +69 -0
- package/dist/server/app-elements-wire.d.ts +34 -53
- package/dist/server/app-elements-wire.js +4 -75
- package/dist/server/app-elements.d.ts +5 -5
- package/dist/server/app-elements.js +1 -1
- package/dist/server/app-fallback-renderer.d.ts +4 -4
- package/dist/server/app-fallback-renderer.js +6 -6
- package/dist/server/app-fetch-tracing.d.ts +15 -0
- package/dist/server/app-fetch-tracing.js +38 -0
- package/dist/server/app-history-state.d.ts +25 -27
- package/dist/server/app-history-state.js +21 -16
- package/dist/server/app-hook-warning-suppression.d.ts +2 -3
- package/dist/server/app-hydration-cache-publication.d.ts +3 -4
- package/dist/server/app-inline-css-client.d.ts +3 -4
- package/dist/server/app-interception-context-header.d.ts +2 -3
- package/dist/server/app-layout-param-observation.d.ts +7 -8
- package/dist/server/app-metadata-tracing.d.ts +12 -0
- package/dist/server/app-metadata-tracing.js +17 -0
- package/dist/server/app-middleware.d.ts +7 -7
- package/dist/server/app-middleware.js +2 -3
- package/dist/server/app-mounted-slots-header.d.ts +2 -3
- package/dist/server/app-mounted-slots-header.js +2 -2
- package/dist/server/app-optimistic-routing.d.ts +10 -11
- package/dist/server/app-optimistic-routing.js +3 -2
- package/dist/server/app-page-boundary-render.d.ts +6 -6
- package/dist/server/app-page-boundary-render.js +10 -4
- package/dist/server/app-page-boundary.d.ts +9 -10
- package/dist/server/app-page-boundary.js +1 -1
- package/dist/server/app-page-cache-finalizer.d.ts +18 -9
- package/dist/server/app-page-cache-finalizer.js +51 -16
- package/dist/server/app-page-cache-render.d.ts +8 -5
- package/dist/server/app-page-cache-render.js +22 -4
- package/dist/server/app-page-cache.d.ts +28 -9
- package/dist/server/app-page-cache.js +95 -24
- package/dist/server/app-page-dispatch.d.ts +34 -12
- package/dist/server/app-page-dispatch.js +181 -64
- package/dist/server/app-page-element-builder.d.ts +13 -11
- package/dist/server/app-page-element-builder.js +104 -61
- package/dist/server/app-page-execution.d.ts +14 -14
- package/dist/server/app-page-execution.js +11 -7
- package/dist/server/app-page-head.d.ts +19 -16
- package/dist/server/app-page-head.js +25 -25
- package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
- package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
- package/dist/server/app-page-method.d.ts +5 -11
- package/dist/server/app-page-method.js +2 -9
- package/dist/server/app-page-params.d.ts +5 -6
- package/dist/server/app-page-ppr-runtime.d.ts +2 -2
- package/dist/server/app-page-probe.d.ts +5 -6
- package/dist/server/app-page-probe.js +5 -4
- package/dist/server/app-page-render-identity.d.ts +4 -5
- package/dist/server/app-page-render-observation.d.ts +8 -9
- package/dist/server/app-page-render-observation.js +1 -1
- package/dist/server/app-page-render.d.ts +41 -6
- package/dist/server/app-page-render.js +171 -24
- package/dist/server/app-page-request.d.ts +10 -9
- package/dist/server/app-page-request.js +16 -12
- package/dist/server/app-page-response.d.ts +20 -9
- package/dist/server/app-page-response.js +30 -12
- package/dist/server/app-page-route-wiring.d.ts +15 -15
- package/dist/server/app-page-route-wiring.js +31 -24
- package/dist/server/app-page-search-params-observation.d.ts +26 -5
- package/dist/server/app-page-search-params-observation.js +43 -7
- package/dist/server/app-page-segment-plan.d.ts +2 -3
- package/dist/server/app-page-segment-state.d.ts +11 -12
- package/dist/server/app-page-stream.d.ts +27 -11
- package/dist/server/app-page-stream.js +34 -6
- package/dist/server/app-page-tracing.d.ts +33 -0
- package/dist/server/app-page-tracing.js +50 -0
- package/dist/server/app-pages-bridge.d.ts +6 -6
- package/dist/server/app-pages-bridge.js +18 -4
- package/dist/server/app-post-middleware-context.d.ts +2 -3
- package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
- package/dist/server/app-ppr-fallback-shell-render.js +3 -2
- package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
- package/dist/server/app-prerender-endpoints.d.ts +5 -5
- package/dist/server/app-prerender-endpoints.js +3 -1
- package/dist/server/app-prerender-static-params.d.ts +15 -7
- package/dist/server/app-prerender-static-params.js +24 -9
- package/dist/server/app-render-abort-error.d.ts +3 -0
- package/dist/server/app-render-abort-error.js +8 -0
- package/dist/server/app-render-dependency.d.ts +14 -13
- package/dist/server/app-render-dependency.js +5 -1
- package/dist/server/app-request-context.d.ts +3 -4
- package/dist/server/app-request-stage-context.d.ts +5 -0
- package/dist/server/app-request-stage-context.js +11 -0
- package/dist/server/app-request-stage-dispatch.d.ts +25 -0
- package/dist/server/app-request-stage-dispatch.js +54 -0
- package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
- package/dist/server/app-request-stage-independent-entry.js +112 -0
- package/dist/server/app-response-header-provenance.d.ts +13 -7
- package/dist/server/app-response-header-provenance.js +34 -1
- package/dist/server/app-response-stage-entry.d.ts +9 -0
- package/dist/server/app-response-stage-entry.js +87 -0
- package/dist/server/app-route-handler-cache.d.ts +4 -4
- package/dist/server/app-route-handler-cache.js +51 -35
- package/dist/server/app-route-handler-dispatch.d.ts +3 -3
- package/dist/server/app-route-handler-dispatch.js +77 -56
- package/dist/server/app-route-handler-execution.d.ts +26 -14
- package/dist/server/app-route-handler-execution.js +94 -28
- package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
- package/dist/server/app-route-handler-middleware-context.js +15 -0
- package/dist/server/app-route-handler-policy.d.ts +11 -11
- package/dist/server/app-route-handler-policy.js +2 -2
- package/dist/server/app-route-handler-response.d.ts +9 -10
- package/dist/server/app-route-handler-response.js +14 -3
- package/dist/server/app-route-handler-runtime.d.ts +9 -10
- package/dist/server/app-route-handler-runtime.js +20 -16
- package/dist/server/app-route-module-loader.d.ts +6 -7
- package/dist/server/app-route-request-built-ins.d.ts +3 -4
- package/dist/server/app-route-tree-prefetch.d.ts +6 -7
- package/dist/server/app-route-tree-prefetch.js +2 -1
- package/dist/server/app-router-entry.d.ts +4 -1
- package/dist/server/app-router-entry.js +33 -17
- package/dist/server/app-rsc-cache-busting.d.ts +34 -27
- package/dist/server/app-rsc-cache-busting.js +14 -2
- package/dist/server/app-rsc-combined-handler.d.ts +9 -0
- package/dist/server/app-rsc-combined-handler.js +11 -0
- package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
- package/dist/server/app-rsc-error-handler.d.ts +12 -6
- package/dist/server/app-rsc-error-handler.js +15 -6
- package/dist/server/app-rsc-errors.d.ts +11 -9
- package/dist/server/app-rsc-errors.js +14 -16
- package/dist/server/app-rsc-handler.d.ts +32 -6
- package/dist/server/app-rsc-handler.js +425 -64
- package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
- package/dist/server/app-rsc-render-mode.d.ts +8 -9
- package/dist/server/app-rsc-request-normalization.d.ts +3 -3
- package/dist/server/app-rsc-request-normalization.js +5 -3
- package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
- package/dist/server/app-rsc-response-finalizer.js +10 -7
- package/dist/server/app-rsc-response-stage.d.ts +6 -0
- package/dist/server/app-rsc-response-stage.js +251 -0
- package/dist/server/app-rsc-route-matching.d.ts +3 -4
- package/dist/server/app-rsc-route-matching.js +3 -2
- package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
- package/dist/server/app-rsc-vary.d.ts +16 -0
- package/dist/server/app-rsc-vary.js +31 -0
- package/dist/server/app-segment-config.d.ts +119 -7
- package/dist/server/app-segment-config.js +242 -2
- package/dist/server/app-server-action-execution.d.ts +18 -13
- package/dist/server/app-server-action-execution.js +86 -33
- package/dist/server/app-ssr-entry.d.ts +14 -4
- package/dist/server/app-ssr-entry.js +62 -15
- package/dist/server/app-ssr-error-meta.d.ts +3 -4
- package/dist/server/app-ssr-error-meta.js +2 -1
- package/dist/server/app-ssr-router-instance.d.ts +2 -3
- package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
- package/dist/server/app-ssr-search-params-gate.js +54 -0
- package/dist/server/app-ssr-stream.d.ts +13 -9
- package/dist/server/app-ssr-stream.js +34 -8
- package/dist/server/app-static-generation.d.ts +4 -5
- package/dist/server/app-visited-response-cache.d.ts +11 -12
- package/dist/server/app-visited-response-cache.js +2 -2
- package/dist/server/app-worker-stages.d.ts +112 -0
- package/dist/server/app-worker-stages.js +105 -0
- package/dist/server/artifact-compatibility.d.ts +11 -12
- package/dist/server/before-interactive-head.d.ts +2 -3
- package/dist/server/bfcache-identity.d.ts +7 -8
- package/dist/server/cache-control.d.ts +35 -13
- package/dist/server/cache-control.js +64 -6
- package/dist/server/cache-headers.d.ts +3 -4
- package/dist/server/cache-proof.d.ts +75 -70
- package/dist/server/cache-proof.js +9 -1
- package/dist/server/cacheability-limits.d.ts +4 -5
- package/dist/server/cacheability-limits.js +2 -2
- package/dist/server/cacheability-manifest.d.ts +42 -16
- package/dist/server/cacheability-manifest.js +60 -10
- package/dist/server/cacheability-request.d.ts +37 -8
- package/dist/server/cacheability-request.js +192 -90
- package/dist/server/client-reuse-manifest.d.ts +17 -18
- package/dist/server/client-reuse-manifest.js +2 -2
- package/dist/server/client-trace-metadata.d.ts +9 -6
- package/dist/server/client-trace-metadata.js +27 -15
- package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
- package/dist/server/cloudflare-workers-tracing.js +8 -0
- package/dist/server/config-headers.d.ts +19 -5
- package/dist/server/config-headers.js +25 -11
- package/dist/server/cookie-utils.d.ts +2 -3
- package/dist/server/csp.d.ts +5 -6
- package/dist/server/default-global-error-module.d.ts +2 -3
- package/dist/server/default-global-not-found-module.d.ts +2 -3
- package/dist/server/default-not-found-module.d.ts +2 -3
- package/dist/server/defer-until-stream-consumed.d.ts +2 -3
- package/dist/server/defer-until-stream-consumed.js +2 -1
- package/dist/server/dev-initial-server-error.d.ts +3 -4
- package/dist/server/dev-initial-server-error.js +2 -1
- package/dist/server/dev-lockfile.d.ts +7 -8
- package/dist/server/dev-lockfile.js +4 -1
- package/dist/server/dev-module-runner.d.ts +2 -3
- package/dist/server/dev-origin-check.d.ts +5 -6
- package/dist/server/dev-route-files.d.ts +2 -3
- package/dist/server/dev-server.d.ts +4 -5
- package/dist/server/dev-server.js +141 -64
- package/dist/server/dev-stack-sourcemap.d.ts +7 -7
- package/dist/server/dev-stack-sourcemap.js +1 -1
- package/dist/server/document-initial-head.d.ts +3 -4
- package/dist/server/edge-api-runtime.d.ts +4 -5
- package/dist/server/fetch-handler.d.ts +3 -2
- package/dist/server/fetch-handler.js +3 -18
- package/dist/server/file-based-metadata.d.ts +2 -3
- package/dist/server/framework-tracer.d.ts +46 -0
- package/dist/server/framework-tracer.js +125 -0
- package/dist/server/fully-buffered-response.d.ts +11 -0
- package/dist/server/fully-buffered-response.js +19 -0
- package/dist/server/headers.d.ts +56 -61
- package/dist/server/headers.js +22 -31
- package/dist/server/html.d.ts +6 -27
- package/dist/server/html.js +16 -1
- package/dist/server/http-conditional.d.ts +5 -6
- package/dist/server/http-date.d.ts +2 -3
- package/dist/server/http-error-responses.d.ts +9 -10
- package/dist/server/http-error-responses.js +1 -0
- package/dist/server/http-range.d.ts +4 -5
- package/dist/server/hybrid-route-priority.d.ts +4 -5
- package/dist/server/image-optimization.d.ts +20 -21
- package/dist/server/implicit-tags.d.ts +3 -4
- package/dist/server/instrumentation-runtime.d.ts +17 -21
- package/dist/server/instrumentation-runtime.js +26 -8
- package/dist/server/instrumentation.d.ts +26 -30
- package/dist/server/instrumentation.js +18 -23
- package/dist/server/isr-cache.d.ts +30 -27
- package/dist/server/isr-cache.js +23 -70
- package/dist/server/isr-decision.d.ts +4 -4
- package/dist/server/metadata-route-build-data.d.ts +4 -5
- package/dist/server/metadata-route-response.d.ts +7 -7
- package/dist/server/metadata-route-response.js +158 -35
- package/dist/server/metadata-routes.d.ts +18 -19
- package/dist/server/middleware-matcher-pattern.d.ts +6 -7
- package/dist/server/middleware-matcher.d.ts +6 -7
- package/dist/server/middleware-path-to-regexp.d.ts +6 -7
- package/dist/server/middleware-path-to-regexp.js +11 -9
- package/dist/server/middleware-response-headers.d.ts +3 -4
- package/dist/server/middleware-runtime.d.ts +7 -8
- package/dist/server/middleware-runtime.js +36 -7
- package/dist/server/middleware.d.ts +5 -5
- package/dist/server/multi-stage.d.ts +141 -0
- package/dist/server/multi-stage.js +8 -0
- package/dist/server/navigation-planner.d.ts +26 -26
- package/dist/server/navigation-trace.d.ts +11 -12
- package/dist/server/next-error-digest.d.ts +4 -5
- package/dist/server/normalize-path.d.ts +5 -6
- package/dist/server/open-redirect.d.ts +2 -3
- package/dist/server/opentelemetry-api.d.ts +59 -0
- package/dist/server/opentelemetry-api.js +53 -0
- package/dist/server/opentelemetry-tracing.d.ts +5 -0
- package/dist/server/opentelemetry-tracing.js +83 -0
- package/dist/server/operation-token.d.ts +11 -12
- package/dist/server/otel-tracer-extension.d.ts +7 -9
- package/dist/server/otel-tracer-extension.js +37 -36
- package/dist/server/pages-api-route.d.ts +5 -4
- package/dist/server/pages-api-route.js +28 -9
- package/dist/server/pages-asset-tags.d.ts +7 -6
- package/dist/server/pages-asset-tags.js +104 -18
- package/dist/server/pages-body-parser-config.d.ts +4 -5
- package/dist/server/pages-body-parser-config.js +4 -4
- package/dist/server/pages-client-assets.d.ts +13 -5
- package/dist/server/pages-data-route.d.ts +11 -12
- package/dist/server/pages-data-route.js +1 -1
- package/dist/server/pages-default-404.d.ts +3 -4
- package/dist/server/pages-dev-hydration.d.ts +9 -4
- package/dist/server/pages-dev-hydration.js +19 -7
- package/dist/server/pages-dev-module-url.d.ts +3 -4
- package/dist/server/pages-dev-stylesheets.d.ts +5 -6
- package/dist/server/pages-document-asset-props.d.ts +6 -7
- package/dist/server/pages-document-initial-props.d.ts +5 -5
- package/dist/server/pages-document-initial-props.js +4 -2
- package/dist/server/pages-execution-tracing.d.ts +40 -0
- package/dist/server/pages-execution-tracing.js +80 -0
- package/dist/server/pages-get-initial-props.d.ts +9 -10
- package/dist/server/pages-i18n.d.ts +8 -8
- package/dist/server/pages-media-type.d.ts +4 -5
- package/dist/server/pages-node-compat.d.ts +11 -10
- package/dist/server/pages-node-compat.js +12 -4
- package/dist/server/pages-page-data.d.ts +23 -19
- package/dist/server/pages-page-data.js +82 -75
- package/dist/server/pages-page-handler.d.ts +7 -6
- package/dist/server/pages-page-handler.js +103 -47
- package/dist/server/pages-page-method.d.ts +2 -3
- package/dist/server/pages-page-response.d.ts +14 -10
- package/dist/server/pages-page-response.js +52 -32
- package/dist/server/pages-preview.d.ts +10 -11
- package/dist/server/pages-readiness.d.ts +2 -3
- package/dist/server/pages-request-pipeline.d.ts +15 -12
- package/dist/server/pages-request-pipeline.js +80 -35
- package/dist/server/pages-request-stage-entry.d.ts +23 -0
- package/dist/server/pages-request-stage-entry.js +316 -0
- package/dist/server/pages-response-stage-entry.d.ts +11 -0
- package/dist/server/pages-response-stage-entry.js +106 -0
- package/dist/server/pages-response-stage.d.ts +31 -0
- package/dist/server/pages-response-stage.js +49 -0
- package/dist/server/pages-revalidate.d.ts +3 -4
- package/dist/server/pages-revalidate.js +9 -4
- package/dist/server/pages-route-data-kind.d.ts +18 -0
- package/dist/server/pages-route-data-kind.js +11 -0
- package/dist/server/pages-router-entry.d.ts +1 -25
- package/dist/server/pages-router-entry.js +35 -148
- package/dist/server/pages-serializable-props.d.ts +3 -4
- package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
- package/dist/server/pregenerated-concrete-paths.js +12 -6
- package/dist/server/prerender-cache-life-header.d.ts +3 -4
- package/dist/server/prerender-manifest.d.ts +17 -11
- package/dist/server/prerender-manifest.js +7 -4
- package/dist/server/prerender-route-params.d.ts +16 -9
- package/dist/server/prerender-route-params.js +18 -3
- package/dist/server/prerender-work-unit-setup.d.ts +2 -3
- package/dist/server/prerender-work-unit-setup.js +5 -5
- package/dist/server/prod-server.d.ts +12 -9
- package/dist/server/prod-server.js +127 -44
- package/dist/server/proxy-trust.d.ts +5 -6
- package/dist/server/request-log.d.ts +3 -4
- package/dist/server/request-pipeline.d.ts +16 -16
- package/dist/server/request-pipeline.js +7 -2
- package/dist/server/request-stage.d.ts +5 -0
- package/dist/server/request-stage.js +7 -0
- package/dist/server/request-tracing.d.ts +22 -0
- package/dist/server/request-tracing.js +180 -0
- package/dist/server/response-stage-cacheability.d.ts +37 -0
- package/dist/server/response-stage-cacheability.js +55 -0
- package/dist/server/response-stage-policy.d.ts +23 -0
- package/dist/server/response-stage-policy.js +89 -0
- package/dist/server/response-stage.d.ts +5 -0
- package/dist/server/response-stage.js +7 -0
- package/dist/server/response-start-tracing.d.ts +14 -0
- package/dist/server/response-start-tracing.js +80 -0
- package/dist/server/revalidation-host.d.ts +2 -3
- package/dist/server/revalidation-host.js +1 -1
- package/dist/server/revalidation-request.d.ts +8 -0
- package/dist/server/revalidation-request.js +37 -0
- package/dist/server/rsc-completion-metadata.d.ts +6 -7
- package/dist/server/rsc-stream-hints.d.ts +18 -7
- package/dist/server/rsc-stream-hints.js +70 -35
- package/dist/server/seed-cache.d.ts +2 -3
- package/dist/server/seed-cache.js +8 -7
- package/dist/server/server-action-not-found.d.ts +5 -6
- package/dist/server/server-globals.d.ts +2 -3
- package/dist/server/skip-cache-proof.d.ts +4 -4
- package/dist/server/socket-error-backstop.d.ts +5 -6
- package/dist/server/socket-error-backstop.js +1 -1
- package/dist/server/static-file-cache.d.ts +5 -6
- package/dist/server/static-file-cache.js +9 -7
- package/dist/server/static-file-signal.d.ts +9 -6
- package/dist/server/static-file-signal.js +51 -2
- package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
- package/dist/server/streaming-metadata.d.ts +2 -3
- package/dist/server/tracer.d.ts +5 -0
- package/dist/server/tracer.js +13 -0
- package/dist/server/worker-prerender-discovery.d.ts +5 -6
- package/dist/server/worker-revalidation-context.d.ts +4 -4
- package/dist/server/worker-revalidation-context.js +6 -5
- package/dist/server/worker-stages.d.ts +43 -0
- package/dist/server/worker-stages.js +25 -0
- package/dist/server/worker-utils.d.ts +5 -6
- package/dist/server/worker-utils.js +2 -1
- package/dist/server/workers-tracing.d.ts +34 -0
- package/dist/server/workers-tracing.js +67 -0
- package/dist/shims/amp.d.ts +3 -4
- package/dist/shims/app-router-scroll-state.d.ts +9 -10
- package/dist/shims/app-router-scroll.d.ts +4 -5
- package/dist/shims/app-router-scroll.js +2 -1
- package/dist/shims/app.d.ts +5 -6
- package/dist/shims/before-interactive-context.d.ts +5 -6
- package/dist/shims/cache-callable-runtime.d.ts +44 -4
- package/dist/shims/cache-callable-runtime.js +168 -8
- package/dist/shims/cache-for-request.d.ts +2 -3
- package/dist/shims/cache-handler.d.ts +33 -20
- package/dist/shims/cache-handler.js +61 -2
- package/dist/shims/cache-request-state.d.ts +26 -38
- package/dist/shims/cache-request-state.js +2 -13
- package/dist/shims/cache-runtime.d.ts +23 -21
- package/dist/shims/cache-runtime.js +110 -28
- package/dist/shims/cache.d.ts +17 -16
- package/dist/shims/cache.js +19 -15
- package/dist/shims/cacheability-classification.d.ts +50 -29
- package/dist/shims/cacheability-classification.js +29 -14
- package/dist/shims/cdn-cache-state.d.ts +13 -0
- package/dist/shims/cdn-cache-state.js +23 -0
- package/dist/shims/cdn-cache.d.ts +59 -21
- package/dist/shims/cdn-cache.js +31 -47
- package/dist/shims/client-hook-error.d.ts +3 -4
- package/dist/shims/client-locale.d.ts +2 -3
- package/dist/shims/client-page-root.d.ts +24 -0
- package/dist/shims/client-page-root.js +121 -0
- package/dist/shims/compat-router.d.ts +2 -3
- package/dist/shims/config.d.ts +3 -4
- package/dist/shims/constants.d.ts +73 -74
- package/dist/shims/constants.js +1 -1
- package/dist/shims/default-not-found.d.ts +2 -3
- package/dist/shims/document.d.ts +9 -9
- package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
- package/dist/shims/dynamic-preload-chunks.js +17 -13
- package/dist/shims/dynamic.d.ts +3 -3
- package/dist/shims/error-boundary-navigation.d.ts +3 -4
- package/dist/shims/error-boundary.d.ts +17 -18
- package/dist/shims/error-boundary.js +17 -11
- package/dist/shims/error.d.ts +5 -19
- package/dist/shims/error.js +17 -10
- package/dist/shims/error.react-server.d.ts +4 -7
- package/dist/shims/error.react-server.js +4 -1
- package/dist/shims/fetch-cache.d.ts +22 -22
- package/dist/shims/fetch-cache.js +46 -20
- package/dist/shims/font-google-base.d.ts +9 -9
- package/dist/shims/font-google-base.js +2 -1
- package/dist/shims/font-local.d.ts +3 -3
- package/dist/shims/font-local.js +1 -1
- package/dist/shims/font-utils.d.ts +14 -15
- package/dist/shims/form.d.ts +2 -2
- package/dist/shims/form.js +10 -7
- package/dist/shims/hash-scroll.d.ts +5 -6
- package/dist/shims/head-state.d.ts +4 -5
- package/dist/shims/head.d.ts +16 -16
- package/dist/shims/head.js +5 -4
- package/dist/shims/headers.d.ts +44 -73
- package/dist/shims/headers.js +87 -144
- package/dist/shims/i18n-context.d.ts +5 -6
- package/dist/shims/i18n-state.d.ts +4 -5
- package/dist/shims/image-config.d.ts +5 -6
- package/dist/shims/image-config.js +2 -0
- package/dist/shims/image.d.ts +5 -5
- package/dist/shims/image.js +12 -8
- package/dist/shims/internal/als-registry.d.ts +4 -5
- package/dist/shims/internal/api-utils.d.ts +3 -4
- package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
- package/dist/shims/internal/app-page-props-cache-key.js +53 -1
- package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
- package/dist/shims/internal/app-prefetch-rsc-request.d.ts +5 -17
- package/dist/shims/internal/app-prefetch-rsc-request.js +5 -14
- package/dist/shims/internal/app-route-detection.d.ts +2 -2
- package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -8
- package/dist/shims/internal/app-route-prefetch-policy.js +0 -1
- package/dist/shims/internal/app-router-context.d.ts +9 -10
- package/dist/shims/internal/cache-context-accessor.d.ts +16 -0
- package/dist/shims/internal/cache-context-accessor.js +15 -0
- package/dist/shims/internal/cookie-serialize.d.ts +4 -5
- package/dist/shims/internal/format-url-object.d.ts +7 -0
- package/dist/shims/internal/format-url-object.js +53 -0
- package/dist/shims/internal/headers-state.d.ts +74 -0
- package/dist/shims/internal/headers-state.js +157 -0
- package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
- package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
- package/dist/shims/internal/hybrid-client-route-owner.js +3 -2
- package/dist/shims/internal/interpolate-as.d.ts +5 -6
- package/dist/shims/internal/interpolate-as.js +4 -2
- package/dist/shims/internal/link-status-registry.d.ts +5 -6
- package/dist/shims/internal/make-hanging-promise.d.ts +3 -4
- package/dist/shims/internal/navigation-untracked.d.ts +2 -3
- package/dist/shims/internal/normalize-router-href.d.ts +15 -0
- package/dist/shims/internal/normalize-router-href.js +41 -0
- package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
- package/dist/shims/internal/pages-data-target.d.ts +8 -6
- package/dist/shims/internal/pages-data-target.js +32 -36
- package/dist/shims/internal/pages-data-url.d.ts +4 -5
- package/dist/shims/internal/pages-data-url.js +2 -1
- package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
- package/dist/shims/internal/pages-router-components.d.ts +3 -4
- package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
- package/dist/shims/internal/route-pattern-for-warning.js +3 -3
- package/dist/shims/internal/router-context.d.ts +2 -3
- package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
- package/dist/shims/internal/thenable-well-known-properties.js +33 -0
- package/dist/shims/internal/utils.d.ts +7 -8
- package/dist/shims/internal/work-unit-async-storage.d.ts +10 -11
- package/dist/shims/layout-segment-context.d.ts +3 -4
- package/dist/shims/link-prefetch.d.ts +9 -10
- package/dist/shims/link.d.ts +4 -4
- package/dist/shims/link.js +56 -116
- package/dist/shims/metadata.d.ts +15 -16
- package/dist/shims/metadata.js +40 -36
- package/dist/shims/navigation-context-accessors.d.ts +9 -0
- package/dist/shims/navigation-context-accessors.js +19 -0
- package/dist/shims/navigation-context-state.d.ts +27 -18
- package/dist/shims/navigation-errors.d.ts +18 -19
- package/dist/shims/navigation-state.d.ts +6 -7
- package/dist/shims/navigation.d.ts +80 -68
- package/dist/shims/navigation.js +26 -18
- package/dist/shims/navigation.react-server.d.ts +9 -9
- package/dist/shims/offline.d.ts +2 -3
- package/dist/shims/og.d.ts +2 -2
- package/dist/shims/pages-router-runtime.d.ts +4 -5
- package/dist/shims/ppr-fallback-shell.d.ts +13 -14
- package/dist/shims/readonly-url-search-params.d.ts +2 -3
- package/dist/shims/request-context.d.ts +5 -6
- package/dist/shims/request-state-types.d.ts +2 -1
- package/dist/shims/root-params.d.ts +14 -15
- package/dist/shims/root-params.js +1 -1
- package/dist/shims/router-state.d.ts +5 -6
- package/dist/shims/router-state.js +1 -1
- package/dist/shims/router.d.ts +22 -21
- package/dist/shims/router.js +339 -164
- package/dist/shims/script-nonce-context.d.ts +8 -6
- package/dist/shims/script-nonce-context.js +15 -6
- package/dist/shims/script.d.ts +4 -4
- package/dist/shims/script.js +9 -7
- package/dist/shims/search-params-gate.d.ts +35 -0
- package/dist/shims/search-params-gate.js +32 -0
- package/dist/shims/server.d.ts +19 -51
- package/dist/shims/server.js +66 -30
- package/dist/shims/slot.d.ts +33 -15
- package/dist/shims/slot.js +41 -9
- package/dist/shims/streamed-icons.d.ts +3 -4
- package/dist/shims/thenable-params.d.ts +5 -7
- package/dist/shims/thenable-params.js +3 -24
- package/dist/shims/unified-request-context.d.ts +35 -32
- package/dist/shims/unified-request-context.js +34 -24
- package/dist/shims/unrecognized-action-error.d.ts +3 -4
- package/dist/shims/url-safety.d.ts +5 -6
- package/dist/shims/url-utils.d.ts +12 -13
- package/dist/shims/use-merged-ref.d.ts +2 -3
- package/dist/shims/user-agent.d.ts +31 -0
- package/dist/shims/user-agent.js +16 -0
- package/dist/shims/web-vitals.d.ts +2 -2
- package/dist/typegen.d.ts +3 -4
- package/dist/utils/asset-prefix.d.ts +7 -8
- package/dist/utils/base-path.d.ts +5 -6
- package/dist/utils/built-asset-url.d.ts +2 -3
- package/dist/utils/built-asset-url.js +1 -1
- package/dist/utils/cache-control-metadata.d.ts +4 -5
- package/dist/utils/client-build-manifest.d.ts +6 -7
- package/dist/utils/client-build-manifest.js +2 -1
- package/dist/utils/client-entry-manifest.d.ts +6 -7
- package/dist/utils/client-runtime-metadata.d.ts +8 -3
- package/dist/utils/client-runtime-metadata.js +18 -1
- package/dist/utils/commonjs-loader.d.ts +4 -5
- package/dist/utils/compare.d.ts +2 -3
- package/dist/utils/deployment-id.d.ts +6 -7
- package/dist/utils/dev-error-recovery-event.d.ts +2 -3
- package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
- package/dist/utils/domain-locale.d.ts +7 -8
- package/dist/utils/encode-cache-tag.d.ts +4 -4
- package/dist/utils/encode-cache-tag.js +11 -1
- package/dist/utils/error-cause.d.ts +2 -3
- package/dist/utils/external-url.d.ts +2 -3
- package/dist/utils/has-trailing-comma.d.ts +3 -4
- package/dist/utils/hash.d.ts +3 -4
- package/dist/utils/html-limited-bots.d.ts +3 -4
- package/dist/utils/lazy-chunks.d.ts +8 -9
- package/dist/utils/lazy-chunks.js +4 -4
- package/dist/utils/manifest-paths.d.ts +5 -6
- package/dist/utils/mdx-scan.d.ts +11 -4
- package/dist/utils/mdx-scan.js +27 -1
- package/dist/utils/middleware-request-headers.d.ts +7 -6
- package/dist/utils/middleware-request-headers.js +6 -1
- package/dist/utils/navigation-signal.d.ts +3 -3
- package/dist/utils/navigation-signal.js +16 -1
- package/dist/utils/number.d.ts +2 -3
- package/dist/utils/package-name.d.ts +3 -4
- package/dist/utils/parse-cookie.d.ts +4 -5
- package/dist/utils/path.d.ts +8 -9
- package/dist/utils/plugin-options.d.ts +2 -3
- package/dist/utils/precompressed-variant.d.ts +3 -4
- package/dist/utils/prerender-output-paths.d.ts +4 -5
- package/dist/utils/project.d.ts +19 -30
- package/dist/utils/project.js +20 -29
- package/dist/utils/promise.d.ts +2 -3
- package/dist/utils/protocol-headers.d.ts +14 -15
- package/dist/utils/public-file-path.d.ts +2 -3
- package/dist/utils/public-routes.d.ts +2 -3
- package/dist/utils/query.d.ts +14 -9
- package/dist/utils/query.js +22 -1
- package/dist/utils/react-compiler-support.d.ts +6 -7
- package/dist/utils/react-version.d.ts +4 -3
- package/dist/utils/react-version.js +19 -1
- package/dist/utils/record.d.ts +2 -3
- package/dist/utils/redirect-digest.d.ts +3 -4
- package/dist/utils/regex-safety.d.ts +4 -5
- package/dist/utils/regex.d.ts +2 -3
- package/dist/utils/safe-json-file.d.ts +2 -3
- package/dist/utils/sorted-array.d.ts +2 -3
- package/dist/utils/text-stream.d.ts +3 -4
- package/dist/utils/vinext-root.d.ts +2 -3
- package/dist/utils/virtual-module.d.ts +3 -4
- package/dist/utils/vite-cli-invocation.d.ts +21 -0
- package/dist/utils/vite-cli-invocation.js +151 -0
- package/dist/utils/vite-version.d.ts +5 -6
- package/next-package.json +4 -0
- package/package.json +51 -6
- package/dist/server/metadata-route-cache-policy.d.ts +0 -6
- package/dist/server/metadata-route-cache-policy.js +0 -6
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
import { isPromiseLike } from "../utils/promise.js";
|
|
2
|
-
import { createAppPageRenderDependency, invokeAppComponent, isAppRenderSuspension, isReactOwnedAppComponent, renderAfterAppDependencies } from "./app-render-dependency.js";
|
|
3
|
-
import { AppElementsWire } from "./app-elements-wire.js";
|
|
4
2
|
import { APP_RSC_RENDER_MODE_NAVIGATION } from "./app-rsc-render-mode.js";
|
|
3
|
+
import { createAppPageRenderDependency, invokeAppComponent, isAppClientReference, isAppRenderSuspension, isReactOwnedAppComponent, renderAfterAppDependencies } from "./app-render-dependency.js";
|
|
4
|
+
import { AppElementsWire } from "./app-elements-wire.js";
|
|
5
5
|
import "./app-elements.js";
|
|
6
6
|
import { createAppPageRenderIdentity } from "./app-page-render-identity.js";
|
|
7
7
|
import { matchRoutePattern } from "../routing/route-pattern.js";
|
|
8
8
|
import { makeThenableParams } from "../shims/thenable-params.js";
|
|
9
|
+
import { withUseCachePageMarker } from "../shims/internal/app-page-props-cache-key.js";
|
|
9
10
|
import { resolveAppPageBranchParams, resolveAppPageSegmentParams } from "./app-page-params.js";
|
|
10
11
|
import { resolveAppPageSpecialError } from "./app-page-execution.js";
|
|
11
12
|
import { prepareAppPageHead, resolveActiveParallelRouteHeadInputs } from "./app-page-head.js";
|
|
12
13
|
import { createAppPageSearchParamsObserver, makeObservedAppPageSearchParamsThenable } from "./app-page-search-params-observation.js";
|
|
13
|
-
import { isAppPageRouteGroupSegment, resolveAppPagePatternStateKey, resolveAppPageRouteStateKey } from "./app-page-segment-state.js";
|
|
14
|
+
import { APP_PAGE_SEGMENT_KEY, isAppPageRouteGroupSegment, resolveAppPagePatternStateKey, resolveAppPageRouteStateKey } from "./app-page-segment-state.js";
|
|
15
|
+
import { sanitizeErrorForClient } from "./app-rsc-errors.js";
|
|
16
|
+
import { resolveAppPageModuleTraceSegment, traceCreateComponentTree, traceGetLayoutOrPageModule } from "./app-page-tracing.js";
|
|
14
17
|
import { buildAppPageElements, createAppPageSourcePage, createAppPageTreePath, resolveAppPageLoadingModuleAtOrAbove } from "./app-page-route-wiring.js";
|
|
15
18
|
import { resolveHttpAccessFallbackMetadata, resolveHttpAccessFallbackViewport } from "./app-page-http-access-fallback-metadata.js";
|
|
19
|
+
import { ClientPageRoot } from "../shims/client-page-root.js";
|
|
16
20
|
import "./app-rsc-route-matching.js";
|
|
17
21
|
import { resolveAppPageParentHttpAccessBoundary } from "./app-page-boundary.js";
|
|
18
|
-
import { sanitizeErrorForClient } from "./app-rsc-errors.js";
|
|
19
22
|
import { DEFAULT_GLOBAL_ERROR_MODULE } from "./default-global-error-module.js";
|
|
20
23
|
import { shouldServeStreamingMetadata } from "./streaming-metadata.js";
|
|
21
24
|
import { Suspense, createElement } from "react";
|
|
@@ -23,6 +26,21 @@ import { Suspense, createElement } from "react";
|
|
|
23
26
|
function resolveInterceptLayoutParams(branchSegments, layoutSegments, params) {
|
|
24
27
|
return resolveAppPageBranchParams(branchSegments, layoutSegments.length, params, layoutSegments);
|
|
25
28
|
}
|
|
29
|
+
function traceAppPageLayoutModules(modules, routeSegments, treePositions) {
|
|
30
|
+
for (const [index, module] of modules.entries()) {
|
|
31
|
+
if (!module) continue;
|
|
32
|
+
traceGetLayoutOrPageModule(resolveAppPageModuleTraceSegment(routeSegments, treePositions?.[index] ?? 0), () => module);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function resolveInterceptLayoutTraceSegment(branchSegments, layoutSegments) {
|
|
36
|
+
return resolveAppPageModuleTraceSegment(branchSegments ?? layoutSegments, layoutSegments.length);
|
|
37
|
+
}
|
|
38
|
+
function traceAppPageInterceptLayoutModules(modules, branchSegments, layoutSegments) {
|
|
39
|
+
for (const [index, module] of (modules ?? []).entries()) {
|
|
40
|
+
if (!module) continue;
|
|
41
|
+
traceGetLayoutOrPageModule(resolveInterceptLayoutTraceSegment(branchSegments, layoutSegments?.[index] ?? []), () => module);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
26
44
|
/**
|
|
27
45
|
* Build the App Router element tree for a matched route.
|
|
28
46
|
*
|
|
@@ -42,7 +60,7 @@ function resolveInterceptLayoutParams(branchSegments, layoutSegments, params) {
|
|
|
42
60
|
async function buildPageElements(options) {
|
|
43
61
|
const { route, params, routePath, displayPathname = routePath, pageRequest, globalErrorModule, rootNotFoundModule, rootForbiddenModule, rootUnauthorizedModule, metadataRoutes } = options;
|
|
44
62
|
const slotParamOverrides = resolveSlotParamOverrides(route, routePath);
|
|
45
|
-
const { opts, searchParams, isRscRequest, mountedSlotsHeader, renderMode = APP_RSC_RENDER_MODE_NAVIGATION, observeMetadataSearchParamsAccess = false, observePageSearchParamsAccess = false, serveStreamingMetadata, isProduction = process.env.NODE_ENV === "production" } = pageRequest;
|
|
63
|
+
const { opts, searchParams, isRscRequest, mountedSlotsHeader, renderMode = APP_RSC_RENDER_MODE_NAVIGATION, observeMetadataSearchParamsAccess = false, observePageSearchParamsAccess = false, isForceStatic = false, serveStreamingMetadata, isProduction = process.env.NODE_ENV === "production" } = pageRequest;
|
|
46
64
|
const pageModule = route.page;
|
|
47
65
|
const isSiblingIntercept = opts?.interceptSlotKey === "__vinext_page_intercept" && !!opts?.interceptPage;
|
|
48
66
|
const effectivePageModule = isSiblingIntercept ? opts.interceptPage : pageModule;
|
|
@@ -71,17 +89,22 @@ async function buildPageElements(options) {
|
|
|
71
89
|
const treePosition = route.layoutTreePositions?.[0] ?? 0;
|
|
72
90
|
noExportRootLayout = createAppPageTreePath(route.routeSegments, treePosition);
|
|
73
91
|
}
|
|
74
|
-
return {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
92
|
+
return traceCreateComponentTree(() => {
|
|
93
|
+
traceGetLayoutOrPageModule(APP_PAGE_SEGMENT_KEY, () => effectivePageModule);
|
|
94
|
+
traceAppPageLayoutModules(route.layouts, route.routeSegments ?? [], route.layoutTreePositions);
|
|
95
|
+
if (isSiblingIntercept) traceAppPageInterceptLayoutModules(opts?.interceptLayouts, opts?.interceptBranchSegments, opts?.interceptLayoutSegments);
|
|
96
|
+
return {
|
|
97
|
+
...AppElementsWire.createMetadataEntries({
|
|
98
|
+
interception: renderIdentity.interception,
|
|
99
|
+
interceptionContext: renderIdentity.interceptionContext,
|
|
100
|
+
layoutIds: noExportLayoutIds,
|
|
101
|
+
rootLayoutTreePath: noExportRootLayout,
|
|
102
|
+
routeId: renderIdentity.routeId,
|
|
103
|
+
sourcePage: createAppPageSourcePage(sourcePageSegments)
|
|
104
|
+
}),
|
|
105
|
+
[renderIdentity.routeId]: createElement("div", null, "Page has no default export")
|
|
106
|
+
};
|
|
107
|
+
});
|
|
85
108
|
}
|
|
86
109
|
const activeParallelRouteHeadInputs = resolveActiveParallelRouteHeadInputs({
|
|
87
110
|
interceptBranchSegments: opts?.interceptBranchSegments ?? null,
|
|
@@ -110,6 +133,7 @@ async function buildPageElements(options) {
|
|
|
110
133
|
},
|
|
111
134
|
...opts?.interceptNotFound ? {
|
|
112
135
|
notFoundModule: opts.interceptNotFound,
|
|
136
|
+
notFoundModuleRouteSegments: (opts.interceptNotFoundBranchSegments ?? opts.interceptSourcePageSegments ?? route.routeSegments ?? []).slice(0, opts.interceptNotFoundTreePosition ?? 0),
|
|
113
137
|
notFoundParams: resolveAppPageBranchParams(opts.interceptNotFoundBranchSegments ?? opts.interceptBranchSegments ?? route.routeSegments ?? [], opts.interceptNotFoundTreePosition ?? 0, effectiveParams)
|
|
114
138
|
} : {},
|
|
115
139
|
ownerTreePosition: route.routeSegments?.length ?? 0
|
|
@@ -155,6 +179,8 @@ async function buildPageElements(options) {
|
|
|
155
179
|
return {
|
|
156
180
|
boundaryModule,
|
|
157
181
|
boundaryParams: boundaryModule && boundaryTreePosition != null ? resolveAppPageSegmentParams(route.routeSegments ?? [], boundaryTreePosition, effectiveParams) : {},
|
|
182
|
+
boundaryRouteSegments: (route.routeSegments ?? []).slice(0, boundaryTreePosition ?? 0),
|
|
183
|
+
errorConvention: "not-found",
|
|
158
184
|
layoutModules: route.layouts,
|
|
159
185
|
layoutTreePositions: route.layoutTreePositions,
|
|
160
186
|
parallelBranches: activeParallelRouteHeadInputs,
|
|
@@ -194,25 +220,33 @@ async function buildPageElements(options) {
|
|
|
194
220
|
const streamingMetadataOutlet = streamingMetadataOutletInputs.length > 0 ? Promise.all(streamingMetadataOutletInputs).then(() => null) : null;
|
|
195
221
|
streamingMetadataOutlet?.catch(() => null);
|
|
196
222
|
const pageProps = { params: makeThenableParams(effectiveParams) };
|
|
197
|
-
const hasRequestSearchParams = Object.keys(pageSearchParams).length > 0;
|
|
198
223
|
const pageTreePosition = (sourcePageSegments ?? route.routeSegments ?? []).length;
|
|
199
224
|
const hasPageLoadingBoundary = resolveAppPageLoadingModuleAtOrAbove(route, pageTreePosition) !== null || isSiblingIntercept && resolveAppPageLoadingModuleAtOrAbove({
|
|
200
225
|
loading: null,
|
|
201
226
|
loadings: opts?.interceptLoadings,
|
|
202
227
|
loadingTreePositions: opts?.interceptLoadingTreePositions
|
|
203
228
|
}, pageTreePosition) !== null;
|
|
229
|
+
const hasEmptyClientPageSearchParams = isForceStatic || isProduction && process.env.__NEXT_CONFIG_OUTPUT === "export";
|
|
204
230
|
const pageRenderDependency = EffectivePageComponent && !isReactOwnedAppComponent(EffectivePageComponent) ? createAppPageRenderDependency() : null;
|
|
205
231
|
const createPageElement = (PageComponent, props, renderDependency) => {
|
|
232
|
+
if (searchParams && isAppClientReference(PageComponent)) {
|
|
233
|
+
const { searchParams: _slotSearchParams, ...pageProps } = props;
|
|
234
|
+
return createElement(ClientPageRoot, {
|
|
235
|
+
Component: PageComponent,
|
|
236
|
+
pageProps,
|
|
237
|
+
...hasEmptyClientPageSearchParams ? { emptySearchParams: true } : {}
|
|
238
|
+
});
|
|
239
|
+
}
|
|
206
240
|
if (isReactOwnedAppComponent(PageComponent)) {
|
|
207
241
|
const invocationProps = { ...props };
|
|
208
|
-
if (searchParams) invocationProps.searchParams = observePageSearchParamsAccess ? makeObservedAppPageSearchParamsThenable(pageSearchParams
|
|
209
|
-
return createElement(PageComponent, invocationProps);
|
|
242
|
+
if (searchParams) invocationProps.searchParams = observePageSearchParamsAccess ? makeObservedAppPageSearchParamsThenable(pageSearchParams) : makeThenableParams(pageSearchParams);
|
|
243
|
+
return createElement(PageComponent, withUseCachePageMarker(PageComponent, invocationProps));
|
|
210
244
|
}
|
|
211
245
|
const PageInvoker = () => {
|
|
212
246
|
const invocationProps = { ...props };
|
|
213
247
|
if (searchParams) invocationProps.searchParams = observePageSearchParamsAccess ? makeObservedAppPageSearchParamsThenable(pageSearchParams) : makeThenableParams(pageSearchParams);
|
|
214
248
|
try {
|
|
215
|
-
const result = invokeAppComponent(PageComponent, invocationProps);
|
|
249
|
+
const result = invokeAppComponent(PageComponent, withUseCachePageMarker(PageComponent, invocationProps));
|
|
216
250
|
if (isPromiseLike(result)) {
|
|
217
251
|
if (renderDependency) Promise.resolve().then(() => renderDependency.release());
|
|
218
252
|
return Promise.resolve(result).then((resolvedResult) => renderDependency ? renderAfterAppDependencies(resolvedResult, renderDependency.resultDependencies) : resolvedResult);
|
|
@@ -233,11 +267,12 @@ async function buildPageElements(options) {
|
|
|
233
267
|
const pageSearchParamsThenable = searchParams ? makeThenableParams(pageSearchParams) : void 0;
|
|
234
268
|
const mountedSlotIds = mountedSlotsHeader ? new Set(mountedSlotsHeader.split(" ")) : null;
|
|
235
269
|
const slotOverrides = buildSlotOverrides(route, params, routePath, opts);
|
|
236
|
-
|
|
237
|
-
|
|
270
|
+
const createSiblingInterceptElement = () => {
|
|
271
|
+
let element = isSiblingIntercept && EffectivePageComponent ? createPageElement(EffectivePageComponent, pageProps, pageRenderDependency) : null;
|
|
272
|
+
if (!isSiblingIntercept || element === null) return element;
|
|
238
273
|
const layoutIndexesByTreePosition = /* @__PURE__ */ new Map();
|
|
239
274
|
for (const [index, layoutModule] of (opts?.interceptLayouts ?? []).entries()) {
|
|
240
|
-
if (!layoutModule
|
|
275
|
+
if (!layoutModule) continue;
|
|
241
276
|
const treePosition = opts?.interceptLayoutSegments?.[index]?.length ?? 0;
|
|
242
277
|
const indexes = layoutIndexesByTreePosition.get(treePosition) ?? [];
|
|
243
278
|
indexes.push(index);
|
|
@@ -254,50 +289,58 @@ async function buildPageElements(options) {
|
|
|
254
289
|
const treePosition = treePositions[index];
|
|
255
290
|
const loadingIndex = loadingIndexesByTreePosition.get(treePosition);
|
|
256
291
|
const LoadingComponent = loadingIndex === void 0 ? null : opts?.interceptLoadings?.[loadingIndex]?.default;
|
|
257
|
-
if (LoadingComponent)
|
|
292
|
+
if (LoadingComponent) element = createElement(Suspense, { fallback: createElement(LoadingComponent) }, element);
|
|
258
293
|
const layoutIndexes = layoutIndexesByTreePosition.get(treePosition) ?? [];
|
|
259
294
|
for (let layoutOffset = layoutIndexes.length - 1; layoutOffset >= 0; layoutOffset--) {
|
|
260
295
|
const layoutIndex = layoutIndexes[layoutOffset];
|
|
261
|
-
const
|
|
262
|
-
if (!
|
|
296
|
+
const layoutModule = opts?.interceptLayouts?.[layoutIndex];
|
|
297
|
+
if (!layoutModule) continue;
|
|
263
298
|
const interceptLayoutSegments = opts?.interceptLayoutSegments?.[layoutIndex] ?? [];
|
|
264
|
-
|
|
299
|
+
const LayoutComponent = traceGetLayoutOrPageModule(resolveInterceptLayoutTraceSegment(opts?.interceptBranchSegments, interceptLayoutSegments), () => layoutModule.default);
|
|
300
|
+
if (!LayoutComponent) continue;
|
|
301
|
+
const interceptLayoutParams = resolveInterceptLayoutParams(opts?.interceptBranchSegments ?? interceptLayoutSegments, interceptLayoutSegments, effectiveParams);
|
|
302
|
+
element = createElement(LayoutComponent, { params: makeThenableParams(interceptLayoutParams) }, element);
|
|
265
303
|
}
|
|
266
304
|
}
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
305
|
+
return element;
|
|
306
|
+
};
|
|
307
|
+
return traceCreateComponentTree(() => {
|
|
308
|
+
if (effectivePageModule) traceGetLayoutOrPageModule(APP_PAGE_SEGMENT_KEY, () => effectivePageModule);
|
|
309
|
+
const siblingInterceptElement = createSiblingInterceptElement();
|
|
310
|
+
return buildAppPageElements({
|
|
311
|
+
element: isSiblingIntercept ? siblingInterceptElement : EffectivePageComponent ? createPageElement(EffectivePageComponent, pageProps, pageRenderDependency) : null,
|
|
312
|
+
createPageElement,
|
|
313
|
+
globalErrorModule: globalErrorModule ?? DEFAULT_GLOBAL_ERROR_MODULE,
|
|
314
|
+
isRscRequest,
|
|
315
|
+
interceptionId: opts?.interceptionId ?? null,
|
|
316
|
+
layoutParamAccess: options.layoutParamAccess,
|
|
317
|
+
mountedSlotIds,
|
|
318
|
+
makeThenableParams,
|
|
319
|
+
matchedParams: params,
|
|
320
|
+
pageRenderDependency,
|
|
321
|
+
metadataPlacement,
|
|
322
|
+
resolvedMetadata,
|
|
323
|
+
resolvedMetadataPathname: routePath,
|
|
324
|
+
resolvedViewport,
|
|
325
|
+
scriptNonce: options.scriptNonce,
|
|
326
|
+
streamingMetadata,
|
|
327
|
+
streamingMetadataOutlet,
|
|
328
|
+
streamingMetadataOutletSuspended: streamGeneratedHead,
|
|
329
|
+
streamingMetadataTags,
|
|
330
|
+
renderIdentity,
|
|
331
|
+
routePath,
|
|
332
|
+
semanticPageIdentity,
|
|
333
|
+
semanticInterceptionTargetRouteId: opts?.interceptTargetRouteGraphId ?? null,
|
|
334
|
+
sourcePageSegments,
|
|
335
|
+
rootNotFoundModule: rootNotFoundModule ?? null,
|
|
336
|
+
rootForbiddenModule: rootForbiddenModule ?? null,
|
|
337
|
+
rootUnauthorizedModule: rootUnauthorizedModule ?? null,
|
|
338
|
+
route,
|
|
339
|
+
searchParams: pageSearchParamsThenable,
|
|
340
|
+
slotOverrides,
|
|
341
|
+
renderMode,
|
|
342
|
+
trailingSlash: options.trailingSlash
|
|
343
|
+
});
|
|
301
344
|
});
|
|
302
345
|
}
|
|
303
346
|
/**
|
|
@@ -2,8 +2,8 @@ import { ClassificationReason } from "../build/layout-classification-types.js";
|
|
|
2
2
|
import { LayoutFlags } from "./app-elements-wire.js";
|
|
3
3
|
import "./app-elements.js";
|
|
4
4
|
//#region src/server/app-page-execution.d.ts
|
|
5
|
-
declare function tagAppPageMetadataError<T>(error: T): T;
|
|
6
|
-
type AppPageSpecialError = {
|
|
5
|
+
export declare function tagAppPageMetadataError<T>(error: T): T;
|
|
6
|
+
export type AppPageSpecialError = {
|
|
7
7
|
kind: "redirect";
|
|
8
8
|
location: string;
|
|
9
9
|
statusCode: number;
|
|
@@ -14,7 +14,7 @@ type AppPageSpecialError = {
|
|
|
14
14
|
statusCode: number;
|
|
15
15
|
fromMetadata?: boolean;
|
|
16
16
|
};
|
|
17
|
-
type AppPageFontPreload = {
|
|
17
|
+
export type AppPageFontPreload = {
|
|
18
18
|
href: string;
|
|
19
19
|
type: string;
|
|
20
20
|
};
|
|
@@ -83,7 +83,7 @@ type ProbeAppPageLayoutsResult = {
|
|
|
83
83
|
response: Response | null;
|
|
84
84
|
layoutFlags: LayoutFlags;
|
|
85
85
|
};
|
|
86
|
-
type LayoutClassificationOptions = {
|
|
86
|
+
export type LayoutClassificationOptions = {
|
|
87
87
|
/** Build-time classifications from segment config or module graph, keyed by layout index. */
|
|
88
88
|
buildTimeClassifications?: ReadonlyMap<number, "static" | "dynamic"> | null;
|
|
89
89
|
/**
|
|
@@ -133,15 +133,15 @@ type ProbeAppPageThrownErrorOptions = {
|
|
|
133
133
|
probePage: () => unknown;
|
|
134
134
|
runWithSuppressedHookWarning<T>(probe: () => Promise<T>): Promise<T>;
|
|
135
135
|
};
|
|
136
|
-
declare function resolveAppPageSpecialError(error: unknown): AppPageSpecialError | null;
|
|
137
|
-
declare function buildAppPageSpecialErrorResponse(options: BuildAppPageSpecialErrorResponseOptions): Promise<Response>;
|
|
136
|
+
export declare function resolveAppPageSpecialError(error: unknown): AppPageSpecialError | null;
|
|
137
|
+
export declare function buildAppPageSpecialErrorResponse(options: BuildAppPageSpecialErrorResponseOptions): Promise<Response>;
|
|
138
138
|
/** See `LayoutFlags` type docblock in app-elements.ts for lifecycle. */
|
|
139
|
-
declare function probeAppPageLayouts(options: ProbeAppPageLayoutsOptions): Promise<ProbeAppPageLayoutsResult>;
|
|
140
|
-
declare function probeAppPageComponent(options: ProbeAppPageComponentOptions): Promise<Response | null>;
|
|
141
|
-
declare function probeAppPageThrownError(options: ProbeAppPageThrownErrorOptions): Promise<unknown>;
|
|
142
|
-
declare function readAppPageBinaryStream(stream: ReadableStream<Uint8Array>): Promise<ArrayBuffer>;
|
|
143
|
-
declare function bufferAppPageBinaryStream(stream: ReadableStream<Uint8Array>): Promise<ReadableStream<Uint8Array>>;
|
|
144
|
-
declare function teeAppPageRscStreamForCapture(stream: ReadableStream<Uint8Array>, shouldCapture: boolean): AppPageRscStreamCapture;
|
|
145
|
-
declare function buildAppPageFontLinkHeader(preloads: readonly AppPageFontPreload[] | null | undefined): string;
|
|
139
|
+
export declare function probeAppPageLayouts(options: ProbeAppPageLayoutsOptions): Promise<ProbeAppPageLayoutsResult>;
|
|
140
|
+
export declare function probeAppPageComponent(options: ProbeAppPageComponentOptions): Promise<Response | null>;
|
|
141
|
+
export declare function probeAppPageThrownError(options: ProbeAppPageThrownErrorOptions): Promise<unknown>;
|
|
142
|
+
export declare function readAppPageBinaryStream(stream: ReadableStream<Uint8Array>): Promise<ArrayBuffer>;
|
|
143
|
+
export declare function bufferAppPageBinaryStream(stream: ReadableStream<Uint8Array>): Promise<ReadableStream<Uint8Array>>;
|
|
144
|
+
export declare function teeAppPageRscStreamForCapture(stream: ReadableStream<Uint8Array>, shouldCapture: boolean): AppPageRscStreamCapture;
|
|
145
|
+
export declare function buildAppPageFontLinkHeader(preloads: readonly AppPageFontPreload[] | null | undefined): string;
|
|
146
146
|
//#endregion
|
|
147
|
-
export {
|
|
147
|
+
export type { LayoutFlags };
|
|
@@ -199,11 +199,13 @@ async function probeAppPageLayouts(options) {
|
|
|
199
199
|
if (errorResponse) return errorResponse;
|
|
200
200
|
const observationDynamic = cls.isLayoutObservationDynamic?.(layoutId) === true;
|
|
201
201
|
layoutFlags[layoutId] = buildTimeResult === "dynamic" || observationDynamic ? "d" : "s";
|
|
202
|
-
if (cls.debugClassification)
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
202
|
+
if (cls.debugClassification) {
|
|
203
|
+
if (observationDynamic && buildTimeResult === "static") cls.debugClassification(layoutId, {
|
|
204
|
+
layer: "runtime-probe",
|
|
205
|
+
outcome: "dynamic"
|
|
206
|
+
});
|
|
207
|
+
else cls.debugClassification(layoutId, cls.buildTimeReasons?.get(layoutIndex) ?? { layer: "no-classifier" });
|
|
208
|
+
}
|
|
207
209
|
continue;
|
|
208
210
|
}
|
|
209
211
|
if (cls) {
|
|
@@ -257,8 +259,10 @@ async function probeAppPageComponent(options) {
|
|
|
257
259
|
const outcome = await runWithConnectionProbe(async () => {
|
|
258
260
|
try {
|
|
259
261
|
const pageResult = options.probePage();
|
|
260
|
-
if (isPromiseLike(pageResult))
|
|
261
|
-
|
|
262
|
+
if (isPromiseLike(pageResult)) {
|
|
263
|
+
if (options.awaitAsyncResult) await pageResult;
|
|
264
|
+
else Promise.resolve(pageResult).catch(() => {});
|
|
265
|
+
}
|
|
262
266
|
} catch (error) {
|
|
263
267
|
return options.onError(error);
|
|
264
268
|
}
|
|
@@ -4,30 +4,34 @@ import { ThenableParamsObserver } from "../shims/thenable-params.js";
|
|
|
4
4
|
import { Metadata, ResolvedViewport } from "../shims/metadata.js";
|
|
5
5
|
import { applyFileBasedMetadata } from "./file-based-metadata.js";
|
|
6
6
|
//#region src/server/app-page-head.d.ts
|
|
7
|
-
type AppPageSearchParams = Record<string, string | string[]>;
|
|
8
|
-
type AppPageHeadModule = Record<string, unknown>;
|
|
9
|
-
type ApplyAppPageFileBasedMetadata = typeof applyFileBasedMetadata;
|
|
10
|
-
type OrderedAppPageMetadataSource<TModule extends AppPageHeadModule = AppPageHeadModule> = {
|
|
7
|
+
export type AppPageSearchParams = Record<string, string | string[]>;
|
|
8
|
+
export type AppPageHeadModule = Record<string, unknown>;
|
|
9
|
+
export type ApplyAppPageFileBasedMetadata = typeof applyFileBasedMetadata;
|
|
10
|
+
export type OrderedAppPageMetadataSource<TModule extends AppPageHeadModule = AppPageHeadModule> = {
|
|
11
11
|
/** Preserve an empty result as the most specific file-metadata source. */
|
|
12
12
|
includeWhenEmpty?: boolean;
|
|
13
13
|
module: TModule;
|
|
14
|
+
moduleRoute: string;
|
|
14
15
|
params: AppPageParams;
|
|
15
16
|
routeSegments: readonly string[];
|
|
16
17
|
searchParams?: AppPageSearchParams;
|
|
17
18
|
searchParamsObserver?: ThenableParamsObserver;
|
|
18
19
|
};
|
|
19
|
-
type AppPageHeadParallelRoute<TModule extends AppPageHeadModule = AppPageHeadModule> = {
|
|
20
|
+
export type AppPageHeadParallelRoute<TModule extends AppPageHeadModule = AppPageHeadModule> = {
|
|
20
21
|
layoutParams?: readonly AppPageParams[] | null;
|
|
21
22
|
layoutModule?: TModule | null;
|
|
22
23
|
layoutModules?: readonly (TModule | null | undefined)[] | null;
|
|
23
24
|
layoutTreePositions?: readonly number[] | null;
|
|
25
|
+
moduleRoutePrefixSegments?: readonly string[] | null;
|
|
26
|
+
moduleRouteSegments?: readonly string[] | null;
|
|
24
27
|
pageModule?: TModule | null;
|
|
25
28
|
params?: AppPageParams | null;
|
|
26
29
|
routeSegments?: readonly string[] | null;
|
|
27
30
|
};
|
|
28
|
-
type ActiveParallelRouteHeadInput<TModule extends AppPageHeadModule = AppPageHeadModule> = {
|
|
31
|
+
export type ActiveParallelRouteHeadInput<TModule extends AppPageHeadModule = AppPageHeadModule> = {
|
|
29
32
|
head: AppPageHeadParallelRoute<TModule>;
|
|
30
33
|
notFoundModule?: TModule | null;
|
|
34
|
+
notFoundModuleRouteSegments?: readonly string[] | null;
|
|
31
35
|
notFoundParams?: AppPageParams | null;
|
|
32
36
|
ownerTreePosition: number;
|
|
33
37
|
};
|
|
@@ -88,17 +92,17 @@ type AppPageMetadataOutputOptions = {
|
|
|
88
92
|
routePath: string;
|
|
89
93
|
routeSegments?: readonly string[] | null;
|
|
90
94
|
};
|
|
91
|
-
type ResolveOrderedAppPageMetadataOptions<TModule extends AppPageHeadModule = AppPageHeadModule> = AppPageMetadataOutputOptions & {
|
|
95
|
+
export type ResolveOrderedAppPageMetadataOptions<TModule extends AppPageHeadModule = AppPageHeadModule> = AppPageMetadataOutputOptions & {
|
|
92
96
|
sources: readonly OrderedAppPageMetadataSource<TModule>[];
|
|
93
97
|
};
|
|
94
|
-
type ResolveAppPageHeadResult = {
|
|
98
|
+
export type ResolveAppPageHeadResult = {
|
|
95
99
|
hasDynamicMetadata: boolean;
|
|
96
100
|
hasSearchParams: boolean;
|
|
97
101
|
metadata: Metadata | null;
|
|
98
102
|
pageSearchParams: AppPageSearchParams;
|
|
99
103
|
viewport: ResolvedViewport;
|
|
100
104
|
};
|
|
101
|
-
type PreparedAppPageHead = Omit<ResolveAppPageHeadResult, "metadata" | "viewport"> & {
|
|
105
|
+
export type PreparedAppPageHead = Omit<ResolveAppPageHeadResult, "metadata" | "viewport"> & {
|
|
102
106
|
metadata: Promise<Metadata | null>;
|
|
103
107
|
viewport: Promise<ResolvedViewport>;
|
|
104
108
|
};
|
|
@@ -106,8 +110,8 @@ type AppPageSearchParamsCollection = {
|
|
|
106
110
|
hasSearchParams: boolean;
|
|
107
111
|
pageSearchParams: AppPageSearchParams;
|
|
108
112
|
};
|
|
109
|
-
declare function resolveActiveParallelRouteHeadInputs<TModule extends AppPageHeadModule>(options: ResolveActiveParallelRouteHeadInputsOptions<TModule>): ActiveParallelRouteHeadInput<TModule>[];
|
|
110
|
-
declare function collectAppPageSearchParams(searchParams: URLSearchParams | null | undefined): AppPageSearchParamsCollection;
|
|
113
|
+
export declare function resolveActiveParallelRouteHeadInputs<TModule extends AppPageHeadModule>(options: ResolveActiveParallelRouteHeadInputsOptions<TModule>): ActiveParallelRouteHeadInput<TModule>[];
|
|
114
|
+
export declare function collectAppPageSearchParams(searchParams: URLSearchParams | null | undefined): AppPageSearchParamsCollection;
|
|
111
115
|
/**
|
|
112
116
|
* Resolve an explicit metadata-source sequence.
|
|
113
117
|
*
|
|
@@ -115,8 +119,8 @@ declare function collectAppPageSearchParams(searchParams: URLSearchParams | null
|
|
|
115
119
|
* only supplies each source with its accumulated parent, merges the results,
|
|
116
120
|
* and applies file-based metadata at the end.
|
|
117
121
|
*/
|
|
118
|
-
declare function resolveOrderedAppPageMetadata<TModule extends AppPageHeadModule>(options: ResolveOrderedAppPageMetadataOptions<TModule>): Promise<Metadata | null>;
|
|
119
|
-
declare function resolveAppPageHead<TModule extends AppPageHeadModule>(options: ResolveAppPageHeadOptions<TModule>): Promise<ResolveAppPageHeadResult>;
|
|
122
|
+
export declare function resolveOrderedAppPageMetadata<TModule extends AppPageHeadModule>(options: ResolveOrderedAppPageMetadataOptions<TModule>): Promise<Metadata | null>;
|
|
123
|
+
export declare function resolveAppPageHead<TModule extends AppPageHeadModule>(options: ResolveAppPageHeadOptions<TModule>): Promise<ResolveAppPageHeadResult>;
|
|
120
124
|
/**
|
|
121
125
|
* Start metadata and viewport resolution without coupling their completion.
|
|
122
126
|
*
|
|
@@ -124,6 +128,5 @@ declare function resolveAppPageHead<TModule extends AppPageHeadModule>(options:
|
|
|
124
128
|
* still waiting for viewport tags before the shell is emitted. Blocking
|
|
125
129
|
* callers use {@link resolveAppPageHead} and observe the same result as before.
|
|
126
130
|
*/
|
|
127
|
-
declare function prepareAppPageHead<TModule extends AppPageHeadModule>(options: ResolveAppPageHeadOptions<TModule>): PreparedAppPageHead;
|
|
128
|
-
//#endregion
|
|
129
|
-
export { ActiveParallelRouteHeadInput, AppPageHeadModule, AppPageHeadParallelRoute, AppPageSearchParams, ApplyAppPageFileBasedMetadata, OrderedAppPageMetadataSource, PreparedAppPageHead, ResolveAppPageHeadResult, ResolveOrderedAppPageMetadataOptions, collectAppPageSearchParams, prepareAppPageHead, resolveActiveParallelRouteHeadInputs, resolveAppPageHead, resolveOrderedAppPageMetadata };
|
|
131
|
+
export declare function prepareAppPageHead<TModule extends AppPageHeadModule>(options: ResolveAppPageHeadOptions<TModule>): PreparedAppPageHead;
|
|
132
|
+
//#endregion
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { runWithFetchDedupe } from "../shims/fetch-cache.js";
|
|
2
|
+
import { searchParamsToRecord } from "../utils/query.js";
|
|
2
3
|
import { mergeMetadataEntries, mergeViewport, postProcessMetadata, resolveModuleMetadata as resolveModuleMetadata$1, resolveModuleViewport } from "../shims/metadata.js";
|
|
3
4
|
import { resolveAppPageBranchParams, resolveAppPageSegmentParams } from "./app-page-params.js";
|
|
4
5
|
import { tagAppPageMetadataError } from "./app-page-execution.js";
|
|
6
|
+
import { createAppMetadataModuleRoute, traceGenerateMetadata } from "./app-metadata-tracing.js";
|
|
5
7
|
//#region src/server/app-page-head.ts
|
|
6
8
|
/**
|
|
7
9
|
* Wrapped {@link _resolveModuleMetadata} that tags any thrown error with the
|
|
@@ -15,9 +17,9 @@ import { tagAppPageMetadataError } from "./app-page-execution.js";
|
|
|
15
17
|
* See https://github.com/cloudflare/vinext/issues/1347
|
|
16
18
|
* and Next.js test/e2e/app-dir/metadata-streaming.
|
|
17
19
|
*/
|
|
18
|
-
async function resolveModuleMetadata(...args) {
|
|
20
|
+
async function resolveModuleMetadata(moduleRoute, ...args) {
|
|
19
21
|
try {
|
|
20
|
-
return await resolveModuleMetadata$1(...args);
|
|
22
|
+
return await (typeof args[0].generateMetadata === "function" ? traceGenerateMetadata(moduleRoute, () => resolveModuleMetadata$1(...args)) : resolveModuleMetadata$1(...args));
|
|
21
23
|
} catch (error) {
|
|
22
24
|
throw tagAppPageMetadataError(error);
|
|
23
25
|
}
|
|
@@ -25,6 +27,7 @@ async function resolveModuleMetadata(...args) {
|
|
|
25
27
|
function resolveActiveParallelRouteHeadInputs(options) {
|
|
26
28
|
return Object.entries(options.slots ?? {}).map(([slotKey, slot]) => {
|
|
27
29
|
const ownerTreePosition = options.layoutTreePositions?.[slot.layoutIndex ?? 0] ?? 0;
|
|
30
|
+
const ownerRouteSegments = options.routeSegments.slice(0, ownerTreePosition);
|
|
28
31
|
const ownerParams = resolveAppPageSegmentParams(options.routeSegments, ownerTreePosition, options.params);
|
|
29
32
|
const slotParams = options.slotParams?.[slotKey] ?? options.params;
|
|
30
33
|
const notFoundParams = slot.notFound ? {
|
|
@@ -35,6 +38,8 @@ function resolveActiveParallelRouteHeadInputs(options) {
|
|
|
35
38
|
const interceptLayouts = options.interceptLayouts ?? [];
|
|
36
39
|
const inheritedSlotNotFound = slot.notFoundTreePosition === 0 ? slot.notFound ?? null : null;
|
|
37
40
|
const interceptNotFound = options.interceptNotFound ?? inheritedSlotNotFound;
|
|
41
|
+
const interceptRouteSegments = options.interceptSourcePageSegments ?? options.routeSegments;
|
|
42
|
+
const interceptNotFoundRouteSegments = options.interceptNotFound ? (options.interceptNotFoundBranchSegments ?? interceptRouteSegments).slice(0, options.interceptNotFoundTreePosition ?? 0) : [...ownerRouteSegments, ...(slot.routeSegments ?? []).slice(0, slot.notFoundTreePosition ?? 0)];
|
|
38
43
|
const interceptNotFoundParams = interceptNotFound ? {
|
|
39
44
|
...ownerParams,
|
|
40
45
|
...resolveParallelLayoutParams(options.interceptNotFoundBranchSegments ?? options.interceptBranchSegments ?? options.routeSegments, options.interceptNotFound ? options.interceptNotFoundTreePosition ?? 0 : slot.notFoundTreePosition ?? 0, options.interceptParams ?? options.params)
|
|
@@ -52,15 +57,18 @@ function resolveActiveParallelRouteHeadInputs(options) {
|
|
|
52
57
|
layoutTreePositions: [...slot.layout ? [0] : [], ...interceptLayouts.filter(isPresent).map(() => options.routeSegments.length)],
|
|
53
58
|
pageModule: options.interceptPage,
|
|
54
59
|
params: options.interceptParams ?? options.params,
|
|
55
|
-
routeSegments:
|
|
60
|
+
routeSegments: interceptRouteSegments
|
|
56
61
|
},
|
|
57
62
|
...interceptNotFound ? {
|
|
58
63
|
notFoundModule: interceptNotFound,
|
|
64
|
+
notFoundModuleRouteSegments: interceptNotFoundRouteSegments,
|
|
59
65
|
notFoundParams: interceptNotFoundParams
|
|
60
66
|
} : {},
|
|
61
67
|
ownerTreePosition
|
|
62
68
|
};
|
|
63
69
|
}
|
|
70
|
+
const slotRouteSegments = slot.routeSegments ?? options.routeSegments;
|
|
71
|
+
const moduleRouteSegments = slot.routeSegments ?? [];
|
|
64
72
|
return {
|
|
65
73
|
head: {
|
|
66
74
|
layoutModules: [slot.layout, ...slot.configLayouts ?? []].filter(isPresent),
|
|
@@ -71,10 +79,13 @@ function resolveActiveParallelRouteHeadInputs(options) {
|
|
|
71
79
|
layoutTreePositions: [...slot.layout ? [0] : [], ...slot.configLayoutTreePositions ?? []],
|
|
72
80
|
pageModule: slot.page,
|
|
73
81
|
params: slotParams,
|
|
74
|
-
|
|
82
|
+
...ownerRouteSegments.length > 0 ? { moduleRoutePrefixSegments: ownerRouteSegments } : {},
|
|
83
|
+
...slot.routeSegments ? {} : { moduleRouteSegments },
|
|
84
|
+
routeSegments: slotRouteSegments
|
|
75
85
|
},
|
|
76
86
|
...slot.notFound ? {
|
|
77
87
|
notFoundModule: slot.notFound,
|
|
88
|
+
notFoundModuleRouteSegments: [...ownerRouteSegments, ...moduleRouteSegments.slice(0, slot.notFoundTreePosition ?? 0)],
|
|
78
89
|
notFoundParams
|
|
79
90
|
} : {},
|
|
80
91
|
ownerTreePosition
|
|
@@ -91,23 +102,9 @@ function hasGenerateMetadata(module) {
|
|
|
91
102
|
return typeof module?.generateMetadata === "function";
|
|
92
103
|
}
|
|
93
104
|
function collectAppPageSearchParams(searchParams) {
|
|
94
|
-
const pageSearchParams =
|
|
95
|
-
let hasSearchParams = false;
|
|
96
|
-
searchParams?.forEach((value, key) => {
|
|
97
|
-
hasSearchParams = true;
|
|
98
|
-
const currentValue = pageSearchParams[key];
|
|
99
|
-
if (Array.isArray(currentValue)) {
|
|
100
|
-
pageSearchParams[key] = [...currentValue, value];
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
if (currentValue !== void 0) {
|
|
104
|
-
pageSearchParams[key] = [currentValue, value];
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
pageSearchParams[key] = value;
|
|
108
|
-
});
|
|
105
|
+
const pageSearchParams = searchParamsToRecord(searchParams);
|
|
109
106
|
return {
|
|
110
|
-
hasSearchParams,
|
|
107
|
+
hasSearchParams: Object.keys(pageSearchParams).length > 0,
|
|
111
108
|
pageSearchParams
|
|
112
109
|
};
|
|
113
110
|
}
|
|
@@ -154,7 +151,7 @@ async function resolveLayoutMetadata(layoutInputs, params, routeSegments) {
|
|
|
154
151
|
for (const layoutInput of layoutInputs) {
|
|
155
152
|
const parentForLayout = accumulatedMetadata;
|
|
156
153
|
const layoutParams = resolveAppPageSegmentParams(routeSegments, layoutInput.treePosition, params);
|
|
157
|
-
const metadataPromise = resolveModuleMetadata(layoutInput.module, layoutParams, void 0, parentForLayout);
|
|
154
|
+
const metadataPromise = resolveModuleMetadata(createAppMetadataModuleRoute(routeSegments.slice(0, layoutInput.treePosition), "layout"), layoutInput.module, layoutParams, void 0, parentForLayout);
|
|
158
155
|
layoutMetadataPromises.push(metadataPromise);
|
|
159
156
|
metadataPromise.catch(() => null);
|
|
160
157
|
accumulatedMetadata = metadataPromise.then(async (metadataResult) => {
|
|
@@ -194,6 +191,8 @@ function parallelRouteHasDynamicMetadata(parallelRoute) {
|
|
|
194
191
|
async function resolveParallelRouteMetadata(parallelRoute, fallbackParams, fallbackRouteSegments, pageSearchParams, parent, searchParamsObserver) {
|
|
195
192
|
const params = parallelRoute.params ?? fallbackParams;
|
|
196
193
|
const routeSegments = parallelRoute.routeSegments ?? fallbackRouteSegments;
|
|
194
|
+
const moduleRoutePrefixSegments = parallelRoute.moduleRoutePrefixSegments ?? [];
|
|
195
|
+
const moduleRouteSegments = parallelRoute.moduleRouteSegments ?? routeSegments;
|
|
197
196
|
const metadataResults = [];
|
|
198
197
|
const metadataSources = [];
|
|
199
198
|
let accumulatedMetadata = parent;
|
|
@@ -201,7 +200,8 @@ async function resolveParallelRouteMetadata(parallelRoute, fallbackParams, fallb
|
|
|
201
200
|
const layoutTreePositions = parallelRoute.layoutTreePositions ?? [];
|
|
202
201
|
const layoutParams = parallelRoute.layoutParams ?? [];
|
|
203
202
|
for (const [index, layoutModule] of layoutModules.entries()) {
|
|
204
|
-
const
|
|
203
|
+
const currentLayoutParams = layoutParams[index] ?? resolveParallelLayoutParams(routeSegments, layoutTreePositions[index] ?? 0, params);
|
|
204
|
+
const layoutMetadata = await resolveModuleMetadata(createAppMetadataModuleRoute([...moduleRoutePrefixSegments, ...moduleRouteSegments.slice(0, layoutTreePositions[index] ?? 0)], "layout"), layoutModule, currentLayoutParams, void 0, accumulatedMetadata);
|
|
205
205
|
metadataResults.push(layoutMetadata);
|
|
206
206
|
metadataSources.push({
|
|
207
207
|
metadata: layoutMetadata,
|
|
@@ -213,7 +213,7 @@ async function resolveParallelRouteMetadata(parallelRoute, fallbackParams, fallb
|
|
|
213
213
|
}
|
|
214
214
|
}
|
|
215
215
|
if (parallelRoute.pageModule) {
|
|
216
|
-
const pageMetadata = await resolveModuleMetadata(parallelRoute.pageModule, params, pageSearchParams, accumulatedMetadata, searchParamsObserver);
|
|
216
|
+
const pageMetadata = await resolveModuleMetadata(createAppMetadataModuleRoute([...moduleRoutePrefixSegments, ...moduleRouteSegments], "page"), parallelRoute.pageModule, params, pageSearchParams, accumulatedMetadata, searchParamsObserver);
|
|
217
217
|
metadataResults.push(pageMetadata);
|
|
218
218
|
metadataSources.push({
|
|
219
219
|
metadata: pageMetadata,
|
|
@@ -267,7 +267,7 @@ function resolveOrderedAppPageMetadata(options) {
|
|
|
267
267
|
let accumulatedEntriesPromise = Promise.resolve([]);
|
|
268
268
|
for (const source of options.sources) {
|
|
269
269
|
const parentPromise = accumulatedEntriesPromise.then((entries) => entries.length > 0 ? mergeMetadataEntries(entries) : {});
|
|
270
|
-
const metadataPromise = resolveModuleMetadata(source.module, source.params, source.searchParams, parentPromise, source.searchParamsObserver);
|
|
270
|
+
const metadataPromise = resolveModuleMetadata(source.moduleRoute, source.module, source.params, source.searchParams, parentPromise, source.searchParamsObserver);
|
|
271
271
|
metadataPromises.push(metadataPromise);
|
|
272
272
|
metadataPromise.catch(() => null);
|
|
273
273
|
accumulatedEntriesPromise = Promise.all([accumulatedEntriesPromise, metadataPromise]).then(([entries, metadata]) => metadata ? [...entries, { metadata }] : entries);
|
|
@@ -317,7 +317,7 @@ function prepareAppPageHeadInner(options) {
|
|
|
317
317
|
layoutMetadataResultsForParent.catch(() => null);
|
|
318
318
|
const pageParentPromise = layoutMetadataResultsForParent.then((metadataResults) => metadataResults.length > 0 ? mergeMetadataEntries(metadataResults.map((metadata) => ({ metadata }))) : {});
|
|
319
319
|
pageParentPromise.catch(() => null);
|
|
320
|
-
const pageMetadataPromise = options.pageModule ? resolveModuleMetadata(options.pageModule, options.params, pageSearchParams, pageParentPromise, options.searchParamsObserver) : Promise.resolve(null);
|
|
320
|
+
const pageMetadataPromise = options.pageModule ? resolveModuleMetadata(createAppMetadataModuleRoute(routeSegments, "page"), options.pageModule, options.params, pageSearchParams, pageParentPromise, options.searchParamsObserver) : Promise.resolve(null);
|
|
321
321
|
const parallelRoutes = options.parallelRoutes ?? [];
|
|
322
322
|
const parallelRouteMetadataPromise = Promise.all(parallelRoutes.map((parallelRoute) => resolveParallelRouteMetadata(parallelRoute, options.params, routeSegments, pageSearchParams, pageParentPromise, options.searchParamsObserver)));
|
|
323
323
|
const parallelRouteViewportPromises = [];
|
|
@@ -6,8 +6,10 @@ import { ActiveParallelRouteHeadInput, AppPageHeadModule, ApplyAppPageFileBasedM
|
|
|
6
6
|
type HttpAccessFallbackMetadataPlanOptions<TModule extends AppPageHeadModule = AppPageHeadModule> = {
|
|
7
7
|
boundaryModule?: TModule | null;
|
|
8
8
|
boundaryParams: AppPageParams;
|
|
9
|
+
boundaryRouteSegments?: readonly string[] | null;
|
|
9
10
|
/** Whether active branches may replace the fallback with their local not-found convention. */
|
|
10
11
|
branchNotFoundConventions?: boolean;
|
|
12
|
+
errorConvention: "forbidden" | "not-found" | "unauthorized";
|
|
11
13
|
layoutModules: readonly (TModule | null | undefined)[];
|
|
12
14
|
layoutTreePositions?: readonly number[] | null;
|
|
13
15
|
parallelBranches?: readonly ActiveParallelRouteHeadInput<TModule>[] | null;
|
|
@@ -22,8 +24,7 @@ type ResolveHttpAccessFallbackMetadataOptions<TModule extends AppPageHeadModule
|
|
|
22
24
|
metadataRoutes: readonly MetadataFileRoute[];
|
|
23
25
|
routePath: string;
|
|
24
26
|
};
|
|
25
|
-
declare function createHttpAccessFallbackMetadataPlan<TModule extends AppPageHeadModule>(options: HttpAccessFallbackMetadataPlanOptions<TModule>): OrderedAppPageMetadataSource<TModule>[];
|
|
26
|
-
declare function resolveHttpAccessFallbackMetadata<TModule extends AppPageHeadModule>(options: ResolveHttpAccessFallbackMetadataOptions<TModule>): Promise<Metadata | null>;
|
|
27
|
-
declare function resolveHttpAccessFallbackViewport<TModule extends AppPageHeadModule>(options: HttpAccessFallbackMetadataPlanOptions<TModule>): Promise<ResolvedViewport>;
|
|
28
|
-
//#endregion
|
|
29
|
-
export { createHttpAccessFallbackMetadataPlan, resolveHttpAccessFallbackMetadata, resolveHttpAccessFallbackViewport };
|
|
27
|
+
export declare function createHttpAccessFallbackMetadataPlan<TModule extends AppPageHeadModule>(options: HttpAccessFallbackMetadataPlanOptions<TModule>): OrderedAppPageMetadataSource<TModule>[];
|
|
28
|
+
export declare function resolveHttpAccessFallbackMetadata<TModule extends AppPageHeadModule>(options: ResolveHttpAccessFallbackMetadataOptions<TModule>): Promise<Metadata | null>;
|
|
29
|
+
export declare function resolveHttpAccessFallbackViewport<TModule extends AppPageHeadModule>(options: HttpAccessFallbackMetadataPlanOptions<TModule>): Promise<ResolvedViewport>;
|
|
30
|
+
//#endregion
|