@simon_he/pi 0.0.44 → 0.0.46

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/dist/index.cjs CHANGED
@@ -50,7 +50,8 @@ Minimum version required to store current data is: `+i+`.
50
50
  `);return i!==-1&&(t=dc(t,n,u,i)),u+t+n};Object.defineProperties(Qr.prototype,Zt);var gg=Qr(),A5=Qr({level:pc?pc.level:0});var Ne=gg;var os=I(require("process"),1);var Ac=I(require("process"),1),Ic=I(yc(),1),Cc=I(Sc(),1),mg=(0,Ic.default)(()=>{(0,Cc.default)(()=>{Ac.default.stderr.write("\x1B[?25h")},{alwaysLast:!0})}),Mc=mg;var sn=!1,Xt={};Xt.show=(e=os.default.stderr)=>{!e.isTTY||(sn=!1,e.write("\x1B[?25h"))};Xt.hide=(e=os.default.stderr)=>{!e.isTTY||(Mc(),sn=!0,e.write("\x1B[?25l"))};Xt.toggle=(e,t)=>{e!==void 0&&(sn=e),sn?Xt.show(t):Xt.hide(t)};var ls=Xt;var hu=I(Lc(),1);var we=I(require("process"),1);function Kr(){return we.default.platform!=="win32"?we.default.env.TERM!=="linux":Boolean(we.default.env.CI)||Boolean(we.default.env.WT_SESSION)||Boolean(we.default.env.TERMINUS_SUBLIME)||we.default.env.ConEmuTask==="{cmd::Cmder}"||we.default.env.TERM_PROGRAM==="Terminus-Sublime"||we.default.env.TERM_PROGRAM==="vscode"||we.default.env.TERM==="xterm-256color"||we.default.env.TERM==="alacritty"||we.default.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var yg={info:Ne.blue("\u2139"),success:Ne.green("\u2714"),warning:Ne.yellow("\u26A0"),error:Ne.red("\u2716")},wg={info:Ne.blue("i"),success:Ne.green("\u221A"),warning:Ne.yellow("\u203C"),error:Ne.red("\xD7")},_g=Kr()?yg:wg,Xr=_g;function cs({onlyFirst:e=!1}={}){let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}function fs(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(cs(),"")}var Xf=I($c(),1);function hs({stream:e=process.stdout}={}){return Boolean(e&&e.isTTY&&process.env.TERM!=="dumb"&&!("CI"in process.env))}var Ee=I(require("process"),1),Jf=I(require("readline"),1),Kf=I(Qf(),1);var Cm=3,We,fu,nr,lt,Sn=class{constructor(){Y(this,We,0);Y(this,fu,new Kf.BufferListStream);Y(this,nr,void 0);Y(this,lt,void 0);S(this,fu).pipe(Ee.default.stdout);let t=this;B(this,nr,function(r,u,...n){let{stdin:i}=Ee.default;if(S(t,We)>0||i.emit===S(t,nr)){if(r==="keypress")return;r==="data"&&u.includes(Cm)&&Ee.default.emit("SIGINT"),Reflect.apply(S(t,nr),this,[r,u,...n])}else Reflect.apply(Ee.default.stdin.emit,this,[r,u,...n])})}start(){pr(this,We)._++,S(this,We)===1&&this._realStart()}stop(){if(S(this,We)<=0)throw new Error("`stop` called more times than `start`");pr(this,We)._--,S(this,We)===0&&this._realStop()}_realStart(){Ee.default.platform!=="win32"&&(B(this,lt,Jf.default.createInterface({input:Ee.default.stdin,output:S(this,fu)})),S(this,lt).on("SIGINT",()=>{Ee.default.listenerCount("SIGINT")===0?Ee.default.emit("SIGINT"):(S(this,lt).close(),Ee.default.kill(Ee.default.pid,"SIGINT"))}))}_realStop(){Ee.default.platform!=="win32"&&(S(this,lt).close(),B(this,lt,void 0))}};We=new WeakMap,fu=new WeakMap,nr=new WeakMap,lt=new WeakMap;var An,ct,ir,Nt,Ve,X,qe,ue,Rt,sr,je,Ue,$e,ar,Le,Gs=class{constructor(t){Y(this,ct,0);Y(this,ir,!1);Y(this,Nt,0);Y(this,Ve,0);Y(this,X,void 0);Y(this,qe,void 0);Y(this,ue,void 0);Y(this,Rt,void 0);Y(this,sr,void 0);Y(this,je,void 0);Y(this,Ue,void 0);Y(this,$e,void 0);Y(this,ar,void 0);Y(this,Le,void 0);M(this,"color");An||(An=new Sn),typeof t=="string"&&(t={text:t}),B(this,X,{color:"cyan",stream:du.default.stderr,discardStdin:!0,hideCursor:!0,...t}),this.color=S(this,X).color,this.spinner=S(this,X).spinner,B(this,sr,S(this,X).interval),B(this,ue,S(this,X).stream),B(this,je,typeof S(this,X).isEnabled=="boolean"?S(this,X).isEnabled:hs({stream:S(this,ue)})),B(this,Ue,typeof S(this,X).isSilent=="boolean"?S(this,X).isSilent:!1),this.text=S(this,X).text,this.prefixText=S(this,X).prefixText,this.indent=S(this,X).indent,du.default.env.NODE_ENV==="test"&&(this._stream=S(this,ue),this._isEnabled=S(this,je),Object.defineProperty(this,"_linesToClear",{get(){return S(this,ct)},set(r){B(this,ct,r)}}),Object.defineProperty(this,"_frameIndex",{get(){return S(this,Ve)}}),Object.defineProperty(this,"_lineCount",{get(){return S(this,Nt)}}))}get indent(){return S(this,$e)}set indent(t=0){if(!(t>=0&&Number.isInteger(t)))throw new Error("The `indent` option must be an integer from 0 and up");B(this,$e,t),this.updateLineCount()}get interval(){return S(this,sr)||S(this,qe).interval||100}get spinner(){return S(this,qe)}set spinner(t){if(B(this,Ve,0),B(this,sr,void 0),typeof t=="object"){if(t.frames===void 0)throw new Error("The given spinner must have a `frames` property");B(this,qe,t)}else if(!Kr())B(this,qe,hu.default.line);else if(t===void 0)B(this,qe,hu.default.dots);else if(t!=="default"&&hu.default[t])B(this,qe,hu.default[t]);else throw new Error(`There is no built-in spinner named '${t}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`)}get text(){return S(this,ar)}set text(t){B(this,ar,t||""),this.updateLineCount()}get prefixText(){return S(this,Le)}set prefixText(t){B(this,Le,t||""),this.updateLineCount()}get isSpinning(){return S(this,Rt)!==void 0}getFullPrefixText(t=S(this,Le),r=" "){return typeof t=="string"&&t!==""?t+r:typeof t=="function"?t()+r:""}updateLineCount(){let t=S(this,ue).columns||80,r=this.getFullPrefixText(S(this,Le),"-");B(this,Nt,0);for(let u of fs(" ".repeat(S(this,$e))+r+"--"+S(this,ar)).split(`
