Back to Explore

mafintosh/why-is-node-running

GitHub
1 updates · last 90 daysOpen source

Last release:

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

  • Actively maintained, with recent updates as of 2026-10-09 (v3.2.3) and no long upstream silence indicated for the last few weeks or months.
  • Apparent update cadence is intermittent but ongoing, with v3.2.3 on 2026-10-09, then earlier v3.2.2 on 2025-01-08, and several earlier updates in mid 2024, suggesting periodic maintenance rather than a regular monthly rhythm.

AI summary generated

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

Recent updates

  • v3.2.3

    v3.2.3 focuses on fixing npm provenance/attestation for publishes coming from GitHub Actions, addressing the previously unsigned 3.2.2 release. The release switches the publish workflow to use npm staged publishing consistent with trusted publishing.

  • 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.

    Breaking
  • v3.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.

    BreakingFeatures
  • v3.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.

    Breaking
  • v2.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.