To Yarn and Back to Npm Again
mixmax.com
mixmax.com
> We never observed install inconsistencies when using npm previously
Interesting, since NPM has had issues being deterministic since package-lock came to be, and this was one of the main reasons yarn was created.
The fact that yarn has a healthy community, actually accepts contributions, and encourages public discussion is a big pro for me (colored by personal experience).
NPM error: ~probably not our fault, there might be additional output above
Yarn error: ~an error has occured, here's what you'd do if you think it is a bug
NPM is probably correct most of the time but the difference in attitude felt striking to me.
This has never happened to us with heavy daily usage. It's one of the things that remains reliable about Yarn. Would appreciate more details on what exactly happened.
It closes the gap on OSX for "*nix experience on a computer that can run Photoshop and Excel"
The reason it's so slow is because the virus scanner is running on the insane amount of tiny files a typical JS app will have. Used to take me 30 minutes each time until I did that; it was still slower than Linux/Mac but it was coffee-break slow, not three-course meal slow.
Sounds like what I'd expect from running yarn clean...
(If anyone isn't aware: that command doesn't clean target folders but rather goes crazy inside node_modules.)
<https://github.com/pnpm/pnpm>
It centrally downloads all of the modules and then "symlinks" them into your `node_modules` folder.
This is nice because one, it uses less disk space, two, if you've already downloaded a package at a particular version it links it out of the local repo.
Also uses shrinkwrap to handle package locking.
- [1] https://github.com/pnpm/pnpm
- [2] https://intoli.com/blog/node-package-manager-benchmarks/
Saved me over 6GB on my file system across several projects. Big thumbs up from me.
I once brought up what you said to an acquaintance and, wow, the way the color drained from his face, the way his voice hardened and lowered in tone, as he said "That's just a bunch of bullshit.". Later that month, he would go to work for IBM as a junior-level front-end engineer.
As always, it's probably better to be quiet and let the insecure live in their own little worlds.
The registry is something everyone has to use because npm has a monopoly. It's not open source and is making money for a for profit company. I'm very disappointed to see Node.js is still shipping this anti-foss OSS with its executables :(
As you might infer from my comments I'm not the biggest fanboy but criticising them over running a freely available repo that the community has used for years feels a little bit wrong
These things are not real free open source software by any means
This is actually an important thing.
Huge parts of the largest open source projects comes from "paid engineers from Facebook and Google contributing to it as their day job" or even from IBM, Microsoft or Oracle employees.
What matters is that it is released as open source so we can maintain it or pay someone else to do it.
The special thing about npm is they also run the package repo but even there I'd say they played nicely by allowing free use and not discouraging alternative clients.
Just when I thought I had heard every opinion on npm, I find someone with the opinion "It always worked fine."
I don't know why, but any time I install something specific in this project:
npm i -D @types/tacos
(for example)
The last line of npm says this: added 9 packages and removed 15 packages in 9.69s
Those 15 removed packages? Not dependency conflicts, no, thats the git dependency and all of its sub-dependencies.
So my workflow is now:
npm i --save <whatever>
npm i
(That's been bloating my Electron packages for a bit in that I haven't been able to trust prune --dev not to prune dependencies of a git package.)
Would have been cool to call it "untie" or "untangle"