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
package/dist/plugins/sass.js
CHANGED
|
@@ -3,8 +3,8 @@ import { NODE_MODULES_PATH_RE } from "../utils/path.js";
|
|
|
3
3
|
import { markCssUrlAssetReferences, rebaseCssUrlAssetReferences } from "../build/css-url-assets.js";
|
|
4
4
|
import { createRequire } from "node:module";
|
|
5
5
|
import fs from "node:fs";
|
|
6
|
-
import { preprocessCSS } from "vite";
|
|
7
6
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
7
|
+
import { preprocessCSS } from "vite";
|
|
8
8
|
//#region src/plugins/sass.ts
|
|
9
9
|
/**
|
|
10
10
|
* Map a Next.js `sassOptions` object onto Vite's
|
|
@@ -133,7 +133,8 @@ function createSassTildeImporter(root) {
|
|
|
133
133
|
const pkgJsonPath = req.resolve(`${pkgName}/package.json`);
|
|
134
134
|
const pkgDir = path.dirname(pkgJsonPath);
|
|
135
135
|
const afterPkg = stripped.startsWith("@") ? stripped.split("/").slice(2).join("/") : stripped.split("/").slice(1).join("/");
|
|
136
|
-
|
|
136
|
+
const resolvedPath = afterPkg ? path.join(pkgDir, afterPkg) : pkgDir;
|
|
137
|
+
return pathToFileURL(resolvedPath);
|
|
137
138
|
} catch {
|
|
138
139
|
return null;
|
|
139
140
|
}
|
|
@@ -179,7 +180,8 @@ function createSassCssUrlAssetImporter() {
|
|
|
179
180
|
const importUrlPrefix = "vinext-css-url-asset:";
|
|
180
181
|
const prepareStylesheet = (filename, entryDirectory) => {
|
|
181
182
|
const contents = fs.readFileSync(filename, "utf8");
|
|
182
|
-
const
|
|
183
|
+
const rebased = rebaseCssUrlAssetReferences(contents, path.dirname(filename), entryDirectory) ?? contents;
|
|
184
|
+
const marked = markCssUrlAssetReferences(rebased, filename);
|
|
183
185
|
if (marked === null) return null;
|
|
184
186
|
const extension = path.extname(filename).toLowerCase();
|
|
185
187
|
return {
|
|
@@ -344,7 +346,8 @@ var SassAwareFileSystemLoader = class {
|
|
|
344
346
|
const rawSource = await fs.promises.readFile(fileRelativePath, "utf-8");
|
|
345
347
|
if (config) try {
|
|
346
348
|
const ext = path.extname(fileRelativePath);
|
|
347
|
-
const
|
|
349
|
+
const preprocessFilename = CSS_MODULE_RE.test(fileRelativePath) ? fileRelativePath : ext === "" ? `${fileRelativePath}.module.css` : `${fileRelativePath.slice(0, -ext.length)}.module${ext}`;
|
|
350
|
+
const result = await preprocessCSS(rawSource, preprocessFilename, config);
|
|
348
351
|
const exportTokens = result.modules ?? {};
|
|
349
352
|
this.sources[fileRelativePath] = result.code;
|
|
350
353
|
this.traces[trace] = fileRelativePath;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Plugin } from "vite";
|
|
2
|
+
//#region src/plugins/scan-build-css.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* @vitejs/plugin-rsc discovers client and server references with two
|
|
5
|
+
* write-less scan builds whose output is discarded, and its `rsc:scan-strip`
|
|
6
|
+
* plugin reduces every module to its import specifiers. A stylesheet cannot
|
|
7
|
+
* contribute a JavaScript import, yet without this plugin every stylesheet in
|
|
8
|
+
* the app still ran through PostCSS/Tailwind/Sass in both scans. Empty their
|
|
9
|
+
* source during those scans only; real builds and dev are unchanged.
|
|
10
|
+
*/
|
|
11
|
+
export declare function createScanBuildCssPlugin(): Plugin;
|
|
12
|
+
//#endregion
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
//#region src/plugins/scan-build-css.ts
|
|
2
|
+
const CSS_LANGS_RE = /\.(?:css|less|sass|scss|styl|stylus|pcss|postcss|sss)(?:$|\?)/;
|
|
3
|
+
const SPECIAL_QUERY_RE = /[?&](?:worker|sharedworker|raw|url)\b/;
|
|
4
|
+
const VIRTUAL_MODULE_RE = /^\0/;
|
|
5
|
+
/**
|
|
6
|
+
* @vitejs/plugin-rsc discovers client and server references with two
|
|
7
|
+
* write-less scan builds whose output is discarded, and its `rsc:scan-strip`
|
|
8
|
+
* plugin reduces every module to its import specifiers. A stylesheet cannot
|
|
9
|
+
* contribute a JavaScript import, yet without this plugin every stylesheet in
|
|
10
|
+
* the app still ran through PostCSS/Tailwind/Sass in both scans. Empty their
|
|
11
|
+
* source during those scans only; real builds and dev are unchanged.
|
|
12
|
+
*/
|
|
13
|
+
function createScanBuildCssPlugin() {
|
|
14
|
+
let rscApi;
|
|
15
|
+
return {
|
|
16
|
+
name: "vinext:scan-build-css",
|
|
17
|
+
enforce: "pre",
|
|
18
|
+
apply: "build",
|
|
19
|
+
configResolved(config) {
|
|
20
|
+
rscApi = config.plugins.find((plugin) => plugin.name === "rsc:minimal")?.api;
|
|
21
|
+
},
|
|
22
|
+
transform: {
|
|
23
|
+
order: "pre",
|
|
24
|
+
filter: { id: {
|
|
25
|
+
include: CSS_LANGS_RE,
|
|
26
|
+
exclude: [SPECIAL_QUERY_RE, VIRTUAL_MODULE_RE]
|
|
27
|
+
} },
|
|
28
|
+
handler() {
|
|
29
|
+
if (!rscApi?.manager.isScanBuild || this.environment.config.build.write !== false) return null;
|
|
30
|
+
return {
|
|
31
|
+
code: "",
|
|
32
|
+
map: null
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//#endregion
|
|
39
|
+
export { createScanBuildCssPlugin };
|
|
@@ -20,6 +20,5 @@ import { Plugin } from "vite";
|
|
|
20
20
|
* `emitStandaloneOutput` reads this file and uses it as the seed list for the
|
|
21
21
|
* BFS `node_modules/` copy, replacing the old regex-scan approach.
|
|
22
22
|
*/
|
|
23
|
-
declare function createServerExternalsManifestPlugin(): Plugin;
|
|
24
|
-
//#endregion
|
|
25
|
-
export { createServerExternalsManifestPlugin };
|
|
23
|
+
export declare function createServerExternalsManifestPlugin(): Plugin;
|
|
24
|
+
//#endregion
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import MagicString from "magic-string";
|
|
2
2
|
//#region src/plugins/strip-server-exports.d.ts
|
|
3
|
-
declare function hasServerExportCandidate(code: string): boolean;
|
|
4
|
-
|
|
5
|
-
declare
|
|
3
|
+
export declare function hasServerExportCandidate(code: string): boolean;
|
|
4
|
+
/** Transform prefilter; must admit every module `hasExportAllCandidate` accepts */
|
|
5
|
+
export declare const EXPORT_ALL_CANDIDATE_FILTER: RegExp;
|
|
6
|
+
export declare function hasExportAllCandidate(code: string): boolean;
|
|
7
|
+
export declare function validatePageExports(code: string): void;
|
|
6
8
|
type StripServerExportsResult = {
|
|
7
9
|
code: string;
|
|
8
10
|
map: ReturnType<MagicString["generateMap"]>;
|
|
@@ -15,6 +17,5 @@ type StripServerExportsResult = {
|
|
|
15
17
|
* - test/unit/babel-plugin-next-ssg-transform.test.ts
|
|
16
18
|
* - crates/next-custom-transforms/src/transforms/strip_page_exports.rs
|
|
17
19
|
*/
|
|
18
|
-
declare function stripServerExports(code: string): StripServerExportsResult | null;
|
|
19
|
-
//#endregion
|
|
20
|
-
export { hasExportAllCandidate, hasServerExportCandidate, stripServerExports, validatePageExports };
|
|
20
|
+
export declare function stripServerExports(code: string): StripServerExportsResult | null;
|
|
21
|
+
//#endregion
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { magicStringTransformResult } from "./transform-result.js";
|
|
2
1
|
import { getAstName } from "./ast-utils.js";
|
|
2
|
+
import { magicStringTransformResult } from "./transform-result.js";
|
|
3
3
|
import { parseAst } from "vite";
|
|
4
4
|
import MagicString from "magic-string";
|
|
5
5
|
//#region src/plugins/strip-server-exports.ts
|
|
@@ -18,6 +18,8 @@ function hasServerExportCandidate(code) {
|
|
|
18
18
|
for (const name of SERVER_EXPORTS) if (code.includes(name)) return true;
|
|
19
19
|
return false;
|
|
20
20
|
}
|
|
21
|
+
/** Transform prefilter; must admit every module `hasExportAllCandidate` accepts */
|
|
22
|
+
const EXPORT_ALL_CANDIDATE_FILTER = /\bexport\s*[*/]/;
|
|
21
23
|
function hasExportAllCandidate(code) {
|
|
22
24
|
let searchFrom = 0;
|
|
23
25
|
while (searchFrom < code.length) {
|
|
@@ -510,4 +512,4 @@ function stripServerExports(code) {
|
|
|
510
512
|
return magicStringTransformResult(string);
|
|
511
513
|
}
|
|
512
514
|
//#endregion
|
|
513
|
-
export { hasExportAllCandidate, hasServerExportCandidate, stripServerExports, validatePageExports };
|
|
515
|
+
export { EXPORT_ALL_CANDIDATE_FILTER, hasExportAllCandidate, hasServerExportCandidate, stripServerExports, validatePageExports };
|
|
@@ -10,6 +10,5 @@ type NextSwcModule = {
|
|
|
10
10
|
type StyledJsxPluginOptions = {
|
|
11
11
|
importModule?: (url: string) => Promise<NextSwcModule>;
|
|
12
12
|
};
|
|
13
|
-
declare function createStyledJsxPlugin(initialProjectRoot: string, options?: StyledJsxPluginOptions): Plugin;
|
|
14
|
-
//#endregion
|
|
15
|
-
export { createStyledJsxPlugin };
|
|
13
|
+
export declare function createStyledJsxPlugin(initialProjectRoot: string, options?: StyledJsxPluginOptions): Plugin;
|
|
14
|
+
//#endregion
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import path from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
|
|
2
|
-
import { NODE_MODULES_PATH_RE, stripViteModuleQuery } from "../utils/path.js";
|
|
3
2
|
import { SCRIPT_MODULE_ID_RE, walkAst } from "./ast-utils.js";
|
|
3
|
+
import { NODE_MODULES_PATH_RE, stripViteModuleQuery } from "../utils/path.js";
|
|
4
4
|
import { createRequire } from "node:module";
|
|
5
|
-
import { parseAst } from "vite";
|
|
6
5
|
import { pathToFileURL } from "node:url";
|
|
6
|
+
import { parseAst } from "vite";
|
|
7
7
|
//#region src/plugins/styled-jsx.ts
|
|
8
8
|
const STYLED_JSX_IMPORT_RE = /^styled-jsx(?:\/.*)?$/;
|
|
9
9
|
const STYLED_JSX_SOURCE_RE = /(?:<style\b|from\s+["']styled-jsx\/css["']|require\s*\(\s*["']styled-jsx\/css["']\s*\))/;
|
|
@@ -23,11 +23,10 @@ function hasStyledJsxTag(source, id) {
|
|
|
23
23
|
if (found) return false;
|
|
24
24
|
if (node.type === "JSXOpeningElement") {
|
|
25
25
|
const name = node.name;
|
|
26
|
-
if (name
|
|
27
|
-
if (node.attributes
|
|
26
|
+
if (name.type === "JSXIdentifier" && name.name === "style") {
|
|
27
|
+
if (node.attributes.some((attribute) => {
|
|
28
28
|
if (attribute.type !== "JSXAttribute") return false;
|
|
29
|
-
|
|
30
|
-
return attributeName?.type === "JSXIdentifier" && attributeName.name === "jsx";
|
|
29
|
+
return attribute.name.type === "JSXIdentifier" && attribute.name.name === "jsx";
|
|
31
30
|
})) {
|
|
32
31
|
found = true;
|
|
33
32
|
return false;
|
|
@@ -42,7 +41,8 @@ function createProjectRequire(projectRoot) {
|
|
|
42
41
|
}
|
|
43
42
|
function resolveNextRequire(projectRoot) {
|
|
44
43
|
try {
|
|
45
|
-
|
|
44
|
+
const projectRequire = createProjectRequire(projectRoot);
|
|
45
|
+
return createRequire(projectRequire.resolve("next/package.json"));
|
|
46
46
|
} catch {
|
|
47
47
|
return null;
|
|
48
48
|
}
|
|
@@ -14,6 +14,5 @@
|
|
|
14
14
|
* Only safe for transforms whose result depends solely on (id, source,
|
|
15
15
|
* variant) — no filesystem or plugin-state reads inside `compute`.
|
|
16
16
|
*/
|
|
17
|
-
declare function createTransformCache<V, R>(): (id: string, source: string, variant: V, compute: () => R) => R;
|
|
18
|
-
//#endregion
|
|
19
|
-
export { createTransformCache };
|
|
17
|
+
export declare function createTransformCache<V, R>(): (id: string, source: string, variant: V, compute: () => R) => R;
|
|
18
|
+
//#endregion
|
|
@@ -1,10 +1,27 @@
|
|
|
1
1
|
import MagicString from "magic-string";
|
|
2
2
|
//#region src/plugins/transform-result.d.ts
|
|
3
|
-
type MagicStringTransformResult = {
|
|
3
|
+
export type MagicStringTransformResult = {
|
|
4
4
|
code: string;
|
|
5
5
|
map: ReturnType<MagicString["generateMap"]>;
|
|
6
6
|
};
|
|
7
|
+
type SourcemapEnvironment = {
|
|
8
|
+
mode?: string;
|
|
9
|
+
config?: {
|
|
10
|
+
build?: {
|
|
11
|
+
sourcemap?: boolean | "inline" | "hidden";
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
};
|
|
7
15
|
/** Build the standard code + sourcemap result returned by source transforms. */
|
|
8
|
-
declare function magicStringTransformResult(output: MagicString, options?: Parameters<MagicString["generateMap"]>[0]): MagicStringTransformResult;
|
|
9
|
-
|
|
10
|
-
|
|
16
|
+
export declare function magicStringTransformResult(output: MagicString, options?: Parameters<MagicString["generateMap"]>[0]): MagicStringTransformResult;
|
|
17
|
+
/**
|
|
18
|
+
* Drop the sourcemap from a transform result when the build environment
|
|
19
|
+
* discards it, mirroring Vite's own transforms
|
|
20
|
+
* (`config.build.sourcemap ? s.generateMap(...) : null`). Dev and builds with
|
|
21
|
+
* sourcemaps enabled keep the result unchanged.
|
|
22
|
+
*/
|
|
23
|
+
export declare function omitUnusedBuildSourcemap(environment: SourcemapEnvironment | undefined, result: MagicStringTransformResult | null): {
|
|
24
|
+
code: string;
|
|
25
|
+
map: MagicStringTransformResult["map"] | null;
|
|
26
|
+
} | null;
|
|
27
|
+
//#endregion
|
|
@@ -1,10 +1,31 @@
|
|
|
1
1
|
//#region src/plugins/transform-result.ts
|
|
2
2
|
/** Build the standard code + sourcemap result returned by source transforms. */
|
|
3
3
|
function magicStringTransformResult(output, options = { hires: "boundary" }) {
|
|
4
|
+
let source = output;
|
|
5
|
+
let map;
|
|
4
6
|
return {
|
|
5
7
|
code: output.toString(),
|
|
6
|
-
map
|
|
8
|
+
get map() {
|
|
9
|
+
if (source) {
|
|
10
|
+
map = source.generateMap(options);
|
|
11
|
+
source = void 0;
|
|
12
|
+
}
|
|
13
|
+
return map;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Drop the sourcemap from a transform result when the build environment
|
|
19
|
+
* discards it, mirroring Vite's own transforms
|
|
20
|
+
* (`config.build.sourcemap ? s.generateMap(...) : null`). Dev and builds with
|
|
21
|
+
* sourcemaps enabled keep the result unchanged.
|
|
22
|
+
*/
|
|
23
|
+
function omitUnusedBuildSourcemap(environment, result) {
|
|
24
|
+
if (!result || environment?.mode !== "build" || environment.config?.build?.sourcemap !== false) return result;
|
|
25
|
+
return {
|
|
26
|
+
code: result.code,
|
|
27
|
+
map: null
|
|
7
28
|
};
|
|
8
29
|
}
|
|
9
30
|
//#endregion
|
|
10
|
-
export { magicStringTransformResult };
|
|
31
|
+
export { magicStringTransformResult, omitUnusedBuildSourcemap };
|
|
@@ -16,9 +16,8 @@ import { Plugin } from "vite";
|
|
|
16
16
|
*
|
|
17
17
|
* Reference: packages/next/src/build/handle-externals.ts in Next.js.
|
|
18
18
|
*/
|
|
19
|
-
declare function createTransitiveExternalsPlugin(options: {
|
|
19
|
+
export declare function createTransitiveExternalsPlugin(options: {
|
|
20
20
|
getRoot: () => string | undefined;
|
|
21
21
|
getExternalPackages: () => readonly string[];
|
|
22
22
|
}): Plugin;
|
|
23
|
-
//#endregion
|
|
24
|
-
export { createTransitiveExternalsPlugin };
|
|
23
|
+
//#endregion
|
|
@@ -1,19 +1,28 @@
|
|
|
1
1
|
import { MagicStringTransformResult } from "./transform-result.js";
|
|
2
2
|
//#region src/plugins/typeof-window.d.ts
|
|
3
3
|
type WindowType = "object" | "undefined";
|
|
4
|
-
declare const consumerEnvironmentConditionFilter: RegExp;
|
|
5
|
-
type ConsumerEnvironmentReplacements = {
|
|
4
|
+
export declare const consumerEnvironmentConditionFilter: RegExp;
|
|
5
|
+
export type ConsumerEnvironmentReplacements = {
|
|
6
6
|
typeofWindow?: WindowType;
|
|
7
7
|
processBrowser?: boolean;
|
|
8
8
|
pruneUnreachableImports?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Return null without walking the AST when folding cannot change the module's
|
|
11
|
+
* scanned imports. Only valid for import-scan builds.
|
|
12
|
+
*/
|
|
13
|
+
onlyIfScannedImportsChange?: boolean;
|
|
9
14
|
};
|
|
10
15
|
type EnvironmentLike = {
|
|
11
16
|
config: {
|
|
12
17
|
consumer: "client" | "server";
|
|
13
18
|
};
|
|
14
19
|
};
|
|
15
|
-
declare function getTypeofWindowReplacement(environment: EnvironmentLike): WindowType;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
export declare function getTypeofWindowReplacement(environment: EnvironmentLike): WindowType;
|
|
21
|
+
/**
|
|
22
|
+
* Cheap pre-parse gate for import-scan builds. Over-inclusive by design; the
|
|
23
|
+
* parser's module record in {@link moduleRecordHasScannedFoldTargets} is exact.
|
|
24
|
+
*/
|
|
25
|
+
export declare function mayFoldChangeScannedImports(code: string): boolean;
|
|
26
|
+
export declare function replaceTypeofWindow(code: string, replacement: WindowType, id?: string): MagicStringTransformResult | null;
|
|
27
|
+
export declare function replaceConsumerEnvironmentConditions(code: string, replacements: ConsumerEnvironmentReplacements, id?: string): MagicStringTransformResult | null;
|
|
28
|
+
//#endregion
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import path from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
|
|
2
|
-
import {
|
|
2
|
+
import { DYNAMIC_IMPORT_PRESCAN, booleanLiteralValue, collectBindingNames, forEachAstChild, isIdentifierNamed, stringLiteralValue } from "./ast-utils.js";
|
|
3
3
|
import { magicStringTransformResult } from "./transform-result.js";
|
|
4
|
-
import {
|
|
4
|
+
import { stripViteModuleQuery } from "../utils/path.js";
|
|
5
5
|
import { collectDirectScopeBindings, collectLoopScopeBindings, collectSwitchScopeBindings, collectVarScopeBindings, createAstScope, hasAstBinding, isFunctionNode } from "./ast-scope.js";
|
|
6
|
-
import {
|
|
6
|
+
import { parseSync } from "vite";
|
|
7
7
|
import MagicString from "magic-string";
|
|
8
8
|
//#region src/plugins/typeof-window.ts
|
|
9
9
|
const sourceEscapePattern = /\\(?:\r\n|[\n\r\u2028\u2029]|[^\n\r\u2028\u2029])/;
|
|
10
10
|
const consumerEnvironmentConditionFilter = new RegExp(String.raw`\btypeof\s+window\b|${/\\(?:u(?:[\da-fA-F]{4}|\{[\da-fA-F]+\})|x[\da-fA-F]{2})/.source}|\bprocess\b[\s)]*(?:(?:\?\.|\.)\s*(?:browser\b|\/[/*])|(?:\?\.\s*)?\[[\s(]*(?:["']browser["']|["'][^"'\\\n\r]*\\|\/[/*])|\/[/*])`);
|
|
11
|
+
const SCANNED_IMPORT_FOLD_PRESCAN = new RegExp(String.raw`${DYNAMIC_IMPORT_PRESCAN.source}|\bimport\s*\.`);
|
|
12
|
+
const NON_IMPORTING_IMPORT_META_RE = /\s*\.\s*(?:url|env)\b/y;
|
|
11
13
|
function createChildScope(node, parent) {
|
|
12
14
|
if (node.type !== "Program" && node.type !== "BlockStatement" && node.type !== "StaticBlock" && node.type !== "TSModuleBlock" && node.type !== "CatchClause" && node.type !== "ForStatement" && node.type !== "ForInStatement" && node.type !== "ForOfStatement" && node.type !== "ClassDeclaration" && node.type !== "ClassExpression") return null;
|
|
13
15
|
const scope = createAstScope(parent);
|
|
@@ -22,15 +24,14 @@ function getTypeofWindowReplacement(environment) {
|
|
|
22
24
|
return environment.config.consumer === "client" ? "object" : "undefined";
|
|
23
25
|
}
|
|
24
26
|
function evaluateTypeofWindowComparison(node, replacement, scope) {
|
|
25
|
-
if (
|
|
27
|
+
if (node.type !== "BinaryExpression") return null;
|
|
26
28
|
if (![
|
|
27
29
|
"==",
|
|
28
30
|
"===",
|
|
29
31
|
"!=",
|
|
30
32
|
"!=="
|
|
31
33
|
].includes(String(node.operator))) return null;
|
|
32
|
-
const left
|
|
33
|
-
const right = isAstRecord(node.right) ? node.right : null;
|
|
34
|
+
const { left, right } = node;
|
|
34
35
|
const leftIsTypeofWindow = left?.type === "UnaryExpression" && left.operator === "typeof" && isIdentifierNamed(left.argument, "window") && !hasAstBinding(scope, "window");
|
|
35
36
|
const rightIsTypeofWindow = right?.type === "UnaryExpression" && right.operator === "typeof" && isIdentifierNamed(right.argument, "window") && !hasAstBinding(scope, "window");
|
|
36
37
|
const comparedValue = leftIsTypeofWindow ? stringLiteralValue(right) : rightIsTypeofWindow ? stringLiteralValue(left) : null;
|
|
@@ -39,17 +40,17 @@ function evaluateTypeofWindowComparison(node, replacement, scope) {
|
|
|
39
40
|
return node.operator === "==" || node.operator === "===" ? equal : !equal;
|
|
40
41
|
}
|
|
41
42
|
function isProcessBrowserMember(node, scope) {
|
|
42
|
-
const candidate =
|
|
43
|
-
if (
|
|
43
|
+
const candidate = node.type === "ChainExpression" ? node.expression : node;
|
|
44
|
+
if (candidate.type !== "MemberExpression") return false;
|
|
44
45
|
return isIdentifierNamed(candidate.object, "process") && (candidate.computed ? stringLiteralValue(candidate.property) === "browser" : isIdentifierNamed(candidate.property, "browser")) && !hasAstBinding(scope, "process");
|
|
45
46
|
}
|
|
46
47
|
function evaluateProcessBrowserCondition(node, replacement, scope) {
|
|
47
48
|
if (isProcessBrowserMember(node, scope)) return replacement;
|
|
48
|
-
if (
|
|
49
|
+
if (node.type === "UnaryExpression" && node.operator === "!") {
|
|
49
50
|
const value = evaluateProcessBrowserCondition(node.argument, replacement, scope);
|
|
50
51
|
return value === null ? null : !value;
|
|
51
52
|
}
|
|
52
|
-
if (
|
|
53
|
+
if (node.type !== "BinaryExpression") return null;
|
|
53
54
|
if (![
|
|
54
55
|
"==",
|
|
55
56
|
"===",
|
|
@@ -64,7 +65,7 @@ function evaluateProcessBrowserCondition(node, replacement, scope) {
|
|
|
64
65
|
return node.operator === "==" || node.operator === "===" ? equal : !equal;
|
|
65
66
|
}
|
|
66
67
|
function evaluateConsumerCondition(node, replacements, scope) {
|
|
67
|
-
if (
|
|
68
|
+
if (node.type === "LogicalExpression") {
|
|
68
69
|
const left = evaluateConsumerCondition(node.left, replacements, scope);
|
|
69
70
|
if (node.operator === "&&") {
|
|
70
71
|
if (left?.value === false) return left;
|
|
@@ -76,7 +77,7 @@ function evaluateConsumerCondition(node, replacements, scope) {
|
|
|
76
77
|
} : null;
|
|
77
78
|
}
|
|
78
79
|
const right = evaluateConsumerCondition(node.right, replacements, scope);
|
|
79
|
-
if (replacements.pruneUnreachableImports && right?.value === false && right.effects.length === 0
|
|
80
|
+
if (replacements.pruneUnreachableImports && right?.value === false && right.effects.length === 0) return {
|
|
80
81
|
value: false,
|
|
81
82
|
effects: [node.left]
|
|
82
83
|
};
|
|
@@ -90,7 +91,7 @@ function evaluateConsumerCondition(node, replacements, scope) {
|
|
|
90
91
|
} : null;
|
|
91
92
|
}
|
|
92
93
|
const right = evaluateConsumerCondition(node.right, replacements, scope);
|
|
93
|
-
if (replacements.pruneUnreachableImports && right?.value === true && right.effects.length === 0
|
|
94
|
+
if (replacements.pruneUnreachableImports && right?.value === true && right.effects.length === 0) return {
|
|
94
95
|
value: true,
|
|
95
96
|
effects: [node.left]
|
|
96
97
|
};
|
|
@@ -111,6 +112,27 @@ function evaluateConsumerCondition(node, replacements, scope) {
|
|
|
111
112
|
effects: []
|
|
112
113
|
};
|
|
113
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* Cheap pre-parse gate for import-scan builds. Over-inclusive by design; the
|
|
117
|
+
* parser's module record in {@link moduleRecordHasScannedFoldTargets} is exact.
|
|
118
|
+
*/
|
|
119
|
+
function mayFoldChangeScannedImports(code) {
|
|
120
|
+
return SCANNED_IMPORT_FOLD_PRESCAN.test(code);
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Whether folding may change a scanned import: any dynamic or phase import, or
|
|
124
|
+
* an `import.meta` expression other than a `.url`/`.env` read. Reads the parser's native module record, so no
|
|
125
|
+
* ESTree is materialized.
|
|
126
|
+
*/
|
|
127
|
+
function moduleRecordHasScannedFoldTargets(code, module, lang) {
|
|
128
|
+
if ((lang === "ts" || lang === "tsx") && DYNAMIC_IMPORT_PRESCAN.test(code)) return true;
|
|
129
|
+
if (module.dynamicImports.length > 0) return true;
|
|
130
|
+
for (const importMeta of module.importMetas) {
|
|
131
|
+
NON_IMPORTING_IMPORT_META_RE.lastIndex = importMeta.end;
|
|
132
|
+
if (!NON_IMPORTING_IMPORT_META_RE.test(code)) return true;
|
|
133
|
+
}
|
|
134
|
+
return false;
|
|
135
|
+
}
|
|
114
136
|
function replaceTypeofWindow(code, replacement, id = "file.js") {
|
|
115
137
|
return replaceConsumerEnvironmentConditions(code, { typeofWindow: replacement }, id);
|
|
116
138
|
}
|
|
@@ -120,15 +142,15 @@ function replaceConsumerEnvironmentConditions(code, replacements, id = "file.js"
|
|
|
120
142
|
if (!mayContainTypeofWindow && !mayContainProcessBrowser) return null;
|
|
121
143
|
const extension = path.extname(stripViteModuleQuery(id));
|
|
122
144
|
const lang = extension === ".ts" || extension === ".mts" || extension === ".cts" ? "ts" : extension === ".tsx" ? "tsx" : extension === ".jsx" ? "jsx" : "js";
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
|
|
145
|
+
const parsed = parseSync(id, code, {
|
|
146
|
+
lang,
|
|
147
|
+
preserveParens: false
|
|
148
|
+
});
|
|
149
|
+
if (parsed.errors.length > 0) return null;
|
|
150
|
+
if (replacements.onlyIfScannedImportsChange && !moduleRecordHasScannedFoldTargets(code, parsed.module, lang)) return null;
|
|
151
|
+
const ast = parsed.program;
|
|
129
152
|
const output = new MagicString(code);
|
|
130
153
|
let changed = false;
|
|
131
|
-
if (!isAstRecord(ast)) return null;
|
|
132
154
|
function overwriteGap(start, end, content) {
|
|
133
155
|
if (start === end) output.appendLeft(start, content);
|
|
134
156
|
else output.overwrite(start, end, content);
|
|
@@ -140,11 +162,12 @@ function replaceConsumerEnvironmentConditions(code, replacements, id = "file.js"
|
|
|
140
162
|
if (isFunctionNode(node)) {
|
|
141
163
|
const parameterScope = createAstScope(parentScope);
|
|
142
164
|
collectBindingNames(node.id, parameterScope.bindings);
|
|
143
|
-
for (const parameter of
|
|
165
|
+
for (const parameter of node.params) {
|
|
144
166
|
collectBindingNames(parameter, parameterScope.bindings);
|
|
145
|
-
|
|
167
|
+
visit(parameter, parameterScope);
|
|
146
168
|
}
|
|
147
|
-
if (
|
|
169
|
+
if (!node.body) return;
|
|
170
|
+
if (node.body.type === "BlockStatement") {
|
|
148
171
|
const bodyScope = createAstScope(parameterScope);
|
|
149
172
|
collectDirectScopeBindings(node.body, bodyScope);
|
|
150
173
|
collectVarScopeBindings(node.body, bodyScope);
|
|
@@ -153,29 +176,29 @@ function replaceConsumerEnvironmentConditions(code, replacements, id = "file.js"
|
|
|
153
176
|
return;
|
|
154
177
|
}
|
|
155
178
|
if (node.type === "SwitchStatement") {
|
|
156
|
-
|
|
179
|
+
visit(node.discriminant, parentScope);
|
|
157
180
|
const switchScope = createAstScope(parentScope);
|
|
158
181
|
collectSwitchScopeBindings(node, switchScope);
|
|
159
|
-
for (const switchCase of
|
|
182
|
+
for (const switchCase of node.cases) visit(switchCase, switchScope);
|
|
160
183
|
return;
|
|
161
184
|
}
|
|
162
185
|
const scope = createChildScope(node, parentScope) ?? parentScope;
|
|
163
|
-
if (node.type === "IfStatement"
|
|
186
|
+
if (node.type === "IfStatement") {
|
|
164
187
|
const result = evaluateConsumerCondition(node.test, replacements, scope);
|
|
165
188
|
if (result !== null) {
|
|
166
189
|
const selected = result.value ? node.consequent : node.alternate;
|
|
167
190
|
if (result.effects.length > 0) {
|
|
168
|
-
const effects = result.effects
|
|
191
|
+
const effects = result.effects;
|
|
169
192
|
for (const effect of effects) visit(effect, scope);
|
|
170
|
-
if (
|
|
193
|
+
if (selected) visit(selected, scope);
|
|
171
194
|
overwriteGap(node.start, effects[0].start, "{ (");
|
|
172
195
|
for (let index = 1; index < effects.length; index++) overwriteGap(effects[index - 1].end, effects[index].start, "); (");
|
|
173
196
|
const lastEffect = effects.at(-1);
|
|
174
|
-
if (
|
|
197
|
+
if (selected) {
|
|
175
198
|
overwriteGap(lastEffect.end, selected.start, "); ");
|
|
176
199
|
overwriteGap(selected.end, node.end, " }");
|
|
177
200
|
} else overwriteGap(lastEffect.end, node.end, "); }");
|
|
178
|
-
} else if (
|
|
201
|
+
} else if (selected) {
|
|
179
202
|
output.remove(node.start, selected.start);
|
|
180
203
|
output.remove(selected.end, node.end);
|
|
181
204
|
visit(selected, scope);
|
|
@@ -184,12 +207,12 @@ function replaceConsumerEnvironmentConditions(code, replacements, id = "file.js"
|
|
|
184
207
|
return;
|
|
185
208
|
}
|
|
186
209
|
}
|
|
187
|
-
if (node.type === "ConditionalExpression"
|
|
210
|
+
if (node.type === "ConditionalExpression") {
|
|
188
211
|
const result = evaluateConsumerCondition(node.test, replacements, scope);
|
|
189
212
|
const selected = result?.value ? node.consequent : node.alternate;
|
|
190
|
-
if (result !== null
|
|
213
|
+
if (result !== null) {
|
|
191
214
|
if (result.effects.length > 0) {
|
|
192
|
-
const effects = result.effects
|
|
215
|
+
const effects = result.effects;
|
|
193
216
|
for (const effect of effects) visit(effect, scope);
|
|
194
217
|
visit(selected, scope);
|
|
195
218
|
overwriteGap(node.start, effects[0].start, "((");
|
|
@@ -206,10 +229,10 @@ function replaceConsumerEnvironmentConditions(code, replacements, id = "file.js"
|
|
|
206
229
|
return;
|
|
207
230
|
}
|
|
208
231
|
}
|
|
209
|
-
if (node.type === "LogicalExpression"
|
|
232
|
+
if (node.type === "LogicalExpression") {
|
|
210
233
|
const result = evaluateConsumerCondition(node, replacements, scope);
|
|
211
234
|
if (result !== null) {
|
|
212
|
-
const effects = result.effects
|
|
235
|
+
const effects = result.effects;
|
|
213
236
|
if (effects.length > 0) {
|
|
214
237
|
for (const effect of effects) visit(effect, scope);
|
|
215
238
|
overwriteGap(node.start, effects[0].start, "((");
|
|
@@ -220,21 +243,21 @@ function replaceConsumerEnvironmentConditions(code, replacements, id = "file.js"
|
|
|
220
243
|
return;
|
|
221
244
|
}
|
|
222
245
|
}
|
|
223
|
-
if (node.type === "UnaryExpression" && node.operator === "typeof" && isIdentifierNamed(node.argument, "window") && replacements.typeofWindow !== void 0 && !hasAstBinding(scope, "window")
|
|
246
|
+
if (node.type === "UnaryExpression" && node.operator === "typeof" && isIdentifierNamed(node.argument, "window") && replacements.typeofWindow !== void 0 && !hasAstBinding(scope, "window")) {
|
|
224
247
|
output.overwrite(node.start, node.end, JSON.stringify(replacements.typeofWindow));
|
|
225
248
|
changed = true;
|
|
226
249
|
return;
|
|
227
250
|
}
|
|
228
|
-
if (replacements.processBrowser !== void 0 && isProcessBrowserMember(node, scope)
|
|
251
|
+
if (replacements.processBrowser !== void 0 && isProcessBrowserMember(node, scope)) {
|
|
229
252
|
output.overwrite(node.start, node.end, String(replacements.processBrowser));
|
|
230
253
|
changed = true;
|
|
231
254
|
return;
|
|
232
255
|
}
|
|
233
256
|
forEachAstChild(node, (child) => visit(child, scope));
|
|
234
257
|
}
|
|
235
|
-
for (const node of ast.body)
|
|
258
|
+
for (const node of ast.body) visit(node, rootScope);
|
|
236
259
|
if (!changed) return null;
|
|
237
260
|
return magicStringTransformResult(output);
|
|
238
261
|
}
|
|
239
262
|
//#endregion
|
|
240
|
-
export { consumerEnvironmentConditionFilter, getTypeofWindowReplacement, replaceConsumerEnvironmentConditions, replaceTypeofWindow };
|
|
263
|
+
export { consumerEnvironmentConditionFilter, getTypeofWindowReplacement, mayFoldChangeScannedImports, replaceConsumerEnvironmentConditions, replaceTypeofWindow };
|
|
@@ -3,10 +3,7 @@ import { Plugin } from "vite";
|
|
|
3
3
|
type Options = {
|
|
4
4
|
projectRoot: string;
|
|
5
5
|
cacheRuntime: string;
|
|
6
|
-
getAppDir: () => string | undefined;
|
|
7
|
-
matchesPageExtension: (fileName: string) => boolean;
|
|
8
6
|
allowMissingRsc?: boolean;
|
|
9
7
|
};
|
|
10
|
-
declare function createUseCacheCallablePlugin(options: Options): Promise<Plugin>;
|
|
11
|
-
//#endregion
|
|
12
|
-
export { createUseCacheCallablePlugin };
|
|
8
|
+
export declare function createUseCacheCallablePlugin(options: Options): Promise<Plugin>;
|
|
9
|
+
//#endregion
|