improve resilience against npm failures (#4239)
This commit is contained in:
@@ -60,7 +60,7 @@ if (typeof phantom == "undefined") {
|
|||||||
var port = server.address().port;
|
var port = server.address().port;
|
||||||
if (debug) {
|
if (debug) {
|
||||||
console.log("http://localhost:" + port + "/");
|
console.log("http://localhost:" + port + "/");
|
||||||
} else {
|
} else (function install() {
|
||||||
child_process.spawn(process.platform == "win32" ? "npm.cmd" : "npm", [
|
child_process.spawn(process.platform == "win32" ? "npm.cmd" : "npm", [
|
||||||
"install",
|
"install",
|
||||||
"phantomjs-prebuilt@2.1.14",
|
"phantomjs-prebuilt@2.1.14",
|
||||||
@@ -71,7 +71,10 @@ if (typeof phantom == "undefined") {
|
|||||||
], {
|
], {
|
||||||
stdio: [ "ignore", 1, 2 ]
|
stdio: [ "ignore", 1, 2 ]
|
||||||
}).on("exit", function(code) {
|
}).on("exit", function(code) {
|
||||||
if (code) throw new Error("npm install failed!");
|
if (code) {
|
||||||
|
console.log("npm install failed with code", code);
|
||||||
|
return install();
|
||||||
|
}
|
||||||
var program = require("phantomjs-prebuilt").exec(process.argv[1], port);
|
var program = require("phantomjs-prebuilt").exec(process.argv[1], port);
|
||||||
program.stdout.pipe(process.stdout);
|
program.stdout.pipe(process.stdout);
|
||||||
program.stderr.pipe(process.stderr);
|
program.stderr.pipe(process.stderr);
|
||||||
@@ -82,7 +85,7 @@ if (typeof phantom == "undefined") {
|
|||||||
process.exit(0);
|
process.exit(0);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
})();
|
||||||
});
|
});
|
||||||
server.timeout = 0;
|
server.timeout = 0;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user