mirror of
				https://github.com/actions/setup-node.git
				synced 2025-11-04 13:29:12 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
#!/usr/bin/env node
 | 
						|
require('../global');
 | 
						|
 | 
						|
if (process.argv.length < 3) {
 | 
						|
  console.log('ShellJS: missing argument (script name)');
 | 
						|
  console.log();
 | 
						|
  process.exit(1);
 | 
						|
}
 | 
						|
 | 
						|
var args,
 | 
						|
  scriptName = process.argv[2];
 | 
						|
env['NODE_PATH'] = __dirname + '/../..';
 | 
						|
 | 
						|
if (!scriptName.match(/\.js/) && !scriptName.match(/\.coffee/)) {
 | 
						|
  if (test('-f', scriptName + '.js'))
 | 
						|
    scriptName += '.js';
 | 
						|
  if (test('-f', scriptName + '.coffee'))
 | 
						|
    scriptName += '.coffee';
 | 
						|
}
 | 
						|
 | 
						|
if (!test('-f', scriptName)) {
 | 
						|
  console.log('ShellJS: script not found ('+scriptName+')');
 | 
						|
  console.log();
 | 
						|
  process.exit(1);
 | 
						|
}
 | 
						|
 | 
						|
args = process.argv.slice(3);
 | 
						|
 | 
						|
for (var i = 0, l = args.length; i < l; i++) {
 | 
						|
  if (args[i][0] !== "-"){
 | 
						|
    args[i] = '"' + args[i] + '"'; // fixes arguments with multiple words
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
if (scriptName.match(/\.coffee$/)) {
 | 
						|
  //
 | 
						|
  // CoffeeScript
 | 
						|
  //
 | 
						|
  if (which('coffee')) {
 | 
						|
    exec('coffee ' + scriptName + ' ' + args.join(' '), { async: true });
 | 
						|
  } else {
 | 
						|
    console.log('ShellJS: CoffeeScript interpreter not found');
 | 
						|
    console.log();
 | 
						|
    process.exit(1);
 | 
						|
  }
 | 
						|
} else {
 | 
						|
  //
 | 
						|
  // JavaScript
 | 
						|
  //
 | 
						|
  exec('node ' + scriptName + ' ' + args.join(' '), { async: true });
 | 
						|
}
 |