Skip to content

Instantly share code, notes, and snippets.

View cowperthwait's full-sized avatar

Jonathan E Cowperthwait cowperthwait

View GitHub Profile

Zero One Infinity Readmes

Sometimes, a user files a bug that, in the process of debugging it, teaches you some things you didn’t know about your own system. This is the story of one of those bugs.

The Code

npm has only been a company for 3 years, but it has been a code base for around 5–6 years. Much of it has been rewritten, but the cores of the [CLI](link to AGDubs’ download page?) and [registry products](link to features page) are still the original code. Having only worked at npm for a year at this point, there’s still a lot of things left for me to learn about how the whole system works.

The Bug

@cowperthwait
cowperthwait / yarn-final.md
Created October 11, 2016 18:07
Hello, Yarn!

Today, Facebook announced that they have open sourced Yarn, a backwards-compatible client for the npm registry. This joins a list of other third-party registry clients that include ied, pnpm, npm-install and npmd. (Apologies if we missed any.) Yarn’s arrival is great news for npm's users worldwide and we're happy to see it.

Like other third-party registry clients, Yarn takes the list of priorities that our official npm client balances, and shifts them around a little. It also solves a number of problems that Facebook was encountering using npm at their unique global scale. Yarn includes another take on npm's shrinkwrap feature and some clever performance work. We've also been working on these specific features, so we'll be paying close attention.

Does it work with

Keybase proof

I hereby claim:

  • I am cowperthwait on github.
  • I am cowperthwait (https://keybase.io/cowperthwait) on keybase.
  • I have a public key whose fingerprint is 08A5 A7C9 0B26 7F1F E7B6 71A8 6389 B379 DEF8 9BBC

To claim this, I am signing this object: