UNPKG

sinotron

Version:

Simple framework for Typescript Electron projects

37 lines (36 loc) 1.07 kB
import * as childProc from 'node:child_process'; import { logError } from './log.js'; export const ProcessUtil = { spawn: async (command, args = [], opts) => { let mOpts = { cwd: process.cwd(), ...opts, shell: true, stdio: 'inherit' }; return new Promise((resolve, reject) => { const process = childProc.spawn(command, args, mOpts); if (process.stdout) { process.stdout.on('data', (data) => { console.log(data); }); } if (process.stderr) { process.stderr.on('data', (data) => { logError(data); }); } process.on('error', (err) => { logError(err.message); }); process.on('close', (code) => { if (code === 0) { resolve(); } else { reject(); } }); }); } };