vinext 1.0.0-beta.9 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +150 -92
- package/THIRD_PARTY_LICENSES.md +51 -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 +7 -14
- package/dist/build/precompress.d.ts +2 -3
- package/dist/build/precompress.js +1 -1
- 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 +36 -11
- package/dist/build/prerender-paths.js +274 -102
- 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 +73 -16
- package/dist/build/prerender.js +272 -80
- 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 +24 -20
- package/dist/build/report.js +10 -2
- 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 +26 -16
- package/dist/build/server-entry.d.ts +6 -0
- package/dist/build/server-entry.js +34 -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 +6 -7
- package/dist/cache/cache-adapters-virtual.d.ts +60 -20
- package/dist/cache/cache-adapters-virtual.js +50 -7
- 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 -442
- package/dist/client/app-nav-failure-handler.d.ts +6 -7
- package/dist/client/browser-globals.d.ts +4 -0
- package/dist/client/browser-globals.js +5 -0
- 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 +20 -17
- package/dist/client/navigation-runtime.js +4 -3
- 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 -10
- package/dist/client/window-next.d.ts +4 -5
- package/dist/config/config-matchers.d.ts +16 -16
- package/dist/config/config-matchers.js +2 -4
- package/dist/config/dotenv.d.ts +3 -4
- package/dist/config/dotenv.js +14 -2
- 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 +4 -5
- package/dist/entries/app-browser-entry.js +1 -3
- package/dist/entries/app-rsc-entry.d.ts +10 -3
- package/dist/entries/app-rsc-entry.js +503 -51
- package/dist/entries/app-rsc-manifest.d.ts +4 -3
- package/dist/entries/app-rsc-manifest.js +26 -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 +234 -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 +848 -255
- package/dist/init-cloudflare.d.ts +26 -17
- package/dist/init-cloudflare.js +711 -103
- 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 +126 -42
- 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/commonjs-syntax.d.ts +16 -0
- package/dist/plugins/commonjs-syntax.js +22 -0
- 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 +14 -4
- package/dist/plugins/ignore-dynamic-requests.js +113 -91
- package/dist/plugins/import-meta-url.d.ts +6 -7
- package/dist/plugins/import-meta-url.js +36 -48
- 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 +5 -4
- package/dist/plugins/og-asset-ownership.js +24 -13
- package/dist/plugins/og-assets.d.ts +22 -5
- package/dist/plugins/og-assets.js +82 -21
- package/dist/plugins/og-harfbuzz.d.ts +24 -0
- package/dist/plugins/og-harfbuzz.js +271 -0
- package/dist/plugins/optimize-imports.d.ts +7 -7
- package/dist/plugins/optimize-imports.js +34 -45
- 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 +3 -3
- package/dist/plugins/require-context.js +41 -22
- 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/scan-build-css.d.ts +12 -0
- package/dist/plugins/scan-build-css.js +39 -0
- package/dist/plugins/server-externals-manifest.d.ts +2 -3
- package/dist/plugins/strip-server-exports.d.ts +7 -6
- package/dist/plugins/strip-server-exports.js +4 -2
- 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 +21 -4
- package/dist/plugins/transform-result.js +23 -2
- package/dist/plugins/transitive-externals.d.ts +2 -3
- package/dist/plugins/typeof-window.d.ts +16 -7
- package/dist/plugins/typeof-window.js +62 -39
- 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 +18 -19
- package/dist/routing/app-route-graph.js +5 -6
- package/dist/routing/app-route-ids.d.ts +3 -0
- package/dist/routing/app-route-ids.js +6 -0
- package/dist/routing/app-router.d.ts +19 -6
- package/dist/routing/app-router.js +24 -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 +4 -4
- package/dist/server/app-bfcache-id.js +7 -1
- package/dist/server/app-bfcache-identity.d.ts +8 -9
- package/dist/server/app-bfcache-identity.js +1 -2
- 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 +91 -36
- 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 +15 -2
- 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 +5 -6
- 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-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 +25 -27
- package/dist/server/app-history-state.js +21 -16
- 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 +7 -7
- package/dist/server/app-middleware.js +2 -3
- 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 +10 -11
- package/dist/server/app-optimistic-routing.js +3 -2
- 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 +1 -1
- package/dist/server/app-page-cache-finalizer.d.ts +18 -9
- package/dist/server/app-page-cache-finalizer.js +51 -16
- package/dist/server/app-page-cache-render.d.ts +8 -5
- package/dist/server/app-page-cache-render.js +22 -4
- package/dist/server/app-page-cache.d.ts +28 -9
- package/dist/server/app-page-cache.js +95 -24
- package/dist/server/app-page-dispatch.d.ts +34 -12
- package/dist/server/app-page-dispatch.js +181 -64
- 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 +11 -7
- 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 +41 -6
- package/dist/server/app-page-render.js +171 -24
- 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 +30 -12
- 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 +43 -7
- 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 +34 -6
- package/dist/server/app-page-tracing.d.ts +33 -0
- package/dist/server/app-page-tracing.js +50 -0
- package/dist/server/app-pages-bridge.d.ts +6 -6
- package/dist/server/app-pages-bridge.js +18 -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 +3 -1
- package/dist/server/app-prerender-static-params.d.ts +15 -7
- package/dist/server/app-prerender-static-params.js +24 -9
- package/dist/server/app-render-abort-error.d.ts +3 -0
- package/dist/server/app-render-abort-error.js +8 -0
- 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 +112 -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 +4 -4
- package/dist/server/app-route-handler-cache.js +51 -35
- package/dist/server/app-route-handler-dispatch.d.ts +3 -3
- package/dist/server/app-route-handler-dispatch.js +77 -56
- package/dist/server/app-route-handler-execution.d.ts +26 -14
- package/dist/server/app-route-handler-execution.js +94 -28
- 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 +11 -11
- package/dist/server/app-route-handler-policy.js +2 -2
- package/dist/server/app-route-handler-response.d.ts +9 -10
- package/dist/server/app-route-handler-response.js +14 -3
- 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 +4 -1
- package/dist/server/app-router-entry.js +33 -17
- package/dist/server/app-rsc-cache-busting.d.ts +34 -27
- package/dist/server/app-rsc-cache-busting.js +14 -2
- 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 +11 -9
- package/dist/server/app-rsc-errors.js +14 -16
- package/dist/server/app-rsc-handler.d.ts +32 -6
- package/dist/server/app-rsc-handler.js +425 -64
- 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 +5 -3
- package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
- package/dist/server/app-rsc-response-finalizer.js +10 -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 +3 -4
- package/dist/server/app-rsc-route-matching.js +3 -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 +119 -7
- package/dist/server/app-segment-config.js +242 -2
- package/dist/server/app-server-action-execution.d.ts +18 -13
- package/dist/server/app-server-action-execution.js +86 -33
- package/dist/server/app-ssr-entry.d.ts +14 -4
- package/dist/server/app-ssr-entry.js +62 -15
- 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 +34 -8
- 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 +35 -13
- package/dist/server/cache-control.js +64 -6
- 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 +4 -5
- package/dist/server/cacheability-limits.js +2 -2
- package/dist/server/cacheability-manifest.d.ts +42 -16
- package/dist/server/cacheability-manifest.js +60 -10
- package/dist/server/cacheability-request.d.ts +37 -8
- package/dist/server/cacheability-request.js +192 -90
- 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 +25 -11
- 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 +141 -64
- 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 +56 -61
- package/dist/server/headers.js +22 -31
- 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-error-responses.js +1 -0
- 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 +30 -27
- package/dist/server/isr-cache.js +23 -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-response.d.ts +7 -7
- package/dist/server/metadata-route-response.js +158 -35
- 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 +6 -7
- 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 +7 -8
- package/dist/server/middleware-runtime.js +36 -7
- 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/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 +28 -9
- package/dist/server/pages-asset-tags.d.ts +7 -6
- package/dist/server/pages-asset-tags.js +104 -18
- 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 +13 -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-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 +23 -19
- package/dist/server/pages-page-data.js +82 -75
- package/dist/server/pages-page-handler.d.ts +7 -6
- package/dist/server/pages-page-handler.js +103 -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 +52 -32
- 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 +15 -12
- package/dist/server/pages-request-pipeline.js +80 -35
- package/dist/server/pages-request-stage-entry.d.ts +23 -0
- package/dist/server/pages-request-stage-entry.js +316 -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 +35 -148
- 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 +17 -11
- package/dist/server/prerender-manifest.js +7 -4
- package/dist/server/prerender-route-params.d.ts +16 -9
- package/dist/server/prerender-route-params.js +18 -3
- package/dist/server/prerender-work-unit-setup.d.ts +2 -3
- package/dist/server/prerender-work-unit-setup.js +5 -5
- package/dist/server/prod-server.d.ts +12 -9
- package/dist/server/prod-server.js +127 -44
- 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 +16 -16
- package/dist/server/request-pipeline.js +7 -2
- 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 +1 -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/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 +9 -6
- package/dist/server/static-file-signal.js +51 -2
- 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 +5 -6
- package/dist/server/worker-revalidation-context.d.ts +4 -4
- package/dist/server/worker-revalidation-context.js +6 -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 +2 -1
- package/dist/server/workers-tracing.d.ts +34 -0
- package/dist/server/workers-tracing.js +67 -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 +26 -38
- package/dist/shims/cache-request-state.js +2 -13
- package/dist/shims/cache-runtime.d.ts +23 -21
- package/dist/shims/cache-runtime.js +110 -28
- package/dist/shims/cache.d.ts +17 -16
- package/dist/shims/cache.js +19 -15
- package/dist/shims/cacheability-classification.d.ts +50 -29
- package/dist/shims/cacheability-classification.js +29 -14
- 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 +59 -21
- package/dist/shims/cdn-cache.js +31 -47
- 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 +5 -19
- package/dist/shims/error.js +17 -10
- package/dist/shims/error.react-server.d.ts +4 -7
- package/dist/shims/error.react-server.js +4 -1
- package/dist/shims/fetch-cache.d.ts +22 -22
- package/dist/shims/fetch-cache.js +46 -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 +44 -73
- package/dist/shims/headers.js +87 -144
- 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 +5 -17
- package/dist/shims/internal/app-prefetch-rsc-request.js +5 -14
- package/dist/shims/internal/app-route-detection.d.ts +2 -2
- package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -8
- package/dist/shims/internal/app-route-prefetch-policy.js +0 -1
- package/dist/shims/internal/app-router-context.d.ts +9 -10
- package/dist/shims/internal/cache-context-accessor.d.ts +16 -0
- package/dist/shims/internal/cache-context-accessor.js +15 -0
- 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/headers-state.d.ts +74 -0
- package/dist/shims/internal/headers-state.js +157 -0
- package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
- package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
- package/dist/shims/internal/hybrid-client-route-owner.js +3 -2
- 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 +3 -4
- 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 +10 -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 +56 -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 +26 -18
- package/dist/shims/navigation.react-server.d.ts +9 -9
- 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 +5 -6
- package/dist/shims/request-state-types.d.ts +2 -1
- package/dist/shims/root-params.d.ts +14 -15
- package/dist/shims/root-params.js +1 -1
- 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 +66 -30
- 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 +35 -32
- 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 +12 -13
- 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 +4 -4
- package/dist/utils/encode-cache-tag.js +11 -1
- 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 +4 -5
- 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 +151 -0
- package/dist/utils/vite-version.d.ts +5 -6
- package/next-package.json +4 -0
- package/package.json +51 -6
- package/dist/server/metadata-route-cache-policy.d.ts +0 -6
- package/dist/server/metadata-route-cache-policy.js +0 -6
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
//#region src/shims/internal/app-page-props-cache-key.ts
|
|
2
2
|
const APP_PAGE_PROPS_CACHE_KEY_MARKER = Symbol.for("vinext.appPagePropsCacheKeyMarker");
|
|
3
|
+
const USE_CACHE_FUNCTION_SYMBOL = Symbol.for("vinext.useCacheFunction");
|
|
4
|
+
const SERVER_REFERENCE_TAG = Symbol.for("react.server.reference");
|
|
5
|
+
/**
|
|
6
|
+
* Server reference ids of transformed cache functions end in the export name
|
|
7
|
+
* the use-cache transform assigns (`secureExportName` in
|
|
8
|
+
* plugins/use-cache-callable.ts): `$$vinext_cache_` plus an HMAC-SHA256 hex
|
|
9
|
+
* digest. `"use server"` actions keep their own export names.
|
|
10
|
+
*/
|
|
11
|
+
const USE_CACHE_SERVER_REFERENCE_ID_RE = /#\$\$vinext_cache_[0-9a-f]{64}$/;
|
|
12
|
+
/**
|
|
13
|
+
* Enumerable page marker, matching Next.js's `$$isPage` prop. It must be an
|
|
14
|
+
* ordinary string key: React's createElement drops symbol and non-enumerable
|
|
15
|
+
* props before a server component is invoked.
|
|
16
|
+
*/
|
|
17
|
+
const APP_PAGE_USE_CACHE_MARKER = "$$isPage";
|
|
3
18
|
function markAppPagePropsForUseCache(props) {
|
|
4
19
|
Object.defineProperty(props, APP_PAGE_PROPS_CACHE_KEY_MARKER, {
|
|
5
20
|
configurable: false,
|
|
@@ -12,5 +27,42 @@ function markAppPagePropsForUseCache(props) {
|
|
|
12
27
|
function isMarkedAppPagePropsObject(value) {
|
|
13
28
|
return Reflect.get(value, APP_PAGE_PROPS_CACHE_KEY_MARKER) === true;
|
|
14
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Whether `fn` is a transformed `"use cache"` function, including a bound
|
|
32
|
+
* one. Like Next.js's `isUseCacheFunction`, this survives `.bind()`: React's
|
|
33
|
+
* server-reference `bind` copies `$$typeof`/`$$id` to the bound function but
|
|
34
|
+
* not vinext's own marker symbol.
|
|
35
|
+
*/
|
|
36
|
+
function isUseCacheFunctionReference(fn) {
|
|
37
|
+
if (typeof fn !== "function") return false;
|
|
38
|
+
if (Reflect.get(fn, USE_CACHE_FUNCTION_SYMBOL) === true) return true;
|
|
39
|
+
const reference = fn;
|
|
40
|
+
return reference.$$typeof === SERVER_REFERENCE_TAG && typeof reference.$$id === "string" && USE_CACHE_SERVER_REFERENCE_ID_RE.test(reference.$$id);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Add Next.js's `$$isPage` marker when `fn` is a `"use cache"` function
|
|
44
|
+
* invoked as a page component or as a page's generateMetadata/generateViewport
|
|
45
|
+
* (create-component-tree.tsx, resolve-metadata.ts `createSegmentProps`). The
|
|
46
|
+
* cache wrapper reads and removes it, so page semantics follow the invocation
|
|
47
|
+
* even when the cached function is defined in (or re-exported from) another
|
|
48
|
+
* module, or bound.
|
|
49
|
+
*/
|
|
50
|
+
function withUseCachePageMarker(fn, props) {
|
|
51
|
+
return isUseCacheFunctionReference(fn) ? {
|
|
52
|
+
...props,
|
|
53
|
+
[APP_PAGE_USE_CACHE_MARKER]: true
|
|
54
|
+
} : props;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Whether `value` is page props carrying the `$$isPage` marker. Only plain
|
|
58
|
+
* objects qualify: the framework always passes a plain props object, and
|
|
59
|
+
* reading the marker through a thenable params/searchParams proxy would be
|
|
60
|
+
* observed as a param access.
|
|
61
|
+
*/
|
|
62
|
+
function hasUseCachePageMarker(value) {
|
|
63
|
+
if (value === null || typeof value !== "object") return false;
|
|
64
|
+
const prototype = Object.getPrototypeOf(value);
|
|
65
|
+
return (prototype === Object.prototype || prototype === null) && value["$$isPage"] === true;
|
|
66
|
+
}
|
|
15
67
|
//#endregion
|
|
16
|
-
export { isMarkedAppPagePropsObject, markAppPagePropsForUseCache };
|
|
68
|
+
export { APP_PAGE_USE_CACHE_MARKER, hasUseCachePageMarker, isMarkedAppPagePropsObject, isUseCacheFunctionReference, markAppPagePropsForUseCache, withUseCachePageMarker };
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
//#region src/shims/internal/app-prefetch-fetch-queue.d.ts
|
|
2
|
-
declare function releaseAppPrefetchFetchSlot(response: Response): void;
|
|
2
|
+
export declare function releaseAppPrefetchFetchSlot(response: Response): void;
|
|
3
3
|
/**
|
|
4
4
|
* Low-priority App Router prefetches share a small request queue. The consumer
|
|
5
5
|
* must either snapshot the returned Response with snapshotRscResponse() or call
|
|
6
6
|
* releaseAppPrefetchFetchSlot() when it drops the response without consuming it.
|
|
7
7
|
*/
|
|
8
|
-
declare function scheduleAppPrefetchFetch(fetcher: (signal: AbortSignal) => Promise<Response>, priority: "low" | "high"): Promise<Response>;
|
|
8
|
+
export declare function scheduleAppPrefetchFetch(fetcher: (signal: AbortSignal) => Promise<Response>, priority: "low" | "high"): Promise<Response>;
|
|
9
9
|
/** Cancel a queued or in-flight prefetch request. No-op once it has settled. */
|
|
10
|
-
declare function cancelAppPrefetchFetch(promise: Promise<Response> | undefined): void;
|
|
10
|
+
export declare function cancelAppPrefetchFetch(promise: Promise<Response> | undefined): void;
|
|
11
11
|
/**
|
|
12
12
|
* Start a still-queued prefetch request immediately.
|
|
13
13
|
*
|
|
@@ -20,6 +20,5 @@ declare function cancelAppPrefetchFetch(promise: Promise<Response> | undefined):
|
|
|
20
20
|
*
|
|
21
21
|
* No-op when the request has already started or was never queued.
|
|
22
22
|
*/
|
|
23
|
-
declare function promoteAppPrefetchFetch(promise: Promise<Response> | undefined): void;
|
|
24
|
-
//#endregion
|
|
25
|
-
export { cancelAppPrefetchFetch, promoteAppPrefetchFetch, releaseAppPrefetchFetchSlot, scheduleAppPrefetchFetch };
|
|
23
|
+
export declare function promoteAppPrefetchFetch(promise: Promise<Response> | undefined): void;
|
|
24
|
+
//#endregion
|
|
@@ -1,25 +1,13 @@
|
|
|
1
1
|
//#region src/shims/internal/app-prefetch-rsc-request.d.ts
|
|
2
|
-
type ResolveAppPrefetchRscRequestOptions = {
|
|
3
|
-
canUseCanonicalLoadingShell: boolean;
|
|
2
|
+
export type ResolveAppPrefetchRscRequestOptions = {
|
|
4
3
|
fullHref: string;
|
|
5
4
|
headers: Headers;
|
|
6
|
-
interceptionContext: string | null;
|
|
7
|
-
mountedSlotsHeader: string | null;
|
|
8
|
-
prefetchInlining: boolean;
|
|
9
|
-
requiresRouteTreePrefetch: boolean;
|
|
10
5
|
rewrittenPrefetchHref: string | null;
|
|
11
6
|
};
|
|
12
|
-
type ResolvedAppPrefetchRscRequest = {
|
|
7
|
+
export type ResolvedAppPrefetchRscRequest = {
|
|
13
8
|
additionalRscUrls: string[];
|
|
14
9
|
rscUrl: string;
|
|
15
|
-
usesCanonicalPrewarmedRequest: boolean;
|
|
16
10
|
};
|
|
17
|
-
/**
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
* context can reuse deploy-prewarmed CDN entries. Contextual requests retain
|
|
21
|
-
* their varying headers and deterministic `_rsc` digest.
|
|
22
|
-
*/
|
|
23
|
-
declare function resolveAppPrefetchRscRequest({ canUseCanonicalLoadingShell, fullHref, headers, interceptionContext, mountedSlotsHeader, prefetchInlining, requiresRouteTreePrefetch, rewrittenPrefetchHref }: ResolveAppPrefetchRscRequestOptions): Promise<ResolvedAppPrefetchRscRequest>;
|
|
24
|
-
//#endregion
|
|
25
|
-
export { ResolveAppPrefetchRscRequestOptions, ResolvedAppPrefetchRscRequest, resolveAppPrefetchRscRequest };
|
|
11
|
+
/** Resolve the ordinary RSC request identities shared by `<Link>` and `router.prefetch()`. */
|
|
12
|
+
export declare function resolveAppPrefetchRscRequest({ fullHref, headers, rewrittenPrefetchHref }: ResolveAppPrefetchRscRequestOptions): Promise<ResolvedAppPrefetchRscRequest>;
|
|
13
|
+
//#endregion
|
|
@@ -1,20 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createRscRequestUrl } from "../../server/app-rsc-cache-busting.js";
|
|
2
2
|
//#region src/shims/internal/app-prefetch-rsc-request.ts
|
|
3
|
-
/**
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* context can reuse deploy-prewarmed CDN entries. Contextual requests retain
|
|
7
|
-
* their varying headers and deterministic `_rsc` digest.
|
|
8
|
-
*/
|
|
9
|
-
async function resolveAppPrefetchRscRequest({ canUseCanonicalLoadingShell, fullHref, headers, interceptionContext, mountedSlotsHeader, prefetchInlining, requiresRouteTreePrefetch, rewrittenPrefetchHref }) {
|
|
10
|
-
const canUseCanonicalSharedRequest = process.env.__NEXT_CONFIG_OUTPUT !== "export" && process.env.__VINEXT_CANONICAL_RSC_REQUESTS === "1" && interceptionContext === null && mountedSlotsHeader === null && (rewrittenPrefetchHref === null || rewrittenPrefetchHref === fullHref) && !requiresRouteTreePrefetch && !prefetchInlining;
|
|
11
|
-
const usesCanonicalLoadingShell = canUseCanonicalSharedRequest && canUseCanonicalLoadingShell && canonicalizeLoadingShellRscRequestHeaders(headers);
|
|
12
|
-
const usesCanonicalFullRoute = canUseCanonicalSharedRequest && !usesCanonicalLoadingShell && canonicalizePrewarmableRscRequestHeaders(headers);
|
|
13
|
-
const [rscUrl, ...additionalRscUrls] = await Promise.all([usesCanonicalFullRoute ? createCanonicalRscRequestUrl(fullHref) : createRscRequestUrl(fullHref, headers), ...rewrittenPrefetchHref !== null && rewrittenPrefetchHref !== fullHref ? [createRscRequestUrl(rewrittenPrefetchHref, headers)] : []]);
|
|
3
|
+
/** Resolve the ordinary RSC request identities shared by `<Link>` and `router.prefetch()`. */
|
|
4
|
+
async function resolveAppPrefetchRscRequest({ fullHref, headers, rewrittenPrefetchHref }) {
|
|
5
|
+
const [rscUrl, ...additionalRscUrls] = await Promise.all([createRscRequestUrl(fullHref, headers), ...rewrittenPrefetchHref !== null && rewrittenPrefetchHref !== fullHref ? [createRscRequestUrl(rewrittenPrefetchHref, headers)] : []]);
|
|
14
6
|
return {
|
|
15
7
|
additionalRscUrls,
|
|
16
|
-
rscUrl
|
|
17
|
-
usesCanonicalPrewarmedRequest: usesCanonicalLoadingShell || usesCanonicalFullRoute
|
|
8
|
+
rscUrl
|
|
18
9
|
};
|
|
19
10
|
}
|
|
20
11
|
//#endregion
|
|
@@ -18,6 +18,6 @@ declare global {
|
|
|
18
18
|
* first (e.g. `link.tsx` normalises to match `trailingSlash` config before
|
|
19
19
|
* calling, while `router.prefetch()` passes the raw user-supplied URL).
|
|
20
20
|
*/
|
|
21
|
-
declare function markAppRouteDetectedOnPrefetch(href: string, basePath: string): Promise<void>;
|
|
21
|
+
export declare function markAppRouteDetectedOnPrefetch(href: string, basePath: string): Promise<void>;
|
|
22
22
|
//#endregion
|
|
23
|
-
export { getPagesRouterComponentsMap
|
|
23
|
+
export { getPagesRouterComponentsMap };
|
|
@@ -10,10 +10,8 @@ declare global {
|
|
|
10
10
|
* it at all, whether the response is reusable by a later navigation, and which
|
|
11
11
|
* cache TTL family applies.
|
|
12
12
|
*/
|
|
13
|
-
type AppRoutePrefetchPolicy = {
|
|
13
|
+
export type AppRoutePrefetchPolicy = {
|
|
14
14
|
cacheForNavigation: boolean;
|
|
15
|
-
/** The selected loading shell has the canonical deploy-warmed identity. */
|
|
16
|
-
canUseCanonicalLoadingShell?: true;
|
|
17
15
|
/**
|
|
18
16
|
* How the dynamic stale-time signal affects this prefetch. Navigation data
|
|
19
17
|
* takes it verbatim, explicit full prefetches fall back to the static window
|
|
@@ -27,8 +25,7 @@ type AppRoutePrefetchPolicy = {
|
|
|
27
25
|
requiresRouteTreePrefetch?: true;
|
|
28
26
|
shouldPrefetch: boolean;
|
|
29
27
|
};
|
|
30
|
-
declare function canAutoPrefetchFullAppRoute(href: string): boolean;
|
|
31
|
-
declare function resolveAutoAppRoutePrefetch(href: string): AppRoutePrefetchPolicy;
|
|
32
|
-
declare function resolveFullAppRoutePrefetch(): AppRoutePrefetchPolicy;
|
|
33
|
-
//#endregion
|
|
34
|
-
export { AppRoutePrefetchPolicy, canAutoPrefetchFullAppRoute, resolveAutoAppRoutePrefetch, resolveFullAppRoutePrefetch };
|
|
28
|
+
export declare function canAutoPrefetchFullAppRoute(href: string): boolean;
|
|
29
|
+
export declare function resolveAutoAppRoutePrefetch(href: string): AppRoutePrefetchPolicy;
|
|
30
|
+
export declare function resolveFullAppRoutePrefetch(): AppRoutePrefetchPolicy;
|
|
31
|
+
//#endregion
|
|
@@ -45,7 +45,6 @@ function resolveAutoAppRoutePrefetch(href) {
|
|
|
45
45
|
const cacheForNavigation = !hasSearchParams && !hasCacheComponentsLearningOnlyDynamicPath && (requiresRouteTreePrefetch || !route.canPrefetchLoadingShell && route.requiresDynamicNavigationRequest !== true);
|
|
46
46
|
return {
|
|
47
47
|
cacheForNavigation,
|
|
48
|
-
...route.canUseCanonicalLoadingShell === true ? { canUseCanonicalLoadingShell: true } : {},
|
|
49
48
|
dynamicStaleTime: cacheForNavigation ? "verbatim" : "ignore",
|
|
50
49
|
fallbackTtl: "static",
|
|
51
50
|
prefetchShellFirst: requiresRouteTreePrefetch || hasSearchParams || !route.isDynamic,
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as React$1 from "react";
|
|
2
2
|
//#region src/shims/internal/app-router-context.d.ts
|
|
3
|
-
type NavigateOptions = {
|
|
3
|
+
export type NavigateOptions = {
|
|
4
4
|
scroll?: boolean;
|
|
5
5
|
};
|
|
6
|
-
type PrefetchOptions = {
|
|
6
|
+
export type PrefetchOptions = {
|
|
7
7
|
kind?: unknown;
|
|
8
8
|
onInvalidate?: () => void;
|
|
9
9
|
};
|
|
10
|
-
type AppRouterInstance = {
|
|
10
|
+
export type AppRouterInstance = {
|
|
11
11
|
bfcacheId: string;
|
|
12
12
|
back(): void;
|
|
13
13
|
forward(): void;
|
|
@@ -21,10 +21,9 @@ type AppRouterInstance = {
|
|
|
21
21
|
*/
|
|
22
22
|
experimental_gesturePush?(href: string, options?: NavigateOptions): void;
|
|
23
23
|
};
|
|
24
|
-
declare const AppRouterContext: React$1.Context<AppRouterInstance | null> | null;
|
|
25
|
-
declare const GlobalLayoutRouterContext: React$1.Context<unknown> | null;
|
|
26
|
-
declare const LayoutRouterContext: React$1.Context<unknown> | null;
|
|
27
|
-
declare const MissingSlotContext: React$1.Context<Set<string>> | null;
|
|
28
|
-
declare const TemplateContext: React$1.Context<unknown> | null;
|
|
29
|
-
//#endregion
|
|
30
|
-
export { AppRouterContext, AppRouterInstance, GlobalLayoutRouterContext, LayoutRouterContext, MissingSlotContext, NavigateOptions, PrefetchOptions, TemplateContext };
|
|
24
|
+
export declare const AppRouterContext: React$1.Context<AppRouterInstance | null> | null;
|
|
25
|
+
export declare const GlobalLayoutRouterContext: React$1.Context<unknown> | null;
|
|
26
|
+
export declare const LayoutRouterContext: React$1.Context<unknown> | null;
|
|
27
|
+
export declare const MissingSlotContext: React$1.Context<Set<string>> | null;
|
|
28
|
+
export declare const TemplateContext: React$1.Context<unknown> | null;
|
|
29
|
+
//#endregion
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { CacheLifeConfig } from "../cache-request-state.js";
|
|
2
|
+
//#region src/shims/internal/cache-context-accessor.d.ts
|
|
3
|
+
type CacheContextLike = {
|
|
4
|
+
tags: string[];
|
|
5
|
+
lifeConfigs: CacheLifeConfig[];
|
|
6
|
+
variant: string;
|
|
7
|
+
readRootParamNames?: Set<string>;
|
|
8
|
+
hasExplicitRevalidate: boolean;
|
|
9
|
+
hasExplicitExpire: boolean;
|
|
10
|
+
dynamicNestedCacheError: Error | undefined;
|
|
11
|
+
};
|
|
12
|
+
export declare function _registerCacheContextAccessor(fn: () => CacheContextLike | null): void;
|
|
13
|
+
export declare function getRegisteredCacheContext(): CacheContextLike | null;
|
|
14
|
+
/** Record a root-param dependency on the active public `"use cache"` scope. */
|
|
15
|
+
export declare function _recordUseCacheRootParamRead(name: string): void;
|
|
16
|
+
//#endregion
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//#region src/shims/internal/cache-context-accessor.ts
|
|
2
|
+
let getCacheContext = null;
|
|
3
|
+
function _registerCacheContextAccessor(fn) {
|
|
4
|
+
getCacheContext = fn;
|
|
5
|
+
}
|
|
6
|
+
function getRegisteredCacheContext() {
|
|
7
|
+
return getCacheContext?.() ?? null;
|
|
8
|
+
}
|
|
9
|
+
/** Record a root-param dependency on the active public `"use cache"` scope. */
|
|
10
|
+
function _recordUseCacheRootParamRead(name) {
|
|
11
|
+
const context = getRegisteredCacheContext();
|
|
12
|
+
if (context && context.variant !== "private") context.readRootParamNames?.add(name);
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { _recordUseCacheRootParamRead, _registerCacheContextAccessor, getRegisteredCacheContext };
|
|
@@ -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 };
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { RenderRequestApiKind } from "../../server/cache-proof.js";
|
|
2
|
+
import { HeadersContext } from "../headers.js";
|
|
3
|
+
//#region src/shims/internal/headers-state.d.ts
|
|
4
|
+
export type HeadersAccessPhase = "render" | "action" | "route-handler";
|
|
5
|
+
/**
|
|
6
|
+
* Whether the current render has used a dynamic API. Unlike
|
|
7
|
+
* `dynamicUsageDetected`, nothing clears it, and one object is shared by every
|
|
8
|
+
* child scope of the request, so usage inside isolated scopes (such as the
|
|
9
|
+
* layout probe) stays visible to later readers.
|
|
10
|
+
*/
|
|
11
|
+
export type RenderDynamicLatch = {
|
|
12
|
+
dynamic: boolean;
|
|
13
|
+
listeners: Set<() => void>;
|
|
14
|
+
};
|
|
15
|
+
export declare function createRenderDynamicLatch(): RenderDynamicLatch;
|
|
16
|
+
export type VinextHeadersShimState = {
|
|
17
|
+
headersContext: HeadersContext | null;
|
|
18
|
+
dynamicUsageDetected: boolean;
|
|
19
|
+
renderDynamicLatch: RenderDynamicLatch;
|
|
20
|
+
renderRequestApiUsage: Set<RenderRequestApiKind>;
|
|
21
|
+
connectionProbe: ConnectionProbeState | null;
|
|
22
|
+
/** Error recorded by throwIfInsideCacheScope for dev diagnostics, persists even if caught by user code. */
|
|
23
|
+
invalidDynamicUsageError: unknown;
|
|
24
|
+
pendingSetCookies: string[];
|
|
25
|
+
draftModeCookieHeader: string | null;
|
|
26
|
+
phase: HeadersAccessPhase;
|
|
27
|
+
};
|
|
28
|
+
export type ConnectionProbeState = {
|
|
29
|
+
active: boolean;
|
|
30
|
+
dynamicUsageTarget: VinextHeadersShimState;
|
|
31
|
+
interrupted: boolean;
|
|
32
|
+
interrupt: () => void;
|
|
33
|
+
pending: Promise<never>;
|
|
34
|
+
};
|
|
35
|
+
export type ConnectionProbeResult<T> = {
|
|
36
|
+
completed: true;
|
|
37
|
+
result: T;
|
|
38
|
+
} | {
|
|
39
|
+
completed: false;
|
|
40
|
+
};
|
|
41
|
+
export declare const headersShimAls: import("node:async_hooks").AsyncLocalStorage<VinextHeadersShimState>;
|
|
42
|
+
export declare function getHeadersShimState(): VinextHeadersShimState;
|
|
43
|
+
/**
|
|
44
|
+
* Dynamic usage flag — set when a component calls connection(), cookies(),
|
|
45
|
+
* headers(), or noStore() during rendering. When true, ISR caching is
|
|
46
|
+
* bypassed and the response gets Cache-Control: no-store.
|
|
47
|
+
*/
|
|
48
|
+
/**
|
|
49
|
+
* Mark the current render as requiring dynamic (uncached) rendering.
|
|
50
|
+
* Called by connection(), cookies(), headers(), and noStore().
|
|
51
|
+
*/
|
|
52
|
+
export declare function markDynamicUsage(): void;
|
|
53
|
+
/** Whether the current render has used a dynamic API at any point so far. */
|
|
54
|
+
export declare function isRenderDynamicLatched(): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Call `listener` once when the current render first uses a dynamic API.
|
|
57
|
+
* Returns an unsubscribe function. The listener never runs if the render is
|
|
58
|
+
* already latched; check `isRenderDynamicLatched()` first.
|
|
59
|
+
*/
|
|
60
|
+
export declare function onRenderDynamicLatched(listener: () => void): () => void;
|
|
61
|
+
export declare function markRenderRequestApiUsage(kind: RenderRequestApiKind): void;
|
|
62
|
+
export declare function throwIfStaticGenerationAccessError(): void;
|
|
63
|
+
/** Whether work is executing inside a cache boundary that owns its reuse. */
|
|
64
|
+
export declare function isInsideAnyCacheScope(): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Throw if the current execution is inside a "use cache" or unstable_cache()
|
|
67
|
+
* scope. Called by dynamic request APIs (headers, cookies, connection) to
|
|
68
|
+
* prevent request-specific data from being frozen into cached results.
|
|
69
|
+
*
|
|
70
|
+
* @param apiName - The name of the API being called (e.g. "connection()")
|
|
71
|
+
*/
|
|
72
|
+
export declare function throwIfInsideCacheScope(apiName: string): void;
|
|
73
|
+
export declare function getHeadersAccessPhase(): HeadersAccessPhase;
|
|
74
|
+
//#endregion
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { getOrCreateAls } from "./als-registry.js";
|
|
2
|
+
import { ensureRenderDynamicLatch, getRequestContext, isInsideUnifiedScope } from "../unified-request-context.js";
|
|
3
|
+
//#region src/shims/internal/headers-state.ts
|
|
4
|
+
function createRenderDynamicLatch() {
|
|
5
|
+
return {
|
|
6
|
+
dynamic: false,
|
|
7
|
+
listeners: /* @__PURE__ */ new Set()
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
const _FALLBACK_KEY = Symbol.for("vinext.nextHeadersShim.fallback");
|
|
11
|
+
const _g = globalThis;
|
|
12
|
+
const headersShimAls = getOrCreateAls("vinext.nextHeadersShim.als");
|
|
13
|
+
const _fallbackState = _g[_FALLBACK_KEY] ??= {
|
|
14
|
+
headersContext: null,
|
|
15
|
+
dynamicUsageDetected: false,
|
|
16
|
+
renderDynamicLatch: createRenderDynamicLatch(),
|
|
17
|
+
renderRequestApiUsage: /* @__PURE__ */ new Set(),
|
|
18
|
+
connectionProbe: null,
|
|
19
|
+
invalidDynamicUsageError: null,
|
|
20
|
+
pendingSetCookies: [],
|
|
21
|
+
draftModeCookieHeader: null,
|
|
22
|
+
phase: "render"
|
|
23
|
+
};
|
|
24
|
+
function getHeadersShimState() {
|
|
25
|
+
if (isInsideUnifiedScope()) return getRequestContext();
|
|
26
|
+
return headersShimAls.getStore() ?? _fallbackState;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Dynamic usage flag — set when a component calls connection(), cookies(),
|
|
30
|
+
* headers(), or noStore() during rendering. When true, ISR caching is
|
|
31
|
+
* bypassed and the response gets Cache-Control: no-store.
|
|
32
|
+
*/
|
|
33
|
+
/**
|
|
34
|
+
* Mark the current render as requiring dynamic (uncached) rendering.
|
|
35
|
+
* Called by connection(), cookies(), headers(), and noStore().
|
|
36
|
+
*/
|
|
37
|
+
function markDynamicUsage() {
|
|
38
|
+
const state = getHeadersShimState();
|
|
39
|
+
if (state.headersContext?.forceStatic) return;
|
|
40
|
+
state.dynamicUsageDetected = true;
|
|
41
|
+
const latches = [ensureRenderDynamicLatch(state)];
|
|
42
|
+
forEachConnectionProbeTarget(state, (target) => {
|
|
43
|
+
target.dynamicUsageDetected = true;
|
|
44
|
+
latches.push(ensureRenderDynamicLatch(target));
|
|
45
|
+
});
|
|
46
|
+
for (const latch of latches) latchRenderDynamic(latch);
|
|
47
|
+
}
|
|
48
|
+
function latchRenderDynamic(latch) {
|
|
49
|
+
if (latch.dynamic) return;
|
|
50
|
+
latch.dynamic = true;
|
|
51
|
+
const listeners = [...latch.listeners];
|
|
52
|
+
latch.listeners.clear();
|
|
53
|
+
for (const listener of listeners) try {
|
|
54
|
+
listener();
|
|
55
|
+
} catch (error) {
|
|
56
|
+
console.error(error);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/** Whether the current render has used a dynamic API at any point so far. */
|
|
60
|
+
function isRenderDynamicLatched() {
|
|
61
|
+
return ensureRenderDynamicLatch(getHeadersShimState()).dynamic;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Call `listener` once when the current render first uses a dynamic API.
|
|
65
|
+
* Returns an unsubscribe function. The listener never runs if the render is
|
|
66
|
+
* already latched; check `isRenderDynamicLatched()` first.
|
|
67
|
+
*/
|
|
68
|
+
function onRenderDynamicLatched(listener) {
|
|
69
|
+
const latch = ensureRenderDynamicLatch(getHeadersShimState());
|
|
70
|
+
if (latch.dynamic) return () => {};
|
|
71
|
+
latch.listeners.add(listener);
|
|
72
|
+
return () => {
|
|
73
|
+
latch.listeners.delete(listener);
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
function forEachConnectionProbeTarget(state, visit) {
|
|
77
|
+
let target = state.connectionProbe?.dynamicUsageTarget ?? null;
|
|
78
|
+
const seen = /* @__PURE__ */ new Set([state]);
|
|
79
|
+
while (target && !seen.has(target)) {
|
|
80
|
+
seen.add(target);
|
|
81
|
+
visit(target);
|
|
82
|
+
target = target.connectionProbe?.dynamicUsageTarget ?? null;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
function propagateInvalidDynamicUsageError(state, error) {
|
|
86
|
+
forEachConnectionProbeTarget(state, (target) => {
|
|
87
|
+
if (target.invalidDynamicUsageError == null) target.invalidDynamicUsageError = error;
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
function markRenderRequestApiUsage(kind) {
|
|
91
|
+
getHeadersShimState().renderRequestApiUsage.add(kind);
|
|
92
|
+
}
|
|
93
|
+
function throwIfStaticGenerationAccessError() {
|
|
94
|
+
const accessError = getHeadersShimState().headersContext?.accessError;
|
|
95
|
+
if (accessError) throw accessError;
|
|
96
|
+
}
|
|
97
|
+
/** Symbol used by cache-runtime.ts to store the "use cache" ALS on globalThis */
|
|
98
|
+
const _USE_CACHE_ALS_KEY = Symbol.for("vinext.cacheRuntime.contextAls");
|
|
99
|
+
/** Symbol used by cache.ts to store the unstable_cache ALS on globalThis */
|
|
100
|
+
const _UNSTABLE_CACHE_ALS_KEY = Symbol.for("vinext.unstableCache.als");
|
|
101
|
+
function _getGlobalCacheScopeStore(key) {
|
|
102
|
+
const value = Reflect.get(globalThis, key);
|
|
103
|
+
if (!value || typeof value !== "object") return null;
|
|
104
|
+
const getStore = Reflect.get(value, "getStore");
|
|
105
|
+
if (typeof getStore !== "function") return null;
|
|
106
|
+
return getStore.call(value);
|
|
107
|
+
}
|
|
108
|
+
function _getUseCacheGuardContext() {
|
|
109
|
+
const store = _getGlobalCacheScopeStore(_USE_CACHE_ALS_KEY);
|
|
110
|
+
if (!store || typeof store !== "object") return null;
|
|
111
|
+
return store;
|
|
112
|
+
}
|
|
113
|
+
function _isInsidePublicUseCache() {
|
|
114
|
+
const ctx = _getUseCacheGuardContext();
|
|
115
|
+
return ctx !== null && ctx.variant !== "private";
|
|
116
|
+
}
|
|
117
|
+
function _isInsideUnstableCache() {
|
|
118
|
+
return _getGlobalCacheScopeStore(_UNSTABLE_CACHE_ALS_KEY) === true;
|
|
119
|
+
}
|
|
120
|
+
/** Whether work is executing inside a cache boundary that owns its reuse. */
|
|
121
|
+
function isInsideAnyCacheScope() {
|
|
122
|
+
return _getUseCacheGuardContext() !== null || _isInsideUnstableCache();
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Throw if the current execution is inside a "use cache" or unstable_cache()
|
|
126
|
+
* scope. Called by dynamic request APIs (headers, cookies, connection) to
|
|
127
|
+
* prevent request-specific data from being frozen into cached results.
|
|
128
|
+
*
|
|
129
|
+
* @param apiName - The name of the API being called (e.g. "connection()")
|
|
130
|
+
*/
|
|
131
|
+
function throwIfInsideCacheScope(apiName) {
|
|
132
|
+
if (_isInsidePublicUseCache()) {
|
|
133
|
+
const error = /* @__PURE__ */ new Error(`\`${apiName}\` cannot be called inside "use cache". If you need this data inside a cached function, call \`${apiName}\` outside and pass the required data as an argument.`);
|
|
134
|
+
try {
|
|
135
|
+
const cacheCtx = _getUseCacheGuardContext();
|
|
136
|
+
if (cacheCtx) cacheCtx.invalidDynamicUsageError = error;
|
|
137
|
+
const ctx = getRequestContext();
|
|
138
|
+
if (ctx) ctx.invalidDynamicUsageError = error;
|
|
139
|
+
propagateInvalidDynamicUsageError(getHeadersShimState(), error);
|
|
140
|
+
} catch {}
|
|
141
|
+
throw error;
|
|
142
|
+
}
|
|
143
|
+
if (_isInsideUnstableCache()) {
|
|
144
|
+
const error = /* @__PURE__ */ new Error(`\`${apiName}\` cannot be called inside a function cached with \`unstable_cache()\`. If you need this data inside a cached function, call \`${apiName}\` outside and pass the required data as an argument.`);
|
|
145
|
+
try {
|
|
146
|
+
const ctx = getRequestContext();
|
|
147
|
+
if (ctx) ctx.invalidDynamicUsageError = error;
|
|
148
|
+
propagateInvalidDynamicUsageError(getHeadersShimState(), error);
|
|
149
|
+
} catch {}
|
|
150
|
+
throw error;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
function getHeadersAccessPhase() {
|
|
154
|
+
return getHeadersShimState().phase;
|
|
155
|
+
}
|
|
156
|
+
//#endregion
|
|
157
|
+
export { createRenderDynamicLatch, getHeadersAccessPhase, getHeadersShimState, headersShimAls, isInsideAnyCacheScope, isRenderDynamicLatched, markDynamicUsage, markRenderRequestApiUsage, onRenderDynamicLatched, throwIfInsideCacheScope, throwIfStaticGenerationAccessError };
|
|
@@ -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 resolveSameOriginAppPathname(href: string, basePath: string): string | null;
|
|
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, resolveSameOriginAppPathname };
|
|
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
|
|
@@ -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 };
|
|
@@ -32,12 +32,13 @@ function resolveClientRewrite(href, basePath, rewrites, continueAfterMatch = fal
|
|
|
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);
|