51
51
  `))B(this,Nt,S(this,Nt)+Math.max(1,Math.ceil((0,Xf.default)(u)/t)))}get isEnabled(){return S(this,je)&&!S(this,Ue)}set isEnabled(t){if(typeof t!="boolean")throw new TypeError("The `isEnabled` option must be a boolean");B(this,je,t)}get isSilent(){return S(this,Ue)}set isSilent(t){if(typeof t!="boolean")throw new TypeError("The `isSilent` option must be a boolean");B(this,Ue,t)}frame(){let{frames:t}=S(this,qe),r=t[S(this,Ve)];this.color&&(r=Ne[this.color](r)),B(this,Ve,++pr(this,Ve)._%t.length);let u=typeof S(this,Le)=="string"&&S(this,Le)!==""?S(this,Le)+" ":"",n=typeof this.text=="string"?" "+this.text:"";return u+r+n}clear(){if(!S(this,je)||!S(this,ue).isTTY)return this;S(this,ue).cursorTo(0);for(let t=0;t<S(this,ct);t++)t>0&&S(this,ue).moveCursor(0,-1),S(this,ue).clearLine(1);return(S(this,$e)||this.lastIndent!==S(this,$e))&&S(this,ue).cursorTo(S(this,$e)),this.lastIndent=S(this,$e),B(this,ct,0),this}render(){return S(this,Ue)?this:(this.clear(),S(this,ue).write(this.frame()),B(this,ct,S(this,Nt)),this)}start(t){return t&&(this.text=t),S(this,Ue)?this:S(this,je)?this.isSpinning?this:(S(this,X).hideCursor&&ls.hide(S(this,ue)),S(this,X).discardStdin&&du.default.stdin.isTTY&&(B(this,ir,!0),An.start()),this.render(),B(this,Rt,setInterval(this.render.bind(this),this.interval)),this):(this.text&&S(this,ue).write(`- ${this.text}
52
52
  `),this)}stop(){return S(this,je)?(clearInterval(S(this,Rt)),B(this,Rt,void 0),B(this,Ve,0),this.clear(),S(this,X).hideCursor&&ls.show(S(this,ue)),S(this,X).discardStdin&&du.default.stdin.isTTY&&S(this,ir)&&(An.stop(),B(this,ir,!1)),this):this}succeed(t){return this.stopAndPersist({symbol:Xr.success,text:t})}fail(t){return this.stopAndPersist({symbol:Xr.error,text:t})}warn(t){return this.stopAndPersist({symbol:Xr.warning,text:t})}info(t){return this.stopAndPersist({symbol:Xr.info,text:t})}stopAndPersist(t={}){if(S(this,Ue))return this;let r=t.prefixText||S(this,Le),u=t.text||this.text,n=typeof u=="string"?" "+u:"";return this.stop(),S(this,ue).write(`${this.getFullPrefixText(r," ")}${t.symbol||" "}${n}
