hapi
Hapi — Enterprise Node.js Framework
Overview
hapi (@hapi/hapi, currently 21.x) is a configuration-centric HTTP framework for Node.js. A route is an object that declares its input validation, response schema, authentication and access rules; hapi runs those steps in a fixed request lifecycle and only then calls the handler. Validation uses Joi schemas (the separate joi package), authentication is added through scheme plugins such as @hapi/jwt, and application code is organised into plugins. There is no middleware chain: cross-cutting logic goes into lifecycle extension points. Rate limiting is not built in.
Instructions
Installation
npm install @hapi/hapi joi @hapi/jwt @hapi/boom
# Optional: static files and template rendering
npm install @hapi/inert @hapi/vision
Install joi, not @hapi/joi — the scoped package is deprecated on npm ("Switch to 'npm install joi'"). TypeScript declarations ship inside @hapi/hapi, @hapi/jwt, @hapi/boom and joi; no @types/* packages are needed.