{"package":"@commitlint/lint","ecosystem":"npm","latest_version":"21.0.2","description":"Lint a string against commitlint rules","license":"MIT","license_risk":"permissive","commercial_use_notes":"Permissive: commercial closed-source use OK; preserve the copyright notice.","homepage":"https://commitlint.js.org/","repository":"https://github.com/conventional-changelog/commitlint","downloads_weekly":8557266,"health":{"score":93,"risk":"low","breakdown":{"maintenance":25,"popularity":17,"security":25,"maturity":15,"community":11,"popularity_floor":0},"deprecated":false,"max_score":100},"vulnerabilities":{"count":0,"critical":0,"high":0,"medium":0,"low":0,"details":[]},"versions":{"latest":"21.0.2","total_count":99,"recent":["19.4.1","19.5.0","19.6.0","19.7.1","19.8.0","19.8.1","20.0.0","20.2.0","20.3.0","20.3.1","20.4.0","20.4.1","20.4.2","20.4.3","20.4.4","20.5.0","20.5.3","21.0.0","21.0.1","21.0.2"]},"metadata":{"deprecated":false,"deprecated_message":null,"maintainers_count":4,"first_published":"2018-02-22T21:17:04.571Z","last_published":"2026-05-29T09:33:08.122Z","dependencies_count":4,"dependencies":["@commitlint/is-ignored","@commitlint/parse","@commitlint/rules","@commitlint/types"]},"github_stats":{"stars":18492,"forks":964,"open_issues":169,"is_archived":false,"pushed_at":"2026-05-01T17:50:05+00:00"},"bundle":null,"typescript":{"score":10,"has_types":true,"types_source":"bundled","types_package":null},"known_issues":{"bugs_count":0,"bugs_severity":{},"status_breakdown":{},"link":null,"scope":"none"},"historical_compromise":null,"recommendation":{"action":"safe_to_use","issues":[],"use_version":"21.0.2","version_hint":null,"summary":"@commitlint/lint@21.0.2 is safe to use (health: 93/100)"},"version_scoped":null,"_meta":{"endpoint":"check","tier":"full","philosophy":"DepScope is free. Use the cheapest endpoint that answers your real question.","cheaper_alternatives":[{"endpoint":"/api/exists/npm/%40commitlint%2Flint","tokens_estimated":12,"use_when":"you only need to know if the package exists (hallucination guard)"},{"endpoint":"/api/health/npm/%40commitlint%2Flint","tokens_estimated":80,"use_when":"you only need a 0-100 score for go/no-go (>=70 = safe)"},{"endpoint":"/api/prompt/npm/%40commitlint%2Flint","tokens_estimated":280,"use_when":"you want a plain-text LLM-friendly brief instead of JSON"},{"endpoint":"POST /api/check_bulk","tokens_estimated":60,"use_when":"you have 5+ packages to check; sends one round-trip instead of N"}],"docs":"https://depscope.dev/integrate","hint_bulk":"You've called /api/check 34 times in 60s. Save bandwidth + tokens with POST /api/check_bulk (1 round-trip for N pkgs)."},"requested_version":null,"_cache":"hit","_response_ms":0,"_powered_by":"depscope.dev — free package intelligence for AI agents","typosquat":{"is_suspected":false},"maintainer_trust":{"available":false},"malicious":{"is_malicious":false},"scorecard":{"available":false},"quality":{"available":false},"co_used_with":[{"package":"@1password/op-js","occurrences":1},{"package":"@aleclarson/deep","occurrences":1},{"package":"@ceramicnetwork/common","occurrences":1},{"package":"@chainsafe/eth2.0-types","occurrences":1},{"package":"@commutatus/cm-env","occurrences":1}],"version_history_summary":{"total_versions":20,"first_release_age_days":3034,"last_release_days_ago":16,"avg_days_between_releases":160,"release_velocity":"active"}}