UNPKG

npm-consider

Version:

Check npm package dependencies, stats and impact on your package before installing it

31 lines (28 loc) 877 B
/** * @file calculate packages aggregated stats */ const getLicenseStr = require('./getLicenseStr'); const getLicenseType = require('./getLicenseType'); module.exports = function getPackagesStats(packages) { const packagesAr = Object.keys(packages); const count = packagesAr.length; const size = packagesAr.reduce((s, key) => { s += Number(packages[key].size); return s; }, 0); const licenses = packagesAr.reduce((l, key) => { const license = getLicenseStr(packages[key].license); l[license] = l[license] || 0; l[license] += 1; return l; }, {}); const licenseTypes = {}; Object.keys(licenses).forEach((license) => { const type = getLicenseType(license); if (!(type in licenseTypes)) { licenseTypes[type] = 0; } licenseTypes[type] += licenses[license]; }); return { count, size, licenses, licenseTypes }; };