File tree Expand file tree Collapse file tree
packages/plugin-legacy/src Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -24,7 +24,6 @@ import type {
2424} from '@babel/core'
2525import colors from 'picocolors'
2626import browserslist from 'browserslist'
27- import browserslistToEsbuild from 'browserslist-to-esbuild'
2827import type { Options } from './types'
2928import {
3029 detectModernBrowserCode ,
@@ -189,7 +188,7 @@ function viteLegacyPlugin(options: Options = {}): Plugin[] {
189188 const legacyConfigPlugin : Plugin = {
190189 name : 'vite:legacy-config' ,
191190
192- config ( config , env ) {
191+ async config ( config , env ) {
193192 if ( env . command === 'build' && ! config . build ?. ssr ) {
194193 if ( ! config . build ) {
195194 config . build = { }
@@ -209,9 +208,16 @@ function viteLegacyPlugin(options: Options = {}): Plugin[] {
209208 // See https://github.com/vitejs/vite/pull/10052#issuecomment-1242076461
210209 overriddenBuildTarget = config . build . target !== undefined
211210 overriddenDefaultModernTargets = options . modernTargets !== undefined
212- config . build . target = options . modernTargets
213- ? browserslistToEsbuild ( options . modernTargets )
214- : modernTargetsEsbuild
211+
212+ if ( options . modernTargets ) {
213+ // Package is ESM only
214+ const { default : browserslistToEsbuild } = await import (
215+ 'browserslist-to-esbuild'
216+ )
217+ config . build . target = browserslistToEsbuild ( options . modernTargets )
218+ } else {
219+ config . build . target = modernTargetsEsbuild
220+ }
215221 }
216222 }
217223
You can’t perform that action at this time.
0 commit comments