30%
Security
Choosing the right npm package shouldn't be a gamble. Our transparent scoring system evaluates packages across four critical dimensions—Security, Maintenance, Dependencies, and Popularity—giving you a complete picture of package health at a glance.
Every score is calculated using objective, verifiable data from npm, GitHub, and security databases. We show you exactly how we arrived at each grade, including the weights, observed values, and contributions of individual metrics. No black boxes, no guesswork—just clear, actionable insights to help you make confident dependency decisions.
We currently run 8 live checks across 4 categories.
We combine weighted scores for each category to produce the package's overall grade.
30%
Security
25%
Maintenance
20%
Dependencies
15%
Popularity
Grade assignment
Evaluates known vulnerabilities and security advisories so you can assess install risk.
Current vulnerabilities
Live metricPenalties for current vulnerabilities affecting the package and all transitive dependencies: Critical (-25), High (-15), Medium (-8), Low (-3) per vulnerability.
Rule ID: security-vulnerabilities
Base score
All packages begin with 100 security points before deductions.
Critical vulnerabilities
High vulnerabilities
Medium vulnerabilities
Low vulnerabilities
Historical vulnerabilities (published during last year)
Live metricPenalties for vulnerabilities published during the last year (historical). Penalties are weighted at 40% of normal values to reflect past risk: Critical (-10), High (-6), Medium (-3.2), Low (-1.2) per vulnerability.
Rule ID: security-historical-vulnerabilities
Critical vulnerabilities (published during last year)
High vulnerabilities (published during last year)
Medium vulnerabilities (published during last year)
Low vulnerabilities (published during last year)
Measures how actively the package is updated through release cadence and commit activity.
Days since last update
Live metricScores how recently the package published a release, rewarding projects that ship updates more frequently.
Rule ID: maintenance-last-release-recency
Updated within the last month (≤30 days)
Updated within the last quarter (31-90 days)
Updated within six months (91-180 days)
Updated within the last year (181-365 days)
No release in over a year
Release frequency
Live metricCounts releases over the last year to distinguish actively maintained packages from those that rarely publish updates.
Rule ID: maintenance-release-frequency
Weekly releases (52+ per year)
Monthly releases (12-51 per year)
Quarterly releases (4-11 per year)
At least one release in the last year
No releases recorded in the last year
Highlights the size, freshness, and risk of the package's dependency tree.
Total dependencies
Live metricMeasures how many direct dependencies the latest release declares; smaller graphs suggest easier maintenance.
Rule ID: dependencies-total-count
No transitive dependencies
Lean graph (1-25 packages)
Moderate footprint (26-75 packages)
Noticeable surface (76-150 packages)
Large surface (151-300 packages)
Very large surface (301-600 packages)
Extremely large surface (601+ packages)
Outdated dependencies
Live metricRewards packages that keep their dependency graph on the latest releases and highlights major version gaps.
Rule ID: dependencies-outdated-dependencies
All dependencies up-to-date
Start at 100. No penalties for outdated dependencies.
Major updates available
-10 points per dependency behind by major version
Minor updates available
-2 points per dependency behind by minor/patch versions
Deprecated dependencies
Live metricFlags when dependency versions are marked as deprecated by the registry.
Rule ID: dependencies-deprecated-dependencies
Base score
All packages begin with 100 points before deductions.
Deprecated dependencies
-15 points per deprecated dependency.
Captures adoption signals from the community, including downloads and social proof.
Weekly downloads
Live metricEstimates weekly downloads from monthly telemetry to gauge overall adoption.
Rule ID: popularity-weekly-downloads
10M+ weekly downloads
1M-10M weekly downloads
100K-1M weekly downloads
10K-100K weekly downloads
1K-10K weekly downloads
Fewer than 1K weekly downloads
We can't find the internet
Attempting to reconnect
Something went wrong!
Attempting to reconnect