A utility to manage clean application shutdowns by handling system signals and cleanup tasks. Use this to ensure resources are released properly before process termination.
// Source: https://github.com/harshaxyZ/zoro_ | License: MIT | Copyright 2025 Nous Research
// Provided via justclaw.it.com; keep this notice with the code.
interface SetupOptions {
cleanups?: (() => Promise<void> | void)[]
failsafeMs?: number
ignoredSignals?: GracefulSignal[]
onError?: (scope: 'uncaughtException' | 'unhandledRejection', err: unknown) => void
onSignal?: (signal: NodeJS.Signals) => void
}
export type GracefulSignal = 'SIGHUP' | 'SIGINT' | 'SIGTERM'
const SIGNALS: readonly GracefulSignal[] = ['SIGINT', 'SIGTERM', 'SIGHUP']
const SIGNAL_EXIT_CODE: Record<GracefulSignal, number> = {
SIGHUP: 129,
SIGINT: 130,
SIGTERM: 143
}
let wired = false
export const shouldExitForSignal = (signal: GracefulSignal, ignoredSignals: readonly GracefulSignal[] = []) =>
!ign
... (truncated -- full source via MCP)
See the full source, get the GitHub permalink, and search for more like it.
Get a free API key