Describe the bug
Describe the bug
After upgrading Vite to 7.3.2, @vitejs/plugin-legacy started failing during the
legacy downgrade/transformation flow.
I investigated the issue and found that forcing esbuild to 0.27.4 makes the problem
disappear:
{
"overrides": {
"esbuild": "0.27.4"
}
}
So this appears to be a compatibility issue related to esbuild version resolution after
upgrading Vite.
Reproduction
Please provide a minimal reproduction repo if needed. I can prepare one.
Steps to reproduce
- Upgrade Vite to 7.3.2
- Use @vitejs/plugin-legacy
- Run the build
- See the failure
- Add:
{
"overrides": {
"esbuild": "0.27.4"
}
}
- Reinstall dependencies
- The problem disappears
Expected behavior
@vitejs/plugin-legacy should work correctly after upgrading to Vite 7.3.2 without
requiring an esbuild override.
Actual behavior
The build fails during the legacy transform step.
Error message
error during build:
[vite:esbuild-transpile] Transform failed with 1 error:
assets/_plugin-vue_export-helper-!~{014}~.js:3:13: ERROR: Transforming destructuring to the configured target environment ("chrome64", "edge79", "es2020", "firefox67", "safari12" + 2 overrides) is not supported yet
file: assets/_plugin-vue_export-helper-!~{014}~.js:3:13
Transforming destructuring to the configured target environment ("chrome64", "edge79", "es2020", "firefox67", "safari12" + 2 overrides) is not supported yet
1 | const _export_sfc = (sfc, props) => {
2 | const target = sfc.__vccOpts || sfc;
3 | for (const [key, val] of props) {
| ^
4 | target[key] = val;
5 | }
at failureErrorWithLog (D:\pro\lele-h5\leleyuyin-H5-vite\node_modules\esbuild\lib\main.js:1748:15)
at D:\pro\lele-h5\leleyuyin-H5-vite\node_modules\esbuild\lib\main.js:1017:50
at responseCallbacks.<computed> (D:\pro\lele-h5\leleyuyin-H5-vite\node_modules\esbuild\lib\main.js:884:9)
at handleIncomingPacket (D:\pro\lele-h5\leleyuyin-H5-vite\node_modules\esbuild\lib\main.js:939:12)
at Socket.readFromStdout (D:\pro\lele-h5\leleyuyin-H5-vite\node_modules\esbuild\lib\main.js:862:7)
at Socket.emit (node:events:524:28)
at addChunk (node:internal/streams/readable:561:12)
at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)
at Readable.push (node:internal/streams/readable:392:5)
at Pipe.onStreamRead (node:internal/stream_base_commons:191:23)
Environment
- Vite: 7.3.2
- @vitejs/plugin-legacy: ^7.2.1
- esbuild: ^0.28.0
- Node: 20.19.0
- Package manager: npm
- OS: Windows
Additional context
I also found related discussion/issues in the esbuild repository, which made me suspect
this may be caused by an esbuild compatibility change.
If helpful, I can provide the exact error stack and a minimal reproduction repository.
Reproduction
https://github.com/GXX182/vite-legacy-bug
Steps to reproduce
No response
System Info
System:
OS: Windows 10 10.0.19045
CPU: (12) x64 11th Gen Intel(R) Core(TM) i5-11400 @ 2.60GHz
Memory: 11.60 GB / 31.82 GB
Binaries:
Node: 20.19.0 - C:\Program Files\nodejs\node.EXE
npm: 10.8.2 - C:\Program Files\nodejs\npm.CMD
pnpm: 10.22.0 - C:\Program Files\nodejs\pnpm.CMD
Browsers:
Chrome: 146.0.7680.178
Edge: Chromium (140.0.3485.54)
Internet Explorer: 11.0.19041.4355
npmPackages:
@vitejs/plugin-legacy: ^7.2.1 => 7.2.1
@vitejs/plugin-vue: ^6.0.5 => 6.0.6
vite: 7.3.2 => 7.3.2
Used Package Manager
npm
Logs
No response
Validations
Describe the bug
Describe the bug
After upgrading Vite to
7.3.2,@vitejs/plugin-legacystarted failing during thelegacy downgrade/transformation flow.
I investigated the issue and found that forcing
esbuildto0.27.4makes the problemdisappear:
{ "overrides": { "esbuild": "0.27.4" } }So this appears to be a compatibility issue related to esbuild version resolution after
upgrading Vite.
Reproduction
Please provide a minimal reproduction repo if needed. I can prepare one.
Steps to reproduce
{ "overrides": { "esbuild": "0.27.4" } }Expected behavior
@vitejs/plugin-legacy should work correctly after upgrading to Vite 7.3.2 without
requiring an esbuild override.
Actual behavior
The build fails during the legacy transform step.
Error message
error during build: [vite:esbuild-transpile] Transform failed with 1 error: assets/_plugin-vue_export-helper-!~{014}~.js:3:13: ERROR: Transforming destructuring to the configured target environment ("chrome64", "edge79", "es2020", "firefox67", "safari12" + 2 overrides) is not supported yet file: assets/_plugin-vue_export-helper-!~{014}~.js:3:13 Transforming destructuring to the configured target environment ("chrome64", "edge79", "es2020", "firefox67", "safari12" + 2 overrides) is not supported yet 1 | const _export_sfc = (sfc, props) => { 2 | const target = sfc.__vccOpts || sfc; 3 | for (const [key, val] of props) { | ^ 4 | target[key] = val; 5 | } at failureErrorWithLog (D:\pro\lele-h5\leleyuyin-H5-vite\node_modules\esbuild\lib\main.js:1748:15) at D:\pro\lele-h5\leleyuyin-H5-vite\node_modules\esbuild\lib\main.js:1017:50 at responseCallbacks.<computed> (D:\pro\lele-h5\leleyuyin-H5-vite\node_modules\esbuild\lib\main.js:884:9) at handleIncomingPacket (D:\pro\lele-h5\leleyuyin-H5-vite\node_modules\esbuild\lib\main.js:939:12) at Socket.readFromStdout (D:\pro\lele-h5\leleyuyin-H5-vite\node_modules\esbuild\lib\main.js:862:7) at Socket.emit (node:events:524:28) at addChunk (node:internal/streams/readable:561:12) at readableAddChunkPushByteMode (node:internal/streams/readable:512:3) at Readable.push (node:internal/streams/readable:392:5) at Pipe.onStreamRead (node:internal/stream_base_commons:191:23)Environment
Additional context
I also found related discussion/issues in the esbuild repository, which made me suspect
this may be caused by an esbuild compatibility change.
If helpful, I can provide the exact error stack and a minimal reproduction repository.
Reproduction
https://github.com/GXX182/vite-legacy-bug
Steps to reproduce
No response
System Info
System: OS: Windows 10 10.0.19045 CPU: (12) x64 11th Gen Intel(R) Core(TM) i5-11400 @ 2.60GHz Memory: 11.60 GB / 31.82 GB Binaries: Node: 20.19.0 - C:\Program Files\nodejs\node.EXE npm: 10.8.2 - C:\Program Files\nodejs\npm.CMD pnpm: 10.22.0 - C:\Program Files\nodejs\pnpm.CMD Browsers: Chrome: 146.0.7680.178 Edge: Chromium (140.0.3485.54) Internet Explorer: 11.0.19041.4355 npmPackages: @vitejs/plugin-legacy: ^7.2.1 => 7.2.1 @vitejs/plugin-vue: ^6.0.5 => 6.0.6 vite: 7.3.2 => 7.3.2Used Package Manager
npm
Logs
No response
Validations