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