A Node.js implementation of the Unix `which` utility, used to find the first matching executable name in the `PATH` environment variable. It includes async and sync APIs, can optionally return null instead of rejecting/throwing when not found, and lets you override `PATH` and `PATHEXT` (or return all matches).
Project status
- The repo appears actively maintained, with a recent upstream push on 2026-05-22 and the latest published updates being v7.0.0 on 2026-05-08 (plus a prior v6.0.1 update on 2026-02-10).
- Update cadence looks fairly regular in the recent period, roughly every 2 to 3 months (2025-10-22, 2026-02-10, 2026-05-08), though older history shows longer gaps between major updates.
AI summary generated
Recent updates
v7.0.0
Release v7.0.0 updates the package engines to require newer Node versions, dropping older supported ranges. The code diff for this release shows mostly repository and CI template changes (from @npmcli/template-oss), including GitHub Actions upgrades and an updated test matrix.
Breakingv6.0.1
v6.0.1 primarily updates dependencies and related tooling, with no source code logic changes shown in the diff. The release notes document the bumps to isexe and several @npmcli/dev tooling packages, plus version/changelog metadata updates.
v6.0.0
v6.0.0 primarily updates the package to match the npm 11 supported Node engine range. The diff also shows multiple CI and release-automation workflow adjustments, including updated Node versions and GitHub Actions permission changes.
Breakingv5.0.0
v5.0.0 primarily updates the published Node.js engine support range for the package. The diff also includes substantial repository maintenance changes, mostly around CI workflows and lint/tooling configuration, with no obvious runtime API changes visible in the provided diff.
Breakingv4.0.0
v4.0.0 removes Node.js 14 support and updates the dependency on `isexe` to v3.1.1. The functional changes in code are primarily adapting to the `isexe` API shape and a small internal refactor of how executable file extensions are expanded.
Breakingv3.0.1
v3.0.1 is a small release that primarily fixes Windows executable extension matching by considering lowercase extensions. The release notes only mention this bug fix and a README documentation tweak.
v3.0.0
v3.0.0 introduces breaking changes to the async interface and Node.js version compatibility. The CLI behavior also changes by ignoring arguments provided after a `--` separator. Most other notes focus on adding template support and modernizing internals.
BreakingFeatures