vinext 1.0.0-beta.8 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +158 -84
- package/THIRD_PARTY_LICENSES.md +25 -0
- package/dist/_virtual/_rolldown/runtime.js +25 -0
- package/dist/build/action-owner-manifest.d.ts +8 -9
- package/dist/build/action-owner-manifest.js +23 -5
- package/dist/build/assets-ignore.d.ts +3 -4
- package/dist/build/clean-output.d.ts +2 -3
- package/dist/build/client-build-config.d.ts +40 -12
- package/dist/build/client-build-config.js +76 -6
- package/dist/build/css-url-assets.d.ts +4 -5
- package/dist/build/css-url-assets.js +5 -2
- package/dist/build/google-fonts/build-url.d.ts +3 -4
- package/dist/build/google-fonts/fallback-metrics.d.ts +3 -4
- package/dist/build/google-fonts/find-font-files-in-css.d.ts +2 -3
- package/dist/build/google-fonts/font-metadata.d.ts +2 -3
- package/dist/build/google-fonts/get-axes.d.ts +2 -3
- package/dist/build/google-fonts/sort-variants.d.ts +2 -3
- package/dist/build/google-fonts/validate.d.ts +2 -3
- package/dist/build/google-fonts/validate.js +8 -4
- package/dist/build/inject-pregenerated-paths.d.ts +2 -3
- package/dist/build/inject-pregenerated-paths.js +16 -14
- package/dist/build/inline-css.d.ts +3 -4
- package/dist/build/layout-classification-types.d.ts +4 -5
- package/dist/build/layout-classification.d.ts +7 -8
- package/dist/build/lifecycle.d.ts +42 -0
- package/dist/build/lifecycle.js +253 -0
- package/dist/build/module-dependency-cache.d.ts +2 -3
- package/dist/build/next-client-runtime-manifests.d.ts +4 -5
- package/dist/build/nitro-route-rules.d.ts +6 -7
- package/dist/build/nitro-route-rules.js +1 -1
- package/dist/build/pages-client-assets-module.d.ts +4 -8
- package/dist/build/pages-client-assets-module.js +1 -13
- package/dist/build/precompress.d.ts +2 -3
- package/dist/build/prerender-cloudflare-loader.d.ts +4 -0
- package/dist/build/prerender-cloudflare-loader.js +49 -0
- package/dist/build/prerender-paths.d.ts +82 -8
- package/dist/build/prerender-paths.js +814 -99
- package/dist/build/prerender-phase.d.ts +2 -3
- package/dist/build/prerender-server-entry.js +11 -3
- package/dist/build/prerender-server-pool.d.ts +9 -6
- package/dist/build/prerender-server-pool.js +8 -5
- package/dist/build/prerender.d.ts +67 -15
- package/dist/build/prerender.js +177 -64
- package/dist/build/preview-credentials.d.ts +5 -6
- package/dist/build/preview-credentials.js +2 -2
- package/dist/build/public-dir-conflict.d.ts +5 -6
- package/dist/build/public-dir-conflict.js +2 -1
- package/dist/build/report.d.ts +38 -19
- package/dist/build/report.js +73 -4
- package/dist/build/route-classification-injector.d.ts +2 -3
- package/dist/build/route-classification-manifest.d.ts +5 -6
- package/dist/build/run-prerender.d.ts +11 -9
- package/dist/build/run-prerender.js +25 -16
- package/dist/build/server-entry.d.ts +4 -0
- package/dist/build/server-entry.js +28 -0
- package/dist/build/server-manifest.d.ts +8 -3
- package/dist/build/server-manifest.js +14 -2
- package/dist/build/ssr-manifest.d.ts +5 -6
- package/dist/build/standalone.d.ts +2 -3
- package/dist/build/standalone.js +2 -2
- package/dist/build/static-export.d.ts +7 -8
- package/dist/cache/cache-adapters-virtual.d.ts +95 -9
- package/dist/cache/cache-adapters-virtual.js +58 -6
- package/dist/check.d.ts +11 -10
- package/dist/check.js +467 -176
- package/dist/cli-args.d.ts +7 -16
- package/dist/cli-args.js +2 -45
- package/dist/cli-dev-config.d.ts +10 -7
- package/dist/cli-dev-config.js +160 -3
- package/dist/cli.js +124 -435
- package/dist/client/app-nav-failure-handler.d.ts +6 -7
- package/dist/client/client-rewrite-matcher.d.ts +2 -3
- package/dist/client/client-rewrites.d.ts +4 -5
- package/dist/client/dev-error-overlay-store.d.ts +13 -14
- package/dist/client/dev-error-overlay.d.ts +15 -15
- package/dist/client/dev-error-overlay.js +8 -5
- package/dist/client/instrumentation-client-inject.d.ts +3 -4
- package/dist/client/instrumentation-client-state.d.ts +5 -6
- package/dist/client/instrumentation-client.d.ts +3 -4
- package/dist/client/navigation-runtime.d.ts +21 -17
- package/dist/client/navigation-runtime.js +2 -1
- package/dist/client/pages-router-link-navigation.d.ts +4 -5
- package/dist/client/react-instance.d.ts +2 -3
- package/dist/client/validate-module-path.d.ts +2 -3
- package/dist/client/vinext-next-data.d.ts +7 -8
- package/dist/client/window-next.d.ts +4 -5
- package/dist/config/config-matchers.d.ts +16 -16
- package/dist/config/config-matchers.js +10 -7
- package/dist/config/dotenv.d.ts +3 -4
- package/dist/config/dotenv.js +2 -1
- package/dist/config/next-config.d.ts +31 -27
- package/dist/config/next-config.js +163 -16
- package/dist/config/prerender.d.ts +20 -16
- package/dist/config/prerender.js +10 -4
- package/dist/config/request-context.d.ts +5 -6
- package/dist/config/server-external-packages.d.ts +14 -3
- package/dist/config/server-external-packages.js +37 -3
- package/dist/config/tsconfig-paths.d.ts +3 -4
- package/dist/deps/.pnpm/ignore@5.3.2/deps/ignore/index.js +189 -0
- package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +1057 -0
- package/dist/entries/app-browser-entry.d.ts +5 -6
- package/dist/entries/app-browser-entry.js +3 -2
- package/dist/entries/app-rsc-entry.d.ts +12 -3
- package/dist/entries/app-rsc-entry.js +530 -55
- package/dist/entries/app-rsc-manifest.d.ts +4 -3
- package/dist/entries/app-rsc-manifest.js +27 -8
- package/dist/entries/app-ssr-entry.d.ts +2 -3
- package/dist/entries/app-ssr-entry.js +8 -1
- package/dist/entries/pages-client-entry.d.ts +3 -3
- package/dist/entries/pages-client-entry.js +17 -2
- package/dist/entries/pages-server-entry.d.ts +13 -3
- package/dist/entries/pages-server-entry.js +237 -33
- package/dist/entries/runtime-entry-module.d.ts +4 -5
- package/dist/image/image-adapters-virtual.d.ts +4 -5
- package/dist/index.d.ts +10 -11
- package/dist/index.js +832 -199
- package/dist/init-cloudflare.d.ts +27 -16
- package/dist/init-cloudflare.js +754 -113
- package/dist/init-platform.d.ts +26 -22
- package/dist/init-platform.js +85 -29
- package/dist/init.d.ts +19 -13
- package/dist/init.js +123 -41
- package/dist/plugins/action-owner-manifest.d.ts +3 -4
- package/dist/plugins/action-owner-manifest.js +10 -3
- package/dist/plugins/ast-scope.d.ts +10 -11
- package/dist/plugins/ast-scope.js +10 -22
- package/dist/plugins/ast-utils.d.ts +16 -29
- package/dist/plugins/ast-utils.js +27 -71
- package/dist/plugins/async-hooks-stub.d.ts +2 -3
- package/dist/plugins/client-reference-dedup.d.ts +4 -5
- package/dist/plugins/css-data-url.d.ts +2 -3
- package/dist/plugins/css-module-imports.d.ts +3 -4
- package/dist/plugins/css-module-imports.js +1 -1
- package/dist/plugins/dynamic-preload-metadata.d.ts +3 -4
- package/dist/plugins/dynamic-preload-metadata.js +55 -154
- package/dist/plugins/environment.d.ts +2 -3
- package/dist/plugins/extensionless-dynamic-import.d.ts +2 -3
- package/dist/plugins/extensionless-dynamic-import.js +6 -10
- package/dist/plugins/fonts.d.ts +10 -11
- package/dist/plugins/fonts.js +4 -3
- package/dist/plugins/ignore-dynamic-requests.d.ts +3 -4
- package/dist/plugins/ignore-dynamic-requests.js +60 -89
- package/dist/plugins/import-meta-url.d.ts +6 -7
- package/dist/plugins/import-meta-url.js +31 -43
- package/dist/plugins/instrumentation-client.d.ts +3 -3
- package/dist/plugins/instrumentation-client.js +46 -10
- package/dist/plugins/middleware-export-validation.d.ts +3 -4
- package/dist/plugins/middleware-export-validation.js +3 -3
- package/dist/plugins/middleware-server-only.d.ts +2 -3
- package/dist/plugins/og-asset-ownership.d.ts +3 -4
- package/dist/plugins/og-assets.d.ts +4 -5
- package/dist/plugins/og-assets.js +32 -13
- package/dist/plugins/og-harfbuzz.d.ts +24 -0
- package/dist/plugins/og-harfbuzz.js +260 -0
- package/dist/plugins/optimize-imports.d.ts +7 -7
- package/dist/plugins/optimize-imports.js +32 -44
- package/dist/plugins/pages-node-externals.d.ts +2 -3
- package/dist/plugins/pages-node-externals.js +6 -11
- package/dist/plugins/postcss.d.ts +8 -4
- package/dist/plugins/postcss.js +1 -1
- package/dist/plugins/remove-console.d.ts +2 -3
- package/dist/plugins/remove-console.js +0 -1
- package/dist/plugins/require-condition-resolution.d.ts +3 -4
- package/dist/plugins/require-condition-resolution.js +17 -18
- package/dist/plugins/require-context.d.ts +2 -3
- package/dist/plugins/require-context.js +13 -21
- package/dist/plugins/rsc-client-reference-loaders.d.ts +2 -3
- package/dist/plugins/rsc-client-shim-excludes.d.ts +4 -5
- package/dist/plugins/rsc-client-shim-excludes.js +1 -0
- package/dist/plugins/rsc-reference-validation-normalizer.d.ts +2 -3
- package/dist/plugins/sass.d.ts +7 -8
- package/dist/plugins/sass.js +7 -4
- package/dist/plugins/server-externals-manifest.d.ts +2 -3
- package/dist/plugins/strip-server-exports.d.ts +5 -6
- package/dist/plugins/strip-server-exports.js +1 -1
- package/dist/plugins/styled-jsx.d.ts +2 -3
- package/dist/plugins/styled-jsx.js +7 -7
- package/dist/plugins/transform-cache.d.ts +2 -3
- package/dist/plugins/transform-result.d.ts +3 -4
- package/dist/plugins/transitive-externals.d.ts +2 -3
- package/dist/plugins/typeof-window.d.ts +6 -7
- package/dist/plugins/typeof-window.js +30 -31
- package/dist/plugins/use-cache-callable.d.ts +2 -5
- package/dist/plugins/use-cache-callable.js +43 -22
- package/dist/plugins/wasm-module-import.d.ts +2 -3
- package/dist/plugins/worker-image-imports.d.ts +2 -3
- package/dist/plugins/worker-image-imports.js +6 -8
- package/dist/routing/app-route-graph.d.ts +19 -19
- package/dist/routing/app-route-graph.js +3 -2
- package/dist/routing/app-router.d.ts +20 -5
- package/dist/routing/app-router.js +28 -2
- package/dist/routing/file-matcher.d.ts +9 -10
- package/dist/routing/pages-router.d.ts +6 -6
- package/dist/routing/pages-router.js +1 -1
- package/dist/routing/route-matching.d.ts +4 -5
- package/dist/routing/route-matching.js +4 -2
- package/dist/routing/route-pattern.d.ts +13 -14
- package/dist/routing/route-trie.d.ts +5 -6
- package/dist/routing/route-validation.d.ts +3 -4
- package/dist/routing/route-validation.js +12 -11
- package/dist/routing/utils.d.ts +13 -14
- package/dist/server/accept-encoding.d.ts +9 -10
- package/dist/server/api-handler.d.ts +2 -3
- package/dist/server/api-handler.js +9 -6
- package/dist/server/app-action-forwarding.d.ts +3 -4
- package/dist/server/app-action-forwarding.js +1 -1
- package/dist/server/app-action-request.d.ts +2 -3
- package/dist/server/app-bfcache-id.d.ts +3 -4
- package/dist/server/app-bfcache-identity.d.ts +8 -9
- package/dist/server/app-browser-action-result.d.ts +15 -16
- package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -3
- package/dist/server/app-browser-entry.js +121 -40
- package/dist/server/app-browser-error.d.ts +5 -6
- package/dist/server/app-browser-error.js +9 -3
- package/dist/server/app-browser-history-controller.d.ts +4 -5
- package/dist/server/app-browser-hydration.d.ts +16 -6
- package/dist/server/app-browser-hydration.js +14 -1
- package/dist/server/app-browser-interception-context.d.ts +3 -4
- package/dist/server/app-browser-mpa-navigation.d.ts +4 -5
- package/dist/server/app-browser-navigation-abort.d.ts +3 -4
- package/dist/server/app-browser-navigation-controller.d.ts +8 -8
- package/dist/server/app-browser-navigation-controller.js +9 -5
- package/dist/server/app-browser-navigation-response.d.ts +2 -3
- package/dist/server/app-browser-popstate.d.ts +4 -5
- package/dist/server/app-browser-prefetch-response.d.ts +5 -6
- package/dist/server/app-browser-rsc-redirect.d.ts +4 -5
- package/dist/server/app-browser-server-action-client.d.ts +7 -6
- package/dist/server/app-browser-server-action-client.js +9 -5
- package/dist/server/app-browser-server-action-navigation.d.ts +2 -3
- package/dist/server/app-browser-state.d.ts +17 -17
- package/dist/server/app-browser-state.js +7 -3
- package/dist/server/app-browser-stream.d.ts +4 -5
- package/dist/server/app-browser-stream.js +8 -6
- package/dist/server/app-browser-supplemental-refresh.d.ts +11 -12
- package/dist/server/app-browser-visible-commit.d.ts +6 -7
- package/dist/server/app-browser-visible-commit.js +1 -1
- package/dist/server/app-client-reference-preloader.d.ts +2 -3
- package/dist/server/app-elements-wire-key.d.ts +25 -0
- package/dist/server/app-elements-wire-key.js +69 -0
- package/dist/server/app-elements-wire.d.ts +34 -53
- package/dist/server/app-elements-wire.js +4 -75
- package/dist/server/app-elements.d.ts +5 -5
- package/dist/server/app-elements.js +1 -1
- package/dist/server/app-fallback-renderer.d.ts +4 -4
- package/dist/server/app-fallback-renderer.js +6 -6
- package/dist/server/app-fetch-tracing.d.ts +15 -0
- package/dist/server/app-fetch-tracing.js +38 -0
- package/dist/server/app-history-state.d.ts +26 -27
- package/dist/server/app-history-state.js +19 -11
- package/dist/server/app-hook-warning-suppression.d.ts +2 -3
- package/dist/server/app-hydration-cache-publication.d.ts +3 -4
- package/dist/server/app-inline-css-client.d.ts +3 -4
- package/dist/server/app-interception-context-header.d.ts +2 -3
- package/dist/server/app-layout-param-observation.d.ts +7 -8
- package/dist/server/app-metadata-tracing.d.ts +12 -0
- package/dist/server/app-metadata-tracing.js +17 -0
- package/dist/server/app-middleware.d.ts +15 -7
- package/dist/server/app-middleware.js +30 -5
- package/dist/server/app-mounted-slots-header.d.ts +2 -3
- package/dist/server/app-mounted-slots-header.js +2 -2
- package/dist/server/app-optimistic-routing.d.ts +14 -10
- package/dist/server/app-optimistic-routing.js +16 -3
- package/dist/server/app-page-boundary-render.d.ts +6 -6
- package/dist/server/app-page-boundary-render.js +10 -4
- package/dist/server/app-page-boundary.d.ts +9 -10
- package/dist/server/app-page-boundary.js +2 -1
- package/dist/server/app-page-cache-finalizer.d.ts +32 -8
- package/dist/server/app-page-cache-finalizer.js +118 -14
- package/dist/server/app-page-cache-render.d.ts +8 -5
- package/dist/server/app-page-cache-render.js +22 -5
- package/dist/server/app-page-cache.d.ts +28 -9
- package/dist/server/app-page-cache.js +96 -25
- package/dist/server/app-page-dispatch.d.ts +36 -12
- package/dist/server/app-page-dispatch.js +188 -63
- package/dist/server/app-page-element-builder.d.ts +13 -11
- package/dist/server/app-page-element-builder.js +104 -61
- package/dist/server/app-page-execution.d.ts +14 -14
- package/dist/server/app-page-execution.js +12 -8
- package/dist/server/app-page-head.d.ts +19 -16
- package/dist/server/app-page-head.js +25 -25
- package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
- package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
- package/dist/server/app-page-method.d.ts +5 -11
- package/dist/server/app-page-method.js +2 -9
- package/dist/server/app-page-params.d.ts +5 -6
- package/dist/server/app-page-ppr-runtime.d.ts +2 -2
- package/dist/server/app-page-probe.d.ts +5 -6
- package/dist/server/app-page-probe.js +5 -4
- package/dist/server/app-page-render-identity.d.ts +4 -5
- package/dist/server/app-page-render-observation.d.ts +8 -9
- package/dist/server/app-page-render-observation.js +1 -1
- package/dist/server/app-page-render.d.ts +42 -6
- package/dist/server/app-page-render.js +192 -28
- package/dist/server/app-page-request.d.ts +10 -9
- package/dist/server/app-page-request.js +16 -12
- package/dist/server/app-page-response.d.ts +20 -9
- package/dist/server/app-page-response.js +31 -13
- package/dist/server/app-page-route-wiring.d.ts +15 -15
- package/dist/server/app-page-route-wiring.js +31 -24
- package/dist/server/app-page-search-params-observation.d.ts +26 -5
- package/dist/server/app-page-search-params-observation.js +42 -6
- package/dist/server/app-page-segment-plan.d.ts +2 -3
- package/dist/server/app-page-segment-state.d.ts +11 -12
- package/dist/server/app-page-stream.d.ts +27 -11
- package/dist/server/app-page-stream.js +35 -6
- package/dist/server/app-page-tracing.d.ts +33 -0
- package/dist/server/app-page-tracing.js +49 -0
- package/dist/server/app-pages-bridge.d.ts +6 -6
- package/dist/server/app-pages-bridge.js +19 -4
- package/dist/server/app-post-middleware-context.d.ts +2 -3
- package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
- package/dist/server/app-ppr-fallback-shell-render.js +3 -2
- package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
- package/dist/server/app-prerender-endpoints.d.ts +5 -5
- package/dist/server/app-prerender-endpoints.js +26 -12
- package/dist/server/app-prerender-static-params.d.ts +15 -7
- package/dist/server/app-prerender-static-params.js +33 -11
- package/dist/server/app-render-dependency.d.ts +14 -13
- package/dist/server/app-render-dependency.js +5 -1
- package/dist/server/app-request-context.d.ts +3 -4
- package/dist/server/app-request-stage-context.d.ts +5 -0
- package/dist/server/app-request-stage-context.js +11 -0
- package/dist/server/app-request-stage-dispatch.d.ts +25 -0
- package/dist/server/app-request-stage-dispatch.js +54 -0
- package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
- package/dist/server/app-request-stage-independent-entry.js +115 -0
- package/dist/server/app-response-header-provenance.d.ts +13 -7
- package/dist/server/app-response-header-provenance.js +34 -1
- package/dist/server/app-response-stage-entry.d.ts +9 -0
- package/dist/server/app-response-stage-entry.js +87 -0
- package/dist/server/app-route-handler-cache.d.ts +2 -3
- package/dist/server/app-route-handler-cache.js +46 -34
- package/dist/server/app-route-handler-dispatch.d.ts +3 -3
- package/dist/server/app-route-handler-dispatch.js +75 -57
- package/dist/server/app-route-handler-execution.d.ts +18 -13
- package/dist/server/app-route-handler-execution.js +189 -25
- package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
- package/dist/server/app-route-handler-middleware-context.js +15 -0
- package/dist/server/app-route-handler-policy.d.ts +22 -10
- package/dist/server/app-route-handler-policy.js +19 -4
- package/dist/server/app-route-handler-response.d.ts +9 -10
- package/dist/server/app-route-handler-response.js +2 -0
- package/dist/server/app-route-handler-runtime.d.ts +9 -10
- package/dist/server/app-route-handler-runtime.js +20 -16
- package/dist/server/app-route-module-loader.d.ts +6 -7
- package/dist/server/app-route-request-built-ins.d.ts +3 -4
- package/dist/server/app-route-tree-prefetch.d.ts +6 -7
- package/dist/server/app-route-tree-prefetch.js +2 -1
- package/dist/server/app-router-entry.d.ts +2 -0
- package/dist/server/app-router-entry.js +76 -12
- package/dist/server/app-rsc-cache-busting.d.ts +47 -22
- package/dist/server/app-rsc-cache-busting.js +80 -18
- package/dist/server/app-rsc-combined-handler.d.ts +9 -0
- package/dist/server/app-rsc-combined-handler.js +11 -0
- package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
- package/dist/server/app-rsc-error-handler.d.ts +12 -6
- package/dist/server/app-rsc-error-handler.js +15 -6
- package/dist/server/app-rsc-errors.d.ts +12 -9
- package/dist/server/app-rsc-errors.js +15 -13
- package/dist/server/app-rsc-handler.d.ts +33 -6
- package/dist/server/app-rsc-handler.js +498 -83
- package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
- package/dist/server/app-rsc-render-mode.d.ts +8 -9
- package/dist/server/app-rsc-request-normalization.d.ts +3 -3
- package/dist/server/app-rsc-request-normalization.js +2 -1
- package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
- package/dist/server/app-rsc-response-finalizer.js +24 -7
- package/dist/server/app-rsc-response-stage.d.ts +6 -0
- package/dist/server/app-rsc-response-stage.js +251 -0
- package/dist/server/app-rsc-route-matching.d.ts +4 -4
- package/dist/server/app-rsc-route-matching.js +4 -2
- package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
- package/dist/server/app-rsc-vary.d.ts +16 -0
- package/dist/server/app-rsc-vary.js +31 -0
- package/dist/server/app-segment-config.d.ts +120 -6
- package/dist/server/app-segment-config.js +264 -12
- package/dist/server/app-server-action-execution.d.ts +16 -12
- package/dist/server/app-server-action-execution.js +88 -35
- package/dist/server/app-ssr-entry.d.ts +14 -4
- package/dist/server/app-ssr-entry.js +64 -17
- package/dist/server/app-ssr-error-meta.d.ts +3 -4
- package/dist/server/app-ssr-error-meta.js +2 -1
- package/dist/server/app-ssr-router-instance.d.ts +2 -3
- package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
- package/dist/server/app-ssr-search-params-gate.js +54 -0
- package/dist/server/app-ssr-stream.d.ts +13 -9
- package/dist/server/app-ssr-stream.js +33 -7
- package/dist/server/app-static-generation.d.ts +4 -5
- package/dist/server/app-visited-response-cache.d.ts +11 -12
- package/dist/server/app-visited-response-cache.js +2 -2
- package/dist/server/app-worker-stages.d.ts +112 -0
- package/dist/server/app-worker-stages.js +105 -0
- package/dist/server/artifact-compatibility.d.ts +11 -12
- package/dist/server/before-interactive-head.d.ts +2 -3
- package/dist/server/bfcache-identity.d.ts +7 -8
- package/dist/server/cache-control.d.ts +39 -11
- package/dist/server/cache-control.js +104 -7
- package/dist/server/cache-headers.d.ts +3 -4
- package/dist/server/cache-proof.d.ts +75 -70
- package/dist/server/cache-proof.js +9 -1
- package/dist/server/cacheability-limits.d.ts +8 -0
- package/dist/server/cacheability-limits.js +9 -0
- package/dist/server/cacheability-manifest.d.ts +68 -0
- package/dist/server/cacheability-manifest.js +241 -0
- package/dist/server/cacheability-request.d.ts +49 -0
- package/dist/server/cacheability-request.js +559 -0
- package/dist/server/client-reuse-manifest.d.ts +17 -18
- package/dist/server/client-reuse-manifest.js +2 -2
- package/dist/server/client-trace-metadata.d.ts +9 -6
- package/dist/server/client-trace-metadata.js +27 -15
- package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
- package/dist/server/cloudflare-workers-tracing.js +8 -0
- package/dist/server/config-headers.d.ts +19 -5
- package/dist/server/config-headers.js +39 -5
- package/dist/server/cookie-utils.d.ts +2 -3
- package/dist/server/csp.d.ts +5 -6
- package/dist/server/default-global-error-module.d.ts +2 -3
- package/dist/server/default-global-not-found-module.d.ts +2 -3
- package/dist/server/default-not-found-module.d.ts +2 -3
- package/dist/server/defer-until-stream-consumed.d.ts +2 -3
- package/dist/server/defer-until-stream-consumed.js +2 -1
- package/dist/server/dev-initial-server-error.d.ts +3 -4
- package/dist/server/dev-initial-server-error.js +2 -1
- package/dist/server/dev-lockfile.d.ts +7 -8
- package/dist/server/dev-lockfile.js +4 -1
- package/dist/server/dev-module-runner.d.ts +2 -3
- package/dist/server/dev-origin-check.d.ts +5 -6
- package/dist/server/dev-route-files.d.ts +2 -3
- package/dist/server/dev-server.d.ts +4 -5
- package/dist/server/dev-server.js +130 -61
- package/dist/server/dev-stack-sourcemap.d.ts +7 -7
- package/dist/server/dev-stack-sourcemap.js +1 -1
- package/dist/server/document-initial-head.d.ts +3 -4
- package/dist/server/edge-api-runtime.d.ts +4 -5
- package/dist/server/fetch-handler.d.ts +3 -2
- package/dist/server/fetch-handler.js +3 -18
- package/dist/server/file-based-metadata.d.ts +2 -3
- package/dist/server/framework-tracer.d.ts +46 -0
- package/dist/server/framework-tracer.js +125 -0
- package/dist/server/fully-buffered-response.d.ts +11 -0
- package/dist/server/fully-buffered-response.js +19 -0
- package/dist/server/headers.d.ts +62 -56
- package/dist/server/headers.js +33 -20
- package/dist/server/html.d.ts +6 -27
- package/dist/server/html.js +16 -1
- package/dist/server/http-conditional.d.ts +5 -6
- package/dist/server/http-date.d.ts +2 -3
- package/dist/server/http-error-responses.d.ts +9 -10
- package/dist/server/http-range.d.ts +4 -5
- package/dist/server/hybrid-route-priority.d.ts +4 -5
- package/dist/server/image-optimization.d.ts +20 -21
- package/dist/server/implicit-tags.d.ts +3 -4
- package/dist/server/instrumentation-runtime.d.ts +17 -21
- package/dist/server/instrumentation-runtime.js +26 -8
- package/dist/server/instrumentation.d.ts +26 -30
- package/dist/server/instrumentation.js +18 -23
- package/dist/server/isr-cache.d.ts +28 -27
- package/dist/server/isr-cache.js +18 -70
- package/dist/server/isr-decision.d.ts +4 -4
- package/dist/server/metadata-route-build-data.d.ts +4 -5
- package/dist/server/metadata-route-cache-policy.d.ts +2 -3
- package/dist/server/metadata-route-response.d.ts +7 -7
- package/dist/server/metadata-route-response.js +68 -2
- package/dist/server/metadata-routes.d.ts +18 -19
- package/dist/server/middleware-matcher-pattern.d.ts +6 -7
- package/dist/server/middleware-matcher.d.ts +13 -6
- package/dist/server/middleware-matcher.js +22 -1
- package/dist/server/middleware-path-to-regexp.d.ts +6 -7
- package/dist/server/middleware-path-to-regexp.js +11 -9
- package/dist/server/middleware-response-headers.d.ts +3 -4
- package/dist/server/middleware-runtime.d.ts +13 -8
- package/dist/server/middleware-runtime.js +54 -10
- package/dist/server/middleware.d.ts +5 -5
- package/dist/server/multi-stage.d.ts +141 -0
- package/dist/server/multi-stage.js +8 -0
- package/dist/server/navigation-planner.d.ts +26 -26
- package/dist/server/navigation-trace.d.ts +11 -12
- package/dist/server/next-error-digest.d.ts +4 -5
- package/dist/server/normalize-path.d.ts +5 -6
- package/dist/server/normalize-path.js +1 -1
- package/dist/server/open-redirect.d.ts +2 -3
- package/dist/server/opentelemetry-api.d.ts +59 -0
- package/dist/server/opentelemetry-api.js +53 -0
- package/dist/server/opentelemetry-tracing.d.ts +5 -0
- package/dist/server/opentelemetry-tracing.js +83 -0
- package/dist/server/operation-token.d.ts +11 -12
- package/dist/server/otel-tracer-extension.d.ts +7 -9
- package/dist/server/otel-tracer-extension.js +37 -36
- package/dist/server/pages-api-route.d.ts +5 -4
- package/dist/server/pages-api-route.js +21 -8
- package/dist/server/pages-asset-tags.d.ts +6 -6
- package/dist/server/pages-asset-tags.js +37 -2
- package/dist/server/pages-body-parser-config.d.ts +4 -5
- package/dist/server/pages-body-parser-config.js +4 -4
- package/dist/server/pages-client-assets.d.ts +11 -5
- package/dist/server/pages-data-route.d.ts +11 -12
- package/dist/server/pages-data-route.js +1 -1
- package/dist/server/pages-default-404.d.ts +3 -4
- package/dist/server/pages-dev-hydration.d.ts +9 -4
- package/dist/server/pages-dev-hydration.js +19 -7
- package/dist/server/pages-dev-module-url.d.ts +3 -4
- package/dist/server/pages-dev-stylesheets.d.ts +5 -6
- package/dist/server/pages-document-asset-props.d.ts +6 -7
- package/dist/server/pages-document-initial-props.d.ts +5 -5
- package/dist/server/pages-document-initial-props.js +4 -2
- package/dist/server/pages-execution-tracing.d.ts +40 -0
- package/dist/server/pages-execution-tracing.js +80 -0
- package/dist/server/pages-get-initial-props.d.ts +9 -10
- package/dist/server/pages-i18n.d.ts +8 -8
- package/dist/server/pages-i18n.js +3 -2
- package/dist/server/pages-media-type.d.ts +4 -5
- package/dist/server/pages-node-compat.d.ts +11 -10
- package/dist/server/pages-node-compat.js +12 -4
- package/dist/server/pages-page-data.d.ts +18 -19
- package/dist/server/pages-page-data.js +11 -10
- package/dist/server/pages-page-handler.d.ts +7 -6
- package/dist/server/pages-page-handler.js +98 -47
- package/dist/server/pages-page-method.d.ts +2 -3
- package/dist/server/pages-page-response.d.ts +14 -10
- package/dist/server/pages-page-response.js +49 -31
- package/dist/server/pages-preview.d.ts +10 -11
- package/dist/server/pages-readiness.d.ts +2 -3
- package/dist/server/pages-request-pipeline.d.ts +16 -12
- package/dist/server/pages-request-pipeline.js +69 -28
- package/dist/server/pages-request-stage-entry.d.ts +23 -0
- package/dist/server/pages-request-stage-entry.js +314 -0
- package/dist/server/pages-response-stage-entry.d.ts +11 -0
- package/dist/server/pages-response-stage-entry.js +106 -0
- package/dist/server/pages-response-stage.d.ts +31 -0
- package/dist/server/pages-response-stage.js +49 -0
- package/dist/server/pages-revalidate.d.ts +3 -4
- package/dist/server/pages-revalidate.js +9 -4
- package/dist/server/pages-route-data-kind.d.ts +18 -0
- package/dist/server/pages-route-data-kind.js +11 -0
- package/dist/server/pages-router-entry.d.ts +1 -25
- package/dist/server/pages-router-entry.js +48 -114
- package/dist/server/pages-serializable-props.d.ts +3 -4
- package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
- package/dist/server/pregenerated-concrete-paths.js +12 -6
- package/dist/server/prerender-cache-life-header.d.ts +3 -4
- package/dist/server/prerender-manifest.d.ts +11 -11
- package/dist/server/prerender-manifest.js +6 -3
- package/dist/server/prerender-route-params.d.ts +16 -9
- package/dist/server/prerender-route-params.js +18 -2
- package/dist/server/prerender-work-unit-setup.d.ts +4 -4
- package/dist/server/prerender-work-unit-setup.js +37 -14
- package/dist/server/prod-server.d.ts +12 -9
- package/dist/server/prod-server.js +129 -36
- package/dist/server/proxy-trust.d.ts +5 -6
- package/dist/server/request-log.d.ts +3 -4
- package/dist/server/request-pipeline.d.ts +17 -21
- package/dist/server/request-pipeline.js +8 -10
- package/dist/server/request-stage.d.ts +5 -0
- package/dist/server/request-stage.js +7 -0
- package/dist/server/request-tracing.d.ts +22 -0
- package/dist/server/request-tracing.js +180 -0
- package/dist/server/response-stage-cacheability.d.ts +37 -0
- package/dist/server/response-stage-cacheability.js +55 -0
- package/dist/server/response-stage-policy.d.ts +23 -0
- package/dist/server/response-stage-policy.js +89 -0
- package/dist/server/response-stage.d.ts +5 -0
- package/dist/server/response-stage.js +7 -0
- package/dist/server/response-start-tracing.d.ts +14 -0
- package/dist/server/response-start-tracing.js +80 -0
- package/dist/server/revalidation-host.d.ts +2 -3
- package/dist/server/revalidation-host.js +2 -1
- package/dist/server/revalidation-request.d.ts +8 -0
- package/dist/server/revalidation-request.js +37 -0
- package/dist/server/rsc-completion-metadata.d.ts +6 -7
- package/dist/server/rsc-stream-hints.d.ts +18 -7
- package/dist/server/rsc-stream-hints.js +70 -35
- package/dist/server/seed-cache.d.ts +2 -3
- package/dist/server/seed-cache.js +8 -7
- package/dist/server/server-action-not-found.d.ts +5 -6
- package/dist/server/server-globals.d.ts +2 -3
- package/dist/server/server-globals.js +13 -0
- package/dist/server/skip-cache-proof.d.ts +4 -4
- package/dist/server/socket-error-backstop.d.ts +5 -6
- package/dist/server/socket-error-backstop.js +1 -1
- package/dist/server/static-file-cache.d.ts +5 -6
- package/dist/server/static-file-cache.js +9 -7
- package/dist/server/static-file-signal.d.ts +16 -0
- package/dist/server/static-file-signal.js +82 -0
- package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
- package/dist/server/streaming-metadata.d.ts +2 -3
- package/dist/server/tracer.d.ts +5 -0
- package/dist/server/tracer.js +13 -0
- package/dist/server/worker-prerender-discovery.d.ts +18 -0
- package/dist/server/worker-prerender-discovery.js +55 -0
- package/dist/server/worker-revalidation-context.d.ts +2 -3
- package/dist/server/worker-revalidation-context.js +5 -5
- package/dist/server/worker-stages.d.ts +43 -0
- package/dist/server/worker-stages.js +25 -0
- package/dist/server/worker-utils.d.ts +5 -6
- package/dist/server/worker-utils.js +4 -4
- package/dist/server/workers-tracing.d.ts +17 -0
- package/dist/server/workers-tracing.js +27 -0
- package/dist/shims/amp.d.ts +3 -4
- package/dist/shims/app-router-scroll-state.d.ts +9 -10
- package/dist/shims/app-router-scroll.d.ts +4 -5
- package/dist/shims/app-router-scroll.js +2 -1
- package/dist/shims/app.d.ts +5 -6
- package/dist/shims/before-interactive-context.d.ts +5 -6
- package/dist/shims/cache-callable-runtime.d.ts +44 -4
- package/dist/shims/cache-callable-runtime.js +168 -8
- package/dist/shims/cache-for-request.d.ts +2 -3
- package/dist/shims/cache-handler.d.ts +33 -20
- package/dist/shims/cache-handler.js +61 -2
- package/dist/shims/cache-request-state.d.ts +28 -29
- package/dist/shims/cache-runtime.d.ts +23 -21
- package/dist/shims/cache-runtime.js +239 -121
- package/dist/shims/cache.d.ts +15 -15
- package/dist/shims/cache.js +25 -13
- package/dist/shims/cacheability-classification.d.ts +106 -0
- package/dist/shims/cacheability-classification.js +161 -0
- package/dist/shims/cdn-cache-state.d.ts +13 -0
- package/dist/shims/cdn-cache-state.js +23 -0
- package/dist/shims/cdn-cache.d.ts +76 -18
- package/dist/shims/cdn-cache.js +40 -39
- package/dist/shims/client-hook-error.d.ts +3 -4
- package/dist/shims/client-locale.d.ts +2 -3
- package/dist/shims/client-page-root.d.ts +24 -0
- package/dist/shims/client-page-root.js +121 -0
- package/dist/shims/compat-router.d.ts +2 -3
- package/dist/shims/config.d.ts +3 -4
- package/dist/shims/constants.d.ts +73 -74
- package/dist/shims/constants.js +1 -1
- package/dist/shims/default-not-found.d.ts +2 -3
- package/dist/shims/document.d.ts +9 -9
- package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
- package/dist/shims/dynamic-preload-chunks.js +17 -13
- package/dist/shims/dynamic.d.ts +3 -3
- package/dist/shims/error-boundary-navigation.d.ts +3 -4
- package/dist/shims/error-boundary.d.ts +17 -18
- package/dist/shims/error-boundary.js +17 -11
- package/dist/shims/error.d.ts +4 -4
- package/dist/shims/error.js +1 -1
- package/dist/shims/error.react-server.d.ts +3 -4
- package/dist/shims/fetch-cache.d.ts +22 -22
- package/dist/shims/fetch-cache.js +50 -20
- package/dist/shims/font-google-base.d.ts +9 -9
- package/dist/shims/font-google-base.js +2 -1
- package/dist/shims/font-local.d.ts +3 -3
- package/dist/shims/font-local.js +1 -1
- package/dist/shims/font-utils.d.ts +14 -15
- package/dist/shims/form.d.ts +2 -2
- package/dist/shims/form.js +10 -7
- package/dist/shims/hash-scroll.d.ts +5 -6
- package/dist/shims/head-state.d.ts +4 -5
- package/dist/shims/head.d.ts +16 -16
- package/dist/shims/head.js +5 -4
- package/dist/shims/headers.d.ts +68 -32
- package/dist/shims/headers.js +101 -10
- package/dist/shims/i18n-context.d.ts +5 -6
- package/dist/shims/i18n-state.d.ts +4 -5
- package/dist/shims/image-config.d.ts +5 -6
- package/dist/shims/image-config.js +2 -0
- package/dist/shims/image.d.ts +5 -5
- package/dist/shims/image.js +12 -8
- package/dist/shims/internal/als-registry.d.ts +4 -5
- package/dist/shims/internal/api-utils.d.ts +3 -4
- package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
- package/dist/shims/internal/app-page-props-cache-key.js +53 -1
- package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
- package/dist/shims/internal/app-prefetch-rsc-request.d.ts +13 -0
- package/dist/shims/internal/app-prefetch-rsc-request.js +12 -0
- package/dist/shims/internal/app-route-detection.d.ts +2 -2
- package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -6
- package/dist/shims/internal/app-route-prefetch-policy.js +1 -0
- package/dist/shims/internal/app-router-context.d.ts +9 -10
- package/dist/shims/internal/cookie-serialize.d.ts +4 -5
- package/dist/shims/internal/format-url-object.d.ts +7 -0
- package/dist/shims/internal/format-url-object.js +53 -0
- package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
- package/dist/shims/internal/hybrid-client-route-owner-direct.js +29 -11
- package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
- package/dist/shims/internal/hybrid-client-route-owner.js +5 -4
- package/dist/shims/internal/interpolate-as.d.ts +5 -6
- package/dist/shims/internal/interpolate-as.js +4 -2
- package/dist/shims/internal/link-status-registry.d.ts +5 -6
- package/dist/shims/internal/make-hanging-promise.d.ts +8 -3
- package/dist/shims/internal/make-hanging-promise.js +13 -2
- package/dist/shims/internal/navigation-untracked.d.ts +2 -3
- package/dist/shims/internal/normalize-router-href.d.ts +15 -0
- package/dist/shims/internal/normalize-router-href.js +41 -0
- package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
- package/dist/shims/internal/pages-data-target.d.ts +8 -6
- package/dist/shims/internal/pages-data-target.js +32 -36
- package/dist/shims/internal/pages-data-url.d.ts +4 -5
- package/dist/shims/internal/pages-data-url.js +2 -1
- package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
- package/dist/shims/internal/pages-router-components.d.ts +3 -4
- package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
- package/dist/shims/internal/route-pattern-for-warning.js +3 -3
- package/dist/shims/internal/router-context.d.ts +2 -3
- package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
- package/dist/shims/internal/thenable-well-known-properties.js +33 -0
- package/dist/shims/internal/utils.d.ts +7 -8
- package/dist/shims/internal/work-unit-async-storage.d.ts +12 -11
- package/dist/shims/layout-segment-context.d.ts +3 -4
- package/dist/shims/link-prefetch.d.ts +9 -10
- package/dist/shims/link.d.ts +4 -4
- package/dist/shims/link.js +67 -116
- package/dist/shims/metadata.d.ts +15 -16
- package/dist/shims/metadata.js +40 -36
- package/dist/shims/navigation-context-accessors.d.ts +9 -0
- package/dist/shims/navigation-context-accessors.js +19 -0
- package/dist/shims/navigation-context-state.d.ts +27 -18
- package/dist/shims/navigation-errors.d.ts +18 -19
- package/dist/shims/navigation-state.d.ts +6 -7
- package/dist/shims/navigation.d.ts +80 -68
- package/dist/shims/navigation.js +45 -17
- package/dist/shims/navigation.react-server.d.ts +9 -9
- package/dist/shims/navigation.react-server.js +1 -1
- package/dist/shims/offline.d.ts +2 -3
- package/dist/shims/og.d.ts +2 -2
- package/dist/shims/pages-router-runtime.d.ts +4 -5
- package/dist/shims/ppr-fallback-shell.d.ts +13 -14
- package/dist/shims/readonly-url-search-params.d.ts +2 -3
- package/dist/shims/request-context.d.ts +7 -6
- package/dist/shims/root-params.d.ts +14 -15
- package/dist/shims/router-state.d.ts +5 -6
- package/dist/shims/router-state.js +1 -1
- package/dist/shims/router.d.ts +22 -21
- package/dist/shims/router.js +339 -164
- package/dist/shims/script-nonce-context.d.ts +8 -6
- package/dist/shims/script-nonce-context.js +15 -6
- package/dist/shims/script.d.ts +4 -4
- package/dist/shims/script.js +9 -7
- package/dist/shims/search-params-gate.d.ts +35 -0
- package/dist/shims/search-params-gate.js +32 -0
- package/dist/shims/server.d.ts +19 -51
- package/dist/shims/server.js +14 -28
- package/dist/shims/slot.d.ts +33 -15
- package/dist/shims/slot.js +41 -9
- package/dist/shims/streamed-icons.d.ts +3 -4
- package/dist/shims/thenable-params.d.ts +5 -7
- package/dist/shims/thenable-params.js +3 -24
- package/dist/shims/unified-request-context.d.ts +34 -31
- package/dist/shims/unified-request-context.js +34 -24
- package/dist/shims/unrecognized-action-error.d.ts +3 -4
- package/dist/shims/url-safety.d.ts +5 -6
- package/dist/shims/url-utils.d.ts +18 -12
- package/dist/shims/url-utils.js +10 -1
- package/dist/shims/use-merged-ref.d.ts +2 -3
- package/dist/shims/user-agent.d.ts +31 -0
- package/dist/shims/user-agent.js +16 -0
- package/dist/shims/web-vitals.d.ts +2 -2
- package/dist/typegen.d.ts +3 -4
- package/dist/utils/asset-prefix.d.ts +7 -8
- package/dist/utils/base-path.d.ts +5 -6
- package/dist/utils/built-asset-url.d.ts +2 -3
- package/dist/utils/built-asset-url.js +1 -1
- package/dist/utils/cache-control-metadata.d.ts +4 -5
- package/dist/utils/client-build-manifest.d.ts +6 -7
- package/dist/utils/client-build-manifest.js +2 -1
- package/dist/utils/client-entry-manifest.d.ts +6 -7
- package/dist/utils/client-runtime-metadata.d.ts +8 -3
- package/dist/utils/client-runtime-metadata.js +18 -1
- package/dist/utils/commonjs-loader.d.ts +4 -5
- package/dist/utils/compare.d.ts +2 -3
- package/dist/utils/deployment-id.d.ts +6 -7
- package/dist/utils/dev-error-recovery-event.d.ts +2 -3
- package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
- package/dist/utils/domain-locale.d.ts +7 -8
- package/dist/utils/encode-cache-tag.d.ts +3 -4
- package/dist/utils/error-cause.d.ts +2 -3
- package/dist/utils/external-url.d.ts +2 -3
- package/dist/utils/has-trailing-comma.d.ts +3 -4
- package/dist/utils/hash.d.ts +3 -4
- package/dist/utils/html-limited-bots.d.ts +3 -4
- package/dist/utils/lazy-chunks.d.ts +8 -9
- package/dist/utils/lazy-chunks.js +4 -4
- package/dist/utils/manifest-paths.d.ts +5 -6
- package/dist/utils/mdx-scan.d.ts +11 -4
- package/dist/utils/mdx-scan.js +27 -1
- package/dist/utils/middleware-request-headers.d.ts +7 -6
- package/dist/utils/middleware-request-headers.js +6 -1
- package/dist/utils/navigation-signal.d.ts +3 -3
- package/dist/utils/navigation-signal.js +16 -1
- package/dist/utils/number.d.ts +2 -3
- package/dist/utils/package-name.d.ts +3 -4
- package/dist/utils/parse-cookie.d.ts +4 -5
- package/dist/utils/path.d.ts +8 -9
- package/dist/utils/plugin-options.d.ts +2 -3
- package/dist/utils/precompressed-variant.d.ts +3 -4
- package/dist/utils/prerender-output-paths.d.ts +9 -10
- package/dist/utils/prerender-output-paths.js +16 -9
- package/dist/utils/project.d.ts +19 -30
- package/dist/utils/project.js +20 -29
- package/dist/utils/promise.d.ts +2 -3
- package/dist/utils/protocol-headers.d.ts +14 -15
- package/dist/utils/public-file-path.d.ts +2 -3
- package/dist/utils/public-routes.d.ts +2 -3
- package/dist/utils/query.d.ts +14 -9
- package/dist/utils/query.js +22 -1
- package/dist/utils/react-compiler-support.d.ts +6 -7
- package/dist/utils/react-version.d.ts +4 -3
- package/dist/utils/react-version.js +19 -1
- package/dist/utils/record.d.ts +2 -3
- package/dist/utils/redirect-digest.d.ts +3 -4
- package/dist/utils/regex-safety.d.ts +4 -5
- package/dist/utils/regex.d.ts +2 -3
- package/dist/utils/safe-json-file.d.ts +2 -3
- package/dist/utils/sorted-array.d.ts +2 -3
- package/dist/utils/text-stream.d.ts +3 -4
- package/dist/utils/vinext-root.d.ts +2 -3
- package/dist/utils/virtual-module.d.ts +3 -4
- package/dist/utils/vite-cli-invocation.d.ts +21 -0
- package/dist/utils/vite-cli-invocation.js +144 -0
- package/dist/utils/vite-version.d.ts +5 -6
- package/next-package.json +4 -0
- package/package.json +55 -6
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
import path, { toSlash } from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
|
|
2
|
+
import { forEachAstChild, getAstName, staticStringValue } from "./ast-utils.js";
|
|
3
|
+
import { magicStringTransformResult } from "./transform-result.js";
|
|
4
|
+
import { isFunctionNode } from "./ast-scope.js";
|
|
5
|
+
import { createRequire } from "node:module";
|
|
6
|
+
import fs from "node:fs";
|
|
7
|
+
import { parseAst } from "vite";
|
|
8
|
+
import MagicString from "magic-string";
|
|
9
|
+
//#region src/plugins/og-harfbuzz.ts
|
|
10
|
+
/**
|
|
11
|
+
* vinext:og-harfbuzz — load @vercel/og's bundled HarfBuzz under vinext.
|
|
12
|
+
*
|
|
13
|
+
* @vercel/og 1.x inlines harfbuzzjs's Emscripten glue into both entry bundles.
|
|
14
|
+
* Unmodified, that glue cannot start:
|
|
15
|
+
*
|
|
16
|
+
* - Node ESM: its Node branch calls esbuild's `__require("fs")` and reads
|
|
17
|
+
* `__dirname`, neither of which exists in an ES module.
|
|
18
|
+
* - workerd: it reads `self.location.href`, takes the Node branch under
|
|
19
|
+
* `nodejs_compat`, and fetches `hb.wasm` from a relative URL. Workers also
|
|
20
|
+
* forbid compiling WASM from bytes, which Emscripten does for every
|
|
21
|
+
* JavaScript callback it adds to the WASM function table.
|
|
22
|
+
*
|
|
23
|
+
* The transform locates the HarfBuzz factory by syntax (the function that
|
|
24
|
+
* names `"hb.wasm"` and reads Emscripten's `instantiateWasm` hook) and, inside
|
|
25
|
+
* it only:
|
|
26
|
+
*
|
|
27
|
+
* 1. sets every `ENVIRONMENT_IS_*` flag to `false`, so no host branch runs;
|
|
28
|
+
* 2. replaces `instantiateWasm` reads with a vinext loader that instantiates
|
|
29
|
+
* `hb.wasm` synchronously (a `?module` import on workerd, a disk read on
|
|
30
|
+
* Node), so a bad binary rejects initialization instead of hanging it;
|
|
31
|
+
* 3. on workerd, serves callback modules from precompiled adapters instead
|
|
32
|
+
* of `new WebAssembly.Module(bytes)`.
|
|
33
|
+
*
|
|
34
|
+
* Whitespace, esbuild's renames and harfbuzzjs's wrapper code can change
|
|
35
|
+
* freely. If a patch site is missing, the build fails with an explicit error
|
|
36
|
+
* instead of shipping an OG route that breaks at runtime.
|
|
37
|
+
*/
|
|
38
|
+
const HARFBUZZ_WASM = "hb.wasm";
|
|
39
|
+
const VALUE_TYPES = {
|
|
40
|
+
i: 127,
|
|
41
|
+
j: 126,
|
|
42
|
+
f: 125,
|
|
43
|
+
d: 124
|
|
44
|
+
};
|
|
45
|
+
const VALUE_TYPE_LETTERS = new Map(Object.entries(VALUE_TYPES).map(([k, v]) => [v, k]));
|
|
46
|
+
/**
|
|
47
|
+
* Resolve the `hb.wasm` binary that matches the glue inlined in @vercel/og.
|
|
48
|
+
* @vercel/og and satori pin exact versions, so resolving through
|
|
49
|
+
* @vercel/og → satori → harfbuzzjs yields the build the bundle was made from.
|
|
50
|
+
*/
|
|
51
|
+
function resolveHarfbuzzWasmPath(ogEntry) {
|
|
52
|
+
const satoriEntry = createRequire(ogEntry).resolve("satori");
|
|
53
|
+
return toSlash(createRequire(satoriEntry).resolve(`harfbuzzjs/${HARFBUZZ_WASM}`));
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Read every function type in a WASM binary as an Emscripten signature (result
|
|
57
|
+
* letter, or `v` for none, then parameters). Any callback HarfBuzz calls
|
|
58
|
+
* through its function table must have one of these types, so adapters for
|
|
59
|
+
* all of them cover every callback the glue can register.
|
|
60
|
+
*/
|
|
61
|
+
function readWasmFunctionSignatures(wasm) {
|
|
62
|
+
let offset = 8;
|
|
63
|
+
const readU32 = () => {
|
|
64
|
+
let result = 0;
|
|
65
|
+
for (let shift = 0;; shift += 7) {
|
|
66
|
+
const byte = wasm[offset++];
|
|
67
|
+
result |= (byte & 127) << shift;
|
|
68
|
+
if (!(byte & 128)) return result >>> 0;
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
const readTypes = () => {
|
|
72
|
+
let letters = "";
|
|
73
|
+
for (let count = readU32(); count > 0; count--) {
|
|
74
|
+
const letter = VALUE_TYPE_LETTERS.get(wasm[offset++]);
|
|
75
|
+
letters = letter && letters !== null ? letters + letter : null;
|
|
76
|
+
}
|
|
77
|
+
return letters;
|
|
78
|
+
};
|
|
79
|
+
const signatures = /* @__PURE__ */ new Set();
|
|
80
|
+
while (offset < wasm.length) {
|
|
81
|
+
const sectionId = wasm[offset++];
|
|
82
|
+
const sectionEnd = readU32() + offset;
|
|
83
|
+
if (sectionId === 1) for (let count = readU32(); count > 0; count--) {
|
|
84
|
+
offset++;
|
|
85
|
+
const params = readTypes();
|
|
86
|
+
const results = readTypes();
|
|
87
|
+
if (params !== null && results !== null && results.length <= 1) signatures.add((results || "v") + params);
|
|
88
|
+
}
|
|
89
|
+
offset = sectionEnd;
|
|
90
|
+
}
|
|
91
|
+
return [...signatures];
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Build the module Emscripten's `convertJsFunctionToWasm` compiles for a
|
|
95
|
+
* signature: it imports a JavaScript function as `e.f` and re-exports it as
|
|
96
|
+
* `f`. Every section in it is shorter than 128 bytes, so each length and count
|
|
97
|
+
* is a single LEB128 byte.
|
|
98
|
+
*/
|
|
99
|
+
function createHarfbuzzCallbackWasm(signature) {
|
|
100
|
+
const typeCode = (letter) => {
|
|
101
|
+
const code = VALUE_TYPES[letter];
|
|
102
|
+
if (code === void 0) throw new Error(`[vinext] Invalid WASM callback signature: ${signature}`);
|
|
103
|
+
return code;
|
|
104
|
+
};
|
|
105
|
+
const [result, ...params] = signature;
|
|
106
|
+
const results = result === "v" ? [] : [typeCode(result)];
|
|
107
|
+
const functionType = [
|
|
108
|
+
96,
|
|
109
|
+
params.length,
|
|
110
|
+
...params.map(typeCode),
|
|
111
|
+
results.length,
|
|
112
|
+
...results
|
|
113
|
+
];
|
|
114
|
+
if (functionType.length > 64) throw new Error(`[vinext] WASM callback signature too long: ${signature}`);
|
|
115
|
+
const section = (id, contents) => [
|
|
116
|
+
id,
|
|
117
|
+
contents.length,
|
|
118
|
+
...contents
|
|
119
|
+
];
|
|
120
|
+
return Uint8Array.from([
|
|
121
|
+
0,
|
|
122
|
+
97,
|
|
123
|
+
115,
|
|
124
|
+
109,
|
|
125
|
+
1,
|
|
126
|
+
0,
|
|
127
|
+
0,
|
|
128
|
+
0,
|
|
129
|
+
...section(1, [1, ...functionType]),
|
|
130
|
+
...section(2, [
|
|
131
|
+
1,
|
|
132
|
+
1,
|
|
133
|
+
101,
|
|
134
|
+
1,
|
|
135
|
+
102,
|
|
136
|
+
0,
|
|
137
|
+
0
|
|
138
|
+
]),
|
|
139
|
+
...section(7, [
|
|
140
|
+
1,
|
|
141
|
+
1,
|
|
142
|
+
102,
|
|
143
|
+
0,
|
|
144
|
+
0
|
|
145
|
+
])
|
|
146
|
+
]);
|
|
147
|
+
}
|
|
148
|
+
/** Write each callback adapter once and return its path by signature. */
|
|
149
|
+
function writeHarfbuzzCallbackModules(harfbuzzWasm, outDir) {
|
|
150
|
+
fs.mkdirSync(outDir, { recursive: true });
|
|
151
|
+
const modules = /* @__PURE__ */ new Map();
|
|
152
|
+
for (const signature of readWasmFunctionSignatures(fs.readFileSync(harfbuzzWasm))) {
|
|
153
|
+
const filePath = path.join(outDir, `harfbuzz-callback-${signature}.wasm`);
|
|
154
|
+
if (!fs.existsSync(filePath)) {
|
|
155
|
+
const tempPath = `${filePath}.${process.pid}.tmp`;
|
|
156
|
+
fs.writeFileSync(tempPath, createHarfbuzzCallbackWasm(signature));
|
|
157
|
+
fs.renameSync(tempPath, filePath);
|
|
158
|
+
}
|
|
159
|
+
modules.set(signature, filePath);
|
|
160
|
+
}
|
|
161
|
+
return modules;
|
|
162
|
+
}
|
|
163
|
+
const contains = (outer, inner) => outer.start <= inner.start && inner.end <= outer.end;
|
|
164
|
+
/**
|
|
165
|
+
* Find the HarfBuzz factory — the innermost function that both names
|
|
166
|
+
* `"hb.wasm"` and reads `instantiateWasm` — and the patch sites inside it.
|
|
167
|
+
* Scoping edits to that function keeps yoga's own Emscripten module, which
|
|
168
|
+
* also reads `instantiateWasm`, untouched.
|
|
169
|
+
*/
|
|
170
|
+
function findHarfbuzzPatchSites(program) {
|
|
171
|
+
const functionStack = [];
|
|
172
|
+
const wasmNameScopes = [];
|
|
173
|
+
const instantiateWasmMembers = [];
|
|
174
|
+
const environmentFlags = [];
|
|
175
|
+
const moduleCompilations = [];
|
|
176
|
+
const visit = (node) => {
|
|
177
|
+
const isFunction = isFunctionNode(node);
|
|
178
|
+
if (isFunction) functionStack.push(node);
|
|
179
|
+
if (staticStringValue(node) === HARFBUZZ_WASM) wasmNameScopes.push([...functionStack]);
|
|
180
|
+
else if (node.type === "MemberExpression" && getAstName(node.property) === "instantiateWasm") instantiateWasmMembers.push(node);
|
|
181
|
+
else if (node.type === "VariableDeclarator" && node.id.type === "Identifier" && node.id.name.startsWith("ENVIRONMENT_IS_") && node.init) environmentFlags.push({
|
|
182
|
+
declarator: node,
|
|
183
|
+
init: node.init
|
|
184
|
+
});
|
|
185
|
+
else if (node.type === "NewExpression" && node.callee.type === "MemberExpression" && getAstName(node.callee.object) === "WebAssembly" && getAstName(node.callee.property) === "Module" && functionStack.length > 0) moduleCompilations.push({
|
|
186
|
+
node,
|
|
187
|
+
enclosingFunction: functionStack[functionStack.length - 1]
|
|
188
|
+
});
|
|
189
|
+
forEachAstChild(node, visit);
|
|
190
|
+
if (isFunction) functionStack.pop();
|
|
191
|
+
};
|
|
192
|
+
visit(program);
|
|
193
|
+
const factories = /* @__PURE__ */ new Set();
|
|
194
|
+
for (const scopes of wasmNameScopes) {
|
|
195
|
+
const factory = [...scopes].reverse().find((scope) => instantiateWasmMembers.some((member) => contains(scope, member)));
|
|
196
|
+
if (factory) factories.add(factory);
|
|
197
|
+
}
|
|
198
|
+
if (factories.size !== 1) return `expected one function that names "${HARFBUZZ_WASM}" and reads instantiateWasm, found ${factories.size}`;
|
|
199
|
+
const [factory] = factories;
|
|
200
|
+
const flags = environmentFlags.filter(({ declarator }) => contains(factory, declarator));
|
|
201
|
+
if (!flags.some(({ declarator }) => getAstName(declarator.id) === "ENVIRONMENT_IS_NODE")) return "the factory does not declare ENVIRONMENT_IS_NODE";
|
|
202
|
+
return {
|
|
203
|
+
instantiateWasmReads: instantiateWasmMembers.filter((member) => contains(factory, member)),
|
|
204
|
+
environmentFlags: flags.map(({ init }) => init),
|
|
205
|
+
moduleCompilations: moduleCompilations.filter(({ node }) => contains(factory, node))
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
const INSTANTIATE_WASM = `function __vi_hb_instantiateWasm(imports, receiveInstance) {
|
|
209
|
+
var instance = new WebAssembly.Instance(__vi_hb_module(), imports);
|
|
210
|
+
receiveInstance(instance);
|
|
211
|
+
return instance.exports;
|
|
212
|
+
}`;
|
|
213
|
+
function createOgHarfbuzzPlugin() {
|
|
214
|
+
let callbackModuleDir;
|
|
215
|
+
let isBuild = false;
|
|
216
|
+
return {
|
|
217
|
+
name: "vinext:og-harfbuzz",
|
|
218
|
+
enforce: "pre",
|
|
219
|
+
configResolved(config) {
|
|
220
|
+
callbackModuleDir = path.join(toSlash(config.root), ".vinext", "og-assets");
|
|
221
|
+
isBuild = config.command === "build";
|
|
222
|
+
},
|
|
223
|
+
transform: {
|
|
224
|
+
filter: {
|
|
225
|
+
id: /[\\/]@vercel[\\/]og[\\/]dist[\\/]index\.(?:edge|node)\.js(?:\?.*)?$/,
|
|
226
|
+
code: /["'`]hb\.wasm["'`]/
|
|
227
|
+
},
|
|
228
|
+
handler(code, id) {
|
|
229
|
+
const ogEntry = toSlash(id.split("?", 1)[0]);
|
|
230
|
+
const isWorkerd = ogEntry.endsWith("/index.edge.js");
|
|
231
|
+
const fail = (reason) => this.error(`[vinext] Unsupported @vercel/og HarfBuzz bundle in ${ogEntry}: ${reason}. vinext must be updated to support this @vercel/og version.`);
|
|
232
|
+
const sites = findHarfbuzzPatchSites(parseAst(code, { lang: "js" }));
|
|
233
|
+
if (typeof sites === "string") return fail(sites);
|
|
234
|
+
const output = new MagicString(code);
|
|
235
|
+
for (const flag of sites.environmentFlags) output.overwrite(flag.start, flag.end, "false");
|
|
236
|
+
for (const member of sites.instantiateWasmReads) output.overwrite(member.start, member.end, "__vi_hb_instantiateWasm");
|
|
237
|
+
const harfbuzzWasm = resolveHarfbuzzWasmPath(ogEntry);
|
|
238
|
+
const preamble = [];
|
|
239
|
+
if (isWorkerd) {
|
|
240
|
+
if (sites.moduleCompilations.length === 0) return fail("no callback module compilation (new WebAssembly.Module) was found");
|
|
241
|
+
for (const { node, enclosingFunction } of sites.moduleCompilations) {
|
|
242
|
+
const signature = isFunctionNode(enclosingFunction) ? enclosingFunction.params[1] : void 0;
|
|
243
|
+
if (signature?.type !== "Identifier") return fail("the callback compiler does not take a (func, sig) signature");
|
|
244
|
+
output.prependLeft(node.start, `(__vi_hb_callbacks[${signature.name}.replace(/p/g, "i")] || `);
|
|
245
|
+
output.appendRight(node.end, ")");
|
|
246
|
+
}
|
|
247
|
+
const callbacks = [...writeHarfbuzzCallbackModules(harfbuzzWasm, callbackModuleDir)];
|
|
248
|
+
preamble.push(`import __vi_hb_wasm from ${JSON.stringify(`${harfbuzzWasm}?module`)};`, ...callbacks.map(([, file], index) => `import __vi_hb_callback_${index} from ${JSON.stringify(`${file}?module`)};`), `var __vi_hb_callbacks = { ${callbacks.map(([signature], index) => `${signature}: __vi_hb_callback_${index}`).join(", ")} };`, "function __vi_hb_module() { return __vi_hb_wasm; }");
|
|
249
|
+
} else {
|
|
250
|
+
const location = isBuild ? `new URL("./${HARFBUZZ_WASM}", import.meta.url)` : JSON.stringify(harfbuzzWasm);
|
|
251
|
+
preamble.push(`import { readFileSync as __vi_hb_readFileSync } from "node:fs";`, `function __vi_hb_module() { return new WebAssembly.Module(__vi_hb_readFileSync(${location})); }`);
|
|
252
|
+
}
|
|
253
|
+
output.prepend(`${preamble.join("\n")}\n${INSTANTIATE_WASM}\n`);
|
|
254
|
+
return magicStringTransformResult(output);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
//#endregion
|
|
260
|
+
export { createHarfbuzzCallbackWasm, createOgHarfbuzzPlugin, readWasmFunctionSignatures, resolveHarfbuzzWasmPath };
|
|
@@ -9,11 +9,12 @@ type BarrelExportEntry = {
|
|
|
9
9
|
type BarrelExportMap = Map<string, BarrelExportEntry>;
|
|
10
10
|
/**
|
|
11
11
|
* Packages whose barrel imports are automatically optimized.
|
|
12
|
-
* Matches Next.js's built-in optimizePackageImports defaults plus
|
|
12
|
+
* Matches Next.js's built-in optimizePackageImports defaults plus vinext-specific
|
|
13
|
+
* compatibility entries for radix-ui and @chakra-ui/react.
|
|
13
14
|
* @see https://github.com/vercel/next.js/blob/9c31bbdaa/packages/next/src/server/config.ts#L1301
|
|
14
15
|
*/
|
|
15
|
-
declare const DEFAULT_OPTIMIZE_PACKAGES: string[];
|
|
16
|
-
declare function createOptimizedImportSourceMatcher(packages: Iterable<string>): (code: string) => boolean;
|
|
16
|
+
export declare const DEFAULT_OPTIMIZE_PACKAGES: string[];
|
|
17
|
+
export declare function createOptimizedImportSourceMatcher(packages: Iterable<string>): (code: string) => boolean;
|
|
17
18
|
/**
|
|
18
19
|
* Build a map of exported names → source sub-module for a barrel package.
|
|
19
20
|
*
|
|
@@ -29,13 +30,12 @@ declare function createOptimizedImportSourceMatcher(packages: Iterable<string>):
|
|
|
29
30
|
* caller owns entry resolution + its caching), or null when it could not be
|
|
30
31
|
* resolved.
|
|
31
32
|
*/
|
|
32
|
-
declare function buildBarrelExportMap(entryPath: string | null, readFile: (filepath: string) => Promise<string | null>, cache?: Map<string, BarrelExportMap>): Promise<BarrelExportMap | null>;
|
|
33
|
+
export declare function buildBarrelExportMap(entryPath: string | null, readFile: (filepath: string) => Promise<string | null>, cache?: Map<string, BarrelExportMap>): Promise<BarrelExportMap | null>;
|
|
33
34
|
/**
|
|
34
35
|
* Creates the vinext:optimize-imports Vite plugin.
|
|
35
36
|
*
|
|
36
37
|
* @param nextConfig - Resolved Next.js config (may be undefined before config hook runs).
|
|
37
38
|
* @param getRoot - Returns the current project root (set by the vinext:config hook).
|
|
38
39
|
*/
|
|
39
|
-
declare function createOptimizeImportsPlugin(getNextConfig: () => ResolvedNextConfig | undefined, getRoot: () => string): Plugin;
|
|
40
|
-
//#endregion
|
|
41
|
-
export { DEFAULT_OPTIMIZE_PACKAGES, buildBarrelExportMap, createOptimizeImportsPlugin, createOptimizedImportSourceMatcher };
|
|
40
|
+
export declare function createOptimizeImportsPlugin(getNextConfig: () => ResolvedNextConfig | undefined, getRoot: () => string): Plugin;
|
|
41
|
+
//#endregion
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import path, { toSlash } from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
|
|
2
2
|
import { escapeRegExp } from "../utils/regex.js";
|
|
3
|
+
import { collectBindingNames, getAstName } from "./ast-utils.js";
|
|
3
4
|
import { magicStringTransformResult } from "./transform-result.js";
|
|
4
5
|
import { VIRTUAL_MODULE_ID_RE } from "../utils/virtual-module.js";
|
|
5
|
-
import { getAstName } from "./ast-utils.js";
|
|
6
6
|
import { createRequire } from "node:module";
|
|
7
|
-
import { parseAst } from "vite";
|
|
8
7
|
import fsp from "node:fs/promises";
|
|
8
|
+
import { parseAst } from "vite";
|
|
9
9
|
import MagicString from "magic-string";
|
|
10
10
|
//#region src/plugins/optimize-imports.ts
|
|
11
11
|
/**
|
|
@@ -21,7 +21,8 @@ async function readFileSafe(filepath) {
|
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
23
|
* Packages whose barrel imports are automatically optimized.
|
|
24
|
-
* Matches Next.js's built-in optimizePackageImports defaults plus
|
|
24
|
+
* Matches Next.js's built-in optimizePackageImports defaults plus vinext-specific
|
|
25
|
+
* compatibility entries for radix-ui and @chakra-ui/react.
|
|
25
26
|
* @see https://github.com/vercel/next.js/blob/9c31bbdaa/packages/next/src/server/config.ts#L1301
|
|
26
27
|
*/
|
|
27
28
|
const DEFAULT_OPTIMIZE_PACKAGES = [
|
|
@@ -43,6 +44,7 @@ const DEFAULT_OPTIMIZE_PACKAGES = [
|
|
|
43
44
|
"rxjs",
|
|
44
45
|
"@mui/material",
|
|
45
46
|
"@mui/icons-material",
|
|
47
|
+
"@chakra-ui/react",
|
|
46
48
|
"recharts",
|
|
47
49
|
"react-use",
|
|
48
50
|
"effect",
|
|
@@ -199,7 +201,8 @@ async function resolvePackageEntry(packageName, projectRoot, preferReactServer)
|
|
|
199
201
|
}
|
|
200
202
|
const entryField = pkgJson.module ?? pkgJson.main;
|
|
201
203
|
if (typeof entryField === "string") return path.resolve(pkgDir, entryField);
|
|
202
|
-
|
|
204
|
+
const req = createRequire(path.join(projectRoot, "package.json"));
|
|
205
|
+
return toSlash(req.resolve(packageName));
|
|
203
206
|
} catch {
|
|
204
207
|
return null;
|
|
205
208
|
}
|
|
@@ -246,20 +249,22 @@ async function buildExportMapFromFile(filePath, readFile, cache, visited, initia
|
|
|
246
249
|
function normalizeSource(source) {
|
|
247
250
|
return source.startsWith(".") ? path.join(fileDir, source) : source;
|
|
248
251
|
}
|
|
252
|
+
function declarationNames(node) {
|
|
253
|
+
const names = /* @__PURE__ */ new Set();
|
|
254
|
+
if (!node) return names;
|
|
255
|
+
if (node.type === "FunctionDeclaration" || node.type === "ClassDeclaration") collectBindingNames(node.id, names);
|
|
256
|
+
else if (node.type === "VariableDeclaration") for (const declaration of node.declarations) collectBindingNames(declaration.id, names);
|
|
257
|
+
return names;
|
|
258
|
+
}
|
|
249
259
|
function recordLocalDeclaration(node) {
|
|
250
|
-
|
|
251
|
-
if (node.id?.name) {
|
|
252
|
-
localDeclarations.add(node.id.name);
|
|
253
|
-
return;
|
|
254
|
-
}
|
|
255
|
-
for (const declaration of node.declarations ?? []) if (declaration.id?.name) localDeclarations.add(declaration.id.name);
|
|
260
|
+
for (const name of declarationNames(node)) localDeclarations.add(name);
|
|
256
261
|
}
|
|
257
262
|
for (const node of ast.body) switch (node.type) {
|
|
258
263
|
case "ImportDeclaration": {
|
|
259
264
|
const rawSource = typeof node.source?.value === "string" ? node.source.value : null;
|
|
260
265
|
if (!rawSource) break;
|
|
261
266
|
const source = normalizeSource(rawSource);
|
|
262
|
-
for (const spec of node.specifiers
|
|
267
|
+
for (const spec of node.specifiers) switch (spec.type) {
|
|
263
268
|
case "ImportNamespaceSpecifier":
|
|
264
269
|
importBindings.set(spec.local.name, {
|
|
265
270
|
source,
|
|
@@ -267,22 +272,21 @@ async function buildExportMapFromFile(filePath, readFile, cache, visited, initia
|
|
|
267
272
|
});
|
|
268
273
|
break;
|
|
269
274
|
case "ImportSpecifier":
|
|
270
|
-
|
|
275
|
+
{
|
|
271
276
|
const name = getAstName(spec.imported);
|
|
272
|
-
if (name
|
|
277
|
+
if (name === null) break;
|
|
278
|
+
importBindings.set(spec.local.name, {
|
|
273
279
|
source,
|
|
274
280
|
isNamespace: false,
|
|
275
281
|
originalName: name
|
|
276
282
|
});
|
|
277
283
|
}
|
|
278
284
|
break;
|
|
279
|
-
case "ImportDefaultSpecifier":
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
});
|
|
285
|
-
break;
|
|
285
|
+
case "ImportDefaultSpecifier": importBindings.set(spec.local.name, {
|
|
286
|
+
source,
|
|
287
|
+
isNamespace: false,
|
|
288
|
+
originalName: "default"
|
|
289
|
+
});
|
|
286
290
|
}
|
|
287
291
|
break;
|
|
288
292
|
}
|
|
@@ -291,9 +295,7 @@ async function buildExportMapFromFile(filePath, readFile, cache, visited, initia
|
|
|
291
295
|
case "VariableDeclaration":
|
|
292
296
|
recordLocalDeclaration(node);
|
|
293
297
|
break;
|
|
294
|
-
case "ExportNamedDeclaration":
|
|
295
|
-
recordLocalDeclaration(node.declaration);
|
|
296
|
-
break;
|
|
298
|
+
case "ExportNamedDeclaration": recordLocalDeclaration(node.declaration);
|
|
297
299
|
}
|
|
298
300
|
for (const node of ast.body) switch (node.type) {
|
|
299
301
|
case "ExportAllDeclaration": {
|
|
@@ -341,7 +343,7 @@ async function buildExportMapFromFile(filePath, readFile, cache, visited, initia
|
|
|
341
343
|
const rawSource = typeof node.source?.value === "string" ? node.source.value : null;
|
|
342
344
|
if (rawSource) {
|
|
343
345
|
const source = normalizeSource(rawSource);
|
|
344
|
-
for (const spec of node.specifiers
|
|
346
|
+
for (const spec of node.specifiers) {
|
|
345
347
|
const exported = getAstName(spec.exported);
|
|
346
348
|
const local = getAstName(spec.local);
|
|
347
349
|
if (exported !== null) exportMap.set(exported, {
|
|
@@ -350,8 +352,7 @@ async function buildExportMapFromFile(filePath, readFile, cache, visited, initia
|
|
|
350
352
|
originalName: local ?? void 0
|
|
351
353
|
});
|
|
352
354
|
}
|
|
353
|
-
} else if (node.specifiers
|
|
354
|
-
if (!spec.exported) continue;
|
|
355
|
+
} else if (node.specifiers.length > 0) for (const spec of node.specifiers) {
|
|
355
356
|
const exported = getAstName(spec.exported);
|
|
356
357
|
const local = getAstName(spec.local);
|
|
357
358
|
if (exported === null || local === null) continue;
|
|
@@ -369,18 +370,11 @@ async function buildExportMapFromFile(filePath, readFile, cache, visited, initia
|
|
|
369
370
|
}
|
|
370
371
|
else if (node.declaration) {
|
|
371
372
|
const decl = node.declaration;
|
|
372
|
-
|
|
373
|
+
for (const name of declarationNames(decl)) exportMap.set(name, {
|
|
373
374
|
source: filePath,
|
|
374
375
|
isNamespace: false,
|
|
375
|
-
originalName:
|
|
376
|
+
originalName: name
|
|
376
377
|
});
|
|
377
|
-
else if (decl.declarations) {
|
|
378
|
-
for (const d of decl.declarations) if (d.id?.name) exportMap.set(d.id.name, {
|
|
379
|
-
source: filePath,
|
|
380
|
-
isNamespace: false,
|
|
381
|
-
originalName: d.id.name
|
|
382
|
-
});
|
|
383
|
-
}
|
|
384
378
|
}
|
|
385
379
|
break;
|
|
386
380
|
}
|
|
@@ -493,13 +487,9 @@ function createOptimizeImportsPlugin(getNextConfig, getRoot) {
|
|
|
493
487
|
}
|
|
494
488
|
const specifiers = [];
|
|
495
489
|
let allResolved = true;
|
|
496
|
-
for (const spec of node.specifiers
|
|
490
|
+
for (const spec of node.specifiers) {
|
|
497
491
|
switch (spec.type) {
|
|
498
492
|
case "ImportSpecifier": {
|
|
499
|
-
if (!spec.imported) {
|
|
500
|
-
allResolved = false;
|
|
501
|
-
break;
|
|
502
|
-
}
|
|
503
493
|
const imported = getAstName(spec.imported);
|
|
504
494
|
if (imported === null) {
|
|
505
495
|
allResolved = false;
|
|
@@ -519,15 +509,13 @@ function createOptimizeImportsPlugin(getNextConfig, getRoot) {
|
|
|
519
509
|
});
|
|
520
510
|
if (!exportMap.has("default")) allResolved = false;
|
|
521
511
|
break;
|
|
522
|
-
case "ImportNamespaceSpecifier":
|
|
523
|
-
allResolved = false;
|
|
524
|
-
break;
|
|
512
|
+
case "ImportNamespaceSpecifier": allResolved = false;
|
|
525
513
|
}
|
|
526
514
|
if (!allResolved) break;
|
|
527
515
|
}
|
|
528
516
|
if (!allResolved || specifiers.length === 0) {
|
|
529
517
|
if (allResolved === false) {
|
|
530
|
-
for (const spec of node.specifiers
|
|
518
|
+
for (const spec of node.specifiers) if (spec.type === "ImportSpecifier") {
|
|
531
519
|
const imported = getAstName(spec.imported);
|
|
532
520
|
if (imported !== null && !exportMap.has(imported)) {
|
|
533
521
|
console.debug(`[vinext:optimize-imports] skipping "${importSource}": could not resolve specifier "${imported}" in barrel export map`);
|
|
@@ -18,6 +18,5 @@ type PagesNodeExternalsOptions = {
|
|
|
18
18
|
* Vite's graph: Node cannot import it as ESM, while Rolldown can bundle the
|
|
19
19
|
* selected `import` export just like Turbopack.
|
|
20
20
|
*/
|
|
21
|
-
declare function createPagesNodeExternalsPlugin(options: PagesNodeExternalsOptions): Plugin;
|
|
22
|
-
//#endregion
|
|
23
|
-
export { createPagesNodeExternalsPlugin };
|
|
21
|
+
export declare function createPagesNodeExternalsPlugin(options: PagesNodeExternalsOptions): Plugin;
|
|
22
|
+
//#endregion
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import path from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
|
|
2
|
+
import { SCRIPT_MODULE_ID_RE, mayContainDynamicImport, scriptParserLanguage, staticStringValue, walkAst } from "./ast-utils.js";
|
|
2
3
|
import { canonicalizeFilePath, isPathInsideOrEqual, stripViteModuleQuery } from "../utils/path.js";
|
|
3
|
-
import { SCRIPT_MODULE_ID_RE, isAstRecord, mayContainDynamicImport, scriptParserLanguage, staticStringValue, walkAst } from "./ast-utils.js";
|
|
4
4
|
import { packageNameFromSpecifier } from "../utils/package-name.js";
|
|
5
5
|
import { isServerEnvironment } from "./environment.js";
|
|
6
6
|
import fs from "node:fs";
|
|
@@ -53,21 +53,16 @@ function moduleDependencySpecifiers(code, id) {
|
|
|
53
53
|
}
|
|
54
54
|
const specifiers = [];
|
|
55
55
|
const seen = /* @__PURE__ */ new Set();
|
|
56
|
-
const sourceSpecifier = (source) => {
|
|
57
|
-
if (!isAstRecord(source)) return null;
|
|
58
|
-
return staticStringValue(source);
|
|
59
|
-
};
|
|
60
56
|
const addStaticSource = (source) => {
|
|
61
|
-
const specifier =
|
|
57
|
+
const specifier = staticStringValue(source);
|
|
62
58
|
if (specifier === null || seen.has(specifier)) return;
|
|
63
59
|
seen.add(specifier);
|
|
64
60
|
specifiers.push(specifier);
|
|
65
61
|
};
|
|
66
|
-
for (const statement of ast.body) {
|
|
67
|
-
if (
|
|
68
|
-
if (statement.type
|
|
69
|
-
|
|
70
|
-
}
|
|
62
|
+
for (const statement of ast.body) if (statement.type === "ImportDeclaration" || statement.type === "ExportNamedDeclaration" || statement.type === "ExportAllDeclaration") {
|
|
63
|
+
if (statement.type === "ImportDeclaration" && statement.importKind === "type") continue;
|
|
64
|
+
if (statement.type !== "ImportDeclaration" && statement.exportKind === "type") continue;
|
|
65
|
+
addStaticSource(statement.source);
|
|
71
66
|
}
|
|
72
67
|
if (!mayContainDynamicImport(code)) return specifiers;
|
|
73
68
|
const visitDynamicImports = (node) => {
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
//#region src/plugins/postcss.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* PostCSS config file names to search for, in priority order.
|
|
4
|
+
* Matches the same search order as postcss-load-config / lilconfig.
|
|
5
|
+
*/
|
|
6
|
+
export declare const POSTCSS_CONFIG_FILES: string[];
|
|
2
7
|
/**
|
|
3
8
|
* Module-level cache for resolvePostcssStringPlugins — avoids re-scanning per Vite environment.
|
|
4
9
|
* Stores the Promise itself so concurrent calls (RSC/SSR/Client config() hooks firing in
|
|
5
10
|
* parallel) all await the same in-flight scan rather than each starting their own.
|
|
6
11
|
*/
|
|
7
|
-
declare const postcssCache: Map<string, Promise<{
|
|
12
|
+
export declare const postcssCache: Map<string, Promise<{
|
|
8
13
|
plugins: unknown[];
|
|
9
14
|
} | undefined>>;
|
|
10
15
|
/**
|
|
@@ -19,8 +24,7 @@ declare const postcssCache: Map<string, Promise<{
|
|
|
19
24
|
* Returns the resolved PostCSS config object to inject into Vite's
|
|
20
25
|
* `css.postcss`, or `undefined` if no resolution is needed.
|
|
21
26
|
*/
|
|
22
|
-
declare function resolvePostcssStringPlugins(projectRoot: string): Promise<{
|
|
27
|
+
export declare function resolvePostcssStringPlugins(projectRoot: string): Promise<{
|
|
23
28
|
plugins: unknown[];
|
|
24
29
|
} | undefined>;
|
|
25
|
-
//#endregion
|
|
26
|
-
export { postcssCache, resolvePostcssStringPlugins };
|
|
30
|
+
//#endregion
|
package/dist/plugins/postcss.js
CHANGED
|
@@ -15,6 +15,5 @@ type RemoveConsoleResult = {
|
|
|
15
15
|
*
|
|
16
16
|
* Returns `null` if no console calls are removed.
|
|
17
17
|
*/
|
|
18
|
-
declare function removeConsoleCalls(code: string, config: RemoveConsoleConfig): RemoveConsoleResult | null;
|
|
19
|
-
//#endregion
|
|
20
|
-
export { removeConsoleCalls };
|
|
18
|
+
export declare function removeConsoleCalls(code: string, config: RemoveConsoleConfig): RemoveConsoleResult | null;
|
|
19
|
+
//#endregion
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Plugin, createIdResolver } from "vite";
|
|
2
2
|
//#region src/plugins/require-condition-resolution.d.ts
|
|
3
|
-
declare function isConditionalRequireScriptModuleId(id: string): boolean;
|
|
3
|
+
export declare function isConditionalRequireScriptModuleId(id: string): boolean;
|
|
4
4
|
/**
|
|
5
5
|
* Resolve literal package `require()` calls while Vite still knows they are
|
|
6
6
|
* CommonJS references. `vite-plugin-commonjs` subsequently hoists each call
|
|
@@ -11,6 +11,5 @@ declare function isConditionalRequireScriptModuleId(id: string): boolean;
|
|
|
11
11
|
*/
|
|
12
12
|
type IdResolverFactory = typeof createIdResolver;
|
|
13
13
|
type CommonJsTransformFilter = (id: string) => boolean | undefined;
|
|
14
|
-
declare function createRequireConditionResolutionPlugin(createResolver?: IdResolverFactory, commonjsTransformFilter?: CommonJsTransformFilter): Plugin;
|
|
15
|
-
//#endregion
|
|
16
|
-
export { createRequireConditionResolutionPlugin, isConditionalRequireScriptModuleId };
|
|
14
|
+
export declare function createRequireConditionResolutionPlugin(createResolver?: IdResolverFactory, commonjsTransformFilter?: CommonJsTransformFilter): Plugin;
|
|
15
|
+
//#endregion
|