https://github.com/Microsoft/TypeScript
Raw File
Tip revision: a5123a5b1bccb750efe5d581f331f1e63d3992db authored by Anders Hejlsberg on 07 January 2020, 00:18:30 UTC
Merge branch 'master' into fix35414-2
Tip revision: a5123a5
run-sequence.js
// @ts-check
const cp = require("child_process");
/**
 * 
 * @param {[string, string[]][]} tasks
 * @param {cp.SpawnSyncOptions} opts
 */
function runSequence(tasks, opts = { timeout: 100000, shell: true }) {
    let lastResult;
    for (const task of tasks) {
        console.log(`${task[0]} ${task[1].join(" ")}`);
        const result = cp.spawnSync(task[0], task[1], opts);
        if (result.status !== 0) throw new Error(`${task[0]} ${task[1].join(" ")} failed: ${result.stderr && result.stderr.toString()}`);
        console.log(result.stdout && result.stdout.toString());
        lastResult = result;
    }
    return lastResult && lastResult.stdout && lastResult.stdout.toString();
}

exports.runSequence = runSequence;
back to top