Seems like Facebook open sourced its npm alternative and it already has more stars than pnpm.... :sob: will we be able to compete with it?
My 1st impression was that it has roughly the same speed that pnpm/ied has... and it seems to not have some of the issues that we have due to symlinks usage.
In that case the only thing in which pnpm is better is disk usage. We can save gigabytes of data with a shared storage.
Yarn is indeed impressive! If anything I'm happy that pnpm's taken a spot
in history at the npm -> ied -> pnpm -> yarn evolution.
In that case, perhaps pnpm can shift focus to what yarn can't do, such as
speed up your CI test suites.
On Wed, Oct 12, 2016, 12:58 AM Zoltan Kochan [email protected]
wrote:
Seems like Facebook open sourced its npm alternative and it already has
more stars than pnpm.... will we be able to compete with it?My 1st impression was that it has roughly the same speed that pnpm/ied
has... and it seems to not have some of the issues that we have due to
symlinks usage.In that case the only thing in which pnpm is better is disk usage. We can
save gigabytes of data with a shared storage.—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/rstacruz/pnpm/issues/415, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAEikSX3dvinNS1MIN5gxMPcnITa8khWks5qy8AxgaJpZM4KT3QN
.
To be honest, I think with Use caching to minimise bandwidth usage / improve performance, the speed would be the same as with yarn... and as for me, disk usage is important as well.
Symlinks from a network mount to a local store (shared with all projects using the same node major version) is a big win for my team, disk savings on the network mount are exponentially bigger when you account backups.
Now if only webpack could work with said symlinks..
how does pnpm work for ava? https://twitter.com/ava__js/status/785902327492333568
disk usage is important as well
oh yeah, prev week i removed 17Gb of node_modules in a folder with old projects
i would say, lets see how yarn will be doing in several months, 'cause ied looked promising at start too
@Meroje webpack supports it https://github.com/webpack/webpack/issues/2937
how does pnpm work for ava? https://twitter.com/ava__js/status/785902327492333568
if I understand it correctly cold is when no cache is used. In that case pnpm took 10 seconds on my machine to do pnpm install ava. But yarn was faster than in the tweet. It was 12 on my machine. But maybe some packages were already in cache.
They have a nicer CLI for sure... someone might want to create a package that will use pnpm's programmatic API and give it a CLI similar to yarn's
My primary use case is to be able to install packages via the API :sparkles:.
import { installPkgs } from 'pnpm'
installPkgs({ execa: '0.5.0' }, { cwd: join(tmpdir(), 'pnpm-install'), silent: true })
Neither npm or yarn has an accessible programmable API. Yarn actually has most of its install algorithm hidden away in bin/commands/install.js. With pnpm you can even set an InstallationRoot which is not possible with the other PMs without doing something like the following:
cd installation/root && yarn install
by the way, you can skip setting silent now. It is true by default
Is there a possibility to merge the features that are lacking from pnpm into yarn and work together to contribute to one project? cc @wycats
Hmm, this could be an error on my end, but isn't pnpm way faster?
I'm using a global store (like yarn does I believe), and yarn takes roughly 8-10s in one of my projects, while pnpm takes less than a second. (both done after caching).
Pnpm works more eagerly than yarn.
Yarn has a step for fetching all package specs, and another step for
actually downloading them. In contrast, pnpm proceeds with downloading as
soon as it can. This is faster.
However: yarn saves resolution data into yarn.lock, so the next time you
run it, it skips the resolution step.
Tldr: yarn is faster when there's yarn.lock. pnpm is faster otherwise.
On Wed, Oct 12, 2016, 2:11 PM Jamen Marz [email protected] wrote:
Hmm, this could be an error on my end, but isn't pnpm way faster?
I'm using a global store, like yarn does I believe, and yarn takes roughly
8-10s in one of my projects, while pnpm takes less than a second. (both
after caching).—
You are receiving this because you commented.Reply to this email directly, view it on GitHub
https://github.com/rstacruz/pnpm/issues/415#issuecomment-253128067, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAEikXvK6L4UvKMuwEJvstp_sLmDJzS_ks5qzHoTgaJpZM4KT3QN
.
@TheLarkInn if they are happy to use linking approach pnpm uses, then its a good idea
though, if pnpm will land check-integrity and .pnpm.lock features, we will be very good competitor
Seems like they already tried it and it didn't work for them,
We actually went down the symlink road before we found out about ied.
https://github.com/yarnpkg/yarn/pull/797#issuecomment-253132317
So I think we should keep pnpm alive as an alternative concept. I hope they will not come up in a few months with another secret project that uses symlink dependency trees.
This bothers me, people are sacrificing their personal time to work on OSS and then their work can become obsolete in a second because a big company was secretly developing the same. Although in this case I don't regret my contributions to this great project because I think pnpm solves the problem more elegantly than yarn
@zkochan I agree with that. Maybe, now that FB is behind yarn, we should think about merging ied and pnpm to kind of join forces on the "symlink" approach? Thoughts? @rstacruz
im for cooperation
This bothers me, people are sacrificing their personal time to work on OSS and then their work can become obsolete in a second because a big company was secretly developing the same. Although in this case I don't regret my contributions to this great project because I think pnpm solves the problem more elegantly than yarn
Things could be worse though. E.g. I really don't want to be the CEO of npm right now 🤔
npm is not just cli, its more about infrastructure
npm cli team consists of only three devs, the same amount devs started yarn, if header of blog post is correct https://code.facebook.com/posts/1840075619545360
npm is not just cli, its more about infrastructure
True. Although being reduced to a hosting facility (which is expensive) seems like a step backwards for them.
@alexanderGugel I am totally for joining forces!
I'm neither a contributor to either project (yet :smirk: ). However, I see a really awesome potential for collaboration and joining forces.
Speaking as a maintainer of webpack, I am hoping to see the same thing for the future with our project as well.
Neither npm or yarn has an accessible programmable API.
npm have an API, somewhat. It's not very well documented and doesn't contain everything, but it exists: https://www.npmjs.com/package/npm#using-npm-programmatically
Hey @zkochan @rstacruz @alexanderGugel, want to talk offline sometime soon about a path forward working together?
Hey, I am open for a talk. Via gitter or anything else
@thejameskyle Sure! Where?
Yarn does not support GitLab repositories. pnpm does, so it's more feature complete.
@albertdb Yarn supports gitlab (https://github.com/yarnpkg/yarn/blob/0f1db96846badbbe3b43c470c05196eb29437fb4/src/resolvers/exotics/gitlab-resolver.js)
@zkochan @alexanderGugel what gitter? We could also just start an email thread or setup a video chat sometime
@thejameskyle I mean self-hosted GitLab.
@thejameskyle
im not an actual pnpm developer, though i was helping out with code reviews and general issues triaging/investigating, so i care a lot about pnpm.
can i join email thread to continue be aware about pnpm future? @andreypopp might be interested as well
@thejameskyle we can use this https://gitter.im/ied-pnpm-yarn/Lobby.
or if you prefer email, mine is zoltan.[email protected]. Video chat is fine by me as well.
and please lets include @iamstarkov and @andreypopp. They are very valuable and active members of pnpm!
Hey everybody,
@bestander, @kittens and I are committed to contributing to Yarn at Facebook. We'd like this project to be as open as possible and discussions should be in public. We are using Discord for the Yarn community. See https://discordapp.com/invite/yarnpkg – we have a #development channel and most contributors to Yarn are hanging out there. Can you join us to figure out a path forward? I think competition is great – it's something Yarn was meant to inspire but collaboration is even better. Let's figure out how we can work together to build the best developer tools we can ❤️.
The Yarn team is located at FB London. If anybody is in London, please feel free to get in touch (fb.me/cpojer or [email protected]) – I'll be there in early November as well if you'd like to hang out :)
Most helpful comment
Hey @zkochan @rstacruz @alexanderGugel, want to talk offline sometime soon about a path forward working together?