Skip to content

Commit

Permalink
fix(plugin-legacy): dynamic import browserslist-to-esbuild (#16011)
Browse files Browse the repository at this point in the history
  • Loading branch information
bluwy committed Feb 22, 2024
1 parent 57463fc commit 42fd11c
Showing 1 changed file with 11 additions and 5 deletions.
16 changes: 11 additions & 5 deletions packages/plugin-legacy/src/index.ts
Expand Up @@ -24,7 +24,6 @@ import type {
} from '@babel/core'
import colors from 'picocolors'
import browserslist from 'browserslist'
import browserslistToEsbuild from 'browserslist-to-esbuild'
import type { Options } from './types'
import {
detectModernBrowserCode,
Expand Down Expand Up @@ -189,7 +188,7 @@ function viteLegacyPlugin(options: Options = {}): Plugin[] {
const legacyConfigPlugin: Plugin = {
name: 'vite:legacy-config',

config(config, env) {
async config(config, env) {
if (env.command === 'build' && !config.build?.ssr) {
if (!config.build) {
config.build = {}
Expand All @@ -209,9 +208,16 @@ function viteLegacyPlugin(options: Options = {}): Plugin[] {
// See https://github.com/vitejs/vite/pull/10052#issuecomment-1242076461
overriddenBuildTarget = config.build.target !== undefined
overriddenDefaultModernTargets = options.modernTargets !== undefined
config.build.target = options.modernTargets
? browserslistToEsbuild(options.modernTargets)
: modernTargetsEsbuild

if (options.modernTargets) {
// Package is ESM only
const { default: browserslistToEsbuild } = await import(
'browserslist-to-esbuild'
)
config.build.target = browserslistToEsbuild(options.modernTargets)
} else {
config.build.target = modernTargetsEsbuild
}
}
}

Expand Down

0 comments on commit 42fd11c

Please sign in to comment.