vinext 1.0.0-beta.8 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +158 -84
- package/THIRD_PARTY_LICENSES.md +25 -0
- package/dist/_virtual/_rolldown/runtime.js +25 -0
- package/dist/build/action-owner-manifest.d.ts +8 -9
- package/dist/build/action-owner-manifest.js +23 -5
- package/dist/build/assets-ignore.d.ts +3 -4
- package/dist/build/clean-output.d.ts +2 -3
- package/dist/build/client-build-config.d.ts +40 -12
- package/dist/build/client-build-config.js +76 -6
- package/dist/build/css-url-assets.d.ts +4 -5
- package/dist/build/css-url-assets.js +5 -2
- package/dist/build/google-fonts/build-url.d.ts +3 -4
- package/dist/build/google-fonts/fallback-metrics.d.ts +3 -4
- package/dist/build/google-fonts/find-font-files-in-css.d.ts +2 -3
- package/dist/build/google-fonts/font-metadata.d.ts +2 -3
- package/dist/build/google-fonts/get-axes.d.ts +2 -3
- package/dist/build/google-fonts/sort-variants.d.ts +2 -3
- package/dist/build/google-fonts/validate.d.ts +2 -3
- package/dist/build/google-fonts/validate.js +8 -4
- package/dist/build/inject-pregenerated-paths.d.ts +2 -3
- package/dist/build/inject-pregenerated-paths.js +16 -14
- package/dist/build/inline-css.d.ts +3 -4
- package/dist/build/layout-classification-types.d.ts +4 -5
- package/dist/build/layout-classification.d.ts +7 -8
- package/dist/build/lifecycle.d.ts +42 -0
- package/dist/build/lifecycle.js +253 -0
- package/dist/build/module-dependency-cache.d.ts +2 -3
- package/dist/build/next-client-runtime-manifests.d.ts +4 -5
- package/dist/build/nitro-route-rules.d.ts +6 -7
- package/dist/build/nitro-route-rules.js +1 -1
- package/dist/build/pages-client-assets-module.d.ts +4 -8
- package/dist/build/pages-client-assets-module.js +1 -13
- package/dist/build/precompress.d.ts +2 -3
- package/dist/build/prerender-cloudflare-loader.d.ts +4 -0
- package/dist/build/prerender-cloudflare-loader.js +49 -0
- package/dist/build/prerender-paths.d.ts +82 -8
- package/dist/build/prerender-paths.js +814 -99
- package/dist/build/prerender-phase.d.ts +2 -3
- package/dist/build/prerender-server-entry.js +11 -3
- package/dist/build/prerender-server-pool.d.ts +9 -6
- package/dist/build/prerender-server-pool.js +8 -5
- package/dist/build/prerender.d.ts +67 -15
- package/dist/build/prerender.js +177 -64
- package/dist/build/preview-credentials.d.ts +5 -6
- package/dist/build/preview-credentials.js +2 -2
- package/dist/build/public-dir-conflict.d.ts +5 -6
- package/dist/build/public-dir-conflict.js +2 -1
- package/dist/build/report.d.ts +38 -19
- package/dist/build/report.js +73 -4
- package/dist/build/route-classification-injector.d.ts +2 -3
- package/dist/build/route-classification-manifest.d.ts +5 -6
- package/dist/build/run-prerender.d.ts +11 -9
- package/dist/build/run-prerender.js +25 -16
- package/dist/build/server-entry.d.ts +4 -0
- package/dist/build/server-entry.js +28 -0
- package/dist/build/server-manifest.d.ts +8 -3
- package/dist/build/server-manifest.js +14 -2
- package/dist/build/ssr-manifest.d.ts +5 -6
- package/dist/build/standalone.d.ts +2 -3
- package/dist/build/standalone.js +2 -2
- package/dist/build/static-export.d.ts +7 -8
- package/dist/cache/cache-adapters-virtual.d.ts +95 -9
- package/dist/cache/cache-adapters-virtual.js +58 -6
- package/dist/check.d.ts +11 -10
- package/dist/check.js +467 -176
- package/dist/cli-args.d.ts +7 -16
- package/dist/cli-args.js +2 -45
- package/dist/cli-dev-config.d.ts +10 -7
- package/dist/cli-dev-config.js +160 -3
- package/dist/cli.js +124 -435
- package/dist/client/app-nav-failure-handler.d.ts +6 -7
- package/dist/client/client-rewrite-matcher.d.ts +2 -3
- package/dist/client/client-rewrites.d.ts +4 -5
- package/dist/client/dev-error-overlay-store.d.ts +13 -14
- package/dist/client/dev-error-overlay.d.ts +15 -15
- package/dist/client/dev-error-overlay.js +8 -5
- package/dist/client/instrumentation-client-inject.d.ts +3 -4
- package/dist/client/instrumentation-client-state.d.ts +5 -6
- package/dist/client/instrumentation-client.d.ts +3 -4
- package/dist/client/navigation-runtime.d.ts +21 -17
- package/dist/client/navigation-runtime.js +2 -1
- package/dist/client/pages-router-link-navigation.d.ts +4 -5
- package/dist/client/react-instance.d.ts +2 -3
- package/dist/client/validate-module-path.d.ts +2 -3
- package/dist/client/vinext-next-data.d.ts +7 -8
- package/dist/client/window-next.d.ts +4 -5
- package/dist/config/config-matchers.d.ts +16 -16
- package/dist/config/config-matchers.js +10 -7
- package/dist/config/dotenv.d.ts +3 -4
- package/dist/config/dotenv.js +2 -1
- package/dist/config/next-config.d.ts +31 -27
- package/dist/config/next-config.js +163 -16
- package/dist/config/prerender.d.ts +20 -16
- package/dist/config/prerender.js +10 -4
- package/dist/config/request-context.d.ts +5 -6
- package/dist/config/server-external-packages.d.ts +14 -3
- package/dist/config/server-external-packages.js +37 -3
- package/dist/config/tsconfig-paths.d.ts +3 -4
- package/dist/deps/.pnpm/ignore@5.3.2/deps/ignore/index.js +189 -0
- package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +1057 -0
- package/dist/entries/app-browser-entry.d.ts +5 -6
- package/dist/entries/app-browser-entry.js +3 -2
- package/dist/entries/app-rsc-entry.d.ts +12 -3
- package/dist/entries/app-rsc-entry.js +530 -55
- package/dist/entries/app-rsc-manifest.d.ts +4 -3
- package/dist/entries/app-rsc-manifest.js +27 -8
- package/dist/entries/app-ssr-entry.d.ts +2 -3
- package/dist/entries/app-ssr-entry.js +8 -1
- package/dist/entries/pages-client-entry.d.ts +3 -3
- package/dist/entries/pages-client-entry.js +17 -2
- package/dist/entries/pages-server-entry.d.ts +13 -3
- package/dist/entries/pages-server-entry.js +237 -33
- package/dist/entries/runtime-entry-module.d.ts +4 -5
- package/dist/image/image-adapters-virtual.d.ts +4 -5
- package/dist/index.d.ts +10 -11
- package/dist/index.js +832 -199
- package/dist/init-cloudflare.d.ts +27 -16
- package/dist/init-cloudflare.js +754 -113
- package/dist/init-platform.d.ts +26 -22
- package/dist/init-platform.js +85 -29
- package/dist/init.d.ts +19 -13
- package/dist/init.js +123 -41
- package/dist/plugins/action-owner-manifest.d.ts +3 -4
- package/dist/plugins/action-owner-manifest.js +10 -3
- package/dist/plugins/ast-scope.d.ts +10 -11
- package/dist/plugins/ast-scope.js +10 -22
- package/dist/plugins/ast-utils.d.ts +16 -29
- package/dist/plugins/ast-utils.js +27 -71
- package/dist/plugins/async-hooks-stub.d.ts +2 -3
- package/dist/plugins/client-reference-dedup.d.ts +4 -5
- package/dist/plugins/css-data-url.d.ts +2 -3
- package/dist/plugins/css-module-imports.d.ts +3 -4
- package/dist/plugins/css-module-imports.js +1 -1
- package/dist/plugins/dynamic-preload-metadata.d.ts +3 -4
- package/dist/plugins/dynamic-preload-metadata.js +55 -154
- package/dist/plugins/environment.d.ts +2 -3
- package/dist/plugins/extensionless-dynamic-import.d.ts +2 -3
- package/dist/plugins/extensionless-dynamic-import.js +6 -10
- package/dist/plugins/fonts.d.ts +10 -11
- package/dist/plugins/fonts.js +4 -3
- package/dist/plugins/ignore-dynamic-requests.d.ts +3 -4
- package/dist/plugins/ignore-dynamic-requests.js +60 -89
- package/dist/plugins/import-meta-url.d.ts +6 -7
- package/dist/plugins/import-meta-url.js +31 -43
- package/dist/plugins/instrumentation-client.d.ts +3 -3
- package/dist/plugins/instrumentation-client.js +46 -10
- package/dist/plugins/middleware-export-validation.d.ts +3 -4
- package/dist/plugins/middleware-export-validation.js +3 -3
- package/dist/plugins/middleware-server-only.d.ts +2 -3
- package/dist/plugins/og-asset-ownership.d.ts +3 -4
- package/dist/plugins/og-assets.d.ts +4 -5
- package/dist/plugins/og-assets.js +32 -13
- package/dist/plugins/og-harfbuzz.d.ts +24 -0
- package/dist/plugins/og-harfbuzz.js +260 -0
- package/dist/plugins/optimize-imports.d.ts +7 -7
- package/dist/plugins/optimize-imports.js +32 -44
- package/dist/plugins/pages-node-externals.d.ts +2 -3
- package/dist/plugins/pages-node-externals.js +6 -11
- package/dist/plugins/postcss.d.ts +8 -4
- package/dist/plugins/postcss.js +1 -1
- package/dist/plugins/remove-console.d.ts +2 -3
- package/dist/plugins/remove-console.js +0 -1
- package/dist/plugins/require-condition-resolution.d.ts +3 -4
- package/dist/plugins/require-condition-resolution.js +17 -18
- package/dist/plugins/require-context.d.ts +2 -3
- package/dist/plugins/require-context.js +13 -21
- package/dist/plugins/rsc-client-reference-loaders.d.ts +2 -3
- package/dist/plugins/rsc-client-shim-excludes.d.ts +4 -5
- package/dist/plugins/rsc-client-shim-excludes.js +1 -0
- package/dist/plugins/rsc-reference-validation-normalizer.d.ts +2 -3
- package/dist/plugins/sass.d.ts +7 -8
- package/dist/plugins/sass.js +7 -4
- package/dist/plugins/server-externals-manifest.d.ts +2 -3
- package/dist/plugins/strip-server-exports.d.ts +5 -6
- package/dist/plugins/strip-server-exports.js +1 -1
- package/dist/plugins/styled-jsx.d.ts +2 -3
- package/dist/plugins/styled-jsx.js +7 -7
- package/dist/plugins/transform-cache.d.ts +2 -3
- package/dist/plugins/transform-result.d.ts +3 -4
- package/dist/plugins/transitive-externals.d.ts +2 -3
- package/dist/plugins/typeof-window.d.ts +6 -7
- package/dist/plugins/typeof-window.js +30 -31
- package/dist/plugins/use-cache-callable.d.ts +2 -5
- package/dist/plugins/use-cache-callable.js +43 -22
- package/dist/plugins/wasm-module-import.d.ts +2 -3
- package/dist/plugins/worker-image-imports.d.ts +2 -3
- package/dist/plugins/worker-image-imports.js +6 -8
- package/dist/routing/app-route-graph.d.ts +19 -19
- package/dist/routing/app-route-graph.js +3 -2
- package/dist/routing/app-router.d.ts +20 -5
- package/dist/routing/app-router.js +28 -2
- package/dist/routing/file-matcher.d.ts +9 -10
- package/dist/routing/pages-router.d.ts +6 -6
- package/dist/routing/pages-router.js +1 -1
- package/dist/routing/route-matching.d.ts +4 -5
- package/dist/routing/route-matching.js +4 -2
- package/dist/routing/route-pattern.d.ts +13 -14
- package/dist/routing/route-trie.d.ts +5 -6
- package/dist/routing/route-validation.d.ts +3 -4
- package/dist/routing/route-validation.js +12 -11
- package/dist/routing/utils.d.ts +13 -14
- package/dist/server/accept-encoding.d.ts +9 -10
- package/dist/server/api-handler.d.ts +2 -3
- package/dist/server/api-handler.js +9 -6
- package/dist/server/app-action-forwarding.d.ts +3 -4
- package/dist/server/app-action-forwarding.js +1 -1
- package/dist/server/app-action-request.d.ts +2 -3
- package/dist/server/app-bfcache-id.d.ts +3 -4
- package/dist/server/app-bfcache-identity.d.ts +8 -9
- package/dist/server/app-browser-action-result.d.ts +15 -16
- package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -3
- package/dist/server/app-browser-entry.js +121 -40
- package/dist/server/app-browser-error.d.ts +5 -6
- package/dist/server/app-browser-error.js +9 -3
- package/dist/server/app-browser-history-controller.d.ts +4 -5
- package/dist/server/app-browser-hydration.d.ts +16 -6
- package/dist/server/app-browser-hydration.js +14 -1
- package/dist/server/app-browser-interception-context.d.ts +3 -4
- package/dist/server/app-browser-mpa-navigation.d.ts +4 -5
- package/dist/server/app-browser-navigation-abort.d.ts +3 -4
- package/dist/server/app-browser-navigation-controller.d.ts +8 -8
- package/dist/server/app-browser-navigation-controller.js +9 -5
- package/dist/server/app-browser-navigation-response.d.ts +2 -3
- package/dist/server/app-browser-popstate.d.ts +4 -5
- package/dist/server/app-browser-prefetch-response.d.ts +5 -6
- package/dist/server/app-browser-rsc-redirect.d.ts +4 -5
- package/dist/server/app-browser-server-action-client.d.ts +7 -6
- package/dist/server/app-browser-server-action-client.js +9 -5
- package/dist/server/app-browser-server-action-navigation.d.ts +2 -3
- package/dist/server/app-browser-state.d.ts +17 -17
- package/dist/server/app-browser-state.js +7 -3
- package/dist/server/app-browser-stream.d.ts +4 -5
- package/dist/server/app-browser-stream.js +8 -6
- package/dist/server/app-browser-supplemental-refresh.d.ts +11 -12
- package/dist/server/app-browser-visible-commit.d.ts +6 -7
- package/dist/server/app-browser-visible-commit.js +1 -1
- package/dist/server/app-client-reference-preloader.d.ts +2 -3
- package/dist/server/app-elements-wire-key.d.ts +25 -0
- package/dist/server/app-elements-wire-key.js +69 -0
- package/dist/server/app-elements-wire.d.ts +34 -53
- package/dist/server/app-elements-wire.js +4 -75
- package/dist/server/app-elements.d.ts +5 -5
- package/dist/server/app-elements.js +1 -1
- package/dist/server/app-fallback-renderer.d.ts +4 -4
- package/dist/server/app-fallback-renderer.js +6 -6
- package/dist/server/app-fetch-tracing.d.ts +15 -0
- package/dist/server/app-fetch-tracing.js +38 -0
- package/dist/server/app-history-state.d.ts +26 -27
- package/dist/server/app-history-state.js +19 -11
- package/dist/server/app-hook-warning-suppression.d.ts +2 -3
- package/dist/server/app-hydration-cache-publication.d.ts +3 -4
- package/dist/server/app-inline-css-client.d.ts +3 -4
- package/dist/server/app-interception-context-header.d.ts +2 -3
- package/dist/server/app-layout-param-observation.d.ts +7 -8
- package/dist/server/app-metadata-tracing.d.ts +12 -0
- package/dist/server/app-metadata-tracing.js +17 -0
- package/dist/server/app-middleware.d.ts +15 -7
- package/dist/server/app-middleware.js +30 -5
- package/dist/server/app-mounted-slots-header.d.ts +2 -3
- package/dist/server/app-mounted-slots-header.js +2 -2
- package/dist/server/app-optimistic-routing.d.ts +14 -10
- package/dist/server/app-optimistic-routing.js +16 -3
- package/dist/server/app-page-boundary-render.d.ts +6 -6
- package/dist/server/app-page-boundary-render.js +10 -4
- package/dist/server/app-page-boundary.d.ts +9 -10
- package/dist/server/app-page-boundary.js +2 -1
- package/dist/server/app-page-cache-finalizer.d.ts +32 -8
- package/dist/server/app-page-cache-finalizer.js +118 -14
- package/dist/server/app-page-cache-render.d.ts +8 -5
- package/dist/server/app-page-cache-render.js +22 -5
- package/dist/server/app-page-cache.d.ts +28 -9
- package/dist/server/app-page-cache.js +96 -25
- package/dist/server/app-page-dispatch.d.ts +36 -12
- package/dist/server/app-page-dispatch.js +188 -63
- package/dist/server/app-page-element-builder.d.ts +13 -11
- package/dist/server/app-page-element-builder.js +104 -61
- package/dist/server/app-page-execution.d.ts +14 -14
- package/dist/server/app-page-execution.js +12 -8
- package/dist/server/app-page-head.d.ts +19 -16
- package/dist/server/app-page-head.js +25 -25
- package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
- package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
- package/dist/server/app-page-method.d.ts +5 -11
- package/dist/server/app-page-method.js +2 -9
- package/dist/server/app-page-params.d.ts +5 -6
- package/dist/server/app-page-ppr-runtime.d.ts +2 -2
- package/dist/server/app-page-probe.d.ts +5 -6
- package/dist/server/app-page-probe.js +5 -4
- package/dist/server/app-page-render-identity.d.ts +4 -5
- package/dist/server/app-page-render-observation.d.ts +8 -9
- package/dist/server/app-page-render-observation.js +1 -1
- package/dist/server/app-page-render.d.ts +42 -6
- package/dist/server/app-page-render.js +192 -28
- package/dist/server/app-page-request.d.ts +10 -9
- package/dist/server/app-page-request.js +16 -12
- package/dist/server/app-page-response.d.ts +20 -9
- package/dist/server/app-page-response.js +31 -13
- package/dist/server/app-page-route-wiring.d.ts +15 -15
- package/dist/server/app-page-route-wiring.js +31 -24
- package/dist/server/app-page-search-params-observation.d.ts +26 -5
- package/dist/server/app-page-search-params-observation.js +42 -6
- package/dist/server/app-page-segment-plan.d.ts +2 -3
- package/dist/server/app-page-segment-state.d.ts +11 -12
- package/dist/server/app-page-stream.d.ts +27 -11
- package/dist/server/app-page-stream.js +35 -6
- package/dist/server/app-page-tracing.d.ts +33 -0
- package/dist/server/app-page-tracing.js +49 -0
- package/dist/server/app-pages-bridge.d.ts +6 -6
- package/dist/server/app-pages-bridge.js +19 -4
- package/dist/server/app-post-middleware-context.d.ts +2 -3
- package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
- package/dist/server/app-ppr-fallback-shell-render.js +3 -2
- package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
- package/dist/server/app-prerender-endpoints.d.ts +5 -5
- package/dist/server/app-prerender-endpoints.js +26 -12
- package/dist/server/app-prerender-static-params.d.ts +15 -7
- package/dist/server/app-prerender-static-params.js +33 -11
- package/dist/server/app-render-dependency.d.ts +14 -13
- package/dist/server/app-render-dependency.js +5 -1
- package/dist/server/app-request-context.d.ts +3 -4
- package/dist/server/app-request-stage-context.d.ts +5 -0
- package/dist/server/app-request-stage-context.js +11 -0
- package/dist/server/app-request-stage-dispatch.d.ts +25 -0
- package/dist/server/app-request-stage-dispatch.js +54 -0
- package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
- package/dist/server/app-request-stage-independent-entry.js +115 -0
- package/dist/server/app-response-header-provenance.d.ts +13 -7
- package/dist/server/app-response-header-provenance.js +34 -1
- package/dist/server/app-response-stage-entry.d.ts +9 -0
- package/dist/server/app-response-stage-entry.js +87 -0
- package/dist/server/app-route-handler-cache.d.ts +2 -3
- package/dist/server/app-route-handler-cache.js +46 -34
- package/dist/server/app-route-handler-dispatch.d.ts +3 -3
- package/dist/server/app-route-handler-dispatch.js +75 -57
- package/dist/server/app-route-handler-execution.d.ts +18 -13
- package/dist/server/app-route-handler-execution.js +189 -25
- package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
- package/dist/server/app-route-handler-middleware-context.js +15 -0
- package/dist/server/app-route-handler-policy.d.ts +22 -10
- package/dist/server/app-route-handler-policy.js +19 -4
- package/dist/server/app-route-handler-response.d.ts +9 -10
- package/dist/server/app-route-handler-response.js +2 -0
- package/dist/server/app-route-handler-runtime.d.ts +9 -10
- package/dist/server/app-route-handler-runtime.js +20 -16
- package/dist/server/app-route-module-loader.d.ts +6 -7
- package/dist/server/app-route-request-built-ins.d.ts +3 -4
- package/dist/server/app-route-tree-prefetch.d.ts +6 -7
- package/dist/server/app-route-tree-prefetch.js +2 -1
- package/dist/server/app-router-entry.d.ts +2 -0
- package/dist/server/app-router-entry.js +76 -12
- package/dist/server/app-rsc-cache-busting.d.ts +47 -22
- package/dist/server/app-rsc-cache-busting.js +80 -18
- package/dist/server/app-rsc-combined-handler.d.ts +9 -0
- package/dist/server/app-rsc-combined-handler.js +11 -0
- package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
- package/dist/server/app-rsc-error-handler.d.ts +12 -6
- package/dist/server/app-rsc-error-handler.js +15 -6
- package/dist/server/app-rsc-errors.d.ts +12 -9
- package/dist/server/app-rsc-errors.js +15 -13
- package/dist/server/app-rsc-handler.d.ts +33 -6
- package/dist/server/app-rsc-handler.js +498 -83
- package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
- package/dist/server/app-rsc-render-mode.d.ts +8 -9
- package/dist/server/app-rsc-request-normalization.d.ts +3 -3
- package/dist/server/app-rsc-request-normalization.js +2 -1
- package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
- package/dist/server/app-rsc-response-finalizer.js +24 -7
- package/dist/server/app-rsc-response-stage.d.ts +6 -0
- package/dist/server/app-rsc-response-stage.js +251 -0
- package/dist/server/app-rsc-route-matching.d.ts +4 -4
- package/dist/server/app-rsc-route-matching.js +4 -2
- package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
- package/dist/server/app-rsc-vary.d.ts +16 -0
- package/dist/server/app-rsc-vary.js +31 -0
- package/dist/server/app-segment-config.d.ts +120 -6
- package/dist/server/app-segment-config.js +264 -12
- package/dist/server/app-server-action-execution.d.ts +16 -12
- package/dist/server/app-server-action-execution.js +88 -35
- package/dist/server/app-ssr-entry.d.ts +14 -4
- package/dist/server/app-ssr-entry.js +64 -17
- package/dist/server/app-ssr-error-meta.d.ts +3 -4
- package/dist/server/app-ssr-error-meta.js +2 -1
- package/dist/server/app-ssr-router-instance.d.ts +2 -3
- package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
- package/dist/server/app-ssr-search-params-gate.js +54 -0
- package/dist/server/app-ssr-stream.d.ts +13 -9
- package/dist/server/app-ssr-stream.js +33 -7
- package/dist/server/app-static-generation.d.ts +4 -5
- package/dist/server/app-visited-response-cache.d.ts +11 -12
- package/dist/server/app-visited-response-cache.js +2 -2
- package/dist/server/app-worker-stages.d.ts +112 -0
- package/dist/server/app-worker-stages.js +105 -0
- package/dist/server/artifact-compatibility.d.ts +11 -12
- package/dist/server/before-interactive-head.d.ts +2 -3
- package/dist/server/bfcache-identity.d.ts +7 -8
- package/dist/server/cache-control.d.ts +39 -11
- package/dist/server/cache-control.js +104 -7
- package/dist/server/cache-headers.d.ts +3 -4
- package/dist/server/cache-proof.d.ts +75 -70
- package/dist/server/cache-proof.js +9 -1
- package/dist/server/cacheability-limits.d.ts +8 -0
- package/dist/server/cacheability-limits.js +9 -0
- package/dist/server/cacheability-manifest.d.ts +68 -0
- package/dist/server/cacheability-manifest.js +241 -0
- package/dist/server/cacheability-request.d.ts +49 -0
- package/dist/server/cacheability-request.js +559 -0
- package/dist/server/client-reuse-manifest.d.ts +17 -18
- package/dist/server/client-reuse-manifest.js +2 -2
- package/dist/server/client-trace-metadata.d.ts +9 -6
- package/dist/server/client-trace-metadata.js +27 -15
- package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
- package/dist/server/cloudflare-workers-tracing.js +8 -0
- package/dist/server/config-headers.d.ts +19 -5
- package/dist/server/config-headers.js +39 -5
- package/dist/server/cookie-utils.d.ts +2 -3
- package/dist/server/csp.d.ts +5 -6
- package/dist/server/default-global-error-module.d.ts +2 -3
- package/dist/server/default-global-not-found-module.d.ts +2 -3
- package/dist/server/default-not-found-module.d.ts +2 -3
- package/dist/server/defer-until-stream-consumed.d.ts +2 -3
- package/dist/server/defer-until-stream-consumed.js +2 -1
- package/dist/server/dev-initial-server-error.d.ts +3 -4
- package/dist/server/dev-initial-server-error.js +2 -1
- package/dist/server/dev-lockfile.d.ts +7 -8
- package/dist/server/dev-lockfile.js +4 -1
- package/dist/server/dev-module-runner.d.ts +2 -3
- package/dist/server/dev-origin-check.d.ts +5 -6
- package/dist/server/dev-route-files.d.ts +2 -3
- package/dist/server/dev-server.d.ts +4 -5
- package/dist/server/dev-server.js +130 -61
- package/dist/server/dev-stack-sourcemap.d.ts +7 -7
- package/dist/server/dev-stack-sourcemap.js +1 -1
- package/dist/server/document-initial-head.d.ts +3 -4
- package/dist/server/edge-api-runtime.d.ts +4 -5
- package/dist/server/fetch-handler.d.ts +3 -2
- package/dist/server/fetch-handler.js +3 -18
- package/dist/server/file-based-metadata.d.ts +2 -3
- package/dist/server/framework-tracer.d.ts +46 -0
- package/dist/server/framework-tracer.js +125 -0
- package/dist/server/fully-buffered-response.d.ts +11 -0
- package/dist/server/fully-buffered-response.js +19 -0
- package/dist/server/headers.d.ts +62 -56
- package/dist/server/headers.js +33 -20
- package/dist/server/html.d.ts +6 -27
- package/dist/server/html.js +16 -1
- package/dist/server/http-conditional.d.ts +5 -6
- package/dist/server/http-date.d.ts +2 -3
- package/dist/server/http-error-responses.d.ts +9 -10
- package/dist/server/http-range.d.ts +4 -5
- package/dist/server/hybrid-route-priority.d.ts +4 -5
- package/dist/server/image-optimization.d.ts +20 -21
- package/dist/server/implicit-tags.d.ts +3 -4
- package/dist/server/instrumentation-runtime.d.ts +17 -21
- package/dist/server/instrumentation-runtime.js +26 -8
- package/dist/server/instrumentation.d.ts +26 -30
- package/dist/server/instrumentation.js +18 -23
- package/dist/server/isr-cache.d.ts +28 -27
- package/dist/server/isr-cache.js +18 -70
- package/dist/server/isr-decision.d.ts +4 -4
- package/dist/server/metadata-route-build-data.d.ts +4 -5
- package/dist/server/metadata-route-cache-policy.d.ts +2 -3
- package/dist/server/metadata-route-response.d.ts +7 -7
- package/dist/server/metadata-route-response.js +68 -2
- package/dist/server/metadata-routes.d.ts +18 -19
- package/dist/server/middleware-matcher-pattern.d.ts +6 -7
- package/dist/server/middleware-matcher.d.ts +13 -6
- package/dist/server/middleware-matcher.js +22 -1
- package/dist/server/middleware-path-to-regexp.d.ts +6 -7
- package/dist/server/middleware-path-to-regexp.js +11 -9
- package/dist/server/middleware-response-headers.d.ts +3 -4
- package/dist/server/middleware-runtime.d.ts +13 -8
- package/dist/server/middleware-runtime.js +54 -10
- package/dist/server/middleware.d.ts +5 -5
- package/dist/server/multi-stage.d.ts +141 -0
- package/dist/server/multi-stage.js +8 -0
- package/dist/server/navigation-planner.d.ts +26 -26
- package/dist/server/navigation-trace.d.ts +11 -12
- package/dist/server/next-error-digest.d.ts +4 -5
- package/dist/server/normalize-path.d.ts +5 -6
- package/dist/server/normalize-path.js +1 -1
- package/dist/server/open-redirect.d.ts +2 -3
- package/dist/server/opentelemetry-api.d.ts +59 -0
- package/dist/server/opentelemetry-api.js +53 -0
- package/dist/server/opentelemetry-tracing.d.ts +5 -0
- package/dist/server/opentelemetry-tracing.js +83 -0
- package/dist/server/operation-token.d.ts +11 -12
- package/dist/server/otel-tracer-extension.d.ts +7 -9
- package/dist/server/otel-tracer-extension.js +37 -36
- package/dist/server/pages-api-route.d.ts +5 -4
- package/dist/server/pages-api-route.js +21 -8
- package/dist/server/pages-asset-tags.d.ts +6 -6
- package/dist/server/pages-asset-tags.js +37 -2
- package/dist/server/pages-body-parser-config.d.ts +4 -5
- package/dist/server/pages-body-parser-config.js +4 -4
- package/dist/server/pages-client-assets.d.ts +11 -5
- package/dist/server/pages-data-route.d.ts +11 -12
- package/dist/server/pages-data-route.js +1 -1
- package/dist/server/pages-default-404.d.ts +3 -4
- package/dist/server/pages-dev-hydration.d.ts +9 -4
- package/dist/server/pages-dev-hydration.js +19 -7
- package/dist/server/pages-dev-module-url.d.ts +3 -4
- package/dist/server/pages-dev-stylesheets.d.ts +5 -6
- package/dist/server/pages-document-asset-props.d.ts +6 -7
- package/dist/server/pages-document-initial-props.d.ts +5 -5
- package/dist/server/pages-document-initial-props.js +4 -2
- package/dist/server/pages-execution-tracing.d.ts +40 -0
- package/dist/server/pages-execution-tracing.js +80 -0
- package/dist/server/pages-get-initial-props.d.ts +9 -10
- package/dist/server/pages-i18n.d.ts +8 -8
- package/dist/server/pages-i18n.js +3 -2
- package/dist/server/pages-media-type.d.ts +4 -5
- package/dist/server/pages-node-compat.d.ts +11 -10
- package/dist/server/pages-node-compat.js +12 -4
- package/dist/server/pages-page-data.d.ts +18 -19
- package/dist/server/pages-page-data.js +11 -10
- package/dist/server/pages-page-handler.d.ts +7 -6
- package/dist/server/pages-page-handler.js +98 -47
- package/dist/server/pages-page-method.d.ts +2 -3
- package/dist/server/pages-page-response.d.ts +14 -10
- package/dist/server/pages-page-response.js +49 -31
- package/dist/server/pages-preview.d.ts +10 -11
- package/dist/server/pages-readiness.d.ts +2 -3
- package/dist/server/pages-request-pipeline.d.ts +16 -12
- package/dist/server/pages-request-pipeline.js +69 -28
- package/dist/server/pages-request-stage-entry.d.ts +23 -0
- package/dist/server/pages-request-stage-entry.js +314 -0
- package/dist/server/pages-response-stage-entry.d.ts +11 -0
- package/dist/server/pages-response-stage-entry.js +106 -0
- package/dist/server/pages-response-stage.d.ts +31 -0
- package/dist/server/pages-response-stage.js +49 -0
- package/dist/server/pages-revalidate.d.ts +3 -4
- package/dist/server/pages-revalidate.js +9 -4
- package/dist/server/pages-route-data-kind.d.ts +18 -0
- package/dist/server/pages-route-data-kind.js +11 -0
- package/dist/server/pages-router-entry.d.ts +1 -25
- package/dist/server/pages-router-entry.js +48 -114
- package/dist/server/pages-serializable-props.d.ts +3 -4
- package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
- package/dist/server/pregenerated-concrete-paths.js +12 -6
- package/dist/server/prerender-cache-life-header.d.ts +3 -4
- package/dist/server/prerender-manifest.d.ts +11 -11
- package/dist/server/prerender-manifest.js +6 -3
- package/dist/server/prerender-route-params.d.ts +16 -9
- package/dist/server/prerender-route-params.js +18 -2
- package/dist/server/prerender-work-unit-setup.d.ts +4 -4
- package/dist/server/prerender-work-unit-setup.js +37 -14
- package/dist/server/prod-server.d.ts +12 -9
- package/dist/server/prod-server.js +129 -36
- package/dist/server/proxy-trust.d.ts +5 -6
- package/dist/server/request-log.d.ts +3 -4
- package/dist/server/request-pipeline.d.ts +17 -21
- package/dist/server/request-pipeline.js +8 -10
- package/dist/server/request-stage.d.ts +5 -0
- package/dist/server/request-stage.js +7 -0
- package/dist/server/request-tracing.d.ts +22 -0
- package/dist/server/request-tracing.js +180 -0
- package/dist/server/response-stage-cacheability.d.ts +37 -0
- package/dist/server/response-stage-cacheability.js +55 -0
- package/dist/server/response-stage-policy.d.ts +23 -0
- package/dist/server/response-stage-policy.js +89 -0
- package/dist/server/response-stage.d.ts +5 -0
- package/dist/server/response-stage.js +7 -0
- package/dist/server/response-start-tracing.d.ts +14 -0
- package/dist/server/response-start-tracing.js +80 -0
- package/dist/server/revalidation-host.d.ts +2 -3
- package/dist/server/revalidation-host.js +2 -1
- package/dist/server/revalidation-request.d.ts +8 -0
- package/dist/server/revalidation-request.js +37 -0
- package/dist/server/rsc-completion-metadata.d.ts +6 -7
- package/dist/server/rsc-stream-hints.d.ts +18 -7
- package/dist/server/rsc-stream-hints.js +70 -35
- package/dist/server/seed-cache.d.ts +2 -3
- package/dist/server/seed-cache.js +8 -7
- package/dist/server/server-action-not-found.d.ts +5 -6
- package/dist/server/server-globals.d.ts +2 -3
- package/dist/server/server-globals.js +13 -0
- package/dist/server/skip-cache-proof.d.ts +4 -4
- package/dist/server/socket-error-backstop.d.ts +5 -6
- package/dist/server/socket-error-backstop.js +1 -1
- package/dist/server/static-file-cache.d.ts +5 -6
- package/dist/server/static-file-cache.js +9 -7
- package/dist/server/static-file-signal.d.ts +16 -0
- package/dist/server/static-file-signal.js +82 -0
- package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
- package/dist/server/streaming-metadata.d.ts +2 -3
- package/dist/server/tracer.d.ts +5 -0
- package/dist/server/tracer.js +13 -0
- package/dist/server/worker-prerender-discovery.d.ts +18 -0
- package/dist/server/worker-prerender-discovery.js +55 -0
- package/dist/server/worker-revalidation-context.d.ts +2 -3
- package/dist/server/worker-revalidation-context.js +5 -5
- package/dist/server/worker-stages.d.ts +43 -0
- package/dist/server/worker-stages.js +25 -0
- package/dist/server/worker-utils.d.ts +5 -6
- package/dist/server/worker-utils.js +4 -4
- package/dist/server/workers-tracing.d.ts +17 -0
- package/dist/server/workers-tracing.js +27 -0
- package/dist/shims/amp.d.ts +3 -4
- package/dist/shims/app-router-scroll-state.d.ts +9 -10
- package/dist/shims/app-router-scroll.d.ts +4 -5
- package/dist/shims/app-router-scroll.js +2 -1
- package/dist/shims/app.d.ts +5 -6
- package/dist/shims/before-interactive-context.d.ts +5 -6
- package/dist/shims/cache-callable-runtime.d.ts +44 -4
- package/dist/shims/cache-callable-runtime.js +168 -8
- package/dist/shims/cache-for-request.d.ts +2 -3
- package/dist/shims/cache-handler.d.ts +33 -20
- package/dist/shims/cache-handler.js +61 -2
- package/dist/shims/cache-request-state.d.ts +28 -29
- package/dist/shims/cache-runtime.d.ts +23 -21
- package/dist/shims/cache-runtime.js +239 -121
- package/dist/shims/cache.d.ts +15 -15
- package/dist/shims/cache.js +25 -13
- package/dist/shims/cacheability-classification.d.ts +106 -0
- package/dist/shims/cacheability-classification.js +161 -0
- package/dist/shims/cdn-cache-state.d.ts +13 -0
- package/dist/shims/cdn-cache-state.js +23 -0
- package/dist/shims/cdn-cache.d.ts +76 -18
- package/dist/shims/cdn-cache.js +40 -39
- package/dist/shims/client-hook-error.d.ts +3 -4
- package/dist/shims/client-locale.d.ts +2 -3
- package/dist/shims/client-page-root.d.ts +24 -0
- package/dist/shims/client-page-root.js +121 -0
- package/dist/shims/compat-router.d.ts +2 -3
- package/dist/shims/config.d.ts +3 -4
- package/dist/shims/constants.d.ts +73 -74
- package/dist/shims/constants.js +1 -1
- package/dist/shims/default-not-found.d.ts +2 -3
- package/dist/shims/document.d.ts +9 -9
- package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
- package/dist/shims/dynamic-preload-chunks.js +17 -13
- package/dist/shims/dynamic.d.ts +3 -3
- package/dist/shims/error-boundary-navigation.d.ts +3 -4
- package/dist/shims/error-boundary.d.ts +17 -18
- package/dist/shims/error-boundary.js +17 -11
- package/dist/shims/error.d.ts +4 -4
- package/dist/shims/error.js +1 -1
- package/dist/shims/error.react-server.d.ts +3 -4
- package/dist/shims/fetch-cache.d.ts +22 -22
- package/dist/shims/fetch-cache.js +50 -20
- package/dist/shims/font-google-base.d.ts +9 -9
- package/dist/shims/font-google-base.js +2 -1
- package/dist/shims/font-local.d.ts +3 -3
- package/dist/shims/font-local.js +1 -1
- package/dist/shims/font-utils.d.ts +14 -15
- package/dist/shims/form.d.ts +2 -2
- package/dist/shims/form.js +10 -7
- package/dist/shims/hash-scroll.d.ts +5 -6
- package/dist/shims/head-state.d.ts +4 -5
- package/dist/shims/head.d.ts +16 -16
- package/dist/shims/head.js +5 -4
- package/dist/shims/headers.d.ts +68 -32
- package/dist/shims/headers.js +101 -10
- package/dist/shims/i18n-context.d.ts +5 -6
- package/dist/shims/i18n-state.d.ts +4 -5
- package/dist/shims/image-config.d.ts +5 -6
- package/dist/shims/image-config.js +2 -0
- package/dist/shims/image.d.ts +5 -5
- package/dist/shims/image.js +12 -8
- package/dist/shims/internal/als-registry.d.ts +4 -5
- package/dist/shims/internal/api-utils.d.ts +3 -4
- package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
- package/dist/shims/internal/app-page-props-cache-key.js +53 -1
- package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
- package/dist/shims/internal/app-prefetch-rsc-request.d.ts +13 -0
- package/dist/shims/internal/app-prefetch-rsc-request.js +12 -0
- package/dist/shims/internal/app-route-detection.d.ts +2 -2
- package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -6
- package/dist/shims/internal/app-route-prefetch-policy.js +1 -0
- package/dist/shims/internal/app-router-context.d.ts +9 -10
- package/dist/shims/internal/cookie-serialize.d.ts +4 -5
- package/dist/shims/internal/format-url-object.d.ts +7 -0
- package/dist/shims/internal/format-url-object.js +53 -0
- package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
- package/dist/shims/internal/hybrid-client-route-owner-direct.js +29 -11
- package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
- package/dist/shims/internal/hybrid-client-route-owner.js +5 -4
- package/dist/shims/internal/interpolate-as.d.ts +5 -6
- package/dist/shims/internal/interpolate-as.js +4 -2
- package/dist/shims/internal/link-status-registry.d.ts +5 -6
- package/dist/shims/internal/make-hanging-promise.d.ts +8 -3
- package/dist/shims/internal/make-hanging-promise.js +13 -2
- package/dist/shims/internal/navigation-untracked.d.ts +2 -3
- package/dist/shims/internal/normalize-router-href.d.ts +15 -0
- package/dist/shims/internal/normalize-router-href.js +41 -0
- package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
- package/dist/shims/internal/pages-data-target.d.ts +8 -6
- package/dist/shims/internal/pages-data-target.js +32 -36
- package/dist/shims/internal/pages-data-url.d.ts +4 -5
- package/dist/shims/internal/pages-data-url.js +2 -1
- package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
- package/dist/shims/internal/pages-router-components.d.ts +3 -4
- package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
- package/dist/shims/internal/route-pattern-for-warning.js +3 -3
- package/dist/shims/internal/router-context.d.ts +2 -3
- package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
- package/dist/shims/internal/thenable-well-known-properties.js +33 -0
- package/dist/shims/internal/utils.d.ts +7 -8
- package/dist/shims/internal/work-unit-async-storage.d.ts +12 -11
- package/dist/shims/layout-segment-context.d.ts +3 -4
- package/dist/shims/link-prefetch.d.ts +9 -10
- package/dist/shims/link.d.ts +4 -4
- package/dist/shims/link.js +67 -116
- package/dist/shims/metadata.d.ts +15 -16
- package/dist/shims/metadata.js +40 -36
- package/dist/shims/navigation-context-accessors.d.ts +9 -0
- package/dist/shims/navigation-context-accessors.js +19 -0
- package/dist/shims/navigation-context-state.d.ts +27 -18
- package/dist/shims/navigation-errors.d.ts +18 -19
- package/dist/shims/navigation-state.d.ts +6 -7
- package/dist/shims/navigation.d.ts +80 -68
- package/dist/shims/navigation.js +45 -17
- package/dist/shims/navigation.react-server.d.ts +9 -9
- package/dist/shims/navigation.react-server.js +1 -1
- package/dist/shims/offline.d.ts +2 -3
- package/dist/shims/og.d.ts +2 -2
- package/dist/shims/pages-router-runtime.d.ts +4 -5
- package/dist/shims/ppr-fallback-shell.d.ts +13 -14
- package/dist/shims/readonly-url-search-params.d.ts +2 -3
- package/dist/shims/request-context.d.ts +7 -6
- package/dist/shims/root-params.d.ts +14 -15
- package/dist/shims/router-state.d.ts +5 -6
- package/dist/shims/router-state.js +1 -1
- package/dist/shims/router.d.ts +22 -21
- package/dist/shims/router.js +339 -164
- package/dist/shims/script-nonce-context.d.ts +8 -6
- package/dist/shims/script-nonce-context.js +15 -6
- package/dist/shims/script.d.ts +4 -4
- package/dist/shims/script.js +9 -7
- package/dist/shims/search-params-gate.d.ts +35 -0
- package/dist/shims/search-params-gate.js +32 -0
- package/dist/shims/server.d.ts +19 -51
- package/dist/shims/server.js +14 -28
- package/dist/shims/slot.d.ts +33 -15
- package/dist/shims/slot.js +41 -9
- package/dist/shims/streamed-icons.d.ts +3 -4
- package/dist/shims/thenable-params.d.ts +5 -7
- package/dist/shims/thenable-params.js +3 -24
- package/dist/shims/unified-request-context.d.ts +34 -31
- package/dist/shims/unified-request-context.js +34 -24
- package/dist/shims/unrecognized-action-error.d.ts +3 -4
- package/dist/shims/url-safety.d.ts +5 -6
- package/dist/shims/url-utils.d.ts +18 -12
- package/dist/shims/url-utils.js +10 -1
- package/dist/shims/use-merged-ref.d.ts +2 -3
- package/dist/shims/user-agent.d.ts +31 -0
- package/dist/shims/user-agent.js +16 -0
- package/dist/shims/web-vitals.d.ts +2 -2
- package/dist/typegen.d.ts +3 -4
- package/dist/utils/asset-prefix.d.ts +7 -8
- package/dist/utils/base-path.d.ts +5 -6
- package/dist/utils/built-asset-url.d.ts +2 -3
- package/dist/utils/built-asset-url.js +1 -1
- package/dist/utils/cache-control-metadata.d.ts +4 -5
- package/dist/utils/client-build-manifest.d.ts +6 -7
- package/dist/utils/client-build-manifest.js +2 -1
- package/dist/utils/client-entry-manifest.d.ts +6 -7
- package/dist/utils/client-runtime-metadata.d.ts +8 -3
- package/dist/utils/client-runtime-metadata.js +18 -1
- package/dist/utils/commonjs-loader.d.ts +4 -5
- package/dist/utils/compare.d.ts +2 -3
- package/dist/utils/deployment-id.d.ts +6 -7
- package/dist/utils/dev-error-recovery-event.d.ts +2 -3
- package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
- package/dist/utils/domain-locale.d.ts +7 -8
- package/dist/utils/encode-cache-tag.d.ts +3 -4
- package/dist/utils/error-cause.d.ts +2 -3
- package/dist/utils/external-url.d.ts +2 -3
- package/dist/utils/has-trailing-comma.d.ts +3 -4
- package/dist/utils/hash.d.ts +3 -4
- package/dist/utils/html-limited-bots.d.ts +3 -4
- package/dist/utils/lazy-chunks.d.ts +8 -9
- package/dist/utils/lazy-chunks.js +4 -4
- package/dist/utils/manifest-paths.d.ts +5 -6
- package/dist/utils/mdx-scan.d.ts +11 -4
- package/dist/utils/mdx-scan.js +27 -1
- package/dist/utils/middleware-request-headers.d.ts +7 -6
- package/dist/utils/middleware-request-headers.js +6 -1
- package/dist/utils/navigation-signal.d.ts +3 -3
- package/dist/utils/navigation-signal.js +16 -1
- package/dist/utils/number.d.ts +2 -3
- package/dist/utils/package-name.d.ts +3 -4
- package/dist/utils/parse-cookie.d.ts +4 -5
- package/dist/utils/path.d.ts +8 -9
- package/dist/utils/plugin-options.d.ts +2 -3
- package/dist/utils/precompressed-variant.d.ts +3 -4
- package/dist/utils/prerender-output-paths.d.ts +9 -10
- package/dist/utils/prerender-output-paths.js +16 -9
- package/dist/utils/project.d.ts +19 -30
- package/dist/utils/project.js +20 -29
- package/dist/utils/promise.d.ts +2 -3
- package/dist/utils/protocol-headers.d.ts +14 -15
- package/dist/utils/public-file-path.d.ts +2 -3
- package/dist/utils/public-routes.d.ts +2 -3
- package/dist/utils/query.d.ts +14 -9
- package/dist/utils/query.js +22 -1
- package/dist/utils/react-compiler-support.d.ts +6 -7
- package/dist/utils/react-version.d.ts +4 -3
- package/dist/utils/react-version.js +19 -1
- package/dist/utils/record.d.ts +2 -3
- package/dist/utils/redirect-digest.d.ts +3 -4
- package/dist/utils/regex-safety.d.ts +4 -5
- package/dist/utils/regex.d.ts +2 -3
- package/dist/utils/safe-json-file.d.ts +2 -3
- package/dist/utils/sorted-array.d.ts +2 -3
- package/dist/utils/text-stream.d.ts +3 -4
- package/dist/utils/vinext-root.d.ts +2 -3
- package/dist/utils/virtual-module.d.ts +3 -4
- package/dist/utils/vite-cli-invocation.d.ts +21 -0
- package/dist/utils/vite-cli-invocation.js +144 -0
- package/dist/utils/vite-version.d.ts +5 -6
- package/next-package.json +4 -0
- package/package.json +55 -6
package/dist/shims/link.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { isBotUserAgent } from "../utils/html-limited-bots.js";
|
|
2
3
|
import { isDangerousScheme, reportBlockedDangerousNavigation } from "./url-safety.js";
|
|
3
4
|
import { addLocalePrefix, getDomainLocaleUrl } from "../utils/domain-locale.js";
|
|
4
5
|
import { RouterContext } from "./internal/router-context.js";
|
|
5
6
|
import { getPagesMiddlewareDataHref, prefetchPagesData, resolvePagesDataNavigationTarget } from "./internal/pages-data-target.js";
|
|
6
7
|
import { markAppRouteDetectedOnPrefetch } from "./internal/app-route-detection.js";
|
|
7
|
-
import { isAbsoluteOrProtocolRelativeUrl, normalizePathTrailingSlash,
|
|
8
|
-
import { appendSearchParamsToUrl, urlQueryToSearchParams } from "../utils/query.js";
|
|
8
|
+
import { isAbsoluteOrProtocolRelativeUrl, normalizePathTrailingSlash, toCanonicalBrowserNavigationHref, toSameOriginAppPath, withBasePath } from "./url-utils.js";
|
|
9
9
|
import { interpolateDynamicRouteHref, resolveDynamicRouteHref } from "./internal/interpolate-as.js";
|
|
10
|
-
import {
|
|
10
|
+
import { formatUrlObject, formatUrlObjectWithValidation } from "./internal/format-url-object.js";
|
|
11
|
+
import { normalizeRouterHref, resolvePagesRouterHref } from "./internal/normalize-router-href.js";
|
|
11
12
|
import { getCurrentRoutePathnameForWarning } from "./internal/route-pattern-for-warning.js";
|
|
12
|
-
import {
|
|
13
|
+
import { getCurrentBrowserLocale } from "./client-locale.js";
|
|
13
14
|
import { getNavigationRuntime, hasAppNavigationRuntime, registerNavigationRuntimeFunctions } from "../client/navigation-runtime.js";
|
|
14
15
|
import { navigatePagesRouterLinkWithFallback, resolvePagesRouterQueryOnlyHref } from "../client/pages-router-link-navigation.js";
|
|
15
16
|
import { scheduleAppPrefetchFetch } from "./internal/app-prefetch-fetch-queue.js";
|
|
@@ -65,22 +66,23 @@ const __basePath = process.env.__NEXT_ROUTER_BASEPATH ?? "";
|
|
|
65
66
|
/** trailingSlash from next.config.js, injected by the plugin at build time */
|
|
66
67
|
const __trailingSlash = process.env.__VINEXT_TRAILING_SLASH === "true";
|
|
67
68
|
const __prefetchInlining = process.env.__VINEXT_PREFETCH_INLINING === "true";
|
|
68
|
-
function resolveHref(href) {
|
|
69
|
+
function resolveHref(href, validate = false) {
|
|
69
70
|
if (typeof href === "string") return href;
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
if (
|
|
76
|
-
return
|
|
71
|
+
return validate ? formatUrlObjectWithValidation(href) : formatUrlObject(href);
|
|
72
|
+
}
|
|
73
|
+
function resolvePagesLinkValue(value, pagesRouter, routePathnameForWarning) {
|
|
74
|
+
const formatted = resolveHref(value, pagesRouter !== null);
|
|
75
|
+
if (pagesRouter === null) return formatted;
|
|
76
|
+
if (typeof pagesRouter.pathname === "string" && typeof pagesRouter.asPath === "string" && !formatted.startsWith("?") && !formatted.startsWith("#")) return resolvePagesRouterHref(formatted, pagesRouter, __basePath);
|
|
77
|
+
return normalizeRouterHref(formatted, routePathnameForWarning);
|
|
77
78
|
}
|
|
78
79
|
function resolvePagesQueryOnlyHref(href) {
|
|
79
80
|
if (!HAS_PAGES_ROUTER) return href;
|
|
80
81
|
if (!href.startsWith("?") && !href.startsWith("#") || typeof window === "undefined") return href;
|
|
81
82
|
const pagesRouter = window.next?.appDir === true ? void 0 : window.next?.router;
|
|
83
|
+
const visibleHref = pagesRouter && "reload" in pagesRouter && "asPath" in pagesRouter && typeof pagesRouter.asPath === "string" ? pagesRouter.asPath : void 0;
|
|
82
84
|
return resolvePagesRouterQueryOnlyHref(href, {
|
|
83
|
-
asPath:
|
|
85
|
+
asPath: visibleHref,
|
|
84
86
|
basePath: __basePath,
|
|
85
87
|
fallbackHref: window.location.href,
|
|
86
88
|
locales: window.__VINEXT_LOCALES__
|
|
@@ -94,52 +96,6 @@ function applyPagesNavigationFallback(href, replace) {
|
|
|
94
96
|
else window.history.pushState({}, "", href);
|
|
95
97
|
window.dispatchEvent(new PopStateEvent("popstate"));
|
|
96
98
|
}
|
|
97
|
-
/**
|
|
98
|
-
* Collapse repeated forward-slashes (and convert backslashes to forward-slashes)
|
|
99
|
-
* in the path portion of a URL, preserving any query string.
|
|
100
|
-
*
|
|
101
|
-
* Ported from Next.js: packages/next/src/shared/lib/utils/normalize-repeated-slashes.ts
|
|
102
|
-
* https://github.com/vercel/next.js/blob/canary/packages/next/src/shared/lib/utils/normalize-repeated-slashes.ts
|
|
103
|
-
*/
|
|
104
|
-
function normalizeRepeatedSlashes(url) {
|
|
105
|
-
const urlParts = url.split("?");
|
|
106
|
-
const urlNoQueryString = urlParts.shift() ?? "";
|
|
107
|
-
const queryString = urlParts.join("?");
|
|
108
|
-
return urlNoQueryString.replace(/\\/g, "/").replace(/\/\/+/g, "/") + (queryString ? `?${queryString}` : "");
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Emit Next.js's "Invalid href" `console.error` when `href` contains repeated
|
|
112
|
-
* forward slashes or backslashes in its path portion, and return the
|
|
113
|
-
* normalized URL (with `\\` converted to `/` and runs of `/` collapsed). If
|
|
114
|
-
* the href is already well-formed, the original string is returned unchanged.
|
|
115
|
-
*
|
|
116
|
-
* Ported from Next.js: packages/next/src/client/resolve-href.ts
|
|
117
|
-
* https://github.com/vercel/next.js/blob/canary/packages/next/src/client/resolve-href.ts
|
|
118
|
-
*
|
|
119
|
-
* Matches the message asserted by:
|
|
120
|
-
* test/e2e/repeated-forward-slashes-error/repeated-forward-slashes-error.test.ts
|
|
121
|
-
*
|
|
122
|
-
* Note: Next.js fires this warning unconditionally on every call to
|
|
123
|
-
* `resolveHref`. We mirror that behaviour (no dedup) for exact parity.
|
|
124
|
-
*
|
|
125
|
-
* Note: Next.js uses `router.pathname` (the route pattern, e.g.
|
|
126
|
-
* `/posts/[id]`) for the "in page" segment of the message. The Next.js
|
|
127
|
-
* compat test asserts this exact text (`in page: '/my/path/[name]'`), so we
|
|
128
|
-
* source it from the current render's route pattern via
|
|
129
|
-
* `getCurrentRoutePathnameForWarning()`: the Pages Router SSR context's route
|
|
130
|
-
* pattern on the server, `window.location.pathname` on the client, falling
|
|
131
|
-
* back to `"/"`.
|
|
132
|
-
*/
|
|
133
|
-
function warnAndNormalizeRepeatedSlashesInHref(urlAsString) {
|
|
134
|
-
if (urlAsString.startsWith("//")) return urlAsString;
|
|
135
|
-
const urlProtoMatch = urlAsString.match(/^[a-z][a-z0-9+.-]*:\/\//i);
|
|
136
|
-
const urlAsStringNoProto = urlProtoMatch ? urlAsString.slice(urlProtoMatch[0].length) : urlAsString;
|
|
137
|
-
if (!(urlAsStringNoProto.split("?", 1)[0] || "").match(/(\/\/|\\)/)) return urlAsString;
|
|
138
|
-
const pathname = getCurrentRoutePathnameForWarning();
|
|
139
|
-
console.error(`Invalid href '${urlAsString}' passed to next/router in page: '${pathname}'. Repeated forward-slashes (//) or backslashes \\ are not valid in the href.`);
|
|
140
|
-
const normalizedNoProto = normalizeRepeatedSlashes(urlAsStringNoProto);
|
|
141
|
-
return (urlProtoMatch ? urlProtoMatch[0] : "") + normalizedNoProto;
|
|
142
|
-
}
|
|
143
99
|
function resolveLinkPrefetchMode(prefetchProp, isDangerous) {
|
|
144
100
|
if (isDangerous || prefetchProp === false) return "disabled";
|
|
145
101
|
if (prefetchProp === true) return "full";
|
|
@@ -169,12 +125,13 @@ function prefetchUrl(href, mode, priority = "low", pagesRouteHref, locale) {
|
|
|
169
125
|
currentOrigin: window.location.origin
|
|
170
126
|
});
|
|
171
127
|
if (prefetchHref == null) return;
|
|
172
|
-
const fullHref =
|
|
173
|
-
const
|
|
128
|
+
const fullHref = toCanonicalBrowserNavigationHref(prefetchHref, window.location.href, __basePath, __trailingSlash);
|
|
129
|
+
const routePrefetchHref = pagesRouteHref === void 0 ? prefetchHref : getLinkPrefetchHref({
|
|
174
130
|
href: pagesRouteHref,
|
|
175
131
|
basePath: __basePath,
|
|
176
132
|
currentOrigin: window.location.origin
|
|
177
|
-
}) ?? prefetchHref
|
|
133
|
+
}) ?? prefetchHref;
|
|
134
|
+
const fullRouteHref = toCanonicalBrowserNavigationHref(routePrefetchHref, window.location.href, __basePath, __trailingSlash);
|
|
178
135
|
const target = new URL(fullHref, window.location.href);
|
|
179
136
|
if (target.origin === window.location.origin && target.pathname === window.location.pathname && target.search === window.location.search) return;
|
|
180
137
|
if (mode === "auto" && priority === "low" && target.origin === window.location.origin && target.pathname === window.location.pathname && target.search !== window.location.search && target.hash !== "") return;
|
|
@@ -182,10 +139,11 @@ function prefetchUrl(href, mode, priority = "low", pagesRouteHref, locale) {
|
|
|
182
139
|
(async () => {
|
|
183
140
|
if (hasAppNavigationRuntime()) {
|
|
184
141
|
if (isBotUserAgent(window.navigator?.userAgent ?? "")) return;
|
|
185
|
-
const [navigation, { AppElementsWire }, rscCacheBusting, { APP_RSC_RENDER_MODE_PREFETCH_DYNAMIC_SHELL, APP_RSC_RENDER_MODE_PREFETCH_LOADING_SHELL }, headersModule, hybridRouteOwner] = await Promise.all([
|
|
142
|
+
const [navigation, { AppElementsWire }, rscCacheBusting, { resolveAppPrefetchRscRequest }, { APP_RSC_RENDER_MODE_PREFETCH_DYNAMIC_SHELL, APP_RSC_RENDER_MODE_PREFETCH_LOADING_SHELL }, headersModule, hybridRouteOwner] = await Promise.all([
|
|
186
143
|
loadNavigationModule(),
|
|
187
144
|
import("../server/app-elements.js"),
|
|
188
145
|
import("../server/app-rsc-cache-busting.js"),
|
|
146
|
+
import("./internal/app-prefetch-rsc-request.js"),
|
|
189
147
|
import("../server/app-rsc-render-mode.js"),
|
|
190
148
|
import("../server/headers.js"),
|
|
191
149
|
HAS_PAGES_ROUTER || HAS_CLIENT_REWRITES ? loadHybridClientRouteOwnerModule() : null
|
|
@@ -197,10 +155,11 @@ function prefetchUrl(href, mode, priority = "low", pagesRouteHref, locale) {
|
|
|
197
155
|
const hybridOwner = HAS_PAGES_ROUTER ? hybridRouteOwner.resolveHybridClientRouteOwner(prefetchHref, __basePath) : null;
|
|
198
156
|
if (hybridOwner === "pages" || hybridOwner === "document") return;
|
|
199
157
|
const rewrittenPrefetchHref = HAS_CLIENT_REWRITES ? hybridRouteOwner.resolveHybridClientRewriteHref(fullHref, __basePath) : null;
|
|
200
|
-
const
|
|
201
|
-
if (!autoPrefetch.shouldPrefetch) return;
|
|
158
|
+
const prefetchPolicyHref = rewrittenPrefetchHref ?? prefetchHref;
|
|
202
159
|
const interceptionContext = getPrefetchInterceptionContext(fullHref);
|
|
203
160
|
const mountedSlotsHeader = getMountedSlotsHeader();
|
|
161
|
+
const autoPrefetch = mode === "auto" ? resolveAutoAppRoutePrefetch(prefetchPolicyHref) : resolveFullAppRoutePrefetch();
|
|
162
|
+
if (!autoPrefetch.shouldPrefetch) return;
|
|
204
163
|
const isOptimisticRouteShellPrefetch = !autoPrefetch.cacheForNavigation;
|
|
205
164
|
const hasSearchParams = new URL(fullHref, window.location.href).search !== "";
|
|
206
165
|
const isAutomaticSearchParamShell = mode === "auto" && isOptimisticRouteShellPrefetch && hasSearchParams;
|
|
@@ -221,8 +180,12 @@ function prefetchUrl(href, mode, priority = "low", pagesRouteHref, locale) {
|
|
|
221
180
|
headers.set(NEXT_ROUTER_PREFETCH_HEADER, "1");
|
|
222
181
|
headers.set(NEXT_ROUTER_SEGMENT_PREFETCH_HEADER, "1");
|
|
223
182
|
}
|
|
224
|
-
const rscUrl = await
|
|
225
|
-
|
|
183
|
+
const { additionalRscUrls, rscUrl } = await resolveAppPrefetchRscRequest({
|
|
184
|
+
fullHref,
|
|
185
|
+
headers,
|
|
186
|
+
rewrittenPrefetchHref
|
|
187
|
+
});
|
|
188
|
+
if (navigationEpoch !== linkPrefetchNavigationEpoch) return;
|
|
226
189
|
const cacheKey = AppElementsWire.encodeCacheKey(rscUrl, interceptionContext);
|
|
227
190
|
const prefetched = getPrefetchedUrls();
|
|
228
191
|
if (autoPrefetch.cacheForNavigation) discardLearningOnlyPrefetchCacheEntry(rscUrl, interceptionContext);
|
|
@@ -327,7 +290,7 @@ function prefetchUrl(href, mode, priority = "low", pagesRouteHref, locale) {
|
|
|
327
290
|
} else if (HAS_PAGES_ROUTER && window.__NEXT_DATA__) {
|
|
328
291
|
const dataTarget = resolvePagesDataNavigationTarget(fullRouteHref, __basePath, { locale });
|
|
329
292
|
if (dataTarget) {
|
|
330
|
-
const middlewareDataHref = fullRouteHref === fullHref ? dataTarget.middlewareDataHref : getPagesMiddlewareDataHref(fullHref, __basePath, { locale }) ?? void 0;
|
|
293
|
+
const middlewareDataHref = fullRouteHref === fullHref ? dataTarget.middlewareDataHref : getPagesMiddlewareDataHref(fullHref, __basePath, { locale }, fullRouteHref) ?? void 0;
|
|
331
294
|
prefetchPagesData({
|
|
332
295
|
...dataTarget,
|
|
333
296
|
middlewareDataHref
|
|
@@ -357,7 +320,7 @@ async function promotePrefetchEntriesForNavigation(href) {
|
|
|
357
320
|
const [{ getPrefetchCache }, { stripRscCacheBustingSearchParam, stripRscSuffix }] = await Promise.all([loadNavigationModule(), import("../server/app-rsc-cache-busting.js")]);
|
|
358
321
|
let target;
|
|
359
322
|
try {
|
|
360
|
-
target = new URL(
|
|
323
|
+
target = new URL(toCanonicalBrowserNavigationHref(href, window.location.href, __basePath, __trailingSlash), window.location.href);
|
|
361
324
|
} catch {
|
|
362
325
|
return;
|
|
363
326
|
}
|
|
@@ -489,56 +452,41 @@ function applyLocaleToHref(href, locale) {
|
|
|
489
452
|
}
|
|
490
453
|
return addLocalePrefix(href, resolvedLocale, defaultLocale);
|
|
491
454
|
}
|
|
492
|
-
/**
|
|
493
|
-
* For the `<Link href="/blog/[slug]" as="/blog/test-post">` case, project the
|
|
494
|
-
* bracket-pattern href + the resolved `as` back into a concrete route URL the
|
|
495
|
-
* Pages Router can fetch (`/blog/test-post`). Returns null when:
|
|
496
|
-
* - `href` has no bracket params (already concrete; the existing forwarding
|
|
497
|
-
* path works as-is)
|
|
498
|
-
* - interpolation fails because a required param could not be resolved
|
|
499
|
-
* (caller falls back to `as`, matching pre-PR behavior)
|
|
500
|
-
*
|
|
501
|
-
* The query for interpolation is the href's own query — `as` is the matcher
|
|
502
|
-
* input rather than the source of param values. For string hrefs the search
|
|
503
|
-
* portion is parsed into the query record; for object hrefs we take
|
|
504
|
-
* `href.query` directly.
|
|
505
|
-
*/
|
|
455
|
+
/** Resolve a dynamic route pattern to the concrete URL used for prefetching. */
|
|
506
456
|
function resolveConcreteRouteHref(href, as) {
|
|
507
457
|
if (typeof as !== "string") return null;
|
|
508
|
-
return interpolateDynamicRouteHref(
|
|
458
|
+
return interpolateDynamicRouteHref(href, as)?.href || null;
|
|
509
459
|
}
|
|
510
460
|
const Link = forwardRef(function Link({ href, as, replace = false, prefetch: prefetchProp, scroll = true, shallow = false, children: childrenProp, onClick, onMouseEnter, onTouchStart, onNavigate, unstable_dynamicOnHover = false, legacyBehavior = false, passHref = false, transitionTypes: _transitionTypes, ...rest }, forwardedRef) {
|
|
511
461
|
const pagesRouter = useContext(RouterContext);
|
|
512
|
-
const
|
|
513
|
-
const hrefStr =
|
|
462
|
+
const routePathnameForWarning = getCurrentRoutePathnameForWarning();
|
|
463
|
+
const hrefStr = resolvePagesLinkValue(href, pagesRouter, routePathnameForWarning);
|
|
464
|
+
const asHref = as === void 0 ? void 0 : resolvePagesLinkValue(as, pagesRouter, routePathnameForWarning);
|
|
514
465
|
const { locale, ...restWithoutLocale } = rest;
|
|
515
466
|
let children = childrenProp;
|
|
516
467
|
if (legacyBehavior && (typeof childrenProp === "string" || typeof childrenProp === "number")) children = React.createElement("a", null, childrenProp);
|
|
517
468
|
const hrefForImplicitInterpolation = isAbsoluteOrProtocolRelativeUrl(hrefStr) ? hrefStr.startsWith("//") ? null : toSameOriginAppPath(hrefStr, __basePath) : hrefStr;
|
|
518
469
|
const implicitDynamicRouteHref = HAS_PAGES_ROUTER && pagesRouter !== null && asHref === void 0 && hrefForImplicitInterpolation !== null ? resolveDynamicRouteHref(hrefForImplicitInterpolation) : null;
|
|
519
|
-
const
|
|
520
|
-
...implicitDynamicRouteHref,
|
|
521
|
-
href: hrefStr
|
|
522
|
-
} : null;
|
|
523
|
-
const pagesAsHref = asHref ?? dynamicRouteHref?.as;
|
|
470
|
+
const pagesAsHref = asHref ?? implicitDynamicRouteHref?.as;
|
|
524
471
|
const unresolvedHref = pagesAsHref ?? hrefStr;
|
|
525
|
-
const
|
|
526
|
-
const concreteRouteHref = HAS_PAGES_ROUTER ? resolveConcreteRouteHref(
|
|
527
|
-
const routeHrefRaw =
|
|
472
|
+
const resolvedHref = unresolvedHref.startsWith("#") && !getNavigationRuntime()?.functions.navigate ? resolvePagesQueryOnlyHref(unresolvedHref) : unresolvedHref;
|
|
473
|
+
const concreteRouteHref = HAS_PAGES_ROUTER ? resolveConcreteRouteHref(hrefForImplicitInterpolation ?? hrefStr, pagesAsHref) : null;
|
|
474
|
+
const routeHrefRaw = hrefStr;
|
|
528
475
|
const prefetchRouteHrefRaw = concreteRouteHref ?? routeHrefRaw;
|
|
529
|
-
const hasPagesHrefAsPair = HAS_PAGES_ROUTER &&
|
|
530
|
-
const
|
|
531
|
-
const
|
|
532
|
-
const
|
|
533
|
-
const
|
|
476
|
+
const hasPagesHrefAsPair = HAS_PAGES_ROUTER && pagesAsHref !== void 0 && pagesAsHref !== routeHrefRaw;
|
|
477
|
+
const isDangerous = isDangerousScheme(resolvedHref);
|
|
478
|
+
const isRouteDangerous = isDangerousScheme(prefetchRouteHrefRaw);
|
|
479
|
+
const isPrefetchDangerous = isDangerous || pagesRouter !== null && isRouteDangerous;
|
|
480
|
+
const localizedHref = applyLocaleToHref(isDangerous ? "/" : resolvedHref, locale);
|
|
481
|
+
const normalizedHref = normalizePathTrailingSlash(localizedHref, __trailingSlash);
|
|
482
|
+
const normalizedRouteHref = hasPagesHrefAsPair ? normalizePathTrailingSlash(applyLocaleToHref(isRouteDangerous ? "/" : prefetchRouteHrefRaw, locale), __trailingSlash) : normalizedHref;
|
|
534
483
|
const fullHref = normalizePathTrailingSlash(withBasePath(normalizedHref, __basePath), __trailingSlash);
|
|
535
484
|
const [pending, setPending] = useState(false);
|
|
536
485
|
const mountedRef = useRef(true);
|
|
537
486
|
const pendingPagesIntentPrefetchRef = useRef(null);
|
|
538
|
-
const setPendingRef = useRef(
|
|
539
|
-
if (setPendingRef.current === null) setPendingRef.current = (next) => {
|
|
487
|
+
const setPendingRef = useRef((next) => {
|
|
540
488
|
if (mountedRef.current) setPending(next);
|
|
541
|
-
};
|
|
489
|
+
});
|
|
542
490
|
useEffect(() => {
|
|
543
491
|
mountedRef.current = true;
|
|
544
492
|
const setter = setPendingRef.current;
|
|
@@ -553,11 +501,11 @@ const Link = forwardRef(function Link({ href, as, replace = false, prefetch: pre
|
|
|
553
501
|
const prefetchRouterMode = getLinkPrefetchRouterMode();
|
|
554
502
|
const isShallowPagesLink = prefetchRouterMode === "pages" && shallow;
|
|
555
503
|
const effectivePrefetchProp = isShallowPagesLink ? false : prefetchProp;
|
|
556
|
-
const prefetchMode = resolveLinkPrefetchMode(effectivePrefetchProp,
|
|
504
|
+
const prefetchMode = resolveLinkPrefetchMode(effectivePrefetchProp, isPrefetchDangerous);
|
|
557
505
|
const shouldViewportPrefetch = canLinkPrefetch({
|
|
558
506
|
nodeEnv: process.env.NODE_ENV,
|
|
559
507
|
prefetch: effectivePrefetchProp,
|
|
560
|
-
isDangerous
|
|
508
|
+
isDangerous: isPrefetchDangerous
|
|
561
509
|
});
|
|
562
510
|
const setRefs = useCallback((node) => {
|
|
563
511
|
internalRef.current = node;
|
|
@@ -611,7 +559,7 @@ const Link = forwardRef(function Link({ href, as, replace = false, prefetch: pre
|
|
|
611
559
|
if (isShallowPagesLink || !canLinkIntentPrefetch({
|
|
612
560
|
nodeEnv: process.env.NODE_ENV,
|
|
613
561
|
prefetch: effectivePrefetchProp,
|
|
614
|
-
isDangerous,
|
|
562
|
+
isDangerous: isPrefetchDangerous,
|
|
615
563
|
routerMode: prefetchRouterMode
|
|
616
564
|
})) return;
|
|
617
565
|
const intentMode = unstable_dynamicOnHover ? "full-after-shell" : prefetchMode;
|
|
@@ -623,7 +571,7 @@ const Link = forwardRef(function Link({ href, as, replace = false, prefetch: pre
|
|
|
623
571
|
prefetchUrl(normalizedHref, intentMode, "high", normalizedRouteHref === normalizedHref ? void 0 : normalizedRouteHref, locale);
|
|
624
572
|
}, [
|
|
625
573
|
effectivePrefetchProp,
|
|
626
|
-
|
|
574
|
+
isPrefetchDangerous,
|
|
627
575
|
isShallowPagesLink,
|
|
628
576
|
prefetchMode,
|
|
629
577
|
prefetchRouterMode,
|
|
@@ -677,7 +625,7 @@ const Link = forwardRef(function Link({ href, as, replace = false, prefetch: pre
|
|
|
677
625
|
const pagesNavigateHref = HAS_PAGES_ROUTER && resolvedHref.startsWith("?") ? resolvePagesLinkNavigationHref(resolvedHref, locale) : navigateHref;
|
|
678
626
|
const pagesAsForLink = hasPagesHrefAsPair ? pagesNavigateHref : void 0;
|
|
679
627
|
const pagesHrefForLink = pagesAsForLink === void 0 ? pagesNavigateHref : routeHrefRaw;
|
|
680
|
-
const absoluteFullHref =
|
|
628
|
+
const absoluteFullHref = toCanonicalBrowserNavigationHref(hasAppNavigationRuntime ? navigateHref : pagesNavigateHref, window.location.href, __basePath, __trailingSlash);
|
|
681
629
|
if (onNavigate) try {
|
|
682
630
|
const navUrl = new URL(absoluteFullHref, window.location.origin);
|
|
683
631
|
let prevented = false;
|
|
@@ -713,8 +661,9 @@ const Link = forwardRef(function Link({ href, as, replace = false, prefetch: pre
|
|
|
713
661
|
return;
|
|
714
662
|
} else if (HAS_PAGES_ROUTER) {
|
|
715
663
|
const Router = window.next?.appDir === true ? void 0 : window.next?.router;
|
|
664
|
+
const pagesRouter = Router && "reload" in Router ? Router : void 0;
|
|
716
665
|
await navigatePagesRouterLinkWithFallback({
|
|
717
|
-
router:
|
|
666
|
+
router: pagesRouter,
|
|
718
667
|
loadRouter: async () => (await import("next/router")).default,
|
|
719
668
|
navigation: {
|
|
720
669
|
href: pagesHrefForLink,
|
|
@@ -747,15 +696,16 @@ const Link = forwardRef(function Link({ href, as, replace = false, prefetch: pre
|
|
|
747
696
|
if (typeof childRef === "function") childRef(node);
|
|
748
697
|
else if (childRef) childRef.current = node;
|
|
749
698
|
};
|
|
699
|
+
const dangerousChild = React.cloneElement(child, {
|
|
700
|
+
ref: setDangerousRefs,
|
|
701
|
+
onClick: (event) => {
|
|
702
|
+
if (childOnClick) childOnClick(event);
|
|
703
|
+
reportBlockedDangerousNavigation();
|
|
704
|
+
}
|
|
705
|
+
});
|
|
750
706
|
return /* @__PURE__ */ jsx(LinkStatusContext.Provider, {
|
|
751
707
|
value: linkStatusValue,
|
|
752
|
-
children:
|
|
753
|
-
ref: setDangerousRefs,
|
|
754
|
-
onClick: (event) => {
|
|
755
|
-
if (childOnClick) childOnClick(event);
|
|
756
|
-
reportBlockedDangerousNavigation();
|
|
757
|
-
}
|
|
758
|
-
})
|
|
708
|
+
children: dangerousChild
|
|
759
709
|
});
|
|
760
710
|
}
|
|
761
711
|
return /* @__PURE__ */ jsx(LinkStatusContext.Provider, {
|
|
@@ -805,9 +755,10 @@ const Link = forwardRef(function Link({ href, as, replace = false, prefetch: pre
|
|
|
805
755
|
}
|
|
806
756
|
};
|
|
807
757
|
if (shouldForwardHref) clonedProps.href = fullHref;
|
|
758
|
+
const clonedChild = React.cloneElement(child, clonedProps);
|
|
808
759
|
return /* @__PURE__ */ jsx(LinkStatusContext.Provider, {
|
|
809
760
|
value: linkStatusValue,
|
|
810
|
-
children:
|
|
761
|
+
children: clonedChild
|
|
811
762
|
});
|
|
812
763
|
}
|
|
813
764
|
return /* @__PURE__ */ jsx(LinkStatusContext.Provider, {
|
package/dist/shims/metadata.d.ts
CHANGED
|
@@ -2,26 +2,26 @@ import { ThenableParamsObserver } from "./thenable-params.js";
|
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { ResolvedViewport as ResolvedViewport$1, Viewport as Viewport$1 } from "@vinext/types/next/upstream/dist/lib/metadata/types/metadata-interface";
|
|
4
4
|
//#region src/shims/metadata.d.ts
|
|
5
|
-
type Viewport = Viewport$1;
|
|
6
|
-
type ResolvedViewport = ResolvedViewport$1;
|
|
5
|
+
export type Viewport = Viewport$1;
|
|
6
|
+
export type ResolvedViewport = ResolvedViewport$1;
|
|
7
7
|
/**
|
|
8
8
|
* Resolve viewport config from a module. Handles both static `viewport` export
|
|
9
9
|
* and async `generateViewport()` function.
|
|
10
10
|
*/
|
|
11
|
-
declare function resolveModuleViewport(mod: Record<string, unknown>, params?: Record<string, string | string[]>, searchParams?: Record<string, string | string[]>, parent?: Promise<ResolvedViewport>, searchParamsObserver?: ThenableParamsObserver): Promise<Viewport | null>;
|
|
11
|
+
export declare function resolveModuleViewport(mod: Record<string, unknown>, params?: Record<string, string | string[]>, searchParams?: Record<string, string | string[]>, parent?: Promise<ResolvedViewport>, searchParamsObserver?: ThenableParamsObserver): Promise<Viewport | null>;
|
|
12
12
|
/**
|
|
13
13
|
* Merge viewport configs from multiple sources (layouts + page).
|
|
14
14
|
* Later entries override earlier ones.
|
|
15
15
|
*/
|
|
16
|
-
declare const DEFAULT_VIEWPORT: ResolvedViewport;
|
|
17
|
-
declare function mergeViewport(viewportList: readonly Viewport[]): ResolvedViewport;
|
|
16
|
+
export declare const DEFAULT_VIEWPORT: ResolvedViewport;
|
|
17
|
+
export declare function mergeViewport(viewportList: readonly Viewport[]): ResolvedViewport;
|
|
18
18
|
/**
|
|
19
19
|
* React component that renders viewport meta tags into <head>.
|
|
20
20
|
*/
|
|
21
|
-
declare function ViewportHead({ viewport }: {
|
|
21
|
+
export declare function ViewportHead({ viewport }: {
|
|
22
22
|
viewport: Viewport;
|
|
23
23
|
}): React.JSX.Element;
|
|
24
|
-
type Metadata = {
|
|
24
|
+
export type Metadata = {
|
|
25
25
|
title?: string | {
|
|
26
26
|
default?: string;
|
|
27
27
|
template?: string;
|
|
@@ -193,7 +193,7 @@ type IconsMap = {
|
|
|
193
193
|
other?: IconDescriptor | IconDescriptor[];
|
|
194
194
|
};
|
|
195
195
|
type IconsMetadata = IconInput | IconInput[] | IconsMap;
|
|
196
|
-
type MetadataMergeEntry = {
|
|
196
|
+
export type MetadataMergeEntry = {
|
|
197
197
|
contributesTitle?: boolean;
|
|
198
198
|
isPage?: boolean;
|
|
199
199
|
metadata: Metadata;
|
|
@@ -209,7 +209,7 @@ type MetadataMergeEntry = {
|
|
|
209
209
|
*
|
|
210
210
|
* Shallow merge: later entries override earlier ones (per Next.js docs).
|
|
211
211
|
*/
|
|
212
|
-
declare function mergeMetadata(metadataList: Metadata[]): Metadata;
|
|
212
|
+
export declare function mergeMetadata(metadataList: Metadata[]): Metadata;
|
|
213
213
|
/**
|
|
214
214
|
* Post-process merged metadata to cross-fill openGraph and Twitter fields.
|
|
215
215
|
*
|
|
@@ -222,7 +222,7 @@ declare function mergeMetadata(metadataList: Metadata[]): Metadata;
|
|
|
222
222
|
* Ported from Next.js:
|
|
223
223
|
* https://github.com/vercel/next.js/blob/canary/packages/next/src/lib/metadata/resolve-metadata.ts
|
|
224
224
|
*/
|
|
225
|
-
declare function postProcessMetadata(merged: Metadata): Metadata;
|
|
225
|
+
export declare function postProcessMetadata(merged: Metadata): Metadata;
|
|
226
226
|
/**
|
|
227
227
|
* Merge metadata from multiple sources (layouts + page).
|
|
228
228
|
*
|
|
@@ -235,7 +235,7 @@ declare function postProcessMetadata(merged: Metadata): Metadata;
|
|
|
235
235
|
* For top-level keys, later entries override earlier ones. `other` custom meta
|
|
236
236
|
* tags are the exception: Next.js merges those across segments.
|
|
237
237
|
*/
|
|
238
|
-
declare function mergeMetadataEntries(entries: readonly MetadataMergeEntry[]): Metadata;
|
|
238
|
+
export declare function mergeMetadataEntries(entries: readonly MetadataMergeEntry[]): Metadata;
|
|
239
239
|
/**
|
|
240
240
|
* Resolve metadata from a module. Handles both static `metadata` export
|
|
241
241
|
* and async `generateMetadata()` function.
|
|
@@ -246,17 +246,16 @@ declare function mergeMetadataEntries(entries: readonly MetadataMergeEntry[]): M
|
|
|
246
246
|
* resolution approach. If not provided, defaults to a promise that resolves
|
|
247
247
|
* to an empty object (so `await parent` never throws).
|
|
248
248
|
*/
|
|
249
|
-
declare function resolveModuleMetadata(mod: Record<string, unknown>, params?: Record<string, string | string[]>, searchParams?: Record<string, string | string[]>, parent?: Promise<Metadata>, searchParamsObserver?: ThenableParamsObserver): Promise<Metadata | null>;
|
|
249
|
+
export declare function resolveModuleMetadata(mod: Record<string, unknown>, params?: Record<string, string | string[]>, searchParams?: Record<string, string | string[]>, parent?: Promise<Metadata>, searchParamsObserver?: ThenableParamsObserver): Promise<Metadata | null>;
|
|
250
250
|
type MetadataHeadProps = {
|
|
251
251
|
metadata: Metadata;
|
|
252
252
|
pathname?: string;
|
|
253
253
|
trailingSlash?: boolean;
|
|
254
254
|
streamedIconKey?: string;
|
|
255
255
|
};
|
|
256
|
-
declare function renderMetadataToHtml(metadata: Metadata, pathname?: string, options?: {
|
|
256
|
+
export declare function renderMetadataToHtml(metadata: Metadata, pathname?: string, options?: {
|
|
257
257
|
trailingSlash?: boolean;
|
|
258
258
|
streamedIconKey?: string;
|
|
259
259
|
}): string;
|
|
260
|
-
declare function MetadataHead({ metadata, pathname, trailingSlash, streamedIconKey }: MetadataHeadProps): React.JSX.Element;
|
|
261
|
-
//#endregion
|
|
262
|
-
export { DEFAULT_VIEWPORT, Metadata, MetadataHead, MetadataMergeEntry, ResolvedViewport, Viewport, ViewportHead, mergeMetadata, mergeMetadataEntries, mergeViewport, postProcessMetadata, renderMetadataToHtml, resolveModuleMetadata, resolveModuleViewport };
|
|
260
|
+
export declare function MetadataHead({ metadata, pathname, trailingSlash, streamedIconKey }: MetadataHeadProps): React.JSX.Element;
|
|
261
|
+
//#endregion
|
package/dist/shims/metadata.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { isAbsoluteOrProtocolRelativeUrl } from "./url-utils.js";
|
|
2
2
|
import { makeThenableParams } from "./thenable-params.js";
|
|
3
|
+
import { withUseCachePageMarker } from "./internal/app-page-props-cache-key.js";
|
|
3
4
|
import React from "react";
|
|
4
5
|
import { Fragment as Fragment$1, jsx } from "react/jsx-runtime";
|
|
5
6
|
//#region src/shims/metadata.tsx
|
|
@@ -18,10 +19,10 @@ const USE_CACHE_ACCEPTS_SECOND_ARGUMENT_SYMBOL = Symbol.for("vinext.useCacheAcce
|
|
|
18
19
|
async function resolveModuleViewport(mod, params = {}, searchParams, parent = Promise.resolve(mergeViewport([])), searchParamsObserver) {
|
|
19
20
|
if (typeof mod.generateViewport === "function") {
|
|
20
21
|
const asyncParams = makeThenableParams(params);
|
|
21
|
-
const props = searchParams === void 0 ? { params: asyncParams } : {
|
|
22
|
+
const props = searchParams === void 0 ? { params: asyncParams } : withUseCachePageMarker(mod.generateViewport, {
|
|
22
23
|
params: asyncParams,
|
|
23
24
|
searchParams: makeThenableParams(searchParams, searchParamsObserver)
|
|
24
|
-
};
|
|
25
|
+
});
|
|
25
26
|
return await mod.generateViewport(props, parent);
|
|
26
27
|
}
|
|
27
28
|
if (mod.viewport && typeof mod.viewport === "object") return mod.viewport;
|
|
@@ -67,10 +68,7 @@ function mergeViewport(viewportList) {
|
|
|
67
68
|
case "viewportFit":
|
|
68
69
|
merged.viewportFit = viewport.viewportFit;
|
|
69
70
|
break;
|
|
70
|
-
case "interactiveWidget":
|
|
71
|
-
merged.interactiveWidget = viewport.interactiveWidget;
|
|
72
|
-
break;
|
|
73
|
-
default:
|
|
71
|
+
case "interactiveWidget": merged.interactiveWidget = viewport.interactiveWidget;
|
|
74
72
|
}
|
|
75
73
|
return merged;
|
|
76
74
|
}
|
|
@@ -197,11 +195,13 @@ function postProcessMetadata(merged) {
|
|
|
197
195
|
}
|
|
198
196
|
if (!hasTwDescription) autoFill.description = result.openGraph.description || result.description || void 0;
|
|
199
197
|
if (!hasTwImages && result.openGraph.images !== void 0) autoFill.images = result.openGraph.images;
|
|
200
|
-
if (Object.keys(autoFill).length > 0)
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
198
|
+
if (Object.keys(autoFill).length > 0) {
|
|
199
|
+
if (existingTwitter) result.twitter = {
|
|
200
|
+
...existingTwitter,
|
|
201
|
+
...autoFill
|
|
202
|
+
};
|
|
203
|
+
else result.twitter = autoFill;
|
|
204
|
+
}
|
|
205
205
|
}
|
|
206
206
|
if (result.twitter) {
|
|
207
207
|
const tw = { ...result.twitter };
|
|
@@ -268,10 +268,10 @@ async function resolveModuleMetadata(mod, params = {}, searchParams, parent = Pr
|
|
|
268
268
|
if (typeof mod.generateMetadata === "function") {
|
|
269
269
|
const generateMetadata = mod.generateMetadata;
|
|
270
270
|
const asyncParams = makeThenableParams(params);
|
|
271
|
-
const props = searchParams === void 0 ? { params: asyncParams } : {
|
|
271
|
+
const props = searchParams === void 0 ? { params: asyncParams } : withUseCachePageMarker(generateMetadata, {
|
|
272
272
|
params: asyncParams,
|
|
273
273
|
searchParams: makeThenableParams(searchParams, searchParamsObserver)
|
|
274
|
-
};
|
|
274
|
+
});
|
|
275
275
|
const isUseCacheFunction = Reflect.get(generateMetadata, USE_CACHE_FUNCTION_SYMBOL) === true;
|
|
276
276
|
const acceptsSecondArgument = Reflect.get(generateMetadata, USE_CACHE_ACCEPTS_SECOND_ARGUMENT_SYMBOL);
|
|
277
277
|
return await (!isUseCacheFunction || (typeof acceptsSecondArgument === "boolean" ? acceptsSecondArgument : generateMetadata.length >= 2) ? generateMetadata(props, parent) : generateMetadata(props));
|
|
@@ -509,33 +509,37 @@ function MetadataHead({ metadata, pathname = "/", trailingSlash, streamedIconKey
|
|
|
509
509
|
name: "category",
|
|
510
510
|
content: metadata.category
|
|
511
511
|
}, key++));
|
|
512
|
-
if (metadata.robots)
|
|
513
|
-
|
|
514
|
-
content: metadata.robots
|
|
515
|
-
}, key++));
|
|
516
|
-
else {
|
|
517
|
-
const { googleBot, ...robotsRest } = metadata.robots;
|
|
518
|
-
const robotParts = [];
|
|
519
|
-
for (const [k, v] of Object.entries(robotsRest)) if (v === true) robotParts.push(k);
|
|
520
|
-
else if (v === false) robotParts.push(`no${k}`);
|
|
521
|
-
else if (typeof v === "string" || typeof v === "number") robotParts.push(`${k}:${v}`);
|
|
522
|
-
if (robotParts.length > 0) elements.push(/* @__PURE__ */ jsx("meta", {
|
|
512
|
+
if (metadata.robots) {
|
|
513
|
+
if (typeof metadata.robots === "string") elements.push(/* @__PURE__ */ jsx("meta", {
|
|
523
514
|
name: "robots",
|
|
524
|
-
content:
|
|
525
|
-
}, key++));
|
|
526
|
-
if (googleBot) if (typeof googleBot === "string") elements.push(/* @__PURE__ */ jsx("meta", {
|
|
527
|
-
name: "googlebot",
|
|
528
|
-
content: googleBot
|
|
515
|
+
content: metadata.robots
|
|
529
516
|
}, key++));
|
|
530
517
|
else {
|
|
531
|
-
const
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
else if (
|
|
535
|
-
if (
|
|
536
|
-
|
|
537
|
-
|
|
518
|
+
const { googleBot, ...robotsRest } = metadata.robots;
|
|
519
|
+
const robotParts = [];
|
|
520
|
+
for (const [k, v] of Object.entries(robotsRest)) if (v === true) robotParts.push(k);
|
|
521
|
+
else if (v === false) robotParts.push(`no${k}`);
|
|
522
|
+
else if (typeof v === "string" || typeof v === "number") robotParts.push(`${k}:${v}`);
|
|
523
|
+
if (robotParts.length > 0) elements.push(/* @__PURE__ */ jsx("meta", {
|
|
524
|
+
name: "robots",
|
|
525
|
+
content: robotParts.join(", ")
|
|
538
526
|
}, key++));
|
|
527
|
+
if (googleBot) {
|
|
528
|
+
if (typeof googleBot === "string") elements.push(/* @__PURE__ */ jsx("meta", {
|
|
529
|
+
name: "googlebot",
|
|
530
|
+
content: googleBot
|
|
531
|
+
}, key++));
|
|
532
|
+
else {
|
|
533
|
+
const gbParts = [];
|
|
534
|
+
for (const [k, v] of Object.entries(googleBot)) if (v === true) gbParts.push(k);
|
|
535
|
+
else if (v === false) gbParts.push(`no${k}`);
|
|
536
|
+
else if (typeof v === "string" || typeof v === "number") gbParts.push(`${k}:${v}`);
|
|
537
|
+
if (gbParts.length > 0) elements.push(/* @__PURE__ */ jsx("meta", {
|
|
538
|
+
name: "googlebot",
|
|
539
|
+
content: gbParts.join(", ")
|
|
540
|
+
}, key++));
|
|
541
|
+
}
|
|
542
|
+
}
|
|
539
543
|
}
|
|
540
544
|
}
|
|
541
545
|
if (metadata.openGraph) {
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
//#region src/shims/navigation-context-accessors.d.ts
|
|
2
|
+
export type NavigationContext = {
|
|
3
|
+
pathname: string;
|
|
4
|
+
searchParams: URLSearchParams;
|
|
5
|
+
params: Record<string, string | string[]>;
|
|
6
|
+
};
|
|
7
|
+
/** Lightweight server context setter for request-only runtimes such as middleware. */
|
|
8
|
+
export declare function setNavigationContext(context: NavigationContext | null): void;
|
|
9
|
+
//#endregion
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/shims/navigation-context-accessors.ts
|
|
2
|
+
const GLOBAL_ACCESSORS_KEY = Symbol.for("vinext.navigation.globalAccessors");
|
|
3
|
+
const NAVIGATION_FALLBACK_STATE_KEY = Symbol.for("vinext.navigation.fallback");
|
|
4
|
+
/** Lightweight server context setter for request-only runtimes such as middleware. */
|
|
5
|
+
function setNavigationContext(context) {
|
|
6
|
+
const globalState = globalThis;
|
|
7
|
+
const accessors = globalState[GLOBAL_ACCESSORS_KEY];
|
|
8
|
+
if (accessors) {
|
|
9
|
+
accessors.setServerContext(context);
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
const fallback = globalState[NAVIGATION_FALLBACK_STATE_KEY] ??= {
|
|
13
|
+
serverContext: null,
|
|
14
|
+
serverInsertedHTMLCallbacks: []
|
|
15
|
+
};
|
|
16
|
+
fallback.serverContext = context;
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { setNavigationContext };
|