
VoidZero — now part of Cloudflare — shipped Vite+ 1.0 stable today. A single vp CLI now manages your Node.js version, installs packages, runs Vite 8, runs Vitest 5, lints with Oxlint, formats with Oxfmt, builds libraries via tsdown, and handles Git hooks — all configured from one vite.config.ts. Think of it as what Python’s uv did for Python packaging, applied to the JavaScript frontend stack. If you’ve been watching from the sidelines, stable is your cue.
What Vite+ Actually Is
Vite+ is not a framework and not a package manager. It is a toolchain superset — a single CLI named vp that manages the tools you already use, from a unified configuration file. You keep your existing framework (React, Vue, Svelte), your existing CI, your existing team. The vp commands replace the per-tool CLIs you currently juggle:
vp create— project scaffoldingvp install— dependency installationvp dev— Vite 8 dev server with HMRvp check— lint + format + type-check in one commandvp test— Vitest 5vp build— production build via Rolldownvp pack— library build, replacing tsup and tsdownvp run— task runner with caching, for monoreposvp env— Node.js version management, replacing nvm/fnm
The 1.0 release ships with Vite 8.3.4, Vitest 5.0.4, Rolldown 1.2.13, and Oxlint 1.88.0. VoidZero reports approaching two million weekly downloads with over 2,600 public repositories already on the package, including Tiptap, Hono, and Cloudflare’s own vinext.
What 1.0 Adds Beyond the Beta
The “stable” label carries real weight here. Specific additions since beta:
- GitLab CI support —
setup-vpaction joins the existing GitHub Actions support - Homebrew and Docker distribution — install without piping from curl
- tsup migration —
vp migrate --fullhandles tsup projects; tsdown 0.23 runs under the hood - Hooks system —
vp hooksandvp stagedreplace Husky and lint-staged - Diagnostic commands —
vp toolchainandvp env doctorfor troubleshooting
The October point-releases landed important runtime improvements as well. Version 1.1.0 (October 7) cut vp dev startup time by 24% and reduced parent process memory by 30%. Version 1.2.0 — released today — adds private npm registry authentication, installer SHA-512 verification, and fixes shell environment sourcing: a long PATH variable now resolves in 6ms instead of 1.5 seconds.
Migrating an Existing Project
For projects already on Vite 7+ and Vitest 4+, the path is straightforward. Start with the official migration guide:
vp upgrade # update global CLI first
vp migrate # shows a plan before touching anything
vp install
vp check
vp test
vp build # or vp pack for libraries
The vp migrate command merges ESLint, Prettier, Vitest, and tsup configurations into vite.config.ts, rewrites relevant imports, and updates package.json scripts. It shows its full plan before executing — run it on a branch and diff your CI workflows carefully before merging.
Husky is the one tool vp migrate does not handle automatically. You’ll migrate it by hand:
// vite.config.ts
export default defineConfig({
staged: {
'*': 'vp check --fix',
},
});
mkdir -p .vite-hooks
echo "vp staged" > .vite-hooks/pre-commit
vp hooks enable
# add "prepare": "vp config" to package.json scripts
Run vp hooks status to verify everything registered before removing your Husky configuration.
What to Know Before Switching
Vite+ is genuinely good. It is also genuinely limited in ways the announcement does not headline.
Oxlint covers roughly 80% of ESLint rules. That 20% gap hits hardest on framework-specific files: custom type-aware rules for Svelte, Vue, and Angular need manual adjustment or alternative coverage. If your project has a sophisticated ESLint plugin setup, audit your plugin list before migrating — this is the most likely migration blocker in production codebases.
Beyond linting, Nuxt integration required manual intervention at time of third-party testing. Next.js support was unclear. Bun is not supported as a package manager. Custom scripts in package.json require vp run prefixing, which creates minor friction in established projects with long-standing script conventions.
None of these block a new project. For an existing project with an opinionated toolchain, audit your stack against the v1.2.0 release notes before committing to migration.
The Cloudflare Question
Cloudflare acquired VoidZero in June 2026. Vite reaches 130 million weekly downloads. Cloudflare pledged $1 million to an independent ecosystem fund and has made repeated vendor-neutrality commitments. According to the official announcement, the toolchain remains MIT-licensed and community-governed.
The long-term integration play is obvious: a one-click path from vp build to Cloudflare Workers deployment, optimized at the bundler level in ways competitors cannot match. Whether that becomes lock-in depends on execution. For now, Cloudflare’s influence on Vite core is no greater than it was before the acquisition — but watch the roadmap over the next 12 months.
The Call
New projects: vp create today. The default stack is production-grade, setup time drops from hours to minutes, and the Oxlint performance advantage (50x to 100x faster than ESLint on large codebases) is real and verifiable.
Existing projects: audit your ESLint plugins, verify your framework support, then migrate on a branch. The InfoQ analysis of the release is a useful independent read before you start.
ViteConf 2026 runs tomorrow, October 15. Evan You’s keynote is expected to cover Vite’s next steps as a Rust-powered toolchain. Whatever ships there will build on exactly what went stable today.













