mirror of
				https://scm.univ-tours.fr/22107988t/rappaurio-sae501_502.git
				synced 2025-11-04 05:15:23 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
'use strict';
 | 
						|
 | 
						|
const cp = require('child_process');
 | 
						|
const parse = require('./lib/parse');
 | 
						|
const enoent = require('./lib/enoent');
 | 
						|
 | 
						|
function spawn(command, args, options) {
 | 
						|
    // Parse the arguments
 | 
						|
    const parsed = parse(command, args, options);
 | 
						|
 | 
						|
    // Spawn the child process
 | 
						|
    const 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) {
 | 
						|
    // Parse the arguments
 | 
						|
    const parsed = parse(command, args, options);
 | 
						|
 | 
						|
    // Spawn the child process
 | 
						|
    const result = cp.spawnSync(parsed.command, parsed.args, parsed.options);
 | 
						|
 | 
						|
    // Analyze if the command does not exist, 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;
 |