53
- `),this}};ct=new WeakMap,ir=new WeakMap,Nt=new WeakMap,Ve=new WeakMap,X=new WeakMap,qe=new WeakMap,ue=new WeakMap,Rt=new WeakMap,sr=new WeakMap,je=new WeakMap,Ue=new WeakMap,$e=new WeakMap,ar=new WeakMap,Le=new WeakMap;function Ws(e){return new Gs(e)}var or=/-DW\s*$/,ft=/-W\s*$/,lr=/-Dw\s*$/,cr=/-w\s*$/,In=/-D\s*$/,Cn=/-d\s*$/;async function fr(e){var r,u;let t=process.cwd();switch(await ut()){case"pnpm":if(!Ie(Vs.default.resolve(t,"./pnpm-workspace.yaml"))){if(or.test(e))return e.replace(or,"-D");if(lr.test(e))return e.replace(lr,"-D");if(ft.test(e))return e.replace(ft,"");if(cr.test(e))return e.replace(cr,"")}return Ie("./pnpm-workspace.yaml")?In.test(e)?e.replace(In,"-Dw"):Cn.test(e)?e.replace(Cn,"-Dw"):!e||cr.test(e)?e:`${e} -w`:or.test(e)?e.replace(or,"-Dw"):ft.test(e)?e.replace(ft,"-w"):e;case"yarn":if(!((r=await Zu(Vs.default.resolve(t,"./package.json")))!=null&&r.workspaces)){if(lr.test(e))return e.replace(lr,"-D");if(or.test(e))return e.replace(or,"-D");if(ft.test(e))return e.replace(ft,"");if(cr.test(e))return e.replace(cr,"")}return(u=await Zu())!=null&&u.workspaces?In.test(e)?e.replace(In,"-DW"):Cn.test(e)?e.replace(Cn,"-DW"):!e||ft.test(e)?e:`${e} -W`:lr.test(e)?e.replace(lr,"-DW"):ft.test(e)?e.replace(cr,"-W"):e;default:return e}}async function pe(e){let{color:t,spinner:r}=await Mm();return Ws({text:e,spinner:r,color:t,discardStdin:!0}).start()}async function Mm(){let{PI_COLOR:e="yellow",PI_SPINNER:t="star"}=process.env;return{color:e,spinner:t}}var ed="0.0.44";function td(e){let t=e[0];t==="-v"||t==="--version"?(D(`gum style --foreground 212 --border-foreground 212 --border double --align center --width 50 --margin "1 2" --padding "2 4" 'pi version:${ed}' 'Please give me a \u{1F31F} for my efforts'`),process.exit(0)):(t==="-h"||t==="--help")&&(D(`gum style --foreground 212 --border-foreground 212 --border double --align left --width 50 --margin "1 2" --padding "1 1" 'PI Commands:' '~ pi: install package' '~ pix: npx package' '~ pui: uninstall package' '~ prun: run package script' '~ pinit: package init' '~ pbuild: go build | cargo build' '~ pfind: find monorepo of yarn or pnpm' '~ pa: agent alias' '~ pu: package upgrade' '~ pci: package clean install' '~ pil: package latest install'`),process.exit(0))}async function rd(){let{status:e}=D("gum -v","pipe");e===1&&await D("brew install gum","pipe");let{status:t}=D("ni -v","pipe");t===1&&await D("npm i -g @antfu/ni","pipe");let{status:r}=D("ccommand -v","pipe");r===1&&await D("npm i -g ccommand","pipe")}var Mn=I(require("process"),1);var Dn=I(Yr(),1);async function dr(e,t,r="ni"){let u=t?`Installing ${t} ...`:"Updating dependency ...",n=t?`Installed ${t} successfully! \u{1F60A}`:"Updated dependency successfully! \u{1F60A}",i=t?`Failed to install ${t} \u{1F62D}`:"Failed to update dependency! \u{1F62D}",s;try{s=await fr(e)}catch(m){console.log(Dn.default.red(`package.json has not been found in ${Mn.default.cwd()}`));return}let a="pipe",o,{PI_DEFAULT:l,PI_MaxSockets:c}=Mn.default.env,d=await ut(),b=c||4,y=l==="yarn"||d==="yarn"?s?"add":"":"install";d==="npm"?l?(r=`${l} ${y}`,o=await pe(u)):a="inherit":(r=`${d} ${y}`,o=await pe(u));let E=r.split(" ")[0]==="npm"?` --max-sockets=${b}`:d==="yarn"?` --mutex network --network-concurrency ${b}`:"",{status:w,result:_}=await Me({params:`${r}${s?` ${s}`:E}`,stdio:a});if(a==="inherit"&&(o=await pe("")),w===0?o.succeed(Dn.default.green(n)):o.fail(Dn.default.red(_?`${_}
53
+ `),this}};ct=new WeakMap,ir=new WeakMap,Nt=new WeakMap,Ve=new WeakMap,X=new WeakMap,qe=new WeakMap,ue=new WeakMap,Rt=new WeakMap,sr=new WeakMap,je=new WeakMap,Ue=new WeakMap,$e=new WeakMap,ar=new WeakMap,Le=new WeakMap;function Ws(e){return new Gs(e)}var or=/-DW\s*$/,ft=/-W\s*$/,lr=/-Dw\s*$/,cr=/-w\s*$/,In=/-D\s*$/,Cn=/-d\s*$/;async function fr(e){var r,u;let t=process.cwd();switch(await ut()){case"pnpm":if(!Ie(Vs.default.resolve(t,"./pnpm-workspace.yaml"))){if(or.test(e))return e.replace(or,"-D");if(lr.test(e))return e.replace(lr,"-D");if(ft.test(e))return e.replace(ft,"");if(cr.test(e))return e.replace(cr,"")}return Ie("./pnpm-workspace.yaml")?In.test(e)?e.replace(In,"-Dw"):Cn.test(e)?e.replace(Cn,"-Dw"):!e||cr.test(e)?e:`${e} -w`:or.test(e)?e.replace(or,"-Dw"):ft.test(e)?e.replace(ft,"-w"):e;case"yarn":if(!((r=await Zu(Vs.default.resolve(t,"./package.json")))!=null&&r.workspaces)){if(lr.test(e))return e.replace(lr,"-D");if(or.test(e))return e.replace(or,"-D");if(ft.test(e))return e.replace(ft,"");if(cr.test(e))return e.replace(cr,"")}return(u=await Zu())!=null&&u.workspaces?In.test(e)?e.replace(In,"-DW"):Cn.test(e)?e.replace(Cn,"-DW"):!e||ft.test(e)?e:`${e} -W`:lr.test(e)?e.replace(lr,"-DW"):ft.test(e)?e.replace(cr,"-W"):e;default:return e}}async function pe(e){let{color:t,spinner:r}=await Mm();return Ws({text:e,spinner:r,color:t,discardStdin:!0}).start()}async function Mm(){let{PI_COLOR:e="yellow",PI_SPINNER:t="star"}=process.env;return{color:e,spinner:t}}var ed="0.0.46";function td(e){let t=e[0];t==="-v"||t==="--version"?(D(`gum style --foreground 212 --border-foreground 212 --border double --align center --width 50 --margin "1 2" --padding "2 4" "pi version: ${ed}" "Please give me a \u{1F31F} for my efforts" "Thank you \u{1F91F}"`),process.exit(0)):(t==="-h"||t==="--help")&&(D(`gum style --foreground 212 --border-foreground 212 --border double --align left --width 50 --margin "1 2" --padding "1 1" 'PI Commands:' '~ pi: install package' '~ pix: npx package' '~ pui: uninstall package' '~ prun: run package script' '~ pinit: package init' '~ pbuild: go build | cargo build' '~ pfind: find monorepo of yarn or pnpm' '~ pa: agent alias' '~ pu: package upgrade' '~ pci: package clean install' '~ pil: package latest install'
54
+ `),process.exit(0))}async function rd(){let{status:e}=D("gum -v","pipe");e===1&&await D("brew install gum","pipe");let{status:t}=D("ni -v","pipe");t===1&&await D("npm i -g @antfu/ni","pipe");let{status:r}=D("ccommand -v","pipe");r===1&&await D("npm i -g ccommand","pipe")}var Mn=I(require("process"),1);var Dn=I(Yr(),1);async function dr(e,t,r="ni"){let u=t?`Installing ${t} ...`:"Updating dependency ...",n=t?`Installed ${t} successfully! \u{1F60A}`:"Updated dependency successfully! \u{1F60A}",i=t?`Failed to install ${t} \u{1F62D}`:"Failed to update dependency! \u{1F62D}",s;try{s=await fr(e)}catch(m){console.log(Dn.default.red(`package.json has not been found in ${Mn.default.cwd()}`));return}let a="pipe",o,{PI_DEFAULT:l,PI_MaxSockets:c}=Mn.default.env,d=await ut(),b=c||4,y=l==="yarn"||d==="yarn"?s?"add":"":"install";d==="npm"?l?(r=`${l} ${y}`,o=await pe(u)):a="inherit":(r=`${d} ${y}`,o=await pe(u));let E=r.split(" ")[0]==="npm"?` --max-sockets=${b}`:d==="yarn"?` --mutex network --network-concurrency ${b}`:"",{status:w,result:_}=await Me({params:`${r}${s?` ${s}`:E}`,stdio:a});if(a==="inherit"&&(o=await pe("")),w===0?o.succeed(Dn.default.green(n)):o.fail(Dn.default.red(_?`${_}
54
55
 
