ccommand 1.0.85 → 1.0.86
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/cli.js +18 -17
- package/dist/index.js +18 -17
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -1,28 +1,29 @@
|
|
|
1
|
-
"use strict";var
|
|
2
|
-
when: ${k}`;break;case"bash":default:E.default.env.HISTTIMEFORMAT?
|
|
3
|
-
${t}`:
|
|
1
|
+
"use strict";var Nt=Object.create;var ft=Object.defineProperty;var Dt=Object.getOwnPropertyDescriptor;var At=Object.getOwnPropertyNames;var qt=Object.getPrototypeOf,Gt=Object.prototype.hasOwnProperty;var Jt=(t,s,a,i)=>{if(s&&typeof s=="object"||typeof s=="function")for(let e of At(s))!Gt.call(t,e)&&e!==a&&ft(t,e,{get:()=>s[e],enumerable:!(i=Dt(s,e))||i.enumerable});return t};var m=(t,s,a)=>(a=t!=null?Nt(qt(t)):{},Jt(s||!t||!t.__esModule?ft(a,"default",{value:t,enumerable:!0}):a,t));var lt=require("fs"),Pt=m(require("fs/promises")),Lt=m(require("path")),D=m(require("process")),u=m(require("@simon_he/colorize")),Ht=require("lazy-js-utils"),b=require("lazy-js-utils/node");var K="1.0.86";var V=m(require("process")),dt=m(require("@simon_he/colorize")),c=console.log,Q="__ccommand__split",l=V.default.env.PI_Lang==="zh",O=130,gt=l?"\u5DF2\u53D6\u6D88...":"Cancelled...",U=l?"\u5F53\u524D\u76EE\u5F55\u5E76\u672A\u627E\u5230package.json\u6587\u4EF6":"The current directory and not found package.json file",X=l?"\u6B63\u5728\u4E3A\u60A8\u6267\u884C...":"is running for you...";function W(){return c((0,dt.default)({color:"yellow",text:gt})),V.default.exit()}var yt=require("child_process"),T=require("fs"),$t=m(require("fs/promises")),G=m(require("path")),xt=require("util"),I=m(require("@simon_he/colorize")),J=require("lazy-js-utils/node");var ht=require("fs"),tt=m(require("fs/promises")),E=m(require("process")),A=m(require("@simon_he/colorize"));async function M(t){c((0,A.default)({text:`${l?"\u5FEB\u6377\u6307\u4EE4":"shortcut command"}: ${t}`,color:"blue",bold:!0}));let a=(E.default.env.SHELL||"/bin/bash").split("/").pop()||"bash",i="",e="";switch(a){case"zsh":i=`${E.default.env.HOME}/.zsh_history`,e="zsh";break;case"bash":i=E.default.env.HISTFILE||`${E.default.env.HOME}/.bash_history`,e="bash";break;case"fish":i=`${E.default.env.HOME}/.local/share/fish/fish_history`,e="fish";break;default:i=E.default.env.HISTFILE||`${E.default.env.HOME}/.bash_history`,e="bash"}try{if(!(0,ht.existsSync)(i)){c((0,A.default)({text:`${l?`\u672A\u627E\u5230 ${a} \u5386\u53F2\u6587\u4EF6`:`${a} history file not found`}`,color:"yellow"}));return}let o=await tt.default.readFile(i,"utf8"),k=Math.floor(new Date().getTime()/1e3),d="",y="";switch(e){case"zsh":d=`: ${k}:0;${t}`;break;case"fish":d=`- cmd: ${t}
|
|
2
|
+
when: ${k}`;break;case"bash":default:E.default.env.HISTTIMEFORMAT?d=`#${k}
|
|
3
|
+
${t}`:d=t}e==="fish"?y=`${o+(o&&!o.endsWith(`
|
|
4
4
|
`)?`
|
|
5
|
-
`:"")+
|
|
6
|
-
`:y=`${o+(o&&!o.endsWith(`
|
|
5
|
+
`:"")+d}
|
|
6
|
+
`:y=`${`${o+(o&&!o.endsWith(`
|
|
7
7
|
`)?`
|
|
8
|
-
`:"")+
|
|
8
|
+
`:"")+d}
|
|
9
|
+
${d}`}
|
|
9
10
|
`;let j=[];y.split(`
|
|
10
11
|
`).forEach(p=>{let S="";e==="zsh"?S=p.split(";").slice(1).join(";"):e==="fish"?p.startsWith("- cmd: ")?S=p.substring(7):S=p:(p.startsWith("#"),S=p);let L=j.findIndex(v=>{let z="";return e==="zsh"?z=v.split(";").slice(1).join(";"):e==="fish"?v.startsWith("- cmd: ")?z=v.substring(7):z=v:(v.startsWith("#"),z=v),z===S});L!==-1&&j.splice(L,1),j.push(p)});let P=j.join(`
|
|
11
|
-
`);
|
|
12
|
-
"prun ${t}" ${e===0?a:i} ${e===0?"\u{1F389}":"\u274C"}`}))}async function
|
|
12
|
+
`);tt.default.writeFile(i,P)}catch{c((0,A.default)({text:`${l?`\u274C \u6DFB\u52A0\u5230 ${a} \u5386\u53F2\u8BB0\u5F55\u5931\u8D25`:`\u274C Failed to add to ${a} history`}`,color:"red"}))}}var Zt=(0,xt.promisify)(yt.exec),q={};async function et(t){if(q[t]!==void 0)return q[t];try{return await Zt(`which ${t}`),q[t]=!0,!0}catch{return q[t]=!1,!1}}var _=null;async function Bt(){return _!==null||(await et("bun")?_="bun":await et("esno")?_="esno":await et("tsx")?_="tsx":_=null),_}async function wt(t,s,a,i){await M(`prun ${t}`);let{status:e}=await(0,J.jsShell)(s,{errorExit:!1,isLog:!1,stdio:"inherit"});c((0,I.default)({color:e===0?"green":"red",text:`
|
|
13
|
+
"prun ${t}" ${e===0?a:i} ${e===0?"\u{1F389}":"\u274C"}`}))}async function nt(t,s,a){let i=G.default.extname(t),e="node";if(i===".ts")if(_===null&&await Bt(),_)e=_;else{c((0,I.default)({text:l?`\u6CA1\u6709\u627E\u5230\u53EF\u4EE5\u76F4\u63A5\u6267\u884CTypeScript\u7684\u5DE5\u5177\uFF0C\u63A8\u8350\u5B89\u88C5\u4E0B\u5217\u5DE5\u5177\u4E4B\u4E00\uFF1A
|
|
13
14
|
- npm install -g bun
|
|
14
15
|
- npm install -g esno
|
|
15
16
|
- npm install -g tsx`:`No TypeScript executor found. Recommend installing one of:
|
|
16
17
|
- npm install -g bun
|
|
17
18
|
- npm install -g esno
|
|
18
|
-
- npm install -g tsx`,color:"yellow"}));return}let o=`${e} ${t}`;await
|
|
19
|
+
- npm install -g tsx`,color:"yellow"}));return}let o=`${e} ${t}`;await wt(t,o,s,a)}async function bt(t,s,a){let i=[".js",".ts",".mjs",".cjs"],e=G.default.extname(t);if(e&&i.includes(e)&&(0,T.existsSync)(t))return await nt(t,s,a),!0;if(!e)for(let o of i){let g=`${t}${o}`;if((0,T.existsSync)(g))return await nt(g,s,a),!0}if((0,T.existsSync)(t)&&(await $t.default.stat(t)).isDirectory())for(let o of i){let g=G.default.join(t,`index${o}`);if((0,T.existsSync)(g))return await nt(g,s,a),!0}return!1}async function kt(t,s,a){t.endsWith(".py")?await wt(t,`python ${t}`,s,a):t.endsWith(".rs")&&((await(0,J.jsShell)(`rustc ${t}`)).status===0?(await M(`prun ${t}`),await(0,J.jsShell)(`./${t.slice(0,t.length-3)}`,"inherit"),c((0,I.default)({color:"green",text:`
|
|
19
20
|
"prun ${t}" ${s} \u{1F389}`}))):c((0,I.default)({color:"red",text:`
|
|
20
|
-
command "prun ${t}" ${a} \u274C`})))}var C=m(require("@simon_he/colorize")),
|
|
21
|
+
command "prun ${t}" ${a} \u274C`})))}var C=m(require("@simon_he/colorize")),Y=require("lazy-js-utils/node"),rt=console.log;async function jt(t){let{status:s}=await(0,Y.jsShell)("gum -v","pipe");if(s!==0){rt((0,C.default)({color:"blue",text:t?"\u6B63\u5728\u4E3A\u60A8\u5B89\u88C5gum...":"install gum..."}));let{status:a}=await(0,Y.jsShell)("brew install gum");if(a!==0){let{status:i}=await(0,Y.jsShell)(`sudo mkdir -p /etc/apt/keyrings
|
|
21
22
|
curl -fsSL https://repo.charm.sh/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/charm.gpg
|
|
22
23
|
echo "deb [signed-by=/etc/apt/keyrings/charm.gpg] https://repo.charm.sh/apt/ * *" | sudo tee /etc/apt/sources.list.d/charm.list
|
|
23
|
-
sudo apt update && sudo apt install gum`);if(i!==0){let e=(await import("terminal-link")).default,o=e(t?"gum\u5B98\u7F51\u94FE\u63A5":"the official website of gum","https://github.com/charmbracelet/gum#installation");return
|
|
24
|
+
sudo apt update && sudo apt install gum`);if(i!==0){let e=(await import("terminal-link")).default,o=e(t?"gum\u5B98\u7F51\u94FE\u63A5":"the official website of gum","https://github.com/charmbracelet/gum#installation");return rt((0,C.default)({color:"red",text:`${t?"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,C.default)({color:"yellow",text:o,bold:!0})}`}))}}rt((0,C.default)({color:"green",text:t?"gum\u5B89\u88C5\u6210\u529F \u{1F389}":"gum install successfully \u{1F389}"}))}}var _t=m(require("fs/promises"));function vt(t){return new Promise(s=>{_t.default.readFile(t,"utf-8").then(a=>{let i=[];for(let e of a.matchAll(/.PHONY:\s*([\w\-]+)/g)){let o;if(!e||!(o=e[1]))continue;let g=new RegExp(`^${o}:[
|
|
24
25
|
\\s]*([^
|
|
25
|
-
\\\\;]+)`,"ms"),k=a.match(
|
|
26
|
+
\\\\;]+)`,"ms"),k=a.match(g);if(!k)continue;let d=`${k[1].trim()}...`;i.push({name:o,detail:d})}s(i)}).catch(s)})}var Et=m(require("process")),St=m(require("@simon_he/colorize"));function zt(t){let s=t[0];return s?s.startsWith("--")?["","",t.join(" ")]:t[1]&&t[1].startsWith("--")?[s,"",t.slice(1).join(" ")]:[s,t[1],t.slice(2).join(" ")]:["","",""]}function st(t,s){let a=Object.keys(t),i=a.find(e=>e.startsWith(s));if(i)return i;try{let e=new RegExp(s.split("").join("[_-\\w$.:]*"));return a.find(o=>e.test(o))}catch(e){c((0,St.default)({text:`${l?"\u6B63\u5219\u9519\u8BEF":"RegExp error"}: ${e}`,color:"red"})),Et.default.exit(1)}}var Ft=m(require("fs/promises")),ot=m(require("path")),it=m(require("process")),Rt=m(require("fast-glob")),Wt=require("lazy-js-utils"),Mt=require("lazy-js-utils/node"),Kt=require("yamljs"),R=[],F=null;async function Vt(t){let s=t==="pnpm"?ot.default.resolve(it.default.cwd(),"pnpm-workspace.yaml"):ot.default.resolve(it.default.cwd(),"package.json");try{return await Ft.default.readFile(s,"utf-8")}catch{return""}}function Qt(t,s){if(t==="pnpm")return Kt.parse(s)?.packages||[];{let a=JSON.parse(s)?.workspaces;return(0,Wt.isPlainObject)(a)?a?.packages||[]:a||[]}}async function Ut(t){if(!t.length)return{};let s=await(0,Rt.default)(t.map(i=>`${i}/package.json`),{dot:!0,ignore:["**/node_modules/**"]});return(await Promise.all(s.map(async i=>{let e=await(0,Mt.getPkg)(i);if(!e)return null;let{name:o,scripts:g}=e;return{name:o,scripts:g}}))).reduce((i,e)=>(!e||!e.name||!e.scripts||(i[e.name]=Object.keys(e.scripts).reduce((o,g)=>(g.startsWith("//")||(o[g]=e.scripts[g]),o),{})),i),{})}async function Xt(t){if(F)return F;let s=await Vt(t),a=Qt(t,s);return F=await Ut(a)||{},R=Object.keys(F).filter(i=>F[i]&&Object.keys(F[i]).length),F}async function N(t){return Xt(t)}var at=(0,Ht.memorizeFn)(b.getPkg),ct={};async function Ot(t=D.default.argv.slice(2).join(" ")){await jt(l);let s=l?"\u5F53\u524D\u76EE\u5F55\u4E0D\u5B58\u5728\u4EFB\u4F55\u5B50\u76EE\u5F55":"The current directory does not have any subdirectories",a=l?"\u8FD0\u884C\u6210\u529F":"run successfully",i=l?"\u8FD0\u884C\u5931\u8D25":"run error",e=t?t.replace(/\s+/," ").split(" "):D.default.argv.slice(2);if(e[0]==="-v"||e[0]==="--version")return c((0,u.default)({text:l?`ccommand \u5F53\u524D\u7248\u672C: ${K}`:`ccommand Version: ${K}`,color:"green"}));if(e[0]==="-h"||e[0]==="--help"){let r=(await import("terminal-link")).default,n=r(l?"\u6253\u5F00\u4E00\u4E2A\u65B0\u7684\u95EE\u9898":"open an issue","https://github.com/Simon-He95/ccommand/issues"),h=r(l?"\u2728\u5E2E\u52A9\u70B9\u4E00\u4E2A\u661F\u661F":"\u2728star it","https://github.com/Simon-He95/ccommand");return c((0,u.default)({color:"white",text:`
|
|
26
27
|
${(0,u.default)({bold:!0,text:"Common Commands:",bgColor:"blue"})}
|
|
27
28
|
${(0,u.default)({text:`- ccommand -v \u67E5\u770B\u5F53\u524D\u7248\u672C
|
|
28
29
|
- ccommand -help \u67E5\u770B\u5E2E\u52A9
|
|
@@ -30,10 +31,10 @@ command "prun ${t}" ${a} \u274C`})))}var C=m(require("@simon_he/colorize")),Z=re
|
|
|
30
31
|
- ccommand find \u67E5\u627E\u5F53\u524Dworkspace\u7684\u6240\u6709\u76EE\u5F55
|
|
31
32
|
`,color:"cyan"})}
|
|
32
33
|
If you encounter any problems, you can ${(0,u.default)({color:"magenta",text:n})}.
|
|
33
|
-
If you like it, please ${(0,u.default)({text:h,bold:!0,color:"cyan"})} `}))}else if(e[0]?.endsWith(".py")||e[0]?.endsWith(".rs")){await
|
|
34
|
-
`)}" | gum filter --placeholder=" \u{1F914}\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u6307\u4EE4"`,"pipe");if(w===O)return W();f=$}await
|
|
35
|
-
${L} \u{1F389}`}));if(
|
|
34
|
+
If you like it, please ${(0,u.default)({text:h,bold:!0,color:"cyan"})} `}))}else if(e[0]?.endsWith(".py")||e[0]?.endsWith(".rs")){await kt(e[0],a,i);return}let o;try{o=await(0,b.getPkgTool)()}catch{try{if(await Pt.default.readFile(Lt.default.resolve(D.default.cwd(),"./Makefile"),"utf-8")){o="make";let n=await vt("./Makefile"),h=n.reduce(($,w)=>{let{name:x,detail:H}=w;return $[x]=H,$},{}),f="";if(t)f=st(h,t);else{let{result:$,status:w}=await(0,b.jsShell)(`echo "${n.map(x=>x.name).join(`
|
|
35
|
+
`)}" | gum filter --placeholder=" \u{1F914}\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u6307\u4EE4"`,"pipe");if(w===O)return W();f=$}await Z(f.trim(),"");return}else return c((0,u.default)({color:"red",text:U}))}catch{if(e[0]!=="find")return c((0,u.default)({color:"red",text:U}))}}let[g,k,d]=zt(e),y=g,j;if(e[0]==="find"){if(k)await N(o),y=R.filter(r=>r.includes(k))[0];else if(o==="yarn"){if(await N(o),!R.length)return c((0,u.default)({color:"yellow",text:s}));let{result:r,status:n}=await(0,b.jsShell)(`echo ${R.join(",")} | sed "s/,/\\n/g" | gum filter --placeholder=" \u{1F914}${l?"\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u76EE\u5F55":"Please select a directory to execute"}"`,["inherit","pipe","inherit"]);if(y=r,n===O)return W()}else if(o==="pnpm"){if(await N(o),!R.length)return c((0,u.default)({color:"yellow",text:s}));let{result:r,status:n}=await(0,b.jsShell)(`echo ${R.join(",")} | sed "s/,/\\n/g" | gum filter --placeholder=" \u{1F914}${l?"\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u76EE\u5F55":"Please select a directory to execute"}"`,["inherit","pipe","inherit"]);if(n===O)return W();y=r.trim()}else return c((0,u.default)({color:"red",text:l?"find\u6307\u4EE4\u53EA\u80FD\u652F\u6301\u5728yarn\u6216pnpm\u7684monorepo\u6A21\u5F0F\u4E0B\u4F7F\u7528":"find command only support yarn or pnpm"}));j=await pt()}else{j=await pt();try{let r=(await at("./package.json")||{})?.scripts;if(r&&r[e[0]]){await Z(e[0],e.slice(1).join(" "));return}else if(r&&g){let n=st(r,e[0]);if(n){let h=e.slice(1).join(" ");await Z(n,h);return}else{if(await bt(e[0],a,i))return;let f=`${g}.py`;if((0,lt.existsSync)(f)){c((0,u.default)({text:`\u{1F914} ${l?"\u627E\u5230Python\u6587\u4EF6":"Found Python file"}: ${f}`,color:"yellow"}));return}let $=`${g}.rs`;if((0,lt.existsSync)($))return;c((0,u.default)({color:"red",text:`"${e[0]}" ${l?"\u5728\u5DE5\u4F5C\u533A\u3001\u5F53\u524D\u76EE\u5F55\u4E2D\u627E\u4E0D\u5230\u4EFB\u4F55\u53EF\u6267\u884C\u7684\u811A\u672C\u6216\u6587\u4EF6\uFF0C\u8BF7\u68C0\u67E5":"is not found in workspace, current directory or current scripts, please check"}`})),D.default.exit(1)}}}catch{}}if(!j)return c((0,u.default)({color:"red",text:l?"\u627E\u4E0D\u5230\u4EFB\u4F55\u53EF\u6267\u884C\u811A\u672C":"No scripts found"}));let P=[],p="";if(!k||e[0]==="find"&&(!e[2]||e[2].startsWith("--"))){let r=Object.keys(j).reduce((f,$)=>{let w=j[$];return P.push($),f+=`"${$}: ${w.replace(/\\/g,"\\\\").replace(/(["`])/g,"\\$1")}"${Q}`,f},""),{result:n,status:h}=await(0,b.jsShell)(`echo ${r} | sed "s/${Q}/\\n/g" | gum filter --placeholder=" \u{1F914}\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u6307\u4EE4"`,{stdio:["inherit","pipe","inherit"],isLog:!1});if(h===O)return W();p=n.substring(0,n.indexOf(": "))}if(!k&&!p)return W();c((0,u.default)({text:`\u{1F914} ${X} ${p}`,color:"magenta"}));let[S,L]=await It(),v=S.replace(/\s+/g," "),{status:z,result:Tt=""}=await(0,b.jsShell)(v,{errorExit:!1,stdio:"inherit"});if(z===0)return c((0,u.default)({color:"green",text:`
|
|
36
|
+
${L} \u{1F389}`}));if(Tt.includes("pnpm versions with respective Node.js version support")){c((0,u.default)({text:l?"\u6B63\u5728\u5C1D\u8BD5\u4F7F\u7528 npm \u518D\u6B21\u6267\u884C...":"Trying to use npm to run again...",color:"yellow"}));let{status:r}=await(0,b.jsShell)(`npm run ${p}${d?` -- ${d}`:""}`,"inherit");if(r===0)return c((0,u.default)({color:"green",text:`
|
|
36
37
|
${L} \u{1F389}`}))}c((0,u.default)({color:"red",text:`
|
|
37
|
-
command '${p}' ${i} \u274C`}));function
|
|
38
|
+
command '${p}' ${i} \u274C`}));function ut(r){return P.find(n=>n===r)??P.find(n=>r.startsWith(n))}async function It(){let r="",n="",h=o!=="yarn";o==="npm"?(n=d?` -- ${d}`:"",r=y?` --prefix ${y} `:" "):o==="pnpm"?(n=d?` ${d}`:"",r=y?` --filter ${y} `:" "):o==="yarn"?(n=d?` ${d}`:"",r=y?` workspace ${y} `:" "):o==="bun"&&(n=d?` ${d}`:"",r="");let f="",$="";if(n&&!n.startsWith(" --")){let mt=n.split(" ").filter(Boolean);f=mt[0],n=mt.slice(1).join(" ")}let w=`${o}${h?" run":" "}${r} ${f||(p?ut(p)||p:k)} ${Ct(n)?`-- ${n}`:n}`;p=`${f||(p?ut(p):k)}`,e[0]==="find"?$=`pfind ${y} ${p} ${n}`.replace(/\s+/g," ").trim():$=`prun ${p} ${n}`.replace(/\s+/g," ").trim(),await M($);let x=$.split(" "),H=x.slice(-1)[0];x[x.length-1]=`'${H}'`;let B=x.join(" ");return[w,B]}async function pt(){try{let r=y||"root";if(ct[r])return ct[r];let n;return!y||o==="bun"||o==="npm"?n=(await at("./package.json"))?.scripts:(o==="pnpm"||o==="yarn")&&(n=(await N(o))[y]||(await at(`${y}/package.json`))?.scripts),n&&(ct[r]=n),n}catch{return null}}function Ct(r){return e[0]==="find",e[1]&&r}async function Z(r,n){let h,f="",$=e[0]?.trim();switch(r&&$&&$!==r?c((0,u.default)({text:`\u{1F914} ${(0,u.default)({text:`'${e[0]}'`,color:"cyan"})} ${l?"\u81EA\u52A8\u7684\u4E3A\u60A8\u5339\u914D\u6210":"automatically match for you to"} ${(0,u.default)({text:`'${r}${n?` ${n}`:""}'`,color:"cyan"})} `,color:"yellow"})):r&&c((0,u.default)({text:`\u{1F914} ${X} ${r}`,color:"magenta"})),o){case"npm":{let{status:w,result:x}=await(0,b.jsShell)(`npm run ${r}${n?` -- ${n}`:""}`,{errorExit:!1,isLog:!1,stdio:"inherit"});h=w,f=x;break}case"pnpm":{let{status:w,result:x=""}=await(0,b.jsShell)(`pnpm run ${r}${n?` ${n}`:""}`,{errorExit:!1,isLog:!1,stdio:"inherit"});if(f=x,h=w,f.includes("pnpm versions with respective Node.js version support")){c((0,u.default)({text:l?"\u6B63\u5728\u5C1D\u8BD5\u4F7F\u7528 npm \u518D\u6B21\u6267\u884C...":"Trying to use npm to run again...",color:"yellow"}));let{status:H,result:B}=await(0,b.jsShell)(`npm run ${r}${n?` -- ${n}`:""}`,{errorExit:!1,isLog:!1,stdio:"inherit"});h=H,f=B}break}case"yarn":{let{status:w,result:x}=await(0,b.jsShell)(`yarn ${r}${n?` ${n}`:""}`,{errorExit:!1,isLog:!1,stdio:"inherit"});h=w,f=x;break}case"bun":{let{status:w,result:x}=await(0,b.jsShell)(`bun run ${r} ${n}`,{errorExit:!1,isLog:!1,stdio:"inherit"});h=w,f=x;break}case"make":{let{status:w,result:x}=await(0,b.jsShell)(`make ${r} ${n}`,{errorExit:!1,isLog:!1,stdio:"inherit"});h=w,f=x;break}}return h===0?(await M(`prun ${r}${n?` ${n}`:""}`),c((0,u.default)({color:"green",text:`
|
|
38
39
|
prun '${r}${n?` ${n}`:""}' ${a} \u{1F389}`}))):c((0,u.default)({color:"red",text:`
|
|
39
|
-
command ${(0,u.default)({bold:!0,color:"cyan",text:`'${r||e[0]}${n?` ${n}`:""}'`})} ${i} \u274C`}))}}
|
|
40
|
+
command ${(0,u.default)({bold:!0,color:"cyan",text:`'${r||e[0]}${n?` ${n}`:""}'`})} ${i} \u274C`}))}}Ot();
|
package/dist/index.js
CHANGED
|
@@ -1,28 +1,29 @@
|
|
|
1
|
-
"use strict";var
|
|
2
|
-
when: ${k}`;break;case"bash":default:E.default.env.HISTTIMEFORMAT?
|
|
3
|
-
${t}`:
|
|
1
|
+
"use strict";var Dt=Object.create;var A=Object.defineProperty;var At=Object.getOwnPropertyDescriptor;var qt=Object.getOwnPropertyNames;var Gt=Object.getPrototypeOf,Jt=Object.prototype.hasOwnProperty;var Yt=(t,s)=>{for(var i in s)A(t,i,{get:s[i],enumerable:!0})},dt=(t,s,i,a)=>{if(s&&typeof s=="object"||typeof s=="function")for(let e of qt(s))!Jt.call(t,e)&&e!==i&&A(t,e,{get:()=>s[e],enumerable:!(a=At(s,e))||a.enumerable});return t};var m=(t,s,i)=>(i=t!=null?Dt(Gt(t)):{},dt(s||!t||!t.__esModule?A(i,"default",{value:t,enumerable:!0}):i,t)),Zt=t=>dt(A({},"__esModule",{value:!0}),t);var ne={};Yt(ne,{ccommand:()=>Tt});module.exports=Zt(ne);var ut=require("fs"),Lt=m(require("fs/promises")),Ht=m(require("path")),D=m(require("process")),u=m(require("@simon_he/colorize")),Ot=require("lazy-js-utils"),b=require("lazy-js-utils/node");var V="1.0.86";var Q=m(require("process")),gt=m(require("@simon_he/colorize")),c=console.log,U="__ccommand__split",l=Q.default.env.PI_Lang==="zh",O=130,ht=l?"\u5DF2\u53D6\u6D88...":"Cancelled...",X=l?"\u5F53\u524D\u76EE\u5F55\u5E76\u672A\u627E\u5230package.json\u6587\u4EF6":"The current directory and not found package.json file",tt=l?"\u6B63\u5728\u4E3A\u60A8\u6267\u884C...":"is running for you...";function W(){return c((0,gt.default)({color:"yellow",text:ht})),Q.default.exit()}var $t=require("child_process"),T=require("fs"),xt=m(require("fs/promises")),J=m(require("path")),wt=require("util"),I=m(require("@simon_he/colorize")),Y=require("lazy-js-utils/node");var yt=require("fs"),et=m(require("fs/promises")),E=m(require("process")),q=m(require("@simon_he/colorize"));async function M(t){c((0,q.default)({text:`${l?"\u5FEB\u6377\u6307\u4EE4":"shortcut command"}: ${t}`,color:"blue",bold:!0}));let i=(E.default.env.SHELL||"/bin/bash").split("/").pop()||"bash",a="",e="";switch(i){case"zsh":a=`${E.default.env.HOME}/.zsh_history`,e="zsh";break;case"bash":a=E.default.env.HISTFILE||`${E.default.env.HOME}/.bash_history`,e="bash";break;case"fish":a=`${E.default.env.HOME}/.local/share/fish/fish_history`,e="fish";break;default:a=E.default.env.HISTFILE||`${E.default.env.HOME}/.bash_history`,e="bash"}try{if(!(0,yt.existsSync)(a)){c((0,q.default)({text:`${l?`\u672A\u627E\u5230 ${i} \u5386\u53F2\u6587\u4EF6`:`${i} history file not found`}`,color:"yellow"}));return}let o=await et.default.readFile(a,"utf8"),k=Math.floor(new Date().getTime()/1e3),d="",y="";switch(e){case"zsh":d=`: ${k}:0;${t}`;break;case"fish":d=`- cmd: ${t}
|
|
2
|
+
when: ${k}`;break;case"bash":default:E.default.env.HISTTIMEFORMAT?d=`#${k}
|
|
3
|
+
${t}`:d=t}e==="fish"?y=`${o+(o&&!o.endsWith(`
|
|
4
4
|
`)?`
|
|
5
|
-
`:"")+
|
|
6
|
-
`:y=`${
|
|
5
|
+
`:"")+d}
|
|
6
|
+
`:y=`${`${o+(o&&!o.endsWith(`
|
|
7
7
|
`)?`
|
|
8
|
-
`:"")+
|
|
8
|
+
`:"")+d}
|
|
9
|
+
${d}`}
|
|
9
10
|
`;let j=[];y.split(`
|
|
10
11
|
`).forEach(p=>{let S="";e==="zsh"?S=p.split(";").slice(1).join(";"):e==="fish"?p.startsWith("- cmd: ")?S=p.substring(7):S=p:(p.startsWith("#"),S=p);let L=j.findIndex(v=>{let z="";return e==="zsh"?z=v.split(";").slice(1).join(";"):e==="fish"?v.startsWith("- cmd: ")?z=v.substring(7):z=v:(v.startsWith("#"),z=v),z===S});L!==-1&&j.splice(L,1),j.push(p)});let P=j.join(`
|
|
11
|
-
`);
|
|
12
|
-
"prun ${t}" ${e===0?
|
|
12
|
+
`);et.default.writeFile(a,P)}catch{c((0,q.default)({text:`${l?`\u274C \u6DFB\u52A0\u5230 ${i} \u5386\u53F2\u8BB0\u5F55\u5931\u8D25`:`\u274C Failed to add to ${i} history`}`,color:"red"}))}}var Kt=(0,wt.promisify)($t.exec),G={};async function nt(t){if(G[t]!==void 0)return G[t];try{return await Kt(`which ${t}`),G[t]=!0,!0}catch{return G[t]=!1,!1}}var _=null;async function Vt(){return _!==null||(await nt("bun")?_="bun":await nt("esno")?_="esno":await nt("tsx")?_="tsx":_=null),_}async function bt(t,s,i,a){await M(`prun ${t}`);let{status:e}=await(0,Y.jsShell)(s,{errorExit:!1,isLog:!1,stdio:"inherit"});c((0,I.default)({color:e===0?"green":"red",text:`
|
|
13
|
+
"prun ${t}" ${e===0?i:a} ${e===0?"\u{1F389}":"\u274C"}`}))}async function rt(t,s,i){let a=J.default.extname(t),e="node";if(a===".ts")if(_===null&&await Vt(),_)e=_;else{c((0,I.default)({text:l?`\u6CA1\u6709\u627E\u5230\u53EF\u4EE5\u76F4\u63A5\u6267\u884CTypeScript\u7684\u5DE5\u5177\uFF0C\u63A8\u8350\u5B89\u88C5\u4E0B\u5217\u5DE5\u5177\u4E4B\u4E00\uFF1A
|
|
13
14
|
- npm install -g bun
|
|
14
15
|
- npm install -g esno
|
|
15
16
|
- npm install -g tsx`:`No TypeScript executor found. Recommend installing one of:
|
|
16
17
|
- npm install -g bun
|
|
17
18
|
- npm install -g esno
|
|
18
|
-
- npm install -g tsx`,color:"yellow"}));return}let
|
|
19
|
+
- npm install -g tsx`,color:"yellow"}));return}let o=`${e} ${t}`;await bt(t,o,s,i)}async function kt(t,s,i){let a=[".js",".ts",".mjs",".cjs"],e=J.default.extname(t);if(e&&a.includes(e)&&(0,T.existsSync)(t))return await rt(t,s,i),!0;if(!e)for(let o of a){let g=`${t}${o}`;if((0,T.existsSync)(g))return await rt(g,s,i),!0}if((0,T.existsSync)(t)&&(await xt.default.stat(t)).isDirectory())for(let o of a){let g=J.default.join(t,`index${o}`);if((0,T.existsSync)(g))return await rt(g,s,i),!0}return!1}async function jt(t,s,i){t.endsWith(".py")?await bt(t,`python ${t}`,s,i):t.endsWith(".rs")&&((await(0,Y.jsShell)(`rustc ${t}`)).status===0?(await M(`prun ${t}`),await(0,Y.jsShell)(`./${t.slice(0,t.length-3)}`,"inherit"),c((0,I.default)({color:"green",text:`
|
|
19
20
|
"prun ${t}" ${s} \u{1F389}`}))):c((0,I.default)({color:"red",text:`
|
|
20
|
-
command "prun ${t}" ${
|
|
21
|
+
command "prun ${t}" ${i} \u274C`})))}var C=m(require("@simon_he/colorize")),Z=require("lazy-js-utils/node"),st=console.log;async function _t(t){let{status:s}=await(0,Z.jsShell)("gum -v","pipe");if(s!==0){st((0,C.default)({color:"blue",text:t?"\u6B63\u5728\u4E3A\u60A8\u5B89\u88C5gum...":"install gum..."}));let{status:i}=await(0,Z.jsShell)("brew install gum");if(i!==0){let{status:a}=await(0,Z.jsShell)(`sudo mkdir -p /etc/apt/keyrings
|
|
21
22
|
curl -fsSL https://repo.charm.sh/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/charm.gpg
|
|
22
23
|
echo "deb [signed-by=/etc/apt/keyrings/charm.gpg] https://repo.charm.sh/apt/ * *" | sudo tee /etc/apt/sources.list.d/charm.list
|
|
23
|
-
sudo apt update && sudo apt install gum`);if(a!==0){let e=(await import("terminal-link")).default,
|
|
24
|
+
sudo apt update && sudo apt install gum`);if(a!==0){let e=(await import("terminal-link")).default,o=e(t?"gum\u5B98\u7F51\u94FE\u63A5":"the official website of gum","https://github.com/charmbracelet/gum#installation");return st((0,C.default)({color:"red",text:`${t?"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,C.default)({color:"yellow",text:o,bold:!0})}`}))}}st((0,C.default)({color:"green",text:t?"gum\u5B89\u88C5\u6210\u529F \u{1F389}":"gum install successfully \u{1F389}"}))}}var vt=m(require("fs/promises"));function Et(t){return new Promise(s=>{vt.default.readFile(t,"utf-8").then(i=>{let a=[];for(let e of i.matchAll(/.PHONY:\s*([\w\-]+)/g)){let o;if(!e||!(o=e[1]))continue;let g=new RegExp(`^${o}:[
|
|
24
25
|
\\s]*([^
|
|
25
|
-
\\\\;]+)`,"ms"),k=
|
|
26
|
+
\\\\;]+)`,"ms"),k=i.match(g);if(!k)continue;let d=`${k[1].trim()}...`;a.push({name:o,detail:d})}s(a)}).catch(s)})}var St=m(require("process")),zt=m(require("@simon_he/colorize"));function Ft(t){let s=t[0];return s?s.startsWith("--")?["","",t.join(" ")]:t[1]&&t[1].startsWith("--")?[s,"",t.slice(1).join(" ")]:[s,t[1],t.slice(2).join(" ")]:["","",""]}function ot(t,s){let i=Object.keys(t),a=i.find(e=>e.startsWith(s));if(a)return a;try{let e=new RegExp(s.split("").join("[_-\\w$.:]*"));return i.find(o=>e.test(o))}catch(e){c((0,zt.default)({text:`${l?"\u6B63\u5219\u9519\u8BEF":"RegExp error"}: ${e}`,color:"red"})),St.default.exit(1)}}var Rt=m(require("fs/promises")),it=m(require("path")),at=m(require("process")),Wt=m(require("fast-glob")),Mt=require("lazy-js-utils"),Pt=require("lazy-js-utils/node"),Qt=require("yamljs"),R=[],F=null;async function Ut(t){let s=t==="pnpm"?it.default.resolve(at.default.cwd(),"pnpm-workspace.yaml"):it.default.resolve(at.default.cwd(),"package.json");try{return await Rt.default.readFile(s,"utf-8")}catch{return""}}function Xt(t,s){if(t==="pnpm")return Qt.parse(s)?.packages||[];{let i=JSON.parse(s)?.workspaces;return(0,Mt.isPlainObject)(i)?i?.packages||[]:i||[]}}async function te(t){if(!t.length)return{};let s=await(0,Wt.default)(t.map(a=>`${a}/package.json`),{dot:!0,ignore:["**/node_modules/**"]});return(await Promise.all(s.map(async a=>{let e=await(0,Pt.getPkg)(a);if(!e)return null;let{name:o,scripts:g}=e;return{name:o,scripts:g}}))).reduce((a,e)=>(!e||!e.name||!e.scripts||(a[e.name]=Object.keys(e.scripts).reduce((o,g)=>(g.startsWith("//")||(o[g]=e.scripts[g]),o),{})),a),{})}async function ee(t){if(F)return F;let s=await Ut(t),i=Xt(t,s);return F=await te(i)||{},R=Object.keys(F).filter(a=>F[a]&&Object.keys(F[a]).length),F}async function N(t){return ee(t)}var ct=(0,Ot.memorizeFn)(b.getPkg),lt={};async function Tt(t=D.default.argv.slice(2).join(" ")){await _t(l);let s=l?"\u5F53\u524D\u76EE\u5F55\u4E0D\u5B58\u5728\u4EFB\u4F55\u5B50\u76EE\u5F55":"The current directory does not have any subdirectories",i=l?"\u8FD0\u884C\u6210\u529F":"run successfully",a=l?"\u8FD0\u884C\u5931\u8D25":"run error",e=t?t.replace(/\s+/," ").split(" "):D.default.argv.slice(2);if(e[0]==="-v"||e[0]==="--version")return c((0,u.default)({text:l?`ccommand \u5F53\u524D\u7248\u672C: ${V}`:`ccommand Version: ${V}`,color:"green"}));if(e[0]==="-h"||e[0]==="--help"){let r=(await import("terminal-link")).default,n=r(l?"\u6253\u5F00\u4E00\u4E2A\u65B0\u7684\u95EE\u9898":"open an issue","https://github.com/Simon-He95/ccommand/issues"),h=r(l?"\u2728\u5E2E\u52A9\u70B9\u4E00\u4E2A\u661F\u661F":"\u2728star it","https://github.com/Simon-He95/ccommand");return c((0,u.default)({color:"white",text:`
|
|
26
27
|
${(0,u.default)({bold:!0,text:"Common Commands:",bgColor:"blue"})}
|
|
27
28
|
${(0,u.default)({text:`- ccommand -v \u67E5\u770B\u5F53\u524D\u7248\u672C
|
|
28
29
|
- ccommand -help \u67E5\u770B\u5E2E\u52A9
|
|
@@ -30,10 +31,10 @@ command "prun ${t}" ${o} \u274C`})))}var C=m(require("@simon_he/colorize")),B=re
|
|
|
30
31
|
- ccommand find \u67E5\u627E\u5F53\u524Dworkspace\u7684\u6240\u6709\u76EE\u5F55
|
|
31
32
|
`,color:"cyan"})}
|
|
32
33
|
If you encounter any problems, you can ${(0,u.default)({color:"magenta",text:n})}.
|
|
33
|
-
If you like it, please ${(0,u.default)({text:h,bold:!0,color:"cyan"})} `}))}else if(e[0]?.endsWith(".py")||e[0]?.endsWith(".rs")){await
|
|
34
|
-
`)}" | gum filter --placeholder=" \u{1F914}\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u6307\u4EE4"`,"pipe");if(w===O)return W();f=$}await
|
|
35
|
-
${L} \u{1F389}`}));if(
|
|
34
|
+
If you like it, please ${(0,u.default)({text:h,bold:!0,color:"cyan"})} `}))}else if(e[0]?.endsWith(".py")||e[0]?.endsWith(".rs")){await jt(e[0],i,a);return}let o;try{o=await(0,b.getPkgTool)()}catch{try{if(await Lt.default.readFile(Ht.default.resolve(D.default.cwd(),"./Makefile"),"utf-8")){o="make";let n=await Et("./Makefile"),h=n.reduce(($,w)=>{let{name:x,detail:H}=w;return $[x]=H,$},{}),f="";if(t)f=ot(h,t);else{let{result:$,status:w}=await(0,b.jsShell)(`echo "${n.map(x=>x.name).join(`
|
|
35
|
+
`)}" | gum filter --placeholder=" \u{1F914}\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u6307\u4EE4"`,"pipe");if(w===O)return W();f=$}await B(f.trim(),"");return}else return c((0,u.default)({color:"red",text:X}))}catch{if(e[0]!=="find")return c((0,u.default)({color:"red",text:X}))}}let[g,k,d]=Ft(e),y=g,j;if(e[0]==="find"){if(k)await N(o),y=R.filter(r=>r.includes(k))[0];else if(o==="yarn"){if(await N(o),!R.length)return c((0,u.default)({color:"yellow",text:s}));let{result:r,status:n}=await(0,b.jsShell)(`echo ${R.join(",")} | sed "s/,/\\n/g" | gum filter --placeholder=" \u{1F914}${l?"\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u76EE\u5F55":"Please select a directory to execute"}"`,["inherit","pipe","inherit"]);if(y=r,n===O)return W()}else if(o==="pnpm"){if(await N(o),!R.length)return c((0,u.default)({color:"yellow",text:s}));let{result:r,status:n}=await(0,b.jsShell)(`echo ${R.join(",")} | sed "s/,/\\n/g" | gum filter --placeholder=" \u{1F914}${l?"\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u76EE\u5F55":"Please select a directory to execute"}"`,["inherit","pipe","inherit"]);if(n===O)return W();y=r.trim()}else return c((0,u.default)({color:"red",text:l?"find\u6307\u4EE4\u53EA\u80FD\u652F\u6301\u5728yarn\u6216pnpm\u7684monorepo\u6A21\u5F0F\u4E0B\u4F7F\u7528":"find command only support yarn or pnpm"}));j=await mt()}else{j=await mt();try{let r=(await ct("./package.json")||{})?.scripts;if(r&&r[e[0]]){await B(e[0],e.slice(1).join(" "));return}else if(r&&g){let n=ot(r,e[0]);if(n){let h=e.slice(1).join(" ");await B(n,h);return}else{if(await kt(e[0],i,a))return;let f=`${g}.py`;if((0,ut.existsSync)(f)){c((0,u.default)({text:`\u{1F914} ${l?"\u627E\u5230Python\u6587\u4EF6":"Found Python file"}: ${f}`,color:"yellow"}));return}let $=`${g}.rs`;if((0,ut.existsSync)($))return;c((0,u.default)({color:"red",text:`"${e[0]}" ${l?"\u5728\u5DE5\u4F5C\u533A\u3001\u5F53\u524D\u76EE\u5F55\u4E2D\u627E\u4E0D\u5230\u4EFB\u4F55\u53EF\u6267\u884C\u7684\u811A\u672C\u6216\u6587\u4EF6\uFF0C\u8BF7\u68C0\u67E5":"is not found in workspace, current directory or current scripts, please check"}`})),D.default.exit(1)}}}catch{}}if(!j)return c((0,u.default)({color:"red",text:l?"\u627E\u4E0D\u5230\u4EFB\u4F55\u53EF\u6267\u884C\u811A\u672C":"No scripts found"}));let P=[],p="";if(!k||e[0]==="find"&&(!e[2]||e[2].startsWith("--"))){let r=Object.keys(j).reduce((f,$)=>{let w=j[$];return P.push($),f+=`"${$}: ${w.replace(/\\/g,"\\\\").replace(/(["`])/g,"\\$1")}"${U}`,f},""),{result:n,status:h}=await(0,b.jsShell)(`echo ${r} | sed "s/${U}/\\n/g" | gum filter --placeholder=" \u{1F914}\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u6307\u4EE4"`,{stdio:["inherit","pipe","inherit"],isLog:!1});if(h===O)return W();p=n.substring(0,n.indexOf(": "))}if(!k&&!p)return W();c((0,u.default)({text:`\u{1F914} ${tt} ${p}`,color:"magenta"}));let[S,L]=await Ct(),v=S.replace(/\s+/g," "),{status:z,result:It=""}=await(0,b.jsShell)(v,{errorExit:!1,stdio:"inherit"});if(z===0)return c((0,u.default)({color:"green",text:`
|
|
36
|
+
${L} \u{1F389}`}));if(It.includes("pnpm versions with respective Node.js version support")){c((0,u.default)({text:l?"\u6B63\u5728\u5C1D\u8BD5\u4F7F\u7528 npm \u518D\u6B21\u6267\u884C...":"Trying to use npm to run again...",color:"yellow"}));let{status:r}=await(0,b.jsShell)(`npm run ${p}${d?` -- ${d}`:""}`,"inherit");if(r===0)return c((0,u.default)({color:"green",text:`
|
|
36
37
|
${L} \u{1F389}`}))}c((0,u.default)({color:"red",text:`
|
|
37
|
-
command '${p}' ${a} \u274C`}));function
|
|
38
|
-
prun '${r}${n?` ${n}`:""}' ${
|
|
38
|
+
command '${p}' ${a} \u274C`}));function pt(r){return P.find(n=>n===r)??P.find(n=>r.startsWith(n))}async function Ct(){let r="",n="",h=o!=="yarn";o==="npm"?(n=d?` -- ${d}`:"",r=y?` --prefix ${y} `:" "):o==="pnpm"?(n=d?` ${d}`:"",r=y?` --filter ${y} `:" "):o==="yarn"?(n=d?` ${d}`:"",r=y?` workspace ${y} `:" "):o==="bun"&&(n=d?` ${d}`:"",r="");let f="",$="";if(n&&!n.startsWith(" --")){let ft=n.split(" ").filter(Boolean);f=ft[0],n=ft.slice(1).join(" ")}let w=`${o}${h?" run":" "}${r} ${f||(p?pt(p)||p:k)} ${Nt(n)?`-- ${n}`:n}`;p=`${f||(p?pt(p):k)}`,e[0]==="find"?$=`pfind ${y} ${p} ${n}`.replace(/\s+/g," ").trim():$=`prun ${p} ${n}`.replace(/\s+/g," ").trim(),await M($);let x=$.split(" "),H=x.slice(-1)[0];x[x.length-1]=`'${H}'`;let K=x.join(" ");return[w,K]}async function mt(){try{let r=y||"root";if(lt[r])return lt[r];let n;return!y||o==="bun"||o==="npm"?n=(await ct("./package.json"))?.scripts:(o==="pnpm"||o==="yarn")&&(n=(await N(o))[y]||(await ct(`${y}/package.json`))?.scripts),n&&(lt[r]=n),n}catch{return null}}function Nt(r){return e[0]==="find",e[1]&&r}async function B(r,n){let h,f="",$=e[0]?.trim();switch(r&&$&&$!==r?c((0,u.default)({text:`\u{1F914} ${(0,u.default)({text:`'${e[0]}'`,color:"cyan"})} ${l?"\u81EA\u52A8\u7684\u4E3A\u60A8\u5339\u914D\u6210":"automatically match for you to"} ${(0,u.default)({text:`'${r}${n?` ${n}`:""}'`,color:"cyan"})} `,color:"yellow"})):r&&c((0,u.default)({text:`\u{1F914} ${tt} ${r}`,color:"magenta"})),o){case"npm":{let{status:w,result:x}=await(0,b.jsShell)(`npm run ${r}${n?` -- ${n}`:""}`,{errorExit:!1,isLog:!1,stdio:"inherit"});h=w,f=x;break}case"pnpm":{let{status:w,result:x=""}=await(0,b.jsShell)(`pnpm run ${r}${n?` ${n}`:""}`,{errorExit:!1,isLog:!1,stdio:"inherit"});if(f=x,h=w,f.includes("pnpm versions with respective Node.js version support")){c((0,u.default)({text:l?"\u6B63\u5728\u5C1D\u8BD5\u4F7F\u7528 npm \u518D\u6B21\u6267\u884C...":"Trying to use npm to run again...",color:"yellow"}));let{status:H,result:K}=await(0,b.jsShell)(`npm run ${r}${n?` -- ${n}`:""}`,{errorExit:!1,isLog:!1,stdio:"inherit"});h=H,f=K}break}case"yarn":{let{status:w,result:x}=await(0,b.jsShell)(`yarn ${r}${n?` ${n}`:""}`,{errorExit:!1,isLog:!1,stdio:"inherit"});h=w,f=x;break}case"bun":{let{status:w,result:x}=await(0,b.jsShell)(`bun run ${r} ${n}`,{errorExit:!1,isLog:!1,stdio:"inherit"});h=w,f=x;break}case"make":{let{status:w,result:x}=await(0,b.jsShell)(`make ${r} ${n}`,{errorExit:!1,isLog:!1,stdio:"inherit"});h=w,f=x;break}}return h===0?(await M(`prun ${r}${n?` ${n}`:""}`),c((0,u.default)({color:"green",text:`
|
|
39
|
+
prun '${r}${n?` ${n}`:""}' ${i} \u{1F389}`}))):c((0,u.default)({color:"red",text:`
|
|
39
40
|
command ${(0,u.default)({bold:!0,color:"cyan",text:`'${r||e[0]}${n?` ${n}`:""}'`})} ${a} \u274C`}))}}0&&(module.exports={ccommand});
|