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
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { OperationLane } from "./operation-token.js";
|
|
2
2
|
import { ServerActionResultFacts } from "./navigation-planner.js";
|
|
3
3
|
//#region src/server/app-browser-action-result.d.ts
|
|
4
|
-
type AppBrowserServerActionResult<TRoot> = {
|
|
4
|
+
export type AppBrowserServerActionResult<TRoot> = {
|
|
5
5
|
root?: TRoot;
|
|
6
6
|
returnValue?: {
|
|
7
7
|
ok: boolean;
|
|
8
8
|
data: unknown;
|
|
9
9
|
};
|
|
10
10
|
};
|
|
11
|
-
type ServerActionRevalidationKind = "dynamicOnly" | "none" | "staticAndDynamic";
|
|
11
|
+
export type ServerActionRevalidationKind = "dynamicOnly" | "none" | "staticAndDynamic";
|
|
12
12
|
type ServerActionInitiationSnapshot<TRouterState> = {
|
|
13
13
|
href: string;
|
|
14
14
|
navigationId: number;
|
|
@@ -21,14 +21,14 @@ type ServerActionInitiationSnapshot<TRouterState> = {
|
|
|
21
21
|
* `slot:`, `__route`, etc.) and will never collide with these property names.
|
|
22
22
|
* If the wire format ever adds a `"root"` key, this guard must be updated.
|
|
23
23
|
*/
|
|
24
|
-
declare function isServerActionResult<TRoot>(value: unknown): value is AppBrowserServerActionResult<TRoot>;
|
|
25
|
-
declare function shouldClearClientNavigationCachesForServerActionResult<TRoot>(result: AppBrowserServerActionResult<TRoot> | TRoot, revalidation?: ServerActionRevalidationKind): boolean;
|
|
26
|
-
declare function parseServerActionRevalidationHeader(headers: Pick<Headers, "get">): ServerActionRevalidationKind;
|
|
27
|
-
declare function resolveServerActionOperationLane(revalidation: ServerActionRevalidationKind): Extract<OperationLane, "refresh" | "server-action">;
|
|
28
|
-
declare function normalizeServerActionThrownValue(data: unknown, responseStatus: number): unknown;
|
|
29
|
-
declare function shouldSyncServerActionHttpFallbackHead<TRoot>(result: AppBrowserServerActionResult<TRoot> | TRoot): boolean;
|
|
30
|
-
declare function readInvalidServerActionResponseError(response: Pick<Response, "headers" | "status" | "text">, hasRedirectLocation: boolean): Promise<Error | null>;
|
|
31
|
-
type ServerActionResultResponseFactsInput = {
|
|
24
|
+
export declare function isServerActionResult<TRoot>(value: unknown): value is AppBrowserServerActionResult<TRoot>;
|
|
25
|
+
export declare function shouldClearClientNavigationCachesForServerActionResult<TRoot>(result: AppBrowserServerActionResult<TRoot> | TRoot, revalidation?: ServerActionRevalidationKind): boolean;
|
|
26
|
+
export declare function parseServerActionRevalidationHeader(headers: Pick<Headers, "get">): ServerActionRevalidationKind;
|
|
27
|
+
export declare function resolveServerActionOperationLane(revalidation: ServerActionRevalidationKind): Extract<OperationLane, "refresh" | "server-action">;
|
|
28
|
+
export declare function normalizeServerActionThrownValue(data: unknown, responseStatus: number): unknown;
|
|
29
|
+
export declare function shouldSyncServerActionHttpFallbackHead<TRoot>(result: AppBrowserServerActionResult<TRoot> | TRoot): boolean;
|
|
30
|
+
export declare function readInvalidServerActionResponseError(response: Pick<Response, "headers" | "status" | "text">, hasRedirectLocation: boolean): Promise<Error | null>;
|
|
31
|
+
export type ServerActionResultResponseFactsInput = {
|
|
32
32
|
actionRedirectHref: string | null;
|
|
33
33
|
actionRedirectType: string | null;
|
|
34
34
|
clientCompatibilityId: string | null;
|
|
@@ -44,9 +44,9 @@ type ServerActionResultResponseFactsInput = {
|
|
|
44
44
|
* normalisation and RSC content-type detection happen for server-action
|
|
45
45
|
* compatibility checks.
|
|
46
46
|
*/
|
|
47
|
-
declare function createServerActionResultFacts(input: ServerActionResultResponseFactsInput): ServerActionResultFacts;
|
|
48
|
-
declare function shouldScheduleRefreshForDiscardedServerAction(revalidation: ServerActionRevalidationKind): boolean;
|
|
49
|
-
declare function createServerActionInitiationSnapshot<TRouterState>(options: {
|
|
47
|
+
export declare function createServerActionResultFacts(input: ServerActionResultResponseFactsInput): ServerActionResultFacts;
|
|
48
|
+
export declare function shouldScheduleRefreshForDiscardedServerAction(revalidation: ServerActionRevalidationKind): boolean;
|
|
49
|
+
export declare function createServerActionInitiationSnapshot<TRouterState>(options: {
|
|
50
50
|
href: string;
|
|
51
51
|
navigationId: number;
|
|
52
52
|
origin?: string;
|
|
@@ -61,6 +61,5 @@ type DiscardedServerActionRefreshSchedulerOptions = {
|
|
|
61
61
|
queueTask?: (callback: () => void) => void;
|
|
62
62
|
runRefresh: () => void;
|
|
63
63
|
};
|
|
64
|
-
declare function createDiscardedServerActionRefreshScheduler(options: DiscardedServerActionRefreshSchedulerOptions): DiscardedServerActionRefreshScheduler;
|
|
65
|
-
//#endregion
|
|
66
|
-
export { AppBrowserServerActionResult, ServerActionResultResponseFactsInput, ServerActionRevalidationKind, createDiscardedServerActionRefreshScheduler, createServerActionInitiationSnapshot, createServerActionResultFacts, isServerActionResult, normalizeServerActionThrownValue, parseServerActionRevalidationHeader, readInvalidServerActionResponseError, resolveServerActionOperationLane, shouldClearClientNavigationCachesForServerActionResult, shouldScheduleRefreshForDiscardedServerAction, shouldSyncServerActionHttpFallbackHead };
|
|
64
|
+
export declare function createDiscardedServerActionRefreshScheduler(options: DiscardedServerActionRefreshSchedulerOptions): DiscardedServerActionRefreshScheduler;
|
|
65
|
+
//#endregion
|
|
@@ -6,6 +6,5 @@ type VisibleAppState = Pick<AppRouterState, "elements" | "visibleCommitVersion">
|
|
|
6
6
|
type CreateClientReuseManifestHeaderOptions = Readonly<{
|
|
7
7
|
limits?: ClientReuseManifestLimits;
|
|
8
8
|
}>;
|
|
9
|
-
declare function createClientReuseManifestHeaderFromVisibleAppState(state: VisibleAppState, options?: CreateClientReuseManifestHeaderOptions): string | null;
|
|
10
|
-
//#endregion
|
|
11
|
-
export { createClientReuseManifestHeaderFromVisibleAppState };
|
|
9
|
+
export declare function createClientReuseManifestHeaderFromVisibleAppState(state: VisibleAppState, options?: CreateClientReuseManifestHeaderOptions): string | null;
|
|
10
|
+
//#endregion
|
|
@@ -1,48 +1,48 @@
|
|
|
1
1
|
import { splitPathnameForRouteMatch } from "../routing/utils.js";
|
|
2
2
|
import { addBasePathToPathname, stripBasePath } from "../utils/base-path.js";
|
|
3
|
-
import { VINEXT_CLIENT_REUSE_MANIFEST_HEADER, VINEXT_PARAMS_HEADER, VINEXT_RSC_REDIRECT_HEADER, VINEXT_RSC_REDIRECT_TYPE_HEADER } from "./headers.js";
|
|
3
|
+
import { VINEXT_CLIENT_REUSE_MANIFEST_HEADER, VINEXT_PARAMS_HEADER, VINEXT_RENDERED_PATH_AND_SEARCH_HEADER, VINEXT_RSC_REDIRECT_HEADER, VINEXT_RSC_REDIRECT_TYPE_HEADER } from "./headers.js";
|
|
4
4
|
import { AppElementsWire } from "./app-elements-wire.js";
|
|
5
5
|
import { getMountedSlotIdsHeader, resolveVisitedResponseInterceptionContext } from "./app-elements.js";
|
|
6
6
|
import { AppRouterContext } from "../shims/internal/app-router-context.js";
|
|
7
7
|
import { matchRoutePattern } from "../routing/route-pattern.js";
|
|
8
8
|
import { installWindowNext, setWindowNextInternalSourcePage } from "../client/window-next.js";
|
|
9
9
|
import { retryScrollTo, scrollToHashTargetOnNextFrame } from "../shims/hash-scroll.js";
|
|
10
|
-
import { getBfcacheIdMapContext, setNavigationContext } from "../shims/navigation-context-state.js";
|
|
10
|
+
import { getBfcacheIdMapContext, getNavigationContext, setNavigationContext } from "../shims/navigation-context-state.js";
|
|
11
11
|
import { decodeRedirectError, isRedirectError } from "../shims/navigation-errors.js";
|
|
12
12
|
import DefaultGlobalError from "../shims/default-global-error.js";
|
|
13
13
|
import { clearAppNavigationFailureTarget, installAppNavigationFailureListeners } from "../client/app-nav-failure-handler.js";
|
|
14
14
|
import { DevRecoveryBoundary, GlobalErrorBoundary, RedirectBoundary } from "../shims/error-boundary.js";
|
|
15
15
|
import { beginAppRouterScrollIntent, consumeAppRouterScrollIntent } from "../shims/app-router-scroll-state.js";
|
|
16
16
|
import { AppRouterScrollCommitProvider } from "../shims/app-router-scroll.js";
|
|
17
|
-
import { BfcacheIdentityMapContext, ElementsContext, Slot } from "../shims/slot.js";
|
|
17
|
+
import { BfcacheIdentityMapContext, ElementsContext, Slot, bindAppElementsRenderedSearch, setAppElementsRenderedSearch } from "../shims/slot.js";
|
|
18
18
|
import { VINEXT_RSC_COMPATIBILITY_ID_HEADER, VINEXT_RSC_CONTENT_TYPE, createRscRequestHeaders, createRscRequestUrl, getVinextRscCompatibilityId } from "./app-rsc-cache-busting.js";
|
|
19
19
|
import { getNavigationRuntime, registerNavigationRuntimeBootstrap, registerNavigationRuntimeFunctions } from "../client/navigation-runtime.js";
|
|
20
20
|
import { notifyAppRouterTransitionStart } from "../client/instrumentation-client-state.js";
|
|
21
21
|
import "../client/instrumentation-client.js";
|
|
22
|
-
import { resolveManifestNavigationInterceptionContext, resolveMiddlewareRewriteNavigationInterceptionContext } from "./app-browser-interception-context.js";
|
|
23
22
|
import { isExternalHistoryState, readHistoryStateActiveRoutePaths, readHistoryStatePreviousNextUrl, resolveActiveRoutePaths } from "./app-history-state.js";
|
|
23
|
+
import { createBfcacheSegmentIdentityMap, createInitialBfcacheIdMap } from "./app-bfcache-identity.js";
|
|
24
|
+
import { createDiscardedServerActionRefreshScheduler, createServerActionInitiationSnapshot, resolveServerActionOperationLane } from "./app-browser-action-result.js";
|
|
25
|
+
import { createClientReuseManifestHeaderFromVisibleAppState } from "./app-browser-client-reuse-manifest.js";
|
|
26
|
+
import { resolveManifestNavigationInterceptionContext, resolveMiddlewareRewriteNavigationInterceptionContext } from "./app-browser-interception-context.js";
|
|
24
27
|
import { AppBrowserMpaNavigationScheduler } from "./app-browser-mpa-navigation.js";
|
|
25
28
|
import { stripRscCompletionMetadataResponse } from "./rsc-completion-metadata.js";
|
|
26
29
|
import { blockDangerousStreamedRscRedirect } from "./app-browser-rsc-redirect.js";
|
|
27
30
|
import { navigationPlanner } from "./navigation-planner.js";
|
|
28
|
-
import { DYNAMIC_NAVIGATION_CACHE_TTL, PREFETCH_CACHE_TTL, __basePath, appRouterInstance, commitClientNavigationState, consumePrefetchResponse, consumePrefetchResponseForNavigation, createCachedRscResponseSnapshot, createClientNavigationRenderSnapshot, createSnapshotPathAndSearch, deletePrefetchResponseSnapshot, disableNavigationResponsePrefetchCacheReuse, getClientNavigationRenderContext, getMountedSlotsHeader, getPrefetchCache, hasPrefetchCacheEntryForNavigation, invalidatePrefetchCache, preloadHybridClientRouteOwner, pushHistoryStateWithoutNotify, replaceClientParamsWithoutNotify, replaceHistoryStateWithoutNotify, resolveLoadedHybridClientRewriteHref, resolvePrefetchCacheEntryMountedSlotsHeader, restoreRscResponse, saveScrollPosition, seedPrefetchResponseSnapshot, setClientParams, setMountedSlotsHeader, setPendingPathname, useRouter } from "../shims/navigation.js";
|
|
29
|
-
import { createBfcacheSegmentIdentityMap, createInitialBfcacheIdMap } from "./app-bfcache-identity.js";
|
|
30
|
-
import { createDiscardedServerActionRefreshScheduler, createServerActionInitiationSnapshot, resolveServerActionOperationLane } from "./app-browser-action-result.js";
|
|
31
|
-
import { createClientReuseManifestHeaderFromVisibleAppState } from "./app-browser-client-reuse-manifest.js";
|
|
31
|
+
import { DYNAMIC_NAVIGATION_CACHE_TTL, PREFETCH_CACHE_TTL, __basePath, appRouterInstance, commitClientNavigationState, consumePrefetchResponse, consumePrefetchResponseForNavigation, createCachedRscResponseSnapshot, createClientNavigationRenderSnapshot, createSnapshotPathAndSearch, deletePrefetchResponseSnapshot, disableNavigationResponsePrefetchCacheReuse, getClientNavigationRenderContext, getMountedSlotsHeader, getPrefetchCache, hasPrefetchCacheEntryForNavigation, invalidatePrefetchCache, parseRenderedPathAndSearchHeader, preloadHybridClientRouteOwner, pushHistoryStateWithoutNotify, replaceClientParamsWithoutNotify, replaceHistoryStateWithoutNotify, resolveLoadedHybridClientRewriteHref, resolvePrefetchCacheEntryMountedSlotsHeader, restoreRscResponse, saveScrollPosition, seedPrefetchResponseSnapshot, setClientParams, setMountedSlotsHeader, setPendingPathname, useRouter } from "../shims/navigation.js";
|
|
32
32
|
import { chunksToReadableStream, createProgressiveRscStream, getVinextBrowserGlobal } from "./app-browser-stream.js";
|
|
33
33
|
import { COMMITTED_CACHE_APP_NAVIGATION_PAYLOAD_ORIGIN, FRESH_APP_NAVIGATION_PAYLOAD_ORIGIN, VISITED_CACHE_APP_NAVIGATION_PAYLOAD_ORIGIN, isCacheRestorableAppPayloadMetadata, isCompleteAppPayloadMetadata, resolveInterceptionContextFromPreviousNextUrl } from "./app-browser-state.js";
|
|
34
34
|
import { clearHardNavigationLoopGuard, createAppBrowserNavigationController, createBasePathStrippedPathAndSearch } from "./app-browser-navigation-controller.js";
|
|
35
35
|
import { shouldRecoverSamePathSearchCommitOnResponseCompletion } from "./app-browser-navigation-response.js";
|
|
36
36
|
import { createSupplementalRefreshCoordinator, mergeRefreshedParallelSlot, requireCompleteSupplementalRefresh, resolvePersistedSourcePageRefreshes, resolveServerActionSupplementalRefresh, resolveSupplementalRefreshes } from "./app-browser-supplemental-refresh.js";
|
|
37
37
|
import { createAppBrowserNavigationAbortCoordinator } from "./app-browser-navigation-abort.js";
|
|
38
|
-
import { consumeInitialFormState, createVinextHydrateRootOptions, hydrateRootInTransition } from "./app-browser-hydration.js";
|
|
38
|
+
import { consumeInitialFormState, createVinextHydrateRootOptions, hydrateRootInTransition, resolveFetchedHydrationLocation } from "./app-browser-hydration.js";
|
|
39
39
|
import { AppBrowserHistoryController } from "./app-browser-history-controller.js";
|
|
40
40
|
import { createVisitedResponseCacheEntry, deleteAllVisitedResponseCacheEntries, deleteInvalidatedHistoryRestoreEntries, deleteVisitedResponseCacheEntry, findVisitedResponseCacheEntry, hasNavigationResponseHistoryLifetime, isVisitedResponseCacheEntryFresh } from "./app-visited-response-cache.js";
|
|
41
41
|
import { createPopstateRestoreHandler, restoreSynchronousPopstateScrollPosition, shouldCommitPopstateUrlWithoutNavigation } from "./app-browser-popstate.js";
|
|
42
|
-
import { createDevOnCaughtError, createOnUncaughtError, createProdOnCaughtError,
|
|
42
|
+
import { createDevOnCaughtError, createOnUncaughtError, createProdOnCaughtError, createProdOnRecoverableError } from "./app-browser-error.js";
|
|
43
43
|
import { createHydrationCachePublication } from "./app-hydration-cache-publication.js";
|
|
44
44
|
import { peekSettledPrefetchResponseForNavigation, prepareConsumedPrefetchResponseForPublication, preserveCommittedPrefetchExpiry, resolvePrefetchNavigationResponseUrl } from "./app-browser-prefetch-response.js";
|
|
45
|
-
import { canCommitOptimisticRouteTemplate, createOptimisticRouteTemplate, getOptimisticPrefetchSourceKey, getOptimisticRouteTemplateKey, matchOptimisticRouteManifestRoute, resolveOptimisticNavigationPayload } from "./app-optimistic-routing.js";
|
|
45
|
+
import { canCommitOptimisticRouteTemplate, createOptimisticRouteTemplate, getOptimisticPrefetchSourceKey, getOptimisticRouteTemplateKey, matchOptimisticRouteManifestRoute, resolveOptimisticNavigationParamsForHref, resolveOptimisticNavigationPayload } from "./app-optimistic-routing.js";
|
|
46
46
|
import { removeStylesheetLinksCoveredByInlineCss } from "./app-inline-css-client.js";
|
|
47
47
|
import { createElement, startTransition, use, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
48
48
|
import { flushSync } from "react-dom";
|
|
@@ -63,7 +63,9 @@ function toOperationLane(kind) {
|
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
const MAX_VISITED_RESPONSE_CACHE_SIZE = 50;
|
|
66
|
-
const
|
|
66
|
+
const IS_STATIC_EXPORT = process.env.NODE_ENV === "production" && process.env.__NEXT_CONFIG_OUTPUT === "export";
|
|
67
|
+
const CLIENT_DEPLOYMENT_VERSION = process.env.__VINEXT_BUILD_ID ?? null;
|
|
68
|
+
const CLIENT_RSC_COMPATIBILITY_ID = IS_STATIC_EXPORT ? null : getVinextRscCompatibilityId();
|
|
67
69
|
const optimisticRouteTemplates = /* @__PURE__ */ new Map();
|
|
68
70
|
const optimisticRouteTemplateSources = /* @__PURE__ */ new Set();
|
|
69
71
|
const optimisticRouteTemplateLearning = /* @__PURE__ */ new Map();
|
|
@@ -78,6 +80,20 @@ function markInitialAppRouterBootstrapHydrated() {
|
|
|
78
80
|
function getBrowserRouteManifest() {
|
|
79
81
|
return getNavigationRuntime()?.bootstrap.routeManifest ?? null;
|
|
80
82
|
}
|
|
83
|
+
function resolveStaticExportRouteParams(href) {
|
|
84
|
+
const routeManifest = getBrowserRouteManifest();
|
|
85
|
+
if (routeManifest === null) return {};
|
|
86
|
+
return resolveOptimisticNavigationParamsForHref({
|
|
87
|
+
basePath: __basePath,
|
|
88
|
+
href,
|
|
89
|
+
routeManifest
|
|
90
|
+
}) ?? {};
|
|
91
|
+
}
|
|
92
|
+
function isStaticExportPayloadDeploymentCompatible(elements) {
|
|
93
|
+
if (!IS_STATIC_EXPORT) return true;
|
|
94
|
+
const deploymentVersion = AppElementsWire.readMetadata(elements).artifactCompatibility.deploymentVersion;
|
|
95
|
+
return CLIENT_DEPLOYMENT_VERSION !== null && deploymentVersion === CLIENT_DEPLOYMENT_VERSION;
|
|
96
|
+
}
|
|
81
97
|
const historyController = new AppBrowserHistoryController({
|
|
82
98
|
initialHistoryState: window.history.state,
|
|
83
99
|
maxHistoryStateSnapshots: 50,
|
|
@@ -214,7 +230,8 @@ function getMatchedUrlPathname(matchedUrl) {
|
|
|
214
230
|
}
|
|
215
231
|
function resolvePersistedRefreshInterceptions(state, routeManifest, refreshUrl, requestInterceptionContext) {
|
|
216
232
|
if (routeManifest === null) return [];
|
|
217
|
-
const
|
|
233
|
+
const refreshPathname = stripBasePath(refreshUrl.pathname, __basePath);
|
|
234
|
+
const refreshPathParts = splitPathnameForRouteMatch(refreshPathname);
|
|
218
235
|
const resolved = [];
|
|
219
236
|
for (const binding of state.slotBindings) {
|
|
220
237
|
if (binding.state !== "active" || !binding.activeRouteId) continue;
|
|
@@ -244,21 +261,29 @@ async function fetchPersistedInterceptedSlotRefresh(options) {
|
|
|
244
261
|
interceptionId: options.interceptionId,
|
|
245
262
|
mountedSlotsHeader: options.mountedSlotsHeader
|
|
246
263
|
});
|
|
247
|
-
|
|
264
|
+
return decodeSupplementalRefresh(await fetch(await createRscRequestUrl(options.targetPathname, headers), {
|
|
248
265
|
credentials: "include",
|
|
249
266
|
headers,
|
|
250
267
|
signal: options.signal
|
|
251
|
-
});
|
|
252
|
-
return decodeAppElementsPromise(createFromFetch(Promise.resolve(response)));
|
|
268
|
+
}), options.targetPathname);
|
|
253
269
|
}
|
|
254
270
|
async function fetchPersistedSourcePageRefresh(options) {
|
|
255
271
|
const headers = createRscRequestHeaders({ mountedSlotsHeader: options.mountedSlotsHeader });
|
|
256
|
-
|
|
272
|
+
return decodeSupplementalRefresh(await fetch(await createRscRequestUrl(options.targetPathname, headers), {
|
|
257
273
|
credentials: "include",
|
|
258
274
|
headers,
|
|
259
275
|
signal: options.signal
|
|
260
|
-
});
|
|
261
|
-
|
|
276
|
+
}), options.targetPathname);
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Decode a kept branch a refresh fetched from its own URL. Its client pages
|
|
280
|
+
* read the query the server rendered it with, not the navigation's.
|
|
281
|
+
*/
|
|
282
|
+
async function decodeSupplementalRefresh(response, targetPathname) {
|
|
283
|
+
const elements = await decodeAppElementsPromise(createFromFetch(Promise.resolve(response)));
|
|
284
|
+
const renderedPathAndSearch = parseRenderedPathAndSearchHeader(response.headers.get(VINEXT_RENDERED_PATH_AND_SEARCH_HEADER));
|
|
285
|
+
setAppElementsRenderedSearch(elements, new URL(renderedPathAndSearch ?? targetPathname, window.location.origin).search);
|
|
286
|
+
return elements;
|
|
262
287
|
}
|
|
263
288
|
function isSettledPrefetchCacheEntry(entry) {
|
|
264
289
|
return entry.outcome === "cache-seeded" && entry.pending === void 0 && entry.snapshot !== void 0;
|
|
@@ -381,7 +406,7 @@ async function renderNavigationPayload(options) {
|
|
|
381
406
|
visibleCommitMode: options.visibleCommitMode ?? "transition"
|
|
382
407
|
});
|
|
383
408
|
}
|
|
384
|
-
async function commitSameUrlNavigatePayload(nextElements, actionInitiation, returnValue, revalidation = "none") {
|
|
409
|
+
async function commitSameUrlNavigatePayload(nextElements, actionInitiation, returnValue, revalidation = "none", renderedPathAndSearch = null) {
|
|
385
410
|
let shouldRetrySupplementalRefresh = false;
|
|
386
411
|
let supplementalHandle = null;
|
|
387
412
|
if (revalidation !== "none") {
|
|
@@ -423,7 +448,7 @@ async function commitSameUrlNavigatePayload(nextElements, actionInitiation, retu
|
|
|
423
448
|
});
|
|
424
449
|
}
|
|
425
450
|
}
|
|
426
|
-
const navigationSnapshot = createClientNavigationRenderSnapshot(actionInitiation.href, actionInitiation.routerState.navigationSnapshot.params);
|
|
451
|
+
const navigationSnapshot = renderedPathAndSearch === null ? withRenderedSearchOf(createClientNavigationRenderSnapshot(actionInitiation.href, actionInitiation.routerState.navigationSnapshot.params), actionInitiation.routerState.navigationSnapshot) : createClientNavigationRenderSnapshot(actionInitiation.href, actionInitiation.routerState.navigationSnapshot.params, renderedPathAndSearch);
|
|
427
452
|
try {
|
|
428
453
|
const result = await browserNavigationController.commitSameUrlNavigatePayload(nextElements, navigationSnapshot, returnValue, actionInitiation.routerState, {
|
|
429
454
|
onDiscardedRevalidation() {
|
|
@@ -696,7 +721,8 @@ function BrowserRoot({ hydrationCachePublication, initialElements, initialNaviga
|
|
|
696
721
|
const routeTree = createElement(RedirectBoundary, null, createElement(NavigationCommitSignal, { renderId: treeState.renderId }, createElement(ElementsContext.Provider, { value: treeState.elements }, createElement(Slot, { id: treeState.routeId }))));
|
|
697
722
|
const bfcacheSegmentIdentities = useMemo(() => createBfcacheSegmentIdentityMap({ elements: treeState.elements }), [treeState.elements]);
|
|
698
723
|
const identityMapTree = createElement(BfcacheIdentityMapContext.Provider, { value: bfcacheSegmentIdentities }, routeTree);
|
|
699
|
-
const
|
|
724
|
+
const bfcacheTree = BfcacheIdMapContext ? createElement(BfcacheIdMapContext.Provider, { value: treeState.bfcacheIds }, identityMapTree) : identityMapTree;
|
|
725
|
+
const redirectedTree = createElement(AppRouterRedirectBridge, null, bfcacheTree);
|
|
700
726
|
const innerTree = AppRouterContext ? createElement(AppRouterContext.Provider, { value: appRouterInstance }, redirectedTree) : redirectedTree;
|
|
701
727
|
const committedTree = import.meta.env.DEV ? createElement(DevRecoveryBoundary, {
|
|
702
728
|
isImplicitRootErrorBoundary: true,
|
|
@@ -722,6 +748,38 @@ function restoreHydrationNavigationContext(pathname, searchParams, params) {
|
|
|
722
748
|
function restoreEmbeddedHydrationNavigationContext(pathname, searchParams, params, searchParamsFromBrowser) {
|
|
723
749
|
restoreHydrationNavigationContext(pathname, searchParamsFromBrowser ? window.location.search : searchParams, params);
|
|
724
750
|
}
|
|
751
|
+
/**
|
|
752
|
+
* The path and query SSR rendered, from the navigation payload the document
|
|
753
|
+
* embeds: the effective query, which a rewrite may have changed, or the
|
|
754
|
+
* browser URL's when a stored document leaves the query out.
|
|
755
|
+
*/
|
|
756
|
+
function getHydrationRenderedPathAndSearch() {
|
|
757
|
+
const context = getNavigationContext();
|
|
758
|
+
if (!context) return null;
|
|
759
|
+
const search = context.searchParams.toString();
|
|
760
|
+
return search ? `${context.pathname}?${search}` : context.pathname;
|
|
761
|
+
}
|
|
762
|
+
/**
|
|
763
|
+
* A render that turns dynamic after the head sends its client pages' query
|
|
764
|
+
* later in the document (see `app-ssr-entry.ts`), possibly after bootstrap, so
|
|
765
|
+
* the hydration snapshot reads it when a client page first renders.
|
|
766
|
+
*/
|
|
767
|
+
function withLateRenderedSearch(snapshot, rsc) {
|
|
768
|
+
if (!rsc) return snapshot;
|
|
769
|
+
const headRenderedSearch = snapshot.renderedSearch;
|
|
770
|
+
return Object.defineProperty(snapshot, "renderedSearch", {
|
|
771
|
+
configurable: true,
|
|
772
|
+
enumerable: true,
|
|
773
|
+
get: () => rsc.renderedSearch ?? headRenderedSearch
|
|
774
|
+
});
|
|
775
|
+
}
|
|
776
|
+
/** Carry the rendered query over to a snapshot of the same URL. */
|
|
777
|
+
function withRenderedSearchOf(snapshot, source) {
|
|
778
|
+
return source.renderedSearch === void 0 ? snapshot : {
|
|
779
|
+
...snapshot,
|
|
780
|
+
renderedSearch: source.renderedSearch
|
|
781
|
+
};
|
|
782
|
+
}
|
|
725
783
|
function restorePopstateScrollPosition(state, options) {
|
|
726
784
|
const shouldContinue = options?.shouldContinue ?? (() => true);
|
|
727
785
|
if (!shouldContinue()) return;
|
|
@@ -730,7 +788,8 @@ function restorePopstateScrollPosition(state, options) {
|
|
|
730
788
|
return;
|
|
731
789
|
}
|
|
732
790
|
const y = Number(state.__vinext_scrollY);
|
|
733
|
-
|
|
791
|
+
const x = "__vinext_scrollX" in state ? Number(state.__vinext_scrollX) : 0;
|
|
792
|
+
retryScrollTo(x, y, {
|
|
734
793
|
minFrames: 1,
|
|
735
794
|
shouldContinue
|
|
736
795
|
});
|
|
@@ -809,7 +868,8 @@ async function readInitialRscStream() {
|
|
|
809
868
|
if (parsedParams) try {
|
|
810
869
|
applyClientParams(parsedParams);
|
|
811
870
|
} catch {}
|
|
812
|
-
|
|
871
|
+
const rendered = resolveFetchedHydrationLocation(parseRenderedPathAndSearchHeader(rscResponse.headers.get(VINEXT_RENDERED_PATH_AND_SEARCH_HEADER)), window.location);
|
|
872
|
+
restoreHydrationNavigationContext(rendered.pathname, rendered.search, params);
|
|
813
873
|
return rscResponse.body;
|
|
814
874
|
}
|
|
815
875
|
function applyRuntimeRscBootstrap(rsc) {
|
|
@@ -829,14 +889,16 @@ function registerServerActionCallback() {
|
|
|
829
889
|
navigationPlanner,
|
|
830
890
|
performHardNavigation: (url, historyMode) => browserNavigationController.performHardNavigation(url, historyMode),
|
|
831
891
|
renderRedirectPayload(elements, target, actionInitiation, revalidation) {
|
|
892
|
+
if (browserNavigationController.isCurrentNavigation(actionInitiation.navigationId)) getNavigationRuntime()?.functions.notifyLinkNavigationStart?.();
|
|
832
893
|
const hashIdx = target.href.indexOf("#");
|
|
833
|
-
const
|
|
894
|
+
const hash = hashIdx !== -1 ? target.href.slice(hashIdx) : "";
|
|
895
|
+
const actionScrollIntent = beginAppRouterScrollIntent(hash || null);
|
|
834
896
|
if (target.type === "push") saveScrollPosition();
|
|
835
897
|
renderNavigationPayload({
|
|
836
898
|
actionType: target.type === "push" ? "navigate" : "replace",
|
|
837
899
|
historyUpdateMode: target.type === "push" ? "push" : "replace",
|
|
838
900
|
navigationInitiationState: actionInitiation.routerState,
|
|
839
|
-
navigationSnapshot: createClientNavigationRenderSnapshot(target.href, actionInitiation.routerState.navigationSnapshot.params),
|
|
901
|
+
navigationSnapshot: createClientNavigationRenderSnapshot(target.href, actionInitiation.routerState.navigationSnapshot.params, target.renderedPathAndSearch),
|
|
840
902
|
navId: actionInitiation.navigationId,
|
|
841
903
|
operationLane: resolveServerActionOperationLane(revalidation),
|
|
842
904
|
params: {},
|
|
@@ -876,8 +938,11 @@ function bootstrapHydration(rscStream, devErrorOverlay, initialRscBootstrap) {
|
|
|
876
938
|
const hydrationCachePublication = createHydrationCachePublication();
|
|
877
939
|
const cacheGeneration = clientNavigationCacheGeneration;
|
|
878
940
|
const [reactBranch, cacheBranch] = rscStream.tee();
|
|
879
|
-
const
|
|
880
|
-
const
|
|
941
|
+
const initialNavigationSnapshot = withLateRenderedSearch(createClientNavigationRenderSnapshot(window.location.href, latestClientParams, getHydrationRenderedPathAndSearch()), initialRscBootstrap);
|
|
942
|
+
const root = decodeAppElementsPromise(createFromReadableStream(reactBranch)).then((elements) => {
|
|
943
|
+
bindAppElementsRenderedSearch(elements, initialNavigationSnapshot);
|
|
944
|
+
return elements;
|
|
945
|
+
});
|
|
881
946
|
const initialParams = initialNavigationSnapshot.params;
|
|
882
947
|
const initialPathAndSearch = createSnapshotPathAndSearch(initialNavigationSnapshot);
|
|
883
948
|
const initialCacheBuffer = new Response(cacheBranch).arrayBuffer();
|
|
@@ -919,10 +984,9 @@ function bootstrapHydration(rscStream, devErrorOverlay, initialRscBootstrap) {
|
|
|
919
984
|
hydrationCachePublication.fail();
|
|
920
985
|
reportUncaughtError(...args);
|
|
921
986
|
};
|
|
922
|
-
const onRecoverableError = (
|
|
987
|
+
const onRecoverableError = createProdOnRecoverableError(() => {
|
|
923
988
|
hydrationCachePublication.fail();
|
|
924
|
-
|
|
925
|
-
};
|
|
989
|
+
});
|
|
926
990
|
const invalidateOnCaughtError = (handler) => ((...args) => {
|
|
927
991
|
hydrationCachePublication.fail();
|
|
928
992
|
handler(...args);
|
|
@@ -1118,7 +1182,7 @@ function bootstrapHydration(rscStream, devErrorOverlay, initialRscBootstrap) {
|
|
|
1118
1182
|
redirectDepth: redirectCount,
|
|
1119
1183
|
requestPreviousNextUrl,
|
|
1120
1184
|
responseOk: true,
|
|
1121
|
-
responseUrl: cachedRoute.response.url,
|
|
1185
|
+
responseUrl: IS_STATIC_EXPORT ? currentHref : cachedRoute.response.url,
|
|
1122
1186
|
source: "cached",
|
|
1123
1187
|
streamedRedirectTarget: null
|
|
1124
1188
|
});
|
|
@@ -1137,7 +1201,7 @@ function bootstrapHydration(rscStream, devErrorOverlay, initialRscBootstrap) {
|
|
|
1137
1201
|
}
|
|
1138
1202
|
if (!browserNavigationController.isCurrentNavigation(navId)) return;
|
|
1139
1203
|
const cachedParams = cachedRoute.params;
|
|
1140
|
-
const cachedNavigationSnapshot = createClientNavigationRenderSnapshot(currentHref, cachedParams);
|
|
1204
|
+
const cachedNavigationSnapshot = createClientNavigationRenderSnapshot(currentHref, cachedParams, cachedRoute.response.renderedPathAndSearch);
|
|
1141
1205
|
const cachedPayload = cachedRoute.elements ? Promise.resolve(cachedRoute.elements) : decodeAppElementsPromise(createFromFetch(Promise.resolve(restoreRscResponse(cachedRoute.response))));
|
|
1142
1206
|
if (!browserNavigationController.isCurrentNavigation(navId)) return;
|
|
1143
1207
|
if (await renderNavigationPayload({
|
|
@@ -1272,6 +1336,8 @@ function bootstrapHydration(rscStream, devErrorOverlay, initialRscBootstrap) {
|
|
|
1272
1336
|
}
|
|
1273
1337
|
if (!browserNavigationController.isCurrentNavigation(navId)) return;
|
|
1274
1338
|
const navContentType = navResponse.headers.get("content-type") ?? "";
|
|
1339
|
+
const isNavigationRscContentType = navContentType.startsWith("text/x-component") || IS_STATIC_EXPORT && navContentType.startsWith("text/plain");
|
|
1340
|
+
const navigationResponseUrl = IS_STATIC_EXPORT ? currentHref : navResponseUrl ?? navResponse.url;
|
|
1275
1341
|
const streamedRedirectTarget = navResponse.headers.get(VINEXT_RSC_REDIRECT_HEADER);
|
|
1276
1342
|
const streamedRedirectTypeHeader = navResponse.headers.get(VINEXT_RSC_REDIRECT_TYPE_HEADER);
|
|
1277
1343
|
const streamedRedirectType = streamedRedirectTypeHeader === "push" || streamedRedirectTypeHeader === "replace" ? streamedRedirectTypeHeader : null;
|
|
@@ -1282,12 +1348,12 @@ function bootstrapHydration(rscStream, devErrorOverlay, initialRscBootstrap) {
|
|
|
1282
1348
|
currentHref,
|
|
1283
1349
|
effectiveHistoryUpdateMode: currentHistoryMode ?? "replace",
|
|
1284
1350
|
hasBody: navResponse.body !== null,
|
|
1285
|
-
isRscContentType:
|
|
1351
|
+
isRscContentType: isNavigationRscContentType,
|
|
1286
1352
|
origin: window.location.origin,
|
|
1287
1353
|
redirectDepth: redirectCount,
|
|
1288
1354
|
requestPreviousNextUrl,
|
|
1289
1355
|
responseOk: navResponse.ok,
|
|
1290
|
-
responseUrl:
|
|
1356
|
+
responseUrl: navigationResponseUrl,
|
|
1291
1357
|
source: "live",
|
|
1292
1358
|
streamedRedirectTarget,
|
|
1293
1359
|
streamedRedirectType
|
|
@@ -1309,8 +1375,8 @@ function bootstrapHydration(rscStream, devErrorOverlay, initialRscBootstrap) {
|
|
|
1309
1375
|
continue;
|
|
1310
1376
|
}
|
|
1311
1377
|
if (!hasSupplementalRefresh) navigationAbortHandle.release();
|
|
1312
|
-
const navParams = parseEncodedJsonHeader(navResponse.headers.get("X-Vinext-Params")) ?? {};
|
|
1313
|
-
const navigationSnapshot = createClientNavigationRenderSnapshot(currentHref, navParams);
|
|
1378
|
+
const navParams = parseEncodedJsonHeader(navResponse.headers.get("X-Vinext-Params")) ?? (IS_STATIC_EXPORT ? resolveStaticExportRouteParams(currentHref) : {});
|
|
1379
|
+
const navigationSnapshot = createClientNavigationRenderSnapshot(currentHref, navParams, parseRenderedPathAndSearchHeader(navResponse.headers.get(VINEXT_RENDERED_PATH_AND_SEARCH_HEADER)));
|
|
1314
1380
|
const navBody = navResponse.body;
|
|
1315
1381
|
if (!navBody) return;
|
|
1316
1382
|
const [reactBranch, cacheBranch] = navBody.tee();
|
|
@@ -1343,6 +1409,15 @@ function bootstrapHydration(rscStream, devErrorOverlay, initialRscBootstrap) {
|
|
|
1343
1409
|
supplemental
|
|
1344
1410
|
}).then(requireCompleteSupplementalRefresh);
|
|
1345
1411
|
}
|
|
1412
|
+
if (IS_STATIC_EXPORT) {
|
|
1413
|
+
const staticExportElements = await rscPayload;
|
|
1414
|
+
if (!browserNavigationController.isCurrentNavigation(navId)) return;
|
|
1415
|
+
if (!isStaticExportPayloadDeploymentCompatible(staticExportElements)) {
|
|
1416
|
+
performHardNavigationForScrollIntent(currentHref);
|
|
1417
|
+
return;
|
|
1418
|
+
}
|
|
1419
|
+
rscPayload = Promise.resolve(staticExportElements);
|
|
1420
|
+
}
|
|
1346
1421
|
if (!browserNavigationController.isCurrentNavigation(navId)) return;
|
|
1347
1422
|
let committedState = null;
|
|
1348
1423
|
if (await renderNavigationPayload({
|
|
@@ -1386,7 +1461,7 @@ function bootstrapHydration(rscStream, devErrorOverlay, initialRscBootstrap) {
|
|
|
1386
1461
|
if (navigationCacheGeneration !== clientNavigationCacheGeneration) return;
|
|
1387
1462
|
const metadata = AppElementsWire.readMetadata(renderedElements);
|
|
1388
1463
|
if (navigationCacheGeneration !== clientNavigationCacheGeneration) return;
|
|
1389
|
-
const responseSnapshot = consumedPrefetchSnapshot ?? createCachedRscResponseSnapshot(navResponse, await cacheBufferPromise,
|
|
1464
|
+
const responseSnapshot = consumedPrefetchSnapshot ?? createCachedRscResponseSnapshot(navResponse, await cacheBufferPromise, navigationResponseUrl);
|
|
1390
1465
|
const cacheRestorable = !(responseSnapshot.completedDynamicStaleTimeSeconds !== void 0) && isCacheRestorableAppPayloadMetadata(metadata);
|
|
1391
1466
|
const { completedDynamicStaleTimeSeconds: _staticCompletedDynamicStaleTime, dynamicStaleTimeSeconds: _staticDynamicStaleTime, ...staticResponseSnapshot } = responseSnapshot;
|
|
1392
1467
|
const snapshot = {
|
|
@@ -1493,10 +1568,16 @@ function bootstrapHydration(rscStream, devErrorOverlay, initialRscBootstrap) {
|
|
|
1493
1568
|
if (updateId !== latestRscHmrUpdateId) return;
|
|
1494
1569
|
if (!browserNavigationController.hasBrowserRouterState()) return;
|
|
1495
1570
|
clearClientNavigationCaches();
|
|
1496
|
-
const navigationSnapshot = createClientNavigationRenderSnapshot(window.location.href, latestClientParams);
|
|
1497
1571
|
devErrorOverlay?.dismissOverlay();
|
|
1498
1572
|
const hmrHeaders = createRscRequestHeaders({ mountedSlotsHeader: getMountedSlotIdsHeader(browserNavigationController.getBrowserRouterState().elements) });
|
|
1499
|
-
|
|
1573
|
+
const hmrHref = window.location.href;
|
|
1574
|
+
const hmrParams = latestClientParams;
|
|
1575
|
+
const sameQuerySnapshot = withRenderedSearchOf(createClientNavigationRenderSnapshot(hmrHref, hmrParams), browserNavigationController.getBrowserRouterState().navigationSnapshot);
|
|
1576
|
+
const hmrResponse = fetch(await createRscRequestUrl(window.location.pathname + window.location.search, hmrHeaders), { headers: hmrHeaders });
|
|
1577
|
+
await browserNavigationController.hmrReplaceTree(decodeAppElementsPromise(createFromFetch(hmrResponse.then(stripRscCompletionMetadataResponse))), hmrResponse.then((response) => {
|
|
1578
|
+
const renderedPathAndSearch = parseRenderedPathAndSearchHeader(response.headers.get(VINEXT_RENDERED_PATH_AND_SEARCH_HEADER));
|
|
1579
|
+
return renderedPathAndSearch === null ? sameQuerySnapshot : createClientNavigationRenderSnapshot(hmrHref, hmrParams, renderedPathAndSearch);
|
|
1580
|
+
}));
|
|
1500
1581
|
};
|
|
1501
1582
|
const handleRscUpdate = async (updateId) => {
|
|
1502
1583
|
try {
|
|
@@ -4,9 +4,8 @@ type VinextHydrateRootErrorInfo = {
|
|
|
4
4
|
errorBoundary?: unknown;
|
|
5
5
|
};
|
|
6
6
|
type HydrateRootErrorHandler = (error: unknown, errorInfo: VinextHydrateRootErrorInfo) => void;
|
|
7
|
-
declare function createOnUncaughtError(): HydrateRootErrorHandler;
|
|
8
|
-
declare function createProdOnCaughtError(onImplicitRootError: HydrateRootErrorHandler): HydrateRootErrorHandler;
|
|
9
|
-
declare function createDevOnCaughtError(onCaughtError: HydrateRootErrorHandler, onImplicitRootError: HydrateRootErrorHandler): HydrateRootErrorHandler;
|
|
10
|
-
declare function
|
|
11
|
-
//#endregion
|
|
12
|
-
export { createDevOnCaughtError, createOnUncaughtError, createProdOnCaughtError, prodOnRecoverableError };
|
|
7
|
+
export declare function createOnUncaughtError(): HydrateRootErrorHandler;
|
|
8
|
+
export declare function createProdOnCaughtError(onImplicitRootError: HydrateRootErrorHandler): HydrateRootErrorHandler;
|
|
9
|
+
export declare function createDevOnCaughtError(onCaughtError: HydrateRootErrorHandler, onImplicitRootError: HydrateRootErrorHandler): HydrateRootErrorHandler;
|
|
10
|
+
export declare function createProdOnRecoverableError(onReportedError: () => void): (error: unknown) => void;
|
|
11
|
+
//#endregion
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { isUnknownRecord } from "../utils/record.js";
|
|
2
2
|
import { isNavigationSignalError } from "../utils/navigation-signal.js";
|
|
3
|
+
import { isBailoutToCSRError } from "../shims/navigation-errors.js";
|
|
3
4
|
//#region src/server/app-browser-error.ts
|
|
4
5
|
function isImplicitRootErrorBoundary(errorInfo) {
|
|
5
6
|
if (!isUnknownRecord(errorInfo.errorBoundary)) return false;
|
|
@@ -41,8 +42,13 @@ function createDevOnCaughtError(onCaughtError, onImplicitRootError) {
|
|
|
41
42
|
onCaughtError(error, errorInfo);
|
|
42
43
|
};
|
|
43
44
|
}
|
|
44
|
-
function
|
|
45
|
-
|
|
45
|
+
function createProdOnRecoverableError(onReportedError) {
|
|
46
|
+
return (error) => {
|
|
47
|
+
const cause = error instanceof Error && error.cause !== void 0 ? error.cause : error;
|
|
48
|
+
if (isBailoutToCSRError(cause)) return;
|
|
49
|
+
onReportedError();
|
|
50
|
+
reportGlobalError(cause);
|
|
51
|
+
};
|
|
46
52
|
}
|
|
47
53
|
//#endregion
|
|
48
|
-
export { createDevOnCaughtError, createOnUncaughtError, createProdOnCaughtError,
|
|
54
|
+
export { createDevOnCaughtError, createOnUncaughtError, createProdOnCaughtError, createProdOnRecoverableError };
|
|
@@ -32,7 +32,7 @@ type AppBrowserHistoryControllerDeps = {
|
|
|
32
32
|
* `AppBrowserNavigationController.restoreHistorySnapshotVisibleState()` call and
|
|
33
33
|
* the `ApprovedVisibleCommit` boundary.
|
|
34
34
|
*/
|
|
35
|
-
type RestorableSnapshotCandidate = {
|
|
35
|
+
export type RestorableSnapshotCandidate = {
|
|
36
36
|
state: AppRouterState;
|
|
37
37
|
beforeCommit: () => void;
|
|
38
38
|
};
|
|
@@ -51,7 +51,7 @@ type CommitNavigationHistoryOptions = {
|
|
|
51
51
|
targetHistoryIndex?: number | null;
|
|
52
52
|
stageClientParams: () => void;
|
|
53
53
|
};
|
|
54
|
-
declare function createCanonicalBrowserHistoryHref(href: string): string;
|
|
54
|
+
export declare function createCanonicalBrowserHistoryHref(href: string): string;
|
|
55
55
|
/**
|
|
56
56
|
* Owns App Router browser-history metadata and traversal bookkeeping behind a
|
|
57
57
|
* typed seam: traversal index allocation/commit, push/replace/traverse/hash-only
|
|
@@ -65,7 +65,7 @@ declare function createCanonicalBrowserHistoryHref(href: string): string;
|
|
|
65
65
|
* `applyApprovedVisibleCommit()`, and never bypasses the `ApprovedVisibleCommit`
|
|
66
66
|
* boundary owned by `AppBrowserNavigationController`.
|
|
67
67
|
*/
|
|
68
|
-
declare class AppBrowserHistoryController {
|
|
68
|
+
export declare class AppBrowserHistoryController {
|
|
69
69
|
#private;
|
|
70
70
|
constructor(deps: AppBrowserHistoryControllerDeps);
|
|
71
71
|
get currentHistoryTraversalIndex(): number | null;
|
|
@@ -119,5 +119,4 @@ declare class AppBrowserHistoryController {
|
|
|
119
119
|
*/
|
|
120
120
|
restoreHistorySnapshot(options: RestoreHistorySnapshotOptions): boolean;
|
|
121
121
|
}
|
|
122
|
-
//#endregion
|
|
123
|
-
export { AppBrowserHistoryController, RestorableSnapshotCandidate, createCanonicalBrowserHistoryHref };
|
|
122
|
+
//#endregion
|
|
@@ -9,23 +9,33 @@ type HydrateRootCaughtErrorHandler = NonNullable<HydrateRootOptions["onCaughtErr
|
|
|
9
9
|
type HydrateRootUncaughtErrorHandler = NonNullable<HydrateRootOptions["onUncaughtError"]>;
|
|
10
10
|
type HydrateRootRecoverableErrorHandler = NonNullable<HydrateRootOptions["onRecoverableError"]>;
|
|
11
11
|
type StartTransition = (action: () => void) => void;
|
|
12
|
-
declare const RSC_FORM_STATE_GLOBAL = "__VINEXT_RSC_FORM_STATE__";
|
|
12
|
+
export declare const RSC_FORM_STATE_GLOBAL = "__VINEXT_RSC_FORM_STATE__";
|
|
13
13
|
type FormStateGlobal = {
|
|
14
14
|
[RSC_FORM_STATE_GLOBAL]?: ReactFormState;
|
|
15
15
|
};
|
|
16
|
-
declare function consumeInitialFormState(global: FormStateGlobal): ReactFormState | null;
|
|
17
|
-
declare function createVinextHydrateRootOptions(options: {
|
|
16
|
+
export declare function consumeInitialFormState(global: FormStateGlobal): ReactFormState | null;
|
|
17
|
+
export declare function createVinextHydrateRootOptions(options: {
|
|
18
18
|
formState: ReactFormState | null;
|
|
19
19
|
onCaughtError?: HydrateRootCaughtErrorHandler;
|
|
20
20
|
onRecoverableError?: HydrateRootRecoverableErrorHandler;
|
|
21
21
|
onUncaughtError: HydrateRootUncaughtErrorHandler;
|
|
22
22
|
}): HydrateRootOptions;
|
|
23
|
-
declare function hydrateRootInTransition(options: {
|
|
23
|
+
export declare function hydrateRootInTransition(options: {
|
|
24
24
|
children: HydrateRootChildren;
|
|
25
25
|
container: HydrateRootContainer;
|
|
26
26
|
hydrateRoot: HydrateRoot;
|
|
27
27
|
options: HydrateRootOptions;
|
|
28
28
|
startTransition: StartTransition;
|
|
29
29
|
}): HydrateRootReturn;
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
/**
|
|
31
|
+
* The pathname and query to hydrate with when the initial Flight payload is
|
|
32
|
+
* fetched instead of embedded, matching what SSR rendered: the query the
|
|
33
|
+
* server rendered (`X-Vinext-Rendered-Path-And-Search`), which a rewrite may
|
|
34
|
+
* have changed, under the public pathname `usePathname()` exposes. The
|
|
35
|
+
* header's path is the rewrite target, so it is never the pathname.
|
|
36
|
+
*/
|
|
37
|
+
export declare function resolveFetchedHydrationLocation(renderedPathAndSearch: string | null, location: Pick<Location, "origin" | "pathname" | "search">): {
|
|
38
|
+
pathname: string;
|
|
39
|
+
search: string;
|
|
40
|
+
};
|
|
41
|
+
//#endregion
|
|
@@ -25,5 +25,18 @@ function hydrateRootInTransition(options) {
|
|
|
25
25
|
if (root === void 0) throw new Error("[vinext] React.startTransition did not synchronously start hydration");
|
|
26
26
|
return root;
|
|
27
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* The pathname and query to hydrate with when the initial Flight payload is
|
|
30
|
+
* fetched instead of embedded, matching what SSR rendered: the query the
|
|
31
|
+
* server rendered (`X-Vinext-Rendered-Path-And-Search`), which a rewrite may
|
|
32
|
+
* have changed, under the public pathname `usePathname()` exposes. The
|
|
33
|
+
* header's path is the rewrite target, so it is never the pathname.
|
|
34
|
+
*/
|
|
35
|
+
function resolveFetchedHydrationLocation(renderedPathAndSearch, location) {
|
|
36
|
+
return {
|
|
37
|
+
pathname: location.pathname,
|
|
38
|
+
search: renderedPathAndSearch === null ? location.search : new URL(renderedPathAndSearch, location.origin).search
|
|
39
|
+
};
|
|
40
|
+
}
|
|
28
41
|
//#endregion
|
|
29
|
-
export { RSC_FORM_STATE_GLOBAL, consumeInitialFormState, createVinextHydrateRootOptions, hydrateRootInTransition };
|
|
42
|
+
export { RSC_FORM_STATE_GLOBAL, consumeInitialFormState, createVinextHydrateRootOptions, hydrateRootInTransition, resolveFetchedHydrationLocation };
|
|
@@ -18,7 +18,6 @@ type ResolveManifestNavigationInterceptionContextOptions = {
|
|
|
18
18
|
* When multiple manifest interceptions match, the first one wins. That order
|
|
19
19
|
* is owned by the deterministic route graph builder.
|
|
20
20
|
*/
|
|
21
|
-
declare function resolveManifestNavigationInterceptionContext(options: ResolveManifestNavigationInterceptionContextOptions): string | null;
|
|
22
|
-
declare function resolveMiddlewareRewriteNavigationInterceptionContext(options: ResolveManifestNavigationInterceptionContextOptions): string | null;
|
|
23
|
-
//#endregion
|
|
24
|
-
export { resolveManifestNavigationInterceptionContext, resolveMiddlewareRewriteNavigationInterceptionContext };
|
|
21
|
+
export declare function resolveManifestNavigationInterceptionContext(options: ResolveManifestNavigationInterceptionContextOptions): string | null;
|
|
22
|
+
export declare function resolveMiddlewareRewriteNavigationInterceptionContext(options: ResolveManifestNavigationInterceptionContextOptions): string | null;
|
|
23
|
+
//#endregion
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { HistoryUpdateMode } from "./app-browser-navigation-controller.js";
|
|
2
2
|
//#region src/server/app-browser-mpa-navigation.d.ts
|
|
3
|
-
type AppBrowserMpaNavigationWindow = {
|
|
3
|
+
export type AppBrowserMpaNavigationWindow = {
|
|
4
4
|
location: Pick<Location, "assign" | "replace">;
|
|
5
5
|
requestAnimationFrame?: (callback: FrameRequestCallback) => unknown;
|
|
6
6
|
setTimeout(callback: () => void, timeout: number): unknown;
|
|
7
7
|
};
|
|
8
|
-
declare function hasPendingAppRouterPageRedirect(targetDocument: unknown): boolean;
|
|
9
|
-
declare class AppBrowserMpaNavigationScheduler {
|
|
8
|
+
export declare function hasPendingAppRouterPageRedirect(targetDocument: unknown): boolean;
|
|
9
|
+
export declare class AppBrowserMpaNavigationScheduler {
|
|
10
10
|
#private;
|
|
11
11
|
reset(): void;
|
|
12
12
|
navigate(targetWindow: AppBrowserMpaNavigationWindow, href: string, historyUpdateMode: HistoryUpdateMode): void;
|
|
13
13
|
}
|
|
14
|
-
//#endregion
|
|
15
|
-
export { AppBrowserMpaNavigationScheduler, AppBrowserMpaNavigationWindow, hasPendingAppRouterPageRedirect };
|
|
14
|
+
//#endregion
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/server/app-browser-navigation-abort.d.ts
|
|
2
|
-
type AppBrowserNavigationAbortHandle = {
|
|
2
|
+
export type AppBrowserNavigationAbortHandle = {
|
|
3
3
|
release(): void;
|
|
4
4
|
signal: AbortSignal;
|
|
5
5
|
};
|
|
@@ -8,9 +8,8 @@ type AppBrowserNavigationAbortHandle = {
|
|
|
8
8
|
* Once a Flight response is handed to React, release the handle so a newer
|
|
9
9
|
* navigation does not abort the response body while React is decoding it.
|
|
10
10
|
*/
|
|
11
|
-
declare function createAppBrowserNavigationAbortCoordinator(): {
|
|
11
|
+
export declare function createAppBrowserNavigationAbortCoordinator(): {
|
|
12
12
|
abortActive(): void;
|
|
13
13
|
begin(): AppBrowserNavigationAbortHandle;
|
|
14
14
|
};
|
|
15
|
-
//#endregion
|
|
16
|
-
export { AppBrowserNavigationAbortHandle, createAppBrowserNavigationAbortCoordinator };
|
|
15
|
+
//#endregion
|