dead-deps — what happened to your dependencies

Is @hapi/joi still maintained?

No — @hapi/joi stopped being maintained around March 2020. The same project continues under the name joi.

Status
No longer maintained
Last maintained
March 2020
Use instead
joi — on npm
Succession
Renamed package
Drop-in
yes — swap the import
Confidence
high

What should I use instead of @hapi/joi?

The same project continues under the name joi. joi is close enough to a drop-in replacement that most projects only change the dependency and the import.

How to migrate from @hapi/joi to joi

Replace the dependency with joi at version 17 or later and change require('@hapi/joi') to require('joi'); joi 17 is the same codebase, so schemas carry over unchanged.

Why @hapi/joi is on this list

Joi spent a period inside the @hapi scope and then moved back to the plain joi name when it became a standalone project again. @hapi/joi stopped at 17.1.1 in March 2020 with the npm notice "Switch to 'npm install joi'", and joi 17.1.1 was published under the unscoped name a few months later. Development continues there.

The succession is settled: primary sources agree and the ecosystem has already moved.

@hapi/joi alternatives

Beyond the primary recommendation, these are credible for @hapi/joi's use case:

Check your own project for @hapi/joi

npx dead-deps --all --min-state unmaintained

Run that in the directory holding your lockfile. If @hapi/joi is anywhere in your tree — a direct dependency or buried under something else — it appears in the report with this verdict, this successor and the same evidence links, alongside anything else that has stopped moving. Nothing is uploaded; the scan reads your lockfile locally and queries public registry metadata.

Exit code 1 means something was flagged, which makes npx dead-deps --min-state deprecated usable as a CI gate. See how verdicts are produced.

Evidence

Every claim on this page traces to a primary source. Check them:

See the full index of covered packages, or read the methodology for how a verdict is reached and why a quiet package is not a dead one.