UNPKG

@ycmd/spawn

Version:

LSK.js CLI Creds is the easiest way to manage GitHub / Gitlab secrets and credentials

8 lines (6 loc) 1.06 kB
import { getPackageName, createLogger, getShortPath, joinArgs } from '@ycmd/utils'; import { spawn } from 'child_process'; var R=Object.defineProperty;var l=(n,r)=>R(n,"name",{value:r,configurable:!0});function C(n,r=[],f={}){let{silence:g,cwd:e=process.cwd(),log:u,...w}=f,h=getPackageName({cwd:e}),m=g!=="all",p=!g,s=u||createLogger({name:h});if(p){let[a,...i]=n.trim().split(" "),o=[getShortPath(a,{cwd:e}),...i].join(" ");s.debug(`\u25B6 ${o} ${joinArgs(r)}`),s.trace(`\u25B6\u25B6 ${n} ${joinArgs(r)}`);}return new Promise((a,i)=>{let o=spawn(n,r,{cwd:e,...w});o.stdout&&o.stdout.on("data",t=>{let c=t.toString().trim();p&&s.log(c);}),o.stderr&&o.stderr.on("data",t=>{let c=t.toString().trim();m&&s.error(c);}),o.on("error",t=>{if(m){if(t&&t.code==="ENOENT"){s.fatal(`NO SUCH DIRECTORY: ${e}`,t);return}s.fatal("[ERRRR]",t);}i(t);}),o.on("exit",t=>{if(!t){a(o);return}i({command:n,args:r,cwd:e,options:f,proc:o,code:t});});})}l(C,"spawn");var A=C; export { A as default, C as spawn }; //# sourceMappingURL=out.js.map //# sourceMappingURL=spawn.js.map