@qzsy/vinext 0.1.7
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/LICENSE +21 -0
- package/README.md +773 -0
- package/dist/build/assets-ignore.d.ts +32 -0
- package/dist/build/assets-ignore.js +48 -0
- package/dist/build/clean-output.d.ts +13 -0
- package/dist/build/clean-output.js +34 -0
- package/dist/build/client-build-config.d.ts +171 -0
- package/dist/build/client-build-config.js +270 -0
- package/dist/build/css-url-assets.d.ts +29 -0
- package/dist/build/css-url-assets.js +213 -0
- package/dist/build/google-fonts/build-url.d.ts +9 -0
- package/dist/build/google-fonts/build-url.js +28 -0
- package/dist/build/google-fonts/fallback-metrics-data.js +14029 -0
- package/dist/build/google-fonts/fallback-metrics.d.ts +12 -0
- package/dist/build/google-fonts/fallback-metrics.js +44 -0
- package/dist/build/google-fonts/find-font-files-in-css.d.ts +16 -0
- package/dist/build/google-fonts/find-font-files-in-css.js +28 -0
- package/dist/build/google-fonts/font-data.js +24983 -0
- package/dist/build/google-fonts/font-metadata.d.ts +16 -0
- package/dist/build/google-fonts/font-metadata.js +5 -0
- package/dist/build/google-fonts/get-axes.d.ts +6 -0
- package/dist/build/google-fonts/get-axes.js +37 -0
- package/dist/build/google-fonts/sort-variants.d.ts +4 -0
- package/dist/build/google-fonts/sort-variants.js +12 -0
- package/dist/build/google-fonts/validate.d.ts +27 -0
- package/dist/build/google-fonts/validate.js +54 -0
- package/dist/build/inline-css.d.ts +6 -0
- package/dist/build/inline-css.js +48 -0
- package/dist/build/layout-classification-types.d.ts +61 -0
- package/dist/build/layout-classification-types.js +1 -0
- package/dist/build/layout-classification.d.ts +59 -0
- package/dist/build/layout-classification.js +98 -0
- 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 +49 -0
- package/dist/build/nitro-route-rules.js +79 -0
- package/dist/build/precompress.d.ts +27 -0
- package/dist/build/precompress.js +110 -0
- package/dist/build/prerender.d.ts +209 -0
- package/dist/build/prerender.js +932 -0
- package/dist/build/report.d.ts +132 -0
- package/dist/build/report.js +504 -0
- package/dist/build/route-classification-injector.d.ts +34 -0
- package/dist/build/route-classification-injector.js +59 -0
- package/dist/build/route-classification-manifest.d.ts +52 -0
- package/dist/build/route-classification-manifest.js +143 -0
- package/dist/build/run-prerender.d.ts +61 -0
- package/dist/build/run-prerender.js +224 -0
- package/dist/build/server-manifest.d.ts +18 -0
- package/dist/build/server-manifest.js +22 -0
- package/dist/build/ssr-manifest.d.ts +18 -0
- package/dist/build/ssr-manifest.js +69 -0
- package/dist/build/standalone.d.ts +31 -0
- package/dist/build/standalone.js +203 -0
- package/dist/build/static-export.d.ts +55 -0
- package/dist/build/static-export.js +60 -0
- package/dist/cache/cache-adapters-virtual.d.ts +50 -0
- package/dist/cache/cache-adapters-virtual.js +45 -0
- package/dist/cache.d.ts +2 -0
- package/dist/cache.js +2 -0
- package/dist/check.d.ts +87 -0
- package/dist/check.js +1037 -0
- package/dist/cli-args.d.ts +33 -0
- package/dist/cli-args.js +124 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +744 -0
- package/dist/client/app-nav-failure-handler.d.ts +8 -0
- package/dist/client/app-nav-failure-handler.js +44 -0
- package/dist/client/empty-module.d.ts +1 -0
- package/dist/client/empty-module.js +1 -0
- package/dist/client/instrumentation-client-inject.d.ts +33 -0
- package/dist/client/instrumentation-client-inject.js +55 -0
- package/dist/client/instrumentation-client-state.d.ts +9 -0
- package/dist/client/instrumentation-client-state.js +17 -0
- package/dist/client/instrumentation-client.d.ts +7 -0
- package/dist/client/instrumentation-client.js +6 -0
- package/dist/client/navigation-runtime.d.ts +70 -0
- package/dist/client/navigation-runtime.js +169 -0
- package/dist/client/pages-router-link-navigation.d.ts +61 -0
- package/dist/client/pages-router-link-navigation.js +42 -0
- package/dist/client/validate-module-path.d.ts +17 -0
- package/dist/client/validate-module-path.js +24 -0
- package/dist/client/vinext-next-data.d.ts +44 -0
- package/dist/client/vinext-next-data.js +50 -0
- package/dist/client/window-next.d.ts +168 -0
- package/dist/client/window-next.js +57 -0
- package/dist/cloudflare/index.d.ts +3 -0
- package/dist/cloudflare/index.js +3 -0
- package/dist/cloudflare/src/cache/cdn-adapter.runtime.js +102 -0
- package/dist/cloudflare/src/cache/kv-data-adapter.runtime.d.ts +126 -0
- package/dist/cloudflare/src/cache/kv-data-adapter.runtime.js +435 -0
- package/dist/cloudflare/src/utils/cache-control-metadata.js +20 -0
- package/dist/cloudflare/tpr.d.ts +82 -0
- package/dist/cloudflare/tpr.js +558 -0
- package/dist/config/config-matchers.d.ts +257 -0
- package/dist/config/config-matchers.js +1046 -0
- package/dist/config/dotenv.d.ts +56 -0
- package/dist/config/dotenv.js +88 -0
- package/dist/config/next-config.d.ts +540 -0
- package/dist/config/next-config.js +1050 -0
- package/dist/config/tsconfig-paths.d.ts +21 -0
- package/dist/config/tsconfig-paths.js +157 -0
- package/dist/deploy.d.ts +190 -0
- package/dist/deploy.js +1033 -0
- package/dist/entries/app-browser-entry.d.ts +29 -0
- package/dist/entries/app-browser-entry.js +83 -0
- package/dist/entries/app-rsc-entry.d.ts +81 -0
- package/dist/entries/app-rsc-entry.js +943 -0
- package/dist/entries/app-rsc-manifest.d.ts +53 -0
- package/dist/entries/app-rsc-manifest.js +294 -0
- package/dist/entries/app-ssr-entry.d.ts +15 -0
- package/dist/entries/app-ssr-entry.js +24 -0
- package/dist/entries/pages-client-entry.d.ts +11 -0
- package/dist/entries/pages-client-entry.js +204 -0
- package/dist/entries/pages-entry-helpers.d.ts +2 -0
- package/dist/entries/pages-entry-helpers.js +2 -0
- package/dist/entries/pages-server-entry.d.ts +11 -0
- package/dist/entries/pages-server-entry.js +398 -0
- package/dist/entries/runtime-entry-module.d.ts +25 -0
- package/dist/entries/runtime-entry-module.js +46 -0
- package/dist/index.d.ts +115 -0
- package/dist/index.js +2661 -0
- package/dist/init.d.ts +69 -0
- package/dist/init.js +253 -0
- 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 +18 -0
- package/dist/plugins/async-hooks-stub.js +40 -0
- package/dist/plugins/client-reference-dedup.d.ts +35 -0
- package/dist/plugins/client-reference-dedup.js +189 -0
- package/dist/plugins/css-data-url.d.ts +6 -0
- package/dist/plugins/css-data-url.js +83 -0
- package/dist/plugins/dynamic-preload-metadata.d.ts +13 -0
- package/dist/plugins/dynamic-preload-metadata.js +413 -0
- package/dist/plugins/extensionless-dynamic-import.d.ts +6 -0
- package/dist/plugins/extensionless-dynamic-import.js +155 -0
- package/dist/plugins/fonts.d.ts +95 -0
- package/dist/plugins/fonts.js +711 -0
- package/dist/plugins/import-meta-url.d.ts +16 -0
- package/dist/plugins/import-meta-url.js +353 -0
- package/dist/plugins/instrumentation-client.d.ts +6 -0
- package/dist/plugins/instrumentation-client.js +27 -0
- package/dist/plugins/middleware-export-validation.d.ts +5 -0
- package/dist/plugins/middleware-export-validation.js +36 -0
- package/dist/plugins/middleware-server-only.d.ts +53 -0
- package/dist/plugins/middleware-server-only.js +90 -0
- package/dist/plugins/og-asset-ownership.d.ts +27 -0
- package/dist/plugins/og-asset-ownership.js +285 -0
- package/dist/plugins/og-assets.d.ts +50 -0
- package/dist/plugins/og-assets.js +229 -0
- package/dist/plugins/optimize-imports.d.ts +42 -0
- package/dist/plugins/optimize-imports.js +587 -0
- package/dist/plugins/postcss.d.ts +26 -0
- package/dist/plugins/postcss.js +96 -0
- package/dist/plugins/remove-console.d.ts +21 -0
- package/dist/plugins/remove-console.js +177 -0
- package/dist/plugins/require-context.d.ts +6 -0
- package/dist/plugins/require-context.js +185 -0
- package/dist/plugins/rsc-client-reference-loaders.d.ts +6 -0
- package/dist/plugins/rsc-client-reference-loaders.js +46 -0
- package/dist/plugins/rsc-client-shim-excludes.d.ts +6 -0
- package/dist/plugins/rsc-client-shim-excludes.js +35 -0
- package/dist/plugins/sass.d.ts +62 -0
- package/dist/plugins/sass.js +268 -0
- package/dist/plugins/server-externals-manifest.d.ts +26 -0
- package/dist/plugins/server-externals-manifest.js +81 -0
- package/dist/plugins/strip-server-exports.d.ts +21 -0
- package/dist/plugins/strip-server-exports.js +519 -0
- package/dist/plugins/typeof-window.d.ts +14 -0
- package/dist/plugins/typeof-window.js +150 -0
- package/dist/plugins/wasm-module-import.d.ts +15 -0
- package/dist/plugins/wasm-module-import.js +50 -0
- package/dist/routing/app-route-graph.d.ts +336 -0
- package/dist/routing/app-route-graph.js +1518 -0
- package/dist/routing/app-router.d.ts +30 -0
- package/dist/routing/app-router.js +59 -0
- package/dist/routing/file-matcher.d.ts +60 -0
- package/dist/routing/file-matcher.js +147 -0
- package/dist/routing/pages-router.d.ts +48 -0
- package/dist/routing/pages-router.js +163 -0
- package/dist/routing/route-matching.d.ts +27 -0
- package/dist/routing/route-matching.js +42 -0
- package/dist/routing/route-pattern.d.ts +64 -0
- package/dist/routing/route-pattern.js +165 -0
- package/dist/routing/route-trie.d.ts +67 -0
- package/dist/routing/route-trie.js +143 -0
- package/dist/routing/route-validation.d.ts +10 -0
- package/dist/routing/route-validation.js +101 -0
- package/dist/routing/utils.d.ts +117 -0
- package/dist/routing/utils.js +242 -0
- package/dist/server/accept-encoding.d.ts +29 -0
- package/dist/server/accept-encoding.js +95 -0
- package/dist/server/api-handler.d.ts +17 -0
- package/dist/server/api-handler.js +276 -0
- package/dist/server/app-action-request.d.ts +4 -0
- package/dist/server/app-action-request.js +9 -0
- package/dist/server/app-bfcache-id.d.ts +5 -0
- package/dist/server/app-bfcache-id.js +5 -0
- package/dist/server/app-bfcache-identity.d.ts +36 -0
- package/dist/server/app-bfcache-identity.js +156 -0
- package/dist/server/app-browser-action-result.d.ts +64 -0
- package/dist/server/app-browser-action-result.js +111 -0
- 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.d.ts +1 -0
- package/dist/server/app-browser-entry.js +1087 -0
- package/dist/server/app-browser-error.d.ts +13 -0
- package/dist/server/app-browser-error.js +52 -0
- package/dist/server/app-browser-history-controller.d.ts +104 -0
- package/dist/server/app-browser-history-controller.js +210 -0
- package/dist/server/app-browser-hydration.d.ts +32 -0
- package/dist/server/app-browser-hydration.js +29 -0
- package/dist/server/app-browser-interception-context.d.ts +24 -0
- package/dist/server/app-browser-interception-context.js +43 -0
- package/dist/server/app-browser-mpa-navigation.d.ts +16 -0
- package/dist/server/app-browser-mpa-navigation.js +42 -0
- package/dist/server/app-browser-navigation-controller.d.ts +109 -0
- package/dist/server/app-browser-navigation-controller.js +465 -0
- package/dist/server/app-browser-popstate.d.ts +26 -0
- package/dist/server/app-browser-popstate.js +44 -0
- package/dist/server/app-browser-rsc-redirect.d.ts +38 -0
- package/dist/server/app-browser-rsc-redirect.js +64 -0
- package/dist/server/app-browser-server-action-client.d.ts +32 -0
- package/dist/server/app-browser-server-action-client.js +128 -0
- package/dist/server/app-browser-server-action-navigation.d.ts +6 -0
- package/dist/server/app-browser-server-action-navigation.js +9 -0
- package/dist/server/app-browser-state.d.ts +140 -0
- package/dist/server/app-browser-state.js +315 -0
- package/dist/server/app-browser-stream.d.ts +28 -0
- package/dist/server/app-browser-stream.js +122 -0
- package/dist/server/app-browser-visible-commit.d.ts +78 -0
- package/dist/server/app-browser-visible-commit.js +241 -0
- package/dist/server/app-client-reference-preloader.d.ts +14 -0
- package/dist/server/app-client-reference-preloader.js +44 -0
- package/dist/server/app-elements-wire.d.ts +192 -0
- package/dist/server/app-elements-wire.js +443 -0
- package/dist/server/app-elements.d.ts +9 -0
- package/dist/server/app-elements.js +18 -0
- package/dist/server/app-fallback-renderer.d.ts +89 -0
- package/dist/server/app-fallback-renderer.js +136 -0
- package/dist/server/app-history-state.d.ts +85 -0
- package/dist/server/app-history-state.js +223 -0
- package/dist/server/app-hook-warning-suppression.d.ts +6 -0
- package/dist/server/app-hook-warning-suppression.js +10 -0
- package/dist/server/app-inline-css-client.d.ts +6 -0
- package/dist/server/app-inline-css-client.js +35 -0
- package/dist/server/app-interception-context-header.d.ts +32 -0
- package/dist/server/app-interception-context-header.js +42 -0
- package/dist/server/app-layout-param-observation.d.ts +43 -0
- package/dist/server/app-layout-param-observation.js +168 -0
- package/dist/server/app-middleware.d.ts +46 -0
- package/dist/server/app-middleware.js +168 -0
- package/dist/server/app-mounted-slots-header.d.ts +35 -0
- package/dist/server/app-mounted-slots-header.js +58 -0
- package/dist/server/app-optimistic-routing.d.ts +53 -0
- package/dist/server/app-optimistic-routing.js +227 -0
- package/dist/server/app-page-boundary-render.d.ts +85 -0
- package/dist/server/app-page-boundary-render.js +305 -0
- package/dist/server/app-page-boundary.d.ts +102 -0
- package/dist/server/app-page-boundary.js +120 -0
- package/dist/server/app-page-cache-finalizer.d.ts +62 -0
- package/dist/server/app-page-cache-finalizer.js +122 -0
- package/dist/server/app-page-cache-render.d.ts +53 -0
- package/dist/server/app-page-cache-render.js +91 -0
- package/dist/server/app-page-cache.d.ts +83 -0
- package/dist/server/app-page-cache.js +272 -0
- package/dist/server/app-page-dispatch.d.ts +223 -0
- package/dist/server/app-page-dispatch.js +610 -0
- package/dist/server/app-page-element-builder.d.ts +96 -0
- package/dist/server/app-page-element-builder.js +205 -0
- package/dist/server/app-page-execution.d.ts +138 -0
- package/dist/server/app-page-execution.js +328 -0
- package/dist/server/app-page-head.d.ts +65 -0
- package/dist/server/app-page-head.js +228 -0
- package/dist/server/app-page-method.d.ts +15 -0
- package/dist/server/app-page-method.js +25 -0
- package/dist/server/app-page-params.d.ts +8 -0
- package/dist/server/app-page-params.js +39 -0
- package/dist/server/app-page-ppr-runtime.d.ts +7 -0
- package/dist/server/app-page-ppr-runtime.js +70 -0
- package/dist/server/app-page-probe.d.ts +134 -0
- package/dist/server/app-page-probe.js +276 -0
- package/dist/server/app-page-render-identity.d.ts +21 -0
- package/dist/server/app-page-render-identity.js +40 -0
- package/dist/server/app-page-render-observation.d.ts +36 -0
- package/dist/server/app-page-render-observation.js +82 -0
- package/dist/server/app-page-render.d.ts +111 -0
- package/dist/server/app-page-render.js +602 -0
- package/dist/server/app-page-request.d.ts +137 -0
- package/dist/server/app-page-request.js +216 -0
- package/dist/server/app-page-response.d.ts +68 -0
- package/dist/server/app-page-response.js +120 -0
- package/dist/server/app-page-route-wiring.d.ts +151 -0
- package/dist/server/app-page-route-wiring.js +452 -0
- 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 +9 -0
- package/dist/server/app-page-segment-state.js +80 -0
- package/dist/server/app-page-stream.d.ts +151 -0
- package/dist/server/app-page-stream.js +143 -0
- package/dist/server/app-pages-bridge.d.ts +63 -0
- package/dist/server/app-pages-bridge.js +63 -0
- package/dist/server/app-post-middleware-context.d.ts +15 -0
- package/dist/server/app-post-middleware-context.js +26 -0
- package/dist/server/app-ppr-fallback-shell-render.d.ts +18 -0
- package/dist/server/app-ppr-fallback-shell-render.js +26 -0
- package/dist/server/app-ppr-fallback-shell.d.ts +33 -0
- package/dist/server/app-ppr-fallback-shell.js +89 -0
- package/dist/server/app-prerender-endpoints.d.ts +18 -0
- package/dist/server/app-prerender-endpoints.js +94 -0
- package/dist/server/app-prerender-static-params.d.ts +30 -0
- package/dist/server/app-prerender-static-params.js +81 -0
- package/dist/server/app-render-dependency.d.ts +14 -0
- package/dist/server/app-render-dependency.js +41 -0
- package/dist/server/app-request-context.d.ts +20 -0
- package/dist/server/app-request-context.js +29 -0
- package/dist/server/app-route-handler-cache.d.ts +46 -0
- package/dist/server/app-route-handler-cache.js +78 -0
- package/dist/server/app-route-handler-dispatch.d.ts +49 -0
- package/dist/server/app-route-handler-dispatch.js +163 -0
- package/dist/server/app-route-handler-execution.d.ts +86 -0
- package/dist/server/app-route-handler-execution.js +128 -0
- package/dist/server/app-route-handler-policy.d.ts +55 -0
- package/dist/server/app-route-handler-policy.js +58 -0
- package/dist/server/app-route-handler-response.d.ts +28 -0
- package/dist/server/app-route-handler-response.js +145 -0
- package/dist/server/app-route-handler-runtime.d.ts +39 -0
- package/dist/server/app-route-handler-runtime.js +250 -0
- package/dist/server/app-route-module-loader.d.ts +91 -0
- package/dist/server/app-route-module-loader.js +83 -0
- package/dist/server/app-router-entry.d.ts +13 -0
- package/dist/server/app-router-entry.js +49 -0
- package/dist/server/app-rsc-cache-busting.d.ts +64 -0
- package/dist/server/app-rsc-cache-busting.js +206 -0
- package/dist/server/app-rsc-embedded-chunks.d.ts +8 -0
- package/dist/server/app-rsc-embedded-chunks.js +32 -0
- package/dist/server/app-rsc-error-handler.d.ts +20 -0
- package/dist/server/app-rsc-error-handler.js +28 -0
- package/dist/server/app-rsc-errors.d.ts +40 -0
- package/dist/server/app-rsc-errors.js +60 -0
- package/dist/server/app-rsc-handler.d.ts +201 -0
- package/dist/server/app-rsc-handler.js +538 -0
- package/dist/server/app-rsc-render-mode.d.ts +11 -0
- package/dist/server/app-rsc-render-mode.js +25 -0
- package/dist/server/app-rsc-request-normalization.d.ts +48 -0
- package/dist/server/app-rsc-request-normalization.js +75 -0
- package/dist/server/app-rsc-response-finalizer.d.ts +37 -0
- package/dist/server/app-rsc-response-finalizer.js +54 -0
- package/dist/server/app-rsc-route-matching.d.ts +93 -0
- package/dist/server/app-rsc-route-matching.js +134 -0
- package/dist/server/app-segment-config.d.ts +46 -0
- package/dist/server/app-segment-config.js +113 -0
- package/dist/server/app-server-action-execution.d.ts +219 -0
- package/dist/server/app-server-action-execution.js +767 -0
- package/dist/server/app-ssr-entry.d.ts +52 -0
- package/dist/server/app-ssr-entry.js +295 -0
- package/dist/server/app-ssr-error-meta.d.ts +13 -0
- package/dist/server/app-ssr-error-meta.js +48 -0
- package/dist/server/app-ssr-router-instance.d.ts +6 -0
- package/dist/server/app-ssr-router-instance.js +24 -0
- package/dist/server/app-ssr-stream.d.ts +60 -0
- package/dist/server/app-ssr-stream.js +408 -0
- package/dist/server/app-static-generation.d.ts +15 -0
- package/dist/server/app-static-generation.js +19 -0
- 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 +54 -0
- package/dist/server/artifact-compatibility.js +91 -0
- package/dist/server/before-interactive-head.d.ts +17 -0
- package/dist/server/before-interactive-head.js +35 -0
- package/dist/server/cache-control.d.ts +37 -0
- package/dist/server/cache-control.js +56 -0
- package/dist/server/cache-headers.d.ts +6 -0
- package/dist/server/cache-headers.js +17 -0
- package/dist/server/cache-proof.d.ts +364 -0
- package/dist/server/cache-proof.js +794 -0
- package/dist/server/client-reuse-manifest.d.ts +104 -0
- package/dist/server/client-reuse-manifest.js +209 -0
- package/dist/server/client-trace-metadata.d.ts +30 -0
- package/dist/server/client-trace-metadata.js +81 -0
- package/dist/server/cookie-utils.d.ts +12 -0
- package/dist/server/cookie-utils.js +18 -0
- package/dist/server/csp.d.ts +10 -0
- package/dist/server/csp.js +41 -0
- package/dist/server/default-global-error-module.d.ts +19 -0
- package/dist/server/default-global-error-module.js +18 -0
- package/dist/server/default-not-found-module.d.ts +19 -0
- package/dist/server/default-not-found-module.js +18 -0
- package/dist/server/defer-until-stream-consumed.d.ts +7 -0
- package/dist/server/defer-until-stream-consumed.js +34 -0
- package/dist/server/dev-error-overlay-store.d.ts +39 -0
- package/dist/server/dev-error-overlay-store.js +86 -0
- package/dist/server/dev-error-overlay.d.ts +51 -0
- package/dist/server/dev-error-overlay.js +1341 -0
- 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 +109 -0
- package/dist/server/dev-lockfile.js +179 -0
- package/dist/server/dev-module-runner.d.ts +30 -0
- package/dist/server/dev-module-runner.js +91 -0
- package/dist/server/dev-origin-check.d.ts +62 -0
- package/dist/server/dev-origin-check.js +156 -0
- package/dist/server/dev-route-files.d.ts +6 -0
- package/dist/server/dev-route-files.js +71 -0
- package/dist/server/dev-server.d.ts +58 -0
- package/dist/server/dev-server.js +1114 -0
- 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 +6 -0
- package/dist/server/document-initial-head.js +33 -0
- package/dist/server/edge-api-runtime.d.ts +4 -0
- package/dist/server/edge-api-runtime.js +6 -0
- package/dist/server/file-based-metadata.d.ts +29 -0
- package/dist/server/file-based-metadata.js +401 -0
- package/dist/server/headers.d.ts +114 -0
- package/dist/server/headers.js +136 -0
- package/dist/server/html.d.ts +28 -0
- package/dist/server/html.js +41 -0
- package/dist/server/http-error-responses.d.ts +91 -0
- package/dist/server/http-error-responses.js +105 -0
- package/dist/server/hybrid-route-priority.d.ts +22 -0
- package/dist/server/hybrid-route-priority.js +33 -0
- package/dist/server/image-optimization.d.ts +130 -0
- package/dist/server/image-optimization.js +247 -0
- package/dist/server/implicit-tags.d.ts +6 -0
- package/dist/server/implicit-tags.js +44 -0
- package/dist/server/instrumentation-runtime.d.ts +49 -0
- package/dist/server/instrumentation-runtime.js +35 -0
- package/dist/server/instrumentation.d.ts +85 -0
- package/dist/server/instrumentation.js +130 -0
- package/dist/server/isr-cache.d.ts +127 -0
- package/dist/server/isr-cache.js +282 -0
- package/dist/server/isr-decision.d.ts +79 -0
- package/dist/server/isr-decision.js +70 -0
- package/dist/server/metadata-route-build-data.d.ts +24 -0
- package/dist/server/metadata-route-build-data.js +148 -0
- package/dist/server/metadata-route-response.d.ts +16 -0
- package/dist/server/metadata-route-response.js +205 -0
- package/dist/server/metadata-routes.d.ts +139 -0
- package/dist/server/metadata-routes.js +433 -0
- package/dist/server/middleware-matcher.d.ts +14 -0
- package/dist/server/middleware-matcher.js +111 -0
- package/dist/server/middleware-request-headers.d.ts +11 -0
- package/dist/server/middleware-request-headers.js +65 -0
- package/dist/server/middleware-response-headers.d.ts +12 -0
- package/dist/server/middleware-response-headers.js +42 -0
- package/dist/server/middleware-runtime.d.ts +67 -0
- package/dist/server/middleware-runtime.js +240 -0
- package/dist/server/middleware.d.ts +62 -0
- package/dist/server/middleware.js +114 -0
- package/dist/server/navigation-planner.d.ts +308 -0
- package/dist/server/navigation-planner.js +831 -0
- package/dist/server/navigation-trace.d.ts +68 -0
- package/dist/server/navigation-trace.js +71 -0
- package/dist/server/next-error-digest.d.ts +44 -0
- package/dist/server/next-error-digest.js +40 -0
- package/dist/server/normalize-path.d.ts +38 -0
- package/dist/server/normalize-path.js +70 -0
- package/dist/server/open-redirect.d.ts +12 -0
- package/dist/server/open-redirect.js +21 -0
- package/dist/server/operation-token.d.ts +40 -0
- package/dist/server/operation-token.js +85 -0
- package/dist/server/otel-tracer-extension.d.ts +45 -0
- package/dist/server/otel-tracer-extension.js +89 -0
- package/dist/server/pages-api-route.d.ts +83 -0
- package/dist/server/pages-api-route.js +75 -0
- package/dist/server/pages-asset-tags.d.ts +78 -0
- package/dist/server/pages-asset-tags.js +126 -0
- package/dist/server/pages-body-parser-config.d.ts +59 -0
- package/dist/server/pages-body-parser-config.js +77 -0
- package/dist/server/pages-data-route.d.ts +121 -0
- package/dist/server/pages-data-route.js +157 -0
- package/dist/server/pages-default-404.d.ts +30 -0
- package/dist/server/pages-default-404.js +38 -0
- package/dist/server/pages-dev-module-url.d.ts +4 -0
- package/dist/server/pages-dev-module-url.js +15 -0
- package/dist/server/pages-document-initial-props.d.ts +77 -0
- package/dist/server/pages-document-initial-props.js +109 -0
- package/dist/server/pages-get-initial-props.d.ts +67 -0
- package/dist/server/pages-get-initial-props.js +92 -0
- package/dist/server/pages-i18n.d.ts +106 -0
- package/dist/server/pages-i18n.js +183 -0
- package/dist/server/pages-media-type.d.ts +15 -0
- package/dist/server/pages-media-type.js +24 -0
- package/dist/server/pages-node-compat.d.ts +55 -0
- package/dist/server/pages-node-compat.js +235 -0
- package/dist/server/pages-page-data.d.ts +223 -0
- package/dist/server/pages-page-data.js +484 -0
- package/dist/server/pages-page-handler.d.ts +100 -0
- package/dist/server/pages-page-handler.js +403 -0
- package/dist/server/pages-page-method.d.ts +47 -0
- package/dist/server/pages-page-method.js +17 -0
- package/dist/server/pages-page-response.d.ts +138 -0
- package/dist/server/pages-page-response.js +285 -0
- 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 +116 -0
- package/dist/server/pages-request-pipeline.js +311 -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 +24 -0
- package/dist/server/pages-serializable-props.js +67 -0
- package/dist/server/pregenerated-concrete-paths.d.ts +16 -0
- package/dist/server/pregenerated-concrete-paths.js +61 -0
- package/dist/server/prerender-manifest.d.ts +33 -0
- package/dist/server/prerender-manifest.js +54 -0
- package/dist/server/prerender-route-params.d.ts +23 -0
- package/dist/server/prerender-route-params.js +113 -0
- package/dist/server/prerender-work-unit-setup.d.ts +6 -0
- package/dist/server/prerender-work-unit-setup.js +28 -0
- package/dist/server/prod-server.d.ts +148 -0
- package/dist/server/prod-server.js +1136 -0
- package/dist/server/proxy-trust.d.ts +40 -0
- package/dist/server/proxy-trust.js +68 -0
- package/dist/server/request-log.d.ts +39 -0
- package/dist/server/request-log.js +56 -0
- package/dist/server/request-pipeline.d.ts +187 -0
- package/dist/server/request-pipeline.js +447 -0
- package/dist/server/rsc-stream-hints.d.ts +10 -0
- package/dist/server/rsc-stream-hints.js +41 -0
- package/dist/server/seed-cache.d.ts +29 -0
- package/dist/server/seed-cache.js +125 -0
- package/dist/server/server-action-not-found.d.ts +21 -0
- package/dist/server/server-action-not-found.js +62 -0
- package/dist/server/server-globals.d.ts +4 -0
- package/dist/server/server-globals.js +35 -0
- package/dist/server/skip-cache-proof.d.ts +61 -0
- package/dist/server/skip-cache-proof.js +168 -0
- package/dist/server/socket-error-backstop.d.ts +34 -0
- package/dist/server/socket-error-backstop.js +200 -0
- package/dist/server/static-file-cache.d.ts +56 -0
- package/dist/server/static-file-cache.js +231 -0
- package/dist/server/static-layout-client-reuse-proof.d.ts +15 -0
- package/dist/server/static-layout-client-reuse-proof.js +33 -0
- package/dist/server/streaming-metadata.d.ts +4 -0
- package/dist/server/streaming-metadata.js +8 -0
- package/dist/server/worker-utils.d.ts +7 -0
- package/dist/server/worker-utils.js +99 -0
- package/dist/shims/amp.d.ts +19 -0
- package/dist/shims/amp.js +23 -0
- package/dist/shims/app-router-scroll-state.d.ts +15 -0
- package/dist/shims/app-router-scroll-state.js +61 -0
- package/dist/shims/app-router-scroll.d.ts +29 -0
- package/dist/shims/app-router-scroll.js +141 -0
- package/dist/shims/app.d.ts +42 -0
- package/dist/shims/app.js +48 -0
- package/dist/shims/before-interactive-context.d.ts +40 -0
- package/dist/shims/before-interactive-context.js +8 -0
- package/dist/shims/cache-for-request.d.ts +57 -0
- package/dist/shims/cache-for-request.js +72 -0
- package/dist/shims/cache-handler.d.ts +106 -0
- package/dist/shims/cache-handler.js +176 -0
- package/dist/shims/cache-request-state.d.ts +47 -0
- package/dist/shims/cache-request-state.js +126 -0
- package/dist/shims/cache-runtime.d.ts +83 -0
- package/dist/shims/cache-runtime.js +452 -0
- package/dist/shims/cache.d.ts +145 -0
- package/dist/shims/cache.js +401 -0
- 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 +13 -0
- package/dist/shims/client-hook-error.js +17 -0
- package/dist/shims/client-locale.d.ts +14 -0
- package/dist/shims/client-locale.js +11 -0
- package/dist/shims/client-only.d.ts +1 -0
- package/dist/shims/client-only.js +1 -0
- package/dist/shims/compat-router.d.ts +16 -0
- package/dist/shims/compat-router.js +25 -0
- package/dist/shims/config.d.ts +28 -0
- package/dist/shims/config.js +21 -0
- package/dist/shims/constants.d.ts +130 -0
- package/dist/shims/constants.js +167 -0
- package/dist/shims/default-global-error.d.ts +31 -0
- package/dist/shims/default-global-error.js +179 -0
- package/dist/shims/default-not-found.d.ts +11 -0
- package/dist/shims/default-not-found.js +59 -0
- package/dist/shims/document.d.ts +92 -0
- package/dist/shims/document.js +76 -0
- package/dist/shims/dynamic-preload-chunks.d.ts +8 -0
- package/dist/shims/dynamic-preload-chunks.js +79 -0
- package/dist/shims/dynamic.d.ts +35 -0
- package/dist/shims/dynamic.js +204 -0
- package/dist/shims/error-boundary-navigation.d.ts +7 -0
- package/dist/shims/error-boundary-navigation.js +44 -0
- package/dist/shims/error-boundary.d.ts +155 -0
- package/dist/shims/error-boundary.js +342 -0
- package/dist/shims/error.d.ts +31 -0
- package/dist/shims/error.js +123 -0
- package/dist/shims/error.react-server.d.ts +9 -0
- package/dist/shims/error.react-server.js +6 -0
- package/dist/shims/fetch-cache.d.ts +136 -0
- package/dist/shims/fetch-cache.js +766 -0
- package/dist/shims/font-google-base.d.ts +83 -0
- package/dist/shims/font-google-base.js +290 -0
- package/dist/shims/font-google.d.ts +2 -0
- package/dist/shims/font-google.js +2 -0
- package/dist/shims/font-local.d.ts +50 -0
- package/dist/shims/font-local.js +195 -0
- package/dist/shims/font-utils.d.ts +56 -0
- package/dist/shims/font-utils.js +107 -0
- package/dist/shims/form.d.ts +19 -0
- package/dist/shims/form.js +236 -0
- package/dist/shims/hash-scroll.d.ts +10 -0
- package/dist/shims/hash-scroll.js +47 -0
- package/dist/shims/head-state.d.ts +16 -0
- package/dist/shims/head-state.js +43 -0
- package/dist/shims/head.d.ts +73 -0
- package/dist/shims/head.js +340 -0
- package/dist/shims/headers.d.ts +253 -0
- package/dist/shims/headers.js +754 -0
- package/dist/shims/i18n-context.d.ts +22 -0
- package/dist/shims/i18n-context.js +42 -0
- package/dist/shims/i18n-state.d.ts +14 -0
- package/dist/shims/i18n-state.js +38 -0
- package/dist/shims/image-config.d.ts +45 -0
- package/dist/shims/image-config.js +85 -0
- package/dist/shims/image.d.ts +55 -0
- package/dist/shims/image.js +582 -0
- package/dist/shims/internal/als-registry.d.ts +14 -0
- package/dist/shims/internal/als-registry.js +80 -0
- package/dist/shims/internal/api-utils.d.ts +14 -0
- package/dist/shims/internal/api-utils.js +1 -0
- package/dist/shims/internal/app-page-props-cache-key.d.ts +5 -0
- package/dist/shims/internal/app-page-props-cache-key.js +16 -0
- package/dist/shims/internal/app-route-detection.d.ts +39 -0
- package/dist/shims/internal/app-route-detection.js +62 -0
- package/dist/shims/internal/app-router-context.d.ts +31 -0
- package/dist/shims/internal/app-router-context.js +28 -0
- package/dist/shims/internal/cookie-serialize.d.ts +45 -0
- package/dist/shims/internal/cookie-serialize.js +49 -0
- package/dist/shims/internal/cookies.d.ts +2 -0
- package/dist/shims/internal/cookies.js +2 -0
- package/dist/shims/internal/hybrid-client-route-owner.d.ts +31 -0
- package/dist/shims/internal/hybrid-client-route-owner.js +143 -0
- package/dist/shims/internal/interpolate-as.d.ts +25 -0
- package/dist/shims/internal/interpolate-as.js +196 -0
- 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 +15 -0
- package/dist/shims/internal/make-hanging-promise.js +44 -0
- package/dist/shims/internal/navigation-untracked.d.ts +35 -0
- package/dist/shims/internal/navigation-untracked.js +56 -0
- package/dist/shims/internal/pages-data-fetch-dedup.d.ts +54 -0
- package/dist/shims/internal/pages-data-fetch-dedup.js +121 -0
- package/dist/shims/internal/pages-data-target.d.ts +62 -0
- package/dist/shims/internal/pages-data-target.js +98 -0
- package/dist/shims/internal/pages-data-url.d.ts +41 -0
- package/dist/shims/internal/pages-data-url.js +71 -0
- package/dist/shims/internal/pages-router-accessor.d.ts +19 -0
- package/dist/shims/internal/pages-router-accessor.js +13 -0
- 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 +7 -0
- package/dist/shims/internal/router-context.js +13 -0
- package/dist/shims/internal/utils.d.ts +52 -0
- package/dist/shims/internal/utils.js +27 -0
- package/dist/shims/internal/work-unit-async-storage.d.ts +30 -0
- package/dist/shims/internal/work-unit-async-storage.js +17 -0
- package/dist/shims/layout-segment-context.d.ts +24 -0
- package/dist/shims/layout-segment-context.js +39 -0
- package/dist/shims/legacy-image.d.ts +41 -0
- package/dist/shims/legacy-image.js +49 -0
- package/dist/shims/link-prefetch.d.ts +41 -0
- package/dist/shims/link-prefetch.js +43 -0
- package/dist/shims/link.d.ts +102 -0
- package/dist/shims/link.js +687 -0
- package/dist/shims/metadata.d.ts +285 -0
- package/dist/shims/metadata.js +820 -0
- package/dist/shims/navigation-context-state.d.ts +40 -0
- package/dist/shims/navigation-context-state.js +116 -0
- package/dist/shims/navigation-errors.d.ts +55 -0
- package/dist/shims/navigation-errors.js +110 -0
- package/dist/shims/navigation-server.d.ts +3 -0
- package/dist/shims/navigation-server.js +3 -0
- package/dist/shims/navigation-state.d.ts +25 -0
- package/dist/shims/navigation-state.js +66 -0
- package/dist/shims/navigation.d.ts +286 -0
- package/dist/shims/navigation.js +1206 -0
- package/dist/shims/navigation.react-server.d.ts +14 -0
- package/dist/shims/navigation.react-server.js +32 -0
- package/dist/shims/offline.d.ts +4 -0
- package/dist/shims/offline.js +15 -0
- package/dist/shims/og.d.ts +17 -0
- package/dist/shims/og.js +48 -0
- package/dist/shims/pages-router-runtime.d.ts +12 -0
- package/dist/shims/pages-router-runtime.js +24 -0
- package/dist/shims/ppr-fallback-shell.d.ts +33 -0
- package/dist/shims/ppr-fallback-shell.js +170 -0
- package/dist/shims/readonly-url-search-params.d.ts +13 -0
- package/dist/shims/readonly-url-search-params.js +26 -0
- package/dist/shims/request-context.d.ts +58 -0
- package/dist/shims/request-context.js +45 -0
- package/dist/shims/request-state-types.d.ts +12 -0
- package/dist/shims/request-state-types.js +1 -0
- package/dist/shims/root-params.d.ts +12 -0
- package/dist/shims/root-params.js +30 -0
- package/dist/shims/router-state.d.ts +32 -0
- package/dist/shims/router-state.js +39 -0
- package/dist/shims/router.d.ts +192 -0
- package/dist/shims/router.js +1786 -0
- package/dist/shims/script-nonce-context.d.ts +11 -0
- package/dist/shims/script-nonce-context.js +23 -0
- package/dist/shims/script.d.ts +43 -0
- package/dist/shims/script.js +370 -0
- package/dist/shims/server-only.d.ts +1 -0
- package/dist/shims/server-only.js +1 -0
- package/dist/shims/server.d.ts +323 -0
- package/dist/shims/server.js +729 -0
- package/dist/shims/slot.d.ts +45 -0
- package/dist/shims/slot.js +230 -0
- package/dist/shims/thenable-params.d.ts +11 -0
- package/dist/shims/thenable-params.js +176 -0
- package/dist/shims/unified-request-context.d.ts +68 -0
- package/dist/shims/unified-request-context.js +86 -0
- package/dist/shims/unrecognized-action-error.d.ts +34 -0
- package/dist/shims/unrecognized-action-error.js +39 -0
- package/dist/shims/url-safety.d.ts +34 -0
- package/dist/shims/url-safety.js +70 -0
- package/dist/shims/url-utils.d.ts +51 -0
- package/dist/shims/url-utils.js +156 -0
- package/dist/shims/use-merged-ref.d.ts +6 -0
- package/dist/shims/use-merged-ref.js +38 -0
- package/dist/shims/web-vitals.d.ts +8 -0
- package/dist/shims/web-vitals.js +22 -0
- package/dist/typegen.d.ts +9 -0
- package/dist/typegen.js +228 -0
- package/dist/utils/asset-prefix.d.ts +96 -0
- package/dist/utils/asset-prefix.js +122 -0
- package/dist/utils/base-path.d.ts +31 -0
- package/dist/utils/base-path.js +45 -0
- package/dist/utils/built-asset-url.d.ts +4 -0
- package/dist/utils/built-asset-url.js +11 -0
- package/dist/utils/cache-control-metadata.d.ts +4 -0
- package/dist/utils/cache-control-metadata.js +12 -0
- package/dist/utils/client-build-manifest.d.ts +21 -0
- package/dist/utils/client-build-manifest.js +87 -0
- package/dist/utils/client-entry-manifest.d.ts +11 -0
- package/dist/utils/client-entry-manifest.js +29 -0
- package/dist/utils/client-runtime-metadata.d.ts +45 -0
- package/dist/utils/client-runtime-metadata.js +63 -0
- package/dist/utils/commonjs-loader.d.ts +16 -0
- package/dist/utils/commonjs-loader.js +100 -0
- package/dist/utils/compare.d.ts +4 -0
- package/dist/utils/compare.js +8 -0
- package/dist/utils/deployment-id.d.ts +8 -0
- package/dist/utils/deployment-id.js +22 -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 +26 -0
- package/dist/utils/domain-locale.js +50 -0
- package/dist/utils/encode-cache-tag.d.ts +30 -0
- package/dist/utils/encode-cache-tag.js +36 -0
- package/dist/utils/error-cause.d.ts +4 -0
- package/dist/utils/error-cause.js +95 -0
- package/dist/utils/has-trailing-comma.d.ts +24 -0
- package/dist/utils/has-trailing-comma.js +62 -0
- package/dist/utils/hash.d.ts +24 -0
- package/dist/utils/hash.js +55 -0
- package/dist/utils/html-limited-bots.d.ts +21 -0
- package/dist/utils/html-limited-bots.js +35 -0
- package/dist/utils/lazy-chunks.d.ts +59 -0
- package/dist/utils/lazy-chunks.js +112 -0
- package/dist/utils/manifest-paths.d.ts +30 -0
- package/dist/utils/manifest-paths.js +66 -0
- package/dist/utils/mdx-scan.d.ts +9 -0
- package/dist/utils/mdx-scan.js +34 -0
- package/dist/utils/navigation-signal.d.ts +4 -0
- package/dist/utils/navigation-signal.js +12 -0
- package/dist/utils/number.d.ts +4 -0
- package/dist/utils/number.js +6 -0
- package/dist/utils/parse-cookie.d.ts +13 -0
- package/dist/utils/parse-cookie.js +52 -0
- package/dist/utils/path.d.ts +22 -0
- package/dist/utils/path.js +30 -0
- package/dist/utils/prerender-output-paths.d.ts +14 -0
- package/dist/utils/prerender-output-paths.js +22 -0
- package/dist/utils/project.d.ts +76 -0
- package/dist/utils/project.js +213 -0
- package/dist/utils/promise.d.ts +4 -0
- package/dist/utils/promise.js +6 -0
- package/dist/utils/public-routes.d.ts +4 -0
- package/dist/utils/public-routes.js +48 -0
- package/dist/utils/query.d.ts +49 -0
- package/dist/utils/query.js +122 -0
- package/dist/utils/record.d.ts +4 -0
- package/dist/utils/record.js +6 -0
- package/dist/utils/regex.d.ts +4 -0
- package/dist/utils/regex.js +6 -0
- package/dist/utils/safe-json-file.d.ts +17 -0
- package/dist/utils/safe-json-file.js +23 -0
- package/dist/utils/sorted-array.d.ts +8 -0
- package/dist/utils/sorted-array.js +20 -0
- package/dist/utils/text-stream.d.ts +28 -0
- package/dist/utils/text-stream.js +64 -0
- package/dist/utils/vinext-root.d.ts +23 -0
- package/dist/utils/vinext-root.js +29 -0
- package/dist/utils/virtual-module.d.ts +5 -0
- package/dist/utils/virtual-module.js +0 -0
- package/dist/utils/vite-version.d.ts +21 -0
- package/dist/utils/vite-version.js +42 -0
- package/package.json +145 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
//#region src/server/app-browser-error.d.ts
|
|
2
|
+
type VinextHydrateRootErrorInfo = {
|
|
3
|
+
componentStack?: string;
|
|
4
|
+
errorBoundary?: unknown;
|
|
5
|
+
};
|
|
6
|
+
type HydrateRootErrorHandler = (error: unknown, errorInfo: VinextHydrateRootErrorInfo) => void;
|
|
7
|
+
declare function createOnUncaughtError(): HydrateRootErrorHandler;
|
|
8
|
+
declare function createProdOnCaughtError(onImplicitRootError: HydrateRootErrorHandler): HydrateRootErrorHandler;
|
|
9
|
+
declare function createDevOnCaughtError(onCaughtError: HydrateRootErrorHandler, onImplicitRootError: HydrateRootErrorHandler): HydrateRootErrorHandler;
|
|
10
|
+
declare function prodOnCaughtError(error: unknown, errorInfo: VinextHydrateRootErrorInfo): void;
|
|
11
|
+
declare function prodOnRecoverableError(error: unknown): void;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { createDevOnCaughtError, createOnUncaughtError, createProdOnCaughtError, prodOnCaughtError, prodOnRecoverableError };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { isUnknownRecord } from "../utils/record.js";
|
|
2
|
+
import { isNavigationSignalError } from "../utils/navigation-signal.js";
|
|
3
|
+
//#region src/server/app-browser-error.ts
|
|
4
|
+
function isImplicitRootErrorBoundary(errorInfo) {
|
|
5
|
+
if (!isUnknownRecord(errorInfo.errorBoundary)) return false;
|
|
6
|
+
const props = errorInfo.errorBoundary.props;
|
|
7
|
+
return isUnknownRecord(props) && props.isImplicitRootErrorBoundary === true;
|
|
8
|
+
}
|
|
9
|
+
function logCaughtError(error, errorInfo) {
|
|
10
|
+
console.error(error);
|
|
11
|
+
if (errorInfo?.componentStack) console.error("The above error occurred in a React component:\n" + errorInfo.componentStack);
|
|
12
|
+
}
|
|
13
|
+
function reportGlobalError(error) {
|
|
14
|
+
if (typeof globalThis.reportError === "function") {
|
|
15
|
+
globalThis.reportError(error);
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
console.error(error);
|
|
19
|
+
}
|
|
20
|
+
function createOnUncaughtError() {
|
|
21
|
+
return (error) => {
|
|
22
|
+
reportGlobalError(error);
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function createProdOnCaughtError(onImplicitRootError) {
|
|
26
|
+
return (error, errorInfo) => {
|
|
27
|
+
if (isNavigationSignalError(error)) return;
|
|
28
|
+
if (isImplicitRootErrorBoundary(errorInfo)) {
|
|
29
|
+
onImplicitRootError(error, errorInfo);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
logCaughtError(error, errorInfo);
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
function createDevOnCaughtError(onCaughtError, onImplicitRootError) {
|
|
36
|
+
return (error, errorInfo) => {
|
|
37
|
+
if (isImplicitRootErrorBoundary(errorInfo)) {
|
|
38
|
+
onImplicitRootError(error, errorInfo);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
onCaughtError(error, errorInfo);
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
function prodOnCaughtError(error, errorInfo) {
|
|
45
|
+
if (isNavigationSignalError(error)) return;
|
|
46
|
+
logCaughtError(error, errorInfo);
|
|
47
|
+
}
|
|
48
|
+
function prodOnRecoverableError(error) {
|
|
49
|
+
reportGlobalError(error instanceof Error && error.cause !== void 0 ? error.cause : error);
|
|
50
|
+
}
|
|
51
|
+
//#endregion
|
|
52
|
+
export { createDevOnCaughtError, createOnUncaughtError, createProdOnCaughtError, prodOnCaughtError, prodOnRecoverableError };
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { BfcacheIdMap, HistoryTraversalIntent } from "./app-history-state.js";
|
|
2
|
+
import { AppRouterState } from "./app-browser-state.js";
|
|
3
|
+
import { HistoryUpdateMode } from "./app-browser-navigation-controller.js";
|
|
4
|
+
|
|
5
|
+
//#region src/server/app-browser-history-controller.d.ts
|
|
6
|
+
/**
|
|
7
|
+
* Visible router-state metadata at the instant a hash-only navigation commits.
|
|
8
|
+
* `null` means the browser router tree has not committed yet, so the controller
|
|
9
|
+
* falls back to reading the same facts off the live history entry.
|
|
10
|
+
*/
|
|
11
|
+
type VisibleNavigationMetadata = {
|
|
12
|
+
bfcacheIds: BfcacheIdMap | null;
|
|
13
|
+
previousNextUrl: string | null;
|
|
14
|
+
};
|
|
15
|
+
type AppBrowserHistoryControllerDeps = {
|
|
16
|
+
initialHistoryState: unknown;
|
|
17
|
+
maxHistoryStateSnapshots: number; /** Reads `window.history.state`. Injected so the controller stays unit-testable. */
|
|
18
|
+
readHistoryState: () => unknown; /** Reads `window.location.href`. Injected so the controller stays unit-testable. */
|
|
19
|
+
readCurrentHref: () => string; /** Wraps `pushHistoryStateWithoutNotify(state, "", href)`. */
|
|
20
|
+
pushHistoryState: (state: unknown, href: string) => void; /** Wraps `replaceHistoryStateWithoutNotify(state, "", href)`. */
|
|
21
|
+
replaceHistoryState: (state: unknown, href: string) => void;
|
|
22
|
+
readVisibleNavigationMetadata: () => VisibleNavigationMetadata | null;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Candidate visible state resolved from a restorable history snapshot, handed to
|
|
26
|
+
* the entry's approved-visible-restore callback. The controller resolves the
|
|
27
|
+
* candidate and owns the traversal-index commit; the entry owns the actual
|
|
28
|
+
* `AppBrowserNavigationController.restoreHistorySnapshotVisibleState()` call and
|
|
29
|
+
* the `ApprovedVisibleCommit` boundary.
|
|
30
|
+
*/
|
|
31
|
+
type RestorableSnapshotCandidate = {
|
|
32
|
+
state: AppRouterState;
|
|
33
|
+
beforeCommit: () => void;
|
|
34
|
+
};
|
|
35
|
+
type RestoreHistorySnapshotOptions = {
|
|
36
|
+
historyState: unknown;
|
|
37
|
+
stageClientParams: (params: Record<string, string | string[]>) => void;
|
|
38
|
+
approveVisibleRestore: (candidate: RestorableSnapshotCandidate) => boolean;
|
|
39
|
+
};
|
|
40
|
+
type CommitNavigationHistoryOptions = {
|
|
41
|
+
bfcacheIds: BfcacheIdMap;
|
|
42
|
+
href: string;
|
|
43
|
+
historyUpdateMode: HistoryUpdateMode | undefined;
|
|
44
|
+
previousNextUrl: string | null;
|
|
45
|
+
targetHistoryIndex?: number | null;
|
|
46
|
+
stageClientParams: () => void;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Owns App Router browser-history metadata and traversal bookkeeping behind a
|
|
50
|
+
* typed seam: traversal index allocation/commit, push/replace/traverse/hash-only
|
|
51
|
+
* history-state writes, BFCache epoch/snapshot invalidation through
|
|
52
|
+
* `RestorableClientStateController`, and restorable-snapshot candidate
|
|
53
|
+
* resolution.
|
|
54
|
+
*
|
|
55
|
+
* Ownership boundary: this is not a second router or visible-state authority. It
|
|
56
|
+
* resolves history facts and delegates visible restoration through an injected
|
|
57
|
+
* approved-commit callback. It never sets router state directly, never imports
|
|
58
|
+
* `applyApprovedVisibleCommit()`, and never bypasses the `ApprovedVisibleCommit`
|
|
59
|
+
* boundary owned by `AppBrowserNavigationController`.
|
|
60
|
+
*/
|
|
61
|
+
declare class AppBrowserHistoryController {
|
|
62
|
+
#private;
|
|
63
|
+
constructor(deps: AppBrowserHistoryControllerDeps);
|
|
64
|
+
get currentHistoryTraversalIndex(): number | null;
|
|
65
|
+
allocateNavigationHistoryTraversalIndex(historyUpdateMode: HistoryUpdateMode | undefined): number | null;
|
|
66
|
+
commitHistoryTraversalIndex(index: number | null): void;
|
|
67
|
+
commitTraversalIndexFromHistoryState(historyState: unknown): void;
|
|
68
|
+
resolveTraversalIntent(historyState: unknown): HistoryTraversalIntent;
|
|
69
|
+
readCurrentBfcacheVersionHistoryIds(historyState: unknown): BfcacheIdMap | null;
|
|
70
|
+
isCacheInvalidationGuarded(): boolean;
|
|
71
|
+
isCurrentBfcacheVersion(historyState: unknown): boolean;
|
|
72
|
+
beginCacheInvalidationGuard(): () => void;
|
|
73
|
+
invalidateRestorableClientState(): void;
|
|
74
|
+
rememberHistoryStateSnapshot(state: AppRouterState): void;
|
|
75
|
+
commitHashOnlyNavigation(href: string, historyUpdateMode: HistoryUpdateMode, scroll: boolean): void;
|
|
76
|
+
/**
|
|
77
|
+
* Writes the history entry for an approved push/replace/traverse commit and
|
|
78
|
+
* advances the traversal index. `stageClientParams` runs at the exact point it
|
|
79
|
+
* ran inline in the browser-entry commit effect so client-param staging stays
|
|
80
|
+
* ordered relative to the history write. Mirrors Next.js committing tree state
|
|
81
|
+
* into the history entry during the navigation commit.
|
|
82
|
+
*/
|
|
83
|
+
commitNavigationHistory(options: CommitNavigationHistoryOptions): void;
|
|
84
|
+
syncCurrentHistoryStatePreviousNextUrl(previousNextUrl: string | null, bfcacheIds?: BfcacheIdMap | null): void;
|
|
85
|
+
/** Initial history write performed before hydration starts. */
|
|
86
|
+
writeBootstrapHistoryMetadata(): void;
|
|
87
|
+
/** History write performed on the first committed (hydrated) render. */
|
|
88
|
+
writeHydratedHistoryMetadata(options: {
|
|
89
|
+
bfcacheIds: BfcacheIdMap;
|
|
90
|
+
previousNextUrl: string | null;
|
|
91
|
+
}): void;
|
|
92
|
+
/**
|
|
93
|
+
* Resolves a restorable snapshot candidate for the given history entry and
|
|
94
|
+
* commits the traversal index after, and only after, the injected
|
|
95
|
+
* approved-visible-restore callback succeeds. The traversal-index commit and
|
|
96
|
+
* client-param staging run inside `beforeCommit`, which the
|
|
97
|
+
* `AppBrowserNavigationController` invokes only once the `ApprovedVisibleCommit`
|
|
98
|
+
* is approved. Returns false when no snapshot is restorable or the restore is
|
|
99
|
+
* not approved.
|
|
100
|
+
*/
|
|
101
|
+
restoreHistorySnapshot(options: RestoreHistorySnapshotOptions): boolean;
|
|
102
|
+
}
|
|
103
|
+
//#endregion
|
|
104
|
+
export { AppBrowserHistoryController, RestorableSnapshotCandidate };
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import { RestorableClientStateController, createHistoryStateWithNavigationMetadata, readHistoryStateBfcacheIds, readHistoryStatePreviousNextUrl, readHistoryStateTraversalIndex, resolveHistoryTraversalIntent } from "./app-history-state.js";
|
|
2
|
+
//#region src/server/app-browser-history-controller.ts
|
|
3
|
+
function stripVinextScrollState(state) {
|
|
4
|
+
if (!state || typeof state !== "object") return state;
|
|
5
|
+
const nextState = {};
|
|
6
|
+
for (const [key, value] of Object.entries(state)) {
|
|
7
|
+
if (key === "__vinext_scrollX" || key === "__vinext_scrollY") continue;
|
|
8
|
+
nextState[key] = value;
|
|
9
|
+
}
|
|
10
|
+
return Object.keys(nextState).length > 0 ? nextState : null;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Owns App Router browser-history metadata and traversal bookkeeping behind a
|
|
14
|
+
* typed seam: traversal index allocation/commit, push/replace/traverse/hash-only
|
|
15
|
+
* history-state writes, BFCache epoch/snapshot invalidation through
|
|
16
|
+
* `RestorableClientStateController`, and restorable-snapshot candidate
|
|
17
|
+
* resolution.
|
|
18
|
+
*
|
|
19
|
+
* Ownership boundary: this is not a second router or visible-state authority. It
|
|
20
|
+
* resolves history facts and delegates visible restoration through an injected
|
|
21
|
+
* approved-commit callback. It never sets router state directly, never imports
|
|
22
|
+
* `applyApprovedVisibleCommit()`, and never bypasses the `ApprovedVisibleCommit`
|
|
23
|
+
* boundary owned by `AppBrowserNavigationController`.
|
|
24
|
+
*/
|
|
25
|
+
var AppBrowserHistoryController = class {
|
|
26
|
+
#restorableClientState;
|
|
27
|
+
#readHistoryState;
|
|
28
|
+
#readCurrentHref;
|
|
29
|
+
#pushHistoryState;
|
|
30
|
+
#replaceHistoryState;
|
|
31
|
+
#readVisibleNavigationMetadata;
|
|
32
|
+
#currentHistoryTraversalIndex;
|
|
33
|
+
#nextHistoryTraversalIndex;
|
|
34
|
+
constructor(deps) {
|
|
35
|
+
this.#readHistoryState = deps.readHistoryState;
|
|
36
|
+
this.#readCurrentHref = deps.readCurrentHref;
|
|
37
|
+
this.#pushHistoryState = deps.pushHistoryState;
|
|
38
|
+
this.#replaceHistoryState = deps.replaceHistoryState;
|
|
39
|
+
this.#readVisibleNavigationMetadata = deps.readVisibleNavigationMetadata;
|
|
40
|
+
this.#restorableClientState = new RestorableClientStateController({
|
|
41
|
+
initialHistoryState: deps.initialHistoryState,
|
|
42
|
+
maxHistoryStateSnapshots: deps.maxHistoryStateSnapshots
|
|
43
|
+
});
|
|
44
|
+
this.#currentHistoryTraversalIndex = readHistoryStateTraversalIndex(deps.initialHistoryState) ?? 0;
|
|
45
|
+
this.#nextHistoryTraversalIndex = this.#currentHistoryTraversalIndex;
|
|
46
|
+
}
|
|
47
|
+
get currentHistoryTraversalIndex() {
|
|
48
|
+
return this.#currentHistoryTraversalIndex;
|
|
49
|
+
}
|
|
50
|
+
allocateNavigationHistoryTraversalIndex(historyUpdateMode) {
|
|
51
|
+
switch (historyUpdateMode) {
|
|
52
|
+
case "push": return this.#nextHistoryTraversalIndex + 1;
|
|
53
|
+
case "replace": return this.#currentHistoryTraversalIndex;
|
|
54
|
+
case void 0: return null;
|
|
55
|
+
default: throw new Error("[vinext] Unknown history update mode: " + String(historyUpdateMode));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
commitHistoryTraversalIndex(index) {
|
|
59
|
+
this.#currentHistoryTraversalIndex = index;
|
|
60
|
+
if (index !== null) this.#nextHistoryTraversalIndex = Math.max(this.#nextHistoryTraversalIndex, index);
|
|
61
|
+
}
|
|
62
|
+
commitTraversalIndexFromHistoryState(historyState) {
|
|
63
|
+
this.commitHistoryTraversalIndex(readHistoryStateTraversalIndex(historyState));
|
|
64
|
+
}
|
|
65
|
+
resolveTraversalIntent(historyState) {
|
|
66
|
+
return resolveHistoryTraversalIntent({
|
|
67
|
+
currentHistoryIndex: this.#currentHistoryTraversalIndex,
|
|
68
|
+
historyState
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
readCurrentBfcacheVersionHistoryIds(historyState) {
|
|
72
|
+
return this.#restorableClientState.readCurrentBfcacheVersionHistoryIds(historyState);
|
|
73
|
+
}
|
|
74
|
+
isCacheInvalidationGuarded() {
|
|
75
|
+
return this.#restorableClientState.isCacheInvalidationGuarded();
|
|
76
|
+
}
|
|
77
|
+
isCurrentBfcacheVersion(historyState) {
|
|
78
|
+
return this.#restorableClientState.isCurrentBfcacheVersion(historyState);
|
|
79
|
+
}
|
|
80
|
+
beginCacheInvalidationGuard() {
|
|
81
|
+
return this.#restorableClientState.beginCacheInvalidationGuard();
|
|
82
|
+
}
|
|
83
|
+
invalidateRestorableClientState() {
|
|
84
|
+
this.#restorableClientState.invalidateClientState();
|
|
85
|
+
}
|
|
86
|
+
rememberHistoryStateSnapshot(state) {
|
|
87
|
+
this.#restorableClientState.rememberHistoryStateSnapshot({
|
|
88
|
+
historyIndex: this.#currentHistoryTraversalIndex,
|
|
89
|
+
state
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
commitHashOnlyNavigation(href, historyUpdateMode, scroll) {
|
|
93
|
+
const navigationHistoryIndex = this.allocateNavigationHistoryTraversalIndex(historyUpdateMode);
|
|
94
|
+
const historyState = this.#readHistoryState();
|
|
95
|
+
const visible = this.#readVisibleNavigationMetadata();
|
|
96
|
+
const previousNextUrl = visible ? visible.previousNextUrl : readHistoryStatePreviousNextUrl(historyState);
|
|
97
|
+
const bfcacheIds = visible ? visible.bfcacheIds : this.#restorableClientState.readCurrentBfcacheVersionHistoryIds(historyState);
|
|
98
|
+
const nextHistoryState = createHistoryStateWithNavigationMetadata(this.#createHashOnlyNavigationBaseHistoryState(historyUpdateMode, scroll), {
|
|
99
|
+
bfcacheIds,
|
|
100
|
+
bfcacheVersion: bfcacheIds === null ? void 0 : this.#restorableClientState.currentBfcacheVersion,
|
|
101
|
+
previousNextUrl,
|
|
102
|
+
traversalIndex: navigationHistoryIndex
|
|
103
|
+
});
|
|
104
|
+
if (historyUpdateMode === "replace") this.#replaceHistoryState(nextHistoryState, href);
|
|
105
|
+
else this.#pushHistoryState(nextHistoryState, href);
|
|
106
|
+
this.commitHistoryTraversalIndex(navigationHistoryIndex);
|
|
107
|
+
}
|
|
108
|
+
#createHashOnlyNavigationBaseHistoryState(historyUpdateMode, scroll) {
|
|
109
|
+
if (historyUpdateMode !== "replace") return null;
|
|
110
|
+
const historyState = this.#readHistoryState();
|
|
111
|
+
return scroll ? stripVinextScrollState(historyState) : historyState;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Writes the history entry for an approved push/replace/traverse commit and
|
|
115
|
+
* advances the traversal index. `stageClientParams` runs at the exact point it
|
|
116
|
+
* ran inline in the browser-entry commit effect so client-param staging stays
|
|
117
|
+
* ordered relative to the history write. Mirrors Next.js committing tree state
|
|
118
|
+
* into the history entry during the navigation commit.
|
|
119
|
+
*/
|
|
120
|
+
commitNavigationHistory(options) {
|
|
121
|
+
const currentHref = this.#readCurrentHref();
|
|
122
|
+
const origin = new URL(currentHref).origin;
|
|
123
|
+
const targetHref = new URL(options.href, origin).href;
|
|
124
|
+
const preserveExistingState = options.historyUpdateMode === "replace";
|
|
125
|
+
const navigationHistoryIndex = options.targetHistoryIndex !== void 0 ? options.targetHistoryIndex : this.allocateNavigationHistoryTraversalIndex(options.historyUpdateMode);
|
|
126
|
+
const historyState = createHistoryStateWithNavigationMetadata(preserveExistingState ? this.#readHistoryState() : null, {
|
|
127
|
+
bfcacheIds: options.bfcacheIds,
|
|
128
|
+
bfcacheVersion: this.#restorableClientState.currentBfcacheVersion,
|
|
129
|
+
previousNextUrl: options.previousNextUrl,
|
|
130
|
+
traversalIndex: navigationHistoryIndex
|
|
131
|
+
});
|
|
132
|
+
let wroteHistoryState = false;
|
|
133
|
+
if (options.historyUpdateMode === "replace" && currentHref !== targetHref) {
|
|
134
|
+
options.stageClientParams();
|
|
135
|
+
this.#replaceHistoryState(historyState, options.href);
|
|
136
|
+
wroteHistoryState = true;
|
|
137
|
+
this.commitHistoryTraversalIndex(navigationHistoryIndex);
|
|
138
|
+
} else if (options.historyUpdateMode === "push" && currentHref !== targetHref) {
|
|
139
|
+
options.stageClientParams();
|
|
140
|
+
this.#pushHistoryState(historyState, options.href);
|
|
141
|
+
wroteHistoryState = true;
|
|
142
|
+
this.commitHistoryTraversalIndex(navigationHistoryIndex);
|
|
143
|
+
}
|
|
144
|
+
if (!wroteHistoryState) {
|
|
145
|
+
this.syncCurrentHistoryStatePreviousNextUrl(options.previousNextUrl, options.bfcacheIds);
|
|
146
|
+
options.stageClientParams();
|
|
147
|
+
if (options.targetHistoryIndex !== void 0) this.commitHistoryTraversalIndex(options.targetHistoryIndex);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
syncCurrentHistoryStatePreviousNextUrl(previousNextUrl, bfcacheIds) {
|
|
151
|
+
if (this.#isHistoryStateNavigationMetadataInSync(this.#readHistoryState(), previousNextUrl, bfcacheIds)) return;
|
|
152
|
+
const nextHistoryState = createHistoryStateWithNavigationMetadata(this.#readHistoryState(), {
|
|
153
|
+
bfcacheIds,
|
|
154
|
+
bfcacheVersion: bfcacheIds === void 0 ? void 0 : this.#restorableClientState.currentBfcacheVersion,
|
|
155
|
+
previousNextUrl
|
|
156
|
+
});
|
|
157
|
+
this.#replaceHistoryState(nextHistoryState, this.#readCurrentHref());
|
|
158
|
+
if (this.#isHistoryStateNavigationMetadataInSync(this.#readHistoryState(), previousNextUrl, bfcacheIds)) return;
|
|
159
|
+
this.#replaceHistoryState(nextHistoryState, this.#readCurrentHref());
|
|
160
|
+
}
|
|
161
|
+
#isHistoryStateNavigationMetadataInSync(state, previousNextUrl, bfcacheIds) {
|
|
162
|
+
return readHistoryStatePreviousNextUrl(state) === previousNextUrl && (bfcacheIds === void 0 || areBfcacheIdMapsEqual(readHistoryStateBfcacheIds(state), bfcacheIds) && this.#restorableClientState.isCurrentBfcacheVersion(state));
|
|
163
|
+
}
|
|
164
|
+
/** Initial history write performed before hydration starts. */
|
|
165
|
+
writeBootstrapHistoryMetadata() {
|
|
166
|
+
this.#replaceHistoryState(createHistoryStateWithNavigationMetadata(this.#readHistoryState(), {
|
|
167
|
+
previousNextUrl: null,
|
|
168
|
+
traversalIndex: this.#currentHistoryTraversalIndex
|
|
169
|
+
}), this.#readCurrentHref());
|
|
170
|
+
}
|
|
171
|
+
/** History write performed on the first committed (hydrated) render. */
|
|
172
|
+
writeHydratedHistoryMetadata(options) {
|
|
173
|
+
this.#replaceHistoryState(createHistoryStateWithNavigationMetadata(this.#readHistoryState(), {
|
|
174
|
+
bfcacheIds: options.bfcacheIds,
|
|
175
|
+
bfcacheVersion: this.#restorableClientState.currentBfcacheVersion,
|
|
176
|
+
previousNextUrl: options.previousNextUrl,
|
|
177
|
+
traversalIndex: this.#currentHistoryTraversalIndex
|
|
178
|
+
}), this.#readCurrentHref());
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Resolves a restorable snapshot candidate for the given history entry and
|
|
182
|
+
* commits the traversal index after, and only after, the injected
|
|
183
|
+
* approved-visible-restore callback succeeds. The traversal-index commit and
|
|
184
|
+
* client-param staging run inside `beforeCommit`, which the
|
|
185
|
+
* `AppBrowserNavigationController` invokes only once the `ApprovedVisibleCommit`
|
|
186
|
+
* is approved. Returns false when no snapshot is restorable or the restore is
|
|
187
|
+
* not approved.
|
|
188
|
+
*/
|
|
189
|
+
restoreHistorySnapshot(options) {
|
|
190
|
+
const decision = this.#restorableClientState.resolveHistoryStateSnapshotRestore(options.historyState);
|
|
191
|
+
if (decision.kind === "skip") return false;
|
|
192
|
+
return options.approveVisibleRestore({
|
|
193
|
+
state: decision.state,
|
|
194
|
+
beforeCommit: () => {
|
|
195
|
+
this.commitHistoryTraversalIndex(decision.targetHistoryIndex);
|
|
196
|
+
options.stageClientParams(decision.state.navigationSnapshot.params);
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
};
|
|
201
|
+
function areBfcacheIdMapsEqual(a, b) {
|
|
202
|
+
if (a === b) return true;
|
|
203
|
+
if (a === null || b === null) return false;
|
|
204
|
+
const aEntries = Object.entries(a);
|
|
205
|
+
const bEntries = Object.entries(b);
|
|
206
|
+
if (aEntries.length !== bEntries.length) return false;
|
|
207
|
+
return aEntries.every(([key, value]) => b[key] === value);
|
|
208
|
+
}
|
|
209
|
+
//#endregion
|
|
210
|
+
export { AppBrowserHistoryController };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ReactFormState, hydrateRoot } from "react-dom/client";
|
|
2
|
+
|
|
3
|
+
//#region src/server/app-browser-hydration.d.ts
|
|
4
|
+
type HydrateRootOptions = NonNullable<Parameters<typeof hydrateRoot>[2]>;
|
|
5
|
+
type HydrateRoot = typeof hydrateRoot;
|
|
6
|
+
type HydrateRootContainer = Parameters<HydrateRoot>[0];
|
|
7
|
+
type HydrateRootChildren = Parameters<HydrateRoot>[1];
|
|
8
|
+
type HydrateRootReturn = ReturnType<HydrateRoot>;
|
|
9
|
+
type HydrateRootCaughtErrorHandler = NonNullable<HydrateRootOptions["onCaughtError"]>;
|
|
10
|
+
type HydrateRootUncaughtErrorHandler = NonNullable<HydrateRootOptions["onUncaughtError"]>;
|
|
11
|
+
type HydrateRootRecoverableErrorHandler = NonNullable<HydrateRootOptions["onRecoverableError"]>;
|
|
12
|
+
type StartTransition = (action: () => void) => void;
|
|
13
|
+
declare const RSC_FORM_STATE_GLOBAL = "__VINEXT_RSC_FORM_STATE__";
|
|
14
|
+
type FormStateGlobal = {
|
|
15
|
+
[RSC_FORM_STATE_GLOBAL]?: ReactFormState;
|
|
16
|
+
};
|
|
17
|
+
declare function consumeInitialFormState(global: FormStateGlobal): ReactFormState | null;
|
|
18
|
+
declare function createVinextHydrateRootOptions(options: {
|
|
19
|
+
formState: ReactFormState | null;
|
|
20
|
+
onCaughtError?: HydrateRootCaughtErrorHandler;
|
|
21
|
+
onRecoverableError?: HydrateRootRecoverableErrorHandler;
|
|
22
|
+
onUncaughtError: HydrateRootUncaughtErrorHandler;
|
|
23
|
+
}): HydrateRootOptions;
|
|
24
|
+
declare function hydrateRootInTransition(options: {
|
|
25
|
+
children: HydrateRootChildren;
|
|
26
|
+
container: HydrateRootContainer;
|
|
27
|
+
hydrateRoot: HydrateRoot;
|
|
28
|
+
options: HydrateRootOptions;
|
|
29
|
+
startTransition: StartTransition;
|
|
30
|
+
}): HydrateRootReturn;
|
|
31
|
+
//#endregion
|
|
32
|
+
export { RSC_FORM_STATE_GLOBAL, consumeInitialFormState, createVinextHydrateRootOptions, hydrateRootInTransition };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
//#region src/server/app-browser-hydration.ts
|
|
2
|
+
const RSC_FORM_STATE_GLOBAL = "__VINEXT_RSC_FORM_STATE__";
|
|
3
|
+
function consumeInitialFormState(global) {
|
|
4
|
+
const formState = global["__VINEXT_RSC_FORM_STATE__"] ?? null;
|
|
5
|
+
delete global[RSC_FORM_STATE_GLOBAL];
|
|
6
|
+
return formState;
|
|
7
|
+
}
|
|
8
|
+
function createVinextHydrateRootOptions(options) {
|
|
9
|
+
const hydrateOptions = {
|
|
10
|
+
formState: options.formState,
|
|
11
|
+
...options.onRecoverableError ? { onRecoverableError: options.onRecoverableError } : {},
|
|
12
|
+
onUncaughtError: options.onUncaughtError
|
|
13
|
+
};
|
|
14
|
+
if (options.onCaughtError) return {
|
|
15
|
+
...hydrateOptions,
|
|
16
|
+
onCaughtError: options.onCaughtError
|
|
17
|
+
};
|
|
18
|
+
return hydrateOptions;
|
|
19
|
+
}
|
|
20
|
+
function hydrateRootInTransition(options) {
|
|
21
|
+
let root;
|
|
22
|
+
options.startTransition(() => {
|
|
23
|
+
root = options.hydrateRoot(options.container, options.children, options.options);
|
|
24
|
+
});
|
|
25
|
+
if (root === void 0) throw new Error("[vinext] React.startTransition did not synchronously start hydration");
|
|
26
|
+
return root;
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
export { RSC_FORM_STATE_GLOBAL, consumeInitialFormState, createVinextHydrateRootOptions, hydrateRootInTransition };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { RouteManifest } from "../routing/app-route-graph.js";
|
|
2
|
+
|
|
3
|
+
//#region src/server/app-browser-interception-context.d.ts
|
|
4
|
+
type ResolveManifestNavigationInterceptionContextOptions = {
|
|
5
|
+
basePath: string;
|
|
6
|
+
currentPathname: string;
|
|
7
|
+
routeManifest: RouteManifest | null;
|
|
8
|
+
targetPathname: string;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Resolve the first-hop interception context from declared route topology.
|
|
12
|
+
*
|
|
13
|
+
* This is intentionally manifest-only: it lets a normal browser navigation
|
|
14
|
+
* ask the server for an intercepted payload when the current URL is a declared
|
|
15
|
+
* interception source for the target URL, without reintroducing snapshot
|
|
16
|
+
* topology as route/layout/slot authority.
|
|
17
|
+
*
|
|
18
|
+
* When multiple manifest interceptions match, the first one wins. That order
|
|
19
|
+
* is owned by the deterministic route graph builder.
|
|
20
|
+
*/
|
|
21
|
+
declare function resolveManifestNavigationInterceptionContext(options: ResolveManifestNavigationInterceptionContextOptions): string | null;
|
|
22
|
+
declare function resolveMiddlewareRewriteNavigationInterceptionContext(options: ResolveManifestNavigationInterceptionContextOptions): string | null;
|
|
23
|
+
//#endregion
|
|
24
|
+
export { resolveManifestNavigationInterceptionContext, resolveMiddlewareRewriteNavigationInterceptionContext };
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { splitPathnameForRouteMatch } from "../routing/utils.js";
|
|
2
|
+
import { stripBasePath } from "../utils/base-path.js";
|
|
3
|
+
import { matchRoutePattern, matchRoutePatternPrefix, matchRoutePatternWithOptionalDynamicSegments } from "../routing/route-pattern.js";
|
|
4
|
+
//#region src/server/app-browser-interception-context.ts
|
|
5
|
+
/**
|
|
6
|
+
* Resolve the first-hop interception context from declared route topology.
|
|
7
|
+
*
|
|
8
|
+
* This is intentionally manifest-only: it lets a normal browser navigation
|
|
9
|
+
* ask the server for an intercepted payload when the current URL is a declared
|
|
10
|
+
* interception source for the target URL, without reintroducing snapshot
|
|
11
|
+
* topology as route/layout/slot authority.
|
|
12
|
+
*
|
|
13
|
+
* When multiple manifest interceptions match, the first one wins. That order
|
|
14
|
+
* is owned by the deterministic route graph builder.
|
|
15
|
+
*/
|
|
16
|
+
function resolveManifestNavigationInterceptionContext(options) {
|
|
17
|
+
if (options.routeManifest === null) return null;
|
|
18
|
+
const currentPathname = stripBasePath(options.currentPathname, options.basePath);
|
|
19
|
+
const targetPathname = stripBasePath(options.targetPathname, options.basePath);
|
|
20
|
+
const sourceParts = splitPathnameForRouteMatch(currentPathname);
|
|
21
|
+
const targetParts = splitPathnameForRouteMatch(targetPathname);
|
|
22
|
+
for (const interception of options.routeManifest.segmentGraph.interceptions.values()) {
|
|
23
|
+
if (!matchRoutePatternPrefix(sourceParts, interception.sourcePatternParts)) continue;
|
|
24
|
+
if (matchRoutePattern(targetParts, interception.targetPatternParts) === null) continue;
|
|
25
|
+
return currentPathname;
|
|
26
|
+
}
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
function resolveMiddlewareRewriteNavigationInterceptionContext(options) {
|
|
30
|
+
if (options.routeManifest === null) return null;
|
|
31
|
+
const currentPathname = stripBasePath(options.currentPathname, options.basePath);
|
|
32
|
+
const targetPathname = stripBasePath(options.targetPathname, options.basePath);
|
|
33
|
+
const sourceParts = splitPathnameForRouteMatch(currentPathname);
|
|
34
|
+
const targetParts = splitPathnameForRouteMatch(targetPathname);
|
|
35
|
+
for (const interception of options.routeManifest.segmentGraph.interceptions.values()) {
|
|
36
|
+
if (!matchRoutePatternPrefix(sourceParts, interception.sourcePatternParts)) continue;
|
|
37
|
+
if (!matchRoutePatternWithOptionalDynamicSegments(targetParts, interception.targetPatternParts)) continue;
|
|
38
|
+
return currentPathname;
|
|
39
|
+
}
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
//#endregion
|
|
43
|
+
export { resolveManifestNavigationInterceptionContext, resolveMiddlewareRewriteNavigationInterceptionContext };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { HistoryUpdateMode } from "./app-browser-navigation-controller.js";
|
|
2
|
+
|
|
3
|
+
//#region src/server/app-browser-mpa-navigation.d.ts
|
|
4
|
+
type AppBrowserMpaNavigationWindow = {
|
|
5
|
+
location: Pick<Location, "assign" | "replace">;
|
|
6
|
+
requestAnimationFrame?: (callback: FrameRequestCallback) => unknown;
|
|
7
|
+
setTimeout(callback: () => void, timeout: number): unknown;
|
|
8
|
+
};
|
|
9
|
+
declare function hasPendingAppRouterPageRedirect(targetDocument: unknown): boolean;
|
|
10
|
+
declare class AppBrowserMpaNavigationScheduler {
|
|
11
|
+
#private;
|
|
12
|
+
reset(): void;
|
|
13
|
+
navigate(targetWindow: AppBrowserMpaNavigationWindow, href: string, historyUpdateMode: HistoryUpdateMode): void;
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
export { AppBrowserMpaNavigationScheduler, AppBrowserMpaNavigationWindow, hasPendingAppRouterPageRedirect };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
//#region src/server/app-browser-mpa-navigation.ts
|
|
2
|
+
const NEXT_APP_ROUTER_PAGE_REDIRECT_MARKER_ID = "__next-page-redirect";
|
|
3
|
+
function hasPendingAppRouterPageRedirect(targetDocument) {
|
|
4
|
+
if (typeof targetDocument !== "object" || targetDocument === null) return false;
|
|
5
|
+
if (!("getElementById" in targetDocument)) return false;
|
|
6
|
+
const { getElementById } = targetDocument;
|
|
7
|
+
if (typeof getElementById !== "function") return false;
|
|
8
|
+
return getElementById.call(targetDocument, NEXT_APP_ROUTER_PAGE_REDIRECT_MARKER_ID) !== null;
|
|
9
|
+
}
|
|
10
|
+
var AppBrowserMpaNavigationScheduler = class {
|
|
11
|
+
#pendingNavigation = null;
|
|
12
|
+
#nextToken = 0;
|
|
13
|
+
reset() {
|
|
14
|
+
this.#pendingNavigation = null;
|
|
15
|
+
}
|
|
16
|
+
navigate(targetWindow, href, historyUpdateMode) {
|
|
17
|
+
const pendingNavigation = this.#pendingNavigation;
|
|
18
|
+
if (pendingNavigation?.href === href && pendingNavigation.historyUpdateMode === historyUpdateMode) return;
|
|
19
|
+
const token = this.#nextToken + 1;
|
|
20
|
+
this.#nextToken = token;
|
|
21
|
+
this.#pendingNavigation = {
|
|
22
|
+
href,
|
|
23
|
+
historyUpdateMode,
|
|
24
|
+
token
|
|
25
|
+
};
|
|
26
|
+
const navigate = () => {
|
|
27
|
+
const currentNavigation = this.#pendingNavigation;
|
|
28
|
+
if (currentNavigation?.href !== href || currentNavigation.historyUpdateMode !== historyUpdateMode || currentNavigation.token !== token) return;
|
|
29
|
+
if (historyUpdateMode === "replace") targetWindow.location.replace(href);
|
|
30
|
+
else targetWindow.location.assign(href);
|
|
31
|
+
};
|
|
32
|
+
if (typeof targetWindow.requestAnimationFrame === "function") {
|
|
33
|
+
targetWindow.requestAnimationFrame(() => {
|
|
34
|
+
targetWindow.setTimeout(navigate, 0);
|
|
35
|
+
});
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
targetWindow.setTimeout(navigate, 0);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
//#endregion
|
|
42
|
+
export { AppBrowserMpaNavigationScheduler, hasPendingAppRouterPageRedirect };
|