ccommand 1.0.53 → 1.0.54

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.
Files changed (3) hide show
  1. package/dist/cli.js +12 -12
  2. package/dist/index.js +12 -12
  3. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -1,9 +1,9 @@
1
- "use strict";var Ce=Object.create;var re=Object.defineProperty;var Ie=Object.getOwnPropertyDescriptor;var ve=Object.getOwnPropertyNames;var _e=Object.getPrototypeOf,Se=Object.prototype.hasOwnProperty;var D=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Me=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of ve(t))!Se.call(e,n)&&n!==r&&re(e,n,{get:()=>t[n],enumerable:!(s=Ie(t,n))||s.enumerable});return e};var C=(e,t,r)=>(r=e!=null?Ce(_e(e)):{},Me(t||!e||!e.__esModule?re(r,"default",{value:e,enumerable:!0}):r,e));var W=D((De,oe)=>{"use strict";oe.exports=(e,t=process.argv)=>{let r=e.startsWith("-")?"":e.length===1?"-":"--",s=t.indexOf(r+e),n=t.indexOf("--");return s!==-1&&(n===-1||s<n)}});var ae=D((We,ce)=>{"use strict";var Le=require("os"),ie=require("tty"),w=W(),{env:m}=process,j;w("no-color")||w("no-colors")||w("color=false")||w("color=never")?j=0:(w("color")||w("colors")||w("color=true")||w("color=always"))&&(j=1);"FORCE_COLOR"in m&&(m.FORCE_COLOR==="true"?j=1:m.FORCE_COLOR==="false"?j=0:j=m.FORCE_COLOR.length===0?1:Math.min(parseInt(m.FORCE_COLOR,10),3));function q(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function K(e,t){if(j===0)return 0;if(w("color=16m")||w("color=full")||w("color=truecolor"))return 3;if(w("color=256"))return 2;if(e&&!t&&j===void 0)return 0;let r=j||0;if(m.TERM==="dumb")return r;if(process.platform==="win32"){let s=Le.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in m)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(s=>s in m)||m.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in m)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(m.TEAMCITY_VERSION)?1:0;if(m.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in m){let s=parseInt((m.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(m.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(m.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(m.TERM)||"COLORTERM"in m?1:r}function Pe(e){let t=K(e,e&&e.isTTY);return q(t)}ce.exports={supportsColor:Pe,stdout:q(K(!0,ie.isatty(1))),stderr:q(K(!0,ie.isatty(2)))}});var pe=D((qe,ue)=>{"use strict";var Ae=ae(),v=W();function le(e){if(/^\d{3,4}$/.test(e)){let r=/(\d{1,2})(\d{2})/.exec(e);return{major:0,minor:parseInt(r[1],10),patch:parseInt(r[2],10)}}let t=(e||"").split(".").map(r=>parseInt(r,10));return{major:t[0],minor:t[1],patch:t[2]}}function U(e){let{env:t}=process;if("FORCE_HYPERLINK"in t)return!(t.FORCE_HYPERLINK.length>0&&parseInt(t.FORCE_HYPERLINK,10)===0);if(v("no-hyperlink")||v("no-hyperlinks")||v("hyperlink=false")||v("hyperlink=never"))return!1;if(v("hyperlink=true")||v("hyperlink=always")||"NETLIFY"in t)return!0;if(!Ae.supportsColor(e)||e&&!e.isTTY||process.platform==="win32"||"CI"in t||"TEAMCITY_VERSION"in t)return!1;if("TERM_PROGRAM"in t){let r=le(t.TERM_PROGRAM_VERSION);switch(t.TERM_PROGRAM){case"iTerm.app":return r.major===3?r.minor>=1:r.major>3;case"WezTerm":return r.major>=20200620;case"vscode":return r.major>1||r.major===1&&r.minor>=72}}if("VTE_VERSION"in t){if(t.VTE_VERSION==="0.50.0")return!1;let r=le(t.VTE_VERSION);return r.major>0||r.minor>=50}return!1}ue.exports={supportsHyperlink:U,stdout:U(process.stdout),stderr:U(process.stderr)}});var S=C(require("fs/promises")),$e=require("fs"),Y=C(require("path")),p=require("lazy-js-utils"),we=C(require("fast-glob")),u=C(require("@simon_he/colorize"));var l="\x1B[",P="\x1B]",I="\x07",V=";",ne=process.env.TERM_PROGRAM==="Apple_Terminal",c={};c.cursorTo=(e,t)=>{if(typeof e!="number")throw new TypeError("The `x` argument is required");return typeof t!="number"?l+(e+1)+"G":l+(t+1)+";"+(e+1)+"H"};c.cursorMove=(e,t)=>{if(typeof e!="number")throw new TypeError("The `x` argument is required");let r="";return e<0?r+=l+-e+"D":e>0&&(r+=l+e+"C"),t<0?r+=l+-t+"A":t>0&&(r+=l+t+"B"),r};c.cursorUp=(e=1)=>l+e+"A";c.cursorDown=(e=1)=>l+e+"B";c.cursorForward=(e=1)=>l+e+"C";c.cursorBackward=(e=1)=>l+e+"D";c.cursorLeft=l+"G";c.cursorSavePosition=ne?"\x1B7":l+"s";c.cursorRestorePosition=ne?"\x1B8":l+"u";c.cursorGetPosition=l+"6n";c.cursorNextLine=l+"E";c.cursorPrevLine=l+"F";c.cursorHide=l+"?25l";c.cursorShow=l+"?25h";c.eraseLines=e=>{let t="";for(let r=0;r<e;r++)t+=c.eraseLine+(r<e-1?c.cursorUp():"");return e&&(t+=c.cursorLeft),t};c.eraseEndLine=l+"K";c.eraseStartLine=l+"1K";c.eraseLine=l+"2K";c.eraseDown=l+"J";c.eraseUp=l+"1J";c.eraseScreen=l+"2J";c.scrollUp=l+"S";c.scrollDown=l+"T";c.clearScreen="\x1Bc";c.clearTerminal=process.platform==="win32"?`${c.eraseScreen}${l}0f`:`${c.eraseScreen}${l}3J${l}H`;c.beep=I;c.link=(e,t)=>[P,"8",V,V,t,I,e,P,"8",V,V,I].join("");c.image=(e,t={})=>{let r=`${P}1337;File=inline=1`;return t.width&&(r+=`;width=${t.width}`),t.height&&(r+=`;height=${t.height}`),t.preserveAspectRatio===!1&&(r+=";preserveAspectRatio=0"),r+":"+e.toString("base64")+I};c.iTerm={setCwd:(e=process.cwd())=>`${P}50;CurrentDir=${e}${I}`,annotation:(e,t={})=>{let r=`${P}1337;`,s=typeof t.x<"u",n=typeof t.y<"u";if((s||n)&&!(s&&n&&typeof t.length<"u"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return e=e.replace(/\|/g,""),r+=t.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",t.length>0?r+=(s?[e,t.length,t.x,t.y]:[t.length,e]).join("|"):r+=e,r+I}};var se=c;var B=C(pe(),1);function E(e,t,{target:r="stdout",...s}={}){return B.default[r]?se.link(e,t):s.fallback===!1?e:typeof s.fallback=="function"?s.fallback(e,t):`${e} (\u200B${t}\u200B)`}E.isSupported=B.default.stdout;E.stderr=(e,t,r={})=>E(e,t,{target:"stderr",...r});E.stderr.isSupported=B.default.stderr;var J="1.0.53";var A=C(require("@simon_he/colorize")),z=require("lazy-js-utils");var X=console.log;function me(e){let{status:t}=(0,z.jsShell)("gum -v","pipe");if(t!==0){X((0,A.default)({color:"blue",text:e?"\u6B63\u5728\u4E3A\u60A8\u5B89\u88C5gum...":"install gum..."}));let{status:r}=(0,z.jsShell)("brew install gum");if(r!==0){let{status:s}=(0,z.jsShell)(`sudo mkdir -p /etc/apt/keyrings
1
+ "use strict";var _e=Object.create;var se=Object.defineProperty;var Se=Object.getOwnPropertyDescriptor;var Me=Object.getOwnPropertyNames;var Le=Object.getPrototypeOf,Pe=Object.prototype.hasOwnProperty;var K=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Ae=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Me(t))!Pe.call(e,n)&&n!==r&&se(e,n,{get:()=>t[n],enumerable:!(s=Se(t,n))||s.enumerable});return e};var v=(e,t,r)=>(r=e!=null?_e(Le(e)):{},Ae(t||!e||!e.__esModule?se(r,"default",{value:e,enumerable:!0}):r,e));var U=K((qe,ce)=>{"use strict";ce.exports=(e,t=process.argv)=>{let r=e.startsWith("-")?"":e.length===1?"-":"--",s=t.indexOf(r+e),n=t.indexOf("--");return s!==-1&&(n===-1||s<n)}});var ue=K((Ke,le)=>{"use strict";var Ne=require("os"),ae=require("tty"),R=U(),{env:f}=process,I;R("no-color")||R("no-colors")||R("color=false")||R("color=never")?I=0:(R("color")||R("colors")||R("color=true")||R("color=always"))&&(I=1);"FORCE_COLOR"in f&&(f.FORCE_COLOR==="true"?I=1:f.FORCE_COLOR==="false"?I=0:I=f.FORCE_COLOR.length===0?1:Math.min(parseInt(f.FORCE_COLOR,10),3));function J(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function X(e,t){if(I===0)return 0;if(R("color=16m")||R("color=full")||R("color=truecolor"))return 3;if(R("color=256"))return 2;if(e&&!t&&I===void 0)return 0;let r=I||0;if(f.TERM==="dumb")return r;if(process.platform==="win32"){let s=Ne.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in f)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(s=>s in f)||f.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in f)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(f.TEAMCITY_VERSION)?1:0;if(f.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in f){let s=parseInt((f.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(f.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(f.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(f.TERM)||"COLORTERM"in f?1:r}function Fe(e){let t=X(e,e&&e.isTTY);return J(t)}le.exports={supportsColor:Fe,stdout:J(X(!0,ae.isatty(1))),stderr:J(X(!0,ae.isatty(2)))}});var fe=K((Ue,me)=>{"use strict";var He=ue(),S=U();function pe(e){if(/^\d{3,4}$/.test(e)){let r=/(\d{1,2})(\d{2})/.exec(e);return{major:0,minor:parseInt(r[1],10),patch:parseInt(r[2],10)}}let t=(e||"").split(".").map(r=>parseInt(r,10));return{major:t[0],minor:t[1],patch:t[2]}}function Q(e){let{env:t}=process;if("FORCE_HYPERLINK"in t)return!(t.FORCE_HYPERLINK.length>0&&parseInt(t.FORCE_HYPERLINK,10)===0);if(S("no-hyperlink")||S("no-hyperlinks")||S("hyperlink=false")||S("hyperlink=never"))return!1;if(S("hyperlink=true")||S("hyperlink=always")||"NETLIFY"in t)return!0;if(!He.supportsColor(e)||e&&!e.isTTY||process.platform==="win32"||"CI"in t||"TEAMCITY_VERSION"in t)return!1;if("TERM_PROGRAM"in t){let r=pe(t.TERM_PROGRAM_VERSION);switch(t.TERM_PROGRAM){case"iTerm.app":return r.major===3?r.minor>=1:r.major>3;case"WezTerm":return r.major>=20200620;case"vscode":return r.major>1||r.major===1&&r.minor>=72}}if("VTE_VERSION"in t){if(t.VTE_VERSION==="0.50.0")return!1;let r=pe(t.VTE_VERSION);return r.major>0||r.minor>=50}return!1}me.exports={supportsHyperlink:Q,stdout:Q(process.stdout),stderr:Q(process.stderr)}});var L=v(require("fs/promises")),xe=require("fs"),D=v(require("path")),p=require("lazy-js-utils"),be=v(require("fast-glob")),u=v(require("@simon_he/colorize"));var l="\x1B[",N="\x1B]",_="\x07",z=";",oe=process.env.TERM_PROGRAM==="Apple_Terminal",c={};c.cursorTo=(e,t)=>{if(typeof e!="number")throw new TypeError("The `x` argument is required");return typeof t!="number"?l+(e+1)+"G":l+(t+1)+";"+(e+1)+"H"};c.cursorMove=(e,t)=>{if(typeof e!="number")throw new TypeError("The `x` argument is required");let r="";return e<0?r+=l+-e+"D":e>0&&(r+=l+e+"C"),t<0?r+=l+-t+"A":t>0&&(r+=l+t+"B"),r};c.cursorUp=(e=1)=>l+e+"A";c.cursorDown=(e=1)=>l+e+"B";c.cursorForward=(e=1)=>l+e+"C";c.cursorBackward=(e=1)=>l+e+"D";c.cursorLeft=l+"G";c.cursorSavePosition=oe?"\x1B7":l+"s";c.cursorRestorePosition=oe?"\x1B8":l+"u";c.cursorGetPosition=l+"6n";c.cursorNextLine=l+"E";c.cursorPrevLine=l+"F";c.cursorHide=l+"?25l";c.cursorShow=l+"?25h";c.eraseLines=e=>{let t="";for(let r=0;r<e;r++)t+=c.eraseLine+(r<e-1?c.cursorUp():"");return e&&(t+=c.cursorLeft),t};c.eraseEndLine=l+"K";c.eraseStartLine=l+"1K";c.eraseLine=l+"2K";c.eraseDown=l+"J";c.eraseUp=l+"1J";c.eraseScreen=l+"2J";c.scrollUp=l+"S";c.scrollDown=l+"T";c.clearScreen="\x1Bc";c.clearTerminal=process.platform==="win32"?`${c.eraseScreen}${l}0f`:`${c.eraseScreen}${l}3J${l}H`;c.beep=_;c.link=(e,t)=>[N,"8",z,z,t,_,e,N,"8",z,z,_].join("");c.image=(e,t={})=>{let r=`${N}1337;File=inline=1`;return t.width&&(r+=`;width=${t.width}`),t.height&&(r+=`;height=${t.height}`),t.preserveAspectRatio===!1&&(r+=";preserveAspectRatio=0"),r+":"+e.toString("base64")+_};c.iTerm={setCwd:(e=process.cwd())=>`${N}50;CurrentDir=${e}${_}`,annotation:(e,t={})=>{let r=`${N}1337;`,s=typeof t.x<"u",n=typeof t.y<"u";if((s||n)&&!(s&&n&&typeof t.length<"u"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return e=e.replace(/\|/g,""),r+=t.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",t.length>0?r+=(s?[e,t.length,t.x,t.y]:[t.length,e]).join("|"):r+=e,r+_}};var ie=c;var B=v(fe(),1);function E(e,t,{target:r="stdout",...s}={}){return B.default[r]?ie.link(e,t):s.fallback===!1?e:typeof s.fallback=="function"?s.fallback(e,t):`${e} (\u200B${t}\u200B)`}E.isSupported=B.default.stdout;E.stderr=(e,t,r={})=>E(e,t,{target:"stderr",...r});E.stderr.isSupported=B.default.stderr;var Z="1.0.54";var F=v(require("@simon_he/colorize")),G=require("lazy-js-utils");var ee=console.log;function de(e){let{status:t}=(0,G.jsShell)("gum -v","pipe");if(t!==0){ee((0,F.default)({color:"blue",text:e?"\u6B63\u5728\u4E3A\u60A8\u5B89\u88C5gum...":"install gum..."}));let{status:r}=(0,G.jsShell)("brew install gum");if(r!==0){let{status:s}=(0,G.jsShell)(`sudo mkdir -p /etc/apt/keyrings
2
2
  curl -fsSL https://repo.charm.sh/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/charm.gpg
3
3
  echo "deb [signed-by=/etc/apt/keyrings/charm.gpg] https://repo.charm.sh/apt/ * *" | sudo tee /etc/apt/sources.list.d/charm.list
4
- sudo apt update && sudo apt install gum`);if(s!==0){let n=E(e?"gum\u5B98\u7F51\u94FE\u63A5":"the official website of gum","https://github.com/charmbracelet/gum#installation");return X((0,A.default)({color:"red",text:`${e?"gum\u5B89\u88C5\u5931\u8D25,\u4F60\u53EF\u4EE5\u81EA\u884C\u4ECE\u4EE5\u4E0B\u94FE\u63A5\u5B89\u88C5":"gum install error, you can install it yourself through"} ${(0,A.default)({color:"yellow",text:n,bold:!0})}`}))}}X((0,A.default)({color:"green",text:e?"gum\u5B89\u88C5\u6210\u529F \u{1F389}":"gum install successfully \u{1F389}"}))}}var fe=C(require("fs/promises"));function de(e){return new Promise(t=>{fe.default.readFile(e,"utf-8").then(r=>{let s=[];for(let n of r.matchAll(/.PHONY:\s*([\w0-9\-]+)/g)){let a;if(!n||!(a=n[1]))continue;let h=new RegExp(`^${a}:[
4
+ sudo apt update && sudo apt install gum`);if(s!==0){let n=E(e?"gum\u5B98\u7F51\u94FE\u63A5":"the official website of gum","https://github.com/charmbracelet/gum#installation");return ee((0,F.default)({color:"red",text:`${e?"gum\u5B89\u88C5\u5931\u8D25,\u4F60\u53EF\u4EE5\u81EA\u884C\u4ECE\u4EE5\u4E0B\u94FE\u63A5\u5B89\u88C5":"gum install error, you can install it yourself through"} ${(0,F.default)({color:"yellow",text:n,bold:!0})}`}))}}ee((0,F.default)({color:"green",text:e?"gum\u5B89\u88C5\u6210\u529F \u{1F389}":"gum install successfully \u{1F389}"}))}}var ge=v(require("fs/promises"));function he(e){return new Promise(t=>{ge.default.readFile(e,"utf-8").then(r=>{let s=[];for(let n of r.matchAll(/.PHONY:\s*([\w0-9\-]+)/g)){let a;if(!n||!(a=n[1]))continue;let y=new RegExp(`^${a}:[
5
5
  \\s]*([^
6
- \\\\;]+)`,"sm"),x=r.match(h);if(!x)continue;let y=`${x[1].trim()}...`;s.push({name:a,detail:y})}t(s)}).catch(t)})}var Fe=require("yamljs"),_=[],k=null,f=console.log,ge="__ccommand__split",d=process.env.PI_Lang==="zh",G=130,He=d?"\u5DF2\u53D6\u6D88...":"Cancelled...",he=d?"\u5F53\u524D\u76EE\u5F55\u5E76\u672A\u627E\u5230package.json\u6587\u4EF6":"The current directory and not found package.json file";async function ke(e){me(d);let t=d?"\u5F53\u524D\u76EE\u5F55\u4E0D\u5B58\u5728\u4EFB\u4F55\u5B50\u76EE\u5F55":"The current directory does not have any subdirectories",r=d?"\u8FD0\u884C\u6210\u529F":"run successfully",s=d?"\u8FD0\u884C\u5931\u8D25":"run error",n=e?e.replace(/\s+/," ").split(" "):process.argv.slice(2);if(n[0]==="-v"||n[0]==="--version")return f((0,u.default)({text:d?`ccommand \u5F53\u524D\u7248\u672C: ${J}`:`ccommand Version: ${J}`,color:"green"}));if(n[0]==="-h"||n[0]==="--help"){let i=E(d?"\u6253\u5F00\u4E00\u4E2A\u65B0\u7684\u95EE\u9898":"open an issue","https://github.com/Simon-He95/ccommand/issues"),o=E(d?"\u2728\u5E2E\u52A9\u70B9\u4E00\u4E2A\u661F\u661F":"\u2728star it","https://github.com/Simon-He95/ccommand");return f((0,u.default)({color:"white",text:`
6
+ \\\\;]+)`,"sm"),b=r.match(y);if(!b)continue;let $=`${b[1].trim()}...`;s.push({name:a,detail:$})}t(s)}).catch(t)})}var ze=require("yamljs"),M=[],x=null,m=console.log,ye="__ccommand__split",d=process.env.PI_Lang==="zh",Y=130,Be=d?"\u5DF2\u53D6\u6D88...":"Cancelled...",$e=d?"\u5F53\u524D\u76EE\u5F55\u5E76\u672A\u627E\u5230package.json\u6587\u4EF6":"The current directory and not found package.json file",we=d?"\u6B63\u5728\u4E3A\u60A8\u6267\u884C...":"is running for you...";async function Te(e){de(d);let t=d?"\u5F53\u524D\u76EE\u5F55\u4E0D\u5B58\u5728\u4EFB\u4F55\u5B50\u76EE\u5F55":"The current directory does not have any subdirectories",r=d?"\u8FD0\u884C\u6210\u529F":"run successfully",s=d?"\u8FD0\u884C\u5931\u8D25":"run error",n=e?e.replace(/\s+/," ").split(" "):process.argv.slice(2);if(n[0]==="-v"||n[0]==="--version")return m((0,u.default)({text:d?`ccommand \u5F53\u524D\u7248\u672C: ${Z}`:`ccommand Version: ${Z}`,color:"green"}));if(n[0]==="-h"||n[0]==="--help"){let i=E(d?"\u6253\u5F00\u4E00\u4E2A\u65B0\u7684\u95EE\u9898":"open an issue","https://github.com/Simon-He95/ccommand/issues"),o=E(d?"\u2728\u5E2E\u52A9\u70B9\u4E00\u4E2A\u661F\u661F":"\u2728star it","https://github.com/Simon-He95/ccommand");return m((0,u.default)({color:"white",text:`
7
7
  ${(0,u.default)({bold:!0,text:"Common Commands:",bgColor:"blue"})}
8
8
  ${(0,u.default)({text:`- ccommand -v \u67E5\u770B\u5F53\u524D\u7248\u672C
9
9
  - ccommand -help \u67E5\u770B\u5E2E\u52A9
@@ -11,12 +11,12 @@
11
11
  - ccommand find \u67E5\u627E\u5F53\u524Dworkspace\u7684\u6240\u6709\u76EE\u5F55
12
12
  `,color:"cyan"})}
13
13
  If you encounter any problems, you can ${(0,u.default)({color:"magenta",text:i})}.
14
- If you like it, please ${(0,u.default)({text:o,bold:!0,color:"cyan"})} `}))}let a;try{a=await(0,p.getPkgTool)()}catch{try{if(await S.default.readFile(Y.default.resolve(process.cwd(),"./Makefile"),"utf-8")){let $=await de("./Makefile"),{result:O,status:b}=(0,p.jsShell)(`echo "${$.map(L=>L.name).join(`
15
- `)}" | gum filter --placeholder=" \u{1F914}\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u6307\u4EE4"`,"pipe");if(b===G)return F();(0,p.jsShell)(`make ${O}`),process.exit()}else return f((0,u.default)({color:"red",text:he}))}catch{return f((0,u.default)({color:"red",text:he}))}}let[h,x,y]=Ve(n),g=h,T;if(n[0]==="find"){if(x)await N(a),g=_.filter(i=>i.includes(x))[0];else if(a==="yarn"){if(await N(a),!_.length)return f((0,u.default)({color:"yellow",text:t}));let{result:i,status:o}=(0,p.jsShell)(`echo ${_.join(",")} | sed "s/,/\\n/g" | gum filter --placeholder=" \u{1F914}${d?"\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u76EE\u5F55":"Please select a directory to execute"}"`,"pipe");if(g=i,o===G)return F()}else if(a==="pnpm"){if(await N(a),!_.length)return f((0,u.default)({color:"yellow",text:t}));let{result:i,status:o}=(0,p.jsShell)(`echo ${_.join(",")} | sed "s/,/\\n/g" | gum filter --placeholder=" \u{1F914}${d?"\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u76EE\u5F55":"Please select a directory to execute"}"`,"pipe");if(o===G)return F();g=i.trim()}else return f((0,u.default)({color:"red",text:d?"find\u6307\u4EE4\u53EA\u80FD\u652F\u6301\u5728yarn\u6216pnpm\u7684monorepo\u6A21\u5F0F\u4E0B\u4F7F\u7528":"find command only support yarn or pnpm"}));T=await Z()}else{if(T=await Z(),h&&k&&!k[h]||!k)try{let i=(await(0,p.getPkg)("./package.json")||{})?.scripts;if(i&&i[n[0]]){f((0,u.default)({text:`${d?"ccommand\u6B63\u5728\u6267\u884C":"ccommand is executing"} ${(0,u.default)({color:"cyan",text:`'${n[0]}'`})} \u{1F914} `,color:"yellow"})),ee(n[0],n.slice(1).join(" ")),setTimeout(()=>{(0,p.jsShell)("zsh")},10);return}else if(i&&h){let o=ze(i,n[0]),$=n.slice(1).join(" ");ee(o,$),setTimeout(()=>{(0,p.jsShell)("zsh")},10);return}}catch{}k&&!k[n[0]]&&(f((0,u.default)({color:"red",text:`"${n[0]}" ${d?"\u5728\u5DE5\u4F5C\u533A\u3001\u5F53\u524D\u76EE\u5F55\u4E2D\u627E\u4E0D\u5230\u4EFB\u4F55\u53EF\u6267\u884C\u7684\u811A\u672C,\u8BF7\u68C0\u67E5":"is not found in workspace, current directory or current scripts, please check"}`})),process.exit())}if(!T)return f((0,u.default)({color:"red",text:d?"\u627E\u4E0D\u5230\u4EFB\u4F55\u53EF\u6267\u884C\u811A\u672C":"No scripts found"}));let M=[],R="";if(!x||n[0]==="find"&&(!n[2]||n[2].startsWith("--"))){let i=Object.keys(T).reduce((O,b)=>{let L=T[b];return M.push(b),O+=`"${b}: ${L.replace(/\"/g,"'")}"${ge}`,O},""),{result:o,status:$}=(0,p.jsShell)(`echo ${i} | sed "s/${ge}/\\n/g" | gum filter --placeholder=" \u{1F914}\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u6307\u4EE4"`,"pipe");if($===G)return F();R=o.substring(0,o.indexOf(": "))}if(!x&&!R)return F();let[xe,Re]=await Ee(),{status:be}=await(0,p.jsShell)(xe);if(be===0)return setTimeout(()=>{(0,p.jsShell)("zsh")},10),f((0,u.default)({color:"green",text:`
16
- ${Re} \u{1F389}`}));f((0,u.default)({color:"red",text:`
17
- command '${R}' ${s} \u274C`}));function Q(i){return M.find(o=>o===i)??M.find(o=>i.startsWith(o))}async function Ee(){let i="",o="",$=a!=="yarn";a==="npm"?(o=y?` -- ${y}`:"",i=g?` --prefix ${g} `:" "):a==="pnpm"?(o=y?` ${y}`:"",i=g?` --filter ${g} `:" "):a==="yarn"?(o=y?` ${y}`:"",i=g?` workspace ${g} `:" "):a==="bun"&&(o=y?` ${y}`:"",i="");let O="",b="";if(o&&!o.startsWith(" --")){let te=o.split(" ").filter(Boolean);O=te[0],o=te.slice(1).join(" ")}let L=`${a}${$?" run":" "}${i} ${O||(R?Q(R)||R:x)} ${Te(o)?`-- ${o}`:o}`;R=`${O||(R?Q(R):x)}`,n[0]==="find"?b=`pfind ${g} ${R} ${o}`.replace(/\s+/g," ").trim():b=`prun ${R} ${o}`.replace(/\s+/g," ").trim(),await ye(b);let H=b.split(" "),Oe=H.slice(-1)[0];H[H.length-1]=`'${Oe}'`;let je=H.join(" ");return[L,je]}async function Z(){try{if(!g||a==="bun"||a==="npm")return(await(0,p.getPkg)("./package.json"))?.scripts;if(a==="pnpm")return(await N(a))[g]||(await(0,p.getPkg)(`${g}/package.json`))?.scripts;if(a==="yarn")return(await N(a))[g]||(await(0,p.getPkg)(`${g}/package.json`))?.scripts}catch{}}function Te(i){return n[0]==="find",n[1]&&i}async function ee(i,o){let $;switch(i&&n[0]!==i&&f((0,u.default)({text:`\u{1F914} ${(0,u.default)({text:`'${n[0]}'`,color:"cyan"})} ${d?"\u81EA\u52A8\u7684\u4E3A\u60A8\u5339\u914D\u6210":"automatically match for you to"} ${(0,u.default)({text:`'${i}${o?` ${o}`:""}'`,color:"cyan"})} `,color:"yellow"})),a){case"npm":{$=(0,p.jsShell)(`npm run ${i}${o?` -- ${o}`:""}`).status;break}case"pnpm":{$=(0,p.jsShell)(`pnpm run ${i}${o?` ${o}`:""}`).status;break}case"yarn":{$=(0,p.jsShell)(`yarn ${i}${o?` ${o}`:""}`).status;break}case"bun":{$=(0,p.jsShell)(`bun run ${i} ${o}`).status;break}}return $===0?(await ye(`prun ${i}${o?` ${o}`:""}`),f((0,u.default)({color:"green",text:`
18
- prun '${i}${o?` ${o}`:""}' ${r} \u{1F389}`}))):f((0,u.default)({color:"red",text:`
19
- command ${(0,u.default)({bold:!0,color:"cyan",text:`'${i||n[0]}${o?` ${o}`:""}'`})} ${s} \u274C`}))}}async function N(e){if(k)return k;let t="";try{t=e==="pnpm"?await S.default.readFile(Y.default.resolve(process.cwd(),"pnpm-workspace.yaml"),"utf-8"):await S.default.readFile(Y.default.resolve(process.cwd(),"package.json"),"utf-8")}catch{}let r;if(e==="pnpm")r=Fe.parse(t)?.packages||[];else{let s=JSON.parse(t)?.workspaces;(0,p.isPlainObject)(s)?r=s?.packages:r=s||[]}return k=await Be(r)||{},_=Object.keys(k).filter(s=>k[s]&&Object.keys(k[s]).length),k}function Ve(e){let t=e[0];return t?t.startsWith("--")?["","",e.join(" ")]:e[1]&&e[1].startsWith("--")?[t,"",e.slice(1).join(" ")]:[t,e[1],e.slice(2).join(" ")]:["","",""]}async function Be(e){if(!e.length)return;let t=await(0,we.default)(e.map(r=>`${r}/package.json`),{dot:!0,ignore:["**/node_modules/**"]});return Promise.all(t.map(async r=>{let s=await(0,p.getPkg)(r);if(!s)return;let{name:n,scripts:a}=s;return{name:n,scripts:a}})).then(r=>r.reduce((s,n)=>{let{name:a,scripts:h}=n;return!a||!h||(s[a]=h),s},{}))}function ze(e,t){let r=Object.keys(e),s=r.find(n=>n.startsWith(t));if(s)return s;try{let n=new RegExp(t.split("").join("[_-\\w$.:]*"));return r.find(a=>n.test(a))}catch(n){f((0,u.default)({text:`${d?"\u6B63\u5219\u9519\u8BEF":"RegExp error"}: ${n}`,color:"red"})),process.exit(1)}}function F(){return f((0,u.default)({color:"yellow",text:He})),process.exit()}async function ye(e){f((0,u.default)({text:`${d?"\u5FEB\u6377\u6307\u4EE4":"shortcut command"}: ${e}`,color:"blue",bold:!0}));let t=`${process.env.HOME}/.zsh_history`;try{if(!(0,$e.existsSync)(t))return;let r=await S.default.readFile(t,"utf8"),n=new Date().getTime()/1e3,a=`${r}: ${n.toFixed(0)}:0;${e}
20
- `,h=[];a.split(`
21
- `).forEach(y=>{let g=y.split(";").slice(1).join(";"),T=h.findIndex(M=>M.split(";").slice(1).join(";")===g);T!==-1&&h.splice(T,1),h.push(y)});let x=h.join(`
22
- `);await S.default.writeFile(t,x)}catch{}}ke();
14
+ If you like it, please ${(0,u.default)({text:o,bold:!0,color:"cyan"})} `}))}let a;try{a=await(0,p.getPkgTool)()}catch{try{if(await L.default.readFile(D.default.resolve(process.cwd(),"./Makefile"),"utf-8")){a="make";let h=await he("./Makefile"),T=h.reduce((j,C)=>{let{name:A,detail:q}=C;return j[A]=q,j},{}),k="";if(e)k=ke(T,e);else{let{result:j,status:C}=(0,p.jsShell)(`echo "${h.map(A=>A.name).join(`
15
+ `)}" | gum filter --placeholder=" \u{1F914}\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u6307\u4EE4"`,"pipe");if(C===Y)return V();k=j}await W(k.trim(),""),setTimeout(()=>{(0,p.jsShell)("zsh")},10);return}else return m((0,u.default)({color:"red",text:$e}))}catch{return m((0,u.default)({color:"red",text:$e}))}}let[y,b,$]=Ge(n),g=y,O;if(n[0]==="find"){if(b)await H(a),g=M.filter(i=>i.includes(b))[0];else if(a==="yarn"){if(await H(a),!M.length)return m((0,u.default)({color:"yellow",text:t}));let{result:i,status:o}=(0,p.jsShell)(`echo ${M.join(",")} | sed "s/,/\\n/g" | gum filter --placeholder=" \u{1F914}${d?"\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u76EE\u5F55":"Please select a directory to execute"}"`,"pipe");if(g=i,o===Y)return V()}else if(a==="pnpm"){if(await H(a),!M.length)return m((0,u.default)({color:"yellow",text:t}));let{result:i,status:o}=(0,p.jsShell)(`echo ${M.join(",")} | sed "s/,/\\n/g" | gum filter --placeholder=" \u{1F914}${d?"\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u76EE\u5F55":"Please select a directory to execute"}"`,"pipe");if(o===Y)return V();g=i.trim()}else return m((0,u.default)({color:"red",text:d?"find\u6307\u4EE4\u53EA\u80FD\u652F\u6301\u5728yarn\u6216pnpm\u7684monorepo\u6A21\u5F0F\u4E0B\u4F7F\u7528":"find command only support yarn or pnpm"}));O=await re()}else{if(O=await re(),y&&x&&!x[y]||!x)try{let i=(await(0,p.getPkg)("./package.json")||{})?.scripts;if(i&&i[n[0]]){W(n[0],n.slice(1).join(" ")),setTimeout(()=>{(0,p.jsShell)("zsh")},10);return}else if(i&&y){let o=ke(i,n[0]),h=n.slice(1).join(" ");W(o,h),setTimeout(()=>{(0,p.jsShell)("zsh")},10);return}}catch{}x&&!x[n[0]]&&(m((0,u.default)({color:"red",text:`"${n[0]}" ${d?"\u5728\u5DE5\u4F5C\u533A\u3001\u5F53\u524D\u76EE\u5F55\u4E2D\u627E\u4E0D\u5230\u4EFB\u4F55\u53EF\u6267\u884C\u7684\u811A\u672C,\u8BF7\u68C0\u67E5":"is not found in workspace, current directory or current scripts, please check"}`})),process.exit())}if(!O)return m((0,u.default)({color:"red",text:d?"\u627E\u4E0D\u5230\u4EFB\u4F55\u53EF\u6267\u884C\u811A\u672C":"No scripts found"}));let P=[],w="";if(!b||n[0]==="find"&&(!n[2]||n[2].startsWith("--"))){let i=Object.keys(O).reduce((T,k)=>{let j=O[k];return P.push(k),T+=`"${k}: ${j.replace(/\"/g,"'")}"${ye}`,T},""),{result:o,status:h}=(0,p.jsShell)(`echo ${i} | sed "s/${ye}/\\n/g" | gum filter --placeholder=" \u{1F914}\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u6307\u4EE4"`,"pipe");if(h===Y)return V();w=o.substring(0,o.indexOf(": "))}if(!b&&!w)return V();m((0,u.default)({text:`\u{1F914} ${we} ${w}`,color:"magenta"}));let[Ee,Oe]=await Ie(),je=Ee.replace(/\s+/g," "),{status:Ce}=await(0,p.jsShell)(je);if(Ce===0)return setTimeout(()=>{(0,p.jsShell)("zsh")},10),m((0,u.default)({color:"green",text:`
16
+ ${Oe} \u{1F389}`}));m((0,u.default)({color:"red",text:`
17
+ command '${w}' ${s} \u274C`}));function te(i){return P.find(o=>o===i)??P.find(o=>i.startsWith(o))}async function Ie(){let i="",o="",h=a!=="yarn";a==="npm"?(o=$?` -- ${$}`:"",i=g?` --prefix ${g} `:" "):a==="pnpm"?(o=$?` ${$}`:"",i=g?` --filter ${g} `:" "):a==="yarn"?(o=$?` ${$}`:"",i=g?` workspace ${g} `:" "):a==="bun"&&(o=$?` ${$}`:"",i="");let T="",k="";if(o&&!o.startsWith(" --")){let ne=o.split(" ").filter(Boolean);T=ne[0],o=ne.slice(1).join(" ")}let j=`${a}${h?" run":" "}${i} ${T||(w?te(w)||w:b)} ${ve(o)?`-- ${o}`:o}`;w=`${T||(w?te(w):b)}`,n[0]==="find"?k=`pfind ${g} ${w} ${o}`.replace(/\s+/g," ").trim():k=`prun ${w} ${o}`.replace(/\s+/g," ").trim(),await Re(k);let C=k.split(" "),A=C.slice(-1)[0];C[C.length-1]=`'${A}'`;let q=C.join(" ");return[j,q]}async function re(){try{if(!g||a==="bun"||a==="npm")return(await(0,p.getPkg)("./package.json"))?.scripts;if(a==="pnpm")return(await H(a))[g]||(await(0,p.getPkg)(`${g}/package.json`))?.scripts;if(a==="yarn")return(await H(a))[g]||(await(0,p.getPkg)(`${g}/package.json`))?.scripts}catch{}}function ve(i){return n[0]==="find",n[1]&&i}async function W(i,o){let h,T=n[0]?.trim();switch(i&&T&&T!==i?m((0,u.default)({text:`\u{1F914} ${(0,u.default)({text:`'${n[0]}'`,color:"cyan"})} ${d?"\u81EA\u52A8\u7684\u4E3A\u60A8\u5339\u914D\u6210":"automatically match for you to"} ${(0,u.default)({text:`'${i}${o?` ${o}`:""}'`,color:"cyan"})} `,color:"yellow"})):i&&m((0,u.default)({text:`\u{1F914} ${we} ${i}`,color:"magenta"})),a){case"npm":{h=(0,p.jsShell)(`npm run ${i}${o?` -- ${o}`:""}`).status;break}case"pnpm":{h=(0,p.jsShell)(`pnpm run ${i}${o?` ${o}`:""}`).status;break}case"yarn":{h=(0,p.jsShell)(`yarn ${i}${o?` ${o}`:""}`).status;break}case"bun":{h=(0,p.jsShell)(`bun run ${i} ${o}`).status;break}case"make":{h=(0,p.jsShell)(`make ${i} ${o}`).status;break}}return h===0?(await Re(`prun ${i}${o?` ${o}`:""}`),m((0,u.default)({color:"green",text:`
18
+ prun '${i}${o?` ${o}`:""}' ${r} \u{1F389}`}))):m((0,u.default)({color:"red",text:`
19
+ command ${(0,u.default)({bold:!0,color:"cyan",text:`'${i||n[0]}${o?` ${o}`:""}'`})} ${s} \u274C`}))}}async function H(e){if(x)return x;let t="";try{t=e==="pnpm"?await L.default.readFile(D.default.resolve(process.cwd(),"pnpm-workspace.yaml"),"utf-8"):await L.default.readFile(D.default.resolve(process.cwd(),"package.json"),"utf-8")}catch{}let r;if(e==="pnpm")r=ze.parse(t)?.packages||[];else{let s=JSON.parse(t)?.workspaces;(0,p.isPlainObject)(s)?r=s?.packages:r=s||[]}return x=await Ye(r)||{},M=Object.keys(x).filter(s=>x[s]&&Object.keys(x[s]).length),x}function Ge(e){let t=e[0];return t?t.startsWith("--")?["","",e.join(" ")]:e[1]&&e[1].startsWith("--")?[t,"",e.slice(1).join(" ")]:[t,e[1],e.slice(2).join(" ")]:["","",""]}async function Ye(e){if(!e.length)return;let t=await(0,be.default)(e.map(r=>`${r}/package.json`),{dot:!0,ignore:["**/node_modules/**"]});return Promise.all(t.map(async r=>{let s=await(0,p.getPkg)(r);if(!s)return;let{name:n,scripts:a}=s;return{name:n,scripts:a}})).then(r=>r.reduce((s,n)=>{let{name:a,scripts:y}=n;return!a||!y||(s[a]=y),s},{}))}function ke(e,t){let r=Object.keys(e),s=r.find(n=>n.startsWith(t));if(s)return s;try{let n=new RegExp(t.split("").join("[_-\\w$.:]*"));return r.find(a=>n.test(a))}catch(n){m((0,u.default)({text:`${d?"\u6B63\u5219\u9519\u8BEF":"RegExp error"}: ${n}`,color:"red"})),process.exit(1)}}function V(){return m((0,u.default)({color:"yellow",text:Be})),process.exit()}async function Re(e){m((0,u.default)({text:`${d?"\u5FEB\u6377\u6307\u4EE4":"shortcut command"}: ${e}`,color:"blue",bold:!0}));let t=`${process.env.HOME}/.zsh_history`;try{if(!(0,xe.existsSync)(t))return;let r=await L.default.readFile(t,"utf8"),n=new Date().getTime()/1e3,a=`${r}: ${n.toFixed(0)}:0;${e}
20
+ `,y=[];a.split(`
21
+ `).forEach($=>{let g=$.split(";").slice(1).join(";"),O=y.findIndex(P=>P.split(";").slice(1).join(";")===g);O!==-1&&y.splice(O,1),y.push($)});let b=y.join(`
22
+ `);await L.default.writeFile(t,b)}catch{}}Te();
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
- "use strict";var Ie=Object.create;var V=Object.defineProperty;var ve=Object.getOwnPropertyDescriptor;var _e=Object.getOwnPropertyNames;var Se=Object.getPrototypeOf,Me=Object.prototype.hasOwnProperty;var W=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Le=(e,t)=>{for(var r in t)V(e,r,{get:t[r],enumerable:!0})},ne=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of _e(t))!Me.call(e,n)&&n!==r&&V(e,n,{get:()=>t[n],enumerable:!(s=ve(t,n))||s.enumerable});return e};var C=(e,t,r)=>(r=e!=null?Ie(Se(e)):{},ne(t||!e||!e.__esModule?V(r,"default",{value:e,enumerable:!0}):r,e)),Pe=e=>ne(V({},"__esModule",{value:!0}),e);var q=W((Ke,ie)=>{"use strict";ie.exports=(e,t=process.argv)=>{let r=e.startsWith("-")?"":e.length===1?"-":"--",s=t.indexOf(r+e),n=t.indexOf("--");return s!==-1&&(n===-1||s<n)}});var le=W((Ue,ae)=>{"use strict";var Ae=require("os"),ce=require("tty"),w=q(),{env:m}=process,j;w("no-color")||w("no-colors")||w("color=false")||w("color=never")?j=0:(w("color")||w("colors")||w("color=true")||w("color=always"))&&(j=1);"FORCE_COLOR"in m&&(m.FORCE_COLOR==="true"?j=1:m.FORCE_COLOR==="false"?j=0:j=m.FORCE_COLOR.length===0?1:Math.min(parseInt(m.FORCE_COLOR,10),3));function K(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function U(e,t){if(j===0)return 0;if(w("color=16m")||w("color=full")||w("color=truecolor"))return 3;if(w("color=256"))return 2;if(e&&!t&&j===void 0)return 0;let r=j||0;if(m.TERM==="dumb")return r;if(process.platform==="win32"){let s=Ae.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in m)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(s=>s in m)||m.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in m)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(m.TEAMCITY_VERSION)?1:0;if(m.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in m){let s=parseInt((m.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(m.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(m.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(m.TERM)||"COLORTERM"in m?1:r}function Ne(e){let t=U(e,e&&e.isTTY);return K(t)}ae.exports={supportsColor:Ne,stdout:K(U(!0,ce.isatty(1))),stderr:K(U(!0,ce.isatty(2)))}});var me=W((Je,pe)=>{"use strict";var Fe=le(),v=q();function ue(e){if(/^\d{3,4}$/.test(e)){let r=/(\d{1,2})(\d{2})/.exec(e);return{major:0,minor:parseInt(r[1],10),patch:parseInt(r[2],10)}}let t=(e||"").split(".").map(r=>parseInt(r,10));return{major:t[0],minor:t[1],patch:t[2]}}function J(e){let{env:t}=process;if("FORCE_HYPERLINK"in t)return!(t.FORCE_HYPERLINK.length>0&&parseInt(t.FORCE_HYPERLINK,10)===0);if(v("no-hyperlink")||v("no-hyperlinks")||v("hyperlink=false")||v("hyperlink=never"))return!1;if(v("hyperlink=true")||v("hyperlink=always")||"NETLIFY"in t)return!0;if(!Fe.supportsColor(e)||e&&!e.isTTY||process.platform==="win32"||"CI"in t||"TEAMCITY_VERSION"in t)return!1;if("TERM_PROGRAM"in t){let r=ue(t.TERM_PROGRAM_VERSION);switch(t.TERM_PROGRAM){case"iTerm.app":return r.major===3?r.minor>=1:r.major>3;case"WezTerm":return r.major>=20200620;case"vscode":return r.major>1||r.major===1&&r.minor>=72}}if("VTE_VERSION"in t){if(t.VTE_VERSION==="0.50.0")return!1;let r=ue(t.VTE_VERSION);return r.major>0||r.minor>=50}return!1}pe.exports={supportsHyperlink:J,stdout:J(process.stdout),stderr:J(process.stderr)}});var De={};Le(De,{ccommand:()=>xe});module.exports=Pe(De);var S=C(require("fs/promises")),we=require("fs"),D=C(require("path")),p=require("lazy-js-utils"),ke=C(require("fast-glob")),u=C(require("@simon_he/colorize"));var l="\x1B[",P="\x1B]",I="\x07",B=";",se=process.env.TERM_PROGRAM==="Apple_Terminal",c={};c.cursorTo=(e,t)=>{if(typeof e!="number")throw new TypeError("The `x` argument is required");return typeof t!="number"?l+(e+1)+"G":l+(t+1)+";"+(e+1)+"H"};c.cursorMove=(e,t)=>{if(typeof e!="number")throw new TypeError("The `x` argument is required");let r="";return e<0?r+=l+-e+"D":e>0&&(r+=l+e+"C"),t<0?r+=l+-t+"A":t>0&&(r+=l+t+"B"),r};c.cursorUp=(e=1)=>l+e+"A";c.cursorDown=(e=1)=>l+e+"B";c.cursorForward=(e=1)=>l+e+"C";c.cursorBackward=(e=1)=>l+e+"D";c.cursorLeft=l+"G";c.cursorSavePosition=se?"\x1B7":l+"s";c.cursorRestorePosition=se?"\x1B8":l+"u";c.cursorGetPosition=l+"6n";c.cursorNextLine=l+"E";c.cursorPrevLine=l+"F";c.cursorHide=l+"?25l";c.cursorShow=l+"?25h";c.eraseLines=e=>{let t="";for(let r=0;r<e;r++)t+=c.eraseLine+(r<e-1?c.cursorUp():"");return e&&(t+=c.cursorLeft),t};c.eraseEndLine=l+"K";c.eraseStartLine=l+"1K";c.eraseLine=l+"2K";c.eraseDown=l+"J";c.eraseUp=l+"1J";c.eraseScreen=l+"2J";c.scrollUp=l+"S";c.scrollDown=l+"T";c.clearScreen="\x1Bc";c.clearTerminal=process.platform==="win32"?`${c.eraseScreen}${l}0f`:`${c.eraseScreen}${l}3J${l}H`;c.beep=I;c.link=(e,t)=>[P,"8",B,B,t,I,e,P,"8",B,B,I].join("");c.image=(e,t={})=>{let r=`${P}1337;File=inline=1`;return t.width&&(r+=`;width=${t.width}`),t.height&&(r+=`;height=${t.height}`),t.preserveAspectRatio===!1&&(r+=";preserveAspectRatio=0"),r+":"+e.toString("base64")+I};c.iTerm={setCwd:(e=process.cwd())=>`${P}50;CurrentDir=${e}${I}`,annotation:(e,t={})=>{let r=`${P}1337;`,s=typeof t.x<"u",n=typeof t.y<"u";if((s||n)&&!(s&&n&&typeof t.length<"u"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return e=e.replace(/\|/g,""),r+=t.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",t.length>0?r+=(s?[e,t.length,t.x,t.y]:[t.length,e]).join("|"):r+=e,r+I}};var oe=c;var z=C(me(),1);function E(e,t,{target:r="stdout",...s}={}){return z.default[r]?oe.link(e,t):s.fallback===!1?e:typeof s.fallback=="function"?s.fallback(e,t):`${e} (\u200B${t}\u200B)`}E.isSupported=z.default.stdout;E.stderr=(e,t,r={})=>E(e,t,{target:"stderr",...r});E.stderr.isSupported=z.default.stderr;var X="1.0.53";var A=C(require("@simon_he/colorize")),G=require("lazy-js-utils");var Q=console.log;function fe(e){let{status:t}=(0,G.jsShell)("gum -v","pipe");if(t!==0){Q((0,A.default)({color:"blue",text:e?"\u6B63\u5728\u4E3A\u60A8\u5B89\u88C5gum...":"install gum..."}));let{status:r}=(0,G.jsShell)("brew install gum");if(r!==0){let{status:s}=(0,G.jsShell)(`sudo mkdir -p /etc/apt/keyrings
1
+ "use strict";var Se=Object.create;var z=Object.defineProperty;var Me=Object.getOwnPropertyDescriptor;var Le=Object.getOwnPropertyNames;var Pe=Object.getPrototypeOf,Ae=Object.prototype.hasOwnProperty;var U=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ne=(e,t)=>{for(var r in t)z(e,r,{get:t[r],enumerable:!0})},oe=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Le(t))!Ae.call(e,n)&&n!==r&&z(e,n,{get:()=>t[n],enumerable:!(s=Me(t,n))||s.enumerable});return e};var v=(e,t,r)=>(r=e!=null?Se(Pe(e)):{},oe(t||!e||!e.__esModule?z(r,"default",{value:e,enumerable:!0}):r,e)),Fe=e=>oe(z({},"__esModule",{value:!0}),e);var J=U((Je,ae)=>{"use strict";ae.exports=(e,t=process.argv)=>{let r=e.startsWith("-")?"":e.length===1?"-":"--",s=t.indexOf(r+e),n=t.indexOf("--");return s!==-1&&(n===-1||s<n)}});var pe=U((Xe,ue)=>{"use strict";var He=require("os"),le=require("tty"),R=J(),{env:f}=process,I;R("no-color")||R("no-colors")||R("color=false")||R("color=never")?I=0:(R("color")||R("colors")||R("color=true")||R("color=always"))&&(I=1);"FORCE_COLOR"in f&&(f.FORCE_COLOR==="true"?I=1:f.FORCE_COLOR==="false"?I=0:I=f.FORCE_COLOR.length===0?1:Math.min(parseInt(f.FORCE_COLOR,10),3));function X(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function Q(e,t){if(I===0)return 0;if(R("color=16m")||R("color=full")||R("color=truecolor"))return 3;if(R("color=256"))return 2;if(e&&!t&&I===void 0)return 0;let r=I||0;if(f.TERM==="dumb")return r;if(process.platform==="win32"){let s=He.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in f)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(s=>s in f)||f.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in f)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(f.TEAMCITY_VERSION)?1:0;if(f.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in f){let s=parseInt((f.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(f.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(f.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(f.TERM)||"COLORTERM"in f?1:r}function Ve(e){let t=Q(e,e&&e.isTTY);return X(t)}ue.exports={supportsColor:Ve,stdout:X(Q(!0,le.isatty(1))),stderr:X(Q(!0,le.isatty(2)))}});var de=U((Qe,fe)=>{"use strict";var ze=pe(),S=J();function me(e){if(/^\d{3,4}$/.test(e)){let r=/(\d{1,2})(\d{2})/.exec(e);return{major:0,minor:parseInt(r[1],10),patch:parseInt(r[2],10)}}let t=(e||"").split(".").map(r=>parseInt(r,10));return{major:t[0],minor:t[1],patch:t[2]}}function Z(e){let{env:t}=process;if("FORCE_HYPERLINK"in t)return!(t.FORCE_HYPERLINK.length>0&&parseInt(t.FORCE_HYPERLINK,10)===0);if(S("no-hyperlink")||S("no-hyperlinks")||S("hyperlink=false")||S("hyperlink=never"))return!1;if(S("hyperlink=true")||S("hyperlink=always")||"NETLIFY"in t)return!0;if(!ze.supportsColor(e)||e&&!e.isTTY||process.platform==="win32"||"CI"in t||"TEAMCITY_VERSION"in t)return!1;if("TERM_PROGRAM"in t){let r=me(t.TERM_PROGRAM_VERSION);switch(t.TERM_PROGRAM){case"iTerm.app":return r.major===3?r.minor>=1:r.major>3;case"WezTerm":return r.major>=20200620;case"vscode":return r.major>1||r.major===1&&r.minor>=72}}if("VTE_VERSION"in t){if(t.VTE_VERSION==="0.50.0")return!1;let r=me(t.VTE_VERSION);return r.major>0||r.minor>=50}return!1}fe.exports={supportsHyperlink:Z,stdout:Z(process.stdout),stderr:Z(process.stderr)}});var qe={};Ne(qe,{ccommand:()=>Ee});module.exports=Fe(qe);var L=v(require("fs/promises")),be=require("fs"),W=v(require("path")),p=require("lazy-js-utils"),Te=v(require("fast-glob")),u=v(require("@simon_he/colorize"));var l="\x1B[",N="\x1B]",_="\x07",B=";",ie=process.env.TERM_PROGRAM==="Apple_Terminal",c={};c.cursorTo=(e,t)=>{if(typeof e!="number")throw new TypeError("The `x` argument is required");return typeof t!="number"?l+(e+1)+"G":l+(t+1)+";"+(e+1)+"H"};c.cursorMove=(e,t)=>{if(typeof e!="number")throw new TypeError("The `x` argument is required");let r="";return e<0?r+=l+-e+"D":e>0&&(r+=l+e+"C"),t<0?r+=l+-t+"A":t>0&&(r+=l+t+"B"),r};c.cursorUp=(e=1)=>l+e+"A";c.cursorDown=(e=1)=>l+e+"B";c.cursorForward=(e=1)=>l+e+"C";c.cursorBackward=(e=1)=>l+e+"D";c.cursorLeft=l+"G";c.cursorSavePosition=ie?"\x1B7":l+"s";c.cursorRestorePosition=ie?"\x1B8":l+"u";c.cursorGetPosition=l+"6n";c.cursorNextLine=l+"E";c.cursorPrevLine=l+"F";c.cursorHide=l+"?25l";c.cursorShow=l+"?25h";c.eraseLines=e=>{let t="";for(let r=0;r<e;r++)t+=c.eraseLine+(r<e-1?c.cursorUp():"");return e&&(t+=c.cursorLeft),t};c.eraseEndLine=l+"K";c.eraseStartLine=l+"1K";c.eraseLine=l+"2K";c.eraseDown=l+"J";c.eraseUp=l+"1J";c.eraseScreen=l+"2J";c.scrollUp=l+"S";c.scrollDown=l+"T";c.clearScreen="\x1Bc";c.clearTerminal=process.platform==="win32"?`${c.eraseScreen}${l}0f`:`${c.eraseScreen}${l}3J${l}H`;c.beep=_;c.link=(e,t)=>[N,"8",B,B,t,_,e,N,"8",B,B,_].join("");c.image=(e,t={})=>{let r=`${N}1337;File=inline=1`;return t.width&&(r+=`;width=${t.width}`),t.height&&(r+=`;height=${t.height}`),t.preserveAspectRatio===!1&&(r+=";preserveAspectRatio=0"),r+":"+e.toString("base64")+_};c.iTerm={setCwd:(e=process.cwd())=>`${N}50;CurrentDir=${e}${_}`,annotation:(e,t={})=>{let r=`${N}1337;`,s=typeof t.x<"u",n=typeof t.y<"u";if((s||n)&&!(s&&n&&typeof t.length<"u"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return e=e.replace(/\|/g,""),r+=t.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",t.length>0?r+=(s?[e,t.length,t.x,t.y]:[t.length,e]).join("|"):r+=e,r+_}};var ce=c;var G=v(de(),1);function E(e,t,{target:r="stdout",...s}={}){return G.default[r]?ce.link(e,t):s.fallback===!1?e:typeof s.fallback=="function"?s.fallback(e,t):`${e} (\u200B${t}\u200B)`}E.isSupported=G.default.stdout;E.stderr=(e,t,r={})=>E(e,t,{target:"stderr",...r});E.stderr.isSupported=G.default.stderr;var ee="1.0.54";var F=v(require("@simon_he/colorize")),Y=require("lazy-js-utils");var te=console.log;function ge(e){let{status:t}=(0,Y.jsShell)("gum -v","pipe");if(t!==0){te((0,F.default)({color:"blue",text:e?"\u6B63\u5728\u4E3A\u60A8\u5B89\u88C5gum...":"install gum..."}));let{status:r}=(0,Y.jsShell)("brew install gum");if(r!==0){let{status:s}=(0,Y.jsShell)(`sudo mkdir -p /etc/apt/keyrings
2
2
  curl -fsSL https://repo.charm.sh/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/charm.gpg
3
3
  echo "deb [signed-by=/etc/apt/keyrings/charm.gpg] https://repo.charm.sh/apt/ * *" | sudo tee /etc/apt/sources.list.d/charm.list
4
- sudo apt update && sudo apt install gum`);if(s!==0){let n=E(e?"gum\u5B98\u7F51\u94FE\u63A5":"the official website of gum","https://github.com/charmbracelet/gum#installation");return Q((0,A.default)({color:"red",text:`${e?"gum\u5B89\u88C5\u5931\u8D25,\u4F60\u53EF\u4EE5\u81EA\u884C\u4ECE\u4EE5\u4E0B\u94FE\u63A5\u5B89\u88C5":"gum install error, you can install it yourself through"} ${(0,A.default)({color:"yellow",text:n,bold:!0})}`}))}}Q((0,A.default)({color:"green",text:e?"gum\u5B89\u88C5\u6210\u529F \u{1F389}":"gum install successfully \u{1F389}"}))}}var de=C(require("fs/promises"));function ge(e){return new Promise(t=>{de.default.readFile(e,"utf-8").then(r=>{let s=[];for(let n of r.matchAll(/.PHONY:\s*([\w0-9\-]+)/g)){let a;if(!n||!(a=n[1]))continue;let h=new RegExp(`^${a}:[
4
+ sudo apt update && sudo apt install gum`);if(s!==0){let n=E(e?"gum\u5B98\u7F51\u94FE\u63A5":"the official website of gum","https://github.com/charmbracelet/gum#installation");return te((0,F.default)({color:"red",text:`${e?"gum\u5B89\u88C5\u5931\u8D25,\u4F60\u53EF\u4EE5\u81EA\u884C\u4ECE\u4EE5\u4E0B\u94FE\u63A5\u5B89\u88C5":"gum install error, you can install it yourself through"} ${(0,F.default)({color:"yellow",text:n,bold:!0})}`}))}}te((0,F.default)({color:"green",text:e?"gum\u5B89\u88C5\u6210\u529F \u{1F389}":"gum install successfully \u{1F389}"}))}}var he=v(require("fs/promises"));function ye(e){return new Promise(t=>{he.default.readFile(e,"utf-8").then(r=>{let s=[];for(let n of r.matchAll(/.PHONY:\s*([\w0-9\-]+)/g)){let a;if(!n||!(a=n[1]))continue;let y=new RegExp(`^${a}:[
5
5
  \\s]*([^
6
- \\\\;]+)`,"sm"),x=r.match(h);if(!x)continue;let y=`${x[1].trim()}...`;s.push({name:a,detail:y})}t(s)}).catch(t)})}var Ve=require("yamljs"),_=[],k=null,f=console.log,he="__ccommand__split",d=process.env.PI_Lang==="zh",Y=130,Be=d?"\u5DF2\u53D6\u6D88...":"Cancelled...",ye=d?"\u5F53\u524D\u76EE\u5F55\u5E76\u672A\u627E\u5230package.json\u6587\u4EF6":"The current directory and not found package.json file";async function xe(e){fe(d);let t=d?"\u5F53\u524D\u76EE\u5F55\u4E0D\u5B58\u5728\u4EFB\u4F55\u5B50\u76EE\u5F55":"The current directory does not have any subdirectories",r=d?"\u8FD0\u884C\u6210\u529F":"run successfully",s=d?"\u8FD0\u884C\u5931\u8D25":"run error",n=e?e.replace(/\s+/," ").split(" "):process.argv.slice(2);if(n[0]==="-v"||n[0]==="--version")return f((0,u.default)({text:d?`ccommand \u5F53\u524D\u7248\u672C: ${X}`:`ccommand Version: ${X}`,color:"green"}));if(n[0]==="-h"||n[0]==="--help"){let i=E(d?"\u6253\u5F00\u4E00\u4E2A\u65B0\u7684\u95EE\u9898":"open an issue","https://github.com/Simon-He95/ccommand/issues"),o=E(d?"\u2728\u5E2E\u52A9\u70B9\u4E00\u4E2A\u661F\u661F":"\u2728star it","https://github.com/Simon-He95/ccommand");return f((0,u.default)({color:"white",text:`
6
+ \\\\;]+)`,"sm"),b=r.match(y);if(!b)continue;let $=`${b[1].trim()}...`;s.push({name:a,detail:$})}t(s)}).catch(t)})}var Ge=require("yamljs"),M=[],x=null,m=console.log,$e="__ccommand__split",d=process.env.PI_Lang==="zh",D=130,Ye=d?"\u5DF2\u53D6\u6D88...":"Cancelled...",we=d?"\u5F53\u524D\u76EE\u5F55\u5E76\u672A\u627E\u5230package.json\u6587\u4EF6":"The current directory and not found package.json file",ke=d?"\u6B63\u5728\u4E3A\u60A8\u6267\u884C...":"is running for you...";async function Ee(e){ge(d);let t=d?"\u5F53\u524D\u76EE\u5F55\u4E0D\u5B58\u5728\u4EFB\u4F55\u5B50\u76EE\u5F55":"The current directory does not have any subdirectories",r=d?"\u8FD0\u884C\u6210\u529F":"run successfully",s=d?"\u8FD0\u884C\u5931\u8D25":"run error",n=e?e.replace(/\s+/," ").split(" "):process.argv.slice(2);if(n[0]==="-v"||n[0]==="--version")return m((0,u.default)({text:d?`ccommand \u5F53\u524D\u7248\u672C: ${ee}`:`ccommand Version: ${ee}`,color:"green"}));if(n[0]==="-h"||n[0]==="--help"){let i=E(d?"\u6253\u5F00\u4E00\u4E2A\u65B0\u7684\u95EE\u9898":"open an issue","https://github.com/Simon-He95/ccommand/issues"),o=E(d?"\u2728\u5E2E\u52A9\u70B9\u4E00\u4E2A\u661F\u661F":"\u2728star it","https://github.com/Simon-He95/ccommand");return m((0,u.default)({color:"white",text:`
7
7
  ${(0,u.default)({bold:!0,text:"Common Commands:",bgColor:"blue"})}
8
8
  ${(0,u.default)({text:`- ccommand -v \u67E5\u770B\u5F53\u524D\u7248\u672C
9
9
  - ccommand -help \u67E5\u770B\u5E2E\u52A9
@@ -11,12 +11,12 @@
11
11
  - ccommand find \u67E5\u627E\u5F53\u524Dworkspace\u7684\u6240\u6709\u76EE\u5F55
12
12
  `,color:"cyan"})}
13
13
  If you encounter any problems, you can ${(0,u.default)({color:"magenta",text:i})}.
14
- If you like it, please ${(0,u.default)({text:o,bold:!0,color:"cyan"})} `}))}let a;try{a=await(0,p.getPkgTool)()}catch{try{if(await S.default.readFile(D.default.resolve(process.cwd(),"./Makefile"),"utf-8")){let $=await ge("./Makefile"),{result:O,status:b}=(0,p.jsShell)(`echo "${$.map(L=>L.name).join(`
15
- `)}" | gum filter --placeholder=" \u{1F914}\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u6307\u4EE4"`,"pipe");if(b===Y)return F();(0,p.jsShell)(`make ${O}`),process.exit()}else return f((0,u.default)({color:"red",text:ye}))}catch{return f((0,u.default)({color:"red",text:ye}))}}let[h,x,y]=ze(n),g=h,T;if(n[0]==="find"){if(x)await N(a),g=_.filter(i=>i.includes(x))[0];else if(a==="yarn"){if(await N(a),!_.length)return f((0,u.default)({color:"yellow",text:t}));let{result:i,status:o}=(0,p.jsShell)(`echo ${_.join(",")} | sed "s/,/\\n/g" | gum filter --placeholder=" \u{1F914}${d?"\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u76EE\u5F55":"Please select a directory to execute"}"`,"pipe");if(g=i,o===Y)return F()}else if(a==="pnpm"){if(await N(a),!_.length)return f((0,u.default)({color:"yellow",text:t}));let{result:i,status:o}=(0,p.jsShell)(`echo ${_.join(",")} | sed "s/,/\\n/g" | gum filter --placeholder=" \u{1F914}${d?"\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u76EE\u5F55":"Please select a directory to execute"}"`,"pipe");if(o===Y)return F();g=i.trim()}else return f((0,u.default)({color:"red",text:d?"find\u6307\u4EE4\u53EA\u80FD\u652F\u6301\u5728yarn\u6216pnpm\u7684monorepo\u6A21\u5F0F\u4E0B\u4F7F\u7528":"find command only support yarn or pnpm"}));T=await ee()}else{if(T=await ee(),h&&k&&!k[h]||!k)try{let i=(await(0,p.getPkg)("./package.json")||{})?.scripts;if(i&&i[n[0]]){f((0,u.default)({text:`${d?"ccommand\u6B63\u5728\u6267\u884C":"ccommand is executing"} ${(0,u.default)({color:"cyan",text:`'${n[0]}'`})} \u{1F914} `,color:"yellow"})),te(n[0],n.slice(1).join(" ")),setTimeout(()=>{(0,p.jsShell)("zsh")},10);return}else if(i&&h){let o=Ye(i,n[0]),$=n.slice(1).join(" ");te(o,$),setTimeout(()=>{(0,p.jsShell)("zsh")},10);return}}catch{}k&&!k[n[0]]&&(f((0,u.default)({color:"red",text:`"${n[0]}" ${d?"\u5728\u5DE5\u4F5C\u533A\u3001\u5F53\u524D\u76EE\u5F55\u4E2D\u627E\u4E0D\u5230\u4EFB\u4F55\u53EF\u6267\u884C\u7684\u811A\u672C,\u8BF7\u68C0\u67E5":"is not found in workspace, current directory or current scripts, please check"}`})),process.exit())}if(!T)return f((0,u.default)({color:"red",text:d?"\u627E\u4E0D\u5230\u4EFB\u4F55\u53EF\u6267\u884C\u811A\u672C":"No scripts found"}));let M=[],R="";if(!x||n[0]==="find"&&(!n[2]||n[2].startsWith("--"))){let i=Object.keys(T).reduce((O,b)=>{let L=T[b];return M.push(b),O+=`"${b}: ${L.replace(/\"/g,"'")}"${he}`,O},""),{result:o,status:$}=(0,p.jsShell)(`echo ${i} | sed "s/${he}/\\n/g" | gum filter --placeholder=" \u{1F914}\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u6307\u4EE4"`,"pipe");if($===Y)return F();R=o.substring(0,o.indexOf(": "))}if(!x&&!R)return F();let[Re,be]=await Te(),{status:Ee}=await(0,p.jsShell)(Re);if(Ee===0)return setTimeout(()=>{(0,p.jsShell)("zsh")},10),f((0,u.default)({color:"green",text:`
16
- ${be} \u{1F389}`}));f((0,u.default)({color:"red",text:`
17
- command '${R}' ${s} \u274C`}));function Z(i){return M.find(o=>o===i)??M.find(o=>i.startsWith(o))}async function Te(){let i="",o="",$=a!=="yarn";a==="npm"?(o=y?` -- ${y}`:"",i=g?` --prefix ${g} `:" "):a==="pnpm"?(o=y?` ${y}`:"",i=g?` --filter ${g} `:" "):a==="yarn"?(o=y?` ${y}`:"",i=g?` workspace ${g} `:" "):a==="bun"&&(o=y?` ${y}`:"",i="");let O="",b="";if(o&&!o.startsWith(" --")){let re=o.split(" ").filter(Boolean);O=re[0],o=re.slice(1).join(" ")}let L=`${a}${$?" run":" "}${i} ${O||(R?Z(R)||R:x)} ${Oe(o)?`-- ${o}`:o}`;R=`${O||(R?Z(R):x)}`,n[0]==="find"?b=`pfind ${g} ${R} ${o}`.replace(/\s+/g," ").trim():b=`prun ${R} ${o}`.replace(/\s+/g," ").trim(),await $e(b);let H=b.split(" "),je=H.slice(-1)[0];H[H.length-1]=`'${je}'`;let Ce=H.join(" ");return[L,Ce]}async function ee(){try{if(!g||a==="bun"||a==="npm")return(await(0,p.getPkg)("./package.json"))?.scripts;if(a==="pnpm")return(await N(a))[g]||(await(0,p.getPkg)(`${g}/package.json`))?.scripts;if(a==="yarn")return(await N(a))[g]||(await(0,p.getPkg)(`${g}/package.json`))?.scripts}catch{}}function Oe(i){return n[0]==="find",n[1]&&i}async function te(i,o){let $;switch(i&&n[0]!==i&&f((0,u.default)({text:`\u{1F914} ${(0,u.default)({text:`'${n[0]}'`,color:"cyan"})} ${d?"\u81EA\u52A8\u7684\u4E3A\u60A8\u5339\u914D\u6210":"automatically match for you to"} ${(0,u.default)({text:`'${i}${o?` ${o}`:""}'`,color:"cyan"})} `,color:"yellow"})),a){case"npm":{$=(0,p.jsShell)(`npm run ${i}${o?` -- ${o}`:""}`).status;break}case"pnpm":{$=(0,p.jsShell)(`pnpm run ${i}${o?` ${o}`:""}`).status;break}case"yarn":{$=(0,p.jsShell)(`yarn ${i}${o?` ${o}`:""}`).status;break}case"bun":{$=(0,p.jsShell)(`bun run ${i} ${o}`).status;break}}return $===0?(await $e(`prun ${i}${o?` ${o}`:""}`),f((0,u.default)({color:"green",text:`
18
- prun '${i}${o?` ${o}`:""}' ${r} \u{1F389}`}))):f((0,u.default)({color:"red",text:`
19
- command ${(0,u.default)({bold:!0,color:"cyan",text:`'${i||n[0]}${o?` ${o}`:""}'`})} ${s} \u274C`}))}}async function N(e){if(k)return k;let t="";try{t=e==="pnpm"?await S.default.readFile(D.default.resolve(process.cwd(),"pnpm-workspace.yaml"),"utf-8"):await S.default.readFile(D.default.resolve(process.cwd(),"package.json"),"utf-8")}catch{}let r;if(e==="pnpm")r=Ve.parse(t)?.packages||[];else{let s=JSON.parse(t)?.workspaces;(0,p.isPlainObject)(s)?r=s?.packages:r=s||[]}return k=await Ge(r)||{},_=Object.keys(k).filter(s=>k[s]&&Object.keys(k[s]).length),k}function ze(e){let t=e[0];return t?t.startsWith("--")?["","",e.join(" ")]:e[1]&&e[1].startsWith("--")?[t,"",e.slice(1).join(" ")]:[t,e[1],e.slice(2).join(" ")]:["","",""]}async function Ge(e){if(!e.length)return;let t=await(0,ke.default)(e.map(r=>`${r}/package.json`),{dot:!0,ignore:["**/node_modules/**"]});return Promise.all(t.map(async r=>{let s=await(0,p.getPkg)(r);if(!s)return;let{name:n,scripts:a}=s;return{name:n,scripts:a}})).then(r=>r.reduce((s,n)=>{let{name:a,scripts:h}=n;return!a||!h||(s[a]=h),s},{}))}function Ye(e,t){let r=Object.keys(e),s=r.find(n=>n.startsWith(t));if(s)return s;try{let n=new RegExp(t.split("").join("[_-\\w$.:]*"));return r.find(a=>n.test(a))}catch(n){f((0,u.default)({text:`${d?"\u6B63\u5219\u9519\u8BEF":"RegExp error"}: ${n}`,color:"red"})),process.exit(1)}}function F(){return f((0,u.default)({color:"yellow",text:Be})),process.exit()}async function $e(e){f((0,u.default)({text:`${d?"\u5FEB\u6377\u6307\u4EE4":"shortcut command"}: ${e}`,color:"blue",bold:!0}));let t=`${process.env.HOME}/.zsh_history`;try{if(!(0,we.existsSync)(t))return;let r=await S.default.readFile(t,"utf8"),n=new Date().getTime()/1e3,a=`${r}: ${n.toFixed(0)}:0;${e}
20
- `,h=[];a.split(`
21
- `).forEach(y=>{let g=y.split(";").slice(1).join(";"),T=h.findIndex(M=>M.split(";").slice(1).join(";")===g);T!==-1&&h.splice(T,1),h.push(y)});let x=h.join(`
22
- `);await S.default.writeFile(t,x)}catch{}}0&&(module.exports={ccommand});
14
+ If you like it, please ${(0,u.default)({text:o,bold:!0,color:"cyan"})} `}))}let a;try{a=await(0,p.getPkgTool)()}catch{try{if(await L.default.readFile(W.default.resolve(process.cwd(),"./Makefile"),"utf-8")){a="make";let h=await ye("./Makefile"),T=h.reduce((j,C)=>{let{name:A,detail:K}=C;return j[A]=K,j},{}),k="";if(e)k=Re(T,e);else{let{result:j,status:C}=(0,p.jsShell)(`echo "${h.map(A=>A.name).join(`
15
+ `)}" | gum filter --placeholder=" \u{1F914}\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u6307\u4EE4"`,"pipe");if(C===D)return V();k=j}await q(k.trim(),""),setTimeout(()=>{(0,p.jsShell)("zsh")},10);return}else return m((0,u.default)({color:"red",text:we}))}catch{return m((0,u.default)({color:"red",text:we}))}}let[y,b,$]=De(n),g=y,O;if(n[0]==="find"){if(b)await H(a),g=M.filter(i=>i.includes(b))[0];else if(a==="yarn"){if(await H(a),!M.length)return m((0,u.default)({color:"yellow",text:t}));let{result:i,status:o}=(0,p.jsShell)(`echo ${M.join(",")} | sed "s/,/\\n/g" | gum filter --placeholder=" \u{1F914}${d?"\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u76EE\u5F55":"Please select a directory to execute"}"`,"pipe");if(g=i,o===D)return V()}else if(a==="pnpm"){if(await H(a),!M.length)return m((0,u.default)({color:"yellow",text:t}));let{result:i,status:o}=(0,p.jsShell)(`echo ${M.join(",")} | sed "s/,/\\n/g" | gum filter --placeholder=" \u{1F914}${d?"\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u76EE\u5F55":"Please select a directory to execute"}"`,"pipe");if(o===D)return V();g=i.trim()}else return m((0,u.default)({color:"red",text:d?"find\u6307\u4EE4\u53EA\u80FD\u652F\u6301\u5728yarn\u6216pnpm\u7684monorepo\u6A21\u5F0F\u4E0B\u4F7F\u7528":"find command only support yarn or pnpm"}));O=await ne()}else{if(O=await ne(),y&&x&&!x[y]||!x)try{let i=(await(0,p.getPkg)("./package.json")||{})?.scripts;if(i&&i[n[0]]){q(n[0],n.slice(1).join(" ")),setTimeout(()=>{(0,p.jsShell)("zsh")},10);return}else if(i&&y){let o=Re(i,n[0]),h=n.slice(1).join(" ");q(o,h),setTimeout(()=>{(0,p.jsShell)("zsh")},10);return}}catch{}x&&!x[n[0]]&&(m((0,u.default)({color:"red",text:`"${n[0]}" ${d?"\u5728\u5DE5\u4F5C\u533A\u3001\u5F53\u524D\u76EE\u5F55\u4E2D\u627E\u4E0D\u5230\u4EFB\u4F55\u53EF\u6267\u884C\u7684\u811A\u672C,\u8BF7\u68C0\u67E5":"is not found in workspace, current directory or current scripts, please check"}`})),process.exit())}if(!O)return m((0,u.default)({color:"red",text:d?"\u627E\u4E0D\u5230\u4EFB\u4F55\u53EF\u6267\u884C\u811A\u672C":"No scripts found"}));let P=[],w="";if(!b||n[0]==="find"&&(!n[2]||n[2].startsWith("--"))){let i=Object.keys(O).reduce((T,k)=>{let j=O[k];return P.push(k),T+=`"${k}: ${j.replace(/\"/g,"'")}"${$e}`,T},""),{result:o,status:h}=(0,p.jsShell)(`echo ${i} | sed "s/${$e}/\\n/g" | gum filter --placeholder=" \u{1F914}\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u6307\u4EE4"`,"pipe");if(h===D)return V();w=o.substring(0,o.indexOf(": "))}if(!b&&!w)return V();m((0,u.default)({text:`\u{1F914} ${ke} ${w}`,color:"magenta"}));let[Oe,je]=await ve(),Ce=Oe.replace(/\s+/g," "),{status:Ie}=await(0,p.jsShell)(Ce);if(Ie===0)return setTimeout(()=>{(0,p.jsShell)("zsh")},10),m((0,u.default)({color:"green",text:`
16
+ ${je} \u{1F389}`}));m((0,u.default)({color:"red",text:`
17
+ command '${w}' ${s} \u274C`}));function re(i){return P.find(o=>o===i)??P.find(o=>i.startsWith(o))}async function ve(){let i="",o="",h=a!=="yarn";a==="npm"?(o=$?` -- ${$}`:"",i=g?` --prefix ${g} `:" "):a==="pnpm"?(o=$?` ${$}`:"",i=g?` --filter ${g} `:" "):a==="yarn"?(o=$?` ${$}`:"",i=g?` workspace ${g} `:" "):a==="bun"&&(o=$?` ${$}`:"",i="");let T="",k="";if(o&&!o.startsWith(" --")){let se=o.split(" ").filter(Boolean);T=se[0],o=se.slice(1).join(" ")}let j=`${a}${h?" run":" "}${i} ${T||(w?re(w)||w:b)} ${_e(o)?`-- ${o}`:o}`;w=`${T||(w?re(w):b)}`,n[0]==="find"?k=`pfind ${g} ${w} ${o}`.replace(/\s+/g," ").trim():k=`prun ${w} ${o}`.replace(/\s+/g," ").trim(),await xe(k);let C=k.split(" "),A=C.slice(-1)[0];C[C.length-1]=`'${A}'`;let K=C.join(" ");return[j,K]}async function ne(){try{if(!g||a==="bun"||a==="npm")return(await(0,p.getPkg)("./package.json"))?.scripts;if(a==="pnpm")return(await H(a))[g]||(await(0,p.getPkg)(`${g}/package.json`))?.scripts;if(a==="yarn")return(await H(a))[g]||(await(0,p.getPkg)(`${g}/package.json`))?.scripts}catch{}}function _e(i){return n[0]==="find",n[1]&&i}async function q(i,o){let h,T=n[0]?.trim();switch(i&&T&&T!==i?m((0,u.default)({text:`\u{1F914} ${(0,u.default)({text:`'${n[0]}'`,color:"cyan"})} ${d?"\u81EA\u52A8\u7684\u4E3A\u60A8\u5339\u914D\u6210":"automatically match for you to"} ${(0,u.default)({text:`'${i}${o?` ${o}`:""}'`,color:"cyan"})} `,color:"yellow"})):i&&m((0,u.default)({text:`\u{1F914} ${ke} ${i}`,color:"magenta"})),a){case"npm":{h=(0,p.jsShell)(`npm run ${i}${o?` -- ${o}`:""}`).status;break}case"pnpm":{h=(0,p.jsShell)(`pnpm run ${i}${o?` ${o}`:""}`).status;break}case"yarn":{h=(0,p.jsShell)(`yarn ${i}${o?` ${o}`:""}`).status;break}case"bun":{h=(0,p.jsShell)(`bun run ${i} ${o}`).status;break}case"make":{h=(0,p.jsShell)(`make ${i} ${o}`).status;break}}return h===0?(await xe(`prun ${i}${o?` ${o}`:""}`),m((0,u.default)({color:"green",text:`
18
+ prun '${i}${o?` ${o}`:""}' ${r} \u{1F389}`}))):m((0,u.default)({color:"red",text:`
19
+ command ${(0,u.default)({bold:!0,color:"cyan",text:`'${i||n[0]}${o?` ${o}`:""}'`})} ${s} \u274C`}))}}async function H(e){if(x)return x;let t="";try{t=e==="pnpm"?await L.default.readFile(W.default.resolve(process.cwd(),"pnpm-workspace.yaml"),"utf-8"):await L.default.readFile(W.default.resolve(process.cwd(),"package.json"),"utf-8")}catch{}let r;if(e==="pnpm")r=Ge.parse(t)?.packages||[];else{let s=JSON.parse(t)?.workspaces;(0,p.isPlainObject)(s)?r=s?.packages:r=s||[]}return x=await We(r)||{},M=Object.keys(x).filter(s=>x[s]&&Object.keys(x[s]).length),x}function De(e){let t=e[0];return t?t.startsWith("--")?["","",e.join(" ")]:e[1]&&e[1].startsWith("--")?[t,"",e.slice(1).join(" ")]:[t,e[1],e.slice(2).join(" ")]:["","",""]}async function We(e){if(!e.length)return;let t=await(0,Te.default)(e.map(r=>`${r}/package.json`),{dot:!0,ignore:["**/node_modules/**"]});return Promise.all(t.map(async r=>{let s=await(0,p.getPkg)(r);if(!s)return;let{name:n,scripts:a}=s;return{name:n,scripts:a}})).then(r=>r.reduce((s,n)=>{let{name:a,scripts:y}=n;return!a||!y||(s[a]=y),s},{}))}function Re(e,t){let r=Object.keys(e),s=r.find(n=>n.startsWith(t));if(s)return s;try{let n=new RegExp(t.split("").join("[_-\\w$.:]*"));return r.find(a=>n.test(a))}catch(n){m((0,u.default)({text:`${d?"\u6B63\u5219\u9519\u8BEF":"RegExp error"}: ${n}`,color:"red"})),process.exit(1)}}function V(){return m((0,u.default)({color:"yellow",text:Ye})),process.exit()}async function xe(e){m((0,u.default)({text:`${d?"\u5FEB\u6377\u6307\u4EE4":"shortcut command"}: ${e}`,color:"blue",bold:!0}));let t=`${process.env.HOME}/.zsh_history`;try{if(!(0,be.existsSync)(t))return;let r=await L.default.readFile(t,"utf8"),n=new Date().getTime()/1e3,a=`${r}: ${n.toFixed(0)}:0;${e}
20
+ `,y=[];a.split(`
21
+ `).forEach($=>{let g=$.split(";").slice(1).join(";"),O=y.findIndex(P=>P.split(";").slice(1).join(";")===g);O!==-1&&y.splice(O,1),y.push($)});let b=y.join(`
22
+ `);await L.default.writeFile(t,b)}catch{}}0&&(module.exports={ccommand});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccommand",
3
- "version": "1.0.53",
3
+ "version": "1.0.54",
4
4
  "packageManager": "pnpm@6.32.3",
5
5
  "description": "ccommand",
6
6
  "author": "Simon He",