{"package":"jsdom","ecosystem":"npm","latest_version":"29.1.1","description":"A JavaScript implementation of many web standards","license":"MIT","license_risk":"permissive","commercial_use_notes":"Permissive: commercial closed-source use OK; preserve the copyright notice.","homepage":"https://github.com/jsdom/jsdom#readme","repository":"https://github.com/jsdom/jsdom","downloads_weekly":76822786,"health":{"score":98,"risk":"low","breakdown":{"maintenance":25,"popularity":20,"security":25,"maturity":15,"community":13,"popularity_floor":0},"deprecated":false,"max_score":100},"vulnerabilities":{"count":0,"critical":0,"high":0,"medium":0,"low":0,"details":[]},"versions":{"latest":"29.1.1","total_count":283,"recent":["25.0.1","26.0.0","26.1.0","27.0.0-beta.0","27.0.0-beta.1","27.0.0-beta.2","27.0.0-beta.3","27.0.0","27.0.1","27.1.0","27.2.0","27.3.0","27.4.0","28.0.0","28.1.0","29.0.0","29.0.1","29.0.2","29.1.0","29.1.1"]},"metadata":{"deprecated":false,"deprecated_message":null,"maintainers_count":6,"first_published":"2011-11-21T03:09:04.421Z","last_published":"2026-04-30T08:52:48.353Z","dependencies_count":21,"dependencies":["@asamuzakjp/css-color","@asamuzakjp/dom-selector","@bramus/specificity","@csstools/css-syntax-patches-for-csstree","@exodus/bytes","css-tree","data-urls","decimal.js","html-encoding-sniffer","is-potential-custom-element-name","lru-cache","parse5","saxes","symbol-tree","tough-cookie","undici","w3c-xmlserializer","webidl-conversions","whatwg-mimetype","whatwg-url","xml-name-validator"]},"github_stats":{"stars":21580,"forks":1783,"open_issues":416,"is_archived":false,"pushed_at":"2026-05-23T04:52:58Z","subscribers_count":262},"bundle":{"size_kb":5484.7,"gzip_kb":999.3,"dependency_count":21,"has_js_module":false,"has_side_effects":true,"scoped":false,"source":"bundlephobia"},"typescript":{"score":7,"has_types":true,"types_source":"definitely-typed","types_package":"@types/jsdom"},"known_issues":{"bugs_count":0,"bugs_severity":{},"status_breakdown":{},"link":null,"scope":"none"},"historical_compromise":null,"recommendation":{"action":"safe_to_use","issues":[],"use_version":"29.1.1","version_hint":null,"summary":"jsdom@29.1.1 is safe to use (health: 98/100)","alternatives":[{"name":"happy-dom","reason":"happy-dom is faster for testing","builtin":false}]},"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/jsdom","tokens_estimated":12,"use_when":"you only need to know if the package exists (hallucination guard)"},{"endpoint":"/api/health/npm/jsdom","tokens_estimated":80,"use_when":"you only need a 0-100 score for go/no-go (>=70 = safe)"},{"endpoint":"/api/prompt/npm/jsdom","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 38 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":true,"bus_factor_3m":null,"active_contributors_12m":null,"primary_author_ratio":null,"owner_account_age_days":null,"is_archived":false,"stars":null,"alerts":[]},"malicious":{"is_malicious":false},"scorecard":{"available":false},"quality":{"available":true,"criticality_score":0.887,"criticality_tier":"critical","velocity_pct":5.8,"velocity_trend":"stable","publish_security":"attested"},"alternatives_link":{"url":"/api/alternatives/npm/jsdom","count":1},"version_history_summary":{"total_versions":20,"first_release_age_days":5319,"last_release_days_ago":44,"avg_days_between_releases":280,"release_velocity":"active"}}