We’re excited to open-source Vite+ under the MIT license. Vite+ is a new unified toolchain and entry point to web application development that manages your runtime, package manager, and frontend toolchain. Give it a try today!
What is Vite+?
Vite+ combines Vite, Vitest, Oxlint, Oxfmt, Rolldown, and tsdown into a single, unified web development toolchain for developing, testing, linting, formatting, and building projects for production driven by our new task runner Vite Task. Since web development requires a runtime such as Node.js and a package manager, Vite+ can also manage them for you, covering the full local development cycle.
With Vite+, web development becomes simpler, faster, and more lightweight:
vp env: Manages Node.js globally and per projectvp install: Installs dependencies using the correct package manager automaticallyvp dev: Uses Vite’s fast dev experience with native ES modules and instant HMRyvp check: Lints with Oxlint, formats code using Oxfmt and checks types with tsgovp test: Seamlessly integrates and runs Vitest with fast feedback loopsvp build: Generates optimized production builds using Rolldown and Oxcvp run: Executes monorepo tasks with automated caching and dependency resolutionvp pack: Bundles libraries for publishing on npm or creates standalone app binariesvp create: Scaffolds new projects and monorepos with recommended settings
All these commands work seamlessly together out of the box, with one configuration file at the project root, and are compatible with all frameworks in Vite’s ecosystem, such as React, Vue, Svelte, or metaframeworks built on top of Vite.
Watch the video:
Performance & Scale
Vite+ is built to scale with your codebase while reducing your devtools to a single dependency. By leveraging VoidZero’s Rust-based JavaScript tooling, every interaction with the toolchain becomes significantly faster and scales better:
Getting Started
Install vp globally by running:
macOS / Linux
curl -fsSL https://vite.plus | bashWindows (PowerShell)
irm https://vite.plus/ps1 | iexCI
Use the setup-vp GitHub Action for CI environments.
After installing Vite+, open a new terminal session, run vp help, and check out our docs.
Using Vite+
To get started with web development, you need a JavaScript runtime, a package manager, and many other tools. In recent years, configuration files have proliferated, and complexity has increased at every level of the stack.
One of our goals with Vite+ was to simplify the web development process: All you need is vp and a vite.config.ts file at the root of your project to configure every tool in one place. This is what the development process looks like with Vite+:
- Start with
vp createto interactively create a new project, monorepo, or app within a monorepo. The new project will be ready to go immediately, including pre-commit hooks! - Run
vp installto install JavaScript dependencies. This command delegates to the package manager of your choice (we recommend and default to pnpm). - Use
vp devto start the Vite development server. - When you are done making changes, run
vp checkto type-check, lint, and format your project all at once. Runvp check --fixto automatically fix formatting and linting issues (Pro tip: Runvp prepareto install Vite+’s pre-commit hooks!). - Run
vp testto run JavaScript tests. - Build your project for production using
vp build. - Execute
package.jsonscripts through Vite Task by usingvp run <name>and execute local package binaries withvp exec <name>. Givevpx <name>a try for running local or remote binaries! - Your Node.js version and package manager are automatically selected based on
.node-versionor yourpackage.json.
A single binary with a consistent interface makes it easier to get started, faster to iterate, and simpler to work with for humans and AI. You no longer have to juggle Node.js version managers, package managers, a multitude of individual tools, their configuration files – or complex upgrades to any of them.
Vite Task
Vite Task is a powerful new open source project shipping as part of Vite+. It provides the core task runner for Vite+’s built-in commands as well as package.json scripts via vp run. Vite Task orchestrates tasks across workspace packages with:
- Automated Input Tracking: Vite Task fingerprints input files used by commands to determine what should be cached locally without manual configuration. If nothing has changed, it skips the task entirely and replays the output instantly.
- Dependency-aware execution: Tasks run in the correct order based on your
package.jsondependency graph and explicitdependsOndeclarations. Multi-command scripts liketsc && vp buildare split into sub-tasks and cached independently. - Familiar CLI:
vp runmirrors the interface ofpnpm run, including monorepo support, reducing the number of new concepts you need to learn to adopt Vite+.
For simple tasks that don’t depend on external inputs like environment variables, you can simply use vp run --cache <script> to cache the task run. Custom tasks, inputs and caching can be configured in your vite.config.ts:
export default defineConfig({
run: {
tasks: {
'generate:icons': {
command: 'node scripts/generate-icons.js',
cache: true, // Caching is enabled by default, set to `false` to disable.
envs: ['ICON_THEME'],
},
},
},
})Running vp run generate:icons generates icons on the first run and is skipped entirely if nothing changed on subsequent runs. If you edit a source file or the specified ICON_THEME environment variable changes, the task will re-run. Check out the Vite Task documentation for a comprehensive overview.
Migrating a Project to Vite+
Migrating a project to Vite+ is straightforward, whether you are only using Vite or already using many of VoidZero’s tools. While vp is a new global binary, the vite-plus package must be installed in your project to unify all tooling under one dependency. We recommend first upgrading to Vite 8.
To get started, run vp migrate in a project or paste this migration prompt into your favorite coding agent:
Migrate this project to Vite+. Run
vp helpto understand Vite+’s capabilities. Migrations can be run usingvp migrate. Runvp help migratefor options. After the migration, verify the changes and make sure that type checking, linting, formatting, and tests pass. High-five your human when you are done.
If you are using ESLint or Prettier and would like to migrate to Oxlint and Oxfmt prior to migrating to Vite+, check out the Oxlint and Oxfmt migration guides.
MIT License
We initially considered a paid license for companies when we announced Vite+. We decided that Vite+ can only achieve our mission of making JavaScript developers more productive than ever before when it is truly free and open source. We got tired of debating which features should be paid and how they should be gated, as this only creates friction in the workflows our open-source users already enjoy and love. Feedback from the community helped us reinforce our conviction. Therefore, we decided to fully open source Vite+ under the MIT license.
In case you are wondering how we are going to build a sustainable business: Step into the Void.
Next Steps
Vite+ ships with the latest versions of our tools such as Vite 8, Vitest 4.1, Oxlint 1.52, Oxfmt beta. We’ll add more features and make frequent releases as we stabilize this alpha release of Vite+. We’d love to hear your feedback on Vite+ and are excited to see how it improves your workflow.
Connect with us: