{"package":"tonal","ecosystem":"npm","latest_version":"6.4.3","description":"tonaljs music theory library","license":"MIT","license_risk":"permissive","commercial_use_notes":"Permissive: commercial closed-source use OK; preserve the copyright notice.","homepage":"https://github.com/tonaljs/tonal#readme","repository":"https://github.com/tonaljs/tonal","downloads_weekly":12640,"health":{"score":77,"risk":"moderate","breakdown":{"maintenance":20,"popularity":10,"security":25,"maturity":15,"community":7},"deprecated":false,"max_score":100},"vulnerabilities":{"count":0,"critical":0,"high":0,"medium":0,"low":0,"details":[]},"versions":{"latest":"6.4.3","total_count":93,"recent":["4.13.0","4.14.0","4.14.1","4.14.2","5.0.0","5.0.1","5.1.0","5.1.2","5.1.3","5.2.0","5.2.1","6.0.0","6.0.1","6.1.0","6.2.0","6.3.0","6.4.0","6.4.1","6.4.2","6.4.3"]},"metadata":{"deprecated":false,"deprecated_message":null,"maintainers_count":1,"first_published":"2015-08-11T15:36:35.232Z","last_published":"2026-01-18T19:06:10.444Z","dependencies_count":23,"dependencies":["@tonaljs/abc-notation","@tonaljs/array","@tonaljs/chord-type","@tonaljs/chord","@tonaljs/collection","@tonaljs/core","@tonaljs/duration-value","@tonaljs/interval","@tonaljs/key","@tonaljs/midi","@tonaljs/mode","@tonaljs/note","@tonaljs/pcset","@tonaljs/progression","@tonaljs/range","@tonaljs/rhythm-pattern","@tonaljs/roman-numeral","@tonaljs/scale-type","@tonaljs/scale","@tonaljs/time-signature","@tonaljs/voice-leading","@tonaljs/voicing-dictionary","@tonaljs/voicing"]},"github_stats":{"stars":4237,"forks":253,"open_issues":43,"is_archived":false,"pushed_at":"2026-07-28T04:06:59Z","subscribers_count":57},"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":"6.4.3","version_hint":null,"summary":"tonal@6.4.3 is safe to use (health: 77/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/tonal","tokens_estimated":12,"use_when":"you only need to know if the package exists (hallucination guard)"},{"endpoint":"/api/health/npm/tonal","tokens_estimated":80,"use_when":"you only need a 0-100 score for go/no-go (>=70 = safe)"},{"endpoint":"/api/prompt/npm/tonal","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 68 times in 60s. Save bandwidth + tokens with POST /api/check_bulk (1 round-trip for N pkgs)."},"requested_version":null,"_cache":"hit","_response_ms":1,"_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},"version_history_summary":{"total_versions":20,"first_release_age_days":4058,"last_release_days_ago":245,"avg_days_between_releases":214,"release_velocity":"moderate"}}