55
56
  ${i}`:i)),_){let m=/ No matching version found for ([\w\-\_@\^.]+)/,x=_.match(m);if(x){let h=x[1];D(`pi ${h}`)}}Mn.default.exit()}function ud(){return D("na")}function nd(e,t){return dr(e,t,"nci")}function id(e){return D(`ccommand find ${e}`)}async function sd(e,t){let r=Vr(e,"@latest "),u="",n=/(-[dDwW]+)/g;(await fr(r)).replace(n,(s,a)=>(u+=` ${a}`,s.replace(a,"")));let i=t?Vr(`${t} `,"@latest ").trim()+u:`${u}`;return dr(i,i)}async function ad(){switch(console.log("Initializing project..."),await ut()){case"npm":D("npm init -y");return;case"yarn":D("yarn init -y");return;case"pnpm":D("pnpm init -y");return;default:D("npm init -y")}}async function od(e){switch(ut()){case"bun":return D(`bunx ${e}`);default:return D(`npx ${e}`)}}function ld(e){return D(`ccommand ${e}`)}function cd(){return D("nu")}var Ys=I(Yr(),1);async function fd(e,t){let r=`Uninstalling ${t} ...
56
57
  `,u=`
package/dist/index.js CHANGED
@@ -50,7 +50,8 @@ Minimum version required to store current data is: `+i+`.
50
50
  `);return i!==-1&&(t=Wl(t,n,u,i)),u+t+n};Object.defineProperties(Qr.prototype,Zt);var cg=Qr(),K5=Qr({level:Yl?Yl.level:0});var De=cg;import lc from"process";var sc=ve(Xl(),1),ac=ve(ic(),1);import dg from"process";var hg=(0,sc.default)(()=>{(0,ac.default)(()=>{dg.stderr.write("\x1B[?25h")},{alwaysLast:!0})}),oc=hg;var nn=!1,Xt={};Xt.show=(e=lc.stderr)=>{!e.isTTY||(nn=!1,e.write("\x1B[?25h"))};Xt.hide=(e=lc.stderr)=>{!e.isTTY||(oc(),nn=!0,e.write("\x1B[?25l"))};Xt.toggle=(e,t)=>{e!==void 0&&(nn=e),nn?Xt.show(t):Xt.hide(t)};var Xi=Xt;var du=ve(hc(),1);import Ne from"process";function Kr(){return Ne.platform!=="win32"?Ne.env.TERM!=="linux":Boolean(Ne.env.CI)||Boolean(Ne.env.WT_SESSION)||Boolean(Ne.env.TERMINUS_SUBLIME)||Ne.env.ConEmuTask==="{cmd::Cmder}"||Ne.env.TERM_PROGRAM==="Terminus-Sublime"||Ne.env.TERM_PROGRAM==="vscode"||Ne.env.TERM==="xterm-256color"||Ne.env.TERM==="alacritty"||Ne.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var gg={info:De.blue("\u2139"),success:De.green("\u2714"),warning:De.yellow("\u26A0"),error:De.red("\u2716")},bg={info:De.blue("i"),success:De.green("\u221A"),warning:De.yellow("\u203C"),error:De.red("\xD7")},mg=Kr()?gg:bg,Xr=mg;function es({onlyFirst:e=!1}={}){let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}function ts(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(es(),"")}var Rf=ve(vc(),1);function us({stream:e=process.stdout}={}){return Boolean(e&&e.isTTY&&process.env.TERM!=="dumb"&&!("CI"in process.env))}var Nf=ve(Df(),1);import Le from"process";import Tm from"readline";var Sm=3,Ve,fu,nr,ct,Tn=class{constructor(){Y(this,Ve,0);Y(this,fu,new Nf.BufferListStream);Y(this,nr,void 0);Y(this,ct,void 0);S(this,fu).pipe(Le.stdout);let t=this;B(this,nr,function(r,u,...n){let{stdin:i}=Le;if(S(t,Ve)>0||i.emit===S(t,nr)){if(r==="keypress")return;r==="data"&&u.includes(Sm)&&Le.emit("SIGINT"),Reflect.apply(S(t,nr),this,[r,u,...n])}else Reflect.apply(Le.stdin.emit,this,[r,u,...n])})}start(){pr(this,Ve)._++,S(this,Ve)===1&&this._realStart()}stop(){if(S(this,Ve)<=0)throw new Error("`stop` called more times than `start`");pr(this,Ve)._--,S(this,Ve)===0&&this._realStop()}_realStart(){Le.platform!=="win32"&&(B(this,ct,Tm.createInterface({input:Le.stdin,output:S(this,fu)})),S(this,ct).on("SIGINT",()=>{Le.listenerCount("SIGINT")===0?Le.emit("SIGINT"):(S(this,ct).close(),Le.kill(Le.pid,"SIGINT"))}))}_realStop(){Le.platform!=="win32"&&(S(this,ct).close(),B(this,ct,void 0))}};Ve=new WeakMap,fu=new WeakMap,nr=new WeakMap,ct=new WeakMap;var An,ft,ir,Rt,Ye,X,je,ue,Lt,sr,Ue,$e,ze,ar,Be,Os=class{constructor(t){Y(this,ft,0);Y(this,ir,!1);Y(this,Rt,0);Y(this,Ye,0);Y(this,X,void 0);Y(this,je,void 0);Y(this,ue,void 0);Y(this,Lt,void 0);Y(this,sr,void 0);Y(this,Ue,void 0);Y(this,$e,void 0);Y(this,ze,void 0);Y(this,ar,void 0);Y(this,Be,void 0);C(this,"color");An||(An=new Tn),typeof t=="string"&&(t={text:t}),B(this,X,{color:"cyan",stream:Sn.stderr,discardStdin:!0,hideCursor:!0,...t}),this.color=S(this,X).color,this.spinner=S(this,X).spinner,B(this,sr,S(this,X).interval),B(this,ue,S(this,X).stream),B(this,Ue,typeof S(this,X).isEnabled=="boolean"?S(this,X).isEnabled:us({stream:S(this,ue)})),B(this,$e,typeof S(this,X).isSilent=="boolean"?S(this,X).isSilent:!1),this.text=S(this,X).text,this.prefixText=S(this,X).prefixText,this.indent=S(this,X).indent,Sn.env.NODE_ENV==="test"&&(this._stream=S(this,ue),this._isEnabled=S(this,Ue),Object.defineProperty(this,"_linesToClear",{get(){return S(this,ft)},set(r){B(this,ft,r)}}),Object.defineProperty(this,"_frameIndex",{get(){return S(this,Ye)}}),Object.defineProperty(this,"_lineCount",{get(){return S(this,Rt)}}))}get indent(){return S(this,ze)}set indent(t=0){if(!(t>=0&&Number.isInteger(t)))throw new Error("The `indent` option must be an integer from 0 and up");B(this,ze,t),this.updateLineCount()}get interval(){return S(this,sr)||S(this,je).interval||100}get spinner(){return S(this,je)}set spinner(t){if(B(this,Ye,0),B(this,sr,void 0),typeof t=="object"){if(t.frames===void 0)throw new Error("The given spinner must have a `frames` property");B(this,je,t)}else if(!Kr())B(this,je,du.default.line);else if(t===void 0)B(this,je,du.default.dots);else if(t!=="default"&&du.default[t])B(this,je,du.default[t]);else throw new Error(`There is no built-in spinner named '${t}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`)}get text(){return S(this,ar)}set text(t){B(this,ar,t||""),this.updateLineCount()}get prefixText(){return S(this,Be)}set prefixText(t){B(this,Be,t||""),this.updateLineCount()}get isSpinning(){return S(this,Lt)!==void 0}getFullPrefixText(t=S(this,Be),r=" "){return typeof t=="string"&&t!==""?t+r:typeof t=="function"?t()+r:""}updateLineCount(){let t=S(this,ue).columns||80,r=this.getFullPrefixText(S(this,Be),"-");B(this,Rt,0);for(let u of ts(" ".repeat(S(this,ze))+r+"--"+S(this,ar)).split(`
