vinext 1.0.0-beta.9 → 1.0.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 +150 -92
- package/THIRD_PARTY_LICENSES.md +51 -0
- package/dist/_virtual/_rolldown/runtime.js +25 -0
- package/dist/build/action-owner-manifest.d.ts +8 -9
- package/dist/build/action-owner-manifest.js +23 -5
- package/dist/build/assets-ignore.d.ts +3 -4
- package/dist/build/clean-output.d.ts +2 -3
- package/dist/build/client-build-config.d.ts +40 -12
- package/dist/build/client-build-config.js +76 -6
- package/dist/build/css-url-assets.d.ts +4 -5
- package/dist/build/css-url-assets.js +5 -2
- package/dist/build/google-fonts/build-url.d.ts +3 -4
- package/dist/build/google-fonts/fallback-metrics.d.ts +3 -4
- package/dist/build/google-fonts/find-font-files-in-css.d.ts +2 -3
- package/dist/build/google-fonts/font-metadata.d.ts +2 -3
- package/dist/build/google-fonts/get-axes.d.ts +2 -3
- package/dist/build/google-fonts/sort-variants.d.ts +2 -3
- package/dist/build/google-fonts/validate.d.ts +2 -3
- package/dist/build/google-fonts/validate.js +8 -4
- package/dist/build/inject-pregenerated-paths.d.ts +2 -3
- package/dist/build/inject-pregenerated-paths.js +16 -14
- package/dist/build/inline-css.d.ts +3 -4
- package/dist/build/layout-classification-types.d.ts +4 -5
- package/dist/build/layout-classification.d.ts +7 -8
- package/dist/build/lifecycle.d.ts +42 -0
- package/dist/build/lifecycle.js +253 -0
- package/dist/build/module-dependency-cache.d.ts +2 -3
- package/dist/build/next-client-runtime-manifests.d.ts +4 -5
- package/dist/build/nitro-route-rules.d.ts +6 -7
- package/dist/build/nitro-route-rules.js +1 -1
- package/dist/build/pages-client-assets-module.d.ts +4 -8
- package/dist/build/pages-client-assets-module.js +7 -14
- package/dist/build/precompress.d.ts +2 -3
- package/dist/build/precompress.js +1 -1
- package/dist/build/prerender-cloudflare-loader.d.ts +4 -0
- package/dist/build/prerender-cloudflare-loader.js +49 -0
- package/dist/build/prerender-paths.d.ts +36 -11
- package/dist/build/prerender-paths.js +274 -102
- package/dist/build/prerender-phase.d.ts +2 -3
- package/dist/build/prerender-server-entry.js +11 -3
- package/dist/build/prerender-server-pool.d.ts +9 -6
- package/dist/build/prerender-server-pool.js +8 -5
- package/dist/build/prerender.d.ts +73 -16
- package/dist/build/prerender.js +272 -80
- package/dist/build/preview-credentials.d.ts +5 -6
- package/dist/build/preview-credentials.js +2 -2
- package/dist/build/public-dir-conflict.d.ts +5 -6
- package/dist/build/public-dir-conflict.js +2 -1
- package/dist/build/report.d.ts +24 -20
- package/dist/build/report.js +10 -2
- package/dist/build/route-classification-injector.d.ts +2 -3
- package/dist/build/route-classification-manifest.d.ts +5 -6
- package/dist/build/run-prerender.d.ts +11 -9
- package/dist/build/run-prerender.js +26 -16
- package/dist/build/server-entry.d.ts +6 -0
- package/dist/build/server-entry.js +34 -0
- package/dist/build/server-manifest.d.ts +8 -3
- package/dist/build/server-manifest.js +14 -2
- package/dist/build/ssr-manifest.d.ts +5 -6
- package/dist/build/standalone.d.ts +2 -3
- package/dist/build/standalone.js +2 -2
- package/dist/build/static-export.d.ts +6 -7
- package/dist/cache/cache-adapters-virtual.d.ts +60 -20
- package/dist/cache/cache-adapters-virtual.js +50 -7
- package/dist/check.d.ts +11 -10
- package/dist/check.js +467 -176
- package/dist/cli-args.d.ts +7 -16
- package/dist/cli-args.js +2 -45
- package/dist/cli-dev-config.d.ts +10 -7
- package/dist/cli-dev-config.js +160 -3
- package/dist/cli.js +124 -442
- package/dist/client/app-nav-failure-handler.d.ts +6 -7
- package/dist/client/browser-globals.d.ts +4 -0
- package/dist/client/browser-globals.js +5 -0
- package/dist/client/client-rewrite-matcher.d.ts +2 -3
- package/dist/client/client-rewrites.d.ts +4 -5
- package/dist/client/dev-error-overlay-store.d.ts +13 -14
- package/dist/client/dev-error-overlay.d.ts +15 -15
- package/dist/client/dev-error-overlay.js +8 -5
- package/dist/client/instrumentation-client-inject.d.ts +3 -4
- package/dist/client/instrumentation-client-state.d.ts +5 -6
- package/dist/client/instrumentation-client.d.ts +3 -4
- package/dist/client/navigation-runtime.d.ts +20 -17
- package/dist/client/navigation-runtime.js +4 -3
- package/dist/client/pages-router-link-navigation.d.ts +4 -5
- package/dist/client/react-instance.d.ts +2 -3
- package/dist/client/validate-module-path.d.ts +2 -3
- package/dist/client/vinext-next-data.d.ts +7 -10
- package/dist/client/window-next.d.ts +4 -5
- package/dist/config/config-matchers.d.ts +16 -16
- package/dist/config/config-matchers.js +2 -4
- package/dist/config/dotenv.d.ts +3 -4
- package/dist/config/dotenv.js +14 -2
- package/dist/config/next-config.d.ts +31 -27
- package/dist/config/next-config.js +163 -16
- package/dist/config/prerender.d.ts +20 -16
- package/dist/config/prerender.js +10 -4
- package/dist/config/request-context.d.ts +5 -6
- package/dist/config/server-external-packages.d.ts +14 -3
- package/dist/config/server-external-packages.js +37 -3
- package/dist/config/tsconfig-paths.d.ts +3 -4
- package/dist/deps/.pnpm/ignore@5.3.2/deps/ignore/index.js +189 -0
- package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +1057 -0
- package/dist/entries/app-browser-entry.d.ts +4 -5
- package/dist/entries/app-browser-entry.js +1 -3
- package/dist/entries/app-rsc-entry.d.ts +10 -3
- package/dist/entries/app-rsc-entry.js +503 -51
- package/dist/entries/app-rsc-manifest.d.ts +4 -3
- package/dist/entries/app-rsc-manifest.js +26 -8
- package/dist/entries/app-ssr-entry.d.ts +2 -3
- package/dist/entries/app-ssr-entry.js +8 -1
- package/dist/entries/pages-client-entry.d.ts +3 -3
- package/dist/entries/pages-client-entry.js +17 -2
- package/dist/entries/pages-server-entry.d.ts +13 -3
- package/dist/entries/pages-server-entry.js +234 -33
- package/dist/entries/runtime-entry-module.d.ts +4 -5
- package/dist/image/image-adapters-virtual.d.ts +4 -5
- package/dist/index.d.ts +10 -11
- package/dist/index.js +848 -255
- package/dist/init-cloudflare.d.ts +26 -17
- package/dist/init-cloudflare.js +711 -103
- package/dist/init-platform.d.ts +26 -22
- package/dist/init-platform.js +85 -29
- package/dist/init.d.ts +19 -13
- package/dist/init.js +126 -42
- package/dist/plugins/action-owner-manifest.d.ts +3 -4
- package/dist/plugins/action-owner-manifest.js +10 -3
- package/dist/plugins/ast-scope.d.ts +10 -11
- package/dist/plugins/ast-scope.js +10 -22
- package/dist/plugins/ast-utils.d.ts +16 -29
- package/dist/plugins/ast-utils.js +27 -71
- package/dist/plugins/async-hooks-stub.d.ts +2 -3
- package/dist/plugins/client-reference-dedup.d.ts +4 -5
- package/dist/plugins/commonjs-syntax.d.ts +16 -0
- package/dist/plugins/commonjs-syntax.js +22 -0
- package/dist/plugins/css-data-url.d.ts +2 -3
- package/dist/plugins/css-module-imports.d.ts +3 -4
- package/dist/plugins/css-module-imports.js +1 -1
- package/dist/plugins/dynamic-preload-metadata.d.ts +3 -4
- package/dist/plugins/dynamic-preload-metadata.js +55 -154
- package/dist/plugins/environment.d.ts +2 -3
- package/dist/plugins/extensionless-dynamic-import.d.ts +2 -3
- package/dist/plugins/extensionless-dynamic-import.js +6 -10
- package/dist/plugins/fonts.d.ts +10 -11
- package/dist/plugins/fonts.js +4 -3
- package/dist/plugins/ignore-dynamic-requests.d.ts +14 -4
- package/dist/plugins/ignore-dynamic-requests.js +113 -91
- package/dist/plugins/import-meta-url.d.ts +6 -7
- package/dist/plugins/import-meta-url.js +36 -48
- package/dist/plugins/instrumentation-client.d.ts +3 -3
- package/dist/plugins/instrumentation-client.js +46 -10
- package/dist/plugins/middleware-export-validation.d.ts +3 -4
- package/dist/plugins/middleware-export-validation.js +3 -3
- package/dist/plugins/middleware-server-only.d.ts +2 -3
- package/dist/plugins/og-asset-ownership.d.ts +5 -4
- package/dist/plugins/og-asset-ownership.js +24 -13
- package/dist/plugins/og-assets.d.ts +22 -5
- package/dist/plugins/og-assets.js +82 -21
- package/dist/plugins/og-harfbuzz.d.ts +24 -0
- package/dist/plugins/og-harfbuzz.js +271 -0
- package/dist/plugins/optimize-imports.d.ts +7 -7
- package/dist/plugins/optimize-imports.js +34 -45
- package/dist/plugins/pages-node-externals.d.ts +2 -3
- package/dist/plugins/pages-node-externals.js +6 -11
- package/dist/plugins/postcss.d.ts +8 -4
- package/dist/plugins/postcss.js +1 -1
- package/dist/plugins/remove-console.d.ts +2 -3
- package/dist/plugins/remove-console.js +0 -1
- package/dist/plugins/require-condition-resolution.d.ts +3 -4
- package/dist/plugins/require-condition-resolution.js +17 -18
- package/dist/plugins/require-context.d.ts +3 -3
- package/dist/plugins/require-context.js +41 -22
- package/dist/plugins/rsc-client-reference-loaders.d.ts +2 -3
- package/dist/plugins/rsc-client-shim-excludes.d.ts +4 -5
- package/dist/plugins/rsc-client-shim-excludes.js +1 -0
- package/dist/plugins/rsc-reference-validation-normalizer.d.ts +2 -3
- package/dist/plugins/sass.d.ts +7 -8
- package/dist/plugins/sass.js +7 -4
- package/dist/plugins/scan-build-css.d.ts +12 -0
- package/dist/plugins/scan-build-css.js +39 -0
- package/dist/plugins/server-externals-manifest.d.ts +2 -3
- package/dist/plugins/strip-server-exports.d.ts +7 -6
- package/dist/plugins/strip-server-exports.js +4 -2
- package/dist/plugins/styled-jsx.d.ts +2 -3
- package/dist/plugins/styled-jsx.js +7 -7
- package/dist/plugins/transform-cache.d.ts +2 -3
- package/dist/plugins/transform-result.d.ts +21 -4
- package/dist/plugins/transform-result.js +23 -2
- package/dist/plugins/transitive-externals.d.ts +2 -3
- package/dist/plugins/typeof-window.d.ts +16 -7
- package/dist/plugins/typeof-window.js +62 -39
- package/dist/plugins/use-cache-callable.d.ts +2 -5
- package/dist/plugins/use-cache-callable.js +43 -22
- package/dist/plugins/wasm-module-import.d.ts +2 -3
- package/dist/plugins/worker-image-imports.d.ts +2 -3
- package/dist/plugins/worker-image-imports.js +6 -8
- package/dist/routing/app-route-graph.d.ts +18 -19
- package/dist/routing/app-route-graph.js +5 -6
- package/dist/routing/app-route-ids.d.ts +3 -0
- package/dist/routing/app-route-ids.js +6 -0
- package/dist/routing/app-router.d.ts +19 -6
- package/dist/routing/app-router.js +24 -2
- package/dist/routing/file-matcher.d.ts +9 -10
- package/dist/routing/pages-router.d.ts +6 -6
- package/dist/routing/pages-router.js +1 -1
- package/dist/routing/route-matching.d.ts +4 -5
- package/dist/routing/route-matching.js +4 -2
- package/dist/routing/route-pattern.d.ts +13 -14
- package/dist/routing/route-trie.d.ts +5 -6
- package/dist/routing/route-validation.d.ts +3 -4
- package/dist/routing/route-validation.js +12 -11
- package/dist/routing/utils.d.ts +13 -14
- package/dist/server/accept-encoding.d.ts +9 -10
- package/dist/server/api-handler.d.ts +2 -3
- package/dist/server/api-handler.js +9 -6
- package/dist/server/app-action-forwarding.d.ts +3 -4
- package/dist/server/app-action-forwarding.js +1 -1
- package/dist/server/app-action-request.d.ts +2 -3
- package/dist/server/app-bfcache-id.d.ts +4 -4
- package/dist/server/app-bfcache-id.js +7 -1
- package/dist/server/app-bfcache-identity.d.ts +8 -9
- package/dist/server/app-bfcache-identity.js +1 -2
- package/dist/server/app-browser-action-result.d.ts +15 -16
- package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -3
- package/dist/server/app-browser-entry.js +91 -36
- package/dist/server/app-browser-error.d.ts +5 -6
- package/dist/server/app-browser-error.js +9 -3
- package/dist/server/app-browser-history-controller.d.ts +4 -5
- package/dist/server/app-browser-hydration.d.ts +16 -6
- package/dist/server/app-browser-hydration.js +15 -2
- package/dist/server/app-browser-interception-context.d.ts +3 -4
- package/dist/server/app-browser-mpa-navigation.d.ts +4 -5
- package/dist/server/app-browser-navigation-abort.d.ts +3 -4
- package/dist/server/app-browser-navigation-controller.d.ts +8 -8
- package/dist/server/app-browser-navigation-controller.js +9 -5
- package/dist/server/app-browser-navigation-response.d.ts +2 -3
- package/dist/server/app-browser-popstate.d.ts +4 -5
- package/dist/server/app-browser-prefetch-response.d.ts +5 -6
- package/dist/server/app-browser-rsc-redirect.d.ts +4 -5
- package/dist/server/app-browser-server-action-client.d.ts +7 -6
- package/dist/server/app-browser-server-action-client.js +9 -5
- package/dist/server/app-browser-server-action-navigation.d.ts +2 -3
- package/dist/server/app-browser-state.d.ts +17 -17
- package/dist/server/app-browser-state.js +7 -3
- package/dist/server/app-browser-stream.d.ts +5 -6
- package/dist/server/app-browser-stream.js +8 -6
- package/dist/server/app-browser-supplemental-refresh.d.ts +11 -12
- package/dist/server/app-browser-visible-commit.d.ts +6 -7
- package/dist/server/app-client-reference-preloader.d.ts +2 -3
- package/dist/server/app-elements-wire-key.d.ts +25 -0
- package/dist/server/app-elements-wire-key.js +69 -0
- package/dist/server/app-elements-wire.d.ts +34 -53
- package/dist/server/app-elements-wire.js +4 -75
- package/dist/server/app-elements.d.ts +5 -5
- package/dist/server/app-elements.js +1 -1
- package/dist/server/app-fallback-renderer.d.ts +4 -4
- package/dist/server/app-fallback-renderer.js +6 -6
- package/dist/server/app-fetch-tracing.d.ts +15 -0
- package/dist/server/app-fetch-tracing.js +38 -0
- package/dist/server/app-history-state.d.ts +25 -27
- package/dist/server/app-history-state.js +21 -16
- package/dist/server/app-hook-warning-suppression.d.ts +2 -3
- package/dist/server/app-hydration-cache-publication.d.ts +3 -4
- package/dist/server/app-inline-css-client.d.ts +3 -4
- package/dist/server/app-interception-context-header.d.ts +2 -3
- package/dist/server/app-layout-param-observation.d.ts +7 -8
- package/dist/server/app-metadata-tracing.d.ts +12 -0
- package/dist/server/app-metadata-tracing.js +17 -0
- package/dist/server/app-middleware.d.ts +7 -7
- package/dist/server/app-middleware.js +2 -3
- package/dist/server/app-mounted-slots-header.d.ts +2 -3
- package/dist/server/app-mounted-slots-header.js +2 -2
- package/dist/server/app-optimistic-routing.d.ts +10 -11
- package/dist/server/app-optimistic-routing.js +3 -2
- package/dist/server/app-page-boundary-render.d.ts +6 -6
- package/dist/server/app-page-boundary-render.js +10 -4
- package/dist/server/app-page-boundary.d.ts +9 -10
- package/dist/server/app-page-boundary.js +1 -1
- package/dist/server/app-page-cache-finalizer.d.ts +18 -9
- package/dist/server/app-page-cache-finalizer.js +51 -16
- package/dist/server/app-page-cache-render.d.ts +8 -5
- package/dist/server/app-page-cache-render.js +22 -4
- package/dist/server/app-page-cache.d.ts +28 -9
- package/dist/server/app-page-cache.js +95 -24
- package/dist/server/app-page-dispatch.d.ts +34 -12
- package/dist/server/app-page-dispatch.js +181 -64
- package/dist/server/app-page-element-builder.d.ts +13 -11
- package/dist/server/app-page-element-builder.js +104 -61
- package/dist/server/app-page-execution.d.ts +14 -14
- package/dist/server/app-page-execution.js +11 -7
- package/dist/server/app-page-head.d.ts +19 -16
- package/dist/server/app-page-head.js +25 -25
- package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
- package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
- package/dist/server/app-page-method.d.ts +5 -11
- package/dist/server/app-page-method.js +2 -9
- package/dist/server/app-page-params.d.ts +5 -6
- package/dist/server/app-page-ppr-runtime.d.ts +2 -2
- package/dist/server/app-page-probe.d.ts +5 -6
- package/dist/server/app-page-probe.js +5 -4
- package/dist/server/app-page-render-identity.d.ts +4 -5
- package/dist/server/app-page-render-observation.d.ts +8 -9
- package/dist/server/app-page-render-observation.js +1 -1
- package/dist/server/app-page-render.d.ts +41 -6
- package/dist/server/app-page-render.js +171 -24
- package/dist/server/app-page-request.d.ts +10 -9
- package/dist/server/app-page-request.js +16 -12
- package/dist/server/app-page-response.d.ts +20 -9
- package/dist/server/app-page-response.js +30 -12
- package/dist/server/app-page-route-wiring.d.ts +15 -15
- package/dist/server/app-page-route-wiring.js +31 -24
- package/dist/server/app-page-search-params-observation.d.ts +26 -5
- package/dist/server/app-page-search-params-observation.js +43 -7
- package/dist/server/app-page-segment-plan.d.ts +2 -3
- package/dist/server/app-page-segment-state.d.ts +11 -12
- package/dist/server/app-page-stream.d.ts +27 -11
- package/dist/server/app-page-stream.js +34 -6
- package/dist/server/app-page-tracing.d.ts +33 -0
- package/dist/server/app-page-tracing.js +50 -0
- package/dist/server/app-pages-bridge.d.ts +6 -6
- package/dist/server/app-pages-bridge.js +18 -4
- package/dist/server/app-post-middleware-context.d.ts +2 -3
- package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
- package/dist/server/app-ppr-fallback-shell-render.js +3 -2
- package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
- package/dist/server/app-prerender-endpoints.d.ts +5 -5
- package/dist/server/app-prerender-endpoints.js +3 -1
- package/dist/server/app-prerender-static-params.d.ts +15 -7
- package/dist/server/app-prerender-static-params.js +24 -9
- package/dist/server/app-render-abort-error.d.ts +3 -0
- package/dist/server/app-render-abort-error.js +8 -0
- package/dist/server/app-render-dependency.d.ts +14 -13
- package/dist/server/app-render-dependency.js +5 -1
- package/dist/server/app-request-context.d.ts +3 -4
- package/dist/server/app-request-stage-context.d.ts +5 -0
- package/dist/server/app-request-stage-context.js +11 -0
- package/dist/server/app-request-stage-dispatch.d.ts +25 -0
- package/dist/server/app-request-stage-dispatch.js +54 -0
- package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
- package/dist/server/app-request-stage-independent-entry.js +112 -0
- package/dist/server/app-response-header-provenance.d.ts +13 -7
- package/dist/server/app-response-header-provenance.js +34 -1
- package/dist/server/app-response-stage-entry.d.ts +9 -0
- package/dist/server/app-response-stage-entry.js +87 -0
- package/dist/server/app-route-handler-cache.d.ts +4 -4
- package/dist/server/app-route-handler-cache.js +51 -35
- package/dist/server/app-route-handler-dispatch.d.ts +3 -3
- package/dist/server/app-route-handler-dispatch.js +77 -56
- package/dist/server/app-route-handler-execution.d.ts +26 -14
- package/dist/server/app-route-handler-execution.js +94 -28
- package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
- package/dist/server/app-route-handler-middleware-context.js +15 -0
- package/dist/server/app-route-handler-policy.d.ts +11 -11
- package/dist/server/app-route-handler-policy.js +2 -2
- package/dist/server/app-route-handler-response.d.ts +9 -10
- package/dist/server/app-route-handler-response.js +14 -3
- package/dist/server/app-route-handler-runtime.d.ts +9 -10
- package/dist/server/app-route-handler-runtime.js +20 -16
- package/dist/server/app-route-module-loader.d.ts +6 -7
- package/dist/server/app-route-request-built-ins.d.ts +3 -4
- package/dist/server/app-route-tree-prefetch.d.ts +6 -7
- package/dist/server/app-route-tree-prefetch.js +2 -1
- package/dist/server/app-router-entry.d.ts +4 -1
- package/dist/server/app-router-entry.js +33 -17
- package/dist/server/app-rsc-cache-busting.d.ts +34 -27
- package/dist/server/app-rsc-cache-busting.js +14 -2
- package/dist/server/app-rsc-combined-handler.d.ts +9 -0
- package/dist/server/app-rsc-combined-handler.js +11 -0
- package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
- package/dist/server/app-rsc-error-handler.d.ts +12 -6
- package/dist/server/app-rsc-error-handler.js +15 -6
- package/dist/server/app-rsc-errors.d.ts +11 -9
- package/dist/server/app-rsc-errors.js +14 -16
- package/dist/server/app-rsc-handler.d.ts +32 -6
- package/dist/server/app-rsc-handler.js +425 -64
- package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
- package/dist/server/app-rsc-render-mode.d.ts +8 -9
- package/dist/server/app-rsc-request-normalization.d.ts +3 -3
- package/dist/server/app-rsc-request-normalization.js +5 -3
- package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
- package/dist/server/app-rsc-response-finalizer.js +10 -7
- package/dist/server/app-rsc-response-stage.d.ts +6 -0
- package/dist/server/app-rsc-response-stage.js +251 -0
- package/dist/server/app-rsc-route-matching.d.ts +3 -4
- package/dist/server/app-rsc-route-matching.js +3 -2
- package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
- package/dist/server/app-rsc-vary.d.ts +16 -0
- package/dist/server/app-rsc-vary.js +31 -0
- package/dist/server/app-segment-config.d.ts +119 -7
- package/dist/server/app-segment-config.js +242 -2
- package/dist/server/app-server-action-execution.d.ts +18 -13
- package/dist/server/app-server-action-execution.js +86 -33
- package/dist/server/app-ssr-entry.d.ts +14 -4
- package/dist/server/app-ssr-entry.js +62 -15
- package/dist/server/app-ssr-error-meta.d.ts +3 -4
- package/dist/server/app-ssr-error-meta.js +2 -1
- package/dist/server/app-ssr-router-instance.d.ts +2 -3
- package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
- package/dist/server/app-ssr-search-params-gate.js +54 -0
- package/dist/server/app-ssr-stream.d.ts +13 -9
- package/dist/server/app-ssr-stream.js +34 -8
- package/dist/server/app-static-generation.d.ts +4 -5
- package/dist/server/app-visited-response-cache.d.ts +11 -12
- package/dist/server/app-visited-response-cache.js +2 -2
- package/dist/server/app-worker-stages.d.ts +112 -0
- package/dist/server/app-worker-stages.js +105 -0
- package/dist/server/artifact-compatibility.d.ts +11 -12
- package/dist/server/before-interactive-head.d.ts +2 -3
- package/dist/server/bfcache-identity.d.ts +7 -8
- package/dist/server/cache-control.d.ts +35 -13
- package/dist/server/cache-control.js +64 -6
- package/dist/server/cache-headers.d.ts +3 -4
- package/dist/server/cache-proof.d.ts +75 -70
- package/dist/server/cache-proof.js +9 -1
- package/dist/server/cacheability-limits.d.ts +4 -5
- package/dist/server/cacheability-limits.js +2 -2
- package/dist/server/cacheability-manifest.d.ts +42 -16
- package/dist/server/cacheability-manifest.js +60 -10
- package/dist/server/cacheability-request.d.ts +37 -8
- package/dist/server/cacheability-request.js +192 -90
- package/dist/server/client-reuse-manifest.d.ts +17 -18
- package/dist/server/client-reuse-manifest.js +2 -2
- package/dist/server/client-trace-metadata.d.ts +9 -6
- package/dist/server/client-trace-metadata.js +27 -15
- package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
- package/dist/server/cloudflare-workers-tracing.js +8 -0
- package/dist/server/config-headers.d.ts +19 -5
- package/dist/server/config-headers.js +25 -11
- package/dist/server/cookie-utils.d.ts +2 -3
- package/dist/server/csp.d.ts +5 -6
- package/dist/server/default-global-error-module.d.ts +2 -3
- package/dist/server/default-global-not-found-module.d.ts +2 -3
- package/dist/server/default-not-found-module.d.ts +2 -3
- package/dist/server/defer-until-stream-consumed.d.ts +2 -3
- package/dist/server/defer-until-stream-consumed.js +2 -1
- package/dist/server/dev-initial-server-error.d.ts +3 -4
- package/dist/server/dev-initial-server-error.js +2 -1
- package/dist/server/dev-lockfile.d.ts +7 -8
- package/dist/server/dev-lockfile.js +4 -1
- package/dist/server/dev-module-runner.d.ts +2 -3
- package/dist/server/dev-origin-check.d.ts +5 -6
- package/dist/server/dev-route-files.d.ts +2 -3
- package/dist/server/dev-server.d.ts +4 -5
- package/dist/server/dev-server.js +141 -64
- package/dist/server/dev-stack-sourcemap.d.ts +7 -7
- package/dist/server/dev-stack-sourcemap.js +1 -1
- package/dist/server/document-initial-head.d.ts +3 -4
- package/dist/server/edge-api-runtime.d.ts +4 -5
- package/dist/server/fetch-handler.d.ts +3 -2
- package/dist/server/fetch-handler.js +3 -18
- package/dist/server/file-based-metadata.d.ts +2 -3
- package/dist/server/framework-tracer.d.ts +46 -0
- package/dist/server/framework-tracer.js +125 -0
- package/dist/server/fully-buffered-response.d.ts +11 -0
- package/dist/server/fully-buffered-response.js +19 -0
- package/dist/server/headers.d.ts +56 -61
- package/dist/server/headers.js +22 -31
- package/dist/server/html.d.ts +6 -27
- package/dist/server/html.js +16 -1
- package/dist/server/http-conditional.d.ts +5 -6
- package/dist/server/http-date.d.ts +2 -3
- package/dist/server/http-error-responses.d.ts +9 -10
- package/dist/server/http-error-responses.js +1 -0
- package/dist/server/http-range.d.ts +4 -5
- package/dist/server/hybrid-route-priority.d.ts +4 -5
- package/dist/server/image-optimization.d.ts +20 -21
- package/dist/server/implicit-tags.d.ts +3 -4
- package/dist/server/instrumentation-runtime.d.ts +17 -21
- package/dist/server/instrumentation-runtime.js +26 -8
- package/dist/server/instrumentation.d.ts +26 -30
- package/dist/server/instrumentation.js +18 -23
- package/dist/server/isr-cache.d.ts +30 -27
- package/dist/server/isr-cache.js +23 -70
- package/dist/server/isr-decision.d.ts +4 -4
- package/dist/server/metadata-route-build-data.d.ts +4 -5
- package/dist/server/metadata-route-response.d.ts +7 -7
- package/dist/server/metadata-route-response.js +158 -35
- package/dist/server/metadata-routes.d.ts +18 -19
- package/dist/server/middleware-matcher-pattern.d.ts +6 -7
- package/dist/server/middleware-matcher.d.ts +6 -7
- package/dist/server/middleware-path-to-regexp.d.ts +6 -7
- package/dist/server/middleware-path-to-regexp.js +11 -9
- package/dist/server/middleware-response-headers.d.ts +3 -4
- package/dist/server/middleware-runtime.d.ts +7 -8
- package/dist/server/middleware-runtime.js +36 -7
- package/dist/server/middleware.d.ts +5 -5
- package/dist/server/multi-stage.d.ts +141 -0
- package/dist/server/multi-stage.js +8 -0
- package/dist/server/navigation-planner.d.ts +26 -26
- package/dist/server/navigation-trace.d.ts +11 -12
- package/dist/server/next-error-digest.d.ts +4 -5
- package/dist/server/normalize-path.d.ts +5 -6
- package/dist/server/open-redirect.d.ts +2 -3
- package/dist/server/opentelemetry-api.d.ts +59 -0
- package/dist/server/opentelemetry-api.js +53 -0
- package/dist/server/opentelemetry-tracing.d.ts +5 -0
- package/dist/server/opentelemetry-tracing.js +83 -0
- package/dist/server/operation-token.d.ts +11 -12
- package/dist/server/otel-tracer-extension.d.ts +7 -9
- package/dist/server/otel-tracer-extension.js +37 -36
- package/dist/server/pages-api-route.d.ts +5 -4
- package/dist/server/pages-api-route.js +28 -9
- package/dist/server/pages-asset-tags.d.ts +7 -6
- package/dist/server/pages-asset-tags.js +104 -18
- package/dist/server/pages-body-parser-config.d.ts +4 -5
- package/dist/server/pages-body-parser-config.js +4 -4
- package/dist/server/pages-client-assets.d.ts +13 -5
- package/dist/server/pages-data-route.d.ts +11 -12
- package/dist/server/pages-data-route.js +1 -1
- package/dist/server/pages-default-404.d.ts +3 -4
- package/dist/server/pages-dev-hydration.d.ts +9 -4
- package/dist/server/pages-dev-hydration.js +19 -7
- package/dist/server/pages-dev-module-url.d.ts +3 -4
- package/dist/server/pages-dev-stylesheets.d.ts +5 -6
- package/dist/server/pages-document-asset-props.d.ts +6 -7
- package/dist/server/pages-document-initial-props.d.ts +5 -5
- package/dist/server/pages-document-initial-props.js +4 -2
- package/dist/server/pages-execution-tracing.d.ts +40 -0
- package/dist/server/pages-execution-tracing.js +80 -0
- package/dist/server/pages-get-initial-props.d.ts +9 -10
- package/dist/server/pages-i18n.d.ts +8 -8
- package/dist/server/pages-media-type.d.ts +4 -5
- package/dist/server/pages-node-compat.d.ts +11 -10
- package/dist/server/pages-node-compat.js +12 -4
- package/dist/server/pages-page-data.d.ts +23 -19
- package/dist/server/pages-page-data.js +82 -75
- package/dist/server/pages-page-handler.d.ts +7 -6
- package/dist/server/pages-page-handler.js +103 -47
- package/dist/server/pages-page-method.d.ts +2 -3
- package/dist/server/pages-page-response.d.ts +14 -10
- package/dist/server/pages-page-response.js +52 -32
- package/dist/server/pages-preview.d.ts +10 -11
- package/dist/server/pages-readiness.d.ts +2 -3
- package/dist/server/pages-request-pipeline.d.ts +15 -12
- package/dist/server/pages-request-pipeline.js +80 -35
- package/dist/server/pages-request-stage-entry.d.ts +23 -0
- package/dist/server/pages-request-stage-entry.js +316 -0
- package/dist/server/pages-response-stage-entry.d.ts +11 -0
- package/dist/server/pages-response-stage-entry.js +106 -0
- package/dist/server/pages-response-stage.d.ts +31 -0
- package/dist/server/pages-response-stage.js +49 -0
- package/dist/server/pages-revalidate.d.ts +3 -4
- package/dist/server/pages-revalidate.js +9 -4
- package/dist/server/pages-route-data-kind.d.ts +18 -0
- package/dist/server/pages-route-data-kind.js +11 -0
- package/dist/server/pages-router-entry.d.ts +1 -25
- package/dist/server/pages-router-entry.js +35 -148
- package/dist/server/pages-serializable-props.d.ts +3 -4
- package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
- package/dist/server/pregenerated-concrete-paths.js +12 -6
- package/dist/server/prerender-cache-life-header.d.ts +3 -4
- package/dist/server/prerender-manifest.d.ts +17 -11
- package/dist/server/prerender-manifest.js +7 -4
- package/dist/server/prerender-route-params.d.ts +16 -9
- package/dist/server/prerender-route-params.js +18 -3
- package/dist/server/prerender-work-unit-setup.d.ts +2 -3
- package/dist/server/prerender-work-unit-setup.js +5 -5
- package/dist/server/prod-server.d.ts +12 -9
- package/dist/server/prod-server.js +127 -44
- package/dist/server/proxy-trust.d.ts +5 -6
- package/dist/server/request-log.d.ts +3 -4
- package/dist/server/request-pipeline.d.ts +16 -16
- package/dist/server/request-pipeline.js +7 -2
- package/dist/server/request-stage.d.ts +5 -0
- package/dist/server/request-stage.js +7 -0
- package/dist/server/request-tracing.d.ts +22 -0
- package/dist/server/request-tracing.js +180 -0
- package/dist/server/response-stage-cacheability.d.ts +37 -0
- package/dist/server/response-stage-cacheability.js +55 -0
- package/dist/server/response-stage-policy.d.ts +23 -0
- package/dist/server/response-stage-policy.js +89 -0
- package/dist/server/response-stage.d.ts +5 -0
- package/dist/server/response-stage.js +7 -0
- package/dist/server/response-start-tracing.d.ts +14 -0
- package/dist/server/response-start-tracing.js +80 -0
- package/dist/server/revalidation-host.d.ts +2 -3
- package/dist/server/revalidation-host.js +1 -1
- package/dist/server/revalidation-request.d.ts +8 -0
- package/dist/server/revalidation-request.js +37 -0
- package/dist/server/rsc-completion-metadata.d.ts +6 -7
- package/dist/server/rsc-stream-hints.d.ts +18 -7
- package/dist/server/rsc-stream-hints.js +70 -35
- package/dist/server/seed-cache.d.ts +2 -3
- package/dist/server/seed-cache.js +8 -7
- package/dist/server/server-action-not-found.d.ts +5 -6
- package/dist/server/server-globals.d.ts +2 -3
- package/dist/server/skip-cache-proof.d.ts +4 -4
- package/dist/server/socket-error-backstop.d.ts +5 -6
- package/dist/server/socket-error-backstop.js +1 -1
- package/dist/server/static-file-cache.d.ts +5 -6
- package/dist/server/static-file-cache.js +9 -7
- package/dist/server/static-file-signal.d.ts +9 -6
- package/dist/server/static-file-signal.js +51 -2
- package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
- package/dist/server/streaming-metadata.d.ts +2 -3
- package/dist/server/tracer.d.ts +5 -0
- package/dist/server/tracer.js +13 -0
- package/dist/server/worker-prerender-discovery.d.ts +5 -6
- package/dist/server/worker-revalidation-context.d.ts +4 -4
- package/dist/server/worker-revalidation-context.js +6 -5
- package/dist/server/worker-stages.d.ts +43 -0
- package/dist/server/worker-stages.js +25 -0
- package/dist/server/worker-utils.d.ts +5 -6
- package/dist/server/worker-utils.js +2 -1
- package/dist/server/workers-tracing.d.ts +34 -0
- package/dist/server/workers-tracing.js +67 -0
- package/dist/shims/amp.d.ts +3 -4
- package/dist/shims/app-router-scroll-state.d.ts +9 -10
- package/dist/shims/app-router-scroll.d.ts +4 -5
- package/dist/shims/app-router-scroll.js +2 -1
- package/dist/shims/app.d.ts +5 -6
- package/dist/shims/before-interactive-context.d.ts +5 -6
- package/dist/shims/cache-callable-runtime.d.ts +44 -4
- package/dist/shims/cache-callable-runtime.js +168 -8
- package/dist/shims/cache-for-request.d.ts +2 -3
- package/dist/shims/cache-handler.d.ts +33 -20
- package/dist/shims/cache-handler.js +61 -2
- package/dist/shims/cache-request-state.d.ts +26 -38
- package/dist/shims/cache-request-state.js +2 -13
- package/dist/shims/cache-runtime.d.ts +23 -21
- package/dist/shims/cache-runtime.js +110 -28
- package/dist/shims/cache.d.ts +17 -16
- package/dist/shims/cache.js +19 -15
- package/dist/shims/cacheability-classification.d.ts +50 -29
- package/dist/shims/cacheability-classification.js +29 -14
- package/dist/shims/cdn-cache-state.d.ts +13 -0
- package/dist/shims/cdn-cache-state.js +23 -0
- package/dist/shims/cdn-cache.d.ts +59 -21
- package/dist/shims/cdn-cache.js +31 -47
- package/dist/shims/client-hook-error.d.ts +3 -4
- package/dist/shims/client-locale.d.ts +2 -3
- package/dist/shims/client-page-root.d.ts +24 -0
- package/dist/shims/client-page-root.js +121 -0
- package/dist/shims/compat-router.d.ts +2 -3
- package/dist/shims/config.d.ts +3 -4
- package/dist/shims/constants.d.ts +73 -74
- package/dist/shims/constants.js +1 -1
- package/dist/shims/default-not-found.d.ts +2 -3
- package/dist/shims/document.d.ts +9 -9
- package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
- package/dist/shims/dynamic-preload-chunks.js +17 -13
- package/dist/shims/dynamic.d.ts +3 -3
- package/dist/shims/error-boundary-navigation.d.ts +3 -4
- package/dist/shims/error-boundary.d.ts +17 -18
- package/dist/shims/error-boundary.js +17 -11
- package/dist/shims/error.d.ts +5 -19
- package/dist/shims/error.js +17 -10
- package/dist/shims/error.react-server.d.ts +4 -7
- package/dist/shims/error.react-server.js +4 -1
- package/dist/shims/fetch-cache.d.ts +22 -22
- package/dist/shims/fetch-cache.js +46 -20
- package/dist/shims/font-google-base.d.ts +9 -9
- package/dist/shims/font-google-base.js +2 -1
- package/dist/shims/font-local.d.ts +3 -3
- package/dist/shims/font-local.js +1 -1
- package/dist/shims/font-utils.d.ts +14 -15
- package/dist/shims/form.d.ts +2 -2
- package/dist/shims/form.js +10 -7
- package/dist/shims/hash-scroll.d.ts +5 -6
- package/dist/shims/head-state.d.ts +4 -5
- package/dist/shims/head.d.ts +16 -16
- package/dist/shims/head.js +5 -4
- package/dist/shims/headers.d.ts +44 -73
- package/dist/shims/headers.js +87 -144
- package/dist/shims/i18n-context.d.ts +5 -6
- package/dist/shims/i18n-state.d.ts +4 -5
- package/dist/shims/image-config.d.ts +5 -6
- package/dist/shims/image-config.js +2 -0
- package/dist/shims/image.d.ts +5 -5
- package/dist/shims/image.js +12 -8
- package/dist/shims/internal/als-registry.d.ts +4 -5
- package/dist/shims/internal/api-utils.d.ts +3 -4
- package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
- package/dist/shims/internal/app-page-props-cache-key.js +53 -1
- package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
- package/dist/shims/internal/app-prefetch-rsc-request.d.ts +5 -17
- package/dist/shims/internal/app-prefetch-rsc-request.js +5 -14
- package/dist/shims/internal/app-route-detection.d.ts +2 -2
- package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -8
- package/dist/shims/internal/app-route-prefetch-policy.js +0 -1
- package/dist/shims/internal/app-router-context.d.ts +9 -10
- package/dist/shims/internal/cache-context-accessor.d.ts +16 -0
- package/dist/shims/internal/cache-context-accessor.js +15 -0
- package/dist/shims/internal/cookie-serialize.d.ts +4 -5
- package/dist/shims/internal/format-url-object.d.ts +7 -0
- package/dist/shims/internal/format-url-object.js +53 -0
- package/dist/shims/internal/headers-state.d.ts +74 -0
- package/dist/shims/internal/headers-state.js +157 -0
- package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
- package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
- package/dist/shims/internal/hybrid-client-route-owner.js +3 -2
- package/dist/shims/internal/interpolate-as.d.ts +5 -6
- package/dist/shims/internal/interpolate-as.js +4 -2
- package/dist/shims/internal/link-status-registry.d.ts +5 -6
- package/dist/shims/internal/make-hanging-promise.d.ts +3 -4
- package/dist/shims/internal/navigation-untracked.d.ts +2 -3
- package/dist/shims/internal/normalize-router-href.d.ts +15 -0
- package/dist/shims/internal/normalize-router-href.js +41 -0
- package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
- package/dist/shims/internal/pages-data-target.d.ts +8 -6
- package/dist/shims/internal/pages-data-target.js +32 -36
- package/dist/shims/internal/pages-data-url.d.ts +4 -5
- package/dist/shims/internal/pages-data-url.js +2 -1
- package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
- package/dist/shims/internal/pages-router-components.d.ts +3 -4
- package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
- package/dist/shims/internal/route-pattern-for-warning.js +3 -3
- package/dist/shims/internal/router-context.d.ts +2 -3
- package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
- package/dist/shims/internal/thenable-well-known-properties.js +33 -0
- package/dist/shims/internal/utils.d.ts +7 -8
- package/dist/shims/internal/work-unit-async-storage.d.ts +10 -11
- package/dist/shims/layout-segment-context.d.ts +3 -4
- package/dist/shims/link-prefetch.d.ts +9 -10
- package/dist/shims/link.d.ts +4 -4
- package/dist/shims/link.js +56 -116
- package/dist/shims/metadata.d.ts +15 -16
- package/dist/shims/metadata.js +40 -36
- package/dist/shims/navigation-context-accessors.d.ts +9 -0
- package/dist/shims/navigation-context-accessors.js +19 -0
- package/dist/shims/navigation-context-state.d.ts +27 -18
- package/dist/shims/navigation-errors.d.ts +18 -19
- package/dist/shims/navigation-state.d.ts +6 -7
- package/dist/shims/navigation.d.ts +80 -68
- package/dist/shims/navigation.js +26 -18
- package/dist/shims/navigation.react-server.d.ts +9 -9
- package/dist/shims/offline.d.ts +2 -3
- package/dist/shims/og.d.ts +2 -2
- package/dist/shims/pages-router-runtime.d.ts +4 -5
- package/dist/shims/ppr-fallback-shell.d.ts +13 -14
- package/dist/shims/readonly-url-search-params.d.ts +2 -3
- package/dist/shims/request-context.d.ts +5 -6
- package/dist/shims/request-state-types.d.ts +2 -1
- package/dist/shims/root-params.d.ts +14 -15
- package/dist/shims/root-params.js +1 -1
- package/dist/shims/router-state.d.ts +5 -6
- package/dist/shims/router-state.js +1 -1
- package/dist/shims/router.d.ts +22 -21
- package/dist/shims/router.js +339 -164
- package/dist/shims/script-nonce-context.d.ts +8 -6
- package/dist/shims/script-nonce-context.js +15 -6
- package/dist/shims/script.d.ts +4 -4
- package/dist/shims/script.js +9 -7
- package/dist/shims/search-params-gate.d.ts +35 -0
- package/dist/shims/search-params-gate.js +32 -0
- package/dist/shims/server.d.ts +19 -51
- package/dist/shims/server.js +66 -30
- package/dist/shims/slot.d.ts +33 -15
- package/dist/shims/slot.js +41 -9
- package/dist/shims/streamed-icons.d.ts +3 -4
- package/dist/shims/thenable-params.d.ts +5 -7
- package/dist/shims/thenable-params.js +3 -24
- package/dist/shims/unified-request-context.d.ts +35 -32
- package/dist/shims/unified-request-context.js +34 -24
- package/dist/shims/unrecognized-action-error.d.ts +3 -4
- package/dist/shims/url-safety.d.ts +5 -6
- package/dist/shims/url-utils.d.ts +12 -13
- package/dist/shims/use-merged-ref.d.ts +2 -3
- package/dist/shims/user-agent.d.ts +31 -0
- package/dist/shims/user-agent.js +16 -0
- package/dist/shims/web-vitals.d.ts +2 -2
- package/dist/typegen.d.ts +3 -4
- package/dist/utils/asset-prefix.d.ts +7 -8
- package/dist/utils/base-path.d.ts +5 -6
- package/dist/utils/built-asset-url.d.ts +2 -3
- package/dist/utils/built-asset-url.js +1 -1
- package/dist/utils/cache-control-metadata.d.ts +4 -5
- package/dist/utils/client-build-manifest.d.ts +6 -7
- package/dist/utils/client-build-manifest.js +2 -1
- package/dist/utils/client-entry-manifest.d.ts +6 -7
- package/dist/utils/client-runtime-metadata.d.ts +8 -3
- package/dist/utils/client-runtime-metadata.js +18 -1
- package/dist/utils/commonjs-loader.d.ts +4 -5
- package/dist/utils/compare.d.ts +2 -3
- package/dist/utils/deployment-id.d.ts +6 -7
- package/dist/utils/dev-error-recovery-event.d.ts +2 -3
- package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
- package/dist/utils/domain-locale.d.ts +7 -8
- package/dist/utils/encode-cache-tag.d.ts +4 -4
- package/dist/utils/encode-cache-tag.js +11 -1
- package/dist/utils/error-cause.d.ts +2 -3
- package/dist/utils/external-url.d.ts +2 -3
- package/dist/utils/has-trailing-comma.d.ts +3 -4
- package/dist/utils/hash.d.ts +3 -4
- package/dist/utils/html-limited-bots.d.ts +3 -4
- package/dist/utils/lazy-chunks.d.ts +8 -9
- package/dist/utils/lazy-chunks.js +4 -4
- package/dist/utils/manifest-paths.d.ts +5 -6
- package/dist/utils/mdx-scan.d.ts +11 -4
- package/dist/utils/mdx-scan.js +27 -1
- package/dist/utils/middleware-request-headers.d.ts +7 -6
- package/dist/utils/middleware-request-headers.js +6 -1
- package/dist/utils/navigation-signal.d.ts +3 -3
- package/dist/utils/navigation-signal.js +16 -1
- package/dist/utils/number.d.ts +2 -3
- package/dist/utils/package-name.d.ts +3 -4
- package/dist/utils/parse-cookie.d.ts +4 -5
- package/dist/utils/path.d.ts +8 -9
- package/dist/utils/plugin-options.d.ts +2 -3
- package/dist/utils/precompressed-variant.d.ts +3 -4
- package/dist/utils/prerender-output-paths.d.ts +4 -5
- package/dist/utils/project.d.ts +19 -30
- package/dist/utils/project.js +20 -29
- package/dist/utils/promise.d.ts +2 -3
- package/dist/utils/protocol-headers.d.ts +14 -15
- package/dist/utils/public-file-path.d.ts +2 -3
- package/dist/utils/public-routes.d.ts +2 -3
- package/dist/utils/query.d.ts +14 -9
- package/dist/utils/query.js +22 -1
- package/dist/utils/react-compiler-support.d.ts +6 -7
- package/dist/utils/react-version.d.ts +4 -3
- package/dist/utils/react-version.js +19 -1
- package/dist/utils/record.d.ts +2 -3
- package/dist/utils/redirect-digest.d.ts +3 -4
- package/dist/utils/regex-safety.d.ts +4 -5
- package/dist/utils/regex.d.ts +2 -3
- package/dist/utils/safe-json-file.d.ts +2 -3
- package/dist/utils/sorted-array.d.ts +2 -3
- package/dist/utils/text-stream.d.ts +3 -4
- package/dist/utils/vinext-root.d.ts +2 -3
- package/dist/utils/virtual-module.d.ts +3 -4
- package/dist/utils/vite-cli-invocation.d.ts +21 -0
- package/dist/utils/vite-cli-invocation.js +151 -0
- package/dist/utils/vite-version.d.ts +5 -6
- package/next-package.json +4 -0
- package/package.json +51 -6
- package/dist/server/metadata-route-cache-policy.d.ts +0 -6
- package/dist/server/metadata-route-cache-policy.js +0 -6
|
@@ -51,7 +51,7 @@ function concatBytes(first, second) {
|
|
|
51
51
|
combined.set(second, first.byteLength);
|
|
52
52
|
return combined;
|
|
53
53
|
}
|
|
54
|
-
function indexOfByte(bytes, byte, from
|
|
54
|
+
function indexOfByte(bytes, byte, from) {
|
|
55
55
|
for (let index = from; index < bytes.byteLength; index++) if (bytes[index] === byte) return index;
|
|
56
56
|
return -1;
|
|
57
57
|
}
|
|
@@ -70,8 +70,35 @@ function parseHexBytes(bytes, start, end) {
|
|
|
70
70
|
function isUntaggedJsonRowStart(byte) {
|
|
71
71
|
return byte === 34 || byte === 45 || byte >= 48 && byte <= 57 || byte === 91 || byte === 102 || byte === 110 || byte === 116 || byte === 123;
|
|
72
72
|
}
|
|
73
|
+
const COLON_BYTE = 58;
|
|
74
|
+
const COMMA_BYTE = 44;
|
|
75
|
+
const NEWLINE_BYTE = 10;
|
|
76
|
+
const HINT_TAG_BYTE = 72;
|
|
77
|
+
const LINK_HINT_CODE_BYTE = 76;
|
|
78
|
+
function createAsciiTagTable(tags) {
|
|
79
|
+
const table = /* @__PURE__ */ new Uint8Array(128);
|
|
80
|
+
for (const tag of tags) table[tag.charCodeAt(0)] = 1;
|
|
81
|
+
return table;
|
|
82
|
+
}
|
|
83
|
+
const LENGTH_PREFIXED_ROW_TAG_TABLE = createAsciiTagTable(LENGTH_PREFIXED_ROW_TAGS);
|
|
84
|
+
const NEWLINE_PREFIXED_ROW_TAG_TABLE = createAsciiTagTable(NEWLINE_PREFIXED_ROW_TAGS);
|
|
85
|
+
function isTagInTable(table, byte) {
|
|
86
|
+
return byte < 128 && table[byte] === 1;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Rewrite stylesheet preload hints in a React Flight stream.
|
|
90
|
+
*
|
|
91
|
+
* The rewrite is byte-length preserving, so this transform keeps React's
|
|
92
|
+
* text chunk boundaries instead of re-emitting one chunk per Flight row. Every
|
|
93
|
+
* downstream consumer (the tee, the SSR Flight client, the inline RSC embed,
|
|
94
|
+
* RSC response wrappers) pays a per-chunk cost, and splitting per row
|
|
95
|
+
* multiplied the chunk count roughly 8x on content-heavy pages. Chunks with
|
|
96
|
+
* no stylesheet hint are forwarded as-is without copying; only rows whose
|
|
97
|
+
* tag is `HL` are decoded and inspected. Length-prefixed bodies remain separate
|
|
98
|
+
* so binary bytes do not force adjacent text through the embed's base64 path.
|
|
99
|
+
*/
|
|
73
100
|
function normalizeReactFlightPreloadHints(stream) {
|
|
74
|
-
let carry =
|
|
101
|
+
let carry = null;
|
|
75
102
|
let rawBytesRemaining = 0;
|
|
76
103
|
let passThrough = false;
|
|
77
104
|
return stream.pipeThrough(new TransformStream({
|
|
@@ -80,56 +107,64 @@ function normalizeReactFlightPreloadHints(stream) {
|
|
|
80
107
|
controller.enqueue(chunk);
|
|
81
108
|
return;
|
|
82
109
|
}
|
|
83
|
-
|
|
84
|
-
carry =
|
|
85
|
-
|
|
110
|
+
const bytes = carry === null ? chunk : concatBytes(carry, chunk);
|
|
111
|
+
carry = null;
|
|
112
|
+
const byteLength = bytes.byteLength;
|
|
113
|
+
let offset = 0;
|
|
114
|
+
let emittedThrough = 0;
|
|
115
|
+
let output = bytes;
|
|
116
|
+
let ownsOutput = bytes !== chunk;
|
|
117
|
+
while (offset < byteLength) {
|
|
86
118
|
if (rawBytesRemaining > 0) {
|
|
87
|
-
const length = Math.min(rawBytesRemaining,
|
|
88
|
-
controller.enqueue(
|
|
119
|
+
const length = Math.min(rawBytesRemaining, byteLength - offset);
|
|
120
|
+
if (offset > emittedThrough) controller.enqueue(output.subarray(emittedThrough, offset));
|
|
121
|
+
controller.enqueue(bytes.subarray(offset, offset + length));
|
|
89
122
|
rawBytesRemaining -= length;
|
|
90
|
-
|
|
123
|
+
offset += length;
|
|
124
|
+
emittedThrough = offset;
|
|
91
125
|
continue;
|
|
92
126
|
}
|
|
93
|
-
const colon = indexOfByte(bytes,
|
|
94
|
-
if (colon === -1 || colon + 1 ===
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
if (LENGTH_PREFIXED_ROW_TAGS.has(tag)) {
|
|
100
|
-
const comma = indexOfByte(bytes, 44, colon + 2);
|
|
101
|
-
if (comma === -1) {
|
|
102
|
-
carry = bytes.slice();
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
127
|
+
const colon = indexOfByte(bytes, COLON_BYTE, offset);
|
|
128
|
+
if (colon === -1 || colon + 1 === byteLength) break;
|
|
129
|
+
const tagByte = bytes[colon + 1];
|
|
130
|
+
if (isTagInTable(LENGTH_PREFIXED_ROW_TAG_TABLE, tagByte)) {
|
|
131
|
+
const comma = indexOfByte(bytes, COMMA_BYTE, colon + 2);
|
|
132
|
+
if (comma === -1) break;
|
|
105
133
|
const length = parseHexBytes(bytes, colon + 2, comma);
|
|
106
134
|
if (length != null) {
|
|
107
|
-
controller.enqueue(bytes.slice(0, comma + 1));
|
|
108
135
|
rawBytesRemaining = length;
|
|
109
|
-
|
|
136
|
+
offset = comma + 1;
|
|
110
137
|
continue;
|
|
111
138
|
}
|
|
112
139
|
passThrough = true;
|
|
113
|
-
|
|
114
|
-
|
|
140
|
+
offset = byteLength;
|
|
141
|
+
break;
|
|
115
142
|
}
|
|
116
|
-
|
|
117
|
-
if (!NEWLINE_PREFIXED_ROW_TAGS.has(tag) && !isUntaggedJsonRowStart(tagByte)) {
|
|
143
|
+
if (!isTagInTable(NEWLINE_PREFIXED_ROW_TAG_TABLE, tagByte) && !isUntaggedJsonRowStart(tagByte)) {
|
|
118
144
|
passThrough = true;
|
|
119
|
-
|
|
120
|
-
|
|
145
|
+
offset = byteLength;
|
|
146
|
+
break;
|
|
121
147
|
}
|
|
122
|
-
const newline = indexOfByte(bytes,
|
|
123
|
-
if (newline === -1)
|
|
124
|
-
|
|
125
|
-
|
|
148
|
+
const newline = indexOfByte(bytes, NEWLINE_BYTE, offset);
|
|
149
|
+
if (newline === -1) break;
|
|
150
|
+
if (tagByte === HINT_TAG_BYTE && bytes[colon + 2] === LINK_HINT_CODE_BYTE) {
|
|
151
|
+
const line = bytes.subarray(offset, newline + 1);
|
|
152
|
+
const normalized = normalizeReactFlightHintLine(line);
|
|
153
|
+
if (normalized !== line) {
|
|
154
|
+
if (!ownsOutput) {
|
|
155
|
+
output = bytes.slice();
|
|
156
|
+
ownsOutput = true;
|
|
157
|
+
}
|
|
158
|
+
output.set(normalized, offset);
|
|
159
|
+
}
|
|
126
160
|
}
|
|
127
|
-
|
|
128
|
-
bytes = bytes.subarray(newline + 1);
|
|
161
|
+
offset = newline + 1;
|
|
129
162
|
}
|
|
163
|
+
if (offset < byteLength) carry = bytes.slice(offset);
|
|
164
|
+
if (offset > emittedThrough) controller.enqueue(offset === byteLength && emittedThrough === 0 ? output : output.subarray(emittedThrough, offset));
|
|
130
165
|
},
|
|
131
166
|
flush(controller) {
|
|
132
|
-
if (carry.byteLength > 0) controller.enqueue(rawBytesRemaining > 0 ? carry : normalizeReactFlightHintLine(carry));
|
|
167
|
+
if (carry !== null && carry.byteLength > 0) controller.enqueue(rawBytesRemaining > 0 ? carry : normalizeReactFlightHintLine(carry));
|
|
133
168
|
}
|
|
134
169
|
}));
|
|
135
170
|
}
|
|
@@ -28,6 +28,5 @@ type PrerenderCacheSeedOptions = {
|
|
|
28
28
|
* @param serverDir - Path to `dist/server/` (where vinext-prerender.json lives)
|
|
29
29
|
* @returns The number of routes seeded (0 if no manifest or no renderable routes).
|
|
30
30
|
*/
|
|
31
|
-
declare function seedMemoryCacheFromPrerender(serverDir: string, options?: PrerenderCacheSeedOptions): Promise<number>;
|
|
32
|
-
//#endregion
|
|
33
|
-
export { seedMemoryCacheFromPrerender };
|
|
31
|
+
export declare function seedMemoryCacheFromPrerender(serverDir: string, options?: PrerenderCacheSeedOptions): Promise<number>;
|
|
32
|
+
//#endregion
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import path from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
|
|
2
|
-
import { appIsrCacheKey,
|
|
2
|
+
import { appIsrCacheKey, isrSet, isrSetPrerenderedAppPage } from "./isr-cache.js";
|
|
3
|
+
import { addPregeneratedConcretePath, addPregeneratedRoute, clearPregeneratedConcretePaths, normalizePregeneratedPathname } from "./pregenerated-concrete-paths.js";
|
|
3
4
|
import { getRenderedAppRoutes, getRenderedMetadataRoutes, isFallbackShellArtifactPath, readPrerenderManifest } from "./prerender-manifest.js";
|
|
4
5
|
import { buildAppPageCacheTags, buildAppRouteCacheTags } from "./app-page-cache.js";
|
|
5
6
|
import { getAppRouteOutputPath, getOutputPath, getRscOutputPath } from "../utils/prerender-output-paths.js";
|
|
6
|
-
import { addPregeneratedConcretePath, clearPregeneratedConcretePaths, normalizePregeneratedPathname } from "./pregenerated-concrete-paths.js";
|
|
7
7
|
import fs from "node:fs";
|
|
8
8
|
//#region src/server/seed-cache.ts
|
|
9
9
|
/**
|
|
@@ -16,7 +16,7 @@ import fs from "node:fs";
|
|
|
16
16
|
*
|
|
17
17
|
* This is only useful for the MemoryCacheHandler (the default for Node.js
|
|
18
18
|
* production). Persistent backends like KV already retain entries across
|
|
19
|
-
* deploys and can be pre-populated
|
|
19
|
+
* deploys and can be pre-populated from prerendered artifacts.
|
|
20
20
|
*
|
|
21
21
|
* Consistency model:
|
|
22
22
|
* - The manifest is authoritative for which routes were pre-rendered and their
|
|
@@ -47,7 +47,8 @@ import fs from "node:fs";
|
|
|
47
47
|
*/
|
|
48
48
|
async function seedMemoryCacheFromPrerender(serverDir, options) {
|
|
49
49
|
clearPregeneratedConcretePaths();
|
|
50
|
-
const
|
|
50
|
+
const manifestPath = path.join(serverDir, "vinext-prerender.json");
|
|
51
|
+
const manifest = readPrerenderManifest(manifestPath);
|
|
51
52
|
if (!manifest) return 0;
|
|
52
53
|
const { buildId, routes } = manifest;
|
|
53
54
|
if (!buildId || !Array.isArray(routes)) return 0;
|
|
@@ -56,15 +57,15 @@ async function seedMemoryCacheFromPrerender(serverDir, options) {
|
|
|
56
57
|
const writeAppPageEntry = options?.writeAppPageEntry ?? createDefaultAppPageEntryWriter();
|
|
57
58
|
const writeAppRouteEntry = options?.writeAppRouteEntry ?? isrSet;
|
|
58
59
|
let seeded = 0;
|
|
60
|
+
for (const route of routes) if (route.status === "skipped" && route.reason === "empty-static-params") addPregeneratedRoute(route.route);
|
|
59
61
|
const appRoutes = getRenderedAppRoutes(routes);
|
|
60
62
|
for (const route of appRoutes) {
|
|
61
63
|
const concretePathname = route.path ?? route.route;
|
|
62
64
|
if (!isFallbackShellArtifactPath(concretePathname, route)) addPregeneratedConcretePath(route.route, concretePathname);
|
|
63
65
|
const artifactPathname = route.path ?? route.route;
|
|
64
66
|
const cachePathname = normalizePregeneratedPathname(artifactPathname);
|
|
65
|
-
const
|
|
66
|
-
const
|
|
67
|
-
const rscKey = options?.buildAppPageRscKey?.(cachePathname) ?? baseKey + ":rsc";
|
|
67
|
+
const htmlKey = options?.buildAppPageHtmlKey?.(cachePathname) ?? appIsrCacheKey(cachePathname, "html", buildId);
|
|
68
|
+
const rscKey = options?.buildAppPageRscKey?.(cachePathname) ?? appIsrCacheKey(cachePathname, "rsc", buildId);
|
|
68
69
|
const revalidateSeconds = typeof route.revalidate === "number" ? route.revalidate : void 0;
|
|
69
70
|
const expireSeconds = typeof route.expire === "number" ? route.expire : void 0;
|
|
70
71
|
const staleSeconds = typeof route.stale === "number" && route.stale >= 0 ? route.stale : void 0;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
//#region src/server/server-action-not-found.d.ts
|
|
2
|
-
declare function getServerActionNotFoundMessage(actionId: string | null): string;
|
|
3
|
-
declare function isServerActionNotFoundError(error: unknown, actionId: string | null): boolean;
|
|
4
|
-
declare function createServerActionNotFoundResponse(): Response;
|
|
2
|
+
export declare function getServerActionNotFoundMessage(actionId: string | null): string;
|
|
3
|
+
export declare function isServerActionNotFoundError(error: unknown, actionId: string | null): boolean;
|
|
4
|
+
export declare function createServerActionNotFoundResponse(): Response;
|
|
5
5
|
/**
|
|
6
6
|
* Throw an `UnrecognizedActionError` when the server reported the requested
|
|
7
7
|
* server action id as unknown (the `x-nextjs-action-not-found` response
|
|
@@ -16,6 +16,5 @@ declare function createServerActionNotFoundResponse(): Response;
|
|
|
16
16
|
* on this same response header:
|
|
17
17
|
* https://github.com/vercel/next.js/blob/canary/packages/next/src/client/components/router-reducer/reducers/server-action-reducer.ts
|
|
18
18
|
*/
|
|
19
|
-
declare function throwOnServerActionNotFound(response: Pick<Response, "headers">, actionId: string): void;
|
|
20
|
-
//#endregion
|
|
21
|
-
export { createServerActionNotFoundResponse, getServerActionNotFoundMessage, isServerActionNotFoundError, throwOnServerActionNotFound };
|
|
19
|
+
export declare function throwOnServerActionNotFound(response: Pick<Response, "headers">, actionId: string): void;
|
|
20
|
+
//#endregion
|
|
@@ -3,7 +3,7 @@ import { StaticLayoutArtifactReuseDecision } from "./cache-proof.js";
|
|
|
3
3
|
import { ClientReuseManifestEntry, ClientReuseManifestEntryRejection, ClientReuseManifestParseResult, ClientReuseManifestRejection, ClientReuseManifestSkipDisposition, ClientReuseManifestTraceFields } from "./client-reuse-manifest.js";
|
|
4
4
|
import { createStaticLayoutClientReuseArtifactCompatibility, createStaticLayoutClientReusePayloadHash, createStaticLayoutClientReuseRouteId } from "./static-layout-client-reuse-proof.js";
|
|
5
5
|
//#region src/server/skip-cache-proof.d.ts
|
|
6
|
-
type SkipCacheInvalidationProof = Readonly<{
|
|
6
|
+
export type SkipCacheInvalidationProof = Readonly<{
|
|
7
7
|
kind: "invalidated";
|
|
8
8
|
invalidationEpoch: string | null;
|
|
9
9
|
}> | Readonly<{
|
|
@@ -54,7 +54,7 @@ type CreateClientReuseSkipTransportPlanInput = Readonly<{
|
|
|
54
54
|
maxWireEntriesToVerify?: number;
|
|
55
55
|
verifyEntry: (entry: ClientReuseManifestEntry) => SkipCacheCrossCheckResult;
|
|
56
56
|
}>;
|
|
57
|
-
declare function crossCheckClientReuseManifestEntryWithCache(input: CrossCheckClientReuseManifestEntryWithCacheInput): SkipCacheCrossCheckResult;
|
|
58
|
-
declare function createClientReuseSkipTransportPlan(input: CreateClientReuseSkipTransportPlanInput): ClientReuseSkipTransportPlan;
|
|
57
|
+
export declare function crossCheckClientReuseManifestEntryWithCache(input: CrossCheckClientReuseManifestEntryWithCacheInput): SkipCacheCrossCheckResult;
|
|
58
|
+
export declare function createClientReuseSkipTransportPlan(input: CreateClientReuseSkipTransportPlanInput): ClientReuseSkipTransportPlan;
|
|
59
59
|
//#endregion
|
|
60
|
-
export {
|
|
60
|
+
export { createStaticLayoutClientReuseArtifactCompatibility, createStaticLayoutClientReusePayloadHash, createStaticLayoutClientReuseRouteId };
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* one of `ECONNRESET` / `EPIPE` / `ECONNABORTED`, otherwise `undefined`.
|
|
5
5
|
* Exported for unit testing in isolation (no process-state mutation).
|
|
6
6
|
*/
|
|
7
|
-
declare function peerDisconnectCode(err: unknown): string | undefined;
|
|
7
|
+
export declare function peerDisconnectCode(err: unknown): string | undefined;
|
|
8
8
|
/**
|
|
9
9
|
* Pure predicate: returns `true` when `err` is a benign failure from a
|
|
10
10
|
* dynamic `import()` of a static asset URL — the "URL dependency" pattern
|
|
@@ -22,13 +22,12 @@ declare function peerDisconnectCode(err: unknown): string | undefined;
|
|
|
22
22
|
* modules with no extension) returns `false` so real bugs still crash.
|
|
23
23
|
* Exported for unit testing in isolation.
|
|
24
24
|
*/
|
|
25
|
-
declare function isBenignAssetImportError(err: unknown): boolean;
|
|
25
|
+
export declare function isBenignAssetImportError(err: unknown): boolean;
|
|
26
26
|
/**
|
|
27
27
|
* Test-only: returns whether the backstop has been installed in this
|
|
28
28
|
* process. Used by the unit test to assert idempotent install via the
|
|
29
29
|
* Symbol.for guard. Not part of the public API.
|
|
30
30
|
*/
|
|
31
|
-
declare function isSocketErrorBackstopInstalled(): boolean;
|
|
32
|
-
declare function installSocketErrorBackstop(): void;
|
|
33
|
-
//#endregion
|
|
34
|
-
export { installSocketErrorBackstop, isBenignAssetImportError, isSocketErrorBackstopInstalled, peerDisconnectCode };
|
|
31
|
+
export declare function isSocketErrorBackstopInstalled(): boolean;
|
|
32
|
+
export declare function installSocketErrorBackstop(): void;
|
|
33
|
+
//#endregion
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
*
|
|
34
34
|
* **Prerender check is dynamic, not install-time.** Prerender (in
|
|
35
35
|
* `build/prerender.ts` and `build/run-prerender.ts`) calls
|
|
36
|
-
* `startProdServer()` from inside `
|
|
36
|
+
* `startProdServer()` from inside `vite build` to render pages
|
|
37
37
|
* against a real HTTP server. User `fetch()` calls during prerender
|
|
38
38
|
* hit external APIs that can drop connections; absorbing those would
|
|
39
39
|
* silently produce corrupt prerendered output instead of crashing
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
//#region src/server/static-file-cache.d.ts
|
|
2
2
|
/** Content-type lookup for static assets. Shared with prod-server.ts. */
|
|
3
|
-
declare const CONTENT_TYPES: Record<string, string>;
|
|
3
|
+
export declare const CONTENT_TYPES: Record<string, string>;
|
|
4
4
|
/** Resolve a path's MIME type with case-insensitive extension matching. */
|
|
5
|
-
declare function contentTypeForPath(filePath: string): string;
|
|
5
|
+
export declare function contentTypeForPath(filePath: string): string;
|
|
6
6
|
/** A servable file variant with pre-computed response headers. */
|
|
7
7
|
type FileVariant = {
|
|
8
8
|
/** Absolute file path (used for streaming large files). */
|
|
@@ -38,7 +38,7 @@ type StaticFileEntry = {
|
|
|
38
38
|
* const entry = cache.lookup("/_next/static/app-abc123.js");
|
|
39
39
|
* // entry.br?.headers, entry.original.headers, etc.
|
|
40
40
|
*/
|
|
41
|
-
declare class StaticFileCache {
|
|
41
|
+
export declare class StaticFileCache {
|
|
42
42
|
private readonly entries;
|
|
43
43
|
private constructor();
|
|
44
44
|
/**
|
|
@@ -65,6 +65,5 @@ declare class StaticFileCache {
|
|
|
65
65
|
* Returns null if the filename doesn't contain a recognizable hash suffix,
|
|
66
66
|
* so the caller can fall back to mtime-based ETags.
|
|
67
67
|
*/
|
|
68
|
-
declare function etagFromFilenameHash(relativePath: string, ext: string): string | null;
|
|
69
|
-
//#endregion
|
|
70
|
-
export { CONTENT_TYPES, StaticFileCache, contentTypeForPath, etagFromFilenameHash };
|
|
68
|
+
export declare function etagFromFilenameHash(relativePath: string, ext: string): string | null;
|
|
69
|
+
//#endregion
|
|
@@ -61,7 +61,7 @@ function contentTypeForPath(filePath) {
|
|
|
61
61
|
* 64KB covers virtually all precompressed assets (a 200KB JS bundle compresses
|
|
62
62
|
* to ~50KB with brotli q5).
|
|
63
63
|
*/
|
|
64
|
-
const BUFFER_THRESHOLD =
|
|
64
|
+
const BUFFER_THRESHOLD = 65536;
|
|
65
65
|
/** Temp files left by an interrupted atomic precompression write. */
|
|
66
66
|
const PRECOMPRESSION_TEMP_FILE_RE = /\.(?:br|gz|zst)\.\d+\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\.tmp$/i;
|
|
67
67
|
/**
|
|
@@ -136,12 +136,14 @@ var StaticFileCache = class StaticFileCache {
|
|
|
136
136
|
}
|
|
137
137
|
const pathname = "/" + relativePath;
|
|
138
138
|
entries.set(pathname, entry);
|
|
139
|
-
if (ext === ".html")
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
139
|
+
if (ext === ".html") {
|
|
140
|
+
if (relativePath.endsWith("/index.html")) {
|
|
141
|
+
const dirPath = "/" + relativePath.slice(0, -11);
|
|
142
|
+
if (dirPath !== "/") entries.set(dirPath, entry);
|
|
143
|
+
} else {
|
|
144
|
+
const withoutExt = "/" + relativePath.slice(0, -ext.length);
|
|
145
|
+
entries.set(withoutExt, entry);
|
|
146
|
+
}
|
|
145
147
|
}
|
|
146
148
|
}
|
|
147
149
|
const toBuffer = [];
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
//#region src/server/static-file-signal.d.ts
|
|
2
|
-
type StaticFileSignalContext = {
|
|
2
|
+
export type StaticFileSignalContext = {
|
|
3
3
|
headers: Headers | null;
|
|
4
4
|
status: number | null;
|
|
5
5
|
};
|
|
6
6
|
/** Create the only response shape that host runtimes may resolve as an asset. */
|
|
7
|
-
declare function createStaticFileSignal(pathname: string, context: StaticFileSignalContext): Response;
|
|
7
|
+
export declare function createStaticFileSignal(pathname: string, context: StaticFileSignalContext): Response;
|
|
8
8
|
/** Whether this response was created by vinext's public-file router. */
|
|
9
|
-
declare function isStaticFileSignal(response: Response): boolean;
|
|
9
|
+
export declare function isStaticFileSignal(response: Response): boolean;
|
|
10
10
|
/** Return the encoded asset pathname only for a framework-created signal. */
|
|
11
|
-
declare function readStaticFileSignal(response: Response): string | null;
|
|
12
|
-
|
|
13
|
-
export
|
|
11
|
+
export declare function readStaticFileSignal(response: Response): string | null;
|
|
12
|
+
/** Encode a framework-authenticated signal for a standards-only stage transport. */
|
|
13
|
+
export declare function serializeStaticFileSignalForTransport(response: Response, token: string): Response;
|
|
14
|
+
/** Restore and consume a signal returned by the trusted response-stage wrapper. */
|
|
15
|
+
export declare function restoreStaticFileSignalFromTransport(response: Response, token: string): Response;
|
|
16
|
+
//#endregion
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
//#region src/server/static-file-signal.ts
|
|
2
2
|
const STATIC_FILE_SIGNAL = Symbol.for("vinext.static-file-signal");
|
|
3
|
+
const STATIC_FILE_SIGNAL_TRANSPORT_HEADER = "x-vinext-stage-static-file";
|
|
4
|
+
const STATIC_FILE_REPRESENTATION_HEADERS = [
|
|
5
|
+
"content-encoding",
|
|
6
|
+
"content-length",
|
|
7
|
+
"content-type",
|
|
8
|
+
"transfer-encoding"
|
|
9
|
+
];
|
|
3
10
|
/**
|
|
4
11
|
* Mark a response created by vinext's public-file router.
|
|
5
12
|
*
|
|
@@ -8,9 +15,24 @@ const STATIC_FILE_SIGNAL = Symbol.for("vinext.static-file-signal");
|
|
|
8
15
|
* remain ordinary metadata and cannot alter framework control flow.
|
|
9
16
|
*/
|
|
10
17
|
function markStaticFileSignal(response, pathname) {
|
|
11
|
-
|
|
18
|
+
return markEncodedStaticFileSignal(response, encodeURIComponent(pathname));
|
|
19
|
+
}
|
|
20
|
+
function markEncodedStaticFileSignal(response, encodedPathname) {
|
|
21
|
+
Object.defineProperty(response, STATIC_FILE_SIGNAL, { value: encodedPathname });
|
|
12
22
|
return response;
|
|
13
23
|
}
|
|
24
|
+
function withoutTransportHeader(response) {
|
|
25
|
+
if (!response.headers.has(STATIC_FILE_SIGNAL_TRANSPORT_HEADER)) return response;
|
|
26
|
+
const headers = new Headers(response.headers);
|
|
27
|
+
headers.delete(STATIC_FILE_SIGNAL_TRANSPORT_HEADER);
|
|
28
|
+
if (response.status < 200 || response.status > 599) return response;
|
|
29
|
+
const body = response.status === 204 || response.status === 205 || response.status === 304 ? null : response.body;
|
|
30
|
+
return new Response(body, {
|
|
31
|
+
headers,
|
|
32
|
+
status: response.status,
|
|
33
|
+
statusText: response.statusText
|
|
34
|
+
});
|
|
35
|
+
}
|
|
14
36
|
/** Create the only response shape that host runtimes may resolve as an asset. */
|
|
15
37
|
function createStaticFileSignal(pathname, context) {
|
|
16
38
|
const headers = new Headers();
|
|
@@ -29,5 +51,32 @@ function readStaticFileSignal(response) {
|
|
|
29
51
|
const signal = Reflect.get(response, STATIC_FILE_SIGNAL);
|
|
30
52
|
return typeof signal === "string" ? signal : null;
|
|
31
53
|
}
|
|
54
|
+
/** Encode a framework-authenticated signal for a standards-only stage transport. */
|
|
55
|
+
function serializeStaticFileSignalForTransport(response, token) {
|
|
56
|
+
const signal = readStaticFileSignal(response);
|
|
57
|
+
if (signal === null) return response;
|
|
58
|
+
const headers = new Headers(response.headers);
|
|
59
|
+
for (const name of STATIC_FILE_REPRESENTATION_HEADERS) headers.delete(name);
|
|
60
|
+
headers.set(STATIC_FILE_SIGNAL_TRANSPORT_HEADER, `${token}:${signal}`);
|
|
61
|
+
return new Response(null, {
|
|
62
|
+
headers,
|
|
63
|
+
status: response.status,
|
|
64
|
+
statusText: response.statusText
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
/** Restore and consume a signal returned by the trusted response-stage wrapper. */
|
|
68
|
+
function restoreStaticFileSignalFromTransport(response, token) {
|
|
69
|
+
const transported = response.headers.get(STATIC_FILE_SIGNAL_TRANSPORT_HEADER);
|
|
70
|
+
const cleaned = withoutTransportHeader(response);
|
|
71
|
+
const prefix = `${token}:`;
|
|
72
|
+
if (transported === null || !transported.startsWith(prefix)) return cleaned;
|
|
73
|
+
const encodedPathname = transported.slice(prefix.length);
|
|
74
|
+
try {
|
|
75
|
+
if (!decodeURIComponent(encodedPathname).startsWith("/")) return cleaned;
|
|
76
|
+
} catch {
|
|
77
|
+
return cleaned;
|
|
78
|
+
}
|
|
79
|
+
return markEncodedStaticFileSignal(cleaned, encodedPathname);
|
|
80
|
+
}
|
|
32
81
|
//#endregion
|
|
33
|
-
export { createStaticFileSignal, isStaticFileSignal, readStaticFileSignal };
|
|
82
|
+
export { createStaticFileSignal, isStaticFileSignal, readStaticFileSignal, restoreStaticFileSignalFromTransport, serializeStaticFileSignalForTransport };
|
|
@@ -7,8 +7,7 @@ type StaticLayoutClientReuseProofInput = Readonly<{
|
|
|
7
7
|
routeId: string;
|
|
8
8
|
variantCacheKey: string;
|
|
9
9
|
}>;
|
|
10
|
-
declare function createStaticLayoutClientReuseRouteId(layoutId: string): string;
|
|
11
|
-
declare function createStaticLayoutClientReusePayloadHash(input: StaticLayoutClientReuseProofInput): string;
|
|
12
|
-
declare function createStaticLayoutClientReuseArtifactCompatibility(input: StaticLayoutClientReuseProofInput): ArtifactCompatibilityEnvelope;
|
|
13
|
-
//#endregion
|
|
14
|
-
export { createStaticLayoutClientReuseArtifactCompatibility, createStaticLayoutClientReusePayloadHash, createStaticLayoutClientReuseRouteId };
|
|
10
|
+
export declare function createStaticLayoutClientReuseRouteId(layoutId: string): string;
|
|
11
|
+
export declare function createStaticLayoutClientReusePayloadHash(input: StaticLayoutClientReuseProofInput): string;
|
|
12
|
+
export declare function createStaticLayoutClientReuseArtifactCompatibility(input: StaticLayoutClientReuseProofInput): ArtifactCompatibilityEnvelope;
|
|
13
|
+
//#endregion
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
//#region src/server/streaming-metadata.d.ts
|
|
2
|
-
declare function shouldServeStreamingMetadata(userAgent: string, htmlLimitedBots: string | undefined): boolean;
|
|
3
|
-
//#endregion
|
|
4
|
-
export { shouldServeStreamingMetadata };
|
|
2
|
+
export declare function shouldServeStreamingMetadata(userAgent: string, htmlLimitedBots: string | undefined): boolean;
|
|
3
|
+
//#endregion
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { FrameworkTracer, FrameworkTracingIntegration } from "./framework-tracer.js";
|
|
2
|
+
//#region src/server/tracer.d.ts
|
|
3
|
+
export declare function registerFrameworkTracingIntegration(integration: FrameworkTracingIntegration): void;
|
|
4
|
+
export declare const frameworkTracer: FrameworkTracer;
|
|
5
|
+
//#endregion
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createFrameworkTracer } from "./framework-tracer.js";
|
|
2
|
+
import { openTelemetryTracingIntegration } from "./opentelemetry-tracing.js";
|
|
3
|
+
//#region src/server/tracer.ts
|
|
4
|
+
const INTEGRATIONS_KEY = Symbol.for("vinext.frameworkTracing.integrations");
|
|
5
|
+
const globals = globalThis;
|
|
6
|
+
const integrations = globals[INTEGRATIONS_KEY] ??= [];
|
|
7
|
+
function registerFrameworkTracingIntegration(integration) {
|
|
8
|
+
if (!integrations.some(({ id }) => id === integration.id)) integrations.push(integration);
|
|
9
|
+
}
|
|
10
|
+
registerFrameworkTracingIntegration(openTelemetryTracingIntegration);
|
|
11
|
+
const frameworkTracer = createFrameworkTracer(integrations);
|
|
12
|
+
//#endregion
|
|
13
|
+
export { frameworkTracer, registerFrameworkTracingIntegration };
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import { ExecutionContextLike } from "../shims/request-context.js";
|
|
2
2
|
//#region src/server/worker-prerender-discovery.d.ts
|
|
3
|
-
declare function isWorkerPrerenderDiscoveryPath(pathname: string): boolean;
|
|
4
|
-
declare function workerCapabilityMatches(provided: string, expected: string): boolean;
|
|
3
|
+
export declare function isWorkerPrerenderDiscoveryPath(pathname: string): boolean;
|
|
4
|
+
export declare function workerCapabilityMatches(provided: string, expected: string): boolean;
|
|
5
5
|
/**
|
|
6
6
|
* Respond to an authenticated staged-version readiness request without
|
|
7
7
|
* invoking middleware, routing, or rendering. The CDN adapter validates the
|
|
8
8
|
* expected Worker version before callers return this response.
|
|
9
9
|
*/
|
|
10
|
-
declare function createWorkerPrerenderReadinessResponse(ctx: ExecutionContextLike, request: Request): Response | null;
|
|
10
|
+
export declare function createWorkerPrerenderReadinessResponse(ctx: ExecutionContextLike, request: Request): Response | null;
|
|
11
11
|
/**
|
|
12
12
|
* Mark only a request carrying the current build's capability as an internal
|
|
13
13
|
* path-discovery request. The capability is compiled into the Worker entry and
|
|
14
14
|
* rotated on every build; the public version override proves which staged
|
|
15
15
|
* version Cloudflare invoked but is deliberately not treated as authorization.
|
|
16
16
|
*/
|
|
17
|
-
declare function createWorkerPrerenderDiscoveryContext(base: ExecutionContextLike, request: Request, expectedSecret: string | null | undefined): ExecutionContextLike;
|
|
18
|
-
//#endregion
|
|
19
|
-
export { createWorkerPrerenderDiscoveryContext, createWorkerPrerenderReadinessResponse, isWorkerPrerenderDiscoveryPath, workerCapabilityMatches };
|
|
17
|
+
export declare function createWorkerPrerenderDiscoveryContext(base: ExecutionContextLike, request: Request, expectedSecret: string | null | undefined): ExecutionContextLike;
|
|
18
|
+
//#endregion
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
+
import { VinextRequestStageContext } from "./multi-stage.js";
|
|
1
2
|
import { ExecutionContextLike } from "../shims/request-context.js";
|
|
2
3
|
//#region src/server/worker-revalidation-context.d.ts
|
|
3
|
-
type PlatformExecutionContext = Partial<ExecutionContextLike
|
|
4
|
+
type PlatformExecutionContext = Partial<ExecutionContextLike> & VinextRequestStageContext;
|
|
4
5
|
/**
|
|
5
6
|
* Add a request-local, in-process Pages revalidation dispatcher to a Worker
|
|
6
7
|
* execution context. Re-entering with the derived internal context preserves
|
|
7
8
|
* the authenticated protocol headers while keeping ordinary inbound requests
|
|
8
9
|
* on the normal header-scrubbing path.
|
|
9
10
|
*/
|
|
10
|
-
declare function createWorkerRevalidationContext(base: PlatformExecutionContext | undefined, handleInternalRequest: (request: Request, ctx: ExecutionContextLike) => Promise<Response
|
|
11
|
-
//#endregion
|
|
12
|
-
export { createWorkerRevalidationContext };
|
|
11
|
+
export declare function createWorkerRevalidationContext(base: PlatformExecutionContext | undefined, handleInternalRequest: (request: Request, ctx: ExecutionContextLike) => Promise<Response>, defaultHostRuntime?: "node" | "worker"): ExecutionContextLike;
|
|
12
|
+
//#endregion
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/server/worker-revalidation-context.ts
|
|
2
|
-
function deriveExecutionContext(base, dispatchPagesRevalidate, isInternalPagesRevalidation) {
|
|
2
|
+
function deriveExecutionContext(base, dispatchPagesRevalidate, isInternalPagesRevalidation, defaultHostRuntime) {
|
|
3
3
|
return {
|
|
4
4
|
waitUntil(promise) {
|
|
5
5
|
if (typeof base?.waitUntil === "function") base.waitUntil(promise);
|
|
@@ -8,8 +8,9 @@ function deriveExecutionContext(base, dispatchPagesRevalidate, isInternalPagesRe
|
|
|
8
8
|
...typeof base?.passThroughOnException === "function" ? { passThroughOnException() {
|
|
9
9
|
base.passThroughOnException?.();
|
|
10
10
|
} } : {},
|
|
11
|
-
hostRuntime:
|
|
11
|
+
hostRuntime: base?.hostRuntime ?? defaultHostRuntime,
|
|
12
12
|
...base?.cache === void 0 ? {} : { cache: base.cache },
|
|
13
|
+
...base?.assets === void 0 ? {} : { assets: base.assets },
|
|
13
14
|
...base?.trustedRevalidateOrigin === void 0 ? {} : { trustedRevalidateOrigin: base.trustedRevalidateOrigin },
|
|
14
15
|
dispatchPagesRevalidate,
|
|
15
16
|
isInternalPagesRevalidation
|
|
@@ -21,10 +22,10 @@ function deriveExecutionContext(base, dispatchPagesRevalidate, isInternalPagesRe
|
|
|
21
22
|
* the authenticated protocol headers while keeping ordinary inbound requests
|
|
22
23
|
* on the normal header-scrubbing path.
|
|
23
24
|
*/
|
|
24
|
-
function createWorkerRevalidationContext(base, handleInternalRequest) {
|
|
25
|
+
function createWorkerRevalidationContext(base, handleInternalRequest, defaultHostRuntime = "worker") {
|
|
25
26
|
if (typeof base?.dispatchPagesRevalidate === "function") return base;
|
|
26
|
-
const dispatchPagesRevalidate = (request) => handleInternalRequest(request, deriveExecutionContext(base, dispatchPagesRevalidate, true));
|
|
27
|
-
return deriveExecutionContext(base, dispatchPagesRevalidate, false);
|
|
27
|
+
const dispatchPagesRevalidate = (request) => handleInternalRequest(request, deriveExecutionContext(base, dispatchPagesRevalidate, true, defaultHostRuntime));
|
|
28
|
+
return deriveExecutionContext(base, dispatchPagesRevalidate, false, defaultHostRuntime);
|
|
28
29
|
}
|
|
29
30
|
//#endregion
|
|
30
31
|
export { createWorkerRevalidationContext };
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { VinextResponseStageCacheability, VinextResponseStageTransport } from "./multi-stage.js";
|
|
2
|
+
import { PagesRenderOptions } from "./pages-request-pipeline.js";
|
|
3
|
+
//#region src/server/worker-stages.d.ts
|
|
4
|
+
export declare const PAGES_RESPONSE_STAGE_PROTOCOL_VERSION = 4;
|
|
5
|
+
export declare const PAGES_RESPONSE_STAGE_POLICY_OWNER_HEADER = "x-vinext-pages-response-stage-policy-owner";
|
|
6
|
+
export type PagesResponseStagePolicyOwner = "request-time" | "static";
|
|
7
|
+
type PagesResponseStageEnvelope = {
|
|
8
|
+
buildId: string | null;
|
|
9
|
+
cacheability: VinextResponseStageCacheability;
|
|
10
|
+
protocolVersion: typeof PAGES_RESPONSE_STAGE_PROTOCOL_VERSION;
|
|
11
|
+
/** Host is explicit because multi-tenant/domain-i18n renders vary by it. */
|
|
12
|
+
requestHost: string;
|
|
13
|
+
/** Complete response-header snapshot installed before Pages user code runs. */
|
|
14
|
+
stagedHeaders: Array<[string, string]> | null;
|
|
15
|
+
};
|
|
16
|
+
/** Serializable Pages page render delegated to a cacheable Worker stage. */
|
|
17
|
+
type PagesPageResponseStageProps = PagesResponseStageEnvelope & {
|
|
18
|
+
kind: "pages-page";
|
|
19
|
+
renderOptions: PagesRenderOptions | null;
|
|
20
|
+
resolvedUrl: string;
|
|
21
|
+
};
|
|
22
|
+
/** Serializable Pages API dispatch delegated to a cacheable Worker stage. */
|
|
23
|
+
type PagesApiResponseStageProps = PagesResponseStageEnvelope & {
|
|
24
|
+
apiUrl: string;
|
|
25
|
+
kind: "pages-api";
|
|
26
|
+
};
|
|
27
|
+
/** Authenticated staged-worker path discovery delegated outside the shared cache. */
|
|
28
|
+
type PagesPrerenderDiscoveryStageProps = PagesResponseStageEnvelope & {
|
|
29
|
+
kind: "pages-prerender-discovery";
|
|
30
|
+
};
|
|
31
|
+
/** Serializable description of work delegated to a cacheable Worker stage. */
|
|
32
|
+
export type WorkerResponseStageProps = PagesApiResponseStageProps | PagesPageResponseStageProps | PagesPrerenderDiscoveryStageProps;
|
|
33
|
+
/**
|
|
34
|
+
* Host-owned transport for invoking a response stage.
|
|
35
|
+
*
|
|
36
|
+
* Core request pipelines decide what may be shared and provide the complete
|
|
37
|
+
* serialized render identity here. Response-only middleware/config state is
|
|
38
|
+
* carried in the props so Pages user code observes the same pre-handler
|
|
39
|
+
* response as Next.js.
|
|
40
|
+
*/
|
|
41
|
+
export type DispatchWorkerResponseStage = VinextResponseStageTransport<WorkerResponseStageProps>;
|
|
42
|
+
export declare function isPagesResponseStageProps(value: unknown): value is WorkerResponseStageProps;
|
|
43
|
+
//#endregion
|