For npm install it seems it is a solved problem: just use pnpm as a drop in replacement. It's such a basic idea : instead of reinstalling dependancies in each repo, just hard link them from a common store and there you go, you just reuse them. Simple yet brilliant.
That doesn't help CI performance. I bet `bun install` is way faster than `pnpm install` on a cold or hot cache (though I haven't tested myself). I think it does similar things to pnpm under the hood to improve local development speed as well.
Comments
For npm install it seems it is a solved problem: just use pnpm as a drop in replacement. It's such a basic idea : instead of reinstalling dependancies in each repo, just hard link them from a common store and there you go, you just reuse them. Simple yet brilliant.
That doesn't help CI performance. I bet `bun install` is way faster than `pnpm install` on a cold or hot cache (though I haven't tested myself). I think it does similar things to pnpm under the hood to improve local development speed as well.
EDIT: just tested on the eslint codebase:
cold (nothing installed, no cache): bun: 1.53s, pnpm: 8.25s, npm: 25s
hot (already installed, noop): bun: 218ms, pnpm: 1300ms, npm: 1230ms