vinext 0.0.54 → 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 +52 -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 +321 -27
- 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 +2 -2
- package/dist/client/navigation-runtime.js +1 -3
- 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 +30 -3
- package/dist/config/next-config.js +47 -8
- package/dist/config/tsconfig-paths.d.ts +12 -4
- package/dist/config/tsconfig-paths.js +58 -31
- 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 +6 -5
- package/dist/entries/app-rsc-entry.js +62 -61
- package/dist/entries/app-rsc-manifest.d.ts +1 -2
- package/dist/entries/app-rsc-manifest.js +42 -12
- 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 +94 -670
- 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 +297 -140
- 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 +16 -0
- package/dist/plugins/import-meta-url.js +347 -0
- 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 +9 -17
- package/dist/server/app-browser-action-result.js +25 -16
- 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 +352 -115
- 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 +16 -0
- package/dist/server/app-browser-mpa-navigation.js +42 -0
- 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 +4 -3
- package/dist/server/app-browser-popstate.js +15 -3
- 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 +195 -11
- 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 +43 -0
- package/dist/server/app-layout-param-observation.js +168 -0
- 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 +20 -11
- 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 +2 -2
- package/dist/server/app-page-params.js +14 -3
- package/dist/server/app-page-probe.d.ts +90 -2
- package/dist/server/app-page-probe.js +201 -6
- 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 +8 -7
- 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 +12 -3
- package/dist/server/app-rsc-cache-busting.js +21 -10
- 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 +32 -14
- 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 +5 -3
- package/dist/server/app-segment-config.js +12 -3
- package/dist/server/app-server-action-execution.d.ts +12 -2
- package/dist/server/app-server-action-execution.js +200 -25
- 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 +2 -2
- package/dist/server/artifact-compatibility.js +12 -7
- 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 +10 -5
- package/dist/server/client-reuse-manifest.js +7 -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 +127 -28
- 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 +6 -0
- package/dist/server/document-initial-head.js +33 -0
- 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 +84 -3
- package/dist/server/pages-document-initial-props.js +127 -3
- 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 +35 -4
- 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 +15 -2
- package/dist/server/pages-page-response.js +39 -12
- 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 +13 -8
- 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 +23 -3
- package/dist/server/skip-cache-proof.js +81 -14
- 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 +15 -0
- package/dist/server/static-layout-client-reuse-proof.js +33 -0
- 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 +68 -7
- package/dist/shims/cache.js +179 -25
- 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 +11 -7
- package/dist/shims/document.js +7 -10
- 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 +60 -28
- package/dist/shims/error.d.ts +1 -2
- package/dist/shims/error.js +0 -2
- package/dist/shims/fetch-cache.d.ts +3 -2
- package/dist/shims/fetch-cache.js +18 -9
- 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 +4 -2
- package/dist/shims/hash-scroll.js +13 -3
- package/dist/shims/head-state.d.ts +2 -2
- package/dist/shims/head-state.js +18 -5
- package/dist/shims/head.d.ts +35 -2
- package/dist/shims/head.js +113 -16
- 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 +55 -0
- package/dist/shims/internal/pages-data-fetch-dedup.js +68 -0
- 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 +47 -15
- 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 +61 -7
- package/dist/shims/navigation.js +244 -47
- 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 +172 -37
- 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 +6 -3
- package/dist/shims/thenable-params.js +131 -12
- package/dist/shims/unified-request-context.d.ts +1 -2
- package/dist/shims/unified-request-context.js +3 -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 +14 -0
- package/dist/utils/client-build-manifest.js +52 -0
- 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 +1 -3
- 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 +10 -0
- package/dist/utils/vite-version.js +34 -0
- package/package.json +20 -7
- 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/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-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-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/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/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-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/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
|
@@ -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
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { AppRouteSemanticIds } from "../routing/app-route-graph.js";
|
|
2
2
|
import { AppElements, AppElementsInterception } from "./app-elements-wire.js";
|
|
3
3
|
import { AppPageParams } from "./app-page-boundary.js";
|
|
4
|
+
import { ThenableParamsObserver } from "../shims/thenable-params.js";
|
|
5
|
+
import { AppLayoutParamAccessTracker } from "./app-layout-param-observation.js";
|
|
4
6
|
import { AppRscRenderMode } from "./app-rsc-render-mode.js";
|
|
5
7
|
import { Metadata, Viewport } from "../shims/metadata.js";
|
|
6
8
|
import { AppPageRenderIdentity } from "./app-page-render-identity.js";
|
|
@@ -104,7 +106,8 @@ type AppPageLayoutEntry<TModule extends AppPageModule = AppPageModule, TErrorMod
|
|
|
104
106
|
type BuildAppPageRouteElementOptions<TModule extends AppPageModule = AppPageModule, TErrorModule extends AppPageErrorModule = AppPageErrorModule> = {
|
|
105
107
|
element: ReactNode;
|
|
106
108
|
globalErrorModule?: TErrorModule | null;
|
|
107
|
-
|
|
109
|
+
layoutParamAccess?: AppLayoutParamAccessTracker;
|
|
110
|
+
makeThenableParams: MakeThenableParams;
|
|
108
111
|
matchedParams: AppPageParams;
|
|
109
112
|
metadataPlacement?: "body" | "head";
|
|
110
113
|
resolvedMetadata: Metadata | null;
|
|
@@ -114,8 +117,10 @@ type BuildAppPageRouteElementOptions<TModule extends AppPageModule = AppPageModu
|
|
|
114
117
|
rootNotFoundModule?: TModule | null;
|
|
115
118
|
rootUnauthorizedModule?: TModule | null;
|
|
116
119
|
route: AppPageRouteWiringRoute<TModule, TErrorModule>;
|
|
120
|
+
searchParams?: unknown;
|
|
117
121
|
slotOverrides?: Readonly<Record<string, AppPageSlotOverride<TModule>>> | null;
|
|
118
122
|
};
|
|
123
|
+
type MakeThenableParams = (params: AppPageParams, observer?: ThenableParamsObserver) => unknown;
|
|
119
124
|
type BuildAppPageElementsOptions<TModule extends AppPageModule = AppPageModule, TErrorModule extends AppPageErrorModule = AppPageErrorModule> = BuildAppPageRouteElementOptions<TModule, TErrorModule> & {
|
|
120
125
|
interception?: AppElementsInterception | null;
|
|
121
126
|
interceptionContext?: string | null;
|
|
@@ -126,11 +131,17 @@ type BuildAppPageElementsOptions<TModule extends AppPageModule = AppPageModule,
|
|
|
126
131
|
routePath: string;
|
|
127
132
|
};
|
|
128
133
|
declare function createAppPageTreePath(routeSegments: readonly string[] | null | undefined, treePosition: number): string;
|
|
134
|
+
declare function probeAppPageLayoutWithTracking<TModule extends AppPageModule>(options: {
|
|
135
|
+
layoutIndex: number;
|
|
136
|
+
layoutParamAccess: AppLayoutParamAccessTracker | undefined;
|
|
137
|
+
makeThenableParams: MakeThenableParams;
|
|
138
|
+
matchedParams: AppPageParams;
|
|
139
|
+
route: Pick<AppPageRouteWiringRoute<TModule>, "layoutTreePositions" | "layouts" | "routeSegments">;
|
|
140
|
+
}): unknown;
|
|
129
141
|
declare function createAppPageLayoutEntries<TModule extends AppPageModule, TErrorModule extends AppPageErrorModule>(route: Pick<AppPageRouteWiringRoute<TModule, TErrorModule>, "errors" | "errorTreePositions" | "layoutTreePositions" | "layouts" | "notFounds" | "routeSegments"> & {
|
|
130
142
|
forbiddens?: readonly (TModule | null | undefined)[] | null;
|
|
131
143
|
unauthorizeds?: readonly (TModule | null | undefined)[] | null;
|
|
132
144
|
}): AppPageLayoutEntry<TModule, TErrorModule>[];
|
|
133
145
|
declare function buildAppPageElements<TModule extends AppPageModule, TErrorModule extends AppPageErrorModule>(options: BuildAppPageElementsOptions<TModule, TErrorModule>): AppElements;
|
|
134
146
|
//#endregion
|
|
135
|
-
export { AppPageErrorModule, AppPageModule, AppPageRouteWiringRoute, AppPageSlotOverride, buildAppPageElements, createAppPageLayoutEntries, createAppPageTreePath, resolveAppPageChildSegments };
|
|
136
|
-
//# sourceMappingURL=app-page-route-wiring.d.ts.map
|
|
147
|
+
export { AppPageErrorModule, AppPageModule, AppPageRouteWiringRoute, AppPageSlotOverride, buildAppPageElements, createAppPageLayoutEntries, createAppPageTreePath, probeAppPageLayoutWithTracking, resolveAppPageChildSegments };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createAppRenderDependency, registerAppElementRenderDependencies, renderAfterAppDependencies, renderWithAppDependencyBarrier } from "./app-render-dependency.js";
|
|
1
2
|
import { APP_STATIC_SIBLINGS_KEY, AppElementsWire, normalizeAppElementsSlotBindings } from "./app-elements-wire.js";
|
|
2
3
|
import { APP_RSC_RENDER_MODE_PREFETCH_LOADING_SHELL, shouldSuppressLoadingBoundaries } from "./app-rsc-render-mode.js";
|
|
3
4
|
import { APP_PREFETCH_LOADING_SHELL_MARKER_KEY } from "./app-elements.js";
|
|
@@ -6,12 +7,13 @@ import { AppRouterScrollTarget } from "../shims/app-router-scroll.js";
|
|
|
6
7
|
import { LayoutSegmentProvider } from "../shims/layout-segment-context.js";
|
|
7
8
|
import { MetadataHead, ViewportHead, renderMetadataToHtml } from "../shims/metadata.js";
|
|
8
9
|
import { Children as Children$1, ParallelSlot, Slot } from "../shims/slot.js";
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
10
|
+
import { resolveAppPageSegmentParamScopeKeys, resolveAppPageSegmentParams } from "./app-page-params.js";
|
|
11
|
+
import { probeReactServerSubtree } from "./app-page-probe.js";
|
|
11
12
|
import { resolveAppPageChildSegments, resolveAppPageRouteStateKey, resolveAppPageSegmentStateKey } from "./app-page-segment-state.js";
|
|
12
|
-
import { Suspense } from "react";
|
|
13
|
+
import { Fragment, Suspense } from "react";
|
|
13
14
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
14
15
|
//#region src/server/app-page-route-wiring.tsx
|
|
16
|
+
const APP_PAGE_LAYOUT_PROBE_CHILD = /* @__PURE__ */ jsx(Fragment, {});
|
|
15
17
|
function getDefaultExport(module) {
|
|
16
18
|
return module?.default ?? null;
|
|
17
19
|
}
|
|
@@ -23,6 +25,38 @@ function createAppPageTreePath(routeSegments, treePosition) {
|
|
|
23
25
|
if (treePathSegments.length === 0) return "/";
|
|
24
26
|
return `/${treePathSegments.join("/")}`;
|
|
25
27
|
}
|
|
28
|
+
function readFiniteRevalidateSeconds(module) {
|
|
29
|
+
const revalidate = module?.revalidate;
|
|
30
|
+
return typeof revalidate === "number" && Number.isFinite(revalidate) && revalidate > 0 ? revalidate : null;
|
|
31
|
+
}
|
|
32
|
+
function recordLayoutSkipObservationScope(options) {
|
|
33
|
+
options.layoutParamAccess?.recordLayoutParamScope(options.layoutId, resolveAppPageSegmentParamScopeKeys(options.routeSegments, options.treePosition));
|
|
34
|
+
const revalidateSeconds = readFiniteRevalidateSeconds(options.layoutModule);
|
|
35
|
+
if (revalidateSeconds !== null) options.layoutParamAccess?.recordLayoutFiniteRevalidate(options.layoutId, revalidateSeconds);
|
|
36
|
+
}
|
|
37
|
+
function probeAppPageLayoutWithTracking(options) {
|
|
38
|
+
const treePosition = options.route.layoutTreePositions?.[options.layoutIndex] ?? 0;
|
|
39
|
+
const treePath = createAppPageTreePath(options.route.routeSegments, treePosition);
|
|
40
|
+
const layoutId = AppElementsWire.encodeLayoutId(treePath);
|
|
41
|
+
const probe = () => {
|
|
42
|
+
const layoutModule = options.route.layouts[options.layoutIndex];
|
|
43
|
+
const LayoutComponent = getDefaultExport(layoutModule);
|
|
44
|
+
if (!LayoutComponent) return null;
|
|
45
|
+
recordLayoutSkipObservationScope({
|
|
46
|
+
layoutId,
|
|
47
|
+
layoutModule,
|
|
48
|
+
layoutParamAccess: options.layoutParamAccess,
|
|
49
|
+
routeSegments: options.route.routeSegments,
|
|
50
|
+
treePosition
|
|
51
|
+
});
|
|
52
|
+
const layoutParams = resolveAppPageSegmentParams(options.route.routeSegments, treePosition, options.matchedParams);
|
|
53
|
+
return probeReactServerSubtree(/* @__PURE__ */ jsx(LayoutComponent, {
|
|
54
|
+
params: options.makeThenableParams(layoutParams, options.layoutParamAccess?.createThenableParamsObserver(layoutId)),
|
|
55
|
+
children: APP_PAGE_LAYOUT_PROBE_CHILD
|
|
56
|
+
}));
|
|
57
|
+
};
|
|
58
|
+
return options.layoutParamAccess ? options.layoutParamAccess.runLayoutProbe(layoutId, probe) : probe();
|
|
59
|
+
}
|
|
26
60
|
function createAppPageLayoutEntries(route) {
|
|
27
61
|
return route.layouts.map((layoutModule, index) => {
|
|
28
62
|
const treePosition = route.layoutTreePositions?.[index] ?? 0;
|
|
@@ -87,16 +121,20 @@ function resolveAppPageSlotBindingState(slot, override) {
|
|
|
87
121
|
if (getDefaultExport(slot.default)) return "default";
|
|
88
122
|
return "unmatched";
|
|
89
123
|
}
|
|
90
|
-
function createAppPageSlotBindings(route, layoutEntries, resolveSlotOverride) {
|
|
124
|
+
function createAppPageSlotBindings(route, layoutEntries, resolveSlotOverride, options) {
|
|
91
125
|
const bindings = [];
|
|
92
126
|
for (const [slotKey, slot] of Object.entries(route.slots ?? {})) {
|
|
93
127
|
const layoutEntry = layoutEntries[slot.layoutIndex >= 0 ? slot.layoutIndex : layoutEntries.length - 1] ?? null;
|
|
94
128
|
const ownerLayoutId = layoutEntry?.id ?? null;
|
|
95
129
|
const override = resolveSlotOverride(slotKey, slot.name);
|
|
130
|
+
const slotId = resolveAppPageSlotId(slot, layoutEntry?.treePath ?? "/");
|
|
131
|
+
const state = resolveAppPageSlotBindingState(slot, override);
|
|
132
|
+
const activeRouteId = state === "active" ? options.interception?.slotId === slotId ? options.interception.targetRouteId : AppElementsWire.encodeRouteId(options.routePath, null) : null;
|
|
96
133
|
bindings.push({
|
|
134
|
+
...activeRouteId !== null ? { activeRouteId } : {},
|
|
97
135
|
ownerLayoutId,
|
|
98
|
-
slotId
|
|
99
|
-
state
|
|
136
|
+
slotId,
|
|
137
|
+
state
|
|
100
138
|
});
|
|
101
139
|
}
|
|
102
140
|
return normalizeAppElementsSlotBindings(bindings, { layoutIds: layoutEntries.map((entry) => entry.id) });
|
|
@@ -139,6 +177,7 @@ function buildAppPageElements(options) {
|
|
|
139
177
|
const layoutIndicesByTreePosition = /* @__PURE__ */ new Map();
|
|
140
178
|
for (let index = 0; index < layoutEntries.length; index++) layoutIndicesByTreePosition.set(layoutEntries[index].treePosition, index);
|
|
141
179
|
const layoutDependenciesByIndex = /* @__PURE__ */ new Map();
|
|
180
|
+
const renderDependenciesByElementId = /* @__PURE__ */ new Map();
|
|
142
181
|
const layoutDependenciesBefore = [];
|
|
143
182
|
const slotDependenciesByLayoutIndex = [];
|
|
144
183
|
const templateDependenciesById = /* @__PURE__ */ new Map();
|
|
@@ -166,7 +205,11 @@ function buildAppPageElements(options) {
|
|
|
166
205
|
layoutIds: options.route.ids?.layouts ?? layoutEntries.map((entry) => entry.id),
|
|
167
206
|
rootLayoutTreePath,
|
|
168
207
|
routeId,
|
|
169
|
-
slotBindings: createAppPageSlotBindings(options.route, layoutEntries, resolveSlotOverride
|
|
208
|
+
slotBindings: createAppPageSlotBindings(options.route, layoutEntries, resolveSlotOverride, {
|
|
209
|
+
interception: renderIdentity?.interception ?? options.interception ?? null,
|
|
210
|
+
interceptionContext,
|
|
211
|
+
routePath: options.routePath
|
|
212
|
+
})
|
|
170
213
|
}) };
|
|
171
214
|
if (options.route.staticSiblings && options.route.staticSiblings.length > 0) elements[APP_STATIC_SIBLINGS_KEY] = options.route.staticSiblings;
|
|
172
215
|
const getEffectiveSlotParams = (slotKey, slotName) => resolveSlotOverride(slotKey, slotName)?.params ?? options.matchedParams;
|
|
@@ -178,6 +221,7 @@ function buildAppPageElements(options) {
|
|
|
178
221
|
if (getDefaultExport(layoutEntry.layoutModule)) {
|
|
179
222
|
const layoutDependency = createAppRenderDependency();
|
|
180
223
|
layoutDependenciesByIndex.set(layoutIndex, layoutDependency);
|
|
224
|
+
renderDependenciesByElementId.set(layoutEntry.id, layoutDependency);
|
|
181
225
|
pageDependencies.push(layoutDependency);
|
|
182
226
|
}
|
|
183
227
|
slotDependenciesByLayoutIndex[layoutIndex] = [...pageDependencies];
|
|
@@ -211,7 +255,15 @@ function buildAppPageElements(options) {
|
|
|
211
255
|
const layoutEntry = layoutEntries[index];
|
|
212
256
|
const layoutComponent = getDefaultExport(layoutEntry.layoutModule);
|
|
213
257
|
if (!layoutComponent) continue;
|
|
214
|
-
const
|
|
258
|
+
const layoutParams = resolveAppPageSegmentParams(options.route.routeSegments, layoutEntry.treePosition, options.matchedParams);
|
|
259
|
+
recordLayoutSkipObservationScope({
|
|
260
|
+
layoutId: layoutEntry.id,
|
|
261
|
+
layoutModule: layoutEntry.layoutModule,
|
|
262
|
+
layoutParamAccess: options.layoutParamAccess,
|
|
263
|
+
routeSegments: options.route.routeSegments,
|
|
264
|
+
treePosition: layoutEntry.treePosition
|
|
265
|
+
});
|
|
266
|
+
const layoutProps = { params: options.makeThenableParams(layoutParams, options.layoutParamAccess?.createThenableParamsObserver(layoutEntry.id)) };
|
|
215
267
|
for (const slot of Object.values(options.route.slots ?? {})) {
|
|
216
268
|
const slotName = slot.name;
|
|
217
269
|
if ((slot.layoutIndex >= 0 ? slot.layoutIndex : layoutEntries.length - 1) !== index) continue;
|
|
@@ -245,6 +297,7 @@ function buildAppPageElements(options) {
|
|
|
245
297
|
}
|
|
246
298
|
const slotThenableParams = options.makeThenableParams(slotParams);
|
|
247
299
|
const slotProps = { params: slotThenableParams };
|
|
300
|
+
if (options.searchParams !== void 0) slotProps.searchParams = options.searchParams;
|
|
248
301
|
if (slotOverride?.props) Object.assign(slotProps, slotOverride.props);
|
|
249
302
|
let slotElement = /* @__PURE__ */ jsx(slotComponent, { ...slotProps });
|
|
250
303
|
const interceptLayouts = slotOverride?.layoutModules ?? [];
|
|
@@ -381,9 +434,8 @@ function buildAppPageElements(options) {
|
|
|
381
434
|
routeChildren,
|
|
382
435
|
createAppPageRouteBodyMetadata(options.resolvedMetadata, options.resolvedMetadataPathname ?? options.routePath, metadataPlacement)
|
|
383
436
|
] });
|
|
437
|
+
registerAppElementRenderDependencies(elements, renderDependenciesByElementId);
|
|
384
438
|
return elements;
|
|
385
439
|
}
|
|
386
440
|
//#endregion
|
|
387
|
-
export { buildAppPageElements, createAppPageLayoutEntries, createAppPageTreePath, resolveAppPageChildSegments };
|
|
388
|
-
|
|
389
|
-
//# sourceMappingURL=app-page-route-wiring.js.map
|
|
441
|
+
export { buildAppPageElements, createAppPageLayoutEntries, createAppPageTreePath, probeAppPageLayoutWithTracking, resolveAppPageChildSegments };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ThenableParams } from "../shims/thenable-params.js";
|
|
2
|
+
import { AppPageSearchParams } from "./app-page-head.js";
|
|
3
|
+
|
|
4
|
+
//#region src/server/app-page-search-params-observation.d.ts
|
|
5
|
+
type AppPageSearchParamsObservationOptions = {
|
|
6
|
+
observeReactPromiseStatus?: boolean;
|
|
7
|
+
};
|
|
8
|
+
declare function makeObservedAppPageSearchParamsThenable(pageSearchParams: AppPageSearchParams, options?: AppPageSearchParamsObservationOptions): ThenableParams<AppPageSearchParams>;
|
|
9
|
+
//#endregion
|
|
10
|
+
export { makeObservedAppPageSearchParamsThenable };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { markDynamicUsage, markRenderRequestApiUsage, throwIfInsideCacheScope } from "../shims/headers.js";
|
|
2
|
+
import { makeThenableParams } from "../shims/thenable-params.js";
|
|
3
|
+
//#region src/server/app-page-search-params-observation.ts
|
|
4
|
+
function markAppPageSearchParamsAccess() {
|
|
5
|
+
throwIfInsideCacheScope("searchParams");
|
|
6
|
+
markDynamicUsage();
|
|
7
|
+
markRenderRequestApiUsage("searchParams");
|
|
8
|
+
}
|
|
9
|
+
function makeObservedAppPageSearchParamsThenable(pageSearchParams, options = {}) {
|
|
10
|
+
const observer = { observeParamAccess() {
|
|
11
|
+
markAppPageSearchParamsAccess();
|
|
12
|
+
} };
|
|
13
|
+
if (options.observeReactPromiseStatus === true) return makeThenableParams(pageSearchParams, {
|
|
14
|
+
...observer,
|
|
15
|
+
observeReactPromiseStatus: true
|
|
16
|
+
});
|
|
17
|
+
return makeThenableParams(pageSearchParams, observer);
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { makeObservedAppPageSearchParamsThenable };
|
|
@@ -6,5 +6,4 @@ declare function resolveAppPageSegmentStateKey(routeSegments: readonly string[],
|
|
|
6
6
|
declare function resolveAppPageRouteStateKey(routeSegments: readonly string[], params: AppPageParams): string;
|
|
7
7
|
declare function resolveAppPageLeafSegmentStateKey(routeSegments: readonly string[], params: AppPageParams): string;
|
|
8
8
|
//#endregion
|
|
9
|
-
export { resolveAppPageChildSegments, resolveAppPageLeafSegmentStateKey, resolveAppPageRouteStateKey, resolveAppPageSegmentStateKey };
|
|
10
|
-
//# sourceMappingURL=app-page-segment-state.d.ts.map
|
|
9
|
+
export { resolveAppPageChildSegments, resolveAppPageLeafSegmentStateKey, resolveAppPageRouteStateKey, resolveAppPageSegmentStateKey };
|
|
@@ -1,10 +1,5 @@
|
|
|
1
|
+
import { isCatchAllSegment, isOptionalCatchAllSegment } from "../routing/utils.js";
|
|
1
2
|
//#region src/server/app-page-segment-state.ts
|
|
2
|
-
function isOptionalCatchAllSegment(segment) {
|
|
3
|
-
return segment.startsWith("[[...") && segment.endsWith("]]") && segment.length > 7;
|
|
4
|
-
}
|
|
5
|
-
function isCatchAllSegment(segment) {
|
|
6
|
-
return segment.startsWith("[...") && segment.endsWith("]") && segment.length > 5;
|
|
7
|
-
}
|
|
8
3
|
function isDynamicSegment(segment) {
|
|
9
4
|
return segment.startsWith("[") && segment.endsWith("]") && !segment.includes(".");
|
|
10
5
|
}
|
|
@@ -83,5 +78,3 @@ function resolveAppPageLeafSegmentStateKey(routeSegments, params) {
|
|
|
83
78
|
}
|
|
84
79
|
//#endregion
|
|
85
80
|
export { resolveAppPageChildSegments, resolveAppPageLeafSegmentStateKey, resolveAppPageRouteStateKey, resolveAppPageSegmentStateKey };
|
|
86
|
-
|
|
87
|
-
//# sourceMappingURL=app-page-segment-state.js.map
|