@wocker/ws
Version:
Docker workspace for web projects
30 lines (29 loc) • 880 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.spawn = void 0;
const child_process_1 = require("child_process");
const spawn = async (command, args) => {
const abortController = new AbortController();
const child = (0, child_process_1.spawn)(command, args, {
signal: abortController.signal,
stdio: "inherit"
});
await new Promise((resolve, reject) => {
let withError = false;
child.on("close", (code) => {
if (withError) {
return;
}
if (code !== 0) {
reject(new Error(`Process exited with code ${code}`));
return;
}
resolve(undefined);
});
child.on("error", (err) => {
withError = true;
reject(err);
});
});
};
exports.spawn = spawn;