Latest Results
chore(deps): update dependency vite-plus to v1.5.1 (#1432)
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Adoption](https://docs.renovatebot.com/merge-confidence/) |
[Passing](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|---|---|
| [vite-plus](https://viteplus.dev/guide)
([source](https://redirect.github.com/voidzero-dev/vite-plus/tree/HEAD/packages/cli))
| [`1.5.0` ā
`1.5.1`](https://renovatebot.com/diffs/npm/vite-plus/1.5.0/1.5.1) |

|

|

|

|
---
### Release Notes
<details>
<summary>voidzero-dev/vite-plus (vite-plus)</summary>
###
[`v1.5.1`](https://redirect.github.com/voidzero-dev/vite-plus/releases/tag/v1.5.1):
vite-plus v1.5.1
[Compare
Source](https://redirect.github.com/voidzero-dev/vite-plus/compare/v1.5.0...v1.5.1)
Vite+ 1.5.1 fixes two high-severity security issues in package-manager
downloads and `vp env use`, restores interactive input in `vp run`
tasks, fixes `vp migrate` config merges, and adds a reference page for
each package command.
##### Features
- Upgrade the bundled Vite and Rolldown
([#​3390](https://redirect.github.com/voidzero-dev/vite-plus/pull/3390)),
by
[@​voidzero-guard](https://redirect.github.com/voidzero-guard)\[bot]
and [@​fengmk2](https://redirect.github.com/fengmk2):
- `vite@8.3.5` to `vite@8.3.7`. A pnpm install no longer turns every
cached build into a cache miss, because Vite tells Vite Task to ignore
`node_modules/.modules.yaml`. It also fixes named imports from Node.js
built-ins and reloads in bundled dev mode, subpath imports (`#`) in the
dependency optimizer, SSR builds with `build.ssr: true`, and chunks
shared with workers.
- `rolldown@1.2.16` to `rolldown@1.2.18`, with module source maps that
keep only the sources and names that they trace.
- `@voidzero-dev/vite-plus-core` requires `postcss@^8.5.32`, as the
bundled Vite does.
##### Fixes & Enhancements
- Security: Vite+ verifies the pnpm that it downloads for its own setup
against a hash in the CLI, and checks a downloaded pnpm, Yarn 2+, or bun
against the integrity hash in the project's `packageManager` field
instead of the hash that the registry reports. A registry set in a
project's `.npmrc` can no longer make Vite+ run a package manager that
does not match
([GHSA-5qr3-w62x-jmwx](https://redirect.github.com/voidzero-dev/vite-plus/security/advisories/GHSA-5qr3-w62x-jmwx),
high). Mirrors and private registries that serve the same package still
pass. Each pinned version gets its own cache directory, so a project
with a pinned package manager downloads it once more after the upgrade.
Unpinned installs keep their current location
([#​3400](https://redirect.github.com/voidzero-dev/vite-plus/pull/3400)),
by [@​fengmk2](https://redirect.github.com/fengmk2) and
[@​arkmarta](https://redirect.github.com/arkmarta).
- Security: `vp env use` and other dist-tag lookups, such as
`pnpm@latest`, accept only a valid semver version from the registry, so
a registry set in a project's `.npmrc` can no longer put shell commands
into the statements that the `vp env use` shell wrapper runs
([GHSA-p79r-mf8q-r78h](https://redirect.github.com/voidzero-dev/vite-plus/security/advisories/GHSA-p79r-mf8q-r78h),
high)
([#​3395](https://redirect.github.com/voidzero-dev/vite-plus/pull/3395)),
by [@​fengmk2](https://redirect.github.com/fengmk2) and
[@​arkmarta](https://redirect.github.com/arkmarta).
- Scripts that `vp run` starts get a blocking stdin again when the `run`
block of `vite.config.ts` is not statically analyzable (for example, a
task command held in a constant), so interactive prompts such as `vp
update --interactive` wait for input instead of failing with `EAGAIN`
([#​3361](https://redirect.github.com/voidzero-dev/vite-plus/pull/3361)),
by [@​everton-dgn](https://redirect.github.com/everton-dgn).
- `vp migrate` changes only the `return` statements of a `defineConfig`
callback, so functions inside the config, such as Rolldown
`codeSplitting.groups[].name` callbacks, keep their return values and
the build no longer fails. When a callback return cannot receive the
merged settings, migration keeps the standalone config files and asks
for a manual merge. Pack and task cache migration also recognize configs
wrapped in parentheses, `as`, `satisfies`, `<T>`, or `!`
([#​3325](https://redirect.github.com/voidzero-dev/vite-plus/pull/3325),
[#​3372](https://redirect.github.com/voidzero-dev/vite-plus/pull/3372)),
by [@​jong-kyung](https://redirect.github.com/jong-kyung).
- `vp create react-router` passes `--no-git-init` to
`create-react-router`, so the generator's initial commit no longer stops
the Vite+ setup when no Git identity is configured
([#​3363](https://redirect.github.com/voidzero-dev/vite-plus/pull/3363)),
by [@​chbaefront](https://redirect.github.com/chbaefront).
- `env.fish` calls fish built-ins through `builtin`, so `vp env use`
changes the Node.js version even when a user function has the name of a
built-in such as `count`
([#​3353](https://redirect.github.com/voidzero-dev/vite-plus/pull/3353)),
by [@​naokihaba](https://redirect.github.com/naokihaba).
- Shell completion suggests full command names before aliases, so `vp
i<Tab>` offers `install` and `vp up<Tab>` offers `update`. An alias
stays available when no full name matches
([#​3337](https://redirect.github.com/voidzero-dev/vite-plus/pull/3337)),
by [@​nekomoyi](https://redirect.github.com/nekomoyi).
- Completion for `vp run` and `vpr` skips comment keys such as `"# docs
#"` in `package.json` scripts, matches task names that contain `:`, and
shows each task's command as its description in Zsh and Fish
([#​3354](https://redirect.github.com/voidzero-dev/vite-plus/pull/3354)),
by [@​nekomoyi](https://redirect.github.com/nekomoyi).
- `vp pm dist-tag rm` works with Yarn Berry, because Vite+ passes
`remove` to `yarn npm tag`
([#​3358](https://redirect.github.com/voidzero-dev/vite-plus/pull/3358)),
by [@​jong-kyung](https://redirect.github.com/jong-kyung).
##### Docs
- Add a Package Management section to the guide, with a reference page
for each of the 38 package commands that lists its options,
package-manager support, version requirements, and npm fallbacks. Help
output for package commands and the old package management and install
URLs point to the new pages
([docs](https://viteplus.dev/guide/package-management/))
([#​3105](https://redirect.github.com/voidzero-dev/vite-plus/pull/3105)),
by [@​jong-kyung](https://redirect.github.com/jong-kyung).
- Show the README logo that matches the GitHub theme, so the logo stays
visible after a theme change
([#​3350](https://redirect.github.com/voidzero-dev/vite-plus/pull/3350)),
by [@​fengmk2](https://redirect.github.com/fengmk2).
##### Chore
- Build Linux native bindings against the napi-cross glibc 2.17 sysroot
with `@napi-rs/cli@3.10.12`, let the linker reject unresolved symbols,
and run Linux CI on `ubuntu-latest` again. Let the dependency upgrade
workflow change workflow files
([#​3349](https://redirect.github.com/voidzero-dev/vite-plus/pull/3349),
[#​3384](https://redirect.github.com/voidzero-dev/vite-plus/pull/3384)),
by [@​fengmk2](https://redirect.github.com/fengmk2).
- Refine contributor guidance: `AGENTS.md` separates the `vite-plus`
package from the global `vp` CLI and replaces `CLAUDE.md`, and the
Node.js version RFCs describe `.nvmrc` support
([#​3388](https://redirect.github.com/voidzero-dev/vite-plus/pull/3388),
[#​3383](https://redirect.github.com/voidzero-dev/vite-plus/pull/3383)),
by [@​liangmiQwQ](https://redirect.github.com/liangmiQwQ) and
[@​hyunbinseo](https://redirect.github.com/hyunbinseo).
- Resolve the docs theme aliases from `import.meta.dirname`, so the docs
dev server no longer warns about `__dirname`
([#​3379](https://redirect.github.com/voidzero-dev/vite-plus/pull/3379)),
by [@​liangmiQwQ](https://redirect.github.com/liangmiQwQ).
- Fold the `.node-version` parse tests into one table
([#​3355](https://redirect.github.com/voidzero-dev/vite-plus/pull/3355)),
by [@​Brooooooklyn](https://redirect.github.com/Brooooooklyn).
##### Bundled Versions
| Tool | Version | Source | Changelog |
| --------------- | ---------- |
----------------------------------------------------------------------------------------------------
|
------------------------------------------------------------------------------------------------------------------------
|
| vite | `8.3.7` |
[`5def936`](https://redirect.github.com/vitejs/vite/commit/5def936009d2637a48d056e197aebc6242ac27c6)
| [8.3.6](https://redirect.github.com/vitejs/vite/releases/tag/v8.3.6),
[8.3.7](https://redirect.github.com/vitejs/vite/releases/tag/v8.3.7) |
| rolldown | `1.2.18` |
[`f9a49d6`](https://redirect.github.com/rolldown/rolldown/commit/f9a49d6adff486e21b3cec60db4d291f1fa4d8f2)
|
[1.2.18](https://redirect.github.com/rolldown/rolldown/releases/tag/v1.2.18)
|
| oxc-node | `1.0.1` |
[`7ff14c3`](https://redirect.github.com/oxc-project/oxc-node/commit/7ff14c3b1d15e2ef12310ee209d0b72b58fa880e)
| unchanged |
| tsdown | `0.23.4` | [npm](https://npmx.dev/package/tsdown/v/0.23.4) |
unchanged |
| vitest | `5.1.0` | [npm](https://npmx.dev/package/vitest/v/5.1.0) |
unchanged |
| oxlint | `1.91.0` | [npm](https://npmx.dev/package/oxlint/v/1.91.0) |
unchanged |
| oxlint-tsgolint | `7.0.2005` |
[npm](https://npmx.dev/package/oxlint-tsgolint/v/7.0.2005) | unchanged |
| oxfmt | `0.76.0` | [npm](https://npmx.dev/package/oxfmt/v/0.76.0) |
unchanged |
##### Upgrade
```bash
vp upgrade
```
##### New Contributors
[@​chbaefront](https://redirect.github.com/chbaefront),
[@​everton-dgn](https://redirect.github.com/everton-dgn)
**Full Changelog**:
<https://github.com/voidzero-dev/vite-plus/compare/v1.5.0...v1.5.1>
##### Published Packages
- `@voidzero-dev/vite-plus-core@1.5.1`
- `vite-plus@1.5.1`
- `create-vite-plus@1.5.1`
##### Installation
**macOS/Linux:**
```bash
curl -fsSL https://vite.plus | bash
```
**Homebrew (macOS/Linux):**
```bash
brew tap voidzero-dev/vite-plus https://github.com/voidzero-dev/vite-plus
brew install voidzero-dev/vite-plus/vp
```
See the [Homebrew guide](https://viteplus.dev/guide/homebrew) to switch
from the script installer or the Homebrew Core `vite-plus` formula.
**Windows:**
```powershell
irm https://vite.plus/ps1 | iex
```
Or download and run `vp-setup.exe` from the assets below.
**Docker:**
```bash
docker run --rm -it -v "$PWD:/app" -w /app ghcr.io/voidzero-dev/vite-plus:1.5.1 vp build
```
Run any `vp` command without installing it; see the [Docker
guide](https://viteplus.dev/guide/docker) for more.
##### Create a New App
Start a project without installing the global `vp`: `create-vite-plus`
runs `vp create` through your package manager.
```bash
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](https://viteplus.dev/guide/create#without-the-global-cli) for
other package managers, templates, and options.
</details>
---
### Configuration
š
**Schedule**: (in timezone Asia/Shanghai)
- Branch creation
- At any time (no schedule defined)
- Automerge
- At any time (no schedule defined)
š¦ **Automerge**: Enabled.
ā» **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
š **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc-resolver).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4yMjIuNSIsInVwZGF0ZWRJblZlciI6IjQ0LjIyMi41IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> chore(deps): update dependency vite-plus to v1.5.0 (#1429)
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Adoption](https://docs.renovatebot.com/merge-confidence/) |
[Passing](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|---|---|
| [vite-plus](https://viteplus.dev/guide)
([source](https://redirect.github.com/voidzero-dev/vite-plus/tree/HEAD/packages/cli))
| [`1.4.0` ā
`1.5.0`](https://renovatebot.com/diffs/npm/vite-plus/1.4.0/1.5.0) |

|

|

|

|
---
### Release Notes
<details>
<summary>voidzero-dev/vite-plus (vite-plus)</summary>
###
[`v1.5.0`](https://redirect.github.com/voidzero-dev/vite-plus/releases/tag/v1.5.0):
vite-plus v1.5.0
[Compare
Source](https://redirect.github.com/voidzero-dev/vite-plus/compare/v1.4.0...v1.5.0)
Vite+ 1.5 adds an official Homebrew tap, runs TypeScript through Node.js
with `node --import vite-plus/register`, and lets `vp migrate` move
`oxnode` and transpile-only `ts-node` scripts to `vpx`.
##### Features
- Install `vp` from the official Homebrew tap on macOS and glibc Linux
([docs](https://viteplus.dev/guide/homebrew))
([#​2740](https://redirect.github.com/voidzero-dev/vite-plus/pull/2740)),
by [@​fengmk2](https://redirect.github.com/fengmk2):
```bash
brew tap voidzero-dev/vite-plus
https://github.com/voidzero-dev/vite-plus
brew install voidzero-dev/vite-plus/vp
```
- `node --import vite-plus/register` runs TypeScript with the same
loader as `vpx`, so tools that start Node.js themselves, such as the
Node.js test runner, AVA, or a `NODE_OPTIONS` setting, can run
TypeScript files
([docs](https://viteplus.dev/guide/vpx#using-node-js-directly))
([#​3208](https://redirect.github.com/voidzero-dev/vite-plus/pull/3208)),
by [@​fengmk2](https://redirect.github.com/fengmk2).
- `vp migrate` moves `oxnode` commands and transpile-only `ts-node`
commands to `vpx`, and moves their Node.js preloads and literal
`NODE_OPTIONS` values to `vite-plus/register`. `ts-node` commands that
type-check stay unchanged with a warning, and the `ts-node` dependency
is removed only when nothing still uses it. A project already on Vite+
gets this migration with `vp migrate --full`
([docs](https://viteplus.dev/guide/migrate-rules#oxnode-to-vpx))
([#​3209](https://redirect.github.com/voidzero-dev/vite-plus/pull/3209),
[#​3210](https://redirect.github.com/voidzero-dev/vite-plus/pull/3210)),
by [@​fengmk2](https://redirect.github.com/fengmk2).
- `vp migrate` warns when it finds Rollup, Rolldown, or Jest
dependencies with matching configuration, and explains how to move them
to Vite, tsdown, or Vitest. The warnings show during the first
migration, or with `vp migrate --full` in a project already on Vite+
([#​3275](https://redirect.github.com/voidzero-dev/vite-plus/pull/3275)),
by [@​KTrain5169](https://redirect.github.com/KTrain5169) and
[@​fengmk2](https://redirect.github.com/fengmk2).
- `vite-plus` exports `resolveConfigFromFile(configFile, options?)`,
which resolves a config relative to the config file's directory instead
of `process.cwd()`, so editor plugins with several workspace folders
load the files of the right project
([#​3249](https://redirect.github.com/voidzero-dev/vite-plus/pull/3249)),
by [@​leaysgur](https://redirect.github.com/leaysgur) and
[@​fengmk2](https://redirect.github.com/fengmk2).
- Security: the CLI ships `minimatch@11.0.4`, which fixes a denial of
service through glob pattern amplification
([GHSA-g3hv-75wg-m249](https://redirect.github.com/advisories/GHSA-g3hv-75wg-m249),
medium), and `zstd@0.13.4`, which fixes
[RUSTSEC-2026-0391](https://rustsec.org/advisories/RUSTSEC-2026-0391),
[RUSTSEC-2026-0398](https://rustsec.org/advisories/RUSTSEC-2026-0398),
and
[RUSTSEC-2026-0403](https://rustsec.org/advisories/RUSTSEC-2026-0403)
([#​3328](https://redirect.github.com/voidzero-dev/vite-plus/pull/3328),
[#​3331](https://redirect.github.com/voidzero-dev/vite-plus/pull/3331)),
by [@​renovate](https://redirect.github.com/renovate)\[bot] and
[@​wan9chi](https://redirect.github.com/wan9chi).
- Upgrade the bundled tools
([#​3205](https://redirect.github.com/voidzero-dev/vite-plus/pull/3205),
[#​3236](https://redirect.github.com/voidzero-dev/vite-plus/pull/3236),
[#​3261](https://redirect.github.com/voidzero-dev/vite-plus/pull/3261),
[#​3206](https://redirect.github.com/voidzero-dev/vite-plus/pull/3206),
[#​3330](https://redirect.github.com/voidzero-dev/vite-plus/pull/3330),
[#​3338](https://redirect.github.com/voidzero-dev/vite-plus/pull/3338)),
by
[@​voidzero-guard](https://redirect.github.com/voidzero-guard)\[bot]
and [@​fengmk2](https://redirect.github.com/fengmk2):
- `rolldown@1.2.15` to `rolldown@1.2.16`, with
`experimentalInlineCommonChunks` in dev mode and no crash when the
working directory was deleted.
- `tsdown@0.23.1` to `tsdown@0.23.4`: `vp pack --env-file` can be
repeated to load several env files, the config has a JSON schema, and
`?inline` CSS imported from dependencies is inlined.
- `vitest@5.0.5` to `vitest@5.1.0`, with `--last-failed` and
`--since-last-run`, fake timers for `node:timers`, and interactive
review of failed snapshots. Browser mode now uses port 23315 by default.
- `oxlint@1.89.0` to `oxlint@1.91.0` and `oxlint-tsgolint@7.0.2004` to
`oxlint-tsgolint@7.0.2005`, with the new type-aware rule
`typescript/no-unsafe-enum-assignment`, wider checks in rules such as
`array-callback-return`, `no-useless-concat`, and `no-control-regex`,
and two rules moved into the `suspicious` category.
- `oxfmt@0.74.0` to `oxfmt@0.76.0`, with a new HTML formatter and
JavaScript and TypeScript fixes for parentheses, array layout, and line
width with wide characters.
- The new oxlint and oxfmt versions can flag code that passed before. If
your CI runs `vp check`, run `vp fmt` after upgrading.
- Known issue: `oxlint@1.91.0` can report `react/immutability` for a
`let` declared inside an effect and reassigned by a closure in that
effect
([oxc#28401](https://redirect.github.com/oxc-project/oxc/issues/28401)).
- `vpx` and `vite-plus/register` run on `oxc-node@1.0.1`, which resolves
a `.jsx` specifier to its `.tsx` or `.ts` source.
##### Fixes & Enhancements
- `vp create` into a target path that is a symbolic link removes only
the link after confirmation, instead of deleting the contents of the
linked directory, and the overwrite prompt names symbolic links and
files
([#​2418](https://redirect.github.com/voidzero-dev/vite-plus/pull/2418)),
by [@​leslieeilsel](https://redirect.github.com/leslieeilsel) and
[@​fengmk2](https://redirect.github.com/fengmk2).
- `vp implode` removes only directories and shims that it can verify as
Vite+ installations, and refuses the home directory, its parents, and
filesystem roots even with `--yes`, so a `VP_HOME` that points at
another directory cannot delete unrelated files
([#​3228](https://redirect.github.com/voidzero-dev/vite-plus/pull/3228)),
by [@​jong-kyung](https://redirect.github.com/jong-kyung).
- `vp run` starts faster in workspaces whose tasks share cache `input`
and `output` patterns, because each pattern is parsed once. In a
138-package workspace this saves about 2 seconds of CPU on every run
([vite-task#887](https://redirect.github.com/voidzero-dev/vite-task/pull/887),
[vite-task#890](https://redirect.github.com/voidzero-dev/vite-task/pull/890)),
by [@​jasonkuhrt](https://redirect.github.com/jasonkuhrt) and
[@​wan9chi](https://redirect.github.com/wan9chi).
- `vp run` and package-manager commands in npm projects start about 110
ms sooner, because `vp` reads the npm version from npm's `package.json`
instead of running `npm --version`
([#​3259](https://redirect.github.com/voidzero-dev/vite-plus/pull/3259)),
by [@​magurotuna](https://redirect.github.com/magurotuna).
- `vp migrate` checks Vitest prerequisites faster in workspaces, because
it parses each lockfile once
([#​3212](https://redirect.github.com/voidzero-dev/vite-plus/pull/3212)),
by [@​jong-kyung](https://redirect.github.com/jong-kyung).
- The installer and `vp upgrade` install the global CLI's dependencies
with the Node.js version that the release pins (24.22.2 for this
release), instead of the latest LTS
([docs](https://viteplus.dev/guide/ci#node-js-during-installation))
([#​3269](https://redirect.github.com/voidzero-dev/vite-plus/pull/3269)),
by [@​fengmk2](https://redirect.github.com/fengmk2).
- The Node.js `latest` alias in `vp env use`, `vp env default`, `vp env
pin`, `vp env install`, and `.nvmrc` resolves to the newest stable
release instead of a `27.0.0-alpha` build, and `vp env list-remote`
marks that stable release as latest
([#​3335](https://redirect.github.com/voidzero-dev/vite-plus/pull/3335)),
by
[@​voidzero-bot](https://redirect.github.com/voidzero-bot)\[bot]
and [@​fengmk2](https://redirect.github.com/fengmk2).
- `VP_NODE_VERSION=22` and other partial versions work for project
commands such as `vp build`, `vp run`, and `vp list`, instead of failing
with a 404 download error
([#​3341](https://redirect.github.com/voidzero-dev/vite-plus/pull/3341)),
by [@​jong-kyung](https://redirect.github.com/jong-kyung).
- Two `vp install -g` commands that run at the same time no longer
delete each other's active package, and a command that starts while a
package manager is being installed no longer runs its shim before the
shim is executable
([#​3185](https://redirect.github.com/voidzero-dev/vite-plus/pull/3185),
[#​3248](https://redirect.github.com/voidzero-dev/vite-plus/pull/3248)),
by [@​jong-kyung](https://redirect.github.com/jong-kyung).
- `vp config` waits and retries when another linked git worktree holds
the shared git config lock, so a `prepare` script no longer fails when
two worktrees install at the same time
([#​3199](https://redirect.github.com/voidzero-dev/vite-plus/pull/3199)),
by [@​naokihaba](https://redirect.github.com/naokihaba).
- `vp env doctor` reports Node.js resolution failures, unreadable
config, a failing system `node`, and missing shims as errors and exits
with code 1. When it finds only warnings, the summary says `Some
warnings found` instead of `All checks passed`
([#​3215](https://redirect.github.com/voidzero-dev/vite-plus/pull/3215),
[#​3222](https://redirect.github.com/voidzero-dev/vite-plus/pull/3222)),
by [@​liangmiQwQ](https://redirect.github.com/liangmiQwQ).
- Nushell completions for `vp` and `vpr` use the named completer input,
so Nushell 0.116 shows no deprecation warning, and they fall back to
file completion when fish is not installed. Run `vp env setup --refresh`
to regenerate `env.nu`
([#​3267](https://redirect.github.com/voidzero-dev/vite-plus/pull/3267),
[#​3276](https://redirect.github.com/voidzero-dev/vite-plus/pull/3276)),
by [@​naokihaba](https://redirect.github.com/naokihaba).
- `vp migrate` removes the `tsx` dependency even when a comment still
contains a `tsx` command or code fence, and keeps it for JSDoc type
imports that need it
([#​3299](https://redirect.github.com/voidzero-dev/vite-plus/pull/3299)),
by
[@​voidzero-bot](https://redirect.github.com/voidzero-bot)\[bot]
and [@​fengmk2](https://redirect.github.com/fengmk2).
- The `prefer-vite-plus-imports` lint rule and its autofix leave the
`vite` and `vitest` imports that `vp migrate` keeps, such as `vitest`
imports in a package that lists `vitest` in `peerDependencies`, so `vp
lint --fix` no longer breaks the package for its plain Vitest users
([#​3192](https://redirect.github.com/voidzero-dev/vite-plus/pull/3192)),
by [@​Dunqing](https://redirect.github.com/Dunqing).
- Generated Zed settings no longer force `typeAware` and
`unusedDisableDirectives`, so editor diagnostics follow the
`lint.options` in `vite.config.ts`. Existing editor settings stay
unchanged
([#​2357](https://redirect.github.com/voidzero-dev/vite-plus/pull/2357)),
by [@​pweyck](https://redirect.github.com/pweyck).
- `vp dlx` with npm runs the right executable for scoped packages such
as `@angular/cli`
([#​3229](https://redirect.github.com/voidzero-dev/vite-plus/pull/3229)),
by [@​jong-kyung](https://redirect.github.com/jong-kyung).
- `vp outdated -r` in npm projects checks the workspaces instead of
transitive dependencies, and requires npm 7.14.0 or later
([#​3240](https://redirect.github.com/voidzero-dev/vite-plus/pull/3240)),
by [@​jong-kyung](https://redirect.github.com/jong-kyung).
- Dependency filters such as `--prod` and `--dev` work with npm 6, and
filters that npm 6 cannot apply are rejected instead of passed through
([#​3251](https://redirect.github.com/voidzero-dev/vite-plus/pull/3251)),
by [@​jong-kyung](https://redirect.github.com/jong-kyung).
- Package-manager commands that the selected version does not have, such
as `vp pm stage` before npm 11.15.0, are skipped with a warning.
Unsupported `pnpm dlx` and `pnpm pack` options, and project-only flags
on managed global commands such as `vp install -g`, are rejected instead
of silently ignored
([#​3286](https://redirect.github.com/voidzero-dev/vite-plus/pull/3286),
[#​3285](https://redirect.github.com/voidzero-dev/vite-plus/pull/3285)),
by [@​jong-kyung](https://redirect.github.com/jong-kyung).
- `vp toolchain -g` is short for `vp toolchain --global`
([#​3189](https://redirect.github.com/voidzero-dev/vite-plus/pull/3189)),
by [@​jong-kyung](https://redirect.github.com/jong-kyung).
- On Linux and macOS, programs in tasks with automatic file-access
tracking no longer abort when they call `exec` with an empty path or
`execl` with 32 or more arguments
([vite-task#896](https://redirect.github.com/voidzero-dev/vite-task/pull/896),
[vite-task#865](https://redirect.github.com/voidzero-dev/vite-task/pull/865)),
by [@​wan9chi](https://redirect.github.com/wan9chi) and
[@​tlq5l](https://redirect.github.com/tlq5l).
##### Refactor
- Remove the test-only package download wrapper
([#​3224](https://redirect.github.com/voidzero-dev/vite-plus/pull/3224)),
by [@​jong-kyung](https://redirect.github.com/jong-kyung).
##### Docs
- Explain that `vp check` stops at formatting failures, and that `vp
check` flags go before file paths
([#​3262](https://redirect.github.com/voidzero-dev/vite-plus/pull/3262)),
by [@​SaKaNa-Y](https://redirect.github.com/SaKaNa-Y).
- Show how to align an existing `vite` dependency with its override
during a manual npm installation, to avoid `EOVERRIDE`
([#​3157](https://redirect.github.com/voidzero-dev/vite-plus/pull/3157)),
by [@​SaKaNa-Y](https://redirect.github.com/SaKaNa-Y).
- Explain how environment variable prefixes such as `FOO=bar command`
work in task commands on every platform
([#​3161](https://redirect.github.com/voidzero-dev/vite-plus/pull/3161)),
by [@​tartelettie](https://redirect.github.com/tartelettie).
- Restore the `/vp-setup` redirect and the redirects for moved guide
pages
([#​3271](https://redirect.github.com/voidzero-dev/vite-plus/pull/3271)),
by [@​fengmk2](https://redirect.github.com/fengmk2).
- Align the labels of "See \[...]" section links with their target
titles
([#​3231](https://redirect.github.com/voidzero-dev/vite-plus/pull/3231)),
by [@​yamaurakazuto](https://redirect.github.com/yamaurakazuto).
##### Chore
- Bump vite-task to `40cb9ca`; its user-facing changes are listed above
([#​3246](https://redirect.github.com/voidzero-dev/vite-plus/pull/3246),
[#​3280](https://redirect.github.com/voidzero-dev/vite-plus/pull/3280)),
by [@​wan9chi](https://redirect.github.com/wan9chi).
- Keep CI working on the Node.js 26 LTS and Ubuntu 24.04, cap job
runtimes, reduce Node.js downloads, avoid upgrade build and snapshot
download timeouts, pin Nushell, and restore Namespace Linux runners
([#​3198](https://redirect.github.com/voidzero-dev/vite-plus/pull/3198),
[#​3258](https://redirect.github.com/voidzero-dev/vite-plus/pull/3258),
[#​3266](https://redirect.github.com/voidzero-dev/vite-plus/pull/3266),
[#​3268](https://redirect.github.com/voidzero-dev/vite-plus/pull/3268),
[#​3303](https://redirect.github.com/voidzero-dev/vite-plus/pull/3303),
[#​3309](https://redirect.github.com/voidzero-dev/vite-plus/pull/3309),
[#​3320](https://redirect.github.com/voidzero-dev/vite-plus/pull/3320),
[#​3332](https://redirect.github.com/voidzero-dev/vite-plus/pull/3332)),
by [@​fengmk2](https://redirect.github.com/fengmk2) and
[@​wan9chi](https://redirect.github.com/wan9chi).
- Add automated issue triage
([#​3253](https://redirect.github.com/voidzero-dev/vite-plus/pull/3253),
[#​3260](https://redirect.github.com/voidzero-dev/vite-plus/pull/3260)),
by [@​Boshen](https://redirect.github.com/Boshen) and
[@​fengmk2](https://redirect.github.com/fengmk2).
- Run the upstream dependency upgrade with Kimi K3.1 Pro and report its
timeouts
([#​3314](https://redirect.github.com/voidzero-dev/vite-plus/pull/3314),
[#​3304](https://redirect.github.com/voidzero-dev/vite-plus/pull/3304)),
by [@​Brooooooklyn](https://redirect.github.com/Brooooooklyn) and
[@​wan9chi](https://redirect.github.com/wan9chi).
- Stabilize and trim tests: rerun ESLint and Prettier migration fixtures
with `--full`, stabilize pnpm setup and Bun snapshots, update the tiptap
ecosystem pin, use a recorded package in the install shortcut case, and
remove duplicate `devEngines` parse tests
([#​3193](https://redirect.github.com/voidzero-dev/vite-plus/pull/3193),
[#​3196](https://redirect.github.com/voidzero-dev/vite-plus/pull/3196),
[#​3242](https://redirect.github.com/voidzero-dev/vite-plus/pull/3242),
[#​3305](https://redirect.github.com/voidzero-dev/vite-plus/pull/3305),
[#​3301](https://redirect.github.com/voidzero-dev/vite-plus/pull/3301)),
by [@​liangmiQwQ](https://redirect.github.com/liangmiQwQ),
[@​fengmk2](https://redirect.github.com/fengmk2),
[@​wan9chi](https://redirect.github.com/wan9chi), and
[@​Brooooooklyn](https://redirect.github.com/Brooooooklyn).
- Update Rust crates, synchronize workspace dependency requirements, and
stop installing `dprint` and `taplo` in `just init`
([#​3234](https://redirect.github.com/voidzero-dev/vite-plus/pull/3234),
[#​3310](https://redirect.github.com/voidzero-dev/vite-plus/pull/3310),
[#​3250](https://redirect.github.com/voidzero-dev/vite-plus/pull/3250)),
by [@​renovate](https://redirect.github.com/renovate)\[bot],
[@​leaysgur](https://redirect.github.com/leaysgur), and
[@​fengmk2](https://redirect.github.com/fengmk2).
- Refine contributor guidance: the release-manager skill, isolated CLI
bootstrap checks in `AGENTS.md`, and the Rolldown exports in the CLI
bundling notes
([#​3207](https://redirect.github.com/voidzero-dev/vite-plus/pull/3207),
[#​3238](https://redirect.github.com/voidzero-dev/vite-plus/pull/3238),
[#​3316](https://redirect.github.com/voidzero-dev/vite-plus/pull/3316)),
by [@​fengmk2](https://redirect.github.com/fengmk2) and
[@​liangmiQwQ](https://redirect.github.com/liangmiQwQ).
##### Bundled Versions
| Tool | Version | Source | Changelog |
| --------------- | ---------- |
----------------------------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
| vite | `8.3.5` |
[`981f07f`](https://redirect.github.com/vitejs/vite/commit/981f07fa4580fb88b333c4450431e4715d2a0b82)
| unchanged |
| rolldown | `1.2.16` |
[`de6facf`](https://redirect.github.com/rolldown/rolldown/commit/de6facf2228279718e042b801dd6b60dd6503918)
|
[1.2.16](https://redirect.github.com/rolldown/rolldown/releases/tag/v1.2.16)
|
| oxc-node | `1.0.1` |
[`7ff14c3`](https://redirect.github.com/oxc-project/oxc-node/commit/7ff14c3b1d15e2ef12310ee209d0b72b58fa880e)
|
[1.0.1](https://redirect.github.com/oxc-project/oxc-node/releases/tag/v1.0.1)
|
| tsdown | `0.23.4` | [npm](https://npmx.dev/package/tsdown/v/0.23.4) |
[0.23.2](https://redirect.github.com/rolldown/tsdown/releases/tag/v0.23.2),
[0.23.3](https://redirect.github.com/rolldown/tsdown/releases/tag/v0.23.3),
[0.23.4](https://redirect.github.com/rolldown/tsdown/releases/tag/v0.23.4)
|
| vitest | `5.1.0` | [npm](https://npmx.dev/package/vitest/v/5.1.0) |
[5.1.0](https://redirect.github.com/vitest-dev/vitest/releases/tag/v5.1.0)
|
| oxlint | `1.91.0` | [npm](https://npmx.dev/package/oxlint/v/1.91.0) |
[1.90.0](https://redirect.github.com/oxc-project/oxc/releases/tag/oxlint_v1.90.0),
[1.91.0](https://redirect.github.com/oxc-project/oxc/releases/tag/oxlint_v1.91.0)
|
| oxlint-tsgolint | `7.0.2005` |
[npm](https://npmx.dev/package/oxlint-tsgolint/v/7.0.2005) |
[7.0.2005](https://redirect.github.com/oxc-project/tsgolint/releases/tag/v7.0.2005)
|
| oxfmt | `0.76.0` | [npm](https://npmx.dev/package/oxfmt/v/0.76.0) |
[0.75.0](https://redirect.github.com/oxc-project/oxc/releases/tag/oxfmt_v0.75.0),
[0.76.0](https://redirect.github.com/oxc-project/oxc/releases/tag/oxfmt_v0.76.0)
|
##### Upgrade
```bash
vp upgrade
```
##### New Contributors
[@​yamaurakazuto](https://redirect.github.com/yamaurakazuto),
[@​tartelettie](https://redirect.github.com/tartelettie),
[@​pweyck](https://redirect.github.com/pweyck),
[@​jasonkuhrt](https://redirect.github.com/jasonkuhrt)
**Full Changelog**:
<https://github.com/voidzero-dev/vite-plus/compare/v1.4.0...v1.5.0>
##### Published Packages
- `@voidzero-dev/vite-plus-core@1.5.0`
- `vite-plus@1.5.0`
- `create-vite-plus@1.5.0`
##### Installation
**macOS/Linux:**
```bash
curl -fsSL https://vite.plus | bash
```
**Homebrew (macOS/Linux):**
```bash
brew tap voidzero-dev/vite-plus https://github.com/voidzero-dev/vite-plus
brew install voidzero-dev/vite-plus/vp
```
See the [Homebrew guide](https://viteplus.dev/guide/homebrew) to switch
from the script installer or the Homebrew Core `vite-plus` formula.
**Windows:**
```powershell
irm https://vite.plus/ps1 | iex
```
Or download and run `vp-setup.exe` from the assets below.
**Docker:**
```bash
docker run --rm -it -v "$PWD:/app" -w /app ghcr.io/voidzero-dev/vite-plus:1.5.0 vp build
```
Run any `vp` command without installing it; see the [Docker
guide](https://viteplus.dev/guide/docker) for more.
##### Create a New App
Start a project without installing the global `vp`: `create-vite-plus`
runs `vp create` through your package manager.
```bash
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](https://viteplus.dev/guide/create#without-the-global-cli) for
other package managers, templates, and options.
</details>
---
### Configuration
š
**Schedule**: (in timezone Asia/Shanghai)
- Branch creation
- At any time (no schedule defined)
- Automerge
- At any time (no schedule defined)
š¦ **Automerge**: Enabled.
ā» **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
š **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc-resolver).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4yMDQuMCIsInVwZGF0ZWRJblZlciI6IjQ0LjIyMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Latest Branches
+5%
+1%
release-plz-2026-09-06T16-57-58Z -3%
Ā© 2026 CodSpeed Technology