Conversation
Revert #2654. `vp migrate` again preserves standalone Oxc configs in projects that already use Vite+. The added merge step deletes configs that imports or package scripts still use. It also copies JSON `extends` paths into incompatible inline config. Ecosystem tests reproduced these failures in [freecut](vite-plus-ecosystem-ci/freecut#9), [delta-comic](vite-plus-ecosystem-ci/delta-comic#9), [pdfme](vite-plus-ecosystem-ci/pdfme#7), and [sigle](vite-plus-ecosystem-ci/sigle#8). This revert restores an earlier limitation: interrupted migrations can leave Oxc configs unmerged. #2695 tracks the follow-up fix.
CLI artifact sizes (
|
| Artifact | Format | Base | PR | Change |
|---|---|---|---|---|
packages/cli/dist |
Directory total | 2.14 MiB | 2.15 MiB | +5.17 KiB (+0.24%) |
packages/core/dist |
Directory total | 3.94 MiB | 3.94 MiB | 0 B (0.00%) |
| Combined package dist | Directory total | 6.09 MiB | 6.09 MiB | +5.17 KiB (+0.08%) |
vp (Linux x64) |
Binary | 11.18 MiB | 11.18 MiB | 0 B (0.00%) |
vp (Linux x64) |
gzip -9 | 4.84 MiB | 4.84 MiB | 0 B (0.00%) |
| NAPI (Linux x64) | Binary | 32.12 MiB | 32.12 MiB | 0 B (0.00%) |
| NAPI (Linux x64) | gzip -9 | 12.71 MiB | 12.71 MiB | +5 B (+0.00%) |
vp (macOS ARM64) |
Binary | 8.33 MiB | 8.33 MiB | 0 B (0.00%) |
vp (macOS ARM64) |
gzip -9 | 4.21 MiB | 4.21 MiB | 0 B (0.00%) |
| NAPI (macOS ARM64) | Binary | 39.68 MiB | 39.68 MiB | 0 B (0.00%) |
| NAPI (macOS ARM64) | gzip -9 | 17.00 MiB | 17.00 MiB | +855 B (+0.00%) |
vp (Windows x64) |
Binary | 9.06 MiB | 9.06 MiB | 0 B (0.00%) |
vp (Windows x64) |
gzip -9 | 3.95 MiB | 3.95 MiB | 0 B (0.00%) |
| NAPI (Windows x64) | Binary | 27.03 MiB | 27.03 MiB | 0 B (0.00%) |
| NAPI (Windows x64) | gzip -9 | 10.80 MiB | 10.80 MiB | +445 B (+0.00%) |
| Trampoline (Windows x64) | Binary | 13.50 KiB | 13.50 KiB | 0 B (0.00%) |
| Trampoline (Windows x64) | gzip -9 | 7.03 KiB | 7.03 KiB | -1 B (-0.01%) |
| Installer (Windows x64) | Binary | 4.53 MiB | 4.53 MiB | 0 B (0.00%) |
| Installer (Windows x64) | gzip -9 | 2.12 MiB | 2.12 MiB | -1 B (-0.00%) |
Registry bridge build (
|
| Package | Version |
|---|---|
vite-plus |
0.0.0-commit.34e5e931bb3d24a88fa1473c3119827ea6345bfd |
@voidzero-dev/vite-plus-core |
0.0.0-commit.34e5e931bb3d24a88fa1473c3119827ea6345bfd |
Install the Vite+ CLI built from this commit, then migrate a project:
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/voidzero-dev/vite-plus/34e5e931bb3d24a88fa1473c3119827ea6345bfd/packages/cli/install.sh | VP_PR_VERSION=2695 VP_LEGACY_INSTALLER_URL=https://raw.githubusercontent.com/voidzero-dev/vite-plus/34e5e931bb3d24a88fa1473c3119827ea6345bfd/packages/cli/install-legacy.sh bash# Windows (PowerShell)
$env:VP_PR_VERSION="2695"; $env:VP_LEGACY_INSTALLER_URL="https://raw.githubusercontent.com/voidzero-dev/vite-plus/34e5e931bb3d24a88fa1473c3119827ea6345bfd/packages/cli/install-legacy.ps1"; irm https://raw.githubusercontent.com/voidzero-dev/vite-plus/34e5e931bb3d24a88fa1473c3119827ea6345bfd/packages/cli/install.ps1 | iexOr download the standalone Windows installer built from this commit:
| Architecture | Installer |
|---|---|
| x64 | vp-setup-x86_64-pc-windows-msvc.exe |
| Arm64 | vp-setup-aarch64-pc-windows-msvc.exe |
GitHub requires you to sign in and downloads each installer as a ZIP artifact. Extract vp-setup.exe, then run it against this preview build:
.\vp-setup.exe --version "0.0.0-commit.34e5e931bb3d24a88fa1473c3119827ea6345bfd" --registry "https://registry-bridge.viteplus.dev/"After installing, upgrade the current project's vite-plus to this test build with:
vp migrateOr point your package manager at the bridge registry https://registry-bridge.viteplus.dev/:
| Package manager | Registry config |
|---|---|
| npm / pnpm / Bun | .npmrc: registry=https://registry-bridge.viteplus.dev/ |
| Yarn (v2+) | .yarnrc.yml: npmRegistryServer: "https://registry-bridge.viteplus.dev/" |
Then pin the build (vite aliases to vite-plus-core; pnpm can use a catalog, npm an overrides entry):
{
"devDependencies": {
"vite-plus": "0.0.0-commit.34e5e931bb3d24a88fa1473c3119827ea6345bfd",
"vite": "npm:@voidzero-dev/vite-plus-core@0.0.0-commit.34e5e931bb3d24a88fa1473c3119827ea6345bfd"
}
}
🐳 Docker preview imageBuilt from this PR's registry bridge build:
# remove any stale local copy from a previous run, then pull fresh
docker rmi ghcr.io/voidzero-dev/vite-plus:pr-2695 2>/dev/null; docker pull ghcr.io/voidzero-dev/vite-plus:pr-2695Quick check: docker run --rm ghcr.io/voidzero-dev/vite-plus:pr-2695 vp --versionSee docs/guide/docker.md for usage. |
vp migratecan leave standalone Oxc configs after an interrupted migration installs Vite+. Restore the config merge step removed by #2696.The command merges unreferenced configs into
vite.config.ts. It preserves configs used by imports, package scripts, JSONextendschains, and existing inline settings. Retained configs keep their lint options.Explicit
--configand-cpaths take precedence over inline settings forvp lintandvp fmt.