{"package":"@formatjs/intl-relativetimeformat","ecosystem":"npm","latest_version":"12.3.15","description":"Formats JavaScript dates to relative time strings.","license":"MIT","license_risk":"permissive","commercial_use_notes":"Permissive: commercial closed-source use OK; preserve the copyright notice.","homepage":"https://github.com/formatjs/formatjs","repository":"https://github.com/formatjs/formatjs","downloads_weekly":397353,"health":{"score":91,"risk":"low","breakdown":{"maintenance":25,"popularity":14,"security":25,"maturity":15,"community":12,"popularity_floor":0},"deprecated":false,"max_score":100},"vulnerabilities":{"count":0,"critical":0,"high":0,"medium":0,"low":0,"details":[]},"versions":{"latest":"12.3.15","total_count":223,"recent":["12.2.0","12.2.1","12.2.2","12.2.3","12.2.4","12.3.1","12.3.2","12.3.3","12.3.4","12.3.5","12.3.6","12.3.7","12.3.8","12.3.9","12.3.10","12.3.11","12.3.12","12.3.13","12.3.14","12.3.15"]},"metadata":{"deprecated":false,"deprecated_message":null,"maintainers_count":3,"first_published":"2019-06-05T00:32:13.703Z","last_published":"2026-09-12T16:08:31.454Z","dependencies_count":1,"dependencies":["@formatjs/intl-localematcher"]},"github_stats":{"stars":14746,"forks":1387,"open_issues":2,"is_archived":false,"pushed_at":"2026-09-19T20:57:50Z","subscribers_count":128},"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":"12.3.15","version_hint":null,"summary":"@formatjs/intl-relativetimeformat@12.3.15 is safe to use (health: 91/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/%40formatjs%2Fintl-relativetimeformat","tokens_estimated":12,"use_when":"you only need to know if the package exists (hallucination guard)"},{"endpoint":"/api/health/npm/%40formatjs%2Fintl-relativetimeformat","tokens_estimated":80,"use_when":"you only need a 0-100 score for go/no-go (>=70 = safe)"},{"endpoint":"/api/prompt/npm/%40formatjs%2Fintl-relativetimeformat","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 71 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":true,"criticality_score":0.675,"criticality_tier":"high","velocity_pct":null,"velocity_trend":null,"publish_security":null},"co_used_with":[{"package":"@akapulu/server","occurrences":1},{"package":"@codingame/monaco-vscode-language-pack-pl","occurrences":1},{"package":"@composio/vercel","occurrences":1},{"package":"@cpwc/mongoose-field-encryption","occurrences":1},{"package":"@doc-blocks/responsive-story","occurrences":1}],"version_history_summary":{"total_versions":20,"first_release_age_days":2665,"last_release_days_ago":8,"avg_days_between_releases":140,"release_velocity":"active"}}