1# isexe 2 3Minimal module to check if a file is executable, and a normal file. 4 5Uses `fs.stat` and tests against the `PATHEXT` environment variable on 6Windows. 7 8## USAGE 9 10```javascript 11var isexe = require('isexe') 12isexe('some-file-name', function (err, isExe) { 13 if (err) { 14 console.error('probably file does not exist or something', err) 15 } else if (isExe) { 16 console.error('this thing can be run') 17 } else { 18 console.error('cannot be run') 19 } 20}) 21 22// same thing but synchronous, throws errors 23var isExe = isexe.sync('some-file-name') 24 25// treat errors as just "not executable" 26isexe('maybe-missing-file', { ignoreErrors: true }, callback) 27var isExe = isexe.sync('maybe-missing-file', { ignoreErrors: true }) 28``` 29 30## API 31 32### `isexe(path, [options], [callback])` 33 34Check if the path is executable. If no callback provided, and a 35global `Promise` object is available, then a Promise will be returned. 36 37Will raise whatever errors may be raised by `fs.stat`, unless 38`options.ignoreErrors` is set to true. 39 40### `isexe.sync(path, [options])` 41 42Same as `isexe` but returns the value and throws any errors raised. 43 44### Options 45 46* `ignoreErrors` Treat all errors as "no, this is not executable", but 47 don't raise them. 48* `uid` Number to use as the user id 49* `gid` Number to use as the group id 50* `pathExt` List of path extensions to use instead of `PATHEXT` 51 environment variable on Windows. 52