@teamteanpm2024/ea-repellat-error
v1.0.5
Published
[![CI status](https://github.com/teamteanpm2024/ea-repellat-error/actions/workflows/ci.yml/badge.svg)](https://github.com/teamteanpm2024/ea-repellat-error/actions/workflows/ci.yml) [![license](https://img.shields.io/github/license/samialdury/@teamteanpm20
Downloads
11
Maintainers
Keywords
Readme
@teamteanpm2024/ea-repellat-error
Gracy is a zero-dependency library that provides a simple way to execute custom function before a Node.js process exits. It helps you ensure that your applications perform cleanup tasks, gracefully close resources, and maintain data integrity during (un)expected shutdowns or terminations.
Installation
pnpm i -E @teamteanpm2024/ea-repellat-error
Usage
import { onExit } from '@teamteanpm2024/ea-repellat-error'
onExit(
async () => {
closeHttpServer()
await closeDatabaseConnection()
},
{ logger: pinoInstance }
)
Configuration
The onExit
function accepts an configuration object as its second argument. The following options are available:
| Name | Default value | Description |
| --------- | --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| logger
| console
| Logger to use. You should use libraries for structured logging such as pino. Set to false
to disable logging. |
| logLevel
| 'info'
| Log level to use. Valid options are 'debug'
, 'info'
, 'error'
. |
| logPrefix
| '[@teamteanpm2024/ea-repellat-error] '
| Prefix to use for log messages. Set to empty string to disable prefixing. |
| timeout
| 10_000
| Timeout (in milliseconds) to wait for the function to finish. If the function does not finish in time, the process will exit with code 1
. |
| events
| ['uncaughtException', 'unhandledRejection']
| Events to listen to. Triggering these events will cause the process to exit with code 1
. |
| signals
| ['SIGTERM', 'SIGINT']
| Signals to listen to. Triggering these signals will cause the process to exit with code 0
. |