UNPKG

2.65 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../src/exec.js"],"names":["exec","command","options","trace","console","log","error","otherOptions","Promise","resolve","reject","proc","cp","err","stdout","stderr","on","data","trim"],"mappings":";;;;;;;;;;;;;;AAAA;;AACA;;;;;;;;AAEO,SAASA,IAAT,CAAcC,OAAd,EAAqC;AAAA,MAAdC,OAAc,uEAAJ,EAAI;AAC1C,uBAMIA,OANJ,CACEC,KADF;AAAA,MACEA,KADF,+BACUC,OAAO,CAACC,GADlB;AAAA,qBAMIH,OANJ,CAEEG,GAFF;AAAA,MAEEA,GAFF,6BAEQD,OAAO,CAACC,GAFhB;AAAA,uBAMIH,OANJ,CAGEI,KAHF;AAAA,MAGEA,KAHF,+BAGUF,OAAO,CAACE,KAHlB;AAAA,MAIKC,YAJL,6CAMIL,OANJ;AAQA,MAAIC,KAAJ,EAAWA,KAAK,CAAC,KAAD,EAAQ,4BAAKF,OAAL,CAAR,CAAL;AACX,SAAO,IAAIO,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AACtC,QAAMC,IAAI,GAAGC,0BAAGZ,IAAH,CAAQC,OAAR,oBAAsBM,YAAtB,GAAsC,UAACM,GAAD,EAAMC,MAAN,EAAcC,MAAd,EAAyB;AAC1E,UAAIZ,KAAJ,EAAWA,KAAK,CAAC,MAAD,EAAS,4BAAKF,OAAL,CAAT,EAAwB,qBAAxB,EAA+CY,GAA/C,CAAL;;AACX,UAAIA,GAAJ,EAAS;AACPH,QAAAA,MAAM,CAAC;AAAEG,UAAAA,GAAG,EAAHA,GAAF;AAAOC,UAAAA,MAAM,EAANA,MAAP;AAAeC,UAAAA,MAAM,EAANA;AAAf,SAAD,CAAN,CADO,CAC0B;;AACjC;AACD;;AACDN,MAAAA,OAAO,CAAC;AAAEK,QAAAA,MAAM,EAANA,MAAF;AAAUC,QAAAA,MAAM,EAANA;AAAV,OAAD,CAAP;AACD,KAPY,CAAb;;AAQA,QAAIJ,IAAI,CAACG,MAAT,EAAiB;AACfH,MAAAA,IAAI,CAACG,MAAL,CAAYE,EAAZ,CAAe,MAAf,EAAuB,UAACC,IAAD,EAAU;AAC/B,YAAIZ,GAAJ,EAASA,GAAG,CAACY,IAAI,CAACC,IAAL,EAAD,CAAH;AACV,OAFD;AAGD;;AACD,QAAIP,IAAI,CAACI,MAAT,EAAiB;AACfJ,MAAAA,IAAI,CAACI,MAAL,CAAYC,EAAZ,CAAe,MAAf,EAAuB,UAACC,IAAD,EAAU;AAC/B,YAAIX,KAAJ,EAAWA,KAAK,CAACW,IAAI,CAACC,IAAL,EAAD,CAAL;AACZ,OAFD;AAGD;AACF,GAnBM,CAAP;AAoBD;;eAEclB,I","sourcesContent":["import trim from '@lskjs/utils/trimSpaces';\nimport cp from 'child_process';\n\nexport function exec(command, options = {}) {\n const {\n trace = console.log, // eslint-disable-line no-console\n log = console.log, // eslint-disable-line no-console\n error = console.error, // eslint-disable-line no-console\n ...otherOptions\n // cwd = process.cwd(),\n } = options;\n\n if (trace) trace('>>>', trim(command));\n return new Promise((resolve, reject) => {\n const proc = cp.exec(command, { ...otherOptions }, (err, stdout, stderr) => {\n if (trace) trace('<<< ', trim(command), '<<< finished, code:', err);\n if (err) {\n reject({ err, stdout, stderr }); // eslint-disable-line prefer-promise-reject-errors\n return;\n }\n resolve({ stdout, stderr });\n });\n if (proc.stdout) {\n proc.stdout.on('data', (data) => {\n if (log) log(data.trim());\n });\n }\n if (proc.stderr) {\n proc.stderr.on('data', (data) => {\n if (error) error(data.trim());\n });\n }\n });\n}\n\nexport default exec;\n"],"file":"exec.js"}
\No newline at end of file