Getting Started
Overview
Vite+ is a unified toolchain for modern web development that extends Vite with powerful monorepo capabilities. It combines:
- Dev Server: Vite's blazing-fast development experience with native ES modules and instant HMR
- Build Tool: Optimized production builds powered by Rolldown
- Task Runner: Intelligent monorepo task execution with caching and dependency resolution
- Testing: Built-in test runner with workspace support
- Linting: Integrated oxlint for fast code quality checks
- Formatting: Integrated oxfmt for consistent code formatting
- Code Generation: Scaffolding for new projects and monorepo workspaces
- Dependency Management: Integrated dependency management with pnpm, yarn, npm and bun(coming soon)
- Node.js Version Manager: Built-in Node.js version management
All in a single, cohesive tool designed for scale, speed, and developer sanity.
Installation
Install Vite+ globally as vp:
For Linux or macOS:
curl -fsSL https://staging.viteplus.dev/install.sh | bashFor Windows:
irm https://staging.viteplus.dev/install.ps1 | iexNode.js Version Manager
Vite+ includes a built-in Node.js version manager. During installation, you can opt-in to let Vite+ manage your Node.js versions.
vp env pin 22.12.0 # Pin version in .node-version
vp env default lts # Set global default
vp env list # Show available versions
vp env doctor # Diagnose issues
vp env help # Show all commandsScaffolding Your First Vite+ Project
Create a Vite+ project:
vp createFollow the prompts to select your preferred framework and configuration.
Core Commands
Vite+ provides built-in commands that work seamlessly in both single-package and monorepo setups:
# Development
vp dev # Start dev server
# Build
vp build # Build for production
# Test
vp test # Run tests
# Lint
vp lint # Lint code with oxlintMonorepo Task Execution
Vite+ includes a powerful task runner for managing tasks across monorepo packages:
Run tasks recursively
vp run build -r # Build all packages with topological ordering
vp run test -r # Test all packagesRun tasks for specific packages
vp run app#build web#build # Build specific packages
vp run @scope/*#test # Test all packages matching patternCurrent package
vp dev # Run dev script in current packageTask Dependencies
Tasks automatically respect dependencies:
- Explicit dependencies - Defined in
vite-task.json:
{
"tasks": {
"test": {
"command": "jest",
"dependsOn": ["build", "lint"]
}
}
}- Implicit dependencies - Based on
package.jsonrelationships when using--topological(default for-r):- If package A depends on package B, then
A#buildautomatically depends onB#build
- If package A depends on package B, then
Disable topological ordering:
vp run build -r --no-topologicalIntelligent Caching
Vite+ caches task outputs to speed up repeated builds:
- Automatically detects when inputs change
- Skips tasks when outputs are cached
- Shares cache across team members (when configured)
View cache operations:
vp run build -r --debugCI/CD
Use the official setup-vp GitHub Action to install Vite+ in CI:
Basic usage
steps:
- uses: actions/checkout@v4
- uses: voidzero-dev/setup-vp@v1
with:
node-version: '22'
cache: true
- run: vp run build -r
- run: vp run test -rMatrix testing
jobs:
test:
strategy:
matrix:
node-version: ['20', '22', '24']
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: voidzero-dev/setup-vp@v1
with:
node-version: ${{ matrix.node-version }}
cache: true
- run: vp run test -rSee the setup-vp README for all options.
Next Steps
- Learn more about task configuration
- Explore caching strategies
- Set up monorepo workspaces
- Customize Vite+ configuration
Community & Support
Get help and stay updated:
Requirements
Vite+ requires Node.js 20.19+, 22.12+ or 24.12+