vinext 1.0.0-beta.9 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +150 -92
- package/THIRD_PARTY_LICENSES.md +51 -0
- package/dist/_virtual/_rolldown/runtime.js +25 -0
- package/dist/build/action-owner-manifest.d.ts +8 -9
- package/dist/build/action-owner-manifest.js +23 -5
- package/dist/build/assets-ignore.d.ts +3 -4
- package/dist/build/clean-output.d.ts +2 -3
- package/dist/build/client-build-config.d.ts +40 -12
- package/dist/build/client-build-config.js +76 -6
- package/dist/build/css-url-assets.d.ts +4 -5
- package/dist/build/css-url-assets.js +5 -2
- package/dist/build/google-fonts/build-url.d.ts +3 -4
- package/dist/build/google-fonts/fallback-metrics.d.ts +3 -4
- package/dist/build/google-fonts/find-font-files-in-css.d.ts +2 -3
- package/dist/build/google-fonts/font-metadata.d.ts +2 -3
- package/dist/build/google-fonts/get-axes.d.ts +2 -3
- package/dist/build/google-fonts/sort-variants.d.ts +2 -3
- package/dist/build/google-fonts/validate.d.ts +2 -3
- package/dist/build/google-fonts/validate.js +8 -4
- package/dist/build/inject-pregenerated-paths.d.ts +2 -3
- package/dist/build/inject-pregenerated-paths.js +16 -14
- package/dist/build/inline-css.d.ts +3 -4
- package/dist/build/layout-classification-types.d.ts +4 -5
- package/dist/build/layout-classification.d.ts +7 -8
- package/dist/build/lifecycle.d.ts +42 -0
- package/dist/build/lifecycle.js +253 -0
- package/dist/build/module-dependency-cache.d.ts +2 -3
- package/dist/build/next-client-runtime-manifests.d.ts +4 -5
- package/dist/build/nitro-route-rules.d.ts +6 -7
- package/dist/build/nitro-route-rules.js +1 -1
- package/dist/build/pages-client-assets-module.d.ts +4 -8
- package/dist/build/pages-client-assets-module.js +7 -14
- package/dist/build/precompress.d.ts +2 -3
- package/dist/build/precompress.js +1 -1
- package/dist/build/prerender-cloudflare-loader.d.ts +4 -0
- package/dist/build/prerender-cloudflare-loader.js +49 -0
- package/dist/build/prerender-paths.d.ts +36 -11
- package/dist/build/prerender-paths.js +274 -102
- package/dist/build/prerender-phase.d.ts +2 -3
- package/dist/build/prerender-server-entry.js +11 -3
- package/dist/build/prerender-server-pool.d.ts +9 -6
- package/dist/build/prerender-server-pool.js +8 -5
- package/dist/build/prerender.d.ts +73 -16
- package/dist/build/prerender.js +272 -80
- package/dist/build/preview-credentials.d.ts +5 -6
- package/dist/build/preview-credentials.js +2 -2
- package/dist/build/public-dir-conflict.d.ts +5 -6
- package/dist/build/public-dir-conflict.js +2 -1
- package/dist/build/report.d.ts +24 -20
- package/dist/build/report.js +10 -2
- package/dist/build/route-classification-injector.d.ts +2 -3
- package/dist/build/route-classification-manifest.d.ts +5 -6
- package/dist/build/run-prerender.d.ts +11 -9
- package/dist/build/run-prerender.js +26 -16
- package/dist/build/server-entry.d.ts +6 -0
- package/dist/build/server-entry.js +34 -0
- package/dist/build/server-manifest.d.ts +8 -3
- package/dist/build/server-manifest.js +14 -2
- package/dist/build/ssr-manifest.d.ts +5 -6
- package/dist/build/standalone.d.ts +2 -3
- package/dist/build/standalone.js +2 -2
- package/dist/build/static-export.d.ts +6 -7
- package/dist/cache/cache-adapters-virtual.d.ts +60 -20
- package/dist/cache/cache-adapters-virtual.js +50 -7
- package/dist/check.d.ts +11 -10
- package/dist/check.js +467 -176
- package/dist/cli-args.d.ts +7 -16
- package/dist/cli-args.js +2 -45
- package/dist/cli-dev-config.d.ts +10 -7
- package/dist/cli-dev-config.js +160 -3
- package/dist/cli.js +124 -442
- package/dist/client/app-nav-failure-handler.d.ts +6 -7
- package/dist/client/browser-globals.d.ts +4 -0
- package/dist/client/browser-globals.js +5 -0
- package/dist/client/client-rewrite-matcher.d.ts +2 -3
- package/dist/client/client-rewrites.d.ts +4 -5
- package/dist/client/dev-error-overlay-store.d.ts +13 -14
- package/dist/client/dev-error-overlay.d.ts +15 -15
- package/dist/client/dev-error-overlay.js +8 -5
- package/dist/client/instrumentation-client-inject.d.ts +3 -4
- package/dist/client/instrumentation-client-state.d.ts +5 -6
- package/dist/client/instrumentation-client.d.ts +3 -4
- package/dist/client/navigation-runtime.d.ts +20 -17
- package/dist/client/navigation-runtime.js +4 -3
- package/dist/client/pages-router-link-navigation.d.ts +4 -5
- package/dist/client/react-instance.d.ts +2 -3
- package/dist/client/validate-module-path.d.ts +2 -3
- package/dist/client/vinext-next-data.d.ts +7 -10
- package/dist/client/window-next.d.ts +4 -5
- package/dist/config/config-matchers.d.ts +16 -16
- package/dist/config/config-matchers.js +2 -4
- package/dist/config/dotenv.d.ts +3 -4
- package/dist/config/dotenv.js +14 -2
- package/dist/config/next-config.d.ts +31 -27
- package/dist/config/next-config.js +163 -16
- package/dist/config/prerender.d.ts +20 -16
- package/dist/config/prerender.js +10 -4
- package/dist/config/request-context.d.ts +5 -6
- package/dist/config/server-external-packages.d.ts +14 -3
- package/dist/config/server-external-packages.js +37 -3
- package/dist/config/tsconfig-paths.d.ts +3 -4
- package/dist/deps/.pnpm/ignore@5.3.2/deps/ignore/index.js +189 -0
- package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +1057 -0
- package/dist/entries/app-browser-entry.d.ts +4 -5
- package/dist/entries/app-browser-entry.js +1 -3
- package/dist/entries/app-rsc-entry.d.ts +10 -3
- package/dist/entries/app-rsc-entry.js +503 -51
- package/dist/entries/app-rsc-manifest.d.ts +4 -3
- package/dist/entries/app-rsc-manifest.js +26 -8
- package/dist/entries/app-ssr-entry.d.ts +2 -3
- package/dist/entries/app-ssr-entry.js +8 -1
- package/dist/entries/pages-client-entry.d.ts +3 -3
- package/dist/entries/pages-client-entry.js +17 -2
- package/dist/entries/pages-server-entry.d.ts +13 -3
- package/dist/entries/pages-server-entry.js +234 -33
- package/dist/entries/runtime-entry-module.d.ts +4 -5
- package/dist/image/image-adapters-virtual.d.ts +4 -5
- package/dist/index.d.ts +10 -11
- package/dist/index.js +848 -255
- package/dist/init-cloudflare.d.ts +26 -17
- package/dist/init-cloudflare.js +711 -103
- package/dist/init-platform.d.ts +26 -22
- package/dist/init-platform.js +85 -29
- package/dist/init.d.ts +19 -13
- package/dist/init.js +126 -42
- package/dist/plugins/action-owner-manifest.d.ts +3 -4
- package/dist/plugins/action-owner-manifest.js +10 -3
- package/dist/plugins/ast-scope.d.ts +10 -11
- package/dist/plugins/ast-scope.js +10 -22
- package/dist/plugins/ast-utils.d.ts +16 -29
- package/dist/plugins/ast-utils.js +27 -71
- package/dist/plugins/async-hooks-stub.d.ts +2 -3
- package/dist/plugins/client-reference-dedup.d.ts +4 -5
- package/dist/plugins/commonjs-syntax.d.ts +16 -0
- package/dist/plugins/commonjs-syntax.js +22 -0
- package/dist/plugins/css-data-url.d.ts +2 -3
- package/dist/plugins/css-module-imports.d.ts +3 -4
- package/dist/plugins/css-module-imports.js +1 -1
- package/dist/plugins/dynamic-preload-metadata.d.ts +3 -4
- package/dist/plugins/dynamic-preload-metadata.js +55 -154
- package/dist/plugins/environment.d.ts +2 -3
- package/dist/plugins/extensionless-dynamic-import.d.ts +2 -3
- package/dist/plugins/extensionless-dynamic-import.js +6 -10
- package/dist/plugins/fonts.d.ts +10 -11
- package/dist/plugins/fonts.js +4 -3
- package/dist/plugins/ignore-dynamic-requests.d.ts +14 -4
- package/dist/plugins/ignore-dynamic-requests.js +113 -91
- package/dist/plugins/import-meta-url.d.ts +6 -7
- package/dist/plugins/import-meta-url.js +36 -48
- package/dist/plugins/instrumentation-client.d.ts +3 -3
- package/dist/plugins/instrumentation-client.js +46 -10
- package/dist/plugins/middleware-export-validation.d.ts +3 -4
- package/dist/plugins/middleware-export-validation.js +3 -3
- package/dist/plugins/middleware-server-only.d.ts +2 -3
- package/dist/plugins/og-asset-ownership.d.ts +5 -4
- package/dist/plugins/og-asset-ownership.js +24 -13
- package/dist/plugins/og-assets.d.ts +22 -5
- package/dist/plugins/og-assets.js +82 -21
- package/dist/plugins/og-harfbuzz.d.ts +24 -0
- package/dist/plugins/og-harfbuzz.js +271 -0
- package/dist/plugins/optimize-imports.d.ts +7 -7
- package/dist/plugins/optimize-imports.js +34 -45
- package/dist/plugins/pages-node-externals.d.ts +2 -3
- package/dist/plugins/pages-node-externals.js +6 -11
- package/dist/plugins/postcss.d.ts +8 -4
- package/dist/plugins/postcss.js +1 -1
- package/dist/plugins/remove-console.d.ts +2 -3
- package/dist/plugins/remove-console.js +0 -1
- package/dist/plugins/require-condition-resolution.d.ts +3 -4
- package/dist/plugins/require-condition-resolution.js +17 -18
- package/dist/plugins/require-context.d.ts +3 -3
- package/dist/plugins/require-context.js +41 -22
- package/dist/plugins/rsc-client-reference-loaders.d.ts +2 -3
- package/dist/plugins/rsc-client-shim-excludes.d.ts +4 -5
- package/dist/plugins/rsc-client-shim-excludes.js +1 -0
- package/dist/plugins/rsc-reference-validation-normalizer.d.ts +2 -3
- package/dist/plugins/sass.d.ts +7 -8
- package/dist/plugins/sass.js +7 -4
- package/dist/plugins/scan-build-css.d.ts +12 -0
- package/dist/plugins/scan-build-css.js +39 -0
- package/dist/plugins/server-externals-manifest.d.ts +2 -3
- package/dist/plugins/strip-server-exports.d.ts +7 -6
- package/dist/plugins/strip-server-exports.js +4 -2
- package/dist/plugins/styled-jsx.d.ts +2 -3
- package/dist/plugins/styled-jsx.js +7 -7
- package/dist/plugins/transform-cache.d.ts +2 -3
- package/dist/plugins/transform-result.d.ts +21 -4
- package/dist/plugins/transform-result.js +23 -2
- package/dist/plugins/transitive-externals.d.ts +2 -3
- package/dist/plugins/typeof-window.d.ts +16 -7
- package/dist/plugins/typeof-window.js +62 -39
- package/dist/plugins/use-cache-callable.d.ts +2 -5
- package/dist/plugins/use-cache-callable.js +43 -22
- package/dist/plugins/wasm-module-import.d.ts +2 -3
- package/dist/plugins/worker-image-imports.d.ts +2 -3
- package/dist/plugins/worker-image-imports.js +6 -8
- package/dist/routing/app-route-graph.d.ts +18 -19
- package/dist/routing/app-route-graph.js +5 -6
- package/dist/routing/app-route-ids.d.ts +3 -0
- package/dist/routing/app-route-ids.js +6 -0
- package/dist/routing/app-router.d.ts +19 -6
- package/dist/routing/app-router.js +24 -2
- package/dist/routing/file-matcher.d.ts +9 -10
- package/dist/routing/pages-router.d.ts +6 -6
- package/dist/routing/pages-router.js +1 -1
- package/dist/routing/route-matching.d.ts +4 -5
- package/dist/routing/route-matching.js +4 -2
- package/dist/routing/route-pattern.d.ts +13 -14
- package/dist/routing/route-trie.d.ts +5 -6
- package/dist/routing/route-validation.d.ts +3 -4
- package/dist/routing/route-validation.js +12 -11
- package/dist/routing/utils.d.ts +13 -14
- package/dist/server/accept-encoding.d.ts +9 -10
- package/dist/server/api-handler.d.ts +2 -3
- package/dist/server/api-handler.js +9 -6
- package/dist/server/app-action-forwarding.d.ts +3 -4
- package/dist/server/app-action-forwarding.js +1 -1
- package/dist/server/app-action-request.d.ts +2 -3
- package/dist/server/app-bfcache-id.d.ts +4 -4
- package/dist/server/app-bfcache-id.js +7 -1
- package/dist/server/app-bfcache-identity.d.ts +8 -9
- package/dist/server/app-bfcache-identity.js +1 -2
- package/dist/server/app-browser-action-result.d.ts +15 -16
- package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -3
- package/dist/server/app-browser-entry.js +91 -36
- package/dist/server/app-browser-error.d.ts +5 -6
- package/dist/server/app-browser-error.js +9 -3
- package/dist/server/app-browser-history-controller.d.ts +4 -5
- package/dist/server/app-browser-hydration.d.ts +16 -6
- package/dist/server/app-browser-hydration.js +15 -2
- package/dist/server/app-browser-interception-context.d.ts +3 -4
- package/dist/server/app-browser-mpa-navigation.d.ts +4 -5
- package/dist/server/app-browser-navigation-abort.d.ts +3 -4
- package/dist/server/app-browser-navigation-controller.d.ts +8 -8
- package/dist/server/app-browser-navigation-controller.js +9 -5
- package/dist/server/app-browser-navigation-response.d.ts +2 -3
- package/dist/server/app-browser-popstate.d.ts +4 -5
- package/dist/server/app-browser-prefetch-response.d.ts +5 -6
- package/dist/server/app-browser-rsc-redirect.d.ts +4 -5
- package/dist/server/app-browser-server-action-client.d.ts +7 -6
- package/dist/server/app-browser-server-action-client.js +9 -5
- package/dist/server/app-browser-server-action-navigation.d.ts +2 -3
- package/dist/server/app-browser-state.d.ts +17 -17
- package/dist/server/app-browser-state.js +7 -3
- package/dist/server/app-browser-stream.d.ts +5 -6
- package/dist/server/app-browser-stream.js +8 -6
- package/dist/server/app-browser-supplemental-refresh.d.ts +11 -12
- package/dist/server/app-browser-visible-commit.d.ts +6 -7
- package/dist/server/app-client-reference-preloader.d.ts +2 -3
- package/dist/server/app-elements-wire-key.d.ts +25 -0
- package/dist/server/app-elements-wire-key.js +69 -0
- package/dist/server/app-elements-wire.d.ts +34 -53
- package/dist/server/app-elements-wire.js +4 -75
- package/dist/server/app-elements.d.ts +5 -5
- package/dist/server/app-elements.js +1 -1
- package/dist/server/app-fallback-renderer.d.ts +4 -4
- package/dist/server/app-fallback-renderer.js +6 -6
- package/dist/server/app-fetch-tracing.d.ts +15 -0
- package/dist/server/app-fetch-tracing.js +38 -0
- package/dist/server/app-history-state.d.ts +25 -27
- package/dist/server/app-history-state.js +21 -16
- package/dist/server/app-hook-warning-suppression.d.ts +2 -3
- package/dist/server/app-hydration-cache-publication.d.ts +3 -4
- package/dist/server/app-inline-css-client.d.ts +3 -4
- package/dist/server/app-interception-context-header.d.ts +2 -3
- package/dist/server/app-layout-param-observation.d.ts +7 -8
- package/dist/server/app-metadata-tracing.d.ts +12 -0
- package/dist/server/app-metadata-tracing.js +17 -0
- package/dist/server/app-middleware.d.ts +7 -7
- package/dist/server/app-middleware.js +2 -3
- package/dist/server/app-mounted-slots-header.d.ts +2 -3
- package/dist/server/app-mounted-slots-header.js +2 -2
- package/dist/server/app-optimistic-routing.d.ts +10 -11
- package/dist/server/app-optimistic-routing.js +3 -2
- package/dist/server/app-page-boundary-render.d.ts +6 -6
- package/dist/server/app-page-boundary-render.js +10 -4
- package/dist/server/app-page-boundary.d.ts +9 -10
- package/dist/server/app-page-boundary.js +1 -1
- package/dist/server/app-page-cache-finalizer.d.ts +18 -9
- package/dist/server/app-page-cache-finalizer.js +51 -16
- package/dist/server/app-page-cache-render.d.ts +8 -5
- package/dist/server/app-page-cache-render.js +22 -4
- package/dist/server/app-page-cache.d.ts +28 -9
- package/dist/server/app-page-cache.js +95 -24
- package/dist/server/app-page-dispatch.d.ts +34 -12
- package/dist/server/app-page-dispatch.js +181 -64
- package/dist/server/app-page-element-builder.d.ts +13 -11
- package/dist/server/app-page-element-builder.js +104 -61
- package/dist/server/app-page-execution.d.ts +14 -14
- package/dist/server/app-page-execution.js +11 -7
- package/dist/server/app-page-head.d.ts +19 -16
- package/dist/server/app-page-head.js +25 -25
- package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
- package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
- package/dist/server/app-page-method.d.ts +5 -11
- package/dist/server/app-page-method.js +2 -9
- package/dist/server/app-page-params.d.ts +5 -6
- package/dist/server/app-page-ppr-runtime.d.ts +2 -2
- package/dist/server/app-page-probe.d.ts +5 -6
- package/dist/server/app-page-probe.js +5 -4
- package/dist/server/app-page-render-identity.d.ts +4 -5
- package/dist/server/app-page-render-observation.d.ts +8 -9
- package/dist/server/app-page-render-observation.js +1 -1
- package/dist/server/app-page-render.d.ts +41 -6
- package/dist/server/app-page-render.js +171 -24
- package/dist/server/app-page-request.d.ts +10 -9
- package/dist/server/app-page-request.js +16 -12
- package/dist/server/app-page-response.d.ts +20 -9
- package/dist/server/app-page-response.js +30 -12
- package/dist/server/app-page-route-wiring.d.ts +15 -15
- package/dist/server/app-page-route-wiring.js +31 -24
- package/dist/server/app-page-search-params-observation.d.ts +26 -5
- package/dist/server/app-page-search-params-observation.js +43 -7
- package/dist/server/app-page-segment-plan.d.ts +2 -3
- package/dist/server/app-page-segment-state.d.ts +11 -12
- package/dist/server/app-page-stream.d.ts +27 -11
- package/dist/server/app-page-stream.js +34 -6
- package/dist/server/app-page-tracing.d.ts +33 -0
- package/dist/server/app-page-tracing.js +50 -0
- package/dist/server/app-pages-bridge.d.ts +6 -6
- package/dist/server/app-pages-bridge.js +18 -4
- package/dist/server/app-post-middleware-context.d.ts +2 -3
- package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
- package/dist/server/app-ppr-fallback-shell-render.js +3 -2
- package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
- package/dist/server/app-prerender-endpoints.d.ts +5 -5
- package/dist/server/app-prerender-endpoints.js +3 -1
- package/dist/server/app-prerender-static-params.d.ts +15 -7
- package/dist/server/app-prerender-static-params.js +24 -9
- package/dist/server/app-render-abort-error.d.ts +3 -0
- package/dist/server/app-render-abort-error.js +8 -0
- package/dist/server/app-render-dependency.d.ts +14 -13
- package/dist/server/app-render-dependency.js +5 -1
- package/dist/server/app-request-context.d.ts +3 -4
- package/dist/server/app-request-stage-context.d.ts +5 -0
- package/dist/server/app-request-stage-context.js +11 -0
- package/dist/server/app-request-stage-dispatch.d.ts +25 -0
- package/dist/server/app-request-stage-dispatch.js +54 -0
- package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
- package/dist/server/app-request-stage-independent-entry.js +112 -0
- package/dist/server/app-response-header-provenance.d.ts +13 -7
- package/dist/server/app-response-header-provenance.js +34 -1
- package/dist/server/app-response-stage-entry.d.ts +9 -0
- package/dist/server/app-response-stage-entry.js +87 -0
- package/dist/server/app-route-handler-cache.d.ts +4 -4
- package/dist/server/app-route-handler-cache.js +51 -35
- package/dist/server/app-route-handler-dispatch.d.ts +3 -3
- package/dist/server/app-route-handler-dispatch.js +77 -56
- package/dist/server/app-route-handler-execution.d.ts +26 -14
- package/dist/server/app-route-handler-execution.js +94 -28
- package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
- package/dist/server/app-route-handler-middleware-context.js +15 -0
- package/dist/server/app-route-handler-policy.d.ts +11 -11
- package/dist/server/app-route-handler-policy.js +2 -2
- package/dist/server/app-route-handler-response.d.ts +9 -10
- package/dist/server/app-route-handler-response.js +14 -3
- package/dist/server/app-route-handler-runtime.d.ts +9 -10
- package/dist/server/app-route-handler-runtime.js +20 -16
- package/dist/server/app-route-module-loader.d.ts +6 -7
- package/dist/server/app-route-request-built-ins.d.ts +3 -4
- package/dist/server/app-route-tree-prefetch.d.ts +6 -7
- package/dist/server/app-route-tree-prefetch.js +2 -1
- package/dist/server/app-router-entry.d.ts +4 -1
- package/dist/server/app-router-entry.js +33 -17
- package/dist/server/app-rsc-cache-busting.d.ts +34 -27
- package/dist/server/app-rsc-cache-busting.js +14 -2
- package/dist/server/app-rsc-combined-handler.d.ts +9 -0
- package/dist/server/app-rsc-combined-handler.js +11 -0
- package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
- package/dist/server/app-rsc-error-handler.d.ts +12 -6
- package/dist/server/app-rsc-error-handler.js +15 -6
- package/dist/server/app-rsc-errors.d.ts +11 -9
- package/dist/server/app-rsc-errors.js +14 -16
- package/dist/server/app-rsc-handler.d.ts +32 -6
- package/dist/server/app-rsc-handler.js +425 -64
- package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
- package/dist/server/app-rsc-render-mode.d.ts +8 -9
- package/dist/server/app-rsc-request-normalization.d.ts +3 -3
- package/dist/server/app-rsc-request-normalization.js +5 -3
- package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
- package/dist/server/app-rsc-response-finalizer.js +10 -7
- package/dist/server/app-rsc-response-stage.d.ts +6 -0
- package/dist/server/app-rsc-response-stage.js +251 -0
- package/dist/server/app-rsc-route-matching.d.ts +3 -4
- package/dist/server/app-rsc-route-matching.js +3 -2
- package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
- package/dist/server/app-rsc-vary.d.ts +16 -0
- package/dist/server/app-rsc-vary.js +31 -0
- package/dist/server/app-segment-config.d.ts +119 -7
- package/dist/server/app-segment-config.js +242 -2
- package/dist/server/app-server-action-execution.d.ts +18 -13
- package/dist/server/app-server-action-execution.js +86 -33
- package/dist/server/app-ssr-entry.d.ts +14 -4
- package/dist/server/app-ssr-entry.js +62 -15
- package/dist/server/app-ssr-error-meta.d.ts +3 -4
- package/dist/server/app-ssr-error-meta.js +2 -1
- package/dist/server/app-ssr-router-instance.d.ts +2 -3
- package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
- package/dist/server/app-ssr-search-params-gate.js +54 -0
- package/dist/server/app-ssr-stream.d.ts +13 -9
- package/dist/server/app-ssr-stream.js +34 -8
- package/dist/server/app-static-generation.d.ts +4 -5
- package/dist/server/app-visited-response-cache.d.ts +11 -12
- package/dist/server/app-visited-response-cache.js +2 -2
- package/dist/server/app-worker-stages.d.ts +112 -0
- package/dist/server/app-worker-stages.js +105 -0
- package/dist/server/artifact-compatibility.d.ts +11 -12
- package/dist/server/before-interactive-head.d.ts +2 -3
- package/dist/server/bfcache-identity.d.ts +7 -8
- package/dist/server/cache-control.d.ts +35 -13
- package/dist/server/cache-control.js +64 -6
- package/dist/server/cache-headers.d.ts +3 -4
- package/dist/server/cache-proof.d.ts +75 -70
- package/dist/server/cache-proof.js +9 -1
- package/dist/server/cacheability-limits.d.ts +4 -5
- package/dist/server/cacheability-limits.js +2 -2
- package/dist/server/cacheability-manifest.d.ts +42 -16
- package/dist/server/cacheability-manifest.js +60 -10
- package/dist/server/cacheability-request.d.ts +37 -8
- package/dist/server/cacheability-request.js +192 -90
- package/dist/server/client-reuse-manifest.d.ts +17 -18
- package/dist/server/client-reuse-manifest.js +2 -2
- package/dist/server/client-trace-metadata.d.ts +9 -6
- package/dist/server/client-trace-metadata.js +27 -15
- package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
- package/dist/server/cloudflare-workers-tracing.js +8 -0
- package/dist/server/config-headers.d.ts +19 -5
- package/dist/server/config-headers.js +25 -11
- package/dist/server/cookie-utils.d.ts +2 -3
- package/dist/server/csp.d.ts +5 -6
- package/dist/server/default-global-error-module.d.ts +2 -3
- package/dist/server/default-global-not-found-module.d.ts +2 -3
- package/dist/server/default-not-found-module.d.ts +2 -3
- package/dist/server/defer-until-stream-consumed.d.ts +2 -3
- package/dist/server/defer-until-stream-consumed.js +2 -1
- package/dist/server/dev-initial-server-error.d.ts +3 -4
- package/dist/server/dev-initial-server-error.js +2 -1
- package/dist/server/dev-lockfile.d.ts +7 -8
- package/dist/server/dev-lockfile.js +4 -1
- package/dist/server/dev-module-runner.d.ts +2 -3
- package/dist/server/dev-origin-check.d.ts +5 -6
- package/dist/server/dev-route-files.d.ts +2 -3
- package/dist/server/dev-server.d.ts +4 -5
- package/dist/server/dev-server.js +141 -64
- package/dist/server/dev-stack-sourcemap.d.ts +7 -7
- package/dist/server/dev-stack-sourcemap.js +1 -1
- package/dist/server/document-initial-head.d.ts +3 -4
- package/dist/server/edge-api-runtime.d.ts +4 -5
- package/dist/server/fetch-handler.d.ts +3 -2
- package/dist/server/fetch-handler.js +3 -18
- package/dist/server/file-based-metadata.d.ts +2 -3
- package/dist/server/framework-tracer.d.ts +46 -0
- package/dist/server/framework-tracer.js +125 -0
- package/dist/server/fully-buffered-response.d.ts +11 -0
- package/dist/server/fully-buffered-response.js +19 -0
- package/dist/server/headers.d.ts +56 -61
- package/dist/server/headers.js +22 -31
- package/dist/server/html.d.ts +6 -27
- package/dist/server/html.js +16 -1
- package/dist/server/http-conditional.d.ts +5 -6
- package/dist/server/http-date.d.ts +2 -3
- package/dist/server/http-error-responses.d.ts +9 -10
- package/dist/server/http-error-responses.js +1 -0
- package/dist/server/http-range.d.ts +4 -5
- package/dist/server/hybrid-route-priority.d.ts +4 -5
- package/dist/server/image-optimization.d.ts +20 -21
- package/dist/server/implicit-tags.d.ts +3 -4
- package/dist/server/instrumentation-runtime.d.ts +17 -21
- package/dist/server/instrumentation-runtime.js +26 -8
- package/dist/server/instrumentation.d.ts +26 -30
- package/dist/server/instrumentation.js +18 -23
- package/dist/server/isr-cache.d.ts +30 -27
- package/dist/server/isr-cache.js +23 -70
- package/dist/server/isr-decision.d.ts +4 -4
- package/dist/server/metadata-route-build-data.d.ts +4 -5
- package/dist/server/metadata-route-response.d.ts +7 -7
- package/dist/server/metadata-route-response.js +158 -35
- package/dist/server/metadata-routes.d.ts +18 -19
- package/dist/server/middleware-matcher-pattern.d.ts +6 -7
- package/dist/server/middleware-matcher.d.ts +6 -7
- package/dist/server/middleware-path-to-regexp.d.ts +6 -7
- package/dist/server/middleware-path-to-regexp.js +11 -9
- package/dist/server/middleware-response-headers.d.ts +3 -4
- package/dist/server/middleware-runtime.d.ts +7 -8
- package/dist/server/middleware-runtime.js +36 -7
- package/dist/server/middleware.d.ts +5 -5
- package/dist/server/multi-stage.d.ts +141 -0
- package/dist/server/multi-stage.js +8 -0
- package/dist/server/navigation-planner.d.ts +26 -26
- package/dist/server/navigation-trace.d.ts +11 -12
- package/dist/server/next-error-digest.d.ts +4 -5
- package/dist/server/normalize-path.d.ts +5 -6
- package/dist/server/open-redirect.d.ts +2 -3
- package/dist/server/opentelemetry-api.d.ts +59 -0
- package/dist/server/opentelemetry-api.js +53 -0
- package/dist/server/opentelemetry-tracing.d.ts +5 -0
- package/dist/server/opentelemetry-tracing.js +83 -0
- package/dist/server/operation-token.d.ts +11 -12
- package/dist/server/otel-tracer-extension.d.ts +7 -9
- package/dist/server/otel-tracer-extension.js +37 -36
- package/dist/server/pages-api-route.d.ts +5 -4
- package/dist/server/pages-api-route.js +28 -9
- package/dist/server/pages-asset-tags.d.ts +7 -6
- package/dist/server/pages-asset-tags.js +104 -18
- package/dist/server/pages-body-parser-config.d.ts +4 -5
- package/dist/server/pages-body-parser-config.js +4 -4
- package/dist/server/pages-client-assets.d.ts +13 -5
- package/dist/server/pages-data-route.d.ts +11 -12
- package/dist/server/pages-data-route.js +1 -1
- package/dist/server/pages-default-404.d.ts +3 -4
- package/dist/server/pages-dev-hydration.d.ts +9 -4
- package/dist/server/pages-dev-hydration.js +19 -7
- package/dist/server/pages-dev-module-url.d.ts +3 -4
- package/dist/server/pages-dev-stylesheets.d.ts +5 -6
- package/dist/server/pages-document-asset-props.d.ts +6 -7
- package/dist/server/pages-document-initial-props.d.ts +5 -5
- package/dist/server/pages-document-initial-props.js +4 -2
- package/dist/server/pages-execution-tracing.d.ts +40 -0
- package/dist/server/pages-execution-tracing.js +80 -0
- package/dist/server/pages-get-initial-props.d.ts +9 -10
- package/dist/server/pages-i18n.d.ts +8 -8
- package/dist/server/pages-media-type.d.ts +4 -5
- package/dist/server/pages-node-compat.d.ts +11 -10
- package/dist/server/pages-node-compat.js +12 -4
- package/dist/server/pages-page-data.d.ts +23 -19
- package/dist/server/pages-page-data.js +82 -75
- package/dist/server/pages-page-handler.d.ts +7 -6
- package/dist/server/pages-page-handler.js +103 -47
- package/dist/server/pages-page-method.d.ts +2 -3
- package/dist/server/pages-page-response.d.ts +14 -10
- package/dist/server/pages-page-response.js +52 -32
- package/dist/server/pages-preview.d.ts +10 -11
- package/dist/server/pages-readiness.d.ts +2 -3
- package/dist/server/pages-request-pipeline.d.ts +15 -12
- package/dist/server/pages-request-pipeline.js +80 -35
- package/dist/server/pages-request-stage-entry.d.ts +23 -0
- package/dist/server/pages-request-stage-entry.js +316 -0
- package/dist/server/pages-response-stage-entry.d.ts +11 -0
- package/dist/server/pages-response-stage-entry.js +106 -0
- package/dist/server/pages-response-stage.d.ts +31 -0
- package/dist/server/pages-response-stage.js +49 -0
- package/dist/server/pages-revalidate.d.ts +3 -4
- package/dist/server/pages-revalidate.js +9 -4
- package/dist/server/pages-route-data-kind.d.ts +18 -0
- package/dist/server/pages-route-data-kind.js +11 -0
- package/dist/server/pages-router-entry.d.ts +1 -25
- package/dist/server/pages-router-entry.js +35 -148
- package/dist/server/pages-serializable-props.d.ts +3 -4
- package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
- package/dist/server/pregenerated-concrete-paths.js +12 -6
- package/dist/server/prerender-cache-life-header.d.ts +3 -4
- package/dist/server/prerender-manifest.d.ts +17 -11
- package/dist/server/prerender-manifest.js +7 -4
- package/dist/server/prerender-route-params.d.ts +16 -9
- package/dist/server/prerender-route-params.js +18 -3
- package/dist/server/prerender-work-unit-setup.d.ts +2 -3
- package/dist/server/prerender-work-unit-setup.js +5 -5
- package/dist/server/prod-server.d.ts +12 -9
- package/dist/server/prod-server.js +127 -44
- package/dist/server/proxy-trust.d.ts +5 -6
- package/dist/server/request-log.d.ts +3 -4
- package/dist/server/request-pipeline.d.ts +16 -16
- package/dist/server/request-pipeline.js +7 -2
- package/dist/server/request-stage.d.ts +5 -0
- package/dist/server/request-stage.js +7 -0
- package/dist/server/request-tracing.d.ts +22 -0
- package/dist/server/request-tracing.js +180 -0
- package/dist/server/response-stage-cacheability.d.ts +37 -0
- package/dist/server/response-stage-cacheability.js +55 -0
- package/dist/server/response-stage-policy.d.ts +23 -0
- package/dist/server/response-stage-policy.js +89 -0
- package/dist/server/response-stage.d.ts +5 -0
- package/dist/server/response-stage.js +7 -0
- package/dist/server/response-start-tracing.d.ts +14 -0
- package/dist/server/response-start-tracing.js +80 -0
- package/dist/server/revalidation-host.d.ts +2 -3
- package/dist/server/revalidation-host.js +1 -1
- package/dist/server/revalidation-request.d.ts +8 -0
- package/dist/server/revalidation-request.js +37 -0
- package/dist/server/rsc-completion-metadata.d.ts +6 -7
- package/dist/server/rsc-stream-hints.d.ts +18 -7
- package/dist/server/rsc-stream-hints.js +70 -35
- package/dist/server/seed-cache.d.ts +2 -3
- package/dist/server/seed-cache.js +8 -7
- package/dist/server/server-action-not-found.d.ts +5 -6
- package/dist/server/server-globals.d.ts +2 -3
- package/dist/server/skip-cache-proof.d.ts +4 -4
- package/dist/server/socket-error-backstop.d.ts +5 -6
- package/dist/server/socket-error-backstop.js +1 -1
- package/dist/server/static-file-cache.d.ts +5 -6
- package/dist/server/static-file-cache.js +9 -7
- package/dist/server/static-file-signal.d.ts +9 -6
- package/dist/server/static-file-signal.js +51 -2
- package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
- package/dist/server/streaming-metadata.d.ts +2 -3
- package/dist/server/tracer.d.ts +5 -0
- package/dist/server/tracer.js +13 -0
- package/dist/server/worker-prerender-discovery.d.ts +5 -6
- package/dist/server/worker-revalidation-context.d.ts +4 -4
- package/dist/server/worker-revalidation-context.js +6 -5
- package/dist/server/worker-stages.d.ts +43 -0
- package/dist/server/worker-stages.js +25 -0
- package/dist/server/worker-utils.d.ts +5 -6
- package/dist/server/worker-utils.js +2 -1
- package/dist/server/workers-tracing.d.ts +34 -0
- package/dist/server/workers-tracing.js +67 -0
- package/dist/shims/amp.d.ts +3 -4
- package/dist/shims/app-router-scroll-state.d.ts +9 -10
- package/dist/shims/app-router-scroll.d.ts +4 -5
- package/dist/shims/app-router-scroll.js +2 -1
- package/dist/shims/app.d.ts +5 -6
- package/dist/shims/before-interactive-context.d.ts +5 -6
- package/dist/shims/cache-callable-runtime.d.ts +44 -4
- package/dist/shims/cache-callable-runtime.js +168 -8
- package/dist/shims/cache-for-request.d.ts +2 -3
- package/dist/shims/cache-handler.d.ts +33 -20
- package/dist/shims/cache-handler.js +61 -2
- package/dist/shims/cache-request-state.d.ts +26 -38
- package/dist/shims/cache-request-state.js +2 -13
- package/dist/shims/cache-runtime.d.ts +23 -21
- package/dist/shims/cache-runtime.js +110 -28
- package/dist/shims/cache.d.ts +17 -16
- package/dist/shims/cache.js +19 -15
- package/dist/shims/cacheability-classification.d.ts +50 -29
- package/dist/shims/cacheability-classification.js +29 -14
- package/dist/shims/cdn-cache-state.d.ts +13 -0
- package/dist/shims/cdn-cache-state.js +23 -0
- package/dist/shims/cdn-cache.d.ts +59 -21
- package/dist/shims/cdn-cache.js +31 -47
- package/dist/shims/client-hook-error.d.ts +3 -4
- package/dist/shims/client-locale.d.ts +2 -3
- package/dist/shims/client-page-root.d.ts +24 -0
- package/dist/shims/client-page-root.js +121 -0
- package/dist/shims/compat-router.d.ts +2 -3
- package/dist/shims/config.d.ts +3 -4
- package/dist/shims/constants.d.ts +73 -74
- package/dist/shims/constants.js +1 -1
- package/dist/shims/default-not-found.d.ts +2 -3
- package/dist/shims/document.d.ts +9 -9
- package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
- package/dist/shims/dynamic-preload-chunks.js +17 -13
- package/dist/shims/dynamic.d.ts +3 -3
- package/dist/shims/error-boundary-navigation.d.ts +3 -4
- package/dist/shims/error-boundary.d.ts +17 -18
- package/dist/shims/error-boundary.js +17 -11
- package/dist/shims/error.d.ts +5 -19
- package/dist/shims/error.js +17 -10
- package/dist/shims/error.react-server.d.ts +4 -7
- package/dist/shims/error.react-server.js +4 -1
- package/dist/shims/fetch-cache.d.ts +22 -22
- package/dist/shims/fetch-cache.js +46 -20
- package/dist/shims/font-google-base.d.ts +9 -9
- package/dist/shims/font-google-base.js +2 -1
- package/dist/shims/font-local.d.ts +3 -3
- package/dist/shims/font-local.js +1 -1
- package/dist/shims/font-utils.d.ts +14 -15
- package/dist/shims/form.d.ts +2 -2
- package/dist/shims/form.js +10 -7
- package/dist/shims/hash-scroll.d.ts +5 -6
- package/dist/shims/head-state.d.ts +4 -5
- package/dist/shims/head.d.ts +16 -16
- package/dist/shims/head.js +5 -4
- package/dist/shims/headers.d.ts +44 -73
- package/dist/shims/headers.js +87 -144
- package/dist/shims/i18n-context.d.ts +5 -6
- package/dist/shims/i18n-state.d.ts +4 -5
- package/dist/shims/image-config.d.ts +5 -6
- package/dist/shims/image-config.js +2 -0
- package/dist/shims/image.d.ts +5 -5
- package/dist/shims/image.js +12 -8
- package/dist/shims/internal/als-registry.d.ts +4 -5
- package/dist/shims/internal/api-utils.d.ts +3 -4
- package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
- package/dist/shims/internal/app-page-props-cache-key.js +53 -1
- package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
- package/dist/shims/internal/app-prefetch-rsc-request.d.ts +5 -17
- package/dist/shims/internal/app-prefetch-rsc-request.js +5 -14
- package/dist/shims/internal/app-route-detection.d.ts +2 -2
- package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -8
- package/dist/shims/internal/app-route-prefetch-policy.js +0 -1
- package/dist/shims/internal/app-router-context.d.ts +9 -10
- package/dist/shims/internal/cache-context-accessor.d.ts +16 -0
- package/dist/shims/internal/cache-context-accessor.js +15 -0
- package/dist/shims/internal/cookie-serialize.d.ts +4 -5
- package/dist/shims/internal/format-url-object.d.ts +7 -0
- package/dist/shims/internal/format-url-object.js +53 -0
- package/dist/shims/internal/headers-state.d.ts +74 -0
- package/dist/shims/internal/headers-state.js +157 -0
- package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
- package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
- package/dist/shims/internal/hybrid-client-route-owner.js +3 -2
- package/dist/shims/internal/interpolate-as.d.ts +5 -6
- package/dist/shims/internal/interpolate-as.js +4 -2
- package/dist/shims/internal/link-status-registry.d.ts +5 -6
- package/dist/shims/internal/make-hanging-promise.d.ts +3 -4
- package/dist/shims/internal/navigation-untracked.d.ts +2 -3
- package/dist/shims/internal/normalize-router-href.d.ts +15 -0
- package/dist/shims/internal/normalize-router-href.js +41 -0
- package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
- package/dist/shims/internal/pages-data-target.d.ts +8 -6
- package/dist/shims/internal/pages-data-target.js +32 -36
- package/dist/shims/internal/pages-data-url.d.ts +4 -5
- package/dist/shims/internal/pages-data-url.js +2 -1
- package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
- package/dist/shims/internal/pages-router-components.d.ts +3 -4
- package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
- package/dist/shims/internal/route-pattern-for-warning.js +3 -3
- package/dist/shims/internal/router-context.d.ts +2 -3
- package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
- package/dist/shims/internal/thenable-well-known-properties.js +33 -0
- package/dist/shims/internal/utils.d.ts +7 -8
- package/dist/shims/internal/work-unit-async-storage.d.ts +10 -11
- package/dist/shims/layout-segment-context.d.ts +3 -4
- package/dist/shims/link-prefetch.d.ts +9 -10
- package/dist/shims/link.d.ts +4 -4
- package/dist/shims/link.js +56 -116
- package/dist/shims/metadata.d.ts +15 -16
- package/dist/shims/metadata.js +40 -36
- package/dist/shims/navigation-context-accessors.d.ts +9 -0
- package/dist/shims/navigation-context-accessors.js +19 -0
- package/dist/shims/navigation-context-state.d.ts +27 -18
- package/dist/shims/navigation-errors.d.ts +18 -19
- package/dist/shims/navigation-state.d.ts +6 -7
- package/dist/shims/navigation.d.ts +80 -68
- package/dist/shims/navigation.js +26 -18
- package/dist/shims/navigation.react-server.d.ts +9 -9
- package/dist/shims/offline.d.ts +2 -3
- package/dist/shims/og.d.ts +2 -2
- package/dist/shims/pages-router-runtime.d.ts +4 -5
- package/dist/shims/ppr-fallback-shell.d.ts +13 -14
- package/dist/shims/readonly-url-search-params.d.ts +2 -3
- package/dist/shims/request-context.d.ts +5 -6
- package/dist/shims/request-state-types.d.ts +2 -1
- package/dist/shims/root-params.d.ts +14 -15
- package/dist/shims/root-params.js +1 -1
- package/dist/shims/router-state.d.ts +5 -6
- package/dist/shims/router-state.js +1 -1
- package/dist/shims/router.d.ts +22 -21
- package/dist/shims/router.js +339 -164
- package/dist/shims/script-nonce-context.d.ts +8 -6
- package/dist/shims/script-nonce-context.js +15 -6
- package/dist/shims/script.d.ts +4 -4
- package/dist/shims/script.js +9 -7
- package/dist/shims/search-params-gate.d.ts +35 -0
- package/dist/shims/search-params-gate.js +32 -0
- package/dist/shims/server.d.ts +19 -51
- package/dist/shims/server.js +66 -30
- package/dist/shims/slot.d.ts +33 -15
- package/dist/shims/slot.js +41 -9
- package/dist/shims/streamed-icons.d.ts +3 -4
- package/dist/shims/thenable-params.d.ts +5 -7
- package/dist/shims/thenable-params.js +3 -24
- package/dist/shims/unified-request-context.d.ts +35 -32
- package/dist/shims/unified-request-context.js +34 -24
- package/dist/shims/unrecognized-action-error.d.ts +3 -4
- package/dist/shims/url-safety.d.ts +5 -6
- package/dist/shims/url-utils.d.ts +12 -13
- package/dist/shims/use-merged-ref.d.ts +2 -3
- package/dist/shims/user-agent.d.ts +31 -0
- package/dist/shims/user-agent.js +16 -0
- package/dist/shims/web-vitals.d.ts +2 -2
- package/dist/typegen.d.ts +3 -4
- package/dist/utils/asset-prefix.d.ts +7 -8
- package/dist/utils/base-path.d.ts +5 -6
- package/dist/utils/built-asset-url.d.ts +2 -3
- package/dist/utils/built-asset-url.js +1 -1
- package/dist/utils/cache-control-metadata.d.ts +4 -5
- package/dist/utils/client-build-manifest.d.ts +6 -7
- package/dist/utils/client-build-manifest.js +2 -1
- package/dist/utils/client-entry-manifest.d.ts +6 -7
- package/dist/utils/client-runtime-metadata.d.ts +8 -3
- package/dist/utils/client-runtime-metadata.js +18 -1
- package/dist/utils/commonjs-loader.d.ts +4 -5
- package/dist/utils/compare.d.ts +2 -3
- package/dist/utils/deployment-id.d.ts +6 -7
- package/dist/utils/dev-error-recovery-event.d.ts +2 -3
- package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
- package/dist/utils/domain-locale.d.ts +7 -8
- package/dist/utils/encode-cache-tag.d.ts +4 -4
- package/dist/utils/encode-cache-tag.js +11 -1
- package/dist/utils/error-cause.d.ts +2 -3
- package/dist/utils/external-url.d.ts +2 -3
- package/dist/utils/has-trailing-comma.d.ts +3 -4
- package/dist/utils/hash.d.ts +3 -4
- package/dist/utils/html-limited-bots.d.ts +3 -4
- package/dist/utils/lazy-chunks.d.ts +8 -9
- package/dist/utils/lazy-chunks.js +4 -4
- package/dist/utils/manifest-paths.d.ts +5 -6
- package/dist/utils/mdx-scan.d.ts +11 -4
- package/dist/utils/mdx-scan.js +27 -1
- package/dist/utils/middleware-request-headers.d.ts +7 -6
- package/dist/utils/middleware-request-headers.js +6 -1
- package/dist/utils/navigation-signal.d.ts +3 -3
- package/dist/utils/navigation-signal.js +16 -1
- package/dist/utils/number.d.ts +2 -3
- package/dist/utils/package-name.d.ts +3 -4
- package/dist/utils/parse-cookie.d.ts +4 -5
- package/dist/utils/path.d.ts +8 -9
- package/dist/utils/plugin-options.d.ts +2 -3
- package/dist/utils/precompressed-variant.d.ts +3 -4
- package/dist/utils/prerender-output-paths.d.ts +4 -5
- package/dist/utils/project.d.ts +19 -30
- package/dist/utils/project.js +20 -29
- package/dist/utils/promise.d.ts +2 -3
- package/dist/utils/protocol-headers.d.ts +14 -15
- package/dist/utils/public-file-path.d.ts +2 -3
- package/dist/utils/public-routes.d.ts +2 -3
- package/dist/utils/query.d.ts +14 -9
- package/dist/utils/query.js +22 -1
- package/dist/utils/react-compiler-support.d.ts +6 -7
- package/dist/utils/react-version.d.ts +4 -3
- package/dist/utils/react-version.js +19 -1
- package/dist/utils/record.d.ts +2 -3
- package/dist/utils/redirect-digest.d.ts +3 -4
- package/dist/utils/regex-safety.d.ts +4 -5
- package/dist/utils/regex.d.ts +2 -3
- package/dist/utils/safe-json-file.d.ts +2 -3
- package/dist/utils/sorted-array.d.ts +2 -3
- package/dist/utils/text-stream.d.ts +3 -4
- package/dist/utils/vinext-root.d.ts +2 -3
- package/dist/utils/virtual-module.d.ts +3 -4
- package/dist/utils/vite-cli-invocation.d.ts +21 -0
- package/dist/utils/vite-cli-invocation.js +151 -0
- package/dist/utils/vite-version.d.ts +5 -6
- package/next-package.json +4 -0
- package/package.json +51 -6
- package/dist/server/metadata-route-cache-policy.d.ts +0 -6
- package/dist/server/metadata-route-cache-policy.js +0 -6
|
@@ -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
|
|
@@ -94,7 +94,8 @@ async function resolveStaticAssetSignal(signalResponse, options) {
|
|
|
94
94
|
const extraHeaders = buildHeaderRecord(signalResponse, [
|
|
95
95
|
"content-encoding",
|
|
96
96
|
"content-length",
|
|
97
|
-
"content-type"
|
|
97
|
+
"content-type",
|
|
98
|
+
"transfer-encoding"
|
|
98
99
|
]);
|
|
99
100
|
cancelResponseBody(signalResponse);
|
|
100
101
|
const assetResponse = await options.fetchAsset(assetPath);
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { FrameworkTracingIntegration } from "./framework-tracer.js";
|
|
2
|
+
//#region src/server/workers-tracing.d.ts
|
|
3
|
+
export type WorkersTracingException = string | {
|
|
4
|
+
code: string | number;
|
|
5
|
+
name?: string;
|
|
6
|
+
message?: string;
|
|
7
|
+
stack?: string;
|
|
8
|
+
} | {
|
|
9
|
+
code?: string | number;
|
|
10
|
+
name: string;
|
|
11
|
+
message?: string;
|
|
12
|
+
stack?: string;
|
|
13
|
+
} | {
|
|
14
|
+
code?: string | number;
|
|
15
|
+
name?: string;
|
|
16
|
+
message: string;
|
|
17
|
+
stack?: string;
|
|
18
|
+
};
|
|
19
|
+
export type WorkersTracingSpan = {
|
|
20
|
+
readonly isTraced: boolean;
|
|
21
|
+
recordException?(exception: WorkersTracingException): void;
|
|
22
|
+
setAttribute(key: string, value: boolean | number | string): void;
|
|
23
|
+
setStatus?(status: {
|
|
24
|
+
code: "error";
|
|
25
|
+
message?: string;
|
|
26
|
+
}): void;
|
|
27
|
+
updateName?(name: string): void;
|
|
28
|
+
};
|
|
29
|
+
export type WorkersTracing = {
|
|
30
|
+
enterSpan<T>(name: string, callback: (span: WorkersTracingSpan) => T): T;
|
|
31
|
+
getActiveSpan?(): WorkersTracingSpan | undefined;
|
|
32
|
+
};
|
|
33
|
+
export declare function createWorkersTracingIntegration(tracing: WorkersTracing): FrameworkTracingIntegration;
|
|
34
|
+
//#endregion
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
//#region src/server/workers-tracing.ts
|
|
2
|
+
function readExceptionField(error, key) {
|
|
3
|
+
try {
|
|
4
|
+
return Reflect.get(error, key);
|
|
5
|
+
} catch {
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
function normalizeException(error) {
|
|
10
|
+
if (typeof error === "string") return error;
|
|
11
|
+
if (error && typeof error === "object") {
|
|
12
|
+
const code = readExceptionField(error, "code");
|
|
13
|
+
const name = readExceptionField(error, "name");
|
|
14
|
+
const message = readExceptionField(error, "message");
|
|
15
|
+
const stack = readExceptionField(error, "stack");
|
|
16
|
+
const details = {
|
|
17
|
+
...typeof name === "string" ? { name } : {},
|
|
18
|
+
...typeof message === "string" ? { message } : {},
|
|
19
|
+
...typeof stack === "string" ? { stack } : {}
|
|
20
|
+
};
|
|
21
|
+
if (typeof code === "string" || typeof code === "number") return {
|
|
22
|
+
...details,
|
|
23
|
+
code
|
|
24
|
+
};
|
|
25
|
+
if (typeof name === "string") return {
|
|
26
|
+
...details,
|
|
27
|
+
name
|
|
28
|
+
};
|
|
29
|
+
if (typeof message === "string") return {
|
|
30
|
+
...details,
|
|
31
|
+
message
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
try {
|
|
35
|
+
return String(error);
|
|
36
|
+
} catch {
|
|
37
|
+
return "Unknown exception";
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function createWorkersTracingIntegration(tracing) {
|
|
41
|
+
const backendSpan = (span) => ({
|
|
42
|
+
recordException: (error) => {
|
|
43
|
+
if (span.isTraced) span.recordException?.(normalizeException(error));
|
|
44
|
+
},
|
|
45
|
+
setAttribute: (key, value) => span.setAttribute(key, value),
|
|
46
|
+
setErrorStatus: (message) => span.setStatus?.({
|
|
47
|
+
code: "error",
|
|
48
|
+
message
|
|
49
|
+
}),
|
|
50
|
+
updateName: (name) => span.updateName?.(name)
|
|
51
|
+
});
|
|
52
|
+
return {
|
|
53
|
+
id: "cloudflare-workers",
|
|
54
|
+
getActiveSpan() {
|
|
55
|
+
const span = tracing.getActiveSpan?.();
|
|
56
|
+
return span ? backendSpan(span) : void 0;
|
|
57
|
+
},
|
|
58
|
+
enterSpan(descriptor, callback) {
|
|
59
|
+
return tracing.enterSpan(descriptor.name, (span) => {
|
|
60
|
+
for (const [key, value] of Object.entries(descriptor.attributes)) span.setAttribute(key, value);
|
|
61
|
+
return callback(backendSpan(span));
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
//#endregion
|
|
67
|
+
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
|