a fast rust-based package manager for javascript/node! :3
vee is currently available only on linux and macos!
i made it because i got into an interesting disagreement with my friends (@meghanam4, @neongamerbot-qk, @froppii and @tanmayrajk) about which is the best package manager and they kept saying pnpm but i do NOT like pnpm (we have our differences </3) so i made my own so they can use this instead of pnpm.
curl -sSL https://raw.githubusercontent.com/v1peridae/vee/main/install.sh | shgit clone https://github.com/v1peridae/vee
cargo install --path vee/veevee init -y && vee add reactvee install # install deps (you can also use: vee i)
vee add [package] # add a package
vee add -D [package] # add a dev dependency
vee remove [package] # remove a package
vee run [script] # run a script from package.json
vee init # scaffold a new project
vee exec [package] [args] # run a package w/o installing (you can also use: vee dlx)
vee list --tree # show the dependency tree
vee outdated # check for outdated packages
vee cache clean # clear the cachespecs: macOS 15.7.3 / apple m4 / 16gb ram
versions: vee 0.1.0, bun 1.2.19, pnpm 10.30.3, npm 11.5.1
110 packages (see TESTS.md)
note:tests 1 + 2 depend on your network speed so they may vary
| test | vee | bun | pnpm | npm |
|---|---|---|---|---|
1. clean install - no cache, no lockfile, no node_modules |
~9.5s | ~5.4s | ~7.4s | ~32s |
| 2. with lockfile, no cache | ~3.6s | ~3.2s | ~3.5s | ~3.4s |
note: tests 3 + 4 are local-only, run with hyperfine (7–10 runs, mean ± standard deviation):
| test | vee | bun | pnpm | npm |
|---|---|---|---|---|
3. with cache + lockfile, no node_modules |
44ms ± 4ms | 51ms ± 17ms | 491ms ± 32ms | 1.01s ± 0.02s |
| 4. warm install (everything already installed) | 3.0ms ± 0.2ms | 6.6ms ± 0.4ms | 202ms ± 17ms | 1.02s ± 0.02s |
tldr; for the cold installs bun is faster but once the cache is warm, vee is the fastest (2x bun, ~68x pnpm, ~340x npm on warm installs)
wanna reproduce this? check out TESTS.md
vee works with your package.json, uses the npm registry (and mirrors) + produces a node_modules layout with symlinks that node will understand. so your existing vite, next or whatever should work (˶ᵔ ᵕ ᵔ˶)
- windows support </3
- workspaces - monorepo support is on the list
- probably some more stuff?? we'll see!
MIT - do whatever you want
this was one of my most complex projects and i got some help from claude's sonnet and opus 4.6 especially with testing + fixing a shit load of unompimised code and fixing my install.sh code bc it just wouldn't work when i did it :')
made with :3 and <3 by @v1peridae ⸜(。˃ ᵕ ˂ )⸝♡
