@ycmd/creds
Version:
LSK.js CLI Creds is the easiest way to manage GitHub / Gitlab secrets and credentials
2 lines • 1.39 kB
JavaScript
var g=Object.defineProperty;var l=(e,n)=>g(e,"name",{value:n,configurable:!0}),f=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(n,t)=>(typeof require<"u"?require:n)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});import w from"@lskjs/err";import u from"axios";import{map as _}from"fishbird";import b from"fs/promises";async function W(e,{force:n,...t}={}){let s;try{s=f(`${e}/__config.js`)}catch(o){console.error("err",o),s={}}if((t.service||s.service)==="github")throw new w("Downloading secrets from github is not supported");let a=t.server||s.server,m=t.id||s.id,v=t.token||s.token,i=t.project||s.project,d=`https://${a}/api/v4/projects/${m}/variables`,{data:p}=await u({method:"get",url:d,headers:{"PRIVATE-TOKEN":v}});await _(p,async({key:o,value:$,variable_type:j})=>{try{if(j!=="file"){console.log(`[IGNORE] Project ${i} ${o}`);return}let r;o.endsWith("env_file")?r="env":o.endsWith("env_json")?r="json":o.endsWith("env_js")&&(r="js");let c=[o,r].filter(Boolean).join("."),h=`${e}/${c}`;await b.writeFile(h,$),console.log(`[OK] ${a}/${i} (${o}) => ${e}/${c}`)}catch(r){console.error(`[ERR] Project ${i} ${o}`,r&&r.response&&r.response.data&&r.response.data.message||r)}})}l(W,"downloadCommand");export{W as downloadCommand};
//# sourceMappingURL=downloadCommand.mjs.map