| 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;
 
 
  |