Files
SCM-Manager/scm-ui/ui-scripts/bin/ui-scripts.js

47 lines
1.4 KiB
JavaScript
Raw Normal View History

2019-10-14 16:00:50 +02:00
#!/usr/bin/env node
const { spawnSync } = require("child_process");
const commands = ["plugin", "plugin-watch", "publish", "version"];
2019-10-14 16:00:50 +02:00
const args = process.argv.slice(2);
const commandIndex = args.findIndex(arg => {
return commands.includes(arg);
});
const command = commandIndex === -1 ? args[0] : args[commandIndex];
const nodeArgs = commandIndex > 0 ? args.slice(0, commandIndex) : [];
if (commands.includes(command)) {
const result = spawnSync(
"node",
nodeArgs
.concat(require.resolve("../src/commands/" + command))
.concat(args.slice(commandIndex + 1)),
{ stdio: "inherit" }
);
if (result.signal) {
if (result.signal === "SIGKILL") {
console.log(
"The build failed because the process exited too early. " +
2019-10-16 08:08:37 +02:00
"This probably means the system ran out of memory or someone called " +
"`kill -9` on the process."
2019-10-14 16:00:50 +02:00
);
} else if (result.signal === "SIGTERM") {
console.log(
"The build failed because the process exited too early. " +
2019-10-16 08:08:37 +02:00
"Someone might have called `kill` or `killall`, or the system could " +
"be shutting down."
2019-10-14 16:00:50 +02:00
);
}
process.exit(1);
}
process.exit(result.status);
} else {
2019-10-16 08:08:37 +02:00
console.log("Unknown script \"" + command + "\".");
2019-10-14 16:00:50 +02:00
console.log("Perhaps you need to update react-scripts?");
console.log(
"See: https://facebook.github.io/create-react-app/docs/updating-to-new-releases"
);
}