Closed PaulRBerg closed 10 months ago
I have to ask @PaulRBerg, why choose Bun over Yarn?
Perspective: Yarn ecosystem is ubiquitous, supports configurable soft links, hard links, global cache and per-project configs for several things necessary in the Solidity ecosystem. Meanwhile, Bun is (currently) only supported on Linux, is unstable, fairly buggy and for a project like this (and nearly anything in the solidity ecosystem) the benefit of installing dependencies 1s faster are outweighed by the ecosystem alone.
(To be clear, I really like this template, I switched from my own to this a while ago but I always replace <_whatever package manager_> with Yarn)
I have to ask @PaulRBerg, why choose Bun over Yarn?
.yarn
directory in version control and the complicated entries in .gitignore
Tip: feel free to open discussions for questions like this (which are great!)
Bun is (currently) only supported on Linux
Not true. I use it on macOS
is unstable, fairly buggy and for a project like this (and nearly anything in the solidity ecosystem) the benefit of installing dependencies 1s faster are outweighed by the ecosystem alone.
It wasn't unstable for me. But I hear you on the other points - I will monitor how Bun works and reconsider Yarn.
I really like this template
Thanks
I switched from my own to this a while ago but I always replace
with Yarn)
Then, the template works! It's meant to be edited like that.
Thanks for the comments, @PaulRBerg!
- Bun is faster
Does it really matter here? The half a second to a second saved isn't going to be impactful right?
- Bun is more lightweight;
I do agree with you, it is. Although I'm not quite following the problem with .yarn
and one entry in .gitignore
. As of right now, (using v4.0.2) .yarn
is optional if you want everyone to be on the same version of yarn - which imo is useful, and the only entry I have in .gitignore
is the install-state.gz
file, which is also optional.
Not true. I use it on macOS
Haha, true, you're not wrong. I should really have mentioned *nix here.
Appreciate the openness here, I will open a discussion to talk about Bun vs Yarn! The only reason I'm even talking about this is because having a single package manager that just works for everyone on the team (using Linux, macOS and Windows), without having to worry about versions, without having to think about the idiosyncrasies or unexpected behaviours is a good experience.
The half a second to a second saved isn't going to be impactful right?
Fair enough
As of right now, (using v4.0.2) .yarn is optional if you want everyone to be on the same version of yarn - which imo is useful, and the only entry I have in .gitignore is the install-state.gz file, which is also optional.
Oh, that is interesting! I did not know that.
I will open a discussion to talk about Bun vs Yarn!
Please do!
PNPM's symbolic links are problematic. I should move away from PNPM. Possible solutions:
Refs: