format: prettify entire project
This commit is contained in:
68
node_modules/which/bin/node-which
generated
vendored
68
node_modules/which/bin/node-which
generated
vendored
@ -1,52 +1,50 @@
|
||||
#!/usr/bin/env node
|
||||
var which = require("../")
|
||||
if (process.argv.length < 3)
|
||||
usage()
|
||||
var which = require('../');
|
||||
if (process.argv.length < 3) usage();
|
||||
|
||||
function usage () {
|
||||
console.error('usage: which [-as] program ...')
|
||||
process.exit(1)
|
||||
function usage() {
|
||||
console.error('usage: which [-as] program ...');
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
var all = false
|
||||
var silent = false
|
||||
var dashdash = false
|
||||
var all = false;
|
||||
var silent = false;
|
||||
var dashdash = false;
|
||||
var args = process.argv.slice(2).filter(function (arg) {
|
||||
if (dashdash || !/^-/.test(arg))
|
||||
return true
|
||||
if (dashdash || !/^-/.test(arg)) return true;
|
||||
|
||||
if (arg === '--') {
|
||||
dashdash = true
|
||||
return false
|
||||
dashdash = true;
|
||||
return false;
|
||||
}
|
||||
|
||||
var flags = arg.substr(1).split('')
|
||||
var flags = arg.substr(1).split('');
|
||||
for (var f = 0; f < flags.length; f++) {
|
||||
var flag = flags[f]
|
||||
var flag = flags[f];
|
||||
switch (flag) {
|
||||
case 's':
|
||||
silent = true
|
||||
break
|
||||
silent = true;
|
||||
break;
|
||||
case 'a':
|
||||
all = true
|
||||
break
|
||||
all = true;
|
||||
break;
|
||||
default:
|
||||
console.error('which: illegal option -- ' + flag)
|
||||
usage()
|
||||
console.error('which: illegal option -- ' + flag);
|
||||
usage();
|
||||
}
|
||||
}
|
||||
return false
|
||||
})
|
||||
return false;
|
||||
});
|
||||
|
||||
process.exit(args.reduce(function (pv, current) {
|
||||
try {
|
||||
var f = which.sync(current, { all: all })
|
||||
if (all)
|
||||
f = f.join('\n')
|
||||
if (!silent)
|
||||
console.log(f)
|
||||
return pv;
|
||||
} catch (e) {
|
||||
return 1;
|
||||
}
|
||||
}, 0))
|
||||
process.exit(
|
||||
args.reduce(function (pv, current) {
|
||||
try {
|
||||
var f = which.sync(current, { all: all });
|
||||
if (all) f = f.join('\n');
|
||||
if (!silent) console.log(f);
|
||||
return pv;
|
||||
} catch (e) {
|
||||
return 1;
|
||||
}
|
||||
}, 0)
|
||||
);
|
||||
|
159
node_modules/which/which.js
generated
vendored
159
node_modules/which/which.js
generated
vendored
@ -1,125 +1,124 @@
|
||||
const isWindows = process.platform === 'win32' ||
|
||||
process.env.OSTYPE === 'cygwin' ||
|
||||
process.env.OSTYPE === 'msys'
|
||||
const isWindows =
|
||||
process.platform === 'win32' ||
|
||||
process.env.OSTYPE === 'cygwin' ||
|
||||
process.env.OSTYPE === 'msys';
|
||||
|
||||
const path = require('path')
|
||||
const COLON = isWindows ? ';' : ':'
|
||||
const isexe = require('isexe')
|
||||
const path = require('path');
|
||||
const COLON = isWindows ? ';' : ':';
|
||||
const isexe = require('isexe');
|
||||
|
||||
const getNotFoundError = (cmd) =>
|
||||
Object.assign(new Error(`not found: ${cmd}`), { code: 'ENOENT' })
|
||||
Object.assign(new Error(`not found: ${cmd}`), { code: 'ENOENT' });
|
||||
|
||||
const getPathInfo = (cmd, opt) => {
|
||||
const colon = opt.colon || COLON
|
||||
const colon = opt.colon || COLON;
|
||||
|
||||
// If it has a slash, then we don't bother searching the pathenv.
|
||||
// just check the file itself, and that's it.
|
||||
const pathEnv = cmd.match(/\//) || isWindows && cmd.match(/\\/) ? ['']
|
||||
: (
|
||||
[
|
||||
const pathEnv =
|
||||
cmd.match(/\//) || (isWindows && cmd.match(/\\/)) ?
|
||||
['']
|
||||
: [
|
||||
// windows always checks the cwd first
|
||||
...(isWindows ? [process.cwd()] : []),
|
||||
...(opt.path || process.env.PATH ||
|
||||
/* istanbul ignore next: very unusual */ '').split(colon),
|
||||
]
|
||||
)
|
||||
const pathExtExe = isWindows
|
||||
? opt.pathExt || process.env.PATHEXT || '.EXE;.CMD;.BAT;.COM'
|
||||
: ''
|
||||
const pathExt = isWindows ? pathExtExe.split(colon) : ['']
|
||||
...(
|
||||
opt.path ||
|
||||
process.env.PATH ||
|
||||
/* istanbul ignore next: very unusual */ ''
|
||||
).split(colon),
|
||||
];
|
||||
const pathExtExe =
|
||||
isWindows ?
|
||||
opt.pathExt || process.env.PATHEXT || '.EXE;.CMD;.BAT;.COM'
|
||||
: '';
|
||||
const pathExt = isWindows ? pathExtExe.split(colon) : [''];
|
||||
|
||||
if (isWindows) {
|
||||
if (cmd.indexOf('.') !== -1 && pathExt[0] !== '')
|
||||
pathExt.unshift('')
|
||||
if (cmd.indexOf('.') !== -1 && pathExt[0] !== '') pathExt.unshift('');
|
||||
}
|
||||
|
||||
return {
|
||||
pathEnv,
|
||||
pathExt,
|
||||
pathExtExe,
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
const which = (cmd, opt, cb) => {
|
||||
if (typeof opt === 'function') {
|
||||
cb = opt
|
||||
opt = {}
|
||||
cb = opt;
|
||||
opt = {};
|
||||
}
|
||||
if (!opt)
|
||||
opt = {}
|
||||
if (!opt) opt = {};
|
||||
|
||||
const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)
|
||||
const found = []
|
||||
const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
|
||||
const found = [];
|
||||
|
||||
const step = i => new Promise((resolve, reject) => {
|
||||
if (i === pathEnv.length)
|
||||
return opt.all && found.length ? resolve(found)
|
||||
: reject(getNotFoundError(cmd))
|
||||
const step = (i) =>
|
||||
new Promise((resolve, reject) => {
|
||||
if (i === pathEnv.length)
|
||||
return opt.all && found.length ?
|
||||
resolve(found)
|
||||
: reject(getNotFoundError(cmd));
|
||||
|
||||
const ppRaw = pathEnv[i]
|
||||
const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw
|
||||
const ppRaw = pathEnv[i];
|
||||
const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;
|
||||
|
||||
const pCmd = path.join(pathPart, cmd)
|
||||
const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd
|
||||
: pCmd
|
||||
const pCmd = path.join(pathPart, cmd);
|
||||
const p =
|
||||
!pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd;
|
||||
|
||||
resolve(subStep(p, i, 0))
|
||||
})
|
||||
resolve(subStep(p, i, 0));
|
||||
});
|
||||
|
||||
const subStep = (p, i, ii) => new Promise((resolve, reject) => {
|
||||
if (ii === pathExt.length)
|
||||
return resolve(step(i + 1))
|
||||
const ext = pathExt[ii]
|
||||
isexe(p + ext, { pathExt: pathExtExe }, (er, is) => {
|
||||
if (!er && is) {
|
||||
if (opt.all)
|
||||
found.push(p + ext)
|
||||
else
|
||||
return resolve(p + ext)
|
||||
}
|
||||
return resolve(subStep(p, i, ii + 1))
|
||||
})
|
||||
})
|
||||
const subStep = (p, i, ii) =>
|
||||
new Promise((resolve, reject) => {
|
||||
if (ii === pathExt.length) return resolve(step(i + 1));
|
||||
const ext = pathExt[ii];
|
||||
isexe(p + ext, { pathExt: pathExtExe }, (er, is) => {
|
||||
if (!er && is) {
|
||||
if (opt.all) found.push(p + ext);
|
||||
else return resolve(p + ext);
|
||||
}
|
||||
return resolve(subStep(p, i, ii + 1));
|
||||
});
|
||||
});
|
||||
|
||||
return cb ? step(0).then(res => cb(null, res), cb) : step(0)
|
||||
}
|
||||
return cb ? step(0).then((res) => cb(null, res), cb) : step(0);
|
||||
};
|
||||
|
||||
const whichSync = (cmd, opt) => {
|
||||
opt = opt || {}
|
||||
opt = opt || {};
|
||||
|
||||
const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)
|
||||
const found = []
|
||||
const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
|
||||
const found = [];
|
||||
|
||||
for (let i = 0; i < pathEnv.length; i ++) {
|
||||
const ppRaw = pathEnv[i]
|
||||
const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw
|
||||
for (let i = 0; i < pathEnv.length; i++) {
|
||||
const ppRaw = pathEnv[i];
|
||||
const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;
|
||||
|
||||
const pCmd = path.join(pathPart, cmd)
|
||||
const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd
|
||||
: pCmd
|
||||
const pCmd = path.join(pathPart, cmd);
|
||||
const p =
|
||||
!pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd;
|
||||
|
||||
for (let j = 0; j < pathExt.length; j ++) {
|
||||
const cur = p + pathExt[j]
|
||||
for (let j = 0; j < pathExt.length; j++) {
|
||||
const cur = p + pathExt[j];
|
||||
try {
|
||||
const is = isexe.sync(cur, { pathExt: pathExtExe })
|
||||
const is = isexe.sync(cur, { pathExt: pathExtExe });
|
||||
if (is) {
|
||||
if (opt.all)
|
||||
found.push(cur)
|
||||
else
|
||||
return cur
|
||||
if (opt.all) found.push(cur);
|
||||
else return cur;
|
||||
}
|
||||
} catch (ex) {}
|
||||
}
|
||||
}
|
||||
|
||||
if (opt.all && found.length)
|
||||
return found
|
||||
if (opt.all && found.length) return found;
|
||||
|
||||
if (opt.nothrow)
|
||||
return null
|
||||
if (opt.nothrow) return null;
|
||||
|
||||
throw getNotFoundError(cmd)
|
||||
}
|
||||
throw getNotFoundError(cmd);
|
||||
};
|
||||
|
||||
module.exports = which
|
||||
which.sync = whichSync
|
||||
module.exports = which;
|
||||
which.sync = whichSync;
|
||||
|
Reference in New Issue
Block a user