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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./headers.js";
|
|
2
2
|
import { processMiddlewareHeaders } from "./request-pipeline.js";
|
|
3
3
|
import { setCacheStateHeaders } from "./cache-headers.js";
|
|
4
|
-
import { NEVER_CACHE_CONTROL, STATIC_CACHE_CONTROL, buildCachedRevalidateCacheControl } from "./cache-control.js";
|
|
4
|
+
import { NEVER_CACHE_CONTROL, STATIC_CACHE_CONTROL, applyCdnResponseHeaders, buildCachedRevalidateCacheControl } from "./cache-control.js";
|
|
5
5
|
import { mergeMiddlewareResponseHeaders } from "./middleware-response-headers.js";
|
|
6
6
|
import { getSetCookieName } from "./cookie-utils.js";
|
|
7
7
|
//#region src/server/app-route-handler-response.ts
|
|
@@ -37,14 +37,17 @@ function buildRouteHandlerCachedResponse(cachedValue, options) {
|
|
|
37
37
|
setCacheStateHeaders(headers, options.cacheState);
|
|
38
38
|
const revalidateSeconds = options.cacheControl?.revalidate ?? options.revalidateSeconds;
|
|
39
39
|
const expireSeconds = options.cacheControl === void 0 ? void 0 : options.cacheControl.expire ?? options.expireSeconds;
|
|
40
|
-
headers
|
|
40
|
+
applyCdnResponseHeaders(headers, { cacheControl: buildRouteHandlerCacheControl(options.cacheState, revalidateSeconds, expireSeconds) });
|
|
41
41
|
return new Response(options.isHead ? null : cachedValue.body, {
|
|
42
42
|
status: cachedValue.status,
|
|
43
43
|
headers
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
|
-
function applyRouteHandlerRevalidateHeader(response, revalidateSeconds, expireSeconds) {
|
|
47
|
-
response.headers
|
|
46
|
+
function applyRouteHandlerRevalidateHeader(response, revalidateSeconds, expireSeconds, tags) {
|
|
47
|
+
applyCdnResponseHeaders(response.headers, {
|
|
48
|
+
cacheControl: buildRouteHandlerCacheControl("HIT", revalidateSeconds, expireSeconds),
|
|
49
|
+
tags
|
|
50
|
+
});
|
|
48
51
|
}
|
|
49
52
|
function markRouteHandlerCacheMiss(response) {
|
|
50
53
|
setCacheStateHeaders(response.headers, "MISS");
|
|
@@ -83,7 +86,7 @@ function hasCookieAttribute(cookie, attributeName) {
|
|
|
83
86
|
*/
|
|
84
87
|
function normalizeReturnedCookie(cookie) {
|
|
85
88
|
if (hasCookieAttribute(cookie, "Path")) return cookie;
|
|
86
|
-
return `${cookie}; Path=/`;
|
|
89
|
+
return `${cookie.replace(/;\s*$/, "")}; Path=/`;
|
|
87
90
|
}
|
|
88
91
|
function applyMutableCookieFallbacks(headers, pendingCookies) {
|
|
89
92
|
if (pendingCookies.length === 0) return;
|
|
@@ -139,5 +142,3 @@ function finalizeRouteHandlerResponse(response, options) {
|
|
|
139
142
|
}
|
|
140
143
|
//#endregion
|
|
141
144
|
export { applyRouteHandlerMiddlewareContext, applyRouteHandlerRevalidateHeader, assertSupportedAppRouteHandlerResponse, buildAppRouteCacheValue, buildRouteHandlerCachedResponse, finalizeRouteHandlerResponse, markRouteHandlerCacheMiss };
|
|
142
|
-
|
|
143
|
-
//# sourceMappingURL=app-route-handler-response.js.map
|
|
@@ -35,5 +35,4 @@ type TrackedAppRouteRequest = {
|
|
|
35
35
|
};
|
|
36
36
|
declare function createTrackedAppRouteRequest(request: Request, options?: TrackedAppRouteRequestOptions): TrackedAppRouteRequest;
|
|
37
37
|
//#endregion
|
|
38
|
-
export { RouteHandlerHttpMethod, RouteHandlerModule, buildRouteHandlerAllowHeader, collectRouteHandlerMethods, createTrackedAppRouteRequest, isKnownDynamicAppRoute, isValidHTTPMethod, markKnownDynamicAppRoute };
|
|
39
|
-
//# sourceMappingURL=app-route-handler-runtime.d.ts.map
|
|
38
|
+
export { RouteHandlerHttpMethod, RouteHandlerModule, buildRouteHandlerAllowHeader, collectRouteHandlerMethods, createTrackedAppRouteRequest, isKnownDynamicAppRoute, isValidHTTPMethod, markKnownDynamicAppRoute };
|
|
@@ -236,5 +236,3 @@ function createTrackedAppRouteRequest(request, options = {}) {
|
|
|
236
236
|
}
|
|
237
237
|
//#endregion
|
|
238
238
|
export { buildRouteHandlerAllowHeader, collectRouteHandlerMethods, createTrackedAppRouteRequest, isKnownDynamicAppRoute, isValidHTTPMethod, markKnownDynamicAppRoute };
|
|
239
|
-
|
|
240
|
-
//# sourceMappingURL=app-route-handler-runtime.js.map
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
//#region src/server/app-route-module-loader.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Lazy route-module hydration for the App Router RSC entry.
|
|
4
|
+
*
|
|
5
|
+
* The generated route table (see `entries/app-rsc-manifest.ts`) emits page and
|
|
6
|
+
* route-handler modules as lazy `() => import()` thunks instead of eager
|
|
7
|
+
* `import * as mod_N` namespaces. This keeps those modules out of the RSC
|
|
8
|
+
* entry's top-level evaluation, so an app with many routes — or routes with
|
|
9
|
+
* expensive module-level initialization — does not pay to evaluate every route
|
|
10
|
+
* module at Worker startup. Only the module(s) for the matched route are
|
|
11
|
+
* evaluated, on demand.
|
|
12
|
+
*
|
|
13
|
+
* `ensureAppRouteModulesLoaded` resolves a route's lazy thunks and populates the
|
|
14
|
+
* synchronous `page` / `routeHandler` fields that the rest of the request
|
|
15
|
+
* pipeline reads directly. It is:
|
|
16
|
+
*
|
|
17
|
+
* - idempotent: once a route is loaded it returns immediately;
|
|
18
|
+
* - dedup'd: concurrent calls for the same route share one in-flight promise,
|
|
19
|
+
* so a burst of requests to the same route triggers a single import.
|
|
20
|
+
*
|
|
21
|
+
* Callers must `await` it before any synchronous read of `route.page` or
|
|
22
|
+
* `route.routeHandler` (segment config, fetch-cache mode, runtime resolution,
|
|
23
|
+
* dispatch branch, element building, etc.).
|
|
24
|
+
*/
|
|
25
|
+
type LazyModuleThunk = () => Promise<unknown>;
|
|
26
|
+
type LazyLoadableRoute = {
|
|
27
|
+
page?: unknown;
|
|
28
|
+
routeHandler?: unknown; /** Lazy loader for the page module; `null`/absent when the page is eager. */
|
|
29
|
+
__loadPage?: LazyModuleThunk | null; /** Lazy loader for the route-handler module; `null`/absent when none. */
|
|
30
|
+
__loadRouteHandler?: LazyModuleThunk | null; /** Set once the lazy modules have been resolved onto `page`/`routeHandler`. */
|
|
31
|
+
__loaded?: boolean; /** In-flight hydration promise, used to dedup concurrent loads. */
|
|
32
|
+
__loading?: Promise<unknown> | null;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Resolve a route's lazy page/route-handler modules and assign them onto the
|
|
36
|
+
* route's synchronous `page` / `routeHandler` fields. Returns the same route
|
|
37
|
+
* reference (synchronously when already loaded, otherwise after the in-flight
|
|
38
|
+
* import resolves). Safe to call on `null`/`undefined` routes and on eager
|
|
39
|
+
* routes that have no lazy thunks.
|
|
40
|
+
*/
|
|
41
|
+
declare function ensureAppRouteModulesLoaded<TRoute extends LazyLoadableRoute>(route: TRoute | null | undefined): TRoute | Promise<TRoute>;
|
|
42
|
+
//#endregion
|
|
43
|
+
export { LazyLoadableRoute, ensureAppRouteModulesLoaded };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
//#region src/server/app-route-module-loader.ts
|
|
2
|
+
/**
|
|
3
|
+
* Resolve a route's lazy page/route-handler modules and assign them onto the
|
|
4
|
+
* route's synchronous `page` / `routeHandler` fields. Returns the same route
|
|
5
|
+
* reference (synchronously when already loaded, otherwise after the in-flight
|
|
6
|
+
* import resolves). Safe to call on `null`/`undefined` routes and on eager
|
|
7
|
+
* routes that have no lazy thunks.
|
|
8
|
+
*/
|
|
9
|
+
function ensureAppRouteModulesLoaded(route) {
|
|
10
|
+
if (!route || route.__loaded) return route;
|
|
11
|
+
if (route.__loading) return route.__loading;
|
|
12
|
+
const loadPage = route.__loadPage;
|
|
13
|
+
const loadRouteHandler = route.__loadRouteHandler;
|
|
14
|
+
if (!loadPage && !loadRouteHandler) {
|
|
15
|
+
route.__loaded = true;
|
|
16
|
+
return route;
|
|
17
|
+
}
|
|
18
|
+
const loading = Promise.all([loadPage ? loadPage() : void 0, loadRouteHandler ? loadRouteHandler() : void 0]).then(([pageModule, routeHandlerModule]) => {
|
|
19
|
+
if (loadPage) route.page = pageModule;
|
|
20
|
+
if (loadRouteHandler) route.routeHandler = routeHandlerModule;
|
|
21
|
+
route.__loaded = true;
|
|
22
|
+
route.__loading = null;
|
|
23
|
+
return route;
|
|
24
|
+
}).catch((error) => {
|
|
25
|
+
route.__loading = null;
|
|
26
|
+
throw error;
|
|
27
|
+
});
|
|
28
|
+
route.__loading = loading;
|
|
29
|
+
return loading;
|
|
30
|
+
}
|
|
31
|
+
//#endregion
|
|
32
|
+
export { ensureAppRouteModulesLoaded };
|
|
@@ -5,6 +5,7 @@ import { cloneRequestWithHeaders, filterInternalHeaders, isOpenRedirectShaped }
|
|
|
5
5
|
import { assetPrefixPathname, isNextStaticPath } from "../utils/asset-prefix.js";
|
|
6
6
|
import { resolveStaticAssetSignal } from "./worker-utils.js";
|
|
7
7
|
import rscHandler, { __assetPrefix, __basePath } from "virtual:vinext-rsc-entry";
|
|
8
|
+
import { registerConfiguredCacheAdapters } from "virtual:vinext-cache-adapters";
|
|
8
9
|
//#region src/server/app-router-entry.ts
|
|
9
10
|
const __workerBasePath = typeof __basePath === "string" ? __basePath : "";
|
|
10
11
|
const __workerAssetPathPrefix = assetPrefixPathname(typeof __assetPrefix === "string" ? __assetPrefix : "");
|
|
@@ -12,6 +13,7 @@ var app_router_entry_default = { async fetch(request, env, ctx) {
|
|
|
12
13
|
return handleRequest(request, env, ctx);
|
|
13
14
|
} };
|
|
14
15
|
async function handleRequest(request, env, ctx) {
|
|
16
|
+
registerConfiguredCacheAdapters(env);
|
|
15
17
|
const url = new URL(request.url);
|
|
16
18
|
if (isOpenRedirectShaped(url.pathname)) return notFoundResponse();
|
|
17
19
|
try {
|
|
@@ -39,5 +41,3 @@ async function handleRequest(request, env, ctx) {
|
|
|
39
41
|
}
|
|
40
42
|
//#endregion
|
|
41
43
|
export { app_router_entry_default as default };
|
|
42
|
-
|
|
43
|
-
//# sourceMappingURL=app-router-entry.js.map
|
|
@@ -3,7 +3,7 @@ import { AppRscRenderMode } from "./app-rsc-render-mode.js";
|
|
|
3
3
|
|
|
4
4
|
//#region src/server/app-rsc-cache-busting.d.ts
|
|
5
5
|
/**
|
|
6
|
-
* RSC cache-busting hashes cover the headers that make
|
|
6
|
+
* RSC cache-busting hashes cover the headers that make an RSC payload vary.
|
|
7
7
|
* Client-side variant headers must survive transit through CDNs and reverse
|
|
8
8
|
* proxies; stripping them changes the server hash and turns stale URLs into
|
|
9
9
|
* repeated canonicalization redirects.
|
|
@@ -13,6 +13,7 @@ declare const VINEXT_RSC_COMPATIBILITY_ID_HEADER = "X-Vinext-RSC-Compatibility-I
|
|
|
13
13
|
declare const VINEXT_RSC_CONTENT_TYPE = "text/x-component";
|
|
14
14
|
declare const VINEXT_RSC_VARY_HEADER: string;
|
|
15
15
|
type CreateRscRequestHeadersOptions = {
|
|
16
|
+
clientReuseManifestHeader?: string | null;
|
|
16
17
|
interceptionContext?: string | null;
|
|
17
18
|
mountedSlotsHeader?: string | null;
|
|
18
19
|
renderMode?: AppRscRenderMode;
|
|
@@ -38,6 +39,14 @@ declare function resolveRscCompatibilityNavigationDecision(options: {
|
|
|
38
39
|
responseCompatibilityId: string | null | undefined;
|
|
39
40
|
responseUrl?: string | null;
|
|
40
41
|
}): RscCompatibilityNavigationDecision;
|
|
42
|
+
/**
|
|
43
|
+
* Detect the internal RSC cache-busting search param using the same
|
|
44
|
+
* encoding-aware matching as `stripRscCacheBustingSearchParam`
|
|
45
|
+
* (`isRscCacheBustingSearchPair`). The two share a single matcher so a guard
|
|
46
|
+
* built on this helper and the stripper can never disagree on which pairs
|
|
47
|
+
* count as `_rsc`, including encoded-key edge cases like `%5Frsc`.
|
|
48
|
+
*/
|
|
49
|
+
declare function hasRscCacheBustingSearchParam(url: URL): boolean;
|
|
41
50
|
declare function computeRscCacheBustingSearchParam(headers: Headers): Promise<string>;
|
|
42
51
|
declare function setRscCacheBustingSearchParam(url: URL, hash: string): void;
|
|
43
52
|
declare function stripRscCacheBustingSearchParam(url: URL): void;
|
|
@@ -48,8 +57,8 @@ declare function stripRscCacheBustingSearchParam(url: URL): void;
|
|
|
48
57
|
declare function stripRscSuffix(pathname: string): string;
|
|
49
58
|
declare function createRscRequestHeaders(options?: CreateRscRequestHeadersOptions): Headers;
|
|
50
59
|
declare function createRscRequestUrl(href: string, headers: Headers): Promise<string>;
|
|
60
|
+
declare function createServerActionRequestUrl(href: string): string;
|
|
51
61
|
declare function createRscRedirectLocation(location: string, request: Request): Promise<string>;
|
|
52
62
|
declare function resolveInvalidRscCacheBustingRequest(options: ResolveInvalidRscCacheBustingRequestOptions): Promise<Response | null>;
|
|
53
63
|
//#endregion
|
|
54
|
-
export { VINEXT_RSC_CACHE_BUSTING_SEARCH_PARAM, VINEXT_RSC_COMPATIBILITY_ID_HEADER, VINEXT_RSC_CONTENT_TYPE, VINEXT_RSC_RENDER_MODE_HEADER, VINEXT_RSC_VARY_HEADER, applyRscCompatibilityIdHeader, computeRscCacheBustingSearchParam, createRscRedirectLocation, createRscRequestHeaders, createRscRequestUrl, getVinextRscCompatibilityId, isRscCompatibilityIdCompatible, resolveHardNavigationTargetFromRscResponse, resolveInvalidRscCacheBustingRequest, resolveRscCompatibilityNavigationDecision, setRscCacheBustingSearchParam, stripRscCacheBustingSearchParam, stripRscSuffix };
|
|
55
|
-
//# sourceMappingURL=app-rsc-cache-busting.d.ts.map
|
|
64
|
+
export { VINEXT_RSC_CACHE_BUSTING_SEARCH_PARAM, VINEXT_RSC_COMPATIBILITY_ID_HEADER, VINEXT_RSC_CONTENT_TYPE, VINEXT_RSC_RENDER_MODE_HEADER, VINEXT_RSC_VARY_HEADER, applyRscCompatibilityIdHeader, computeRscCacheBustingSearchParam, createRscRedirectLocation, createRscRequestHeaders, createRscRequestUrl, createServerActionRequestUrl, getVinextRscCompatibilityId, hasRscCacheBustingSearchParam, isRscCompatibilityIdCompatible, resolveHardNavigationTargetFromRscResponse, resolveInvalidRscCacheBustingRequest, resolveRscCompatibilityNavigationDecision, setRscCacheBustingSearchParam, stripRscCacheBustingSearchParam, stripRscSuffix };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { NEXT_ROUTER_PREFETCH_HEADER, NEXT_ROUTER_SEGMENT_PREFETCH_HEADER, NEXT_ROUTER_STATE_TREE_HEADER, NEXT_URL_HEADER, VINEXT_INTERCEPTION_CONTEXT_HEADER, VINEXT_MOUNTED_SLOTS_HEADER, VINEXT_RSC_RENDER_MODE_HEADER } from "./headers.js";
|
|
1
|
+
import { NEXT_ROUTER_PREFETCH_HEADER, NEXT_ROUTER_SEGMENT_PREFETCH_HEADER, NEXT_ROUTER_STATE_TREE_HEADER, NEXT_URL_HEADER, VINEXT_CLIENT_REUSE_MANIFEST_HEADER, VINEXT_INTERCEPTION_CONTEXT_HEADER, VINEXT_MOUNTED_SLOTS_HEADER, VINEXT_RSC_RENDER_MODE_HEADER } from "./headers.js";
|
|
2
2
|
import { fnv1a64 } from "../utils/hash.js";
|
|
3
3
|
import { parseAppRscRenderMode } from "./app-rsc-render-mode.js";
|
|
4
4
|
//#region src/server/app-rsc-cache-busting.ts
|
|
5
5
|
/**
|
|
6
|
-
* RSC cache-busting hashes cover the headers that make
|
|
6
|
+
* RSC cache-busting hashes cover the headers that make an RSC payload vary.
|
|
7
7
|
* Client-side variant headers must survive transit through CDNs and reverse
|
|
8
8
|
* proxies; stripping them changes the server hash and turns stale URLs into
|
|
9
9
|
* repeated canonicalization redirects.
|
|
@@ -112,6 +112,16 @@ function isRscCacheBustingSearchPair(pair) {
|
|
|
112
112
|
return rawKey === VINEXT_RSC_CACHE_BUSTING_SEARCH_PARAM;
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* Detect the internal RSC cache-busting search param using the same
|
|
117
|
+
* encoding-aware matching as `stripRscCacheBustingSearchParam`
|
|
118
|
+
* (`isRscCacheBustingSearchPair`). The two share a single matcher so a guard
|
|
119
|
+
* built on this helper and the stripper can never disagree on which pairs
|
|
120
|
+
* count as `_rsc`, including encoded-key edge cases like `%5Frsc`.
|
|
121
|
+
*/
|
|
122
|
+
function hasRscCacheBustingSearchParam(url) {
|
|
123
|
+
return (url.search.startsWith("?") ? url.search.slice(1) : url.search).split("&").some((pair) => pair.length > 0 && isRscCacheBustingSearchPair(pair));
|
|
124
|
+
}
|
|
115
125
|
async function computeRscCacheBustingSearchParam(headers) {
|
|
116
126
|
const input = createCacheBustingInput(headers);
|
|
117
127
|
if (input === null) return "";
|
|
@@ -140,23 +150,26 @@ function createRscRequestHeaders(options = {}) {
|
|
|
140
150
|
});
|
|
141
151
|
if (options.interceptionContext !== void 0 && options.interceptionContext !== null) headers.set(VINEXT_INTERCEPTION_CONTEXT_HEADER, options.interceptionContext);
|
|
142
152
|
if (options.mountedSlotsHeader !== void 0 && options.mountedSlotsHeader !== null) headers.set(VINEXT_MOUNTED_SLOTS_HEADER, options.mountedSlotsHeader);
|
|
153
|
+
if (options.clientReuseManifestHeader !== void 0 && options.clientReuseManifestHeader !== null) headers.set(VINEXT_CLIENT_REUSE_MANIFEST_HEADER, options.clientReuseManifestHeader);
|
|
143
154
|
const renderMode = options.renderMode ?? "navigation";
|
|
144
155
|
if (renderMode !== "navigation") headers.set(VINEXT_RSC_RENDER_MODE_HEADER, renderMode);
|
|
145
156
|
return headers;
|
|
146
157
|
}
|
|
147
158
|
function toRscRequestPath(href) {
|
|
148
159
|
const hashIndex = href.indexOf("#");
|
|
149
|
-
|
|
150
|
-
const queryIndex = beforeHash.indexOf("?");
|
|
151
|
-
const pathname = queryIndex === -1 ? beforeHash : beforeHash.slice(0, queryIndex);
|
|
152
|
-
const query = queryIndex === -1 ? "" : beforeHash.slice(queryIndex);
|
|
153
|
-
return `${pathname.length > 1 && pathname.endsWith("/") ? pathname.slice(0, -1) : pathname}.rsc${query}`;
|
|
160
|
+
return hashIndex === -1 ? href : href.slice(0, hashIndex);
|
|
154
161
|
}
|
|
155
162
|
async function createRscRequestUrl(href, headers) {
|
|
156
163
|
const url = new URL(toRscRequestPath(href), "http://vinext.local");
|
|
157
164
|
setRscCacheBustingSearchParam(url, await computeRscCacheBustingSearchParam(headers));
|
|
158
165
|
return `${url.pathname}${url.search}`;
|
|
159
166
|
}
|
|
167
|
+
function createServerActionRequestUrl(href) {
|
|
168
|
+
const hashIndex = href.indexOf("#");
|
|
169
|
+
const beforeHash = hashIndex === -1 ? href : href.slice(0, hashIndex);
|
|
170
|
+
const url = new URL(beforeHash, "http://vinext.local");
|
|
171
|
+
return `${url.pathname}${url.search}`;
|
|
172
|
+
}
|
|
160
173
|
async function createRscRedirectLocation(location, request) {
|
|
161
174
|
const requestUrl = new URL(request.url);
|
|
162
175
|
const destinationUrl = new URL(location, requestUrl);
|
|
@@ -188,6 +201,4 @@ async function resolveInvalidRscCacheBustingRequest(options) {
|
|
|
188
201
|
});
|
|
189
202
|
}
|
|
190
203
|
//#endregion
|
|
191
|
-
export { VINEXT_RSC_CACHE_BUSTING_SEARCH_PARAM, VINEXT_RSC_COMPATIBILITY_ID_HEADER, VINEXT_RSC_CONTENT_TYPE, VINEXT_RSC_RENDER_MODE_HEADER, VINEXT_RSC_VARY_HEADER, applyRscCompatibilityIdHeader, computeRscCacheBustingSearchParam, createRscRedirectLocation, createRscRequestHeaders, createRscRequestUrl, getVinextRscCompatibilityId, isRscCompatibilityIdCompatible, resolveHardNavigationTargetFromRscResponse, resolveInvalidRscCacheBustingRequest, resolveRscCompatibilityNavigationDecision, setRscCacheBustingSearchParam, stripRscCacheBustingSearchParam, stripRscSuffix };
|
|
192
|
-
|
|
193
|
-
//# sourceMappingURL=app-rsc-cache-busting.js.map
|
|
204
|
+
export { VINEXT_RSC_CACHE_BUSTING_SEARCH_PARAM, VINEXT_RSC_COMPATIBILITY_ID_HEADER, VINEXT_RSC_CONTENT_TYPE, VINEXT_RSC_RENDER_MODE_HEADER, VINEXT_RSC_VARY_HEADER, applyRscCompatibilityIdHeader, computeRscCacheBustingSearchParam, createRscRedirectLocation, createRscRequestHeaders, createRscRequestUrl, createServerActionRequestUrl, getVinextRscCompatibilityId, hasRscCacheBustingSearchParam, isRscCompatibilityIdCompatible, resolveHardNavigationTargetFromRscResponse, resolveInvalidRscCacheBustingRequest, resolveRscCompatibilityNavigationDecision, setRscCacheBustingSearchParam, stripRscCacheBustingSearchParam, stripRscSuffix };
|
|
@@ -5,5 +5,4 @@ declare function bytesToBase64(bytes: Uint8Array): string;
|
|
|
5
5
|
declare function decodeRscEmbeddedChunk(chunk: RscEmbeddedChunk): Uint8Array;
|
|
6
6
|
declare function concatUint8Arrays(chunks: readonly Uint8Array[]): Uint8Array<ArrayBuffer>;
|
|
7
7
|
//#endregion
|
|
8
|
-
export { RSC_EMBEDDED_BINARY_CHUNK, RscEmbeddedChunk, bytesToBase64, concatUint8Arrays, decodeRscEmbeddedChunk };
|
|
9
|
-
//# sourceMappingURL=app-rsc-embedded-chunks.d.ts.map
|
|
8
|
+
export { RSC_EMBEDDED_BINARY_CHUNK, RscEmbeddedChunk, bytesToBase64, concatUint8Arrays, decodeRscEmbeddedChunk };
|
|
@@ -17,5 +17,4 @@ type ReportRequestError = (error: Error, requestInfo: {
|
|
|
17
17
|
*/
|
|
18
18
|
declare function createAppRscOnErrorHandler(reportRequestError: ReportRequestError, request: Request, pathname: string, routePath: string): (error: unknown) => string | undefined;
|
|
19
19
|
//#endregion
|
|
20
|
-
export { createAppRscOnErrorHandler };
|
|
21
|
-
//# sourceMappingURL=app-rsc-error-handler.d.ts.map
|
|
20
|
+
export { createAppRscOnErrorHandler };
|
|
@@ -26,5 +26,4 @@ declare function errorDigest(input: string): string;
|
|
|
26
26
|
declare function sanitizeErrorForClient(error: unknown, nodeEnv?: string | undefined): unknown;
|
|
27
27
|
declare function createRscOnErrorHandler(options: CreateRscOnErrorHandlerOptions): (error: unknown) => string | undefined;
|
|
28
28
|
//#endregion
|
|
29
|
-
export { createRscOnErrorHandler, errorDigest, hasDigest, sanitizeErrorForClient };
|
|
30
|
-
//# sourceMappingURL=app-rsc-errors.d.ts.map
|
|
29
|
+
export { createRscOnErrorHandler, errorDigest, hasDigest, sanitizeErrorForClient };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { NextHeader, NextI18nConfig, NextRedirect, NextRewrite } from "../config/next-config.js";
|
|
2
|
+
import { ClientReuseManifestParseResult } from "./client-reuse-manifest.js";
|
|
2
3
|
import { RootParams } from "../shims/root-params.js";
|
|
3
4
|
import { MiddlewareModule } from "./middleware-runtime.js";
|
|
4
5
|
import { AppMiddlewareContext } from "./app-middleware.js";
|
|
@@ -27,6 +28,7 @@ type AppRscRouteMatch<TRoute> = {
|
|
|
27
28
|
route: TRoute;
|
|
28
29
|
};
|
|
29
30
|
type DispatchMatchedPageOptions<TRoute> = {
|
|
31
|
+
clientReuseManifest: ClientReuseManifestParseResult;
|
|
30
32
|
cleanPathname: string;
|
|
31
33
|
formState: ReactFormState | null;
|
|
32
34
|
actionError?: unknown;
|
|
@@ -130,7 +132,20 @@ type CreateAppRscHandlerOptions<TRoute extends AppRscHandlerRoute> = {
|
|
|
130
132
|
draftModeSecret: string;
|
|
131
133
|
dispatchMatchedPage: (options: DispatchMatchedPageOptions<TRoute>) => Promise<Response>;
|
|
132
134
|
dispatchMatchedRouteHandler: (options: DispatchMatchedRouteHandlerOptions<TRoute>) => Promise<Response>;
|
|
135
|
+
/**
|
|
136
|
+
* Hydrate a matched route's lazily-loaded page/route-handler modules before
|
|
137
|
+
* any synchronous read of `route.page` / `route.routeHandler`. Idempotent and
|
|
138
|
+
* dedup'd. Provided by the generated RSC entry; absent in older entries.
|
|
139
|
+
*/
|
|
140
|
+
ensureRouteLoaded?: (route: TRoute) => unknown;
|
|
133
141
|
ensureInstrumentation?: () => Promise<void>;
|
|
142
|
+
/**
|
|
143
|
+
* Register cache adapters configured via the vinext() `cache` option. Wired
|
|
144
|
+
* from the generated RSC entry (which can import `virtual:vinext-cache-adapters`)
|
|
145
|
+
* so config-driven cache handlers apply to App Router on EVERY runtime — the
|
|
146
|
+
* Node server and dev included, not just the Cloudflare worker entry.
|
|
147
|
+
*/
|
|
148
|
+
registerCacheAdapters: (env?: Record<string, unknown>) => void;
|
|
134
149
|
handleProgressiveActionRequest: (options: HandleProgressiveActionRequestOptions) => Promise<Response | ProgressiveActionFormStateResult | null>;
|
|
135
150
|
handleServerActionRequest: (options: HandleServerActionRequestOptions) => Promise<Response | null>;
|
|
136
151
|
i18nConfig: NextI18nConfig | null;
|
|
@@ -151,5 +166,4 @@ type CreateAppRscHandlerOptions<TRoute extends AppRscHandlerRoute> = {
|
|
|
151
166
|
};
|
|
152
167
|
declare function createAppRscHandler<TRoute extends AppRscHandlerRoute>(options: CreateAppRscHandlerOptions<TRoute>): (request: Request, ctx: unknown) => Promise<Response>;
|
|
153
168
|
//#endregion
|
|
154
|
-
export { createAppRscHandler };
|
|
155
|
-
//# sourceMappingURL=app-rsc-handler.d.ts.map
|
|
169
|
+
export { createAppRscHandler };
|
|
@@ -4,27 +4,37 @@ import { getRequestExecutionContext } from "../shims/request-context.js";
|
|
|
4
4
|
import { ACTION_REVALIDATED_HEADER, VINEXT_MW_CTX_HEADER, VINEXT_PRERENDER_ROUTE_PARAMS_HEADER } from "./headers.js";
|
|
5
5
|
import { isExternalUrl, matchRedirect, matchRewrite, proxyExternalRequest, requestContextFromRequest, sanitizeDestination } from "../config/config-matchers.js";
|
|
6
6
|
import { notFoundResponse } from "./http-error-responses.js";
|
|
7
|
-
import { applyConfigHeadersToResponse, cloneRequestWithHeaders, filterInternalHeaders, normalizeTrailingSlash, resolvePublicFileRoute, validateImageUrl } from "./request-pipeline.js";
|
|
7
|
+
import { applyConfigHeadersToResponse, cloneRequestWithHeaders, cloneRequestWithUrl, filterInternalHeaders, normalizeTrailingSlash, resolvePublicFileRoute, validateImageUrl } from "./request-pipeline.js";
|
|
8
8
|
import { headersContextFromRequest } from "../shims/headers.js";
|
|
9
9
|
import { ensureFetchPatch, setCurrentFetchSoftTags } from "../shims/fetch-cache.js";
|
|
10
|
-
import { createRscRedirectLocation, resolveInvalidRscCacheBustingRequest, stripRscCacheBustingSearchParam, stripRscSuffix } from "./app-rsc-cache-busting.js";
|
|
10
|
+
import { createRscRedirectLocation, hasRscCacheBustingSearchParam, resolveInvalidRscCacheBustingRequest, stripRscCacheBustingSearchParam, stripRscSuffix } from "./app-rsc-cache-busting.js";
|
|
11
11
|
import { getScriptNonceFromHeaderSources } from "./csp.js";
|
|
12
12
|
import { normalizeDefaultLocalePathname } from "./pages-i18n.js";
|
|
13
13
|
import { isImageOptimizationPath } from "./image-optimization.js";
|
|
14
|
-
import { prerenderRouteParamsPayloadMatchesRoute, readTrustedPrerenderRouteParams, serializePrerenderRouteParamsHeader } from "./prerender-route-params.js";
|
|
15
|
-
import { flattenErrorCauses } from "../utils/error-cause.js";
|
|
16
14
|
import { mergeMiddlewareResponseHeaders } from "./middleware-response-headers.js";
|
|
17
15
|
import "./app-page-response.js";
|
|
16
|
+
import { prerenderRouteParamsPayloadMatchesRoute, readTrustedPrerenderRouteParams, serializePrerenderRouteParamsHeader } from "./prerender-route-params.js";
|
|
17
|
+
import { pickRootParams, setRootParams } from "../shims/root-params.js";
|
|
18
|
+
import { flattenErrorCauses } from "../utils/error-cause.js";
|
|
18
19
|
import { applyAppMiddleware } from "./app-middleware.js";
|
|
19
20
|
import { buildPageCacheTags } from "./implicit-tags.js";
|
|
20
21
|
import { buildPostMwRequestContext } from "./app-post-middleware-context.js";
|
|
21
|
-
import { pickRootParams, setRootParams } from "../shims/root-params.js";
|
|
22
22
|
import { handleAppPrerenderEndpoint } from "./app-prerender-endpoints.js";
|
|
23
23
|
import { finalizeAppRscResponse } from "./app-rsc-response-finalizer.js";
|
|
24
24
|
import { normalizeRscRequest } from "./app-rsc-request-normalization.js";
|
|
25
25
|
import { handleMetadataRouteRequest } from "./metadata-route-response.js";
|
|
26
26
|
import { runWithPrerenderWorkUnit } from "./prerender-work-unit-setup.js";
|
|
27
27
|
//#region src/server/app-rsc-handler.ts
|
|
28
|
+
function applyMiddlewareContextToResponse(response, middlewareContext) {
|
|
29
|
+
if (!middlewareContext.headers && middlewareContext.status == null) return response;
|
|
30
|
+
const headers = new Headers(response.headers);
|
|
31
|
+
mergeMiddlewareResponseHeaders(headers, middlewareContext.headers);
|
|
32
|
+
return new Response(response.body, {
|
|
33
|
+
status: middlewareContext.status ?? response.status,
|
|
34
|
+
statusText: response.statusText,
|
|
35
|
+
headers
|
|
36
|
+
});
|
|
37
|
+
}
|
|
28
38
|
function hasProperty(value, key) {
|
|
29
39
|
return key in value;
|
|
30
40
|
}
|
|
@@ -66,6 +76,12 @@ function applyConfigHeadersToMiddlewareRedirect(response, options) {
|
|
|
66
76
|
}
|
|
67
77
|
return response;
|
|
68
78
|
}
|
|
79
|
+
function requestWithoutRscCacheBustingSearchParam(request) {
|
|
80
|
+
const url = new URL(request.url);
|
|
81
|
+
if (!hasRscCacheBustingSearchParam(url)) return request;
|
|
82
|
+
stripRscCacheBustingSearchParam(url);
|
|
83
|
+
return cloneRequestWithUrl(request.body ? request.clone() : request, url.toString());
|
|
84
|
+
}
|
|
69
85
|
async function handleAppRscRequest(options, request, preMiddlewareRequestContext, isDataRequest) {
|
|
70
86
|
const handlerStart = process.env.NODE_ENV !== "production" ? performance.now() : 0;
|
|
71
87
|
if (process.env.NODE_ENV !== "production") {
|
|
@@ -74,7 +90,7 @@ async function handleAppRscRequest(options, request, preMiddlewareRequestContext
|
|
|
74
90
|
}
|
|
75
91
|
const normalized = normalizeRscRequest(request, options.basePath);
|
|
76
92
|
if (normalized instanceof Response) return normalized;
|
|
77
|
-
const { url, isRscRequest, interceptionContextHeader, mountedSlotsHeader, renderMode } = normalized;
|
|
93
|
+
const { url, isRscRequest, interceptionContextHeader, mountedSlotsHeader, renderMode, clientReuseManifest } = normalized;
|
|
78
94
|
let { pathname, cleanPathname } = normalized;
|
|
79
95
|
const canonicalPathname = cleanPathname;
|
|
80
96
|
const basePathState = {
|
|
@@ -108,6 +124,7 @@ async function handleAppRscRequest(options, request, preMiddlewareRequestContext
|
|
|
108
124
|
request
|
|
109
125
|
});
|
|
110
126
|
if (rscCacheBustingRedirect) return rscCacheBustingRedirect;
|
|
127
|
+
const userlandRequest = isRscRequest ? requestWithoutRscCacheBustingSearchParam(request) : request;
|
|
111
128
|
const middlewareContext = {
|
|
112
129
|
headers: null,
|
|
113
130
|
requestHeaders: null,
|
|
@@ -122,7 +139,7 @@ async function handleAppRscRequest(options, request, preMiddlewareRequestContext
|
|
|
122
139
|
isDataRequest,
|
|
123
140
|
isProxy: options.isMiddlewareProxy,
|
|
124
141
|
module: options.middlewareModule,
|
|
125
|
-
request,
|
|
142
|
+
request: userlandRequest,
|
|
126
143
|
trailingSlash: options.trailingSlash
|
|
127
144
|
});
|
|
128
145
|
if (middlewareResult.kind === "response") return applyConfigHeadersToMiddlewareRedirect(middlewareResult.response, {
|
|
@@ -135,11 +152,11 @@ async function handleAppRscRequest(options, request, preMiddlewareRequestContext
|
|
|
135
152
|
if (middlewareResult.search !== null) url.search = middlewareResult.search;
|
|
136
153
|
}
|
|
137
154
|
const scriptNonce = getScriptNonceFromHeaderSources(request.headers, middlewareContext.headers);
|
|
138
|
-
const postMiddlewareRequestContext = buildPostMwRequestContext(
|
|
155
|
+
const postMiddlewareRequestContext = buildPostMwRequestContext(userlandRequest);
|
|
139
156
|
const beforeFilesRewrite = await applyRewrite({
|
|
140
157
|
basePathState,
|
|
141
158
|
clearRequestContext: options.clearRequestContext,
|
|
142
|
-
request,
|
|
159
|
+
request: userlandRequest,
|
|
143
160
|
requestContext: postMiddlewareRequestContext,
|
|
144
161
|
rewrites: options.configRewrites.beforeFiles
|
|
145
162
|
}, matchPathname(cleanPathname));
|
|
@@ -155,7 +172,7 @@ async function handleAppRscRequest(options, request, preMiddlewareRequestContext
|
|
|
155
172
|
cleanPathname,
|
|
156
173
|
makeThenableParams: options.makeThenableParams
|
|
157
174
|
});
|
|
158
|
-
if (metadataRouteResponse) return metadataRouteResponse;
|
|
175
|
+
if (metadataRouteResponse) return applyMiddlewareContextToResponse(metadataRouteResponse, middlewareContext);
|
|
159
176
|
const publicFileResponse = resolvePublicFileRoute({
|
|
160
177
|
cleanPathname,
|
|
161
178
|
middlewareContext,
|
|
@@ -207,7 +224,7 @@ async function handleAppRscRequest(options, request, preMiddlewareRequestContext
|
|
|
207
224
|
const afterFilesRewrite = await applyRewrite({
|
|
208
225
|
basePathState,
|
|
209
226
|
clearRequestContext: options.clearRequestContext,
|
|
210
|
-
request,
|
|
227
|
+
request: userlandRequest,
|
|
211
228
|
requestContext: postMiddlewareRequestContext,
|
|
212
229
|
rewrites: options.configRewrites.afterFiles
|
|
213
230
|
}, matchPathname(cleanPathname));
|
|
@@ -221,7 +238,7 @@ async function handleAppRscRequest(options, request, preMiddlewareRequestContext
|
|
|
221
238
|
const fallbackRewrite = await applyRewrite({
|
|
222
239
|
basePathState,
|
|
223
240
|
clearRequestContext: options.clearRequestContext,
|
|
224
|
-
request,
|
|
241
|
+
request: userlandRequest,
|
|
225
242
|
requestContext: postMiddlewareRequestContext,
|
|
226
243
|
rewrites: options.configRewrites.fallback
|
|
227
244
|
}, matchPathname(cleanPathname));
|
|
@@ -260,6 +277,7 @@ async function handleAppRscRequest(options, request, preMiddlewareRequestContext
|
|
|
260
277
|
return notFoundResponse({ headers });
|
|
261
278
|
}
|
|
262
279
|
const { route, params } = match;
|
|
280
|
+
if (options.ensureRouteLoaded) await options.ensureRouteLoaded(route);
|
|
263
281
|
const prerenderRouteParamsPayload = readTrustedPrerenderRouteParams(request);
|
|
264
282
|
const prerenderRouteParams = prerenderRouteParamsPayloadMatchesRoute(prerenderRouteParamsPayload, route.pattern, params) ? prerenderRouteParamsPayload.params : null;
|
|
265
283
|
const renderParams = prerenderRouteParams ?? params;
|
|
@@ -282,6 +300,7 @@ async function handleAppRscRequest(options, request, preMiddlewareRequestContext
|
|
|
282
300
|
});
|
|
283
301
|
}
|
|
284
302
|
const pageResponse = await options.dispatchMatchedPage({
|
|
303
|
+
clientReuseManifest,
|
|
285
304
|
cleanPathname,
|
|
286
305
|
formState,
|
|
287
306
|
actionError,
|
|
@@ -338,6 +357,7 @@ function applyProgressiveActionSideEffects(response, sideEffects) {
|
|
|
338
357
|
}
|
|
339
358
|
function createAppRscHandler(options) {
|
|
340
359
|
return async function appRscHandler(rawRequest, ctx) {
|
|
360
|
+
options.registerCacheAdapters();
|
|
341
361
|
await options.ensureInstrumentation?.();
|
|
342
362
|
const mwCtx = rawRequest.headers.get(VINEXT_MW_CTX_HEADER);
|
|
343
363
|
const isDataRequest = rawRequest.headers.get("x-nextjs-data") === "1";
|
|
@@ -373,5 +393,3 @@ function createAppRscHandler(options) {
|
|
|
373
393
|
}
|
|
374
394
|
//#endregion
|
|
375
395
|
export { createAppRscHandler };
|
|
376
|
-
|
|
377
|
-
//# sourceMappingURL=app-rsc-handler.js.map
|
|
@@ -8,5 +8,4 @@ declare function shouldSuppressLoadingBoundaries(mode: AppRscRenderMode): boolea
|
|
|
8
8
|
declare function getRscRenderModeCacheVariant(mode: AppRscRenderMode): string | null;
|
|
9
9
|
declare function parseAppRscRenderMode(value: string | null): AppRscRenderMode;
|
|
10
10
|
//#endregion
|
|
11
|
-
export { APP_RSC_RENDER_MODE_ACTION_RERENDER_PRESERVE_UI, APP_RSC_RENDER_MODE_NAVIGATION, APP_RSC_RENDER_MODE_PREFETCH_LOADING_SHELL, APP_RSC_RENDER_MODE_REFRESH_PRESERVE_UI, AppRscRenderMode, getRscRenderModeCacheVariant, parseAppRscRenderMode, shouldSuppressLoadingBoundaries };
|
|
12
|
-
//# sourceMappingURL=app-rsc-render-mode.d.ts.map
|
|
11
|
+
export { APP_RSC_RENDER_MODE_ACTION_RERENDER_PRESERVE_UI, APP_RSC_RENDER_MODE_NAVIGATION, APP_RSC_RENDER_MODE_PREFETCH_LOADING_SHELL, APP_RSC_RENDER_MODE_REFRESH_PRESERVE_UI, AppRscRenderMode, getRscRenderModeCacheVariant, parseAppRscRenderMode, shouldSuppressLoadingBoundaries };
|
|
@@ -23,5 +23,3 @@ function parseAppRscRenderMode(value) {
|
|
|
23
23
|
}
|
|
24
24
|
//#endregion
|
|
25
25
|
export { APP_RSC_RENDER_MODE_ACTION_RERENDER_PRESERVE_UI, APP_RSC_RENDER_MODE_NAVIGATION, APP_RSC_RENDER_MODE_PREFETCH_LOADING_SHELL, APP_RSC_RENDER_MODE_REFRESH_PRESERVE_UI, getRscRenderModeCacheVariant, parseAppRscRenderMode, shouldSuppressLoadingBoundaries };
|
|
26
|
-
|
|
27
|
-
//# sourceMappingURL=app-rsc-render-mode.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { ClientReuseManifestParseResult } from "./client-reuse-manifest.js";
|
|
1
2
|
import { normalizeMountedSlotsHeader } from "./app-mounted-slots-header.js";
|
|
2
3
|
import { AppRscRenderMode } from "./app-rsc-render-mode.js";
|
|
3
|
-
import { ClientReuseManifestParseResult } from "./client-reuse-manifest.js";
|
|
4
4
|
|
|
5
5
|
//#region src/server/app-rsc-request-normalization.d.ts
|
|
6
6
|
type NormalizedRscRequest = {
|
|
@@ -10,7 +10,7 @@ type NormalizedRscRequest = {
|
|
|
10
10
|
isRscRequest: boolean; /** Sanitized X-Vinext-Interception-Context header (null bytes stripped). null when absent. */
|
|
11
11
|
interceptionContextHeader: string | null; /** Normalized x-vinext-mounted-slots header (deduplicated, sorted). null when absent or blank. */
|
|
12
12
|
mountedSlotsHeader: string | null; /** Semantic RSC payload mode. HTML requests always normalize to "navigation". */
|
|
13
|
-
renderMode: AppRscRenderMode; /**
|
|
13
|
+
renderMode: AppRscRenderMode; /** Parsed ClientReuseManifest hint. Verification and skip authorization happen later. */
|
|
14
14
|
clientReuseManifest: ClientReuseManifestParseResult;
|
|
15
15
|
};
|
|
16
16
|
/**
|
|
@@ -38,12 +38,11 @@ type NormalizedRscRequest = {
|
|
|
38
38
|
* 8. Sanitize X-Vinext-Interception-Context — strip null bytes (header injection)
|
|
39
39
|
* 9. Normalize x-vinext-mounted-slots — dedup and sort for canonical cache keys
|
|
40
40
|
* 10. Read semantic render mode for refresh/action payload rendering
|
|
41
|
-
* 11. Parse
|
|
41
|
+
* 11. Parse ClientReuseManifest hints on canonical RSC payload requests
|
|
42
42
|
*
|
|
43
43
|
* @returns A 400 or 404 Response for invalid or out-of-scope inputs,
|
|
44
44
|
* or a NormalizedRscRequest for valid requests.
|
|
45
45
|
*/
|
|
46
46
|
declare function normalizeRscRequest(request: Request, basePath: string): Response | NormalizedRscRequest;
|
|
47
47
|
//#endregion
|
|
48
|
-
export { NormalizedRscRequest, normalizeMountedSlotsHeader, normalizeRscRequest };
|
|
49
|
-
//# sourceMappingURL=app-rsc-request-normalization.d.ts.map
|
|
48
|
+
export { NormalizedRscRequest, normalizeMountedSlotsHeader, normalizeRscRequest };
|
|
@@ -7,8 +7,8 @@ import { guardProtocolRelativeUrl } from "./request-pipeline.js";
|
|
|
7
7
|
import { normalizeMountedSlotsHeader } from "./app-mounted-slots-header.js";
|
|
8
8
|
import { APP_RSC_RENDER_MODE_NAVIGATION, parseAppRscRenderMode } from "./app-rsc-render-mode.js";
|
|
9
9
|
import { stripRscSuffix } from "./app-rsc-cache-busting.js";
|
|
10
|
-
import { normalizeInterceptionContextHeader } from "./app-interception-context-header.js";
|
|
11
10
|
import { parseClientReuseManifestHeader } from "./client-reuse-manifest.js";
|
|
11
|
+
import { normalizeInterceptionContextHeader } from "./app-interception-context-header.js";
|
|
12
12
|
//#region src/server/app-rsc-request-normalization.ts
|
|
13
13
|
/**
|
|
14
14
|
* Normalize an App Router RSC request.
|
|
@@ -35,7 +35,7 @@ import { parseClientReuseManifestHeader } from "./client-reuse-manifest.js";
|
|
|
35
35
|
* 8. Sanitize X-Vinext-Interception-Context — strip null bytes (header injection)
|
|
36
36
|
* 9. Normalize x-vinext-mounted-slots — dedup and sort for canonical cache keys
|
|
37
37
|
* 10. Read semantic render mode for refresh/action payload rendering
|
|
38
|
-
* 11. Parse
|
|
38
|
+
* 11. Parse ClientReuseManifest hints on canonical RSC payload requests
|
|
39
39
|
*
|
|
40
40
|
* @returns A 400 or 404 Response for invalid or out-of-scope inputs,
|
|
41
41
|
* or a NormalizedRscRequest for valid requests.
|
|
@@ -73,5 +73,3 @@ function normalizeRscRequest(request, basePath) {
|
|
|
73
73
|
}
|
|
74
74
|
//#endregion
|
|
75
75
|
export { normalizeMountedSlotsHeader, normalizeRscRequest };
|
|
76
|
-
|
|
77
|
-
//# sourceMappingURL=app-rsc-request-normalization.js.map
|
|
@@ -34,5 +34,4 @@ type FinalizeAppRscResponseOptions = {
|
|
|
34
34
|
*/
|
|
35
35
|
declare function finalizeAppRscResponse(response: Response, request: Request, options: FinalizeAppRscResponseOptions): Response;
|
|
36
36
|
//#endregion
|
|
37
|
-
export { finalizeAppRscResponse };
|
|
38
|
-
//# sourceMappingURL=app-rsc-response-finalizer.d.ts.map
|
|
37
|
+
export { finalizeAppRscResponse };
|
|
@@ -5,6 +5,7 @@ import { normalizePath } from "./normalize-path.js";
|
|
|
5
5
|
import { applyConfigHeadersToResponse } from "./request-pipeline.js";
|
|
6
6
|
import { VINEXT_RSC_VARY_HEADER } from "./app-rsc-cache-busting.js";
|
|
7
7
|
import { normalizeDefaultLocalePathname } from "./pages-i18n.js";
|
|
8
|
+
import { applyCdnResponseHeaders } from "./cache-control.js";
|
|
8
9
|
import { mergeVaryHeader } from "./middleware-response-headers.js";
|
|
9
10
|
//#region src/server/app-rsc-response-finalizer.ts
|
|
10
11
|
/**
|
|
@@ -22,6 +23,7 @@ import { mergeVaryHeader } from "./middleware-response-headers.js";
|
|
|
22
23
|
function finalizeAppRscResponse(response, request, options) {
|
|
23
24
|
if (response.status >= 300 && response.status < 400) return response;
|
|
24
25
|
if (!response.headers.has("x-vinext-static-file")) mergeVaryHeader(response.headers, VINEXT_RSC_VARY_HEADER);
|
|
26
|
+
if (!response.headers.has("Cache-Control")) applyCdnResponseHeaders(response.headers, { cacheControl: "" });
|
|
25
27
|
if (!options.configHeaders.length) return response;
|
|
26
28
|
const url = new URL(request.url);
|
|
27
29
|
let pathname;
|
|
@@ -46,5 +48,3 @@ function finalizeAppRscResponse(response, request, options) {
|
|
|
46
48
|
}
|
|
47
49
|
//#endregion
|
|
48
50
|
export { finalizeAppRscResponse };
|
|
49
|
-
|
|
50
|
-
//# sourceMappingURL=app-rsc-response-finalizer.js.map
|
|
@@ -59,5 +59,4 @@ declare function createAppRscRouteMatcher<Route extends AppRscRouteForMatching>(
|
|
|
59
59
|
};
|
|
60
60
|
declare function matchAppRscRoutePattern(urlParts: string[], patternParts: string[]): AppRscRouteParams | null;
|
|
61
61
|
//#endregion
|
|
62
|
-
export { createAppRscRouteMatcher, matchAppRscRoutePattern };
|
|
63
|
-
//# sourceMappingURL=app-rsc-route-matching.d.ts.map
|
|
62
|
+
export { createAppRscRouteMatcher, matchAppRscRoutePattern };
|