51
51
  `))B(this,Rt,S(this,Rt)+Math.max(1,Math.ceil((0,Rf.default)(u)/t)))}get isEnabled(){return S(this,Ue)&&!S(this,$e)}set isEnabled(t){if(typeof t!="boolean")throw new TypeError("The `isEnabled` option must be a boolean");B(this,Ue,t)}get isSilent(){return S(this,$e)}set isSilent(t){if(typeof t!="boolean")throw new TypeError("The `isSilent` option must be a boolean");B(this,$e,t)}frame(){let{frames:t}=S(this,je),r=t[S(this,Ye)];this.color&&(r=De[this.color](r)),B(this,Ye,++pr(this,Ye)._%t.length);let u=typeof S(this,Be)=="string"&&S(this,Be)!==""?S(this,Be)+" ":"",n=typeof this.text=="string"?" "+this.text:"";return u+r+n}clear(){if(!S(this,Ue)||!S(this,ue).isTTY)return this;S(this,ue).cursorTo(0);for(let t=0;t<S(this,ft);t++)t>0&&S(this,ue).moveCursor(0,-1),S(this,ue).clearLine(1);return(S(this,ze)||this.lastIndent!==S(this,ze))&&S(this,ue).cursorTo(S(this,ze)),this.lastIndent=S(this,ze),B(this,ft,0),this}render(){return S(this,$e)?this:(this.clear(),S(this,ue).write(this.frame()),B(this,ft,S(this,Rt)),this)}start(t){return t&&(this.text=t),S(this,$e)?this:S(this,Ue)?this.isSpinning?this:(S(this,X).hideCursor&&Xi.hide(S(this,ue)),S(this,X).discardStdin&&Sn.stdin.isTTY&&(B(this,ir,!0),An.start()),this.render(),B(this,Lt,setInterval(this.render.bind(this),this.interval)),this):(this.text&&S(this,ue).write(`- ${this.text}
