vp migrate doesn't flag esbuild-specific config (minify: "esbuild") — migrated project fails to build on Vite 8
メンテナーはふだん 1 日以内に返信
評価
この issue はまだ評価されていません。
説明
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
- 主要言語
- Rust
- スター
- 6.5k
- フォーク
- 296
- 平均マージ
- 1日 12時間
- マージ済み PR(30日)
- 229
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
voidzero-dev/vite-plus のほかの issue
-
Docker guide: the runtime stage needs libatomic1 for Node.js 25 and later対応中かも @kshanxs が 1 日前に担当しました。 オープンdocumentation
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
voidzero-dev/vite-plus#3219 · コメント 1 件 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
pending triage
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
voidzero-dev/vite-plus#2882 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
vp run -r executes each package task twice when the root package has a matching recursive script対応中かも @wan9chi が 1 日前に担当しました。 オープンpending triage
voidzero-dev/vite-plus#3221 · コメント 1 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
pending triage
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
voidzero-dev/vite-plus#3218 ·
メンテナーはふだん 1 日以内に返信
-
LSP loads vite.config.ts with the server's cwd as root対応中かも @leaysgur が 2 日前に担当しました。 オープンpending triage
voidzero-dev/vite-plus#3217 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
voidzero-dev/vite-plus の issue をすべて見る
似ている issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 67/100
rust-bitcoin/rust-bitcoin#7089 · コメント 1 件 · リアクション 1 件 ·
メンテナーはふだん 2 日以内に返信
-
area/tools bug session-analysis
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
[Bug]: Python OpenTelemetrySectionConfig has no file_sinks再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
NVIDIA/NeMo-Relay#1514 ·
メンテナーはふだん 1 日以内に返信
-
prompting proposal tool triaged
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
can1357/oh-my-pi#17041 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 84/100
nix-community/fenix#262 ·