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