UNPKG

@ycmd/commands

Version:

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

17 lines (12 loc) 2.19 kB
'use strict'; var algos = require('@lsk4/algos'); var fishbird = require('fishbird'); var O = require('license-checker'); var path = require('path'); var ycmd = require('ycmd'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var O__default = /*#__PURE__*/_interopDefault(O); var b=Object.defineProperty;var l=(e,t)=>b(e,"name",{value:t,configurable:!0});var B=l((e={})=>new Promise((t,n)=>{O__default.default.init(e,(s,r)=>{s?n(s):t(r);});}),"check"),M=l((e,t)=>Object.keys(e).reduce((s,r)=>(s[r]=t(e[r],r,e),s),{}),"mapObjects"),g=l(e=>{if(e[0]==="@"){let s=g(e.slice(1));return s.name=`@${s.name}`,s}let[t,n]=e.split("@");return {name:t,version:n}},"parseName"),E=l((e,t)=>e.reduce((n,s)=>(n[s[t]]=s,n),{}),"keyBy"),z=ycmd.createCommand({command:"license-check [-f]",describe:"check project licenses",builder:e=>e.options({format:{alias:"f",describe:"format of output",choices:["table","json"],default:"table"},path:{alias:"p",describe:"paths of directories comma separated"}}),async main({argv:e,log:t,cwd:n}){let{format:s="table",path:r=n}=e,y=r.split(",").map(a=>a.trim().replace("~",process.env.HOME)).filter(Boolean),k=(await fishbird.map(y,async a=>{try{let o=path.join(a,"package.json"),c=ycmd.readJson(o),d=[{type:"deps",values:c.dependencies},{type:"devDeps",values:c.devDependencies},{type:"optDeps",values:c.optionalDependencies},{type:"peerDeps",values:c.peerDependencies}].filter(({values:p})=>p&&Object.keys(p).length>0),f=await B({start:a}),h=M(f,(p,m)=>{let{name:i,version:u}=g(m);return {name:i,version:u,...p}}),v=E(Object.values(h),"name");return d.flatMap(({type:p,values:m})=>Object.keys(m||{}).map(i=>{let u=m[i];return {packagePath:a,name:i,version:u,type:p,...algos.omit(v[i],["name","version"])}}))}catch(o){return t.warn(a,"err",o),[]}})).flat().map(({packagePath:a,...o})=>{let c=a.replace(process.env.HOME,"~"),d=c.split("/")[2],f=c.split("/").slice(3).join("/");return {packagePath:c,project:d,package:f,...o,npmUrl:`https://www.npmjs.com/package/${o.name}`}});s==="json"?console.log(JSON.stringify(k,null,4)):console.table(k);}}); module.exports = z; //# sourceMappingURL=out.js.map //# sourceMappingURL=show-licenses.js.map