vp migrate doesn't flag esbuild-specific config (minify: "esbuild") — migrated project fails to build on Vite 8
Mantenedores costumam responder em até 1 dia
Avaliação
Esta issue ainda não foi avaliada.
Descrição
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
- Linguagem predominante
- Rust
- Estrelas
- 6.3k
- Forks
- 283
- Merge médio
- 1d 12h
- PRs com merge (30d)
- 235
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de voidzero-dev/vite-plus
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
voidzero-dev/vite-plus#3219 ·
Mantenedores costumam responder em até 1 dia
-
pending triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
voidzero-dev/vite-plus#2882 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
pending triage
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
voidzero-dev/vite-plus#3218 ·
Mantenedores costumam responder em até 1 dia
-
LSP loads vite.config.ts with the server's cwd as rootTalvez já em andamento @leaysgur assumiu hoje. Abertapending triage
voidzero-dev/vite-plus#3217 · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
`vp run`: scripts get a non-blocking stdin (EAGAIN) when `run` tasks in vite.config.ts use constantsTalvez já em andamento @wan9chi assumiu há 1 dia. Abertabug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 55/100
voidzero-dev/vite-plus#3155 · 1 comentário · 1 responsável ·
Mantenedores costumam responder em até 1 dia
Todas as issues de voidzero-dev/vite-plus
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 64/100
DayuanJiang/PecoFence#139 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
nearai/compose-manager#73 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
akitaonrails/ai-memory#1664 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia