ccommand 1.0.10 → 1.0.12

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/README.md CHANGED
@@ -1,16 +1,13 @@
1
1
  <span><div align="center">![kv](/assets/kv.png)</div></span>
2
2
 
3
- 高效的执行命令行工具 | Efficient execution of command-line tools
3
+ - 高效的执行命令行工具 | Efficient execution of command-line tools
4
+ - 基于 [gum](https://github.com/charmbracelet/gum#installation) | Powered by [gum](https://github.com/charmbracelet/gum#installation)
4
5
 
5
6
  ## 介绍 | Introduction
6
7
  支持yarn、pnpm、npm、bun
7
8
 
8
- ## 依赖 | Dependencies
9
- - 需要安装[gum](https://github.com/charmbracelet/gum#installation)
10
-
11
9
  ## 安装 | Install
12
10
  ```bash
13
- brew install gum # 安装gum
14
11
  npm install -g ccommand # 安装ccommand
15
12
  ```
16
13
 
@@ -28,6 +25,7 @@ ccommand # 执行当前script
28
25
 
29
26
  https://user-images.githubusercontent.com/57086651/198815869-ae9cb88c-3ebd-4193-94ff-bed0c974269c.mov
30
27
 
28
+
31
29
  <a href="https://github.com/Simon-He95/sponsor" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" style="height: 51px !important;width: 217px !important;" ></a>
32
30
 
33
31
  ## License
package/dist/index.js CHANGED
@@ -1 +1,4 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var I=require("module"),q=require("child_process"),P=require("fs"),x=require("path"),u=require("simon-js-tool"),D=require("fast-glob");function f(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var p=f(q),h=f(P),w=f(x),O=f(D),R=require;const L=R("yamljs");let d=[],i=null;async function y(){const t=process.argv.slice(2);if(t[0]==="-v"){const{version:n}=await u.getPkg();console.log(`ccommand Version: ${n}`);return}const[a,s]=F(t);let e=a;const r=u.getPkgTool();if(t[0]==="find")if(r==="yarn")await $(),e=p.default.spawnSync(`echo ${d.join(",")} | sed "s/,/\\n/g" | gum filter`,{shell:!0,stdio:["inherit","pipe","inherit"],encoding:"utf8"}).output[1].trim();else if(r==="pnpm")await k(),e=p.default.spawnSync(`echo ${d.join(",")} | sed "s/,/\\n/g" | gum filter`,{shell:!0,stdio:["inherit","pipe","inherit"],encoding:"utf8"}).output[1].trim();else return console.log("find command only support yarn or pnpm");const c=await b();if(!c)return console.log("No scripts found");const l=[],j=Object.keys(c).reduce((n,o)=>{const g=c[o];return l.push(o),n+=`"${o}: ${g}",`,n},""),m=p.default.spawnSync(`echo ${j} | sed "s/,/\\n/g" | gum filter | cut -d' ' -f1`,{shell:!0,stdio:["inherit","pipe","inherit"],encoding:"utf8"}).output[1];if(!m)return console.log("\u5DF2\u53D6\u6D88"),process.exit();p.default.spawnSync(S(),{shell:!0,stdio:"inherit"});function _(n){return l.find(o=>n.startsWith(o))}function S(){let n="",o="";const g=r!=="yarn";return r==="npm"?(o=s?` -- ${s}`:"",n=e?` --prefix ${e} `:" "):r==="pnpm"?(o=s?` ${s}`:"",n=e?` --filter ${e.slice(e.lastIndexOf("/")+1)} `:" "):r==="yarn"?(o=s?` ${s}`:"",n=e?` workspace ${e.slice(e.lastIndexOf("/")+1)} `:" "):r==="bun"&&(o=s?` ${s}`:"",n=""),`${r}${g?" run":" "}${n}${_(m)}${o}`}async function b(){try{if(!e||r==="bun"||r==="npm")return(await u.getPkg("./package.json"))?.scripts;if(r==="pnpm")return console.log("getScripts",e),(await k())[e]||(await u.getPkg(`${e}/package.json`))?.scripts;if(r==="yarn")return(await $())[e]||(await u.getPkg(`${e}/package.json`))?.scripts}catch{console.log("The package.json is not found in workspace or current directory, please check"),process.exit()}}}async function k(){if(i)return i;const t=await h.default.readFileSync(w.default.resolve(process.cwd(),"pnpm-workspace.yaml"),"utf-8"),a=L.parse(t)?.packages||[];return i=await v(a)||{},d=Object.keys(i),i}async function $(){if(i)return i;const t=await h.default.readFileSync(w.default.resolve(process.cwd(),"package.json"),"utf-8"),a=JSON.parse(t)?.workspaces||[];return i=await v(a)||{},d=Object.keys(i),i}function F(t){const a=t[0];return a?a.startsWith("--")?[".",t.join(" ")]:[a,t.slice(1).join(" ")]:["",""]}async function v(t){if(!t.length)return;const a=await O.default(t.map(s=>`${s}/package.json`),{dot:!0,ignore:["**/node_modules/**"]});return Promise.all(a.map(async s=>{const e=await u.getPkg(s);if(!e)return;const{name:r,scripts:c}=e;return{name:r,scripts:c}})).then(s=>s.reduce((e,r)=>{const{name:c,scripts:l}=r;return e[c]=l,e},{}))}y(),exports.ccommand=y;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var N=require("module"),P=require("child_process"),x=require("fs"),D=require("path"),l=require("simon-js-tool"),O=require("fast-glob");function f(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var u=f(P),y=f(x),w=f(D),L=f(O),R=require;const F=R("yamljs");let d=[],c=null;async function k(){const{status:t}=u.default.spawnSync("gum -v",{shell:!0,encoding:"utf-8"});if(t!==0){console.log("install gum...");const{status:s}=u.default.spawnSync("brew install gum",{shell:!0});if(s!==0){const{status:o}=u.default.spawnSync(`sudo mkdir -p /etc/apt/keyrings
2
+ curl -fsSL https://repo.charm.sh/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/charm.gpg
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`,{shell:!0});if(o!==0)return console.log("gum install error")}console.log("gum install successfully")}const a=process.argv.slice(2);if(a[0]==="-v"){const{version:s}=await l.getPkg();console.log(`ccommand Version: ${s}`);return}const[i,n]=I(a);let e=i;const r=l.getPkgTool();if(a[0]==="find")if(r==="yarn")await v(),e=u.default.spawnSync(`echo ${d.join(",")} | sed "s/,/\\n/g" | gum filter`,{shell:!0,stdio:["inherit","pipe","inherit"],encoding:"utf8"}).output[1].trim();else if(r==="pnpm")await $(),e=u.default.spawnSync(`echo ${d.join(",")} | sed "s/,/\\n/g" | gum filter`,{shell:!0,stdio:["inherit","pipe","inherit"],encoding:"utf8"}).output[1].trim();else return console.log("find command only support yarn or pnpm");const p=await q();if(!p)return console.log("No scripts found");const m=[],_=Object.keys(p).reduce((s,o)=>{const g=p[o];return m.push(o),s+=`"${o}: ${g}",`,s},""),h=u.default.spawnSync(`echo ${_} | sed "s/,/\\n/g" | gum filter | cut -d' ' -f1`,{shell:!0,stdio:["inherit","pipe","inherit"],encoding:"utf8"}).output[1];if(!h)return console.log("\u5DF2\u53D6\u6D88"),process.exit();u.default.spawnSync(b(),{shell:!0,stdio:"inherit"});function S(s){return m.find(o=>s.startsWith(o))}function b(){let s="",o="";const g=r!=="yarn";return r==="npm"?(o=n?` -- ${n}`:"",s=e?` --prefix ${e} `:" "):r==="pnpm"?(o=n?` ${n}`:"",s=e?` --filter ${e.slice(e.lastIndexOf("/")+1)} `:" "):r==="yarn"?(o=n?` ${n}`:"",s=e?` workspace ${e.slice(e.lastIndexOf("/")+1)} `:" "):r==="bun"&&(o=n?` ${n}`:"",s=""),`${r}${g?" run":" "}${s}${S(h)}${o}`}async function q(){try{if(!e||r==="bun"||r==="npm")return(await l.getPkg("./package.json"))?.scripts;if(r==="pnpm")return(await $())[e]||(await l.getPkg(`${e}/package.json`))?.scripts;if(r==="yarn")return(await v())[e]||(await l.getPkg(`${e}/package.json`))?.scripts}catch{console.log("The package.json is not found in workspace or current directory, please check"),process.exit()}}}async function $(){if(c)return c;const t=await y.default.readFileSync(w.default.resolve(process.cwd(),"pnpm-workspace.yaml"),"utf-8"),a=F.parse(t)?.packages||[];return c=await j(a)||{},d=Object.keys(c),c}async function v(){if(c)return c;const t=await y.default.readFileSync(w.default.resolve(process.cwd(),"package.json"),"utf-8"),a=JSON.parse(t)?.workspaces||[];return c=await j(a)||{},d=Object.keys(c),c}function I(t){const a=t[0];return a?a.startsWith("--")?[".",t.join(" ")]:[a,t.slice(1).join(" ")]:["",""]}async function j(t){if(!t.length)return;const a=await L.default(t.map(i=>`${i}/package.json`),{dot:!0,ignore:["**/node_modules/**"]});return Promise.all(a.map(async i=>{const n=await l.getPkg(i);if(!n)return;const{name:e,scripts:r}=n;return{name:e,scripts:r}})).then(i=>i.reduce((n,e)=>{const{name:r,scripts:p}=e;return n[r]=p,n},{}))}k(),exports.ccommand=k;
package/dist/index.mjs CHANGED
@@ -1,2 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import{createRequire as b}from"module";import l from"child_process";import d from"fs";import h from"path";import{getPkg as p,getPkgTool as D}from"simon-js-tool";import O from"fast-glob";var P=b(import.meta.url);const q=P("yamljs");let f=[],c=null;async function w(){const r=process.argv.slice(2);if(r[0]==="-v"){const{version:n}=await p();console.log(`ccommand Version: ${n}`);return}const[o,s]=F(r);let e=o;const t=D();if(r[0]==="find")if(t==="yarn")await $(),e=l.spawnSync(`echo ${f.join(",")} | sed "s/,/\\n/g" | gum filter`,{shell:!0,stdio:["inherit","pipe","inherit"],encoding:"utf8"}).output[1].trim();else if(t==="pnpm")await y(),e=l.spawnSync(`echo ${f.join(",")} | sed "s/,/\\n/g" | gum filter`,{shell:!0,stdio:["inherit","pipe","inherit"],encoding:"utf8"}).output[1].trim();else return console.log("find command only support yarn or pnpm");const a=await x();if(!a)return console.log("No scripts found");const u=[],j=Object.keys(a).reduce((n,i)=>{const m=a[i];return u.push(i),n+=`"${i}: ${m}",`,n},""),g=l.spawnSync(`echo ${j} | sed "s/,/\\n/g" | gum filter | cut -d' ' -f1`,{shell:!0,stdio:["inherit","pipe","inherit"],encoding:"utf8"}).output[1];if(!g)return console.log("\u5DF2\u53D6\u6D88"),process.exit();l.spawnSync(v(),{shell:!0,stdio:"inherit"});function S(n){return u.find(i=>n.startsWith(i))}function v(){let n="",i="";const m=t!=="yarn";return t==="npm"?(i=s?` -- ${s}`:"",n=e?` --prefix ${e} `:" "):t==="pnpm"?(i=s?` ${s}`:"",n=e?` --filter ${e.slice(e.lastIndexOf("/")+1)} `:" "):t==="yarn"?(i=s?` ${s}`:"",n=e?` workspace ${e.slice(e.lastIndexOf("/")+1)} `:" "):t==="bun"&&(i=s?` ${s}`:"",n=""),`${t}${m?" run":" "}${n}${S(g)}${i}`}async function x(){try{if(!e||t==="bun"||t==="npm")return(await p("./package.json"))?.scripts;if(t==="pnpm")return console.log("getScripts",e),(await y())[e]||(await p(`${e}/package.json`))?.scripts;if(t==="yarn")return(await $())[e]||(await p(`${e}/package.json`))?.scripts}catch{console.log("The package.json is not found in workspace or current directory, please check"),process.exit()}}}async function y(){if(c)return c;const r=await d.readFileSync(h.resolve(process.cwd(),"pnpm-workspace.yaml"),"utf-8"),o=q.parse(r)?.packages||[];return c=await k(o)||{},f=Object.keys(c),c}async function $(){if(c)return c;const r=await d.readFileSync(h.resolve(process.cwd(),"package.json"),"utf-8"),o=JSON.parse(r)?.workspaces||[];return c=await k(o)||{},f=Object.keys(c),c}function F(r){const o=r[0];return o?o.startsWith("--")?[".",r.join(" ")]:[o,r.slice(1).join(" ")]:["",""]}async function k(r){if(!r.length)return;const o=await O(r.map(s=>`${s}/package.json`),{dot:!0,ignore:["**/node_modules/**"]});return Promise.all(o.map(async s=>{const e=await p(s);if(!e)return;const{name:t,scripts:a}=e;return{name:t,scripts:a}})).then(s=>s.reduce((e,t)=>{const{name:a,scripts:u}=t;return e[a]=u,e},{}))}w();export{w as ccommand};
2
+ import{createRequire as D}from"module";import p from"child_process";import h from"fs";import w from"path";import{getPkg as l,getPkgTool as O}from"simon-js-tool";import P from"fast-glob";var q=D(import.meta.url);const F=q("yamljs");let f=[],a=null;async function y(){const{status:i}=p.spawnSync("gum -v",{shell:!0,encoding:"utf-8"});if(i!==0){console.log("install gum...");const{status:e}=p.spawnSync("brew install gum",{shell:!0});if(e!==0){const{status:o}=p.spawnSync(`sudo mkdir -p /etc/apt/keyrings
3
+ curl -fsSL https://repo.charm.sh/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/charm.gpg
4
+ echo "deb [signed-by=/etc/apt/keyrings/charm.gpg] https://repo.charm.sh/apt/ * *" | sudo tee /etc/apt/sources.list.d/charm.list
5
+ sudo apt update && sudo apt install gum`,{shell:!0});if(o!==0)return console.log("gum install error")}console.log("gum install successfully")}const r=process.argv.slice(2);if(r[0]==="-v"){const{version:e}=await l();console.log(`ccommand Version: ${e}`);return}const[c,n]=N(r);let t=c;const s=O();if(r[0]==="find")if(s==="yarn")await $(),t=p.spawnSync(`echo ${f.join(",")} | sed "s/,/\\n/g" | gum filter`,{shell:!0,stdio:["inherit","pipe","inherit"],encoding:"utf8"}).output[1].trim();else if(s==="pnpm")await k(),t=p.spawnSync(`echo ${f.join(",")} | sed "s/,/\\n/g" | gum filter`,{shell:!0,stdio:["inherit","pipe","inherit"],encoding:"utf8"}).output[1].trim();else return console.log("find command only support yarn or pnpm");const u=await x();if(!u)return console.log("No scripts found");const g=[],S=Object.keys(u).reduce((e,o)=>{const m=u[o];return g.push(o),e+=`"${o}: ${m}",`,e},""),d=p.spawnSync(`echo ${S} | sed "s/,/\\n/g" | gum filter | cut -d' ' -f1`,{shell:!0,stdio:["inherit","pipe","inherit"],encoding:"utf8"}).output[1];if(!d)return console.log("\u5DF2\u53D6\u6D88"),process.exit();p.spawnSync(b(),{shell:!0,stdio:"inherit"});function v(e){return g.find(o=>e.startsWith(o))}function b(){let e="",o="";const m=s!=="yarn";return s==="npm"?(o=n?` -- ${n}`:"",e=t?` --prefix ${t} `:" "):s==="pnpm"?(o=n?` ${n}`:"",e=t?` --filter ${t.slice(t.lastIndexOf("/")+1)} `:" "):s==="yarn"?(o=n?` ${n}`:"",e=t?` workspace ${t.slice(t.lastIndexOf("/")+1)} `:" "):s==="bun"&&(o=n?` ${n}`:"",e=""),`${s}${m?" run":" "}${e}${v(d)}${o}`}async function x(){try{if(!t||s==="bun"||s==="npm")return(await l("./package.json"))?.scripts;if(s==="pnpm")return(await k())[t]||(await l(`${t}/package.json`))?.scripts;if(s==="yarn")return(await $())[t]||(await l(`${t}/package.json`))?.scripts}catch{console.log("The package.json is not found in workspace or current directory, please check"),process.exit()}}}async function k(){if(a)return a;const i=await h.readFileSync(w.resolve(process.cwd(),"pnpm-workspace.yaml"),"utf-8"),r=F.parse(i)?.packages||[];return a=await j(r)||{},f=Object.keys(a),a}async function $(){if(a)return a;const i=await h.readFileSync(w.resolve(process.cwd(),"package.json"),"utf-8"),r=JSON.parse(i)?.workspaces||[];return a=await j(r)||{},f=Object.keys(a),a}function N(i){const r=i[0];return r?r.startsWith("--")?[".",i.join(" ")]:[r,i.slice(1).join(" ")]:["",""]}async function j(i){if(!i.length)return;const r=await P(i.map(c=>`${c}/package.json`),{dot:!0,ignore:["**/node_modules/**"]});return Promise.all(r.map(async c=>{const n=await l(c);if(!n)return;const{name:t,scripts:s}=n;return{name:t,scripts:s}})).then(c=>c.reduce((n,t)=>{const{name:s,scripts:u}=t;return n[s]=u,n},{}))}y();export{y as ccommand};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccommand",
3
- "version": "1.0.10",
3
+ "version": "1.0.12",
4
4
  "packageManager": "pnpm@6.32.3",
5
5
  "description": "ccommand",
6
6
  "author": "Simon He",