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.
Files changed (3) hide show
  1. package/dist/cli.js +18 -17
  2. package/dist/index.js +18 -17
  3. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -1,28 +1,29 @@
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(`
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
- `:"")+g}
6
- `:y=`${o+(o&&!o.endsWith(`
5
+ `:"")+d}
6
+ `:y=`${`${o+(o&&!o.endsWith(`
7
7
  `)?`
8
- `:"")+g}
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
- `);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
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 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
+ - 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")),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
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 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}:[
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(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
+ \\\\;]+)`,"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 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:`
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 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
+ 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`}))}}Tt();
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 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(`
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
- `:"")+g}
6
- `:y=`${i+(i&&!i.endsWith(`
5
+ `:"")+d}
6
+ `:y=`${`${o+(o&&!o.endsWith(`
7
7
  `)?`
8
- `:"")+g}
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
- `);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
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 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
+ - 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}" ${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
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,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}:[
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=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
+ \\\\;]+)`,"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 _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:`
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 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:`
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});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccommand",
3
- "version": "1.0.85",
3
+ "version": "1.0.86",
4
4
  "packageManager": "pnpm@6.35.1",
5
5
  "description": "ccommand",
6
6
  "author": "Simon He",