pkg-stats
Version:
Beautiful NPM package download stats
23 lines (22 loc) • 730 B
JavaScript
import chalk from 'chalk';
import { parseCliOptions, showHelp } from './cli-options.js';
import { comparePackages } from './mode/compare-packages.js';
import { printPackageStats } from './mode/package-stats.js';
export async function pkgStats(argv) {
let options;
try {
options = parseCliOptions(argv);
}
catch (error) {
showHelp();
console.error(chalk.red(`Error parsing CLI options: ${error instanceof Error ? error.message : error}`));
process.exit(2);
}
if (options.packageNames.length === 1) {
await printPackageStats(options.packageNames[0], options);
}
else {
await comparePackages(options.packageNames, options);
}
console.log('');
}