Repository navigation
Releases: voidzero-dev/vite-plus
Release list
vite-plus v1.4.0
Vite+ 1.4 runs TypeScript and JavaScript files with vpx, and vp migrate can move tsx scripts to it. It also adds vp check --deny-warnings and vp pm team, and installs the global CLI's dependencies from a lockfile published with each release.
Features
vpx <file>runs a TypeScript or JavaScript file on the project's Node.js with the oxc-node loader that ships with Vite+, andvpx --watch <file>reruns it when a file it uses changes. Inpackage.jsonscripts, thevpxbin of thevite-pluspackage runs scripts without the global CLI and runs package binaries only fromnode_modules/.bin, pointing tovp dlxfor anything not installed (docs) (#2936, #3164), by @Brooooooklyn and @fengmk2.vp migrateoffers to move tsx scripts tovpx:tsx a.ts,npx tsx a.ts,node --import tsx a.ts, andtsx watch a.tsinpackage.jsonscripts, lint-staged tasks, and#!/usr/bin/env tsxshebangs becomevpx a.tsorvpx --watch a.ts. A project already on Vite+ gets the offer withvp migrate --full(docs) (#3179), by @fengmk2.vp check --deny-warningsfails the check on lint warnings, so CI no longer needs a separatevp lint --deny-warningsrun (docs) (#3075), by @acalvino4.vp pm teamcreates and destroys registry organization teams and adds, removes, and lists their members, through npm or pnpm 11.13.0 and later, falling back to npm for older pnpm and Bun (#3040), by @jong-kyung.- Security:
vpno longer accepts HTTPS certificates issued through the distrusted emSign intermediates when downloading Node.js, package managers, and upgrades (RUSTSEC-2026-0382, RUSTSEC-2026-0383), and it ships tokio 1.54.1, which fixes a race intokio::time::Interval(RUSTSEC-2026-0384) (#3159, #3202), by @wan9chi and @fengmk2. vp pmregistry commands (login,logout,whoami,owner,token,dist-tag,deprecate,search,ping, andpublish) run pnpm's own commands on pnpm 11 and later (tokenfrom 12.13.0), andvp pm ownerandvp pm publishrun Yarn's own commands, so they follow that package manager's registry configuration and authentication. Older versions still go through npm (#3044), by @jong-kyung.- The installer and
vp upgradeinstall the global CLI's JavaScript dependencies from a lockfile published with each release, so every installation of a version gets the same dependency versions. SetVP_SETUP_SKIP_INSTALL_LOCKFILE=1to resolve them again if that installation fails (docs) (#3117), by @fengmk2. - Upgrade the bundled tools (#3133, #3158, #3175), by @voidzero-guard[bot] and @fengmk2:
vite@8.3.4tovite@8.3.5, with fixes for bundled dev mode, chunk import maps, CSSurl()values containing%, and subpath imports with several#characters.rolldown@1.2.14torolldown@1.2.15, with fixes forthis.resolverecursion between plugins usingskipSelf: true, strict execution order, and chunk import maps.oxlint@1.88.0tooxlint@1.89.0, with rule fixes that report cases missed before, for example inprefer-const,no-param-reassign, andsort-imports.oxfmt@0.73.0tooxfmt@0.74.0, with formatting fixes for comments, parentheses, JSDoc, JSON, YAML, and Markdown.- The new oxlint and oxfmt versions can flag code that passed before. If your CI runs
vp check, runvp fmtafter upgrading. vpxscripts run onoxc-node@1.0.0.@vitejs/devtools0.8 is accepted as a peer dependency, alongside 0.7.
Fixes & Enhancements
- The standalone
vpexecutable binary size is ~30% smaller (#3086), by @fengmk2. VP_SETUP_NODE_VERSIONselects the Node.js version the installer uses for the CLI's dependencies, sosetup-vpcan use the project's version and avoid downloading a second Node.js in CI (docs) (#3087), by @fengmk2.- When tasks miss the cache,
vp runfinishes sooner because it no longer waits for the disk after saving each result. If the computer loses power or the operating system crashes during a run, the entries it saved can be lost and those tasks run again (vite-task#871), by @magurotuna. - Cached tasks no longer miss the cache when only pnpm's
node_modules/.modules.yamldiffers, for example after installing with another pnpm version, with--ignore-scripts, or on glibc and musl machines (vite-task#850), by @wan9chi. vp runin a package that sits inside a workspace folder but is not listed in itspnpm-workspace.yamlpackagesorpackage.jsonworkspacesruns that package's own tasks with its ownpackageManager, instead of treating the enclosing workspace as its root (vite-task#859), by @liangmiQwQ.- A mistyped or misplaced task setting fails with an error that names it, such as
unknown field outputs, instead ofdata did not match any variant of untagged enum UserTaskDefinition(vite-task#815), by @tlq5l. vp runno longer panics on scripts that contain non-ASCII characters, such asecho こんにちは, and no longer cuts those commands off in its output (vite-task#861), by @magurotuna.- In cached tasks on Linux and macOS, programs that pass
-1as a directory descriptor, such asps -p <pid>from procps-ng 4.0.6 and later, no longer abort (vite-task#862), by @magurotuna. - On Linux, cached tasks such as
pnpm dlxno longer occasionally abort with a stack overflow when the program makes concurrent system calls at startup (vite-task#854), by @fengmk2. - On Windows,
vp runand the globalvpxwait for the child process to finish its Ctrl+C cleanup and exit with its code, instead of exiting immediately (#3167), by @fengmk2. vp migrateand theprefer-vite-plus-importslint autofix leavevite/rolldownandvite/rolldown/*imports unchanged, instead of rewriting them tovite-plus/rolldownsubpaths thatvite-plusdoes not export (#3070, #3191), by @Crimson341 and @Dunqing.vp migratekeeps existing.nvmrcfiles instead of converting them to.node-version, so nvm, fnm, and other tools that read.nvmrckeep working and the selected Node.js version does not change (#3126), by @liangmiQwQ.vp migrateconverts Oxlint configs thatextendsshared JSON files into TypeScript modules imported throughlint.extends, so the inherited rules keep applying after migration (#3097), by @fengmk2.vp migrateskips the git hooks prompt when the project's Vite+ hooks are already set up, and completes a partial setup without prompting (#3118), by @0froq.vp migratekeeps the workspace members declared inpackage.jsonworkspaceswhen it selects pnpm for a project without a lockfile, so recursive commands still include them (#2863), by @SaKaNa-Y.vp migrateno longer reportsunawaited-assertionfor a local assertion promise that the function later awaits or returns (#3180), by @fengmk2.pnpm create vite-plusandyarn create vite-plusno longer fail during dependency installation whenvpis not onPATH, and no longer run a different globalvpversion for installation, formatting, and hooks (#3181), by @fengmk2.vp createandvp migrateresolve the npm registry and credentials as npm does: a.npmrcabove the project is no longer read,userconfigandglobalconfigare honored, and registry hosts in credential keys match regardless of case (#3124), by @liangmiQwQ.vp packandvp createfind the monorepo root the same way asvp runandvp install, andvp packat a monorepo root without avite.configno longer picks up a config from the directory above (#3101), by @liangmiQwQ.defineConfigkeeps plugins that are promises unchanged, so plugins that find themselves through properties on their promise, such asvike(), work under Vite+ ([#3154](#3...
vite-plus v1.3.0
Vite+ 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.
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), by @liangmiQwQ. 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), by @jong-kyung.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), by @jong-kyung.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), by @liangmiQwQ.- 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), by @fengmk2. 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), by @fengmk2.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), by @fengmk2.- After a successful upgrade,
vp upgradereminds you to runvp migratein projects that use an older Vite+ version (#3063), by @KTrain5169. - 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), by @fengmk2.
Docs
- Recommend setting
runtimeOnFail: ignoreandpmOnFail: ignorein the project'spnpm-workspace.yamlfor pnpm 11 and later, since pnpm does not readruntimeOnFailfrom its global config (#3077), by @liangmiQwQ.
Chore
- Speed up CI with ThinLTO native test builds, a pinned prepacked Windows SDK, and a precompiled std for trampoline tests, keep dependencies in Cargo caches, switch Linux runners, and update Windows build pins with Renovate (#3026, #2995, #3009, #3000, #3073, #3049), by @fengmk2.
- Stabilize CLI snapshots during slow package-manager downloads, isolate Vitest browser and UI server ports, skip slow snapshot cases on Linux and Windows, and remove duplicate Rust unit tests (#3043, #3061, #3059, #3057), by @fengmk2 and @Brooooooklyn.
- Upgrade Rust crates and JavaScript dependencies, including
rustls@0.23.46andast-grep@0.51.0, and remove unused catalog entries (#1780, #1782, #1783), by @renovate[bot] and @fengmk2. - Refine the release-manager guidance (#3052), by @fengmk2.
Bundled Versions
| Tool | Version | Source | Changelog |
|---|---|---|---|
| vite | 8.3.4 |
b6c20f6 |
unchanged |
| rolldown | 1.2.14 |
c9a8cda |
1.2.14 |
| tsdown | 0.23.1 |
npm | unchanged |
| vitest | 5.0.5 |
npm | 5.0.5 |
| oxlint | 1.88.0 |
npm | unchanged |
| oxlint-tsgolint | 7.0.2004 |
npm | unchanged |
| oxfmt | 0.73.0 |
npm | unchanged |
Upgrade
vp upgradeFull Changelog: v1.2.0...v1.3.0
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 | bashWindows:
irm https://vite.plus/ps1 | iexOr download and run vp-setup.exe from the assets below.
Docker:
docker run --rm -it -v "$PWD:/app" -w /app ghcr.io/voidzero-dev/vite-plus:1.3.0 vp buildRun any vp command without installing it; see the Docker guide for more.
Create a New App
Start a project without installing the global vp: create-vite-plus runs vp create through your package manager.
pnpm create vite-plus vite:application --directory my-app
cd my-app && pnpm exec vp devRun the command without arguments to pick a template interactively, and see the create guide for other package managers, templates, and options.
vite-plus v1.2.0
Vite+ 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.
Highlights
- Support authenticated private npm registries (#2624), by @RSS1102.
- 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), by @wan9chi.
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), by @fengmk2. vp upgradeshows a progress bar while it downloads the new platform package, instead of looking frozen on slow connections (#2968), by @kshanxs.- 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), by @wan9chi. - 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), by @mfechner. - 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), by @wan9chi. - 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), by @wan9chi. - Cached tasks can run scripts whose shebang names an interpreter path longer than 126 bytes (vite-task#788), by @lifeiscontent.
- 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), by @wan9chi. vp runno longer stops every task when concurrent tasks write to a full output pipe, such as a CI log collector (vite-task#801), by @naokihaba.- On Linux, tasks with automatic file-access tracking start faster (vite-task#817), by @wan9chi.
- In PowerShell, a failing
vpcommand sets$?toFalseand stops&&chains, as callingvp.exedirectly does (#2947), by @fengmk2. - The Windows installer works when the PowerShell profile enables
Set-StrictMode, and leaves the caller's strict mode unchanged (#3005), by @fengmk2. - 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), by @jonykru. - Node.js version ranges from
.node-version,engines.node, anddevEngines.runtime, and package-manager version ranges, follow npm's semver rules (#2835), by @ryuapp. 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), by @fengmk2.vp create vite:generatorkeeps the description prompt visible instead of drawing the spinner over it, uses concrete version ranges for dependencies missing from the workspace catalog, addsrootDir: "src"to the generatedtsconfig.json, and scaffolds generators onbingo@0.13.2with Zod 4 option schemas (#2940, #2996, #1831), by @jong-kyung, @fengmk2, and @renovate[bot].vp createstops processing an organization template archive that expands past fixed size, compression ratio, or entry count limits (#2950), by @fengmk2.vp configskips Git config writes that change nothing, so concurrent runs across linked worktrees no longer fail withcould not lock config fileafter the first setup (#2958), by @naokihaba.- Git hooks no longer append the legacy
$VP_HOME/binor~/.vite-plus/bindirectory toPATH. They use the inherited environment with the project'snode_modules/.binfirst, so projects without a localvite-plusdependency need the Vite+ bin directory on the Git client'sPATH(#2930), by @liangmiQwQ. - Concurrent commands that need the same uninstalled Node.js version download it once; the others wait and reuse the installation (#3024), by @fengmk2.
@voidzero-dev/vite-plus-coredeclares the samepostcss, optionalfsevents, and Yuku parser ranges as the bundled Vite and tsdown, and@oxlint/pluginsmatches the bundledoxlint(#2921), by @fengmk2.vp pack --helplists both default env prefixes,VITE_PACK_andTSDOWN_(#3002), by @jong-kyung.- Prompts and status lines use one space after status symbols (#2928), by @cpojer.
Docs
- Document shell completion, the global
-Cflag, the split directory layout, automatic update checks and how to opt out, package manager subcommands, andvp env doctordiagnostic scopes (#2972, #2956, #2973, #2960, #2975, #2982), by @jong-kyung. - Clarify how
vp execandvpxresolve commands, howvp testselects its runner, howvp configtreats existing Git hooks, whatvp checkneeds for type checking, and how global CLI environment variables behave (#2957, #2979, #2962, #2978, #2916, #2919), by @jong-kyung. - Correct migration prerequisites, minimum versions, and upgrade order, clarify tsup migration and staged configuration, fix local CLI installation without a global
vp, and state the version requirements ofvp env uninstall([#2990](https://github.com/voidz...
vite-plus v1.1.0: faster `vp dev` startup and clearer interactive prompts
Vite+ 1.1 starts vp dev faster and makes the interactive prompts clearer, alongside fixes for vp 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), by @camc314.- Interactive prompts render boxes, logs, and wrapped text consistently, with clearer hints, validation, and navigation instructions (#2870), by @cpojer.
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), by @naokihaba and @tarikermis.- 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), by @voidzero-guard[bot].
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), by @TheAlexLichter and @yusuke99.vp migrateleaves projects without a declared package manager unpinned, keeps existing declarations, and points tovp env pinwhen it infers one (#2817), by @TheAlexLichter.vp migratereports a short error for a directory withoutpackage.jsoninstead of anENOENTstack trace (#2821), by @TheAlexLichter.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), by @SaKaNa-Y.- On Windows, one Ctrl+C stops
vprscripts and managed Bun, pnpm, npm, and Yarn commands without leavingcmd.exestuck atTerminate batch job (Y/N)?(#2890), by @fengmk2. vp pack --watchon Windows rebuilds with the new options after the config file changes (#2826), by @liangmiQwQ.vp test doctorandvp test completerun the Vitest subcommands instead of being treated as test file filters (#2879), by @liangmiQwQ.- 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), by @liangmiQwQ. - 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), by @jong-kyung. vp pm configin Bun projects falls back to npm, as its warning says (#2899), by @jong-kyung.vp pm approve-buildsstates that Yarn Berry disables third-party build scripts by default from 4.14.0, not in every version (#2902), by @jong-kyung.vp implodeasks you to typeboominstead ofuninstallto confirm (#2901), by @fengmk2.- Global package installs and updates print a green
+, and removals a red-, with bold package names in both (#2828), by @liangmiQwQ. - Setup headings and command hints keep their colors when the installer captures stdout (#2829), by @liangmiQwQ.
Refactor
- Replace
semverwithverkitin the CLI, reducing the bundled CLI JavaScript by about 26 KB (#2837), by @liangmiQwQ. - Share the shim filename logic between setup and
vp env doctor, and remove unused config migration metadata (#2876, #2894), by @jong-kyung.
Docs
- Announce Vite+ 1.0 on the website and update the homepage
vp packdemo (#2843, #2844), by @TheAlexLichter and @naokihaba. - Document
vp install -g --nodeand explain whenvp env defaultre-resolves versions (#2885, #2884), by @hyunbinseo. - Use runnable package examples in the
vpxguide andvpx --help(#2864), by @SaKaNa-Y. - Remove the redundant
vp installstep fromsetup-vpCI examples (#2888), by @yusuke99. - Explain how to return from a preview build, align manual installation examples with the installed toolchain, and update the JetBrains Node.js path and
vp env current --jsonexample for the split directory layout (#2886, #2887, #2889, #2891), by @jong-kyung.
Chore
- Update contributor setup instructions, move the logo files under
docs/public, and ignore the roottmpdirectory (#2832, #2831, #2860), by @liangmiQwQ. - Stabilize Node API reporter, catalog update, Bun, Yarn, and preview snapshots (#2869, #2872, #2893), by @liangmiQwQ and @fengmk2.
- Build the docs with the latest Vite+ and fix flaky CI tests (#2855), by @fengmk2.
- Remove the unused
set-snapshot-versionaction (#2877), by @jong-kyung. - Refine the release-manager guidance (#2827, #2788), by @wan9chi and @fengmk2.
Bundled Versions
| Tool | Version | Source | Changelog |
|---|---|---|---|
| vite | 8.3.3 |
fea5b21 |
8.3.2, 8.3.3 |
| rolldown | 1.2.12 |
45e407b |
1.2.12 |
| tsdown | 0.23.0 |
npm | unchanged |
| vitest | 5.0.3 |
npm | 5.0.2, 5.0.3 |
| oxlint | 1.87.0 |
npm | 1.86.0, 1.87.0 |
| oxlint-tsgolint | 7.0.2003 |
npm | unchanged |
| oxfmt | 0.72.0 |
npm ... |
vite-plus v1.0.0: Vite+ 1.0 is stable
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, or output should run vp migrate to move those settings under cache. For a Vite+ 0.3 project, follow Upgrade from Vite+ 0.3 to 1.0 and run vp migrate before you update the project's dependencies.
Bundled Versions
| Tool | Version | Source |
|---|---|---|
| vite | 8.3.1 |
39ddf7c |
| rolldown | 1.2.11 |
8df4219 |
| tsdown | 0.23.0 |
npm |
| vitest | 5.0.1 |
npm |
| oxlint | 1.85.0 |
npm |
| oxlint-tsgolint | 7.0.2003 |
npm |
| oxfmt | 0.70.0 |
npm |
Upgrade
vp upgradeFull Changelog: v1.0.0-rc.1...v1.0.0
Published Packages
@voidzero-dev/vite-plus-core@1.0.0vite-plus@1.0.0
Installation
macOS/Linux:
curl -fsSL https://vite.plus | bashWindows:
irm https://vite.plus/ps1 | iexOr download and run vp-setup.exe from the assets below.
Docker:
docker run --rm -it -v "$PWD:/app" -w /app ghcr.io/voidzero-dev/vite-plus:1.0.0 vp buildRun any vp command without installing it; see the Docker guide for more.
vite-plus v1.0.0-rc.1: task cache settings move under `cache`
Task cache settings now live under cache, and vp migrate moves existing task settings for you. vp lint and vp fmt run from a package directory now pick the same config as your editor, and piped vp output exits cleanly.
Breaking Changes
Task cache settings in run.tasks now go inside cache (vite-task#749), by @wan9chi.
| Old (top level of a task) | New |
|---|---|
env |
cache.env |
untrackedEnv |
cache.untrackedEnv |
input |
cache.input |
output |
cache.output |
Run vp migrate to move these fields for you. It updates tasks in vite.config.* files. If a task is defined somewhere else, such as a shared module, vp run shows an error listing that task and the fields to move, so you can fix it by hand. cache: true is the same as cache: {}. See the task cache migration rules and the cache reference.
Highlights
vp lintandvp fmtrun from a package directory now use the same config as Oxlint, Oxfmt, and the language server, so results match your editor.vp checkstill applies the workspace-root settings (#2807), by @fengmk2.- Global
vpcommands now exit cleanly when piped into a command that closes early, such asvp --version | head -n 1, instead of aborting with exit code 134 (#2785, #2793), by @naokihaba. - Fixed a rare race on macOS where a cached task could fail with
oils I/O error (main): No such processunder heavy parallel load (vite-task#703), by @lifeiscontent.
Features
- The bundled tools update
vite@8.3.0->vite@8.3.1,rolldown@1.2.9->rolldown@1.2.11, andoxlint-tsgolint@7.0.2002->oxlint-tsgolint@7.0.2003(#2805, #2812), by @voidzero-guard[bot].
Fixes & Enhancements
- Async
defineConfigcallbacks now type-check lint and format options, such as'warn'rule severities, the same way as synchronous callbacks, so configs updated byvp migrateno longer fail withTS2769(#2803), by @TheAlexLichter. vp test --helpnow lists the Vitest 5 options--repeats,--injectCjsGlobals,--fsModuleCache,--fsModuleCachePath, and--sharedViteServer(#2809), by @Marve10s.- On Windows,
vp runnow matches environment variable names regardless of letter case (vite-task#747), by @wan9chi.
Docs
- The copy prompt dialog no longer nests scroll areas and shows clearer copy feedback (#2794, #2799), by @liangmiQwQ and @Boshen.
Chore
- Snapshot tests share prepared packages and one Chromium process, run faster on every platform, and no longer read the live npm registry in the standalone npm fallback case (#2771, #2786, #2797), by @fengmk2 and @voidzero-guard[bot].
- The snapshot setup check links the local
vite-pluspackage into its reference home instead of installing the version under release from npm, so it passes before that version is published (#2819), by @wan9chi. - The preview migration harness installs a project's committed dependencies before running
vp migrate, so the Vitest 5 migration can read the original Vitest version (#2822), by @wan9chi. - The standalone install workflow loads the generated environment before running
vp env doctor(#2790), by @naokihaba.
Bundled Versions
| Tool | Version | Source |
|---|---|---|
| vite | 8.3.1 |
39ddf7c |
| rolldown | 1.2.11 |
8df4219 |
| tsdown | 0.23.0 |
npm |
| vitest | 5.0.1 |
npm |
| oxlint | 1.85.0 |
npm |
| oxlint-tsgolint | 7.0.2003 |
npm |
| oxfmt | 0.70.0 |
npm |
Upgrade
vp upgradeNew Contributors
Full Changelog: v1.0.0-rc.0...v1.0.0-rc.1
Published Packages
@voidzero-dev/vite-plus-core@1.0.0-rc.1vite-plus@1.0.0-rc.1
Installation
macOS/Linux:
curl -fsSL https://vite.plus | bashWindows:
irm https://vite.plus/ps1 | iexOr download and run vp-setup.exe from the assets below.
Docker:
docker run --rm -it -v "$PWD:/app" -w /app ghcr.io/voidzero-dev/vite-plus:1.0.0-rc.1 vp buildRun any vp command without installing it; see the Docker guide for more.
vite-plus v1.0.0-rc.0: Vitest 5 migration and npm provenance checks
Vite+ now uses Vitest 5, and vp migrate helps Vitest 4 projects adopt the new APIs and defaults. Standalone installs and upgrades now require verified npm provenance for release binaries.
Breaking Changes
Vitest 5
vp test and the public vite-plus/test* exports now use vitest@5.0.1 (#2551), by @fengmk2.
| Area | Old | New |
|---|---|---|
| Test runner | vitest@4.1.11 |
vitest@5.0.1 |
| CLI Node.js range | ^20.19.0 || ^22.18.0 || >=24.11.0 |
^22.18.0 || ^24.11.0 || >=26.0.0 |
vite-plus/test/runners and vite-plus/test/suite |
Vite+ compatibility exports | Use supported APIs from vite-plus/test; review unsupported runner and expect plugins |
vite-plus/test/browser-webdriverio |
Bundled export | Use the community @vitest/browser-webdriverio package |
Run vp migrate from the workspace root before you install the new dependencies. The migrator updates supported config, source, benchmark, command, and import changes. It reports manual work as BLOCK or REVIEW items. See the Vitest 5 migration guide for the full process. Projects can stay on the prior release until their runtimes and tests are ready.
Oxlint and Oxfmt editor commands
The vite-plus package no longer exposes the oxlint and oxfmt executable wrappers (#2672), by @fengmk2.
| Editor integration | Old command | New command |
|---|---|---|
| Oxlint language server | oxlint --lsp |
vp lint --lsp |
| Oxfmt language server | oxfmt --lsp |
vp fmt --lsp |
| Oxfmt stdin formatting | oxfmt --stdin-filepath <path> |
vp fmt --stdin-filepath <path> |
Update editor settings and scripts that call the removed wrappers. Regular lint and format commands continue to use vp lint and vp fmt.
vp staged runtime requirements
vp staged now uses lint-staged@17.5.1 (#2754), by @fengmk2.
| Requirement | Old | New |
|---|---|---|
Node.js for vp staged |
The Vite+ CLI runtime range | ^22.22.1 || ^24.11.0 || >=26.0.0 |
| Git | No separate documented minimum | >=2.32.0 |
Update Node.js and Git on developer machines and CI runners that execute vp staged or its pre-commit hook. Other workflows do not use these extra requirements.
Highlights
- Standalone installers,
vp upgrade, andvp-setup.exenow reject release binaries without supported SLSA provenance (#2440), by @kazupon. - Installers now show progress and the exact shell activation command. Download progress preserves earlier terminal output (#2744, #2741), by @fengmk2.
- System-first runtime and package-manager shims now use a fallback directory at the end of
PATH. Setup restores missing package-manager preferences (#2758, #2763), by @liangmiQwQ and @fengmk2. vp runnow finishes when background processes remain. Large file traces run without caching instead of killing the task (#2767, vite-task#675), by @wan9chi.
Features
vp addnow supports shared install options such as--offline,--frozen-lockfile, and--lockfile-only(#2722), by @jong-kyung.vp pm patchandvp pm patch-commitnow use the native commands in npm 12 and later (#2736), by @jong-kyung.vp rebuildnow supports Yarn Berry and forwards package names and extra arguments (#2761), by @jong-kyung.- The bundled tools update
oxlint1.83.0->1.85.0,oxlint-tsgolint7.0.2001->7.0.2002, andoxfmt0.68.0->0.70.0(#2745, #2773, #2778), by @voidzero-guard[bot]. These versions can flag or format code that passed before. Runvp fmtafter upgrading if CI runsvp check.
Fixes & Enhancements
vp create vite:generatornow replaces catalog references for package managers that do not support catalogs (#2720), by @SaKaNa-Y.- Unpinned npm projects now use the npm version bundled with the selected Node.js runtime. The same policy works during migration (#2742, #2748), by @liangmiQwQ.
- The CLI now loads its local versions module through a file URL, including on Windows paths (#2749), by @YanChenBai.
- Package-manager commands now use pnpm when the project has no detected package manager (#2750), by @liangmiQwQ.
vp migratenow removes unused@oxlint/pluginsdependencies after it rewrites plugin imports (#2751), by @fengmk2.vp update --no-savenow warns that Yarn Classic and Yarn Berry do not support the option (#2762), by @jong-kyung.vp migratenow explains itstsdown@0.23compatibility settings and links to removal guidance (#2769), by @fengmk2.- Environment setup now installs and diagnoses the official
pnandpnxaliases for pnpm (#2770), by @iruoy. - Cached tasks now receive GitHub Actions OIDC variables, so npm Trusted Publishing works through
vp run(vite-task#691), by @naokihaba. - Automatic task input tracking now records file access from signal handlers (vite-task#687), by @wan9chi.
Refactor
vp lint,vp fmt, andvp checknow use native config discovery. Package commands keep matching workspace-root settings, while explicit config flags take precedence (#2731), by @fengmk2.
Chore
- Generated workflows and
vp migratenow usesetup-vp@v1.21.1, including its installation fixes (#2760, #2772), by @renovate[bot] and @fengmk2.
Bundled Versions
| Tool | Version | Source |
|---|---|---|
| vite | 8.3.0 |
434e8e9 |
| rolldown | 1.2.9 |
5b4746e |
| tsdown | 0.23.0 |
npm |
| vitest | 5.0.1 |
npm |
| oxlint | 1.85.0 |
npm |
| oxlint-tsgolint | 7.0.2002 |
npm |
| oxfmt | 0.70.0 |
npm |
Upgrade
vp upgradeNew Contributors
Full Changelog: v0.3.3...v1.0.0-rc.0
Published Packages
@voidzero-dev/vite-plus-core@1.0.0-rc.0vite-plus@1.0.0-rc.0
Installation
macOS/Linux:
curl -fsSL https://vite.plus | bashWindows:
irm https://vite.plus/ps1 | iexOr download and run vp-setup.exe from the assets below.
Docker:
docker run --rm -it -v "$PWD:/app" -w /app ghcr.io/voidzero-dev/vite-plus:1.0.0-rc.0 vp buildRun any vp command without installing it; see the Docker guide for more.
vite-plus v0.3.3: Homebrew setup and workspace dependency fixes
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), by @fengmk2. - Windows installations decode remote legacy PowerShell scripts correctly (#2701), by @james-elicx.
vp migrateremoves the unsupported React RefreshallowCompoundComponentsoption and warns about possible lint errors (#2702), by @fengmk2.- New monorepo packages use the root lint configuration without a conflicting nested configuration (#2667), by @semimikoh.
- Yarn Classic rejects filtered additions and removals instead of changing unintended dependencies (#2705), by @jong-kyung.
- Yarn Berry rejects unsupported filtered updates and respects filters during recursive removal (#2709, #2712), by @jong-kyung.
- Yarn and Bun warn when a command does not support
--workspace-root. Yarn Classic accepts root additions throughvp addandvp install <packages>(#2713), by @jong-kyung. vp dedupewarns about unsupported check options (#2717), by @jong-kyung.- Rust command output respects
NO_COLOR(#2716), by @liangmiQwQ. - Windows commands find lowercase shims in directories with case-sensitive file names (#2727), by @fengmk2.
Dependency Updates
- Update
rolldown@1.2.8torolldown@1.2.9,oxlint@1.82.0tooxlint@1.83.0, andoxfmt@0.67.0tooxfmt@0.68.0. The new lint and format versions can flag code that passed before. Runvp fmtafter upgrading if CI runsvp check(#2725), by @voidzero-guard[bot].
Docs
- Reorganize the guide and expand the global CLI sections (#2684, #2715), by @liangmiQwQ.
- Explain Nushell startup requirements and recovery for XDG installations (#2704), by @naokihaba.
Chore
- Add documentation previews for fork PRs (#2691), by @fengmk2.
- Publish
@voidzero-dev/vite-plus-promptswith npm releases (#2707), by @fengmk2. - Reuse native preview installations and clarify release evidence and package checks (#2693, #2708), by @fengmk2.
- Stabilize dependency-removal snapshots and temporarily skip Socket Firewall tests on Windows (#2711, #2730), by @fengmk2.
- Clarify package-manager comments and update the preview workflow reference (#2706, #2714), by @jong-kyung.
- Run dependency upgrade automation with Kimi K3 (#2723), by @Brooooooklyn.
Bundled Versions
| Tool | Version | Source |
|---|---|---|
vite |
8.3.0 |
434e8e9 |
rolldown |
1.2.9 |
5b4746e |
tsdown |
0.23.0 |
npm |
vitest |
4.1.11 |
npm |
oxlint |
1.83.0 |
npm |
oxlint-tsgolint |
7.0.2001 |
npm |
oxfmt |
0.68.0 |
npm |
Upgrade
vp upgradeNew Contributors
Full Changelog: v0.3.2...v0.3.3
Published Packages
@voidzero-dev/vite-plus-core@0.3.3vite-plus@0.3.3
Installation
macOS/Linux:
curl -fsSL https://vite.plus | bashWindows:
irm https://vite.plus/ps1 | iexOr download and run vp-setup.exe from the assets below.
Docker:
docker run --rm -it -v "$PWD:/app" -w /app ghcr.io/voidzero-dev/vite-plus:0.3.3 vp buildRun any vp command without installing it; see the Docker guide for more.
vite-plus v0.3.2: independent package-manager versions and Oxlint plugin APIs
vp env use now 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_MANAGER still selects the manager and version for vp install and related commands. vp env use pnpm@10 now changes only the direct pnpm commands. To override vp install, set VP_PACKAGE_MANAGER explicitly.
The old .session-package-manager file is no longer read or migrated. Run vp env use again to create the new session files. Projects that use only project pins or global defaults need no changes. See the environment guide (#2658, #2659), by @liangmiQwQ.
Installer preferences
VP_NODE_MANAGER now controls only Node.js. Existing installations retain saved preferences during upgrades, so vp upgrade needs no configuration changes. For scripted installations, set VP_PM_MANAGER to apply the same choice to package managers:
| Previous combined setting | New combined setting |
|---|---|
VP_NODE_MANAGER=no |
VP_NODE_MANAGER=no VP_PM_MANAGER=no |
VP_NODE_MANAGER=yes |
VP_NODE_MANAGER=yes VP_PM_MANAGER=yes |
Update installer commands in CI jobs and Dockerfiles. Use VP_NPM_MANAGER, VP_PNPM_MANAGER, VP_YARN_MANAGER, or VP_BUN_MANAGER for individual preferences. The interactive prompt retains its combined choice. See the installer variables guide (#2681), by @liangmiQwQ.
Vite DevTools
Projects that install @vitejs/devtools must update its dependency range from ^0.4.0 || ^0.5.0 to ^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), by @liangmiQwQ. - Custom Oxlint rules can import their APIs from
vite-plus/lint/pluginsandvite-plus/lint/plugins-dev.vp migrateupdates supported existing imports (#2328), by @fengmk2. vp installandvp addnow honor--ignore-scriptsfor named packages and managed global installations (#2682), by @jong-kyung.
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), by @fengmk2.
Fixes & Enhancements
vp createrejects malformed registry versions that could place organization template files outside the cache directory (#2665), by @fengmk2.vp env pinupdates an active local.nvmrcand preserves its comments. Use--target nvmrcto select this file explicitly (#2676), by @ywenhao.vp migratereports unsupported ESLint rules that it skips, so users can review the missing checks (#2689), by @yusuke99.vp migrateimports leftover tsdown configuration when a project already uses Vite+ (#2646), by @TheAlexLichter.vp migrateaccepts single-line JSON formatter configuration with a final newline (#2643), by @TheAlexLichter.vp migrateavoids a redundantplaywrightdependency when the project already declares@playwright/test(#2637), by @yusuke99.- Newly scaffolded local generators honor
--no-interactiveand report missing arguments without prompts. Existing generators need the updated entrypoint (#2677), by @SaKaNa-Y. vp upgradeinstalls its dependencies correctly when the installation directory is inside a pnpm workspace (#2644), by @fengmk2.- Nested package-manager commands retain the selected Node runtime and package-manager versions (#2631), by @lyzno1.
- Built-in tools reuse the Node executable that starts the CLI. Editor lint and format servers work when
nodeis absent fromPATH(#2673), by @fengmk2. - The npm command wrapper enables Node's compile cache before it loads the CLI, which reduces repeated startup work (#2648), by @pablog12.
- Package-manager commands suppress pnpm, npm, and supported Yarn update notices. Yarn 4 daily tips are also hidden (#2649, #2650, #2651), by @fengmk2.
- Invalid
package.jsonerrors include the affected file's path (#2683), by @adamaveray.
Docs
- The README task example uses the supported
envfield (#2653), by @SaKaNa-Y. - Migration guidance tells pnpm users to retain the generated
viteandvitestdependencies (#2660), by @naokihaba. - Lint and format guides explain root configuration and overrides for monorepos. They clarify that nested configuration is not supported (#2668), by @liangmiQwQ.
Chore
- The repository removes unused Babel dependencies and the unused hooks directory setter (#2634, #2647), by @jong-kyung.
- CLI snapshot tests run across parallel jobs, and the pnpm 11 workspace pack test excludes generated archives (#2657, #2655), by @fengmk2.
- CI removes the unused Graphite optimization and adds Solid 2 ecosystem coverage (#2678, #2680), by @fengmk2.
- Release guidance clarifies validation and announcement procedures (#2633), by @fengmk2.
- The runtime manager refreshes the signing keys for Node.js release verification (#2687), by @voidzero-guard[bot].
Bundled Versions
| Tool | Version | Source |
|---|---|---|
vite |
8.3.0 |
434e8e9 |
rolldown |
1.2.8 |
9704b56 |
tsdown |
0.23.0 |
npm |
vitest |
4.1.11 |
npm |
oxlint |
1.82.0 |
npm |
oxlint-tsgolint |
7.0.2001 |
npm |
oxfmt |
0.67.0 |
npm |
Upgrade
vp upgradeNew Contributors
@yusuke99, @pablog12, @SaKaNa-Y, @ywenhao, @adamaveray
Full Changelog: v0.3.1...v0.3.2
Published Packages
@voidzero-dev/vite-plus-core@0.3.2vite-plus@0.3.2
Installation
macOS/Linux:
curl -fsSL https://vite.plus | bashWindows:
irm https://vite.plus/ps1 | iexOr download and run vp-setup.exe from the assets below.
Docker:
docker run --rm -it -v "$PWD:/app" -w /app ghcr.io/voidzero-dev/vite-plus:0.3.2 vp buildRun any vp command without installing it; see the Docker guide for more.
vite-plus v0.3.1: manage package-manager versions with vp env
vp env now 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, and bun commands. It removes the corepack shim and legacy global package-manager installations (#2391), by @liangmiQwQ.
Replace Corepack setup commands in shell profiles, CI jobs, and Dockerfiles:
| Previous setup | Replacement |
|---|---|
corepack enable |
vp env setup |
vp 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 corepack |
Use the managed package-manager commands directly |
Use vp env pin <manager>@<version> to set a project version.
vp env command scope and JSON output
Unscoped vp env commands now operate on Node.js and package managers. Package managers support independent defaults, project pins, session overrides, and installation commands (#2398), by @liangmiQwQ.
Add node to limit an operation to Node.js, for example, vp env off node or vp env unpin node. Bare versions, such as vp env default 22.19.0, still select Node.js.
Update scripts that read JSON output:
| Command | New output structure |
|---|---|
vp env current --json |
node and package_manager objects |
vp env list --json, vp env list-remote --json |
node and package_managers groups |
See the environment guide.
vp pack migration to tsdown@0.23
vp pack now uses tsdown@0.23, which removes deprecated options and changes defaults (#2614), by @fengmk2.
- Run
vp migrateto update supported static configurations and package scripts, including projects that already use Vite+. - Check migration warnings in
vite.config.*,tsdown.config.*, andpackage.json. - Update dynamic configurations manually. Arrays built with
.map()require manual changes, even when migration reports no warning. - Run
vp packto check the result.
| Previous option | Replacement |
|---|---|
bundle: false |
unbundle: true |
outExtension |
outExtensions |
publicDir / --public-dir |
copy / --copy |
removeNodeProtocol: true |
nodeProtocol: 'strip' |
injectStyle |
css.inject |
inlineOnly / deps.onlyAllowBundle |
deps.onlyBundle |
noExternal |
deps.alwaysBundle |
skipNodeModulesBundle: true / deps.skipNodeModulesBundle: true |
deps.neverBundle: true |
dts.tsgo: true / dts.oxc: true |
dts.generator: 'tsgo' / dts.generator: 'oxc' |
Migration preserves the previous defaults for dependency resolution and ATTW.
tsdown no longer supports Node.js 25. Use Node.js ^22.18.0, ^24.11.0, or >=26.0.0. The programmatic build() 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, and vp create now reject unsupported options and extra positional arguments (#2523), by @fengmk2.
Remove unsupported arguments from scripts. For example, replace vp config --hooks-only with vp config --no-agent.
Highlights
- Fix TanStack Start HTTP
404responses caused by separate Vite runtime copies (#2617), by @fengmk2. - Reduce the Windows
vp-shim.exesize from214 KiBto14 KiB(#2466), by @fengmk2. - Add
vp check --quietto hide lint warning diagnostics while retaining errors and summary counts (#2593), by @RSS1102.
Features
- Add
vp sync-versions --jsonso automation can request dependency alignment plans from manifest snapshots without changing project files (#2600), by @afonsojramos. - Make
vp create --gitsuggest an initial commit command after Git initialization (#2581), by @fengmk2. - Make
vp migratereplace frozenvoidzero-dev/setup-vp@v1workflow references with the supported version pin (#2540), by @fengmk2. - Upgrade
rolldownfrom1.2.5to1.2.7,tsdownfrom0.22.14to0.23.0, and Oxc from0.146.0to0.148.0. Upgradeoxlintfrom1.79.0to1.81.0andoxfmtfrom0.64.0to0.66.0. These versions can flag code that passed before. Runvp fmtafter upgrading if CI runsvp check(#2580, #2613), by @voidzero-guard[bot].
Fixes & Enhancements
- Resolve package-manager versions without rewriting
package.json. Usevp env pinorvp env unpinto change project declarations explicitly (#2399), by @liangmiQwQ. - Let
vp migraterepair stalevitestaliases that previously prevented the CLI from starting (#2605), by @fengmk2. - Keep Vite DevTools within the version ranges supported by the bundled Vite (#2559), by @fengmk2.
- Keep automatic Vitest upgrades on the supported
4.xmajor (#2612), by @fengmk2. - Remove a deprecated
tsdownoption from the prompts package build (#2597), by @jong-kyung.
Refactor
- Use the updated
whichdependency to resolve relativePATHentries (#2583), by @RSS1102. - Remove the unused
async-traitannotation fromJsRuntimeProvider(#2538), by @jong-kyung.
Docs
- Add Azure Pipelines setup instructions (#2553), by @naokihaba.
- Correct Zed Oxc formatter settings and include JSX and TSX (#2592), by @joschuba.
- Add Wrangler deployment configuration for the documentation site (#2596), by @mdong1909.
- Explain conflicts between pnpm and Vite+ runtime management, including the
runtimeOnFailsetting (#2620), by @liangmiQwQ.
Chore
- Run CLI snapshots without published release packages (#2625), by @fengmk2.
- Update the release-manager skill with package-install checks, changelog guidance, and announcement handling (#2548), by @fengmk2.
- Wait for npm dependencies to become available before publishing dependent release packages (#2601), by @fengmk2.
- Remove old Docker preview images (#2539), by @fengmk2.
- Stabilize external-tool snapshots and isolate npm network cases (#2577, #2604), by @fengmk2.
- Avoid unreliable Fish PPA setup in CI (#2560), by @fengmk2.
- Update the
vinextfixture to an upstream fix (#2571), by @jong-kyung. - Stabilize the pnpm snapshot and Nuxt build in CI (#2591), by @voidzero-guard[bot].
- Pin pnpm in project-creation build-approval fixtures (#2616), by @liangmiQwQ.
- Remove unused documentation components, assets, and the typewriter dependency (#2550, #2562), by @jong-kyung.
- Remove duplicate
tempfiledependencies, an unused runtime helper, and unused error variants. Update theunit_bindingslint name (#2555, #2558, #2566, #2567), by @jong-kyung. - Update GitHub Actions dependencies, including
actions/setup-nodev7(#2544, #2545, #2582, #2618), by @renovate[bot]. - Update
crate-ci/typosthroughv1.50.1(#2584, #2589, #2609), by @renovate[bot]. - Update repository pnpm to
11.24.0(#2590), by @renovate[bot]. - Update
voidzero-dev/setup-vptov1.19.0(#2619), by @renovate[bot].
Bundled Versions
| Tool | Version | Source |
|---|---|---|
vite |
8.2.2 |
de1111a ... |