You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

isexe

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

isexe

Minimal module to check if a file is executable.

Source
npmnpm
Version
3.1.3
Version published
Weekly downloads
146M
-16.54%
Maintainers
1
Weekly downloads
 
Created
Source

isexe

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.

USAGE

// 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 })

API

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]) => boolean

Same as isexe but returns the value and throws any errors raised.

Platform Specific Implementations

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.

Options

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 posix
  • gid Number to use as the group id on posix
  • pathExt List of path extensions to use instead of PATHEXT environment variable on Windows.

FAQs

Package last updated on 07 Feb 2026

Did you know?

Socket

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.

Install

Related posts