vinext 0.0.55 → 0.1.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 +51 -15
- package/dist/build/assets-ignore.d.ts +32 -0
- package/dist/build/assets-ignore.js +48 -0
- package/dist/build/clean-output.d.ts +1 -2
- package/dist/build/clean-output.js +0 -2
- package/dist/build/client-build-config.d.ts +42 -3
- package/dist/build/client-build-config.js +86 -4
- package/dist/build/css-url-assets.d.ts +29 -0
- package/dist/build/css-url-assets.js +211 -0
- package/dist/build/google-fonts/build-url.d.ts +1 -2
- package/dist/build/google-fonts/build-url.js +0 -2
- package/dist/build/google-fonts/fallback-metrics-data.js +0 -2
- package/dist/build/google-fonts/fallback-metrics.d.ts +1 -2
- package/dist/build/google-fonts/fallback-metrics.js +0 -2
- package/dist/build/google-fonts/font-data.js +0 -2
- package/dist/build/google-fonts/font-metadata.d.ts +1 -2
- package/dist/build/google-fonts/font-metadata.js +0 -2
- package/dist/build/google-fonts/get-axes.d.ts +1 -2
- package/dist/build/google-fonts/get-axes.js +0 -2
- package/dist/build/google-fonts/sort-variants.d.ts +1 -2
- package/dist/build/google-fonts/sort-variants.js +0 -2
- package/dist/build/google-fonts/validate.d.ts +1 -2
- package/dist/build/google-fonts/validate.js +0 -2
- package/dist/build/inline-css.d.ts +1 -2
- package/dist/build/inline-css.js +0 -2
- package/dist/build/layout-classification-types.d.ts +1 -2
- package/dist/build/layout-classification.d.ts +2 -3
- package/dist/build/layout-classification.js +1 -3
- package/dist/build/next-client-runtime-manifests.d.ts +14 -0
- package/dist/build/next-client-runtime-manifests.js +39 -0
- package/dist/build/nitro-route-rules.d.ts +1 -2
- package/dist/build/nitro-route-rules.js +0 -2
- package/dist/build/precompress.d.ts +1 -2
- package/dist/build/precompress.js +0 -2
- package/dist/build/prerender.d.ts +2 -3
- package/dist/build/prerender.js +14 -2
- package/dist/build/report.d.ts +1 -2
- package/dist/build/report.js +0 -2
- package/dist/build/route-classification-injector.d.ts +1 -2
- package/dist/build/route-classification-injector.js +4 -6
- package/dist/build/route-classification-manifest.d.ts +5 -6
- package/dist/build/route-classification-manifest.js +5 -7
- package/dist/build/run-prerender.d.ts +1 -2
- package/dist/build/run-prerender.js +15 -7
- package/dist/build/server-manifest.d.ts +1 -2
- package/dist/build/server-manifest.js +0 -2
- package/dist/build/ssr-manifest.d.ts +1 -2
- package/dist/build/ssr-manifest.js +2 -4
- package/dist/build/standalone.d.ts +1 -2
- package/dist/build/standalone.js +0 -2
- package/dist/build/static-export.d.ts +2 -3
- package/dist/build/static-export.js +0 -2
- package/dist/cache/cache-adapters-virtual.d.ts +50 -0
- package/dist/cache/cache-adapters-virtual.js +45 -0
- package/dist/check.d.ts +33 -2
- package/dist/check.js +306 -24
- package/dist/cli-args.d.ts +1 -2
- package/dist/cli-args.js +0 -2
- package/dist/cli.js +9 -13
- package/dist/client/instrumentation-client-inject.d.ts +1 -2
- package/dist/client/instrumentation-client-inject.js +0 -2
- package/dist/client/instrumentation-client-state.d.ts +1 -2
- package/dist/client/instrumentation-client-state.js +0 -2
- package/dist/client/instrumentation-client.d.ts +1 -2
- package/dist/client/instrumentation-client.js +0 -2
- package/dist/client/navigation-runtime.d.ts +9 -2
- package/dist/client/navigation-runtime.js +1 -3
- package/dist/client/pages-router-link-navigation.d.ts +1 -2
- package/dist/client/pages-router-link-navigation.js +0 -2
- package/dist/client/validate-module-path.d.ts +1 -2
- package/dist/client/validate-module-path.js +0 -2
- package/dist/client/vinext-next-data.d.ts +3 -3
- package/dist/client/vinext-next-data.js +0 -2
- package/dist/client/window-next.d.ts +1 -2
- package/dist/client/window-next.js +0 -2
- package/dist/cloudflare/index.d.ts +1 -1
- package/dist/cloudflare/index.js +1 -1
- package/dist/cloudflare/src/cache/cdn-adapter.runtime.js +97 -0
- package/dist/cloudflare/{kv-cache-handler.d.ts → src/cache/kv-data-adapter.runtime.d.ts} +25 -6
- package/dist/cloudflare/{kv-cache-handler.js → src/cache/kv-data-adapter.runtime.js} +36 -28
- package/dist/cloudflare/src/utils/cache-control-metadata.js +20 -0
- package/dist/cloudflare/tpr.d.ts +2 -3
- package/dist/cloudflare/tpr.js +8 -8
- package/dist/config/config-matchers.d.ts +20 -2
- package/dist/config/config-matchers.js +35 -3
- package/dist/config/dotenv.d.ts +1 -2
- package/dist/config/dotenv.js +0 -2
- package/dist/config/next-config.d.ts +32 -5
- package/dist/config/next-config.js +53 -6
- package/dist/config/tsconfig-paths.d.ts +1 -2
- package/dist/config/tsconfig-paths.js +3 -7
- package/dist/deploy.d.ts +48 -3
- package/dist/deploy.js +180 -415
- package/dist/entries/app-browser-entry.d.ts +1 -2
- package/dist/entries/app-browser-entry.js +0 -2
- package/dist/entries/app-rsc-entry.d.ts +12 -6
- package/dist/entries/app-rsc-entry.js +101 -62
- package/dist/entries/app-rsc-manifest.d.ts +1 -2
- package/dist/entries/app-rsc-manifest.js +40 -9
- package/dist/entries/app-ssr-entry.d.ts +1 -2
- package/dist/entries/app-ssr-entry.js +0 -2
- package/dist/entries/pages-client-entry.d.ts +3 -3
- package/dist/entries/pages-client-entry.js +16 -5
- package/dist/entries/pages-entry-helpers.d.ts +2 -11
- package/dist/entries/pages-entry-helpers.js +1 -20
- package/dist/entries/pages-server-entry.d.ts +2 -3
- package/dist/entries/pages-server-entry.js +98 -703
- package/dist/entries/runtime-entry-module.d.ts +1 -2
- package/dist/entries/runtime-entry-module.js +0 -2
- package/dist/index.d.ts +22 -2
- package/dist/index.js +376 -316
- package/dist/init.d.ts +1 -2
- package/dist/init.js +1 -3
- package/dist/plugins/ast-utils.d.ts +20 -0
- package/dist/plugins/ast-utils.js +78 -0
- package/dist/plugins/async-hooks-stub.d.ts +1 -2
- package/dist/plugins/async-hooks-stub.js +0 -2
- package/dist/plugins/client-reference-dedup.d.ts +1 -2
- package/dist/plugins/client-reference-dedup.js +4 -8
- package/dist/plugins/css-data-url.d.ts +1 -2
- package/dist/plugins/css-data-url.js +0 -2
- package/dist/plugins/fonts.d.ts +13 -3
- package/dist/plugins/fonts.js +19 -13
- package/dist/plugins/import-meta-url.d.ts +2 -2
- package/dist/plugins/import-meta-url.js +187 -33
- package/dist/plugins/instrumentation-client.d.ts +1 -2
- package/dist/plugins/instrumentation-client.js +0 -2
- package/dist/plugins/middleware-server-only.d.ts +1 -2
- package/dist/plugins/middleware-server-only.js +0 -2
- package/dist/plugins/og-assets.d.ts +32 -8
- package/dist/plugins/og-assets.js +126 -34
- package/dist/plugins/optimize-imports.d.ts +1 -2
- package/dist/plugins/optimize-imports.js +9 -17
- package/dist/plugins/postcss.d.ts +1 -2
- package/dist/plugins/postcss.js +18 -16
- package/dist/plugins/remove-console.d.ts +1 -2
- package/dist/plugins/remove-console.js +0 -2
- package/dist/plugins/require-context.d.ts +6 -0
- package/dist/plugins/require-context.js +184 -0
- package/dist/plugins/rsc-client-reference-loaders.d.ts +1 -2
- package/dist/plugins/rsc-client-reference-loaders.js +0 -2
- package/dist/plugins/rsc-client-shim-excludes.d.ts +1 -2
- package/dist/plugins/rsc-client-shim-excludes.js +0 -2
- package/dist/plugins/sass.d.ts +1 -2
- package/dist/plugins/sass.js +0 -2
- package/dist/plugins/server-externals-manifest.d.ts +1 -2
- package/dist/plugins/server-externals-manifest.js +0 -2
- package/dist/plugins/strip-server-exports.d.ts +1 -2
- package/dist/plugins/strip-server-exports.js +0 -2
- package/dist/routing/app-route-graph.d.ts +14 -10
- package/dist/routing/app-route-graph.js +146 -35
- package/dist/routing/app-router.d.ts +1 -2
- package/dist/routing/app-router.js +0 -2
- package/dist/routing/file-matcher.d.ts +6 -2
- package/dist/routing/file-matcher.js +15 -7
- package/dist/routing/pages-router.d.ts +1 -2
- package/dist/routing/pages-router.js +0 -2
- package/dist/routing/route-matching.d.ts +1 -2
- package/dist/routing/route-matching.js +0 -2
- package/dist/routing/route-pattern.d.ts +2 -2
- package/dist/routing/route-pattern.js +16 -3
- package/dist/routing/route-trie.d.ts +1 -2
- package/dist/routing/route-trie.js +0 -2
- package/dist/routing/route-validation.d.ts +1 -2
- package/dist/routing/route-validation.js +0 -2
- package/dist/routing/utils.d.ts +44 -2
- package/dist/routing/utils.js +62 -3
- package/dist/server/api-handler.d.ts +1 -2
- package/dist/server/api-handler.js +4 -2
- package/dist/server/app-bfcache-id.d.ts +5 -0
- package/dist/server/app-bfcache-id.js +5 -0
- package/dist/server/app-browser-action-result.d.ts +1 -2
- package/dist/server/app-browser-action-result.js +0 -2
- package/dist/server/app-browser-client-reuse-manifest.d.ts +12 -0
- package/dist/server/app-browser-client-reuse-manifest.js +101 -0
- package/dist/server/app-browser-entry.js +244 -88
- package/dist/server/app-browser-error.d.ts +1 -2
- package/dist/server/app-browser-error.js +0 -2
- package/dist/server/app-browser-hydration.d.ts +1 -2
- package/dist/server/app-browser-hydration.js +0 -2
- package/dist/server/app-browser-interception-context.d.ts +2 -2
- package/dist/server/app-browser-interception-context.js +15 -4
- package/dist/server/app-browser-mpa-navigation.d.ts +2 -2
- package/dist/server/app-browser-mpa-navigation.js +9 -3
- package/dist/server/app-browser-navigation-controller.d.ts +15 -4
- package/dist/server/app-browser-navigation-controller.js +80 -4
- package/dist/server/app-browser-popstate.d.ts +12 -4
- package/dist/server/app-browser-popstate.js +19 -6
- package/dist/server/app-browser-rsc-redirect.d.ts +1 -2
- package/dist/server/app-browser-rsc-redirect.js +0 -2
- package/dist/server/app-browser-state.d.ts +31 -4
- package/dist/server/app-browser-state.js +196 -10
- package/dist/server/app-browser-stream.d.ts +1 -2
- package/dist/server/app-browser-stream.js +0 -2
- package/dist/server/app-browser-visible-commit.d.ts +2 -3
- package/dist/server/app-browser-visible-commit.js +30 -21
- package/dist/server/app-client-reference-preloader.d.ts +1 -2
- package/dist/server/app-client-reference-preloader.js +0 -2
- package/dist/server/app-elements-wire.d.ts +14 -8
- package/dist/server/app-elements-wire.js +45 -24
- package/dist/server/app-elements.d.ts +2 -3
- package/dist/server/app-elements.js +2 -4
- package/dist/server/app-fallback-renderer.d.ts +5 -5
- package/dist/server/app-fallback-renderer.js +4 -3
- package/dist/server/app-history-state.d.ts +62 -2
- package/dist/server/app-history-state.js +176 -10
- package/dist/server/app-hook-warning-suppression.d.ts +1 -2
- package/dist/server/app-hook-warning-suppression.js +0 -2
- package/dist/server/app-inline-css-client.d.ts +1 -2
- package/dist/server/app-inline-css-client.js +0 -2
- package/dist/server/app-interception-context-header.d.ts +1 -2
- package/dist/server/app-interception-context-header.js +0 -2
- package/dist/server/app-layout-param-observation.d.ts +15 -2
- package/dist/server/app-layout-param-observation.js +46 -8
- package/dist/server/app-middleware.d.ts +1 -2
- package/dist/server/app-middleware.js +0 -2
- package/dist/server/app-mounted-slots-header.d.ts +1 -2
- package/dist/server/app-mounted-slots-header.js +0 -2
- package/dist/server/app-optimistic-routing.d.ts +1 -2
- package/dist/server/app-optimistic-routing.js +0 -2
- package/dist/server/app-page-boundary-render.d.ts +4 -3
- package/dist/server/app-page-boundary-render.js +59 -28
- package/dist/server/app-page-boundary.d.ts +11 -2
- package/dist/server/app-page-boundary.js +13 -4
- package/dist/server/app-page-cache.d.ts +3 -3
- package/dist/server/app-page-cache.js +36 -11
- package/dist/server/app-page-dispatch.d.ts +25 -5
- package/dist/server/app-page-dispatch.js +122 -25
- package/dist/server/app-page-element-builder.d.ts +4 -2
- package/dist/server/app-page-element-builder.js +31 -21
- package/dist/server/app-page-execution.d.ts +8 -3
- package/dist/server/app-page-execution.js +55 -24
- package/dist/server/app-page-head.d.ts +1 -2
- package/dist/server/app-page-head.js +6 -6
- package/dist/server/app-page-method.d.ts +1 -2
- package/dist/server/app-page-method.js +0 -2
- package/dist/server/app-page-params.d.ts +1 -2
- package/dist/server/app-page-params.js +0 -2
- package/dist/server/app-page-probe.d.ts +79 -2
- package/dist/server/app-page-probe.js +89 -9
- package/dist/server/app-page-render-identity.d.ts +1 -2
- package/dist/server/app-page-render-identity.js +0 -2
- package/dist/server/app-page-render-observation.d.ts +1 -2
- package/dist/server/app-page-render-observation.js +0 -2
- package/dist/server/app-page-render.d.ts +15 -3
- package/dist/server/app-page-render.js +171 -12
- package/dist/server/app-page-request.d.ts +12 -9
- package/dist/server/app-page-request.js +12 -11
- package/dist/server/app-page-response.d.ts +4 -4
- package/dist/server/app-page-response.js +6 -4
- package/dist/server/app-page-route-wiring.d.ts +14 -3
- package/dist/server/app-page-route-wiring.js +65 -12
- package/dist/server/app-page-search-params-observation.d.ts +10 -0
- package/dist/server/app-page-search-params-observation.js +20 -0
- package/dist/server/app-page-segment-state.d.ts +1 -2
- package/dist/server/app-page-segment-state.js +1 -8
- package/dist/server/app-page-stream.d.ts +54 -9
- package/dist/server/app-page-stream.js +61 -10
- package/dist/server/app-pages-bridge.d.ts +41 -0
- package/dist/server/app-pages-bridge.js +54 -0
- package/dist/server/app-post-middleware-context.d.ts +1 -2
- package/dist/server/app-post-middleware-context.js +0 -2
- package/dist/server/app-ppr-fallback-shell.d.ts +21 -0
- package/dist/server/app-ppr-fallback-shell.js +82 -0
- package/dist/server/app-prerender-endpoints.d.ts +1 -2
- package/dist/server/app-prerender-endpoints.js +0 -2
- package/dist/server/app-prerender-static-params.d.ts +15 -2
- package/dist/server/app-prerender-static-params.js +44 -13
- package/dist/server/app-render-dependency.d.ts +3 -2
- package/dist/server/app-render-dependency.js +9 -3
- package/dist/server/app-request-context.d.ts +1 -2
- package/dist/server/app-request-context.js +0 -2
- package/dist/server/app-route-handler-cache.d.ts +2 -2
- package/dist/server/app-route-handler-cache.js +1 -2
- package/dist/server/app-route-handler-dispatch.d.ts +2 -2
- package/dist/server/app-route-handler-dispatch.js +2 -2
- package/dist/server/app-route-handler-execution.d.ts +2 -2
- package/dist/server/app-route-handler-execution.js +3 -4
- package/dist/server/app-route-handler-policy.d.ts +1 -2
- package/dist/server/app-route-handler-policy.js +0 -2
- package/dist/server/app-route-handler-response.d.ts +2 -3
- package/dist/server/app-route-handler-response.js +7 -6
- package/dist/server/app-route-handler-runtime.d.ts +2 -2
- package/dist/server/app-route-handler-runtime.js +3 -4
- package/dist/server/app-route-module-loader.d.ts +43 -0
- package/dist/server/app-route-module-loader.js +32 -0
- package/dist/server/app-router-entry.d.ts +1 -2
- package/dist/server/app-router-entry.js +2 -2
- package/dist/server/app-rsc-cache-busting.d.ts +10 -2
- package/dist/server/app-rsc-cache-busting.js +13 -4
- package/dist/server/app-rsc-embedded-chunks.d.ts +1 -2
- package/dist/server/app-rsc-embedded-chunks.js +0 -2
- package/dist/server/app-rsc-error-handler.d.ts +1 -2
- package/dist/server/app-rsc-error-handler.js +0 -2
- package/dist/server/app-rsc-errors.d.ts +1 -2
- package/dist/server/app-rsc-errors.js +0 -2
- package/dist/server/app-rsc-handler.d.ts +17 -2
- package/dist/server/app-rsc-handler.js +24 -15
- package/dist/server/app-rsc-render-mode.d.ts +1 -2
- package/dist/server/app-rsc-render-mode.js +0 -2
- package/dist/server/app-rsc-request-normalization.d.ts +4 -5
- package/dist/server/app-rsc-request-normalization.js +2 -4
- package/dist/server/app-rsc-response-finalizer.d.ts +1 -2
- package/dist/server/app-rsc-response-finalizer.js +2 -2
- package/dist/server/app-rsc-route-matching.d.ts +20 -2
- package/dist/server/app-rsc-route-matching.js +29 -6
- package/dist/server/app-segment-config.d.ts +4 -2
- package/dist/server/app-segment-config.js +8 -2
- package/dist/server/app-server-action-execution.d.ts +18 -3
- package/dist/server/app-server-action-execution.js +75 -18
- package/dist/server/app-ssr-entry.d.ts +11 -4
- package/dist/server/app-ssr-entry.js +47 -15
- package/dist/server/app-ssr-error-meta.d.ts +1 -2
- package/dist/server/app-ssr-error-meta.js +0 -2
- package/dist/server/app-ssr-stream.d.ts +1 -2
- package/dist/server/app-ssr-stream.js +31 -3
- package/dist/server/app-static-generation.d.ts +1 -2
- package/dist/server/app-static-generation.js +0 -2
- package/dist/server/app-visited-response-cache.d.ts +23 -0
- package/dist/server/app-visited-response-cache.js +19 -0
- package/dist/server/artifact-compatibility.d.ts +1 -2
- package/dist/server/artifact-compatibility.js +2 -6
- package/dist/server/cache-control.d.ts +15 -2
- package/dist/server/cache-control.js +21 -3
- package/dist/server/cache-headers.d.ts +1 -2
- package/dist/server/cache-headers.js +0 -2
- package/dist/server/cache-proof.d.ts +1 -2
- package/dist/server/cache-proof.js +0 -2
- package/dist/server/client-reuse-manifest.d.ts +3 -3
- package/dist/server/client-reuse-manifest.js +6 -10
- package/dist/server/client-trace-metadata.d.ts +1 -2
- package/dist/server/client-trace-metadata.js +0 -2
- package/dist/server/cookie-utils.d.ts +1 -2
- package/dist/server/cookie-utils.js +0 -2
- package/dist/server/csp.d.ts +1 -2
- package/dist/server/csp.js +0 -2
- package/dist/server/default-global-error-module.d.ts +1 -2
- package/dist/server/default-global-error-module.js +0 -2
- package/dist/server/default-not-found-module.d.ts +1 -2
- package/dist/server/default-not-found-module.js +0 -2
- package/dist/server/dev-error-overlay-store.d.ts +20 -4
- package/dist/server/dev-error-overlay-store.js +23 -4
- package/dist/server/dev-error-overlay.d.ts +39 -3
- package/dist/server/dev-error-overlay.js +952 -164
- package/dist/server/dev-initial-server-error.d.ts +9 -0
- package/dist/server/dev-initial-server-error.js +26 -0
- package/dist/server/dev-lockfile.d.ts +1 -2
- package/dist/server/dev-lockfile.js +0 -2
- package/dist/server/dev-module-runner.d.ts +1 -2
- package/dist/server/dev-module-runner.js +0 -2
- package/dist/server/dev-origin-check.d.ts +1 -2
- package/dist/server/dev-origin-check.js +0 -2
- package/dist/server/dev-route-files.d.ts +1 -2
- package/dist/server/dev-route-files.js +0 -2
- package/dist/server/dev-server.d.ts +3 -4
- package/dist/server/dev-server.js +129 -49
- package/dist/server/dev-stack-sourcemap-endpoint.d.ts +4 -0
- package/dist/server/dev-stack-sourcemap-endpoint.js +4 -0
- package/dist/server/dev-stack-sourcemap.d.ts +43 -0
- package/dist/server/dev-stack-sourcemap.js +443 -0
- package/dist/server/document-initial-head.d.ts +1 -2
- package/dist/server/document-initial-head.js +0 -2
- package/dist/server/edge-api-runtime.d.ts +1 -2
- package/dist/server/edge-api-runtime.js +0 -2
- package/dist/server/file-based-metadata.d.ts +1 -2
- package/dist/server/file-based-metadata.js +0 -2
- package/dist/server/headers.d.ts +3 -2
- package/dist/server/headers.js +3 -3
- package/dist/server/html.d.ts +1 -2
- package/dist/server/html.js +0 -2
- package/dist/server/http-error-responses.d.ts +1 -2
- package/dist/server/http-error-responses.js +0 -2
- package/dist/server/image-optimization.d.ts +1 -2
- package/dist/server/image-optimization.js +0 -2
- package/dist/server/implicit-tags.d.ts +1 -2
- package/dist/server/implicit-tags.js +0 -2
- package/dist/server/instrumentation-runtime.d.ts +1 -2
- package/dist/server/instrumentation-runtime.js +0 -2
- package/dist/server/instrumentation.d.ts +1 -2
- package/dist/server/instrumentation.js +0 -2
- package/dist/server/isr-cache.d.ts +46 -3
- package/dist/server/isr-cache.js +93 -24
- package/dist/server/metadata-route-build-data.d.ts +1 -2
- package/dist/server/metadata-route-build-data.js +0 -2
- package/dist/server/metadata-route-response.d.ts +1 -2
- package/dist/server/metadata-route-response.js +0 -2
- package/dist/server/metadata-routes.d.ts +1 -2
- package/dist/server/metadata-routes.js +0 -2
- package/dist/server/middleware-matcher.d.ts +1 -2
- package/dist/server/middleware-matcher.js +0 -2
- package/dist/server/middleware-request-headers.d.ts +1 -2
- package/dist/server/middleware-request-headers.js +0 -2
- package/dist/server/middleware-response-headers.d.ts +1 -2
- package/dist/server/middleware-response-headers.js +0 -2
- package/dist/server/middleware-runtime.d.ts +1 -2
- package/dist/server/middleware-runtime.js +14 -5
- package/dist/server/middleware.d.ts +2 -3
- package/dist/server/middleware.js +0 -2
- package/dist/server/navigation-planner.d.ts +16 -2
- package/dist/server/navigation-planner.js +6 -6
- package/dist/server/navigation-trace.d.ts +1 -2
- package/dist/server/navigation-trace.js +0 -2
- package/dist/server/next-error-digest.d.ts +1 -2
- package/dist/server/next-error-digest.js +0 -2
- package/dist/server/normalize-path.d.ts +1 -2
- package/dist/server/normalize-path.js +0 -2
- package/dist/server/pages-api-route.d.ts +1 -2
- package/dist/server/pages-api-route.js +1 -3
- package/dist/server/pages-asset-tags.d.ts +66 -0
- package/dist/server/pages-asset-tags.js +116 -0
- package/dist/server/pages-body-parser-config.d.ts +1 -2
- package/dist/server/pages-body-parser-config.js +0 -2
- package/dist/server/pages-data-route.d.ts +39 -2
- package/dist/server/pages-data-route.js +46 -3
- package/dist/server/pages-default-404.d.ts +1 -2
- package/dist/server/pages-default-404.js +0 -2
- package/dist/server/pages-document-initial-props.d.ts +1 -2
- package/dist/server/pages-document-initial-props.js +0 -2
- package/dist/server/pages-get-initial-props.d.ts +17 -0
- package/dist/server/pages-get-initial-props.js +50 -0
- package/dist/server/pages-i18n.d.ts +1 -2
- package/dist/server/pages-i18n.js +0 -2
- package/dist/server/pages-media-type.d.ts +1 -2
- package/dist/server/pages-media-type.js +1 -2
- package/dist/server/pages-node-compat.d.ts +11 -2
- package/dist/server/pages-node-compat.js +38 -3
- package/dist/server/pages-page-data.d.ts +17 -10
- package/dist/server/pages-page-data.js +79 -35
- package/dist/server/pages-page-handler.d.ts +97 -0
- package/dist/server/pages-page-handler.js +348 -0
- package/dist/server/pages-page-method.d.ts +1 -2
- package/dist/server/pages-page-method.js +0 -2
- package/dist/server/pages-page-response.d.ts +11 -3
- package/dist/server/pages-page-response.js +16 -5
- package/dist/server/pages-readiness.d.ts +36 -0
- package/dist/server/pages-readiness.js +21 -0
- package/dist/server/pages-request-pipeline.d.ts +99 -0
- package/dist/server/pages-request-pipeline.js +209 -0
- package/dist/server/pages-revalidate.d.ts +15 -0
- package/dist/server/pages-revalidate.js +19 -0
- package/dist/server/pages-serializable-props.d.ts +1 -2
- package/dist/server/pages-serializable-props.js +0 -2
- package/dist/server/pregenerated-concrete-paths.d.ts +32 -0
- package/dist/server/pregenerated-concrete-paths.js +78 -0
- package/dist/server/prerender-route-params.d.ts +13 -3
- package/dist/server/prerender-route-params.js +30 -11
- package/dist/server/prerender-work-unit-setup.d.ts +1 -2
- package/dist/server/prerender-work-unit-setup.js +0 -2
- package/dist/server/prod-server.d.ts +8 -6
- package/dist/server/prod-server.js +101 -219
- package/dist/server/proxy-trust.d.ts +1 -2
- package/dist/server/proxy-trust.js +0 -2
- package/dist/server/request-log.d.ts +1 -2
- package/dist/server/request-log.js +0 -2
- package/dist/server/request-pipeline.d.ts +14 -2
- package/dist/server/request-pipeline.js +42 -3
- package/dist/server/rsc-stream-hints.d.ts +1 -2
- package/dist/server/rsc-stream-hints.js +0 -2
- package/dist/server/seed-cache.d.ts +6 -2
- package/dist/server/seed-cache.js +10 -8
- package/dist/server/server-action-not-found.d.ts +1 -2
- package/dist/server/server-action-not-found.js +0 -2
- package/dist/server/server-globals.d.ts +1 -2
- package/dist/server/server-globals.js +0 -2
- package/dist/server/skip-cache-proof.d.ts +1 -2
- package/dist/server/skip-cache-proof.js +0 -2
- package/dist/server/socket-error-backstop.d.ts +19 -2
- package/dist/server/socket-error-backstop.js +77 -6
- package/dist/server/static-file-cache.d.ts +1 -2
- package/dist/server/static-file-cache.js +0 -2
- package/dist/server/static-layout-client-reuse-proof.d.ts +1 -2
- package/dist/server/static-layout-client-reuse-proof.js +0 -2
- package/dist/server/streaming-metadata.d.ts +1 -2
- package/dist/server/streaming-metadata.js +0 -2
- package/dist/server/worker-utils.d.ts +1 -2
- package/dist/server/worker-utils.js +3 -6
- package/dist/shims/amp.d.ts +1 -2
- package/dist/shims/amp.js +0 -2
- package/dist/shims/app-router-scroll-state.d.ts +1 -2
- package/dist/shims/app-router-scroll-state.js +0 -2
- package/dist/shims/app-router-scroll.d.ts +3 -5
- package/dist/shims/app-router-scroll.js +22 -6
- package/dist/shims/app.d.ts +1 -2
- package/dist/shims/app.js +0 -2
- package/dist/shims/before-interactive-context.d.ts +1 -2
- package/dist/shims/before-interactive-context.js +0 -2
- package/dist/shims/cache-for-request.d.ts +1 -2
- package/dist/shims/cache-for-request.js +0 -2
- package/dist/shims/cache-runtime.d.ts +20 -5
- package/dist/shims/cache-runtime.js +66 -31
- package/dist/shims/cache.d.ts +48 -7
- package/dist/shims/cache.js +79 -20
- package/dist/shims/cdn-cache.d.ts +125 -0
- package/dist/shims/cdn-cache.js +100 -0
- package/dist/shims/client-hook-error.d.ts +1 -2
- package/dist/shims/client-hook-error.js +0 -2
- package/dist/shims/client-locale.d.ts +1 -2
- package/dist/shims/client-locale.js +1 -3
- package/dist/shims/compat-router.d.ts +1 -2
- package/dist/shims/compat-router.js +0 -2
- package/dist/shims/config.d.ts +1 -2
- package/dist/shims/config.js +0 -2
- package/dist/shims/constants.d.ts +1 -2
- package/dist/shims/constants.js +0 -2
- package/dist/shims/default-global-error.d.ts +3 -4
- package/dist/shims/default-global-error.js +0 -2
- package/dist/shims/default-not-found.d.ts +1 -2
- package/dist/shims/default-not-found.js +0 -2
- package/dist/shims/document.d.ts +5 -7
- package/dist/shims/document.js +0 -2
- package/dist/shims/dynamic.d.ts +1 -2
- package/dist/shims/dynamic.js +0 -2
- package/dist/shims/error-boundary.d.ts +32 -18
- package/dist/shims/error-boundary.js +43 -3
- package/dist/shims/error.d.ts +1 -2
- package/dist/shims/error.js +0 -2
- package/dist/shims/fetch-cache.d.ts +14 -2
- package/dist/shims/fetch-cache.js +20 -5
- package/dist/shims/font-google-base.d.ts +1 -2
- package/dist/shims/font-google-base.js +1 -13
- package/dist/shims/font-local.d.ts +1 -2
- package/dist/shims/font-local.js +1 -15
- package/dist/shims/font-utils.d.ts +7 -2
- package/dist/shims/font-utils.js +13 -3
- package/dist/shims/form.d.ts +12 -5
- package/dist/shims/form.js +98 -21
- package/dist/shims/hash-scroll.d.ts +2 -2
- package/dist/shims/hash-scroll.js +3 -3
- package/dist/shims/head-state.d.ts +1 -2
- package/dist/shims/head-state.js +0 -2
- package/dist/shims/head.d.ts +1 -2
- package/dist/shims/head.js +0 -2
- package/dist/shims/headers.d.ts +9 -2
- package/dist/shims/headers.js +13 -3
- package/dist/shims/i18n-context.d.ts +1 -2
- package/dist/shims/i18n-context.js +0 -2
- package/dist/shims/i18n-state.d.ts +1 -2
- package/dist/shims/i18n-state.js +0 -2
- package/dist/shims/image-config.d.ts +1 -2
- package/dist/shims/image-config.js +0 -2
- package/dist/shims/image.d.ts +1 -2
- package/dist/shims/image.js +1 -3
- package/dist/shims/internal/als-registry.d.ts +1 -2
- package/dist/shims/internal/als-registry.js +0 -2
- package/dist/shims/internal/api-utils.d.ts +1 -2
- package/dist/shims/internal/app-route-detection.d.ts +1 -2
- package/dist/shims/internal/app-route-detection.js +0 -2
- package/dist/shims/internal/app-router-context.d.ts +1 -2
- package/dist/shims/internal/app-router-context.js +0 -2
- package/dist/shims/internal/cookie-serialize.d.ts +1 -2
- package/dist/shims/internal/cookie-serialize.js +0 -2
- package/dist/shims/internal/link-status-registry.d.ts +43 -0
- package/dist/shims/internal/link-status-registry.js +42 -0
- package/dist/shims/internal/make-hanging-promise.d.ts +1 -2
- package/dist/shims/internal/make-hanging-promise.js +0 -2
- package/dist/shims/internal/pages-data-fetch-dedup.d.ts +1 -2
- package/dist/shims/internal/pages-data-fetch-dedup.js +0 -2
- package/dist/shims/internal/pages-data-target.d.ts +1 -2
- package/dist/shims/internal/pages-data-target.js +0 -2
- package/dist/shims/internal/pages-data-url.d.ts +1 -2
- package/dist/shims/internal/pages-data-url.js +0 -2
- package/dist/shims/internal/parse-cookie-header.d.ts +1 -2
- package/dist/shims/internal/parse-cookie-header.js +0 -2
- package/dist/shims/internal/route-pattern-for-warning.d.ts +27 -0
- package/dist/shims/internal/route-pattern-for-warning.js +40 -0
- package/dist/shims/internal/router-context.d.ts +2 -4
- package/dist/shims/internal/router-context.js +0 -2
- package/dist/shims/internal/utils.d.ts +2 -2
- package/dist/shims/internal/utils.js +0 -2
- package/dist/shims/internal/work-unit-async-storage.d.ts +1 -2
- package/dist/shims/internal/work-unit-async-storage.js +0 -2
- package/dist/shims/layout-segment-context.d.ts +2 -4
- package/dist/shims/layout-segment-context.js +0 -2
- package/dist/shims/legacy-image.d.ts +1 -2
- package/dist/shims/legacy-image.js +0 -2
- package/dist/shims/link-prefetch.d.ts +1 -2
- package/dist/shims/link-prefetch.js +0 -2
- package/dist/shims/link.d.ts +2 -2
- package/dist/shims/link.js +40 -20
- package/dist/shims/metadata.d.ts +4 -5
- package/dist/shims/metadata.js +1 -3
- package/dist/shims/navigation-state.d.ts +1 -2
- package/dist/shims/navigation-state.js +0 -2
- package/dist/shims/navigation.d.ts +25 -9
- package/dist/shims/navigation.js +251 -46
- package/dist/shims/navigation.react-server.d.ts +1 -2
- package/dist/shims/navigation.react-server.js +0 -2
- package/dist/shims/offline.d.ts +1 -2
- package/dist/shims/offline.js +0 -2
- package/dist/shims/og.d.ts +1 -2
- package/dist/shims/og.js +2 -4
- package/dist/shims/pages-router-runtime.d.ts +7 -2
- package/dist/shims/pages-router-runtime.js +11 -3
- package/dist/shims/ppr-fallback-shell.d.ts +29 -0
- package/dist/shims/ppr-fallback-shell.js +149 -0
- package/dist/shims/readonly-url-search-params.d.ts +1 -2
- package/dist/shims/readonly-url-search-params.js +0 -2
- package/dist/shims/request-context.d.ts +9 -5
- package/dist/shims/request-context.js +0 -2
- package/dist/shims/request-state-types.d.ts +1 -1
- package/dist/shims/root-params.d.ts +1 -2
- package/dist/shims/root-params.js +0 -2
- package/dist/shims/router-state.d.ts +2 -2
- package/dist/shims/router-state.js +2 -2
- package/dist/shims/router.d.ts +6 -4
- package/dist/shims/router.js +262 -40
- package/dist/shims/script-nonce-context.d.ts +1 -2
- package/dist/shims/script-nonce-context.js +0 -2
- package/dist/shims/script.d.ts +1 -2
- package/dist/shims/script.js +0 -2
- package/dist/shims/server.d.ts +1 -2
- package/dist/shims/server.js +0 -2
- package/dist/shims/slot.d.ts +11 -4
- package/dist/shims/slot.js +121 -9
- package/dist/shims/thenable-params.d.ts +2 -2
- package/dist/shims/thenable-params.js +107 -12
- package/dist/shims/unified-request-context.d.ts +1 -2
- package/dist/shims/unified-request-context.js +0 -2
- package/dist/shims/unrecognized-action-error.d.ts +1 -2
- package/dist/shims/unrecognized-action-error.js +0 -2
- package/dist/shims/url-safety.d.ts +1 -2
- package/dist/shims/url-safety.js +0 -2
- package/dist/shims/url-utils.d.ts +1 -2
- package/dist/shims/url-utils.js +0 -2
- package/dist/shims/use-merged-ref.d.ts +1 -2
- package/dist/shims/use-merged-ref.js +0 -2
- package/dist/shims/web-vitals.d.ts +1 -2
- package/dist/shims/web-vitals.js +0 -2
- package/dist/typegen.d.ts +1 -2
- package/dist/typegen.js +2 -9
- package/dist/utils/asset-prefix.d.ts +1 -2
- package/dist/utils/asset-prefix.js +0 -2
- package/dist/utils/base-path.d.ts +1 -2
- package/dist/utils/base-path.js +0 -2
- package/dist/utils/cache-control-metadata.d.ts +1 -4
- package/dist/utils/cache-control-metadata.js +1 -3
- package/dist/utils/client-build-manifest.d.ts +8 -2
- package/dist/utils/client-build-manifest.js +30 -7
- package/dist/utils/client-entry-manifest.d.ts +11 -0
- package/dist/utils/client-entry-manifest.js +29 -0
- package/dist/utils/compare.d.ts +4 -0
- package/dist/utils/compare.js +8 -0
- package/dist/utils/dev-error-recovery-event.d.ts +4 -0
- package/dist/utils/dev-error-recovery-event.js +4 -0
- package/dist/utils/domain-locale.d.ts +1 -2
- package/dist/utils/domain-locale.js +2 -4
- package/dist/utils/encode-cache-tag.d.ts +1 -2
- package/dist/utils/encode-cache-tag.js +0 -2
- package/dist/utils/error-cause.d.ts +1 -2
- package/dist/utils/error-cause.js +0 -2
- package/dist/utils/hash.d.ts +1 -2
- package/dist/utils/hash.js +0 -2
- package/dist/utils/html-limited-bots.d.ts +1 -2
- package/dist/utils/html-limited-bots.js +0 -2
- package/dist/utils/lazy-chunks.d.ts +1 -2
- package/dist/utils/lazy-chunks.js +0 -2
- package/dist/utils/manifest-paths.d.ts +8 -3
- package/dist/utils/manifest-paths.js +15 -3
- package/dist/utils/mdx-scan.d.ts +1 -2
- package/dist/utils/mdx-scan.js +0 -2
- package/dist/utils/navigation-signal.d.ts +1 -2
- package/dist/utils/navigation-signal.js +0 -2
- package/dist/utils/number.d.ts +4 -0
- package/dist/utils/number.js +6 -0
- package/dist/utils/path.d.ts +4 -2
- package/dist/utils/path.js +5 -3
- package/dist/utils/prerender-output-paths.d.ts +1 -2
- package/dist/utils/prerender-output-paths.js +0 -2
- package/dist/utils/project.d.ts +1 -2
- package/dist/utils/project.js +0 -2
- package/dist/utils/promise.d.ts +4 -0
- package/dist/utils/promise.js +6 -0
- package/dist/utils/public-routes.d.ts +1 -2
- package/dist/utils/public-routes.js +0 -2
- package/dist/utils/query.d.ts +1 -2
- package/dist/utils/query.js +0 -2
- package/dist/utils/record.d.ts +1 -2
- package/dist/utils/record.js +0 -2
- package/dist/utils/regex.d.ts +4 -0
- package/dist/utils/regex.js +6 -0
- package/dist/utils/safe-json-file.d.ts +1 -2
- package/dist/utils/safe-json-file.js +0 -2
- package/dist/utils/sorted-array.d.ts +1 -2
- package/dist/utils/sorted-array.js +0 -2
- package/dist/utils/text-stream.d.ts +1 -2
- package/dist/utils/text-stream.js +0 -2
- package/dist/utils/vinext-root.d.ts +1 -2
- package/dist/utils/vinext-root.js +0 -2
- package/dist/utils/vite-version.d.ts +1 -2
- package/dist/utils/vite-version.js +0 -2
- package/package.json +23 -6
- package/dist/build/clean-output.js.map +0 -1
- package/dist/build/client-build-config.js.map +0 -1
- package/dist/build/google-fonts/build-url.js.map +0 -1
- package/dist/build/google-fonts/fallback-metrics-data.js.map +0 -1
- package/dist/build/google-fonts/fallback-metrics.js.map +0 -1
- package/dist/build/google-fonts/font-data.js.map +0 -1
- package/dist/build/google-fonts/font-metadata.js.map +0 -1
- package/dist/build/google-fonts/get-axes.js.map +0 -1
- package/dist/build/google-fonts/sort-variants.js.map +0 -1
- package/dist/build/google-fonts/validate.js.map +0 -1
- package/dist/build/inline-css.js.map +0 -1
- package/dist/build/layout-classification.js.map +0 -1
- package/dist/build/nitro-route-rules.js.map +0 -1
- package/dist/build/precompress.js.map +0 -1
- package/dist/build/prerender.js.map +0 -1
- package/dist/build/report.js.map +0 -1
- package/dist/build/route-classification-injector.js.map +0 -1
- package/dist/build/route-classification-manifest.js.map +0 -1
- package/dist/build/run-prerender.js.map +0 -1
- package/dist/build/server-manifest.js.map +0 -1
- package/dist/build/ssr-manifest.js.map +0 -1
- package/dist/build/standalone.js.map +0 -1
- package/dist/build/static-export.js.map +0 -1
- package/dist/check.js.map +0 -1
- package/dist/cli-args.js.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/client/instrumentation-client-inject.js.map +0 -1
- package/dist/client/instrumentation-client-state.js.map +0 -1
- package/dist/client/instrumentation-client.js.map +0 -1
- package/dist/client/navigation-runtime.js.map +0 -1
- package/dist/client/pages-router-link-navigation.js.map +0 -1
- package/dist/client/validate-module-path.js.map +0 -1
- package/dist/client/vinext-next-data.js.map +0 -1
- package/dist/client/window-next.js.map +0 -1
- package/dist/cloudflare/kv-cache-handler.js.map +0 -1
- package/dist/cloudflare/tpr.js.map +0 -1
- package/dist/config/config-matchers.js.map +0 -1
- package/dist/config/dotenv.js.map +0 -1
- package/dist/config/next-config.js.map +0 -1
- package/dist/config/tsconfig-paths.js.map +0 -1
- package/dist/deploy.js.map +0 -1
- package/dist/entries/app-browser-entry.js.map +0 -1
- package/dist/entries/app-rsc-entry.js.map +0 -1
- package/dist/entries/app-rsc-manifest.js.map +0 -1
- package/dist/entries/app-ssr-entry.js.map +0 -1
- package/dist/entries/pages-client-entry.js.map +0 -1
- package/dist/entries/pages-entry-helpers.js.map +0 -1
- package/dist/entries/pages-server-entry.js.map +0 -1
- package/dist/entries/runtime-entry-module.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/init.js.map +0 -1
- package/dist/plugins/async-hooks-stub.js.map +0 -1
- package/dist/plugins/client-reference-dedup.js.map +0 -1
- package/dist/plugins/css-data-url.js.map +0 -1
- package/dist/plugins/fonts.js.map +0 -1
- package/dist/plugins/import-meta-url.js.map +0 -1
- package/dist/plugins/instrumentation-client.js.map +0 -1
- package/dist/plugins/middleware-server-only.js.map +0 -1
- package/dist/plugins/og-assets.js.map +0 -1
- package/dist/plugins/optimize-imports.js.map +0 -1
- package/dist/plugins/postcss.js.map +0 -1
- package/dist/plugins/remove-console.js.map +0 -1
- package/dist/plugins/rsc-client-reference-loaders.js.map +0 -1
- package/dist/plugins/rsc-client-shim-excludes.js.map +0 -1
- package/dist/plugins/sass.js.map +0 -1
- package/dist/plugins/server-externals-manifest.js.map +0 -1
- package/dist/plugins/strip-server-exports.js.map +0 -1
- package/dist/routing/app-route-graph.js.map +0 -1
- package/dist/routing/app-router.js.map +0 -1
- package/dist/routing/file-matcher.js.map +0 -1
- package/dist/routing/pages-router.js.map +0 -1
- package/dist/routing/route-matching.js.map +0 -1
- package/dist/routing/route-pattern.js.map +0 -1
- package/dist/routing/route-trie.js.map +0 -1
- package/dist/routing/route-validation.js.map +0 -1
- package/dist/routing/utils.js.map +0 -1
- package/dist/server/api-handler.js.map +0 -1
- package/dist/server/app-browser-action-result.js.map +0 -1
- package/dist/server/app-browser-entry.js.map +0 -1
- package/dist/server/app-browser-error.js.map +0 -1
- package/dist/server/app-browser-hydration.js.map +0 -1
- package/dist/server/app-browser-interception-context.js.map +0 -1
- package/dist/server/app-browser-mpa-navigation.js.map +0 -1
- package/dist/server/app-browser-navigation-controller.js.map +0 -1
- package/dist/server/app-browser-popstate.js.map +0 -1
- package/dist/server/app-browser-rsc-redirect.js.map +0 -1
- package/dist/server/app-browser-state.js.map +0 -1
- package/dist/server/app-browser-stream.js.map +0 -1
- package/dist/server/app-browser-visible-commit.js.map +0 -1
- package/dist/server/app-client-reference-preloader.js.map +0 -1
- package/dist/server/app-elements-wire.js.map +0 -1
- package/dist/server/app-elements.js.map +0 -1
- package/dist/server/app-fallback-renderer.js.map +0 -1
- package/dist/server/app-history-state.js.map +0 -1
- package/dist/server/app-hook-warning-suppression.js.map +0 -1
- package/dist/server/app-inline-css-client.js.map +0 -1
- package/dist/server/app-interception-context-header.js.map +0 -1
- package/dist/server/app-layout-param-observation.js.map +0 -1
- package/dist/server/app-middleware.js.map +0 -1
- package/dist/server/app-mounted-slots-header.js.map +0 -1
- package/dist/server/app-optimistic-routing.js.map +0 -1
- package/dist/server/app-page-boundary-render.js.map +0 -1
- package/dist/server/app-page-boundary.js.map +0 -1
- package/dist/server/app-page-cache.js.map +0 -1
- package/dist/server/app-page-dispatch.js.map +0 -1
- package/dist/server/app-page-element-builder.js.map +0 -1
- package/dist/server/app-page-execution.js.map +0 -1
- package/dist/server/app-page-head.js.map +0 -1
- package/dist/server/app-page-method.js.map +0 -1
- package/dist/server/app-page-params.js.map +0 -1
- package/dist/server/app-page-probe.js.map +0 -1
- package/dist/server/app-page-render-identity.js.map +0 -1
- package/dist/server/app-page-render-observation.js.map +0 -1
- package/dist/server/app-page-render.js.map +0 -1
- package/dist/server/app-page-request.js.map +0 -1
- package/dist/server/app-page-response.js.map +0 -1
- package/dist/server/app-page-route-wiring.js.map +0 -1
- package/dist/server/app-page-segment-state.js.map +0 -1
- package/dist/server/app-page-stream.js.map +0 -1
- package/dist/server/app-post-middleware-context.js.map +0 -1
- package/dist/server/app-prerender-endpoints.js.map +0 -1
- package/dist/server/app-prerender-static-params.js.map +0 -1
- package/dist/server/app-render-dependency.js.map +0 -1
- package/dist/server/app-request-context.js.map +0 -1
- package/dist/server/app-route-handler-cache.js.map +0 -1
- package/dist/server/app-route-handler-dispatch.js.map +0 -1
- package/dist/server/app-route-handler-execution.js.map +0 -1
- package/dist/server/app-route-handler-policy.js.map +0 -1
- package/dist/server/app-route-handler-response.js.map +0 -1
- package/dist/server/app-route-handler-runtime.js.map +0 -1
- package/dist/server/app-router-entry.js.map +0 -1
- package/dist/server/app-rsc-cache-busting.js.map +0 -1
- package/dist/server/app-rsc-embedded-chunks.js.map +0 -1
- package/dist/server/app-rsc-error-handler.js.map +0 -1
- package/dist/server/app-rsc-errors.js.map +0 -1
- package/dist/server/app-rsc-handler.js.map +0 -1
- package/dist/server/app-rsc-render-mode.js.map +0 -1
- package/dist/server/app-rsc-request-normalization.js.map +0 -1
- package/dist/server/app-rsc-response-finalizer.js.map +0 -1
- package/dist/server/app-rsc-route-matching.js.map +0 -1
- package/dist/server/app-segment-config.js.map +0 -1
- package/dist/server/app-server-action-execution.js.map +0 -1
- package/dist/server/app-ssr-entry.js.map +0 -1
- package/dist/server/app-ssr-error-meta.js.map +0 -1
- package/dist/server/app-ssr-stream.js.map +0 -1
- package/dist/server/app-static-generation.js.map +0 -1
- package/dist/server/artifact-compatibility.js.map +0 -1
- package/dist/server/cache-control.js.map +0 -1
- package/dist/server/cache-headers.js.map +0 -1
- package/dist/server/cache-proof.js.map +0 -1
- package/dist/server/client-reuse-manifest.js.map +0 -1
- package/dist/server/client-trace-metadata.js.map +0 -1
- package/dist/server/cookie-utils.js.map +0 -1
- package/dist/server/csp.js.map +0 -1
- package/dist/server/default-global-error-module.js.map +0 -1
- package/dist/server/default-not-found-module.js.map +0 -1
- package/dist/server/dev-error-overlay-store.js.map +0 -1
- package/dist/server/dev-error-overlay.js.map +0 -1
- package/dist/server/dev-lockfile.js.map +0 -1
- package/dist/server/dev-module-runner.js.map +0 -1
- package/dist/server/dev-origin-check.js.map +0 -1
- package/dist/server/dev-route-files.js.map +0 -1
- package/dist/server/dev-server.js.map +0 -1
- package/dist/server/document-initial-head.js.map +0 -1
- package/dist/server/edge-api-runtime.js.map +0 -1
- package/dist/server/file-based-metadata.js.map +0 -1
- package/dist/server/headers.js.map +0 -1
- package/dist/server/html.js.map +0 -1
- package/dist/server/http-error-responses.js.map +0 -1
- package/dist/server/image-optimization.js.map +0 -1
- package/dist/server/implicit-tags.js.map +0 -1
- package/dist/server/instrumentation-runtime.js.map +0 -1
- package/dist/server/instrumentation.js.map +0 -1
- package/dist/server/isr-cache.js.map +0 -1
- package/dist/server/metadata-route-build-data.js.map +0 -1
- package/dist/server/metadata-route-response.js.map +0 -1
- package/dist/server/metadata-routes.js.map +0 -1
- package/dist/server/middleware-matcher.js.map +0 -1
- package/dist/server/middleware-request-headers.js.map +0 -1
- package/dist/server/middleware-response-headers.js.map +0 -1
- package/dist/server/middleware-runtime.js.map +0 -1
- package/dist/server/middleware.js.map +0 -1
- package/dist/server/navigation-planner.js.map +0 -1
- package/dist/server/navigation-trace.js.map +0 -1
- package/dist/server/next-error-digest.js.map +0 -1
- package/dist/server/normalize-path.js.map +0 -1
- package/dist/server/pages-api-route.js.map +0 -1
- package/dist/server/pages-body-parser-config.js.map +0 -1
- package/dist/server/pages-data-route.js.map +0 -1
- package/dist/server/pages-default-404.js.map +0 -1
- package/dist/server/pages-document-initial-props.js.map +0 -1
- package/dist/server/pages-i18n.js.map +0 -1
- package/dist/server/pages-media-type.js.map +0 -1
- package/dist/server/pages-node-compat.js.map +0 -1
- package/dist/server/pages-page-data.js.map +0 -1
- package/dist/server/pages-page-method.js.map +0 -1
- package/dist/server/pages-page-response.js.map +0 -1
- package/dist/server/pages-serializable-props.js.map +0 -1
- package/dist/server/prerender-route-params.js.map +0 -1
- package/dist/server/prerender-work-unit-setup.js.map +0 -1
- package/dist/server/prod-server.js.map +0 -1
- package/dist/server/proxy-trust.js.map +0 -1
- package/dist/server/request-log.js.map +0 -1
- package/dist/server/request-pipeline.js.map +0 -1
- package/dist/server/rsc-stream-hints.js.map +0 -1
- package/dist/server/seed-cache.js.map +0 -1
- package/dist/server/server-action-not-found.js.map +0 -1
- package/dist/server/server-globals.js.map +0 -1
- package/dist/server/skip-cache-proof.js.map +0 -1
- package/dist/server/socket-error-backstop.js.map +0 -1
- package/dist/server/static-file-cache.js.map +0 -1
- package/dist/server/static-layout-client-reuse-proof.js.map +0 -1
- package/dist/server/streaming-metadata.js.map +0 -1
- package/dist/server/worker-utils.js.map +0 -1
- package/dist/shims/amp.js.map +0 -1
- package/dist/shims/app-router-scroll-state.js.map +0 -1
- package/dist/shims/app-router-scroll.js.map +0 -1
- package/dist/shims/app.js.map +0 -1
- package/dist/shims/before-interactive-context.js.map +0 -1
- package/dist/shims/cache-for-request.js.map +0 -1
- package/dist/shims/cache-runtime.js.map +0 -1
- package/dist/shims/cache.js.map +0 -1
- package/dist/shims/client-hook-error.js.map +0 -1
- package/dist/shims/client-locale.js.map +0 -1
- package/dist/shims/compat-router.js.map +0 -1
- package/dist/shims/config.js.map +0 -1
- package/dist/shims/constants.js.map +0 -1
- package/dist/shims/default-global-error.js.map +0 -1
- package/dist/shims/default-not-found.js.map +0 -1
- package/dist/shims/document.js.map +0 -1
- package/dist/shims/dynamic.js.map +0 -1
- package/dist/shims/error-boundary.js.map +0 -1
- package/dist/shims/error.js.map +0 -1
- package/dist/shims/fetch-cache.js.map +0 -1
- package/dist/shims/font-google-base.js.map +0 -1
- package/dist/shims/font-local.js.map +0 -1
- package/dist/shims/font-utils.js.map +0 -1
- package/dist/shims/form.js.map +0 -1
- package/dist/shims/hash-scroll.js.map +0 -1
- package/dist/shims/head-state.js.map +0 -1
- package/dist/shims/head.js.map +0 -1
- package/dist/shims/headers.js.map +0 -1
- package/dist/shims/i18n-context.js.map +0 -1
- package/dist/shims/i18n-state.js.map +0 -1
- package/dist/shims/image-config.js.map +0 -1
- package/dist/shims/image.js.map +0 -1
- package/dist/shims/internal/als-registry.js.map +0 -1
- package/dist/shims/internal/app-route-detection.js.map +0 -1
- package/dist/shims/internal/app-router-context.js.map +0 -1
- package/dist/shims/internal/cookie-serialize.js.map +0 -1
- package/dist/shims/internal/make-hanging-promise.js.map +0 -1
- package/dist/shims/internal/pages-data-fetch-dedup.js.map +0 -1
- package/dist/shims/internal/pages-data-target.js.map +0 -1
- package/dist/shims/internal/pages-data-url.js.map +0 -1
- package/dist/shims/internal/parse-cookie-header.js.map +0 -1
- package/dist/shims/internal/router-context.js.map +0 -1
- package/dist/shims/internal/utils.js.map +0 -1
- package/dist/shims/internal/work-unit-async-storage.js.map +0 -1
- package/dist/shims/layout-segment-context.js.map +0 -1
- package/dist/shims/legacy-image.js.map +0 -1
- package/dist/shims/link-prefetch.js.map +0 -1
- package/dist/shims/link.js.map +0 -1
- package/dist/shims/metadata.js.map +0 -1
- package/dist/shims/navigation-state.js.map +0 -1
- package/dist/shims/navigation.js.map +0 -1
- package/dist/shims/navigation.react-server.js.map +0 -1
- package/dist/shims/offline.js.map +0 -1
- package/dist/shims/og.js.map +0 -1
- package/dist/shims/pages-router-runtime.js.map +0 -1
- package/dist/shims/readonly-url-search-params.js.map +0 -1
- package/dist/shims/request-context.js.map +0 -1
- package/dist/shims/root-params.js.map +0 -1
- package/dist/shims/router-state.js.map +0 -1
- package/dist/shims/router.js.map +0 -1
- package/dist/shims/script-nonce-context.js.map +0 -1
- package/dist/shims/script.js.map +0 -1
- package/dist/shims/server.js.map +0 -1
- package/dist/shims/slot.js.map +0 -1
- package/dist/shims/thenable-params.js.map +0 -1
- package/dist/shims/unified-request-context.js.map +0 -1
- package/dist/shims/unrecognized-action-error.js.map +0 -1
- package/dist/shims/url-safety.js.map +0 -1
- package/dist/shims/url-utils.js.map +0 -1
- package/dist/shims/use-merged-ref.js.map +0 -1
- package/dist/shims/web-vitals.js.map +0 -1
- package/dist/typegen.js.map +0 -1
- package/dist/utils/asset-prefix.js.map +0 -1
- package/dist/utils/base-path.js.map +0 -1
- package/dist/utils/cache-control-metadata.js.map +0 -1
- package/dist/utils/client-build-manifest.js.map +0 -1
- package/dist/utils/domain-locale.js.map +0 -1
- package/dist/utils/encode-cache-tag.js.map +0 -1
- package/dist/utils/error-cause.js.map +0 -1
- package/dist/utils/hash.js.map +0 -1
- package/dist/utils/html-limited-bots.js.map +0 -1
- package/dist/utils/lazy-chunks.js.map +0 -1
- package/dist/utils/manifest-paths.js.map +0 -1
- package/dist/utils/mdx-scan.js.map +0 -1
- package/dist/utils/navigation-signal.js.map +0 -1
- package/dist/utils/path.js.map +0 -1
- package/dist/utils/prerender-output-paths.js.map +0 -1
- package/dist/utils/project.js.map +0 -1
- package/dist/utils/public-routes.js.map +0 -1
- package/dist/utils/query.js.map +0 -1
- package/dist/utils/record.js.map +0 -1
- package/dist/utils/safe-json-file.js.map +0 -1
- package/dist/utils/sorted-array.js.map +0 -1
- package/dist/utils/text-stream.js.map +0 -1
- package/dist/utils/vinext-root.js.map +0 -1
- package/dist/utils/vite-version.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { stripBasePath } from "../utils/base-path.js";
|
|
2
|
-
import { ACTION_REDIRECT_HEADER, ACTION_REDIRECT_STATUS_HEADER,
|
|
2
|
+
import { ACTION_REDIRECT_HEADER, ACTION_REDIRECT_STATUS_HEADER, VINEXT_CLIENT_REUSE_MANIFEST_HEADER, VINEXT_PARAMS_HEADER, VINEXT_RSC_REDIRECT_HEADER } from "./headers.js";
|
|
3
3
|
import { DANGEROUS_URL_BLOCK_MESSAGE, isDangerousScheme } from "../shims/url-safety.js";
|
|
4
4
|
import { AppElementsWire } from "./app-elements-wire.js";
|
|
5
5
|
import { APP_RSC_RENDER_MODE_REFRESH_PRESERVE_UI } from "./app-rsc-render-mode.js";
|
|
@@ -9,30 +9,33 @@ import { installWindowNext } from "../client/window-next.js";
|
|
|
9
9
|
import { retryScrollTo, scrollToHashTargetOnNextFrame } from "../shims/hash-scroll.js";
|
|
10
10
|
import { getNavigationRuntime, registerNavigationRuntimeBootstrap, registerNavigationRuntimeFunctions } from "../client/navigation-runtime.js";
|
|
11
11
|
import { notifyAppRouterTransitionStart } from "../client/instrumentation-client-state.js";
|
|
12
|
-
import { resolveManifestNavigationInterceptionContext } from "./app-browser-interception-context.js";
|
|
13
|
-
import { createHistoryStateWithNavigationMetadata,
|
|
12
|
+
import { resolveManifestNavigationInterceptionContext, resolveMiddlewareRewriteNavigationInterceptionContext } from "./app-browser-interception-context.js";
|
|
13
|
+
import { RestorableClientStateController, createHistoryStateWithNavigationMetadata, readHistoryStateBfcacheIds, readHistoryStatePreviousNextUrl, readHistoryStateTraversalIndex, resolveHistoryTraversalIntent } from "./app-history-state.js";
|
|
14
14
|
import { VINEXT_RSC_COMPATIBILITY_ID_HEADER, createRscRequestHeaders, createRscRequestUrl, createServerActionRequestUrl, getVinextRscCompatibilityId, resolveHardNavigationTargetFromRscResponse, resolveRscCompatibilityNavigationDecision } from "./app-rsc-cache-busting.js";
|
|
15
|
+
import { AppBrowserMpaNavigationScheduler } from "./app-browser-mpa-navigation.js";
|
|
15
16
|
import { beginAppRouterScrollIntent, consumeAppRouterScrollIntent } from "../shims/app-router-scroll-state.js";
|
|
16
|
-
import { __basePath, appRouterInstance, commitClientNavigationState, consumePrefetchResponseForNavigation, createCachedRscResponseSnapshot, createClientNavigationRenderSnapshot, decodeRedirectError, getClientNavigationRenderContext, getPrefetchCache, invalidatePrefetchCache, isRedirectError, pushHistoryStateWithoutNotify, replaceClientParamsWithoutNotify, replaceHistoryStateWithoutNotify, restoreRscResponse, saveScrollPosition, setClientParams, setMountedSlotsHeader, setNavigationContext, setPendingPathname, useRouter } from "../shims/navigation.js";
|
|
17
|
+
import { __basePath, appRouterInstance, commitClientNavigationState, consumePrefetchResponseForNavigation, createCachedRscResponseSnapshot, createClientNavigationRenderSnapshot, decodeRedirectError, getBfcacheIdMapContext, getClientNavigationRenderContext, getPrefetchCache, invalidatePrefetchCache, isRedirectError, pushHistoryStateWithoutNotify, replaceClientParamsWithoutNotify, replaceHistoryStateWithoutNotify, resolvePrefetchCacheEntryMountedSlotsHeader, restoreRscResponse, saveScrollPosition, setClientParams, setMountedSlotsHeader, setNavigationContext, setPendingPathname, useRouter } from "../shims/navigation.js";
|
|
17
18
|
import { DevRecoveryBoundary, RedirectBoundary } from "../shims/error-boundary.js";
|
|
18
19
|
import { AppRouterScrollCommitProvider } from "../shims/app-router-scroll.js";
|
|
19
|
-
import { ElementsContext, Slot } from "../shims/slot.js";
|
|
20
|
+
import { BfcacheStateKeyMapContext, ElementsContext, Slot } from "../shims/slot.js";
|
|
20
21
|
import "../client/instrumentation-client.js";
|
|
21
22
|
import { createDiscardedServerActionRefreshScheduler, createServerActionInitiationSnapshot, isServerActionResult, normalizeServerActionThrownValue, parseServerActionRevalidationHeader, readInvalidServerActionResponseError, resolveServerActionRedirectCompatibilityHardNavigationTarget, shouldCheckRscCompatibilityForServerActionResponse, shouldClearClientNavigationCachesForServerActionResult } from "./app-browser-action-result.js";
|
|
23
|
+
import { createClientReuseManifestHeaderFromVisibleAppState } from "./app-browser-client-reuse-manifest.js";
|
|
22
24
|
import { chunksToReadableStream, createProgressiveRscStream, getVinextBrowserGlobal } from "./app-browser-stream.js";
|
|
23
|
-
import { FRESH_APP_NAVIGATION_PAYLOAD_ORIGIN, VISITED_CACHE_APP_NAVIGATION_PAYLOAD_ORIGIN, isCacheRestorableAppPayloadMetadata, resolveInterceptionContextFromPreviousNextUrl, resolveServerActionRequestState } from "./app-browser-state.js";
|
|
24
|
-
import { clearHardNavigationLoopGuard, createAppBrowserNavigationController } from "./app-browser-navigation-controller.js";
|
|
25
|
-
import { AppBrowserMpaNavigationScheduler } from "./app-browser-mpa-navigation.js";
|
|
25
|
+
import { FRESH_APP_NAVIGATION_PAYLOAD_ORIGIN, VISITED_CACHE_APP_NAVIGATION_PAYLOAD_ORIGIN, createBfcacheSegmentStateKeyMap, createInitialBfcacheIdMap, isCacheRestorableAppPayloadMetadata, resolveInterceptionContextFromPreviousNextUrl, resolveServerActionRequestState } from "./app-browser-state.js";
|
|
26
|
+
import { clearHardNavigationLoopGuard, createAppBrowserNavigationController, createBasePathStrippedPathAndSearch, createSnapshotPathAndSearch } from "./app-browser-navigation-controller.js";
|
|
26
27
|
import { consumeInitialFormState, createVinextHydrateRootOptions, hydrateRootInTransition } from "./app-browser-hydration.js";
|
|
27
|
-
import {
|
|
28
|
+
import { createVisitedResponseCacheEntry, isVisitedResponseCacheEntryFresh } from "./app-visited-response-cache.js";
|
|
29
|
+
import { createPopstateRestoreHandler, restoreSynchronousPopstateScrollPosition } from "./app-browser-popstate.js";
|
|
28
30
|
import { createOnUncaughtError } from "./app-browser-error.js";
|
|
29
31
|
import { dismissOverlay } from "./dev-error-overlay-store.js";
|
|
30
|
-
import { devOnCaughtError, devOnUncaughtError, installDevErrorOverlay } from "./dev-error-overlay.js";
|
|
32
|
+
import { devOnCaughtError, devOnUncaughtError, installDevErrorOverlay, installViteHmrErrorHandler, reportInitialDevServerErrors } from "./dev-error-overlay.js";
|
|
31
33
|
import { throwOnServerActionNotFound } from "./server-action-not-found.js";
|
|
32
34
|
import { resolveRscRedirectLifecycleHop } from "./app-browser-rsc-redirect.js";
|
|
33
35
|
import { createOptimisticRouteTemplate, getOptimisticPrefetchSourceKey, getOptimisticRouteTemplateKey, resolveOptimisticNavigationPayload } from "./app-optimistic-routing.js";
|
|
34
36
|
import { removeStylesheetLinksCoveredByInlineCss } from "./app-inline-css-client.js";
|
|
35
|
-
import { createElement, startTransition, use, useEffect, useLayoutEffect, useRef, useState } from "react";
|
|
37
|
+
import { createElement, startTransition, use, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
38
|
+
import { flushSync } from "react-dom";
|
|
36
39
|
import { createFromFetch, createFromReadableStream, createTemporaryReferenceSet, encodeReply, setServerCallback } from "@vitejs/plugin-rsc/browser";
|
|
37
40
|
import { hydrateRoot } from "react-dom/client";
|
|
38
41
|
//#region src/server/app-browser-entry.ts
|
|
@@ -48,8 +51,6 @@ function toOperationLane(kind) {
|
|
|
48
51
|
}
|
|
49
52
|
}
|
|
50
53
|
const MAX_VISITED_RESPONSE_CACHE_SIZE = 50;
|
|
51
|
-
const VISITED_RESPONSE_CACHE_TTL = 5 * 6e4;
|
|
52
|
-
const MAX_TRAVERSAL_CACHE_TTL = 30 * 6e4;
|
|
53
54
|
const CLIENT_RSC_COMPATIBILITY_ID = getVinextRscCompatibilityId();
|
|
54
55
|
const optimisticRouteTemplates = /* @__PURE__ */ new Map();
|
|
55
56
|
const optimisticRouteTemplateSources = /* @__PURE__ */ new Set();
|
|
@@ -58,6 +59,7 @@ function getBrowserRouteManifest() {
|
|
|
58
59
|
return getNavigationRuntime()?.bootstrap.routeManifest ?? null;
|
|
59
60
|
}
|
|
60
61
|
const browserNavigationController = createAppBrowserNavigationController({
|
|
62
|
+
basePath: __basePath,
|
|
61
63
|
getRouteManifest: getBrowserRouteManifest,
|
|
62
64
|
syncHistoryStatePreviousNextUrl: syncCurrentHistoryStatePreviousNextUrl
|
|
63
65
|
});
|
|
@@ -76,6 +78,7 @@ function syncServerActionHttpFallbackHead(status) {
|
|
|
76
78
|
robots.setAttribute(ACTION_HTTP_FALLBACK_ROBOTS_META_ATTR, "robots");
|
|
77
79
|
document.head.appendChild(robots);
|
|
78
80
|
}
|
|
81
|
+
const BfcacheIdMapContext = getBfcacheIdMapContext();
|
|
79
82
|
function parseEncodedJsonHeader(value) {
|
|
80
83
|
if (!value) return null;
|
|
81
84
|
try {
|
|
@@ -93,8 +96,20 @@ let browserRouterStateHasEverCommitted = false;
|
|
|
93
96
|
let pendingNavigationRecoveryHref = null;
|
|
94
97
|
const mpaNavigationScheduler = new AppBrowserMpaNavigationScheduler();
|
|
95
98
|
const unresolvedMpaNavigation = new Promise(() => {});
|
|
99
|
+
const RSC_HMR_SETTLE_DELAY_MS = 150;
|
|
100
|
+
let latestRscHmrUpdateId = 0;
|
|
96
101
|
let currentHistoryTraversalIndex = readHistoryStateTraversalIndex(window.history.state) ?? 0;
|
|
97
102
|
let nextHistoryTraversalIndex = currentHistoryTraversalIndex;
|
|
103
|
+
let synchronousPopstateScrollRestoreNavigationId = null;
|
|
104
|
+
const restorableClientState = new RestorableClientStateController({
|
|
105
|
+
initialHistoryState: window.history.state,
|
|
106
|
+
maxHistoryStateSnapshots: 50
|
|
107
|
+
});
|
|
108
|
+
function waitForRscHmrSettle(delayMs = RSC_HMR_SETTLE_DELAY_MS) {
|
|
109
|
+
return new Promise((resolve) => {
|
|
110
|
+
window.setTimeout(resolve, delayMs);
|
|
111
|
+
});
|
|
112
|
+
}
|
|
98
113
|
function allocateNavigationHistoryTraversalIndex(historyUpdateMode) {
|
|
99
114
|
switch (historyUpdateMode) {
|
|
100
115
|
case "push": return nextHistoryTraversalIndex + 1;
|
|
@@ -110,7 +125,10 @@ function commitHistoryTraversalIndex(index) {
|
|
|
110
125
|
function commitHashOnlyNavigation(href, historyUpdateMode, scroll) {
|
|
111
126
|
const navigationHistoryIndex = allocateNavigationHistoryTraversalIndex(historyUpdateMode);
|
|
112
127
|
const previousNextUrl = hasBrowserRouterState() ? getBrowserRouterState().previousNextUrl : readHistoryStatePreviousNextUrl(window.history.state);
|
|
128
|
+
const bfcacheIds = hasBrowserRouterState() ? getBrowserRouterState().bfcacheIds : restorableClientState.readCurrentBfcacheVersionHistoryIds(window.history.state);
|
|
113
129
|
const historyState = createHistoryStateWithNavigationMetadata(createHashOnlyNavigationBaseHistoryState(historyUpdateMode, scroll), {
|
|
130
|
+
bfcacheIds,
|
|
131
|
+
bfcacheVersion: bfcacheIds === null ? void 0 : restorableClientState.currentBfcacheVersion,
|
|
114
132
|
previousNextUrl,
|
|
115
133
|
traversalIndex: navigationHistoryIndex
|
|
116
134
|
});
|
|
@@ -134,6 +152,26 @@ function stripVinextScrollState(state) {
|
|
|
134
152
|
function commitTraversalIndexFromHistoryState(historyState) {
|
|
135
153
|
commitHistoryTraversalIndex(readHistoryStateTraversalIndex(historyState));
|
|
136
154
|
}
|
|
155
|
+
function restoreHistoryStateSnapshot(historyState) {
|
|
156
|
+
const decision = restorableClientState.resolveHistoryStateSnapshotRestore(historyState);
|
|
157
|
+
if (decision.kind === "skip") return false;
|
|
158
|
+
const navId = browserNavigationController.getActiveNavigationId();
|
|
159
|
+
let restored = false;
|
|
160
|
+
flushSync(() => {
|
|
161
|
+
restored = browserNavigationController.restoreHistorySnapshotVisibleState({
|
|
162
|
+
beforeCommit: () => {
|
|
163
|
+
commitHistoryTraversalIndex(decision.targetHistoryIndex);
|
|
164
|
+
stageClientParams(decision.state.navigationSnapshot.params);
|
|
165
|
+
},
|
|
166
|
+
navId,
|
|
167
|
+
state: decision.state,
|
|
168
|
+
targetHref: window.location.href
|
|
169
|
+
});
|
|
170
|
+
});
|
|
171
|
+
if (!restored) return false;
|
|
172
|
+
commitClientNavigationState();
|
|
173
|
+
return true;
|
|
174
|
+
}
|
|
137
175
|
function getBrowserRouterState() {
|
|
138
176
|
return browserNavigationController.getBrowserRouterState();
|
|
139
177
|
}
|
|
@@ -166,6 +204,7 @@ function clearPrefetchState() {
|
|
|
166
204
|
function clearClientNavigationCaches() {
|
|
167
205
|
clearVisitedResponseCache();
|
|
168
206
|
clearPrefetchState();
|
|
207
|
+
restorableClientState.invalidateClientState();
|
|
169
208
|
}
|
|
170
209
|
function isSettledPrefetchCacheEntry(entry) {
|
|
171
210
|
return entry.outcome === "cache-seeded" && entry.pending === void 0 && entry.snapshot !== void 0;
|
|
@@ -184,7 +223,7 @@ function parsePrefetchCacheKey(cacheKey) {
|
|
|
184
223
|
async function learnOptimisticRouteTemplateFromPrefetch(options) {
|
|
185
224
|
const source = parsePrefetchCacheKey(options.cacheKey);
|
|
186
225
|
if (source.interceptionContext !== options.interceptionContext) return false;
|
|
187
|
-
if ((options.entry
|
|
226
|
+
if (resolvePrefetchCacheEntryMountedSlotsHeader(options.entry) !== options.mountedSlotsHeader) return false;
|
|
188
227
|
if (options.interceptionContext !== null) return false;
|
|
189
228
|
const elements = await decodeAppElementsPromise(createFromFetch(Promise.resolve(restoreRscResponse(options.entry.snapshot))));
|
|
190
229
|
const template = createOptimisticRouteTemplate({
|
|
@@ -233,12 +272,27 @@ async function learnOptimisticRouteTemplatesFromPrefetchCache(options) {
|
|
|
233
272
|
if (learning.length === 0) return;
|
|
234
273
|
await Promise.allSettled(learning);
|
|
235
274
|
}
|
|
236
|
-
function
|
|
237
|
-
if (
|
|
238
|
-
|
|
275
|
+
function areBfcacheIdMapsEqual(a, b) {
|
|
276
|
+
if (a === b) return true;
|
|
277
|
+
if (a === null || b === null) return false;
|
|
278
|
+
const aEntries = Object.entries(a);
|
|
279
|
+
const bEntries = Object.entries(b);
|
|
280
|
+
if (aEntries.length !== bEntries.length) return false;
|
|
281
|
+
return aEntries.every(([key, value]) => b[key] === value);
|
|
282
|
+
}
|
|
283
|
+
function isHistoryStateNavigationMetadataInSync(state, previousNextUrl, bfcacheIds) {
|
|
284
|
+
return readHistoryStatePreviousNextUrl(state) === previousNextUrl && (bfcacheIds === void 0 || areBfcacheIdMapsEqual(readHistoryStateBfcacheIds(state), bfcacheIds) && restorableClientState.isCurrentBfcacheVersion(state));
|
|
285
|
+
}
|
|
286
|
+
function syncCurrentHistoryStatePreviousNextUrl(previousNextUrl, bfcacheIds) {
|
|
287
|
+
if (isHistoryStateNavigationMetadataInSync(window.history.state, previousNextUrl, bfcacheIds)) return;
|
|
288
|
+
const nextHistoryState = createHistoryStateWithNavigationMetadata(window.history.state, {
|
|
289
|
+
bfcacheIds,
|
|
290
|
+
bfcacheVersion: bfcacheIds === void 0 ? void 0 : restorableClientState.currentBfcacheVersion,
|
|
291
|
+
previousNextUrl
|
|
292
|
+
});
|
|
293
|
+
replaceHistoryStateWithoutNotify(nextHistoryState, "", window.location.href);
|
|
294
|
+
if (isHistoryStateNavigationMetadataInSync(window.history.state, previousNextUrl, bfcacheIds)) return;
|
|
239
295
|
replaceHistoryStateWithoutNotify(nextHistoryState, "", window.location.href);
|
|
240
|
-
if (readHistoryStatePreviousNextUrl(window.history.state) === previousNextUrl) return;
|
|
241
|
-
window.history.replaceState(nextHistoryState, "", window.location.href);
|
|
242
296
|
}
|
|
243
297
|
function createActionInitiationSnapshot() {
|
|
244
298
|
const routerState = getBrowserRouterState();
|
|
@@ -249,7 +303,7 @@ function createActionInitiationSnapshot() {
|
|
|
249
303
|
});
|
|
250
304
|
}
|
|
251
305
|
function createNavigationCommitEffect(options) {
|
|
252
|
-
const { href, historyUpdateMode, navId, params, previousNextUrl, targetHistoryIndex } = options;
|
|
306
|
+
const { bfcacheIds, href, historyUpdateMode, navId, params, previousNextUrl, targetHistoryIndex } = options;
|
|
253
307
|
return () => {
|
|
254
308
|
if (!browserNavigationController.isCurrentNavigation(navId)) {
|
|
255
309
|
commitClientNavigationState(void 0, { releaseSnapshot: true });
|
|
@@ -259,6 +313,8 @@ function createNavigationCommitEffect(options) {
|
|
|
259
313
|
const preserveExistingState = historyUpdateMode === "replace";
|
|
260
314
|
const navigationHistoryIndex = targetHistoryIndex !== void 0 ? targetHistoryIndex : allocateNavigationHistoryTraversalIndex(historyUpdateMode);
|
|
261
315
|
const historyState = createHistoryStateWithNavigationMetadata(preserveExistingState ? window.history.state : null, {
|
|
316
|
+
bfcacheIds,
|
|
317
|
+
bfcacheVersion: restorableClientState.currentBfcacheVersion,
|
|
262
318
|
previousNextUrl,
|
|
263
319
|
traversalIndex: navigationHistoryIndex
|
|
264
320
|
});
|
|
@@ -275,7 +331,7 @@ function createNavigationCommitEffect(options) {
|
|
|
275
331
|
commitHistoryTraversalIndex(navigationHistoryIndex);
|
|
276
332
|
}
|
|
277
333
|
if (!wroteHistoryState) {
|
|
278
|
-
syncCurrentHistoryStatePreviousNextUrl(previousNextUrl);
|
|
334
|
+
syncCurrentHistoryStatePreviousNextUrl(previousNextUrl, bfcacheIds);
|
|
279
335
|
stageClientParams(params);
|
|
280
336
|
if (targetHistoryIndex !== void 0) commitHistoryTraversalIndex(targetHistoryIndex);
|
|
281
337
|
}
|
|
@@ -283,7 +339,7 @@ function createNavigationCommitEffect(options) {
|
|
|
283
339
|
commitClientNavigationState(navId);
|
|
284
340
|
};
|
|
285
341
|
}
|
|
286
|
-
async function renderNavigationPayload(payload, navigationSnapshot, targetHref, navId, historyUpdateMode, params, previousNextUrl, pendingRouterState, payloadOrigin, actionType = "navigate", operationLane = "navigation", traversalIntent = null, scrollIntent = null) {
|
|
342
|
+
async function renderNavigationPayload(payload, navigationSnapshot, targetHref, navId, historyUpdateMode, params, previousNextUrl, pendingRouterState, payloadOrigin, actionType = "navigate", operationLane = "navigation", traversalIntent = null, scrollIntent = null, restoredBfcacheIds = null, reuseCurrentBfcacheIds = true) {
|
|
287
343
|
syncServerActionHttpFallbackHead(null);
|
|
288
344
|
try {
|
|
289
345
|
return await browserNavigationController.renderNavigationPayload({
|
|
@@ -301,6 +357,8 @@ async function renderNavigationPayload(payload, navigationSnapshot, targetHref,
|
|
|
301
357
|
pendingRouterState,
|
|
302
358
|
previousNextUrl,
|
|
303
359
|
scrollIntent,
|
|
360
|
+
restoredBfcacheIds,
|
|
361
|
+
reuseCurrentBfcacheIds,
|
|
304
362
|
targetHistoryIndex: traversalIntent === null ? void 0 : traversalIntent.targetHistoryIndex,
|
|
305
363
|
targetHref,
|
|
306
364
|
navId
|
|
@@ -382,18 +440,10 @@ function getVisitedResponse(rscUrl, interceptionContext, mountedSlotsHeader, nav
|
|
|
382
440
|
visitedResponseCache.delete(cacheKey);
|
|
383
441
|
return null;
|
|
384
442
|
}
|
|
385
|
-
if (
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
visitedResponseCache.delete(cacheKey);
|
|
390
|
-
return null;
|
|
391
|
-
}
|
|
392
|
-
visitedResponseCache.delete(cacheKey);
|
|
393
|
-
visitedResponseCache.set(cacheKey, cached);
|
|
394
|
-
return cached;
|
|
395
|
-
}
|
|
396
|
-
if (cached.expiresAt > Date.now()) {
|
|
443
|
+
if (isVisitedResponseCacheEntryFresh(cached, {
|
|
444
|
+
navigationKind,
|
|
445
|
+
now: Date.now()
|
|
446
|
+
})) {
|
|
397
447
|
visitedResponseCache.delete(cacheKey);
|
|
398
448
|
visitedResponseCache.set(cacheKey, cached);
|
|
399
449
|
return cached;
|
|
@@ -401,16 +451,23 @@ function getVisitedResponse(rscUrl, interceptionContext, mountedSlotsHeader, nav
|
|
|
401
451
|
visitedResponseCache.delete(cacheKey);
|
|
402
452
|
return null;
|
|
403
453
|
}
|
|
454
|
+
function deleteVisitedResponse(rscUrl, interceptionContext) {
|
|
455
|
+
visitedResponseCache.delete(AppElementsWire.encodeCacheKey(rscUrl, interceptionContext));
|
|
456
|
+
}
|
|
404
457
|
function storeVisitedResponseSnapshot(rscUrl, interceptionContext, snapshot, params) {
|
|
405
458
|
const cacheKey = AppElementsWire.encodeCacheKey(rscUrl, interceptionContext);
|
|
406
459
|
visitedResponseCache.delete(cacheKey);
|
|
407
460
|
evictVisitedResponseCacheIfNeeded();
|
|
408
461
|
const now = Date.now();
|
|
409
|
-
visitedResponseCache.set(cacheKey, {
|
|
462
|
+
visitedResponseCache.set(cacheKey, createVisitedResponseCacheEntry({
|
|
463
|
+
now,
|
|
410
464
|
params,
|
|
411
|
-
expiresAt: now + VISITED_RESPONSE_CACHE_TTL,
|
|
412
465
|
response: snapshot
|
|
413
|
-
});
|
|
466
|
+
}));
|
|
467
|
+
}
|
|
468
|
+
function isSamePageSearchNavigation(currentSnapshot, targetUrl) {
|
|
469
|
+
if (stripBasePath(targetUrl.pathname, __basePath) !== currentSnapshot.pathname) return false;
|
|
470
|
+
return targetUrl.searchParams.toString() !== currentSnapshot.searchParams.toString();
|
|
414
471
|
}
|
|
415
472
|
function getRequestState(navigationKind, targetPathname, previousNextUrlOverride, traverseHistoryState) {
|
|
416
473
|
if (previousNextUrlOverride !== void 0) return {
|
|
@@ -434,6 +491,16 @@ function getRequestState(navigationKind, targetPathname, previousNextUrlOverride
|
|
|
434
491
|
interceptionContext: manifestInterceptionContext,
|
|
435
492
|
previousNextUrl: window.location.pathname + window.location.search
|
|
436
493
|
};
|
|
494
|
+
const middlewareRewriteInterceptionContext = resolveMiddlewareRewriteNavigationInterceptionContext({
|
|
495
|
+
basePath: __basePath,
|
|
496
|
+
currentPathname: window.location.pathname,
|
|
497
|
+
routeManifest: getBrowserRouteManifest(),
|
|
498
|
+
targetPathname
|
|
499
|
+
});
|
|
500
|
+
if (middlewareRewriteInterceptionContext !== null) return {
|
|
501
|
+
interceptionContext: middlewareRewriteInterceptionContext,
|
|
502
|
+
previousNextUrl: window.location.pathname + window.location.search
|
|
503
|
+
};
|
|
437
504
|
return {
|
|
438
505
|
interceptionContext: null,
|
|
439
506
|
previousNextUrl: null
|
|
@@ -494,8 +561,9 @@ function decodeAppElementsPromise(payload) {
|
|
|
494
561
|
function BrowserRoot({ initialElements, initialNavigationSnapshot }) {
|
|
495
562
|
const resolvedElements = use(initialElements);
|
|
496
563
|
const initialMetadata = AppElementsWire.readMetadata(resolvedElements);
|
|
497
|
-
const [treeStateValue, setTreeStateValue] = useState({
|
|
564
|
+
const [treeStateValue, setTreeStateValue] = useState(() => ({
|
|
498
565
|
activeOperation: null,
|
|
566
|
+
bfcacheIds: createInitialBfcacheIdMap(resolvedElements),
|
|
499
567
|
elements: resolvedElements,
|
|
500
568
|
interception: initialMetadata.interception,
|
|
501
569
|
interceptionContext: initialMetadata.interceptionContext,
|
|
@@ -508,7 +576,7 @@ function BrowserRoot({ initialElements, initialNavigationSnapshot }) {
|
|
|
508
576
|
routeId: initialMetadata.routeId,
|
|
509
577
|
slotBindings: initialMetadata.slotBindings,
|
|
510
578
|
visibleCommitVersion: 0
|
|
511
|
-
});
|
|
579
|
+
}));
|
|
512
580
|
if (isMpaNavigationState(treeStateValue)) {
|
|
513
581
|
performMpaNavigation(treeStateValue.href, treeStateValue.historyUpdateMode);
|
|
514
582
|
throw unresolvedMpaNavigation;
|
|
@@ -541,6 +609,12 @@ function BrowserRoot({ initialElements, initialNavigationSnapshot }) {
|
|
|
541
609
|
setMountedSlotsHeader(null);
|
|
542
610
|
};
|
|
543
611
|
}, [setTreeStateValue]);
|
|
612
|
+
useLayoutEffect(() => {
|
|
613
|
+
restorableClientState.rememberHistoryStateSnapshot({
|
|
614
|
+
historyIndex: currentHistoryTraversalIndex,
|
|
615
|
+
state: treeState
|
|
616
|
+
});
|
|
617
|
+
}, [treeState]);
|
|
544
618
|
useLayoutEffect(() => {
|
|
545
619
|
setMountedSlotsHeader(getMountedSlotIdsHeader(stateRef.current.elements));
|
|
546
620
|
removeStylesheetLinksCoveredByInlineCss();
|
|
@@ -549,12 +623,24 @@ function BrowserRoot({ initialElements, initialNavigationSnapshot }) {
|
|
|
549
623
|
useLayoutEffect(() => {
|
|
550
624
|
if (treeState.renderId !== 0) return;
|
|
551
625
|
replaceHistoryStateWithoutNotify(createHistoryStateWithNavigationMetadata(window.history.state, {
|
|
626
|
+
bfcacheIds: treeState.bfcacheIds,
|
|
627
|
+
bfcacheVersion: restorableClientState.currentBfcacheVersion,
|
|
552
628
|
previousNextUrl: treeState.previousNextUrl,
|
|
553
629
|
traversalIndex: currentHistoryTraversalIndex
|
|
554
630
|
}), "", window.location.href);
|
|
555
|
-
}, [
|
|
631
|
+
}, [
|
|
632
|
+
treeState.bfcacheIds,
|
|
633
|
+
treeState.previousNextUrl,
|
|
634
|
+
treeState.renderId
|
|
635
|
+
]);
|
|
556
636
|
const routeTree = createElement(RedirectBoundary, null, createElement(NavigationCommitSignal, { renderId: treeState.renderId }, createElement(ElementsContext.Provider, { value: treeState.elements }, createElement(Slot, { id: treeState.routeId }))));
|
|
557
|
-
const
|
|
637
|
+
const bfcacheStateKeys = useMemo(() => createBfcacheSegmentStateKeyMap({
|
|
638
|
+
elements: treeState.elements,
|
|
639
|
+
pathname: treeState.navigationSnapshot.pathname
|
|
640
|
+
}), [treeState.elements, treeState.navigationSnapshot.pathname]);
|
|
641
|
+
const stateKeyTree = createElement(BfcacheStateKeyMapContext.Provider, { value: bfcacheStateKeys }, routeTree);
|
|
642
|
+
const redirectedTree = createElement(AppRouterRedirectBridge, null, BfcacheIdMapContext ? createElement(BfcacheIdMapContext.Provider, { value: treeState.bfcacheIds }, stateKeyTree) : stateKeyTree);
|
|
643
|
+
const innerTree = AppRouterContext ? createElement(AppRouterContext.Provider, { value: appRouterInstance }, redirectedTree) : redirectedTree;
|
|
558
644
|
const committedTree = import.meta.env.DEV ? createElement(DevRecoveryBoundary, {
|
|
559
645
|
resetKey: treeState.renderId,
|
|
560
646
|
onCatch: handleDevRecoveryBoundaryCatch
|
|
@@ -579,16 +665,16 @@ function restorePopstateScrollPosition(state, options) {
|
|
|
579
665
|
return;
|
|
580
666
|
}
|
|
581
667
|
const y = Number(state.__vinext_scrollY);
|
|
582
|
-
retryScrollTo("__vinext_scrollX" in state ? Number(state.__vinext_scrollX) : 0, y, {
|
|
668
|
+
retryScrollTo("__vinext_scrollX" in state ? Number(state.__vinext_scrollX) : 0, y, {
|
|
669
|
+
minFrames: 1,
|
|
670
|
+
shouldContinue
|
|
671
|
+
});
|
|
583
672
|
}
|
|
584
673
|
function isSameAppRoutePopstateTarget(href) {
|
|
585
674
|
if (!hasBrowserRouterState()) return false;
|
|
586
675
|
const target = new URL(href, window.location.origin);
|
|
587
676
|
const routerState = getBrowserRouterState();
|
|
588
|
-
|
|
589
|
-
const targetSearch = new URLSearchParams(target.search).toString();
|
|
590
|
-
const currentSearch = routerState.navigationSnapshot.searchParams.toString();
|
|
591
|
-
return targetPathname === routerState.navigationSnapshot.pathname && targetSearch === currentSearch;
|
|
677
|
+
return createBasePathStrippedPathAndSearch(target, __basePath) === createSnapshotPathAndSearch(routerState.navigationSnapshot);
|
|
592
678
|
}
|
|
593
679
|
let isPageUnloading = false;
|
|
594
680
|
const RSC_RELOAD_KEY = "__vinext_rsc_initial_reload__";
|
|
@@ -669,11 +755,11 @@ function applyRuntimeRscBootstrap(rsc) {
|
|
|
669
755
|
if (rsc.nav) restoreHydrationNavigationContext(rsc.nav.pathname, rsc.nav.searchParams, params);
|
|
670
756
|
}
|
|
671
757
|
function registerServerActionCallback() {
|
|
672
|
-
|
|
758
|
+
const serverActionCallback = async (id, args) => {
|
|
673
759
|
syncServerActionHttpFallbackHead(null);
|
|
674
760
|
const temporaryReferences = createTemporaryReferenceSet();
|
|
675
761
|
const actionInitiation = createActionInitiationSnapshot();
|
|
676
|
-
syncCurrentHistoryStatePreviousNextUrl(actionInitiation.routerState.previousNextUrl);
|
|
762
|
+
syncCurrentHistoryStatePreviousNextUrl(actionInitiation.routerState.previousNextUrl, actionInitiation.routerState.bfcacheIds);
|
|
677
763
|
const body = await encodeReply(args, { temporaryReferences });
|
|
678
764
|
const { headers } = resolveServerActionRequestState({
|
|
679
765
|
actionId: id,
|
|
@@ -711,6 +797,7 @@ function registerServerActionCallback() {
|
|
|
711
797
|
return;
|
|
712
798
|
}
|
|
713
799
|
const revalidation = parseServerActionRevalidationHeader(fetchResponse.headers);
|
|
800
|
+
if (revalidation !== "none") clearClientNavigationCaches();
|
|
714
801
|
const invalidResponseError = await readInvalidServerActionResponseError(fetchResponse.clone(), actionRedirectTarget !== null);
|
|
715
802
|
if (invalidResponseError) throw invalidResponseError;
|
|
716
803
|
if (actionRedirectTarget && !shouldCheckRscCompatibilityForServerActionResponse(fetchResponse)) {
|
|
@@ -723,7 +810,7 @@ function registerServerActionCallback() {
|
|
|
723
810
|
statusText: "OK"
|
|
724
811
|
}) : fetchResponse;
|
|
725
812
|
const result = await createFromFetch(Promise.resolve(flightResponse), { temporaryReferences });
|
|
726
|
-
if (shouldClearClientNavigationCachesForServerActionResult(result, revalidation)) clearClientNavigationCaches();
|
|
813
|
+
if (revalidation === "none" && shouldClearClientNavigationCachesForServerActionResult(result, revalidation)) clearClientNavigationCaches();
|
|
727
814
|
if (actionRedirectTarget) {
|
|
728
815
|
if (isServerActionResult(result) && result.root !== void 0) {
|
|
729
816
|
const decoded = AppElementsWire.decode(result.root);
|
|
@@ -754,16 +841,24 @@ function registerServerActionCallback() {
|
|
|
754
841
|
return;
|
|
755
842
|
}
|
|
756
843
|
return commitSameUrlNavigatePayload(Promise.resolve(AppElementsWire.decode(result)), actionInitiation, void 0, revalidation);
|
|
844
|
+
};
|
|
845
|
+
setServerCallback((id, args) => {
|
|
846
|
+
const releaseCacheInvalidationGuard = restorableClientState.beginCacheInvalidationGuard();
|
|
847
|
+
return Promise.resolve().then(() => serverActionCallback(id, args)).finally(releaseCacheInvalidationGuard);
|
|
757
848
|
});
|
|
758
849
|
}
|
|
759
850
|
async function main() {
|
|
760
851
|
registerServerActionCallback();
|
|
852
|
+
if (import.meta.env.DEV) {
|
|
853
|
+
installDevErrorOverlay();
|
|
854
|
+
installViteHmrErrorHandler(import.meta.hot);
|
|
855
|
+
reportInitialDevServerErrors();
|
|
856
|
+
}
|
|
761
857
|
const rscStream = await readInitialRscStream();
|
|
762
858
|
if (rscStream === null) return;
|
|
763
859
|
bootstrapHydration(rscStream);
|
|
764
860
|
}
|
|
765
861
|
function bootstrapHydration(rscStream) {
|
|
766
|
-
if (import.meta.env.DEV) installDevErrorOverlay();
|
|
767
862
|
const root = decodeAppElementsPromise(createFromReadableStream(rscStream));
|
|
768
863
|
const initialNavigationSnapshot = createClientNavigationRenderSnapshot(window.location.href, latestClientParams);
|
|
769
864
|
replaceHistoryStateWithoutNotify(createHistoryStateWithNavigationMetadata(window.history.state, {
|
|
@@ -810,6 +905,8 @@ function bootstrapHydration(rscStream) {
|
|
|
810
905
|
consumeAppRouterScrollIntent(scrollIntent ?? null);
|
|
811
906
|
return browserNavigationController.performHardNavigation(targetHref);
|
|
812
907
|
};
|
|
908
|
+
let restoredBfcacheIds = navigationKind === "traverse" ? restorableClientState.readCurrentBfcacheVersionHistoryIds(activeTraversalIntent?.historyState ?? window.history.state) : null;
|
|
909
|
+
const reuseCurrentBfcacheIds = navigationKind !== "traverse" || !restorableClientState.isCacheInvalidationGuarded() && restorableClientState.isCurrentBfcacheVersion(activeTraversalIntent?.historyState ?? window.history.state);
|
|
813
910
|
try {
|
|
814
911
|
const shouldUsePendingRouterState = programmaticTransition;
|
|
815
912
|
if (shouldUsePendingRouterState && hasBrowserRouterState()) pendingRouterState = beginPendingBrowserRouterState();
|
|
@@ -823,17 +920,19 @@ function bootstrapHydration(rscStream) {
|
|
|
823
920
|
const requestState = getRequestState(navigationKind, url.pathname, currentPrevNextUrl, activeTraversalIntent?.historyState);
|
|
824
921
|
const requestInterceptionContext = requestState.interceptionContext;
|
|
825
922
|
const requestPreviousNextUrl = requestState.previousNextUrl;
|
|
826
|
-
if (navigationKind === "refresh") syncCurrentHistoryStatePreviousNextUrl(requestPreviousNextUrl);
|
|
923
|
+
if (navigationKind === "refresh") syncCurrentHistoryStatePreviousNextUrl(requestPreviousNextUrl, getBrowserRouterState().bfcacheIds);
|
|
827
924
|
setPendingPathname(url.pathname, navId);
|
|
828
|
-
const
|
|
925
|
+
const routerStateAtNavStart = getBrowserRouterState();
|
|
926
|
+
const elementsAtNavStart = routerStateAtNavStart.elements;
|
|
829
927
|
const mountedSlotsHeader = getMountedSlotIdsHeader(elementsAtNavStart);
|
|
928
|
+
const shouldBypassNavigationCache = navigationKind === "navigate" && isSamePageSearchNavigation(routerStateAtNavStart.navigationSnapshot, url);
|
|
830
929
|
const requestHeaders = createRscRequestHeaders({
|
|
831
930
|
interceptionContext: requestInterceptionContext,
|
|
931
|
+
mountedSlotsHeader,
|
|
832
932
|
renderMode: navigationKind === "refresh" ? APP_RSC_RENDER_MODE_REFRESH_PRESERVE_UI : void 0
|
|
833
933
|
});
|
|
834
|
-
if (mountedSlotsHeader) requestHeaders.set(VINEXT_MOUNTED_SLOTS_HEADER, mountedSlotsHeader);
|
|
835
934
|
const rscUrl = await createRscRequestUrl(url.pathname + url.search, requestHeaders);
|
|
836
|
-
const cachedRoute = getVisitedResponse(rscUrl, requestInterceptionContext, mountedSlotsHeader, navigationKind);
|
|
935
|
+
const cachedRoute = shouldBypassNavigationCache ? null : getVisitedResponse(rscUrl, requestInterceptionContext, mountedSlotsHeader, navigationKind);
|
|
837
936
|
if (cachedRoute) {
|
|
838
937
|
const compatibilityDecision = resolveRscCompatibilityNavigationDecision({
|
|
839
938
|
clientCompatibilityId: CLIENT_RSC_COMPATIBILITY_ID,
|
|
@@ -846,21 +945,47 @@ function bootstrapHydration(rscStream) {
|
|
|
846
945
|
performHardNavigationForScrollIntent(compatibilityDecision.hardNavigationTarget);
|
|
847
946
|
return;
|
|
848
947
|
}
|
|
948
|
+
const cachedRedirectDecision = resolveRscRedirectLifecycleHop({
|
|
949
|
+
currentHref,
|
|
950
|
+
historyUpdateMode: currentHistoryMode ?? "replace",
|
|
951
|
+
origin: window.location.origin,
|
|
952
|
+
redirectDepth: redirectCount,
|
|
953
|
+
requestPreviousNextUrl,
|
|
954
|
+
responseUrl: cachedRoute.response.url
|
|
955
|
+
});
|
|
956
|
+
if (cachedRedirectDecision.kind === "terminal-hard-navigation") {
|
|
957
|
+
if (cachedRedirectDecision.reason === "maxRedirectsExceeded") console.error("[vinext] Too many RSC redirects — aborting navigation to prevent infinite loop.");
|
|
958
|
+
performHardNavigationForScrollIntent(cachedRedirectDecision.href);
|
|
959
|
+
return;
|
|
960
|
+
}
|
|
961
|
+
if (cachedRedirectDecision.kind === "follow") {
|
|
962
|
+
if (navigationKind === "traverse") restoredBfcacheIds = null;
|
|
963
|
+
currentHref = cachedRedirectDecision.href;
|
|
964
|
+
currentHistoryMode = cachedRedirectDecision.historyUpdateMode;
|
|
965
|
+
currentPrevNextUrl = cachedRedirectDecision.previousNextUrl;
|
|
966
|
+
redirectCount = cachedRedirectDecision.redirectDepth;
|
|
967
|
+
continue;
|
|
968
|
+
}
|
|
849
969
|
if (!browserNavigationController.isCurrentNavigation(navId)) return;
|
|
850
970
|
const cachedParams = cachedRoute.params;
|
|
851
971
|
const cachedNavigationSnapshot = createClientNavigationRenderSnapshot(currentHref, cachedParams);
|
|
852
972
|
const cachedPayload = decodeAppElementsPromise(createFromFetch(Promise.resolve(restoreRscResponse(cachedRoute.response))));
|
|
853
973
|
if (!browserNavigationController.isCurrentNavigation(navId)) return;
|
|
854
|
-
await renderNavigationPayload(cachedPayload, cachedNavigationSnapshot, currentHref, navId, currentHistoryMode, cachedParams, requestPreviousNextUrl, detachedNavigationCommits ? null : pendingRouterState, VISITED_CACHE_APP_NAVIGATION_PAYLOAD_ORIGIN, toActionType(navigationKind), toOperationLane(navigationKind), activeTraversalIntent, scrollIntent)
|
|
974
|
+
if (await renderNavigationPayload(cachedPayload, cachedNavigationSnapshot, currentHref, navId, currentHistoryMode, cachedParams, requestPreviousNextUrl, detachedNavigationCommits ? null : pendingRouterState, VISITED_CACHE_APP_NAVIGATION_PAYLOAD_ORIGIN, toActionType(navigationKind), toOperationLane(navigationKind), activeTraversalIntent, scrollIntent, restoredBfcacheIds, reuseCurrentBfcacheIds) === "no-commit") {
|
|
975
|
+
deleteVisitedResponse(rscUrl, requestInterceptionContext);
|
|
976
|
+
continue;
|
|
977
|
+
}
|
|
855
978
|
return;
|
|
856
979
|
}
|
|
857
980
|
let navResponse;
|
|
981
|
+
let navResponseExpiresAt;
|
|
858
982
|
let navResponseUrl = null;
|
|
859
|
-
if (navigationKind !== "refresh") {
|
|
983
|
+
if (navigationKind !== "refresh" && !shouldBypassNavigationCache) {
|
|
860
984
|
const prefetchedResponse = await consumePrefetchResponseForNavigation(rscUrl, requestInterceptionContext, mountedSlotsHeader, { shouldConsume: () => browserNavigationController.isCurrentNavigation(navId) });
|
|
861
985
|
if (!browserNavigationController.isCurrentNavigation(navId)) return;
|
|
862
986
|
if (prefetchedResponse) {
|
|
863
987
|
navResponse = restoreRscResponse(prefetchedResponse, false);
|
|
988
|
+
navResponseExpiresAt = prefetchedResponse.expiresAt;
|
|
864
989
|
navResponseUrl = prefetchedResponse.url;
|
|
865
990
|
}
|
|
866
991
|
}
|
|
@@ -884,16 +1009,22 @@ function bootstrapHydration(rscStream) {
|
|
|
884
1009
|
if (optimisticPayload !== null) {
|
|
885
1010
|
detachedNavigationCommits = true;
|
|
886
1011
|
const optimisticNavigationSnapshot = createClientNavigationRenderSnapshot(currentHref, optimisticPayload.params);
|
|
887
|
-
renderNavigationPayload(Promise.resolve(optimisticPayload.elements), optimisticNavigationSnapshot, currentHref, navId, currentHistoryMode, optimisticPayload.params, requestPreviousNextUrl, null, FRESH_APP_NAVIGATION_PAYLOAD_ORIGIN, toActionType(navigationKind), toOperationLane(navigationKind), activeTraversalIntent, scrollIntent).catch((error) => {
|
|
1012
|
+
renderNavigationPayload(Promise.resolve(optimisticPayload.elements), optimisticNavigationSnapshot, currentHref, navId, currentHistoryMode, optimisticPayload.params, requestPreviousNextUrl, null, FRESH_APP_NAVIGATION_PAYLOAD_ORIGIN, toActionType(navigationKind), toOperationLane(navigationKind), activeTraversalIntent, scrollIntent, restoredBfcacheIds, reuseCurrentBfcacheIds).catch((error) => {
|
|
888
1013
|
if (browserNavigationController.isCurrentNavigation(navId)) console.error("[vinext] Optimistic RSC navigation error:", error);
|
|
889
1014
|
});
|
|
890
1015
|
}
|
|
891
1016
|
}
|
|
892
1017
|
}
|
|
893
|
-
if (!navResponse)
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
1018
|
+
if (!navResponse) {
|
|
1019
|
+
if (navigationKind === "navigate") {
|
|
1020
|
+
const clientReuseManifestHeader = createClientReuseManifestHeaderFromVisibleAppState(routerStateAtNavStart);
|
|
1021
|
+
if (clientReuseManifestHeader !== null) requestHeaders.set(VINEXT_CLIENT_REUSE_MANIFEST_HEADER, clientReuseManifestHeader);
|
|
1022
|
+
}
|
|
1023
|
+
navResponse = await fetch(rscUrl, {
|
|
1024
|
+
headers: requestHeaders,
|
|
1025
|
+
credentials: "include"
|
|
1026
|
+
});
|
|
1027
|
+
}
|
|
897
1028
|
if (!browserNavigationController.isCurrentNavigation(navId)) return;
|
|
898
1029
|
const isRscResponse = (navResponse.headers.get("content-type") ?? "").startsWith("text/x-component");
|
|
899
1030
|
if (!navResponse.ok || !isRscResponse || !navResponse.body) {
|
|
@@ -925,6 +1056,7 @@ function bootstrapHydration(rscStream) {
|
|
|
925
1056
|
return;
|
|
926
1057
|
}
|
|
927
1058
|
if (redirectDecision.kind === "follow") {
|
|
1059
|
+
if (navigationKind === "traverse") restoredBfcacheIds = null;
|
|
928
1060
|
currentHref = redirectDecision.href;
|
|
929
1061
|
currentHistoryMode = redirectDecision.historyUpdateMode;
|
|
930
1062
|
currentPrevNextUrl = redirectDecision.previousNextUrl;
|
|
@@ -944,7 +1076,10 @@ function bootstrapHydration(rscStream) {
|
|
|
944
1076
|
performHardNavigationForScrollIntent(resolvedTarget.href);
|
|
945
1077
|
return;
|
|
946
1078
|
}
|
|
1079
|
+
if (navigationKind === "traverse") restoredBfcacheIds = null;
|
|
947
1080
|
currentHref = `${resolvedTarget.pathname}${resolvedTarget.search}${resolvedTarget.hash}`;
|
|
1081
|
+
currentHistoryMode = currentHistoryMode ?? "replace";
|
|
1082
|
+
currentPrevNextUrl = requestPreviousNextUrl;
|
|
948
1083
|
redirectCount += 1;
|
|
949
1084
|
continue;
|
|
950
1085
|
}
|
|
@@ -961,17 +1096,22 @@ function bootstrapHydration(rscStream) {
|
|
|
961
1096
|
if (!browserNavigationController.isCurrentNavigation(navId)) return;
|
|
962
1097
|
const rscPayload = decodeAppElementsPromise(createFromFetch(Promise.resolve(reactResponse)));
|
|
963
1098
|
if (!browserNavigationController.isCurrentNavigation(navId)) return;
|
|
964
|
-
if (await renderNavigationPayload(rscPayload, navigationSnapshot, currentHref, navId, currentHistoryMode, navParams, requestPreviousNextUrl, detachedNavigationCommits ? null : pendingRouterState, FRESH_APP_NAVIGATION_PAYLOAD_ORIGIN, toActionType(navigationKind), toOperationLane(navigationKind), activeTraversalIntent, scrollIntent) !== "committed") return;
|
|
1099
|
+
if (await renderNavigationPayload(rscPayload, navigationSnapshot, currentHref, navId, currentHistoryMode, navParams, requestPreviousNextUrl, detachedNavigationCommits ? null : pendingRouterState, FRESH_APP_NAVIGATION_PAYLOAD_ORIGIN, toActionType(navigationKind), toOperationLane(navigationKind), activeTraversalIntent, scrollIntent, restoredBfcacheIds, reuseCurrentBfcacheIds) !== "committed") return;
|
|
965
1100
|
if (!browserNavigationController.isCurrentNavigation(navId)) return;
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
1101
|
+
try {
|
|
1102
|
+
const renderedElements = await rscPayload;
|
|
1103
|
+
const metadata = AppElementsWire.readMetadata(renderedElements);
|
|
1104
|
+
if (!isCacheRestorableAppPayloadMetadata(metadata)) {
|
|
1105
|
+
cacheBufferPromise.catch(() => {});
|
|
1106
|
+
return;
|
|
1107
|
+
}
|
|
1108
|
+
const cacheBuffer = await cacheBufferPromise;
|
|
1109
|
+
storeVisitedResponseSnapshot(rscUrl, resolveVisitedResponseInterceptionContext(requestInterceptionContext, metadata.interceptionContext), {
|
|
1110
|
+
...createCachedRscResponseSnapshot(navResponse, cacheBuffer, navResponseUrl),
|
|
1111
|
+
...navResponseExpiresAt !== void 0 ? { expiresAt: navResponseExpiresAt } : {},
|
|
1112
|
+
mountedSlotsHeader: getMountedSlotIdsHeader(renderedElements)
|
|
1113
|
+
}, navParams);
|
|
1114
|
+
} catch {}
|
|
975
1115
|
return;
|
|
976
1116
|
}
|
|
977
1117
|
} catch (error) {
|
|
@@ -984,7 +1124,6 @@ function bootstrapHydration(rscStream) {
|
|
|
984
1124
|
}
|
|
985
1125
|
}
|
|
986
1126
|
});
|
|
987
|
-
if ("scrollRestoration" in history) history.scrollRestoration = "manual";
|
|
988
1127
|
const handlePopstate = createPopstateRestoreHandler({
|
|
989
1128
|
getActiveNavigationId: browserNavigationController.getActiveNavigationId.bind(browserNavigationController),
|
|
990
1129
|
getPendingNavigation: () => window.__VINEXT_RSC_PENDING__,
|
|
@@ -996,7 +1135,8 @@ function bootstrapHydration(rscStream) {
|
|
|
996
1135
|
restorePopstateScrollPosition,
|
|
997
1136
|
setPendingNavigation: (pendingNavigation) => {
|
|
998
1137
|
window.__VINEXT_RSC_PENDING__ = pendingNavigation;
|
|
999
|
-
}
|
|
1138
|
+
},
|
|
1139
|
+
shouldSkipScrollRestore: (navId) => synchronousPopstateScrollRestoreNavigationId === navId
|
|
1000
1140
|
});
|
|
1001
1141
|
window.addEventListener("popstate", (event) => {
|
|
1002
1142
|
const href = window.location.href;
|
|
@@ -1007,27 +1147,45 @@ function bootstrapHydration(rscStream) {
|
|
|
1007
1147
|
return;
|
|
1008
1148
|
}
|
|
1009
1149
|
handlePopstate(event);
|
|
1150
|
+
if (restoreHistoryStateSnapshot(event.state)) restoreSynchronousPopstateScrollPosition({
|
|
1151
|
+
getActiveNavigationId: () => browserNavigationController.getActiveNavigationId(),
|
|
1152
|
+
isCurrentNavigation: (navId) => browserNavigationController.isCurrentNavigation(navId),
|
|
1153
|
+
markScrollRestoreConsumed: (navId) => {
|
|
1154
|
+
synchronousPopstateScrollRestoreNavigationId = navId;
|
|
1155
|
+
},
|
|
1156
|
+
restorePopstateScrollPosition
|
|
1157
|
+
}, event.state);
|
|
1010
1158
|
});
|
|
1011
1159
|
if (import.meta.hot) {
|
|
1012
|
-
const
|
|
1160
|
+
const applyRscHmrUpdate = async (updateId) => {
|
|
1161
|
+
if (updateId !== latestRscHmrUpdateId) return;
|
|
1162
|
+
if (document.documentElement.id === "__next_error__") {
|
|
1163
|
+
window.location.reload();
|
|
1164
|
+
return;
|
|
1165
|
+
}
|
|
1166
|
+
if (browserRouterStateHasEverCommitted && !browserNavigationController.hasBrowserRouterState()) {
|
|
1167
|
+
window.location.reload();
|
|
1168
|
+
return;
|
|
1169
|
+
}
|
|
1170
|
+
await waitForBrowserRouterStateReady();
|
|
1171
|
+
if (updateId !== latestRscHmrUpdateId) return;
|
|
1172
|
+
if (!browserNavigationController.hasBrowserRouterState()) return;
|
|
1173
|
+
clearClientNavigationCaches();
|
|
1174
|
+
const navigationSnapshot = createClientNavigationRenderSnapshot(window.location.href, latestClientParams);
|
|
1175
|
+
dismissOverlay();
|
|
1176
|
+
const hmrHeaders = createRscRequestHeaders();
|
|
1177
|
+
await browserNavigationController.hmrReplaceTree(decodeAppElementsPromise(createFromFetch(fetch(await createRscRequestUrl(window.location.pathname + window.location.search, hmrHeaders), { headers: hmrHeaders }))), navigationSnapshot);
|
|
1178
|
+
};
|
|
1179
|
+
const handleRscUpdate = async (updateId) => {
|
|
1013
1180
|
try {
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
return;
|
|
1017
|
-
}
|
|
1018
|
-
await waitForBrowserRouterStateReady();
|
|
1019
|
-
if (!browserNavigationController.hasBrowserRouterState()) return;
|
|
1020
|
-
clearClientNavigationCaches();
|
|
1021
|
-
const navigationSnapshot = createClientNavigationRenderSnapshot(window.location.href, latestClientParams);
|
|
1022
|
-
dismissOverlay();
|
|
1023
|
-
const hmrHeaders = createRscRequestHeaders();
|
|
1024
|
-
await browserNavigationController.hmrReplaceTree(decodeAppElementsPromise(createFromFetch(fetch(await createRscRequestUrl(window.location.pathname + window.location.search, hmrHeaders), { headers: hmrHeaders }))), navigationSnapshot);
|
|
1181
|
+
await waitForRscHmrSettle();
|
|
1182
|
+
await applyRscHmrUpdate(updateId);
|
|
1025
1183
|
} catch (error) {
|
|
1026
1184
|
console.error("[vinext] RSC HMR error:", error);
|
|
1027
1185
|
}
|
|
1028
1186
|
};
|
|
1029
1187
|
import.meta.hot.on("rsc:update", () => {
|
|
1030
|
-
handleRscUpdate();
|
|
1188
|
+
handleRscUpdate(++latestRscHmrUpdateId);
|
|
1031
1189
|
});
|
|
1032
1190
|
}
|
|
1033
1191
|
}
|
|
@@ -1047,5 +1205,3 @@ if (typeof document !== "undefined") {
|
|
|
1047
1205
|
}
|
|
1048
1206
|
//#endregion
|
|
1049
1207
|
export {};
|
|
1050
|
-
|
|
1051
|
-
//# sourceMappingURL=app-browser-entry.js.map
|