Back to Explore

isaacs/isexe

GitHub
2 watchersOpen source

Last release:

Minimal JavaScript module that checks whether a given file path is executable, and whether it is a normal file. Useful for deciding if something can be run, using async `isexe(path)` or sync `sync(path)`, with Windows handling based on `PATHEXT` and an option to ignore errors.

Project status

  • Actively maintained: The repository shows recent updates in 2026 (latest on 2026-02-09), and the upstream push is also recent, indicating the project is currently maintained rather than dormant.
  • Apparent cadence: Several updates cluster tightly in early February 2026 (v3.1.5 through v4.0.0 published within about two days), suggesting an active period of packaging/runtime adjustments rather than a long pause.

AI summary generated

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

Recent updates

  • v4.0.0

    The v4.0.0 release contains minimal changes, primarily updating the package version metadata. The only functional-impacting change visible in the diff is an increase to the supported Node.js runtime requirement.

  • v3.1.5

    Release v3.1.5 updates the package metadata and npm engine constraints. No functional source code changes are shown in the provided diff, only version and configuration updates.

  • v3.1.4

    Release v3.1.4 (published 2026-02-08) was published without any release notes provided by the publisher. As a result, the specific code changes, potential API impacts, and required migration steps are undocumented.

  • v3.1.3

    v3.1.3 changes the package entrypoints to use new minified, bundled builds by default, and introduces an explicit non-minified entry via a new subpath export. The release notes are empty, so consumers should rely on the code diff to understand the real publishing and export behavior changes.

    BreakingFeatures
  • v3.1.2

    Release v3.1.2 has no release notes provided. The diff shows a tooling and packaging overhaul (build system, ESM/CommonJS output directories, package.json exports, and Node engine requirements), plus some internal import/TypeScript configuration tweaks.

  • v3.1.1

    Release v3.1.1 has no publisher-provided release notes. The code diff shows only metadata and packaging changes: the package version is bumped, and the published file set is constrained to the dist directory.

  • v3.1.0

    v3.1.0 introduces POSIX group-aware executable checks by adding support for an explicit `groups` option and by considering supplementary groups returned from `process.getgroups()`. The release notes field is empty, so these behavior changes are not documented in the published notes.

    BreakingFeatures
  • v3.0.0

    v3.0.0 removes the legacy single-file CommonJS implementation and replaces it with a TypeScript-based, dual ESM and CJS package layout. The API is now Promise-based with separate posix and win32 implementations that are exported, while previous callback and attached static-method usage is no longer present.

    BreakingFeatures
  • v2.0.0

    v2.0.0 removes the fs.access-based implementation on non-Windows platforms and consolidates execution checks around stat-based logic (mode.js) with additional type checks. It also updates Windows logic to reject symlinks and adds coverage for ensuring directories are treated as non-executable.

    Breaking
  • v1.1.2

    Release v1.1.2 was published on 2016-02-09, but no release notes or change details were provided by the publisher. As a result, there is no documented information on new features, bug fixes, security updates, performance improvements, or breaking changes.