Open the repository of a website you maintain, and you find the settings for vite.config.js, eslint.config.js, .prettierrc and Vitest, each on a different version. Every time you upgrade one of them, you have to recheck how it works with the other tools. We introduced "Vite+," VoidZero's unified toolchain that bundles these tools into one, during its beta in our article on the beta release.
That Vite+ has now reached 1.0. Is it safe to migrate now that it is 1.0? Have the license or pricing changed? Will it run on the Node.js versions on your machine and in CI? We cross-checked the release notes and npm's publication records, and summarize the results of creating a new project and migrating on this PC.
What became "stable" in 1.0
The v1.0.0 tag in the voidzero-dev/vite-plus repository points to the commit "release: v1.0.0: Vite+ 1.0 is stable," dated September 28, 2026 (02:20 UTC). vite-plus@1.0.0 on npm was published at 05:37 (UTC) the same day, and as of October 4, latest was also 1.0.0.
According to the release notes, 1.0.0 promoted the September 26 RC (v1.0.0-rc.1) to stable with "no code changes." The substantive changes are in the two RCs. In rc.0 on September 22, the test runner moved to Vitest 5 and the CLI's Node.js requirement changed. In rc.1, the task cache settings moved under cache. Both are treated as Breaking Changes in the release notes.
The tool versions bundled with 1.0.0 are as follows (checked against the table in the release notes and the output of vp --version).
| Role | Tool | Version in 1.0.0 |
|---|---|---|
| Dev server and build | Vite / Rolldown | 8.3.1 / 1.2.11 |
| Tests | Vitest | 5.0.1 |
| Linting (including type-aware rules) | Oxlint / oxlint-tsgolint | 1.85.0 / 7.0.2003 |
| Formatting | Oxfmt | 0.70.0 |
| Library builds | tsdown | 0.23.0 |
On the other hand, we found no document setting out a compatibility policy for 1.0 and later in the repository at v1.0.0 (README, docs and rfcs). It is safest to assume you will keep checking the "Breaking Changes" in the release notes with each update.
License and pricing have not changed
The repository's LICENSE is MIT, and license for version 1.0.0 of vite-plus and @voidzero-dev/vite-plus-core on npm is MIT. The license history shows that the Business Source License 1.1 (a license that restricts production use) was put in place on October 27, 2025, and that it was switched to MIT on February 27, 2026, with "chore: Switch to MIT License." The terms for commercial use changed at that point in February, and nothing new changed with 1.0. Regarding pricing, VoidZero's 1.0 announcement dated September 28 describes Vite+ as "free and MIT-licensed open source." We also found no mention of paid plans or usage fees in the repository's documents. The announcement also says that features such as remote caching are planned for future versions, meaning the feature set was not complete as of 1.0.
Node.js requirements: the 20 line and versions below 22.18 are dropped
What directly determines whether you can migrate is the Node.js requirement. engines as recorded on npm changed as follows.
- 0.3.3 (September 18):
^20.19.0 || ^22.18.0 || >=24.11.0 - 1.0.0-rc.0 and later, and 1.0.0:
^22.18.0 || ^24.11.0 || >=26.0.0
Node.js 20.x is no longer supported, and 22.x requires 22.18.0 or later. Because >=24.11.0 changed to ^24.11.0, the odd-numbered 25.x line is also excluded. vp staged, used in pre-commit hooks, is stricter still and requires Node.js ^22.22.1 || ^24.11.0 || >=26.0.0 and Git 2.32.0 or later (per the rc.0 release notes). Node.js's own support periods are covered in our article on Node.js 24 entering maintenance and 26 becoming LTS.
If 20.x or an older 22.x remains anywhere in CI, on developer machines or on build servers, things will stop there. Inventory the versions in .nvmrc, package.json, GitHub Actions and your hosting provider's build settings first.
We tried a new project and a migration on this PC
From here on, this is hands-on testing. On October 4, 2026, we installed vite-plus@1.0.0 into projects in an isolated working directory on Linux (Node.js v22.22.0, npm 10.9.4, git 2.43.0). We did not use the global installer because we could not connect to vite.plus.
With npm 10.9.4, it would not install as is
Running npm install -D vite-plus@1.0.0 in an empty project, npm 10.9.4 stopped with npm error Cannot read properties of null (reading 'edgesOut'). The npx --package=vite-plus@1.0.0 vp ... given in the official migration guide produced the same error. The same error also appeared when we added Vitest 4.1 to a separate project with Vite 8 installed, so this appears to be an issue with dependency resolution in this npm version rather than one specific to Vite+.
When we added overrides to package.json (replacing vite and pinning the version of vitest) following the manual setup steps in the README, it installed even with npm 10.9.4. With npm 11.21.0, npm exec --package=vite-plus@1.0.0 -- vp --version showed vp v1.0.0 without overrides. Check the npm version in your CI image beforehand as well.
New project: check, test and build passed
We scaffolded an app with vp create vite:application --no-interactive --package-manager npm, added one simple test and ran it. vp check, vp lint, vp test and vp build all exited with code 0.
$ npx vp check
pass: All 8 files are correctly formatted (516ms, 4 threads)
pass: Found no warnings, lint errors, or type errors in 4 files (602ms, 4 threads)
$ npx vp test
Test Files 1 passed (1)
Tests 1 passed (1)
The generated vite.config.ts enables type-aware linting and type checking (typeAware / typeCheck), and is set up so that a single vp check checks formatting, linting and types. Note that v22.22.0 does not meet the requirement for vp staged (22.22.1 or later), yet vp staged also ran without errors in this environment. Do not run on unsupported versions just because they happened to work.
Migrating an existing setup: the ESLint and Prettier configs disappear
Next, we created a small project using Vite 8, ESLint 9 (the recommended rules of @eslint/js) and Prettier 3 (semi: false, singleQuote: true), committed it to git, and then ran vp migrate --no-interactive.

