vinext 0.0.55 → 0.1.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 +51 -15
- package/dist/build/clean-output.d.ts +1 -2
- package/dist/build/clean-output.js +0 -2
- package/dist/build/client-build-config.d.ts +16 -3
- package/dist/build/client-build-config.js +29 -4
- package/dist/build/css-url-assets.d.ts +29 -0
- package/dist/build/css-url-assets.js +211 -0
- package/dist/build/google-fonts/build-url.d.ts +1 -2
- package/dist/build/google-fonts/build-url.js +0 -2
- package/dist/build/google-fonts/fallback-metrics-data.js +0 -2
- package/dist/build/google-fonts/fallback-metrics.d.ts +1 -2
- package/dist/build/google-fonts/fallback-metrics.js +0 -2
- package/dist/build/google-fonts/font-data.js +0 -2
- package/dist/build/google-fonts/font-metadata.d.ts +1 -2
- package/dist/build/google-fonts/font-metadata.js +0 -2
- package/dist/build/google-fonts/get-axes.d.ts +1 -2
- package/dist/build/google-fonts/get-axes.js +0 -2
- package/dist/build/google-fonts/sort-variants.d.ts +1 -2
- package/dist/build/google-fonts/sort-variants.js +0 -2
- package/dist/build/google-fonts/validate.d.ts +1 -2
- package/dist/build/google-fonts/validate.js +0 -2
- package/dist/build/inline-css.d.ts +1 -2
- package/dist/build/inline-css.js +0 -2
- package/dist/build/layout-classification-types.d.ts +1 -2
- package/dist/build/layout-classification.d.ts +2 -3
- package/dist/build/layout-classification.js +1 -3
- package/dist/build/next-client-runtime-manifests.d.ts +14 -0
- package/dist/build/next-client-runtime-manifests.js +39 -0
- package/dist/build/nitro-route-rules.d.ts +1 -2
- package/dist/build/nitro-route-rules.js +0 -2
- package/dist/build/precompress.d.ts +1 -2
- package/dist/build/precompress.js +0 -2
- package/dist/build/prerender.d.ts +2 -3
- package/dist/build/prerender.js +14 -2
- package/dist/build/report.d.ts +1 -2
- package/dist/build/report.js +0 -2
- package/dist/build/route-classification-injector.d.ts +1 -2
- package/dist/build/route-classification-injector.js +4 -6
- package/dist/build/route-classification-manifest.d.ts +5 -6
- package/dist/build/route-classification-manifest.js +5 -7
- package/dist/build/run-prerender.d.ts +1 -2
- package/dist/build/run-prerender.js +15 -7
- package/dist/build/server-manifest.d.ts +1 -2
- package/dist/build/server-manifest.js +0 -2
- package/dist/build/ssr-manifest.d.ts +1 -2
- package/dist/build/ssr-manifest.js +2 -4
- package/dist/build/standalone.d.ts +1 -2
- package/dist/build/standalone.js +0 -2
- package/dist/build/static-export.d.ts +2 -3
- package/dist/build/static-export.js +0 -2
- package/dist/cache/cache-adapters-virtual.d.ts +50 -0
- package/dist/cache/cache-adapters-virtual.js +45 -0
- package/dist/check.d.ts +33 -2
- package/dist/check.js +306 -24
- package/dist/cli-args.d.ts +1 -2
- package/dist/cli-args.js +0 -2
- package/dist/cli.js +7 -13
- package/dist/client/instrumentation-client-inject.d.ts +1 -2
- package/dist/client/instrumentation-client-inject.js +0 -2
- package/dist/client/instrumentation-client-state.d.ts +1 -2
- package/dist/client/instrumentation-client-state.js +0 -2
- package/dist/client/instrumentation-client.d.ts +1 -2
- package/dist/client/instrumentation-client.js +0 -2
- package/dist/client/navigation-runtime.d.ts +1 -2
- package/dist/client/navigation-runtime.js +0 -2
- package/dist/client/pages-router-link-navigation.d.ts +1 -2
- package/dist/client/pages-router-link-navigation.js +0 -2
- package/dist/client/validate-module-path.d.ts +1 -2
- package/dist/client/validate-module-path.js +0 -2
- package/dist/client/vinext-next-data.d.ts +1 -2
- package/dist/client/vinext-next-data.js +0 -2
- package/dist/client/window-next.d.ts +1 -2
- package/dist/client/window-next.js +0 -2
- package/dist/cloudflare/index.d.ts +1 -1
- package/dist/cloudflare/index.js +1 -1
- package/dist/cloudflare/src/cache/cdn-adapter.runtime.js +97 -0
- package/dist/cloudflare/{kv-cache-handler.d.ts → src/cache/kv-data-adapter.runtime.d.ts} +25 -6
- package/dist/cloudflare/{kv-cache-handler.js → src/cache/kv-data-adapter.runtime.js} +36 -28
- package/dist/cloudflare/src/utils/cache-control-metadata.js +20 -0
- package/dist/cloudflare/tpr.d.ts +2 -3
- package/dist/cloudflare/tpr.js +8 -8
- package/dist/config/config-matchers.d.ts +1 -2
- package/dist/config/config-matchers.js +0 -2
- package/dist/config/dotenv.d.ts +1 -2
- package/dist/config/dotenv.js +0 -2
- package/dist/config/next-config.d.ts +16 -2
- package/dist/config/next-config.js +23 -4
- package/dist/config/tsconfig-paths.d.ts +1 -2
- package/dist/config/tsconfig-paths.js +3 -7
- package/dist/deploy.d.ts +48 -3
- package/dist/deploy.js +141 -112
- package/dist/entries/app-browser-entry.d.ts +1 -2
- package/dist/entries/app-browser-entry.js +0 -2
- package/dist/entries/app-rsc-entry.d.ts +4 -4
- package/dist/entries/app-rsc-entry.js +50 -61
- package/dist/entries/app-rsc-manifest.d.ts +1 -2
- package/dist/entries/app-rsc-manifest.js +20 -7
- package/dist/entries/app-ssr-entry.d.ts +1 -2
- package/dist/entries/app-ssr-entry.js +0 -2
- package/dist/entries/pages-client-entry.d.ts +3 -3
- package/dist/entries/pages-client-entry.js +16 -5
- package/dist/entries/pages-entry-helpers.d.ts +2 -11
- package/dist/entries/pages-entry-helpers.js +1 -20
- package/dist/entries/pages-server-entry.d.ts +2 -3
- package/dist/entries/pages-server-entry.js +89 -702
- package/dist/entries/runtime-entry-module.d.ts +1 -2
- package/dist/entries/runtime-entry-module.js +0 -2
- package/dist/index.d.ts +22 -2
- package/dist/index.js +216 -101
- package/dist/init.d.ts +1 -2
- package/dist/init.js +1 -3
- package/dist/plugins/ast-utils.d.ts +20 -0
- package/dist/plugins/ast-utils.js +78 -0
- package/dist/plugins/async-hooks-stub.d.ts +1 -2
- package/dist/plugins/async-hooks-stub.js +0 -2
- package/dist/plugins/client-reference-dedup.d.ts +1 -2
- package/dist/plugins/client-reference-dedup.js +4 -8
- package/dist/plugins/css-data-url.d.ts +1 -2
- package/dist/plugins/css-data-url.js +0 -2
- package/dist/plugins/fonts.d.ts +13 -3
- package/dist/plugins/fonts.js +19 -13
- package/dist/plugins/import-meta-url.d.ts +2 -2
- package/dist/plugins/import-meta-url.js +187 -33
- package/dist/plugins/instrumentation-client.d.ts +1 -2
- package/dist/plugins/instrumentation-client.js +0 -2
- package/dist/plugins/middleware-server-only.d.ts +1 -2
- package/dist/plugins/middleware-server-only.js +0 -2
- package/dist/plugins/og-assets.d.ts +32 -8
- package/dist/plugins/og-assets.js +126 -34
- package/dist/plugins/optimize-imports.d.ts +1 -2
- package/dist/plugins/optimize-imports.js +9 -17
- package/dist/plugins/postcss.d.ts +1 -2
- package/dist/plugins/postcss.js +0 -2
- package/dist/plugins/remove-console.d.ts +1 -2
- package/dist/plugins/remove-console.js +0 -2
- package/dist/plugins/rsc-client-reference-loaders.d.ts +1 -2
- package/dist/plugins/rsc-client-reference-loaders.js +0 -2
- package/dist/plugins/rsc-client-shim-excludes.d.ts +1 -2
- package/dist/plugins/rsc-client-shim-excludes.js +0 -2
- package/dist/plugins/sass.d.ts +1 -2
- package/dist/plugins/sass.js +0 -2
- package/dist/plugins/server-externals-manifest.d.ts +1 -2
- package/dist/plugins/server-externals-manifest.js +0 -2
- package/dist/plugins/strip-server-exports.d.ts +1 -2
- package/dist/plugins/strip-server-exports.js +0 -2
- package/dist/routing/app-route-graph.d.ts +2 -9
- package/dist/routing/app-route-graph.js +9 -30
- package/dist/routing/app-router.d.ts +1 -2
- package/dist/routing/app-router.js +0 -2
- package/dist/routing/file-matcher.d.ts +6 -2
- package/dist/routing/file-matcher.js +15 -7
- package/dist/routing/pages-router.d.ts +1 -2
- package/dist/routing/pages-router.js +0 -2
- package/dist/routing/route-matching.d.ts +1 -2
- package/dist/routing/route-matching.js +0 -2
- package/dist/routing/route-pattern.d.ts +1 -2
- package/dist/routing/route-pattern.js +0 -2
- package/dist/routing/route-trie.d.ts +1 -2
- package/dist/routing/route-trie.js +0 -2
- package/dist/routing/route-validation.d.ts +1 -2
- package/dist/routing/route-validation.js +0 -2
- package/dist/routing/utils.d.ts +44 -2
- package/dist/routing/utils.js +62 -3
- package/dist/server/api-handler.d.ts +1 -2
- package/dist/server/api-handler.js +0 -2
- package/dist/server/app-bfcache-id.d.ts +5 -0
- package/dist/server/app-bfcache-id.js +5 -0
- package/dist/server/app-browser-action-result.d.ts +1 -2
- package/dist/server/app-browser-action-result.js +0 -2
- package/dist/server/app-browser-client-reuse-manifest.d.ts +12 -0
- package/dist/server/app-browser-client-reuse-manifest.js +101 -0
- package/dist/server/app-browser-entry.js +186 -75
- package/dist/server/app-browser-error.d.ts +1 -2
- package/dist/server/app-browser-error.js +0 -2
- package/dist/server/app-browser-hydration.d.ts +1 -2
- package/dist/server/app-browser-hydration.js +0 -2
- package/dist/server/app-browser-interception-context.d.ts +1 -2
- package/dist/server/app-browser-interception-context.js +0 -2
- package/dist/server/app-browser-mpa-navigation.d.ts +2 -2
- package/dist/server/app-browser-mpa-navigation.js +9 -3
- package/dist/server/app-browser-navigation-controller.d.ts +5 -4
- package/dist/server/app-browser-navigation-controller.js +3 -3
- package/dist/server/app-browser-popstate.d.ts +1 -2
- package/dist/server/app-browser-popstate.js +0 -2
- package/dist/server/app-browser-rsc-redirect.d.ts +1 -2
- package/dist/server/app-browser-rsc-redirect.js +0 -2
- package/dist/server/app-browser-state.d.ts +28 -4
- package/dist/server/app-browser-state.js +193 -10
- package/dist/server/app-browser-stream.d.ts +1 -2
- package/dist/server/app-browser-stream.js +0 -2
- package/dist/server/app-browser-visible-commit.d.ts +2 -3
- package/dist/server/app-browser-visible-commit.js +24 -17
- package/dist/server/app-client-reference-preloader.d.ts +1 -2
- package/dist/server/app-client-reference-preloader.js +0 -2
- package/dist/server/app-elements-wire.d.ts +14 -8
- package/dist/server/app-elements-wire.js +45 -24
- package/dist/server/app-elements.d.ts +2 -3
- package/dist/server/app-elements.js +2 -4
- package/dist/server/app-fallback-renderer.d.ts +5 -5
- package/dist/server/app-fallback-renderer.js +4 -3
- package/dist/server/app-history-state.d.ts +18 -2
- package/dist/server/app-history-state.js +68 -10
- package/dist/server/app-hook-warning-suppression.d.ts +1 -2
- package/dist/server/app-hook-warning-suppression.js +0 -2
- package/dist/server/app-inline-css-client.d.ts +1 -2
- package/dist/server/app-inline-css-client.js +0 -2
- package/dist/server/app-interception-context-header.d.ts +1 -2
- package/dist/server/app-interception-context-header.js +0 -2
- package/dist/server/app-layout-param-observation.d.ts +15 -2
- package/dist/server/app-layout-param-observation.js +46 -8
- package/dist/server/app-middleware.d.ts +1 -2
- package/dist/server/app-middleware.js +0 -2
- package/dist/server/app-mounted-slots-header.d.ts +1 -2
- package/dist/server/app-mounted-slots-header.js +0 -2
- package/dist/server/app-optimistic-routing.d.ts +1 -2
- package/dist/server/app-optimistic-routing.js +0 -2
- package/dist/server/app-page-boundary-render.d.ts +4 -3
- package/dist/server/app-page-boundary-render.js +18 -9
- package/dist/server/app-page-boundary.d.ts +11 -2
- package/dist/server/app-page-boundary.js +13 -4
- package/dist/server/app-page-cache.d.ts +3 -3
- package/dist/server/app-page-cache.js +36 -11
- package/dist/server/app-page-dispatch.d.ts +19 -5
- package/dist/server/app-page-dispatch.js +119 -24
- package/dist/server/app-page-element-builder.d.ts +3 -2
- package/dist/server/app-page-element-builder.js +9 -11
- package/dist/server/app-page-execution.d.ts +8 -3
- package/dist/server/app-page-execution.js +55 -24
- package/dist/server/app-page-head.d.ts +1 -2
- package/dist/server/app-page-head.js +6 -6
- package/dist/server/app-page-method.d.ts +1 -2
- package/dist/server/app-page-method.js +0 -2
- package/dist/server/app-page-params.d.ts +1 -2
- package/dist/server/app-page-params.js +0 -2
- package/dist/server/app-page-probe.d.ts +79 -2
- package/dist/server/app-page-probe.js +89 -9
- package/dist/server/app-page-render-identity.d.ts +1 -2
- package/dist/server/app-page-render-identity.js +0 -2
- package/dist/server/app-page-render-observation.d.ts +1 -2
- package/dist/server/app-page-render-observation.js +0 -2
- package/dist/server/app-page-render.d.ts +9 -3
- package/dist/server/app-page-render.js +167 -10
- package/dist/server/app-page-request.d.ts +4 -3
- package/dist/server/app-page-request.js +1 -3
- package/dist/server/app-page-response.d.ts +2 -2
- package/dist/server/app-page-response.js +5 -3
- package/dist/server/app-page-route-wiring.d.ts +14 -3
- package/dist/server/app-page-route-wiring.js +63 -11
- package/dist/server/app-page-search-params-observation.d.ts +10 -0
- package/dist/server/app-page-search-params-observation.js +20 -0
- package/dist/server/app-page-segment-state.d.ts +1 -2
- package/dist/server/app-page-segment-state.js +1 -8
- package/dist/server/app-page-stream.d.ts +19 -9
- package/dist/server/app-page-stream.js +28 -10
- package/dist/server/app-pages-bridge.d.ts +25 -0
- package/dist/server/app-pages-bridge.js +34 -0
- package/dist/server/app-post-middleware-context.d.ts +1 -2
- package/dist/server/app-post-middleware-context.js +0 -2
- package/dist/server/app-ppr-fallback-shell.d.ts +21 -0
- package/dist/server/app-ppr-fallback-shell.js +82 -0
- package/dist/server/app-prerender-endpoints.d.ts +1 -2
- package/dist/server/app-prerender-endpoints.js +0 -2
- package/dist/server/app-prerender-static-params.d.ts +15 -2
- package/dist/server/app-prerender-static-params.js +44 -13
- package/dist/server/app-render-dependency.d.ts +3 -2
- package/dist/server/app-render-dependency.js +9 -3
- package/dist/server/app-request-context.d.ts +1 -2
- package/dist/server/app-request-context.js +0 -2
- package/dist/server/app-route-handler-cache.d.ts +1 -2
- package/dist/server/app-route-handler-cache.js +0 -2
- package/dist/server/app-route-handler-dispatch.d.ts +1 -2
- package/dist/server/app-route-handler-dispatch.js +0 -2
- package/dist/server/app-route-handler-execution.d.ts +1 -2
- package/dist/server/app-route-handler-execution.js +2 -4
- package/dist/server/app-route-handler-policy.d.ts +1 -2
- package/dist/server/app-route-handler-policy.js +0 -2
- package/dist/server/app-route-handler-response.d.ts +2 -3
- package/dist/server/app-route-handler-response.js +7 -6
- package/dist/server/app-route-handler-runtime.d.ts +1 -2
- package/dist/server/app-route-handler-runtime.js +0 -2
- package/dist/server/app-route-module-loader.d.ts +43 -0
- package/dist/server/app-route-module-loader.js +32 -0
- package/dist/server/app-router-entry.d.ts +1 -2
- package/dist/server/app-router-entry.js +2 -2
- package/dist/server/app-rsc-cache-busting.d.ts +10 -2
- package/dist/server/app-rsc-cache-busting.js +13 -4
- package/dist/server/app-rsc-embedded-chunks.d.ts +1 -2
- package/dist/server/app-rsc-embedded-chunks.js +0 -2
- package/dist/server/app-rsc-error-handler.d.ts +1 -2
- package/dist/server/app-rsc-error-handler.js +0 -2
- package/dist/server/app-rsc-errors.d.ts +1 -2
- package/dist/server/app-rsc-errors.js +0 -2
- package/dist/server/app-rsc-handler.d.ts +16 -2
- package/dist/server/app-rsc-handler.js +21 -13
- package/dist/server/app-rsc-render-mode.d.ts +1 -2
- package/dist/server/app-rsc-render-mode.js +0 -2
- package/dist/server/app-rsc-request-normalization.d.ts +4 -5
- package/dist/server/app-rsc-request-normalization.js +2 -4
- package/dist/server/app-rsc-response-finalizer.d.ts +1 -2
- package/dist/server/app-rsc-response-finalizer.js +2 -2
- package/dist/server/app-rsc-route-matching.d.ts +1 -2
- package/dist/server/app-rsc-route-matching.js +0 -2
- package/dist/server/app-segment-config.d.ts +4 -2
- package/dist/server/app-segment-config.js +8 -2
- package/dist/server/app-server-action-execution.d.ts +7 -2
- package/dist/server/app-server-action-execution.js +7 -8
- package/dist/server/app-ssr-entry.d.ts +5 -4
- package/dist/server/app-ssr-entry.js +31 -15
- package/dist/server/app-ssr-error-meta.d.ts +1 -2
- package/dist/server/app-ssr-error-meta.js +0 -2
- package/dist/server/app-ssr-stream.d.ts +1 -2
- package/dist/server/app-ssr-stream.js +31 -3
- package/dist/server/app-static-generation.d.ts +1 -2
- package/dist/server/app-static-generation.js +0 -2
- package/dist/server/app-visited-response-cache.d.ts +23 -0
- package/dist/server/app-visited-response-cache.js +19 -0
- package/dist/server/artifact-compatibility.d.ts +1 -2
- package/dist/server/artifact-compatibility.js +2 -6
- package/dist/server/cache-control.d.ts +15 -2
- package/dist/server/cache-control.js +21 -3
- package/dist/server/cache-headers.d.ts +1 -2
- package/dist/server/cache-headers.js +0 -2
- package/dist/server/cache-proof.d.ts +1 -2
- package/dist/server/cache-proof.js +0 -2
- package/dist/server/client-reuse-manifest.d.ts +3 -3
- package/dist/server/client-reuse-manifest.js +6 -10
- package/dist/server/client-trace-metadata.d.ts +1 -2
- package/dist/server/client-trace-metadata.js +0 -2
- package/dist/server/cookie-utils.d.ts +1 -2
- package/dist/server/cookie-utils.js +0 -2
- package/dist/server/csp.d.ts +1 -2
- package/dist/server/csp.js +0 -2
- package/dist/server/default-global-error-module.d.ts +1 -2
- package/dist/server/default-global-error-module.js +0 -2
- package/dist/server/default-not-found-module.d.ts +1 -2
- package/dist/server/default-not-found-module.js +0 -2
- package/dist/server/dev-error-overlay-store.d.ts +20 -4
- package/dist/server/dev-error-overlay-store.js +23 -4
- package/dist/server/dev-error-overlay.d.ts +39 -3
- package/dist/server/dev-error-overlay.js +952 -164
- package/dist/server/dev-initial-server-error.d.ts +9 -0
- package/dist/server/dev-initial-server-error.js +26 -0
- package/dist/server/dev-lockfile.d.ts +1 -2
- package/dist/server/dev-lockfile.js +0 -2
- package/dist/server/dev-module-runner.d.ts +1 -2
- package/dist/server/dev-module-runner.js +0 -2
- package/dist/server/dev-origin-check.d.ts +1 -2
- package/dist/server/dev-origin-check.js +0 -2
- package/dist/server/dev-route-files.d.ts +1 -2
- package/dist/server/dev-route-files.js +0 -2
- package/dist/server/dev-server.d.ts +2 -3
- package/dist/server/dev-server.js +75 -18
- package/dist/server/dev-stack-sourcemap-endpoint.d.ts +4 -0
- package/dist/server/dev-stack-sourcemap-endpoint.js +4 -0
- package/dist/server/dev-stack-sourcemap.d.ts +43 -0
- package/dist/server/dev-stack-sourcemap.js +443 -0
- package/dist/server/document-initial-head.d.ts +1 -2
- package/dist/server/document-initial-head.js +0 -2
- package/dist/server/edge-api-runtime.d.ts +1 -2
- package/dist/server/edge-api-runtime.js +0 -2
- package/dist/server/file-based-metadata.d.ts +1 -2
- package/dist/server/file-based-metadata.js +0 -2
- package/dist/server/headers.d.ts +3 -2
- package/dist/server/headers.js +3 -3
- package/dist/server/html.d.ts +1 -2
- package/dist/server/html.js +0 -2
- package/dist/server/http-error-responses.d.ts +1 -2
- package/dist/server/http-error-responses.js +0 -2
- package/dist/server/image-optimization.d.ts +1 -2
- package/dist/server/image-optimization.js +0 -2
- package/dist/server/implicit-tags.d.ts +1 -2
- package/dist/server/implicit-tags.js +0 -2
- package/dist/server/instrumentation-runtime.d.ts +1 -2
- package/dist/server/instrumentation-runtime.js +0 -2
- package/dist/server/instrumentation.d.ts +1 -2
- package/dist/server/instrumentation.js +0 -2
- package/dist/server/isr-cache.d.ts +10 -3
- package/dist/server/isr-cache.js +13 -28
- package/dist/server/metadata-route-build-data.d.ts +1 -2
- package/dist/server/metadata-route-build-data.js +0 -2
- package/dist/server/metadata-route-response.d.ts +1 -2
- package/dist/server/metadata-route-response.js +0 -2
- package/dist/server/metadata-routes.d.ts +1 -2
- package/dist/server/metadata-routes.js +0 -2
- package/dist/server/middleware-matcher.d.ts +1 -2
- package/dist/server/middleware-matcher.js +0 -2
- package/dist/server/middleware-request-headers.d.ts +1 -2
- package/dist/server/middleware-request-headers.js +0 -2
- package/dist/server/middleware-response-headers.d.ts +1 -2
- package/dist/server/middleware-response-headers.js +0 -2
- package/dist/server/middleware-runtime.d.ts +1 -2
- package/dist/server/middleware-runtime.js +14 -5
- package/dist/server/middleware.d.ts +2 -3
- package/dist/server/middleware.js +0 -2
- package/dist/server/navigation-planner.d.ts +16 -2
- package/dist/server/navigation-planner.js +1 -3
- package/dist/server/navigation-trace.d.ts +1 -2
- package/dist/server/navigation-trace.js +0 -2
- package/dist/server/next-error-digest.d.ts +1 -2
- package/dist/server/next-error-digest.js +0 -2
- package/dist/server/normalize-path.d.ts +1 -2
- package/dist/server/normalize-path.js +0 -2
- package/dist/server/pages-api-route.d.ts +1 -2
- package/dist/server/pages-api-route.js +1 -3
- package/dist/server/pages-asset-tags.d.ts +66 -0
- package/dist/server/pages-asset-tags.js +116 -0
- package/dist/server/pages-body-parser-config.d.ts +1 -2
- package/dist/server/pages-body-parser-config.js +0 -2
- package/dist/server/pages-data-route.d.ts +39 -2
- package/dist/server/pages-data-route.js +46 -3
- package/dist/server/pages-default-404.d.ts +1 -2
- package/dist/server/pages-default-404.js +0 -2
- package/dist/server/pages-document-initial-props.d.ts +1 -2
- package/dist/server/pages-document-initial-props.js +0 -2
- package/dist/server/pages-get-initial-props.d.ts +17 -0
- package/dist/server/pages-get-initial-props.js +50 -0
- package/dist/server/pages-i18n.d.ts +1 -2
- package/dist/server/pages-i18n.js +0 -2
- package/dist/server/pages-media-type.d.ts +1 -2
- package/dist/server/pages-media-type.js +1 -2
- package/dist/server/pages-node-compat.d.ts +9 -2
- package/dist/server/pages-node-compat.js +34 -3
- package/dist/server/pages-page-data.d.ts +7 -3
- package/dist/server/pages-page-data.js +75 -33
- package/dist/server/pages-page-handler.d.ts +90 -0
- package/dist/server/pages-page-handler.js +335 -0
- package/dist/server/pages-page-method.d.ts +1 -2
- package/dist/server/pages-page-method.js +0 -2
- package/dist/server/pages-page-response.d.ts +1 -2
- package/dist/server/pages-page-response.js +8 -4
- package/dist/server/pages-serializable-props.d.ts +1 -2
- package/dist/server/pages-serializable-props.js +0 -2
- package/dist/server/pregenerated-concrete-paths.d.ts +32 -0
- package/dist/server/pregenerated-concrete-paths.js +78 -0
- package/dist/server/prerender-route-params.d.ts +13 -3
- package/dist/server/prerender-route-params.js +30 -11
- package/dist/server/prerender-work-unit-setup.d.ts +1 -2
- package/dist/server/prerender-work-unit-setup.js +0 -2
- package/dist/server/prod-server.d.ts +2 -4
- package/dist/server/prod-server.js +0 -2
- package/dist/server/proxy-trust.d.ts +1 -2
- package/dist/server/proxy-trust.js +0 -2
- package/dist/server/request-log.d.ts +1 -2
- package/dist/server/request-log.js +0 -2
- package/dist/server/request-pipeline.d.ts +14 -2
- package/dist/server/request-pipeline.js +42 -3
- package/dist/server/rsc-stream-hints.d.ts +1 -2
- package/dist/server/rsc-stream-hints.js +0 -2
- package/dist/server/seed-cache.d.ts +6 -2
- package/dist/server/seed-cache.js +10 -8
- package/dist/server/server-action-not-found.d.ts +1 -2
- package/dist/server/server-action-not-found.js +0 -2
- package/dist/server/server-globals.d.ts +1 -2
- package/dist/server/server-globals.js +0 -2
- package/dist/server/skip-cache-proof.d.ts +1 -2
- package/dist/server/skip-cache-proof.js +0 -2
- package/dist/server/socket-error-backstop.d.ts +1 -2
- package/dist/server/socket-error-backstop.js +0 -2
- package/dist/server/static-file-cache.d.ts +1 -2
- package/dist/server/static-file-cache.js +0 -2
- package/dist/server/static-layout-client-reuse-proof.d.ts +1 -2
- package/dist/server/static-layout-client-reuse-proof.js +0 -2
- package/dist/server/streaming-metadata.d.ts +1 -2
- package/dist/server/streaming-metadata.js +0 -2
- package/dist/server/worker-utils.d.ts +1 -2
- package/dist/server/worker-utils.js +3 -6
- package/dist/shims/amp.d.ts +1 -2
- package/dist/shims/amp.js +0 -2
- package/dist/shims/app-router-scroll-state.d.ts +1 -2
- package/dist/shims/app-router-scroll-state.js +0 -2
- package/dist/shims/app-router-scroll.d.ts +3 -5
- package/dist/shims/app-router-scroll.js +0 -2
- package/dist/shims/app.d.ts +1 -2
- package/dist/shims/app.js +0 -2
- package/dist/shims/before-interactive-context.d.ts +1 -2
- package/dist/shims/before-interactive-context.js +0 -2
- package/dist/shims/cache-for-request.d.ts +1 -2
- package/dist/shims/cache-for-request.js +0 -2
- package/dist/shims/cache-runtime.d.ts +20 -5
- package/dist/shims/cache-runtime.js +35 -30
- package/dist/shims/cache.d.ts +48 -7
- package/dist/shims/cache.js +79 -20
- package/dist/shims/cdn-cache.d.ts +125 -0
- package/dist/shims/cdn-cache.js +100 -0
- package/dist/shims/client-hook-error.d.ts +1 -2
- package/dist/shims/client-hook-error.js +0 -2
- package/dist/shims/client-locale.d.ts +1 -2
- package/dist/shims/client-locale.js +1 -3
- package/dist/shims/compat-router.d.ts +1 -2
- package/dist/shims/compat-router.js +0 -2
- package/dist/shims/config.d.ts +1 -2
- package/dist/shims/config.js +0 -2
- package/dist/shims/constants.d.ts +1 -2
- package/dist/shims/constants.js +0 -2
- package/dist/shims/default-global-error.d.ts +3 -4
- package/dist/shims/default-global-error.js +0 -2
- package/dist/shims/default-not-found.d.ts +1 -2
- package/dist/shims/default-not-found.js +0 -2
- package/dist/shims/document.d.ts +5 -7
- package/dist/shims/document.js +0 -2
- package/dist/shims/dynamic.d.ts +1 -2
- package/dist/shims/dynamic.js +0 -2
- package/dist/shims/error-boundary.d.ts +16 -12
- package/dist/shims/error-boundary.js +35 -2
- package/dist/shims/error.d.ts +1 -2
- package/dist/shims/error.js +0 -2
- package/dist/shims/fetch-cache.d.ts +1 -2
- package/dist/shims/fetch-cache.js +2 -4
- package/dist/shims/font-google-base.d.ts +1 -2
- package/dist/shims/font-google-base.js +1 -13
- package/dist/shims/font-local.d.ts +1 -2
- package/dist/shims/font-local.js +1 -15
- package/dist/shims/font-utils.d.ts +7 -2
- package/dist/shims/font-utils.js +13 -3
- package/dist/shims/form.d.ts +12 -5
- package/dist/shims/form.js +98 -21
- package/dist/shims/hash-scroll.d.ts +1 -2
- package/dist/shims/hash-scroll.js +0 -2
- package/dist/shims/head-state.d.ts +1 -2
- package/dist/shims/head-state.js +0 -2
- package/dist/shims/head.d.ts +1 -2
- package/dist/shims/head.js +0 -2
- package/dist/shims/headers.d.ts +9 -2
- package/dist/shims/headers.js +13 -3
- package/dist/shims/i18n-context.d.ts +1 -2
- package/dist/shims/i18n-context.js +0 -2
- package/dist/shims/i18n-state.d.ts +1 -2
- package/dist/shims/i18n-state.js +0 -2
- package/dist/shims/image-config.d.ts +1 -2
- package/dist/shims/image-config.js +0 -2
- package/dist/shims/image.d.ts +1 -2
- package/dist/shims/image.js +1 -3
- package/dist/shims/internal/als-registry.d.ts +1 -2
- package/dist/shims/internal/als-registry.js +0 -2
- package/dist/shims/internal/api-utils.d.ts +1 -2
- package/dist/shims/internal/app-route-detection.d.ts +1 -2
- package/dist/shims/internal/app-route-detection.js +0 -2
- package/dist/shims/internal/app-router-context.d.ts +1 -2
- package/dist/shims/internal/app-router-context.js +0 -2
- package/dist/shims/internal/cookie-serialize.d.ts +1 -2
- package/dist/shims/internal/cookie-serialize.js +0 -2
- package/dist/shims/internal/make-hanging-promise.d.ts +1 -2
- package/dist/shims/internal/make-hanging-promise.js +0 -2
- package/dist/shims/internal/pages-data-fetch-dedup.d.ts +1 -2
- package/dist/shims/internal/pages-data-fetch-dedup.js +0 -2
- package/dist/shims/internal/pages-data-target.d.ts +1 -2
- package/dist/shims/internal/pages-data-target.js +0 -2
- package/dist/shims/internal/pages-data-url.d.ts +1 -2
- package/dist/shims/internal/pages-data-url.js +0 -2
- package/dist/shims/internal/parse-cookie-header.d.ts +1 -2
- package/dist/shims/internal/parse-cookie-header.js +0 -2
- package/dist/shims/internal/router-context.d.ts +2 -4
- package/dist/shims/internal/router-context.js +0 -2
- package/dist/shims/internal/utils.d.ts +1 -2
- package/dist/shims/internal/utils.js +0 -2
- package/dist/shims/internal/work-unit-async-storage.d.ts +1 -2
- package/dist/shims/internal/work-unit-async-storage.js +0 -2
- package/dist/shims/layout-segment-context.d.ts +2 -4
- package/dist/shims/layout-segment-context.js +0 -2
- package/dist/shims/legacy-image.d.ts +1 -2
- package/dist/shims/legacy-image.js +0 -2
- package/dist/shims/link-prefetch.d.ts +1 -2
- package/dist/shims/link-prefetch.js +0 -2
- package/dist/shims/link.d.ts +2 -2
- package/dist/shims/link.js +20 -14
- package/dist/shims/metadata.d.ts +4 -5
- package/dist/shims/metadata.js +1 -3
- package/dist/shims/navigation-state.d.ts +1 -2
- package/dist/shims/navigation-state.js +0 -2
- package/dist/shims/navigation.d.ts +23 -7
- package/dist/shims/navigation.js +188 -39
- package/dist/shims/navigation.react-server.d.ts +1 -2
- package/dist/shims/navigation.react-server.js +0 -2
- package/dist/shims/offline.d.ts +1 -2
- package/dist/shims/offline.js +0 -2
- package/dist/shims/og.d.ts +1 -2
- package/dist/shims/og.js +2 -4
- package/dist/shims/pages-router-runtime.d.ts +7 -2
- package/dist/shims/pages-router-runtime.js +11 -3
- package/dist/shims/ppr-fallback-shell.d.ts +29 -0
- package/dist/shims/ppr-fallback-shell.js +149 -0
- package/dist/shims/readonly-url-search-params.d.ts +1 -2
- package/dist/shims/readonly-url-search-params.js +0 -2
- package/dist/shims/request-context.d.ts +9 -5
- package/dist/shims/request-context.js +0 -2
- package/dist/shims/request-state-types.d.ts +1 -1
- package/dist/shims/root-params.d.ts +1 -2
- package/dist/shims/root-params.js +0 -2
- package/dist/shims/router-state.d.ts +1 -2
- package/dist/shims/router-state.js +0 -2
- package/dist/shims/router.d.ts +1 -2
- package/dist/shims/router.js +135 -20
- package/dist/shims/script-nonce-context.d.ts +1 -2
- package/dist/shims/script-nonce-context.js +0 -2
- package/dist/shims/script.d.ts +1 -2
- package/dist/shims/script.js +0 -2
- package/dist/shims/server.d.ts +1 -2
- package/dist/shims/server.js +0 -2
- package/dist/shims/slot.d.ts +11 -4
- package/dist/shims/slot.js +121 -9
- package/dist/shims/thenable-params.d.ts +2 -2
- package/dist/shims/thenable-params.js +107 -12
- package/dist/shims/unified-request-context.d.ts +1 -2
- package/dist/shims/unified-request-context.js +0 -2
- package/dist/shims/unrecognized-action-error.d.ts +1 -2
- package/dist/shims/unrecognized-action-error.js +0 -2
- package/dist/shims/url-safety.d.ts +1 -2
- package/dist/shims/url-safety.js +0 -2
- package/dist/shims/url-utils.d.ts +1 -2
- package/dist/shims/url-utils.js +0 -2
- package/dist/shims/use-merged-ref.d.ts +1 -2
- package/dist/shims/use-merged-ref.js +0 -2
- package/dist/shims/web-vitals.d.ts +1 -2
- package/dist/shims/web-vitals.js +0 -2
- package/dist/typegen.d.ts +1 -2
- package/dist/typegen.js +2 -9
- package/dist/utils/asset-prefix.d.ts +1 -2
- package/dist/utils/asset-prefix.js +0 -2
- package/dist/utils/base-path.d.ts +1 -2
- package/dist/utils/base-path.js +0 -2
- package/dist/utils/cache-control-metadata.d.ts +1 -4
- package/dist/utils/cache-control-metadata.js +1 -3
- package/dist/utils/client-build-manifest.d.ts +1 -2
- package/dist/utils/client-build-manifest.js +0 -2
- package/dist/utils/compare.d.ts +4 -0
- package/dist/utils/compare.js +8 -0
- package/dist/utils/dev-error-recovery-event.d.ts +4 -0
- package/dist/utils/dev-error-recovery-event.js +4 -0
- package/dist/utils/domain-locale.d.ts +1 -2
- package/dist/utils/domain-locale.js +2 -4
- package/dist/utils/encode-cache-tag.d.ts +1 -2
- package/dist/utils/encode-cache-tag.js +0 -2
- package/dist/utils/error-cause.d.ts +1 -2
- package/dist/utils/error-cause.js +0 -2
- package/dist/utils/hash.d.ts +1 -2
- package/dist/utils/hash.js +0 -2
- package/dist/utils/html-limited-bots.d.ts +1 -2
- package/dist/utils/html-limited-bots.js +0 -2
- package/dist/utils/lazy-chunks.d.ts +1 -2
- package/dist/utils/lazy-chunks.js +0 -2
- package/dist/utils/manifest-paths.d.ts +8 -3
- package/dist/utils/manifest-paths.js +15 -3
- package/dist/utils/mdx-scan.d.ts +1 -2
- package/dist/utils/mdx-scan.js +0 -2
- package/dist/utils/navigation-signal.d.ts +1 -2
- package/dist/utils/navigation-signal.js +0 -2
- package/dist/utils/number.d.ts +4 -0
- package/dist/utils/number.js +6 -0
- package/dist/utils/path.d.ts +4 -2
- package/dist/utils/path.js +5 -3
- package/dist/utils/prerender-output-paths.d.ts +1 -2
- package/dist/utils/prerender-output-paths.js +0 -2
- package/dist/utils/project.d.ts +1 -2
- package/dist/utils/project.js +0 -2
- package/dist/utils/promise.d.ts +4 -0
- package/dist/utils/promise.js +6 -0
- package/dist/utils/public-routes.d.ts +1 -2
- package/dist/utils/public-routes.js +0 -2
- package/dist/utils/query.d.ts +1 -2
- package/dist/utils/query.js +0 -2
- package/dist/utils/record.d.ts +1 -2
- package/dist/utils/record.js +0 -2
- package/dist/utils/regex.d.ts +4 -0
- package/dist/utils/regex.js +6 -0
- package/dist/utils/safe-json-file.d.ts +1 -2
- package/dist/utils/safe-json-file.js +0 -2
- package/dist/utils/sorted-array.d.ts +1 -2
- package/dist/utils/sorted-array.js +0 -2
- package/dist/utils/text-stream.d.ts +1 -2
- package/dist/utils/text-stream.js +0 -2
- package/dist/utils/vinext-root.d.ts +1 -2
- package/dist/utils/vinext-root.js +0 -2
- package/dist/utils/vite-version.d.ts +1 -2
- package/dist/utils/vite-version.js +0 -2
- package/package.json +19 -6
- package/dist/build/clean-output.js.map +0 -1
- package/dist/build/client-build-config.js.map +0 -1
- package/dist/build/google-fonts/build-url.js.map +0 -1
- package/dist/build/google-fonts/fallback-metrics-data.js.map +0 -1
- package/dist/build/google-fonts/fallback-metrics.js.map +0 -1
- package/dist/build/google-fonts/font-data.js.map +0 -1
- package/dist/build/google-fonts/font-metadata.js.map +0 -1
- package/dist/build/google-fonts/get-axes.js.map +0 -1
- package/dist/build/google-fonts/sort-variants.js.map +0 -1
- package/dist/build/google-fonts/validate.js.map +0 -1
- package/dist/build/inline-css.js.map +0 -1
- package/dist/build/layout-classification.js.map +0 -1
- package/dist/build/nitro-route-rules.js.map +0 -1
- package/dist/build/precompress.js.map +0 -1
- package/dist/build/prerender.js.map +0 -1
- package/dist/build/report.js.map +0 -1
- package/dist/build/route-classification-injector.js.map +0 -1
- package/dist/build/route-classification-manifest.js.map +0 -1
- package/dist/build/run-prerender.js.map +0 -1
- package/dist/build/server-manifest.js.map +0 -1
- package/dist/build/ssr-manifest.js.map +0 -1
- package/dist/build/standalone.js.map +0 -1
- package/dist/build/static-export.js.map +0 -1
- package/dist/check.js.map +0 -1
- package/dist/cli-args.js.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/client/instrumentation-client-inject.js.map +0 -1
- package/dist/client/instrumentation-client-state.js.map +0 -1
- package/dist/client/instrumentation-client.js.map +0 -1
- package/dist/client/navigation-runtime.js.map +0 -1
- package/dist/client/pages-router-link-navigation.js.map +0 -1
- package/dist/client/validate-module-path.js.map +0 -1
- package/dist/client/vinext-next-data.js.map +0 -1
- package/dist/client/window-next.js.map +0 -1
- package/dist/cloudflare/kv-cache-handler.js.map +0 -1
- package/dist/cloudflare/tpr.js.map +0 -1
- package/dist/config/config-matchers.js.map +0 -1
- package/dist/config/dotenv.js.map +0 -1
- package/dist/config/next-config.js.map +0 -1
- package/dist/config/tsconfig-paths.js.map +0 -1
- package/dist/deploy.js.map +0 -1
- package/dist/entries/app-browser-entry.js.map +0 -1
- package/dist/entries/app-rsc-entry.js.map +0 -1
- package/dist/entries/app-rsc-manifest.js.map +0 -1
- package/dist/entries/app-ssr-entry.js.map +0 -1
- package/dist/entries/pages-client-entry.js.map +0 -1
- package/dist/entries/pages-entry-helpers.js.map +0 -1
- package/dist/entries/pages-server-entry.js.map +0 -1
- package/dist/entries/runtime-entry-module.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/init.js.map +0 -1
- package/dist/plugins/async-hooks-stub.js.map +0 -1
- package/dist/plugins/client-reference-dedup.js.map +0 -1
- package/dist/plugins/css-data-url.js.map +0 -1
- package/dist/plugins/fonts.js.map +0 -1
- package/dist/plugins/import-meta-url.js.map +0 -1
- package/dist/plugins/instrumentation-client.js.map +0 -1
- package/dist/plugins/middleware-server-only.js.map +0 -1
- package/dist/plugins/og-assets.js.map +0 -1
- package/dist/plugins/optimize-imports.js.map +0 -1
- package/dist/plugins/postcss.js.map +0 -1
- package/dist/plugins/remove-console.js.map +0 -1
- package/dist/plugins/rsc-client-reference-loaders.js.map +0 -1
- package/dist/plugins/rsc-client-shim-excludes.js.map +0 -1
- package/dist/plugins/sass.js.map +0 -1
- package/dist/plugins/server-externals-manifest.js.map +0 -1
- package/dist/plugins/strip-server-exports.js.map +0 -1
- package/dist/routing/app-route-graph.js.map +0 -1
- package/dist/routing/app-router.js.map +0 -1
- package/dist/routing/file-matcher.js.map +0 -1
- package/dist/routing/pages-router.js.map +0 -1
- package/dist/routing/route-matching.js.map +0 -1
- package/dist/routing/route-pattern.js.map +0 -1
- package/dist/routing/route-trie.js.map +0 -1
- package/dist/routing/route-validation.js.map +0 -1
- package/dist/routing/utils.js.map +0 -1
- package/dist/server/api-handler.js.map +0 -1
- package/dist/server/app-browser-action-result.js.map +0 -1
- package/dist/server/app-browser-entry.js.map +0 -1
- package/dist/server/app-browser-error.js.map +0 -1
- package/dist/server/app-browser-hydration.js.map +0 -1
- package/dist/server/app-browser-interception-context.js.map +0 -1
- package/dist/server/app-browser-mpa-navigation.js.map +0 -1
- package/dist/server/app-browser-navigation-controller.js.map +0 -1
- package/dist/server/app-browser-popstate.js.map +0 -1
- package/dist/server/app-browser-rsc-redirect.js.map +0 -1
- package/dist/server/app-browser-state.js.map +0 -1
- package/dist/server/app-browser-stream.js.map +0 -1
- package/dist/server/app-browser-visible-commit.js.map +0 -1
- package/dist/server/app-client-reference-preloader.js.map +0 -1
- package/dist/server/app-elements-wire.js.map +0 -1
- package/dist/server/app-elements.js.map +0 -1
- package/dist/server/app-fallback-renderer.js.map +0 -1
- package/dist/server/app-history-state.js.map +0 -1
- package/dist/server/app-hook-warning-suppression.js.map +0 -1
- package/dist/server/app-inline-css-client.js.map +0 -1
- package/dist/server/app-interception-context-header.js.map +0 -1
- package/dist/server/app-layout-param-observation.js.map +0 -1
- package/dist/server/app-middleware.js.map +0 -1
- package/dist/server/app-mounted-slots-header.js.map +0 -1
- package/dist/server/app-optimistic-routing.js.map +0 -1
- package/dist/server/app-page-boundary-render.js.map +0 -1
- package/dist/server/app-page-boundary.js.map +0 -1
- package/dist/server/app-page-cache.js.map +0 -1
- package/dist/server/app-page-dispatch.js.map +0 -1
- package/dist/server/app-page-element-builder.js.map +0 -1
- package/dist/server/app-page-execution.js.map +0 -1
- package/dist/server/app-page-head.js.map +0 -1
- package/dist/server/app-page-method.js.map +0 -1
- package/dist/server/app-page-params.js.map +0 -1
- package/dist/server/app-page-probe.js.map +0 -1
- package/dist/server/app-page-render-identity.js.map +0 -1
- package/dist/server/app-page-render-observation.js.map +0 -1
- package/dist/server/app-page-render.js.map +0 -1
- package/dist/server/app-page-request.js.map +0 -1
- package/dist/server/app-page-response.js.map +0 -1
- package/dist/server/app-page-route-wiring.js.map +0 -1
- package/dist/server/app-page-segment-state.js.map +0 -1
- package/dist/server/app-page-stream.js.map +0 -1
- package/dist/server/app-post-middleware-context.js.map +0 -1
- package/dist/server/app-prerender-endpoints.js.map +0 -1
- package/dist/server/app-prerender-static-params.js.map +0 -1
- package/dist/server/app-render-dependency.js.map +0 -1
- package/dist/server/app-request-context.js.map +0 -1
- package/dist/server/app-route-handler-cache.js.map +0 -1
- package/dist/server/app-route-handler-dispatch.js.map +0 -1
- package/dist/server/app-route-handler-execution.js.map +0 -1
- package/dist/server/app-route-handler-policy.js.map +0 -1
- package/dist/server/app-route-handler-response.js.map +0 -1
- package/dist/server/app-route-handler-runtime.js.map +0 -1
- package/dist/server/app-router-entry.js.map +0 -1
- package/dist/server/app-rsc-cache-busting.js.map +0 -1
- package/dist/server/app-rsc-embedded-chunks.js.map +0 -1
- package/dist/server/app-rsc-error-handler.js.map +0 -1
- package/dist/server/app-rsc-errors.js.map +0 -1
- package/dist/server/app-rsc-handler.js.map +0 -1
- package/dist/server/app-rsc-render-mode.js.map +0 -1
- package/dist/server/app-rsc-request-normalization.js.map +0 -1
- package/dist/server/app-rsc-response-finalizer.js.map +0 -1
- package/dist/server/app-rsc-route-matching.js.map +0 -1
- package/dist/server/app-segment-config.js.map +0 -1
- package/dist/server/app-server-action-execution.js.map +0 -1
- package/dist/server/app-ssr-entry.js.map +0 -1
- package/dist/server/app-ssr-error-meta.js.map +0 -1
- package/dist/server/app-ssr-stream.js.map +0 -1
- package/dist/server/app-static-generation.js.map +0 -1
- package/dist/server/artifact-compatibility.js.map +0 -1
- package/dist/server/cache-control.js.map +0 -1
- package/dist/server/cache-headers.js.map +0 -1
- package/dist/server/cache-proof.js.map +0 -1
- package/dist/server/client-reuse-manifest.js.map +0 -1
- package/dist/server/client-trace-metadata.js.map +0 -1
- package/dist/server/cookie-utils.js.map +0 -1
- package/dist/server/csp.js.map +0 -1
- package/dist/server/default-global-error-module.js.map +0 -1
- package/dist/server/default-not-found-module.js.map +0 -1
- package/dist/server/dev-error-overlay-store.js.map +0 -1
- package/dist/server/dev-error-overlay.js.map +0 -1
- package/dist/server/dev-lockfile.js.map +0 -1
- package/dist/server/dev-module-runner.js.map +0 -1
- package/dist/server/dev-origin-check.js.map +0 -1
- package/dist/server/dev-route-files.js.map +0 -1
- package/dist/server/dev-server.js.map +0 -1
- package/dist/server/document-initial-head.js.map +0 -1
- package/dist/server/edge-api-runtime.js.map +0 -1
- package/dist/server/file-based-metadata.js.map +0 -1
- package/dist/server/headers.js.map +0 -1
- package/dist/server/html.js.map +0 -1
- package/dist/server/http-error-responses.js.map +0 -1
- package/dist/server/image-optimization.js.map +0 -1
- package/dist/server/implicit-tags.js.map +0 -1
- package/dist/server/instrumentation-runtime.js.map +0 -1
- package/dist/server/instrumentation.js.map +0 -1
- package/dist/server/isr-cache.js.map +0 -1
- package/dist/server/metadata-route-build-data.js.map +0 -1
- package/dist/server/metadata-route-response.js.map +0 -1
- package/dist/server/metadata-routes.js.map +0 -1
- package/dist/server/middleware-matcher.js.map +0 -1
- package/dist/server/middleware-request-headers.js.map +0 -1
- package/dist/server/middleware-response-headers.js.map +0 -1
- package/dist/server/middleware-runtime.js.map +0 -1
- package/dist/server/middleware.js.map +0 -1
- package/dist/server/navigation-planner.js.map +0 -1
- package/dist/server/navigation-trace.js.map +0 -1
- package/dist/server/next-error-digest.js.map +0 -1
- package/dist/server/normalize-path.js.map +0 -1
- package/dist/server/pages-api-route.js.map +0 -1
- package/dist/server/pages-body-parser-config.js.map +0 -1
- package/dist/server/pages-data-route.js.map +0 -1
- package/dist/server/pages-default-404.js.map +0 -1
- package/dist/server/pages-document-initial-props.js.map +0 -1
- package/dist/server/pages-i18n.js.map +0 -1
- package/dist/server/pages-media-type.js.map +0 -1
- package/dist/server/pages-node-compat.js.map +0 -1
- package/dist/server/pages-page-data.js.map +0 -1
- package/dist/server/pages-page-method.js.map +0 -1
- package/dist/server/pages-page-response.js.map +0 -1
- package/dist/server/pages-serializable-props.js.map +0 -1
- package/dist/server/prerender-route-params.js.map +0 -1
- package/dist/server/prerender-work-unit-setup.js.map +0 -1
- package/dist/server/prod-server.js.map +0 -1
- package/dist/server/proxy-trust.js.map +0 -1
- package/dist/server/request-log.js.map +0 -1
- package/dist/server/request-pipeline.js.map +0 -1
- package/dist/server/rsc-stream-hints.js.map +0 -1
- package/dist/server/seed-cache.js.map +0 -1
- package/dist/server/server-action-not-found.js.map +0 -1
- package/dist/server/server-globals.js.map +0 -1
- package/dist/server/skip-cache-proof.js.map +0 -1
- package/dist/server/socket-error-backstop.js.map +0 -1
- package/dist/server/static-file-cache.js.map +0 -1
- package/dist/server/static-layout-client-reuse-proof.js.map +0 -1
- package/dist/server/streaming-metadata.js.map +0 -1
- package/dist/server/worker-utils.js.map +0 -1
- package/dist/shims/amp.js.map +0 -1
- package/dist/shims/app-router-scroll-state.js.map +0 -1
- package/dist/shims/app-router-scroll.js.map +0 -1
- package/dist/shims/app.js.map +0 -1
- package/dist/shims/before-interactive-context.js.map +0 -1
- package/dist/shims/cache-for-request.js.map +0 -1
- package/dist/shims/cache-runtime.js.map +0 -1
- package/dist/shims/cache.js.map +0 -1
- package/dist/shims/client-hook-error.js.map +0 -1
- package/dist/shims/client-locale.js.map +0 -1
- package/dist/shims/compat-router.js.map +0 -1
- package/dist/shims/config.js.map +0 -1
- package/dist/shims/constants.js.map +0 -1
- package/dist/shims/default-global-error.js.map +0 -1
- package/dist/shims/default-not-found.js.map +0 -1
- package/dist/shims/document.js.map +0 -1
- package/dist/shims/dynamic.js.map +0 -1
- package/dist/shims/error-boundary.js.map +0 -1
- package/dist/shims/error.js.map +0 -1
- package/dist/shims/fetch-cache.js.map +0 -1
- package/dist/shims/font-google-base.js.map +0 -1
- package/dist/shims/font-local.js.map +0 -1
- package/dist/shims/font-utils.js.map +0 -1
- package/dist/shims/form.js.map +0 -1
- package/dist/shims/hash-scroll.js.map +0 -1
- package/dist/shims/head-state.js.map +0 -1
- package/dist/shims/head.js.map +0 -1
- package/dist/shims/headers.js.map +0 -1
- package/dist/shims/i18n-context.js.map +0 -1
- package/dist/shims/i18n-state.js.map +0 -1
- package/dist/shims/image-config.js.map +0 -1
- package/dist/shims/image.js.map +0 -1
- package/dist/shims/internal/als-registry.js.map +0 -1
- package/dist/shims/internal/app-route-detection.js.map +0 -1
- package/dist/shims/internal/app-router-context.js.map +0 -1
- package/dist/shims/internal/cookie-serialize.js.map +0 -1
- package/dist/shims/internal/make-hanging-promise.js.map +0 -1
- package/dist/shims/internal/pages-data-fetch-dedup.js.map +0 -1
- package/dist/shims/internal/pages-data-target.js.map +0 -1
- package/dist/shims/internal/pages-data-url.js.map +0 -1
- package/dist/shims/internal/parse-cookie-header.js.map +0 -1
- package/dist/shims/internal/router-context.js.map +0 -1
- package/dist/shims/internal/utils.js.map +0 -1
- package/dist/shims/internal/work-unit-async-storage.js.map +0 -1
- package/dist/shims/layout-segment-context.js.map +0 -1
- package/dist/shims/legacy-image.js.map +0 -1
- package/dist/shims/link-prefetch.js.map +0 -1
- package/dist/shims/link.js.map +0 -1
- package/dist/shims/metadata.js.map +0 -1
- package/dist/shims/navigation-state.js.map +0 -1
- package/dist/shims/navigation.js.map +0 -1
- package/dist/shims/navigation.react-server.js.map +0 -1
- package/dist/shims/offline.js.map +0 -1
- package/dist/shims/og.js.map +0 -1
- package/dist/shims/pages-router-runtime.js.map +0 -1
- package/dist/shims/readonly-url-search-params.js.map +0 -1
- package/dist/shims/request-context.js.map +0 -1
- package/dist/shims/root-params.js.map +0 -1
- package/dist/shims/router-state.js.map +0 -1
- package/dist/shims/router.js.map +0 -1
- package/dist/shims/script-nonce-context.js.map +0 -1
- package/dist/shims/script.js.map +0 -1
- package/dist/shims/server.js.map +0 -1
- package/dist/shims/slot.js.map +0 -1
- package/dist/shims/thenable-params.js.map +0 -1
- package/dist/shims/unified-request-context.js.map +0 -1
- package/dist/shims/unrecognized-action-error.js.map +0 -1
- package/dist/shims/url-safety.js.map +0 -1
- package/dist/shims/url-utils.js.map +0 -1
- package/dist/shims/use-merged-ref.js.map +0 -1
- package/dist/shims/web-vitals.js.map +0 -1
- package/dist/typegen.js.map +0 -1
- package/dist/utils/asset-prefix.js.map +0 -1
- package/dist/utils/base-path.js.map +0 -1
- package/dist/utils/cache-control-metadata.js.map +0 -1
- package/dist/utils/client-build-manifest.js.map +0 -1
- package/dist/utils/domain-locale.js.map +0 -1
- package/dist/utils/encode-cache-tag.js.map +0 -1
- package/dist/utils/error-cause.js.map +0 -1
- package/dist/utils/hash.js.map +0 -1
- package/dist/utils/html-limited-bots.js.map +0 -1
- package/dist/utils/lazy-chunks.js.map +0 -1
- package/dist/utils/manifest-paths.js.map +0 -1
- package/dist/utils/mdx-scan.js.map +0 -1
- package/dist/utils/navigation-signal.js.map +0 -1
- package/dist/utils/path.js.map +0 -1
- package/dist/utils/prerender-output-paths.js.map +0 -1
- package/dist/utils/project.js.map +0 -1
- package/dist/utils/public-routes.js.map +0 -1
- package/dist/utils/query.js.map +0 -1
- package/dist/utils/record.js.map +0 -1
- package/dist/utils/safe-json-file.js.map +0 -1
- package/dist/utils/sorted-array.js.map +0 -1
- package/dist/utils/text-stream.js.map +0 -1
- package/dist/utils/vinext-root.js.map +0 -1
- package/dist/utils/vite-version.js.map +0 -1
|
@@ -35,6 +35,84 @@ declare function probeAppPage(options: {
|
|
|
35
35
|
asyncRouteParams: unknown;
|
|
36
36
|
searchParams: URLSearchParams | null | undefined;
|
|
37
37
|
}): unknown;
|
|
38
|
+
type AppPageProbeModule = Readonly<{
|
|
39
|
+
default?: unknown;
|
|
40
|
+
}> | null | undefined;
|
|
41
|
+
type AppPageProbeSlot = Readonly<{
|
|
42
|
+
page?: AppPageProbeModule;
|
|
43
|
+
}> | null | undefined;
|
|
44
|
+
type AppPageProbeRoute = Readonly<{
|
|
45
|
+
slots?: Readonly<Record<string, AppPageProbeSlot>> | null;
|
|
46
|
+
}>;
|
|
47
|
+
type AppPageProbeIntercept = Readonly<{
|
|
48
|
+
page?: AppPageProbeModule;
|
|
49
|
+
matchedParams?: unknown;
|
|
50
|
+
/**
|
|
51
|
+
* Key of the parallel-route slot this interception overrides. At render
|
|
52
|
+
* time the matched route's `slots[slotKey].page` is replaced by the
|
|
53
|
+
* interception page (see app-page-element-builder.ts), so the slot's own
|
|
54
|
+
* page never renders for this request.
|
|
55
|
+
*/
|
|
56
|
+
slotKey?: string | null;
|
|
57
|
+
}> | null | undefined;
|
|
58
|
+
/**
|
|
59
|
+
* Fan out the per-request page probes for the App Router dispatch lifecycle.
|
|
60
|
+
*
|
|
61
|
+
* A single request can render more than one page component: the matched page,
|
|
62
|
+
* each active parallel-route slot page, and an interception page when one
|
|
63
|
+
* matches. Each must be probed so searchParams access anywhere in the rendered
|
|
64
|
+
* tree bails the request out of the query-invariant static cache.
|
|
65
|
+
*
|
|
66
|
+
* Extracted out of the generated RSC entry so the fan-out is directly
|
|
67
|
+
* unit-testable and the entry stays codegen glue (see AGENTS.md "Generated
|
|
68
|
+
* Entry Modules Should Stay Thin"). Returns a list of resolved promises so the
|
|
69
|
+
* caller can `Promise.all` them.
|
|
70
|
+
*
|
|
71
|
+
* The fan-out is scoped to the page components that render for this request:
|
|
72
|
+
*
|
|
73
|
+
* - **Interception override:** when an interception matches it replaces the
|
|
74
|
+
* page of the slot named by `intercept.slotKey` (the element builder sets
|
|
75
|
+
* `overrides[slotKey].pageModule` to the interception page, which wins over
|
|
76
|
+
* `slot.page` in `app-page-route-wiring.tsx`). We probe the interception page
|
|
77
|
+
* in place of that slot's own page rather than probing both — probing the
|
|
78
|
+
* overridden slot page would mark an otherwise-static request dynamic for a
|
|
79
|
+
* component that never renders.
|
|
80
|
+
* - **Non-overridden slots:** `slot.page?.default` is exactly what renders.
|
|
81
|
+
* `app-page-route-wiring.tsx` resolves a slot to `overrideOrPageComponent ??
|
|
82
|
+
* defaultComponent`, so whenever a slot has a `page.tsx` that page renders.
|
|
83
|
+
* When a slot has only a `default.tsx` (including the soft-nav case at
|
|
84
|
+
* `app-page-route-wiring.tsx:741` that skips an already-mounted slot), there
|
|
85
|
+
* is no `slot.page?.default`, so `probeAppPage` short-circuits to `null` and
|
|
86
|
+
* probes nothing — a no-op, not an over-bail.
|
|
87
|
+
*
|
|
88
|
+
* Interception only fires for RSC navigations (`resolveAppPageInterceptState`
|
|
89
|
+
* returns `kind: "none"` when `!isRscRequest`, app-page-request.ts:324), so the
|
|
90
|
+
* interception handling here is gated on `isRscRequest`. For non-RSC (HTML)
|
|
91
|
+
* requests the matched route renders normally, so we probe every slot's own
|
|
92
|
+
* page and skip the interception probe entirely. The remaining "source-route"
|
|
93
|
+
* interception case (where a *different* route renders, app-page-request.ts:342)
|
|
94
|
+
* never reaches this probe: `dispatchAppPage` returns the intercepted response
|
|
95
|
+
* before calling `probePage`, so by the time this runs any matched interception
|
|
96
|
+
* is the current-route override case above.
|
|
97
|
+
*
|
|
98
|
+
* A `default.tsx` that itself awaits `searchParams` is not probed here, but the
|
|
99
|
+
* real render still observes that access and skips the query-invariant cache
|
|
100
|
+
* write (the same loading.tsx backstop), so this cannot under-bail.
|
|
101
|
+
*/
|
|
102
|
+
declare function buildAppPageProbes(options: {
|
|
103
|
+
route: AppPageProbeRoute;
|
|
104
|
+
pageComponent: unknown;
|
|
105
|
+
asyncRouteParams: unknown;
|
|
106
|
+
searchParams: URLSearchParams | null | undefined;
|
|
107
|
+
intercept?: AppPageProbeIntercept;
|
|
108
|
+
/**
|
|
109
|
+
* Whether this is an RSC navigation. Interception only fires for RSC
|
|
110
|
+
* requests, so the interception probe is ignored when this is false.
|
|
111
|
+
*/
|
|
112
|
+
isRscRequest: boolean; /** Fallback raw params used when an interception match omits its own. */
|
|
113
|
+
matchedParams: unknown;
|
|
114
|
+
makeThenableParams: (params: unknown) => unknown;
|
|
115
|
+
}): Promise<unknown>[];
|
|
38
116
|
type ProbeAppPageBeforeRenderResult = {
|
|
39
117
|
response: Response | null;
|
|
40
118
|
layoutFlags: LayoutFlags;
|
|
@@ -52,5 +130,4 @@ type ProbeAppPageBeforeRenderOptions = {
|
|
|
52
130
|
};
|
|
53
131
|
declare function probeAppPageBeforeRender(options: ProbeAppPageBeforeRenderOptions): Promise<ProbeAppPageBeforeRenderResult>;
|
|
54
132
|
//#endregion
|
|
55
|
-
export { probeAppPage, probeAppPageBeforeRender, probeReactServerSubtree };
|
|
56
|
-
//# sourceMappingURL=app-page-probe.d.ts.map
|
|
133
|
+
export { buildAppPageProbes, probeAppPage, probeAppPageBeforeRender, probeReactServerSubtree };
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { markAppPagePropsForUseCache } from "../shims/cache-runtime.js";
|
|
2
|
+
import { isNextRouterError } from "../shims/navigation.js";
|
|
3
|
+
import { isPromiseLike } from "../utils/promise.js";
|
|
2
4
|
import { probeAppPageComponent, probeAppPageLayouts } from "./app-page-execution.js";
|
|
3
5
|
import { collectAppPageSearchParams } from "./app-page-head.js";
|
|
6
|
+
import { makeObservedAppPageSearchParamsThenable } from "./app-page-search-params-observation.js";
|
|
4
7
|
import { Fragment, isValidElement } from "react";
|
|
5
8
|
//#region src/server/app-page-probe.ts
|
|
6
9
|
const DEFAULT_SUBTREE_PROBE_MAX_DEPTH = 32;
|
|
@@ -20,9 +23,6 @@ var AppPageSubtreeProbeUnsupportedIterableError = class extends Error {
|
|
|
20
23
|
this.name = "AppPageSubtreeProbeUnsupportedIterableError";
|
|
21
24
|
}
|
|
22
25
|
};
|
|
23
|
-
function isPromiseLike(value) {
|
|
24
|
-
return Boolean(value && (typeof value === "object" || typeof value === "function") && "then" in value && typeof value.then === "function");
|
|
25
|
-
}
|
|
26
26
|
function isIterable(value) {
|
|
27
27
|
return Boolean(value && typeof value !== "string" && typeof value === "object" && Symbol.iterator in value && typeof value[Symbol.iterator] === "function");
|
|
28
28
|
}
|
|
@@ -117,6 +117,14 @@ async function probeReactServerSubtree(node, options = {}) {
|
|
|
117
117
|
};
|
|
118
118
|
await visit(node, 0);
|
|
119
119
|
}
|
|
120
|
+
async function probeReactServerSubtreeForDynamicUsage(node) {
|
|
121
|
+
try {
|
|
122
|
+
await probeReactServerSubtree(node);
|
|
123
|
+
} catch (error) {
|
|
124
|
+
if (isNextRouterError(error)) return;
|
|
125
|
+
throw error;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
120
128
|
/**
|
|
121
129
|
* Build a probePage() invocation for the App Router request lifecycle.
|
|
122
130
|
*
|
|
@@ -138,10 +146,84 @@ function probeAppPage(options) {
|
|
|
138
146
|
const { pageComponent, asyncRouteParams, searchParams } = options;
|
|
139
147
|
if (typeof pageComponent !== "function") return null;
|
|
140
148
|
const { pageSearchParams } = collectAppPageSearchParams(searchParams);
|
|
141
|
-
|
|
149
|
+
const result = pageComponent(markAppPagePropsForUseCache({
|
|
142
150
|
params: asyncRouteParams,
|
|
143
|
-
searchParams:
|
|
151
|
+
searchParams: makeObservedAppPageSearchParamsThenable(pageSearchParams, { observeReactPromiseStatus: true })
|
|
152
|
+
}));
|
|
153
|
+
if (isPromiseLike(result)) return result.then(async (resolved) => {
|
|
154
|
+
await probeReactServerSubtreeForDynamicUsage(resolved);
|
|
155
|
+
return resolved;
|
|
144
156
|
});
|
|
157
|
+
if (isValidElement(result) || Array.isArray(result)) return probeReactServerSubtreeForDynamicUsage(result).then(() => result);
|
|
158
|
+
return result;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Fan out the per-request page probes for the App Router dispatch lifecycle.
|
|
162
|
+
*
|
|
163
|
+
* A single request can render more than one page component: the matched page,
|
|
164
|
+
* each active parallel-route slot page, and an interception page when one
|
|
165
|
+
* matches. Each must be probed so searchParams access anywhere in the rendered
|
|
166
|
+
* tree bails the request out of the query-invariant static cache.
|
|
167
|
+
*
|
|
168
|
+
* Extracted out of the generated RSC entry so the fan-out is directly
|
|
169
|
+
* unit-testable and the entry stays codegen glue (see AGENTS.md "Generated
|
|
170
|
+
* Entry Modules Should Stay Thin"). Returns a list of resolved promises so the
|
|
171
|
+
* caller can `Promise.all` them.
|
|
172
|
+
*
|
|
173
|
+
* The fan-out is scoped to the page components that render for this request:
|
|
174
|
+
*
|
|
175
|
+
* - **Interception override:** when an interception matches it replaces the
|
|
176
|
+
* page of the slot named by `intercept.slotKey` (the element builder sets
|
|
177
|
+
* `overrides[slotKey].pageModule` to the interception page, which wins over
|
|
178
|
+
* `slot.page` in `app-page-route-wiring.tsx`). We probe the interception page
|
|
179
|
+
* in place of that slot's own page rather than probing both — probing the
|
|
180
|
+
* overridden slot page would mark an otherwise-static request dynamic for a
|
|
181
|
+
* component that never renders.
|
|
182
|
+
* - **Non-overridden slots:** `slot.page?.default` is exactly what renders.
|
|
183
|
+
* `app-page-route-wiring.tsx` resolves a slot to `overrideOrPageComponent ??
|
|
184
|
+
* defaultComponent`, so whenever a slot has a `page.tsx` that page renders.
|
|
185
|
+
* When a slot has only a `default.tsx` (including the soft-nav case at
|
|
186
|
+
* `app-page-route-wiring.tsx:741` that skips an already-mounted slot), there
|
|
187
|
+
* is no `slot.page?.default`, so `probeAppPage` short-circuits to `null` and
|
|
188
|
+
* probes nothing — a no-op, not an over-bail.
|
|
189
|
+
*
|
|
190
|
+
* Interception only fires for RSC navigations (`resolveAppPageInterceptState`
|
|
191
|
+
* returns `kind: "none"` when `!isRscRequest`, app-page-request.ts:324), so the
|
|
192
|
+
* interception handling here is gated on `isRscRequest`. For non-RSC (HTML)
|
|
193
|
+
* requests the matched route renders normally, so we probe every slot's own
|
|
194
|
+
* page and skip the interception probe entirely. The remaining "source-route"
|
|
195
|
+
* interception case (where a *different* route renders, app-page-request.ts:342)
|
|
196
|
+
* never reaches this probe: `dispatchAppPage` returns the intercepted response
|
|
197
|
+
* before calling `probePage`, so by the time this runs any matched interception
|
|
198
|
+
* is the current-route override case above.
|
|
199
|
+
*
|
|
200
|
+
* A `default.tsx` that itself awaits `searchParams` is not probed here, but the
|
|
201
|
+
* real render still observes that access and skips the query-invariant cache
|
|
202
|
+
* write (the same loading.tsx backstop), so this cannot under-bail.
|
|
203
|
+
*/
|
|
204
|
+
function buildAppPageProbes(options) {
|
|
205
|
+
const { route, pageComponent, asyncRouteParams, searchParams, matchedParams } = options;
|
|
206
|
+
const intercept = options.isRscRequest ? options.intercept : null;
|
|
207
|
+
const probes = [probeAppPage({
|
|
208
|
+
pageComponent,
|
|
209
|
+
asyncRouteParams,
|
|
210
|
+
searchParams
|
|
211
|
+
})];
|
|
212
|
+
const overriddenSlotKey = intercept?.slotKey ?? null;
|
|
213
|
+
for (const [slotKey, slot] of Object.entries(route.slots ?? {})) {
|
|
214
|
+
if (overriddenSlotKey !== null && slotKey === overriddenSlotKey) continue;
|
|
215
|
+
probes.push(probeAppPage({
|
|
216
|
+
pageComponent: slot?.page?.default,
|
|
217
|
+
asyncRouteParams,
|
|
218
|
+
searchParams
|
|
219
|
+
}));
|
|
220
|
+
}
|
|
221
|
+
if (intercept) probes.push(probeAppPage({
|
|
222
|
+
pageComponent: intercept.page?.default,
|
|
223
|
+
asyncRouteParams: options.makeThenableParams(intercept.matchedParams ?? matchedParams),
|
|
224
|
+
searchParams
|
|
225
|
+
}));
|
|
226
|
+
return probes.map((probe) => Promise.resolve(probe));
|
|
145
227
|
}
|
|
146
228
|
async function probeAppPageBeforeRender(options) {
|
|
147
229
|
let layoutFlags = {};
|
|
@@ -186,6 +268,4 @@ async function probeAppPageBeforeRender(options) {
|
|
|
186
268
|
};
|
|
187
269
|
}
|
|
188
270
|
//#endregion
|
|
189
|
-
export { probeAppPage, probeAppPageBeforeRender, probeReactServerSubtree };
|
|
190
|
-
|
|
191
|
-
//# sourceMappingURL=app-page-probe.js.map
|
|
271
|
+
export { buildAppPageProbes, probeAppPage, probeAppPageBeforeRender, probeReactServerSubtree };
|
|
@@ -18,5 +18,4 @@ type AppPageRenderIdentity = {
|
|
|
18
18
|
declare function normalizeAppPageInterceptionProofPathname(pathname: string | null): string | null;
|
|
19
19
|
declare function createAppPageRenderIdentity(input: AppPageRenderIdentityInput): AppPageRenderIdentity;
|
|
20
20
|
//#endregion
|
|
21
|
-
export { AppPageRenderIdentity, createAppPageRenderIdentity, normalizeAppPageInterceptionProofPathname };
|
|
22
|
-
//# sourceMappingURL=app-page-render-identity.d.ts.map
|
|
21
|
+
export { AppPageRenderIdentity, createAppPageRenderIdentity, normalizeAppPageInterceptionProofPathname };
|
|
@@ -31,5 +31,4 @@ declare function createAppPageHtmlOutputScope(options: {
|
|
|
31
31
|
routePattern: string;
|
|
32
32
|
}): CacheProofOutputScope;
|
|
33
33
|
//#endregion
|
|
34
|
-
export { AppPageRenderObservationState, createAppPageHtmlOutputScope, createAppPageRenderObservation, createAppPageRscOutputScope, createEmptyAppPageRenderObservationState };
|
|
35
|
-
//# sourceMappingURL=app-page-render-observation.d.ts.map
|
|
34
|
+
export { AppPageRenderObservationState, createAppPageHtmlOutputScope, createAppPageRenderObservation, createAppPageRscOutputScope, createEmptyAppPageRenderObservationState };
|
|
@@ -64,5 +64,3 @@ function createAppPageHtmlOutputScope(options) {
|
|
|
64
64
|
}
|
|
65
65
|
//#endregion
|
|
66
66
|
export { createAppPageHtmlOutputScope, createAppPageRenderObservation, createAppPageRscOutputScope, createEmptyAppPageRenderObservationState };
|
|
67
|
-
|
|
68
|
-
//# sourceMappingURL=app-page-render-observation.js.map
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { CachedAppPageValue } from "../shims/cache.js";
|
|
2
|
+
import { ClientReuseManifestParseResult, ClientReuseManifestSkipDisposition } from "./client-reuse-manifest.js";
|
|
2
3
|
import { AppOutgoingElements } from "./app-elements-wire.js";
|
|
4
|
+
import { NavigationContext } from "../shims/navigation.js";
|
|
3
5
|
import { AppPageFontPreload, AppPageSpecialError, LayoutClassificationOptions } from "./app-page-execution.js";
|
|
4
6
|
import { AppPageMiddlewareContext } from "./app-page-response.js";
|
|
5
7
|
import { RootParams } from "../shims/root-params.js";
|
|
6
8
|
import { AppPageSsrHandler } from "./app-page-stream.js";
|
|
9
|
+
import { AppLayoutParamAccessTracker } from "./app-layout-param-observation.js";
|
|
7
10
|
import { AppRscRenderMode } from "./app-rsc-render-mode.js";
|
|
8
11
|
import { AppPageRenderObservationState } from "./app-page-render-observation.js";
|
|
9
12
|
import { ReactNode } from "react";
|
|
@@ -34,13 +37,14 @@ type RenderAppPageLifecycleOptions = {
|
|
|
34
37
|
getFontLinks: () => string[];
|
|
35
38
|
getFontPreloads: () => AppPageFontPreload[];
|
|
36
39
|
getFontStyles: () => string[];
|
|
37
|
-
getNavigationContext: () =>
|
|
40
|
+
getNavigationContext: () => NavigationContext | null;
|
|
38
41
|
getPageTags: () => string[];
|
|
39
42
|
getRequestCacheLife: () => AppPageRequestCacheLife | null;
|
|
40
43
|
peekRequestCacheLife?: () => AppPageRequestCacheLife | null;
|
|
41
44
|
getDraftModeCookieHeader: () => string | null | undefined;
|
|
42
45
|
handlerStart: number;
|
|
43
46
|
hasLoadingBoundary: boolean;
|
|
47
|
+
dynamicStaleTimeSeconds?: number;
|
|
44
48
|
isDynamicError: boolean;
|
|
45
49
|
isDraftMode: boolean;
|
|
46
50
|
isEdgeRuntime?: boolean;
|
|
@@ -76,13 +80,15 @@ type RenderAppPageLifecycleOptions = {
|
|
|
76
80
|
routePattern: string;
|
|
77
81
|
runWithSuppressedHookWarning<T>(probe: () => Promise<T>): Promise<T>;
|
|
78
82
|
scriptNonce?: string;
|
|
83
|
+
clientReuseManifest?: ClientReuseManifestParseResult;
|
|
84
|
+
skipDisposition?: ClientReuseManifestSkipDisposition;
|
|
79
85
|
mountedSlotsHeader?: string | null;
|
|
80
86
|
renderMode?: AppRscRenderMode;
|
|
81
87
|
waitUntil?: (promise: Promise<void>) => void;
|
|
88
|
+
layoutParamAccess?: AppLayoutParamAccessTracker;
|
|
82
89
|
element: ReactNode | Readonly<Record<string, ReactNode>>;
|
|
83
90
|
classification?: LayoutClassificationOptions | null;
|
|
84
91
|
};
|
|
85
92
|
declare function renderAppPageLifecycle(options: RenderAppPageLifecycleOptions): Promise<Response>;
|
|
86
93
|
//#endregion
|
|
87
|
-
export { renderAppPageLifecycle };
|
|
88
|
-
//# sourceMappingURL=app-page-render.d.ts.map
|
|
94
|
+
export { renderAppPageLifecycle };
|
|
@@ -2,13 +2,18 @@ import { createArtifactCompatibilityEnvelope, createArtifactCompatibilityGraphVe
|
|
|
2
2
|
import { AppElementsWire, isAppElementsRecord } from "./app-elements-wire.js";
|
|
3
3
|
import "./app-elements.js";
|
|
4
4
|
import { runWithFetchDedupe } from "../shims/fetch-cache.js";
|
|
5
|
+
import { NO_STORE_CACHE_CONTROL } from "./cache-control.js";
|
|
5
6
|
import { buildAppPageHtmlResponse, buildAppPageRscResponse, resolveAppPageHtmlResponsePolicy, resolveAppPageRscResponsePolicy } from "./app-page-response.js";
|
|
6
7
|
import { buildAppPageFontLinkHeader, readAppPageBinaryStream, resolveAppPageSpecialError, teeAppPageRscStreamForCapture } from "./app-page-execution.js";
|
|
7
|
-
import {
|
|
8
|
+
import { probeAppPageBeforeRender } from "./app-page-probe.js";
|
|
9
|
+
import { DEFAULT_CACHE_VARIANT_BUDGET, buildCacheVariantWithRouteBudget, buildRenderObservation, buildRenderRequestApiObservations, createStaticLayoutArtifactReuseDecision } from "./cache-proof.js";
|
|
8
10
|
import { createAppPageHtmlOutputScope, createAppPageRenderObservation, createAppPageRscOutputScope, createEmptyAppPageRenderObservationState } from "./app-page-render-observation.js";
|
|
9
11
|
import { finalizeAppPageHtmlCacheResponse, finalizeAppPageRscCacheResponse } from "./app-page-cache.js";
|
|
12
|
+
import { createStaticLayoutClientReuseArtifactCompatibility, createStaticLayoutClientReusePayloadHash, createStaticLayoutClientReuseRouteId } from "./static-layout-client-reuse-proof.js";
|
|
13
|
+
import { createAppPageFontData, createAppPageRscErrorTracker, deferUntilStreamConsumed, renderAppPageHtmlStream, renderAppPageHtmlStreamWithRecovery, shouldRerenderAppPageWithGlobalError } from "./app-page-stream.js";
|
|
14
|
+
import { getStaticLayoutObservationSkipRejection } from "./app-layout-param-observation.js";
|
|
10
15
|
import { hasDigest } from "./app-rsc-errors.js";
|
|
11
|
-
import {
|
|
16
|
+
import { createClientReuseSkipTransportPlan, crossCheckClientReuseManifestEntryWithCache } from "./skip-cache-proof.js";
|
|
12
17
|
//#region src/server/app-page-render.ts
|
|
13
18
|
function buildResponseTiming(options) {
|
|
14
19
|
if (options.isProduction) return;
|
|
@@ -49,6 +54,146 @@ function createAppPageArtifactCompatibility(element, routePattern) {
|
|
|
49
54
|
rootBoundaryId
|
|
50
55
|
});
|
|
51
56
|
}
|
|
57
|
+
function readStringMetadata(element, key) {
|
|
58
|
+
const value = element[key];
|
|
59
|
+
return typeof value === "string" ? value : null;
|
|
60
|
+
}
|
|
61
|
+
function createStaticLayoutOutputScope(input) {
|
|
62
|
+
const routeId = readStringMetadata(input.element, AppElementsWire.keys.route);
|
|
63
|
+
if (routeId === null) return null;
|
|
64
|
+
return {
|
|
65
|
+
kind: "layout",
|
|
66
|
+
layoutId: input.layoutId,
|
|
67
|
+
rootBoundaryId: input.artifactCompatibility.rootBoundaryId,
|
|
68
|
+
routeId
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
function createRenderAndSendSkipDisposition() {
|
|
72
|
+
return {
|
|
73
|
+
code: "SKIP_MODEL_DISABLED",
|
|
74
|
+
enabled: false,
|
|
75
|
+
mode: "renderAndSend"
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
function rejectStaticLayoutObservation(entry, code, fields = {}) {
|
|
79
|
+
return {
|
|
80
|
+
kind: "rejected",
|
|
81
|
+
rejection: {
|
|
82
|
+
code,
|
|
83
|
+
entryId: entry.id,
|
|
84
|
+
fields
|
|
85
|
+
},
|
|
86
|
+
skipDisposition: createRenderAndSendSkipDisposition()
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
function rejectUnsafeStaticLayoutObservation(entry, layoutParamAccess) {
|
|
90
|
+
const observation = layoutParamAccess?.getLayoutObservation(entry.id);
|
|
91
|
+
if (!observation) return rejectStaticLayoutObservation(entry, "SKIP_LAYOUT_PARAMS_OBSERVATION_INCOMPLETE");
|
|
92
|
+
const observationRejection = getStaticLayoutObservationSkipRejection(observation);
|
|
93
|
+
if (observationRejection) return rejectStaticLayoutObservation(entry, observationRejection.code, observationRejection.fields);
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
function createRenderLifecycleSkipDisposition(input) {
|
|
97
|
+
if (!input.isRscRequest || input.clientReuseManifest === void 0) return;
|
|
98
|
+
const clientReuseManifest = input.clientReuseManifest;
|
|
99
|
+
if (clientReuseManifest.kind !== "parsed" || clientReuseManifest.manifest.entries.length === 0) return;
|
|
100
|
+
if (!isAppElementsRecord(input.element) || input.artifactCompatibility === void 0) return {
|
|
101
|
+
code: "SKIP_MODEL_DISABLED",
|
|
102
|
+
enabled: false,
|
|
103
|
+
mode: "renderAndSend"
|
|
104
|
+
};
|
|
105
|
+
const element = input.element;
|
|
106
|
+
const artifactCompatibility = input.artifactCompatibility;
|
|
107
|
+
const staticLayoutIds = new Set(Object.entries(input.layoutFlags).filter(([, flag]) => flag === "s").map(([layoutId]) => layoutId));
|
|
108
|
+
return createClientReuseSkipTransportPlan({
|
|
109
|
+
manifest: clientReuseManifest,
|
|
110
|
+
verifyEntry(entry) {
|
|
111
|
+
if (entry.kind !== "layout" || !staticLayoutIds.has(entry.id) || AppElementsWire.parseElementKey(entry.id)?.kind !== "layout") return crossCheckClientReuseManifestEntryWithCache({
|
|
112
|
+
artifact: {
|
|
113
|
+
compatibility: artifactCompatibility,
|
|
114
|
+
invalidation: { kind: "unknown" },
|
|
115
|
+
payloadHash: null
|
|
116
|
+
},
|
|
117
|
+
cacheDecision: null,
|
|
118
|
+
entry
|
|
119
|
+
});
|
|
120
|
+
const currentOutput = createStaticLayoutOutputScope({
|
|
121
|
+
artifactCompatibility,
|
|
122
|
+
element,
|
|
123
|
+
layoutId: entry.id
|
|
124
|
+
});
|
|
125
|
+
if (currentOutput === null) return crossCheckClientReuseManifestEntryWithCache({
|
|
126
|
+
artifact: {
|
|
127
|
+
compatibility: artifactCompatibility,
|
|
128
|
+
invalidation: { kind: "unknown" },
|
|
129
|
+
payloadHash: null
|
|
130
|
+
},
|
|
131
|
+
cacheDecision: null,
|
|
132
|
+
entry
|
|
133
|
+
});
|
|
134
|
+
const observationRejection = rejectUnsafeStaticLayoutObservation(entry, input.layoutParamAccess);
|
|
135
|
+
if (observationRejection) return observationRejection;
|
|
136
|
+
const candidateRouteId = createStaticLayoutClientReuseRouteId(entry.id);
|
|
137
|
+
const candidateOutput = {
|
|
138
|
+
...currentOutput,
|
|
139
|
+
routeId: candidateRouteId
|
|
140
|
+
};
|
|
141
|
+
const candidateVariant = buildCacheVariantWithRouteBudget({
|
|
142
|
+
budget: DEFAULT_CACHE_VARIANT_BUDGET,
|
|
143
|
+
dimensions: [],
|
|
144
|
+
output: candidateOutput,
|
|
145
|
+
routeBudget: {
|
|
146
|
+
routeId: candidateRouteId,
|
|
147
|
+
variantCacheKeys: []
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
const skipArtifactCompatibility = candidateVariant.kind === "variant" ? createStaticLayoutClientReuseArtifactCompatibility({
|
|
151
|
+
artifactCompatibility,
|
|
152
|
+
layoutId: entry.id,
|
|
153
|
+
rootBoundaryId: candidateOutput.rootBoundaryId,
|
|
154
|
+
routeId: candidateOutput.routeId,
|
|
155
|
+
variantCacheKey: candidateVariant.variant.cacheKey
|
|
156
|
+
}) : artifactCompatibility;
|
|
157
|
+
const cacheDecision = createStaticLayoutArtifactReuseDecision({
|
|
158
|
+
candidateArtifactCompatibility: skipArtifactCompatibility,
|
|
159
|
+
candidateObservation: buildRenderObservation({
|
|
160
|
+
boundaryOutcome: { kind: "success" },
|
|
161
|
+
cacheability: "public",
|
|
162
|
+
cacheTags: [],
|
|
163
|
+
completeness: "complete",
|
|
164
|
+
dynamicFetches: [],
|
|
165
|
+
output: candidateOutput,
|
|
166
|
+
pathTags: [input.cleanPathname],
|
|
167
|
+
requestApis: buildRenderRequestApiObservations({
|
|
168
|
+
completeness: "complete",
|
|
169
|
+
observed: []
|
|
170
|
+
})
|
|
171
|
+
}),
|
|
172
|
+
candidateVariant,
|
|
173
|
+
currentArtifactCompatibility: skipArtifactCompatibility,
|
|
174
|
+
currentOutput
|
|
175
|
+
});
|
|
176
|
+
return crossCheckClientReuseManifestEntryWithCache({
|
|
177
|
+
artifact: {
|
|
178
|
+
compatibility: skipArtifactCompatibility,
|
|
179
|
+
invalidation: { kind: "valid" },
|
|
180
|
+
payloadHash: candidateVariant.kind === "variant" ? createStaticLayoutClientReusePayloadHash({
|
|
181
|
+
artifactCompatibility: skipArtifactCompatibility,
|
|
182
|
+
layoutId: entry.id,
|
|
183
|
+
rootBoundaryId: candidateOutput.rootBoundaryId,
|
|
184
|
+
routeId: candidateOutput.routeId,
|
|
185
|
+
variantCacheKey: candidateVariant.variant.cacheKey
|
|
186
|
+
}) : null
|
|
187
|
+
},
|
|
188
|
+
cacheDecision,
|
|
189
|
+
entry
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
}).skipDisposition;
|
|
193
|
+
}
|
|
194
|
+
function isSkipTransportEnabled(skipDisposition) {
|
|
195
|
+
return skipDisposition?.enabled === true;
|
|
196
|
+
}
|
|
52
197
|
/**
|
|
53
198
|
* Wraps an RSC response body to report invalid dynamic usage errors after the
|
|
54
199
|
* stream is fully consumed. In dev mode, errors from cookies()/headers() inside
|
|
@@ -151,18 +296,29 @@ async function renderAppPageLifecycle(options) {
|
|
|
151
296
|
params: options.params,
|
|
152
297
|
state: options.peekRenderObservationState?.() ?? createEmptyAppPageRenderObservationState()
|
|
153
298
|
});
|
|
299
|
+
const skipDisposition = options.skipDisposition ?? createRenderLifecycleSkipDisposition({
|
|
300
|
+
artifactCompatibility,
|
|
301
|
+
cleanPathname: options.cleanPathname,
|
|
302
|
+
clientReuseManifest: options.clientReuseManifest,
|
|
303
|
+
element: options.element,
|
|
304
|
+
isRscRequest: options.isRscRequest,
|
|
305
|
+
layoutFlags,
|
|
306
|
+
layoutParamAccess: options.layoutParamAccess
|
|
307
|
+
});
|
|
308
|
+
const shouldBypassRscCacheForSkipTransport = options.isRscRequest && isSkipTransportEnabled(skipDisposition);
|
|
154
309
|
const outgoingElement = AppElementsWire.encodeOutgoingPayload({
|
|
155
310
|
element: options.element,
|
|
156
311
|
layoutFlags,
|
|
157
312
|
...artifactCompatibility ? { artifactCompatibility } : {},
|
|
158
|
-
renderObservation: payloadRenderObservation
|
|
313
|
+
renderObservation: payloadRenderObservation,
|
|
314
|
+
skipDisposition: options.isRscRequest ? skipDisposition : void 0
|
|
159
315
|
});
|
|
160
316
|
const compileEnd = options.isProduction ? void 0 : performance.now();
|
|
161
317
|
const rscErrorTracker = createAppPageRscErrorTracker(options.createRscOnErrorHandler(options.cleanPathname, options.routePattern));
|
|
162
318
|
const rscStream = runWithFetchDedupe(() => options.renderToReadableStream(outgoingElement, { onError: rscErrorTracker.onRenderError }));
|
|
163
319
|
let revalidateSeconds = options.revalidateSeconds;
|
|
164
320
|
let expireSeconds = options.expireSeconds;
|
|
165
|
-
const shouldCaptureRscForCacheMetadata = options.isProgressiveActionRender !== true && (options.isProduction || options.isPrerender === true) && (revalidateSeconds === null || revalidateSeconds > 0 && revalidateSeconds !== Infinity) && !options.isDraftMode && !options.isForceDynamic;
|
|
321
|
+
const shouldCaptureRscForCacheMetadata = options.isProgressiveActionRender !== true && (options.isProduction || options.isPrerender === true) && (revalidateSeconds === null || revalidateSeconds > 0 && revalidateSeconds !== Infinity) && !options.isDraftMode && !options.isForceDynamic && !shouldBypassRscCacheForSkipTransport;
|
|
166
322
|
const rscCapture = teeAppPageRscStreamForCapture(rscStream, shouldCaptureRscForCacheMetadata);
|
|
167
323
|
const rscForResponse = rscCapture.ssrStream;
|
|
168
324
|
const capturedRscDataRef = { value: null };
|
|
@@ -177,7 +333,7 @@ async function renderAppPageLifecycle(options) {
|
|
|
177
333
|
}));
|
|
178
334
|
}
|
|
179
335
|
const dynamicUsedDuringBuild = options.consumeDynamicUsage();
|
|
180
|
-
const rscResponsePolicy = resolveAppPageRscResponsePolicy({
|
|
336
|
+
const rscResponsePolicy = shouldBypassRscCacheForSkipTransport ? { cacheControl: NO_STORE_CACHE_CONTROL } : resolveAppPageRscResponsePolicy({
|
|
181
337
|
dynamicUsedDuringBuild,
|
|
182
338
|
isDraftMode: options.isDraftMode,
|
|
183
339
|
isDynamicError: options.isDynamicError,
|
|
@@ -187,7 +343,9 @@ async function renderAppPageLifecycle(options) {
|
|
|
187
343
|
expireSeconds,
|
|
188
344
|
revalidateSeconds
|
|
189
345
|
});
|
|
346
|
+
if (shouldBypassRscCacheForSkipTransport) options.isrDebug?.("RSC cache write skipped (skip transport payload)", options.cleanPathname);
|
|
190
347
|
const rscResponse = buildAppPageRscResponse(rscForResponse, {
|
|
348
|
+
dynamicStaleTimeSeconds: options.dynamicStaleTimeSeconds !== void 0 && options.isPrerender !== true && !options.isForceStatic && (dynamicUsedDuringBuild || !shouldCaptureRscForCacheMetadata) ? options.dynamicStaleTimeSeconds : void 0,
|
|
191
349
|
isEdgeRuntime: options.isEdgeRuntime,
|
|
192
350
|
middlewareContext: options.middlewareContext,
|
|
193
351
|
mountedSlotsHeader: options.mountedSlotsHeader,
|
|
@@ -250,7 +408,7 @@ async function renderAppPageLifecycle(options) {
|
|
|
250
408
|
if (!options.isProduction) renderEnd = performance.now();
|
|
251
409
|
},
|
|
252
410
|
renderErrorBoundaryResponse(error) {
|
|
253
|
-
return options.renderErrorBoundaryResponse(error);
|
|
411
|
+
return options.renderErrorBoundaryResponse(rscErrorTracker.getCapturedError() ?? error);
|
|
254
412
|
},
|
|
255
413
|
async renderHtmlStream() {
|
|
256
414
|
const ssrHandler = await options.loadSsrHandler();
|
|
@@ -275,8 +433,9 @@ async function renderAppPageLifecycle(options) {
|
|
|
275
433
|
resolveSpecialError: resolveAppPageSpecialError
|
|
276
434
|
});
|
|
277
435
|
if (htmlRender.response) return htmlRender.response;
|
|
278
|
-
|
|
436
|
+
let htmlStream = htmlRender.htmlStream;
|
|
279
437
|
if (!htmlStream) throw new Error("[vinext] Expected an HTML stream when no fallback response was returned");
|
|
438
|
+
if (options.isPrerender === true) await htmlRender.metadataReady;
|
|
280
439
|
if (options.hasLoadingBoundary) {
|
|
281
440
|
const captured = rscErrorTracker.getCapturedSpecialError();
|
|
282
441
|
if (captured) {
|
|
@@ -295,7 +454,7 @@ async function renderAppPageLifecycle(options) {
|
|
|
295
454
|
if (cleanResponse) return cleanResponse;
|
|
296
455
|
}
|
|
297
456
|
if (options.isPrerender === true) {
|
|
298
|
-
await settleCapturedRscRenderForCacheMetadata(
|
|
457
|
+
await settleCapturedRscRenderForCacheMetadata(htmlRender.capturedRscData);
|
|
299
458
|
({expireSeconds, revalidateSeconds} = applyRequestCacheLife({
|
|
300
459
|
expireSeconds,
|
|
301
460
|
requestCacheLife: readRequestCacheLifeForPrerender(options),
|
|
@@ -407,5 +566,3 @@ async function settleCapturedRscRenderForCacheMetadata(capturedRscDataPromise) {
|
|
|
407
566
|
}
|
|
408
567
|
//#endregion
|
|
409
568
|
export { renderAppPageLifecycle };
|
|
410
|
-
|
|
411
|
-
//# sourceMappingURL=app-page-render.js.map
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AppPageSpecialError } from "./app-page-execution.js";
|
|
2
|
+
import { AppLayoutParamAccessTracker } from "./app-layout-param-observation.js";
|
|
2
3
|
|
|
3
4
|
//#region src/server/app-page-request.d.ts
|
|
4
5
|
type AppPageParams = Record<string, string | string[]>;
|
|
@@ -76,13 +77,14 @@ type ResolveAppPageInterceptionRerenderTargetResult<TRoute, TInterceptOpts> = {
|
|
|
76
77
|
type ResolveAppPageActionRerenderTargetOptions<TRoute, TPage, TInterceptOpts> = ResolveAppPageInterceptionRerenderTargetOptions<TRoute, TPage, TInterceptOpts>;
|
|
77
78
|
type ResolveAppPageActionRerenderTargetResult<TRoute, TInterceptOpts> = ResolveAppPageInterceptionRerenderTargetResult<TRoute, TInterceptOpts>;
|
|
78
79
|
type ResolveAppPageInterceptOptions<TRoute, TPage, TInterceptOpts, TElement> = {
|
|
79
|
-
buildPageElement: (route: TRoute, params: AppPageParams, interceptOpts: TInterceptOpts | undefined, searchParams: URLSearchParams) => Promise<TElement>;
|
|
80
|
+
buildPageElement: (route: TRoute, params: AppPageParams, interceptOpts: TInterceptOpts | undefined, searchParams: URLSearchParams, layoutParamAccess?: AppLayoutParamAccessTracker) => Promise<TElement>;
|
|
80
81
|
cleanPathname: string;
|
|
81
82
|
currentRoute: TRoute;
|
|
82
83
|
findIntercept: (pathname: string) => AppPageInterceptMatch<TPage> | null;
|
|
83
84
|
getRouteParamNames: (route: TRoute) => readonly string[];
|
|
84
85
|
getSourceRoute: (sourceRouteIndex: number) => TRoute | undefined;
|
|
85
86
|
isRscRequest: boolean;
|
|
87
|
+
layoutParamAccess?: AppLayoutParamAccessTracker;
|
|
86
88
|
renderInterceptResponse: (route: TRoute, element: TElement) => Promise<Response> | Response;
|
|
87
89
|
searchParams: URLSearchParams;
|
|
88
90
|
setNavigationContext: (context: {
|
|
@@ -120,5 +122,4 @@ declare function resolveAppPageActionRerenderTarget<TRoute, TPage, TInterceptOpt
|
|
|
120
122
|
declare function resolveAppPageIntercept<TRoute, TPage, TInterceptOpts, TElement>(options: ResolveAppPageInterceptOptions<TRoute, TPage, TInterceptOpts, TElement>): Promise<ResolveAppPageInterceptResult<TInterceptOpts>>;
|
|
121
123
|
declare function buildAppPageElement<TElement>(options: BuildAppPageElementOptions<TElement>): Promise<BuildAppPageElementResult<TElement>>;
|
|
122
124
|
//#endregion
|
|
123
|
-
export { ValidateAppPageDynamicParamsOptions, buildAppPageElement, resolveAppPageActionRerenderTarget, resolveAppPageGenerateStaticParamsSources, resolveAppPageIntercept, resolveAppPageInterceptMatch, resolveAppPageInterceptionRerenderTarget, validateAppPageDynamicParams };
|
|
124
|
-
//# sourceMappingURL=app-page-request.d.ts.map
|
|
125
|
+
export { ValidateAppPageDynamicParamsOptions, buildAppPageElement, resolveAppPageActionRerenderTarget, resolveAppPageGenerateStaticParamsSources, resolveAppPageIntercept, resolveAppPageInterceptMatch, resolveAppPageInterceptionRerenderTarget, validateAppPageDynamicParams };
|
|
@@ -158,7 +158,7 @@ async function resolveAppPageIntercept(options) {
|
|
|
158
158
|
pathname: options.cleanPathname,
|
|
159
159
|
searchParams: options.searchParams
|
|
160
160
|
});
|
|
161
|
-
const interceptElement = await options.buildPageElement(interceptState.sourceRoute, pickRouteParams(interceptState.intercept.matchedParams, options.getRouteParamNames(interceptState.sourceRoute)), options.toInterceptOpts(interceptState.intercept), options.searchParams);
|
|
161
|
+
const interceptElement = await options.buildPageElement(interceptState.sourceRoute, pickRouteParams(interceptState.intercept.matchedParams, options.getRouteParamNames(interceptState.sourceRoute)), options.toInterceptOpts(interceptState.intercept), options.searchParams, options.layoutParamAccess);
|
|
162
162
|
return {
|
|
163
163
|
interceptOpts: void 0,
|
|
164
164
|
response: await options.renderInterceptResponse(interceptState.sourceRoute, interceptElement)
|
|
@@ -191,5 +191,3 @@ async function buildAppPageElement(options) {
|
|
|
191
191
|
}
|
|
192
192
|
//#endregion
|
|
193
193
|
export { buildAppPageElement, resolveAppPageActionRerenderTarget, resolveAppPageGenerateStaticParamsSources, resolveAppPageIntercept, resolveAppPageInterceptMatch, resolveAppPageInterceptionRerenderTarget, validateAppPageDynamicParams };
|
|
194
|
-
|
|
195
|
-
//# sourceMappingURL=app-page-request.js.map
|
|
@@ -36,6 +36,7 @@ type AppPageHtmlResponsePolicy = {
|
|
|
36
36
|
shouldWriteToCache: boolean;
|
|
37
37
|
} & AppPageResponsePolicy;
|
|
38
38
|
type BuildAppPageRscResponseOptions = {
|
|
39
|
+
dynamicStaleTimeSeconds?: number;
|
|
39
40
|
isEdgeRuntime?: boolean;
|
|
40
41
|
middlewareContext: AppPageMiddlewareContext;
|
|
41
42
|
mountedSlotsHeader?: string | null;
|
|
@@ -64,5 +65,4 @@ declare function applyEdgeRuntimeHeader(headers: Headers, isEdgeRuntime: boolean
|
|
|
64
65
|
declare function buildAppPageRscResponse(body: ReadableStream, options: BuildAppPageRscResponseOptions): Response;
|
|
65
66
|
declare function buildAppPageHtmlResponse(body: ReadableStream, options: BuildAppPageHtmlResponseOptions): Response;
|
|
66
67
|
//#endregion
|
|
67
|
-
export { AppPageMiddlewareContext, AppPageResponseTiming, applyEdgeRuntimeHeader, buildAppPageHtmlResponse, buildAppPageRscResponse, mergeMiddlewareResponseHeaders, resolveAppPageHtmlResponsePolicy, resolveAppPageRscResponsePolicy };
|
|
68
|
-
//# sourceMappingURL=app-page-response.d.ts.map
|
|
68
|
+
export { AppPageMiddlewareContext, AppPageResponseTiming, applyEdgeRuntimeHeader, buildAppPageHtmlResponse, buildAppPageRscResponse, mergeMiddlewareResponseHeaders, resolveAppPageHtmlResponsePolicy, resolveAppPageRscResponsePolicy };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { VINEXT_MOUNTED_SLOTS_HEADER, VINEXT_PARAMS_HEADER, VINEXT_TIMING_HEADER } from "./headers.js";
|
|
1
|
+
import { VINEXT_DYNAMIC_STALE_TIME_HEADER, VINEXT_MOUNTED_SLOTS_HEADER, VINEXT_PARAMS_HEADER, VINEXT_TIMING_HEADER } from "./headers.js";
|
|
2
2
|
import { setCacheStateHeaders } from "./cache-headers.js";
|
|
3
3
|
import { VINEXT_RSC_CONTENT_TYPE, VINEXT_RSC_VARY_HEADER, applyRscCompatibilityIdHeader } from "./app-rsc-cache-busting.js";
|
|
4
4
|
import { NO_STORE_CACHE_CONTROL, STATIC_CACHE_CONTROL, buildRevalidateCacheControl } from "./cache-control.js";
|
|
@@ -11,6 +11,9 @@ function applyTimingHeader(headers, timing) {
|
|
|
11
11
|
const renderMs = timing.responseKind === "html" && timing.renderEnd !== void 0 && timing.compileEnd !== void 0 ? Math.round(timing.renderEnd - timing.compileEnd) : -1;
|
|
12
12
|
headers.set(VINEXT_TIMING_HEADER, `${handlerStart},${compileMs},${renderMs}`);
|
|
13
13
|
}
|
|
14
|
+
function applyDynamicStaleTimeHeader(headers, dynamicStaleTimeSeconds) {
|
|
15
|
+
if (dynamicStaleTimeSeconds !== void 0 && Number.isInteger(dynamicStaleTimeSeconds) && dynamicStaleTimeSeconds >= 0) headers.set(VINEXT_DYNAMIC_STALE_TIME_HEADER, String(dynamicStaleTimeSeconds));
|
|
16
|
+
}
|
|
14
17
|
function resolveAppPageRscResponsePolicy(options) {
|
|
15
18
|
if (options.isDraftMode) return { cacheControl: NO_STORE_CACHE_CONTROL };
|
|
16
19
|
if (options.isForceDynamic || options.dynamicUsedDuringBuild) return { cacheControl: NO_STORE_CACHE_CONTROL };
|
|
@@ -85,6 +88,7 @@ function buildAppPageRscResponse(body, options) {
|
|
|
85
88
|
applyEdgeRuntimeHeader(headers, options.isEdgeRuntime);
|
|
86
89
|
if (options.params && Object.keys(options.params).length > 0) headers.set(VINEXT_PARAMS_HEADER, encodeURIComponent(JSON.stringify(options.params)));
|
|
87
90
|
if (options.mountedSlotsHeader) headers.set(VINEXT_MOUNTED_SLOTS_HEADER, options.mountedSlotsHeader);
|
|
91
|
+
applyDynamicStaleTimeHeader(headers, options.dynamicStaleTimeSeconds);
|
|
88
92
|
if (options.policy.cacheControl) headers.set("Cache-Control", options.policy.cacheControl);
|
|
89
93
|
if (options.policy.cacheState) setCacheStateHeaders(headers, options.policy.cacheState);
|
|
90
94
|
mergeMiddlewareResponseHeaders(headers, options.middlewareContext.headers);
|
|
@@ -114,5 +118,3 @@ function buildAppPageHtmlResponse(body, options) {
|
|
|
114
118
|
}
|
|
115
119
|
//#endregion
|
|
116
120
|
export { applyEdgeRuntimeHeader, buildAppPageHtmlResponse, buildAppPageRscResponse, mergeMiddlewareResponseHeaders, resolveAppPageHtmlResponsePolicy, resolveAppPageRscResponsePolicy };
|
|
117
|
-
|
|
118
|
-
//# sourceMappingURL=app-page-response.js.map
|