|  | @@ -0,0 +1,48 @@
 | 
	
		
			
				|  |  | +if (process.argv.length < 4) {
 | 
	
		
			
				|  |  | +    console.error('Not enough arguments');
 | 
	
		
			
				|  |  | +    process.exit(1);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +const programs = require('./deploy.json').programs;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +let program = null;
 | 
	
		
			
				|  |  | +programs.forEach(elt => {
 | 
	
		
			
				|  |  | +    if (elt.name === process.argv[2]) {
 | 
	
		
			
				|  |  | +        program = elt;
 | 
	
		
			
				|  |  | +        return;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +});
 | 
	
		
			
				|  |  | +if (program === null) {
 | 
	
		
			
				|  |  | +    console.error(process.argv[2], 'not found');
 | 
	
		
			
				|  |  | +    process.exit(2);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +if (program.script[process.argv[3]] === undefined) {
 | 
	
		
			
				|  |  | +    console.error(process.argv[2], 'script not found');
 | 
	
		
			
				|  |  | +    process.exit(3);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +const cmd = program.script[process.argv[3]].split(' ');
 | 
	
		
			
				|  |  | +let argv = [];
 | 
	
		
			
				|  |  | +argv.push(process.argv[0]);
 | 
	
		
			
				|  |  | +argv.push(process.argv[1].replace('main.js', cmd[1]));
 | 
	
		
			
				|  |  | +let longParam = false;
 | 
	
		
			
				|  |  | +let param = '';
 | 
	
		
			
				|  |  | +for (let i = 2; i < cmd.length; i++) {
 | 
	
		
			
				|  |  | +    if (longParam) {
 | 
	
		
			
				|  |  | +        param += ' ' + cmd[i];
 | 
	
		
			
				|  |  | +        if (cmd[i][cmd[i].length - 1] === '"') {
 | 
	
		
			
				|  |  | +            argv.push(param.replace(/^"+|"+$/g, ''));
 | 
	
		
			
				|  |  | +            param = '';
 | 
	
		
			
				|  |  | +            longParam = false;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    } else if (cmd[i][0] === '"') {
 | 
	
		
			
				|  |  | +        longParam = true;
 | 
	
		
			
				|  |  | +        param = cmd[i];
 | 
	
		
			
				|  |  | +    } else {
 | 
	
		
			
				|  |  | +        argv.push(cmd[i]);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +process.argv = argv;
 | 
	
		
			
				|  |  | +require('./' + cmd[1]);
 |