UNPKG

code-workshop-kit

Version:
33 lines 1.35 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.runScript = void 0; const child_process_1 = require("child_process"); const path_1 = __importDefault(require("path")); const events_1 = __importDefault(require("events")); const runScript = (opts) => { const { cmd, dir, participant, participantIndex, fromParticipantFolder = true } = opts; const processEmitter = new events_1.default(); let pathToRunScriptIn = path_1.default.resolve(dir); if (fromParticipantFolder) { pathToRunScriptIn = path_1.default.resolve(dir, 'participants', participant); } const _cmd = typeof cmd === 'function' ? cmd.call(null, participant, participantIndex) : cmd; const script = child_process_1.spawn(_cmd, [], { cwd: pathToRunScriptIn, shell: true, detached: true, }); script.stdout.on('data', (data) => { processEmitter.emit('out', `${data}`); }); script.stderr.on('data', (data) => { processEmitter.emit('err', `${data}`); }); script.on('close', () => processEmitter.emit('close')); return { processEmitter, script }; }; exports.runScript = runScript; //# sourceMappingURL=runScript.js.map