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
|
@@ -24,12 +24,12 @@ type SerializeSetCookieOptions = {
|
|
|
24
24
|
partitioned?: boolean;
|
|
25
25
|
priority?: "low" | "medium" | "high";
|
|
26
26
|
};
|
|
27
|
-
declare function validateCookieName(name: string): void;
|
|
27
|
+
export declare function validateCookieName(name: string): void;
|
|
28
28
|
/**
|
|
29
29
|
* Validate cookie attribute values (path, domain) to prevent injection
|
|
30
30
|
* via semicolons, newlines, or other control characters.
|
|
31
31
|
*/
|
|
32
|
-
declare function validateCookieAttributeValue(value: string, attributeName: string): void;
|
|
32
|
+
export declare function validateCookieAttributeValue(value: string, attributeName: string): void;
|
|
33
33
|
/**
|
|
34
34
|
* Build a Set-Cookie header string from a cookie name, value, and attributes.
|
|
35
35
|
*
|
|
@@ -43,6 +43,5 @@ declare function validateCookieAttributeValue(value: string, attributeName: stri
|
|
|
43
43
|
* The caller is responsible for validating the cookie name (typically before
|
|
44
44
|
* mutating any internal state) via `validateCookieName`.
|
|
45
45
|
*/
|
|
46
|
-
declare function serializeSetCookie(name: string, value: string | null | undefined, options?: SerializeSetCookieOptions): string;
|
|
47
|
-
//#endregion
|
|
48
|
-
export { serializeSetCookie, validateCookieAttributeValue, validateCookieName };
|
|
46
|
+
export declare function serializeSetCookie(name: string, value: string | null | undefined, options?: SerializeSetCookieOptions): string;
|
|
47
|
+
//#endregion
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { UrlObject } from "node:url";
|
|
2
|
+
//#region src/shims/internal/format-url-object.d.ts
|
|
3
|
+
/** Format Node's public UrlObject shape with the semantics used by Next.js. */
|
|
4
|
+
export declare function formatUrlObject(url: UrlObject): string;
|
|
5
|
+
/** Format a Pages Router UrlObject and surface Next.js's development diagnostics. */
|
|
6
|
+
export declare function formatUrlObjectWithValidation(url: UrlObject): string;
|
|
7
|
+
//#endregion
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { urlQueryToSearchParams } from "../../utils/query.js";
|
|
2
|
+
//#region src/shims/internal/format-url-object.ts
|
|
3
|
+
const slashedProtocols = /https?|ftp|gopher|file/;
|
|
4
|
+
const urlObjectKeys = /* @__PURE__ */ new Set([
|
|
5
|
+
"auth",
|
|
6
|
+
"hash",
|
|
7
|
+
"host",
|
|
8
|
+
"hostname",
|
|
9
|
+
"href",
|
|
10
|
+
"path",
|
|
11
|
+
"pathname",
|
|
12
|
+
"port",
|
|
13
|
+
"protocol",
|
|
14
|
+
"query",
|
|
15
|
+
"search",
|
|
16
|
+
"slashes"
|
|
17
|
+
]);
|
|
18
|
+
/** Format Node's public UrlObject shape with the semantics used by Next.js. */
|
|
19
|
+
function formatUrlObject(url) {
|
|
20
|
+
let { auth, hostname } = url;
|
|
21
|
+
let protocol = url.protocol || "";
|
|
22
|
+
let pathname = url.pathname || "";
|
|
23
|
+
let hash = url.hash || "";
|
|
24
|
+
let query = url.query || "";
|
|
25
|
+
let host = false;
|
|
26
|
+
auth = auth ? `${encodeURIComponent(auth).replace(/%3A/i, ":")}@` : "";
|
|
27
|
+
if (url.host) host = auth + url.host;
|
|
28
|
+
else if (hostname) {
|
|
29
|
+
host = auth + (hostname.includes(":") ? `[${hostname}]` : hostname);
|
|
30
|
+
if (url.port) host += `:${url.port}`;
|
|
31
|
+
}
|
|
32
|
+
if (query && typeof query === "object") query = String(urlQueryToSearchParams(query));
|
|
33
|
+
let search = url.search || query && `?${query}` || "";
|
|
34
|
+
if (protocol && !protocol.endsWith(":")) protocol += ":";
|
|
35
|
+
if (url.slashes || (!protocol || slashedProtocols.test(protocol)) && host !== false) {
|
|
36
|
+
host = `//${host || ""}`;
|
|
37
|
+
if (pathname && !pathname.startsWith("/")) pathname = `/${pathname}`;
|
|
38
|
+
} else if (!host) host = "";
|
|
39
|
+
if (hash && !hash.startsWith("#")) hash = `#${hash}`;
|
|
40
|
+
if (search && !search.startsWith("?")) search = `?${search}`;
|
|
41
|
+
pathname = pathname.replace(/[?#]/g, encodeURIComponent);
|
|
42
|
+
search = search.replace("#", "%23");
|
|
43
|
+
return `${protocol}${host}${pathname}${search}${hash}`;
|
|
44
|
+
}
|
|
45
|
+
/** Format a Pages Router UrlObject and surface Next.js's development diagnostics. */
|
|
46
|
+
function formatUrlObjectWithValidation(url) {
|
|
47
|
+
if (process.env.NODE_ENV === "development") {
|
|
48
|
+
for (const key of Object.keys(url)) if (!urlObjectKeys.has(key)) console.warn(`Unknown key passed via urlObject into url.format: ${key}`);
|
|
49
|
+
}
|
|
50
|
+
return formatUrlObject(url);
|
|
51
|
+
}
|
|
52
|
+
//#endregion
|
|
53
|
+
export { formatUrlObject, formatUrlObjectWithValidation };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { VinextLinkPrefetchRoute, VinextPagesLinkPrefetchRoute } from "../../client/vinext-next-data.js";
|
|
2
2
|
//#region src/shims/internal/hybrid-client-route-owner-direct.d.ts
|
|
3
|
-
type HybridClientOwner = "app" | "document" | "pages";
|
|
3
|
+
export type HybridClientOwner = "app" | "document" | "pages";
|
|
4
4
|
type HybridClientRouteMatches = {
|
|
5
5
|
appMatch: VinextLinkPrefetchRoute | null;
|
|
6
6
|
pagesMatch: VinextPagesLinkPrefetchRoute | null;
|
|
@@ -11,9 +11,8 @@ declare global {
|
|
|
11
11
|
__VINEXT_PAGES_LINK_PREFETCH_ROUTES__?: VinextPagesLinkPrefetchRoute[];
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
|
-
declare function
|
|
15
|
-
declare function matchDirectHybridClientRoutes(href: string, basePath: string): HybridClientRouteMatches;
|
|
16
|
-
declare function resolveMatchedHybridClientRouteOwner({ appMatch, pagesMatch }: HybridClientRouteMatches): HybridClientOwner | null;
|
|
17
|
-
declare function resolveDirectHybridClientRouteOwner(href: string, basePath: string): HybridClientOwner | null;
|
|
18
|
-
//#endregion
|
|
19
|
-
export { HybridClientOwner, matchDirectHybridClientRoutes, resolveDirectHybridClientRouteOwner, resolveMatchedHybridClientRouteOwner, resolveSameOriginPathname };
|
|
14
|
+
export declare function resolveSameOriginAppPathname(href: string, basePath: string): string | null;
|
|
15
|
+
export declare function matchDirectHybridClientRoutes(href: string, basePath: string): HybridClientRouteMatches;
|
|
16
|
+
export declare function resolveMatchedHybridClientRouteOwner({ appMatch, pagesMatch }: HybridClientRouteMatches): HybridClientOwner | null;
|
|
17
|
+
export declare function resolveDirectHybridClientRouteOwner(href: string, basePath: string): HybridClientOwner | null;
|
|
18
|
+
//#endregion
|
|
@@ -5,10 +5,12 @@ import { getLocalePathPrefix } from "../../utils/domain-locale.js";
|
|
|
5
5
|
//#region src/shims/internal/hybrid-client-route-owner-direct.ts
|
|
6
6
|
const appRouteTrieCache = createRouteTrieCache();
|
|
7
7
|
const pagesRouteTrieCache = createRouteTrieCache();
|
|
8
|
+
const pagesPageRoutesCache = /* @__PURE__ */ new WeakMap();
|
|
9
|
+
const pagesApiRoutesCache = /* @__PURE__ */ new WeakMap();
|
|
8
10
|
function patternFromParts(parts) {
|
|
9
11
|
return "/" + parts.join("/");
|
|
10
12
|
}
|
|
11
|
-
function
|
|
13
|
+
function resolveSameOriginPathnames(href, basePath) {
|
|
12
14
|
if (typeof window === "undefined") return null;
|
|
13
15
|
let url;
|
|
14
16
|
try {
|
|
@@ -17,23 +19,39 @@ function resolveSameOriginPathname(href, basePath) {
|
|
|
17
19
|
return null;
|
|
18
20
|
}
|
|
19
21
|
if (url.origin !== window.location.origin) return null;
|
|
20
|
-
const
|
|
21
|
-
const locale = getLocalePathPrefix(
|
|
22
|
-
|
|
23
|
-
const
|
|
24
|
-
return
|
|
22
|
+
const appPathname = stripBasePath(url.pathname, basePath);
|
|
23
|
+
const locale = getLocalePathPrefix(appPathname, window.__VINEXT_LOCALES__);
|
|
24
|
+
const localePrefixLength = locale ? locale.length + 1 : 0;
|
|
25
|
+
const pagesPathname = !locale ? appPathname : appPathname.length === localePrefixLength ? "/" : appPathname.slice(localePrefixLength);
|
|
26
|
+
return {
|
|
27
|
+
appPathname,
|
|
28
|
+
pagesApiRequest: appPathname === "/api" || appPathname.startsWith("/api/"),
|
|
29
|
+
pagesPathname
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function resolveSameOriginAppPathname(href, basePath) {
|
|
33
|
+
return resolveSameOriginPathnames(href, basePath)?.appPathname ?? null;
|
|
34
|
+
}
|
|
35
|
+
function selectPagesRoutes(routes, apiRequest) {
|
|
36
|
+
const cache = apiRequest ? pagesApiRoutesCache : pagesPageRoutesCache;
|
|
37
|
+
let selected = cache.get(routes);
|
|
38
|
+
if (!selected) {
|
|
39
|
+
selected = routes.filter((route) => Boolean(route.documentOnly) === apiRequest);
|
|
40
|
+
cache.set(routes, selected);
|
|
41
|
+
}
|
|
42
|
+
return selected;
|
|
25
43
|
}
|
|
26
44
|
function matchDirectHybridClientRoutes(href, basePath) {
|
|
27
|
-
const
|
|
28
|
-
if (
|
|
45
|
+
const pathnames = resolveSameOriginPathnames(href, basePath);
|
|
46
|
+
if (pathnames === null) return {
|
|
29
47
|
appMatch: null,
|
|
30
48
|
pagesMatch: null
|
|
31
49
|
};
|
|
32
50
|
const appRoutes = window.__VINEXT_LINK_PREFETCH_ROUTES__;
|
|
33
51
|
const pagesRoutes = window.__VINEXT_PAGES_LINK_PREFETCH_ROUTES__;
|
|
34
52
|
return {
|
|
35
|
-
appMatch: appRoutes ? matchRouteWithTrie(
|
|
36
|
-
pagesMatch: pagesRoutes ? matchRouteWithTrie(
|
|
53
|
+
appMatch: appRoutes ? matchRouteWithTrie(pathnames.appPathname, appRoutes, appRouteTrieCache)?.route ?? null : null,
|
|
54
|
+
pagesMatch: pagesRoutes ? matchRouteWithTrie(pathnames.pagesPathname, selectPagesRoutes(pagesRoutes, pathnames.pagesApiRequest), pagesRouteTrieCache)?.route ?? null : null
|
|
37
55
|
};
|
|
38
56
|
}
|
|
39
57
|
function resolveMatchedHybridClientRouteOwner({ appMatch, pagesMatch }) {
|
|
@@ -48,4 +66,4 @@ function resolveDirectHybridClientRouteOwner(href, basePath) {
|
|
|
48
66
|
return resolveMatchedHybridClientRouteOwner(matchDirectHybridClientRoutes(href, basePath));
|
|
49
67
|
}
|
|
50
68
|
//#endregion
|
|
51
|
-
export { matchDirectHybridClientRoutes, resolveDirectHybridClientRouteOwner, resolveMatchedHybridClientRouteOwner,
|
|
69
|
+
export { matchDirectHybridClientRoutes, resolveDirectHybridClientRouteOwner, resolveMatchedHybridClientRouteOwner, resolveSameOriginAppPathname };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { HybridClientOwner } from "./hybrid-client-route-owner-direct.js";
|
|
2
2
|
//#region src/shims/internal/hybrid-client-route-owner.d.ts
|
|
3
|
-
declare function resolveHybridClientRewriteHref(href: string, basePath: string): string | null;
|
|
3
|
+
export declare function resolveHybridClientRewriteHref(href: string, basePath: string): string | null;
|
|
4
4
|
/**
|
|
5
5
|
* Decide which router should own a soft-navigated URL. Returns:
|
|
6
6
|
* - "app" → the App Router runtime handles the navigation (RSC fetch).
|
|
@@ -13,6 +13,6 @@ declare function resolveHybridClientRewriteHref(href: string, basePath: string):
|
|
|
13
13
|
* matcher trie produces the same result the server will see when the
|
|
14
14
|
* request lands.
|
|
15
15
|
*/
|
|
16
|
-
declare function resolveHybridClientRouteOwner(href: string, basePath: string): HybridClientOwner | null;
|
|
16
|
+
export declare function resolveHybridClientRouteOwner(href: string, basePath: string): HybridClientOwner | null;
|
|
17
17
|
//#endregion
|
|
18
|
-
export {
|
|
18
|
+
export type { HybridClientOwner };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { parseCookies } from "../../config/request-context.js";
|
|
2
|
-
import { matchDirectHybridClientRoutes, resolveMatchedHybridClientRouteOwner,
|
|
2
|
+
import { matchDirectHybridClientRoutes, resolveMatchedHybridClientRouteOwner, resolveSameOriginAppPathname } from "./hybrid-client-route-owner-direct.js";
|
|
3
3
|
import { mergeRewriteQuery } from "../../utils/query.js";
|
|
4
4
|
import { matchClientRewrite } from "../../client/client-rewrite-matcher.js";
|
|
5
5
|
//#region src/shims/internal/hybrid-client-route-owner.ts
|
|
@@ -28,16 +28,17 @@ function resolveClientRewrite(href, basePath, rewrites, continueAfterMatch = fal
|
|
|
28
28
|
let currentHref = href;
|
|
29
29
|
let matched = false;
|
|
30
30
|
for (const rewrite of rewrites) {
|
|
31
|
-
const pathname =
|
|
31
|
+
const pathname = resolveSameOriginAppPathname(currentHref, basePath);
|
|
32
32
|
if (pathname === null) return null;
|
|
33
33
|
const url = new URL(currentHref, window.location.href);
|
|
34
34
|
const headers = new Headers({ "user-agent": globalThis.navigator?.userAgent ?? "" });
|
|
35
|
-
const
|
|
35
|
+
const context = {
|
|
36
36
|
cookies: parseCookies(globalThis.document?.cookie ?? ""),
|
|
37
37
|
headers,
|
|
38
38
|
host: url.hostname,
|
|
39
39
|
query: url.searchParams
|
|
40
|
-
}
|
|
40
|
+
};
|
|
41
|
+
const result = matchClientRewrite(pathname, rewrite, context, basePathState);
|
|
41
42
|
if (result === null) continue;
|
|
42
43
|
if (result.kind === "server") return { kind: "document" };
|
|
43
44
|
currentHref = mergeRewriteQuery(currentHref, result.destination);
|
|
@@ -7,13 +7,13 @@ import { UrlQuery } from "../../utils/query.js";
|
|
|
7
7
|
type ParsedUrlQuery = {
|
|
8
8
|
[key: string]: string | string[] | undefined;
|
|
9
9
|
};
|
|
10
|
-
type DynamicRouteHrefProjection = {
|
|
10
|
+
export type DynamicRouteHrefProjection = {
|
|
11
11
|
href: string;
|
|
12
12
|
params: string[];
|
|
13
13
|
query: ParsedUrlQuery;
|
|
14
14
|
routePathname: string;
|
|
15
15
|
};
|
|
16
|
-
type DynamicRouteHrefResolution = {
|
|
16
|
+
export type DynamicRouteHrefResolution = {
|
|
17
17
|
/** Route-pattern URL passed to the Pages Router. */
|
|
18
18
|
href: string;
|
|
19
19
|
/** Interpolated URL rendered in the anchor and displayed in the browser. */
|
|
@@ -25,7 +25,7 @@ type DynamicRouteHrefResolution = {
|
|
|
25
25
|
* href (string-form hrefs). A `?` after `#` is part of the fragment, not a
|
|
26
26
|
* query delimiter.
|
|
27
27
|
*/
|
|
28
|
-
declare function interpolateDynamicRouteHref(routeHref: string, asHref: string, queryInput?: UrlQuery): DynamicRouteHrefProjection | null;
|
|
28
|
+
export declare function interpolateDynamicRouteHref(routeHref: string, asHref: string, queryInput?: UrlQuery): DynamicRouteHrefProjection | null;
|
|
29
29
|
/**
|
|
30
30
|
* Resolve the two URLs that Next.js' Pages Router derives from a dynamic
|
|
31
31
|
* href: the original route-pattern URL used to load the page and the
|
|
@@ -35,6 +35,5 @@ declare function interpolateDynamicRouteHref(routeHref: string, asHref: string,
|
|
|
35
35
|
* Mirrors `resolveHref(router, href, true)` from Next.js:
|
|
36
36
|
* packages/next/src/client/resolve-href.ts.
|
|
37
37
|
*/
|
|
38
|
-
declare function resolveDynamicRouteHref(routeHref: string): DynamicRouteHrefResolution | null;
|
|
39
|
-
//#endregion
|
|
40
|
-
export { DynamicRouteHrefProjection, DynamicRouteHrefResolution, interpolateDynamicRouteHref, resolveDynamicRouteHref };
|
|
38
|
+
export declare function resolveDynamicRouteHref(routeHref: string): DynamicRouteHrefResolution | null;
|
|
39
|
+
//#endregion
|
|
@@ -132,8 +132,10 @@ function getRouteMatcher({ re, groups }) {
|
|
|
132
132
|
const params = {};
|
|
133
133
|
for (const [key, group] of Object.entries(groups)) {
|
|
134
134
|
const match = routeMatch[group.pos];
|
|
135
|
-
if (match !== void 0)
|
|
136
|
-
|
|
135
|
+
if (match !== void 0) {
|
|
136
|
+
if (group.repeat) params[key] = match.split("/").map((entry) => decode(entry));
|
|
137
|
+
else params[key] = decode(match);
|
|
138
|
+
}
|
|
137
139
|
}
|
|
138
140
|
return params;
|
|
139
141
|
};
|
|
@@ -16,19 +16,19 @@
|
|
|
16
16
|
* React state model: instead of an optimistic-status dispatcher, we hold the
|
|
17
17
|
* link's `setPending` setter.
|
|
18
18
|
*/
|
|
19
|
-
type PendingLinkSetter = (pending: boolean) => void;
|
|
19
|
+
export type PendingLinkSetter = (pending: boolean) => void;
|
|
20
20
|
/**
|
|
21
21
|
* Mark `setter` as the link that started the most recent navigation, resetting
|
|
22
22
|
* the previously-tracked link's pending state to idle so only the last-clicked
|
|
23
23
|
* link shows a pending state.
|
|
24
24
|
*/
|
|
25
|
-
declare function setLinkForCurrentNavigation(setter: PendingLinkSetter): void;
|
|
25
|
+
export declare function setLinkForCurrentNavigation(setter: PendingLinkSetter): void;
|
|
26
26
|
/**
|
|
27
27
|
* Stop tracking `setter` if it is the current navigation link. Called when a
|
|
28
28
|
* <Link> finishes its own navigation or unmounts so we never hold a stale
|
|
29
29
|
* reference to an unmounted component's setter.
|
|
30
30
|
*/
|
|
31
|
-
declare function clearLinkForCurrentNavigation(setter: PendingLinkSetter): void;
|
|
31
|
+
export declare function clearLinkForCurrentNavigation(setter: PendingLinkSetter): void;
|
|
32
32
|
/**
|
|
33
33
|
* Reset any link that is currently showing a pending state. Invoked at the
|
|
34
34
|
* start of every App Router navigation so that navigations not initiated by the
|
|
@@ -38,6 +38,5 @@ declare function clearLinkForCurrentNavigation(setter: PendingLinkSetter): void;
|
|
|
38
38
|
* `setLinkForCurrentNavigation`; the matching call here consumes that marker and
|
|
39
39
|
* keeps the link pending.
|
|
40
40
|
*/
|
|
41
|
-
declare function notifyLinkNavigationStart(): void;
|
|
42
|
-
//#endregion
|
|
43
|
-
export { PendingLinkSetter, clearLinkForCurrentNavigation, notifyLinkNavigationStart, setLinkForCurrentNavigation };
|
|
41
|
+
export declare function notifyLinkNavigationStart(): void;
|
|
42
|
+
//#endregion
|
|
@@ -10,6 +10,11 @@
|
|
|
10
10
|
* Ported from Next.js: packages/next/src/server/dynamic-rendering-utils.ts
|
|
11
11
|
* https://github.com/vercel/next.js/blob/canary/packages/next/src/server/dynamic-rendering-utils.ts
|
|
12
12
|
*/
|
|
13
|
-
declare function makeHangingPromise<T>(signal: AbortSignal, route: string, expression: string): Promise<T>;
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
export declare function makeHangingPromise<T>(signal: AbortSignal, route: string, expression: string): Promise<T>;
|
|
14
|
+
/**
|
|
15
|
+
* Keep user-visible suspension promises pending while their owning renderer is
|
|
16
|
+
* aborted after an uncatchable framework bailout. The abort event still reaches
|
|
17
|
+
* renderer-owned listeners; only these promise rejections are suppressed.
|
|
18
|
+
*/
|
|
19
|
+
export declare function suppressHangingPromiseAbortRejections(signal: AbortSignal): void;
|
|
20
|
+
//#endregion
|
|
@@ -17,9 +17,11 @@ var HangingPromiseRejectionError = class extends Error {
|
|
|
17
17
|
}
|
|
18
18
|
};
|
|
19
19
|
const abortListenersBySignal = /* @__PURE__ */ new WeakMap();
|
|
20
|
+
const suppressedAbortRejections = /* @__PURE__ */ new WeakSet();
|
|
20
21
|
function suppressUnhandledRejection() {}
|
|
21
22
|
function makeHangingPromise(signal, route, expression) {
|
|
22
23
|
if (signal.aborted) {
|
|
24
|
+
if (suppressedAbortRejections.has(signal)) return new Promise(() => {});
|
|
23
25
|
const rejected = Promise.reject(new HangingPromiseRejectionError(route, expression));
|
|
24
26
|
rejected.catch(suppressUnhandledRejection);
|
|
25
27
|
return rejected;
|
|
@@ -32,13 +34,22 @@ function makeHangingPromise(signal, route, expression) {
|
|
|
32
34
|
const listeners = [boundRejection];
|
|
33
35
|
abortListenersBySignal.set(signal, listeners);
|
|
34
36
|
signal.addEventListener("abort", () => {
|
|
35
|
-
for (let i = 0; i < listeners.length; i++) listeners[i]();
|
|
37
|
+
if (!suppressedAbortRejections.has(signal)) for (let i = 0; i < listeners.length; i++) listeners[i]();
|
|
36
38
|
listeners.length = 0;
|
|
39
|
+
abortListenersBySignal.delete(signal);
|
|
37
40
|
}, { once: true });
|
|
38
41
|
}
|
|
39
42
|
});
|
|
40
43
|
hangingPromise.catch(suppressUnhandledRejection);
|
|
41
44
|
return hangingPromise;
|
|
42
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Keep user-visible suspension promises pending while their owning renderer is
|
|
48
|
+
* aborted after an uncatchable framework bailout. The abort event still reaches
|
|
49
|
+
* renderer-owned listeners; only these promise rejections are suppressed.
|
|
50
|
+
*/
|
|
51
|
+
function suppressHangingPromiseAbortRejections(signal) {
|
|
52
|
+
suppressedAbortRejections.add(signal);
|
|
53
|
+
}
|
|
43
54
|
//#endregion
|
|
44
|
-
export { makeHangingPromise };
|
|
55
|
+
export { makeHangingPromise, suppressHangingPromiseAbortRejections };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//#region src/shims/internal/normalize-router-href.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Warn about and normalize repeated path separators like Next.js `resolveHref`.
|
|
4
|
+
* The protocol separator is preserved and query strings are left untouched.
|
|
5
|
+
*
|
|
6
|
+
* Ported from Next.js: packages/next/src/client/resolve-href.ts
|
|
7
|
+
* https://github.com/vercel/next.js/blob/canary/packages/next/src/client/resolve-href.ts
|
|
8
|
+
*/
|
|
9
|
+
export declare function normalizeRouterHref(href: string, routePathname: string): string;
|
|
10
|
+
/** Resolve a Pages Router href against the route state used by Next.js Link. */
|
|
11
|
+
export declare function resolvePagesRouterHref(href: string, router: {
|
|
12
|
+
pathname: string;
|
|
13
|
+
asPath: string;
|
|
14
|
+
}, basePath: string): string;
|
|
15
|
+
//#endregion
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { hasBasePath } from "../../utils/base-path.js";
|
|
2
|
+
import { getWindowOrigin, isAbsoluteUrl } from "../url-utils.js";
|
|
3
|
+
//#region src/shims/internal/normalize-router-href.ts
|
|
4
|
+
/**
|
|
5
|
+
* Warn about and normalize repeated path separators like Next.js `resolveHref`.
|
|
6
|
+
* The protocol separator is preserved and query strings are left untouched.
|
|
7
|
+
*
|
|
8
|
+
* Ported from Next.js: packages/next/src/client/resolve-href.ts
|
|
9
|
+
* https://github.com/vercel/next.js/blob/canary/packages/next/src/client/resolve-href.ts
|
|
10
|
+
*/
|
|
11
|
+
function normalizeRouterHref(href, routePathname) {
|
|
12
|
+
const protocol = href.match(/^[a-z][a-z0-9+.-]*:\/\//i)?.[0] ?? "";
|
|
13
|
+
const withoutProtocol = protocol ? href.slice(protocol.length) : href;
|
|
14
|
+
if (!/(\/\/|\\)/.test(withoutProtocol.split("?", 1)[0] ?? "")) return href;
|
|
15
|
+
console.error(`Invalid href '${href}' passed to next/router in page: '${routePathname}'. Repeated forward-slashes (//) or backslashes \\ are not valid in the href.`);
|
|
16
|
+
const [pathname, ...query] = withoutProtocol.split("?");
|
|
17
|
+
return protocol + pathname.replace(/\\/g, "/").replace(/\/\/+/g, "/") + (query[0] ? `?${query.join("?")}` : "");
|
|
18
|
+
}
|
|
19
|
+
/** Resolve a Pages Router href against the route state used by Next.js Link. */
|
|
20
|
+
function resolvePagesRouterHref(href, router, basePath) {
|
|
21
|
+
const normalized = normalizeRouterHref(href, router.pathname);
|
|
22
|
+
if (isAbsoluteUrl(normalized)) {
|
|
23
|
+
const origin = getWindowOrigin();
|
|
24
|
+
if (!origin) return normalized;
|
|
25
|
+
try {
|
|
26
|
+
const target = new URL(normalized, origin);
|
|
27
|
+
if (target.origin !== origin || basePath !== "" && !hasBasePath(target.pathname, basePath)) return normalized;
|
|
28
|
+
} catch {
|
|
29
|
+
return normalized;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
try {
|
|
33
|
+
const base = new URL(normalized.startsWith("#") || normalized.startsWith("?") ? router.asPath : router.pathname, "http://n");
|
|
34
|
+
const resolved = new URL(normalized, base);
|
|
35
|
+
return resolved.origin === base.origin ? resolved.href.slice(resolved.origin.length) : resolved.href;
|
|
36
|
+
} catch {
|
|
37
|
+
return normalized;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//#endregion
|
|
41
|
+
export { normalizeRouterHref, resolvePagesRouterHref };
|
|
@@ -32,11 +32,11 @@
|
|
|
32
32
|
* - The map is module-scoped (one per realm). The Pages Router runs in the
|
|
33
33
|
* browser only, so a single `Map` is sufficient.
|
|
34
34
|
*/
|
|
35
|
-
declare function getPagesStaticDataCache(): Record<string, Promise<Response>>;
|
|
36
|
-
declare function fetchCachedPagesData(dataHref: string, init?: RequestInit): Promise<Response>;
|
|
37
|
-
declare function fetchStaticPagesData(dataHref: string, init?: RequestInit): Promise<Response>;
|
|
38
|
-
declare function fetchUncachedPagesData(dataHref: string, init?: RequestInit): Promise<Response>;
|
|
39
|
-
declare function evictPagesDataCache(dataHref: string): void;
|
|
35
|
+
export declare function getPagesStaticDataCache(): Record<string, Promise<Response>>;
|
|
36
|
+
export declare function fetchCachedPagesData(dataHref: string, init?: RequestInit): Promise<Response>;
|
|
37
|
+
export declare function fetchStaticPagesData(dataHref: string, init?: RequestInit): Promise<Response>;
|
|
38
|
+
export declare function fetchUncachedPagesData(dataHref: string, init?: RequestInit): Promise<Response>;
|
|
39
|
+
export declare function evictPagesDataCache(dataHref: string): void;
|
|
40
40
|
/**
|
|
41
41
|
* Dedupe a `fetch()` against the `_next/data` endpoint. Multiple concurrent
|
|
42
42
|
* callers for the same resolved URL and deployment ID share one underlying
|
|
@@ -49,11 +49,10 @@ declare function evictPagesDataCache(dataHref: string): void;
|
|
|
49
49
|
* Errors propagate to every concurrent caller — the in-flight entry is
|
|
50
50
|
* dropped on failure so the next navigation can retry.
|
|
51
51
|
*/
|
|
52
|
-
declare function dedupedPagesDataFetch(dataHref: string, init?: RequestInit): Promise<Response>;
|
|
52
|
+
export declare function dedupedPagesDataFetch(dataHref: string, init?: RequestInit): Promise<Response>;
|
|
53
53
|
/**
|
|
54
54
|
* Drop every cached in-flight entry. Intended for tests; production code
|
|
55
55
|
* does not need to call this because entries self-evict on settle.
|
|
56
56
|
*/
|
|
57
|
-
declare function clearPagesDataInflight(): void;
|
|
58
|
-
//#endregion
|
|
59
|
-
export { clearPagesDataInflight, dedupedPagesDataFetch, evictPagesDataCache, fetchCachedPagesData, fetchStaticPagesData, fetchUncachedPagesData, getPagesStaticDataCache };
|
|
57
|
+
export declare function clearPagesDataInflight(): void;
|
|
58
|
+
//#endregion
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/shims/internal/pages-data-target.d.ts
|
|
2
|
-
type PagesDataTarget = {
|
|
2
|
+
export type PagesDataTarget = {
|
|
3
3
|
/** Final fetch URL for the data endpoint, including basePath and search. */
|
|
4
4
|
dataHref: string;
|
|
5
5
|
/** Locale-qualified data endpoint used by Pages Router prefetch. */
|
|
@@ -35,8 +35,11 @@ type PagesDataTarget = {
|
|
|
35
35
|
};
|
|
36
36
|
type PagesDataNavigationTargetOptions = {
|
|
37
37
|
locale?: string | false;
|
|
38
|
+
/** Force page identity while deriving params and data URLs from browserUrl. */
|
|
39
|
+
routePattern?: string;
|
|
38
40
|
};
|
|
39
|
-
declare function
|
|
41
|
+
export declare function matchesPagesMiddlewarePath(pathname: string): boolean;
|
|
42
|
+
export declare function getPagesMiddlewareDataHref(browserUrl: string, basePath: string, options?: PagesDataNavigationTargetOptions, routeUrl?: string): string | null;
|
|
40
43
|
/**
|
|
41
44
|
* Decide whether the JSON data-endpoint navigation path is usable for this
|
|
42
45
|
* browser URL. We require:
|
|
@@ -60,7 +63,7 @@ declare function getPagesMiddlewareDataHref(browserUrl: string, basePath: string
|
|
|
60
63
|
* (`getDataHref`). vinext's equivalent uses an in-memory loader map instead
|
|
61
64
|
* of Next.js' `_buildManifest.js`.
|
|
62
65
|
*/
|
|
63
|
-
declare function resolvePagesDataNavigationTarget(browserUrl: string, basePath: string, options?: PagesDataNavigationTargetOptions): PagesDataTarget | null;
|
|
66
|
+
export declare function resolvePagesDataNavigationTarget(browserUrl: string, basePath: string, options?: PagesDataNavigationTargetOptions): PagesDataTarget | null;
|
|
64
67
|
/**
|
|
65
68
|
* Kick off the code-split loader and, for SSG pages, prefetch the data JSON so
|
|
66
69
|
* the chunk and payload are warm by the time the user clicks.
|
|
@@ -74,6 +77,5 @@ declare function resolvePagesDataNavigationTarget(browserUrl: string, basePath:
|
|
|
74
77
|
* paying for a second round trip. Errors are swallowed: prefetch is
|
|
75
78
|
* best-effort and must never break the page.
|
|
76
79
|
*/
|
|
77
|
-
declare function prefetchPagesData(target: PagesDataTarget): void;
|
|
78
|
-
//#endregion
|
|
79
|
-
export { PagesDataTarget, getPagesMiddlewareDataHref, prefetchPagesData, resolvePagesDataNavigationTarget };
|
|
80
|
+
export declare function prefetchPagesData(target: PagesDataTarget): void;
|
|
81
|
+
//#endregion
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { removeTrailingSlash, stripBasePath } from "../../utils/base-path.js";
|
|
2
|
-
import { getLocalePathPrefix } from "../../utils/domain-locale.js";
|
|
3
1
|
import { isUnknownRecord } from "../../utils/record.js";
|
|
2
|
+
import { stripBasePath } from "../../utils/base-path.js";
|
|
3
|
+
import { getLocalePathPrefix } from "../../utils/domain-locale.js";
|
|
4
4
|
import { buildPagesDataHref, matchPagesPattern } from "./pages-data-url.js";
|
|
5
5
|
import { NEXT_DEPLOYMENT_ID_HEADER, getDeploymentId } from "../../utils/deployment-id.js";
|
|
6
6
|
import { fetchStaticPagesData, fetchUncachedPagesData } from "./pages-data-fetch-dedup.js";
|
|
@@ -22,10 +22,9 @@ function hasVinextMiddleware(nextData) {
|
|
|
22
22
|
}
|
|
23
23
|
function isClientMiddlewareMatcherObject(value) {
|
|
24
24
|
if (!isUnknownRecord(value)) return false;
|
|
25
|
-
if (typeof value.
|
|
25
|
+
if (typeof value.regexp !== "string") return false;
|
|
26
|
+
if (value.flags !== void 0 && typeof value.flags !== "string") return false;
|
|
26
27
|
if (value.locale !== void 0 && value.locale !== false) return false;
|
|
27
|
-
if (value.has !== void 0 && !Array.isArray(value.has)) return false;
|
|
28
|
-
if (value.missing !== void 0 && !Array.isArray(value.missing)) return false;
|
|
29
28
|
return true;
|
|
30
29
|
}
|
|
31
30
|
function stripLocaleForMiddlewareMatcher(pathname) {
|
|
@@ -35,40 +34,28 @@ function stripLocaleForMiddlewareMatcher(pathname) {
|
|
|
35
34
|
if (!firstSegment || !locales.includes(firstSegment)) return pathname;
|
|
36
35
|
return "/" + pathname.split("/").slice(2).join("/");
|
|
37
36
|
}
|
|
38
|
-
function
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
let pathIndex = 0;
|
|
44
|
-
for (const sourcePart of sourceParts) {
|
|
45
|
-
if (sourcePart.startsWith(":")) {
|
|
46
|
-
if (sourcePart.endsWith("*")) return true;
|
|
47
|
-
if (sourcePart.endsWith("+")) return pathIndex < pathParts.length;
|
|
48
|
-
if (pathIndex >= pathParts.length) return false;
|
|
49
|
-
pathIndex++;
|
|
50
|
-
continue;
|
|
51
|
-
}
|
|
52
|
-
if (pathParts[pathIndex] !== sourcePart) return false;
|
|
53
|
-
pathIndex++;
|
|
54
|
-
}
|
|
55
|
-
return pathIndex === pathParts.length;
|
|
37
|
+
function localeAwareMiddlewarePathname(pathname) {
|
|
38
|
+
const locales = window.__VINEXT_LOCALES__;
|
|
39
|
+
const defaultLocale = window.__VINEXT_DEFAULT_LOCALE__;
|
|
40
|
+
if (!locales?.includes(defaultLocale ?? "") || getLocalePathPrefix(pathname, locales)) return pathname;
|
|
41
|
+
return `/${defaultLocale}${pathname === "/" ? "" : pathname}`;
|
|
56
42
|
}
|
|
57
|
-
function
|
|
43
|
+
function matchesPagesMiddlewarePath(pathname) {
|
|
44
|
+
const matcher = window.__VINEXT_MIDDLEWARE_MATCHER__;
|
|
58
45
|
if (matcher === void 0) return true;
|
|
59
|
-
if (typeof matcher === "string") return clientMiddlewareSourceMatches(stripLocaleForMiddlewareMatcher(pathname), matcher);
|
|
60
46
|
if (!Array.isArray(matcher)) return true;
|
|
61
47
|
for (const item of matcher) {
|
|
62
|
-
if (typeof item === "string") {
|
|
63
|
-
if (clientMiddlewareSourceMatches(stripLocaleForMiddlewareMatcher(pathname), item)) return true;
|
|
64
|
-
continue;
|
|
65
|
-
}
|
|
66
48
|
if (!isClientMiddlewareMatcherObject(item)) return true;
|
|
67
|
-
|
|
49
|
+
const candidate = item.locale === false ? localeAwareMiddlewarePathname(pathname) : stripLocaleForMiddlewareMatcher(pathname);
|
|
50
|
+
try {
|
|
51
|
+
if (new RegExp(item.regexp, item.flags).test(candidate)) return true;
|
|
52
|
+
} catch {
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
68
55
|
}
|
|
69
56
|
return false;
|
|
70
57
|
}
|
|
71
|
-
function getPagesMiddlewareDataHref(browserUrl, basePath, options = {}) {
|
|
58
|
+
function getPagesMiddlewareDataHref(browserUrl, basePath, options = {}, routeUrl = browserUrl) {
|
|
72
59
|
const nextData = window.__NEXT_DATA__;
|
|
73
60
|
if (!nextData || !hasVinextMiddleware(nextData)) return null;
|
|
74
61
|
const buildId = nextData.buildId;
|
|
@@ -80,12 +67,19 @@ function getPagesMiddlewareDataHref(browserUrl, basePath, options = {}) {
|
|
|
80
67
|
return null;
|
|
81
68
|
}
|
|
82
69
|
if (parsed.origin !== window.location.origin) return null;
|
|
70
|
+
let routeSearch = parsed.search;
|
|
71
|
+
if (routeUrl !== browserUrl) try {
|
|
72
|
+
routeSearch = new URL(routeUrl, window.location.href).search;
|
|
73
|
+
} catch {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
83
76
|
const pathname = stripBasePath(parsed.pathname, basePath);
|
|
84
|
-
if (!
|
|
77
|
+
if (!matchesPagesMiddlewarePath(pathname)) return null;
|
|
85
78
|
const pathnameLocale = getLocalePathPrefix(pathname, window.__VINEXT_LOCALES__);
|
|
86
79
|
const explicitLocale = options.locale === false ? window.__VINEXT_DEFAULT_LOCALE__ : options.locale;
|
|
87
80
|
const currentLocale = pathnameLocale ?? explicitLocale ?? window.__VINEXT_LOCALE__;
|
|
88
|
-
|
|
81
|
+
const dataPathname = pathnameLocale || !currentLocale || !window.__VINEXT_LOCALES__?.includes(currentLocale) ? pathname : `/${currentLocale}${pathname === "/" ? "" : pathname}`;
|
|
82
|
+
return buildPagesDataHref(basePath, buildId, dataPathname, routeSearch);
|
|
89
83
|
}
|
|
90
84
|
/**
|
|
91
85
|
* Decide whether the JSON data-endpoint navigation path is usable for this
|
|
@@ -126,7 +120,8 @@ function resolvePagesDataNavigationTarget(browserUrl, basePath, options = {}) {
|
|
|
126
120
|
if (parsed.origin !== window.location.origin) return null;
|
|
127
121
|
const pagePath = stripBasePath(parsed.pathname, basePath);
|
|
128
122
|
const locale = getLocalePathPrefix(pagePath, window.__VINEXT_LOCALES__);
|
|
129
|
-
const
|
|
123
|
+
const pathForMatch = locale ? pagePath.slice(locale.length + 1) || "/" : pagePath;
|
|
124
|
+
const match = matchPagesPattern(pathForMatch, options.routePattern ? [options.routePattern] : patterns);
|
|
130
125
|
if (!match) return null;
|
|
131
126
|
const loader = loaders[match.pattern];
|
|
132
127
|
if (!loader) return null;
|
|
@@ -177,7 +172,8 @@ function prefetchPagesData(target) {
|
|
|
177
172
|
const deploymentId = getDeploymentId();
|
|
178
173
|
if (deploymentId) headers[NEXT_DEPLOYMENT_ID_HEADER] = deploymentId;
|
|
179
174
|
if (target.dataKind === "static") {
|
|
180
|
-
|
|
175
|
+
const dataHref = target.middlewareDataHref && target.middlewareDataHref !== target.dataHref ? target.middlewareDataHref : target.prefetchDataHref ?? target.middlewareDataHref ?? target.dataHref;
|
|
176
|
+
fetchStaticPagesData(dataHref, { headers }).then(async (response) => {
|
|
181
177
|
prefetchMiddlewareRewriteLoader(response);
|
|
182
178
|
await response.arrayBuffer();
|
|
183
179
|
}).catch(() => {});
|
|
@@ -192,4 +188,4 @@ function prefetchMiddlewareRewriteLoader(response) {
|
|
|
192
188
|
if (target) target.loader().catch(() => {});
|
|
193
189
|
}
|
|
194
190
|
//#endregion
|
|
195
|
-
export { getPagesMiddlewareDataHref, prefetchPagesData, resolvePagesDataNavigationTarget };
|
|
191
|
+
export { getPagesMiddlewareDataHref, matchesPagesMiddlewarePath, prefetchPagesData, resolvePagesDataNavigationTarget };
|