Repository navigation
Tags: voidzero-dev/vite-plus
Tags
release: v1.4.0 (#3201) 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](https://github.com/oxc-project/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](https://viteplus.dev/guide/vpx#running-scripts)) ([#2936](#2936), [#3164](#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](https://viteplus.dev/guide/migrate-rules#tsx-to-vpx)) ([#3179](#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](https://viteplus.dev/guide/check#usage)) ([#3075](#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](#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](https://rustsec.org/advisories/RUSTSEC-2026-0382.html), [RUSTSEC-2026-0383](https://rustsec.org/advisories/RUSTSEC-2026-0383.html)), and it ships tokio 1.54.1, which fixes a race in `tokio::time::Interval` ([RUSTSEC-2026-0384](https://rustsec.org/advisories/RUSTSEC-2026-0384)) ([#3159](#3159), [#3202](#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](#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](https://viteplus.dev/guide/global-cli#vp-setup-skip-install-lockfile)) ([#3117](#3117)), by @fengmk2. - Upgrade the bundled tools ([#3133](#3133), [#3158](#3158), [#3175](#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 is 30%+ smaller ([#3086](#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](https://viteplus.dev/guide/global-cli#vp-setup-node-version)) ([#3087](#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](voidzero-dev/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](voidzero-dev/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](voidzero-dev/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](voidzero-dev/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](voidzero-dev/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](voidzero-dev/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](voidzero-dev/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](#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](#3070), [#3191](#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](#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](#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](#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](#2863)), by @SaKaNa-Y. - `vp migrate` no longer reports `unawaited-assertion` for a local assertion promise that the function later awaits or returns ([#3180](#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](#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](#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](#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](#3154)), by @liangmiQwQ. - `vp dev` with `experimental.bundledDev` no longer fails with `ERR_MODULE_NOT_FOUND` when no separate `rolldown` package is installed, and no longer picks up the runtime of an unrelated installed `rolldown` ([#3111](#3111)), by @fengmk2. - With `nodeShimMode: system_first`, `vp node` and `vp env exec` run the system tool that the shell would find, instead of downloading and running the managed Node.js ([#3100](#3100)), by @liangmiQwQ. - `VP_NODE_VERSION=22` and other partial versions resolve to an exact release in `vp env install`, `vp env exec`, and `vp env clean`, instead of failing with a 404 download error ([#3038](#3038)), by @Dev-next-gen. - `vp env pin` and `vp env unpin` show the file and field they changed. Package-manager pins from a workspace member update the workspace root `package.json`, and the help and guide now say so ([#3103](#3103)), by @SaKaNa-Y. - In PowerShell, a bare `--` reaches `vp` again, so `vp create vite -- --template react-ts` forwards `--template` to create-vite ([#3083](#3083)), by @fengmk2. - Nushell 0.112.1 and later starts when the user defines a custom command with the same name as a built-in that the Vite+ `env.nu` calls, such as `update`. Run `vp env setup` again to regenerate `env.nu` ([#3123](#3123)), by @naokihaba. - Package-manager commands reject options that the selected version would silently ignore, such as `--dry-run` or `--provenance` with an npm whose version is unknown, instead of running without them ([#3122](#3122)), by @jong-kyung. - Fresh Bun installs verify the integrity hash in a `packageManager` pin and reject a mismatched download, as pnpm 12 and later already did ([#3134](#3134)), by @jong-kyung. - A failed `vp install -g` restores the executables and npm links that existed before, instead of deleting files it never created ([#3119](#3119)), by @jong-kyung. - `vp install -g` skips package binaries with unsafe names or targets instead of linking them, as pnpm does ([#3156](#3156)), by @jong-kyung. - `npm uninstall -g <package> --dry-run` no longer removes the package's commands from Vite+ ([#3112](#3112)), by @jong-kyung. ### Refactor - Replace `glob` with `tinyglobby` in the CLI and share `.nvmrc` line parsing between reading and pinning. Workspace discovery in `vp create` and `vp migrate` now honors negated patterns such as `!packages/foo` and follows symlinked directories in `**` patterns, as pnpm does ([#3099](#3099), [#3125](#3125)), by @liangmiQwQ. - Share clap error diagnostics, manager preference parsing, external tool lookup, and native shell parsing for migration rewrites, and remove a redundant git hooks wrapper ([#3172](#3172), [#3143](#3143), [#3138](#3138), [#3173](#3173)), by @jong-kyung, @myuron, and @fengmk2. ### Docs - Note that `run.cache` can only be set in the workspace root's `vite.config.ts` ([#3139](#3139)), by @yusuke99. ### Chore - Bump vite-task to `a3c087a`; its user-facing changes are listed above ([#3153](#3153), [#3168](#3168), [#3184](#3184)), by @wan9chi. - Run Node.js, runtime download, and package-manager tests against local mirrors and offline fixtures, serve snapshot registry traffic from local fixtures and a shared cache, replace sleeps with deterministic waits, keep snapshot setup off the npm registry, and fix or remove tests that checked nothing ([#3067](#3067), [#3169](#3169), [#3170](#3170), [#3171](#3171), [#3144](#3144), [#3146](#3146), [#3145](#3145), [#3147](#3147), [#3148](#3148), [#3194](#3194), [#3203](#3203)), by @fengmk2 and @liangmiQwQ. - Cover package-manager detection for nested projects and owner listing with pnpm 11.28.7, and allow time for the Playwright type check on slow runners ([#3051](#3051), [#3174](#3174), [#3082](#3082)), by @liangmiQwQ, @jong-kyung, and @fengmk2. - Update the Node.js versions used for development, CI, and release publishing to the [October 2026 security releases](https://nodejs.org/en/blog/vulnerability/october-2026-security-releases): 22.23.4, 24.22.1, and 26.12.1 ([#3186](#3186)), by @fengmk2. - Reduce GitHub Actions cache storage and enable the e18e lint rules for the repository ([#3149](#3149), [#3088](#3088)), by @fengmk2. - Upgrade JavaScript dependencies and Rust crates, including `@ast-grep/napi@0.51.0` and `serial_test@4` ([#3108](#3108), [#3109](#3109)), by @renovate[bot]. - Refine the release-manager and vite-task bump guidance ([#3084](#3084), [#3160](#3160)), by @fengmk2 and @wan9chi. ### Bundled Versions | Tool | Version | Source | Changelog | | --------------- | ---------- | --------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | vite | `8.3.5` | [`981f07f`](vitejs/vite@981f07f) | [8.3.5](https://github.com/vitejs/vite/releases/tag/v8.3.5) | | rolldown | `1.2.15` | [`89d821c`](rolldown/rolldown@89d821c) | [1.2.15](https://github.com/rolldown/rolldown/releases/tag/v1.2.15) | | oxc-node | `1.0.0` | [`4759ced`](oxc-project/oxc-node@4759ced) | [1.0.0](https://github.com/oxc-project/oxc-node/releases/tag/v1.0.0) | | tsdown | `0.23.1` | [npm](https://npmx.dev/package/tsdown/v/0.23.1) | unchanged | | vitest | `5.0.5` | [npm](https://npmx.dev/package/vitest/v/5.0.5) | unchanged | | oxlint | `1.89.0` | [npm](https://npmx.dev/package/oxlint/v/1.89.0) | [1.89.0](https://github.com/oxc-project/oxc/releases/tag/oxlint_v1.89.0) | | oxlint-tsgolint | `7.0.2004` | [npm](https://npmx.dev/package/oxlint-tsgolint/v/7.0.2004) | unchanged | | oxfmt | `0.74.0` | [npm](https://npmx.dev/package/oxfmt/v/0.74.0) | [0.74.0](https://github.com/oxc-project/oxc/releases/tag/oxfmt_v0.74.0) | ### Upgrade ```bash vp upgrade ``` ### New Contributors @acalvino4, @Dev-next-gen, @0froq, @Crimson341, @Dunqing, @magurotuna, @tlq5l **Full Changelog**: v1.3.0...v1.4.0 --- Merging this PR will trigger the release workflow. --------- Co-authored-by: voidzero-guard[bot] <278573678+voidzero-guard[bot]@users.noreply.github.com> Co-authored-by: MK (fengmk2) <fengmk2@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
release: v1.3.0 (#3079) Vite+ 1.3 adds `create-vite-plus`, so `npm create vite-plus@latest` starts a project without the global `vp`. It adds `vp pm pkg` for editing `package.json` and `vp pm licenses list` for dependency licenses, and lets `vp env` take package-manager dist-tags such as `pnpm@latest-10`. It also makes `vp migrate` import rewriting much faster on large projects and makes `vp dev` print Vite's `ready in` line and honor `--debug`, `--filter`, and `--profile`. ### 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](https://viteplus.dev/guide/create#without-the-global-cli)) ([#3028](#3028), [#3048](#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](https://viteplus.dev/guide/package-management#package-manifest)) ([#3020](#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](#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](#3047)), by @liangmiQwQ. - Upgrade the bundled tools ([#3058](#3058), [#3078](#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](#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](#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](#3060)), by @fengmk2. - After a successful upgrade, `vp upgrade` reminds you to run `vp migrate` in projects that use an older Vite+ version ([#3063](#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](#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](#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](#3026), [#2995](#2995), [#3009](#3009), [#3000](#3000), [#3073](#3073), [#3049](#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](#3043), [#3061](#3061), [#3059](#3059), [#3057](#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](#1780), [#1782](#1782), [#1783](#1783)), by @renovate[bot] and @fengmk2. - Refine the release-manager guidance ([#3052](#3052)), by @fengmk2. ### Bundled Versions | Tool | Version | Source | Changelog | | --------------- | ---------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | | vite | `8.3.4` | [`b6c20f6`](vitejs/vite@b6c20f6) | unchanged | | rolldown | `1.2.14` | [`c9a8cda`](rolldown/rolldown@c9a8cda) | [1.2.14](https://github.com/rolldown/rolldown/releases/tag/v1.2.14) | | tsdown | `0.23.1` | [npm](https://npmx.dev/package/tsdown/v/0.23.1) | unchanged | | vitest | `5.0.5` | [npm](https://npmx.dev/package/vitest/v/5.0.5) | [5.0.5](https://github.com/vitest-dev/vitest/releases/tag/v5.0.5) | | oxlint | `1.88.0` | [npm](https://npmx.dev/package/oxlint/v/1.88.0) | unchanged | | oxlint-tsgolint | `7.0.2004` | [npm](https://npmx.dev/package/oxlint-tsgolint/v/7.0.2004) | unchanged | | oxfmt | `0.73.0` | [npm](https://npmx.dev/package/oxfmt/v/0.73.0) | unchanged | ### Upgrade ```bash vp upgrade ``` **Full Changelog**: v1.2.0...v1.3.0 --- Merging this PR will trigger the release workflow. --------- Co-authored-by: voidzero-guard[bot] <278573678+voidzero-guard[bot]@users.noreply.github.com> Co-authored-by: MK (fengmk2) <fengmk2@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
release: v1.2.0 (#3029) 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](#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](voidzero-dev/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](#2949)), by @fengmk2. - `vp upgrade` shows a progress bar while it downloads the new platform package, instead of looking frozen on slow connections ([#2968](#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](voidzero-dev/vite-task#783), [vite-task#784](voidzero-dev/vite-task#784), [vite-task#761](voidzero-dev/vite-task#761), [vite-task#763](voidzero-dev/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](voidzero-dev/vite-task#829)), by @mfechner. - Upgrade the bundled tools ([#2935](#2935), [#2977](#2977), [#2998](#2998), [#3021](#3021), [#3039](#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](oxc-project/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` need `@effect/tsgo@0.52.0` or later with this tsgolint version. ### 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](voidzero-dev/vite-task#823), [vite-task#824](voidzero-dev/vite-task#824), [vite-task#825](voidzero-dev/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](voidzero-dev/vite-task#840)), by @wan9chi. - Cached tasks can run scripts whose shebang names an interpreter path longer than 126 bytes ([vite-task#788](voidzero-dev/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](voidzero-dev/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](voidzero-dev/vite-task#801)), by @naokihaba. - On Linux, tasks with automatic file-access tracking start faster ([vite-task#817](voidzero-dev/vite-task#817)), by @wan9chi. - In PowerShell, a failing `vp` command sets `$?` to `False` and stops `&&` chains, as calling `vp.exe` directly does ([#2947](#2947)), by @fengmk2. - The Windows installer works when the PowerShell profile enables `Set-StrictMode`, and leaves the caller's strict mode unchanged ([#3005](#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](#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](#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](#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](#2940), [#2996](#2996), [#1831](#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](#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](#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](#2930)), by @liangmiQwQ. - Concurrent commands that need the same uninstalled Node.js version download it once; the others wait and reuse the installation ([#3024](#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](#2921)), by @fengmk2. - `vp pack --help` lists both default env prefixes, `VITE_PACK_` and `TSDOWN_` ([#3002](#3002)), by @jong-kyung. - Prompts and status lines use one space after status symbols ([#2928](#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](#2972), [#2956](#2956), [#2973](#2973), [#2960](#2960), [#2975](#2975), [#2982](#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](#2957), [#2979](#2979), [#2962](#2962), [#2978](#2978), [#2916](#2916), [#2919](#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](#2990), [#2923](#2923), [#2944](#2944), [#3004](#3004), [#2946](#2946)), by @jong-kyung. - Rename the install guide to Package Management, clarify package-management command compatibility, and align the create, run, and staged guides with CLI behavior and Vite Task defaults ([#2929](#2929), [#2925](#2925), [#2939](#2939), [#2941](#2941), [#2908](#2908)), by @jong-kyung. - Explain task cache behavior and how Vite build outputs are cached ([#2963](#2963), [#2942](#2942)), by @yusuke99 and @jong-kyung. - Correct the `baseUrl` and editor setup guidance in troubleshooting, and clarify JetBrains IDE support ([#2943](#2943), [#3001](#3001)), by @jong-kyung. - Note that `lazyPlugins` does not defer local module imports ([#2967](#2967)), by @kshanxs. - Align inline comments in code examples ([#2927](#2927)), by @yusuke99. ### Chore - Bump vite-task to `9ba4cc9`; its user-facing changes are listed above ([#3019](#3019)), by @wan9chi. - Speed up CI by removing platform waits, reusing native test binaries and dependency caches, skipping slow pnpm cache restores on macOS and Windows, and installing prebuilt `cargo-zigbuild` ([#2961](#2961), [#3023](#3023), [#3015](#3015), [#3010](#3010)), by @fengmk2. - Run CI bootstrap scripts without unpinned `tsx`, isolate upstream CLI help capture from workspace overrides, and update security-action to v1.0.10 ([#2948](#2948), [#2976](#2976), [#3022](#3022)), by @fengmk2. - Cache the docs build with the Vite Task remote cache ([#2926](#2926), [#2951](#2951)), by @wan9chi. - Add a Nix flake for the contributor development environment ([#2874](#2874), [#2974](#2974)), by @myuron and @fengmk2. - Stabilize the CLI help wrapping and browser snapshot tests ([#2952](#2952), [#3006](#3006)), by @myuron and @fengmk2. - Exclude upstream-managed dependencies from Renovate ([#2918](#2918)), by @fengmk2. - Refine the release-manager guidance ([#2917](#2917)), by @fengmk2. ### Bundled Versions | Tool | Version | Source | Changelog | | --------------- | ---------- | ------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | | vite | `8.3.4` | [`b6c20f6`](vitejs/vite@b6c20f6) | [8.3.4](https://github.com/vitejs/vite/releases/tag/v8.3.4) | | rolldown | `1.2.13` | [`f7de35f`](rolldown/rolldown@f7de35f) | [1.2.13](https://github.com/rolldown/rolldown/releases/tag/v1.2.13) | | tsdown | `0.23.1` | [npm](https://npmx.dev/package/tsdown/v/0.23.1) | [0.23.1](https://github.com/rolldown/tsdown/releases/tag/v0.23.1) | | vitest | `5.0.4` | [npm](https://npmx.dev/package/vitest/v/5.0.4) | [5.0.4](https://github.com/vitest-dev/vitest/releases/tag/v5.0.4) | | oxlint | `1.88.0` | [npm](https://npmx.dev/package/oxlint/v/1.88.0) | [1.88.0](https://github.com/oxc-project/oxc/releases/tag/oxlint_v1.88.0) | | oxlint-tsgolint | `7.0.2004` | [npm](https://npmx.dev/package/oxlint-tsgolint/v/7.0.2004) | [7.0.2004](https://github.com/oxc-project/tsgolint/releases/tag/v7.0.2004) | | oxfmt | `0.73.0` | [npm](https://npmx.dev/package/oxfmt/v/0.73.0) | [0.73.0](https://github.com/oxc-project/oxc/releases/tag/oxfmt_v0.73.0) | ### Upgrade ```bash vp upgrade ``` ### New Contributors @ryuapp @jonykru @myuron @kshanxs @mfechner **Full Changelog**: v1.1.0...v1.2.0 --- Merging this PR will trigger the release workflow. --------- Co-authored-by: voidzero-guard[bot] <278573678+voidzero-guard[bot]@users.noreply.github.com> Co-authored-by: MK (fengmk2) <fengmk2@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
release: v1.1.0: faster `vp dev` startup and clearer interactive prom… …pts (#2907) 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](#2851)), by @camc314. - Interactive prompts render boxes, logs, and wrapped text consistently, with clearer hints, validation, and navigation instructions ([#2870](#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](#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](#2871), [#2896](#2896), [#2904](#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](#2820), [#2906](#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](#2817)), by @TheAlexLichter. - `vp migrate` reports a short error for a directory without `package.json` instead of an `ENOENT` stack trace ([#2821](#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](#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](#2890)), by @fengmk2. - `vp pack --watch` on Windows rebuilds with the new options after the config file changes ([#2826](#2826)), by @liangmiQwQ. - `vp test doctor` and `vp test complete` run the Vitest subcommands instead of being treated as test file filters ([#2879](#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](#2868), [#2865](#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](#2775)), by @jong-kyung. - `vp pm config` in Bun projects falls back to npm, as its warning says ([#2899](#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](#2902)), by @jong-kyung. - `vp implode` asks you to type `boom` instead of `uninstall` to confirm ([#2901](#2901)), by @fengmk2. - Global package installs and updates print a green `+`, and removals a red `-`, with bold package names in both ([#2828](#2828)), by @liangmiQwQ. - Setup headings and command hints keep their colors when the installer captures stdout ([#2829](#2829)), by @liangmiQwQ. ### Refactor - Replace `semver` with `verkit` in the CLI, reducing the bundled CLI JavaScript by about 26 KB ([#2837](#2837)), by @liangmiQwQ. - Share the shim filename logic between setup and `vp env doctor`, and remove unused config migration metadata ([#2876](#2876), [#2894](#2894)), by @jong-kyung. ### Docs - Announce Vite+ 1.0 on the website and update the homepage `vp pack` demo ([#2843](#2843), [#2844](#2844)), by @TheAlexLichter and @naokihaba. - Document `vp install -g --node` and explain when `vp env default` re-resolves versions ([#2885](#2885), [#2884](#2884)), by @hyunbinseo. - Use runnable package examples in the `vpx` guide and `vpx --help` ([#2864](#2864)), by @SaKaNa-Y. - Remove the redundant `vp install` step from `setup-vp` CI examples ([#2888](#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](#2886), [#2887](#2887), [#2889](#2889), [#2891](#2891)), by @jong-kyung. ### Chore - Update contributor setup instructions, move the logo files under `docs/public`, and ignore the root `tmp` directory ([#2832](#2832), [#2831](#2831), [#2860](#2860)), by @liangmiQwQ. - Stabilize Node API reporter, catalog update, Bun, Yarn, and preview snapshots ([#2869](#2869), [#2872](#2872), [#2893](#2893)), by @liangmiQwQ and @fengmk2. - Build the docs with the latest Vite+ and fix flaky CI tests ([#2855](#2855)), by @fengmk2. - Remove the unused `set-snapshot-version` action ([#2877](#2877)), by @jong-kyung. - Refine the release-manager guidance ([#2827](#2827), [#2788](#2788)), by @wan9chi and @fengmk2. ### Bundled Versions | Tool | Version | Source | Changelog | | --------------- | ---------- | ------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | | vite | `8.3.3` | [`fea5b21`](vitejs/vite@fea5b21) | [8.3.2](https://github.com/vitejs/vite/releases/tag/v8.3.2), [8.3.3](https://github.com/vitejs/vite/releases/tag/v8.3.3) | | rolldown | `1.2.12` | [`45e407b`](rolldown/rolldown@45e407b) | [1.2.12](https://github.com/rolldown/rolldown/releases/tag/v1.2.12) | | tsdown | `0.23.0` | [npm](https://npmx.dev/package/tsdown/v/0.23.0) | unchanged | | vitest | `5.0.3` | [npm](https://npmx.dev/package/vitest/v/5.0.3) | [5.0.2](https://github.com/vitest-dev/vitest/releases/tag/v5.0.2), [5.0.3](https://github.com/vitest-dev/vitest/releases/tag/v5.0.3) | | oxlint | `1.87.0` | [npm](https://npmx.dev/package/oxlint/v/1.87.0) | [1.86.0](https://github.com/oxc-project/oxc/releases/tag/oxlint_v1.86.0), [1.87.0](https://github.com/oxc-project/oxc/releases/tag/oxlint_v1.87.0) | | oxlint-tsgolint | `7.0.2003` | [npm](https://npmx.dev/package/oxlint-tsgolint/v/7.0.2003) | unchanged | | oxfmt | `0.72.0` | [npm](https://npmx.dev/package/oxfmt/v/0.72.0) | [0.71.0](https://github.com/oxc-project/oxc/releases/tag/oxfmt_v0.71.0), [0.72.0](https://github.com/oxc-project/oxc/releases/tag/oxfmt_v0.72.0) | ### Upgrade ```bash vp upgrade ``` ### New Contributors @hyunbinseo **Full Changelog**: v1.0.0...v1.1.0 --- Merging this PR will trigger the release workflow. --------- Co-authored-by: voidzero-guard[bot] <278573678+voidzero-guard[bot]@users.noreply.github.com> Co-authored-by: MK (fengmk2) <fengmk2@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
release: v1.0.0: Vite+ 1.0 is stable (#2839) Vite+ 1.0 is stable. This release promotes [v1.0.0-rc.1](https://github.com/voidzero-dev/vite-plus/releases/tag/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](https://github.com/voidzero-dev/vite-plus/releases/tag/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](https://github.com/voidzero-dev/vite-plus/releases/tag/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](https://viteplus.dev/guide/migrate#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`](vitejs/vite@39ddf7c) | | rolldown | `1.2.11` | [`8df4219`](rolldown/rolldown@8df4219) | | tsdown | `0.23.0` | [npm](https://npmx.dev/package/tsdown/v/0.23.0) | | vitest | `5.0.1` | [npm](https://npmx.dev/package/vitest/v/5.0.1) | | oxlint | `1.85.0` | [npm](https://npmx.dev/package/oxlint/v/1.85.0) | | oxlint-tsgolint | `7.0.2003` | [npm](https://npmx.dev/package/oxlint-tsgolint/v/7.0.2003) | | oxfmt | `0.70.0` | [npm](https://npmx.dev/package/oxfmt/v/0.70.0) | ### Upgrade ```bash vp upgrade ``` **Full Changelog**: v1.0.0-rc.1...v1.0.0 --- Merging this PR will trigger the release workflow. --------- Co-authored-by: voidzero-guard[bot] <278573678+voidzero-guard[bot]@users.noreply.github.com> Co-authored-by: wan9chi <me@wan9chi.com>
release: v1.0.0-rc.1: task cache settings move under `cache` (#2818) 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` ([#2813](#2813), [#2814](#2814), [#2823](#2823), [vite-task#749](voidzero-dev/vite-task#749)), by @wan9chi. | Old (top level of a task) | New | | --- | --- | | `env` | `cache.env` | | `untrackedEnv` | `cache.untrackedEnv` | | `input` | `cache.input` | | `output` | `cache.output` | `cache: true` is the same as `cache: {}`. After upgrading, a task that still uses the old top-level fields fails with an error that points to `vp migrate`. Run `vp migrate` to move the fields in `vite.config.*` for the workspace root and every package. It warns about tasks in `vite.config.*` that it cannot rewrite safely. Tasks created in other modules, such as by a shared helper function, are not detected, so move their fields by hand; the error lists every task that still needs it. Projects whose tasks do not use these fields need no changes. See the [task cache migration rules](https://viteplus.dev/guide/migrate-rules#task-cache-configuration) and the [`cache` reference](https://viteplus.dev/config/run#cache). ### 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](#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](#2785), [#2793](#2793)), by @naokihaba. - Cached tasks on macOS no longer intermittently fail with `oils I/O error (main): No such process` ([vite-task#703](voidzero-dev/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](#2805), [#2812](#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](#2803)), by @TheAlexLichter. - `vp test --help` now lists the Vitest 5 options `--repeats`, `--injectCjsGlobals`, `--fsModuleCache`, `--fsModuleCachePath`, and `--sharedViteServer` ([#2809](#2809)), by @Marve10s. - On Windows, `vp run` now matches environment variable names regardless of letter case ([vite-task#747](voidzero-dev/vite-task#747)), by @wan9chi. ### Docs - The copy prompt dialog no longer nests scroll areas and shows clearer copy feedback ([#2794](#2794), [#2799](#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](#2771), [#2786](#2786), [#2797](#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](#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](#2822)), by @wan9chi. - The standalone install workflow loads the generated environment before running `vp env doctor` ([#2790](#2790)), by @naokihaba. ### Bundled Versions | Tool | Version | Source | | --- | --- | --- | | vite | `8.3.1` | [`39ddf7c`](vitejs/vite@39ddf7c) | | rolldown | `1.2.11` | [`8df4219`](rolldown/rolldown@8df4219) | | tsdown | `0.23.0` | [npm](https://npmx.dev/package/tsdown/v/0.23.0) | | vitest | `5.0.1` | [npm](https://npmx.dev/package/vitest/v/5.0.1) | | oxlint | `1.85.0` | [npm](https://npmx.dev/package/oxlint/v/1.85.0) | | oxlint-tsgolint | `7.0.2003` | [npm](https://npmx.dev/package/oxlint-tsgolint/v/7.0.2003) | | oxfmt | `0.70.0` | [npm](https://npmx.dev/package/oxfmt/v/0.70.0) | ### Upgrade ```bash vp upgrade ``` ### New Contributors @Marve10s **Full Changelog**: v1.0.0-rc.0...v1.0.0-rc.1 --- Merging this PR will trigger the release workflow. --------- Co-authored-by: voidzero-guard[bot] <278573678+voidzero-guard[bot]@users.noreply.github.com> Co-authored-by: wan9chi <me@wan9chi.com>
release: v1.0.0-rc.0: Vitest 5 migration and npm provenance checks (#… …2780) 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](#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](https://viteplus.dev/guide/vitest-v5) for the full process. Projects can stay on the prior release until their runtimes and tests are ready. #### `vp staged` runtime requirements `vp staged` now uses `lint-staged@17.5.1` ([#2754](#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](#2440)), by @kazupon. - Installers now show progress and the exact shell activation command. Download progress preserves earlier terminal output ([#2744](#2744), [#2741](#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](#2758), [#2763](#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](#2767), [vite-task#675](voidzero-dev/vite-task#675)), by @wan9chi. ### Features - `vp add` now supports shared install options such as `--offline`, `--frozen-lockfile`, and `--lockfile-only` ([#2722](#2722)), by @jong-kyung. - `vp pm patch` and `vp pm patch-commit` now use the native commands in npm 12 and later ([#2736](#2736)), by @jong-kyung. - `vp rebuild` now supports Yarn Berry and forwards package names and extra arguments ([#2761](#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](#2745), [#2773](#2773), [#2778](#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 - `oxlint` and `oxfmt` no longer expose bin wrappers that conflict with upstream packages. Editors must use `vp lint --lsp`, `vp fmt --lsp`, or `vp fmt --stdin-filepath` ([#2672](#2672)), by @fengmk2. - `vp create vite:generator` now replaces catalog references for package managers that do not support catalogs ([#2720](#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](#2742), [#2748](#2748)), by @liangmiQwQ. - The CLI now loads its local versions module through a file URL, including on Windows paths ([#2749](#2749)), by @YanChenBai. - Package-manager commands now use pnpm when the project has no detected package manager ([#2750](#2750)), by @liangmiQwQ. - `vp migrate` now removes unused `@oxlint/plugins` dependencies after it rewrites plugin imports ([#2751](#2751)), by @fengmk2. - `vp update --no-save` now warns that Yarn Classic and Yarn Berry do not support the option ([#2762](#2762)), by @jong-kyung. - `vp migrate` now explains its `tsdown@0.23` compatibility settings and links to removal guidance ([#2769](#2769)), by @fengmk2. - Environment setup now installs and diagnoses the official `pn` and `pnx` aliases for pnpm ([#2770](#2770)), by @iruoy. - Cached tasks now receive GitHub Actions OIDC variables, so npm Trusted Publishing works through `vp run` ([vite-task#691](voidzero-dev/vite-task#691)), by @naokihaba. - Automatic task input tracking now records file access from signal handlers ([vite-task#687](voidzero-dev/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](#2731)), by @fengmk2. ### Chore - Generated workflows and `vp migrate` now use `setup-vp@v1.21.1`, including its installation fixes ([#2760](#2760), [#2772](#2772)), by @renovate[bot] and @fengmk2. ### Bundled Versions | Tool | Version | Source | | --- | --- | --- | | vite | `8.3.0` | [`434e8e9`](vitejs/vite@434e8e9) | | rolldown | `1.2.9` | [`5b4746e`](rolldown/rolldown@5b4746e) | | tsdown | `0.23.0` | [npm](https://npmx.dev/package/tsdown/v/0.23.0) | | vitest | `5.0.1` | [npm](https://npmx.dev/package/vitest/v/5.0.1) | | oxlint | `1.85.0` | [npm](https://npmx.dev/package/oxlint/v/1.85.0) | | oxlint-tsgolint | `7.0.2002` | [npm](https://npmx.dev/package/oxlint-tsgolint/v/7.0.2002) | | oxfmt | `0.70.0` | [npm](https://npmx.dev/package/oxfmt/v/0.70.0) | ### Upgrade ```bash vp upgrade ``` ### New Contributors @YanChenBai, @iruoy **Full Changelog**: v0.3.3...v1.0.0-rc.0 --- Merging this PR will trigger the release workflow. --------- Co-authored-by: voidzero-guard[bot] <278573678+voidzero-guard[bot]@users.noreply.github.com> Co-authored-by: MK (fengmk2) <fengmk2@gmail.com>
release: v0.3.3: Homebrew setup and workspace dependency fixes (#2734) 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](#2729)), by @fengmk2. - Windows installations decode remote legacy PowerShell scripts correctly ([#2701](#2701)), by @james-elicx. - `vp migrate` removes the unsupported React Refresh `allowCompoundComponents` option and warns about possible lint errors ([#2702](#2702)), by @fengmk2. - New monorepo packages use the root lint configuration without a conflicting nested configuration ([#2667](#2667)), by @semimikoh. - Yarn Classic rejects filtered additions and removals instead of changing unintended dependencies ([#2705](#2705)), by @jong-kyung. - Yarn Berry rejects unsupported filtered updates and respects filters during recursive removal ([#2709](#2709), [#2712](#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](#2713)), by @jong-kyung. - `vp dedupe` warns about unsupported check options ([#2717](#2717)), by @jong-kyung. - Rust command output respects `NO_COLOR` ([#2716](#2716)), by @liangmiQwQ. - Windows commands find lowercase shims in directories with case-sensitive file names ([#2727](#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](#2725)), by @voidzero-guard[bot]. ### Docs - Reorganize the guide and expand the global CLI sections ([#2684](#2684), [#2715](#2715)), by @liangmiQwQ. - Explain Nushell startup requirements and recovery for XDG installations ([#2704](#2704)), by @naokihaba. ### Chore - Add documentation previews for fork PRs ([#2691](#2691)), by @fengmk2. - Publish `@voidzero-dev/vite-plus-prompts` with npm releases ([#2707](#2707)), by @fengmk2. - Reuse native preview installations and clarify release evidence and package checks ([#2693](#2693), [#2708](#2708)), by @fengmk2. - Stabilize dependency-removal snapshots and temporarily skip Socket Firewall tests on Windows ([#2711](#2711), [#2730](#2730)), by @fengmk2. - Clarify package-manager comments and update the preview workflow reference ([#2706](#2706), [#2714](#2714)), by @jong-kyung. - Run dependency upgrade automation with Kimi K3 ([#2723](#2723)), by @Brooooooklyn. ### Bundled Versions | Tool | Version | Source | | --- | --- | --- | | `vite` | `8.3.0` | [`434e8e9`](vitejs/vite@434e8e9) | | `rolldown` | `1.2.9` | [`5b4746e`](rolldown/rolldown@5b4746e) | | `tsdown` | `0.23.0` | [npm](https://npmx.dev/package/tsdown/v/0.23.0) | | `vitest` | `4.1.11` | [npm](https://npmx.dev/package/vitest/v/4.1.11) | | `oxlint` | `1.83.0` | [npm](https://npmx.dev/package/oxlint/v/1.83.0) | | `oxlint-tsgolint` | `7.0.2001` | [npm](https://npmx.dev/package/oxlint-tsgolint/v/7.0.2001) | | `oxfmt` | `0.68.0` | [npm](https://npmx.dev/package/oxfmt/v/0.68.0) | ### Upgrade ```bash vp upgrade ``` ### New Contributors @james-elicx **Full Changelog**: v0.3.2...v0.3.3 --- Merging this PR will trigger the release workflow. --------- Co-authored-by: voidzero-guard[bot] <278573678+voidzero-guard[bot]@users.noreply.github.com> Co-authored-by: MK <fengmk2@gmail.com>
release: v0.3.2: independent package-manager versions and Oxlint plug… …in APIs (#2692) `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](https://viteplus.dev/guide/env) ([#2658](#2658), [#2659](#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](https://viteplus.dev/guide/installer-env-vars) ([#2681](#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](#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](#2328)), by @fengmk2. - `vp install` and `vp add` now honor `--ignore-scripts` for named packages and managed global installations ([#2682](#2682)), by @jong-kyung. - `vp create` rejects malformed registry versions that could place organization template files outside the cache directory ([#2665](#2665)), by @fengmk2. ### 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](#2670)), by @fengmk2. ### Fixes & Enhancements - `vp env pin` updates an active local `.nvmrc` and preserves its comments. Use `--target nvmrc` to select this file explicitly ([#2676](#2676)), by @ywenhao. - `vp migrate` reports unsupported ESLint rules that it skips, so users can review the missing checks ([#2689](#2689)), by @yusuke99. - `vp migrate` imports leftover tsdown configuration when a project already uses Vite+ ([#2646](#2646)), by @TheAlexLichter. - `vp migrate` accepts single-line JSON formatter configuration with a final newline ([#2643](#2643)), by @TheAlexLichter. - `vp migrate` avoids a redundant `playwright` dependency when the project already declares `@playwright/test` ([#2637](#2637)), by @yusuke99. - Newly scaffolded local generators honor `--no-interactive` and report missing arguments without prompts. Existing generators need the updated entrypoint ([#2677](#2677)), by @SaKaNa-Y. - `vp upgrade` installs its dependencies correctly when the installation directory is inside a pnpm workspace ([#2644](#2644)), by @fengmk2. - Nested package-manager commands retain the selected Node runtime and package-manager versions ([#2631](#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](#2673)), by @fengmk2. - The npm command wrapper enables Node's compile cache before it loads the CLI, which reduces repeated startup work ([#2648](#2648)), by @pablog12. - Package-manager commands suppress pnpm, npm, and supported Yarn update notices. Yarn 4 daily tips are also hidden ([#2649](#2649), [#2650](#2650), [#2651](#2651)), by @fengmk2. - Invalid `package.json` errors include the affected file's path ([#2683](#2683)), by @adamaveray. ### Docs - The README task example uses the supported `env` field ([#2653](#2653)), by @SaKaNa-Y. - Migration guidance tells pnpm users to retain the generated `vite` and `vitest` dependencies ([#2660](#2660)), by @naokihaba. - Lint and format guides explain root configuration and overrides for monorepos. They clarify that nested configuration is not supported ([#2668](#2668)), by @liangmiQwQ. ### Chore - The repository removes unused Babel dependencies and the unused hooks directory setter ([#2634](#2634), [#2647](#2647)), by @jong-kyung. - CLI snapshot tests run across parallel jobs, and the pnpm 11 workspace pack test excludes generated archives ([#2657](#2657), [#2655](#2655)), by @fengmk2. - CI removes the unused Graphite optimization and adds Solid 2 ecosystem coverage ([#2678](#2678), [#2680](#2680)), by @fengmk2. - Release guidance clarifies validation and announcement procedures ([#2633](#2633)), by @fengmk2. - The runtime manager refreshes the signing keys for Node.js release verification ([#2687](#2687)), by @voidzero-guard[bot]. ### Bundled Versions | Tool | Version | Source | | --- | --- | --- | | `vite` | `8.3.0` | [`434e8e9`](vitejs/vite@434e8e9) | | `rolldown` | `1.2.8` | [`9704b56`](rolldown/rolldown@9704b56) | | `tsdown` | `0.23.0` | [npm](https://npmx.dev/package/tsdown/v/0.23.0) | | `vitest` | `4.1.11` | [npm](https://npmx.dev/package/vitest/v/4.1.11) | | `oxlint` | `1.82.0` | [npm](https://npmx.dev/package/oxlint/v/1.82.0) | | `oxlint-tsgolint` | `7.0.2001` | [npm](https://npmx.dev/package/oxlint-tsgolint/v/7.0.2001) | | `oxfmt` | `0.67.0` | [npm](https://npmx.dev/package/oxfmt/v/0.67.0) | ### Upgrade ```bash vp upgrade ``` ### New Contributors @yusuke99, @pablog12, @SaKaNa-Y, @ywenhao, @adamaveray **Full Changelog**: v0.3.1...v0.3.2 --- Merging this PR will trigger the release workflow. --------- Co-authored-by: voidzero-guard[bot] <278573678+voidzero-guard[bot]@users.noreply.github.com> Co-authored-by: MK (fengmk2) <fengmk2@gmail.com>
release: v0.3.1: manage package-manager versions with vp env (#2623) `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](#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](#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](https://viteplus.dev/guide/env). #### `vp pack` migration to `tsdown` `0.23` `vp pack` now uses `tsdown` `0.23`, which removes deprecated options and changes defaults ([#2614](#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](https://github.com/rolldown/tsdown/releases/tag/v0.23.0) 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](#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](#2617)), by @fengmk2. - Reduce the Windows `vp-shim.exe` size from `214 KiB` to `14 KiB` ([#2466](#2466)), by @fengmk2. - Add `vp check --quiet` to hide lint warning diagnostics while retaining errors and summary counts ([#2593](#2593)), by @RSS1102. ### Features - Add `vp sync-versions --json` so automation can request dependency alignment plans from manifest snapshots without changing project files ([#2600](#2600)), by @afonsojramos. - Make `vp create --git` suggest an initial commit command after Git initialization ([#2581](#2581)), by @fengmk2. - Make `vp migrate` replace frozen `voidzero-dev/setup-vp@v1` workflow references with the supported version pin ([#2540](#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](#2580), [#2613](#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](#2399)), by @liangmiQwQ. - Let `vp migrate` repair stale `vitest` aliases that previously prevented the CLI from starting ([#2605](#2605)), by @fengmk2. - Keep Vite DevTools within the version ranges supported by the bundled Vite ([#2559](#2559)), by @fengmk2. - Keep automatic Vitest upgrades on the supported `4.x` major ([#2612](#2612)), by @fengmk2. - Remove a deprecated `tsdown` option from the prompts package build ([#2597](#2597)), by @jong-kyung. ### Refactor - Use the updated `which` dependency to resolve relative `PATH` entries ([#2583](#2583)), by @RSS1102. - Remove the unused `async-trait` annotation from `JsRuntimeProvider` ([#2538](#2538)), by @jong-kyung. ### Docs - Add Azure Pipelines setup instructions ([#2553](#2553)), by @naokihaba. - Correct Zed Oxc formatter settings and include JSX and TSX ([#2592](#2592)), by @joschuba. - Add Wrangler deployment configuration for the documentation site ([#2596](#2596)), by @mdong1909. - Explain conflicts between pnpm and Vite+ runtime management, including the `runtimeOnFail` setting ([#2620](#2620)), by @liangmiQwQ. ### Chore - Run CLI snapshots without published release packages ([#2625](#2625)), by @fengmk2. - Update the release-manager skill with package-install checks, changelog guidance, and announcement handling ([#2548](#2548)), by @fengmk2. - Wait for npm dependencies to become available before publishing dependent release packages ([#2601](#2601)), by @fengmk2. - Remove old Docker preview images ([#2539](#2539)), by @fengmk2. - Stabilize external-tool snapshots and isolate npm network cases ([#2577](#2577), [#2604](#2604)), by @fengmk2. - Avoid unreliable Fish PPA setup in CI ([#2560](#2560)), by @fengmk2. - Update the `vinext` fixture to an upstream fix ([#2571](#2571)), by @jong-kyung. - Stabilize the pnpm snapshot and Nuxt build in CI ([#2591](#2591)), by @voidzero-guard[bot]. - Pin pnpm in project-creation build-approval fixtures ([#2616](#2616)), by @liangmiQwQ. - Remove unused documentation components, assets, and the typewriter dependency ([#2550](#2550), [#2562](#2562)), by @jong-kyung. - Remove duplicate `tempfile` dependencies, an unused runtime helper, and unused error variants. Update the `unit_bindings` lint name ([#2555](#2555), [#2558](#2558), [#2566](#2566), [#2567](#2567)), by @jong-kyung. - Update GitHub Actions dependencies, including `actions/setup-node` `v7` ([#2544](#2544), [#2545](#2545), [#2582](#2582), [#2618](#2618)), by @renovate[bot]. - Update `crate-ci/typos` through `v1.50.1` ([#2584](#2584), [#2589](#2589), [#2609](#2609)), by @renovate[bot]. - Update repository pnpm to `11.24.0` ([#2590](#2590)), by @renovate[bot]. - Update `voidzero-dev/setup-vp` to `v1.19.0` ([#2619](#2619)), by @renovate[bot]. ### Bundled Versions | Tool | Version | Source | | --- | --- | --- | | `vite` | `8.2.2` | [`de1111a`](vitejs/vite@de1111a) | | `rolldown` | `1.2.7` | [`26b4c6e`](rolldown/rolldown@26b4c6e) | | `tsdown` | `0.23.0` | [npm](https://npmx.dev/package/tsdown/v/0.23.0) | | `vitest` | `4.1.11` | [npm](https://npmx.dev/package/vitest/v/4.1.11) | | `oxlint` | `1.81.0` | [npm](https://npmx.dev/package/oxlint/v/1.81.0) | | `oxlint-tsgolint` | `7.0.2001` | [npm](https://npmx.dev/package/oxlint-tsgolint/v/7.0.2001) | | `oxfmt` | `0.66.0` | [npm](https://npmx.dev/package/oxfmt/v/0.66.0) | ### Upgrade ```bash vp upgrade ``` ### New Contributors @afonsojramos, @joschuba **Full Changelog**: v0.3.0...v0.3.1 --- Merging this PR will trigger the release workflow. --------- Co-authored-by: voidzero-guard[bot] <278573678+voidzero-guard[bot]@users.noreply.github.com> Co-authored-by: MK (fengmk2) <fengmk2@gmail.com>
PreviousNext