Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions packages/vite/scripts/generateTarget.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,33 @@ import { getCompatibleVersions } from 'baseline-browser-mapping'
const targetDate = '2026-01-01'

// https://esbuild.github.io/api/#target
const baselineToEsbuildTargetMap: Record<string, string> = {
chrome: 'chrome',
edge: 'edge',
firefox: 'firefox',
safari: 'safari',
safari_ios: 'ios',
}

const esbuildSupportedBrowsers = new Set([
'chrome',
'edge',
'firefox',
'safari',
'ios',
])

const results = getCompatibleVersions({
widelyAvailableOnDate: targetDate,
})

const esbuildTargets = results
.map((target) => {
return {
browser: baselineToEsbuildTargetMap[target.browser],
version: target.version,
}
})
.filter((target) => esbuildSupportedBrowsers.has(target.browser))
.map((target) => `${target.browser}${target.version}`)

Expand Down
1 change: 1 addition & 0 deletions packages/vite/src/node/__tests__/plugins/css.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,7 @@ describe('convertTargets', () => {
edge: 5177344,
firefox: 3801088,
safari: 786432,
ios_saf: 786432,
opera: 3276800,
})
expect(convertTargets(['safari13.1', 'ios13', 'node14'])).toStrictEqual({
Expand Down
1 change: 1 addition & 0 deletions packages/vite/src/node/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ export const ESBUILD_BASELINE_WIDELY_AVAILABLE_TARGET: string[] = [
'edge111',
'firefox114',
'safari16.4',
'ios16.4',
]

export const DEFAULT_CONFIG_FILES: string[] = [
Expand Down
34 changes: 24 additions & 10 deletions packages/vite/src/node/plugins/css.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3387,25 +3387,39 @@ const map: Record<

const esMap: Record<number, string[]> = {
// https://caniuse.com/?search=es2015
2015: ['chrome49', 'edge13', 'safari10', 'firefox44', 'opera36'],
2015: ['chrome49', 'edge13', 'safari10', 'ios10', 'firefox44', 'opera36'],
// https://caniuse.com/?search=es2016
2016: ['chrome50', 'edge13', 'safari10', 'firefox43', 'opera37'],
2016: ['chrome50', 'edge13', 'safari10', 'ios10', 'firefox43', 'opera37'],
// https://caniuse.com/?search=es2017
2017: ['chrome58', 'edge15', 'safari11', 'firefox52', 'opera45'],
2017: ['chrome58', 'edge15', 'safari11', 'ios11', 'firefox52', 'opera45'],
// https://caniuse.com/?search=es2018
2018: ['chrome63', 'edge79', 'safari12', 'firefox58', 'opera50'],
2018: ['chrome63', 'edge79', 'safari12', 'ios12', 'firefox58', 'opera50'],
// https://caniuse.com/?search=es2019
2019: ['chrome73', 'edge79', 'safari12.1', 'firefox64', 'opera60'],
2019: ['chrome73', 'edge79', 'safari12.1', 'ios12.1', 'firefox64', 'opera60'],
// https://caniuse.com/?search=es2020
2020: ['chrome80', 'edge80', 'safari14.1', 'firefox80', 'opera67'],
2020: ['chrome80', 'edge80', 'safari14.1', 'ios14.5', 'firefox80', 'opera67'],
// https://caniuse.com/?search=es2021
2021: ['chrome85', 'edge85', 'safari14.1', 'firefox80', 'opera71'],
2021: ['chrome85', 'edge85', 'safari14.1', 'ios14.5', 'firefox80', 'opera71'],
// https://caniuse.com/?search=es2022
2022: ['chrome94', 'edge94', 'safari16.4', 'firefox93', 'opera80'],
2022: ['chrome94', 'edge94', 'safari16.4', 'ios16.4', 'firefox93', 'opera80'],
// https://caniuse.com/?search=es2023
2023: ['chrome110', 'edge110', 'safari16.4', 'firefox146', 'opera96'],
2023: [
'chrome110',
'edge110',
'safari16.4',
'ios16.4',
'firefox146',
'opera96',
],
// https://caniuse.com/sr-es15
2024: ['chrome119', 'edge119', 'safari17.4', 'firefox145', 'opera105'],
2024: [
'chrome119',
'edge119',
'safari17.4',
'ios17.4',
'firefox145',
'opera105',
],
}

const esRE = /es(\d{4})/
Expand Down
Loading