{"package":"@contrast/esm-hooks","ecosystem":"npm","latest_version":"2.38.3","description":"Support for loading and instrumenting ECMAScript modules","license":"SEE LICENSE IN LICENSE","license_risk":"unknown","commercial_use_notes":"verify manually — license not parseable / not declared.","homepage":"","repository":"","downloads_weekly":6769,"health":{"score":76,"risk":"moderate","breakdown":{"maintenance":25,"popularity":6,"security":25,"maturity":15,"community":5},"deprecated":false,"max_score":100},"vulnerabilities":{"count":0,"critical":0,"high":0,"medium":0,"low":0,"details":[]},"versions":{"latest":"2.38.3","total_count":106,"recent":["2.28.0","2.28.1","2.28.2","2.29.0","2.30.0","2.31.0","2.32.0","2.33.0","2.34.0","2.34.1","2.35.0","2.35.1","2.35.2","2.36.0","2.37.0","2.37.1","2.38.0","2.38.1","2.38.2","2.38.3"]},"metadata":{"deprecated":false,"deprecated_message":null,"maintainers_count":7,"first_published":"2022-06-16T12:57:04.746Z","last_published":"2026-04-24T14:57:41.549Z","dependencies_count":6,"dependencies":["@contrast/common","@contrast/config","@contrast/core","@contrast/find-package-json","@contrast/logger","@contrast/rewriter"]},"github_stats":null,"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":"2.38.3","version_hint":null,"summary":"@contrast/esm-hooks@2.38.3 is safe to use (health: 76/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/%40contrast%2Fesm-hooks","tokens_estimated":12,"use_when":"you only need to know if the package exists (hallucination guard)"},{"endpoint":"/api/health/npm/%40contrast%2Fesm-hooks","tokens_estimated":80,"use_when":"you only need a 0-100 score for go/no-go (>=70 = safe)"},{"endpoint":"/api/prompt/npm/%40contrast%2Fesm-hooks","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 53 times in 60s. Save bandwidth + tokens with POST /api/check_bulk (1 round-trip for N pkgs)."},"requested_version":null,"_cache":"miss","_response_ms":585,"_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":"@a-2-c-2-anpm/enim-amet-voluptatem","occurrences":1},{"package":"@ahmttyydn/object-utils","occurrences":1},{"package":"@aigne/uuid","occurrences":1},{"package":"@apollo/utils.jest-graphql-ast-serializer","occurrences":1},{"package":"@applicaster/zapp-react-native-bridge","occurrences":1}],"version_history_summary":{"total_versions":20,"first_release_age_days":1417,"last_release_days_ago":8,"avg_days_between_releases":75,"release_velocity":"active"}}