@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,68 @@
|
|
|
1
|
+
//#region src/server/navigation-trace.d.ts
|
|
2
|
+
declare const NAVIGATION_TRACE_SCHEMA_VERSION = 0;
|
|
3
|
+
type NavigationTraceSchemaVersion = 0;
|
|
4
|
+
declare const NavigationTraceReasonCodes: {
|
|
5
|
+
cacheProofRejected: "NC_CACHE_REJECT";
|
|
6
|
+
cacheReuseTokenRejected: "NC_CACHE_TOKEN_REJECT";
|
|
7
|
+
commitCurrent: "NC_COMMIT";
|
|
8
|
+
crossDocumentFlight: "NC_CROSS_DOC_FLIGHT";
|
|
9
|
+
fetchFresh: "NC_FETCH_FRESH";
|
|
10
|
+
invalidRscPayload: "NC_RSC_INVALID";
|
|
11
|
+
interceptedCommitCurrent: "NC_INTERCEPT_COMMIT";
|
|
12
|
+
interceptedRejectedIncompatibleRoot: "NC_INTERCEPT_REJECT_ROOT";
|
|
13
|
+
interceptedRejectedMissingProof: "NC_INTERCEPT_REJECT_MISSING_PROOF";
|
|
14
|
+
interceptedRejectedMissingSlotProof: "NC_INTERCEPT_REJECT_SLOT";
|
|
15
|
+
interceptedRejectedTargetMismatch: "NC_INTERCEPT_REJECT_TARGET";
|
|
16
|
+
interceptedRejectedUndeclaredTopology: "NC_INTERCEPT_REJECT_GRAPH";
|
|
17
|
+
interceptedRejectedUnknownSource: "NC_INTERCEPT_REJECT_SOURCE";
|
|
18
|
+
optimisticRouteShell: "NC_OPTIMISTIC_SHELL";
|
|
19
|
+
prefetchOnly: "NC_PREFETCH_ONLY";
|
|
20
|
+
prefetchResponseReuse: "NC_PREFETCH_REUSE";
|
|
21
|
+
proceedToCommit: "NC_RSC_PROCEED";
|
|
22
|
+
redirectFollow: "NC_RSC_REDIRECT_FOLLOW";
|
|
23
|
+
redirectTerminalDepth: "NC_RSC_REDIRECT_DEPTH";
|
|
24
|
+
redirectTerminalExternal: "NC_RSC_REDIRECT_EXTERNAL";
|
|
25
|
+
requestWork: "NC_REQUEST";
|
|
26
|
+
rootBoundaryChanged: "NC_ROOT";
|
|
27
|
+
rootBoundaryUnknown: "NC_ROOT_UNKNOWN";
|
|
28
|
+
rscCompatibilityMismatch: "NC_RSC_COMPAT_MISMATCH";
|
|
29
|
+
rscNavigationError: "NC_RSC_NAV_ERROR";
|
|
30
|
+
sameDocumentScroll: "NC_SAME_DOC_SCROLL";
|
|
31
|
+
samePageSearch: "NC_SAME_PAGE_SEARCH";
|
|
32
|
+
serverActionRedirectCompatibilityMismatch: "NC_SA_REDIRECT_COMPAT";
|
|
33
|
+
serverActionRscCompatibilityMismatch: "NC_SA_RSC_COMPAT";
|
|
34
|
+
staleOperation: "NC_STALE";
|
|
35
|
+
streamedRedirectLoop: "NC_RSC_STREAMED_REDIRECT_LOOP";
|
|
36
|
+
visitedResponseReuse: "NC_VISITED_REUSE";
|
|
37
|
+
};
|
|
38
|
+
declare const NavigationTraceTransactionCodes: {
|
|
39
|
+
hardNavigate: "NT_HARD_NAVIGATE";
|
|
40
|
+
noCommit: "NT_NO_COMMIT";
|
|
41
|
+
visibleCommit: "NT_VISIBLE_COMMIT";
|
|
42
|
+
};
|
|
43
|
+
type NavigationTraceReasonCode = (typeof NavigationTraceReasonCodes)[keyof typeof NavigationTraceReasonCodes];
|
|
44
|
+
type NavigationTraceTransactionCode = (typeof NavigationTraceTransactionCodes)[keyof typeof NavigationTraceTransactionCodes];
|
|
45
|
+
type NavigationTraceCode = NavigationTraceReasonCode | NavigationTraceTransactionCode;
|
|
46
|
+
type NavigationTraceFieldName = "activeNavigationId" | "cacheProofCode" | "cacheProofMode" | "cacheProofReuseClass" | "cacheProofScope" | "cacheReuseTokenReason" | "currentRootLayoutTreePath" | "currentVisibleCommitVersion" | "nextRootLayoutTreePath" | "eventKind" | "fetchResultSource" | "freshFetchReason" | "operationLane" | "pendingOperationId" | "redirectDepth" | "redirectSignal" | "startedVisibleCommitVersion" | "startedNavigationId" | "targetHref" | "traverseDirection";
|
|
47
|
+
type NavigationTraceFieldValue = string | number | boolean | null;
|
|
48
|
+
type NavigationTraceFields = Readonly<Partial<Record<NavigationTraceFieldName, NavigationTraceFieldValue>>>;
|
|
49
|
+
type NavigationTraceEntry = Readonly<{
|
|
50
|
+
code: NavigationTraceCode;
|
|
51
|
+
fields: NavigationTraceFields;
|
|
52
|
+
}>;
|
|
53
|
+
type NavigationTrace = Readonly<{
|
|
54
|
+
schemaVersion: NavigationTraceSchemaVersion;
|
|
55
|
+
entries: readonly NavigationTraceEntry[];
|
|
56
|
+
}>;
|
|
57
|
+
declare function createNavigationLifecycleTraceFields(options: {
|
|
58
|
+
activeNavigationId?: number;
|
|
59
|
+
currentRootLayoutTreePath: string | null;
|
|
60
|
+
currentVisibleCommitVersion: number;
|
|
61
|
+
nextRootLayoutTreePath: string | null;
|
|
62
|
+
startedNavigationId?: number;
|
|
63
|
+
startedVisibleCommitVersion: number;
|
|
64
|
+
}): NavigationTraceFields;
|
|
65
|
+
declare function createNavigationTrace(code: NavigationTraceCode, fields?: NavigationTraceFields): NavigationTrace;
|
|
66
|
+
declare function prependNavigationTraceEntry(trace: NavigationTrace, code: NavigationTraceCode, fields?: NavigationTraceFields): NavigationTrace;
|
|
67
|
+
//#endregion
|
|
68
|
+
export { NAVIGATION_TRACE_SCHEMA_VERSION, NavigationTrace, NavigationTraceFields, NavigationTraceReasonCode, NavigationTraceReasonCodes, NavigationTraceTransactionCode, NavigationTraceTransactionCodes, createNavigationLifecycleTraceFields, createNavigationTrace, prependNavigationTraceEntry };
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
//#region src/server/navigation-trace.ts
|
|
2
|
+
const NAVIGATION_TRACE_SCHEMA_VERSION = 0;
|
|
3
|
+
const NavigationTraceReasonCodes = {
|
|
4
|
+
cacheProofRejected: "NC_CACHE_REJECT",
|
|
5
|
+
cacheReuseTokenRejected: "NC_CACHE_TOKEN_REJECT",
|
|
6
|
+
commitCurrent: "NC_COMMIT",
|
|
7
|
+
crossDocumentFlight: "NC_CROSS_DOC_FLIGHT",
|
|
8
|
+
fetchFresh: "NC_FETCH_FRESH",
|
|
9
|
+
invalidRscPayload: "NC_RSC_INVALID",
|
|
10
|
+
interceptedCommitCurrent: "NC_INTERCEPT_COMMIT",
|
|
11
|
+
interceptedRejectedIncompatibleRoot: "NC_INTERCEPT_REJECT_ROOT",
|
|
12
|
+
interceptedRejectedMissingProof: "NC_INTERCEPT_REJECT_MISSING_PROOF",
|
|
13
|
+
interceptedRejectedMissingSlotProof: "NC_INTERCEPT_REJECT_SLOT",
|
|
14
|
+
interceptedRejectedTargetMismatch: "NC_INTERCEPT_REJECT_TARGET",
|
|
15
|
+
interceptedRejectedUndeclaredTopology: "NC_INTERCEPT_REJECT_GRAPH",
|
|
16
|
+
interceptedRejectedUnknownSource: "NC_INTERCEPT_REJECT_SOURCE",
|
|
17
|
+
optimisticRouteShell: "NC_OPTIMISTIC_SHELL",
|
|
18
|
+
prefetchOnly: "NC_PREFETCH_ONLY",
|
|
19
|
+
prefetchResponseReuse: "NC_PREFETCH_REUSE",
|
|
20
|
+
proceedToCommit: "NC_RSC_PROCEED",
|
|
21
|
+
redirectFollow: "NC_RSC_REDIRECT_FOLLOW",
|
|
22
|
+
redirectTerminalDepth: "NC_RSC_REDIRECT_DEPTH",
|
|
23
|
+
redirectTerminalExternal: "NC_RSC_REDIRECT_EXTERNAL",
|
|
24
|
+
requestWork: "NC_REQUEST",
|
|
25
|
+
rootBoundaryChanged: "NC_ROOT",
|
|
26
|
+
rootBoundaryUnknown: "NC_ROOT_UNKNOWN",
|
|
27
|
+
rscCompatibilityMismatch: "NC_RSC_COMPAT_MISMATCH",
|
|
28
|
+
rscNavigationError: "NC_RSC_NAV_ERROR",
|
|
29
|
+
sameDocumentScroll: "NC_SAME_DOC_SCROLL",
|
|
30
|
+
samePageSearch: "NC_SAME_PAGE_SEARCH",
|
|
31
|
+
serverActionRedirectCompatibilityMismatch: "NC_SA_REDIRECT_COMPAT",
|
|
32
|
+
serverActionRscCompatibilityMismatch: "NC_SA_RSC_COMPAT",
|
|
33
|
+
staleOperation: "NC_STALE",
|
|
34
|
+
streamedRedirectLoop: "NC_RSC_STREAMED_REDIRECT_LOOP",
|
|
35
|
+
visitedResponseReuse: "NC_VISITED_REUSE"
|
|
36
|
+
};
|
|
37
|
+
const NavigationTraceTransactionCodes = {
|
|
38
|
+
hardNavigate: "NT_HARD_NAVIGATE",
|
|
39
|
+
noCommit: "NT_NO_COMMIT",
|
|
40
|
+
visibleCommit: "NT_VISIBLE_COMMIT"
|
|
41
|
+
};
|
|
42
|
+
function createNavigationLifecycleTraceFields(options) {
|
|
43
|
+
return {
|
|
44
|
+
...options.activeNavigationId !== void 0 ? { activeNavigationId: options.activeNavigationId } : {},
|
|
45
|
+
currentRootLayoutTreePath: options.currentRootLayoutTreePath,
|
|
46
|
+
currentVisibleCommitVersion: options.currentVisibleCommitVersion,
|
|
47
|
+
nextRootLayoutTreePath: options.nextRootLayoutTreePath,
|
|
48
|
+
...options.startedNavigationId !== void 0 ? { startedNavigationId: options.startedNavigationId } : {},
|
|
49
|
+
startedVisibleCommitVersion: options.startedVisibleCommitVersion
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
function createNavigationTraceEntry(code, fields = {}) {
|
|
53
|
+
return {
|
|
54
|
+
code,
|
|
55
|
+
fields: { ...fields }
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function createNavigationTrace(code, fields = {}) {
|
|
59
|
+
return {
|
|
60
|
+
schemaVersion: 0,
|
|
61
|
+
entries: [createNavigationTraceEntry(code, fields)]
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
function prependNavigationTraceEntry(trace, code, fields = {}) {
|
|
65
|
+
return {
|
|
66
|
+
schemaVersion: trace.schemaVersion,
|
|
67
|
+
entries: [createNavigationTraceEntry(code, fields), ...trace.entries]
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
//#endregion
|
|
71
|
+
export { NAVIGATION_TRACE_SCHEMA_VERSION, NavigationTraceReasonCodes, NavigationTraceTransactionCodes, createNavigationLifecycleTraceFields, createNavigationTrace, prependNavigationTraceEntry };
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
//#region src/server/next-error-digest.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Helpers for parsing Next.js error `digest` strings shared across the App
|
|
4
|
+
* Router execution paths (server actions, page renders, route handlers).
|
|
5
|
+
*
|
|
6
|
+
* Next.js encodes special control flow as thrown errors carrying a `digest`
|
|
7
|
+
* field with one of these formats:
|
|
8
|
+
* - `NEXT_REDIRECT;<type>;<encodedUrl>;<status>` — `redirect()` / `permanentRedirect()`
|
|
9
|
+
* - `NEXT_NOT_FOUND` — `notFound()`
|
|
10
|
+
* - `NEXT_HTTP_ERROR_FALLBACK;<status>` — `forbidden()` / `unauthorized()` / etc.
|
|
11
|
+
*
|
|
12
|
+
* Each call site needs slightly different post-processing (URL resolution
|
|
13
|
+
* against the request, 303-vs-307 status overrides for actions, etc.), so
|
|
14
|
+
* these helpers only handle the parsing — callers shape the result.
|
|
15
|
+
*/
|
|
16
|
+
type NextRedirectDigest = {
|
|
17
|
+
status: number;
|
|
18
|
+
type: string | null;
|
|
19
|
+
url: string;
|
|
20
|
+
};
|
|
21
|
+
type NextHttpErrorDigest = {
|
|
22
|
+
status: number;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Pulls a stringified `digest` off an unknown thrown value, or returns null
|
|
26
|
+
* when the value is not a digest-bearing error.
|
|
27
|
+
*/
|
|
28
|
+
declare function getNextErrorDigest(error: unknown): string | null;
|
|
29
|
+
/**
|
|
30
|
+
* Parses a `NEXT_REDIRECT;<type>;<encodedUrl>;<status>` digest. Returns null
|
|
31
|
+
* when the digest is not a redirect digest or the encoded URL segment is
|
|
32
|
+
* missing. The `url` is decoded with `decodeURIComponent`; the `status`
|
|
33
|
+
* defaults to 307 when omitted; an omitted `type` is left as null so the
|
|
34
|
+
* caller can apply the correct context-sensitive default.
|
|
35
|
+
*/
|
|
36
|
+
declare function parseNextRedirectDigest(digest: string): NextRedirectDigest | null;
|
|
37
|
+
/**
|
|
38
|
+
* Parses a `NEXT_NOT_FOUND` or `NEXT_HTTP_ERROR_FALLBACK;<status>` digest.
|
|
39
|
+
* Returns `{ status: 404 }` for `NEXT_NOT_FOUND` and the parsed status code
|
|
40
|
+
* for the fallback form. Returns null otherwise.
|
|
41
|
+
*/
|
|
42
|
+
declare function parseNextHttpErrorDigest(digest: string): NextHttpErrorDigest | null;
|
|
43
|
+
//#endregion
|
|
44
|
+
export { getNextErrorDigest, parseNextHttpErrorDigest, parseNextRedirectDigest };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
//#region src/server/next-error-digest.ts
|
|
2
|
+
/**
|
|
3
|
+
* Pulls a stringified `digest` off an unknown thrown value, or returns null
|
|
4
|
+
* when the value is not a digest-bearing error.
|
|
5
|
+
*/
|
|
6
|
+
function getNextErrorDigest(error) {
|
|
7
|
+
if (!error || typeof error !== "object" || !("digest" in error)) return null;
|
|
8
|
+
return String(error.digest);
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Parses a `NEXT_REDIRECT;<type>;<encodedUrl>;<status>` digest. Returns null
|
|
12
|
+
* when the digest is not a redirect digest or the encoded URL segment is
|
|
13
|
+
* missing. The `url` is decoded with `decodeURIComponent`; the `status`
|
|
14
|
+
* defaults to 307 when omitted; an omitted `type` is left as null so the
|
|
15
|
+
* caller can apply the correct context-sensitive default.
|
|
16
|
+
*/
|
|
17
|
+
function parseNextRedirectDigest(digest) {
|
|
18
|
+
if (!digest.startsWith("NEXT_REDIRECT;")) return null;
|
|
19
|
+
const parts = digest.split(";");
|
|
20
|
+
const encodedUrl = parts[2];
|
|
21
|
+
if (!encodedUrl) return null;
|
|
22
|
+
const type = parts[1];
|
|
23
|
+
return {
|
|
24
|
+
status: parts[3] ? parseInt(parts[3], 10) : 307,
|
|
25
|
+
type: type || null,
|
|
26
|
+
url: decodeURIComponent(encodedUrl)
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Parses a `NEXT_NOT_FOUND` or `NEXT_HTTP_ERROR_FALLBACK;<status>` digest.
|
|
31
|
+
* Returns `{ status: 404 }` for `NEXT_NOT_FOUND` and the parsed status code
|
|
32
|
+
* for the fallback form. Returns null otherwise.
|
|
33
|
+
*/
|
|
34
|
+
function parseNextHttpErrorDigest(digest) {
|
|
35
|
+
if (digest === "NEXT_NOT_FOUND") return { status: 404 };
|
|
36
|
+
if (digest.startsWith("NEXT_HTTP_ERROR_FALLBACK;")) return { status: parseInt(digest.split(";")[1], 10) };
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
//#endregion
|
|
40
|
+
export { getNextErrorDigest, parseNextHttpErrorDigest, parseNextRedirectDigest };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
//#region src/server/normalize-path.d.ts
|
|
2
|
+
declare function escapePathDelimiters(segment: string, escapeEncoded?: boolean): string;
|
|
3
|
+
/**
|
|
4
|
+
* Decode a URL pathname segment-by-segment, preserving encoded path delimiters.
|
|
5
|
+
* Non-ASCII characters (e.g. %C3%A9 -> e) are decoded, but structural characters
|
|
6
|
+
* like %2F (/) %23 (#) %3F (?) %5C (\) are re-encoded after decoding.
|
|
7
|
+
*
|
|
8
|
+
* This prevents encoded slashes from changing the path structure (e.g.
|
|
9
|
+
* /admin%2Fpanel stays as a single segment, not /admin/panel).
|
|
10
|
+
*
|
|
11
|
+
* Ported from Next.js: packages/next/src/server/lib/router-utils/decode-path-params.ts
|
|
12
|
+
* https://github.com/vercel/next.js/blob/canary/packages/next/src/server/lib/router-utils/decode-path-params.ts
|
|
13
|
+
*/
|
|
14
|
+
declare function decodePathParams(pathname: string): string;
|
|
15
|
+
declare function isInterceptionMatchedUrlPath(value: string): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Path normalization utility for request handling.
|
|
18
|
+
*
|
|
19
|
+
* Normalizes URL pathnames to a canonical form BEFORE any matching occurs
|
|
20
|
+
* (middleware, routing, redirects, rewrites). This ensures middleware and
|
|
21
|
+
* the router always see the same path, preventing path-confusion issues like
|
|
22
|
+
* double-slash mismatches.
|
|
23
|
+
*
|
|
24
|
+
* Normalization rules:
|
|
25
|
+
* 1. Collapse consecutive slashes: //foo///bar → /foo/bar
|
|
26
|
+
* 2. Resolve single-dot segments: /foo/./bar → /foo/bar
|
|
27
|
+
* 3. Resolve double-dot segments: /foo/../bar → /bar
|
|
28
|
+
* 4. Ensure leading slash: foo/bar → /foo/bar
|
|
29
|
+
* 5. Preserve root: / → /
|
|
30
|
+
*
|
|
31
|
+
* This function does NOT:
|
|
32
|
+
* - Strip or add trailing slashes (handled separately by trailingSlash config)
|
|
33
|
+
* - Decode percent-encoded characters (callers should decode before calling this)
|
|
34
|
+
* - Lowercase the path (route matching is case-sensitive)
|
|
35
|
+
*/
|
|
36
|
+
declare function normalizePath(pathname: string): string;
|
|
37
|
+
//#endregion
|
|
38
|
+
export { decodePathParams, escapePathDelimiters, isInterceptionMatchedUrlPath, normalizePath };
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
//#region src/server/normalize-path.ts
|
|
2
|
+
/**
|
|
3
|
+
* Re-encode path delimiter characters that were decoded by decodeURIComponent.
|
|
4
|
+
* After decoding a URL segment, characters like / # ? \ need to be re-encoded
|
|
5
|
+
* so they don't change the path structure.
|
|
6
|
+
*
|
|
7
|
+
* Ported from Next.js: packages/next/src/shared/lib/router/utils/escape-path-delimiters.ts
|
|
8
|
+
* https://github.com/vercel/next.js/blob/canary/packages/next/src/shared/lib/router/utils/escape-path-delimiters.ts
|
|
9
|
+
*/
|
|
10
|
+
const PATH_DELIMITERS_RE = /([/#?])/gi;
|
|
11
|
+
const PATH_DELIMITERS_ENCODED_RE = /([/#?]|%(2f|23|3f|5c))/gi;
|
|
12
|
+
function escapePathDelimiters(segment, escapeEncoded) {
|
|
13
|
+
return segment.replace(escapeEncoded ? PATH_DELIMITERS_ENCODED_RE : PATH_DELIMITERS_RE, (char) => encodeURIComponent(char));
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Decode a URL pathname segment-by-segment, preserving encoded path delimiters.
|
|
17
|
+
* Non-ASCII characters (e.g. %C3%A9 -> e) are decoded, but structural characters
|
|
18
|
+
* like %2F (/) %23 (#) %3F (?) %5C (\) are re-encoded after decoding.
|
|
19
|
+
*
|
|
20
|
+
* This prevents encoded slashes from changing the path structure (e.g.
|
|
21
|
+
* /admin%2Fpanel stays as a single segment, not /admin/panel).
|
|
22
|
+
*
|
|
23
|
+
* Ported from Next.js: packages/next/src/server/lib/router-utils/decode-path-params.ts
|
|
24
|
+
* https://github.com/vercel/next.js/blob/canary/packages/next/src/server/lib/router-utils/decode-path-params.ts
|
|
25
|
+
*/
|
|
26
|
+
function decodePathParams(pathname) {
|
|
27
|
+
return pathname.split("/").map((seg) => {
|
|
28
|
+
try {
|
|
29
|
+
return escapePathDelimiters(decodeURIComponent(seg), true);
|
|
30
|
+
} catch {
|
|
31
|
+
return seg;
|
|
32
|
+
}
|
|
33
|
+
}).join("/");
|
|
34
|
+
}
|
|
35
|
+
function isInterceptionMatchedUrlPath(value) {
|
|
36
|
+
return value.startsWith("/") && !value.startsWith("//") && !value.includes("?") && !value.includes("#") && !value.includes("\0");
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Path normalization utility for request handling.
|
|
40
|
+
*
|
|
41
|
+
* Normalizes URL pathnames to a canonical form BEFORE any matching occurs
|
|
42
|
+
* (middleware, routing, redirects, rewrites). This ensures middleware and
|
|
43
|
+
* the router always see the same path, preventing path-confusion issues like
|
|
44
|
+
* double-slash mismatches.
|
|
45
|
+
*
|
|
46
|
+
* Normalization rules:
|
|
47
|
+
* 1. Collapse consecutive slashes: //foo///bar → /foo/bar
|
|
48
|
+
* 2. Resolve single-dot segments: /foo/./bar → /foo/bar
|
|
49
|
+
* 3. Resolve double-dot segments: /foo/../bar → /bar
|
|
50
|
+
* 4. Ensure leading slash: foo/bar → /foo/bar
|
|
51
|
+
* 5. Preserve root: / → /
|
|
52
|
+
*
|
|
53
|
+
* This function does NOT:
|
|
54
|
+
* - Strip or add trailing slashes (handled separately by trailingSlash config)
|
|
55
|
+
* - Decode percent-encoded characters (callers should decode before calling this)
|
|
56
|
+
* - Lowercase the path (route matching is case-sensitive)
|
|
57
|
+
*/
|
|
58
|
+
function normalizePath(pathname) {
|
|
59
|
+
if (pathname === "/" || pathname.length > 1 && pathname[0] === "/" && !pathname.includes("//") && !pathname.includes("/./") && !pathname.includes("/../") && !pathname.endsWith("/.") && !pathname.endsWith("/..")) return pathname;
|
|
60
|
+
const segments = pathname.split("/");
|
|
61
|
+
const resolved = [];
|
|
62
|
+
for (const segment of segments) {
|
|
63
|
+
if (segment === "" || segment === ".") continue;
|
|
64
|
+
if (segment === "..") resolved.pop();
|
|
65
|
+
else resolved.push(segment);
|
|
66
|
+
}
|
|
67
|
+
return "/" + resolved.join("/");
|
|
68
|
+
}
|
|
69
|
+
//#endregion
|
|
70
|
+
export { decodePathParams, escapePathDelimiters, isInterceptionMatchedUrlPath, normalizePath };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region src/server/open-redirect.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Returns true if a request pathname looks like a protocol-relative open
|
|
4
|
+
* redirect, in either literal or percent-encoded form.
|
|
5
|
+
*
|
|
6
|
+
* A pathname is considered "open redirect shaped" when its first segment,
|
|
7
|
+
* after decoding backslashes and encoded delimiters, would cause a browser
|
|
8
|
+
* to resolve a `Location` containing the pathname as protocol-relative.
|
|
9
|
+
*/
|
|
10
|
+
declare function isOpenRedirectShaped(rawPathname: string): boolean;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { isOpenRedirectShaped };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//#region src/server/open-redirect.ts
|
|
2
|
+
/**
|
|
3
|
+
* Returns true if a request pathname looks like a protocol-relative open
|
|
4
|
+
* redirect, in either literal or percent-encoded form.
|
|
5
|
+
*
|
|
6
|
+
* A pathname is considered "open redirect shaped" when its first segment,
|
|
7
|
+
* after decoding backslashes and encoded delimiters, would cause a browser
|
|
8
|
+
* to resolve a `Location` containing the pathname as protocol-relative.
|
|
9
|
+
*/
|
|
10
|
+
function isOpenRedirectShaped(rawPathname) {
|
|
11
|
+
if (!rawPathname.startsWith("/")) return false;
|
|
12
|
+
const afterSlash = rawPathname.slice(1);
|
|
13
|
+
if (afterSlash.startsWith("/") || afterSlash.startsWith("\\")) return true;
|
|
14
|
+
if (afterSlash.length >= 3 && afterSlash[0] === "%") {
|
|
15
|
+
const encoded = afterSlash.slice(0, 3).toLowerCase();
|
|
16
|
+
if (encoded === "%5c" || encoded === "%2f") return true;
|
|
17
|
+
}
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
export { isOpenRedirectShaped };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
//#region src/server/operation-token.d.ts
|
|
2
|
+
type OperationLane = "hmr" | "navigation" | "prefetch" | "refresh" | "server-action" | "traverse";
|
|
3
|
+
type OperationToken = {
|
|
4
|
+
operationId: number;
|
|
5
|
+
lane: OperationLane;
|
|
6
|
+
navigationId: number;
|
|
7
|
+
baseVisibleCommitVersion: number;
|
|
8
|
+
graphVersion: string | null;
|
|
9
|
+
deploymentVersion: string | null;
|
|
10
|
+
targetSnapshotFingerprint: string;
|
|
11
|
+
cacheVariantFingerprint?: string;
|
|
12
|
+
};
|
|
13
|
+
declare const verifiedOperationTokenBrand: unique symbol;
|
|
14
|
+
type VerifiedOperationToken = OperationToken & {
|
|
15
|
+
readonly [verifiedOperationTokenBrand]: true;
|
|
16
|
+
};
|
|
17
|
+
type OperationTokenAuthority = {
|
|
18
|
+
activeNavigationId: number;
|
|
19
|
+
visibleCommitVersion: number;
|
|
20
|
+
graphVersion: string | null;
|
|
21
|
+
installedCacheVariantFingerprint: string | null;
|
|
22
|
+
};
|
|
23
|
+
type OperationTokenDimension = "navigation" | "visibleCommit" | "graphVersion" | "cacheVariant";
|
|
24
|
+
type OperationTokenRejectionReason = "staleNavigation" | "staleVisibleCommit" | "graphVersionMismatch" | "graphVersionMissing" | "cacheVariantMismatch" | "cacheVariantMissing";
|
|
25
|
+
type OperationTokenVerdict = {
|
|
26
|
+
readonly authorized: true;
|
|
27
|
+
readonly token: VerifiedOperationToken;
|
|
28
|
+
} | {
|
|
29
|
+
readonly authorized: false;
|
|
30
|
+
readonly reason: OperationTokenRejectionReason;
|
|
31
|
+
};
|
|
32
|
+
type OperationTokenVerificationPolicy = {
|
|
33
|
+
check: readonly OperationTokenDimension[];
|
|
34
|
+
require: readonly OperationTokenDimension[];
|
|
35
|
+
};
|
|
36
|
+
declare function verifyOperationToken(token: OperationToken, authority: OperationTokenAuthority, policy: OperationTokenVerificationPolicy): OperationTokenVerdict;
|
|
37
|
+
declare function verifyOperationTokenForCommit(token: OperationToken, authority: Pick<OperationTokenAuthority, "activeNavigationId" | "visibleCommitVersion">): OperationTokenVerdict;
|
|
38
|
+
declare function verifyOperationTokenForCacheReuse(token: OperationToken, authority: Pick<OperationTokenAuthority, "graphVersion" | "installedCacheVariantFingerprint">): OperationTokenVerdict;
|
|
39
|
+
//#endregion
|
|
40
|
+
export { OperationLane, OperationToken, OperationTokenAuthority, OperationTokenRejectionReason, OperationTokenVerdict, OperationTokenVerificationPolicy, VerifiedOperationToken, verifyOperationToken, verifyOperationTokenForCacheReuse, verifyOperationTokenForCommit };
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
//#region src/server/operation-token.ts
|
|
2
|
+
const DIMENSION_ORDER = [
|
|
3
|
+
"navigation",
|
|
4
|
+
"visibleCommit",
|
|
5
|
+
"graphVersion",
|
|
6
|
+
"cacheVariant"
|
|
7
|
+
];
|
|
8
|
+
function evaluateDimension(dimension, token, authority) {
|
|
9
|
+
switch (dimension) {
|
|
10
|
+
case "navigation": return token.navigationId === authority.activeNavigationId ? { kind: "satisfied" } : {
|
|
11
|
+
kind: "mismatch",
|
|
12
|
+
reason: "staleNavigation"
|
|
13
|
+
};
|
|
14
|
+
case "visibleCommit": return token.baseVisibleCommitVersion === authority.visibleCommitVersion ? { kind: "satisfied" } : {
|
|
15
|
+
kind: "mismatch",
|
|
16
|
+
reason: "staleVisibleCommit"
|
|
17
|
+
};
|
|
18
|
+
case "graphVersion":
|
|
19
|
+
if (token.graphVersion === null || authority.graphVersion === null) return {
|
|
20
|
+
kind: "absent",
|
|
21
|
+
missingReason: "graphVersionMissing"
|
|
22
|
+
};
|
|
23
|
+
return token.graphVersion === authority.graphVersion ? { kind: "satisfied" } : {
|
|
24
|
+
kind: "mismatch",
|
|
25
|
+
reason: "graphVersionMismatch"
|
|
26
|
+
};
|
|
27
|
+
case "cacheVariant": {
|
|
28
|
+
const tokenVariant = token.cacheVariantFingerprint;
|
|
29
|
+
const installedVariant = authority.installedCacheVariantFingerprint;
|
|
30
|
+
if (tokenVariant === void 0 || installedVariant === null) return {
|
|
31
|
+
kind: "absent",
|
|
32
|
+
missingReason: "cacheVariantMissing"
|
|
33
|
+
};
|
|
34
|
+
return tokenVariant === installedVariant ? { kind: "satisfied" } : {
|
|
35
|
+
kind: "mismatch",
|
|
36
|
+
reason: "cacheVariantMismatch"
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
default: throw new Error("[vinext] Unknown operation-token dimension: " + String(dimension));
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function verifyOperationToken(token, authority, policy) {
|
|
43
|
+
const required = new Set(policy.require);
|
|
44
|
+
const evaluated = new Set([...policy.check, ...policy.require]);
|
|
45
|
+
for (const dimension of DIMENSION_ORDER) {
|
|
46
|
+
if (!evaluated.has(dimension)) continue;
|
|
47
|
+
const status = evaluateDimension(dimension, token, authority);
|
|
48
|
+
if (status.kind === "mismatch") return {
|
|
49
|
+
authorized: false,
|
|
50
|
+
reason: status.reason
|
|
51
|
+
};
|
|
52
|
+
if (status.kind === "absent" && required.has(dimension)) return {
|
|
53
|
+
authorized: false,
|
|
54
|
+
reason: status.missingReason
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
authorized: true,
|
|
59
|
+
token
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function verifyOperationTokenForCommit(token, authority) {
|
|
63
|
+
return verifyOperationToken(token, {
|
|
64
|
+
activeNavigationId: authority.activeNavigationId,
|
|
65
|
+
visibleCommitVersion: authority.visibleCommitVersion,
|
|
66
|
+
graphVersion: token.graphVersion,
|
|
67
|
+
installedCacheVariantFingerprint: token.cacheVariantFingerprint ?? null
|
|
68
|
+
}, {
|
|
69
|
+
check: ["navigation", "visibleCommit"],
|
|
70
|
+
require: ["navigation", "visibleCommit"]
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
function verifyOperationTokenForCacheReuse(token, authority) {
|
|
74
|
+
return verifyOperationToken(token, {
|
|
75
|
+
activeNavigationId: token.navigationId,
|
|
76
|
+
visibleCommitVersion: token.baseVisibleCommitVersion,
|
|
77
|
+
graphVersion: authority.graphVersion,
|
|
78
|
+
installedCacheVariantFingerprint: authority.installedCacheVariantFingerprint
|
|
79
|
+
}, {
|
|
80
|
+
check: ["graphVersion", "cacheVariant"],
|
|
81
|
+
require: []
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
//#endregion
|
|
85
|
+
export { verifyOperationToken, verifyOperationTokenForCacheReuse, verifyOperationTokenForCommit };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
//#region src/server/otel-tracer-extension.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* OpenTelemetry tracer provider extension for Cache Components.
|
|
4
|
+
*
|
|
5
|
+
* When `cacheComponents: true` is enabled in next.config, component renders
|
|
6
|
+
* go through multiple phases (warmup → resume). During these phases, the
|
|
7
|
+
* `workUnitAsyncStorage` carries a prerender or cache store. Without this
|
|
8
|
+
* extension, calls to `tracer.startSpan()` / `tracer.startActiveSpan()` from
|
|
9
|
+
* inside user RSC code would inherit that prerender context, causing:
|
|
10
|
+
*
|
|
11
|
+
* 1. Spans to reuse the same trace ID across requests (the frozen prerender
|
|
12
|
+
* context bleeds into the runtime resume render).
|
|
13
|
+
* 2. Spans not being created at all during fallback resume (the work unit
|
|
14
|
+
* context gates span creation in some OTel SDK implementations).
|
|
15
|
+
*
|
|
16
|
+
* The fix mirrors Next.js's `instrumentation-node-extensions.ts`:
|
|
17
|
+
* - Wrap `tracer.startSpan` to exit `workUnitAsyncStorage` before creating
|
|
18
|
+
* the span, ensuring a clean context for span ID generation.
|
|
19
|
+
* - Wrap `tracer.startActiveSpan` similarly and re-enter the work unit store
|
|
20
|
+
* for the callback, so that the callback runs with the correct request
|
|
21
|
+
* context restored.
|
|
22
|
+
*
|
|
23
|
+
* This extension is intentionally a no-op when:
|
|
24
|
+
* - `@opentelemetry/api` is not installed (graceful degradation).
|
|
25
|
+
* - No OTel tracer provider has been registered (provider is the noop provider).
|
|
26
|
+
* - `workUnitAsyncStorage` has no active store (non-render contexts).
|
|
27
|
+
*
|
|
28
|
+
* References:
|
|
29
|
+
* - packages/next/src/server/lib/router-utils/instrumentation-node-extensions.ts
|
|
30
|
+
* - https://github.com/vercel/next.js/blob/canary/packages/next/src/server/lib/router-utils/instrumentation-node-extensions.ts
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* Extend the registered OTel tracer provider so that `startSpan` and
|
|
34
|
+
* `startActiveSpan` exit the `workUnitAsyncStorage` context before creating
|
|
35
|
+
* spans. This prevents the prerender/cache work unit store from leaking into
|
|
36
|
+
* span ID generation during Cache Component fallback resumes.
|
|
37
|
+
*
|
|
38
|
+
* Safe to call multiple times — subsequent calls are no-ops once the provider
|
|
39
|
+
* has been wrapped.
|
|
40
|
+
*
|
|
41
|
+
* Must only be called in Node.js environments (not Edge runtime).
|
|
42
|
+
*/
|
|
43
|
+
declare function extendTracerProviderForCacheComponents(): void;
|
|
44
|
+
//#endregion
|
|
45
|
+
export { extendTracerProviderForCacheComponents };
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { workUnitAsyncStorage } from "../shims/internal/work-unit-async-storage.js";
|
|
2
|
+
//#region src/server/otel-tracer-extension.ts
|
|
3
|
+
/**
|
|
4
|
+
* OpenTelemetry tracer provider extension for Cache Components.
|
|
5
|
+
*
|
|
6
|
+
* When `cacheComponents: true` is enabled in next.config, component renders
|
|
7
|
+
* go through multiple phases (warmup → resume). During these phases, the
|
|
8
|
+
* `workUnitAsyncStorage` carries a prerender or cache store. Without this
|
|
9
|
+
* extension, calls to `tracer.startSpan()` / `tracer.startActiveSpan()` from
|
|
10
|
+
* inside user RSC code would inherit that prerender context, causing:
|
|
11
|
+
*
|
|
12
|
+
* 1. Spans to reuse the same trace ID across requests (the frozen prerender
|
|
13
|
+
* context bleeds into the runtime resume render).
|
|
14
|
+
* 2. Spans not being created at all during fallback resume (the work unit
|
|
15
|
+
* context gates span creation in some OTel SDK implementations).
|
|
16
|
+
*
|
|
17
|
+
* The fix mirrors Next.js's `instrumentation-node-extensions.ts`:
|
|
18
|
+
* - Wrap `tracer.startSpan` to exit `workUnitAsyncStorage` before creating
|
|
19
|
+
* the span, ensuring a clean context for span ID generation.
|
|
20
|
+
* - Wrap `tracer.startActiveSpan` similarly and re-enter the work unit store
|
|
21
|
+
* for the callback, so that the callback runs with the correct request
|
|
22
|
+
* context restored.
|
|
23
|
+
*
|
|
24
|
+
* This extension is intentionally a no-op when:
|
|
25
|
+
* - `@opentelemetry/api` is not installed (graceful degradation).
|
|
26
|
+
* - No OTel tracer provider has been registered (provider is the noop provider).
|
|
27
|
+
* - `workUnitAsyncStorage` has no active store (non-render contexts).
|
|
28
|
+
*
|
|
29
|
+
* References:
|
|
30
|
+
* - packages/next/src/server/lib/router-utils/instrumentation-node-extensions.ts
|
|
31
|
+
* - https://github.com/vercel/next.js/blob/canary/packages/next/src/server/lib/router-utils/instrumentation-node-extensions.ts
|
|
32
|
+
*/
|
|
33
|
+
const extendedProviders = /* @__PURE__ */ new WeakSet();
|
|
34
|
+
const USE_CACHE_FUNCTION_SYMBOL = Symbol.for("vinext.useCacheFunction");
|
|
35
|
+
function isUseCacheFn(fn) {
|
|
36
|
+
return typeof fn === "function" && fn[USE_CACHE_FUNCTION_SYMBOL] === true;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Extend the registered OTel tracer provider so that `startSpan` and
|
|
40
|
+
* `startActiveSpan` exit the `workUnitAsyncStorage` context before creating
|
|
41
|
+
* spans. This prevents the prerender/cache work unit store from leaking into
|
|
42
|
+
* span ID generation during Cache Component fallback resumes.
|
|
43
|
+
*
|
|
44
|
+
* Safe to call multiple times — subsequent calls are no-ops once the provider
|
|
45
|
+
* has been wrapped.
|
|
46
|
+
*
|
|
47
|
+
* Must only be called in Node.js environments (not Edge runtime).
|
|
48
|
+
*/
|
|
49
|
+
function extendTracerProviderForCacheComponents() {
|
|
50
|
+
let api;
|
|
51
|
+
try {
|
|
52
|
+
const req = globalThis.require;
|
|
53
|
+
if (typeof req === "function") api = req("@opentelemetry/api");
|
|
54
|
+
} catch {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
if (!api) return;
|
|
58
|
+
const provider = api.trace.getTracerProvider();
|
|
59
|
+
if (!provider || typeof provider.getTracer !== "function") return;
|
|
60
|
+
if (extendedProviders.has(provider)) return;
|
|
61
|
+
extendedProviders.add(provider);
|
|
62
|
+
const originalGetTracer = provider.getTracer.bind(provider);
|
|
63
|
+
const wrappedTracers = /* @__PURE__ */ new WeakSet();
|
|
64
|
+
provider.getTracer = (...args) => {
|
|
65
|
+
const tracer = originalGetTracer(...args);
|
|
66
|
+
if (!tracer || wrappedTracers.has(tracer)) return tracer;
|
|
67
|
+
const originalStartSpan = tracer.startSpan;
|
|
68
|
+
if (typeof originalStartSpan === "function") tracer.startSpan = (...startSpanArgs) => workUnitAsyncStorage.exit(() => originalStartSpan.apply(tracer, startSpanArgs));
|
|
69
|
+
const originalStartActiveSpan = tracer.startActiveSpan;
|
|
70
|
+
if (typeof originalStartActiveSpan === "function") tracer.startActiveSpan = (...startActiveSpanArgs) => {
|
|
71
|
+
const workUnitStore = workUnitAsyncStorage.getStore();
|
|
72
|
+
if (!workUnitStore) return originalStartActiveSpan.apply(tracer, startActiveSpanArgs);
|
|
73
|
+
let fnIdx = 0;
|
|
74
|
+
if (startActiveSpanArgs.length === 2 && typeof startActiveSpanArgs[1] === "function") fnIdx = 1;
|
|
75
|
+
else if (startActiveSpanArgs.length === 3 && typeof startActiveSpanArgs[2] === "function") fnIdx = 2;
|
|
76
|
+
else if (startActiveSpanArgs.length > 3 && typeof startActiveSpanArgs[3] === "function") fnIdx = 3;
|
|
77
|
+
if (fnIdx > 0) {
|
|
78
|
+
const originalFn = startActiveSpanArgs[fnIdx];
|
|
79
|
+
if (isUseCacheFn(originalFn)) console.error("A Cache Function (`use cache`) was passed to startActiveSpan which means it will receive a Span argument with a possibly random ID on every invocation leading to cache misses. Provide a wrapping function around the Cache Function that does not forward the Span argument to avoid this issue.");
|
|
80
|
+
startActiveSpanArgs[fnIdx] = (...cbArgs) => workUnitAsyncStorage.run(workUnitStore, originalFn, ...cbArgs);
|
|
81
|
+
}
|
|
82
|
+
return workUnitAsyncStorage.exit(() => originalStartActiveSpan.apply(tracer, startActiveSpanArgs));
|
|
83
|
+
};
|
|
84
|
+
wrappedTracers.add(tracer);
|
|
85
|
+
return tracer;
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
//#endregion
|
|
89
|
+
export { extendTracerProviderForCacheComponents };
|