gchcg-cli
Version:
1 lines • 919 B
JavaScript
;const path=require("path"),Package=require("./package"),log=require("./log"),{exec:spawn}=require("./utils"),CACHE_DIR="dependencies";async function exec(){const e=arguments[arguments.length-1],t=e.name?e.name():arguments[arguments.length-2].name();try{const e=Array.from(arguments),r=e[e.length-1],c=Object.create(null);Object.keys(r).forEach((e=>{r.hasOwnProperty(e)&&!e.startsWith("_")&&"parent"!==e&&(c[e]=r[e])})),e[e.length-1]=c;const n=[];e.forEach((e=>{if(e){const t=Object.create(null);Object.keys(e).forEach((r=>{"object"==typeof e[r]?t[r]="":"function"!=typeof e[r]&&e[r]&&(t[r]=e[r])})),n.push(t)}}));const s=`require('${path.resolve(__dirname,t).replace(/\\/g,"\\\\")}.js').call(null, ${JSON.stringify(n)})`,o=spawn("node",["-e",s],{cwd:process.cwd(),stdio:"inherit"});o.on("error",(e=>{process.exit(1)})),o.on("exit",(e=>{process.exit(e)}))}catch(e){log.error(e.message)}}module.exports=exec;