run _6to5-node using execvp() if available

This commit is contained in:
Christopher Monsanto
2014-12-13 01:41:57 -05:00
parent 9ca05b1971
commit aac6303696
2 changed files with 24 additions and 10 deletions

View File

@@ -5,7 +5,6 @@
* when found, before invoking the "real" _6to5-node(1) executable.
*/
var spawn = require("child_process").spawn;
var args = ["--harmony", __dirname + "/_6to5-node"];
process.argv.slice(2).forEach(function(arg){
@@ -49,13 +48,21 @@ process.argv.slice(2).forEach(function(arg){
}
});
var proc = spawn(process.argv[0], args, { stdio: "inherit" });
proc.on("exit", function (code, signal) {
process.on("exit", function () {
if (signal) {
process.kill(process.pid, signal);
} else {
process.exit(code);
}
try {
var kexec = require("kexec");
kexec(process.argv[0], args);
} catch(e) {
if (e.code !== "MODULE_NOT_FOUND") throw err;
var child_process = require("child_process");
var proc = child_process.spawn(process.argv[0], args, { stdio: "inherit" });
proc.on("exit", function (code, signal) {
process.on("exit", function () {
if (signal) {
process.kill(process.pid, signal);
} else {
process.exit(code);
}
})
});
});
}