Skip to content

Releases: voidzero-dev/vite-plus

vite-plus v1.4.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 03:46
Immutable release. Only release title and notes can be modified.
102fe8e

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+, and vpx --watch <file> reruns it when a file it uses changes. In package.json scripts, the vpx bin of the vite-plus package runs scripts without the global CLI and runs package binaries only from node_modules/.bin, pointing to vp dlx for anything not installed (docs) (#2936, #3164), by @Brooooooklyn and @fengmk2.
  • vp migrate offers to move tsx scripts to vpx: tsx a.ts, npx tsx a.ts, node --import tsx a.ts, and tsx watch a.ts in package.json scripts, lint-staged tasks, and #!/usr/bin/env tsx shebangs become vpx a.ts or vpx --watch a.ts. A project already on Vite+ gets the offer with vp migrate --full (docs) (#3179), by @fengmk2.
  • vp check --deny-warnings fails the check on lint warnings, so CI no longer needs a separate vp lint --deny-warnings run (docs) (#3075), by @acalvino4.
  • vp pm team creates 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: vp no 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 in tokio::time::Interval (RUSTSEC-2026-0384) (#3159, #3202), by @wan9chi and @fengmk2.
  • vp pm registry commands (login, logout, whoami, owner, token, dist-tag, deprecate, search, ping, and publish) run pnpm's own commands on pnpm 11 and later (token from 12.13.0), and vp pm owner and vp pm publish run 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 upgrade install the global CLI's JavaScript dependencies from a lockfile published with each release, so every installation of a version gets the same dependency versions. Set VP_SETUP_SKIP_INSTALL_LOCKFILE=1 to 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.4 to vite@8.3.5, with fixes for bundled dev mode, chunk import maps, CSS url() values containing %, and subpath imports with several # characters.
    • rolldown@1.2.14 to rolldown@1.2.15, with fixes for this.resolve recursion between plugins using skipSelf: true, strict execution order, and chunk import maps.
    • oxlint@1.88.0 to oxlint@1.89.0, with rule fixes that report cases missed before, for example in prefer-const, no-param-reassign, and sort-imports.
    • oxfmt@0.73.0 to oxfmt@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, run vp fmt after upgrading.
    • vpx scripts run on oxc-node@1.0.0.
    • @vitejs/devtools 0.8 is accepted as a peer dependency, alongside 0.7.

Fixes & Enhancements

  • The standalone vp executable binary size is ~30% smaller (#3086), by @fengmk2.
  • VP_SETUP_NODE_VERSION selects the Node.js version the installer uses for the CLI's dependencies, so setup-vp can use the project's version and avoid downloading a second Node.js in CI (docs) (#3087), by @fengmk2.
  • When tasks miss the cache, vp run finishes 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.yaml differs, for example after installing with another pnpm version, with --ignore-scripts, or on glibc and musl machines (vite-task#850), by @wan9chi.
  • vp run in a package that sits inside a workspace folder but is not listed in its pnpm-workspace.yaml packages or package.json workspaces runs that package's own tasks with its own packageManager, 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 of data did not match any variant of untagged enum UserTaskDefinition (vite-task#815), by @tlq5l.
  • vp run no longer panics on scripts that contain non-ASCII characters, such as echo こんにちは, 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 -1 as a directory descriptor, such as ps -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 dlx no longer occasionally abort with a stack overflow when the program makes concurrent system calls at startup (vite-task#854), by @fengmk2.
  • On Windows, vp run and the global vpx wait for the child process to finish its Ctrl+C cleanup and exit with its code, instead of exiting immediately (#3167), by @fengmk2.
  • vp migrate and the prefer-vite-plus-imports lint autofix leave vite/rolldown and vite/rolldown/* imports unchanged, instead of rewriting them to vite-plus/rolldown subpaths that vite-plus does not export (#3070, #3191), by @Crimson341 and @Dunqing.
  • vp migrate keeps existing .nvmrc files instead of converting them to .node-version, so nvm, fnm, and other tools that read .nvmrc keep working and the selected Node.js version does not change (#3126), by @liangmiQwQ.
  • vp migrate converts Oxlint configs that extends shared JSON files into TypeScript modules imported through lint.extends, so the inherited rules keep applying after migration (#3097), by @fengmk2.
  • vp migrate skips 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 migrate keeps the workspace members declared in package.json workspaces when it selects pnpm for a project without a lockfile, so recursive commands still include them (#2863), by @SaKaNa-Y.
  • vp migrate no longer reports unawaited-assertion for a local assertion promise that the function later awaits or returns (#3180), by @fengmk2.
  • pnpm create vite-plus and yarn create vite-plus no longer fail during dependency installation when vp is not on PATH, and no longer run a different global vp version for installation, formatting, and hooks (#3181), by @fengmk2.
  • vp create and vp migrate resolve the npm registry and credentials as npm does: a .npmrc above the project is no longer read, userconfig and globalconfig are honored, and registry hosts in credential keys match regardless of case (#3124), by @liangmiQwQ.
  • vp pack and vp create find the monorepo root the same way as vp run and vp install, and vp pack at a monorepo root without a vite.config no longer picks up a config from the directory above (#3101), by @liangmiQwQ.
  • defineConfig keeps plugins that are promises unchanged, so plugins that find themselves through properties on their promise, such as vike(), work under Vite+ ([#3154](#3...
Read more

vite-plus v1.3.0

Choose a tag to compare

@github-actions github-actions released this 16 Oct 06:09
Immutable release. Only release title and notes can be modified.
afbe4a2

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 vp through pnpm create vite-plus, npm create vite-plus@latest, yarn create vite-plus, or bun create vite-plus, which run vp create with the same arguments (docs) (#3028, #3048), by @liangmiQwQ.
  • vp pm pkg get, set, delete, and fix read and update package.json through the detected package manager: npm 7.20.0 and later (fix from 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 (or ls) lists dependency licenses through pnpm 7.17.0 and later, Yarn Classic, or Bun 1.4.0 and later, with --json for machine-readable output (#3037), by @jong-kyung.
  • vp env accepts npm dist-tags in package-manager specs: vp env pin pnpm@latest-10 pins the exact version the tag points to, and vp env default pnpm@latest-10 follows the tag on each use (#3047), by @liangmiQwQ.
  • Upgrade the bundled tools (#3058, #3078), by @voidzero-guard[bot] and @fengmk2:
    • rolldown@1.2.13 to rolldown@1.2.14. Rolldown adds the output.charset option and fixes several tree-shaking, code-splitting, and renaming bugs.
    • vitest@5.0.4 to vitest@5.0.5, with fixes for browser mode, hook cleanup after a failing hook, and --changed with quoted file names.

Fixes & Enhancements

  • Import rewriting in vp migrate is up to 14 times faster on large projects, for example 78 s to 5.6 s on Dify (#2987), by @fengmk2.
  • vp dev prints Vite's ready in N ms line, so scripts that wait for it no longer time out after vp migrate. --debug, --filter, and --profile now take effect in vp dev, vp build, and vp preview, and vp preview stops when the build output is missing, as vite preview does (#3056), by @fengmk2.
  • vp staged prints 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, --verbose shows task output, and --debug keeps the full log (#3060), by @fengmk2.
  • After a successful upgrade, vp upgrade reminds you to run vp migrate in projects that use an older Vite+ version (#3063), by @KTrain5169.
  • The coding agent picker in vp create and vp migrate lists Claude Code under AGENTS.md and no longer offers a separate CLAUDE.md option. --agent claude and existing CLAUDE.md files still work (#3055), by @fengmk2.

Docs

  • Recommend setting runtimeOnFail: ignore and pmOnFail: ignore in the project's pnpm-workspace.yaml for pnpm 11 and later, since pnpm does not read runtimeOnFail from 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.46 and ast-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 upgrade

Full Changelog: v1.2.0...v1.3.0

Published Packages

  • @voidzero-dev/vite-plus-core@1.3.0
  • vite-plus@1.3.0
  • create-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.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 build

Run 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 dev

Run 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

Choose a tag to compare

@github-actions github-actions released this 14 Oct 09:23
Immutable release. Only release title and notes can be modified.
8828720

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 run summary now reads like 3/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.sh and install.ps1 installers check each downloaded platform archive against the registry's SHA-512 dist.integrity before extracting it, and stop when the digest is missing or does not match (#2949), by @fengmk2.
  • vp upgrade shows 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, and vp run --last-details shows the cache: { input, output } exclusions that let it be cached. Detailed summaries show each cause of an error on its own line, and an invalid --filter glob 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 input and output explicitly 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.3 to vite@8.3.4.
    • rolldown@1.2.12 to rolldown@1.2.13.
    • tsdown@0.23.0 to tsdown@0.23.1.
    • vitest@5.0.3 to vitest@5.0.4. Vitest now turns on its on-disk caches by default, and vp test tasks run through vp run stay cacheable with them.
    • oxlint@1.87.0 to oxlint@1.88.0 and oxfmt@0.72.0 to oxfmt@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 run vp fmt after upgrading if CI runs vp check.
    • vp migrate keeps 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.2003 to oxlint-tsgolint@7.0.2004. Line disable comments apply to type-aware diagnostics again (tsgolint#1271), so disable comments moved to the } as T line for v1.1.0 need to move back above the statement.
    • Projects that use @effect/tsgo should stay on v1.1.0 for now. The latest @effect/tsgo@0.52.0 supports oxlint-tsgolint@7.0.2004 but not oxlint@1.88.0, so its install-time patch step fails until @effect/tsgo adds support.

Fixes & Enhancements

  • Reinstalling dependencies with pnpm, or installing them at another path, no longer causes task cache misses, and tasks that run pnpm run or pnpm exec no 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 compile outputs (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 run fails with an error suggesting vp cache clean instead of reporting a successful cache hit (vite-task#770), by @wan9chi.
  • vp run no 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 vp command sets $? to False and stops && chains, as calling vp.exe directly 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, and devEngines.runtime, and package-manager version ranges, follow npm's semver rules (#2835), by @ryuapp.
  • vp migrate adds the tsdown <0.23 compatibility settings (deps.resolveDepSubpath and attw.profile) only for projects on an older tsdown, so upgrades from Vite+ 1.x or tsdown@0.23.0 and later keep the modern defaults (#2910), by @fengmk2.
  • vp create vite:generator keeps the description prompt visible instead of drawing the spinner over it, uses concrete version ranges for dependencies missing from the workspace catalog, adds rootDir: "src" to the generated tsconfig.json, and scaffolds generators on bingo@0.13.2 with Zod 4 option schemas (#2940, #2996, #1831), by @jong-kyung, @fengmk2, and @renovate[bot].
  • vp create stops processing an organization template archive that expands past fixed size, compression ratio, or entry count limits (#2950), by @fengmk2.
  • vp config skips Git config writes that change nothing, so concurrent runs across linked worktrees no longer fail with could not lock config file after the first setup (#2958), by @naokihaba.
  • Git hooks no longer append the legacy $VP_HOME/bin or ~/.vite-plus/bin directory to PATH. They use the inherited environment with the project's node_modules/.bin first, so projects without a local vite-plus dependency need the Vite+ bin directory on the Git client's PATH (#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-core declares the same postcss, optional fsevents, and Yuku parser ranges as the bundled Vite and tsdown, and @oxlint/plugins matches the bundled oxlint (#2921), by @fengmk2.
  • vp pack --help lists both default env prefixes, VITE_PACK_ and TSDOWN_ (#3002), by @jong-kyung.
  • Prompts and status lines use one space after status symbols (#2928), by @cpojer.

Docs

  • Document shell completion, the global -C flag, the split directory layout, automatic update checks and how to opt out, package manager subcommands, and vp env doctor diagnostic scopes (#2972, #2956, #2973, #2960, #2975, #2982), by @jong-kyung.
  • Clarify how vp exec and vpx resolve commands, how vp test selects its runner, how vp config treats existing Git hooks, what vp check needs 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 of vp env uninstall ([#2990](https://github.com/voidz...
Read more

vite-plus v1.1.0: faster `vp dev` startup and clearer interactive prompts

Choose a tag to compare

@github-actions github-actions released this 07 Oct 02:29
Immutable release. Only release title and notes can be modified.
3aa366e

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 dev reaches 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 run sets npm_execpath and npm_config_user_agent for 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.1 to vite@8.3.3, rolldown@1.2.11 to rolldown@1.2.12, vitest@5.0.1 to vitest@5.0.3, oxlint@1.85.0 to oxlint@1.87.0, and oxfmt@0.70.0 to oxfmt@0.72.0. The new lint and format versions can flag code that passed before, so run vp fmt after upgrading if CI runs vp check. vp migrate now keeps the React Refresh allowCompoundComponents option because the bundled Oxlint supports it (#2871, #2896, #2904), by @voidzero-guard[bot].

Fixes & Enhancements

  • vp migrate keeps Oxlint rules written with plugin aliases (such as @typescript-eslint/*, react-hooks/*, and import-x/*) and removes rules the bundled Oxlint does not support, listing them in a warning (#2820, #2906), by @TheAlexLichter and @yusuke99.
  • vp migrate leaves projects without a declared package manager unpinned, keeps existing declarations, and points to vp env pin when it infers one (#2817), by @TheAlexLichter.
  • vp migrate reports a short error for a directory without package.json instead of an ENOENT stack trace (#2821), by @TheAlexLichter.
  • vp create in an existing pnpm workspace adds the catalog entries the new application needs, so installation no longer fails with ERR_PNPM_CATALOG_ENTRY_NOT_FOUND_FOR_SPEC (#2808), by @SaKaNa-Y.
  • On Windows, one Ctrl+C stops vpr scripts and managed Bun, pnpm, npm, and Yarn commands without leaving cmd.exe stuck at Terminate batch job (Y/N)? (#2890), by @fengmk2.
  • vp pack --watch on Windows rebuilds with the new options after the config file changes (#2826), by @liangmiQwQ.
  • vp test doctor and vp test complete run 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 pack finds 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 --offline and --prefer-offline, and Yarn Classic accepts a single --filter for vp remove (#2775), by @jong-kyung.
  • vp pm config in Bun projects falls back to npm, as its warning says (#2899), by @jong-kyung.
  • vp pm approve-builds states that Yarn Berry disables third-party build scripts by default from 4.14.0, not in every version (#2902), by @jong-kyung.
  • vp implode asks you to type boom instead of uninstall to 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 semver with verkit in 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 pack demo (#2843, #2844), by @TheAlexLichter and @naokihaba.
  • Document vp install -g --node and explain when vp env default re-resolves versions (#2885, #2884), by @hyunbinseo.
  • Use runnable package examples in the vpx guide and vpx --help (#2864), by @SaKaNa-Y.
  • Remove the redundant vp install step from setup-vp CI 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 --json example for the split directory layout (#2886, #2887, #2889, #2891), by @jong-kyung.

Chore

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 ...
Read more

vite-plus v1.0.0: Vite+ 1.0 is stable

Choose a tag to compare

@github-actions github-actions released this 28 Sep 05:38
Immutable release. Only release title and notes can be modified.
fc287d7

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 test moves to vitest@5.0.1, and the CLI now requires Node.js ^22.18.0 || ^24.11.0 || >=26.0.0. vp staged has new Node.js and Git minimums. Standalone installs and vp upgrade verify release provenance.
  • v1.0.0-rc.1: task cache settings in run.tasks move under cache. vp lint and vp fmt run 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 upgrade

Full Changelog: v1.0.0-rc.1...v1.0.0

Published Packages

  • @voidzero-dev/vite-plus-core@1.0.0
  • vite-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.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 build

Run 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`

Choose a tag to compare

@github-actions github-actions released this 26 Sep 06:30
Immutable release. Only release title and notes can be modified.
a9d81a4

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 lint and vp fmt run from a package directory now use the same config as Oxlint, Oxfmt, and the language server, so results match your editor. vp check still applies the workspace-root settings (#2807), by @fengmk2.
  • Global vp commands now exit cleanly when piped into a command that closes early, such as vp --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 process under 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, and oxlint-tsgolint@7.0.2002 -> oxlint-tsgolint@7.0.2003 (#2805, #2812), by @voidzero-guard[bot].

Fixes & Enhancements

  • Async defineConfig callbacks now type-check lint and format options, such as 'warn' rule severities, the same way as synchronous callbacks, so configs updated by vp migrate no longer fail with TS2769 (#2803), by @TheAlexLichter.
  • vp test --help now lists the Vitest 5 options --repeats, --injectCjsGlobals, --fsModuleCache, --fsModuleCachePath, and --sharedViteServer (#2809), by @Marve10s.
  • On Windows, vp run now matches environment variable names regardless of letter case (vite-task#747), by @wan9chi.

Docs

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-plus package 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 upgrade

New Contributors

@Marve10s, @lifeiscontent

Full Changelog: v1.0.0-rc.0...v1.0.0-rc.1

Published Packages

  • @voidzero-dev/vite-plus-core@1.0.0-rc.1
  • vite-plus@1.0.0-rc.1

Installation

macOS/Linux:

curl -fsSL https://vite.plus | bash

Windows:

irm https://vite.plus/ps1 | iex

Or 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 build

Run 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

Choose a tag to compare

@github-actions github-actions released this 22 Sep 13:58
Immutable release. Only release title and notes can be modified.
173e734

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, and vp-setup.exe now 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 run now finishes when background processes remain. Large file traces run without caching instead of killing the task (#2767, vite-task#675), by @wan9chi.

Features

  • vp add now supports shared install options such as --offline, --frozen-lockfile, and --lockfile-only (#2722), by @jong-kyung.
  • vp pm patch and vp pm patch-commit now use the native commands in npm 12 and later (#2736), by @jong-kyung.
  • vp rebuild now supports Yarn Berry and forwards package names and extra arguments (#2761), by @jong-kyung.
  • The bundled tools update oxlint 1.83.0 -> 1.85.0, oxlint-tsgolint 7.0.2001 -> 7.0.2002, and oxfmt 0.68.0 -> 0.70.0 (#2745, #2773, #2778), by @voidzero-guard[bot]. These versions can flag or format code that passed before. Run vp fmt after upgrading if CI runs vp check.

Fixes & Enhancements

  • vp create vite:generator now 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 migrate now removes unused @oxlint/plugins dependencies after it rewrites plugin imports (#2751), by @fengmk2.
  • vp update --no-save now warns that Yarn Classic and Yarn Berry do not support the option (#2762), by @jong-kyung.
  • vp migrate now explains its tsdown@0.23 compatibility settings and links to removal guidance (#2769), by @fengmk2.
  • Environment setup now installs and diagnoses the official pn and pnx aliases 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, and vp check now 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 migrate now use setup-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 upgrade

New Contributors

@YanChenBai, @iruoy

Full Changelog: v0.3.3...v1.0.0-rc.0

Published Packages

  • @voidzero-dev/vite-plus-core@1.0.0-rc.0
  • vite-plus@1.0.0-rc.0

Installation

macOS/Linux:

curl -fsSL https://vite.plus | bash

Windows:

irm https://vite.plus/ps1 | iex

Or 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 build

Run any vp command without installing it; see the Docker guide for more.

vite-plus v0.3.3: Homebrew setup and workspace dependency fixes

Choose a tag to compare

@github-actions github-actions released this 18 Sep 03:11
Immutable release. Only release title and notes can be modified.
45f9b9a

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 migrate removes the unsupported React Refresh allowCompoundComponents option 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 through vp add and vp install <packages> (#2713), by @jong-kyung.
  • vp dedupe warns 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.8 to rolldown@1.2.9, oxlint@1.82.0 to oxlint@1.83.0, and oxfmt@0.67.0 to oxfmt@0.68.0. The new lint and format versions can flag code that passed before. Run vp fmt after upgrading if CI runs vp 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-prompts with 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 upgrade

New Contributors

@james-elicx

Full Changelog: v0.3.2...v0.3.3

Published Packages

  • @voidzero-dev/vite-plus-core@0.3.3
  • vite-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.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 build

Run 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

Choose a tag to compare

@github-actions github-actions released this 14 Sep 15:11
Immutable release. Only release title and notes can be modified.
9fd0d0a

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 upgrade share 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/plugins and vite-plus/lint/plugins-dev. vp migrate updates supported existing imports (#2328), by @fengmk2.
  • vp install and vp add now honor --ignore-scripts for named packages and managed global installations (#2682), by @jong-kyung.

Features

  • The bundled tools update from vite@8.2.2 to vite@8.3.0 and from rolldown@1.2.7 to rolldown@1.2.8. They also update from oxlint@1.81.0 to oxlint@1.82.0 and from oxfmt@0.66.0 to oxfmt@0.67.0. The new linter and formatter can flag code that passed before. Run vp fmt after the upgrade if CI runs vp check (#2670), by @fengmk2.

Fixes & Enhancements

  • vp create rejects malformed registry versions that could place organization template files outside the cache directory (#2665), by @fengmk2.
  • vp env pin updates an active local .nvmrc and preserves its comments. Use --target nvmrc to select this file explicitly (#2676), by @ywenhao.
  • vp migrate reports unsupported ESLint rules that it skips, so users can review the missing checks (#2689), by @yusuke99.
  • vp migrate imports leftover tsdown configuration when a project already uses Vite+ (#2646), by @TheAlexLichter.
  • vp migrate accepts single-line JSON formatter configuration with a final newline (#2643), by @TheAlexLichter.
  • vp migrate avoids a redundant playwright dependency when the project already declares @playwright/test (#2637), by @yusuke99.
  • Newly scaffolded local generators honor --no-interactive and report missing arguments without prompts. Existing generators need the updated entrypoint (#2677), by @SaKaNa-Y.
  • vp upgrade installs 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 node is absent from PATH (#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.json errors include the affected file's path (#2683), by @adamaveray.

Docs

  • The README task example uses the supported env field (#2653), by @SaKaNa-Y.
  • Migration guidance tells pnpm users to retain the generated vite and vitest dependencies (#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 upgrade

New Contributors

@yusuke99, @pablog12, @SaKaNa-Y, @ywenhao, @adamaveray

Full Changelog: v0.3.1...v0.3.2

Published Packages

  • @voidzero-dev/vite-plus-core@0.3.2
  • vite-plus@0.3.2

Installation

macOS/Linux:

curl -fsSL https://vite.plus | bash

Windows:

irm https://vite.plus/ps1 | iex

Or 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 build

Run any vp command without installing it; see the Docker guide for more.

vite-plus v0.3.1: manage package-manager versions with vp env

Choose a tag to compare

@github-actions github-actions released this 08 Sep 13:57
Immutable release. Only release title and notes can be modified.
13e1e5a

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.

  1. Run vp migrate to update supported static configurations and package scripts, including projects that already use Vite+.
  2. Check migration warnings in vite.config.*, tsdown.config.*, and package.json.
  3. Update dynamic configurations manually. Arrays built with .map() require manual changes, even when migration reports no warning.
  4. Run vp pack to 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 404 responses caused by separate Vite runtime copies (#2617), by @fengmk2.
  • Reduce the Windows vp-shim.exe size from 214 KiB to 14 KiB (#2466), by @fengmk2.
  • Add vp check --quiet to hide lint warning diagnostics while retaining errors and summary counts (#2593), by @RSS1102.

Features

  • Add vp sync-versions --json so automation can request dependency alignment plans from manifest snapshots without changing project files (#2600), by @afonsojramos.
  • Make vp create --git suggest an initial commit command after Git initialization (#2581), by @fengmk2.
  • Make vp migrate replace frozen voidzero-dev/setup-vp@v1 workflow references with the supported version pin (#2540), by @fengmk2.
  • Upgrade rolldown from 1.2.5 to 1.2.7, tsdown from 0.22.14 to 0.23.0, and Oxc from 0.146.0 to 0.148.0. Upgrade oxlint from 1.79.0 to 1.81.0 and oxfmt from 0.64.0 to 0.66.0. These versions can flag code that passed before. Run vp fmt after upgrading if CI runs vp check (#2580, #2613), by @voidzero-guard[bot].

Fixes & Enhancements

  • Resolve package-manager versions without rewriting package.json. Use vp env pin or vp env unpin to change project declarations explicitly (#2399), by @liangmiQwQ.
  • Let vp migrate repair stale vitest aliases 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.x major (#2612), by @fengmk2.
  • Remove a deprecated tsdown option from the prompts package build (#2597), by @jong-kyung.

Refactor

  • Use the updated which dependency to resolve relative PATH entries (#2583), by @RSS1102.
  • Remove the unused async-trait annotation from JsRuntimeProvider (#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 runtimeOnFail setting (#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 vinext fixture 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 tempfile dependencies, an unused runtime helper, and unused error variants. Update the unit_bindings lint name (#2555, #2558, #2566, #2567), by @jong-kyung.
  • Update GitHub Actions dependencies, including actions/setup-node v7 (#2544, #2545, #2582, #2618), by @renovate[bot].
  • Update crate-ci/typos through v1.50.1 (#2584, #2589, #2609), by @renovate[bot].
  • Update repository pnpm to 11.24.0 (#2590), by @renovate[bot].
  • Update voidzero-dev/setup-vp to v1.19.0 (#2619), by @renovate[bot].

Bundled Versions

Tool Version Source
vite 8.2.2 de1111a ...
Read more