| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
The Unified Toolchain for the Web runtime and package management, create, dev, check, test, build, pack, and monorepo task caching in a single dependency
Vite+ is the unified entry point for local web development. It combines Vite, Vitest, Oxlint, Oxfmt, Rolldown, tsdown, and Vite Task into one zero-config toolchain that also manages runtime and package manager workflows:
All of this is configured from your project root and works across Vite's framework ecosystem. Vite+ is fully open-source under the MIT license.
Install Vite+ globally as vp:
For Linux or macOS:
curl -fsSL https://vite.plus | bashFor Windows:
irm https://viteplus.dev/install.ps1 | iexvp handles the full development lifecycle such as package management, development servers, linting, formatting, testing and building for production.
Vite+ can be configured using a single vite.config.ts at the root of your project:
import { defineConfig } from 'vite-plus';
export default defineConfig({
// Standard Vite configuration for dev/build/preview.
plugins: [],
// Vitest configuration.
test: {
include: ['src/**/*.test.ts'],
},
// Oxlint configuration.
lint: {
ignorePatterns: ['dist/**'],
},
// Oxfmt configuration.
fmt: {
semi: true,
singleQuote: true,
},
// Vite Task configuration.
run: {
tasks: {
'generate:icons': {
command: 'node scripts/generate-icons.js',
envs: ['ICON_THEME'],
},
},
},
// `vp staged` configuration.
staged: {
'*': 'vp check --fix',
},
});This lets you keep the configuration for your development server, build, test, lint, format, task runner, and staged-file workflow in one place with type-safe config and shared defaults.
Use vp migrate to migrate to Vite+. It merges tool-specific config files such as .oxlintrc*, .oxfmtrc*, and lint-staged config into vite.config.ts.
Vite+ automatically wraps your package manager (pnpm, npm, Yarn, or Bun) based on packageManager and lockfiles:
Use vp create to create a new project:
vp createYou can run vp create inside of a project to add new apps or libraries to your project.
Organizations can expose a curated set of templates under their npm scope by publishing @org/create with a createConfig.templates manifest in its package.json. Once published, vp create @org opens an interactive picker over those templates, and setting create: { defaultTemplate: '@org' } in vite.config.ts makes it the default for bare vp create. See the Organization Templates guide for the authoring workflow and create.defaultTemplate for the config reference.
You can migrate an existing project to Vite+:
vp migrateUse the official setup-vp action to install Vite+ in GitHub Actions:
- uses: voidzero-dev/setup-vp@<setup-vp-version>
with:
node-version: '22'
cache: trueSet <setup-vp-version> to an exact version from the setup-vp releases page. You can use a commit SHA instead. Do not use the v1 tag. The v1 tag no longer receives updates.
See Automatic Version Updates to configure Dependabot or Renovate.
If you are manually migrating a project to Vite+, install these dev dependencies first:
vp install -D vite-plusAdd package-manager overrides so that other packages use the Vite+ versions. Alias vite to @voidzero-dev/vite-plus-core. Pin vitest to the version from vp toolchain vitest. The project and vp test then use the same Vitest copy. Without the pin, a dependency or workspace package can install a different Vitest version. The two versions can use separate mocks, expect functions, and runner states:
"overrides": {
"vite": "npm:@voidzero-dev/vite-plus-core@latest",
"vitest": "4.1.11"
}If you are using pnpm, add this to your pnpm-workspace.yaml:
overrides:
vite: npm:@voidzero-dev/vite-plus-core@latest
vitest: 4.1.11Or, if you are using Yarn:
"resolutions": {
"vite": "npm:@voidzero-dev/vite-plus-core@latest",
"vitest": "4.1.11"
}Thanks to namespace.so for powering our CI/CD pipelines with fast, free macOS, Linux, and Windows runners.
| Back | FazBrowse Home | New Git URL |