UNPKG

@merkur/cli

Version:

Merkur is tiny and extensible library for creating front-end microservices.

11 lines (10 loc) 7.44 kB
var E=(t=0)=>e=>`\x1B[${e+t}m`,x=(t=0)=>e=>`\x1B[${38+t};5;${e}m`,N=(t=0)=>(e,r,o)=>`\x1B[${38+t};2;${e};${r};${o}m`,l={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},Q=Object.keys(l.modifier),j=Object.keys(l.color),k=Object.keys(l.bgColor),X=[...j,...k];function L(){let t=new Map;for(let[e,r]of Object.entries(l)){for(let[o,n]of Object.entries(r))l[o]={open:`\x1B[${n[0]}m`,close:`\x1B[${n[1]}m`},r[o]=l[o],t.set(n[0],n[1]);Object.defineProperty(l,e,{value:r,enumerable:!1})}return Object.defineProperty(l,"codes",{value:t,enumerable:!1}),l.color.close="\x1B[39m",l.bgColor.close="\x1B[49m",l.color.ansi=E(),l.color.ansi256=x(),l.color.ansi16m=N(),l.bgColor.ansi=E(10),l.bgColor.ansi256=x(10),l.bgColor.ansi16m=N(10),Object.defineProperties(l,{rgbToAnsi256:{value(e,r,o){return e===r&&r===o?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(o/255*5)},enumerable:!1},hexToRgb:{value(e){let r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!r)return[0,0,0];let[o]=r;o.length===3&&(o=[...o].map(s=>s+s).join(""));let n=Number.parseInt(o,16);return[n>>16&255,n>>8&255,n&255]},enumerable:!1},hexToAnsi256:{value:e=>l.rgbToAnsi256(...l.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let r,o,n;if(e>=232)r=((e-232)*10+8)/255,o=r,n=r;else{e-=16;let A=e%36;r=Math.floor(e/36)/5,o=Math.floor(A/6)/5,n=A%6/5}let s=Math.max(r,o,n)*2;if(s===0)return 30;let c=30+(Math.round(n)<<2|Math.round(o)<<1|Math.round(r));return s===2&&(c+=60),c},enumerable:!1},rgbToAnsi:{value:(e,r,o)=>l.ansi256ToAnsi(l.rgbToAnsi256(e,r,o)),enumerable:!1},hexToAnsi:{value:e=>l.ansi256ToAnsi(l.hexToAnsi256(e)),enumerable:!1}}),l}var P=L(),a=P;import O from"node:process";import G from"node:os";import v from"node:tty";function u(t,e=globalThis.Deno?globalThis.Deno.args:O.argv){let r=t.startsWith("-")?"":t.length===1?"-":"--",o=e.indexOf(r+t),n=e.indexOf("--");return o!==-1&&(n===-1||o<n)}var{env:i}=O,m;u("no-color")||u("no-colors")||u("color=false")||u("color=never")?m=0:(u("color")||u("colors")||u("color=true")||u("color=always"))&&(m=1);function $(){if("FORCE_COLOR"in i)return i.FORCE_COLOR==="true"?1:i.FORCE_COLOR==="false"?0:i.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(i.FORCE_COLOR,10),3)}function Y(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function D(t,{streamIsTTY:e,sniffFlags:r=!0}={}){let o=$();o!==void 0&&(m=o);let n=r?m:o;if(n===0)return 0;if(r){if(u("color=16m")||u("color=full")||u("color=truecolor"))return 3;if(u("color=256"))return 2}if("TF_BUILD"in i&&"AGENT_NAME"in i)return 1;if(t&&!e&&n===void 0)return 0;let s=n||0;if(i.TERM==="dumb")return s;if(O.platform==="win32"){let c=G.release().split(".");return Number(c[0])>=10&&Number(c[2])>=10586?Number(c[2])>=14931?3:2:1}if("CI"in i)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(c=>c in i)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(c=>c in i)||i.CI_NAME==="codeship"?1:s;if("TEAMCITY_VERSION"in i)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(i.TEAMCITY_VERSION)?1:0;if(i.COLORTERM==="truecolor"||i.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in i){let c=Number.parseInt((i.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(i.TERM_PROGRAM){case"iTerm.app":return c>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(i.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(i.TERM)||"COLORTERM"in i?1:s}function B(t,e={}){let r=D(t,{streamIsTTY:t&&t.isTTY,...e});return Y(r)}var U={stdout:B({isTTY:v.isatty(1)}),stderr:B({isTTY:v.isatty(2)})},M=U;function I(t,e,r){let o=t.indexOf(e);if(o===-1)return t;let n=e.length,s=0,c="";do c+=t.slice(s,o)+e+r,s=o+n,o=t.indexOf(e,s);while(o!==-1);return c+=t.slice(s),c}function S(t,e,r,o){let n=0,s="";do{let c=t[o-1]==="\r";s+=t.slice(n,c?o-1:o)+e+(c?`\r `:` `)+r,n=o+1,o=t.indexOf(` `,n)}while(o!==-1);return s+=t.slice(n),s}var{stdout:F,stderr:w}=M,C=Symbol("GENERATOR"),b=Symbol("STYLER"),d=Symbol("IS_EMPTY"),_=["ansi","ansi","ansi256","ansi16m"],h=Object.create(null),V=(t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=F?F.level:0;t.level=e.level===void 0?r:e.level};var K=t=>{let e=(...r)=>r.join(" ");return V(e,t),Object.setPrototypeOf(e,p.prototype),e};function p(t){return K(t)}Object.setPrototypeOf(p.prototype,Function.prototype);for(let[t,e]of Object.entries(a))h[t]={get(){let r=g(this,R(e.open,e.close,this[b]),this[d]);return Object.defineProperty(this,t,{value:r}),r}};h.visible={get(){let t=g(this,this[b],!0);return Object.defineProperty(this,"visible",{value:t}),t}};var T=(t,e,r,...o)=>t==="rgb"?e==="ansi16m"?a[r].ansi16m(...o):e==="ansi256"?a[r].ansi256(a.rgbToAnsi256(...o)):a[r].ansi(a.rgbToAnsi(...o)):t==="hex"?T("rgb",e,r,...a.hexToRgb(...o)):a[r][t](...o),W=["rgb","hex","ansi256"];for(let t of W){h[t]={get(){let{level:r}=this;return function(...o){let n=R(T(t,_[r],"color",...o),a.color.close,this[b]);return g(this,n,this[d])}}};let e="bg"+t[0].toUpperCase()+t.slice(1);h[e]={get(){let{level:r}=this;return function(...o){let n=R(T(t,_[r],"bgColor",...o),a.bgColor.close,this[b]);return g(this,n,this[d])}}}}var H=Object.defineProperties(()=>{},{...h,level:{enumerable:!0,get(){return this[C].level},set(t){this[C].level=t}}}),R=(t,e,r)=>{let o,n;return r===void 0?(o=t,n=e):(o=r.openAll+t,n=e+r.closeAll),{open:t,close:e,openAll:o,closeAll:n,parent:r}},g=(t,e,r)=>{let o=(...n)=>q(o,n.length===1?""+n[0]:n.join(" "));return Object.setPrototypeOf(o,H),o[C]=t,o[b]=e,o[d]=r,o},q=(t,e)=>{if(t.level<=0||!e)return t[d]?"":e;let r=t[b];if(r===void 0)return e;let{openAll:o,closeAll:n}=r;if(e.includes("\x1B"))for(;r!==void 0;)e=I(e,r.close,r.open),r=r.parent;let s=e.indexOf(` `);return s!==-1&&(e=S(e,n,o,s)),o+e+n};Object.defineProperties(p.prototype,h);var z=p(),ce=p({level:w?w.level:0});var f=z;var y=class{#r=null;#t=null;constructor(e,r){this.#r=e,this.#t=r}#e(e,r,o){e&&process.stdout.write(r(`${e}: ${this.#r?`(${this.#r}) `:""}`));try{o=o??typeof o,process.stdout.write(o)}catch(n){console.error(n)}process.stdout.write(` `)}info(e,r){this.#e("info",f.bold.cyan,e,r)}log(e,r){this.#e(null,f.bold.cyan,e,r)}debug(e,r){this.#t?.verbose&&this.#e("debug",f.bold.cyan,e,r)}warn(e,r){this.#e("warn",f.bold.yellow,e,r)}error(e,r){if(e instanceof Error){let[o,...n]=e.stack?.split(` `)??"";this.#e("error",f.bold.red,`${f.underline(e.name)}: ${e.message.trim()}`,r),process.stdout.write(` ${f.gray(n.join(` `))} `),e?.cause instanceof Error&&this.error(e.cause,r)}else this.#e("error",f.bold.red,e,r)}};function J(t,e={}){return new y(t,e)}export{J as createLogger};