Minimal module to check if a file is executable.
Clone or download
Latest commit 10f8be4 Mar 23, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
test Don't return true for directories Mar 23, 2017
.gitignore ignore coverage stuff Jan 17, 2016
LICENSE add license file Feb 9, 2016
README.md Don't return true for directories Mar 23, 2017
index.js Don't return true for directories Mar 23, 2017
mode.js Don't return true for directories Mar 23, 2017
package.json v2.0.0 Mar 23, 2017
windows.js Don't return true for directories Mar 23, 2017

README.md

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

var isexe = require('isexe')
isexe('some-file-name', function (err, isExe) {
  if (err) {
    console.error('probably file does not exist or something', err)
  } else if (isExe) {
    console.error('this thing can be run')
  } else {
    console.error('cannot be run')
  }
})

// same thing but synchronous, throws errors
var isExe = isexe.sync('some-file-name')

// treat errors as just "not executable"
isexe('maybe-missing-file', { ignoreErrors: true }, callback)
var isExe = isexe.sync('maybe-missing-file', { ignoreErrors: true })

API

isexe(path, [options], [callback])

Check if the path is executable. If no callback provided, and a global Promise object is available, then a Promise will be returned.

Will raise whatever errors may be raised by fs.stat, unless options.ignoreErrors is set to true.

isexe.sync(path, [options])

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

Options

  • ignoreErrors Treat all errors as "no, this is not executable", but don't raise them.
  • uid Number to use as the user id
  • gid Number to use as the group id
  • pathExt List of path extensions to use instead of PATHEXT environment variable on Windows.