3 ms·
That's great! But I would like to give you a warning that I personally don't use npm any more. While they have improved leaps and bounds, in my opinion they are
by Klathmon 8y ago
That's great! But I would like to give you a warning that I personally don't use npm any more. While they have improved leaps and bounds, in my opinion they are still far behind yarn in many areas.
Yarn has deterministic installs, an offline cache (the recent yarn/npm registry downtime of like an hour didn't stop our devs from reinstalling dependencies because they were in the offline cache), fantastic tooling around license checking and validations, and the workspaces system which makes it significantly easier to work with massive monorepos with multiple sub-packages.
If you are in a willing mood, and are already spending the time to try npm again, I highly encourage you to give yarn a shot as well. You can install it with `npm install yarn --global` if you want to just try it out (they have a ton of more robust install methods to choose from if you want to permanently switch), and aside from some different names (like you use `yarn add dependency-name` instead of `npm install dependency-name --save`), it's mostly a drop-in replacement and can even happily work alongside npm (one of the packages I maintain we provide both an npm lockfile and a yarn lockfile quite easily, while using yarn internally).
Hell just last week I used yarn to force a transitive dependency (it was like 4 levels deep in my dependency graph) to upgrade to a version which fixed a security issue in a library I maintain, then put that in the lockfile so all users that install that dependency through my package now get the updated version by default.
Still, kudos for being open to trying it again! npm has never been the best package manager by any account, but the one thing they do really well is improve.