Back to Explore

mafintosh/why-is-node-running

GitHub
1 watchersOpen source

Last release: 1/8/2025

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

  • The repository appears actively maintained, with recent updates including v3.2.2 on 2025-01-08, and prior updates in 2024 (v3.2.1 and v3.2.0).
  • The apparent update cadence is moderate, with v3.2.2 about 2.5 months after v3.2.1 (2024-10-29), and about 6 months after v3.2.0 (2024-07-12).

AI summary generated Today

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v3.2.2

    1/8/2025

    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

    10/29/2024

    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

    7/12/2024

    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.

    Breaking
  • v3.1.0

    7/9/2024

    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.

    BreakingFeatures
  • v3.0.0

    7/8/2024

    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.

    Breaking
  • v2.3.0

    7/8/2024

    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.