UNPKG

cli-meow-help

Version:

Generate automatically formatted help text for `meow` CLI helper

7 lines (6 loc) 1.52 kB
import i from"chalk";import r from"chalk-template";import A from"cli-table3";var f=()=>new A({chars:{top:"","top-mid":"","top-left":"","top-right":"",bottom:"","bottom-mid":"","bottom-left":"","bottom-right":"",left:"","left-mid":"",mid:"","mid-mid":"",right:"","right-mid":"",middle:""},style:{"padding-left":0,"padding-right":2},wordWrap:!0});import k from"chalk";var m="",F="Default:",c=(a,n)=>(a&&n.default?m=`${F} ${k.yellow(`${n.default}`)}`:a&&n.type==="boolean"&&(m=`${F} ${k.yellow("false")}`),m);var I=i.dim,C=i.bold.inverse.green,D=i.bold.inverse.cyan,E=i.bold.inverse.yellow,q=({name:a="(CLI name undefined)",desc:n,commands:d={},flags:g={},examples:s=[],defaults:p=!0,header:u,footer:y})=>{let t="",o=` `;u&&(t+=`${u}${o}`),n&&(t+=`${n}${o}`),t+=`${C(" USAGE ")} ${o}`,t+=r`{gray $} {green ${a}} {cyan <command>} {yellow [option]}`;let h;s.length&&(h=s.length>1?"S":"",t+=`${o}${r`{gray EXAMPLE${h} }`}`,s.map(l=>{let e=l.flags?`--${l.flags.join(" --")}`:"";t+=r`\n{gray $} {green ${a}} {cyan ${l.command}} {yellow ${e}}`})),t+=`${o}${D(" COMMANDS ")} ${o}`;let b=f(),O=Object.keys(d);for(let l of O){let e=d[l],$=c(p,e);b.push([r`{cyan ${l}}`,`${e.desc} ${I($)}`])}t+=b.toString(),t+=`${o}${E(" OPTIONS ")} ${o}`;let w=f(),T=Object.keys(g);for(let l of T){let e=g[l],$=e.alias?`-${e.alias}, `:"",V=e.shortFlag?`-${e.shortFlag}, `:"",j=c(p,e);w.push([r`{yellow ${$}${V}--${l}}`,`${e.desc} ${I(j)}`])}return t+=w.toString(),t+=` `,y&&(t+=` ${y} `),t};export{q as default}; //# sourceMappingURL=index.js.map