cli/src/build/execute.ts

25 lines
572 B
TypeScript

import child_process from 'child_process';
/**
* Execute a shell command
* @param cmd Shell command
* @param loc Working directory
*/
export function execute(cmd: any[], loc: string): Promise<void> {
return new Promise((resolve, reject) => {
const cproc = child_process.spawn(cmd[0], cmd.slice(1), {
cwd: loc,
});
cproc.stdout.pipe(process.stdout);
cproc.stderr.pipe(process.stderr);
cproc.on('exit', (code: number) => {
if (code !== 0) {
return reject(new Error('Build failed!'));
}
resolve();
});
});
}