getPackages = require 'npm-packages' success = (count) -> ... error = (err) -> ... progress = (countSoFar) -> ... getPackages 'someUserName', success, error, progress
- Uses promises
- Supports paginated responses
progressfor paginated responses
- Uses scraping (:[) because NPM has no API and the npm-stats package is inconsistent and times out.
- Because of the scraping approach, we cannot differentiate between user that exist but have no repos, and users that don't exist. Either will return a rejected promise.