Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

vp migrate doesn't flag esbuild-specific config (minify: "esbuild") — migrated project fails to build on Vite 8

Aperta
#3,176 0 commenti 1 reazione 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@john-okeefe ci sta già lavorando.

Dal 21/10/2026.

  • #3178 di @john-okeefe — aperta

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

contribution welcome

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" in vite.config.ts
Repro
  1. Start from a Vite 7 project whose config contains:
export default defineConfig({
  build: {
    minify: "esbuild",
    // ...
  },
});
  1. npm install -D vite-plus
  2. vp migrate --no-interactive
What migrate did
  • ✅ Rewrote scripts: vite build → vp build (including --watch / --mode development variants)
  • ✅ Aliased vite to @voidzero-dev/vite-plus-core + added an overrides pin
  • ✅ 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 transformWithEsbuild in 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

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di voidzero-dev/vite-plus

Tutte le issue di voidzero-dev/vite-plus

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.