Vite+ now uses Vitest 5, and vp migrate helps Vitest 4 projects adopt the new APIs and defaults. Standalone installs and upgrades now require verified npm provenance for release binaries.
Breaking Changes
Vitest 5
vp test and the public vite-plus/test* exports now use vitest@5.0.1 (#2551), by @fengmk2.
| Area | Old | New |
|---|---|---|
| Test runner | vitest@4.1.11
| vitest@5.0.1
|
| CLI Node.js range | ^20.19.0 || ^22.18.0 || >=24.11.0
| ^22.18.0 || ^24.11.0 || >=26.0.0
|
vite-plus/test/runners and vite-plus/test/suite
| Vite+ compatibility exports | Use supported APIs from vite-plus/test; review unsupported runner and expect plugins
|
vite-plus/test/browser-webdriverio
| Bundled export | Use the community @vitest/browser-webdriverio package
|
Run vp migrate from the workspace root before you install the new dependencies. The migrator updates supported config, source, benchmark, command, and import changes. It reports manual work as BLOCK or REVIEW items. See the Vitest 5 migration guide for the full process. Projects can stay on the prior release until their runtimes and tests are ready.
Oxlint and Oxfmt editor commands
The vite-plus package no longer exposes the oxlint and oxfmt executable wrappers (#2672), by @fengmk2.
| Editor integration | Old command | New command |
|---|---|---|
| Oxlint language server | oxlint --lsp
| vp lint --lsp
|
| Oxfmt language server | oxfmt --lsp
| vp fmt --lsp
|
| Oxfmt stdin formatting | oxfmt --stdin-filepath <path>
| vp fmt --stdin-filepath <path>
|
Update editor settings and scripts that call the removed wrappers. Regular lint and format commands continue to use vp lint and vp fmt.
vp staged runtime requirements
vp staged now uses lint-staged@17.5.1 (#2754), by @fengmk2.
| Requirement | Old | New |
|---|---|---|
Node.js for vp staged
| The Vite+ CLI runtime range | ^22.22.1 || ^24.11.0 || >=26.0.0
|
| Git | No separate documented minimum | >=2.32.0
|
Update Node.js and Git on developer machines and CI runners that execute vp staged or its pre-commit hook. Other workflows do not use these extra requirements.
Highlights
- Standalone installers,
vp upgrade, andvp-setup.exenow reject release binaries without supported SLSA provenance (#2440), by @kazupon. - Installers now show progress and the exact shell activation command. Download progress preserves earlier terminal output (#2744, #2741), by @fengmk2.
- System-first runtime and package-manager shims now use a fallback directory at the end of
PATH. Setup restores missing package-manager preferences (#2758, #2763), by @liangmiQwQ and @fengmk2. vp runnow finishes when background processes remain. Large file traces run without caching instead of killing the task (#2767, vite-task#675), by @wan9chi.
Features
vp addnow supports shared install options such as--offline,--frozen-lockfile, and--lockfile-only(#2722), by @jong-kyung.vp pm patchandvp pm patch-commitnow use the native commands in npm 12 and later (#2736), by @jong-kyung.vp rebuildnow supports Yarn Berry and forwards package names and extra arguments (#2761), by @jong-kyung.- The bundled tools update
oxlint1.83.0->1.85.0,oxlint-tsgolint7.0.2001->7.0.2002, andoxfmt0.68.0->0.70.0(#2745, #2773, #2778), by @voidzero-guard[bot]. These versions can flag or format code that passed before. Runvp fmtafter upgrading if CI runsvp check.
Fixes & Enhancements
vp create vite:generatornow replaces catalog references for package managers that do not support catalogs (#2720), by @SaKaNa-Y.- Unpinned npm projects now use the npm version bundled with the selected Node.js runtime. The same policy works during migration (#2742, #2748), by @liangmiQwQ.
- The CLI now loads its local versions module through a file URL, including on Windows paths (#2749), by @YanChenBai.
- Package-manager commands now use pnpm when the project has no detected package manager (#2750), by @liangmiQwQ.
vp migratenow removes unused@oxlint/pluginsdependencies after it rewrites plugin imports (#2751), by @fengmk2.vp update --no-savenow warns that Yarn Classic and Yarn Berry do not support the option (#2762), by @jong-kyung.vp migratenow explains itstsdown@0.23compatibility settings and links to removal guidance (#2769), by @fengmk2.- Environment setup now installs and diagnoses the official
pnandpnxaliases for pnpm (#2770), by @iruoy. - Cached tasks now receive GitHub Actions OIDC variables, so npm Trusted Publishing works through
vp run(vite-task#691), by @naokihaba. - Automatic task input tracking now records file access from signal handlers (vite-task#687), by @wan9chi.
Refactor
vp lint,vp fmt, andvp checknow use native config discovery. Package commands keep matching workspace-root settings, while explicit config flags take precedence (#2731), by @fengmk2.
Chore
- Generated workflows and
vp migratenow usesetup-vp@v1.21.1, including its installation fixes (#2760, #2772), by @renovate[bot] and @fengmk2.
Bundled Versions
| Tool | Version | Source |
|---|---|---|
| vite | 8.3.0
| 434e8e9
|
| rolldown | 1.2.9
| 5b4746e
|
| tsdown | 0.23.0
| npm |
| vitest | 5.0.1
| npm |
| oxlint | 1.85.0
| npm |
| oxlint-tsgolint | 7.0.2002
| npm |
| oxfmt | 0.70.0
| npm |
Upgrade
vp upgradeNew Contributors
Full Changelog: v0.3.3...v1.0.0-rc.0
Published Packages
@voidzero-dev/vite-plus-core@1.0.0-rc.0vite-plus@1.0.0-rc.0
Installation
macOS/Linux:
curl -fsSL https://vite.plus | bashWindows:
irm https://vite.plus/ps1 | iexOr download and run vp-setup.exe from the assets below.
Docker:
docker run --rm -it -v "$PWD:/app" -w /app ghcr.io/voidzero-dev/vite-plus:1.0.0-rc.0 vp buildRun any vp command without installing it; see the Docker guide for more.