52
52
  `),this)}stop(){return S(this,Ue)?(clearInterval(S(this,Lt)),B(this,Lt,void 0),B(this,Ye,0),this.clear(),S(this,X).hideCursor&&Xi.show(S(this,ue)),S(this,X).discardStdin&&Sn.stdin.isTTY&&S(this,ir)&&(An.stop(),B(this,ir,!1)),this):this}succeed(t){return this.stopAndPersist({symbol:Xr.success,text:t})}fail(t){return this.stopAndPersist({symbol:Xr.error,text:t})}warn(t){return this.stopAndPersist({symbol:Xr.warning,text:t})}info(t){return this.stopAndPersist({symbol:Xr.info,text:t})}stopAndPersist(t={}){if(S(this,$e))return this;let r=t.prefixText||S(this,Be),u=t.text||this.text,n=typeof u=="string"?" "+u:"";return this.stop(),S(this,ue).write(`${this.getFullPrefixText(r," ")}${t.symbol||" "}${n}
53
- `),this}};ft=new WeakMap,ir=new WeakMap,Rt=new WeakMap,Ye=new WeakMap,X=new WeakMap,je=new WeakMap,ue=new WeakMap,Lt=new WeakMap,sr=new WeakMap,Ue=new WeakMap,$e=new WeakMap,ze=new WeakMap,ar=new WeakMap,Be=new WeakMap;function ks(e){return new Os(e)}var or=/-DW\s*$/,dt=/-W\s*$/,lr=/-Dw\s*$/,cr=/-w\s*$/,In=/-D\s*$/,Cn=/-d\s*$/;async function fr(e){var r,u;let t=process.cwd();switch(await nt()){case"pnpm":if(!Ae(Lf.resolve(t,"./pnpm-workspace.yaml"))){if(or.test(e))return e.replace(or,"-D");if(lr.test(e))return e.replace(lr,"-D");if(dt.test(e))return e.replace(dt,"");if(cr.test(e))return e.replace(cr,"")}return Ae("./pnpm-workspace.yaml")?In.test(e)?e.replace(In,"-Dw"):Cn.test(e)?e.replace(Cn,"-Dw"):!e||cr.test(e)?e:`${e} -w`:or.test(e)?e.replace(or,"-Dw"):dt.test(e)?e.replace(dt,"-w"):e;case"yarn":if(!((r=await Zu(Lf.resolve(t,"./package.json")))!=null&&r.workspaces)){if(lr.test(e))return e.replace(lr,"-D");if(or.test(e))return e.replace(or,"-D");if(dt.test(e))return e.replace(dt,"");if(cr.test(e))return e.replace(cr,"")}return(u=await Zu())!=null&&u.workspaces?In.test(e)?e.replace(In,"-DW"):Cn.test(e)?e.replace(Cn,"-DW"):!e||dt.test(e)?e:`${e} -W`:lr.test(e)?e.replace(lr,"-DW"):dt.test(e)?e.replace(cr,"-W"):e;default:return e}}async function pe(e){let{color:t,spinner:r}=await Am();return ks({text:e,spinner:r,color:t,discardStdin:!0}).start()}async function Am(){let{PI_COLOR:e="yellow",PI_SPINNER:t="star"}=process.env;return{color:e,spinner:t}}var Bf="0.0.44";function Of(e){let t=e[0];t==="-v"||t==="--version"?(M(`gum style --foreground 212 --border-foreground 212 --border double --align center --width 50 --margin "1 2" --padding "2 4" 'pi version:${Bf}' 'Please give me a \u{1F31F} for my efforts'`),process.exit(0)):(t==="-h"||t==="--help")&&(M(`gum style --foreground 212 --border-foreground 212 --border double --align left --width 50 --margin "1 2" --padding "1 1" 'PI Commands:' '~ pi: install package' '~ pix: npx package' '~ pui: uninstall package' '~ prun: run package script' '~ pinit: package init' '~ pbuild: go build | cargo build' '~ pfind: find monorepo of yarn or pnpm' '~ pa: agent alias' '~ pu: package upgrade' '~ pci: package clean install' '~ pil: package latest install'`),process.exit(0))}async function kf(){let{status:e}=M("gum -v","pipe");e===1&&await M("brew install gum","pipe");let{status:t}=M("ni -v","pipe");t===1&&await M("npm i -g @antfu/ni","pipe");let{status:r}=M("ccommand -v","pipe");r===1&&await M("npm i -g ccommand","pipe")}import Ps from"process";var Mn=ve(Yr(),1);async function dr(e,t,r="ni"){let u=t?`Installing ${t} ...`:"Updating dependency ...",n=t?`Installed ${t} successfully! \u{1F60A}`:"Updated dependency successfully! \u{1F60A}",i=t?`Failed to install ${t} \u{1F62D}`:"Failed to update dependency! \u{1F62D}",s;try{s=await fr(e)}catch(m){console.log(Mn.default.red(`package.json has not been found in ${Ps.cwd()}`));return}let a="pipe",o,{PI_DEFAULT:l,PI_MaxSockets:c}=Ps.env,d=await nt(),b=c||4,y=l==="yarn"||d==="yarn"?s?"add":"":"install";d==="npm"?l?(r=`${l} ${y}`,o=await pe(u)):a="inherit":(r=`${d} ${y}`,o=await pe(u));let E=r.split(" ")[0]==="npm"?` --max-sockets=${b}`:d==="yarn"?` --mutex network --network-concurrency ${b}`:"",{status:w,result:_}=await Ce({params:`${r}${s?` ${s}`:E}`,stdio:a});if(a==="inherit"&&(o=await pe("")),w===0?o.succeed(Mn.default.green(n)):o.fail(Mn.default.red(_?`${_}
53
+ `),this}};ft=new WeakMap,ir=new WeakMap,Rt=new WeakMap,Ye=new WeakMap,X=new WeakMap,je=new WeakMap,ue=new WeakMap,Lt=new WeakMap,sr=new WeakMap,Ue=new WeakMap,$e=new WeakMap,ze=new WeakMap,ar=new WeakMap,Be=new WeakMap;function ks(e){return new Os(e)}var or=/-DW\s*$/,dt=/-W\s*$/,lr=/-Dw\s*$/,cr=/-w\s*$/,In=/-D\s*$/,Cn=/-d\s*$/;async function fr(e){var r,u;let t=process.cwd();switch(await nt()){case"pnpm":if(!Ae(Lf.resolve(t,"./pnpm-workspace.yaml"))){if(or.test(e))return e.replace(or,"-D");if(lr.test(e))return e.replace(lr,"-D");if(dt.test(e))return e.replace(dt,"");if(cr.test(e))return e.replace(cr,"")}return Ae("./pnpm-workspace.yaml")?In.test(e)?e.replace(In,"-Dw"):Cn.test(e)?e.replace(Cn,"-Dw"):!e||cr.test(e)?e:`${e} -w`:or.test(e)?e.replace(or,"-Dw"):dt.test(e)?e.replace(dt,"-w"):e;case"yarn":if(!((r=await Zu(Lf.resolve(t,"./package.json")))!=null&&r.workspaces)){if(lr.test(e))return e.replace(lr,"-D");if(or.test(e))return e.replace(or,"-D");if(dt.test(e))return e.replace(dt,"");if(cr.test(e))return e.replace(cr,"")}return(u=await Zu())!=null&&u.workspaces?In.test(e)?e.replace(In,"-DW"):Cn.test(e)?e.replace(Cn,"-DW"):!e||dt.test(e)?e:`${e} -W`:lr.test(e)?e.replace(lr,"-DW"):dt.test(e)?e.replace(cr,"-W"):e;default:return e}}async function pe(e){let{color:t,spinner:r}=await Am();return ks({text:e,spinner:r,color:t,discardStdin:!0}).start()}async function Am(){let{PI_COLOR:e="yellow",PI_SPINNER:t="star"}=process.env;return{color:e,spinner:t}}var Bf="0.0.46";function Of(e){let t=e[0];t==="-v"||t==="--version"?(M(`gum style --foreground 212 --border-foreground 212 --border double --align center --width 50 --margin "1 2" --padding "2 4" "pi version: ${Bf}" "Please give me a \u{1F31F} for my efforts" "Thank you \u{1F91F}"`),process.exit(0)):(t==="-h"||t==="--help")&&(M(`gum style --foreground 212 --border-foreground 212 --border double --align left --width 50 --margin "1 2" --padding "1 1" 'PI Commands:' '~ pi: install package' '~ pix: npx package' '~ pui: uninstall package' '~ prun: run package script' '~ pinit: package init' '~ pbuild: go build | cargo build' '~ pfind: find monorepo of yarn or pnpm' '~ pa: agent alias' '~ pu: package upgrade' '~ pci: package clean install' '~ pil: package latest install'
54
+ `),process.exit(0))}async function kf(){let{status:e}=M("gum -v","pipe");e===1&&await M("brew install gum","pipe");let{status:t}=M("ni -v","pipe");t===1&&await M("npm i -g @antfu/ni","pipe");let{status:r}=M("ccommand -v","pipe");r===1&&await M("npm i -g ccommand","pipe")}import Ps from"process";var Mn=ve(Yr(),1);async function dr(e,t,r="ni"){let u=t?`Installing ${t} ...`:"Updating dependency ...",n=t?`Installed ${t} successfully! \u{1F60A}`:"Updated dependency successfully! \u{1F60A}",i=t?`Failed to install ${t} \u{1F62D}`:"Failed to update dependency! \u{1F62D}",s;try{s=await fr(e)}catch(m){console.log(Mn.default.red(`package.json has not been found in ${Ps.cwd()}`));return}let a="pipe",o,{PI_DEFAULT:l,PI_MaxSockets:c}=Ps.env,d=await nt(),b=c||4,y=l==="yarn"||d==="yarn"?s?"add":"":"install";d==="npm"?l?(r=`${l} ${y}`,o=await pe(u)):a="inherit":(r=`${d} ${y}`,o=await pe(u));let E=r.split(" ")[0]==="npm"?` --max-sockets=${b}`:d==="yarn"?` --mutex network --network-concurrency ${b}`:"",{status:w,result:_}=await Ce({params:`${r}${s?` ${s}`:E}`,stdio:a});if(a==="inherit"&&(o=await pe("")),w===0?o.succeed(Mn.default.green(n)):o.fail(Mn.default.red(_?`${_}
54
55
 
