| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | 'use strict';var cp = require('child_process');var parse = require('./lib/parse');var enoent = require('./lib/enoent');var cpSpawnSync = cp.spawnSync;function spawn(command, args, options) {    var parsed;    var spawned;    // Parse the arguments    parsed = parse(command, args, options);    // Spawn the child process    spawned = cp.spawn(parsed.command, parsed.args, parsed.options);    // Hook into child process "exit" event to emit an error if the command    // does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16    enoent.hookChildProcess(spawned, parsed);    return spawned;}function spawnSync(command, args, options) {    var parsed;    var result;    if (!cpSpawnSync) {        try {            cpSpawnSync = require('spawn-sync');  // eslint-disable-line global-require        } catch (ex) {            throw new Error(                'In order to use spawnSync on node 0.10 or older, you must ' +                'install spawn-sync:\n\n' +                '  npm install spawn-sync --save'            );        }    }    // Parse the arguments    parsed = parse(command, args, options);    // Spawn the child process    result = cpSpawnSync(parsed.command, parsed.args, parsed.options);    // Analyze if the command does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16    result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);    return result;}module.exports = spawn;module.exports.spawn = spawn;module.exports.sync = spawnSync;module.exports._parse = parse;module.exports._enoent = enoent;
 |