- npm-registry-client: https://github.com/isaacs/npm-registry-client (handles the cli -> couchdb stuff)
- npmlog: https://github.com/isaacs/npmlog (npm's logger utility)
- read-package-json: https://github.com/isaacs/read-package-json (what npm uses to read your package.json files)
- read-installed: https://github.com/isaacs/read-installed (Reads a folder and returns a dependency tree)
- init-package-json: https://github.com/isaacs/init-package-json (What npm uses to create a package.json when you run
npm init
) - npmconf: https://github.com/isaacs/npmconf (What npm uses to manage its configuration, including a list of defaults)
- nopt: https://github.com/isaacs/nopt (what npm uses for option parsing)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Dear soon-to-be-former user, | |
We've got some fantastic news! Well, it's great news for us anyway. You, on | |
the other hand, are fucked. | |
We've just been acquired by: | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Use this to cause a function to fire no more than once every 'ms' milliseconds. | |
For example, an expensive mousemove handler: | |
$('body').mouseover(ratelimit(function(ev) { | |
// ... | |
}, 250)); | |
*/ | |
function ratelimit(fn, ms) { | |
var last = (new Date()).getTime(); |