55
56
  ${i}`:i)),_){let m=/ No matching version found for ([\w\-\_@\^.]+)/,x=_.match(m);if(x){let h=x[1];M(`pi ${h}`)}}Ps.exit()}function Pf(){return M("na")}function Ff(e,t){return dr(e,t,"nci")}function qf(e){return M(`ccommand find ${e}`)}async function jf(e,t){let r=Vr(e,"@latest "),u="",n=/(-[dDwW]+)/g;(await fr(r)).replace(n,(s,a)=>(u+=` ${a}`,s.replace(a,"")));let i=t?Vr(`${t} `,"@latest ").trim()+u:`${u}`;return dr(i,i)}async function Uf(){switch(console.log("Initializing project..."),await nt()){case"npm":M("npm init -y");return;case"yarn":M("yarn init -y");return;case"pnpm":M("pnpm init -y");return;default:M("npm init -y")}}async function $f(e){switch(nt()){case"bun":return M(`bunx ${e}`);default:return M(`npx ${e}`)}}function zf(e){return M(`ccommand ${e}`)}function Hf(){return M("nu")}var Fs=ve(Yr(),1);async function Gf(e,t){let r=`Uninstalling ${t} ...
56
57
  `,u=`
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@simon_he/pi",
3
3
  "type": "module",
