vinext 1.0.0-beta.8 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +158 -84
- package/THIRD_PARTY_LICENSES.md +25 -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 +1 -13
- package/dist/build/precompress.d.ts +2 -3
- 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 +82 -8
- package/dist/build/prerender-paths.js +814 -99
- 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 +67 -15
- package/dist/build/prerender.js +177 -64
- 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 +38 -19
- package/dist/build/report.js +73 -4
- 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 +25 -16
- package/dist/build/server-entry.d.ts +4 -0
- package/dist/build/server-entry.js +28 -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 +7 -8
- package/dist/cache/cache-adapters-virtual.d.ts +95 -9
- package/dist/cache/cache-adapters-virtual.js +58 -6
- 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 -435
- package/dist/client/app-nav-failure-handler.d.ts +6 -7
- 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 +21 -17
- package/dist/client/navigation-runtime.js +2 -1
- 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 -8
- package/dist/client/window-next.d.ts +4 -5
- package/dist/config/config-matchers.d.ts +16 -16
- package/dist/config/config-matchers.js +10 -7
- package/dist/config/dotenv.d.ts +3 -4
- package/dist/config/dotenv.js +2 -1
- 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 +5 -6
- package/dist/entries/app-browser-entry.js +3 -2
- package/dist/entries/app-rsc-entry.d.ts +12 -3
- package/dist/entries/app-rsc-entry.js +530 -55
- package/dist/entries/app-rsc-manifest.d.ts +4 -3
- package/dist/entries/app-rsc-manifest.js +27 -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 +237 -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 +832 -199
- package/dist/init-cloudflare.d.ts +27 -16
- package/dist/init-cloudflare.js +754 -113
- 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 +123 -41
- 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/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 +3 -4
- package/dist/plugins/ignore-dynamic-requests.js +60 -89
- package/dist/plugins/import-meta-url.d.ts +6 -7
- package/dist/plugins/import-meta-url.js +31 -43
- 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 +3 -4
- package/dist/plugins/og-assets.d.ts +4 -5
- package/dist/plugins/og-assets.js +32 -13
- package/dist/plugins/og-harfbuzz.d.ts +24 -0
- package/dist/plugins/og-harfbuzz.js +260 -0
- package/dist/plugins/optimize-imports.d.ts +7 -7
- package/dist/plugins/optimize-imports.js +32 -44
- 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 +2 -3
- package/dist/plugins/require-context.js +13 -21
- 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/server-externals-manifest.d.ts +2 -3
- package/dist/plugins/strip-server-exports.d.ts +5 -6
- package/dist/plugins/strip-server-exports.js +1 -1
- 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 +3 -4
- package/dist/plugins/transitive-externals.d.ts +2 -3
- package/dist/plugins/typeof-window.d.ts +6 -7
- package/dist/plugins/typeof-window.js +30 -31
- 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 +19 -19
- package/dist/routing/app-route-graph.js +3 -2
- package/dist/routing/app-router.d.ts +20 -5
- package/dist/routing/app-router.js +28 -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 +3 -4
- package/dist/server/app-bfcache-identity.d.ts +8 -9
- 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 +121 -40
- 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 +14 -1
- 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 +4 -5
- 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-browser-visible-commit.js +1 -1
- 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 +26 -27
- package/dist/server/app-history-state.js +19 -11
- 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 +15 -7
- package/dist/server/app-middleware.js +30 -5
- 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 +14 -10
- package/dist/server/app-optimistic-routing.js +16 -3
- 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 +2 -1
- package/dist/server/app-page-cache-finalizer.d.ts +32 -8
- package/dist/server/app-page-cache-finalizer.js +118 -14
- package/dist/server/app-page-cache-render.d.ts +8 -5
- package/dist/server/app-page-cache-render.js +22 -5
- package/dist/server/app-page-cache.d.ts +28 -9
- package/dist/server/app-page-cache.js +96 -25
- package/dist/server/app-page-dispatch.d.ts +36 -12
- package/dist/server/app-page-dispatch.js +188 -63
- 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 +12 -8
- 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 +42 -6
- package/dist/server/app-page-render.js +192 -28
- 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 +31 -13
- 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 +42 -6
- 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 +35 -6
- package/dist/server/app-page-tracing.d.ts +33 -0
- package/dist/server/app-page-tracing.js +49 -0
- package/dist/server/app-pages-bridge.d.ts +6 -6
- package/dist/server/app-pages-bridge.js +19 -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 +26 -12
- package/dist/server/app-prerender-static-params.d.ts +15 -7
- package/dist/server/app-prerender-static-params.js +33 -11
- 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 +115 -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 +2 -3
- package/dist/server/app-route-handler-cache.js +46 -34
- package/dist/server/app-route-handler-dispatch.d.ts +3 -3
- package/dist/server/app-route-handler-dispatch.js +75 -57
- package/dist/server/app-route-handler-execution.d.ts +18 -13
- package/dist/server/app-route-handler-execution.js +189 -25
- 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 +22 -10
- package/dist/server/app-route-handler-policy.js +19 -4
- package/dist/server/app-route-handler-response.d.ts +9 -10
- package/dist/server/app-route-handler-response.js +2 -0
- 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 +2 -0
- package/dist/server/app-router-entry.js +76 -12
- package/dist/server/app-rsc-cache-busting.d.ts +47 -22
- package/dist/server/app-rsc-cache-busting.js +80 -18
- 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 +12 -9
- package/dist/server/app-rsc-errors.js +15 -13
- package/dist/server/app-rsc-handler.d.ts +33 -6
- package/dist/server/app-rsc-handler.js +498 -83
- 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 +2 -1
- package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
- package/dist/server/app-rsc-response-finalizer.js +24 -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 +4 -4
- package/dist/server/app-rsc-route-matching.js +4 -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 +120 -6
- package/dist/server/app-segment-config.js +264 -12
- package/dist/server/app-server-action-execution.d.ts +16 -12
- package/dist/server/app-server-action-execution.js +88 -35
- package/dist/server/app-ssr-entry.d.ts +14 -4
- package/dist/server/app-ssr-entry.js +64 -17
- 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 +33 -7
- 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 +39 -11
- package/dist/server/cache-control.js +104 -7
- 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 +8 -0
- package/dist/server/cacheability-limits.js +9 -0
- package/dist/server/cacheability-manifest.d.ts +68 -0
- package/dist/server/cacheability-manifest.js +241 -0
- package/dist/server/cacheability-request.d.ts +49 -0
- package/dist/server/cacheability-request.js +559 -0
- 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 +39 -5
- 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 +130 -61
- 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 +62 -56
- package/dist/server/headers.js +33 -20
- 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-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 +28 -27
- package/dist/server/isr-cache.js +18 -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-cache-policy.d.ts +2 -3
- package/dist/server/metadata-route-response.d.ts +7 -7
- package/dist/server/metadata-route-response.js +68 -2
- 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 +13 -6
- package/dist/server/middleware-matcher.js +22 -1
- 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 +13 -8
- package/dist/server/middleware-runtime.js +54 -10
- 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/normalize-path.js +1 -1
- 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 +21 -8
- package/dist/server/pages-asset-tags.d.ts +6 -6
- package/dist/server/pages-asset-tags.js +37 -2
- 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 +11 -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-i18n.js +3 -2
- 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 +18 -19
- package/dist/server/pages-page-data.js +11 -10
- package/dist/server/pages-page-handler.d.ts +7 -6
- package/dist/server/pages-page-handler.js +98 -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 +49 -31
- 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 +16 -12
- package/dist/server/pages-request-pipeline.js +69 -28
- package/dist/server/pages-request-stage-entry.d.ts +23 -0
- package/dist/server/pages-request-stage-entry.js +314 -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 +48 -114
- 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 +11 -11
- package/dist/server/prerender-manifest.js +6 -3
- package/dist/server/prerender-route-params.d.ts +16 -9
- package/dist/server/prerender-route-params.js +18 -2
- package/dist/server/prerender-work-unit-setup.d.ts +4 -4
- package/dist/server/prerender-work-unit-setup.js +37 -14
- package/dist/server/prod-server.d.ts +12 -9
- package/dist/server/prod-server.js +129 -36
- 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 +17 -21
- package/dist/server/request-pipeline.js +8 -10
- 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 +2 -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/server-globals.js +13 -0
- 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 +16 -0
- package/dist/server/static-file-signal.js +82 -0
- 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 +18 -0
- package/dist/server/worker-prerender-discovery.js +55 -0
- package/dist/server/worker-revalidation-context.d.ts +2 -3
- package/dist/server/worker-revalidation-context.js +5 -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 +4 -4
- package/dist/server/workers-tracing.d.ts +17 -0
- package/dist/server/workers-tracing.js +27 -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 +28 -29
- package/dist/shims/cache-runtime.d.ts +23 -21
- package/dist/shims/cache-runtime.js +239 -121
- package/dist/shims/cache.d.ts +15 -15
- package/dist/shims/cache.js +25 -13
- package/dist/shims/cacheability-classification.d.ts +106 -0
- package/dist/shims/cacheability-classification.js +161 -0
- 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 +76 -18
- package/dist/shims/cdn-cache.js +40 -39
- 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 +4 -4
- package/dist/shims/error.js +1 -1
- package/dist/shims/error.react-server.d.ts +3 -4
- package/dist/shims/fetch-cache.d.ts +22 -22
- package/dist/shims/fetch-cache.js +50 -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 +68 -32
- package/dist/shims/headers.js +101 -10
- 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 +13 -0
- package/dist/shims/internal/app-prefetch-rsc-request.js +12 -0
- package/dist/shims/internal/app-route-detection.d.ts +2 -2
- package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -6
- package/dist/shims/internal/app-route-prefetch-policy.js +1 -0
- package/dist/shims/internal/app-router-context.d.ts +9 -10
- 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/hybrid-client-route-owner-direct.d.ts +6 -7
- package/dist/shims/internal/hybrid-client-route-owner-direct.js +29 -11
- package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
- package/dist/shims/internal/hybrid-client-route-owner.js +5 -4
- 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 +8 -3
- package/dist/shims/internal/make-hanging-promise.js +13 -2
- 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 +12 -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 +67 -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 +45 -17
- package/dist/shims/navigation.react-server.d.ts +9 -9
- package/dist/shims/navigation.react-server.js +1 -1
- 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 +7 -6
- package/dist/shims/root-params.d.ts +14 -15
- 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 +14 -28
- 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 +34 -31
- 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 +18 -12
- package/dist/shims/url-utils.js +10 -1
- 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 +3 -4
- 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 +9 -10
- package/dist/utils/prerender-output-paths.js +16 -9
- 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 +144 -0
- package/dist/utils/vite-version.d.ts +5 -6
- package/next-package.json +4 -0
- package/package.json +55 -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
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { getRequestExecutionContext } from "../shims/request-context.js";
|
|
1
2
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
3
|
//#region src/server/server-globals.ts
|
|
3
4
|
/**
|
|
@@ -9,6 +10,8 @@ import { AsyncLocalStorage } from "node:async_hooks";
|
|
|
9
10
|
* side-effect dependency. A runtime function call from the generated entry
|
|
10
11
|
* body would run after static user imports have already evaluated.
|
|
11
12
|
*/
|
|
13
|
+
const CACHEABILITY_REQUEST_STATE = Symbol.for("vinext.cacheabilityRequestState");
|
|
14
|
+
const PHASE_PRODUCTION_BUILD = "phase-production-build";
|
|
12
15
|
function clearBrowserGlobal(name) {
|
|
13
16
|
const descriptor = Object.getOwnPropertyDescriptor(globalThis, name);
|
|
14
17
|
if (!descriptor && typeof Reflect.get(globalThis, name) === "undefined") return;
|
|
@@ -29,6 +32,16 @@ function installServerGlobals() {
|
|
|
29
32
|
value: AsyncLocalStorage,
|
|
30
33
|
writable: true
|
|
31
34
|
});
|
|
35
|
+
const nextPhaseDescriptor = Object.getOwnPropertyDescriptor(globalThis, "__VINEXT_NEXT_PHASE");
|
|
36
|
+
if (!nextPhaseDescriptor || nextPhaseDescriptor.configurable) Object.defineProperty(globalThis, "__VINEXT_NEXT_PHASE", {
|
|
37
|
+
configurable: true,
|
|
38
|
+
get() {
|
|
39
|
+
const context = getRequestExecutionContext();
|
|
40
|
+
const state = context ? Reflect.get(context, CACHEABILITY_REQUEST_STATE) : void 0;
|
|
41
|
+
if (context?.isPrerenderPathDiscovery === true || Reflect.get(state ?? {}, "mode") === "probe") return PHASE_PRODUCTION_BUILD;
|
|
42
|
+
return Reflect.get(process.env, "NEXT_PHASE");
|
|
43
|
+
}
|
|
44
|
+
});
|
|
32
45
|
}
|
|
33
46
|
installServerGlobals();
|
|
34
47
|
//#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 = [];
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/server/static-file-signal.d.ts
|
|
2
|
+
export type StaticFileSignalContext = {
|
|
3
|
+
headers: Headers | null;
|
|
4
|
+
status: number | null;
|
|
5
|
+
};
|
|
6
|
+
/** Create the only response shape that host runtimes may resolve as an asset. */
|
|
7
|
+
export declare function createStaticFileSignal(pathname: string, context: StaticFileSignalContext): Response;
|
|
8
|
+
/** Whether this response was created by vinext's public-file router. */
|
|
9
|
+
export declare function isStaticFileSignal(response: Response): boolean;
|
|
10
|
+
/** Return the encoded asset pathname only for a framework-created signal. */
|
|
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
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
//#region src/server/static-file-signal.ts
|
|
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
|
+
];
|
|
10
|
+
/**
|
|
11
|
+
* Mark a response created by vinext's public-file router.
|
|
12
|
+
*
|
|
13
|
+
* The symbol carries the encoded pathname across the built RSC module boundary
|
|
14
|
+
* before the host runtime can fetch the asset. Application response headers
|
|
15
|
+
* remain ordinary metadata and cannot alter framework control flow.
|
|
16
|
+
*/
|
|
17
|
+
function markStaticFileSignal(response, pathname) {
|
|
18
|
+
return markEncodedStaticFileSignal(response, encodeURIComponent(pathname));
|
|
19
|
+
}
|
|
20
|
+
function markEncodedStaticFileSignal(response, encodedPathname) {
|
|
21
|
+
Object.defineProperty(response, STATIC_FILE_SIGNAL, { value: encodedPathname });
|
|
22
|
+
return response;
|
|
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
|
+
}
|
|
36
|
+
/** Create the only response shape that host runtimes may resolve as an asset. */
|
|
37
|
+
function createStaticFileSignal(pathname, context) {
|
|
38
|
+
const headers = new Headers();
|
|
39
|
+
if (context.headers) for (const [key, value] of context.headers) headers.append(key, value);
|
|
40
|
+
return markStaticFileSignal(new Response(null, {
|
|
41
|
+
status: context.status ?? 200,
|
|
42
|
+
headers
|
|
43
|
+
}), pathname);
|
|
44
|
+
}
|
|
45
|
+
/** Whether this response was created by vinext's public-file router. */
|
|
46
|
+
function isStaticFileSignal(response) {
|
|
47
|
+
return typeof Reflect.get(response, STATIC_FILE_SIGNAL) === "string";
|
|
48
|
+
}
|
|
49
|
+
/** Return the encoded asset pathname only for a framework-created signal. */
|
|
50
|
+
function readStaticFileSignal(response) {
|
|
51
|
+
const signal = Reflect.get(response, STATIC_FILE_SIGNAL);
|
|
52
|
+
return typeof signal === "string" ? signal : null;
|
|
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
|
+
}
|
|
81
|
+
//#endregion
|
|
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 };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ExecutionContextLike } from "../shims/request-context.js";
|
|
2
|
+
//#region src/server/worker-prerender-discovery.d.ts
|
|
3
|
+
export declare function isWorkerPrerenderDiscoveryPath(pathname: string): boolean;
|
|
4
|
+
export declare function workerCapabilityMatches(provided: string, expected: string): boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Respond to an authenticated staged-version readiness request without
|
|
7
|
+
* invoking middleware, routing, or rendering. The CDN adapter validates the
|
|
8
|
+
* expected Worker version before callers return this response.
|
|
9
|
+
*/
|
|
10
|
+
export declare function createWorkerPrerenderReadinessResponse(ctx: ExecutionContextLike, request: Request): Response | null;
|
|
11
|
+
/**
|
|
12
|
+
* Mark only a request carrying the current build's capability as an internal
|
|
13
|
+
* path-discovery request. The capability is compiled into the Worker entry and
|
|
14
|
+
* rotated on every build; the public version override proves which staged
|
|
15
|
+
* version Cloudflare invoked but is deliberately not treated as authorization.
|
|
16
|
+
*/
|
|
17
|
+
export declare function createWorkerPrerenderDiscoveryContext(base: ExecutionContextLike, request: Request, expectedSecret: string | null | undefined): ExecutionContextLike;
|
|
18
|
+
//#endregion
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { VINEXT_PRERENDER_SECRET_HEADER } from "../utils/protocol-headers.js";
|
|
2
|
+
import { VINEXT_PRERENDER_METADATA_ROUTES_PATH, VINEXT_PRERENDER_PAGES_STATIC_PATHS_PATH, VINEXT_PRERENDER_READINESS_HEADER, VINEXT_PRERENDER_READINESS_PATH, VINEXT_PRERENDER_STATIC_PARAMS_PATH } from "./headers.js";
|
|
3
|
+
//#region src/server/worker-prerender-discovery.ts
|
|
4
|
+
const PRERENDER_DISCOVERY_PATHS = /* @__PURE__ */ new Set([
|
|
5
|
+
VINEXT_PRERENDER_STATIC_PARAMS_PATH,
|
|
6
|
+
VINEXT_PRERENDER_PAGES_STATIC_PATHS_PATH,
|
|
7
|
+
VINEXT_PRERENDER_METADATA_ROUTES_PATH,
|
|
8
|
+
VINEXT_PRERENDER_READINESS_PATH
|
|
9
|
+
]);
|
|
10
|
+
function isWorkerPrerenderDiscoveryPath(pathname) {
|
|
11
|
+
return PRERENDER_DISCOVERY_PATHS.has(pathname);
|
|
12
|
+
}
|
|
13
|
+
function workerCapabilityMatches(provided, expected) {
|
|
14
|
+
let mismatch = provided.length ^ expected.length;
|
|
15
|
+
for (let index = 0; index < expected.length; index++) mismatch |= (provided.charCodeAt(index) || 0) ^ expected.charCodeAt(index);
|
|
16
|
+
return mismatch === 0;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Respond to an authenticated staged-version readiness request without
|
|
20
|
+
* invoking middleware, routing, or rendering. The CDN adapter validates the
|
|
21
|
+
* expected Worker version before callers return this response.
|
|
22
|
+
*/
|
|
23
|
+
function createWorkerPrerenderReadinessResponse(ctx, request) {
|
|
24
|
+
if (!request.url.includes("/__vinext/prerender/readiness")) return null;
|
|
25
|
+
if (new URL(request.url).pathname !== "/__vinext/prerender/readiness") return null;
|
|
26
|
+
if (ctx.isPrerenderPathDiscovery !== true || request.method !== "GET" && request.method !== "POST" || !request.headers.has("X-Vinext-Expected-Worker-Version")) return new Response(null, {
|
|
27
|
+
status: 404,
|
|
28
|
+
headers: { "Cache-Control": "no-store" }
|
|
29
|
+
});
|
|
30
|
+
return new Response(null, {
|
|
31
|
+
status: 204,
|
|
32
|
+
headers: {
|
|
33
|
+
"Cache-Control": "no-store",
|
|
34
|
+
[VINEXT_PRERENDER_READINESS_HEADER]: "1"
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Mark only a request carrying the current build's capability as an internal
|
|
40
|
+
* path-discovery request. The capability is compiled into the Worker entry and
|
|
41
|
+
* rotated on every build; the public version override proves which staged
|
|
42
|
+
* version Cloudflare invoked but is deliberately not treated as authorization.
|
|
43
|
+
*/
|
|
44
|
+
function createWorkerPrerenderDiscoveryContext(base, request, expectedSecret) {
|
|
45
|
+
const providedSecret = request.headers.get(VINEXT_PRERENDER_SECRET_HEADER);
|
|
46
|
+
if (!expectedSecret || !providedSecret || !workerCapabilityMatches(providedSecret, expectedSecret)) return base;
|
|
47
|
+
const pathname = new URL(request.url).pathname;
|
|
48
|
+
if (!isWorkerPrerenderDiscoveryPath(pathname)) return base;
|
|
49
|
+
return {
|
|
50
|
+
...base,
|
|
51
|
+
isPrerenderPathDiscovery: true
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
export { createWorkerPrerenderDiscoveryContext, createWorkerPrerenderReadinessResponse, isWorkerPrerenderDiscoveryPath, workerCapabilityMatches };
|
|
@@ -7,6 +7,5 @@ type PlatformExecutionContext = Partial<ExecutionContextLike>;
|
|
|
7
7
|
* the authenticated protocol headers while keeping ordinary inbound requests
|
|
8
8
|
* on the normal header-scrubbing path.
|
|
9
9
|
*/
|
|
10
|
-
declare function createWorkerRevalidationContext(base: PlatformExecutionContext | undefined, handleInternalRequest: (request: Request, ctx: ExecutionContextLike) => Promise<Response
|
|
11
|
-
//#endregion
|
|
12
|
-
export { createWorkerRevalidationContext };
|
|
10
|
+
export declare function createWorkerRevalidationContext(base: PlatformExecutionContext | undefined, handleInternalRequest: (request: Request, ctx: ExecutionContextLike) => Promise<Response>, defaultHostRuntime?: "node" | "worker"): ExecutionContextLike;
|
|
11
|
+
//#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,7 +8,7 @@ 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
13
|
...base?.trustedRevalidateOrigin === void 0 ? {} : { trustedRevalidateOrigin: base.trustedRevalidateOrigin },
|
|
14
14
|
dispatchPagesRevalidate,
|
|
@@ -21,10 +21,10 @@ function deriveExecutionContext(base, dispatchPagesRevalidate, isInternalPagesRe
|
|
|
21
21
|
* the authenticated protocol headers while keeping ordinary inbound requests
|
|
22
22
|
* on the normal header-scrubbing path.
|
|
23
23
|
*/
|
|
24
|
-
function createWorkerRevalidationContext(base, handleInternalRequest) {
|
|
24
|
+
function createWorkerRevalidationContext(base, handleInternalRequest, defaultHostRuntime = "worker") {
|
|
25
25
|
if (typeof base?.dispatchPagesRevalidate === "function") return base;
|
|
26
|
-
const dispatchPagesRevalidate = (request) => handleInternalRequest(request, deriveExecutionContext(base, dispatchPagesRevalidate, true));
|
|
27
|
-
return deriveExecutionContext(base, dispatchPagesRevalidate, false);
|
|
26
|
+
const dispatchPagesRevalidate = (request) => handleInternalRequest(request, deriveExecutionContext(base, dispatchPagesRevalidate, true, defaultHostRuntime));
|
|
27
|
+
return deriveExecutionContext(base, dispatchPagesRevalidate, false, defaultHostRuntime);
|
|
28
28
|
}
|
|
29
29
|
//#endregion
|
|
30
30
|
export { createWorkerRevalidationContext };
|