| #!/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 |
| } |
| } |
| |
| var path = require('path'); |
| var extensions = require('interpret').extensions; |
| var rechoir = require('rechoir'); |
| rechoir.prepare(extensions, scriptName); |
| require(require.resolve(path.resolve(process.cwd(), scriptName))); |