4
- "version": "0.0.44",
4
+ "version": "0.0.46",
5
5
  "packageManager": "pnpm@7.26.1",
6
6
  "description": "",
7
7
  "author": "Simon He",
@@ -51,7 +51,6 @@
51
51
  "dist"
52
52
  ],
53
53
  "scripts": {
54
- "postinstall": "simple-git-hooks",
55
54
  "build": "tsup ./src/index.ts --format cjs,esm --dts --clean --minify",
56
55
  "dev": "npm run build -- --watch src",
57
56
  "format": "prettier --write --cache .",
@@ -82,17 +81,12 @@
82
81
  "pnpm": "^7.18.2",
83
82
  "prettier": "^2.8.1",
84
83
  "rimraf": "^3.0.2",
85
- "simple-git-hooks": "^2.8.1",
86
84
  "tsup": "^6.5.0",
87
85
  "tsx": "^3.12.1",
88
86
  "typescript": "^4.9.4",
89
87
  "unbuild": "^1.0.0",
90
88
  "vitest": "^0.27.0"
91
89
  },
92
- "simple-git-hooks": {
93
- "pre-commit": "pnpm exec lint-staged --concurrent false",
94
- "commit-msg": "pnpm exec tsx scripts/verifyCommit.ts $1"
95
- },
96
90
  "lint-staged": {
97
91
  "*": [
98
92
  "prettier --write --cache --ignore-unknown"