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
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
//#region src/plugins/ast-utils.ts
|
|
2
2
|
const SCRIPT_MODULE_EXTENSION_RE = /^\.(?:[cm]?[jt]s|[jt]sx)$/i;
|
|
3
3
|
const SCRIPT_MODULE_ID_RE = /\.(?:[cm]?[jt]s|[jt]sx)(?:[?#].*)?$/i;
|
|
4
|
-
const TRANSPARENT_EXPRESSION_TYPES = /* @__PURE__ */ new Set([
|
|
5
|
-
"ChainExpression",
|
|
6
|
-
"ParenthesizedExpression",
|
|
7
|
-
"TSAsExpression",
|
|
8
|
-
"TSInstantiationExpression",
|
|
9
|
-
"TSNonNullExpression",
|
|
10
|
-
"TSSatisfiesExpression",
|
|
11
|
-
"TSTypeAssertion"
|
|
12
|
-
]);
|
|
13
4
|
/**
|
|
14
5
|
* Cheap pre-parse gate for plugins that only transform *dynamic* `import(...)`.
|
|
15
6
|
*
|
|
@@ -62,47 +53,27 @@ const SKIP_CHILD_KEYS = /* @__PURE__ */ new Set([
|
|
|
62
53
|
"start",
|
|
63
54
|
"end"
|
|
64
55
|
]);
|
|
65
|
-
function getObjectProperty(value, key) {
|
|
66
|
-
if (typeof value !== "object" || value === null) return null;
|
|
67
|
-
return Reflect.get(value, key);
|
|
68
|
-
}
|
|
69
|
-
function isAstRecord(value) {
|
|
70
|
-
return typeof getObjectProperty(value, "type") === "string";
|
|
71
|
-
}
|
|
72
|
-
function toAstRecord(value) {
|
|
73
|
-
return isAstRecord(value) ? value : null;
|
|
74
|
-
}
|
|
75
|
-
function nodeArray(value) {
|
|
76
|
-
return Array.isArray(value) ? value : [];
|
|
77
|
-
}
|
|
78
|
-
function hasRange(node) {
|
|
79
|
-
return node !== null && typeof node.start === "number" && typeof node.end === "number";
|
|
80
|
-
}
|
|
81
56
|
function isIdentifierNamed(value, name) {
|
|
82
|
-
return
|
|
57
|
+
return value?.type === "Identifier" && value.name === name;
|
|
83
58
|
}
|
|
84
|
-
function getAstName(
|
|
85
|
-
|
|
86
|
-
if (
|
|
87
|
-
if (node.type === "Identifier" && typeof node.name === "string") return node.name;
|
|
88
|
-
if (typeof node.value === "string") return node.value;
|
|
59
|
+
function getAstName(node) {
|
|
60
|
+
if (node?.type === "Identifier") return node.name;
|
|
61
|
+
if (node?.type === "Literal" && typeof node.value === "string") return node.value;
|
|
89
62
|
return null;
|
|
90
63
|
}
|
|
91
64
|
/** Remove syntax-only wrappers while preserving the underlying expression. */
|
|
92
|
-
function unwrapExpression(
|
|
93
|
-
|
|
94
|
-
if (
|
|
95
|
-
return
|
|
65
|
+
function unwrapExpression(node) {
|
|
66
|
+
if (!node) return null;
|
|
67
|
+
if (node.type === "ChainExpression" || node.type === "ParenthesizedExpression" || node.type === "TSAsExpression" || node.type === "TSInstantiationExpression" || node.type === "TSNonNullExpression" || node.type === "TSSatisfiesExpression" || node.type === "TSTypeAssertion") return unwrapExpression(node.expression);
|
|
68
|
+
return node;
|
|
96
69
|
}
|
|
97
70
|
/** Return the value of a string literal node, without evaluating expressions. */
|
|
98
|
-
function stringLiteralValue(
|
|
99
|
-
|
|
100
|
-
if ((node?.type === "Literal" || node?.type === "StringLiteral") && typeof node.value === "string") return node.value;
|
|
71
|
+
function stringLiteralValue(node) {
|
|
72
|
+
if (node?.type === "Literal" && typeof node.value === "string") return node.value;
|
|
101
73
|
return null;
|
|
102
74
|
}
|
|
103
75
|
/** Return the value of a boolean literal node, without evaluating expressions. */
|
|
104
|
-
function booleanLiteralValue(
|
|
105
|
-
const node = toAstRecord(value);
|
|
76
|
+
function booleanLiteralValue(node) {
|
|
106
77
|
return node?.type === "Literal" && typeof node.value === "boolean" ? node.value : null;
|
|
107
78
|
}
|
|
108
79
|
/**
|
|
@@ -110,32 +81,22 @@ function booleanLiteralValue(value) {
|
|
|
110
81
|
* template literal. This deliberately does not fold concatenations or other
|
|
111
82
|
* expressions.
|
|
112
83
|
*/
|
|
113
|
-
function staticStringValue(
|
|
114
|
-
const node = toAstRecord(value);
|
|
84
|
+
function staticStringValue(node) {
|
|
115
85
|
if (!node) return null;
|
|
116
86
|
const literal = stringLiteralValue(node);
|
|
117
87
|
if (literal !== null) return literal;
|
|
118
|
-
if (node.type !== "TemplateLiteral" ||
|
|
119
|
-
const
|
|
120
|
-
if (quasis.length !== 1) return null;
|
|
121
|
-
const
|
|
122
|
-
if (quasi?.type !== "TemplateElement" || typeof quasi.value !== "object" || !quasi.value) return null;
|
|
123
|
-
const cooked = Reflect.get(quasi.value, "cooked");
|
|
124
|
-
const raw = Reflect.get(quasi.value, "raw");
|
|
88
|
+
if (node.type !== "TemplateLiteral" || node.expressions.length !== 0) return null;
|
|
89
|
+
const quasi = node.quasis[0];
|
|
90
|
+
if (!quasi || node.quasis.length !== 1) return null;
|
|
91
|
+
const { cooked, raw } = quasi.value;
|
|
125
92
|
return typeof cooked === "string" ? cooked : typeof raw === "string" ? raw : null;
|
|
126
93
|
}
|
|
127
94
|
function forEachAstChild(node, callback) {
|
|
128
95
|
for (const [key, value] of Object.entries(node)) {
|
|
129
96
|
if (SKIP_CHILD_KEYS.has(key)) continue;
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
continue;
|
|
134
|
-
}
|
|
135
|
-
if (Array.isArray(value)) for (const item of value) {
|
|
136
|
-
const itemNode = toAstRecord(item);
|
|
137
|
-
if (itemNode) callback(itemNode);
|
|
138
|
-
}
|
|
97
|
+
if (Array.isArray(value)) {
|
|
98
|
+
for (const item of value) if (typeof item === "object" && item !== null && "type" in item) callback(item);
|
|
99
|
+
} else if (typeof value === "object" && value !== null && "type" in value) callback(value);
|
|
139
100
|
}
|
|
140
101
|
}
|
|
141
102
|
/**
|
|
@@ -144,17 +105,15 @@ function forEachAstChild(node, callback) {
|
|
|
144
105
|
* expression. Parent links and source-location metadata are skipped by
|
|
145
106
|
* {@link forEachAstChild}, so OXC's cyclic `parent` references are safe.
|
|
146
107
|
*/
|
|
147
|
-
function walkAst(
|
|
148
|
-
|
|
149
|
-
if (!node || visitor(node) === false) return;
|
|
108
|
+
function walkAst(node, visitor) {
|
|
109
|
+
if (visitor(node) === false) return;
|
|
150
110
|
forEachAstChild(node, (child) => walkAst(child, visitor));
|
|
151
111
|
}
|
|
152
|
-
function collectBindingNames(
|
|
153
|
-
const node = toAstRecord(pattern);
|
|
112
|
+
function collectBindingNames(node, target) {
|
|
154
113
|
if (!node) return;
|
|
155
114
|
switch (node.type) {
|
|
156
115
|
case "Identifier":
|
|
157
|
-
|
|
116
|
+
target.add(node.name);
|
|
158
117
|
return;
|
|
159
118
|
case "RestElement":
|
|
160
119
|
collectBindingNames(node.argument, target);
|
|
@@ -166,19 +125,16 @@ function collectBindingNames(pattern, target) {
|
|
|
166
125
|
collectBindingNames(node.parameter, target);
|
|
167
126
|
return;
|
|
168
127
|
case "ArrayPattern":
|
|
169
|
-
for (const element of
|
|
128
|
+
for (const element of node.elements) collectBindingNames(element, target);
|
|
170
129
|
return;
|
|
171
130
|
case "ObjectPattern":
|
|
172
|
-
for (const property of
|
|
173
|
-
const propertyNode = toAstRecord(property);
|
|
174
|
-
if (!propertyNode) continue;
|
|
175
|
-
collectBindingNames(propertyNode.type === "Property" ? propertyNode.value : propertyNode.argument, target);
|
|
176
|
-
}
|
|
131
|
+
for (const property of node.properties) collectBindingNames(property.type === "Property" ? property.value : property.argument, target);
|
|
177
132
|
return;
|
|
178
133
|
case "Property":
|
|
179
134
|
collectBindingNames(node.value, target);
|
|
180
135
|
return;
|
|
136
|
+
default: return;
|
|
181
137
|
}
|
|
182
138
|
}
|
|
183
139
|
//#endregion
|
|
184
|
-
export { DYNAMIC_IMPORT_PRESCAN, SCRIPT_MODULE_ID_RE, booleanLiteralValue, collectBindingNames, forEachAstChild, getAstName,
|
|
140
|
+
export { DYNAMIC_IMPORT_PRESCAN, SCRIPT_MODULE_ID_RE, booleanLiteralValue, collectBindingNames, forEachAstChild, getAstName, isIdentifierNamed, mayContainDynamicImport, scriptParserLanguage, staticStringValue, stringLiteralValue, unwrapExpression, walkAst };
|
|
@@ -12,6 +12,5 @@ import { Plugin } from "vite";
|
|
|
12
12
|
* environment and provides a no-op AsyncLocalStorage — semantically
|
|
13
13
|
* correct since shims already guard with `_als.getStore() ?? fallback`.
|
|
14
14
|
*/
|
|
15
|
-
declare const asyncHooksStubPlugin: Plugin;
|
|
16
|
-
//#endregion
|
|
17
|
-
export { asyncHooksStubPlugin };
|
|
15
|
+
export declare const asyncHooksStubPlugin: Plugin;
|
|
16
|
+
//#endregion
|
|
@@ -14,12 +14,12 @@ type PackageImportSpecifier = {
|
|
|
14
14
|
* Handles scoped packages (`@org/name`) and nested node_modules.
|
|
15
15
|
* Returns `null` if the path doesn't contain `/node_modules/`.
|
|
16
16
|
*/
|
|
17
|
-
declare function extractPackageName(absolutePath: string): string | null;
|
|
17
|
+
export declare function extractPackageName(absolutePath: string): string | null;
|
|
18
18
|
/**
|
|
19
19
|
* Convert an absolute package file path into the least lossy bare import
|
|
20
20
|
* specifier that can be handed back to Vite's dependency optimizer.
|
|
21
21
|
*/
|
|
22
|
-
declare function extractPackageImportSpecifier(absolutePath: string, readPackageJson?: ReadPackageJson): Promise<PackageImportSpecifier | null>;
|
|
22
|
+
export declare function extractPackageImportSpecifier(absolutePath: string, readPackageJson?: ReadPackageJson): Promise<PackageImportSpecifier | null>;
|
|
23
23
|
/**
|
|
24
24
|
* Intercepts absolute node_modules path imports originating from RSC
|
|
25
25
|
* `client-in-server-package-proxy` virtual modules in the client environment
|
|
@@ -29,6 +29,5 @@ declare function extractPackageImportSpecifier(absolutePath: string, readPackage
|
|
|
29
29
|
*
|
|
30
30
|
* Dev-only — production builds use the SSR manifest which handles this correctly.
|
|
31
31
|
*/
|
|
32
|
-
declare function clientReferenceDedupPlugin(options?: ClientReferenceDedupOptions): Plugin;
|
|
33
|
-
//#endregion
|
|
34
|
-
export { clientReferenceDedupPlugin, extractPackageImportSpecifier, extractPackageName };
|
|
32
|
+
export declare function clientReferenceDedupPlugin(options?: ClientReferenceDedupOptions): Plugin;
|
|
33
|
+
//#endregion
|
|
@@ -2,12 +2,11 @@ import { ScriptParserLanguage } from "./ast-utils.js";
|
|
|
2
2
|
import { Plugin } from "vite";
|
|
3
3
|
import MagicString from "magic-string";
|
|
4
4
|
//#region src/plugins/css-module-imports.d.ts
|
|
5
|
-
declare function rewriteCssModuleNamespaceImports(code: string, lang?: ScriptParserLanguage): {
|
|
5
|
+
export declare function rewriteCssModuleNamespaceImports(code: string, lang?: ScriptParserLanguage): {
|
|
6
6
|
code: string;
|
|
7
7
|
map: ReturnType<MagicString["generateMap"]>;
|
|
8
8
|
} | null;
|
|
9
|
-
declare function createCssModuleImportCompatibilityPlugin(options?: {
|
|
9
|
+
export declare function createCssModuleImportCompatibilityPlugin(options?: {
|
|
10
10
|
compiledMdx?: boolean;
|
|
11
11
|
}): Plugin;
|
|
12
|
-
//#endregion
|
|
13
|
-
export { createCssModuleImportCompatibilityPlugin, rewriteCssModuleNamespaceImports };
|
|
12
|
+
//#endregion
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { magicStringTransformResult } from "./transform-result.js";
|
|
2
1
|
import { SCRIPT_MODULE_ID_RE, scriptParserLanguage } 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/css-module-imports.ts
|
|
@@ -6,7 +6,6 @@ type TransformResult = {
|
|
|
6
6
|
map: ReturnType<MagicString["generateMap"]>;
|
|
7
7
|
};
|
|
8
8
|
type ResolveDynamicImport = (specifier: string, importer: string) => Promise<string | null>;
|
|
9
|
-
declare function transformNextDynamicPreloadMetadata(code: string, id: string, root: string, resolveDynamicImport: ResolveDynamicImport): Promise<TransformResult | null>;
|
|
10
|
-
declare function createDynamicPreloadMetadataPlugin(): Plugin;
|
|
11
|
-
//#endregion
|
|
12
|
-
export { createDynamicPreloadMetadataPlugin, transformNextDynamicPreloadMetadata };
|
|
9
|
+
export declare function transformNextDynamicPreloadMetadata(code: string, id: string, root: string, resolveDynamicImport: ResolveDynamicImport): Promise<TransformResult | null>;
|
|
10
|
+
export declare function createDynamicPreloadMetadataPlugin(): Plugin;
|
|
11
|
+
//#endregion
|
|
@@ -1,145 +1,70 @@
|
|
|
1
1
|
import path, { toSlash } from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
|
|
2
|
-
import {
|
|
3
|
-
import { stripViteModuleQuery } from "../utils/path.js";
|
|
2
|
+
import { collectBindingNames, forEachAstChild, stringLiteralValue, walkAst } from "./ast-utils.js";
|
|
4
3
|
import { hasTrailingComma } from "../utils/has-trailing-comma.js";
|
|
5
4
|
import { magicStringTransformResult } from "./transform-result.js";
|
|
6
|
-
import {
|
|
5
|
+
import { stripViteModuleQuery } from "../utils/path.js";
|
|
7
6
|
import { relativeWithinRoot, tryRealpathSync } from "../build/ssr-manifest.js";
|
|
8
7
|
import { parseAst } from "vite";
|
|
9
8
|
import MagicString from "magic-string";
|
|
10
9
|
//#region src/plugins/dynamic-preload-metadata.ts
|
|
11
|
-
function getString(node, key) {
|
|
12
|
-
const value = node[key];
|
|
13
|
-
return typeof value === "string" ? value : null;
|
|
14
|
-
}
|
|
15
|
-
function getNumber(node, key) {
|
|
16
|
-
const value = node[key];
|
|
17
|
-
return typeof value === "number" ? value : null;
|
|
18
|
-
}
|
|
19
|
-
function getArray(node, key) {
|
|
20
|
-
const value = node[key];
|
|
21
|
-
return Array.isArray(value) ? value : [];
|
|
22
|
-
}
|
|
23
|
-
function getBoolean(node, key) {
|
|
24
|
-
return node[key] === true;
|
|
25
|
-
}
|
|
26
|
-
function importSource(node) {
|
|
27
|
-
const source = node.source;
|
|
28
|
-
if (!isUnknownRecord(source)) return null;
|
|
29
|
-
return stringLiteralValue(source);
|
|
30
|
-
}
|
|
31
10
|
function isNextDynamicSource(source) {
|
|
32
11
|
return source === "next/dynamic" || source === "next/dynamic.js";
|
|
33
12
|
}
|
|
34
13
|
function collectDynamicImportLocals(ast) {
|
|
35
14
|
const locals = /* @__PURE__ */ new Set();
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
if (!
|
|
39
|
-
|
|
40
|
-
if (!isNextDynamicSource(importSource(node))) continue;
|
|
41
|
-
for (const specifier of getArray(node, "specifiers")) {
|
|
42
|
-
if (!isUnknownRecord(specifier)) continue;
|
|
43
|
-
if (getString(specifier, "type") !== "ImportDefaultSpecifier") continue;
|
|
44
|
-
const local = getAstName(specifier.local);
|
|
45
|
-
if (local) locals.add(local);
|
|
46
|
-
}
|
|
15
|
+
for (const node of ast.body) {
|
|
16
|
+
if (node.type !== "ImportDeclaration") continue;
|
|
17
|
+
if (!isNextDynamicSource(stringLiteralValue(node.source))) continue;
|
|
18
|
+
for (const specifier of node.specifiers) if (specifier.type === "ImportDefaultSpecifier") locals.add(specifier.local.name);
|
|
47
19
|
}
|
|
48
20
|
return locals;
|
|
49
21
|
}
|
|
50
22
|
function isIdentifierNameInSet(node, names) {
|
|
51
|
-
|
|
52
|
-
return getString(node, "type") === "Identifier" && names.has(getString(node, "name") ?? "");
|
|
23
|
+
return node.type === "Identifier" && names.has(node.name);
|
|
53
24
|
}
|
|
54
25
|
function isDynamicCall(node, dynamicLocals) {
|
|
55
|
-
|
|
56
|
-
return isIdentifierNameInSet(node.callee, dynamicLocals);
|
|
26
|
+
return node.type === "CallExpression" && isIdentifierNameInSet(node.callee, dynamicLocals);
|
|
57
27
|
}
|
|
58
28
|
function addBindingName(pattern, names) {
|
|
59
|
-
|
|
60
|
-
const type = getString(pattern, "type");
|
|
61
|
-
if (type === null) return;
|
|
62
|
-
switch (type) {
|
|
63
|
-
case "Identifier": {
|
|
64
|
-
const name = getString(pattern, "name");
|
|
65
|
-
if (name) names.add(name);
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
case "AssignmentPattern":
|
|
69
|
-
addBindingName(pattern.left, names);
|
|
70
|
-
return;
|
|
71
|
-
case "RestElement":
|
|
72
|
-
addBindingName(pattern.argument, names);
|
|
73
|
-
return;
|
|
74
|
-
case "ArrayPattern":
|
|
75
|
-
for (const element of getArray(pattern, "elements")) addBindingName(element, names);
|
|
76
|
-
return;
|
|
77
|
-
case "ObjectPattern":
|
|
78
|
-
for (const property of getArray(pattern, "properties")) {
|
|
79
|
-
if (!isUnknownRecord(property)) continue;
|
|
80
|
-
if (getString(property, "type") === "RestElement") {
|
|
81
|
-
addBindingName(property.argument, names);
|
|
82
|
-
continue;
|
|
83
|
-
}
|
|
84
|
-
addBindingName(property.value, names);
|
|
85
|
-
}
|
|
86
|
-
return;
|
|
87
|
-
default: return;
|
|
88
|
-
}
|
|
29
|
+
collectBindingNames(pattern, names);
|
|
89
30
|
}
|
|
90
31
|
function addVariableDeclarationBindingNames(node, names) {
|
|
91
|
-
if (
|
|
92
|
-
for (const declaration of
|
|
32
|
+
if (node?.type !== "VariableDeclaration") return;
|
|
33
|
+
for (const declaration of node.declarations) addBindingName(declaration.id, names);
|
|
93
34
|
}
|
|
94
35
|
function collectBlockScopedBindingNames(body) {
|
|
95
36
|
const names = /* @__PURE__ */ new Set();
|
|
96
37
|
for (const statement of body) {
|
|
97
|
-
if (
|
|
98
|
-
|
|
99
|
-
if (type === "VariableDeclaration") {
|
|
100
|
-
if (getString(statement, "kind") !== "var") addVariableDeclarationBindingNames(statement, names);
|
|
38
|
+
if (statement.type === "VariableDeclaration") {
|
|
39
|
+
if (statement.kind !== "var") addVariableDeclarationBindingNames(statement, names);
|
|
101
40
|
continue;
|
|
102
41
|
}
|
|
103
|
-
if (type === "FunctionDeclaration" || type === "ClassDeclaration")
|
|
104
|
-
const name = getAstName(statement.id);
|
|
105
|
-
if (name) names.add(name);
|
|
106
|
-
}
|
|
42
|
+
if ((statement.type === "FunctionDeclaration" || statement.type === "ClassDeclaration") && statement.id) names.add(statement.id.name);
|
|
107
43
|
}
|
|
108
44
|
return names;
|
|
109
45
|
}
|
|
110
46
|
function collectSwitchScopedBindingNames(node) {
|
|
111
47
|
const names = /* @__PURE__ */ new Set();
|
|
112
|
-
for (const switchCase of
|
|
113
|
-
if (!isUnknownRecord(switchCase)) continue;
|
|
114
|
-
for (const statement of getArray(switchCase, "consequent")) for (const name of collectBlockScopedBindingNames([statement])) names.add(name);
|
|
115
|
-
}
|
|
48
|
+
for (const switchCase of node.cases) for (const statement of switchCase.consequent) for (const name of collectBlockScopedBindingNames([statement])) names.add(name);
|
|
116
49
|
return names;
|
|
117
50
|
}
|
|
118
51
|
function collectVarBindingNames(value, names) {
|
|
119
|
-
if (!
|
|
120
|
-
const type =
|
|
52
|
+
if (!value) return;
|
|
53
|
+
const type = value.type;
|
|
121
54
|
if (type === "FunctionDeclaration" || type === "FunctionExpression" || type === "ArrowFunctionExpression") return;
|
|
122
|
-
if (type === "VariableDeclaration" &&
|
|
123
|
-
|
|
124
|
-
if (key === "parent") continue;
|
|
125
|
-
if (Array.isArray(child)) for (const item of child) collectVarBindingNames(item, names);
|
|
126
|
-
else if (isUnknownRecord(child)) collectVarBindingNames(child, names);
|
|
127
|
-
}
|
|
55
|
+
if (type === "VariableDeclaration" && value.kind === "var") addVariableDeclarationBindingNames(value, names);
|
|
56
|
+
forEachAstChild(value, (child) => collectVarBindingNames(child, names));
|
|
128
57
|
}
|
|
129
58
|
function collectFunctionScopeBindingNames(node) {
|
|
130
59
|
const names = /* @__PURE__ */ new Set();
|
|
131
|
-
if (
|
|
132
|
-
|
|
133
|
-
if (name) names.add(name);
|
|
134
|
-
}
|
|
135
|
-
for (const param of getArray(node, "params")) addBindingName(param, names);
|
|
60
|
+
if (node.type === "FunctionExpression" && node.id) names.add(node.id.name);
|
|
61
|
+
for (const param of node.params) addBindingName(param, names);
|
|
136
62
|
collectVarBindingNames(node.body, names);
|
|
137
63
|
return names;
|
|
138
64
|
}
|
|
139
65
|
function collectForBindingNames(node) {
|
|
140
66
|
const names = /* @__PURE__ */ new Set();
|
|
141
|
-
addVariableDeclarationBindingNames(node.init, names);
|
|
142
|
-
addVariableDeclarationBindingNames(node.left, names);
|
|
67
|
+
addVariableDeclarationBindingNames(node.type === "ForStatement" ? node.init : node.left, names);
|
|
143
68
|
return names;
|
|
144
69
|
}
|
|
145
70
|
function withoutBindings(activeNames, localNames) {
|
|
@@ -153,29 +78,25 @@ function withoutBindings(activeNames, localNames) {
|
|
|
153
78
|
return scoped ?? activeNames;
|
|
154
79
|
}
|
|
155
80
|
function visitChildren(node, dynamicLocals, visitor) {
|
|
156
|
-
|
|
157
|
-
if (key === "parent") continue;
|
|
158
|
-
if (Array.isArray(child)) for (const item of child) visitDynamicCalls(item, dynamicLocals, visitor);
|
|
159
|
-
else if (isUnknownRecord(child)) visitDynamicCalls(child, dynamicLocals, visitor);
|
|
160
|
-
}
|
|
81
|
+
forEachAstChild(node, (child) => visitDynamicCalls(child, dynamicLocals, visitor));
|
|
161
82
|
}
|
|
162
83
|
function visitDynamicCalls(value, dynamicLocals, visitor) {
|
|
163
|
-
if (
|
|
164
|
-
const type =
|
|
84
|
+
if (dynamicLocals.size === 0) return;
|
|
85
|
+
const type = value.type;
|
|
165
86
|
if (type === "Program") {
|
|
166
|
-
const scoped = withoutBindings(dynamicLocals, collectBlockScopedBindingNames(
|
|
167
|
-
for (const statement of
|
|
87
|
+
const scoped = withoutBindings(dynamicLocals, collectBlockScopedBindingNames(value.body));
|
|
88
|
+
for (const statement of value.body) visitDynamicCalls(statement, scoped, visitor);
|
|
168
89
|
return;
|
|
169
90
|
}
|
|
170
91
|
if (type === "BlockStatement") {
|
|
171
|
-
const scoped = withoutBindings(dynamicLocals, collectBlockScopedBindingNames(
|
|
172
|
-
for (const statement of
|
|
92
|
+
const scoped = withoutBindings(dynamicLocals, collectBlockScopedBindingNames(value.body));
|
|
93
|
+
for (const statement of value.body) visitDynamicCalls(statement, scoped, visitor);
|
|
173
94
|
return;
|
|
174
95
|
}
|
|
175
96
|
if (type === "SwitchStatement") {
|
|
176
97
|
visitDynamicCalls(value.discriminant, dynamicLocals, visitor);
|
|
177
98
|
const scoped = withoutBindings(dynamicLocals, collectSwitchScopedBindingNames(value));
|
|
178
|
-
for (const switchCase of
|
|
99
|
+
for (const switchCase of value.cases) visitDynamicCalls(switchCase, scoped, visitor);
|
|
179
100
|
return;
|
|
180
101
|
}
|
|
181
102
|
if (type === "FunctionDeclaration" || type === "FunctionExpression" || type === "ArrowFunctionExpression") {
|
|
@@ -184,8 +105,7 @@ function visitDynamicCalls(value, dynamicLocals, visitor) {
|
|
|
184
105
|
}
|
|
185
106
|
if (type === "ClassDeclaration" || type === "ClassExpression") {
|
|
186
107
|
const names = /* @__PURE__ */ new Set();
|
|
187
|
-
|
|
188
|
-
if (name) names.add(name);
|
|
108
|
+
if (value.id) names.add(value.id.name);
|
|
189
109
|
visitChildren(value, withoutBindings(dynamicLocals, names), visitor);
|
|
190
110
|
return;
|
|
191
111
|
}
|
|
@@ -205,8 +125,9 @@ function visitDynamicCalls(value, dynamicLocals, visitor) {
|
|
|
205
125
|
function collectImportSpecifiers(node) {
|
|
206
126
|
const specifiers = [];
|
|
207
127
|
const seen = /* @__PURE__ */ new Set();
|
|
128
|
+
if (!node) return specifiers;
|
|
208
129
|
walkAst(node, (item) => {
|
|
209
|
-
if (
|
|
130
|
+
if (item.type === "ImportExpression") {
|
|
210
131
|
const specifier = stringLiteralValue(item.source);
|
|
211
132
|
if (specifier && !seen.has(specifier)) {
|
|
212
133
|
seen.add(specifier);
|
|
@@ -214,26 +135,18 @@ function collectImportSpecifiers(node) {
|
|
|
214
135
|
}
|
|
215
136
|
return;
|
|
216
137
|
}
|
|
217
|
-
if (getString(item, "type") !== "CallExpression") return;
|
|
218
|
-
const callee = item.callee;
|
|
219
|
-
if (!isUnknownRecord(callee) || getString(callee, "type") !== "Import") return;
|
|
220
|
-
const firstArg = getArray(item, "arguments")[0];
|
|
221
|
-
const specifier = stringLiteralValue(firstArg);
|
|
222
|
-
if (specifier && !seen.has(specifier)) {
|
|
223
|
-
seen.add(specifier);
|
|
224
|
-
specifiers.push(specifier);
|
|
225
|
-
}
|
|
226
138
|
});
|
|
227
139
|
return specifiers;
|
|
228
140
|
}
|
|
229
141
|
function propertyKeyName(property) {
|
|
230
|
-
if (
|
|
231
|
-
|
|
232
|
-
|
|
142
|
+
if (property.computed) return null;
|
|
143
|
+
const key = property.key;
|
|
144
|
+
if (key.type === "Identifier") return key.name;
|
|
145
|
+
return stringLiteralValue(key);
|
|
233
146
|
}
|
|
234
147
|
function objectProperties(node) {
|
|
235
|
-
if (
|
|
236
|
-
return
|
|
148
|
+
if (node?.type !== "ObjectExpression") return [];
|
|
149
|
+
return node.properties.filter((property) => property.type === "Property");
|
|
237
150
|
}
|
|
238
151
|
function hasObjectProperty(node, name) {
|
|
239
152
|
return objectProperties(node).some((property) => propertyKeyName(property) === name);
|
|
@@ -242,34 +155,24 @@ function findObjectProperty(node, name) {
|
|
|
242
155
|
return objectProperties(node).find((property) => propertyKeyName(property) === name) ?? null;
|
|
243
156
|
}
|
|
244
157
|
function dynamicLoaderNode(firstArg) {
|
|
245
|
-
if (
|
|
158
|
+
if (firstArg?.type !== "ObjectExpression") return firstArg;
|
|
246
159
|
return (findObjectProperty(firstArg, "loader") ?? findObjectProperty(firstArg, "modules"))?.value;
|
|
247
160
|
}
|
|
248
|
-
function
|
|
249
|
-
|
|
250
|
-
for (let index = properties.length - 1; index >= 0; index -= 1) if (getNumber(properties[index], "end") !== null) return properties[index];
|
|
251
|
-
return null;
|
|
161
|
+
function findLastObjectMember(node) {
|
|
162
|
+
return node.properties.at(-1) ?? null;
|
|
252
163
|
}
|
|
253
164
|
function appendObjectProperty(output, objectNode, property) {
|
|
254
|
-
const
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
const lastProperty = findLastEndedProperty(objectNode);
|
|
258
|
-
if (!lastProperty) {
|
|
259
|
-
output.appendLeft(start + 1, property);
|
|
165
|
+
const lastMember = findLastObjectMember(objectNode);
|
|
166
|
+
if (!lastMember) {
|
|
167
|
+
output.appendLeft(objectNode.start + 1, property);
|
|
260
168
|
return true;
|
|
261
169
|
}
|
|
262
|
-
|
|
263
|
-
if (propertyEnd === null) return false;
|
|
264
|
-
output.appendLeft(propertyEnd, `, ${property}`);
|
|
170
|
+
output.appendLeft(lastMember.end, `, ${property}`);
|
|
265
171
|
return true;
|
|
266
172
|
}
|
|
267
173
|
function insertSecondOptionsArgument(output, code, callNode, firstArg, optionsLiteral) {
|
|
268
|
-
const
|
|
269
|
-
const
|
|
270
|
-
if (callEnd === null || firstArgEnd === null) return false;
|
|
271
|
-
const closeParen = callEnd - 1;
|
|
272
|
-
const separator = hasTrailingComma(code.slice(firstArgEnd, closeParen)) ? " " : ", ";
|
|
174
|
+
const closeParen = callNode.end - 1;
|
|
175
|
+
const separator = hasTrailingComma(code.slice(firstArg.end, closeParen)) ? " " : ", ";
|
|
273
176
|
output.appendLeft(closeParen, `${separator}${optionsLiteral}`);
|
|
274
177
|
return true;
|
|
275
178
|
}
|
|
@@ -285,10 +188,8 @@ function cachedRootRealpath(root) {
|
|
|
285
188
|
}
|
|
286
189
|
/** `code` offset -> human `:line:column` (1-based), for build error messages. */
|
|
287
190
|
function formatNodeLocation(code, node) {
|
|
288
|
-
const
|
|
289
|
-
|
|
290
|
-
const before = code.slice(0, start);
|
|
291
|
-
return `:${before.split("\n").length}:${start - before.lastIndexOf("\n")}`;
|
|
191
|
+
const before = code.slice(0, node.start);
|
|
192
|
+
return `:${before.split("\n").length}:${node.start - before.lastIndexOf("\n")}`;
|
|
292
193
|
}
|
|
293
194
|
function toManifestModuleId(root, resolvedId) {
|
|
294
195
|
const cleaned = cleanResolvedId(resolvedId);
|
|
@@ -322,15 +223,15 @@ function shouldSkipCall(firstArg, secondArg) {
|
|
|
322
223
|
return hasObjectProperty(secondArg, "loadableGenerated");
|
|
323
224
|
}
|
|
324
225
|
function applyLoadableGenerated(output, code, callNode, moduleIds) {
|
|
325
|
-
const args =
|
|
226
|
+
const args = callNode.arguments;
|
|
326
227
|
const firstArg = args[0];
|
|
327
228
|
const secondArg = args[1];
|
|
328
|
-
if (!
|
|
229
|
+
if (!firstArg) return false;
|
|
329
230
|
if (shouldSkipCall(firstArg, secondArg)) return false;
|
|
330
231
|
const property = `loadableGenerated: { modules: ${JSON.stringify(moduleIds)} }`;
|
|
331
|
-
if (
|
|
232
|
+
if (firstArg.type === "ObjectExpression") return appendObjectProperty(output, firstArg, property);
|
|
332
233
|
if (secondArg === void 0) return insertSecondOptionsArgument(output, code, callNode, firstArg, `{ ${property} }`);
|
|
333
|
-
if (
|
|
234
|
+
if (secondArg?.type === "ObjectExpression") return appendObjectProperty(output, secondArg, property);
|
|
334
235
|
return false;
|
|
335
236
|
}
|
|
336
237
|
async function transformNextDynamicPreloadMetadata(code, id, root, resolveDynamicImport) {
|
|
@@ -348,7 +249,7 @@ async function transformNextDynamicPreloadMetadata(code, id, root, resolveDynami
|
|
|
348
249
|
let changed = false;
|
|
349
250
|
const pending = [];
|
|
350
251
|
visitDynamicCalls(ast, dynamicLocals, (node) => {
|
|
351
|
-
const args =
|
|
252
|
+
const args = node.arguments;
|
|
352
253
|
if (args.length > 2) throw new Error(`next/dynamic only accepts 2 arguments (${id}${formatNodeLocation(code, node)})`);
|
|
353
254
|
const specifiers = collectImportSpecifiers(dynamicLoaderNode(args[0]));
|
|
354
255
|
if (specifiers.length === 0) return;
|
|
@@ -6,6 +6,5 @@ type PluginEnvironment = {
|
|
|
6
6
|
};
|
|
7
7
|
};
|
|
8
8
|
/** Whether a Vite environment produces server-consumed output. */
|
|
9
|
-
declare function isServerEnvironment(environment: PluginEnvironment): boolean;
|
|
10
|
-
//#endregion
|
|
11
|
-
export { isServerEnvironment };
|
|
9
|
+
export declare function isServerEnvironment(environment: PluginEnvironment): boolean;
|
|
10
|
+
//#endregion
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Plugin } from "vite";
|
|
2
2
|
//#region src/plugins/extensionless-dynamic-import.d.ts
|
|
3
|
-
declare function createExtensionlessDynamicImportPlugin(): Plugin;
|
|
4
|
-
//#endregion
|
|
5
|
-
export { createExtensionlessDynamicImportPlugin };
|
|
3
|
+
export declare function createExtensionlessDynamicImportPlugin(): Plugin;
|
|
4
|
+
//#endregion
|
|
@@ -1,9 +1,9 @@
|
|
|
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 { DYNAMIC_IMPORT_PRESCAN, SCRIPT_MODULE_ID_RE, scriptParserLanguage, walkAst } from "./ast-utils.js";
|
|
3
4
|
import { isUnknownRecord } from "../utils/record.js";
|
|
4
|
-
import { NODE_MODULES_PATH_RE } from "../utils/path.js";
|
|
5
5
|
import { magicStringTransformResult } from "./transform-result.js";
|
|
6
|
-
import {
|
|
6
|
+
import { NODE_MODULES_PATH_RE } from "../utils/path.js";
|
|
7
7
|
import { createTransformCache } from "./transform-cache.js";
|
|
8
8
|
import { createRequire } from "node:module";
|
|
9
9
|
import fs from "node:fs";
|
|
@@ -88,12 +88,11 @@ function collectExtensionlessImports(ast, code, config, id) {
|
|
|
88
88
|
return imports;
|
|
89
89
|
}
|
|
90
90
|
function parseExtensionlessImport(node, code, config, id) {
|
|
91
|
-
if (node.type !== "ImportExpression"
|
|
91
|
+
if (node.type !== "ImportExpression") return null;
|
|
92
92
|
if (node.options != null) return null;
|
|
93
93
|
const source = node.source;
|
|
94
|
-
if (
|
|
95
|
-
|
|
96
|
-
const quasiTexts = nodeArray(source.quasis).map(templateElementText);
|
|
94
|
+
if (source.type !== "TemplateLiteral" || source.expressions.length === 0) return null;
|
|
95
|
+
const quasiTexts = source.quasis.map(templateElementText);
|
|
97
96
|
if (quasiTexts.some((text) => text == null)) return null;
|
|
98
97
|
const texts = quasiTexts;
|
|
99
98
|
const first = texts[0];
|
|
@@ -427,10 +426,7 @@ function isImportPrefix(value) {
|
|
|
427
426
|
return true;
|
|
428
427
|
}
|
|
429
428
|
function templateElementText(value) {
|
|
430
|
-
|
|
431
|
-
const templateValue = value.value;
|
|
432
|
-
if (typeof templateValue !== "object" || templateValue === null) return null;
|
|
433
|
-
const cooked = Reflect.get(templateValue, "cooked");
|
|
429
|
+
const { cooked } = value.value;
|
|
434
430
|
return typeof cooked === "string" ? cooked : null;
|
|
435
431
|
}
|
|
436
432
|
function getModuleExtensions(config) {
|