UNPKG

@ycmd/helpers

Version:

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

35 lines (30 loc) 5.05 kB
'use strict'; var S = require('yargs'); var err = require('@lsk4/err'); var utils = require('@ycmd/utils'); var colors = require('@lsk4/colors'); var algos = require('@lsk4/algos'); var b = require('@lsk4/env'); var promises = require('fs/promises'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var S__default = /*#__PURE__*/_interopDefault(S); var b__default = /*#__PURE__*/_interopDefault(b); var D=Object.defineProperty;var _=(a,o)=>D(a,"name",{value:o,configurable:!0});var L=_((a={})=>{let o=[];return Object.keys(a).forEach(r=>{if(r==="_"||r==="$0")return;let s=a[r];s===!0?o.push(`--${r}`):s===!1||o.push(`--${r}=${s}`);}),o},"argvToArgs");function C({commands:a}){return (o,r,s)=>{let i=a.map(f=>f.command.split(" ")[0]).filter(Boolean);s(i);}}_(C,"createOnComplete");function h(a,o){let r=a||err.Err.getMessage(o),s=!!a;if(r){utils.log.fatal("");!s&&err.Err.getCode(o)!=="YCMD_MISSING_SCRIPT";let f=err.Err.getCode(o);f==="err_unknown"&&(f=""),f===r&&(f="");let t=o?.proc?.exitCode;f&&utils.log.fatal("[Code] ",f),r&&t!==r&&utils.log.fatal("[Message] ",r),o?.data&&Object.entries(o.data).forEach(([m,e])=>{utils.log.fatal(`${m}:`,e);}),o?.cwd&&utils.log.fatal("Cwd:",o.cwd),o?.proc?.spawnargs?utils.log.fatal("[Command]",o.proc.spawnargs.join(" ")):o?.command&&(t&&utils.log.fatal("[ExitCode]",t),utils.log.fatal("[Command]",o.command)),o?.proc?.pid&&utils.log.fatal("[PID]",o?.proc?.pid);let l=o?.stack||o?.options?.ctx?.stack;l&&(utils.log.fatal(""),utils.log.fatal("[Stack]"),(l||[]).reverse().forEach(m=>{utils.log.fatal(" ",m?.command),m?.filename&&utils.log.fatal(" \u276F",m?.filename);})),utils.log.fatal("");}o&&(utils.log.warn("For more info add DEBUG=* before command"),utils.log.trace(""),utils.log.trace("\u2193\u2193\u2193\u2193\u2193\u2193\u2193\u2193\u2193\u2193\u2193 Error Message \u2193\u2193\u2193\u2193\u2193\u2193\u2193\u2193\u2193\u2193\u2193"),utils.log.trace(""),utils.log.trace(o),utils.log.trace(""),utils.log.trace("\u2191\u2191\u2191\u2191\u2191\u2191\u2191\u2191\u2191\u2191\u2191 Error Message \u2191\u2191\u2191\u2191\u2191\u2191\u2191\u2191\u2191\u2191\u2191")),s&&(console.log(""),String(this.showHelp()),console.log("")),process.exit(1);}_(h,"onFail");async function to({name:a,argv:o=process.argv.slice(2),commands:r=[]}={}){process.ycmdStartedAt=new Date;let s=await r,i=S__default.default(o).scriptName(a||"cli").usage("Usage: $0 <command> [options]").command(s||[]).strict().demandCommand().alias("h","help").help("h").completion("completion",C({commands:s}));return i.fail(h.bind(i)),o.length===0?i.showHelp():i.parse(),i}_(to,"createCli");var w=` __ __ $ _____ $ __ __ $ _____ \\ \\ / / $ / ____| $ | \\/ | $ | __ \\ \\ \\_/ / $| | $ | \\ / | $ | | | | \\ / $| | $ | |\\/| | $ | | | | | | $| |____ $ | | | | $ | |__| | |_| $ \\_____| $ |_| |_| $ |_____/ `,v=[["bold","red"],["bold","blue"],["bold","cyan"],["bold","yellow"]];function so({color:a=1}={}){return a?w.split(` `).map(r=>r.split("$").map((s,i)=>s==="#"?colors.colorize(" ",["bgYellow"]):v[i]?colors.colorize(s.replace(/#/g,colors.colorize(" ",["bgYellow"])),v[i]):"").join("")).join(` `):w}_(so,"getLogo");async function po({cmdName:a,cmdVersion:o,config:r,configPath:s,nodeBin:i,ycmdBin:f,log:t,cwd:l,cwdInfo:m}){let e=_(c=>`${c} `.padEnd(14),"pad");t(e("[Name] "),a),t(e("[Version] "),o),t(e("[nodeBin] "),i),t(e("[ycmdBin] "),f),t(e("")),t(e("[CWD] "),l),algos.mapValues(m,(c,p)=>{t(e(`${p}`),c);}),t(e("")),t(e("[ENV] "));let $=Object.keys(b__default.default).sort().filter(c=>c!=="stage"&&c!=="version");if(t(e("stage"),b.stage),t(e("version"),b.version),$.forEach(c=>{let p=b__default.default[c];t(e(`${c}`),p);}),t(e("")),t(e("[CONFIG]"),s||"Not found, using default"),algos.mapValues(r,(c,p)=>{Array.isArray(c)?c.forEach((g,y)=>{t(e(y?"":p),g);}):t(e(p),c);}),b.isDev){t(e("")),t(e("[DEBUG]"));let c=process.ycmdStartedAt?new Date().getTime()-process.ycmdStartedAt.getTime():0;c&&t(e("time"),c,"ms");}}_(po,"printInfo");var F=_(a=>a.split("/").reverse()[0].split(".")[0],"getCmdName"),Y=_(a=>`${a.split("/").reverse().slice(2).reverse().join("/")}/package.json`,"getCmdPackageJsonPath");async function ho({cwd:a=process.cwd()}={}){let[o,r,...s]=process.argv,[i,f,t]=await Promise.all([utils.getCwdInfo({cwd:a}),utils.loadConfig({cwd:a,default:!0}),promises.readFile(Y(r)).then(g=>g.toString()).catch(()=>"{}")]),{path:l,config:m={}}=f,e=b.tryJSONparse(t),$=e?.version,c=e?.name||F(r),p={stack:[{command:`${c} ${utils.joinArgs(s)}`}]};return {startedAt:new Date,cwd:a,cwdInfo:i,isRoot:i.isRoot,configPath:l,config:m,log:utils.log,ctx:p,cmdName:c,cmdVersion:$,cmdPackage:e,nodeBin:o,ycmdBin:r,args:s,argv:{unexpected:1}}}_(ho,"loadMainOptions"); exports.argvToArgs = L; exports.createCli = to; exports.createOnComplete = C; exports.getLogo = so; exports.loadMainOptions = ho; exports.onFail = h; exports.printInfo = po; //# sourceMappingURL=out.js.map //# sourceMappingURL=index.js.map