npm / vite-plus
vite-plus
What changed in vite-plus 0.1 to 1, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-21.
5 breaking10 security9 new APIs and options5 performance14 behavior and defaults2 tooling27 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initvite-plus 168 changes
Breaking changes 5
The coding agent picker lists Claude Code under AGENTS.md and no longer offers a separate CLAUDE.md option; --agent claude and existing CLAUDE.md files still work.
The coding agent picker lists Claude Code under AGENTS.md and no longer offers a separate CLAUDE.md option; --agent claude and existing CLAUDE.md files still work.
Hooks use the inherited environment with the project's
node_modules/.binfirst and no longer append legacy Vite+ bin directories toPATH.Commands fail when the project's package manager does not support a named option instead of silently dropping it and continuing.
Asks users to type boom instead of uninstall to confirm.
Security 6
The installer verifies each downloaded platform archive against the registry's SHA-512 integrity digest and stops if it is missing or mismatched.
The installer verifies each downloaded platform archive against the registry's SHA-512 integrity digest and stops if it is missing or mismatched.
Stops processing organization template archives that exceed fixed size, compression-ratio, or entry-count limits.
launch-editor: Editor CLI flag misinterpretation causing arbitrary command execution for some editors
launch-editor: escapeCmdArgs() omits % escaping on Windows
launch-editor:
fs.existsSync()existence check can be bypassed on Windows
New APIs and options 9
Run Vite+ project creation through a package manager without installing the global vp CLI.
The vp pm licenses command accepts this option for machine-readable output.
The bundled Rolldown update adds the output.charset option.
List dependency licenses through supported package managers.
Get, set, delete, and fix package.json through the detected package manager, subject to the stated package-manager version requirements.
Vite+ supports authenticated private npm registries.
Detailed output shows the cache input and output exclusions that allow a task to be cached.
Bun 1.4.1+ receives the --offline option.
Bun 1.4.1+ receives the --prefer-offline option.
Performance 5
Import rewriting is up to 14 times faster on large projects.
Tasks start faster on Linux.
Concurrent commands needing the same uninstalled Node.js version download it once; others wait and reuse the installation.
Sourcing the environment script in POSIX shells is much faster with a long
PATH.Reaches the local URL about 24% sooner and uses about 30% less parent-process memory because Vite and Vitest are no longer loaded there before the dev server starts.
Behavior and default changes 14
Accepts npm dist-tags in package-manager specs; pin resolves the tag to an exact version, while default follows the tag on each use.
Prints one result line per task instead of the task list and Git progress, while keeping warnings, errors, and rollback results visible.
After a successful upgrade, reminds users of projects on an older Vite+ version to run vp migrate.
On macOS, tasks can run Node.js single executable applications and
deno compileoutputs.Oxfmt formats TOML in Markdown code blocks and frontmatter.
On additional platforms without file-access tracking, tasks must configure both input and output explicitly to be cached.
Adds legacy tsdown compatibility settings only for projects using an older tsdown, preserving modern defaults for later versions.
The summary reports cache hits among cache-enabled tasks and counts successful tasks instead of failed tasks.
When a task reads and writes the same file and cannot be cached, its summary explains that it modified its inputs.
Tasks run through
vp runremain cacheable with Vitest's on-disk caches enabled by default.Shows a progress bar while downloading the new platform package.
vp migrate now keeps the React Refresh option because the bundled Oxlint supports it.
Prompts render boxes, logs, and wrapped text consistently, with clearer hints, validation, and navigation instructions.
Sets npm_execpath and npm_config_user_agent for npm, pnpm, and Yarn so tools use the project's package manager instead of falling back to npm.
Tooling 2
Generated generators add
rootDir: "src"totsconfig.jsonand use Zod 4 option schemas.Keeps Oxlint rules written with plugin aliases and removes unsupported rules, listing removed rules in a warning.
Fixes and other changes 27
Now takes effect in vp dev, vp build, and vp preview.
Now takes effect in vp dev, vp build, and vp preview.
Now takes effect in vp dev, vp build, and vp preview.
Shows task output when used with vp staged.
The bundled update fixes browser mode, hook cleanup after a failing hook, and --changed with quoted file names.
Prints Vite's ready in N ms line, preventing scripts that wait for it from timing out after vp migrate.
Stops when the build output is missing, matching vite preview behavior.
Works when the PowerShell profile enables
Set-StrictModeand leaves the caller's strict mode unchanged.Node.js and package-manager version ranges follow npm's semver rules.
Line disable comments apply to type-aware diagnostics again; comments moved for v1.1.0 need to move back above the statement.
Dependency reinstalls, installs at another path, and pnpm dependency rechecks no longer cause task cache misses.
Cached tasks can run scripts with shebang interpreter paths longer than 126 bytes.
In PowerShell, failing commands set
$?toFalseand stop&&chains, matching direct calls tovp.exe.Skips Git config writes that change nothing, preventing concurrent setup in linked worktrees from failing after the first setup.
Keeps Prettier and continues migration when the Prettier config uses a format bundled Oxfmt cannot read.
Fails with an error suggesting
vp cache cleanwhen outputs from a cache hit cannot be restored.Concurrent tasks writing to a full output pipe no longer cause every task to stop.
On Windows, one Ctrl+C stops vpr scripts and managed Bun, pnpm, npm, and Yarn commands without leaving cmd.exe stuck at the termination prompt.
Playwright browser provider options keep their types.
In an existing pnpm workspace, adds the catalog entries the new application needs so installation does not fail with ERR_PNPM_CATALOG_ENTRY_NOT_FOUND_FOR_SPEC.
Leaves projects without a declared package manager unpinned, keeps existing declarations, and points to vp env pin when it infers one.
Reports a short error for a directory without package.json instead of an ENOENT stack trace.
Finds installed Vue language tools and TypeScript Go for declaration generation with isolated dependency layouts such as pnpm's global virtual store.
On Windows, watch mode rebuilds with the new options after the config file changes.
In Bun projects, falls back to npm as its warning says.
Yarn Classic accepts a single --filter option.
Runs the Vitest doctor and complete subcommands instead of treating them as test file filters.
vite-plus 0.14 changes
Security 4
launch-editor: NTLMv2 hash disclosure via UNC path handling on Windows
vite:
server.fs.denybypass on Windows alternate pathsVitest Browser: Exposed Browser Mode API Can Proxy CDP and Overwrite Config Files, Leading to RCE
Path traversal in vite-plus/binding downloadPackageManager() writes outside VP_HOME