Separate `system-first` shims from binary directory
@liangmiQwQ is already working on this.
Since Sep 19, 2026.
Assessment
This issue has not been assessed yet.
Description
Currently, when users set node/pm management mode to system-first, Vite+ will still create its shim under the bin_dir, which is put at the front of PATH. And then these shims will search node in the rest of PATH.
This confuses users semantically, as which node shows the path to Vite+ binary but it actually runs the . What's more, it causes infinite recursion problem (#2728).
My proposal is to separate system-first shims from the Vite+'s main bin dir. All binaries should be put in a separate directory named like system-first-bin, which should be put at last of PATH, so users can use their system node/pm first, and fall back to Vite+'s tools if they don't have. (Keep the current behavior)
vp env on / vp env off need to refresh the shims and put them at the right places.
Also, all binaries should use Vite+'s own downloaded version. Logic like finding system node / pnpm can be gone.
This proposal essentially is to re-implement the system-first mode by leveraging operating system capabilities. It can also simplify the architecture, improve the performance and reduce confusion.
Not sure whether this brings breaking change, need to confirm whether to implement before RC (cc @fengmk2)
- Dominant language
- Rust
- Stars
- 5.8k
- Forks
- 263
- Avg merge
- 22h 44m
- Merged PRs (30d)
- 134
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from voidzero-dev/vite-plus
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
voidzero-dev/vite-plus#2097 · 10 comments · 2 reactions ·
-
pending triage
Difficulty 3/5 1-2 days Newbie friendliness 68/100
voidzero-dev/vite-plus#2735 ·
-
voidzero-dev/vite-plus#2728 · 1 comment · 1 assignee ·
-
Difficulty 4/5 3-5 days Newbie friendliness 58/100
voidzero-dev/vite-plus#2703 · 1 assignee ·
-
enhancement pending triage
Difficulty 4/5 3-5 days Newbie friendliness 55/100
voidzero-dev/vite-plus#2698 · 10 comments · 1 reaction ·
All issues in voidzero-dev/vite-plus
Similar issues
-
risk:low runtime status:in-progress type:test
Difficulty 1/5 Under an hour Newbie friendliness 92/100
zeroclaw-labs/zeroclaw#11023 ·
-
good first issue refactor
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
kwakseongjae/auto-hwp#319 ·
-
area:cli bug filter-quality good first issue priority:medium
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
bevyengine/bevy#25861 ·