1 | "use strict";
|
2 |
|
3 | const fs = require('fs');
|
4 | const path = require('path');
|
5 |
|
6 | module.exports = function(bin) {
|
7 | var paths = process.env.PATH.split(path.delimiter);
|
8 |
|
9 | var exts = process.env.PATHEXT ? process.env.PATHEXT.split(path.delimiter) : [""];
|
10 |
|
11 | exts = exts.filter(function(val) {
|
12 | return !!val;
|
13 | });
|
14 | exts.push("");
|
15 |
|
16 | for(var i = 0; i < paths.length; i++) {
|
17 | var ext;
|
18 | var _full;
|
19 | var full = path.join(paths[i], bin);
|
20 |
|
21 | for(ext = 0; ext < exts.length; ext++) {
|
22 | _full = full + exts[ext];
|
23 | if(fs.existsSync(_full))
|
24 | return _full;
|
25 | }
|
26 | }
|
27 | return false;
|
28 | };
|