UNPKG

alwaysai

Version:

The alwaysAI command-line interface (CLI)

45 lines 1.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const child_process_1 = require("child_process"); const open = require("open"); const signalExit = require("signal-exit"); async function runForeground(cmd) { const childProcess = child_process_1.spawn(cmd.exe, cmd.args || [], { cwd: cmd.cwd, stdio: 'inherit', }); // Kill child when parent exits signalExit(() => { childProcess.kill(); process.exit(1); }); await new Promise(() => { // Kill parent when child errors childProcess.on('error', () => { process.exit(1); }); // Kill parent when child exits childProcess.on('exit', () => { process.exit(1); }); // Kill parent when child process is closed. childProcess.on('close', () => { process.exit(1); }); if (childProcess.stdout) { childProcess.stdout.on('data', (data) => { process.stdout.write(data); if (data.includes('http://0.0.0.0:5000/')) { open('http://0.0.0.0:5000/'); } }); } if (childProcess.stderr) { childProcess.stderr.on('data', (data) => { process.stderr.write(data); }); } }); } exports.runForeground = runForeground; //# sourceMappingURL=run-foreground.js.map