user-stats
v1.0.1
Published
Lists all the packages owned by an NPM publisher and how many times they've been downloaded
Readme
user-stats
A Node.js script that fetches and displays all packages for a given NPM user, including:
- Package name and description
- Creation date
- Last published date
- Download statistics (last month)
- Latest version
- Keywords
Usage
With NPM Username
node user-stats.js 6mileWith NPM Profile URL
node user-stats.js https://www.npmjs.com/~6mileJSON Output
node user-stats.js 6mile --jsonYou can also pipe JSON output to a file:
node user-stats.js 6mile --json > output.jsonUse jq to show just package name and download stats
node user-stats.js 6mile --json | jq -r '.packages[] | "\(.name): \(.downloads)"'Features
- Fetches all packages for a given NPM user
- Shows creation and last published dates
- Displays download statistics for the last month
- Lists package versions and keywords
- Clean, formatted output
Example Output
Fetching packages for user: 6mile
Found 5 package(s)
====================================================================================================
1. package-name
Package: https://www.npmjs.com/package/package-name
Description: Package description here
Created: Jan 15, 2024
Last Published: Mar 20, 2024
Downloads (last month): 1,234
Latest Version: 1.0.5
Keywords: javascript, npm, example
====================================================================================================
Total packages: 5JSON Output Example
When using the --json flag, the output will be in JSON format:
{
"username": "6mile",
"packages": [
{
"name": "package-name",
"url": "https://www.npmjs.com/package/package-name",
"description": "Package description here",
"created": "2024-01-15T10:30:00.000Z",
"createdFormatted": "Jan 15, 2024",
"lastPublished": "2024-03-20T14:45:00.000Z",
"lastPublishedFormatted": "Mar 20, 2024",
"downloads": 1234,
"version": "1.0.5",
"keywords": ["javascript", "npm", "example"]
}
],
"total": 5
}API Used
This script uses the official NPM Registry API:
- User search:
https://registry.npmjs.org/-/v1/search?text=maintainer:{username} - Package details:
https://registry.npmjs.org/{package-name} - Download stats:
https://api.npmjs.org/downloads/point/last-month/{package-name}
Notes
- The script fetches up to 250 packages per user
- Download statistics are for the last month only
- All dates are formatted in US locale (MMM DD, YYYY)