The changes are as shown in the figure.
eslint.config.jsand.prettierrcwere deleted, and their contents moved tolintandfmtinvite.config.js(settings such assemi: falsewere also kept)- In
scripts,vitewas replaced withvp dev,eslint .withvp lint ., andprettier --write .withvp fmt . - devDependencies were reduced to just
vite-plusand the replacement forvite(@voidzero-dev/vite-plus-core) - ESLint's
no-dupe-argsandno-octalwere skipped as "Superseded by strict mode."
Right after migration, vp check exited with code 1 due to a formatting violation in index.html, and passed after vp check --fix. vp build also succeeded. The migration guide itself says, "Most projects will require further manual adjustments after running vp migrate."
In another case, running it on a project that contained Vitest tests but did not have Vitest installed stopped at BLOCK [source-version] Cannot determine the original Vitest version. and displayed "No project files were changed." The message asked us to install from the original lockfile and rerun, and the migration guide also says to start with the original dependencies and lockfile in place.
Each test was run once on test projects with only a few files. We did not test real client sites built with Astro or similar, setups with many ESLint plugins, pnpm, or monorepos.
Migrate or wait (editorial team's proposal)
Based on the facts above, here is the editorial team's assessment.
| Current situation | Editorial proposal |
|---|---|
| Node.js 20.x or a version below 22.18 remains somewhere in CI or the build environment | Upgrade Node.js first, then migrate to Vite+ |
| On a version earlier than Vite 8 or earlier than Vitest 4.1 | Upgrade Vite and Vitest first, and commit once tests pass before migrating |
| Heavy use of ESLint plugins and rules | List the rules skipped by the migration and decide whether you can accept losing those without a replacement |
| Already using Vite+ 0.3 | Follow the official "Upgrade from Vite+ 0.3 to 1.0" steps and run vp migrate before updating dependencies |
| Small sites rarely touched after delivery | Little reason to rush. Consider it alongside the next major update |
Migration steps and pitfalls
- Create a branch and start with the lockfile kept in place. If the original versions are unknown, migration stops for projects that include Vitest.
- Save the output of
vp migrate. Skipped rules and theBLOCKandREVIEWitems appear only there. - Review the
vp check --fixdiff before committing. Files that Prettier and Oxfmt format differently show up in the diff (index.htmlin our test). - Get
vp install,vp check,vp testandvp buildto pass. This is the verification order listed in the migration guide. - In CI, specify
voidzero-dev/setup-vpby exact version or commit SHA. The README warns, "Do not use thev1tag." (thev1tag is not updated). - Review your editor settings. In rc.0, the wrappers Vite+ provided for the
oxlintandoxfmtcommands were removed, and editors now usevp lint --lspandvp fmt --lsp. The type-checking path is not supported forbaseUrlintsconfig.json, and if the automatic fix during migration fails, type checking is not enabled (per the troubleshooting docs).
On October 4, 2026, we directly opened and cross-checked the README, LICENSE and docs/guide of the voidzero-dev/vite-plus repository (v1.0.0 = commit fc287d7), the release notes for v1.0.0 and the two RCs (the text recorded in the release commits), and the publication records in the npm registry. Installation, new project creation and migration were each checked once in the test environment described above. On October 5, we rechecked voidzero.dev's 1.0 announcement (dated September 28) and the npm registry's publication dates and
engines. We did not check migration of real client sites, pnpm, Yarn or Bun, Windows or macOS, or the globalvpCLI.
For reviewing development environments for sites and apps built with Vite, or planning migrations including CI, contact GleamHub.
Sources
- Announcing Vite+ 1.0 | VoidZero (September 28, 2026)
- voidzero-dev/vite-plus — README (v1.0.0)
- voidzero-dev/vite-plus — LICENSE (v1.0.0)
- voidzero-dev/vite-plus — release: v1.0.0: Vite+ 1.0 is stable (commit fc287d7)
- voidzero-dev/vite-plus — release: v1.0.0-rc.0 (tag)
- voidzero-dev/vite-plus — release: v1.0.0-rc.1 (tag)
- voidzero-dev/vite-plus — docs/guide/migrate.md (v1.0.0)
- voidzero-dev/vite-plus — docs/guide/migrate-rules.md (v1.0.0)
- voidzero-dev/vite-plus — docs/guide/troubleshooting.md (v1.0.0)
- voidzero-dev/vite-plus — chore: Switch to MIT License. (commit f6c223d)
- npm registry — vite-plus
- npm registry — @voidzero-dev/vite-plus-core









