UNPKG

anthology

Version:

Module information and stats for any @npmjs user

37 lines (28 loc) 1.17 kB
'use strict'; var request = require('request'); var Q = require('q'); //http://isaacs.iriscouch.com/downloads/_design/app/_view/pkg?startkey=%5B%22grunt-about%22%2C%222013-10-28%22%5D&endkey=%5B%22grunt-about%22%2C%7B%7D%5D&group_level=2 function getDownloadCountForModule(moduleName) { var deferred = Q.defer(); // move to all-time when https://github.com/npm/download-counts/issues/1 is resolved //https://api.npmjs.org/downloads/point/all-time/jquery var options = { url: 'https://api.npmjs.org/downloads/point/last-month/' + moduleName, json: true }; request(options, function(err, res, data){ if (err) { console.log('DOWNLOAD COUNT ERR', moduleName, options.url, err, res.body); return deferred.reject(err); } if (!data.downloads) { console.log('download count no data', moduleName, res.body); return deferred.reject(new Error('No download count: ' + res.body.error)); } deferred.resolve(data.downloads); }); return deferred.promise; } module.exports = { getDownloadCountForModule: getDownloadCountForModule };