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
|
@@ -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
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
//#region src/server/worker-stages.ts
|
|
2
|
+
const PAGES_RESPONSE_STAGE_PROTOCOL_VERSION = 4;
|
|
3
|
+
const PAGES_RESPONSE_STAGE_POLICY_OWNER_HEADER = "x-vinext-pages-response-stage-policy-owner";
|
|
4
|
+
function isSerializedHeaders(value) {
|
|
5
|
+
return Array.isArray(value) && value.every((entry) => Array.isArray(entry) && entry.length === 2 && typeof entry[0] === "string" && typeof entry[1] === "string");
|
|
6
|
+
}
|
|
7
|
+
function isResponseStageCacheability(value) {
|
|
8
|
+
if (!value || typeof value !== "object") return false;
|
|
9
|
+
const cacheability = value;
|
|
10
|
+
return (cacheability.probeMode === null || cacheability.probeMode === "probe" || cacheability.probeMode === "identity") && (cacheability.policyHeaders === null || Array.isArray(cacheability.policyHeaders) && cacheability.policyHeaders.every((entry) => Array.isArray(entry) && entry.length === 2 && typeof entry[0] === "string" && typeof entry[1] === "string")) && (cacheability.representation === void 0 || cacheability.representation === "app-route" || cacheability.representation === "html" || cacheability.representation === "pages-data" || cacheability.representation === "rsc-full" || cacheability.representation === "rsc-loading-shell") && typeof cacheability.resolvedRoutePathname === "string" && cacheability.resolvedRoutePathname.startsWith("/");
|
|
11
|
+
}
|
|
12
|
+
function isPagesResponseStageProps(value) {
|
|
13
|
+
if (!value || typeof value !== "object") return false;
|
|
14
|
+
const props = value;
|
|
15
|
+
if (props.protocolVersion !== 4 || props.buildId !== null && typeof props.buildId !== "string" || !isResponseStageCacheability(props.cacheability) || typeof props.requestHost !== "string" || props.requestHost.length === 0 || props.stagedHeaders !== null && !isSerializedHeaders(props.stagedHeaders)) return false;
|
|
16
|
+
if (props.kind === "pages-api") return typeof props.apiUrl === "string";
|
|
17
|
+
if (props.kind === "pages-prerender-discovery") return true;
|
|
18
|
+
if (props.kind !== "pages-page" || typeof props.resolvedUrl !== "string") return false;
|
|
19
|
+
if (props.renderOptions === null) return true;
|
|
20
|
+
if (!props.renderOptions || typeof props.renderOptions !== "object") return false;
|
|
21
|
+
const options = props.renderOptions;
|
|
22
|
+
return (options.isDataReq === void 0 || typeof options.isDataReq === "boolean") && (options.renderErrorPageOnMiss === void 0 || typeof options.renderErrorPageOnMiss === "boolean") && (options.originalUrl === void 0 || typeof options.originalUrl === "string");
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
export { PAGES_RESPONSE_STAGE_POLICY_OWNER_HEADER, PAGES_RESPONSE_STAGE_PROTOCOL_VERSION, isPagesResponseStageProps };
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
//#region src/server/worker-utils.d.ts
|
|
2
|
-
declare function finalizeMissingStaticAssetResponse(response: Response, missingBuildAsset: boolean): Response;
|
|
3
|
-
declare function mergeHeaders(response: Response, extraHeaders: Record<string, string | string[]>, statusOverride?: number): Response;
|
|
4
|
-
declare function resolveStaticAssetSignal(signalResponse: Response, options: {
|
|
2
|
+
export declare function finalizeMissingStaticAssetResponse(response: Response, missingBuildAsset: boolean): Response;
|
|
3
|
+
export declare function mergeHeaders(response: Response, extraHeaders: Record<string, string | string[]>, statusOverride?: number): Response;
|
|
4
|
+
export declare function resolveStaticAssetSignal(signalResponse: Response, options: {
|
|
5
5
|
fetchAsset(path: string): Promise<Response>;
|
|
6
6
|
}): Promise<Response | null>;
|
|
7
7
|
/** Retarget a Worker asset request without dropping its conditional/range fields. */
|
|
8
|
-
declare function createStaticAssetRequest(assetPath: string, sourceRequest: Request): Request;
|
|
9
|
-
//#endregion
|
|
10
|
-
export { createStaticAssetRequest, finalizeMissingStaticAssetResponse, mergeHeaders, resolveStaticAssetSignal };
|
|
8
|
+
export declare function createStaticAssetRequest(assetPath: string, sourceRequest: Request): Request;
|
|
9
|
+
//#endregion
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { VINEXT_STATIC_FILE_HEADER } from "./headers.js";
|
|
2
1
|
import { notFoundStaticAssetResponse } from "./http-error-responses.js";
|
|
2
|
+
import { readStaticFileSignal } from "./static-file-signal.js";
|
|
3
3
|
//#region src/server/worker-utils.ts
|
|
4
4
|
/**
|
|
5
5
|
* Shared utilities for Cloudflare Worker entries.
|
|
@@ -83,7 +83,7 @@ function mergeHeaders(response, extraHeaders, statusOverride) {
|
|
|
83
83
|
});
|
|
84
84
|
}
|
|
85
85
|
async function resolveStaticAssetSignal(signalResponse, options) {
|
|
86
|
-
const signal = signalResponse
|
|
86
|
+
const signal = readStaticFileSignal(signalResponse);
|
|
87
87
|
if (!signal) return null;
|
|
88
88
|
let assetPath = "/";
|
|
89
89
|
try {
|
|
@@ -92,10 +92,10 @@ async function resolveStaticAssetSignal(signalResponse, options) {
|
|
|
92
92
|
assetPath = signal;
|
|
93
93
|
}
|
|
94
94
|
const extraHeaders = buildHeaderRecord(signalResponse, [
|
|
95
|
-
VINEXT_STATIC_FILE_HEADER,
|
|
96
95
|
"content-encoding",
|
|
97
96
|
"content-length",
|
|
98
|
-
"content-type"
|
|
97
|
+
"content-type",
|
|
98
|
+
"transfer-encoding"
|
|
99
99
|
]);
|
|
100
100
|
cancelResponseBody(signalResponse);
|
|
101
101
|
const assetResponse = await options.fetchAsset(assetPath);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FrameworkTracingIntegration } from "./framework-tracer.js";
|
|
2
|
+
//#region src/server/workers-tracing.d.ts
|
|
3
|
+
export type WorkersTracingException = string | {
|
|
4
|
+
name: string;
|
|
5
|
+
message: string;
|
|
6
|
+
stack?: string;
|
|
7
|
+
};
|
|
8
|
+
export type WorkersTracingSpan = {
|
|
9
|
+
readonly isTraced: boolean;
|
|
10
|
+
recordException?(exception: WorkersTracingException): void;
|
|
11
|
+
setAttribute(key: string, value: boolean | number | string): void;
|
|
12
|
+
};
|
|
13
|
+
export type WorkersTracing = {
|
|
14
|
+
enterSpan<T>(name: string, callback: (span: WorkersTracingSpan) => T): T;
|
|
15
|
+
};
|
|
16
|
+
export declare function createWorkersTracingIntegration(tracing: WorkersTracing): FrameworkTracingIntegration;
|
|
17
|
+
//#endregion
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region src/server/workers-tracing.ts
|
|
2
|
+
function normalizeException(error) {
|
|
3
|
+
if (typeof error === "string") return error;
|
|
4
|
+
if (error instanceof Error) return {
|
|
5
|
+
message: error.message,
|
|
6
|
+
name: error.name,
|
|
7
|
+
...error.stack ? { stack: error.stack } : {}
|
|
8
|
+
};
|
|
9
|
+
return String(error);
|
|
10
|
+
}
|
|
11
|
+
function createWorkersTracingIntegration(tracing) {
|
|
12
|
+
const backendSpan = (span) => ({
|
|
13
|
+
recordException: (error) => span.recordException?.(normalizeException(error)),
|
|
14
|
+
setAttribute: (key, value) => span.setAttribute(key, value)
|
|
15
|
+
});
|
|
16
|
+
return {
|
|
17
|
+
id: "cloudflare-workers",
|
|
18
|
+
enterSpan(descriptor, callback) {
|
|
19
|
+
return tracing.enterSpan(descriptor.name, (span) => {
|
|
20
|
+
for (const [key, value] of Object.entries(descriptor.attributes)) span.setAttribute(key, value);
|
|
21
|
+
return callback(backendSpan(span));
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
export { createWorkersTracingIntegration };
|
package/dist/shims/amp.d.ts
CHANGED
|
@@ -9,11 +9,10 @@
|
|
|
9
9
|
* Check if the current page is being served as AMP.
|
|
10
10
|
* Always returns false — AMP is not supported.
|
|
11
11
|
*/
|
|
12
|
-
declare function useAmp(): boolean;
|
|
12
|
+
export declare function useAmp(): boolean;
|
|
13
13
|
/**
|
|
14
14
|
* Check if AMP is enabled for the current page.
|
|
15
15
|
* Always returns false.
|
|
16
16
|
*/
|
|
17
|
-
declare function isInAmpMode(): boolean;
|
|
18
|
-
//#endregion
|
|
19
|
-
export { isInAmpMode, useAmp };
|
|
17
|
+
export declare function isInAmpMode(): boolean;
|
|
18
|
+
//#endregion
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
//#region src/shims/app-router-scroll-state.d.ts
|
|
2
|
-
type AppRouterScrollIntent = Readonly<{
|
|
2
|
+
export type AppRouterScrollIntent = Readonly<{
|
|
3
3
|
commitId: number | null;
|
|
4
4
|
hash: string | null;
|
|
5
5
|
headElements: ReadonlySet<Element> | null;
|
|
6
6
|
id: number;
|
|
7
7
|
targetHoistedInHead: boolean;
|
|
8
8
|
}>;
|
|
9
|
-
declare function beginAppRouterScrollIntent(hash: string | null): AppRouterScrollIntent;
|
|
10
|
-
declare function clearAppRouterScrollIntent(): void;
|
|
11
|
-
declare function getPendingAppRouterScrollIntent(): AppRouterScrollIntent | null;
|
|
12
|
-
declare function isLatestAppRouterScrollIntent(expected: AppRouterScrollIntent | null | undefined): boolean;
|
|
13
|
-
declare function claimAppRouterScrollIntentForCommit(expected: AppRouterScrollIntent | null | undefined, commitId: number): void;
|
|
14
|
-
declare function markAppRouterScrollIntentHeadHoisted(expected: AppRouterScrollIntent | null | undefined, commitId: number): void;
|
|
15
|
-
declare function consumeAppRouterScrollIntent(expected: AppRouterScrollIntent | null | undefined, commitId?: number): AppRouterScrollIntent | null;
|
|
16
|
-
//#endregion
|
|
17
|
-
export { AppRouterScrollIntent, beginAppRouterScrollIntent, claimAppRouterScrollIntentForCommit, clearAppRouterScrollIntent, consumeAppRouterScrollIntent, getPendingAppRouterScrollIntent, isLatestAppRouterScrollIntent, markAppRouterScrollIntentHeadHoisted };
|
|
9
|
+
export declare function beginAppRouterScrollIntent(hash: string | null): AppRouterScrollIntent;
|
|
10
|
+
export declare function clearAppRouterScrollIntent(): void;
|
|
11
|
+
export declare function getPendingAppRouterScrollIntent(): AppRouterScrollIntent | null;
|
|
12
|
+
export declare function isLatestAppRouterScrollIntent(expected: AppRouterScrollIntent | null | undefined): boolean;
|
|
13
|
+
export declare function claimAppRouterScrollIntentForCommit(expected: AppRouterScrollIntent | null | undefined, commitId: number): void;
|
|
14
|
+
export declare function markAppRouterScrollIntentHeadHoisted(expected: AppRouterScrollIntent | null | undefined, commitId: number): void;
|
|
15
|
+
export declare function consumeAppRouterScrollIntent(expected: AppRouterScrollIntent | null | undefined, commitId?: number): AppRouterScrollIntent | null;
|
|
16
|
+
//#endregion
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React$1 from "react";
|
|
2
2
|
//#region src/shims/app-router-scroll.d.ts
|
|
3
|
-
declare class AppRouterScrollTargetInner extends React$1.Component<{
|
|
3
|
+
export declare class AppRouterScrollTargetInner extends React$1.Component<{
|
|
4
4
|
children: React$1.ReactNode;
|
|
5
5
|
commitId: number | null;
|
|
6
6
|
}> {
|
|
@@ -12,12 +12,11 @@ declare class AppRouterScrollTargetInner extends React$1.Component<{
|
|
|
12
12
|
componentWillUnmount(): void;
|
|
13
13
|
render(): React$1.ReactNode;
|
|
14
14
|
}
|
|
15
|
-
declare function AppRouterScrollCommitProvider({ children, commitId }: {
|
|
15
|
+
export declare function AppRouterScrollCommitProvider({ children, commitId }: {
|
|
16
16
|
children?: React$1.ReactNode;
|
|
17
17
|
commitId: number | null;
|
|
18
18
|
}): React$1.JSX.Element;
|
|
19
|
-
declare function AppRouterScrollTarget({ children }: {
|
|
19
|
+
export declare function AppRouterScrollTarget({ children }: {
|
|
20
20
|
children: React$1.ReactNode;
|
|
21
21
|
}): React$1.JSX.Element;
|
|
22
|
-
//#endregion
|
|
23
|
-
export { AppRouterScrollCommitProvider, AppRouterScrollTarget, AppRouterScrollTargetInner };
|
|
22
|
+
//#endregion
|
|
@@ -133,8 +133,9 @@ function AppRouterScrollCommitProvider({ children, commitId }) {
|
|
|
133
133
|
});
|
|
134
134
|
}
|
|
135
135
|
function AppRouterScrollTarget({ children }) {
|
|
136
|
+
const commitId = React$1.useContext(AppRouterScrollCommitContext);
|
|
136
137
|
return /* @__PURE__ */ jsx(AppRouterScrollTargetInner, {
|
|
137
|
-
commitId
|
|
138
|
+
commitId,
|
|
138
139
|
children
|
|
139
140
|
});
|
|
140
141
|
}
|
package/dist/shims/app.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { ComponentType } from "react";
|
|
2
2
|
//#region src/shims/app.d.ts
|
|
3
|
-
type AppProps<P = any> = {
|
|
3
|
+
export type AppProps<P = any> = {
|
|
4
4
|
Component: ComponentType<P> & {
|
|
5
5
|
getInitialProps?: (ctx: any) => any;
|
|
6
6
|
};
|
|
@@ -13,7 +13,7 @@ type AppProps<P = any> = {
|
|
|
13
13
|
* The context passed to `App.getInitialProps`. Mirrors Next.js's
|
|
14
14
|
* `AppContextType` from `packages/next/src/shared/lib/utils.ts`.
|
|
15
15
|
*/
|
|
16
|
-
type AppContext = {
|
|
16
|
+
export type AppContext = {
|
|
17
17
|
Component: ComponentType<any> & {
|
|
18
18
|
getInitialProps?: (ctx: any) => any;
|
|
19
19
|
};
|
|
@@ -25,14 +25,13 @@ type AppContext = {
|
|
|
25
25
|
* The initial props shape returned by `App.getInitialProps`. Mirrors
|
|
26
26
|
* Next.js's `AppInitialProps` from `packages/next/src/shared/lib/utils.ts`.
|
|
27
27
|
*/
|
|
28
|
-
type AppInitialProps<PageProps = any> = {
|
|
28
|
+
export type AppInitialProps<PageProps = any> = {
|
|
29
29
|
pageProps: PageProps;
|
|
30
30
|
};
|
|
31
31
|
declare function appGetInitialProps({ Component, ctx }: AppContext): Promise<AppInitialProps>;
|
|
32
|
-
|
|
32
|
+
export default class App<P = any, CP = any, S = any> extends React.Component<P & AppProps<CP>, S> {
|
|
33
33
|
static origGetInitialProps: typeof appGetInitialProps;
|
|
34
34
|
static getInitialProps: typeof appGetInitialProps;
|
|
35
35
|
render(): React.ReactElement;
|
|
36
36
|
}
|
|
37
|
-
//#endregion
|
|
38
|
-
export { AppContext, AppInitialProps, AppProps, App as default };
|
|
37
|
+
//#endregion
|
|
@@ -15,7 +15,7 @@ import React from "react";
|
|
|
15
15
|
* (`(self.__next_s=...).push(...)`). An entry has `src` set for external
|
|
16
16
|
* scripts and `innerHTML` set for inline scripts (never both).
|
|
17
17
|
*/
|
|
18
|
-
type BeforeInteractiveInlineScript = {
|
|
18
|
+
export type BeforeInteractiveInlineScript = {
|
|
19
19
|
/** Optional id attribute. */
|
|
20
20
|
id?: string;
|
|
21
21
|
/** External script URL. Set for src beforeInteractive scripts. */
|
|
@@ -35,8 +35,7 @@ type BeforeInteractiveInlineScript = {
|
|
|
35
35
|
*/
|
|
36
36
|
attributes?: Record<string, string | boolean>;
|
|
37
37
|
};
|
|
38
|
-
type RegisterBeforeInteractiveInlineScript = (script: BeforeInteractiveInlineScript) => void;
|
|
39
|
-
declare const BeforeInteractiveContext: React.Context<RegisterBeforeInteractiveInlineScript | null>;
|
|
40
|
-
declare function useBeforeInteractiveRegister(): RegisterBeforeInteractiveInlineScript | null;
|
|
41
|
-
//#endregion
|
|
42
|
-
export { BeforeInteractiveContext, BeforeInteractiveInlineScript, RegisterBeforeInteractiveInlineScript, useBeforeInteractiveRegister };
|
|
38
|
+
export type RegisterBeforeInteractiveInlineScript = (script: BeforeInteractiveInlineScript) => void;
|
|
39
|
+
export declare const BeforeInteractiveContext: React.Context<RegisterBeforeInteractiveInlineScript | null>;
|
|
40
|
+
export declare function useBeforeInteractiveRegister(): RegisterBeforeInteractiveInlineScript | null;
|
|
41
|
+
//#endregion
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { VinextCacheFunctionInvocation } from "../server/multi-stage.js";
|
|
1
2
|
import { RegisterCachedFunctionOptions } from "./cache-runtime.js";
|
|
2
3
|
//#region src/shims/cache-callable-runtime.d.ts
|
|
3
4
|
declare const CACHE_CAPTURE_TYPE = "use-cache-captures";
|
|
@@ -5,7 +6,46 @@ type CacheCaptureEnvelope = {
|
|
|
5
6
|
type: typeof CACHE_CAPTURE_TYPE;
|
|
6
7
|
encrypted: string | PromiseLike<string>;
|
|
7
8
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Flight serializes a promise as its resolved value and drops its own fields.
|
|
11
|
+
* Next.js params are promises that also expose their resolved fields, and the
|
|
12
|
+
* cache key is built from those fields, so the payload carries each such
|
|
13
|
+
* promise's fields next to the arguments and decoding assigns them back.
|
|
14
|
+
*/
|
|
15
|
+
type EncodedCacheArguments = {
|
|
16
|
+
args: unknown[];
|
|
17
|
+
thenableObjects: EncodedThenableObject[];
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Flight writes each object once, so `promise` decodes to the same promise as
|
|
21
|
+
* every other reference to it, including ones inside resolved values, and the
|
|
22
|
+
* fields share references with the arguments. The fields build the cache key;
|
|
23
|
+
* the resolved value can differ: the params proxy hides params named like
|
|
24
|
+
* promise or React fields (`value`, `status`) from its own keys but still
|
|
25
|
+
* resolves to them.
|
|
26
|
+
*/
|
|
27
|
+
type EncodedThenableObject = {
|
|
28
|
+
fields: Record<string, unknown>;
|
|
29
|
+
promise: PromiseLike<unknown>;
|
|
30
|
+
};
|
|
31
|
+
export declare function encryptCacheCaptures(captures: unknown[]): CacheCaptureEnvelope;
|
|
32
|
+
/**
|
|
33
|
+
* What to do when a read would run a getter: `reject` throws
|
|
34
|
+
* `UnreplayableCacheArgumentsError`, `skip` leaves the getter unread.
|
|
35
|
+
*/
|
|
36
|
+
type GetterHandling = "reject" | "skip";
|
|
37
|
+
/**
|
|
38
|
+
* Collect the own fields of every promise-augmented object in the arguments,
|
|
39
|
+
* including ones inside resolved promise values. The arguments are passed to
|
|
40
|
+
* Flight as they are, so Flight keeps their shared references and cycles.
|
|
41
|
+
* With `getters: "reject"`, throws `UnreplayableCacheArgumentsError` when the
|
|
42
|
+
* arguments hold a getter; with `"skip"`, promise fields behind a getter are
|
|
43
|
+
* not recorded.
|
|
44
|
+
*/
|
|
45
|
+
export declare function encodeCacheArguments(args: unknown[], getters?: GetterHandling): Promise<EncodedCacheArguments>;
|
|
46
|
+
/** Restore the promise fields that `encodeCacheArguments` captured before Flight encoding. */
|
|
47
|
+
export declare function decodeCacheArguments(value: unknown): unknown[];
|
|
48
|
+
export declare function registerCachedFunction<TArgs extends unknown[], TResult>(fn: (...args: TArgs) => Promise<TResult>, id: string, variant: string, options: RegisterCachedFunctionOptions): (...args: TArgs) => Promise<TResult>;
|
|
49
|
+
/** Load and invoke one transformed cache function through its server-reference identity. */
|
|
50
|
+
export declare function invokeCacheFunction(invocation: VinextCacheFunctionInvocation, loadServerAction: (id: string) => Promise<unknown>): Promise<void>;
|
|
51
|
+
//#endregion
|
|
@@ -1,30 +1,190 @@
|
|
|
1
|
-
import { registerCachedFunction as registerCachedFunction$1 } from "./cache-runtime.js";
|
|
1
|
+
import { isThenableObject, isUseCacheFunction, registerCachedFunction as registerCachedFunction$1 } from "./cache-runtime.js";
|
|
2
2
|
import { decryptActionBoundArgs, encryptActionBoundArgs } from "@vitejs/plugin-rsc/utils/encryption-runtime";
|
|
3
3
|
//#region src/shims/cache-callable-runtime.ts
|
|
4
4
|
const CACHE_CAPTURE_TYPE = "use-cache-captures";
|
|
5
5
|
function encryptCacheCaptures(captures) {
|
|
6
6
|
return {
|
|
7
7
|
type: CACHE_CAPTURE_TYPE,
|
|
8
|
-
encrypted:
|
|
8
|
+
encrypted: encryptCaptures(captures)
|
|
9
9
|
};
|
|
10
10
|
}
|
|
11
11
|
async function decryptCacheCaptures(value) {
|
|
12
12
|
if (!isCacheCaptureEnvelope(value)) return;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
return decryptCacheArguments(value.encrypted);
|
|
14
|
+
}
|
|
15
|
+
async function encryptCaptures(captures) {
|
|
16
|
+
return encryptActionBoundArgs(await encodeCacheArguments(captures, "skip"));
|
|
17
|
+
}
|
|
18
|
+
async function encryptCacheArguments(args) {
|
|
19
|
+
return encryptActionBoundArgs(await encodeCacheArguments(args));
|
|
20
|
+
}
|
|
21
|
+
async function decryptCacheArguments(encrypted) {
|
|
22
|
+
return decodeCacheArguments(await decryptActionBoundArgs(Promise.resolve(encrypted)));
|
|
23
|
+
}
|
|
24
|
+
function isThenable(value) {
|
|
25
|
+
return "then" in value && typeof value.then === "function";
|
|
26
|
+
}
|
|
27
|
+
function isPlainRecord(value) {
|
|
28
|
+
const prototype = Object.getPrototypeOf(value);
|
|
29
|
+
return (prototype === Object.prototype || prototype === null) && !("$$typeof" in value);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* The arguments hold a getter. Flight reads it again while serializing, and a
|
|
33
|
+
* getter can return a different value, such as a new promise, on every read,
|
|
34
|
+
* so the recorded promise fields may not match what Flight serializes.
|
|
35
|
+
*/
|
|
36
|
+
var UnreplayableCacheArgumentsError = class extends Error {
|
|
37
|
+
constructor() {
|
|
38
|
+
super("Cache function arguments with getters cannot be replayed");
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* The own entries of `value` that Flight serializes: every index below an
|
|
43
|
+
* array's `length`, including holes and non-enumerable indices, as
|
|
44
|
+
* `JSON.stringify` reads them, and the enumerable own keys of anything else.
|
|
45
|
+
* A getter, own or inherited through an array hole, is never run.
|
|
46
|
+
*/
|
|
47
|
+
function ownEntries(value, getters) {
|
|
48
|
+
const keys = Array.isArray(value) ? Array.from({ length: value.length }, (_, index) => String(index)) : Object.keys(value);
|
|
49
|
+
const entries = [];
|
|
50
|
+
for (const key of keys) {
|
|
51
|
+
if (readsGetter(value, key)) {
|
|
52
|
+
if (getters === "reject") throw new UnreplayableCacheArgumentsError();
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
entries.push([key, Reflect.get(value, key)]);
|
|
56
|
+
}
|
|
57
|
+
return entries;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Whether reading `key` from `value` runs a getter. An array hole reads
|
|
61
|
+
* through the prototype chain, which can hold an indexed data property or
|
|
62
|
+
* accessor. A setter-only accessor reads as `undefined` without running code.
|
|
63
|
+
*/
|
|
64
|
+
function readsGetter(value, key) {
|
|
65
|
+
for (let target = value; target !== null; target = Reflect.getPrototypeOf(target)) {
|
|
66
|
+
const descriptor = Reflect.getOwnPropertyDescriptor(target, key);
|
|
67
|
+
if (descriptor) return typeof descriptor.get === "function";
|
|
68
|
+
}
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
/** Members of the values Flight serializes recursively, which can hold params. */
|
|
72
|
+
function flightMembers(value, getters) {
|
|
73
|
+
if (value instanceof Map) return [...value].flat();
|
|
74
|
+
if (value instanceof Set) return [...value];
|
|
75
|
+
if (isThenableObject(value) || Array.isArray(value) || isPlainRecord(value)) return ownEntries(value, getters).map(([, member]) => member);
|
|
76
|
+
return [];
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Collect the own fields of every promise-augmented object in the arguments,
|
|
80
|
+
* including ones inside resolved promise values. The arguments are passed to
|
|
81
|
+
* Flight as they are, so Flight keeps their shared references and cycles.
|
|
82
|
+
* With `getters: "reject"`, throws `UnreplayableCacheArgumentsError` when the
|
|
83
|
+
* arguments hold a getter; with `"skip"`, promise fields behind a getter are
|
|
84
|
+
* not recorded.
|
|
85
|
+
*/
|
|
86
|
+
async function encodeCacheArguments(args, getters = "reject") {
|
|
87
|
+
const settled = /* @__PURE__ */ new Map();
|
|
88
|
+
for (;;) {
|
|
89
|
+
const thenableObjects = [];
|
|
90
|
+
const unsettled = [];
|
|
91
|
+
const visited = /* @__PURE__ */ new Set();
|
|
92
|
+
const pending = [args];
|
|
93
|
+
while (pending.length > 0) {
|
|
94
|
+
const value = pending.pop();
|
|
95
|
+
if (typeof value !== "object" || value === null || visited.has(value)) continue;
|
|
96
|
+
visited.add(value);
|
|
97
|
+
const children = flightMembers(value, getters);
|
|
98
|
+
if (isThenableObject(value)) {
|
|
99
|
+
const fields = Object.fromEntries(ownEntries(value, getters));
|
|
100
|
+
thenableObjects.push({
|
|
101
|
+
fields,
|
|
102
|
+
promise: value
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
if (isThenable(value)) {
|
|
106
|
+
const result = settled.get(value);
|
|
107
|
+
if (!result) unsettled.push(value);
|
|
108
|
+
else if (result.status === "fulfilled") children.push(result.value);
|
|
109
|
+
}
|
|
110
|
+
for (const child of children) pending.push(child);
|
|
111
|
+
}
|
|
112
|
+
if (unsettled.length === 0) return {
|
|
113
|
+
args,
|
|
114
|
+
thenableObjects
|
|
115
|
+
};
|
|
116
|
+
const results = await Promise.allSettled(unsettled);
|
|
117
|
+
unsettled.forEach((thenable, index) => settled.set(thenable, results[index]));
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
/** Restore the promise fields that `encodeCacheArguments` captured before Flight encoding. */
|
|
121
|
+
function decodeCacheArguments(value) {
|
|
122
|
+
if (typeof value !== "object" || value === null || !("args" in value) || !Array.isArray(value.args) || !("thenableObjects" in value) || !Array.isArray(value.thenableObjects)) throw new Error("Invalid cache function arguments");
|
|
123
|
+
adoptFlightThenables(value);
|
|
124
|
+
for (const thenableObject of value.thenableObjects) {
|
|
125
|
+
if (!isEncodedThenableObject(thenableObject)) throw new Error("Invalid cache function arguments");
|
|
126
|
+
Object.assign(thenableObject.promise, thenableObject.fields);
|
|
127
|
+
}
|
|
128
|
+
return value.args;
|
|
129
|
+
}
|
|
130
|
+
function isEncodedThenableObject(value) {
|
|
131
|
+
if (typeof value !== "object" || value === null || !isPlainRecord(value)) return false;
|
|
132
|
+
const { fields, promise } = value;
|
|
133
|
+
return typeof fields === "object" && fields !== null && isPlainRecord(fields) && promise instanceof Promise;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Flight decodes promises as React chunks whose own fields are React's
|
|
137
|
+
* internal state. Adopt them into native promises, which have no own fields,
|
|
138
|
+
* so key serialization sees a promise exactly as the original call did.
|
|
139
|
+
* Flight shares one chunk between references to the same promise, so each
|
|
140
|
+
* chunk is adopted once, including references inside resolved values.
|
|
141
|
+
*/
|
|
142
|
+
function adoptFlightThenables(value, adopted = /* @__PURE__ */ new WeakMap()) {
|
|
143
|
+
if (typeof value !== "object" || value === null) return value;
|
|
144
|
+
if (adopted.has(value)) return adopted.get(value);
|
|
145
|
+
if (isThenable(value)) {
|
|
146
|
+
const promise = Promise.resolve(value).then((resolved) => adoptFlightThenables(resolved, adopted));
|
|
147
|
+
promise.catch(() => {});
|
|
148
|
+
adopted.set(value, promise);
|
|
149
|
+
return promise;
|
|
150
|
+
}
|
|
151
|
+
if (value instanceof Map) {
|
|
152
|
+
adopted.set(value, value);
|
|
153
|
+
const entries = [...value];
|
|
154
|
+
value.clear();
|
|
155
|
+
for (const [key, item] of entries) value.set(adoptFlightThenables(key, adopted), adoptFlightThenables(item, adopted));
|
|
156
|
+
return value;
|
|
157
|
+
}
|
|
158
|
+
if (value instanceof Set) {
|
|
159
|
+
adopted.set(value, value);
|
|
160
|
+
const items = [...value];
|
|
161
|
+
value.clear();
|
|
162
|
+
for (const item of items) value.add(adoptFlightThenables(item, adopted));
|
|
163
|
+
return value;
|
|
164
|
+
}
|
|
165
|
+
if (!Array.isArray(value) && !isPlainRecord(value)) return value;
|
|
166
|
+
adopted.set(value, value);
|
|
167
|
+
for (const key of Object.keys(value)) Reflect.set(value, key, adoptFlightThenables(Reflect.get(value, key), adopted));
|
|
168
|
+
return value;
|
|
16
169
|
}
|
|
17
170
|
function isCacheCaptureEnvelope(value) {
|
|
18
171
|
if (typeof value !== "object" || value === null) return false;
|
|
19
172
|
if (!("type" in value) || value.type !== CACHE_CAPTURE_TYPE || !("encrypted" in value)) return false;
|
|
20
173
|
const encrypted = value.encrypted;
|
|
21
|
-
return typeof encrypted === "string" || typeof encrypted === "object" && encrypted !== null &&
|
|
174
|
+
return typeof encrypted === "string" || typeof encrypted === "object" && encrypted !== null && isThenable(encrypted);
|
|
22
175
|
}
|
|
23
176
|
function registerCachedFunction(fn, id, variant, options) {
|
|
24
177
|
return registerCachedFunction$1(fn, id, variant, {
|
|
25
178
|
...options,
|
|
26
|
-
decryptCaptures: decryptCacheCaptures
|
|
179
|
+
decryptCaptures: decryptCacheCaptures,
|
|
180
|
+
encodeInvocationArgs: encryptCacheArguments
|
|
27
181
|
});
|
|
28
182
|
}
|
|
183
|
+
/** Load and invoke one transformed cache function through its server-reference identity. */
|
|
184
|
+
async function invokeCacheFunction(invocation, loadServerAction) {
|
|
185
|
+
const fn = await loadServerAction(invocation.referenceId);
|
|
186
|
+
if (!isUseCacheFunction(fn)) throw new Error(`Server reference ${invocation.referenceId} is not a cache function`);
|
|
187
|
+
await fn(...await decryptCacheArguments(invocation.encryptedArgs));
|
|
188
|
+
}
|
|
29
189
|
//#endregion
|
|
30
|
-
export { encryptCacheCaptures, registerCachedFunction };
|
|
190
|
+
export { decodeCacheArguments, encodeCacheArguments, encryptCacheCaptures, invokeCacheFunction, registerCachedFunction };
|
|
@@ -52,6 +52,5 @@
|
|
|
52
52
|
* factories. Async factories that reject have their cache cleared, allowing retry.
|
|
53
53
|
* @returns A function with the same return type that caches the result per request.
|
|
54
54
|
*/
|
|
55
|
-
declare function cacheForRequest<T>(factory: () => T): () => T;
|
|
56
|
-
//#endregion
|
|
57
|
-
export { cacheForRequest };
|
|
55
|
+
export declare function cacheForRequest<T>(factory: () => T): () => T;
|
|
56
|
+
//#endregion
|