ccommand 1.0.18 → 1.0.19
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/index.js +2 -2
- package/dist/index.mjs +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var N=require("module"),D=require("fs"),q=require("path"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var N=require("module"),D=require("fs"),q=require("path"),c=require("simon-js-tool"),B=require("fast-glob"),L=require("chalk"),C=require("terminal-link");function m(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var j=m(D),v=m(q),P=m(B),a=m(L),y=m(C),x=require,O="1.0.19";const A=x("yamljs");let k=[],f=null;async function b(){const e=console.log,i="__ccommand__split",{status:l}=c.jsShell("gum -v","pipe");if(l!==0){e(a.default.blue("install gum..."));const{status:u}=c.jsShell("brew install gum");if(u!==0){const{status:n}=c.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
4
|
sudo apt update && sudo apt install gum`);if(n!==0){const d=y.default("the official website of gum","https://github.com/charmbracelet/gum#installation");return e(a.default.red("gum install error, you can install it yourself through ",a.default.yellow.bold(d)))}}e(a.default.green("gum install successfully"))}const s=process.argv.slice(2);if(s[0]==="-v"||s[0]==="--version")return e(a.default.green(`ccommand Version: ${O}`));if(s[0]==="-help"){const u=y.default("open an issue","https://github.com/Simon-He95/ccommand/issues"),n=y.default("\u2728star it","https://github.com/Simon-He95/ccommand");return e(a.default.white(`
|
|
@@ -9,4 +9,4 @@
|
|
|
9
9
|
- ccommand find \u67E5\u627E\u5F53\u524Dworkspace\u7684\u6240\u6709\u76EE\u5F55
|
|
10
10
|
`)}
|
|
11
11
|
If you encounter any problems, you can ${a.default.magentaBright(u)}.
|
|
12
|
-
If you like it, please ${a.default.cyan.bold(n)}`))}const[p,o]=I(s);let t=p;const r=
|
|
12
|
+
If you like it, please ${a.default.cyan.bold(n)}`))}const[p,o]=I(s);let t=p;const r=c.getPkgTool();if(s[0]==="find")if(r==="yarn"){await g(r);const{result:u}=c.jsShell(`echo ${k.join(",")} | sed "s/,/\\n/g" | gum filter --placeholder=" \u{1F914}\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u76EE\u5F55"`,"pipe");if(t=u,!t)return console.log(a.default.yellow("\u5DF2\u53D6\u6D88"))}else if(r==="pnpm"){await g(r);const{result:u}=c.jsShell(`echo ${k.join(",")} | sed "s/,/\\n/g" | gum filter --placeholder=" \u{1F914}\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u76EE\u5F55"`,"pipe");if(t=u.trim(),!t)return console.log(a.default.yellow("\u5DF2\u53D6\u6D88"))}else return e(a.default.red("find command only support yarn or pnpm"));const h=await S();if(!h)return e(a.default.red("No scripts found"));const w=[],E=Object.keys(h).reduce((u,n)=>{const d=h[n];return w.push(n),u+=`"${n}: ${d.replace(/\"/g,"'")}"${i}`,u},""),{result:$}=c.jsShell(`echo ${E} | sed "s/${i}/\\n/g" | gum filter --placeholder=" \u{1F914}\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u6307\u4EE4" | cut -d' ' -f1`,"pipe");if(!$)return e(a.default.yellow("\u5DF2\u53D6\u6D88")),process.exit();c.jsShell(F());function _(u){return w.find(n=>u.startsWith(n))}function F(){let u="",n="";const d=r!=="yarn";return r==="npm"?(n=o?` -- ${o}`:"",u=t?` --prefix ${t} `:" "):r==="pnpm"?(n=o?` ${o}`:"",u=t?` --filter ${t.slice(t.lastIndexOf("/")+1)} `:" "):r==="yarn"?(n=o?` ${o}`:"",u=t?` workspace ${t.slice(t.lastIndexOf("/")+1)} `:" "):r==="bun"&&(n=o?` ${o}`:"",u=""),`${r}${d?" run":" "}${u}${_($)}${n}`}async function S(){try{if(!t||r==="bun"||r==="npm")return(await c.getPkg("./package.json"))?.scripts;if(r==="pnpm")return(await g(r))[t]||(await c.getPkg(`${t}/package.json`))?.scripts;if(r==="yarn")return(await g(r))[t]||(await c.getPkg(`${t}/package.json`))?.scripts}catch{e(a.default.red("The package.json is not found in workspace or current directory, please check")),process.exit()}}}async function g(e){if(f)return f;const i=e==="pnpm"?await j.default.readFileSync(v.default.resolve(process.cwd(),"pnpm-workspace.yaml"),"utf-8"):await j.default.readFileSync(v.default.resolve(process.cwd(),"package.json"),"utf-8"),l=e==="pnpm"?A.parse(i)?.packages||[]:JSON.parse(i)?.workspaces||[];return f=await R(l)||{},k=Object.keys(f).filter(s=>f[s]&&Object.keys(f[s]).length),f}function I(e){const i=e[0];return i?i.startsWith("--")?[".",e.join(" ")]:[i,e.slice(1).join(" ")]:["",""]}async function R(e){if(!e.length)return;const i=await P.default(e.map(l=>`${l}/package.json`),{dot:!0,ignore:["**/node_modules/**"]});return Promise.all(i.map(async l=>{const s=await c.getPkg(l);if(!s)return;const{name:p,scripts:o}=s;return{name:p,scripts:o}})).then(l=>l.reduce((s,p)=>{const{name:o,scripts:t}=p;return s[o]=t,s},{}))}b(),exports.ccommand=b;
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{createRequire as B}from"module";import E from"fs";import b from"path";import{jsShell as l,getPkgTool as C,getPkg as g}from"simon-js-tool";import x from"fast-glob";import n from"chalk";import y from"terminal-link";var O=B(import.meta.url),A="1.0.
|
|
2
|
+
import{createRequire as B}from"module";import E from"fs";import b from"path";import{jsShell as l,getPkgTool as C,getPkg as g}from"simon-js-tool";import x from"fast-glob";import n from"chalk";import y from"terminal-link";var O=B(import.meta.url),A="1.0.19";const L=O("yamljs");let k=[],p=null;async function F(){const e=console.log,i="__ccommand__split",{status:c}=l("gum -v","pipe");if(c!==0){e(n.blue("install gum..."));const{status:r}=l("brew install gum");if(r!==0){const{status:o}=l(`sudo mkdir -p /etc/apt/keyrings
|
|
3
3
|
curl -fsSL https://repo.charm.sh/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/charm.gpg
|
|
4
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
5
|
sudo apt update && sudo apt install gum`);if(o!==0){const f=y("the official website of gum","https://github.com/charmbracelet/gum#installation");return e(n.red("gum install error, you can install it yourself through ",n.yellow.bold(f)))}}e(n.green("gum install successfully"))}const u=process.argv.slice(2);if(u[0]==="-v"||u[0]==="--version")return e(n.green(`ccommand Version: ${A}`));if(u[0]==="-help"){const r=y("open an issue","https://github.com/Simon-He95/ccommand/issues"),o=y("\u2728star it","https://github.com/Simon-He95/ccommand");return e(n.white(`
|
|
@@ -10,4 +10,4 @@ import{createRequire as B}from"module";import E from"fs";import b from"path";imp
|
|
|
10
10
|
- ccommand find \u67E5\u627E\u5F53\u524Dworkspace\u7684\u6240\u6709\u76EE\u5F55
|
|
11
11
|
`)}
|
|
12
12
|
If you encounter any problems, you can ${n.magentaBright(r)}.
|
|
13
|
-
If you like it, please ${n.cyan.bold(o)}`))}const[m,a]=_(u);let t=m;const s=C();if(u[0]==="find")if(s==="yarn"){await d(s);const{result:r}=l(`echo ${k.join(",")} | sed "s/,/\\n/g" | gum filter --placeholder=" \u{1F914}\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u76EE\u5F55"`,"pipe");if(t=r,!t)return console.log(n.yellow("\u5DF2\u53D6\u6D88"))}else if(s==="pnpm"){await d(s);const{result:r}=l(`echo ${k.join(",")} | sed "s/,/\\n/g" | gum filter --placeholder=" \u{1F914}\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u76EE\u5F55"`,"pipe");if(t=r.trim(),!t)return console.log(n.yellow("\u5DF2\u53D6\u6D88"))}else return e(n.red("find command only support yarn or pnpm"));const h=await S();if(!h)return e(n.red("No scripts found"));const w=[],j=Object.keys(h).reduce((r,o)=>{const f=h[o];return w.push(o),r+=`"${o}: ${f}"${i}`,r},""),{result:$}=l(`echo ${j} | sed "s/${i}/\\n/g" | gum filter --placeholder=" \u{1F914}\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u6307\u4EE4" | cut -d' ' -f1`,"pipe");if(!$)return e(n.yellow("\u5DF2\u53D6\u6D88")),process.exit();l(v());function D(r){return w.find(o=>r.startsWith(o))}function v(){let r="",o="";const f=s!=="yarn";return s==="npm"?(o=a?` -- ${a}`:"",r=t?` --prefix ${t} `:" "):s==="pnpm"?(o=a?` ${a}`:"",r=t?` --filter ${t.slice(t.lastIndexOf("/")+1)} `:" "):s==="yarn"?(o=a?` ${a}`:"",r=t?` workspace ${t.slice(t.lastIndexOf("/")+1)} `:" "):s==="bun"&&(o=a?` ${a}`:"",r=""),`${s}${f?" run":" "}${r}${D($)}${o}`}async function S(){try{if(!t||s==="bun"||s==="npm")return(await g("./package.json"))?.scripts;if(s==="pnpm")return(await d(s))[t]||(await g(`${t}/package.json`))?.scripts;if(s==="yarn")return(await d(s))[t]||(await g(`${t}/package.json`))?.scripts}catch{e(n.red("The package.json is not found in workspace or current directory, please check")),process.exit()}}}async function d(e){if(p)return p;const i=e==="pnpm"?await E.readFileSync(b.resolve(process.cwd(),"pnpm-workspace.yaml"),"utf-8"):await E.readFileSync(b.resolve(process.cwd(),"package.json"),"utf-8"),c=e==="pnpm"?L.parse(i)?.packages||[]:JSON.parse(i)?.workspaces||[];return p=await I(c)||{},k=Object.keys(p).filter(u=>p[u]&&Object.keys(p[u]).length),p}function _(e){const i=e[0];return i?i.startsWith("--")?[".",e.join(" ")]:[i,e.slice(1).join(" ")]:["",""]}async function I(e){if(!e.length)return;const i=await x(e.map(c=>`${c}/package.json`),{dot:!0,ignore:["**/node_modules/**"]});return Promise.all(i.map(async c=>{const u=await g(c);if(!u)return;const{name:m,scripts:a}=u;return{name:m,scripts:a}})).then(c=>c.reduce((u,m)=>{const{name:a,scripts:t}=m;return u[a]=t,u},{}))}F();export{F as ccommand};
|
|
13
|
+
If you like it, please ${n.cyan.bold(o)}`))}const[m,a]=_(u);let t=m;const s=C();if(u[0]==="find")if(s==="yarn"){await d(s);const{result:r}=l(`echo ${k.join(",")} | sed "s/,/\\n/g" | gum filter --placeholder=" \u{1F914}\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u76EE\u5F55"`,"pipe");if(t=r,!t)return console.log(n.yellow("\u5DF2\u53D6\u6D88"))}else if(s==="pnpm"){await d(s);const{result:r}=l(`echo ${k.join(",")} | sed "s/,/\\n/g" | gum filter --placeholder=" \u{1F914}\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u76EE\u5F55"`,"pipe");if(t=r.trim(),!t)return console.log(n.yellow("\u5DF2\u53D6\u6D88"))}else return e(n.red("find command only support yarn or pnpm"));const h=await S();if(!h)return e(n.red("No scripts found"));const w=[],j=Object.keys(h).reduce((r,o)=>{const f=h[o];return w.push(o),r+=`"${o}: ${f.replace(/\"/g,"'")}"${i}`,r},""),{result:$}=l(`echo ${j} | sed "s/${i}/\\n/g" | gum filter --placeholder=" \u{1F914}\u8BF7\u9009\u62E9\u4E00\u4E2A\u8981\u6267\u884C\u7684\u6307\u4EE4" | cut -d' ' -f1`,"pipe");if(!$)return e(n.yellow("\u5DF2\u53D6\u6D88")),process.exit();l(v());function D(r){return w.find(o=>r.startsWith(o))}function v(){let r="",o="";const f=s!=="yarn";return s==="npm"?(o=a?` -- ${a}`:"",r=t?` --prefix ${t} `:" "):s==="pnpm"?(o=a?` ${a}`:"",r=t?` --filter ${t.slice(t.lastIndexOf("/")+1)} `:" "):s==="yarn"?(o=a?` ${a}`:"",r=t?` workspace ${t.slice(t.lastIndexOf("/")+1)} `:" "):s==="bun"&&(o=a?` ${a}`:"",r=""),`${s}${f?" run":" "}${r}${D($)}${o}`}async function S(){try{if(!t||s==="bun"||s==="npm")return(await g("./package.json"))?.scripts;if(s==="pnpm")return(await d(s))[t]||(await g(`${t}/package.json`))?.scripts;if(s==="yarn")return(await d(s))[t]||(await g(`${t}/package.json`))?.scripts}catch{e(n.red("The package.json is not found in workspace or current directory, please check")),process.exit()}}}async function d(e){if(p)return p;const i=e==="pnpm"?await E.readFileSync(b.resolve(process.cwd(),"pnpm-workspace.yaml"),"utf-8"):await E.readFileSync(b.resolve(process.cwd(),"package.json"),"utf-8"),c=e==="pnpm"?L.parse(i)?.packages||[]:JSON.parse(i)?.workspaces||[];return p=await I(c)||{},k=Object.keys(p).filter(u=>p[u]&&Object.keys(p[u]).length),p}function _(e){const i=e[0];return i?i.startsWith("--")?[".",e.join(" ")]:[i,e.slice(1).join(" ")]:["",""]}async function I(e){if(!e.length)return;const i=await x(e.map(c=>`${c}/package.json`),{dot:!0,ignore:["**/node_modules/**"]});return Promise.all(i.map(async c=>{const u=await g(c);if(!u)return;const{name:m,scripts:a}=u;return{name:m,scripts:a}})).then(c=>c.reduce((u,m)=>{const{name:a,scripts:t}=m;return u[a]=t,u},{}))}F();export{F as ccommand};
|