vinext 0.0.55 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +51 -15
- package/dist/build/assets-ignore.d.ts +32 -0
- package/dist/build/assets-ignore.js +48 -0
- 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 +42 -3
- package/dist/build/client-build-config.js +86 -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 +9 -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 +9 -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 +3 -3
- 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 +20 -2
- package/dist/config/config-matchers.js +35 -3
- package/dist/config/dotenv.d.ts +1 -2
- package/dist/config/dotenv.js +0 -2
- package/dist/config/next-config.d.ts +32 -5
- package/dist/config/next-config.js +53 -6
- 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 +180 -415
- 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 +12 -6
- package/dist/entries/app-rsc-entry.js +101 -62
- package/dist/entries/app-rsc-manifest.d.ts +1 -2
- package/dist/entries/app-rsc-manifest.js +40 -9
- 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 +98 -703
- 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 +376 -316
- 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 +18 -16
- package/dist/plugins/remove-console.d.ts +1 -2
- package/dist/plugins/remove-console.js +0 -2
- package/dist/plugins/require-context.d.ts +6 -0
- package/dist/plugins/require-context.js +184 -0
- 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 +14 -10
- package/dist/routing/app-route-graph.js +146 -35
- 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 +2 -2
- package/dist/routing/route-pattern.js +16 -3
- 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 +4 -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 +244 -88
- 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 +2 -2
- package/dist/server/app-browser-interception-context.js +15 -4
- 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 +15 -4
- package/dist/server/app-browser-navigation-controller.js +80 -4
- package/dist/server/app-browser-popstate.d.ts +12 -4
- package/dist/server/app-browser-popstate.js +19 -6
- 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 +31 -4
- package/dist/server/app-browser-state.js +196 -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 +30 -21
- 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 +62 -2
- package/dist/server/app-history-state.js +176 -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 +59 -28
- 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 +25 -5
- package/dist/server/app-page-dispatch.js +122 -25
- package/dist/server/app-page-element-builder.d.ts +4 -2
- package/dist/server/app-page-element-builder.js +31 -21
- 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 +15 -3
- package/dist/server/app-page-render.js +171 -12
- package/dist/server/app-page-request.d.ts +12 -9
- package/dist/server/app-page-request.js +12 -11
- package/dist/server/app-page-response.d.ts +4 -4
- package/dist/server/app-page-response.js +6 -4
- package/dist/server/app-page-route-wiring.d.ts +14 -3
- package/dist/server/app-page-route-wiring.js +65 -12
- 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 +54 -9
- package/dist/server/app-page-stream.js +61 -10
- package/dist/server/app-pages-bridge.d.ts +41 -0
- package/dist/server/app-pages-bridge.js +54 -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 +2 -2
- package/dist/server/app-route-handler-cache.js +1 -2
- package/dist/server/app-route-handler-dispatch.d.ts +2 -2
- package/dist/server/app-route-handler-dispatch.js +2 -2
- package/dist/server/app-route-handler-execution.d.ts +2 -2
- package/dist/server/app-route-handler-execution.js +3 -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 +2 -2
- package/dist/server/app-route-handler-runtime.js +3 -4
- 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 +17 -2
- package/dist/server/app-rsc-handler.js +24 -15
- 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 +20 -2
- package/dist/server/app-rsc-route-matching.js +29 -6
- 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 +18 -3
- package/dist/server/app-server-action-execution.js +75 -18
- package/dist/server/app-ssr-entry.d.ts +11 -4
- package/dist/server/app-ssr-entry.js +47 -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 +3 -4
- package/dist/server/dev-server.js +129 -49
- 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 +46 -3
- package/dist/server/isr-cache.js +93 -24
- 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 +6 -6
- 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 +11 -2
- package/dist/server/pages-node-compat.js +38 -3
- package/dist/server/pages-page-data.d.ts +17 -10
- package/dist/server/pages-page-data.js +79 -35
- package/dist/server/pages-page-handler.d.ts +97 -0
- package/dist/server/pages-page-handler.js +348 -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 +11 -3
- package/dist/server/pages-page-response.js +16 -5
- package/dist/server/pages-readiness.d.ts +36 -0
- package/dist/server/pages-readiness.js +21 -0
- package/dist/server/pages-request-pipeline.d.ts +99 -0
- package/dist/server/pages-request-pipeline.js +209 -0
- package/dist/server/pages-revalidate.d.ts +15 -0
- package/dist/server/pages-revalidate.js +19 -0
- 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 +8 -6
- package/dist/server/prod-server.js +101 -219
- 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 +19 -2
- package/dist/server/socket-error-backstop.js +77 -6
- 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 +22 -6
- 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 +66 -31
- 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 +32 -18
- package/dist/shims/error-boundary.js +43 -3
- package/dist/shims/error.d.ts +1 -2
- package/dist/shims/error.js +0 -2
- package/dist/shims/fetch-cache.d.ts +14 -2
- package/dist/shims/fetch-cache.js +20 -5
- 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 +2 -2
- package/dist/shims/hash-scroll.js +3 -3
- 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/link-status-registry.d.ts +43 -0
- package/dist/shims/internal/link-status-registry.js +42 -0
- 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/route-pattern-for-warning.d.ts +27 -0
- package/dist/shims/internal/route-pattern-for-warning.js +40 -0
- 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 +2 -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 +40 -20
- 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 +25 -9
- package/dist/shims/navigation.js +251 -46
- 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 +2 -2
- package/dist/shims/router-state.js +2 -2
- package/dist/shims/router.d.ts +6 -4
- package/dist/shims/router.js +262 -40
- 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 +8 -2
- package/dist/utils/client-build-manifest.js +30 -7
- package/dist/utils/client-entry-manifest.d.ts +11 -0
- package/dist/utils/client-entry-manifest.js +29 -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 +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 +23 -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
|
@@ -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 ?? [];
|
|
@@ -276,7 +329,7 @@ function buildAppPageElements(options) {
|
|
|
276
329
|
}
|
|
277
330
|
let routeChildren = /* @__PURE__ */ jsx(LayoutSegmentProvider, {
|
|
278
331
|
segmentMap: { children: [] },
|
|
279
|
-
children: /* @__PURE__ */ jsx(
|
|
332
|
+
children: /* @__PURE__ */ jsx(Slot, { id: pageId })
|
|
280
333
|
});
|
|
281
334
|
if (isPrefetchLoadingShell) if (routeLoadingComponent === null) routeChildren = null;
|
|
282
335
|
else routeChildren = /* @__PURE__ */ jsx(routeLoadingComponent, {});
|
|
@@ -286,6 +339,7 @@ function buildAppPageElements(options) {
|
|
|
286
339
|
fallback: /* @__PURE__ */ jsx(routeLoadingComponent, {}),
|
|
287
340
|
children: routeChildren
|
|
288
341
|
}, routeResetKey);
|
|
342
|
+
routeChildren = /* @__PURE__ */ jsx(AppRouterScrollTarget, { children: routeChildren });
|
|
289
343
|
}
|
|
290
344
|
const lastLayoutErrorModule = errorEntries.length > 0 ? errorEntries[errorEntries.length - 1].errorModule : null;
|
|
291
345
|
const notFoundComponent = getDefaultExport(options.route.notFound) ?? getDefaultExport(options.rootNotFoundModule);
|
|
@@ -381,9 +435,8 @@ function buildAppPageElements(options) {
|
|
|
381
435
|
routeChildren,
|
|
382
436
|
createAppPageRouteBodyMetadata(options.resolvedMetadata, options.resolvedMetadataPathname ?? options.routePath, metadataPlacement)
|
|
383
437
|
] });
|
|
438
|
+
registerAppElementRenderDependencies(elements, renderDependenciesByElementId);
|
|
384
439
|
return elements;
|
|
385
440
|
}
|
|
386
441
|
//#endregion
|
|
387
|
-
export { buildAppPageElements, createAppPageLayoutEntries, createAppPageTreePath, resolveAppPageChildSegments };
|
|
388
|
-
|
|
389
|
-
//# sourceMappingURL=app-page-route-wiring.js.map
|
|
442
|
+
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
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { NavigationContext } from "../shims/navigation.js";
|
|
1
2
|
import { AppPageFontPreload } from "./app-page-execution.js";
|
|
2
3
|
import { RootParams } from "../shims/root-params.js";
|
|
3
4
|
import { ReactFormState } from "react-dom/client";
|
|
@@ -13,8 +14,36 @@ type CreateAppPageFontDataOptions = {
|
|
|
13
14
|
getPreloads: () => AppPageFontPreload[];
|
|
14
15
|
getStyles: () => string[];
|
|
15
16
|
};
|
|
17
|
+
type AppSsrRenderResult = {
|
|
18
|
+
htmlStream: ReadableStream<Uint8Array>;
|
|
19
|
+
metadataReady: Promise<void>;
|
|
20
|
+
capturedRscData: Promise<ArrayBuffer> | null;
|
|
21
|
+
/**
|
|
22
|
+
* Preload `Link` header value emitted by React during SSR (via `onHeaders`),
|
|
23
|
+
* already capped to `reactMaxHeadersLength`. Empty/undefined when React
|
|
24
|
+
* emitted no preload headers (or emission was disabled with `0`).
|
|
25
|
+
*/
|
|
26
|
+
linkHeader?: string;
|
|
27
|
+
};
|
|
28
|
+
declare function isAppSsrRenderResult(value: unknown): value is AppSsrRenderResult;
|
|
29
|
+
/**
|
|
30
|
+
* Combine the React-emitted preload `Link` header with vinext's font preload
|
|
31
|
+
* `Link` header, capping the result to `reactMaxHeadersLength`.
|
|
32
|
+
*
|
|
33
|
+
* React already caps its own portion, but vinext emits font preloads through a
|
|
34
|
+
* separate channel. Mirroring Next.js — where every preload flows through a
|
|
35
|
+
* single capped `onHeaders` callback — we cap the *combined* header here,
|
|
36
|
+
* keeping only whole entries that fit and dropping the rest once the limit is
|
|
37
|
+
* exceeded. `0` disables emission entirely (matches React); `undefined` falls
|
|
38
|
+
* back to the React default of 6000.
|
|
39
|
+
*
|
|
40
|
+
* React's hints (scripts/modules/styles) come first so that under a tight cap
|
|
41
|
+
* the render-critical entries survive and trailing font preloads are dropped
|
|
42
|
+
* first.
|
|
43
|
+
*/
|
|
44
|
+
declare function buildAppPageLinkHeader(reactLinkHeader: string | undefined, fontLinkHeader: string | undefined, maxHeadersLength: number | undefined): string;
|
|
16
45
|
type AppPageSsrHandler = {
|
|
17
|
-
handleSsr: (rscStream: ReadableStream<Uint8Array>, navigationContext:
|
|
46
|
+
handleSsr: (rscStream: ReadableStream<Uint8Array>, navigationContext: NavigationContext | null, fontData: AppPageFontData, options?: {
|
|
18
47
|
formState?: ReactFormState | null;
|
|
19
48
|
scriptNonce?: string;
|
|
20
49
|
basePath?: string;
|
|
@@ -23,18 +52,25 @@ type AppPageSsrHandler = {
|
|
|
23
52
|
* in the SSR head. Sourced from `experimental.clientTraceMetadata`.
|
|
24
53
|
*/
|
|
25
54
|
clientTraceMetadata?: readonly string[];
|
|
55
|
+
/**
|
|
56
|
+
* Maximum total length (in characters) of the preload `Link` header
|
|
57
|
+
* emitted during SSR. `0` disables emission. From `reactMaxHeadersLength`
|
|
58
|
+
* in `next.config`.
|
|
59
|
+
*/
|
|
60
|
+
reactMaxHeadersLength?: number;
|
|
26
61
|
rootParams?: RootParams;
|
|
27
62
|
sideStream?: ReadableStream<Uint8Array>;
|
|
28
63
|
capturedRscDataRef?: {
|
|
29
64
|
value: Promise<ArrayBuffer> | null;
|
|
30
65
|
}; /** When true, wait for the full React tree before emitting bytes. */
|
|
31
|
-
waitForAllReady?: boolean;
|
|
32
|
-
|
|
66
|
+
waitForAllReady?: boolean; /** Dev-only: original server error to surface in the browser overlay. */
|
|
67
|
+
initialDevServerError?: unknown;
|
|
68
|
+
}) => Promise<ReadableStream<Uint8Array> | AppSsrRenderResult>;
|
|
33
69
|
};
|
|
34
70
|
type RenderAppPageHtmlStreamOptions = {
|
|
35
71
|
fontData: AppPageFontData;
|
|
36
72
|
formState?: ReactFormState | null;
|
|
37
|
-
navigationContext:
|
|
73
|
+
navigationContext: NavigationContext | null;
|
|
38
74
|
rscStream: ReadableStream<Uint8Array>;
|
|
39
75
|
scriptNonce?: string;
|
|
40
76
|
basePath?: string;
|
|
@@ -44,6 +80,12 @@ type RenderAppPageHtmlStreamOptions = {
|
|
|
44
80
|
* the SSR head. Undefined or empty disables emission.
|
|
45
81
|
*/
|
|
46
82
|
clientTraceMetadata?: readonly string[];
|
|
83
|
+
/**
|
|
84
|
+
* Maximum total length (in characters) of the preload `Link` header emitted
|
|
85
|
+
* during SSR. `0` disables emission. From `reactMaxHeadersLength` in
|
|
86
|
+
* `next.config`.
|
|
87
|
+
*/
|
|
88
|
+
reactMaxHeadersLength?: number;
|
|
47
89
|
rootParams?: RootParams;
|
|
48
90
|
ssrHandler: AppPageSsrHandler;
|
|
49
91
|
/** Pre-split side stream for fused embed+capture (#981). When set,
|
|
@@ -52,7 +94,8 @@ type RenderAppPageHtmlStreamOptions = {
|
|
|
52
94
|
capturedRscDataRef?: {
|
|
53
95
|
value: Promise<ArrayBuffer> | null;
|
|
54
96
|
}; /** When true, wait for the full React tree before emitting bytes. */
|
|
55
|
-
waitForAllReady?: boolean;
|
|
97
|
+
waitForAllReady?: boolean; /** Dev-only: original server error to surface in the browser overlay. */
|
|
98
|
+
initialDevServerError?: unknown;
|
|
56
99
|
};
|
|
57
100
|
type RenderAppPageHtmlResponseOptions = {
|
|
58
101
|
clearRequestContext: () => void;
|
|
@@ -64,11 +107,14 @@ type RenderAppPageHtmlResponseOptions = {
|
|
|
64
107
|
type AppPageHtmlStreamRecoveryResult = {
|
|
65
108
|
htmlStream: ReadableStream<Uint8Array> | null;
|
|
66
109
|
response: Response | null;
|
|
110
|
+
metadataReady: Promise<void>;
|
|
111
|
+
capturedRscData: Promise<ArrayBuffer> | null; /** React-emitted preload `Link` header (already capped). */
|
|
112
|
+
linkHeader?: string;
|
|
67
113
|
};
|
|
68
114
|
type RenderAppPageHtmlStreamWithRecoveryOptions<TSpecialError> = {
|
|
69
115
|
onShellRendered?: () => void;
|
|
70
116
|
renderErrorBoundaryResponse: (error: unknown) => Promise<Response | null>;
|
|
71
|
-
renderHtmlStream: () => Promise<ReadableStream<Uint8Array
|
|
117
|
+
renderHtmlStream: () => Promise<ReadableStream<Uint8Array> | AppSsrRenderResult>;
|
|
72
118
|
renderSpecialErrorResponse: (specialError: TSpecialError) => Promise<Response>;
|
|
73
119
|
resolveSpecialError: (error: unknown) => TSpecialError | null;
|
|
74
120
|
};
|
|
@@ -88,7 +134,7 @@ type ShouldRerenderAppPageWithGlobalErrorOptions = {
|
|
|
88
134
|
hasLocalBoundary: boolean;
|
|
89
135
|
};
|
|
90
136
|
declare function createAppPageFontData(options: CreateAppPageFontDataOptions): AppPageFontData;
|
|
91
|
-
declare function renderAppPageHtmlStream(options: RenderAppPageHtmlStreamOptions): Promise<
|
|
137
|
+
declare function renderAppPageHtmlStream(options: RenderAppPageHtmlStreamOptions): Promise<AppSsrRenderResult>;
|
|
92
138
|
/**
|
|
93
139
|
* Wraps a stream so that `onFlush` is called when the last byte has been read
|
|
94
140
|
* by the downstream consumer (i.e. when the HTTP layer finishes draining the
|
|
@@ -102,5 +148,4 @@ declare function renderAppPageHtmlStreamWithRecovery<TSpecialError>(options: Ren
|
|
|
102
148
|
declare function createAppPageRscErrorTracker(baseOnError: (error: unknown, requestInfo: unknown, errorContext: unknown) => unknown): AppPageRscErrorTracker;
|
|
103
149
|
declare function shouldRerenderAppPageWithGlobalError(options: ShouldRerenderAppPageWithGlobalErrorOptions): boolean;
|
|
104
150
|
//#endregion
|
|
105
|
-
export { AppPageFontData, AppPageSsrHandler, createAppPageFontData, createAppPageRscErrorTracker, deferUntilStreamConsumed, renderAppPageHtmlResponse, renderAppPageHtmlStream, renderAppPageHtmlStreamWithRecovery, shouldRerenderAppPageWithGlobalError };
|
|
106
|
-
//# sourceMappingURL=app-page-stream.d.ts.map
|
|
151
|
+
export { AppPageFontData, AppPageSsrHandler, AppSsrRenderResult, buildAppPageLinkHeader, createAppPageFontData, createAppPageRscErrorTracker, deferUntilStreamConsumed, isAppSsrRenderResult, renderAppPageHtmlResponse, renderAppPageHtmlStream, renderAppPageHtmlStreamWithRecovery, shouldRerenderAppPageWithGlobalError };
|
|
@@ -2,6 +2,49 @@ import { VINEXT_RSC_VARY_HEADER } from "./app-rsc-cache-busting.js";
|
|
|
2
2
|
import { mergeMiddlewareResponseHeaders } from "./middleware-response-headers.js";
|
|
3
3
|
import { applyEdgeRuntimeHeader } from "./app-page-response.js";
|
|
4
4
|
//#region src/server/app-page-stream.ts
|
|
5
|
+
function isAppSsrRenderResult(value) {
|
|
6
|
+
return typeof value === "object" && value !== null && "htmlStream" in value && "metadataReady" in value;
|
|
7
|
+
}
|
|
8
|
+
const resolvedMetadataReady = Promise.resolve();
|
|
9
|
+
function normalizeAppSsrRenderResult(raw, fallbackCapturedRscData = null) {
|
|
10
|
+
if (isAppSsrRenderResult(raw)) return raw;
|
|
11
|
+
return {
|
|
12
|
+
htmlStream: raw,
|
|
13
|
+
metadataReady: resolvedMetadataReady,
|
|
14
|
+
capturedRscData: fallbackCapturedRscData
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Combine the React-emitted preload `Link` header with vinext's font preload
|
|
19
|
+
* `Link` header, capping the result to `reactMaxHeadersLength`.
|
|
20
|
+
*
|
|
21
|
+
* React already caps its own portion, but vinext emits font preloads through a
|
|
22
|
+
* separate channel. Mirroring Next.js — where every preload flows through a
|
|
23
|
+
* single capped `onHeaders` callback — we cap the *combined* header here,
|
|
24
|
+
* keeping only whole entries that fit and dropping the rest once the limit is
|
|
25
|
+
* exceeded. `0` disables emission entirely (matches React); `undefined` falls
|
|
26
|
+
* back to the React default of 6000.
|
|
27
|
+
*
|
|
28
|
+
* React's hints (scripts/modules/styles) come first so that under a tight cap
|
|
29
|
+
* the render-critical entries survive and trailing font preloads are dropped
|
|
30
|
+
* first.
|
|
31
|
+
*/
|
|
32
|
+
function buildAppPageLinkHeader(reactLinkHeader, fontLinkHeader, maxHeadersLength) {
|
|
33
|
+
const limit = typeof maxHeadersLength === "number" ? maxHeadersLength : 6e3;
|
|
34
|
+
if (limit <= 0) return "";
|
|
35
|
+
const entries = [];
|
|
36
|
+
for (const source of [reactLinkHeader, fontLinkHeader]) {
|
|
37
|
+
if (!source) continue;
|
|
38
|
+
for (const entry of source.split(", ")) if (entry.length > 0) entries.push(entry);
|
|
39
|
+
}
|
|
40
|
+
let header = "";
|
|
41
|
+
for (const entry of entries) {
|
|
42
|
+
const next = header.length === 0 ? entry : `${header}, ${entry}`;
|
|
43
|
+
if (next.length > limit) break;
|
|
44
|
+
header = next;
|
|
45
|
+
}
|
|
46
|
+
return header;
|
|
47
|
+
}
|
|
5
48
|
function createAppPageFontData(options) {
|
|
6
49
|
return {
|
|
7
50
|
links: options.getLinks(),
|
|
@@ -15,12 +58,14 @@ async function renderAppPageHtmlStream(options) {
|
|
|
15
58
|
scriptNonce: options.scriptNonce,
|
|
16
59
|
basePath: options.basePath,
|
|
17
60
|
clientTraceMetadata: options.clientTraceMetadata,
|
|
61
|
+
reactMaxHeadersLength: options.reactMaxHeadersLength,
|
|
18
62
|
rootParams: options.rootParams,
|
|
19
63
|
sideStream: options.sideStream,
|
|
20
64
|
capturedRscDataRef: options.capturedRscDataRef,
|
|
21
|
-
waitForAllReady: options.waitForAllReady
|
|
65
|
+
waitForAllReady: options.waitForAllReady,
|
|
66
|
+
initialDevServerError: options.initialDevServerError
|
|
22
67
|
};
|
|
23
|
-
return options.ssrHandler.handleSsr(options.rscStream, options.navigationContext, options.fontData, ssrOptions);
|
|
68
|
+
return normalizeAppSsrRenderResult(await options.ssrHandler.handleSsr(options.rscStream, options.navigationContext, options.fontData, ssrOptions), options.capturedRscDataRef?.value ?? null);
|
|
24
69
|
}
|
|
25
70
|
/**
|
|
26
71
|
* Wraps a stream so that `onFlush` is called when the last byte has been read
|
|
@@ -58,7 +103,8 @@ function deferUntilStreamConsumed(stream, onFlush) {
|
|
|
58
103
|
});
|
|
59
104
|
}
|
|
60
105
|
async function renderAppPageHtmlResponse(options) {
|
|
61
|
-
const
|
|
106
|
+
const { htmlStream } = await renderAppPageHtmlStream(options);
|
|
107
|
+
const safeStream = deferUntilStreamConsumed(htmlStream, () => {
|
|
62
108
|
options.clearRequestContext();
|
|
63
109
|
});
|
|
64
110
|
const headers = new Headers({
|
|
@@ -75,22 +121,29 @@ async function renderAppPageHtmlResponse(options) {
|
|
|
75
121
|
}
|
|
76
122
|
async function renderAppPageHtmlStreamWithRecovery(options) {
|
|
77
123
|
try {
|
|
78
|
-
const htmlStream = await options.renderHtmlStream();
|
|
124
|
+
const { htmlStream, metadataReady, capturedRscData, linkHeader } = normalizeAppSsrRenderResult(await options.renderHtmlStream());
|
|
79
125
|
options.onShellRendered?.();
|
|
80
126
|
return {
|
|
81
127
|
htmlStream,
|
|
82
|
-
response: null
|
|
128
|
+
response: null,
|
|
129
|
+
metadataReady,
|
|
130
|
+
capturedRscData,
|
|
131
|
+
linkHeader
|
|
83
132
|
};
|
|
84
133
|
} catch (error) {
|
|
85
134
|
const specialError = options.resolveSpecialError(error);
|
|
86
135
|
if (specialError) return {
|
|
87
136
|
htmlStream: null,
|
|
88
|
-
response: await options.renderSpecialErrorResponse(specialError)
|
|
137
|
+
response: await options.renderSpecialErrorResponse(specialError),
|
|
138
|
+
metadataReady: resolvedMetadataReady,
|
|
139
|
+
capturedRscData: null
|
|
89
140
|
};
|
|
90
141
|
const boundaryResponse = await options.renderErrorBoundaryResponse(error);
|
|
91
142
|
if (boundaryResponse) return {
|
|
92
143
|
htmlStream: null,
|
|
93
|
-
response: boundaryResponse
|
|
144
|
+
response: boundaryResponse,
|
|
145
|
+
metadataReady: resolvedMetadataReady,
|
|
146
|
+
capturedRscData: null
|
|
94
147
|
};
|
|
95
148
|
throw error;
|
|
96
149
|
}
|
|
@@ -117,6 +170,4 @@ function shouldRerenderAppPageWithGlobalError(options) {
|
|
|
117
170
|
return Boolean(options.capturedError) && !options.hasLocalBoundary;
|
|
118
171
|
}
|
|
119
172
|
//#endregion
|
|
120
|
-
export { createAppPageFontData, createAppPageRscErrorTracker, deferUntilStreamConsumed, renderAppPageHtmlResponse, renderAppPageHtmlStream, renderAppPageHtmlStreamWithRecovery, shouldRerenderAppPageWithGlobalError };
|
|
121
|
-
|
|
122
|
-
//# sourceMappingURL=app-page-stream.js.map
|
|
173
|
+
export { buildAppPageLinkHeader, createAppPageFontData, createAppPageRscErrorTracker, deferUntilStreamConsumed, isAppSsrRenderResult, renderAppPageHtmlResponse, renderAppPageHtmlStream, renderAppPageHtmlStreamWithRecovery, shouldRerenderAppPageWithGlobalError };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { AppMiddlewareContext } from "./app-middleware.js";
|
|
2
|
+
|
|
3
|
+
//#region src/server/app-pages-bridge.d.ts
|
|
4
|
+
type PagesEntry = {
|
|
5
|
+
handleApiRoute?: (request: Request, url: string) => Promise<Response> | Response;
|
|
6
|
+
renderPage?: (request: Request, url: string, query: Record<string, unknown>, parsedUrl: unknown, middlewareRequestHeaders?: Headers | null) => Promise<Response> | Response;
|
|
7
|
+
};
|
|
8
|
+
type RenderPagesFallbackDependencies = {
|
|
9
|
+
loadPagesEntry: () => Promise<PagesEntry> | PagesEntry;
|
|
10
|
+
buildRequestHeaders: (requestHeaders: Headers, middlewareRequestHeaders: Headers) => Headers | null;
|
|
11
|
+
decodePathParams: (pathname: string) => string;
|
|
12
|
+
applyRouteHandlerMiddlewareContext: (response: Response, middlewareContext: AppMiddlewareContext) => Response;
|
|
13
|
+
/**
|
|
14
|
+
* Returns the `__prerender_bypass` Set-Cookie header emitted by a
|
|
15
|
+
* `draftMode().enable()`/`disable()` call inside middleware, if any. Reading
|
|
16
|
+
* it clears it. Mirrors how App Router route handlers and page renders surface
|
|
17
|
+
* the middleware-enabled draft cookie so the same flow works when the request
|
|
18
|
+
* falls through to a Pages Router route.
|
|
19
|
+
*
|
|
20
|
+
* Note: this closes the draft-mode flow for production (Cloudflare Workers /
|
|
21
|
+
* Node), where middleware runs inline in the same RSC handler context that
|
|
22
|
+
* builds this fallback. In hybrid *dev*, middleware runs in a separate Vite
|
|
23
|
+
* Pages SSR runner and `draftMode()` inside middleware is not yet permitted
|
|
24
|
+
* there (it throws a scope error before any cookie is set), so this getter
|
|
25
|
+
* returns `null` and no cookie is appended. That dev limitation is pre-existing
|
|
26
|
+
* and tracked separately from #1520.
|
|
27
|
+
*/
|
|
28
|
+
getDraftModeCookieHeader: () => string | null | undefined;
|
|
29
|
+
};
|
|
30
|
+
type RenderPagesFallbackOptions = {
|
|
31
|
+
isRscRequest: boolean;
|
|
32
|
+
middlewareContext: AppMiddlewareContext;
|
|
33
|
+
request: Request;
|
|
34
|
+
url: URL;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Fallback handler to route App Router requests to the Pages Router when no App Router route matches.
|
|
38
|
+
*/
|
|
39
|
+
declare function renderPagesFallback(options: RenderPagesFallbackOptions, dependencies: RenderPagesFallbackDependencies): Promise<Response | null>;
|
|
40
|
+
//#endregion
|
|
41
|
+
export { PagesEntry, renderPagesFallback };
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
//#region src/server/app-pages-bridge.ts
|
|
2
|
+
/**
|
|
3
|
+
* Fallback handler to route App Router requests to the Pages Router when no App Router route matches.
|
|
4
|
+
*/
|
|
5
|
+
async function renderPagesFallback(options, dependencies) {
|
|
6
|
+
const { isRscRequest, middlewareContext, request, url } = options;
|
|
7
|
+
const { loadPagesEntry, buildRequestHeaders, decodePathParams, applyRouteHandlerMiddlewareContext, getDraftModeCookieHeader } = dependencies;
|
|
8
|
+
if (isRscRequest) return null;
|
|
9
|
+
const pagesEntry = await loadPagesEntry();
|
|
10
|
+
const pagesRequestHeaders = middlewareContext.requestHeaders ? buildRequestHeaders(request.headers, middlewareContext.requestHeaders) : null;
|
|
11
|
+
let pagesRequest = request;
|
|
12
|
+
if (pagesRequestHeaders) {
|
|
13
|
+
const pagesRequestInit = {
|
|
14
|
+
method: request.method,
|
|
15
|
+
headers: pagesRequestHeaders
|
|
16
|
+
};
|
|
17
|
+
if (request.method !== "GET" && request.method !== "HEAD") {
|
|
18
|
+
pagesRequestInit.body = request.body;
|
|
19
|
+
pagesRequestInit.duplex = "half";
|
|
20
|
+
}
|
|
21
|
+
pagesRequest = new Request(request.url, pagesRequestInit);
|
|
22
|
+
}
|
|
23
|
+
const pagesUrl = decodePathParams(url.pathname) + (url.search || "");
|
|
24
|
+
const pagesPathname = url.pathname;
|
|
25
|
+
if (pagesPathname.startsWith("/api/") || pagesPathname === "/api") {
|
|
26
|
+
if (typeof pagesEntry.handleApiRoute !== "function") return null;
|
|
27
|
+
const pagesApiResponse = await pagesEntry.handleApiRoute(pagesRequest, pagesUrl);
|
|
28
|
+
const draftCookie = getDraftModeCookieHeader();
|
|
29
|
+
return applyDraftModeCookie(applyRouteHandlerMiddlewareContext(pagesApiResponse, middlewareContext), draftCookie);
|
|
30
|
+
}
|
|
31
|
+
if (typeof pagesEntry.renderPage !== "function") return null;
|
|
32
|
+
const pagesRes = await pagesEntry.renderPage(pagesRequest, pagesUrl, {}, void 0, middlewareContext.requestHeaders);
|
|
33
|
+
if (pagesRes.status === 404) return null;
|
|
34
|
+
return applyDraftModeCookie(pagesRes, getDraftModeCookieHeader());
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Append a middleware-emitted `__prerender_bypass` Set-Cookie header to a Pages
|
|
38
|
+
* Router fallback response. Returns the response unchanged when there is no
|
|
39
|
+
* draft cookie to add. App Router route handlers/page renders surface this same
|
|
40
|
+
* cookie via `finalizeRouteHandlerResponse`/the page response builder; this
|
|
41
|
+
* keeps draft-mode parity for requests that fall through to the Pages Router.
|
|
42
|
+
*/
|
|
43
|
+
function applyDraftModeCookie(response, draftCookie) {
|
|
44
|
+
if (!draftCookie) return response;
|
|
45
|
+
const headers = new Headers(response.headers);
|
|
46
|
+
headers.append("Set-Cookie", draftCookie);
|
|
47
|
+
return new Response(response.body, {
|
|
48
|
+
status: response.status,
|
|
49
|
+
statusText: response.statusText,
|
|
50
|
+
headers
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
54
|
+
export { renderPagesFallback };
|
|
@@ -12,5 +12,4 @@ import { RequestContext } from "../config/config-matchers.js";
|
|
|
12
12
|
*/
|
|
13
13
|
declare function buildPostMwRequestContext(request: Request): RequestContext;
|
|
14
14
|
//#endregion
|
|
15
|
-
export { buildPostMwRequestContext };
|
|
16
|
-
//# sourceMappingURL=app-post-middleware-context.d.ts.map
|
|
15
|
+
export { buildPostMwRequestContext };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//#region src/server/app-ppr-fallback-shell.d.ts
|
|
2
|
+
type AppPprFallbackShellRoute = {
|
|
3
|
+
params: readonly string[];
|
|
4
|
+
pattern: string;
|
|
5
|
+
rootParamNames?: readonly string[] | null;
|
|
6
|
+
};
|
|
7
|
+
type AppPprFallbackShell = {
|
|
8
|
+
fallbackParamNames: readonly string[];
|
|
9
|
+
pathname: string;
|
|
10
|
+
params: Record<string, string | string[]>;
|
|
11
|
+
};
|
|
12
|
+
declare function createAppPprFallbackShell(route: AppPprFallbackShellRoute, matchedParams: Record<string, string | string[]>): AppPprFallbackShell | null;
|
|
13
|
+
declare function createAppPprFallbackShells(route: AppPprFallbackShellRoute, matchedParams: Record<string, string | string[]>): AppPprFallbackShell[];
|
|
14
|
+
declare function rewriteAppPprFallbackShellHtmlNavigation(options: {
|
|
15
|
+
html: string;
|
|
16
|
+
params: Record<string, string | string[]>;
|
|
17
|
+
pathname: string;
|
|
18
|
+
searchParams: URLSearchParams;
|
|
19
|
+
}): string;
|
|
20
|
+
//#endregion
|
|
21
|
+
export { createAppPprFallbackShell, createAppPprFallbackShells, rewriteAppPprFallbackShellHtmlNavigation };
|