{"package":"@hapi/joi","ecosystem":"npm","latest_version":"17.1.1","description":"Object schema validation","license":"BSD-3-Clause","license_risk":"permissive","commercial_use_notes":"Permissive: commercial closed-source use OK; preserve the copyright notice.","homepage":"https://github.com/hapijs/joi#readme","repository":"https://github.com/hapijs/joi","downloads_weekly":1987057,"health":{"score":57,"risk":"high","breakdown":{"maintenance":20,"popularity":17,"security":25,"maturity":12,"community":13},"deprecated":true,"max_score":100},"vulnerabilities":{"count":0,"critical":0,"high":0,"medium":0,"low":0,"details":[]},"versions":{"latest":"17.1.1","total_count":28,"recent":["15.1.0","14.5.0","16.0.0-preview","15.1.1","16.0.0","16.0.1","16.1.0","16.1.1","16.1.2","16.1.3","16.1.4","16.1.5","16.1.6","16.1.7","16.1.8","17.0.0","17.0.1","17.0.2","17.1.0","17.1.1"]},"metadata":{"deprecated":true,"deprecated_message":"Switch to 'npm install joi'","maintainers_count":6,"first_published":"2019-03-29T20:21:26.749Z","last_published":"2020-03-14T00:03:53.591Z","dependencies_count":5,"dependencies":["@hapi/hoek","@hapi/topo","@hapi/address","@hapi/formula","@hapi/pinpoint"]},"github_stats":{"stars":21184,"forks":1513,"open_issues":201,"is_archived":false,"pushed_at":"2026-06-17T16:53:28Z","subscribers_count":172},"bundle":null,"typescript":{"score":7,"has_types":true,"types_source":"definitely-typed","types_package":"@types/hapi__joi"},"known_issues":{"bugs_count":0,"bugs_severity":{},"status_breakdown":{},"link":null,"scope":"none"},"historical_compromise":null,"recommendation":{"action":"find_alternative","issues":["Moderate health score (57/100) — verify manually","Package is deprecated"],"use_version":"17.1.1","version_hint":null,"summary":"@hapi/joi is deprecated — find an alternative","alternatives":[{"name":"joi","reason":"Deprecation notice: use joi","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/%40hapi%2Fjoi","tokens_estimated":12,"use_when":"you only need to know if the package exists (hallucination guard)"},{"endpoint":"/api/health/npm/%40hapi%2Fjoi","tokens_estimated":80,"use_when":"you only need a 0-100 score for go/no-go (>=70 = safe)"},{"endpoint":"/api/prompt/npm/%40hapi%2Fjoi","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 45 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":null,"criticality_tier":null,"velocity_pct":null,"velocity_trend":null,"publish_security":"signed"},"alternatives_link":{"url":"/api/alternatives/npm/@hapi/joi","count":1},"co_used_with":[{"package":"@autoanki/plugin-content-pdf-fragment","occurrences":1},{"package":"@aws-sdk/endpoint-cache","occurrences":1},{"package":"@chakra-ui/avatar","occurrences":1},{"package":"@corvu/calendar","occurrences":1},{"package":"@dxos/react-ui-dnd","occurrences":1}],"version_history_summary":{"total_versions":20,"first_release_age_days":2681,"last_release_days_ago":2331,"avg_days_between_releases":141,"release_velocity":"stale"}}