@commercelayer/cli-ux 2.0.0-beta.5 → 2.0.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.js +16 -16
- package/lib/index.mjs +16 -16
- package/package.json +4 -3
package/lib/index.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var Et=Object.create;var B=Object.defineProperty;var At=Object.getOwnPropertyDescriptor;var Lt=Object.getOwnPropertyNames;var Ft=Object.getPrototypeOf,Rt=Object.prototype.hasOwnProperty;var qt=(s,e,t)=>e in s?B(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var et=(s,e)=>{for(var t in e)B(s,t,{get:e[t],enumerable:!0})},rt=(s,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Lt(e))!Rt.call(s,n)&&n!==t&&B(s,n,{get:()=>e[n],enumerable:!(r=At(e,n))||r.enumerable});return s};var g=(s,e,t)=>(t=s!=null?Et(Ft(s)):{},rt(e||!s||!s.__esModule?B(t,"default",{value:s,enumerable:!0}):t,s)),jt=s=>rt(B({},"__esModule",{value:!0}),s);var c=(s,e,t)=>qt(s,typeof e!="symbol"?e+"":e,t);var Be={};et(Be,{ActionBase:()=>b,Config:()=>A,ExitError:()=>$,Table:()=>O,action:()=>ne,annotation:()=>ie,anykey:()=>oe,colorize:()=>St,config:()=>y,confirm:()=>ae,debug:()=>ce,done:()=>ue,error:()=>Se,exit:()=>Ce,flush:()=>le,hyperlink:()=>de,info:()=>pe,log:()=>fe,logToStderr:()=>me,progress:()=>ge,prompt:()=>he,styledHeader:()=>ye,styledJSON:()=>ve,styledObject:()=>be,table:()=>xe,trace:()=>we,tree:()=>ke,url:()=>Te,ux:()=>P,wait:()=>_e,warn:()=>Oe,write:()=>T});module.exports=jt(Be);var H=g(require("chalk")),L=require("util");var Y=require("util");function N(s){return s===void 0?[]:Array.isArray(s)?s:[s]}function K(s,e){return s.reduce((t,r)=>t+e(r),0)}function st(s){return s?s.charAt(0).toUpperCase()+s.slice(1).toLowerCase():""}var b=class{constructor(){c(this,"std","stderr");c(this,"stdmocks");c(this,"type");c(this,"stdmockOrigs",{stderr:process.stderr.write,stdout:process.stdout.write})}get output(){return this.globals.output}set output(e){this.globals.output=e}get running(){return!!this.task}get status(){return this.task?this.task.status:void 0}set status(e){let{task:t}=this;t&&t.status!==e&&(this._updateStatus(e,t.status),t.status=e)}get task(){return this.globals.action.task}set task(e){this.globals.action.task=e}async pause(e,t){let{task:r}=this,n=r?.active;r&&n&&(this._pause(t),this._stdout(!1),r.active=!1);let o=e();return r&&n&&this._resume(),o}async pauseAsync(e,t){let{task:r}=this,n=r?.active;r&&n&&(this._pause(t),this._stdout(!1),r.active=!1);let o=await e();return r&&n&&this._resume(),o}start(e,t,r={}){this.std=r.stdout?"stdout":"stderr";let n={action:e,active:!!this.task?.active,status:t};this.task=n,this._start(r),n.active=!0,this._stdout(!0)}stop(e="done"){let{task:t}=this;t&&(this._stop(e),t.active=!1,this.task=void 0,this._stdout(!1))}_flushStdout(){try{let e="",t;for(;this.stdmocks&&this.stdmocks.length>0;){let r=this.stdmocks.shift();t=r[0],this._write(t,r[1]),e+=r[1][0].toString("utf8")}e&&t&&e.at(-1)!==`
|
|
2
2
|
`&&this._write(t,`
|
|
3
|
-
`)}catch(e){this._write("stderr",(0,
|
|
4
|
-
`),this._flushStdout()}_pause(t){t?this._updateStatus(t):this._flush()}_render(t,r){this.task&&(this.task.active&&this._flush(),this._write(this.std,r?`${t}... ${r}`:`${t}...`))}_resume(){}_start(){this.task&&this._render(this.task.action,this.task.status)}_stop(t){this.task&&this._updateStatus(t,this.task.status,!0)}_updateStatus(t,r,n=!1){this.task&&(this.task.active&&!r?this._write(this.std,` ${t}`):this._write(this.std,`${this.task.action}... ${t}`),(n||!r)&&this._flush())}};var
|
|
5
|
-
`).map(r=>Math.ceil(r.length/
|
|
6
|
-
`,this._write(this.std,this.output)}_reset(){if(!this.output)return;let t=this._lines(this.output);this._write(this.std,
|
|
7
|
-
`),t==="q"&&
|
|
8
|
-
`)}var
|
|
9
|
-
`)}),rowStart:" ",sort:k,title:l}}display(){let e=this.data.map(t=>{let r={};for(let n of this.columns){let o=n.get(t);typeof o!="string"&&(o=(0,
|
|
3
|
+
`)}catch(e){this._write("stderr",(0,Y.inspect)(e))}}_pause(e){throw new Error("not implemented")}_resume(){this.task&&this.start(this.task.action,this.task.status)}_start(e){throw new Error("not implemented")}_stdout(e){try{if(e){if(this.stdmocks)return;this.stdmockOrigs={stderr:process.stderr.write,stdout:process.stdout.write},this.stdmocks=[],process.stdout.write=(...t)=>(this.stdmocks.push(["stdout",t]),!0),process.stderr.write=(...t)=>(this.stdmocks.push(["stderr",t]),!0)}else{if(!this.stdmocks)return;delete this.stdmocks,process.stdout.write=this.stdmockOrigs.stdout,process.stderr.write=this.stdmockOrigs.stderr}}catch(t){this._write("stderr",(0,Y.inspect)(t))}}_stop(e){throw new Error("not implemented")}_updateStatus(e,t){}_write(e,t){switch(e){case"stdout":{this.stdmockOrigs.stdout.apply(process.stdout,N(t));break}case"stderr":{this.stdmockOrigs.stderr.apply(process.stderr,N(t));break}default:throw new Error(`invalid std: ${e}`)}}get globals(){global.ux=global.ux||{};let e=global.ux;return e.action=e.action||{},e}};var I=class extends b{constructor(){super(...arguments);c(this,"type","simple")}_flush(){this._write(this.std,`
|
|
4
|
+
`),this._flushStdout()}_pause(t){t?this._updateStatus(t):this._flush()}_render(t,r){this.task&&(this.task.active&&this._flush(),this._write(this.std,r?`${t}... ${r}`:`${t}...`))}_resume(){}_start(){this.task&&this._render(this.task.action,this.task.status)}_stop(t){this.task&&this._updateStatus(t,this.task.status,!0)}_updateStatus(t,r,n=!1){this.task&&(this.task.active&&!r?this._write(this.std,` ${t}`):this._write(this.std,`${this.task.action}... ${t}`),(n||!r)&&this._flush())}};var ct=g(require("ansi-styles")),ut=g(require("chalk")),lt=g(require("strip-ansi")),R=g(require("supports-color"));function nt(s){if(!s.isTTY)return 80;let e=s.getWindowSize()[0];return e<1?80:e<40?40:e}var it=Number.parseInt(process.env.OCLIF_COLUMNS,10),ot=it||nt(process.stdout),at=it||nt(process.stderr);var D={arc:{frames:["\u25DC","\u25E0","\u25DD","\u25DE","\u25E1","\u25DF"],interval:100},arrow:{frames:["\u2190","\u2196","\u2191","\u2197","\u2192","\u2198","\u2193","\u2199"],interval:100},arrow2:{frames:["\u2B06\uFE0F ","\u2197\uFE0F ","\u27A1\uFE0F ","\u2198\uFE0F ","\u2B07\uFE0F ","\u2199\uFE0F ","\u2B05\uFE0F ","\u2196\uFE0F "],interval:80},arrow3:{frames:["\u25B9\u25B9\u25B9\u25B9\u25B9","\u25B8\u25B9\u25B9\u25B9\u25B9","\u25B9\u25B8\u25B9\u25B9\u25B9","\u25B9\u25B9\u25B8\u25B9\u25B9","\u25B9\u25B9\u25B9\u25B8\u25B9","\u25B9\u25B9\u25B9\u25B9\u25B8"],interval:120},balloon:{frames:[" ",".","o","O","@","*"," "],interval:140},balloon2:{frames:[".","o","O","\xB0","O","o","."],interval:120},bounce:{frames:["\u2801","\u2802","\u2804","\u2802"],interval:120},bouncingBall:{frames:["( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF)","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","(\u25CF )"],interval:80},bouncingBar:{frames:["[ ]","[ =]","[ ==]","[ ===]","[====]","[=== ]","[== ]","[= ]"],interval:80},boxBounce:{frames:["\u2596","\u2598","\u259D","\u2597"],interval:120},boxBounce2:{frames:["\u258C","\u2580","\u2590","\u2584"],interval:100},circle:{frames:["\u25E1","\u2299","\u25E0"],interval:120},circleHalves:{frames:["\u25D0","\u25D3","\u25D1","\u25D2"],interval:50},circleQuarters:{frames:["\u25F4","\u25F7","\u25F6","\u25F5"],interval:120},clock:{frames:["\u{1F550} ","\u{1F551} ","\u{1F552} ","\u{1F553} ","\u{1F554} ","\u{1F555} ","\u{1F556} ","\u{1F557} ","\u{1F558} ","\u{1F559} ","\u{1F55A} "],interval:100},dots:{frames:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],interval:80},dots2:{frames:["\u28FE","\u28FD","\u28FB","\u28BF","\u287F","\u28DF","\u28EF","\u28F7"],interval:80},dots3:{frames:["\u280B","\u2819","\u281A","\u281E","\u2816","\u2826","\u2834","\u2832","\u2833","\u2813"],interval:80},dots4:{frames:["\u2804","\u2806","\u2807","\u280B","\u2819","\u2838","\u2830","\u2820","\u2830","\u2838","\u2819","\u280B","\u2807","\u2806"],interval:80},dots5:{frames:["\u280B","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B"],interval:80},dots6:{frames:["\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2834","\u2832","\u2812","\u2802","\u2802","\u2812","\u281A","\u2819","\u2809","\u2801"],interval:80},dots7:{frames:["\u2808","\u2809","\u280B","\u2813","\u2812","\u2810","\u2810","\u2812","\u2816","\u2826","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808"],interval:80},dots8:{frames:["\u2801","\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808","\u2808"],interval:80},dots9:{frames:["\u28B9","\u28BA","\u28BC","\u28F8","\u28C7","\u2867","\u2857","\u284F"],interval:80},dots10:{frames:["\u2884","\u2882","\u2881","\u2841","\u2848","\u2850","\u2860"],interval:80},dots11:{frames:["\u2801","\u2802","\u2804","\u2840","\u2880","\u2820","\u2810","\u2808"],interval:100},earth:{frames:["\u{1F30D} ","\u{1F30E} ","\u{1F30F} "],interval:180},flip:{frames:["_","_","_","-","`","`","'","\xB4","-","_","_","_"],interval:70},growHorizontal:{frames:["\u258F","\u258E","\u258D","\u258C","\u258B","\u258A","\u2589","\u258A","\u258B","\u258C","\u258D","\u258E"],interval:120},growVertical:{frames:["\u2581","\u2583","\u2584","\u2585","\u2586","\u2587","\u2586","\u2585","\u2584","\u2583"],interval:120},hamburger:{frames:["\u2631","\u2632","\u2634"],interval:100},hearts:{frames:["\u{1F49B} ","\u{1F499} ","\u{1F49C} ","\u{1F49A} ","\u2764\uFE0F "],interval:100},hexagon:{frames:["\u2B21","\u2B22"],interval:400},line:{frames:["-","\\","|","/"],interval:130},line2:{frames:["\u2802","-","\u2013","\u2014","\u2013","-"],interval:100},monkey:{frames:["\u{1F648} ","\u{1F648} ","\u{1F649} ","\u{1F64A} "],interval:300},moon:{frames:["\u{1F311} ","\u{1F312} ","\u{1F313} ","\u{1F314} ","\u{1F315} ","\u{1F316} ","\u{1F317} ","\u{1F318} "],interval:80},noise:{frames:["\u2593","\u2592","\u2591"],interval:100},pipe:{frames:["\u2524","\u2518","\u2534","\u2514","\u251C","\u250C","\u252C","\u2510"],interval:100},pong:{frames:["\u2590\u2802 \u258C","\u2590\u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802\u258C","\u2590 \u2820\u258C","\u2590 \u2840\u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590\u2820 \u258C"],interval:80},runner:{frames:["\u{1F6B6} ","\u{1F3C3} "],interval:140},simpleDots:{frames:[". ",".. ","..."," "],interval:400},simpleDotsScrolling:{frames:[". ",".. ","..."," .."," ."," "],interval:200},smiley:{frames:["\u{1F604} ","\u{1F61D} "],interval:200},squareCorners:{frames:["\u25F0","\u25F3","\u25F2","\u25F1"],interval:180},squish:{frames:["\u256B","\u256A"],interval:100},star:{frames:["\u2736","\u2738","\u2739","\u273A","\u2739","\u2737"],interval:70},star2:{frames:["+","x","*"],interval:80},toggle:{frames:["\u22B6","\u22B7"],interval:250},toggle2:{frames:["\u25AB","\u25AA"],interval:80},toggle3:{frames:["\u25A1","\u25A0"],interval:120},toggle4:{frames:["\u25A0","\u25A1","\u25AA","\u25AB"],interval:100},toggle5:{frames:["\u25AE","\u25AF"],interval:100},toggle6:{frames:["\u101D","\u1040"],interval:300},toggle7:{frames:["\u29BE","\u29BF"],interval:80},toggle8:{frames:["\u25CD","\u25CC"],interval:100},toggle9:{frames:["\u25C9","\u25CE"],interval:100},toggle10:{frames:["\u3282","\u3280","\u3281"],interval:100},toggle11:{frames:["\u29C7","\u29C6"],interval:50},toggle12:{frames:["\u2617","\u2616"],interval:120},toggle13:{frames:["=","*","-"],interval:80},triangle:{frames:["\u25E2","\u25E3","\u25E4","\u25E5"],interval:50}};var J=require("ansi-escapes");function Mt(s){return R.default?(R.default.stdout?R.default.stdout.has256:(process.env.TERM||"").includes("256"))?`\x1B[38;5;104m${s}${ct.default.reset.open}`:ut.default.magenta(s):s}var E=class extends b{constructor(){super();c(this,"frameIndex");c(this,"frames");c(this,"spinner");c(this,"type","spinner");this.frames=this.getFrames(),this.frameIndex=0}_frame(){let t=this.frames[this.frameIndex];return this.frameIndex=++this.frameIndex%this.frames.length,Mt(t)}_lines(t){return(0,lt.default)(t).split(`
|
|
5
|
+
`).map(r=>Math.ceil(r.length/at)).reduce((r,n)=>r+n,0)}_pause(t){this.spinner&&clearInterval(this.spinner),this._reset(),t&&this._render(` ${t}`),this.output=void 0}_render(t){if(!this.task)return;this._reset(),this._flushStdout();let r=t==="spinner"?` ${this._frame()}`:t||"",n=this.task.status?` ${this.task.status}`:"";this.output=`${this.task.action}...${r}${n}
|
|
6
|
+
`,this._write(this.std,this.output)}_reset(){if(!this.output)return;let t=this._lines(this.output);this._write(this.std,J.cursorLeft+J.cursorUp(t)+J.eraseDown),this.output=void 0}_start(t){t.style&&(this.frames=this.getFrames(t)),this._reset(),this.spinner&&clearInterval(this.spinner),this._render(),this.spinner=setInterval(n=>{this._render.bind(this)(n)},process.platform==="win32"?500:100,"spinner"),this.spinner.unref()}_stop(t){this.task&&(this.task.status=t),this.spinner&&clearInterval(this.spinner),this._render(),this.output=void 0}getFrames(t){return t?.style?D[t.style].frames:D[process.platform==="win32"?"line":"dots2"].frames}};var dt=global,x=dt.ux||(dt.ux={}),Wt=!!process.stderr.isTTY&&!process.env.CI&&!["dumb","emacs-color"].includes(process.env.TERM)&&"spinner"||"simple",$t=Wt==="spinner"?E:I,A=class{constructor(){c(this,"action",new $t);c(this,"errorsHandled",!1);c(this,"outputLevel","info");c(this,"showStackTrace",!0)}get context(){return x.context||{}}set context(e){x.context=e}get debug(){return x.debug||process.env.DEBUG==="*"}set debug(e){x.debug=e}};function Ht(){let{version:s}=require("@oclif/core/package.json"),e=s?.split(".")[0]??"unknown";return x[e]||(x[e]=new A),x[e]}var y=Ht();var pt=require("@oclif/core");async function Nt(s,e){async function t(r,n=!1){return new Promise(o=>{let i=setTimeout(()=>{o(null)},r);n&&i.unref()})}return Promise.race([s,t(e,!0).then(()=>pt.Errors.error("timed out"))])}async function Kt(){let s=new Promise(t=>{process.stdout.once("drain",()=>{t(null)})});if(!process.stdout.write(""))return s}async function ft(s=1e4){await Nt(Kt(),s)}var C=g(require("chalk"));var V=require("@oclif/core"),S=require("ansi-escapes");async function z(s,e=100){if(e<0)throw new Error("no input");return new Promise((t,r)=>{let n;s.timeout&&(n=setTimeout(()=>{process.stdin.pause(),r(new Error("Prompt timeout"))},s.timeout),n.unref()),process.stdin.setEncoding("utf8"),process.stderr.write(s.prompt),process.stdin.resume(),process.stdin.once("data",o=>{n&&clearTimeout(n),process.stdin.pause();let i=(typeof o=="string"?o:o.toString()).trim();!s.default&&s.required&&i===""?t(z(s,e-1)):t(i||s.default)})})}function mt(s,e,t){let r="> ";return t&&e==="hide"&&(t="*".repeat(t.length)),s&&t?r=s+" "+C.default.yellow("["+t+"]")+": ":s&&(r=`${s}: `),r}async function Yt(s){let e=process.stdin.isRaw;process.stdin.setRawMode&&process.stdin.setRawMode(!0),s.required=s.required??!1;let t=await z(s);return process.stdin.setRawMode&&process.stdin.setRawMode(!!e),t}function Dt(s){process.stderr.write(S.cursorHide+S.cursorUp(1)+S.cursorLeft+s+S.cursorDown(1)+S.cursorLeft+S.cursorShow)}async function gt(s,e={}){let t=mt(s,e.type,e.default),r={default:"",isTTY:!!(process.env.TERM!=="dumb"&&process.stdin.isTTY),name:s,prompt:t,required:!0,type:"normal",...e},n=require("password-prompt");switch(r.type){case"normal":return z(r);case"single":return Yt(r);case"mask":return n(r.prompt,{default:r.default,method:r.type,required:r.required}).then(o=>(Dt(mt(s,"hide",e.default)),o));case"hide":return n(r.prompt,{default:r.default,method:r.type,required:r.required});default:throw new Error(`unexpected type ${r.type}`)}}async function U(s,e={}){return y.action.pauseAsync(async()=>gt(s,e),C.default.cyan("?"))}async function ht(s){return y.action.pauseAsync(async()=>{let e=async()=>{let r=(await gt(s)).toLowerCase();return["n","no"].includes(r)?!1:["y","yes"].includes(r)?!0:e()};return e()},C.default.cyan("?"))}async function yt(s){let e=!!process.stdin.setRawMode;s||(s=e?`Press any key to continue or ${C.default.yellow("q")} to exit`:`Press enter to continue or ${C.default.yellow("q")} to exit`);let t=await U(s,{required:!1,type:"single"});return e&&process.stderr.write(`
|
|
7
|
+
`),t==="q"&&V.Errors.error("quit"),t===""&&V.Errors.error("ctrl-c"),t}var vt=g(require("chalk")),Z=require("util");function q(s,e){let t=[],r=Object.keys(s).map(a=>a.toString().length),n=Math.max(...r)+2;function o(a){return typeof a=="string"||typeof a=="number"?a:typeof a=="object"?Object.keys(a).map(u=>u+": "+(0,Z.inspect)(a[u])).join(", "):(0,Z.inspect)(a)}let i=(a,u)=>`${vt.default.blue(a)}:`+" ".repeat(n-a.length-1)+o(u);for(let a of e||Object.keys(s).sort()){let u=s[a];if(Array.isArray(u)){if(u.length>0){t.push(i(a,u[0]));for(let d of u.slice(1))t.push(" ".repeat(n)+o(d))}}else u!=null&&t.push(i(a,u))}return t.join(`
|
|
8
|
+
`)}var bt=require("cli-progress");function j(s={}){return new bt.SingleBar({noTTYOutput:process.env.TERM==="dumb"||!process.stdin.isTTY,...s})}var O={};et(O,{table:()=>M});var G=g(require("chalk")),xt=require("js-yaml"),wt=require("natural-orderby"),kt=require("util"),Tt=g(require("slice-ansi")),w=g(require("string-width"));var Vt=s=>{process.stdout.write(s)},zt=s=>{process.stderr.write(s)},T={stderr:zt,stdout:Vt};var v=require("@oclif/core");var X=class{constructor(e,t,r={}){this.data=e;c(this,"columns");c(this,"options");this.columns=Object.keys(t).map(p=>{let m=t[p],_=m.extended??!1,F=m.get??(It=>It[p]??""),h=typeof m.header=="string"?m.header:st(p.replaceAll("_"," ")),Bt=Math.max(m.minWidth??0,(0,w.default)(h)+1);return{extended:_,get:F,header:h,key:p,minWidth:Bt}});let{columns:n,csv:o,extended:i,filter:a,output:u,printLine:d,sort:k,title:l}=r;this.options={columns:n,extended:i,filter:a,"no-header":r["no-header"]??!1,"no-truncate":r["no-truncate"]??!1,output:o?"csv":u,printLine:d??(p=>{T.stdout(p+`
|
|
9
|
+
`)}),rowStart:" ",sort:k,title:l}}display(){let e=this.data.map(t=>{let r={};for(let n of this.columns){let o=n.get(t);typeof o!="string"&&(o=(0,kt.inspect)(o,{breakLength:Number.POSITIVE_INFINITY})),r[n.key]=o}return r});if(this.options.filter){let[t,r]=this.options.filter.split("="),n=t[0]==="-";n&&(t=t.slice(1));let o=this.findColumnFromHeader(t);if(!o||!r)throw new Error("Filter flag has an invalid value");e=e.filter(i=>{let a=new RegExp(r),d=i[o.key].match(a);return n?!d:d})}if(this.options.sort){let t=this.options.sort.split(","),r=t.map(i=>i[0]==="-"?i.slice(1):i),n=this.filterColumnsFromHeaders(r).map(i=>a=>a[i.key]),o=t.map(i=>i[0]==="-"?"desc":"asc");e=(0,wt.orderBy)(e,n,o)}if(this.options.columns){let t=this.options.columns.split(",");this.columns=this.filterColumnsFromHeaders(t)}else this.options.extended||(this.columns=this.columns.filter(t=>!t.extended));switch(this.data=e,this.options.output){case"csv":{this.outputCSV();break}case"json":{this.outputJSON();break}case"yaml":{this.outputYAML();break}default:this.outputTable()}}filterColumnsFromHeaders(e){e=[...new Set(e)];let t=[];for(let r of e){let n=this.columns.find(o=>o.header.toLowerCase()===r.toLowerCase());n&&t.push(n)}return t}findColumnFromHeader(e){return this.columns.find(t=>t.header.toLowerCase()===e.toLowerCase())}getCSVRow(e){let t=this.columns.map(n=>e[n.key]||""),r=t.find(n=>n.includes('"')||n.includes(`
|
|
10
10
|
`)||n.includes(`\r
|
|
11
|
-
`)||n.includes("\r")||n.includes(","));return t.map(n=>r?`"${n.replaceAll('"','""')}"`:n)}outputCSV(){let{columns:e,data:t,options:r}=this;r["no-header"]||r.printLine(e.map(n=>n.header).join(","));for(let n of t){let o=this.getCSVRow(n);r.printLine(o.join(","))}}outputJSON(){this.options.printLine(JSON.stringify(this.resolveColumnsToObjectArray(),void 0,2))}outputTable(){let{data:e,options:t}=this,r=this.columns.map(i=>{let a=Math.max((0,w.default)(".".padEnd(i.minWidth-1)),(0,w.default)(i.header),
|
|
11
|
+
`)||n.includes("\r")||n.includes(","));return t.map(n=>r?`"${n.replaceAll('"','""')}"`:n)}outputCSV(){let{columns:e,data:t,options:r}=this;r["no-header"]||r.printLine(e.map(n=>n.header).join(","));for(let n of t){let o=this.getCSVRow(n);r.printLine(o.join(","))}}outputJSON(){this.options.printLine(JSON.stringify(this.resolveColumnsToObjectArray(),void 0,2))}outputTable(){let{data:e,options:t}=this,r=this.columns.map(i=>{let a=Math.max((0,w.default)(".".padEnd(i.minWidth-1)),(0,w.default)(i.header),Ut(e,i.key))+1;return{...i,maxWidth:a,width:a}}),n=ot-2;if((()=>{if(t["no-truncate"]||!process.stdout.isTTY&&!process.env.CLI_UX_SKIP_TTY_CHECK||K(r,l=>l.width)-n<=0)return;for(let l of r)l.width=l.minWidth;let u=K(r,l=>l.minWidth);if(u>=n)return;let d=n-u,k=r.map(l=>({key:l.key,needs:l.maxWidth-l.width})).sort((l,p)=>l.needs-p.needs);for(let{key:l,needs:p}of k){if(!p)continue;let m=r.find(_=>l===_.key);m&&(d>p?(m.width=m.width+p,d-=p):d&&(m.width=m.width+d,d=0))}})(),t.title&&(t.printLine(t.title),t.printLine("".padEnd(r.reduce((i,a)=>i+a.width,1),"=")),t.rowStart="| "),!t["no-header"]){let i=t.rowStart;for(let u of r){let d=u.header;i+=d.padEnd(u.width)}t.printLine(G.default.bold(i));let a=t.rowStart;for(let u of r){let d="".padEnd(u.width-1,"\u2500")+" ";a+=d.padEnd(u.width)}t.printLine(G.default.bold(a))}for(let i of e){let a=1;for(let d of r){let l=i[d.key].split(`
|
|
12
12
|
`).length;l>a&&(a=l)}let u=[...new Array(a).keys()];for(let d of u){let k=t.rowStart;for(let l of r){let p=l.width,m=i[l.key];m=m.split(`
|
|
13
|
-
`)[d]||"";let _=(0,w.default)(m),
|
|
14
|
-
`);return Math.max(t,o.length>1?Math.max(...o.map(i=>(0,w.default)(i))):(0,w.default)(n))},0);var
|
|
15
|
-
`)}static async done(){y.action.stop()}static async flush(e=1e4){await
|
|
16
|
-
`)}static log(e,...t){this.info(e||"",...t)}static logToStderr(e,...t){T.stderr((0,
|
|
17
|
-
`)}static get progress(){return
|
|
18
|
-
`)}static styledJSON(e){let t=JSON.stringify(e,null,2);if(
|
|
19
|
-
`)}static get tree(){return
|
|
13
|
+
`)[d]||"";let _=(0,w.default)(m),F=m.length-_,h=m.padEnd(p+F);(h.length-F>p||_===p)&&(h=(0,Tt.default)(h,0,p-2)+"\u2026 ",h+=" ".repeat(p-(0,w.default)(h))),k+=h}t.printLine(k)}}}outputYAML(){this.options.printLine((0,xt.dump)(this.resolveColumnsToObjectArray()))}resolveColumnsToObjectArray(){let{columns:e,data:t}=this;return t.map(r=>Object.fromEntries(e.map(n=>[n.key,r[n.key]??""])))}};function M(s,e,t={}){new X(s,e,t).display()}(t=>{t.Flags={columns:v.Flags.string({description:"only show provided columns (comma-separated)",exclusive:["extended"]}),csv:v.Flags.boolean({description:"output is csv format [alias: --output=csv]",exclusive:["no-truncate"]}),extended:v.Flags.boolean({char:"x",description:"show extra columns",exclusive:["columns"]}),filter:v.Flags.string({description:"filter property by partial string matching, ex: name=foo"}),"no-header":v.Flags.boolean({description:"hide table header from output",exclusive:["csv"]}),"no-truncate":v.Flags.boolean({description:"do not truncate output to fit screen",exclusive:["csv"]}),output:v.Flags.string({description:"output in a more machine friendly format",exclusive:["no-truncate","csv"],options:["csv","json","yaml"]}),sort:v.Flags.string({description:"property to sort by (prepend '-' for descending)"})};function e(r){if(r){let n={},o=(r.only&&typeof r.only=="string"?[r.only]:r.only)||Object.keys(t.Flags),i=(r.except&&typeof r.except=="string"?[r.except]:r.except)||[];for(let a of o)i.includes(a)||(n[a]=t.Flags[a]);return n}return t.Flags}t.flags=e})(M||(M={}));var Ut=(s,e)=>s.reduce((t,r)=>{let n=r[e],o=n.split(`
|
|
14
|
+
`);return Math.max(t,o.length>1?Math.max(...o.map(i=>(0,w.default)(i))):(0,w.default)(n))},0);var Zt=require("object-treeify"),Q=class s{constructor(){c(this,"nodes",{})}display(e=console.log){let t=function(n){let o={};for(let i of Object.keys(n))o[i]=t(n[i].nodes);return o},r=t(this.nodes);e(Zt(r))}insert(e,t=new s){return this.nodes[e]=t,this}search(e){for(let t of Object.keys(this.nodes)){if(t===e)return this.nodes[t];let r=this.nodes[t].search(e);if(r)return r}}};function W(){return new Q}var _t=async(s=1e3)=>new Promise(e=>{setTimeout(e,s)});var Ot=require("@oclif/core");var $=class extends Error{constructor(t,r){let n="EEXIT";super(r?r.message:`${n}: ${t}`);c(this,"code");c(this,"error");c(this,"ux");this.error=r,this.ux={exit:t},this.code=n}};var tt=g(require("chalk")),Xt=g(require("color")),Qt=["white","black","blue","yellow","green","red","magenta","cyan","gray","blackBright","redBright","greenBright","yellowBright","blueBright","magentaBright","cyanBright","whiteBright","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","bgGray","bgBlackBright","bgRedBright","bgGreenBright","bgYellowBright","bgBlueBright","bgMagentaBright","bgCyanBright","bgWhiteBright","bold","underline","dim","italic","strikethrough"];function te(s){return Qt.includes(s)}function St(s,e){return te(s)?tt.default[s](e):s?tt.default.hex(s)(e):e}var ee=require("hyperlinker"),Ct=require("supports-hyperlinks"),re=require("cardinal"),se=require("cardinal/themes/jq"),P=class{static get action(){return y.action}static annotation(e,t){Ct.stdout?this.log(`\x1B]1337;AddAnnotation=${e.length}|${t}\x07${e}`):this.log(e)}static get anykey(){return yt}static get confirm(){return ht}static debug(e,...t){["debug","trace"].includes(this.config.outputLevel)&&this.info((0,L.format)(e,...t)+`
|
|
15
|
+
`)}static async done(){y.action.stop()}static async flush(e=1e4){await ft(e)}static info(e,...t){T.stdout((0,L.format)(e,...t)+`
|
|
16
|
+
`)}static log(e,...t){this.info(e||"",...t)}static logToStderr(e,...t){T.stderr((0,L.format)(e,...t)+`
|
|
17
|
+
`)}static get progress(){return j}static get prompt(){return U}static styledHeader(e){this.info(H.default.dim("=== ")+H.default.bold(e)+`
|
|
18
|
+
`)}static styledJSON(e){let t=JSON.stringify(e,null,2);if(!H.default.level){this.info(t);return}this.info(re.highlight(t,{json:!0,theme:se}))}static styledObject(e,t){this.info(q(e,t))}static get table(){return O.table}static trace(e,...t){this.config.outputLevel==="trace"&&this.info((0,L.format)(e,...t)+`
|
|
19
|
+
`)}static get tree(){return W}static url(e,t,r={}){this.log(this.hyperlink(e,t,r))}static hyperlink(e,t,r={}){return Ct.stdout?ee(e,t,r):t}static get wait(){return _t}};c(P,"config",y);var{action:ne,annotation:ie,anykey:oe,confirm:ae,debug:ce,done:ue,flush:le,hyperlink:de,info:pe,log:fe,logToStderr:me,progress:ge,prompt:he,styledHeader:ye,styledJSON:ve,styledObject:be,table:xe,trace:we,tree:ke,url:Te,wait:_e}=P,{error:Se,exit:Ce,warn:Oe}=Ot.Errors;var Pt=async()=>{try{await P.done()}catch(s){console.error(s),process.exitCode=1}},Pe=process.listeners("exit").find(s=>s.name===Pt.name);Pe||process.once("exit",Pt);0&&(module.exports={ActionBase,Config,ExitError,Table,action,annotation,anykey,colorize,config,confirm,debug,done,error,exit,flush,hyperlink,info,log,logToStderr,progress,prompt,styledHeader,styledJSON,styledObject,table,trace,tree,url,ux,wait,warn,write});
|
package/lib/index.mjs
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
var
|
|
1
|
+
var Z=Object.defineProperty;var vt=(s,e,t)=>e in s?Z(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var y=(s=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(s,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):s)(function(s){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+s+'" is not supported')});var bt=(s,e)=>{for(var t in e)Z(s,t,{get:e[t],enumerable:!0})};var c=(s,e,t)=>vt(s,typeof e!="symbol"?e+"":e,t);import U from"chalk";import{format as M}from"util";import{inspect as X}from"util";function W(s){return s===void 0?[]:Array.isArray(s)?s:[s]}function $(s,e){return s.reduce((t,r)=>t+e(r),0)}function G(s){return s?s.charAt(0).toUpperCase()+s.slice(1).toLowerCase():""}var k=class{constructor(){c(this,"std","stderr");c(this,"stdmocks");c(this,"type");c(this,"stdmockOrigs",{stderr:process.stderr.write,stdout:process.stdout.write})}get output(){return this.globals.output}set output(e){this.globals.output=e}get running(){return!!this.task}get status(){return this.task?this.task.status:void 0}set status(e){let{task:t}=this;t&&t.status!==e&&(this._updateStatus(e,t.status),t.status=e)}get task(){return this.globals.action.task}set task(e){this.globals.action.task=e}async pause(e,t){let{task:r}=this,n=r?.active;r&&n&&(this._pause(t),this._stdout(!1),r.active=!1);let o=e();return r&&n&&this._resume(),o}async pauseAsync(e,t){let{task:r}=this,n=r?.active;r&&n&&(this._pause(t),this._stdout(!1),r.active=!1);let o=await e();return r&&n&&this._resume(),o}start(e,t,r={}){this.std=r.stdout?"stdout":"stderr";let n={action:e,active:!!this.task?.active,status:t};this.task=n,this._start(r),n.active=!0,this._stdout(!0)}stop(e="done"){let{task:t}=this;t&&(this._stop(e),t.active=!1,this.task=void 0,this._stdout(!1))}_flushStdout(){try{let e="",t;for(;this.stdmocks&&this.stdmocks.length>0;){let r=this.stdmocks.shift();t=r[0],this._write(t,r[1]),e+=r[1][0].toString("utf8")}e&&t&&e.at(-1)!==`
|
|
2
2
|
`&&this._write(t,`
|
|
3
|
-
`)}catch(e){this._write("stderr",
|
|
4
|
-
`),this._flushStdout()}_pause(t){t?this._updateStatus(t):this._flush()}_render(t,r){this.task&&(this.task.active&&this._flush(),this._write(this.std,r?`${t}... ${r}`:`${t}...`))}_resume(){}_start(){this.task&&this._render(this.task.action,this.task.status)}_stop(t){this.task&&this._updateStatus(t,this.task.status,!0)}_updateStatus(t,r,n=!1){this.task&&(this.task.active&&!r?this._write(this.std,` ${t}`):this._write(this.std,`${this.task.action}... ${t}`),(n||!r)&&this._flush())}};import
|
|
5
|
-
`).map(r=>Math.ceil(r.length/
|
|
6
|
-
`,this._write(this.std,this.output)}_reset(){if(!this.output)return;let t=this._lines(this.output);this._write(this.std,
|
|
7
|
-
`),t==="q"&&
|
|
8
|
-
`)}import{SingleBar as
|
|
9
|
-
`)}),rowStart:" ",sort:w,title:l}}display(){let e=this.data.map(t=>{let r={};for(let n of this.columns){let o=n.get(t);typeof o!="string"&&(o=
|
|
3
|
+
`)}catch(e){this._write("stderr",X(e))}}_pause(e){throw new Error("not implemented")}_resume(){this.task&&this.start(this.task.action,this.task.status)}_start(e){throw new Error("not implemented")}_stdout(e){try{if(e){if(this.stdmocks)return;this.stdmockOrigs={stderr:process.stderr.write,stdout:process.stdout.write},this.stdmocks=[],process.stdout.write=(...t)=>(this.stdmocks.push(["stdout",t]),!0),process.stderr.write=(...t)=>(this.stdmocks.push(["stderr",t]),!0)}else{if(!this.stdmocks)return;delete this.stdmocks,process.stdout.write=this.stdmockOrigs.stdout,process.stderr.write=this.stdmockOrigs.stderr}}catch(t){this._write("stderr",X(t))}}_stop(e){throw new Error("not implemented")}_updateStatus(e,t){}_write(e,t){switch(e){case"stdout":{this.stdmockOrigs.stdout.apply(process.stdout,W(t));break}case"stderr":{this.stdmockOrigs.stderr.apply(process.stderr,W(t));break}default:throw new Error(`invalid std: ${e}`)}}get globals(){global.ux=global.ux||{};let e=global.ux;return e.action=e.action||{},e}};var O=class extends k{constructor(){super(...arguments);c(this,"type","simple")}_flush(){this._write(this.std,`
|
|
4
|
+
`),this._flushStdout()}_pause(t){t?this._updateStatus(t):this._flush()}_render(t,r){this.task&&(this.task.active&&this._flush(),this._write(this.std,r?`${t}... ${r}`:`${t}...`))}_resume(){}_start(){this.task&&this._render(this.task.action,this.task.status)}_stop(t){this.task&&this._updateStatus(t,this.task.status,!0)}_updateStatus(t,r,n=!1){this.task&&(this.task.active&&!r?this._write(this.std,` ${t}`):this._write(this.std,`${this.task.action}... ${t}`),(n||!r)&&this._flush())}};import xt from"ansi-styles";import wt from"chalk";import kt from"strip-ansi";import N from"supports-color";function Q(s){if(!s.isTTY)return 80;let e=s.getWindowSize()[0];return e<1?80:e<40?40:e}var tt=Number.parseInt(process.env.OCLIF_COLUMNS,10),et=tt||Q(process.stdout),rt=tt||Q(process.stderr);var H={arc:{frames:["\u25DC","\u25E0","\u25DD","\u25DE","\u25E1","\u25DF"],interval:100},arrow:{frames:["\u2190","\u2196","\u2191","\u2197","\u2192","\u2198","\u2193","\u2199"],interval:100},arrow2:{frames:["\u2B06\uFE0F ","\u2197\uFE0F ","\u27A1\uFE0F ","\u2198\uFE0F ","\u2B07\uFE0F ","\u2199\uFE0F ","\u2B05\uFE0F ","\u2196\uFE0F "],interval:80},arrow3:{frames:["\u25B9\u25B9\u25B9\u25B9\u25B9","\u25B8\u25B9\u25B9\u25B9\u25B9","\u25B9\u25B8\u25B9\u25B9\u25B9","\u25B9\u25B9\u25B8\u25B9\u25B9","\u25B9\u25B9\u25B9\u25B8\u25B9","\u25B9\u25B9\u25B9\u25B9\u25B8"],interval:120},balloon:{frames:[" ",".","o","O","@","*"," "],interval:140},balloon2:{frames:[".","o","O","\xB0","O","o","."],interval:120},bounce:{frames:["\u2801","\u2802","\u2804","\u2802"],interval:120},bouncingBall:{frames:["( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF)","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","(\u25CF )"],interval:80},bouncingBar:{frames:["[ ]","[ =]","[ ==]","[ ===]","[====]","[=== ]","[== ]","[= ]"],interval:80},boxBounce:{frames:["\u2596","\u2598","\u259D","\u2597"],interval:120},boxBounce2:{frames:["\u258C","\u2580","\u2590","\u2584"],interval:100},circle:{frames:["\u25E1","\u2299","\u25E0"],interval:120},circleHalves:{frames:["\u25D0","\u25D3","\u25D1","\u25D2"],interval:50},circleQuarters:{frames:["\u25F4","\u25F7","\u25F6","\u25F5"],interval:120},clock:{frames:["\u{1F550} ","\u{1F551} ","\u{1F552} ","\u{1F553} ","\u{1F554} ","\u{1F555} ","\u{1F556} ","\u{1F557} ","\u{1F558} ","\u{1F559} ","\u{1F55A} "],interval:100},dots:{frames:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],interval:80},dots2:{frames:["\u28FE","\u28FD","\u28FB","\u28BF","\u287F","\u28DF","\u28EF","\u28F7"],interval:80},dots3:{frames:["\u280B","\u2819","\u281A","\u281E","\u2816","\u2826","\u2834","\u2832","\u2833","\u2813"],interval:80},dots4:{frames:["\u2804","\u2806","\u2807","\u280B","\u2819","\u2838","\u2830","\u2820","\u2830","\u2838","\u2819","\u280B","\u2807","\u2806"],interval:80},dots5:{frames:["\u280B","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B"],interval:80},dots6:{frames:["\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2834","\u2832","\u2812","\u2802","\u2802","\u2812","\u281A","\u2819","\u2809","\u2801"],interval:80},dots7:{frames:["\u2808","\u2809","\u280B","\u2813","\u2812","\u2810","\u2810","\u2812","\u2816","\u2826","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808"],interval:80},dots8:{frames:["\u2801","\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808","\u2808"],interval:80},dots9:{frames:["\u28B9","\u28BA","\u28BC","\u28F8","\u28C7","\u2867","\u2857","\u284F"],interval:80},dots10:{frames:["\u2884","\u2882","\u2881","\u2841","\u2848","\u2850","\u2860"],interval:80},dots11:{frames:["\u2801","\u2802","\u2804","\u2840","\u2880","\u2820","\u2810","\u2808"],interval:100},earth:{frames:["\u{1F30D} ","\u{1F30E} ","\u{1F30F} "],interval:180},flip:{frames:["_","_","_","-","`","`","'","\xB4","-","_","_","_"],interval:70},growHorizontal:{frames:["\u258F","\u258E","\u258D","\u258C","\u258B","\u258A","\u2589","\u258A","\u258B","\u258C","\u258D","\u258E"],interval:120},growVertical:{frames:["\u2581","\u2583","\u2584","\u2585","\u2586","\u2587","\u2586","\u2585","\u2584","\u2583"],interval:120},hamburger:{frames:["\u2631","\u2632","\u2634"],interval:100},hearts:{frames:["\u{1F49B} ","\u{1F499} ","\u{1F49C} ","\u{1F49A} ","\u2764\uFE0F "],interval:100},hexagon:{frames:["\u2B21","\u2B22"],interval:400},line:{frames:["-","\\","|","/"],interval:130},line2:{frames:["\u2802","-","\u2013","\u2014","\u2013","-"],interval:100},monkey:{frames:["\u{1F648} ","\u{1F648} ","\u{1F649} ","\u{1F64A} "],interval:300},moon:{frames:["\u{1F311} ","\u{1F312} ","\u{1F313} ","\u{1F314} ","\u{1F315} ","\u{1F316} ","\u{1F317} ","\u{1F318} "],interval:80},noise:{frames:["\u2593","\u2592","\u2591"],interval:100},pipe:{frames:["\u2524","\u2518","\u2534","\u2514","\u251C","\u250C","\u252C","\u2510"],interval:100},pong:{frames:["\u2590\u2802 \u258C","\u2590\u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802\u258C","\u2590 \u2820\u258C","\u2590 \u2840\u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590\u2820 \u258C"],interval:80},runner:{frames:["\u{1F6B6} ","\u{1F3C3} "],interval:140},simpleDots:{frames:[". ",".. ","..."," "],interval:400},simpleDotsScrolling:{frames:[". ",".. ","..."," .."," ."," "],interval:200},smiley:{frames:["\u{1F604} ","\u{1F61D} "],interval:200},squareCorners:{frames:["\u25F0","\u25F3","\u25F2","\u25F1"],interval:180},squish:{frames:["\u256B","\u256A"],interval:100},star:{frames:["\u2736","\u2738","\u2739","\u273A","\u2739","\u2737"],interval:70},star2:{frames:["+","x","*"],interval:80},toggle:{frames:["\u22B6","\u22B7"],interval:250},toggle2:{frames:["\u25AB","\u25AA"],interval:80},toggle3:{frames:["\u25A1","\u25A0"],interval:120},toggle4:{frames:["\u25A0","\u25A1","\u25AA","\u25AB"],interval:100},toggle5:{frames:["\u25AE","\u25AF"],interval:100},toggle6:{frames:["\u101D","\u1040"],interval:300},toggle7:{frames:["\u29BE","\u29BF"],interval:80},toggle8:{frames:["\u25CD","\u25CC"],interval:100},toggle9:{frames:["\u25C9","\u25CE"],interval:100},toggle10:{frames:["\u3282","\u3280","\u3281"],interval:100},toggle11:{frames:["\u29C7","\u29C6"],interval:50},toggle12:{frames:["\u2617","\u2616"],interval:120},toggle13:{frames:["=","*","-"],interval:80},triangle:{frames:["\u25E2","\u25E3","\u25E4","\u25E5"],interval:50}};var K=y("ansi-escapes");function Tt(s){return N?(N.stdout?N.stdout.has256:(process.env.TERM||"").includes("256"))?`\x1B[38;5;104m${s}${xt.reset.open}`:wt.magenta(s):s}var P=class extends k{constructor(){super();c(this,"frameIndex");c(this,"frames");c(this,"spinner");c(this,"type","spinner");this.frames=this.getFrames(),this.frameIndex=0}_frame(){let t=this.frames[this.frameIndex];return this.frameIndex=++this.frameIndex%this.frames.length,Tt(t)}_lines(t){return kt(t).split(`
|
|
5
|
+
`).map(r=>Math.ceil(r.length/rt)).reduce((r,n)=>r+n,0)}_pause(t){this.spinner&&clearInterval(this.spinner),this._reset(),t&&this._render(` ${t}`),this.output=void 0}_render(t){if(!this.task)return;this._reset(),this._flushStdout();let r=t==="spinner"?` ${this._frame()}`:t||"",n=this.task.status?` ${this.task.status}`:"";this.output=`${this.task.action}...${r}${n}
|
|
6
|
+
`,this._write(this.std,this.output)}_reset(){if(!this.output)return;let t=this._lines(this.output);this._write(this.std,K.cursorLeft+K.cursorUp(t)+K.eraseDown),this.output=void 0}_start(t){t.style&&(this.frames=this.getFrames(t)),this._reset(),this.spinner&&clearInterval(this.spinner),this._render(),this.spinner=setInterval(n=>{this._render.bind(this)(n)},process.platform==="win32"?500:100,"spinner"),this.spinner.unref()}_stop(t){this.task&&(this.task.status=t),this.spinner&&clearInterval(this.spinner),this._render(),this.output=void 0}getFrames(t){return t?.style?H[t.style].frames:H[process.platform==="win32"?"line":"dots2"].frames}};var st=global,v=st.ux||(st.ux={}),_t=!!process.stderr.isTTY&&!process.env.CI&&!["dumb","emacs-color"].includes(process.env.TERM)&&"spinner"||"simple",St=_t==="spinner"?P:O,L=class{constructor(){c(this,"action",new St);c(this,"errorsHandled",!1);c(this,"outputLevel","info");c(this,"showStackTrace",!0)}get context(){return v.context||{}}set context(e){v.context=e}get debug(){return v.debug||process.env.DEBUG==="*"}set debug(e){v.debug=e}};function Ct(){let{version:s}=y("@oclif/core/package.json"),e=s?.split(".")[0]??"unknown";return v[e]||(v[e]=new L),v[e]}var b=Ct();import{Errors as Ot}from"@oclif/core";async function Pt(s,e){async function t(r,n=!1){return new Promise(o=>{let i=setTimeout(()=>{o(null)},r);n&&i.unref()})}return Promise.race([s,t(e,!0).then(()=>Ot.error("timed out"))])}async function Bt(){let s=new Promise(t=>{process.stdout.once("drain",()=>{t(null)})});if(!process.stdout.write(""))return s}async function nt(s=1e4){await Pt(Bt(),s)}import B from"chalk";import{Errors as it}from"@oclif/core";var S=y("ansi-escapes");async function Y(s,e=100){if(e<0)throw new Error("no input");return new Promise((t,r)=>{let n;s.timeout&&(n=setTimeout(()=>{process.stdin.pause(),r(new Error("Prompt timeout"))},s.timeout),n.unref()),process.stdin.setEncoding("utf8"),process.stderr.write(s.prompt),process.stdin.resume(),process.stdin.once("data",o=>{n&&clearTimeout(n),process.stdin.pause();let i=(typeof o=="string"?o:o.toString()).trim();!s.default&&s.required&&i===""?t(Y(s,e-1)):t(i||s.default)})})}function ot(s,e,t){let r="> ";return t&&e==="hide"&&(t="*".repeat(t.length)),s&&t?r=s+" "+B.yellow("["+t+"]")+": ":s&&(r=`${s}: `),r}async function It(s){let e=process.stdin.isRaw;process.stdin.setRawMode&&process.stdin.setRawMode(!0),s.required=s.required??!1;let t=await Y(s);return process.stdin.setRawMode&&process.stdin.setRawMode(!!e),t}function Et(s){process.stderr.write(S.cursorHide+S.cursorUp(1)+S.cursorLeft+s+S.cursorDown(1)+S.cursorLeft+S.cursorShow)}async function at(s,e={}){let t=ot(s,e.type,e.default),r={default:"",isTTY:!!(process.env.TERM!=="dumb"&&process.stdin.isTTY),name:s,prompt:t,required:!0,type:"normal",...e},n=y("password-prompt");switch(r.type){case"normal":return Y(r);case"single":return It(r);case"mask":return n(r.prompt,{default:r.default,method:r.type,required:r.required}).then(o=>(Et(ot(s,"hide",e.default)),o));case"hide":return n(r.prompt,{default:r.default,method:r.type,required:r.required});default:throw new Error(`unexpected type ${r.type}`)}}async function D(s,e={}){return b.action.pauseAsync(async()=>at(s,e),B.cyan("?"))}async function ct(s){return b.action.pauseAsync(async()=>{let e=async()=>{let r=(await at(s)).toLowerCase();return["n","no"].includes(r)?!1:["y","yes"].includes(r)?!0:e()};return e()},B.cyan("?"))}async function ut(s){let e=!!process.stdin.setRawMode;s||(s=e?`Press any key to continue or ${B.yellow("q")} to exit`:`Press enter to continue or ${B.yellow("q")} to exit`);let t=await D(s,{required:!1,type:"single"});return e&&process.stderr.write(`
|
|
7
|
+
`),t==="q"&&it.error("quit"),t===""&&it.error("ctrl-c"),t}import Lt from"chalk";import{inspect as lt}from"util";function F(s,e){let t=[],r=Object.keys(s).map(a=>a.toString().length),n=Math.max(...r)+2;function o(a){return typeof a=="string"||typeof a=="number"?a:typeof a=="object"?Object.keys(a).map(u=>u+": "+lt(a[u])).join(", "):lt(a)}let i=(a,u)=>`${Lt.blue(a)}:`+" ".repeat(n-a.length-1)+o(u);for(let a of e||Object.keys(s).sort()){let u=s[a];if(Array.isArray(u)){if(u.length>0){t.push(i(a,u[0]));for(let d of u.slice(1))t.push(" ".repeat(n)+o(d))}}else u!=null&&t.push(i(a,u))}return t.join(`
|
|
8
|
+
`)}import{SingleBar as Ft}from"cli-progress";function R(s={}){return new Ft({noTTYOutput:process.env.TERM==="dumb"||!process.stdin.isTTY,...s})}var I={};bt(I,{table:()=>q});import dt from"chalk";import{dump as jt}from"js-yaml";import{orderBy as Mt}from"natural-orderby";import{inspect as Wt}from"util";import $t from"slice-ansi";import T from"string-width";var Rt=s=>{process.stdout.write(s)},qt=s=>{process.stderr.write(s)},C={stderr:qt,stdout:Rt};import{Flags as x}from"@oclif/core";var J=class{constructor(e,t,r={}){this.data=e;c(this,"columns");c(this,"options");this.columns=Object.keys(t).map(p=>{let g=t[p],_=g.extended??!1,A=g.get??(yt=>yt[p]??""),h=typeof g.header=="string"?g.header:G(p.replaceAll("_"," ")),ht=Math.max(g.minWidth??0,T(h)+1);return{extended:_,get:A,header:h,key:p,minWidth:ht}});let{columns:n,csv:o,extended:i,filter:a,output:u,printLine:d,sort:w,title:l}=r;this.options={columns:n,extended:i,filter:a,"no-header":r["no-header"]??!1,"no-truncate":r["no-truncate"]??!1,output:o?"csv":u,printLine:d??(p=>{C.stdout(p+`
|
|
9
|
+
`)}),rowStart:" ",sort:w,title:l}}display(){let e=this.data.map(t=>{let r={};for(let n of this.columns){let o=n.get(t);typeof o!="string"&&(o=Wt(o,{breakLength:Number.POSITIVE_INFINITY})),r[n.key]=o}return r});if(this.options.filter){let[t,r]=this.options.filter.split("="),n=t[0]==="-";n&&(t=t.slice(1));let o=this.findColumnFromHeader(t);if(!o||!r)throw new Error("Filter flag has an invalid value");e=e.filter(i=>{let a=new RegExp(r),d=i[o.key].match(a);return n?!d:d})}if(this.options.sort){let t=this.options.sort.split(","),r=t.map(i=>i[0]==="-"?i.slice(1):i),n=this.filterColumnsFromHeaders(r).map(i=>a=>a[i.key]),o=t.map(i=>i[0]==="-"?"desc":"asc");e=Mt(e,n,o)}if(this.options.columns){let t=this.options.columns.split(",");this.columns=this.filterColumnsFromHeaders(t)}else this.options.extended||(this.columns=this.columns.filter(t=>!t.extended));switch(this.data=e,this.options.output){case"csv":{this.outputCSV();break}case"json":{this.outputJSON();break}case"yaml":{this.outputYAML();break}default:this.outputTable()}}filterColumnsFromHeaders(e){e=[...new Set(e)];let t=[];for(let r of e){let n=this.columns.find(o=>o.header.toLowerCase()===r.toLowerCase());n&&t.push(n)}return t}findColumnFromHeader(e){return this.columns.find(t=>t.header.toLowerCase()===e.toLowerCase())}getCSVRow(e){let t=this.columns.map(n=>e[n.key]||""),r=t.find(n=>n.includes('"')||n.includes(`
|
|
10
10
|
`)||n.includes(`\r
|
|
11
|
-
`)||n.includes("\r")||n.includes(","));return t.map(n=>r?`"${n.replaceAll('"','""')}"`:n)}outputCSV(){let{columns:e,data:t,options:r}=this;r["no-header"]||r.printLine(e.map(n=>n.header).join(","));for(let n of t){let o=this.getCSVRow(n);r.printLine(o.join(","))}}outputJSON(){this.options.printLine(JSON.stringify(this.resolveColumnsToObjectArray(),void 0,2))}outputTable(){let{data:e,options:t}=this,r=this.columns.map(i=>{let a=Math.max(T(".".padEnd(i.minWidth-1)),T(i.header),
|
|
11
|
+
`)||n.includes("\r")||n.includes(","));return t.map(n=>r?`"${n.replaceAll('"','""')}"`:n)}outputCSV(){let{columns:e,data:t,options:r}=this;r["no-header"]||r.printLine(e.map(n=>n.header).join(","));for(let n of t){let o=this.getCSVRow(n);r.printLine(o.join(","))}}outputJSON(){this.options.printLine(JSON.stringify(this.resolveColumnsToObjectArray(),void 0,2))}outputTable(){let{data:e,options:t}=this,r=this.columns.map(i=>{let a=Math.max(T(".".padEnd(i.minWidth-1)),T(i.header),Ht(e,i.key))+1;return{...i,maxWidth:a,width:a}}),n=et-2;if((()=>{if(t["no-truncate"]||!process.stdout.isTTY&&!process.env.CLI_UX_SKIP_TTY_CHECK||$(r,l=>l.width)-n<=0)return;for(let l of r)l.width=l.minWidth;let u=$(r,l=>l.minWidth);if(u>=n)return;let d=n-u,w=r.map(l=>({key:l.key,needs:l.maxWidth-l.width})).sort((l,p)=>l.needs-p.needs);for(let{key:l,needs:p}of w){if(!p)continue;let g=r.find(_=>l===_.key);g&&(d>p?(g.width=g.width+p,d-=p):d&&(g.width=g.width+d,d=0))}})(),t.title&&(t.printLine(t.title),t.printLine("".padEnd(r.reduce((i,a)=>i+a.width,1),"=")),t.rowStart="| "),!t["no-header"]){let i=t.rowStart;for(let u of r){let d=u.header;i+=d.padEnd(u.width)}t.printLine(dt.bold(i));let a=t.rowStart;for(let u of r){let d="".padEnd(u.width-1,"\u2500")+" ";a+=d.padEnd(u.width)}t.printLine(dt.bold(a))}for(let i of e){let a=1;for(let d of r){let l=i[d.key].split(`
|
|
12
12
|
`).length;l>a&&(a=l)}let u=[...new Array(a).keys()];for(let d of u){let w=t.rowStart;for(let l of r){let p=l.width,g=i[l.key];g=g.split(`
|
|
13
|
-
`)[d]||"";let _=T(g),
|
|
14
|
-
`);return Math.max(t,o.length>1?Math.max(...o.map(i=>T(i))):T(n))},0);var
|
|
15
|
-
`)}static async done(){b.action.stop()}static async flush(e=1e4){await
|
|
16
|
-
`)}static log(e,...t){this.info(e||"",...t)}static logToStderr(e,...t){
|
|
17
|
-
`)}static get progress(){return
|
|
18
|
-
`)}static styledJSON(e){let t=JSON.stringify(e,null,2);if(!
|
|
19
|
-
`)}static get tree(){return
|
|
13
|
+
`)[d]||"";let _=T(g),A=g.length-_,h=g.padEnd(p+A);(h.length-A>p||_===p)&&(h=$t(h,0,p-2)+"\u2026 ",h+=" ".repeat(p-T(h))),w+=h}t.printLine(w)}}}outputYAML(){this.options.printLine(jt(this.resolveColumnsToObjectArray()))}resolveColumnsToObjectArray(){let{columns:e,data:t}=this;return t.map(r=>Object.fromEntries(e.map(n=>[n.key,r[n.key]??""])))}};function q(s,e,t={}){new J(s,e,t).display()}(t=>{t.Flags={columns:x.string({description:"only show provided columns (comma-separated)",exclusive:["extended"]}),csv:x.boolean({description:"output is csv format [alias: --output=csv]",exclusive:["no-truncate"]}),extended:x.boolean({char:"x",description:"show extra columns",exclusive:["columns"]}),filter:x.string({description:"filter property by partial string matching, ex: name=foo"}),"no-header":x.boolean({description:"hide table header from output",exclusive:["csv"]}),"no-truncate":x.boolean({description:"do not truncate output to fit screen",exclusive:["csv"]}),output:x.string({description:"output in a more machine friendly format",exclusive:["no-truncate","csv"],options:["csv","json","yaml"]}),sort:x.string({description:"property to sort by (prepend '-' for descending)"})};function e(r){if(r){let n={},o=(r.only&&typeof r.only=="string"?[r.only]:r.only)||Object.keys(t.Flags),i=(r.except&&typeof r.except=="string"?[r.except]:r.except)||[];for(let a of o)i.includes(a)||(n[a]=t.Flags[a]);return n}return t.Flags}t.flags=e})(q||(q={}));var Ht=(s,e)=>s.reduce((t,r)=>{let n=r[e],o=n.split(`
|
|
14
|
+
`);return Math.max(t,o.length>1?Math.max(...o.map(i=>T(i))):T(n))},0);var Nt=y("object-treeify"),V=class s{constructor(){c(this,"nodes",{})}display(e=console.log){let t=function(n){let o={};for(let i of Object.keys(n))o[i]=t(n[i].nodes);return o},r=t(this.nodes);e(Nt(r))}insert(e,t=new s){return this.nodes[e]=t,this}search(e){for(let t of Object.keys(this.nodes)){if(t===e)return this.nodes[t];let r=this.nodes[t].search(e);if(r)return r}}};function j(){return new V}var pt=async(s=1e3)=>new Promise(e=>{setTimeout(e,s)});import{Errors as zt}from"@oclif/core";var z=class extends Error{constructor(t,r){let n="EEXIT";super(r?r.message:`${n}: ${t}`);c(this,"code");c(this,"error");c(this,"ux");this.error=r,this.ux={exit:t},this.code=n}};import ft from"chalk";import*as Yt from"color";var Dt=["white","black","blue","yellow","green","red","magenta","cyan","gray","blackBright","redBright","greenBright","yellowBright","blueBright","magentaBright","cyanBright","whiteBright","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","bgGray","bgBlackBright","bgRedBright","bgGreenBright","bgYellowBright","bgBlueBright","bgMagentaBright","bgCyanBright","bgWhiteBright","bold","underline","dim","italic","strikethrough"];function Jt(s){return Dt.includes(s)}function Vt(s,e){return Jt(s)?ft[s](e):s?ft.hex(s)(e):e}var Ut=y("hyperlinker"),mt=y("supports-hyperlinks"),Zt=y("cardinal"),Gt=y("cardinal/themes/jq"),E=class{static get action(){return b.action}static annotation(e,t){mt.stdout?this.log(`\x1B]1337;AddAnnotation=${e.length}|${t}\x07${e}`):this.log(e)}static get anykey(){return ut}static get confirm(){return ct}static debug(e,...t){["debug","trace"].includes(this.config.outputLevel)&&this.info(M(e,...t)+`
|
|
15
|
+
`)}static async done(){b.action.stop()}static async flush(e=1e4){await nt(e)}static info(e,...t){C.stdout(M(e,...t)+`
|
|
16
|
+
`)}static log(e,...t){this.info(e||"",...t)}static logToStderr(e,...t){C.stderr(M(e,...t)+`
|
|
17
|
+
`)}static get progress(){return R}static get prompt(){return D}static styledHeader(e){this.info(U.dim("=== ")+U.bold(e)+`
|
|
18
|
+
`)}static styledJSON(e){let t=JSON.stringify(e,null,2);if(!U.level){this.info(t);return}this.info(Zt.highlight(t,{json:!0,theme:Gt}))}static styledObject(e,t){this.info(F(e,t))}static get table(){return I.table}static trace(e,...t){this.config.outputLevel==="trace"&&this.info(M(e,...t)+`
|
|
19
|
+
`)}static get tree(){return j}static url(e,t,r={}){this.log(this.hyperlink(e,t,r))}static hyperlink(e,t,r={}){return mt.stdout?Ut(e,t,r):t}static get wait(){return pt}};c(E,"config",b);var{action:Cr,annotation:Or,anykey:Pr,confirm:Br,debug:Ir,done:Er,flush:Ar,hyperlink:Lr,info:Fr,log:Rr,logToStderr:qr,progress:jr,prompt:Mr,styledHeader:Wr,styledJSON:$r,styledObject:Hr,table:Nr,trace:Kr,tree:Yr,url:Dr,wait:Jr}=E,{error:Vr,exit:zr,warn:Ur}=zt;var gt=async()=>{try{await E.done()}catch(s){console.error(s),process.exitCode=1}},Xt=process.listeners("exit").find(s=>s.name===gt.name);Xt||process.once("exit",gt);export{k as ActionBase,L as Config,z as ExitError,I as Table,Cr as action,Or as annotation,Pr as anykey,Vt as colorize,b as config,Br as confirm,Ir as debug,Er as done,Vr as error,zr as exit,Ar as flush,Lr as hyperlink,Fr as info,Rr as log,qr as logToStderr,jr as progress,Mr as prompt,Wr as styledHeader,$r as styledJSON,Hr as styledObject,Nr as table,Kr as trace,Yr as tree,Dr as url,E as ux,Jr as wait,Ur as warn,C as write};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@commercelayer/cli-ux",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.7",
|
|
4
4
|
"author": "Pierluigi Viti <pierluigi@commercelayer.io>",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Commerce Layer Javascript CLI ux lib",
|
|
@@ -20,7 +20,8 @@
|
|
|
20
20
|
"start": "tsx src/index.ts",
|
|
21
21
|
"test": "jest --passWithNoTests",
|
|
22
22
|
"test-local": "tsx test/spot.ts",
|
|
23
|
-
"coverage": "jest --coverage"
|
|
23
|
+
"coverage": "jest --coverage",
|
|
24
|
+
"release": "pnpm upgrade && pnpm lint && pnpm build"
|
|
24
25
|
},
|
|
25
26
|
"keywords": [
|
|
26
27
|
"ecommerce",
|
|
@@ -40,7 +41,7 @@
|
|
|
40
41
|
"@semantic-release/changelog": "^6.0.3",
|
|
41
42
|
"@semantic-release/git": "^10.0.1",
|
|
42
43
|
"@types/cli-progress": "^3.11.6",
|
|
43
|
-
"@types/color": "^4.2.
|
|
44
|
+
"@types/color": "^4.2.1",
|
|
44
45
|
"@types/jest": "^30.0.0",
|
|
45
46
|
"@types/js-yaml": "^4.0.9",
|
|
46
47
|
"@types/node": "^25.5.0",
|