Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

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

Đang mở
#3,176 0 bình luận 1 reaction 1 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@john-okeefe đang làm issue này rồi.

Từ ngày 21/10/2026.

  • #3178 của @john-okeefe — đang mở

Đánh giá

Issue này chưa được đánh giá.

Mô tả

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
Ngôn ngữ chính
Rust
Star
6.3k
Fork
283
Merge trung bình
1 ngày 14 giờ
Pull request đã merge (30 ngày)
231

Chuẩn bị môi trường

Mở trong Codespaces

Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của voidzero-dev/vite-plus

Tất cả issue của voidzero-dev/vite-plus

Issue tương tự

Thêm issue về Rust

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.