@pigeon-posse/pigeonsh
Advanced tools
Comparing version 0.8.1 to 0.8.2
@@ -39,3 +39,3 @@ #! /usr/bin/env node | ||
`:""}var qo=Wo,Vo={dump:qo};function qe(e,r){return function(){throw new Error("Function yaml."+e+" is removed in js-yaml 4. Use yaml."+r+" instead, which is now safe by default.")}}var Qo=S,Xo=Nr,Zo=Mr,zo=Yr,Jo=Hr,el=Ge,rl=oi.load,il=oi.loadAll,nl=Vo.dump,ol=w,ll={binary:Wr,float:jr,map:Rr,null:Dr,pairs:Vr,set:Qr,timestamp:$r,bool:Br,int:Pr,merge:Kr,omap:qr,seq:Ir,str:Lr},tl=qe("safeLoad","load"),ul=qe("safeLoadAll","loadAll"),cl=qe("safeDump","dump"),sl={Type:Qo,Schema:Xo,FAILSAFE_SCHEMA:Zo,JSON_SCHEMA:zo,CORE_SCHEMA:Jo,DEFAULT_SCHEMA:el,load:rl,loadAll:il,dump:nl,YAMLException:ol,types:ll,safeLoad:tl,safeLoadAll:ul,safeDump:cl},gi=sl;import*as T from"fs";import*as Ve from"path";var Qe=e=>!!T.existsSync(e),ge=e=>{let r,i;return r=new URL("../../",import.meta.url),i=r.pathname+e,i},xi=e=>T.readdirSync(e,{withFileTypes:!0}).filter(r=>r.isDirectory()).map(r=>r.name),Ai=e=>{if(!T.existsSync(e))return T.mkdirSync(e,{recursive:!0})},Xe=(e,r)=>{let i,n,o;i=T.existsSync(e),n=i&&T.statSync(e),o=i&&n.isDirectory(),o?(T.mkdirSync(r),T.readdirSync(e).forEach(t=>{Xe(Ve.join(e,t),Ve.join(r,t))})):T.copyFileSync(e,r)};var Ze=e=>{let r;if(r=vi.readFileSync(e,{encoding:"utf-8"}),e.endsWith(".yml")||e.endsWith(".yaml")?r=gi.load(r):r=JSON.parse(r),!hr(r))throw B.throwError('File "'+e+'" must return a object');return r},yi=()=>Ze(ge("package.json"));var bi=()=>{let e=yi();return{cli:Object.keys(e.bin)[0],aliasCli:Object.keys(e.bin)[1],currCli:process.argv[1],version:e.version,args:process.argv.slice(2)}};import{existsSync as fl}from"fs";var Ci=e=>!!fl(e),ze=(e,r="",i=[])=>{let n,o,t;return n=!1,t=r?"/"+r:"",o=e+t,i.length===0?Ci(o)&&(n=o):i.forEach(l=>{o=e+t+"."+l,Ci(o)&&(n=o)}),n};import*as Si from"os";var V=class{infoFiledefaultVersion="1.0.0";infoFileExts=["yml","yaml","json"];mainFileTypes=[{cli:"source",exts:["sh","zsh"]},{cli:"node",exts:["js"]},{cli:"python",exts:["py"]}];mainFileExts=this.#e();#e(){return this.mainFileTypes.flatMap(r=>r.exts)}constructor(r){this.args=r,this.scriptsPath=Si.homedir()+"/.scriptsrc",this.defaultsPath=ge("data"),this.defaultScriptsPath=this.scriptsPath+"/default",this.utils={not:B,text:J}}};var xe=class extends V{#e(){return Qe(this.scriptsPath)}#r(){return Qe(this.defaultScriptsPath)}#i(){return Xe(this.defaultsPath,this.defaultScriptsPath),this.utils.not.info("Add default scripts in: "+this.defaultScriptsPath),!0}#n(){Ai(this.scriptsPath),this.utils.not.info("Created scripts folder in: "+this.scriptsPath)}addDefaults(){if(this.#e()||this.#n(),!this.#r())return this.#i()}scriptsFolder(){this.addDefaults()}};var Ae=class extends xe{getScriptData(r,i,n="default"){let o;return o=!1,this.mainFileTypes.forEach(t=>{let l=this.#i(r,t.exts);l&&(o={cli:t.cli,path:r,mainPath:l,name:i,type:n,info:this.#e(r)})}),o}#e(r){let i,n,o;return n={version:this.infoFiledefaultVersion,path:r},i={},i.exists=!1,i.data=n,o=this.#r(r),o&&(i={exists:!0,path:o,data:{...n,...Ze(o)}}),i}#r(r){return ze(r,"info",this.infoFileExts)}#i(r,i){return ze(r,"main",i)}};var ve=class extends Ae{getScriptListData(r=""){let i,n,o,t;return o=this.#e(this.defaultsPath),n=this.#e(this.defaultScriptsPath),i=this.#e(this.scriptsPath,"user"),t={...n,...i},r=="pkg"?o:r=="user"?n:r=="default"?i:t}#e(r,i="default"){let n,o,t,l,u;o=xi(r),l={};for(n of o)t=r+"/"+n,u=this.getScriptData(t,n,i),u&&(l[n]=u);return l}};var ye=class extends ve{scriptNames=this.getScriptListNames();defaultScriptNames=this.getScriptListNames("default");pkgScriptNames=this.getScriptListNames("pkg");getScriptListNames(r=""){let i;return i=this.#e(r),Object.keys(i)}getScriptDataByName(r,i=""){let n,o;return n=!1,o=this.#e(i),Object.keys(o).forEach(t=>{t===r&&(n=o[t])}),n}updateDefaults(){return!1}#e(r=""){return this.scriptsFolder(),this.getScriptListData(r)}};var be=class extends ye{};var D=class extends be{};var Ce=class extends D{constructor(r){super(r),this.cmds=["list"],this.aliases=["l"]}run(){let r;r=this.scriptNames.join(` | ||
`),console.log(r)}};import*as Ei from"os";import{spawnSync as pl}from"child_process";var wi=e=>{let r=Ei.userInfo();pl(e,{stdio:"inherit",shell:!0,uid:r.uid,gid:r.gid})};var Q=class extends D{constructor(r){super(r),this.cmds=this.scriptNames,this.aliases=[]}#e(r){return this.utils.not.error(`Script [${r}] does not exist`)}execCmd(r,i){let n,o;if(o=this.getScriptDataByName(r),!o)return this.#e(r);n=`${o.cli} ${o.mainPath} ${i.join(" ")}`,this.utils.not.info("Execute: "+n),wi(n)}run(){let r,i;r=this.args.args[0],i=this.args.args.slice(1),this.execCmd(r,i)}};var Se=class extends Q{constructor(r){super(r),this.cmds=["exec"],this.aliases=[]}run(){let r,i;r=this.args.args[1],i=this.args.args.slice(2),this.execCmd(r,i)}};var Ee=class extends D{constructor(r){super(r),this.cmds=["info"],this.aliases=["i"]}#e(r){let i;return i=`Property [${r}] needs a parameter.`,i+=this.utils.text.blankLine,i+="Allowed parameters: "+this.scriptNames.join(", "),this.utils.not.error(i)}#r(r){return this.utils.not.error(`Script [${r}] does not exist.`)}run(){let r,i,n;if(r=this.args.args,i=r[1],!i)return this.#e(r[0]);if(!this.scriptNames.includes(i))return this.#r(i);n=this.getScriptDataByName(i).info.data,console.log(this.utils.text.info(`[${i}] Info:`)+this.utils.text.blankLine),console.log(n)}};var X=class extends V{constructor(r){super(r),this.cmds=["--version"],this.aliases=["-v"]}#e(){let r;return r=this.utils.text.standard("Version "),r+=this.utils.text.infoBg(` ${this.args.version} `),this.utils.not.standard(r)}run(){return this.#e()}};var we=class extends X{constructor(r){super(r),this.cmds=["--help"],this.aliases=["-h"]}#e(r,i){return this.utils.not.standard(this.utils.text.infoBg(" "+r+" ")+" "+i)}#r(r,i){return this.utils.not.group(this.utils.text.infoBg(" "+r+" "),this.utils.text.blankLine+i+this.utils.text.blankLine)}#i(r){let i,n;return i="Description",n="Cmd [ "+r+" ] ",n+="is used to execute, list or show the information of the scripts that are in folder ~/.scriptsrc.",n+=this.utils.text.blankLine+this.utils.text.blankLine,n+='if the folder ~/.scriptsrc does not exist will be automatically created with a "default" subfolder that stores the default scripts.',n+=this.utils.text.blankLine+this.utils.text.blankLine,n+="To create your own scripts you can do it by following the guide at:",n+=this.utils.text.blankLine,n+=this.utils.text.infoLink("https://github.com/pigeon-posse/pigeonsh"),this.#r(i,n)}#n(r,i){let n,o,t,l,u;return n="",Object.keys(r).forEach(c=>{o=c,u=Object.keys(r[c]).reduce((s,f)=>s.length>f.length?s:f),u=i+" "+u,u=u.length+1,n+=Object.keys(r)[0]!=c?this.utils.text.blankLine:"",n+=this.utils.text.infoBg(` ${o} `),n+=this.utils.text.blankLine,Object.keys(r[c]).forEach(s=>{t=i+" "+s,l=r[c][s],n+=t.padEnd(u," ")+this.utils.text.info(" - "+l),n+=this.utils.text.blankLine})}),n}#o(r){let i,n,o;return i="CLI usage",o={Commands:{"<script-name>":"Run the script named <script-name>.","exec <script-name>":"Run the script named <script-name>.","[ info | i ] <script-name>":"Show the information of the script named <script-name>.","[ list | l ]":"Show a list of available script names."},Flags:{"[ -h | --help ]":"Show CLI information.","[ -v | --version ]":"Show CLI version."}},n=this.#n(o,r),this.#r(i,n)}#t(r){let i,n;return i="Command list",n=r,this.#r(i,n)}#l(r){return this.#e("Version",r)}run(){let r,i,n;return i=this.args.currCli,n=this.args.version,r=this.#i(i),r+=this.#o(i),r+=this.#l(n),r}};var Oe=class{constructor(r){this.args=r,this.opts=[Ce,Q,Ee,Se],this.flags=[we,X]}#e(r,i){let n;return n={exists:!1},r.forEach(o=>{let t=new o(this.args);(t.cmds.includes(i)||t.aliases.includes(i))&&(n.exists=!0,n.funct=t.run())}),n}getOpts(r){return this.#e(this.opts,r)}getFlags(r){return this.#e(this.flags,r)}};var Je=bi(),hl=()=>{let e,r,i,n,o;e=new Oe(Je),r=Je.args;for(i of r)return n=e.getFlags(i),o=e.getOpts(i),n.exists?n.funct:o.exists?o.funct:B.error(`[${i}] does not exist`)},Oi=()=>{let e;if(e=Je.args[0],!e)return B.error("command need a argument.");hl()};(async()=>Oi())(); | ||
`),console.log(r)}};import*as Ei from"os";import{spawnSync as pl}from"child_process";var wi=e=>{let r=Ei.userInfo();pl(e,{stdio:"inherit",shell:!0,uid:r.uid,gid:r.gid})};var Q=class extends D{constructor(r){super(r),this.cmds=this.scriptNames,this.aliases=[]}#e(r){return this.utils.not.error(`Script [${r}] does not exist`)}execCmd(r,i){let n,o;if(o=this.getScriptDataByName(r),!o)return this.#e(r);n=`${o.cli} ${o.mainPath} ${i.join(" ")}`,this.utils.not.info("Execute: "+n),wi(n)}run(){let r,i;r=this.args.args[0],i=this.args.args.slice(1),this.execCmd(r,i)}};var Se=class extends Q{constructor(r){super(r),this.cmds=["exec"],this.aliases=[]}run(){let r,i;r=this.args.args[1],i=this.args.args.slice(2),this.execCmd(r,i)}};var Ee=class extends D{constructor(r){super(r),this.cmds=["info"],this.aliases=["i"]}#e(r){let i;return i=`Property [${r}] needs a parameter.`,i+=this.utils.text.blankLine,i+="Allowed parameters: "+this.scriptNames.join(", "),this.utils.not.error(i)}#r(r){return this.utils.not.error(`Script [${r}] does not exist.`)}run(){let r,i,n;if(r=this.args.args,i=r[1],!i)return this.#e(r[0]);if(!this.scriptNames.includes(i))return this.#r(i);n=this.getScriptDataByName(i).info.data,console.log(this.utils.text.info(`[${i}] Info:`)+this.utils.text.blankLine),console.log(n)}};var X=class extends V{constructor(r){super(r),this.cmds=["--version"],this.aliases=["-v"]}#e(){let r;return r=this.utils.text.standard("Version "),r+=this.utils.text.infoBg(` ${this.args.version} `),this.utils.not.standard(r)}run(){return this.#e()}};var we=class extends X{constructor(r){super(r),this.cmds=["--help"],this.aliases=["-h"]}#e(r,i){return this.utils.not.standard(this.utils.text.infoBg(" "+r+" ")+" "+i)}#r(r,i){return this.utils.not.group(this.utils.text.infoBg(" "+r+" "),this.utils.text.blankLine+i+this.utils.text.blankLine)}#i(r){let i,n;return i="Description",n="Cmd [ "+r+" ] ",n+="is used to execute, list or show the information of the scripts that are in folder ~/.scriptsrc.",n+=this.utils.text.blankLine+this.utils.text.blankLine,n+='if the folder ~/.scriptsrc does not exist will be automatically created with a "default" subfolder that stores the default scripts.',n+=this.utils.text.blankLine+this.utils.text.blankLine,n+="To create your own scripts you can do it by following the guide at:",n+=this.utils.text.blankLine,n+=this.utils.text.infoLink("https://github.com/pigeon-posse/pigeonsh"),this.#r(i,n)}#n(r,i){let n,o,t,l,u;return n="",Object.keys(r).forEach(c=>{o=c,u=Object.keys(r[c]).reduce((s,f)=>s.length>f.length?s:f),u=i+" "+u,u=u.length+1,n+=Object.keys(r)[0]!=c?this.utils.text.blankLine:"",n+=this.utils.text.infoBg(` ${o} `),n+=this.utils.text.blankLine,Object.keys(r[c]).forEach(s=>{t=i+" "+s,l=r[c][s],n+=t.padEnd(u," ")+this.utils.text.info(" - "+l),n+=this.utils.text.blankLine})}),n}#o(r){let i,n,o;return i="CLI usage",o={Commands:{"<script-name>":"Run the script named <script-name>.","exec <script-name>":"Run the script named <script-name>.","[ info | i ] <script-name>":"Show the information of the script named <script-name>.","[ list | l ]":"Show a list of available script names."},Flags:{"[ -h | --help ]":"Show CLI information.","[ -v | --version ]":"Show CLI version."}},n=this.#n(o,r),this.#r(i,n)}#t(r){let i,n;return i="Command list",n=r,this.#r(i,n)}#l(r){return this.#e("Version",r)}run(){let r,i,n;return i=this.args.cli,n=this.args.version,r=this.#i(i),r+=this.#o(i),r+=this.#l(n),r}};var Oe=class{constructor(r){this.args=r,this.opts=[Ce,Q,Ee,Se],this.flags=[we,X]}#e(r,i){let n;return n={exists:!1},r.forEach(o=>{let t=new o(this.args);(t.cmds.includes(i)||t.aliases.includes(i))&&(n.exists=!0,n.funct=t.run())}),n}getOpts(r){return this.#e(this.opts,r)}getFlags(r){return this.#e(this.flags,r)}};var Je=bi(),hl=()=>{let e,r,i,n,o;e=new Oe(Je),r=Je.args;for(i of r)return n=e.getFlags(i),o=e.getOpts(i),n.exists?n.funct:o.exists?o.funct:B.error(`[${i}] does not exist`)},Oi=()=>{let e;if(e=Je.args[0],!e)return B.error("command need a argument.");hl()};(async()=>Oi())(); | ||
/*! Bundled license information: | ||
@@ -42,0 +42,0 @@ |
{ | ||
"name": "@pigeon-posse/pigeonsh", | ||
"version": "0.8.1", | ||
"version": "0.8.2", | ||
"description": "Centralize your server scripts in a single folder and run them using a command", | ||
@@ -5,0 +5,0 @@ "main": "dist/build/bundle.cjs", |
Sorry, the diff of this file is not supported yet
163276