vp migrate doesn't flag esbuild-specific config (minify: "esbuild") — migrated project fails to build on Vite 8
I maintainer di solito rispondono entro 1 giorno
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
vp migrate leaves esbuild-only config behind: minify: "esbuild" fails the build on Vite 8
Environment
- vite-plus: 1.3.0 (installed alongside an existing Vite 7.3.6 project, then migrated)
- Node 26.11.1, npm 11.20.0, Linux
- Project shape: vanilla TypeScript app, no framework, two entries,
build.minify: "esbuild"invite.config.ts
Repro
- Start from a Vite 7 project whose config contains:
export default defineConfig({
build: {
minify: "esbuild",
// ...
},
});
npm install -D vite-plusvp migrate --no-interactive
What migrate did
- ✅ Rewrote scripts:
vite build→vp build(including--watch/--mode developmentvariants) - ✅ Aliased
viteto@voidzero-dev/vite-plus-core+ added anoverridespin - ✅ Rewrote
import { defineConfig } from "vite"→"vite-plus"(consistent with the scoped-rewrite policy in #2004) - ❌ Left
minify: "esbuild"untouched
Result
vp build then fails hard:
[plugin vite:esbuild-transpile]
Error: Failed to load `transformWithEsbuild`. It is deprecated and it now requires esbuild to be installed separately. If you are a package author, please migrate to `transformWithOxc` instead.
Manual fix was one line: minify: "esbuild" → minify: true (oxc minifier). After that the project builds cleanly and ~7× faster than Vite 7, for what it's worth.
Expected
Either:
- migrate rewrites
minify: "esbuild"→minify: true, or - migrate emits a warning/diagnostic that esbuild-specific config was detected and must be updated, since Vite 8 no longer bundles esbuild and these options hard-fail instead of silently working.
I understand from #2004 that migrate deliberately only rewrites symbols vite-plus owns — config semantics being out of scope is coherent. But this particular leftover isn't a silent behavioral difference, it's a guaranteed build failure on the very next vp build, with an error message that doesn't mention minify or the config line responsible. A diagnostic at migrate time would turn a confusing post-migration failure into a one-line guided fix.
Suggested detection surface
build.minify === "esbuild"in any config file migrate touches- imports/calls of
transformWithEsbuildin project code or custom plugins
Related
- #2004 — migrate's scoped import-rewrite policy (why the import rewrite happened but config semantics were never in scope)
- vitejs/vite#22631 — same root cause class (Vite 8 unbundling esbuild breaking existing setups), different symptom
- Lingua principale
- Rust
- Stelle
- 6.3k
- Fork
- 283
- Merge medio
- 1g 14h
- PR unite (30g)
- 231
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di voidzero-dev/vite-plus
-
pending triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
voidzero-dev/vite-plus#2882 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
voidzero-dev/vite-plus#2097 · 10 commenti · 2 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
`pnpm create vite-plus` and `yarn create vite-plus` fail with `spawn vp ENOENT` when `vp` is not on PATHForse già presa @fengmk2 l’ha presa oggi. Apertabug
voidzero-dev/vite-plus#3177 · 1 reazione · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
`vp run`: scripts get a non-blocking stdin (EAGAIN) when `run` tasks in vite.config.ts use constantsApertapending triage
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
voidzero-dev/vite-plus#3155 ·
I maintainer di solito rispondono entro 1 giorno
-
Document cross-platform `FOO=bar cmd` in task commands and scriptsForse già presa @hyunbinseo l’ha presa 2 giorni fa. Apertadocumentation
voidzero-dev/vite-plus#3140 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di voidzero-dev/vite-plus
Issue simili
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 79/100
I maintainer di solito rispondono entro 1 giorno
-
test(breg): postgres_startup needs the tooling feature its required-features does not declareApertaarea:breg bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
registrystack/registry-stack#2307 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
farion1231/cc-switch#8696 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
C-bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 69/100
rust-lang/rust-analyzer#23547 ·
I maintainer di solito rispondono entro 1 giorno
-
tech-debt
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
OpenZeppelin/guardian#570 ·
I maintainer di solito rispondono entro 1 giorno