Saturday, 25 March, 2017 UTC


Summary

Welcome a wrinkle on npm’s registry API!
Codename: Corgi
This release has some bug fixes, but it’s mostly about bringing support for MUCH smaller package metadata. How much smaller? Well, for npm itself it reduces 416K of gzip compressed JSON to 24K.
As a user, all you have to do is update to get to use the new API. If you’re interested in the details we’ve documented the changes in detail.

CORGUMENTS

Package metadata: now smaller. This means a smaller cache and less to download.
  • 86dad0d74 Add support for filtered package metadata. (@iarna)
  • 41789cffa [email protected] (@iarna)

NO SHRINKWRAP, NO PROBLEM

Previously we needed to extract every package’s tarball to look for an npm-shrinkwrap.json before we could begin working through what its dependencies were. This was one of the things stopping npm’s network accesses from happening more concurrently. The new filtered package metadata provides a new key, _hasShrinkwrap. When that’s set to false then we know we don’t have to look for one.
  • 4f5060eb3 #15969 Add support for skipping npm-shrinkwrap.json extraction when the registry can affirm that one doesn’t exist. (@iarna)

INTERRUPTING SCRIPTS

  • 878aceb25 #16129 Better handle Ctrl-C while running scripts. npm will now no longer exit until the script it is running has exited. If you press Ctrl-C a second time it kill the script rather than just forwarding the Ctrl-C. (@jaridmargolin)

DEPENDENCY UPDATES: