mirror of
https://github.com/shelljs/shelljs.git
synced 2026-01-25 16:07:37 +00:00
Use rechoir and interpret for scripts.
This commit is contained in:
parent
5f4d3901f2
commit
852abff910
26
bin/shjs
26
bin/shjs
@ -32,24 +32,8 @@ for (var i = 0, l = args.length; i < l; i++) {
|
||||
}
|
||||
}
|
||||
|
||||
if (scriptName.match(/\.coffee$/)) {
|
||||
//
|
||||
// CoffeeScript
|
||||
//
|
||||
if (which('coffee')) {
|
||||
exec('coffee "' + scriptName + '" ' + args.join(' '), function(code) {
|
||||
process.exit(code);
|
||||
});
|
||||
} else {
|
||||
console.log('ShellJS: CoffeeScript interpreter not found');
|
||||
console.log();
|
||||
process.exit(1);
|
||||
}
|
||||
} else {
|
||||
//
|
||||
// JavaScript
|
||||
//
|
||||
exec('node "' + scriptName + '" ' + args.join(' '), function(code) {
|
||||
process.exit(code);
|
||||
});
|
||||
}
|
||||
var path = require('path');
|
||||
var extensions = require('interpret').extensions;
|
||||
var rechoir = require('rechoir');
|
||||
rechoir.prepare(extensions, scriptName);
|
||||
require(require.resolve(path.join(process.cwd(), scriptName)));
|
||||
|
||||
@ -29,7 +29,9 @@
|
||||
"shjs": "./bin/shjs"
|
||||
},
|
||||
"dependencies": {
|
||||
"glob": "^7.0.0"
|
||||
"glob": "^7.0.0",
|
||||
"interpret": "^1.0.0",
|
||||
"rechoir": "^0.6.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"coffee-script": "^1.10.0",
|
||||
|
||||
@ -4,10 +4,9 @@ var assert = require('assert');
|
||||
|
||||
function runScript(name) {
|
||||
// prefix with 'node ' for Windows, don't prefix for OSX/Linux
|
||||
return shell.exec((process.platform === 'win32' ? 'node ' : '') +
|
||||
path.resolve(__dirname, '../bin/shjs') +
|
||||
' ' +
|
||||
path.resolve(__dirname, 'resources', 'shjs', name), { silent: true });
|
||||
var cmd = (process.platform === 'win32' ? 'node' : '') + path.resolve(__dirname, '../bin/shjs');
|
||||
var script = path.join('resources', 'shjs', name);
|
||||
return shell.exec(cmd + ' ' + script, { silent: true });
|
||||
}
|
||||
|
||||
// Exit Codes
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user