1 | # isexe
|
---|
2 |
|
---|
3 | Minimal module to check if a file is executable, and a normal file.
|
---|
4 |
|
---|
5 | Uses `fs.stat` and tests against the `PATHEXT` environment variable on
|
---|
6 | Windows.
|
---|
7 |
|
---|
8 | ## USAGE
|
---|
9 |
|
---|
10 | ```javascript
|
---|
11 | var isexe = require('isexe')
|
---|
12 | isexe('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
|
---|
23 | var isExe = isexe.sync('some-file-name')
|
---|
24 |
|
---|
25 | // treat errors as just "not executable"
|
---|
26 | isexe('maybe-missing-file', { ignoreErrors: true }, callback)
|
---|
27 | var isExe = isexe.sync('maybe-missing-file', { ignoreErrors: true })
|
---|
28 | ```
|
---|
29 |
|
---|
30 | ## API
|
---|
31 |
|
---|
32 | ### `isexe(path, [options], [callback])`
|
---|
33 |
|
---|
34 | Check if the path is executable. If no callback provided, and a
|
---|
35 | global `Promise` object is available, then a Promise will be returned.
|
---|
36 |
|
---|
37 | Will raise whatever errors may be raised by `fs.stat`, unless
|
---|
38 | `options.ignoreErrors` is set to true.
|
---|
39 |
|
---|
40 | ### `isexe.sync(path, [options])`
|
---|
41 |
|
---|
42 | Same 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.
|
---|