in lib/utils.ts [8:38]
function spawnFactory(sync: false):
(cmd: string, args: string[], stdio?: any, opts?: child_process.SpawnOptions) =>
child_process.ChildProcess;
function spawnFactory(sync: true):
(cmd: string, args: string[], stdio?: any, opts?: child_process.SpawnSyncOptions) =>
child_process.SpawnSyncReturns<any>;
function spawnFactory(sync: boolean):
(cmd: string, args: string[], stdio?: string,
opts?: child_process.SpawnOptions|child_process.SpawnSyncOptions) =>
child_process.ChildProcess | child_process.SpawnSyncReturns<any> {
return (cmd: string, args: string[], stdio?: string,
opts?: child_process.SpawnOptions|child_process.SpawnSyncOptions) => {
if ((Config.osType() === 'Windows_NT') && (cmd.slice(-4) !== '.exe')) {
if (fs.existsSync(cmd + '.exe')) {
cmd += '.exe';
} else {
args = ['/c'].concat([cmd], args);
cmd = 'cmd';
}
}
if (stdio) {
opts = opts || {};
opts.stdio = stdio;
}
if (sync) {
return child_process.spawnSync(cmd, args, opts as child_process.SpawnOptions);
} else {
return child_process.spawn(cmd, args, opts as child_process.SpawnSyncOptions);
}
};
}