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=(r,n)=>R(r,"name",{value:n,configurable:!0});function O(r,n=[],c={}){let{silence:g,cwd:s=process.cwd(),log:u,...w}=c,h=getPackageName({cwd:s}),m=g!=="all",p=!g,e=u||createLogger({name:h});if(p){let[a,...i]=r.trim().split(" "),o=[getShortPath(a,{cwd:s}),...i].join(" ");e.debug(`\u25B6 ${o} ${joinArgs(n)}`),e.trace(`\u25B6\u25B6 ${r} ${joinArgs(n)}`);}return new Promise((a,i)=>{let o=spawn(r,n,{cwd:s,...w});o.stdout&&o.stdout.on("data",t=>{let f=t.toString().trim();p&&e.log(f);}),o.stderr&&o.stderr.on("data",t=>{let f=t.toString().trim();m&&e.error(f);}),o.on("error",t=>{if(m){if(t&&t.code==="ENOENT"){e.fatal(`NO SUCH DIRECTORY: ${s}`,t);return}e.fatal("[ERRRR]",t);}i(t);}),o.on("exit",t=>{if(!t){a(o);return}i({command:r,args:n,cwd:s,options:c,proc:o,code:t});});})}l(O,"spawn");var L=O; export { L as default, O as spawn }; //# sourceMappingURL=out.js.map //# sourceMappingURL=index.js.map