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 { splitPathSegments } from "../routing/utils.js";
|
|
1
2
|
import { addBasePathToPathname, hasBasePath, stripBasePath } from "../utils/base-path.js";
|
|
2
3
|
import { ACTION_FORWARDED_HEADER, ACTION_REDIRECT_HEADER, ACTION_REDIRECT_STATUS_HEADER, ACTION_REDIRECT_TYPE_HEADER, ACTION_REVALIDATED_HEADER } from "./headers.js";
|
|
3
4
|
import { isExternalUrl } from "../config/config-matchers.js";
|
|
@@ -9,10 +10,10 @@ import { APP_RSC_RENDER_MODE_ACTION_RERENDER_PRESERVE_UI } from "./app-rsc-rende
|
|
|
9
10
|
import { setCurrentFetchCacheMode, setCurrentFetchSoftTags } from "../shims/fetch-cache.js";
|
|
10
11
|
import { VINEXT_RSC_CONTENT_TYPE, VINEXT_RSC_VARY_HEADER, applyRscCompatibilityIdHeader } from "./app-rsc-cache-busting.js";
|
|
11
12
|
import { readStreamAsTextWithLimit } from "../utils/text-stream.js";
|
|
12
|
-
import { createServerActionNotFoundResponse, getServerActionNotFoundMessage, isServerActionNotFoundError } from "./server-action-not-found.js";
|
|
13
13
|
import { mergeMiddlewareResponseHeaders } from "./middleware-response-headers.js";
|
|
14
14
|
import { applyEdgeRuntimeHeader } from "./app-page-response.js";
|
|
15
15
|
import { getNextErrorDigest, parseNextHttpErrorDigest, parseNextRedirectDigest } from "./next-error-digest.js";
|
|
16
|
+
import { createServerActionNotFoundResponse, getServerActionNotFoundMessage, isServerActionNotFoundError } from "./server-action-not-found.js";
|
|
16
17
|
import { deferUntilStreamConsumed } from "./app-page-stream.js";
|
|
17
18
|
import { resolveAppPageActionRerenderTarget } from "./app-page-request.js";
|
|
18
19
|
import { buildPageCacheTags } from "./implicit-tags.js";
|
|
@@ -109,6 +110,15 @@ function isRequestBodyTooLarge(error) {
|
|
|
109
110
|
return error instanceof Error && error.message === "Request body too large";
|
|
110
111
|
}
|
|
111
112
|
/**
|
|
113
|
+
* Build the error thrown when a server-action request body exceeds the
|
|
114
|
+
* configured size limit. Matches Next.js' `Body exceeded {limit} limit.`
|
|
115
|
+
* message + docs link (action-handler.ts) verbatim — including the original
|
|
116
|
+
* config string (e.g. "2mb") — so it reads identically in logs.
|
|
117
|
+
*/
|
|
118
|
+
function createBodyExceededError(limitLabel) {
|
|
119
|
+
return /* @__PURE__ */ new Error(`Body exceeded ${limitLabel} limit.\nTo configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit`);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
112
122
|
* Collapse repeated `cookies().set(name, ...)` / `cookies().delete(name)`
|
|
113
123
|
* calls down to the last value per name, matching Next.js'
|
|
114
124
|
* `MutableRequestCookiesAdapter` semantics. Next.js stores response cookies in
|
|
@@ -244,12 +254,9 @@ function resolveInternalActionRedirectTarget(redirectUrl, requestUrl, basePath)
|
|
|
244
254
|
function isAncestorRouteRedirect(targetPathname, currentPathname) {
|
|
245
255
|
return targetPathname !== "/" && currentPathname.startsWith(`${targetPathname}/`);
|
|
246
256
|
}
|
|
247
|
-
function splitActionRedirectPathname(pathname) {
|
|
248
|
-
return pathname.split("/").filter(Boolean);
|
|
249
|
-
}
|
|
250
257
|
function isStaleChildSiblingRouteRedirect(targetPathname, currentPathname) {
|
|
251
|
-
const targetSegments =
|
|
252
|
-
const currentSegments =
|
|
258
|
+
const targetSegments = splitPathSegments(targetPathname);
|
|
259
|
+
const currentSegments = splitPathSegments(currentPathname);
|
|
253
260
|
if (targetSegments.length === 0 || currentSegments.length <= targetSegments.length) return false;
|
|
254
261
|
let commonPrefixLength = 0;
|
|
255
262
|
const maxPrefixLength = Math.min(targetSegments.length, currentSegments.length);
|
|
@@ -327,7 +334,13 @@ async function handleProgressiveServerActionRequest(options) {
|
|
|
327
334
|
return payloadResponse;
|
|
328
335
|
}
|
|
329
336
|
const action = await options.decodeAction(body);
|
|
330
|
-
if (!isAppServerActionFunction(action))
|
|
337
|
+
if (!isAppServerActionFunction(action)) {
|
|
338
|
+
if (options.hasPageRoute) return createActionNotFoundResponse(null, {
|
|
339
|
+
clearRequestContext: options.clearRequestContext,
|
|
340
|
+
getAndClearPendingCookies: options.getAndClearPendingCookies
|
|
341
|
+
});
|
|
342
|
+
return null;
|
|
343
|
+
}
|
|
331
344
|
let actionRedirect = null;
|
|
332
345
|
let actionError = void 0;
|
|
333
346
|
let actionFailed = false;
|
|
@@ -413,23 +426,66 @@ async function handleProgressiveServerActionRequest(options) {
|
|
|
413
426
|
return internalServerErrorResponse(process.env.NODE_ENV === "production" ? void 0 : "Server action parsing failed: " + getServerActionFailureMessage(error));
|
|
414
427
|
}
|
|
415
428
|
}
|
|
429
|
+
/**
|
|
430
|
+
* Render the response for a fetch (client-invoked) server action whose request
|
|
431
|
+
* body exceeds the configured `serverActions.bodySizeLimit`.
|
|
432
|
+
*
|
|
433
|
+
* Next.js does not return a bare 413 here: it throws the body-exceeded error
|
|
434
|
+
* before the action runs, then — for fetch actions — emits a Flight response
|
|
435
|
+
* with status 500 carrying the rejected action result, so the nearest client
|
|
436
|
+
* error boundary catches it (see action-handler.ts, the `isFetchAction` branch
|
|
437
|
+
* of the generic error path). vinext mirrors that by rendering a Flight stream
|
|
438
|
+
* with `returnValue: { ok: false }` and no page root (the action never ran, so
|
|
439
|
+
* nothing was revalidated and the page render is skipped). A bare 413 plain
|
|
440
|
+
* response would bypass the boundary and surface the wrong status/content-type.
|
|
441
|
+
*/
|
|
442
|
+
async function renderFetchActionBodyExceededResponse(options) {
|
|
443
|
+
const error = createBodyExceededError(options.maxActionBodySizeLabel);
|
|
444
|
+
console.error("[vinext] Server action error:", error);
|
|
445
|
+
options.reportRequestError(normalizeError(error), {
|
|
446
|
+
path: options.cleanPathname,
|
|
447
|
+
method: options.request.method,
|
|
448
|
+
headers: Object.fromEntries(options.request.headers.entries())
|
|
449
|
+
}, {
|
|
450
|
+
routerKind: "App Router",
|
|
451
|
+
routePath: options.cleanPathname,
|
|
452
|
+
routeType: "action"
|
|
453
|
+
});
|
|
454
|
+
getAndClearActionRevalidationKind();
|
|
455
|
+
options.getAndClearPendingCookies();
|
|
456
|
+
const returnValue = {
|
|
457
|
+
ok: false,
|
|
458
|
+
data: options.sanitizeErrorForClient(error)
|
|
459
|
+
};
|
|
460
|
+
const temporaryReferences = options.createTemporaryReferenceSet();
|
|
461
|
+
const onRenderError = options.createRscOnErrorHandler(options.request, options.cleanPathname, options.cleanPathname);
|
|
462
|
+
const rscStream = await options.renderToReadableStream({ returnValue }, {
|
|
463
|
+
temporaryReferences,
|
|
464
|
+
onError: onRenderError
|
|
465
|
+
});
|
|
466
|
+
const headers = new Headers({
|
|
467
|
+
"Content-Type": VINEXT_RSC_CONTENT_TYPE,
|
|
468
|
+
Vary: VINEXT_RSC_VARY_HEADER
|
|
469
|
+
});
|
|
470
|
+
applyEdgeRuntimeHeader(headers, options.isEdgeRuntime);
|
|
471
|
+
mergeMiddlewareResponseHeaders(headers, options.middlewareHeaders);
|
|
472
|
+
applyRscCompatibilityIdHeader(headers);
|
|
473
|
+
return createServerActionRscResponse(rscStream, {
|
|
474
|
+
status: 500,
|
|
475
|
+
headers
|
|
476
|
+
}, options.clearRequestContext);
|
|
477
|
+
}
|
|
416
478
|
async function handleServerActionRscRequest(options) {
|
|
417
479
|
if (options.request.method.toUpperCase() !== "POST" || !options.actionId) return null;
|
|
418
480
|
const csrfResponse = validateCsrfOrigin(options.request, options.allowedOrigins);
|
|
419
481
|
if (csrfResponse) return csrfResponse;
|
|
420
|
-
if (parseInt(options.request.headers.get("content-length") || "0", 10) > options.maxActionBodySize)
|
|
421
|
-
options.clearRequestContext();
|
|
422
|
-
return payloadTooLargeResponse();
|
|
423
|
-
}
|
|
482
|
+
if (parseInt(options.request.headers.get("content-length") || "0", 10) > options.maxActionBodySize) return renderFetchActionBodyExceededResponse(options);
|
|
424
483
|
try {
|
|
425
484
|
let body;
|
|
426
485
|
try {
|
|
427
486
|
body = options.contentType.startsWith("multipart/form-data") ? await options.readFormDataWithLimit(options.request, options.maxActionBodySize) : await options.readBodyWithLimit(options.request, options.maxActionBodySize);
|
|
428
487
|
} catch (error) {
|
|
429
|
-
if (isRequestBodyTooLarge(error))
|
|
430
|
-
options.clearRequestContext();
|
|
431
|
-
return payloadTooLargeResponse();
|
|
432
|
-
}
|
|
488
|
+
if (isRequestBodyTooLarge(error)) return renderFetchActionBodyExceededResponse(options);
|
|
433
489
|
throw error;
|
|
434
490
|
}
|
|
435
491
|
const payloadResponse = await validateServerActionPayload(body);
|
|
@@ -519,6 +575,7 @@ async function handleServerActionRscRequest(options) {
|
|
|
519
575
|
}
|
|
520
576
|
const targetPathname = stripBasePath(redirectTarget.pathname, options.basePath ?? "");
|
|
521
577
|
const targetMatch = options.matchRoute(targetPathname);
|
|
578
|
+
if (targetMatch) await options.ensureRouteLoaded?.(targetMatch.route);
|
|
522
579
|
if (!targetMatch || !canRenderActionRedirectTarget(targetMatch.route)) {
|
|
523
580
|
options.clearRequestContext();
|
|
524
581
|
return new Response(null, {
|
|
@@ -527,6 +584,7 @@ async function handleServerActionRscRequest(options) {
|
|
|
527
584
|
});
|
|
528
585
|
}
|
|
529
586
|
const currentMatch = options.matchRoute(options.cleanPathname);
|
|
587
|
+
if (currentMatch) await options.ensureRouteLoaded?.(currentMatch.route);
|
|
530
588
|
const redirectRenderRequest = createActionRedirectRenderRequest({
|
|
531
589
|
pendingCookies: [...actionPendingCookies, ...actionDraftCookie ? [actionDraftCookie] : []],
|
|
532
590
|
request: options.request,
|
|
@@ -599,7 +657,7 @@ async function handleServerActionRscRequest(options) {
|
|
|
599
657
|
let errorPattern = match ? match.route.pattern : options.cleanPathname;
|
|
600
658
|
if (match) {
|
|
601
659
|
const { route: actionRoute, params: actionParams } = match;
|
|
602
|
-
const actionRerenderTarget = resolveAppPageActionRerenderTarget({
|
|
660
|
+
const actionRerenderTarget = await resolveAppPageActionRerenderTarget({
|
|
603
661
|
cleanPathname: options.cleanPathname,
|
|
604
662
|
currentParams: actionParams,
|
|
605
663
|
currentRoute: actionRoute,
|
|
@@ -614,6 +672,7 @@ async function handleServerActionRscRequest(options) {
|
|
|
614
672
|
searchParams: options.searchParams,
|
|
615
673
|
params: actionRerenderTarget.navigationParams
|
|
616
674
|
});
|
|
675
|
+
await options.ensureRouteLoaded?.(actionRerenderTarget.route);
|
|
617
676
|
setCurrentFetchCacheMode(options.resolveRouteFetchCacheMode?.(actionRerenderTarget.route) ?? null);
|
|
618
677
|
setCurrentFetchSoftTags(buildServerActionPageTags(actionRerenderTarget.route, options.cleanPathname));
|
|
619
678
|
element = options.buildPageElement({
|
|
@@ -670,5 +729,3 @@ async function handleServerActionRscRequest(options) {
|
|
|
670
729
|
}
|
|
671
730
|
//#endregion
|
|
672
731
|
export { applyActionRedirectBasePath, handleProgressiveServerActionRequest, handleServerActionRscRequest, isProgressiveServerActionRequest, readActionBodyWithLimit, readActionFormDataWithLimit };
|
|
673
|
-
|
|
674
|
-
//# sourceMappingURL=app-server-action-execution.js.map
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { NavigationContext } from "../shims/navigation.js";
|
|
2
2
|
import { RootParams } from "../shims/root-params.js";
|
|
3
|
+
import { AppSsrRenderResult } from "./app-page-stream.js";
|
|
3
4
|
import { ReactFormState } from "react-dom/client";
|
|
4
5
|
|
|
5
6
|
//#region src/server/app-ssr-entry.d.ts
|
|
@@ -29,15 +30,21 @@ declare function handleSsr(rscStream: ReadableStream<Uint8Array>, navContext: Na
|
|
|
29
30
|
* SSR head. Undefined or empty disables emission entirely.
|
|
30
31
|
*/
|
|
31
32
|
clientTraceMetadata?: readonly string[];
|
|
32
|
-
|
|
33
|
+
/**
|
|
34
|
+
* Maximum total length (in characters) of the preload `Link` header React
|
|
35
|
+
* emits during SSR. `0` disables emission. From `reactMaxHeadersLength` in
|
|
36
|
+
* `next.config`. Undefined falls back to React's own default.
|
|
37
|
+
*/
|
|
38
|
+
reactMaxHeadersLength?: number;
|
|
39
|
+
rootParams?: RootParams; /** Dev-only: original server error to surface in the browser overlay. */
|
|
40
|
+
initialDevServerError?: unknown;
|
|
33
41
|
/** When true, wait for the full React tree (including Suspense boundaries)
|
|
34
42
|
* to resolve before returning the HTML stream. Used for static prerender
|
|
35
43
|
* and ISR cache writes to avoid caching fallback content. */
|
|
36
44
|
waitForAllReady?: boolean;
|
|
37
|
-
}): Promise<
|
|
45
|
+
}): Promise<AppSsrRenderResult>;
|
|
38
46
|
declare const _default: {
|
|
39
47
|
fetch(request: Request): Promise<Response>;
|
|
40
48
|
};
|
|
41
49
|
//#endregion
|
|
42
|
-
export { FontData, FontPreload, _default as default, handleSsr };
|
|
43
|
-
//# sourceMappingURL=app-ssr-entry.d.ts.map
|
|
50
|
+
export { FontData, FontPreload, _default as default, handleSsr };
|
|
@@ -4,24 +4,33 @@ import { isOpenRedirectShaped } from "./request-pipeline.js";
|
|
|
4
4
|
import { AppElementsWire } from "./app-elements-wire.js";
|
|
5
5
|
import "./app-elements.js";
|
|
6
6
|
import { AppRouterContext } from "../shims/internal/app-router-context.js";
|
|
7
|
-
import { ServerInsertedHTMLContext, appRouterInstance, clearServerInsertedHTML, renderServerInsertedHTML, setNavigationContext, useServerInsertedHTML } from "../shims/navigation.js";
|
|
7
|
+
import { ServerInsertedHTMLContext, appRouterInstance, clearServerInsertedHTML, getBfcacheIdMapContext, renderServerInsertedHTML, setNavigationContext, useServerInsertedHTML } from "../shims/navigation.js";
|
|
8
8
|
import { runWithNavigationContext } from "../shims/navigation-state.js";
|
|
9
9
|
import { withScriptNonce } from "../shims/script-nonce-context.js";
|
|
10
10
|
import { createInlineScriptTag, createNonceAttribute, escapeHtmlAttr, safeJsonStringify } from "./html.js";
|
|
11
11
|
import { getClientTraceMetadataHTML } from "./client-trace-metadata.js";
|
|
12
|
-
import { ElementsContext, Slot } from "../shims/slot.js";
|
|
12
|
+
import { BfcacheStateKeyMapContext, ElementsContext, Slot } from "../shims/slot.js";
|
|
13
|
+
import { createSsrErrorMetaRenderer } from "./app-ssr-error-meta.js";
|
|
13
14
|
import { createNavigationRuntimeRscMetadataScript, createRscEmbedTransform, createTickBufferedTransform } from "./app-ssr-stream.js";
|
|
15
|
+
import { BeforeInteractiveContext } from "../shims/before-interactive-context.js";
|
|
16
|
+
import { runWithRootParamsScope } from "../shims/root-params.js";
|
|
17
|
+
import { createBfcacheSegmentStateKeyMap, createInitialBfcacheIdMap } from "./app-browser-state.js";
|
|
14
18
|
import { RSC_FORM_STATE_GLOBAL } from "./app-browser-hydration.js";
|
|
15
19
|
import { createClientReferencePreloader } from "./app-client-reference-preloader.js";
|
|
16
20
|
import { deferUntilStreamConsumed } from "./app-page-stream.js";
|
|
17
|
-
import {
|
|
18
|
-
import { BeforeInteractiveContext } from "../shims/before-interactive-context.js";
|
|
19
|
-
import { createSsrErrorMetaRenderer } from "./app-ssr-error-meta.js";
|
|
21
|
+
import { createInitialDevServerErrorScript } from "./dev-initial-server-error.js";
|
|
20
22
|
import { Fragment, createElement, use } from "react";
|
|
21
23
|
import { renderToReadableStream, renderToStaticMarkup } from "react-dom/server.edge";
|
|
22
24
|
import { createFromReadableStream } from "@vitejs/plugin-rsc/ssr";
|
|
23
25
|
import clientReferences from "virtual:vite-rsc/client-references";
|
|
24
26
|
//#region src/server/app-ssr-entry.ts
|
|
27
|
+
/**
|
|
28
|
+
* Default cap for the preload `Link` header, matching Next.js's
|
|
29
|
+
* `defaultConfig.reactMaxHeadersLength`. Used when no config value threads
|
|
30
|
+
* through (e.g. error-boundary renders) so React's internal cap agrees with
|
|
31
|
+
* the response-layer combine cap.
|
|
32
|
+
*/
|
|
33
|
+
const DEFAULT_REACT_MAX_HEADERS_LENGTH = 6e3;
|
|
25
34
|
const clientReferencePreloader = createClientReferencePreloader({
|
|
26
35
|
getReferences() {
|
|
27
36
|
return clientReferences;
|
|
@@ -33,6 +42,7 @@ const clientReferencePreloader = createClientReferencePreloader({
|
|
|
33
42
|
if (process.env.NODE_ENV !== "production") console.warn("[vinext] failed to preload client ref:", id, error);
|
|
34
43
|
}
|
|
35
44
|
});
|
|
45
|
+
const BfcacheIdMapContext = getBfcacheIdMapContext();
|
|
36
46
|
function ssrErrorDigest(input) {
|
|
37
47
|
let hash = 5381;
|
|
38
48
|
for (let i = input.length - 1; i >= 0; i--) hash = hash * 33 ^ input.charCodeAt(i);
|
|
@@ -117,15 +127,20 @@ function buildModulePreloadHtml(bootstrapModuleUrl, nonce) {
|
|
|
117
127
|
}
|
|
118
128
|
function buildHeadInjectionHtml(navContext, bootstrapModuleUrl, formState, insertedHTML, fontHTML, scriptNonce) {
|
|
119
129
|
const navPayload = {
|
|
120
|
-
pathname: navContext
|
|
121
|
-
searchParams:
|
|
130
|
+
pathname: navContext.pathname,
|
|
131
|
+
searchParams: [...navContext.searchParams.entries()]
|
|
122
132
|
};
|
|
123
|
-
return createInlineScriptTag(createNavigationRuntimeRscMetadataScript(navContext
|
|
133
|
+
return createInlineScriptTag(createNavigationRuntimeRscMetadataScript(navContext.params, navPayload), scriptNonce) + (formState === null ? "" : createInlineScriptTag("self[" + safeJsonStringify(RSC_FORM_STATE_GLOBAL) + "]=" + safeJsonStringify(formState), scriptNonce)) + buildModulePreloadHtml(bootstrapModuleUrl, scriptNonce) + insertedHTML + fontHTML;
|
|
134
|
+
}
|
|
135
|
+
function requireNavigationContext(navContext) {
|
|
136
|
+
if (!navContext) throw new Error("App SSR requires navigation context for BFCache state keys");
|
|
137
|
+
return navContext;
|
|
124
138
|
}
|
|
125
139
|
async function handleSsr(rscStream, navContext, fontData, options) {
|
|
126
140
|
return runWithNavigationContext(async () => {
|
|
141
|
+
const ssrNavigationContext = requireNavigationContext(navContext);
|
|
127
142
|
await clientReferencePreloader.preload();
|
|
128
|
-
|
|
143
|
+
setNavigationContext(ssrNavigationContext);
|
|
129
144
|
clearServerInsertedHTML();
|
|
130
145
|
const cleanup = () => {
|
|
131
146
|
setNavigationContext(null);
|
|
@@ -150,7 +165,12 @@ async function handleSsr(rscStream, navContext, fontData, options) {
|
|
|
150
165
|
const wireElements = use(flightRoot);
|
|
151
166
|
const elements = AppElementsWire.decode(wireElements);
|
|
152
167
|
const metadata = AppElementsWire.readMetadata(elements);
|
|
153
|
-
|
|
168
|
+
const routeTree = createElement(ElementsContext.Provider, { value: elements }, createElement(Slot, { id: metadata.routeId }));
|
|
169
|
+
const stateKeyTree = createElement(BfcacheStateKeyMapContext.Provider, { value: createBfcacheSegmentStateKeyMap({
|
|
170
|
+
elements,
|
|
171
|
+
pathname: ssrNavigationContext.pathname
|
|
172
|
+
}) }, routeTree);
|
|
173
|
+
return BfcacheIdMapContext ? createElement(BfcacheIdMapContext.Provider, { value: createInitialBfcacheIdMap(elements) }, stateKeyTree) : stateKeyTree;
|
|
154
174
|
}
|
|
155
175
|
const flightRootElement = createElement(VinextFlightRoot);
|
|
156
176
|
const root = AppRouterContext ? createElement(AppRouterContext.Provider, { value: appRouterInstance }, flightRootElement) : flightRootElement;
|
|
@@ -162,7 +182,15 @@ async function handleSsr(rscStream, navContext, fontData, options) {
|
|
|
162
182
|
const ssrRoot = withScriptNonce(createElement(BeforeInteractiveContext.Provider, { value: registerBeforeInteractiveInlineScript }, ssrTree), options?.scriptNonce);
|
|
163
183
|
const bootstrapModuleUrl = extractBootstrapModuleUrl(await import.meta.viteRsc.loadBootstrapScriptContent("index"));
|
|
164
184
|
const errorMetaRenderer = createSsrErrorMetaRenderer({ basePath: options?.basePath });
|
|
185
|
+
let reactLinkHeader = "";
|
|
186
|
+
const maxHeadersLength = options?.reactMaxHeadersLength ?? DEFAULT_REACT_MAX_HEADERS_LENGTH;
|
|
187
|
+
const captureHeaders = maxHeadersLength > 0;
|
|
165
188
|
const htmlStream = await renderToReadableStream(ssrRoot, {
|
|
189
|
+
onHeaders: captureHeaders ? (headers) => {
|
|
190
|
+
const link = headers.get("Link");
|
|
191
|
+
if (link) reactLinkHeader = link;
|
|
192
|
+
} : void 0,
|
|
193
|
+
maxHeadersLength: captureHeaders ? maxHeadersLength : void 0,
|
|
166
194
|
bootstrapModules: bootstrapModuleUrl ? [bootstrapModuleUrl] : void 0,
|
|
167
195
|
formState: options?.formState ?? null,
|
|
168
196
|
nonce: options?.scriptNonce,
|
|
@@ -172,7 +200,6 @@ async function handleSsr(rscStream, navContext, fontData, options) {
|
|
|
172
200
|
if (process.env.NODE_ENV === "production" && error) return ssrErrorDigest(getErrorMessage(error) + (error instanceof Error ? error.stack ?? "" : ""));
|
|
173
201
|
}
|
|
174
202
|
});
|
|
175
|
-
if (options?.waitForAllReady === true) await htmlStream.allReady;
|
|
176
203
|
const inlineCssManifest = globalThis.__VINEXT_INLINE_CSS__;
|
|
177
204
|
const fontStyles = fontData?.styles ?? [];
|
|
178
205
|
const mergeFontStylesIntoInlineCss = fontStyles.length > 0 && hasInlineCssManifest(inlineCssManifest);
|
|
@@ -188,12 +215,19 @@ async function handleSsr(rscStream, navContext, fontData, options) {
|
|
|
188
215
|
const getInsertedHTML = () => {
|
|
189
216
|
const insertedHTML = renderInsertedHtml(renderServerInsertedHTML());
|
|
190
217
|
const errorMetaHTML = errorMetaRenderer.flush();
|
|
218
|
+
const initialDevServerErrorHTML = createInitialDevServerErrorScript(options?.initialDevServerError, options?.scriptNonce);
|
|
191
219
|
if (didInjectHeadHTML) return insertedHTML + errorMetaHTML;
|
|
192
220
|
didInjectHeadHTML = true;
|
|
193
|
-
return buildHeadInjectionHtml(
|
|
221
|
+
return buildHeadInjectionHtml(ssrNavigationContext, bootstrapModuleUrl, options?.formState ?? null, insertedHTML + errorMetaHTML + getTraceMetaHTML() + initialDevServerErrorHTML, fontHTML, options?.scriptNonce);
|
|
194
222
|
};
|
|
195
223
|
const getBeforeInteractiveHeadHTML = () => renderBeforeInteractiveInlineScripts(beforeInteractiveInlineScripts);
|
|
196
|
-
|
|
224
|
+
if (options?.waitForAllReady === true) await htmlStream.allReady;
|
|
225
|
+
return {
|
|
226
|
+
htmlStream: deferUntilStreamConsumed(htmlStream.pipeThrough(createTickBufferedTransform(rscEmbed, getInsertedHTML, getBeforeInteractiveHeadHTML, inlineCssManifest, inlineCssFontStyles, inlineCssFontStyleFallbackHTML, options?.scriptNonce)), cleanup),
|
|
227
|
+
metadataReady: Promise.resolve(),
|
|
228
|
+
capturedRscData: options?.capturedRscDataRef?.value ?? null,
|
|
229
|
+
linkHeader: reactLinkHeader
|
|
230
|
+
};
|
|
197
231
|
} catch (error) {
|
|
198
232
|
cleanup();
|
|
199
233
|
throw error;
|
|
@@ -210,5 +244,3 @@ var app_ssr_entry_default = { async fetch(request) {
|
|
|
210
244
|
} };
|
|
211
245
|
//#endregion
|
|
212
246
|
export { app_ssr_entry_default as default, handleSsr };
|
|
213
|
-
|
|
214
|
-
//# sourceMappingURL=app-ssr-entry.js.map
|
|
@@ -10,5 +10,4 @@ type SsrErrorMetaRenderer = {
|
|
|
10
10
|
declare function renderSsrErrorMetaTags(errors: readonly unknown[], options?: SsrErrorMetaRenderOptions): string;
|
|
11
11
|
declare function createSsrErrorMetaRenderer(options?: SsrErrorMetaRenderOptions): SsrErrorMetaRenderer;
|
|
12
12
|
//#endregion
|
|
13
|
-
export { createSsrErrorMetaRenderer, renderSsrErrorMetaTags };
|
|
14
|
-
//# sourceMappingURL=app-ssr-error-meta.d.ts.map
|
|
13
|
+
export { createSsrErrorMetaRenderer, renderSsrErrorMetaTags };
|
|
@@ -57,5 +57,4 @@ declare function fixPreloadAs(html: string): string;
|
|
|
57
57
|
*/
|
|
58
58
|
declare function createTickBufferedTransform(rscEmbed: RscEmbedTransform, injectHTML?: HtmlInsertion, injectAfterHeadOpenHTML?: HtmlInsertion, inlineCssManifest?: InlineCssManifest, inlineCssPrependCss?: string, inlineCssPrependFallbackHTML?: string, inlineCssScriptNonce?: string): TransformStream<Uint8Array, Uint8Array>;
|
|
59
59
|
//#endregion
|
|
60
|
-
export { createNavigationRuntimeRscMetadataScript, createRscEmbedTransform, createTickBufferedTransform, fixFlightHints, fixPreloadAs, navigationRuntimeRscBootstrapExpression };
|
|
61
|
-
//# sourceMappingURL=app-ssr-stream.d.ts.map
|
|
60
|
+
export { createNavigationRuntimeRscMetadataScript, createRscEmbedTransform, createTickBufferedTransform, fixFlightHints, fixPreloadAs, navigationRuntimeRscBootstrapExpression };
|
|
@@ -218,6 +218,18 @@ function rewriteInlineCssStylesheetLinks(html, inlineCssManifest, prependCss, ss
|
|
|
218
218
|
*/
|
|
219
219
|
const HEAD_OPEN_RE = /<head\b[^>]*>/;
|
|
220
220
|
/**
|
|
221
|
+
* Final closing tags of the streamed HTML document. We track this suffix
|
|
222
|
+
* separately so we can move it to the very end of the stream — trailing flight
|
|
223
|
+
* chunks and preinit scripts emitted by `rscEmbed.finalize()` are appended in
|
|
224
|
+
* `flush()`, which would otherwise land them after `</body></html>` and break
|
|
225
|
+
* any consumer that asserts the document terminates with a well-formed close.
|
|
226
|
+
*
|
|
227
|
+
* Ported from Next.js: packages/next/src/server/stream-utils/node-web-streams-helper.ts
|
|
228
|
+
* https://github.com/vercel/next.js/blob/canary/packages/next/src/server/stream-utils/node-web-streams-helper.ts
|
|
229
|
+
* (see `createMoveSuffixStream` and `CLOSE_TAG`)
|
|
230
|
+
*/
|
|
231
|
+
const DOCUMENT_CLOSE_SUFFIX = "</body></html>";
|
|
232
|
+
/**
|
|
221
233
|
* Create the tick-buffered HTML transform that injects RSC scripts between
|
|
222
234
|
* React Fizz flush cycles without corrupting split HTML chunks.
|
|
223
235
|
*
|
|
@@ -250,10 +262,26 @@ function createTickBufferedTransform(rscEmbed, injectHTML = "", injectAfterHeadO
|
|
|
250
262
|
const insertsPerFlush = typeof injectHTML === "function";
|
|
251
263
|
let injected = false;
|
|
252
264
|
let preHeadInjected = false;
|
|
265
|
+
let suffixStripped = false;
|
|
253
266
|
let buffered = [];
|
|
254
267
|
let pendingHtml = "";
|
|
255
268
|
let timeoutId = null;
|
|
256
269
|
const hasInlineCssManifest = inlineCssManifest !== void 0 && Object.keys(inlineCssManifest).length > 0;
|
|
270
|
+
/**
|
|
271
|
+
* Strip the first occurrence of `</body></html>` from `chunk` so it can be
|
|
272
|
+
* re-emitted at the very end of the stream. Returns the rewritten chunk and
|
|
273
|
+
* a flag indicating whether a suffix was found. If `suffixStripped` is
|
|
274
|
+
* already true (i.e. an earlier chunk contained the suffix), this is a
|
|
275
|
+
* no-op — additional matches in later chunks shouldn't happen in practice,
|
|
276
|
+
* but we leave them alone to avoid corrupting unexpected output.
|
|
277
|
+
*/
|
|
278
|
+
const stripDocumentCloseSuffix = (chunk) => {
|
|
279
|
+
if (suffixStripped) return chunk;
|
|
280
|
+
const index = chunk.indexOf(DOCUMENT_CLOSE_SUFFIX);
|
|
281
|
+
if (index === -1) return chunk;
|
|
282
|
+
suffixStripped = true;
|
|
283
|
+
return chunk.slice(0, index) + chunk.slice(index + 14);
|
|
284
|
+
};
|
|
257
285
|
const readInsertion = () => typeof injectHTML === "function" ? injectHTML() : injectHTML;
|
|
258
286
|
const readPreHeadInsertion = () => typeof injectAfterHeadOpenHTML === "function" ? injectAfterHeadOpenHTML() : injectAfterHeadOpenHTML;
|
|
259
287
|
const readInlineCssPrependFallback = () => {
|
|
@@ -328,12 +356,13 @@ function createTickBufferedTransform(rscEmbed, injectHTML = "", injectAfterHeadO
|
|
|
328
356
|
const headEnd = working.indexOf("</head>");
|
|
329
357
|
if (headEnd !== -1) {
|
|
330
358
|
const before = working.slice(0, headEnd);
|
|
331
|
-
const after = working.slice(headEnd);
|
|
359
|
+
const after = stripDocumentCloseSuffix(working.slice(headEnd));
|
|
332
360
|
controller.enqueue(encoder.encode(before + readInlineCssPrependFallback() + readInsertion() + after));
|
|
333
361
|
injected = true;
|
|
334
362
|
return;
|
|
335
363
|
}
|
|
336
364
|
}
|
|
365
|
+
working = stripDocumentCloseSuffix(working);
|
|
337
366
|
controller.enqueue(encoder.encode(working));
|
|
338
367
|
};
|
|
339
368
|
return new TransformStream({
|
|
@@ -363,10 +392,9 @@ function createTickBufferedTransform(rscEmbed, injectHTML = "", injectAfterHeadO
|
|
|
363
392
|
} else if (insertsPerFlush) emitInsertion(controller);
|
|
364
393
|
const finalScripts = await rscEmbed.finalize();
|
|
365
394
|
if (finalScripts) controller.enqueue(encoder.encode(finalScripts));
|
|
395
|
+
controller.enqueue(encoder.encode(DOCUMENT_CLOSE_SUFFIX));
|
|
366
396
|
}
|
|
367
397
|
});
|
|
368
398
|
}
|
|
369
399
|
//#endregion
|
|
370
400
|
export { createNavigationRuntimeRscMetadataScript, createRscEmbedTransform, createTickBufferedTransform, fixFlightHints, fixPreloadAs, navigationRuntimeRscBootstrapExpression };
|
|
371
|
-
|
|
372
|
-
//# sourceMappingURL=app-ssr-stream.js.map
|
|
@@ -12,5 +12,4 @@ declare function getAppPageStaticGenerationErrorMessage(): string;
|
|
|
12
12
|
declare function getAppRouteStaticGenerationErrorMessage(routePattern?: string, expression?: string): string;
|
|
13
13
|
declare function createStaticGenerationHeadersContext(options: CreateStaticGenerationHeadersContextOptions): HeadersContext;
|
|
14
14
|
//#endregion
|
|
15
|
-
export { createStaticGenerationHeadersContext, getAppPageStaticGenerationErrorMessage, getAppRouteStaticGenerationErrorMessage };
|
|
16
|
-
//# sourceMappingURL=app-static-generation.d.ts.map
|
|
15
|
+
export { createStaticGenerationHeadersContext, getAppPageStaticGenerationErrorMessage, getAppRouteStaticGenerationErrorMessage };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { CachedRscResponse } from "../shims/navigation.js";
|
|
2
|
+
|
|
3
|
+
//#region src/server/app-visited-response-cache.d.ts
|
|
4
|
+
type VisitedResponseCacheNavigationKind = "navigate" | "refresh" | "traverse";
|
|
5
|
+
type VisitedResponseCacheEntry = {
|
|
6
|
+
createdAt: number;
|
|
7
|
+
expiresAt: number;
|
|
8
|
+
params: Record<string, string | string[]>;
|
|
9
|
+
response: CachedRscResponse;
|
|
10
|
+
};
|
|
11
|
+
declare const VISITED_RESPONSE_CACHE_TTL: number;
|
|
12
|
+
declare const MAX_TRAVERSAL_CACHE_TTL: number;
|
|
13
|
+
declare function createVisitedResponseCacheEntry(options: {
|
|
14
|
+
now: number;
|
|
15
|
+
params: Record<string, string | string[]>;
|
|
16
|
+
response: CachedRscResponse;
|
|
17
|
+
}): VisitedResponseCacheEntry;
|
|
18
|
+
declare function isVisitedResponseCacheEntryFresh(entry: VisitedResponseCacheEntry, options: {
|
|
19
|
+
navigationKind: VisitedResponseCacheNavigationKind;
|
|
20
|
+
now: number;
|
|
21
|
+
}): boolean;
|
|
22
|
+
//#endregion
|
|
23
|
+
export { MAX_TRAVERSAL_CACHE_TTL, VISITED_RESPONSE_CACHE_TTL, VisitedResponseCacheEntry, createVisitedResponseCacheEntry, isVisitedResponseCacheEntryFresh };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { resolveCachedRscResponseExpiresAt } from "../shims/navigation.js";
|
|
2
|
+
//#region src/server/app-visited-response-cache.ts
|
|
3
|
+
const VISITED_RESPONSE_CACHE_TTL = 5 * 6e4;
|
|
4
|
+
const MAX_TRAVERSAL_CACHE_TTL = 30 * 6e4;
|
|
5
|
+
function createVisitedResponseCacheEntry(options) {
|
|
6
|
+
return {
|
|
7
|
+
createdAt: options.now,
|
|
8
|
+
expiresAt: resolveCachedRscResponseExpiresAt(options.now, options.response, VISITED_RESPONSE_CACHE_TTL),
|
|
9
|
+
params: options.params,
|
|
10
|
+
response: options.response
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
function isVisitedResponseCacheEntryFresh(entry, options) {
|
|
14
|
+
if (options.navigationKind === "refresh") return false;
|
|
15
|
+
if (options.navigationKind === "traverse") return options.now - entry.createdAt < MAX_TRAVERSAL_CACHE_TTL;
|
|
16
|
+
return entry.expiresAt > options.now;
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { MAX_TRAVERSAL_CACHE_TTL, VISITED_RESPONSE_CACHE_TTL, createVisitedResponseCacheEntry, isVisitedResponseCacheEntryFresh };
|
|
@@ -51,5 +51,4 @@ declare function createArtifactCompatibilityGraphVersion(input: ArtifactCompatib
|
|
|
51
51
|
declare function parseArtifactCompatibilityEnvelope(value: unknown): ArtifactCompatibilityEnvelope | null;
|
|
52
52
|
declare function evaluateArtifactCompatibility(current: ArtifactCompatibilityEnvelope, candidate: ArtifactCompatibilityEnvelope, options?: ArtifactCompatibilityEvaluationOptions): ArtifactCompatibilityDecision;
|
|
53
53
|
//#endregion
|
|
54
|
-
export { APP_ELEMENTS_SCHEMA_VERSION, ARTIFACT_COMPATIBILITY_PROOF_FIELDS, ARTIFACT_COMPATIBILITY_SCHEMA_VERSION, ArtifactCompatibilityEnvelope, ArtifactCompatibilityEvaluationOptions,
|
|
55
|
-
//# sourceMappingURL=artifact-compatibility.d.ts.map
|
|
54
|
+
export { APP_ELEMENTS_SCHEMA_VERSION, ARTIFACT_COMPATIBILITY_PROOF_FIELDS, ARTIFACT_COMPATIBILITY_SCHEMA_VERSION, ArtifactCompatibilityEnvelope, ArtifactCompatibilityEvaluationOptions, RSC_PAYLOAD_SCHEMA_VERSION, createArtifactCompatibilityEnvelope, createArtifactCompatibilityGraphVersion, evaluateArtifactCompatibility, parseArtifactCompatibilityEnvelope };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { fnv1a64 } from "../utils/hash.js";
|
|
2
|
+
import { isUnknownRecord } from "../utils/record.js";
|
|
2
3
|
//#region src/server/artifact-compatibility.ts
|
|
3
4
|
const ARTIFACT_COMPATIBILITY_SCHEMA_VERSION = 1;
|
|
4
5
|
const APP_ELEMENTS_SCHEMA_VERSION = 1;
|
|
@@ -26,9 +27,6 @@ function createArtifactCompatibilityEnvelope(input = {}) {
|
|
|
26
27
|
function createArtifactCompatibilityGraphVersion(input) {
|
|
27
28
|
return `app-route-graph:${fnv1a64(JSON.stringify([input.routePattern, input.rootBoundaryId]))}`;
|
|
28
29
|
}
|
|
29
|
-
function isRecord(value) {
|
|
30
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
31
|
-
}
|
|
32
30
|
function isStringOrNull(value) {
|
|
33
31
|
return typeof value === "string" || value === null;
|
|
34
32
|
}
|
|
@@ -36,7 +34,7 @@ function hasCurrentSchemaVersions(record) {
|
|
|
36
34
|
return record.schemaVersion === 1 && record.appElementsSchemaVersion === 1 && record.rscPayloadSchemaVersion === 1;
|
|
37
35
|
}
|
|
38
36
|
function parseArtifactCompatibilityEnvelope(value) {
|
|
39
|
-
if (!
|
|
37
|
+
if (!isUnknownRecord(value)) return null;
|
|
40
38
|
if (!hasCurrentSchemaVersions(value)) return null;
|
|
41
39
|
if (!isStringOrNull(value.graphVersion)) return null;
|
|
42
40
|
if (!isStringOrNull(value.deploymentVersion)) return null;
|
|
@@ -91,5 +89,3 @@ function evaluateArtifactCompatibility(current, candidate, options = {}) {
|
|
|
91
89
|
}
|
|
92
90
|
//#endregion
|
|
93
91
|
export { APP_ELEMENTS_SCHEMA_VERSION, ARTIFACT_COMPATIBILITY_PROOF_FIELDS, ARTIFACT_COMPATIBILITY_SCHEMA_VERSION, RSC_PAYLOAD_SCHEMA_VERSION, createArtifactCompatibilityEnvelope, createArtifactCompatibilityGraphVersion, evaluateArtifactCompatibility, parseArtifactCompatibilityEnvelope };
|
|
94
|
-
|
|
95
|
-
//# sourceMappingURL=artifact-compatibility.js.map
|
|
@@ -1,7 +1,21 @@
|
|
|
1
|
+
import { CdnCacheableHeaderInput } from "../shims/cdn-cache.js";
|
|
2
|
+
|
|
1
3
|
//#region src/server/cache-control.d.ts
|
|
2
4
|
declare const NEVER_CACHE_CONTROL = "private, no-cache, no-store, max-age=0, must-revalidate";
|
|
3
5
|
declare const STATIC_CACHE_CONTROL = "s-maxage=31536000, stale-while-revalidate";
|
|
4
6
|
declare const NO_STORE_CACHE_CONTROL = "no-store, must-revalidate";
|
|
7
|
+
/**
|
|
8
|
+
* Route a cacheable response's headers through the active CDN cache adapter and
|
|
9
|
+
* apply the result to `headers`. The default adapter yields a single
|
|
10
|
+
* `Cache-Control` identical to `input.cacheControl` (no behavior change); edge
|
|
11
|
+
* adapters may instead emit `CDN-Cache-Control` / `Cache-Tag`.
|
|
12
|
+
*
|
|
13
|
+
* We only clear `Cache-Control` — the one header vinext stamps internally — so
|
|
14
|
+
* a stale vinext value never lingers if an adapter chooses not to emit one. The
|
|
15
|
+
* adapter's own headers are applied via `set()`, which overrides any prior value
|
|
16
|
+
* for the same name, so there's no need to pre-clear adapter-specific headers.
|
|
17
|
+
*/
|
|
18
|
+
declare function applyCdnResponseHeaders(headers: Headers, input: CdnCacheableHeaderInput): void;
|
|
5
19
|
/**
|
|
6
20
|
* Matches Next.js's `getCacheControlHeader` stale window semantics while
|
|
7
21
|
* preserving vinext's legacy unbounded SWR header when no expire ceiling is
|
|
@@ -20,5 +34,4 @@ declare function buildRevalidateCacheControl(revalidateSeconds: number, expireSe
|
|
|
20
34
|
*/
|
|
21
35
|
declare function buildCachedRevalidateCacheControl(cacheState: "HIT" | "STALE", revalidateSeconds: number, expireSeconds?: number): string;
|
|
22
36
|
//#endregion
|
|
23
|
-
export { NEVER_CACHE_CONTROL, NO_STORE_CACHE_CONTROL, STATIC_CACHE_CONTROL, buildCachedRevalidateCacheControl, buildRevalidateCacheControl };
|
|
24
|
-
//# sourceMappingURL=cache-control.d.ts.map
|
|
37
|
+
export { NEVER_CACHE_CONTROL, NO_STORE_CACHE_CONTROL, STATIC_CACHE_CONTROL, applyCdnResponseHeaders, buildCachedRevalidateCacheControl, buildRevalidateCacheControl };
|
|
@@ -1,9 +1,29 @@
|
|
|
1
|
+
import { getCdnCacheAdapter } from "../shims/cdn-cache.js";
|
|
1
2
|
//#region src/server/cache-control.ts
|
|
2
3
|
const NEVER_CACHE_CONTROL = "private, no-cache, no-store, max-age=0, must-revalidate";
|
|
3
4
|
const STATIC_CACHE_CONTROL = "s-maxage=31536000, stale-while-revalidate";
|
|
4
5
|
const STALE_REVALIDATE_CACHE_CONTROL = "s-maxage=0, stale-while-revalidate";
|
|
5
6
|
const NO_STORE_CACHE_CONTROL = "no-store, must-revalidate";
|
|
6
7
|
/**
|
|
8
|
+
* Route a cacheable response's headers through the active CDN cache adapter and
|
|
9
|
+
* apply the result to `headers`. The default adapter yields a single
|
|
10
|
+
* `Cache-Control` identical to `input.cacheControl` (no behavior change); edge
|
|
11
|
+
* adapters may instead emit `CDN-Cache-Control` / `Cache-Tag`.
|
|
12
|
+
*
|
|
13
|
+
* We only clear `Cache-Control` — the one header vinext stamps internally — so
|
|
14
|
+
* a stale vinext value never lingers if an adapter chooses not to emit one. The
|
|
15
|
+
* adapter's own headers are applied via `set()`, which overrides any prior value
|
|
16
|
+
* for the same name, so there's no need to pre-clear adapter-specific headers.
|
|
17
|
+
*/
|
|
18
|
+
function applyCdnResponseHeaders(headers, input) {
|
|
19
|
+
headers.delete("Cache-Control");
|
|
20
|
+
const map = getCdnCacheAdapter().buildResponseHeaders(input);
|
|
21
|
+
for (const [name, value] of Object.entries(map)) {
|
|
22
|
+
if (value === "") continue;
|
|
23
|
+
headers.set(name, value);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
7
27
|
* Matches Next.js's `getCacheControlHeader` stale window semantics while
|
|
8
28
|
* preserving vinext's legacy unbounded SWR header when no expire ceiling is
|
|
9
29
|
* available yet.
|
|
@@ -29,6 +49,4 @@ function buildCachedRevalidateCacheControl(cacheState, revalidateSeconds, expire
|
|
|
29
49
|
return buildRevalidateCacheControl(revalidateSeconds, expireSeconds);
|
|
30
50
|
}
|
|
31
51
|
//#endregion
|
|
32
|
-
export { NEVER_CACHE_CONTROL, NO_STORE_CACHE_CONTROL, STATIC_CACHE_CONTROL, buildCachedRevalidateCacheControl, buildRevalidateCacheControl };
|
|
33
|
-
|
|
34
|
-
//# sourceMappingURL=cache-control.js.map
|
|
52
|
+
export { NEVER_CACHE_CONTROL, NO_STORE_CACHE_CONTROL, STATIC_CACHE_CONTROL, applyCdnResponseHeaders, buildCachedRevalidateCacheControl, buildRevalidateCacheControl };
|
|
@@ -3,5 +3,4 @@ type VinextCacheState = "HIT" | "MISS" | "STALE" | "STATIC";
|
|
|
3
3
|
declare function setCacheStateHeaders(headers: Headers, cacheState: VinextCacheState): void;
|
|
4
4
|
declare function buildCacheStateHeaders(cacheState: VinextCacheState): Record<string, string>;
|
|
5
5
|
//#endregion
|
|
6
|
-
export { buildCacheStateHeaders, setCacheStateHeaders };
|
|
7
|
-
//# sourceMappingURL=cache-headers.d.ts.map
|
|
6
|
+
export { buildCacheStateHeaders, setCacheStateHeaders };
|
|
@@ -361,5 +361,4 @@ declare function createStaticLayoutArtifactReuseDecision(input: CreateStaticLayo
|
|
|
361
361
|
declare function createCacheEntryReuseProof(decision: StaticLayoutArtifactReuseDecision | null): CacheEntryReuseProof;
|
|
362
362
|
declare function createDisabledCacheProofDecision(input: CreateDisabledCacheProofDecisionInput): DisabledCacheProofDecision;
|
|
363
363
|
//#endregion
|
|
364
|
-
export { ALL_RENDER_REQUEST_API_KINDS, AppRouteCacheProofGraphScope, AppRouteCacheProofGraphScopeInput, BoundaryOutcome, BoundaryOutcomeCompatibility, BuildCacheVariantInput, BuildCacheVariantResult, BuildCacheVariantWithRouteBudgetInput, BuildCacheVariantWithRouteBudgetResult, BuildRenderObservationInput, BuildRenderRequestApiObservationsInput, BuildStaticLayoutReuseProofInput, BuildStaticLayoutReuseProofResult, CACHE_PROOF_MODEL_SCHEMA_VERSION, CacheEntryReuseDecision, CacheEntryReuseProof, CacheProofAcceptanceCode, CacheProofBreakerFallback, CacheProofBreakerFallbackMode, CacheProofDowngradeClassification, CacheProofDowngradeReason, CacheProofDowngradeTarget, CacheProofFallbackScope, CacheProofHotPathMetric, CacheProofModelSchemaVersion, CacheProofOutputScope, CacheProofRejectionCode, CacheProofTraceCode, CacheProofTraceFieldValue, CacheProofTraceFields, CacheVariant, CacheVariantBudget, CacheVariantDimension, CacheVariantDimensionInput, CacheVariantDimensionPrivacy, CacheVariantDimensionSource, CacheVariantRouteBudget, CacheVariantRouteBudgetAdmission, ClassifyCacheVariantDimensionDowngradeInput, ClassifyRenderObservationDowngradeInput, CreateDisabledCacheProofDecisionInput, CreateStaticLayoutArtifactReuseDecisionInput, DEFAULT_CACHE_VARIANT_BUDGET, DisabledCacheProofDecision, RenderCacheability, RenderObservation, RenderObservationCompleteness, RenderRequestApiKind, RenderRequestApiObservation, RenderRequestApiStatus, StaticLayoutArtifactReuseDecision, StaticLayoutArtifactReuseProof, StaticLayoutCacheProofOutputScope, StaticLayoutReuseProof, buildBoundaryOutcomeCompatibility, buildCacheVariant, buildCacheVariantWithRouteBudget, buildRenderObservation, buildRenderRequestApiObservations, buildStaticLayoutReuseProof, classifyCacheVariantDimensionDowngrade, classifyRenderObservationDowngrade, createAppRouteCacheProofGraphScope, createCacheEntryReuseProof, createDisabledCacheProofDecision, createStaticLayoutArtifactReuseDecision, enforceCacheVariantRouteBudget, hasCompleteNegativeRequestApiProof };
|
|
365
|
-
//# sourceMappingURL=cache-proof.d.ts.map
|
|
364
|
+
export { ALL_RENDER_REQUEST_API_KINDS, AppRouteCacheProofGraphScope, AppRouteCacheProofGraphScopeInput, BoundaryOutcome, BoundaryOutcomeCompatibility, BuildCacheVariantInput, BuildCacheVariantResult, BuildCacheVariantWithRouteBudgetInput, BuildCacheVariantWithRouteBudgetResult, BuildRenderObservationInput, BuildRenderRequestApiObservationsInput, BuildStaticLayoutReuseProofInput, BuildStaticLayoutReuseProofResult, CACHE_PROOF_MODEL_SCHEMA_VERSION, CacheEntryReuseDecision, CacheEntryReuseProof, CacheProofAcceptanceCode, CacheProofBreakerFallback, CacheProofBreakerFallbackMode, CacheProofDowngradeClassification, CacheProofDowngradeReason, CacheProofDowngradeTarget, CacheProofFallbackScope, CacheProofHotPathMetric, CacheProofModelSchemaVersion, CacheProofOutputScope, CacheProofRejectionCode, CacheProofTraceCode, CacheProofTraceFieldValue, CacheProofTraceFields, CacheVariant, CacheVariantBudget, CacheVariantDimension, CacheVariantDimensionInput, CacheVariantDimensionPrivacy, CacheVariantDimensionSource, CacheVariantRouteBudget, CacheVariantRouteBudgetAdmission, ClassifyCacheVariantDimensionDowngradeInput, ClassifyRenderObservationDowngradeInput, CreateDisabledCacheProofDecisionInput, CreateStaticLayoutArtifactReuseDecisionInput, DEFAULT_CACHE_VARIANT_BUDGET, DisabledCacheProofDecision, RenderCacheability, RenderObservation, RenderObservationCompleteness, RenderRequestApiKind, RenderRequestApiObservation, RenderRequestApiStatus, StaticLayoutArtifactReuseDecision, StaticLayoutArtifactReuseProof, StaticLayoutCacheProofOutputScope, StaticLayoutReuseProof, buildBoundaryOutcomeCompatibility, buildCacheVariant, buildCacheVariantWithRouteBudget, buildRenderObservation, buildRenderRequestApiObservations, buildStaticLayoutReuseProof, classifyCacheVariantDimensionDowngrade, classifyRenderObservationDowngrade, createAppRouteCacheProofGraphScope, createCacheEntryReuseProof, createDisabledCacheProofDecision, createStaticLayoutArtifactReuseDecision, enforceCacheVariantRouteBudget, hasCompleteNegativeRequestApiProof };
|