Terminus module for Nest framework (node.js) :robot:
A progressive Node.js framework for building efficient and scalable server-side applications, heavily inspired by Angular.
@nestjs/terminus">@nestjs/terminus.svg" alt="NPM Version" />
@nestjs/terminus">@nestjs/terminus.svg" alt="Package License" />
@nestjs/terminus">@nestjs/terminus.svg" alt="NPM Downloads" />
This module contains integrated healthchecks for Nest.
@nestjs/terminus
integrates with a lot of cool technologies, such as typeorm
, grpc
, mongodb
, and many more!
In case you have missed a dependency, @nestjs/terminus
will throw an error and prompt you to install the required dependency.
So you will only install what is actually required!
npm install --save @nestjs/terminus
TypeOrmModule
), in case you want to do Database Health Checks.
// app.module.ts
@Module({
controllers: [HealthController],
imports:[
// Make sure TypeOrmModule is available in the module context
TypeOrmModule.forRoot({ ... }),
TerminusModule
],
})
export class HealthModule { }
HealthController
which executes your Health Check.
// health.controller.ts
@Controller('health')
export class HealthController {
constructor(
private health: HealthCheckService,
private db: TypeOrmHealthIndicator,
) {}
@Get()
@HealthCheck()
readiness() {
return this.health.check([
async () => this.db.pingCheck('database', { timeout: 300 }),
]);
}
}
If everything is set up correctly, you can access the healthcheck on http://localhost:3000/health
.
{
"status": "ok",
"info": {
"database": {
"status": "up"
}
},
"details": {
"database": {
"status": "up"
}
}
}
For more information, see docs.
You can find more samples in the samples/ folder of this repository.
In order to get started, first read through our Contributing guidelines.
Setup the development environment by following these instructions:
pnpm i
pnpm dev
In order to test the library against a sample, simply go to a sample and runpnpm start:dev
cd sample/000-dogs-app
pnpm start:dev
[!NOTE]
Once the library is rebuilt, thepnpm start:dev
within a sample
needs to be restarted in order to pick up the changes.
For unit testing run the following command:
pnpm test
For e2e testing, a Docker Compose stack is required. Make sure
Docker is installed on your machine and run the following command.
docker compose up -d
pnpm test:e2e
Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you’d like to join them, please read more here.
Nest is MIT licensed.