UNPKG

@elinzy/e-core

Version:

e core implementation module

64 lines (61 loc) 2.49 kB
import { execa, execaSync, execaCommand, execaCommandSync } from 'execa'; import c__default from 'ansis'; function exec(cmd, args, opts) { if (opts?.logger || opts?.dryRun) console.log(c__default.green(`> ${[cmd, ...args].join(" ")}`)); if (opts?.dryRun) return Promise.resolve(void 0); return execa(cmd, args, opts).then((spawned) => opts?.abbrev ? spawned?.stdout : spawned).catch((e) => { if (opts?.throwOnError ?? true) throw new Error( c__default.red(`Running ${c__default.bold([cmd, ...args].join(" "))} in ${c__default.underline(opts?.cwd || e?.cwd || process.cwd())}:`) + (e.stderr || e.stack || e.message) ); return Promise.resolve(void 0); }); } function execSync(cmd, args, opts) { if (opts?.logger || opts?.dryRun) console.log(c__default.green(`> ${[cmd, ...args].join(" ")}`)); if (opts?.dryRun) return void 0; try { const spawned = execaSync(cmd, args, opts); return opts?.abbrev ? spawned?.stdout : spawned; } catch (e) { if (opts?.throwOnError ?? true) throw new Error( c__default.red(`Running ${c__default.bold([cmd, ...args].join(" "))} in ${c__default.underline(opts?.cwd || e?.cwd || process.cwd())}:`) + (e.stderr || e.stack || e.message) ); return void 0; } } async function execCommand(cmd, opts) { if (opts?.logger || opts?.dryRun) console.log(c__default.green(`> ${[cmd].join(" ")}`)); if (opts?.dryRun) return Promise.resolve(void 0); return execaCommand(cmd, opts).then((spawned) => opts?.abbrev ? spawned?.stdout : spawned).catch((e) => { if (opts?.throwOnError ?? true) throw new Error( c__default.red(`Running ${c__default.bold([cmd].join(" "))} in ${c__default.underline(opts?.cwd || e?.cwd || process.cwd())}:`) + (e.stderr || e.stack || e.message) ); return Promise.resolve(void 0); }); } function execCommandSync(cmd, opts) { if (opts?.logger || opts?.dryRun) console.log(c__default.green(`> ${[cmd].join(" ")}`)); if (opts?.dryRun) return void 0; try { const spawned = execaCommandSync(cmd, opts); return opts?.abbrev ? spawned?.stdout : spawned; } catch (e) { if (opts?.throwOnError ?? true) throw new Error( c__default.red(`Running ${c__default.bold([cmd].join(" "))} in ${c__default.underline(opts?.cwd || e?.cwd || process.cwd())}:`) + (e.stderr || e.stack || e.message) ); return void 0; } } export { exec, execCommand, execCommandSync, execSync };