vite-plus
- 1.3.0 is the latest, published 16 October 2026.
- 4 security advisories, all fixed.
- 1.x: 4 releases since 28 September 2026, 12 in the last 90 days.
Security advisories
Grouped by the version that fixes them, so one upgrade reads as one step.
Fixed in 0.1.24 · 3 advisories
- CRITICALVitest Browser: Exposed Browser Mode API Can Proxy CDP and Overwrite Config Files, Leading to RCEGHSA-g8mr-85jm-7xhm
- HIGHvite: `server.fs.deny` bypass on Windows alternate pathsGHSA-fx2h-pf6j-xcff
- MODERATElaunch-editor: NTLMv2 hash disclosure via UNC path handling on WindowsGHSA-v6wh-96g9-6wx3
Fixed in 0.1.17 · 1 advisory
- HIGH Path traversal in vite-plus/binding downloadPackageManager() writes outside VP_HOMEGHSA-33r3-4whc-44c2
Releases in the last 90 days
Feed of releases and advisoriesEvery stable release, newest first. Notes are quoted as the maintainers published them.
1.3.0
16 October 2026Vite+ 1.3 adds create-vite-plus for starting a project without the global vp, new vp pm pkg and vp pm licenses commands, and package-manager dist-tags in vp env.
Vite+ 1.3 adds
create-vite-plusfor starting a project without the globalvp, newvp pm pkgandvp pm licensescommands, and package-manager dist-tags invp env.Features
Create a Vite+ project without installing the global
vpthroughpnpm create vite-plus,npm create vite-plus@latest,yarn create vite-plus, orbun create vite-plus, which runvp createwith the same arguments (docs) (#3028, #3048),vp pm pkg get,set,delete, andfixread and updatepackage.jsonthrough the detected package manager: npm 7.20.0 and later (fixfrom 9.8.0), pnpm 11.3.0 and later, and Bun 1.2.19 and later (docs) (#3020),vp pm licenses list(orls) lists dependency licenses through pnpm 7.17.0 and later, Yarn Classic, or Bun 1.4.0 and later, with--jsonfor machine-readable output (#3037),vp envaccepts npm dist-tags in package-manager specs:vp env pin pnpm@latest-10pins the exact version the tag points to, andvp env default pnpm@latest-10follows the tag on each use (#3047),Upgrade the bundled tools (#3058, #3078), by @voidzero-guard[bot] and @fengmk2:
rolldown@1.2.13torolldown@1.2.14. Rolldown adds theoutput.charsetoption and fixes several tree-shaking, code-splitting, and renaming bugs.vitest@5.0.4tovitest@5.0.5, with fixes for browser mode, hook cleanup after a failing hook, and--changedwith quoted file names.
Fixes & Enhancements
Import rewriting in
vp migrateis up to 14 times faster on large projects, for example 78 s to 5.6 s on Dify (#2987),vp devprints Vite'sready in N msline, so scripts that wait for it no longer time out aftervp migrate.--debug,--filter, and--profilenow take effect invp dev,vp build, andvp preview, andvp previewstops when the build output is missing, asvite previewdoes (#3056),vp stagedprints one result line per task, such as✔ vp check --fix, instead of the task list and Git progress. Warnings, errors, and rollback results stay visible,--verboseshows task output, and--debugkeeps the full log (#3060),After a successful upgrade,
vp upgradereminds you to runvp migratein projects that use an older Vite+ version (#3063),The coding agent picker in
vp createandvp migratelists Claude Code underAGENTS.mdand no longer offers a separateCLAUDE.mdoption.--agent claudeand existingCLAUDE.mdfiles still work (#3055),
Bundled Versions
Tool Version Source Changelog vite 8.3.4b6c20f6unchanged rolldown 1.2.14c9a8cda1.2.14 tsdown 0.23.1npm unchanged vitest 5.0.5npm 5.0.5 oxlint 1.88.0npm unchanged oxlint-tsgolint 7.0.2004npm unchanged oxfmt 0.73.0npm unchanged Upgrade
vp upgrade
Published Packages
@voidzero-dev/vite-plus-core@1.3.0vite-plus@1.3.0create-vite-plus@1.3.0
Installation
macOS/Linux:
curl -fsSL https://vite.plus | bash
Windows:
irm https://vite.plus/ps1 | iex
Or download and run
vp-setup.exefrom the assets below.Docker:
1.2.0
14 October 2026Vite+ 1.2 supports authenticated private npm registries and shows a new vp run summary that counts cache hits among cache-enabled tasks and reports successful tasks. It also verifies installer downloads, shows download progress in vp upgrade, and fixes task cache misses in pnpm projects and PowerShell exit status.
Vite+ 1.2 supports authenticated private npm registries and shows a new
vp runsummary that counts cache hits among cache-enabled tasks and reports successful tasks. It also verifies installer downloads, shows download progress invp upgrade, and fixes task cache misses in pnpm projects and PowerShell exit status.Highlights
Support authenticated private npm registries (#2624),
The
vp runsummary now reads like3/4 cache hit (75%), 9/10 successful, 2s saved.: the cache hit rate leaves out tasks with caching disabled, and the count of successful tasks replaces the count of failed tasks (vite-task#821),
Features
The
install.shandinstall.ps1installers check each downloaded platform archive against the registry's SHA-512dist.integritybefore extracting it, and stop when the digest is missing or does not match (#2949),vp upgradeshows a progress bar while it downloads the new platform package, instead of looking frozen on slow connections (#2968),When a task is not cached because it wrote a file it also read, the summary says it
modified its inputs, andvp run --last-detailsshows thecache: { input, output }exclusions that let it be cached. Detailed summaries show each cause of an error on its own line, and an invalid--filterglob reports its error once (vite-task#783, vite-task#784, vite-task#761, vite-task#763),The task runner can be built without file-access tracking on additional platforms. Tasks on those platforms must configure both
inputandoutputexplicitly to be cached (vite-task#829),Upgrade the bundled tools (#2935, #2977, #2998, #3021, #3039), by @voidzero-guard[bot] and @fengmk2:
vite@8.3.3tovite@8.3.4.rolldown@1.2.12torolldown@1.2.13.tsdown@0.23.0totsdown@0.23.1.vitest@5.0.3tovitest@5.0.4. Vitest now turns on its on-disk caches by default, andvp testtasks run throughvp runstay cacheable with them.oxlint@1.87.0tooxlint@1.88.0andoxfmt@0.72.0tooxfmt@0.73.0. Oxfmt now also formats TOML in Markdown code blocks and frontmatter. The new lint and format versions can flag code that passed before, so runvp fmtafter upgrading if CI runsvp check.vp migratekeeps Prettier and continues the rest of the migration when the Prettier config uses a format the bundled Oxfmt cannot read, such as.prettierrc.yml.oxlint-tsgolint@7.0.2003tooxlint-tsgolint@7.0.2004. Line disable comments apply to type-aware diagnostics again (tsgolint#1271), so disable comments moved to the} as Tline for v1.1.0 need to move back above the statement.Projects that use
@effect/tsgoshould stay on v1.1.0 for now. The latest@effect/tsgo@0.52.0supportsoxlint-tsgolint@7.0.2004but notoxlint@1.88.0, so its install-time patch step fails until@effect/tsgoadds support.
Fixes & Enhancements
Reinstalling dependencies with pnpm, or installing them at another path, no longer causes task cache misses, and tasks that run
pnpm runorpnpm execno longer miss the cache after pnpm rechecks dependencies (vite-task#823, vite-task#824, vite-task#825),On macOS, tasks with automatic file-access tracking can run Node.js single executable applications, such as pnpm 11's standalone binary, and
deno compileoutputs (vite-task#840),Cached tasks can run scripts whose shebang names an interpreter path longer than 126 bytes (vite-task#788),
When a cache hit's outputs cannot be restored,
vp runfails with an error suggestingvp cache cleaninstead of reporting a successful cache hit (vite-task#770),vp runno longer stops every task when concurrent tasks write to a full output pipe, such as a CI log collector (vite-task#801),On Linux, tasks with automatic file-access tracking start faster (vite-task#817),
In PowerShell, a failing
vpcommand sets$?toFalseand stops&&chains, as callingvp.exedirectly does (#2947),The Windows installer works when the PowerShell profile enables
Set-StrictMode, and leaves the caller's strict mode unchanged (#3005),Sourcing the Vite+ env script in POSIX shells is much faster with a long
PATH, for example from 1.5 s to 6 ms in dash with 147 entries (#2905),Node.js version ranges from
.node-version,engines.node, anddevEngines.runtime, and package-manager version ranges, follow npm's semver rules (#2835),vp migrateadds thetsdown <0.23compatibility settings (deps.resolveDepSubpathandattw.profile) only for projects on an older tsdown, so upgrades from Vite+ 1.x ortsdown@0.23.0and later keep the modern defaults (#2910),
1.1.0
7 October 2026Vite+ 1.1 starts vp dev faster and makes the interactive prompts clearer, alongside fixes for vp migrate, package-manager commands, and Windows terminals.
Vite+ 1.1 starts
vp devfaster and makes the interactive prompts clearer, alongside fixes forvp migrate, package-manager commands, and Windows terminals.Highlights
vp devreaches its local URL about 24% sooner and uses about 30% less memory in the parent process, because Vite+ no longer loads Vite and Vitest there before starting the dev server (#2851),Interactive prompts render boxes, logs, and wrapped text consistently, with clearer hints, validation, and navigation instructions (#2870),
Features
vp runsetsnpm_execpathandnpm_config_user_agentfor npm, pnpm, and Yarn, so tools such as npm-run-all2 use the project's package manager instead of falling back to npm (#2895),Upgrade
vite@8.3.1tovite@8.3.3,rolldown@1.2.11torolldown@1.2.12,vitest@5.0.1tovitest@5.0.3,oxlint@1.85.0tooxlint@1.87.0, andoxfmt@0.70.0tooxfmt@0.72.0. The new lint and format versions can flag code that passed before, so runvp fmtafter upgrading if CI runsvp check.vp migratenow keeps the React RefreshallowCompoundComponentsoption because the bundled Oxlint supports it (#2871, #2896, #2904),
Fixes & Enhancements
vp migratekeeps Oxlint rules written with plugin aliases (such as@typescript-eslint/*,react-hooks/*, andimport-x/*) and removes rules the bundled Oxlint does not support, listing them in a warning (#2820, #2906),vp migrateleaves projects without a declared package manager unpinned, keeps existing declarations, and points tovp env pinwhen it infers one (#2817),vp migratereports a short error for a directory withoutpackage.jsoninstead of anENOENTstack trace (#2821),vp createin an existing pnpm workspace adds the catalog entries the new application needs, so installation no longer fails withERR_PNPM_CATALOG_ENTRY_NOT_FOUND_FOR_SPEC(#2808),On Windows, one Ctrl+C stops
vprscripts and managed Bun, pnpm, npm, and Yarn commands without leavingcmd.exestuck atTerminate batch job (Y/N)?(#2890),vp pack --watchon Windows rebuilds with the new options after the config file changes (#2826),vp test doctorandvp test completerun the Vitest subcommands instead of being treated as test file filters (#2879),With isolated dependency layouts such as pnpm's global virtual store,
vp packfinds installed Vue language tools and TypeScript Go for declaration generation, and Playwright browser provider options keep their types (#2868, #2865),Package-manager commands fail when the project's package manager does not support a named option, instead of silently dropping it and continuing. Bun 1.4.1+ receives
--offlineand--prefer-offline, and Yarn Classic accepts a single--filterforvp remove(#2775),vp pm configin Bun projects falls back to npm, as its warning says (#2899),vp pm approve-buildsstates that Yarn Berry disables third-party build scripts by default from 4.14.0, not in every version (#2902),vp implodeasks you to typeboominstead ofuninstallto confirm (#2901),Global package installs and updates print a green
+, and removals a red-, with bold package names in both (#2828),Setup headings and command hints keep their colors when the installer captures stdout (#2829),
Bundled Versions
Tool Version Source Changelog vite 8.3.3fea5b218.3.2, 8.3.3 rolldown 1.2.1245e407b1.2.12 tsdown 0.23.0npm unchanged vitest 5.0.3npm 5.0.2, 5.0.3 oxlint 1.87.0npm 1.86.0, 1.87.0 oxlint-tsgolint 7.0.2003npm unchanged oxfmt 0.72.0npm 0.71.0, 0.72.0 Upgrade
vp upgrade
Published Packages
@voidzero-dev/vite-plus-core@1.1.0vite-plus@1.1.0
Installation
1.0.0
28 September 2026Vite+ 1.0 is stable (announcement). This release promotes v1.0.0-rc.1 to stable with no code changes.
Vite+ 1.0 is stable (announcement). This release promotes v1.0.0-rc.1 to stable with no code changes.
Notable changes since v0.3.3
v1.0.0 includes everything from the two release candidates below. See each release's notes for the full list of changes.
v1.0.0-rc.0:
vp testmoves tovitest@5.0.1, and the CLI now requires Node.js^22.18.0 || ^24.11.0 || >=26.0.0.vp stagedhas new Node.js and Git minimums. Standalone installs andvp upgradeverify release provenance.v1.0.0-rc.1: task cache settings in
run.tasksmove undercache.vp lintandvp fmtrun from a package directory now use the same config as your editor.
Projects on v1.0.0-rc.1 need no changes. Projects on v1.0.0-rc.0 whose tasks set
env,untrackedEnv,input, oroutputshould runvp migrateto move those settings undercache. For a Vite+ 0.3 project, follow Upgrade from Vite+ 0.3 to 1.0 and runvp migratebefore you update the project's dependencies.Bundled Versions
Tool Version Source vite 8.3.139ddf7crolldown 1.2.118df4219tsdown 0.23.0npm vitest 5.0.1npm oxlint 1.85.0npm oxlint-tsgolint 7.0.2003npm oxfmt 0.70.0npm Upgrade
vp upgrade
Published Packages
@voidzero-dev/vite-plus-core@1.0.0vite-plus@1.0.0
Installation
macOS/Linux:
curl -fsSL https://vite.plus | bash
Windows:
irm https://vite.plus/ps1 | iex
Or download and run
vp-setup.exefrom the assets below.Docker:
docker run --rm -it -v "$PWD:/app" -w /app ghcr.io/voidzero-dev/vite-plus:1.0.0 vp build
Run any
vpcommand without installing it; see the Docker guide for more.0.3.3
18 September 2026This release fixes Homebrew setup, Windows installation, and workspace dependency commands. It also updates Rolldown, Oxlint, and Oxfmt.
This release fixes Homebrew setup, Windows installation, and workspace dependency commands. It also updates Rolldown, Oxlint, and Oxfmt.
Fixes & Enhancements
Homebrew installations complete setup once, retain their bundled CLI, and direct upgrades to
brew upgrade vite-plus(#2729),Windows installations decode remote legacy PowerShell scripts correctly (#2701),
vp migrateremoves the unsupported React RefreshallowCompoundComponentsoption and warns about possible lint errors (#2702),New monorepo packages use the root lint configuration without a conflicting nested configuration (#2667),
Yarn Classic rejects filtered additions and removals instead of changing unintended dependencies (#2705),
Yarn Berry rejects unsupported filtered updates and respects filters during recursive removal (#2709, #2712),
Yarn and Bun warn when a command does not support
--workspace-root. Yarn Classic accepts root additions throughvp addandvp install <packages>(#2713),vp dedupewarns about unsupported check options (#2717),Rust command output respects
NO_COLOR(#2716),Windows commands find lowercase shims in directories with case-sensitive file names (#2727),
Bundled Versions
Tool Version Source vite8.3.0434e8e9rolldown1.2.95b4746etsdown0.23.0npm vitest4.1.11npm oxlint1.83.0npm oxlint-tsgolint7.0.2001npm oxfmt0.68.0npm Upgrade
vp upgrade
Published Packages
@voidzero-dev/vite-plus-core@0.3.3vite-plus@0.3.3
Installation
macOS/Linux:
curl -fsSL https://vite.plus | bash
Windows:
irm https://vite.plus/ps1 | iex
Or download and run
vp-setup.exefrom the assets below.Docker:
docker run --rm -it -v "$PWD:/app" -w /app ghcr.io/voidzero-dev/vite-plus:0.3.3 vp build
Run any
vpcommand without installing it; see the Docker guide for more.0.3.2
14 September 2026Vp env use now sets each package manager's version independently. This release also adds Oxlint plugin APIs and fixes migration, installation, and template extraction.
vp env usenow sets each package manager's version independently. This release also adds Oxlint plugin APIs and fixes migration, installation, and template extraction.Breaking Changes
Package-manager overrides
Direct package-manager commands no longer use
VP_PACKAGE_MANAGER. Use the matching version variable in shell profiles, CI jobs, and Dockerfiles:Previous override for a direct command New override VP_PACKAGE_MANAGER=npm@<version>VP_NPM_VERSION=<version>VP_PACKAGE_MANAGER=pnpm@<version>VP_PNPM_VERSION=<version>VP_PACKAGE_MANAGER=yarn@<version>VP_YARN_VERSION=<version>VP_PACKAGE_MANAGER=bun@<version>VP_BUN_VERSION=<version>VP_PACKAGE_MANAGERstill selects the manager and version forvp installand related commands.vp env use pnpm@10now changes only the direct pnpm commands. To overridevp install, setVP_PACKAGE_MANAGERexplicitly.The old
.session-package-managerfile is no longer read or migrated. Runvp env useagain to create the new session files. Projects that use only project pins or global defaults need no changes. See the environment guide (#2658, #2659),Installer preferences
VP_NODE_MANAGERnow controls only Node.js. Existing installations retain saved preferences during upgrades, sovp upgradeneeds no configuration changes. For scripted installations, setVP_PM_MANAGERto apply the same choice to package managers:Previous combined setting New combined setting VP_NODE_MANAGER=noVP_NODE_MANAGER=no VP_PM_MANAGER=noVP_NODE_MANAGER=yesVP_NODE_MANAGER=yes VP_PM_MANAGER=yesUpdate installer commands in CI jobs and Dockerfiles. Use
VP_NPM_MANAGER,VP_PNPM_MANAGER,VP_YARN_MANAGER, orVP_BUN_MANAGERfor individual preferences. The interactive prompt retains its combined choice. See the installer variables guide (#2681),Vite DevTools
Projects that install
@vitejs/devtoolsmust update its dependency range from^0.4.0 || ^0.5.0to^0.7.1. Projects without this optional dependency need no changes. This requirement comes with the Vite upgrade listed below.Highlights
Installers and
vp upgradeshare setup behavior across platforms, which simplifies maintenance. The installers retain support for older releases (#2611),Custom Oxlint rules can import their APIs from
vite-plus/lint/pluginsandvite-plus/lint/plugins-dev.vp migrateupdates supported existing imports (#2328),vp installandvp addnow honor--ignore-scriptsfor named packages and managed global installations (#2682),
Features
The bundled tools update from
vite@8.2.2tovite@8.3.0and fromrolldown@1.2.7torolldown@1.2.8. They also update fromoxlint@1.81.0tooxlint@1.82.0and fromoxfmt@0.66.0tooxfmt@0.67.0. The new linter and formatter can flag code that passed before. Runvp fmtafter the upgrade if CI runsvp check(#2670),
Fixes & Enhancements
vp createrejects malformed registry versions that could place organization template files outside the cache directory (#2665),vp env pinupdates an active local.nvmrcand preserves its comments. Use--target nvmrcto select this file explicitly (#2676),vp migratereports unsupported ESLint rules that it skips, so users can review the missing checks (#2689),vp migrateimports leftover tsdown configuration when a project already uses Vite+ (#2646),vp migrateaccepts single-line JSON formatter configuration with a final newline (#2643),vp migrateavoids a redundantplaywrightdependency when the project already declares@playwright/test(#2637),Newly scaffolded local generators honor
--no-interactiveand report missing arguments without prompts. Existing generators need the updated entrypoint (#2677),vp upgradeinstalls its dependencies correctly when the installation directory is inside a pnpm workspace (#2644),Nested package-manager commands retain the selected Node runtime and package-manager versions (#2631),
Built-in tools reuse the Node executable that starts the CLI. Editor lint and format servers work when
nodeis absent fromPATH(#2673),
0.3.1
8 September 2026Vp env now manages Node.js and package-manager versions together. This release also fixes TanStack Start routing and stale Vitest aliases.
vp envnow manages Node.js and package-manager versions together. This release also fixes TanStack Start routing and stale Vitest aliases.Breaking Changes
Package-manager setup
Vite+ replaces Corepack with managed
npm,pnpm,yarn, andbuncommands. It removes thecorepackshim and legacy global package-manager installations (#2391),Replace Corepack setup commands in shell profiles, CI jobs, and Dockerfiles:
Previous setup Replacement corepack enablevp env setupvp install -g pnpm@<version>vp env default pnpm@<version>vp install -g yarn@<version>vp env default yarn@<version>vp install -g bun@<version>vp env default bun@<version>vp install -g corepackUse the managed package-manager commands directly Use
vp env pin <manager>@<version>to set a project version.vp envcommand scope and JSON outputUnscoped
vp envcommands now operate on Node.js and package managers. Package managers support independent defaults, project pins, session overrides, and installation commands (#2398),Add
nodeto limit an operation to Node.js, for example,vp env off nodeorvp env unpin node. Bare versions, such asvp env default 22.19.0, still select Node.js.Update scripts that read JSON output:
Command New output structure vp env current --jsonnodeandpackage_managerobjectsvp env list --json,vp env list-remote --jsonnodeandpackage_managersgroupsSee the environment guide.
vp packmigration totsdown@0.23vp packnow usestsdown@0.23, which removes deprecated options and changes defaults (#2614),- breaking
Run
vp migrateto update supported static configurations and package scripts, including projects that already use Vite+. - breaking
Check migration warnings in
vite.config.*,tsdown.config.*, andpackage.json. - breaking
Update dynamic configurations manually. Arrays built with
.map()require manual changes, even when migration reports no warning. - breaking
Run
vp packto check the result.
Previous option Replacement bundle: falseunbundle: trueoutExtensionoutExtensionspublicDir/--public-dircopy/--copyremoveNodeProtocol: truenodeProtocol: 'strip'injectStylecss.injectinlineOnly/deps.onlyAllowBundledeps.onlyBundlenoExternaldeps.alwaysBundleskipNodeModulesBundle: true/deps.skipNodeModulesBundle: truedeps.neverBundle: truedts.tsgo: true/dts.oxc: truedts.generator: 'tsgo'/dts.generator: 'oxc'Migration preserves the previous defaults for dependency resolution and ATTW.
tsdownno longer supports Node.js25. Use Node.js^22.18.0,^24.11.0, or>=26.0.0. The programmaticbuild()API now returns{ bundles, watch }.See the complete migration guide for declaration and TypeScript module-resolution changes.
CLI argument validation
vp staged,vp config,vp hooks,vp migrate, andvp createnow reject unsupported options and extra positional arguments (#2523),Remove unsupported arguments from scripts. For example, replace
vp config --hooks-onlywithvp config --no-agent.Highlights
- breaking
0.3.0
24 August 2026Fresh installs now use a split directory layout instead of a single ~/.vite-plus root. Unix follows the XDG base directory specification, and Windows uses the standard %LOCALAPPDATA% and %APPDATA% folders. Existing ~/.vite-plus installs keep their current directory layout. vp migrate also converts tsup projects, and vp now sends Bun 1.4 package-manager commands to bun directly. The published npm package shrank by about half, and the upgrade check no longer delays each command.
Fresh installs now use a split directory layout instead of a single
~/.vite-plusroot. Unix follows the XDG base directory specification, and Windows uses the standard%LOCALAPPDATA%and%APPDATA%folders. Existing~/.vite-plusinstalls keep their current directory layout.vp migratealso convertstsupprojects, andvpnow sends Bun1.4package-manager commands tobundirectly. The published npm package shrank by about half, and the upgrade check no longer delays each command.Breaking Changes
- breaking
Fresh installs now use a split directory layout instead of a single root: XDG base directories on Unix, and the standard known folders on Windows. Existing
~/.vite-plusinstalls keep their current layout, and the installer does not move their files.VP_HOMEstill selects the single-root layout (#2346),Category Unix default Windows default Single-root ( VP_HOME)bin ~/.local/share/vite-plus/bin%LOCALAPPDATA%\vite-plus\bin<root>/bindata ~/.local/share/vite-plus%LOCALAPPDATA%\vite-plus\data<root>cache ~/.cache/vite-plus%LOCALAPPDATA%\vite-plus\cache<root>/cacheconfig ~/.config/vite-plus%APPDATA%\vite-plus<root>state ~/.local/state/vite-plus%LOCALAPPDATA%\vite-plus\state<root>The installer configures your shell for the new location, and CI that installs through
setup-vpkeeps the single-root layout automatically. Update each hard-coded~/.vite-plus/binpath, such as a path in a Dockerfile.vp upgradeleaves an existing install where it is. To move one to the split layout, remove it and install again:vp implode unset VP_HOME VP_DATA_DIR VP_BIN_DIR VP_CACHE_DIR curl -fsSL https://vite.plus | bash
On Windows, run
vp implode, thenRemove-Item Env:\VP_HOME, Env:\VP_DATA_DIR, Env:\VP_BIN_DIR, Env:\VP_CACHE_DIR -ErrorAction SilentlyContinue, thenirm https://vite.plus/ps1 | iex. Also delete any persistentVP_HOMEorVP_*_DIRdefinition from your shell profile or system environment, because a fresh install still honors them andVP_HOMEselects the single-root layout.vp imploderemoves every Vite+ managed Node.js runtime, global package, configuration file, and cache. Stay on your current layout if you would rather not rebuild that state. See Move an existing install to the split directory layout.
Highlights
vp migratenow convertstsupprojects. It replaces thetsupdependency and script withvp pack. It also changestsup.config.tsto atsdown.config.tsthat imports fromvite-plus/pack(#2434),Shell integrations now accept the global
-Cflag.vp -C <dir> env usechanges the environment of your current shell. The-C<dir>and-C=<dir>forms also work. In zsh, Fish, Nushell, and PowerShell,vprcompletion keeps the working directory when it changes the command tovp run(#2508),The published
vite-plusnpm package shrank from 1.05 MB to 516 kB, a 51% reduction. It now includes only Markdown files from the documentation workspace. It no longer includes VitePress tooling, images, or deployment files (#2480),
Features
With Bun
1.4or later, Vite+ forwards these commands and flags tobun. Earlier Bun versions keep their fallback or unsupported behavior and report the required Bun version (#2513),vp deduperunsbun dedupe, including--checkvp pm prunerunsbun prunevp pm audit --fixrunsbun audit fixvp add,vp remove, andvp updatesend--filtertobunvp add --save-catalogsends--catalogtobun
The upgrade check no longer delays fast commands. It runs in a separate process. It reports an available update during a later command, and commands no longer wait for the registry (#2380),
Upgrade the bundled toolchain (#2443, #2500, #2504, #2519, #2532), by @voidzero-guard[bot]:
vite:8.2.1to8.2.2rolldown:1.2.3to1.2.5vitest:4.1.10to4.1.11oxlint:1.77.0to1.79.0oxfmt:0.62.0to0.64.0Oxc packages and crates:
0.143.0to0.146.0Vite+ now accepts
@vitejs/devtools0.5.x. The optional peer range is^0.4.0 || ^0.5.0. This repository uses0.5.2.oxfmtandoxlintcan report new issues after the upgrade. Runvp checklocally. Usevp fmtto fix formatting changes.
vp toolchaindraws its tree with Unicode glyphs. It no longer uses ASCII connectors (#2442),
Fixes & Enhancements
At a workspace root, bare app commands now use
defaultPackageor detected root configuration before they select a member package. A workspace without member packages runs the command in the root (#2530, #2533),vp upno longer changes"vite": "catalog:"to a version alias underpnpm. Catalog references now stay unchanged during an update. Runvp migrateonce to correct an existing project (#2425),If the server accepts range requests, an interrupted runtime download continues from the bytes on disk. It does not start again (#2452),
The local CLI shows the install instructions when you run a global-only command such as
env,upgrade, orimplode(#2522),
- breaking
0.2.9
12 August 2026Vp toolchain prints the tools, versions, and bundling relationships in the active release. vp hooks manages the Vite+ dispatcher for Git hooks, and removes the manual setup steps. vp run no longer fails in the default Codex CLI and Claude Code sandboxes. Those sandboxes deny Unix sockets and shared memory, which task IPC and file-access tracking used. The rest of the release makes the install path more reliable. It fixes npm 12 blocked install scripts, Yarn 2+ integrity pins, and baseline Bun builds for older CPUs. It also fixes downloads that stopped on slow connections.
vp toolchainprints the tools, versions, and bundling relationships in the active release.vp hooksmanages the Vite+ dispatcher for Git hooks, and removes the manual setup steps.vp runno longer fails in the default Codex CLI and Claude Code sandboxes. Those sandboxes deny Unix sockets and shared memory, which task IPC and file-access tracking used. The rest of the release makes the install path more reliable. It fixes npm 12 blocked install scripts, Yarn 2+ integrity pins, and baseline Bun builds for older CPUs. It also fixes downloads that stopped on slow connections.Highlights
New
vp toolchaincommand. It prints the tools, versions, and bundling relationships in the active Vite+ release as a tree. The tree shows vite-plus, core, vite, rolldown, oxc, oxc-resolver, and the compiled Vite Task with its build time and revision. Give a tool name to select part of the tree. Use--jsonfor machine-readable output. Use--globalfor the global release (#2111),New
vp hookscommand. It manages the Vite+ dispatcher for Git hooks.enableinstalls or refreshes the dispatcher and setscore.hooksPath.disableremoves the dispatcher and keeps that preference, soprepareandvp configdo not install it again.statusshows the current state. Use--hooks-dirto set a custom directory. Vite+ keeps that directory for later commands. Vite+ does not change project-owned hooks,stagedconfig, orpackage.jsonlifecycle scripts (#2341),vp runnow works in the default Codex CLI and Claude Code sandboxes. Before this release, a cached task failed withFailed to set up task communication: Operation not permitted. The task code never started. Automatic file-access tracking also failed. Task caching and input tracking now work in both default profiles. You do not need extra sandbox permissions (vite-task#569, vite-task#576),
Features
vp createnow shows the dependencies whose install scripts npm 12 blocked. Before this release, Vite+ left those dependencies unbuilt and gave no message. To approve them,vp createrunsvp pm approve-buildsand thenvp pm rebuild(#2336),Large downloads no longer stop on slow connections. Node.js tarballs and package-manager tarballs now use a 10 minute timeout. Before this release, they used the shared 2 minute per-request limit. That limit stopped healthy downloads below approximately 250 KB/s. It also made
vp env installandvp migrateimpossible to complete. SetVP_DOWNLOAD_TIMEOUTto a different number of seconds (#2386),Package-manager downloads now show a byte progress bar. The managed Node.js runtime already showed one. A slow download no longer looks stopped (#2369),
You can now select JetBrains editors (IntelliJ, WebStorm, and similar) in the editor setup question. Vite+ writes the Oxc plugin ID to
.idea/externalDependencies.xml. The docs now describe the gitignore strategy for.idea(#2204, #2378),vpnow shows a warning when it falls back to the global CLI in a project that has no project-localvite-plus. If the project declares the dependency,vptells you to runvp install. If the project does not declare it,vppoints to the migration guide.vp migrateand commands outside a project stay silent (#2362),Generated editor settings now disable nested Oxlint config resolution. The Vite+ config stays authoritative (#2331),
[!NOTE] Upstream toolchain upgrade: vite
8.2.0->8.2.1, rolldown1.2.2->1.2.3, oxlint1.76.0->1.77.0, oxfmt0.61.0->0.62.0, and the oxc npm packages and Rust crates0.142.0->0.143.0. oxfmt and oxlint both changed. The new versions can report problems in code that passed before. If your CI runsvp check, runvp fmtafter you upgrade (#2373),Fixes & Enhancements
Yarn 2+ pins from
corepack usenow verify against the extracted CLI (bin/yarn.js), not the npm tarball.vp installno longer fails on a cold cache.vp runno longer downloads Yarn again on every run (#2227),vp devno longer crashes at startup withENOENTwhenexperimental.bundledDevis enabled. The bundled dev client path now points to the packaged layout (#2384),vp migratenow rejects a workspace member as its target. Before this release, it migrated the enclosing workspace instead. It now tells you to run the command from the workspace root (#2229),VP_NODE_VERSION=22and other partial versions now resolve to an exact Node.js release. This applies to shim-dispatched commands such asvp env exec node -v(#2411),Managed
bunxshims now dispatch throughbun x.bunx <package>no longer starts a matching package script recursively. This applies to new Bun installations (#2151),Managed Bun now selects the baseline build on x64 CPUs that do not have AVX2. Bun's standard builds require AVX2. Cached installations keep their current files (#2179),
Generated Nushell env files now escape and normalize paths correctly. A
VP_HOMEpath that contains spaces or quotes now loads without an error (#2191),vite-plus/test/browser-*type exports now add.jsextensions to relative shim specifiers. Those specifiers now resolve withNodeNextmodule resolution (#2360),Tool-backed help is now consistent with upstream. An exact
vp <command> --helpshows the local themed help. A command with more arguments (vp test --help --coverage,vp test list --help) goes to the bundled tool. Deep help and subcommand help stay complete (#2345),Vite Task diagnostics now print paths and working directories without Rust debug formatting. Vite+ no longer prints quoted paths or escaped Windows backslashes (vite-task#534),
Broad workspace globs no longer find and run package scripts inside
node_modules(vite-task#539),
Bundled Versions
Tool Version Source vite 8.2.14216158rolldown 1.2.352dbd19tsdown 0.22.14npm vitest 4.1.10npm oxlint 1.77.0npm oxlint-tsgolint 7.0.2001npm oxfmt 0.62.0npm Upgrade
vp upgrade
Published Packages
0.2.8
5 August 2026Bare vp dev/build/preview/pack at a monorepo root now resolve a target package instead of silently running against the root, and three Vite+-specific environment variables move to the VP_* prefix without compatibility aliases. Two failures that broke Vite+ before it could run are also fixed: the crash on container images that ship no CA certificates, and the missing Rolldown binding under pnpm's global virtual store.
Bare
vp dev/build/preview/packat a monorepo root now resolve a target package instead of silently running against the root, and three Vite+-specific environment variables move to theVP_*prefix without compatibility aliases. Two failures that broke Vite+ before it could run are also fixed: the crash on container images that ship no CA certificates, and the missing Rolldown binding under pnpm's global virtual store.Breaking Changes
- breaking
Rename three Vite+-specific environment variables to the
VP_*prefix, with no compatibility aliases, so the old names stop working (#2312), by @jong-kyung:Old New VITE_LOGVP_LOGVITE_GLOBAL_CLI_JS_SCRIPTS_DIRVP_GLOBAL_CLI_JS_SCRIPTS_DIRVITE_UPDATE_TASK_TYPESVP_UPDATE_TASK_TYPESUpdate any shell profile, CI job, or Dockerfile that sets the old names.
Highlights
Resolve a target package for
vp dev,build,preview, andpackat a monorepo root: interactive shells get a fuzzy package picker, non-interactive runs list the candidates and exit 1 instead of building the root, and a new global-C <dir>flag or adefaultPackagesetting (a single directory, or an object mapping each of the four commands to its own directory) skips the prompt (#2031, #2305),Stop aborting with exit 134 on container images that ship no CA certificates (Debian slim, distroless): the shared HTTP client now retries once with the bundled Mozilla root list, like Node's own bundled roots, and reports a real error instead of panicking when it still cannot be built (#2273, #2295),
Resolve the bundled Rolldown binding through platform packages instead of an undeclared require back into
vite-plus, fixingCannot find module 'vite-plus/binding'under pnpmenable-global-virtual-storeand in standalone@voidzero-dev/vite-plus-coreinstalls (#2313),Add
vp pm cifor reproducible frozen-lockfile installs, andvp pm patch/vp pm patch-commitfor editing dependencies in place on pnpm, bun, and Yarn Berry (npm and Yarn Classic warn and exit successfully) (#2082, #2308),
Features
Upgrade the bundled toolchain: vite
8.1.5->8.2.0, rolldown1.2.0->1.2.2, oxlint1.75.0->1.76.0, oxfmt0.60.0->0.61.0, and Vite DevTools0.4.5->0.4.10(#2302, #2311), by @voidzero-guard[bot]. The new oxfmt and oxlint can flag code that passed before, so runvp fmtafter upgrading if your CI runsvp check.Read the Node.js version from
.nvmrcwhen no other version source is present (#2244),Support pnpm v12, which ships as a native binary: Vite+ now downloads the platform-specific
@pnpm/exe.*package and generates native shims, sopnpmandpnpxwork instead of failing to exec (#2289),Verify the downloaded bun platform tarball against the registry
dist.integrityhash (#2310),
Fixes & Enhancements
Let
vp configinstall the Git hook dispatcher without creating or modifying project hook scripts or staged-file configuration, so a custom.vite-hooks/pre-commitsurvives (#2280),Nest immutable global package installs under
packages/<package>/<uuid>instead of using#in the path, which Node treated as a URL fragment and which broke dynamic imports inside installed packages (#2222),Keep the recorded version spec on global installs, so
vp update -gfollows a dist tag or range instead of silently resolving back tolatest,vp outdated -greports Wanted versus Latest, andvp update -g --latestexplicitly moves packages back tolatest(#2249),Stop deleting a managed Node.js runtime that another process is concurrently installing (#2248),
Preserve the real exit code when a spawned process is terminated by a signal on Unix (#2154),
Honor an explicit
vp create --package-manageroutside monorepos instead of inheriting the manager from a non-monorepo ancestor directory (#2226),Scaffold the
vite:librarytemplate into a directory that contains only.git, while still refusing to overwrite existing user files (#2287),Render help for delegated commands from the local CLI, so
vp <command> --helpmatches the installed toolchain instead of drifting (#2184),Resolve
typeAwareandtypeCheckoptions inherited through Oxlintextends, sovp check --no-lintruns and classifies type checking correctly (#2228),Report
(no version)instead ofunknownwhen globally installing a local package that has noversionfield (#2232),
Bundled Versions
Tool Version Source vite 8.2.0fa79f9arolldown 1.2.2872b98atsdown 0.22.14npm vitest 4.1.10npm oxlint 1.76.0npm oxlint-tsgolint 7.0.2001npm oxfmt 0.61.0npm Upgrade
vp upgrade
Published Packages
@voidzero-dev/vite-plus-core@0.2.8
- breaking
Show 2 earlier releases
0.2.7
31 July 2026This release points users to vpr when a Vite+ built-in command and package script share a name, adds concurrency control to vp pack, and smooths migrations and package-manager setup.
This release points users to
vpr <name>when a Vite+ built-in command and package script share a name, adds concurrency control tovp pack, and smooths migrations and package-manager setup.Highlights
Point users to
vpr <name>when a Vite+ built-in command andpackage.jsonscript share a name (#2259, #2262, #2265, vite-task#570),Add
--concurrencytovp packto limit parallel Rolldown builds, and update tsdown0.22.13->0.22.14and Vite DevTools0.4.2->0.4.5(#2233),Add read-only Svelte rune globals to migrated Oxlint overrides, preventing false
no-undeferrors (#2192),Install package managers from npm tarballs with nonstandard top-level directories, fixing Yarn 1.22.19 installation (#2264),
Fixes & Enhancements
Prevent the Oxc language server from crashing when contributors open the Vite+ workspace in VS Code (#2245),
Chore
- security
Run Semgrep security scans on pull requests and pushes to
main(#2223),
Bundled Versions
Tool Version Source vite 8.1.55e7fe12rolldown 1.2.003e1e34tsdown 0.22.14npm vitest 4.1.10npm oxlint 1.75.0npm oxlint-tsgolint 7.0.2001npm oxfmt 0.60.0npm Upgrade
vp upgrade
Published Packages
@voidzero-dev/vite-plus-core@0.2.7vite-plus@0.2.7
Installation
macOS/Linux:
curl -fsSL https://vite.plus | bash
Windows:
irm https://vite.plus/ps1 | iex
Or download and run
vp-setup.exefrom the assets below.View the full commit: c17e1c3
Docker:
docker run --rm -it -v "$PWD:/app" -w /app ghcr.io/voidzero-dev/vite-plus:0.2.7 vp build
Run any
vpcommand without installing it; see the Docker guide for more.0.2.6
23 July 2026This release moves Vite+'s type-aware linting to the stable tsgolint 7 engine, updates the bundled build and formatting tools, strengthens vp run caching and workspace discovery, and removes the redundant vp build startup banner.
This release moves Vite+'s type-aware linting to the stable tsgolint 7 engine, updates the bundled build and formatting tools, strengthens
vp runcaching and workspace discovery, and removes the redundantvp buildstartup banner.Highlights
Move bundled type-aware linting to stable tsgolint 7, and update Vite
8.1.4->8.1.5, Rolldown1.1.5->1.2.0, tsdown0.22.7->0.22.13, Oxlint1.73.0->1.75.0, oxlint-tsgolint0.24.0->7.0.2001, and Oxfmt0.58.0->0.60.0(#2214),Improve
vp runreliability by caching much larger automatically tracked input sets, discovering npm workspaces whose patterns start with./, and providing more accurate error messages (vite-task#554, vite-task#547, vite-task#552, #2215),Remove the redundant Vite startup banner from
vp buildoutput and fail fast when upstream Vite changes invalidate Vite+ branding patches (#2200, #2205),
Bundled Versions
Tool Version Source vite 8.1.55e7fe12rolldown 1.2.003e1e34tsdown 0.22.13npm vitest 4.1.10npm oxlint 1.75.0npm oxlint-tsgolint 7.0.2001npm oxfmt 0.60.0npm Upgrade
vp upgrade
Published Packages
@voidzero-dev/vite-plus-core@0.2.6vite-plus@0.2.6
Installation
macOS/Linux:
curl -fsSL https://vite.plus | bash
Windows:
irm https://vite.plus/ps1 | iex
Or download and run
vp-setup.exefrom the assets below.View the full commit: cd064c6
Docker:
docker run --rm -it -v "$PWD:/app" -w /app ghcr.io/voidzero-dev/vite-plus:0.2.6 vp build
Run any
vpcommand without installing it; see the Docker guide for more.
Major versions
- 1.xsince 28 September 2026 · latest 1.3.0 · 4 releases
- 0.xsince 30 January 2022 · latest 0.3.3 · 40 releases
Quality and security signals
What npm and deps.dev say about the latest release. Signals, not a verdict.
Reading npm and deps.dev…
Registry facts last checked 16 October 2026. Releases and advisories last read 16 October 2026.
Know when your own dependencies move
Inlinr tracks your coding time automatically. Switch dependency tracking on for a project and it reads that repository's manifest to show what is behind and what has been deprecated — off by default, one project at a time.