why-is-node-running helps diagnose cases where a Node.js process keeps running without an obvious reason. It logs the active handles that keep the event loop alive, and can be used either as a local dependency, as a global CLI, or preloaded with Node’s `--import` option.
Project status
- Maintenance and activity: The repository appears quiet/dormant, with the last recorded upstream push on 2025-01-08 and no updates since v3.2.2 (2025-01-08), which is more than a year ago relative to 2026-09-10.
- Apparent update cadence: Recent changes show a burst around mid-2024 (v3.0.0 to v3.2.0), then a slower cadence, with updates spaced out and the most recent update dated 2025-01-08.
AI summary generated
Recent updates
v3.2.2
v3.2.2 upgrades the publishing workflow to use Node.js 22 and switches internal resource tracking to use WeakRef. The code changes also adjust how stack traces are captured and later printed, moving from V8 CallSite method access to plain fileName/lineNumber properties.
v3.2.1
v3.2.1 makes the stack-printing logic more defensive by excluding stacks whose file name cannot be resolved. The release notes describe this as omitting stacks with an untraceable file name.
v3.2.0
v3.2.0 refactors why-is-node-running to use modern JavaScript and internal implementations, removing the external dependencies siginfo and stackback. It also updates output formatting so file paths printed in stack traces are relative to the current working directory. Documentation was updated accordingly (README, examples), along with minor CI and publishing workflow tweaks.
Breakingv3.1.0
Release v3.1.0 adds TypeScript type definitions and updates documentation/examples to reflect the primary default export name. It also adds a GitHub Actions workflow for publishing and fixes a typo in the `include` entrypoint.
BreakingFeaturesv3.0.0
v3.0.0 migrates why-is-node-running from CommonJS to standardized ES modules, and bumps the minimum supported Node.js version to 20.11+. The implementation is updated to use ESM imports throughout, including the CLI preload flow.
Breakingv2.3.0
v2.3.0 updates why-is-node-running to hide internal details on modern Node.js versions. This changes what the library considers user-relevant output, which may affect integrations that parse or display the reported reasons.