Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

オープン
#3,176 コメント 0 件 リアクション 1 件 担当者 1 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@john-okeefe がすでに取り組んでいます。

2026年10月21日 から。

  • #3178 @john-okeefe による — オープン

評価

この issue はまだ評価されていません。

説明

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
主要言語
Rust
スター
6.5k
フォーク
296
平均マージ
1日 12時間
マージ済み PR(30日)
229

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

voidzero-dev/vite-plus のほかの issue

voidzero-dev/vite-plus の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。