async function runAndStream(command, args, options) {
    return new Promise((resolve, reject) => {
        const child = spawn(command, args, {
            stdio: 'inherit',
            ...options
        });

        child.on('close', (code) => {
            if (code === 0) {
                resolve(code);
            } else {
                reject(new Error(`'${command} ${args.join(' ')}' exited with code ${code}`));
            }
        });

    });
}
Run a command and stream output to the console

@param {string} command
@param {string[]} args
@param {object} options