
Security News
TC39 Advances Temporal to Stage 4 Alongside Several ECMAScript Proposals
TC39’s March 2026 meeting advanced eight ECMAScript proposals, including Temporal reaching Stage 4 and securing its place in the ECMAScript 2026 specification.
Minimal module to check if a file is executable, and a normal file.
Uses fs.stat and tests against the PATHEXT environment variable on
Windows.
// default export is a minified version that doesn't need to
// load more than one file. Load the 'isexe/raw' export if
// you want the non-minified version for some reason.
import { isexe, sync } from 'isexe'
// or require() works too
// const { isexe } = require('isexe')
isexe('some-file-name').then(
isExe => {
if (isExe) {
console.error('this thing can be run')
} else {
console.error('cannot be run')
}
},
err => {
console.error('probably file doesnt exist or something')
},
)
// same thing but synchronous, throws errors
isExe = sync('some-file-name')
// treat errors as just "not executable"
const isExe = await isexe('maybe-missing-file', { ignoreErrors: true })
const isExe = sync('maybe-missing-file', { ignoreErrors: true })
isexe(path, [options]) => Promise<boolean>Check if the path is executable.
Will raise whatever errors may be raised by fs.stat, unless
options.ignoreErrors is set to true.
sync(path, [options]) => booleanSame as isexe but returns the value and throws any errors raised.
If for some reason you want to use the implementation for a specific platform, you can do that.
import { win32, posix } from 'isexe'
win32.isexe(...)
win32.sync(...)
// etc
// or:
import { isexe, sync } from 'isexe/posix'
The default exported implementation will be chosen based on
process.platform.
import type IsexeOptions from 'isexe'
ignoreErrors Treat all errors as "no, this is not
executable", but don't raise them.uid Number to use as the user id on posixgid Number to use as the group id on posixpathExt List of path extensions to use instead of PATHEXT
environment variable on Windows.While execa is primarily focused on providing a better `child_process` experience, it indirectly deals with executables by allowing you to execute external commands. It doesn't provide direct functionality to check if a file is executable, but it's related in the context of working with executables.
fs-extra extends the built-in Node.js `fs` module with additional functionality. It doesn't offer a direct method to check if a file is executable, but it provides more comprehensive file system operations which, combined with Node's native capabilities, could be used to implement a custom executability check.
FAQs
Minimal module to check if a file is executable.
The npm package isexe receives a total of 116,147,429 weekly downloads. As such, isexe popularity was classified as popular.
We found that isexe demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
TC39’s March 2026 meeting advanced eight ECMAScript proposals, including Temporal reaching Stage 4 and securing its place in the ECMAScript 2026 specification.

Research
/Security News
Since January 31, 2026, we identified at least 72 additional malicious Open VSX extensions, including transitive GlassWorm loader extensions targeting developers.

Research
Six malicious Packagist packages posing as OphimCMS themes contain trojanized jQuery that exfiltrates URLs, injects ads, and loads FUNNULL-linked redirects.