ts-pantry 0.11.58 → 0.11.59
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/bin/cli.js +1 -1
- package/package.json +1 -1
package/dist/bin/cli.js
CHANGED
|
@@ -28,7 +28,7 @@ Received ${r}, cleaning up...`),e)try{await e()}catch(c){console.error("Error du
|
|
|
28
28
|
`)),this.enableDidYouMean){let n=[];for(let c of this.commands){if(c.displayName)n.push(c.displayName);if(c.aliasNames)n.push(...c.aliasNames)}let r=Ae(e,n);if(r.length>0)console.log(oe.yellow("Did you mean one of these?")),r.forEach((c)=>console.log(` ${oe.dim("•")} ${this.name} ${c}`)),console.log("")}console.log(oe.dim("Run"),`${this.name} --help`,oe.dim("to see all available commands")),se.exit(1)}async parse(e=Oe,n={}){let{run:r=!0,exitOnError:c=!1}=n;if(c)try{return await this.parse(e,{run:r})}catch(p){throw this.handleUsageError(p),p}if(this.rawArgs=e,!this.name)this.name=e[1]?Ge(e[1]):"cli";let u=!0,d=e.slice(2),b=d[0];if(b&&!b.startsWith("-")){for(let p of this.commands)if(p.isMatched(b)){let y=this.mri(d,p);u=!1;let A={...y,args:y.args.slice(1)};this.setParsedInfo(A,p,b),this.emit(`command:${b}`,p);break}if(u){let p=d[1];if(p&&!p.startsWith("-")){let y=`${b}:${p}`;for(let A of this.commands)if(A.isMatched(y)){let N=this.mri(d,A);u=!1;let v={...N,args:N.args.slice(2)};this.setParsedInfo(v,A,y),this.emit(`command:${y}`,A);break}}}}if(u){for(let p of this.commands)if(p.name===""){u=!1;let y=this.mri(d,p);this.setParsedInfo(y,p),this.emit("command:!",p);break}}if(u){let p=this.mri(e.slice(2));this.setParsedInfo(p)}if(this.options.verbose)this.isVerbose=!0;if(this.options.quiet)this.isQuiet=!0;if(this.options.debug)this.isDebug=!0;if(this.options.noInteraction||this.options.interaction===!1)this.isNoInteraction=!0;if(this.options.env)this.environment=String(this.options.env);if(this.options.dryRun)this.isDryRun=!0;if(this.options.force)this.isForce=!0;if(this.options.noEmoji||this.options.emoji===!1)this.useEmoji=!1;if(this.options.theme)this.theme=String(this.options.theme);if(this.options.noCache||this.options.cache===!1)this.isNoCache=!0;if(this.options.help&&this.showHelpOnExit)this.outputHelp(),r=!1,this.unsetMatchedCommand();if(this.options.version&&this.showVersionOnExit&&this.matchedCommandName==null)this.outputVersion(),r=!1,this.unsetMatchedCommand();let S={args:this.args,options:this.options};if(r)await this.runMatchedCommand();if(!this.matchedCommand&&this.args[0]){if(this.emit("command:*"),!(this.listenerCount("command:*")>0))this.showCommandNotFound(this.args[0])}return S}mri(e,n){let r=[...this.globalCommand.options,...n?n.options:[]],c=ze(r),u=[],d=e.indexOf("--");if(d>-1)u=e.slice(d+1),e=e.slice(0,d);let b=Je(e,c),S={_:b._};for(let v of Object.keys(b))if(v!=="_")S[le(v)]=b[v];let p=S._,y={"--":u},A=n&&n.config.ignoreOptionDefaultValue?n.config.ignoreOptionDefaultValue:this.globalCommand.config.ignoreOptionDefaultValue,N=Object.create(null);for(let v of r){if(!A&&v.config.default!==void 0)for(let M of v.names)y[M]=v.config.default;if(Array.isArray(v.config.type)){if(N[v.name]===void 0)N[v.name]={shouldTransform:!0,transformFunction:v.config.type[0]}}}for(let v of Object.keys(S))if(v!=="_"){let M=v.split(".");We(y,M,S[v]),Ue(y,N)}return{args:p,options:y}}async run(e=Oe){return this.parse(e,{run:!0,exitOnError:!0})}handleUsageError(e){if(!qe(e)||e.isUsageError===!1)return;let n=e.message||"command-line error",r=this.name?`${this.name}: `:"",c=/--help/.test(n)?"":e.usage?`
|
|
29
29
|
Usage: ${e.usage}`:`
|
|
30
30
|
Run \`${this.name??"cli"} --help\` for usage.`;se.stderr.write(`${r}${n}${c}
|
|
31
|
-
`),se.exit(e.exitCode??2)}async runMatchedCommand(){let{args:e,options:n,matchedCommand:r}=this;if(!r||!r.commandAction)return;r.checkUnknownOptions(),r.checkOptionValue(),r.checkRequiredArgs();let c=[];r.args.forEach((S,p)=>{if(S.variadic)c.push(e.slice(p));else c.push(e[p])}),c.push(n);let u={command:r,args:c,options:n};for(let S of r.beforeHooks)await S(u);let d,b=async()=>{let S=r.commandAction.apply(this,c);if(S instanceof Promise)d=await S;else d=S;return d};if(r.middleware.length>0){let S=0,p=async()=>{if(S<r.middleware.length){let y=r.middleware[S++];await y({...u,next:p})}else await b()};await p()}else await b();for(let S of r.afterHooks)await S(u);return d}removeSignalHandlers(){if(!this.signalHandlersSet)return this;return se.removeAllListeners("SIGINT"),se.removeAllListeners("SIGTERM"),this.signalHandlersSet=!1,this}destroy(){this.removeSignalHandlers(),this.commands=[],this.rawArgs=[],this.args=[],this.options={},this.matchedCommand=void 0,this.matchedCommandName=void 0,this.removeAllListeners()}}class Pe{cache;enabled;cleanupInterval=null;hits=0;misses=0;constructor(){this.cache=new Map,this.enabled=!0,this.startCleanupInterval()}startCleanupInterval(){if(this.cleanupInterval)return;this.cleanupInterval=setInterval(()=>{this.cleanup()},30000),this.cleanupInterval.unref()}stopCleanup(){if(this.cleanupInterval)clearInterval(this.cleanupInterval),this.cleanupInterval=null}isEnabled(){return this.enabled}get(e){if(!this.enabled){this.misses++;return}let n=this.cache.get(e);if(!n){this.misses++;return}if(Date.now()-n.timestamp>n.ttl){this.cache.delete(e),this.misses++;return}return this.hits++,n.value}set(e,n,r=5000){if(!this.enabled)return;this.cache.set(e,{value:n,timestamp:Date.now(),ttl:r})}has(e){if(!this.enabled)return!1;let n=this.cache.get(e);if(!n)return!1;if(Date.now()-n.timestamp>n.ttl)return this.cache.delete(e),!1;return!0}delete(e){this.cache.delete(e)}clear(){this.cache.clear()}disable(){this.enabled=!1,this.clear()}enable(){this.enabled=!0}stats(){return{size:this.cache.size,enabled:this.enabled,hits:this.hits,misses:this.misses}}resetStats(){this.hits=0,this.misses=0}keys(){return Array.from(this.cache.keys())}cleanup(){let e=Date.now();for(let[n,r]of this.cache.entries())if(e-r.timestamp>r.ttl)this.cache.delete(n)}destroy(){this.stopCleanup(),this.clear(),this.resetStats()}}var es=new Pe;function tt(){if("FORCE_COLOR"in ae.env)return ae.env.FORCE_COLOR!=="0";if("NO_COLOR"in ae.env||ae.env.TERM==="dumb")return!1;if(ae.platform==="win32")return!0;return Ee.isatty(1)&&Ee.isatty(2)}var je=tt();function Y(e,n){if(!je)return(r)=>r;return(r)=>e+r+n}var st=Y("\x1B[0m","\x1B[0m"),nt=Y("\x1B[31m","\x1B[39m"),it=Y("\x1B[32m","\x1B[39m"),rt=Y("\x1B[33m","\x1B[39m"),ot=Y("\x1B[34m","\x1B[39m"),at=Y("\x1B[35m","\x1B[39m"),lt=Y("\x1B[36m","\x1B[39m"),ct=Y("\x1B[37m","\x1B[39m"),ut=Y("\x1B[90m","\x1B[39m"),ht=Y("\x1B[1m","\x1B[22m"),dt=Y("\x1B[3m","\x1B[23m"),pt=Y("\x1B[4m","\x1B[24m"),ft=Y("\x1B[2m","\x1B[22m"),mt=Y("\x1B[7m","\x1B[27m"),gt=Y("\x1B[8m","\x1B[28m"),yt=Y("\x1B[9m","\x1B[29m"),$t=Y("\x1B[41m","\x1B[49m"),bt=Y("\x1B[42m","\x1B[49m"),wt=Y("\x1B[43m","\x1B[49m"),vt=Y("\x1B[44m","\x1B[49m"),xt=Y("\x1B[45m","\x1B[49m"),St=Y("\x1B[46m","\x1B[49m"),kt=Y("\x1B[47m","\x1B[49m"),Ct=je,It={reset:st,red:nt,green:it,yellow:rt,blue:ot,magenta:at,cyan:lt,white:ct,gray:ut,bold:ht,italic:dt,underline:pt,dim:ft,inverse:mt,hidden:gt,strikethrough:yt,bgRed:$t,bgGreen:bt,bgYellow:wt,bgBlue:vt,bgMagenta:xt,bgCyan:St,bgWhite:kt,isColorSupported:Ct},Ot=It,Tt=["up","down","left","right","space","enter","cancel"],os={actions:new Set(Tt),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["\x03","cancel"],["escape","cancel"]]),messages:{cancel:"Canceled",error:"Something went wrong"}};var as=Et.platform.startsWith("win"),ls=Symbol("clapp:cancel");var At=He();var K=(e,n)=>At?e:n,cs=K("◆","*"),us=K("■","x"),hs=K("▲","x"),ds=K("◇","o"),ps=K("┌","T"),_t=K("│","|"),fs=K("└","—"),ms=K("●",">"),gs=K("○"," "),ys=K("◻","[•]"),$s=K("◼","[+]"),bs=K("◻","[ ]"),ws=K("▪","•"),vs=K("─","-"),xs=K("╮","+"),Ss=K("├","+"),ks=K("╯","+"),Cs=K("●","•"),Is=K("◆","*"),Os=K("▲","!"),Es=K("■","x");var Ts={light:K("─","-"),heavy:K("━","="),block:K("█","#")};function Pt(){return`${Ot.gray(_t)} `}var As=Pt();var De="0.11.
|
|
31
|
+
`),se.exit(e.exitCode??2)}async runMatchedCommand(){let{args:e,options:n,matchedCommand:r}=this;if(!r||!r.commandAction)return;r.checkUnknownOptions(),r.checkOptionValue(),r.checkRequiredArgs();let c=[];r.args.forEach((S,p)=>{if(S.variadic)c.push(e.slice(p));else c.push(e[p])}),c.push(n);let u={command:r,args:c,options:n};for(let S of r.beforeHooks)await S(u);let d,b=async()=>{let S=r.commandAction.apply(this,c);if(S instanceof Promise)d=await S;else d=S;return d};if(r.middleware.length>0){let S=0,p=async()=>{if(S<r.middleware.length){let y=r.middleware[S++];await y({...u,next:p})}else await b()};await p()}else await b();for(let S of r.afterHooks)await S(u);return d}removeSignalHandlers(){if(!this.signalHandlersSet)return this;return se.removeAllListeners("SIGINT"),se.removeAllListeners("SIGTERM"),this.signalHandlersSet=!1,this}destroy(){this.removeSignalHandlers(),this.commands=[],this.rawArgs=[],this.args=[],this.options={},this.matchedCommand=void 0,this.matchedCommandName=void 0,this.removeAllListeners()}}class Pe{cache;enabled;cleanupInterval=null;hits=0;misses=0;constructor(){this.cache=new Map,this.enabled=!0,this.startCleanupInterval()}startCleanupInterval(){if(this.cleanupInterval)return;this.cleanupInterval=setInterval(()=>{this.cleanup()},30000),this.cleanupInterval.unref()}stopCleanup(){if(this.cleanupInterval)clearInterval(this.cleanupInterval),this.cleanupInterval=null}isEnabled(){return this.enabled}get(e){if(!this.enabled){this.misses++;return}let n=this.cache.get(e);if(!n){this.misses++;return}if(Date.now()-n.timestamp>n.ttl){this.cache.delete(e),this.misses++;return}return this.hits++,n.value}set(e,n,r=5000){if(!this.enabled)return;this.cache.set(e,{value:n,timestamp:Date.now(),ttl:r})}has(e){if(!this.enabled)return!1;let n=this.cache.get(e);if(!n)return!1;if(Date.now()-n.timestamp>n.ttl)return this.cache.delete(e),!1;return!0}delete(e){this.cache.delete(e)}clear(){this.cache.clear()}disable(){this.enabled=!1,this.clear()}enable(){this.enabled=!0}stats(){return{size:this.cache.size,enabled:this.enabled,hits:this.hits,misses:this.misses}}resetStats(){this.hits=0,this.misses=0}keys(){return Array.from(this.cache.keys())}cleanup(){let e=Date.now();for(let[n,r]of this.cache.entries())if(e-r.timestamp>r.ttl)this.cache.delete(n)}destroy(){this.stopCleanup(),this.clear(),this.resetStats()}}var es=new Pe;function tt(){if("FORCE_COLOR"in ae.env)return ae.env.FORCE_COLOR!=="0";if("NO_COLOR"in ae.env||ae.env.TERM==="dumb")return!1;if(ae.platform==="win32")return!0;return Ee.isatty(1)&&Ee.isatty(2)}var je=tt();function Y(e,n){if(!je)return(r)=>r;return(r)=>e+r+n}var st=Y("\x1B[0m","\x1B[0m"),nt=Y("\x1B[31m","\x1B[39m"),it=Y("\x1B[32m","\x1B[39m"),rt=Y("\x1B[33m","\x1B[39m"),ot=Y("\x1B[34m","\x1B[39m"),at=Y("\x1B[35m","\x1B[39m"),lt=Y("\x1B[36m","\x1B[39m"),ct=Y("\x1B[37m","\x1B[39m"),ut=Y("\x1B[90m","\x1B[39m"),ht=Y("\x1B[1m","\x1B[22m"),dt=Y("\x1B[3m","\x1B[23m"),pt=Y("\x1B[4m","\x1B[24m"),ft=Y("\x1B[2m","\x1B[22m"),mt=Y("\x1B[7m","\x1B[27m"),gt=Y("\x1B[8m","\x1B[28m"),yt=Y("\x1B[9m","\x1B[29m"),$t=Y("\x1B[41m","\x1B[49m"),bt=Y("\x1B[42m","\x1B[49m"),wt=Y("\x1B[43m","\x1B[49m"),vt=Y("\x1B[44m","\x1B[49m"),xt=Y("\x1B[45m","\x1B[49m"),St=Y("\x1B[46m","\x1B[49m"),kt=Y("\x1B[47m","\x1B[49m"),Ct=je,It={reset:st,red:nt,green:it,yellow:rt,blue:ot,magenta:at,cyan:lt,white:ct,gray:ut,bold:ht,italic:dt,underline:pt,dim:ft,inverse:mt,hidden:gt,strikethrough:yt,bgRed:$t,bgGreen:bt,bgYellow:wt,bgBlue:vt,bgMagenta:xt,bgCyan:St,bgWhite:kt,isColorSupported:Ct},Ot=It,Tt=["up","down","left","right","space","enter","cancel"],os={actions:new Set(Tt),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["\x03","cancel"],["escape","cancel"]]),messages:{cancel:"Canceled",error:"Something went wrong"}};var as=Et.platform.startsWith("win"),ls=Symbol("clapp:cancel");var At=He();var K=(e,n)=>At?e:n,cs=K("◆","*"),us=K("■","x"),hs=K("▲","x"),ds=K("◇","o"),ps=K("┌","T"),_t=K("│","|"),fs=K("└","—"),ms=K("●",">"),gs=K("○"," "),ys=K("◻","[•]"),$s=K("◼","[+]"),bs=K("◻","[ ]"),ws=K("▪","•"),vs=K("─","-"),xs=K("╮","+"),Ss=K("├","+"),ks=K("╯","+"),Cs=K("●","•"),Is=K("◆","*"),Os=K("▲","!"),Es=K("■","x");var Ts={light:K("─","-"),heavy:K("━","="),block:K("█","#")};function Pt(){return`${Ot.gray(_t)} `}var As=Pt();var De="0.11.59";h();async function Dt(e="src/pantry"){if(!_.existsSync(e))throw Error(`Pantry directory not found: ${e}. Please run 'bun ./bin/cli.ts update-pantry' first.`);let n=[];function r(c,u=""){let d=_.readdirSync(c,{withFileTypes:!0}),b=B.join(c,"package.yml");if(u&&_.existsSync(b))n.push(u);for(let S of d)if(S.isDirectory()&&!S.name.startsWith(".")){let p=u?`${u}/${S.name}`:S.name,y=B.join(c,S.name);r(y,p)}}return r(e),console.log(`\uD83D\uDCE6 Found ${n.length} packages in local pantry`),n.sort()}async function Nt(e=!1){async function n(b){let S=new URL("https://s3.amazonaws.com/dist.tea.xyz/");if(S.searchParams.set("list-type","2"),S.searchParams.set("prefix",""),S.searchParams.set("max-keys","1000"),b)S.searchParams.set("continuation-token",b);let p=await fetch(S.toString());if(!p.ok)throw Error(`Failed to fetch S3 listing: ${p.status}`);let y=await p.text(),A=[],N=y.match(/<Key>([^<]+)<\/Key>/g);if(N)for(let W of N){let U=W.replace(/<Key>([^<]+)<\/Key>/,"$1");A.push({Key:U})}let v=y.includes("<IsTruncated>true</IsTruncated>"),M=y.match(/<NextContinuationToken>([^<]+)<\/NextContinuationToken>/),C=M?M[1]:void 0;return{IsTruncated:v,NextContinuationToken:C,Contents:A}}console.log("Scraping packages from S3 registry...");let r=new Set,c;do{let b=await n(c);for(let S of b.Contents){let p=S.Key,y=p.split("/");if(y.length===0)continue;if(y[0].startsWith(".")||y[0].includes(" ")||p.match(/\.(md|txt|yml|yaml|json)$/i))continue;let A=["darwin","linux","windows"],N=-1;for(let v=1;v<y.length;v++)if(A.includes(y[v])){N=v;break}if(N>0){let v=y.slice(0,N).join("/");if(v.includes("."))r.add(v)}else if(y.length>=2&&y[0].includes(".")&&!y[1].startsWith("v")&&!y[1].match(/^\d/)){let v=`${y[0]}/${y[1]}`;r.add(v)}else if(y.length>=1&&y[0].includes("."))r.add(y[0])}c=b.NextContinuationToken,console.log(`Found ${r.size} packages so far...`)}while(c);let u=Array.from(r).sort(),d=[];for(let b of u){if(!b.includes(".")||b.match(/^[a-z0-9.-]+\.[a-z]{2,}(\/[\w.-]+){0,20}$/i)===null)continue;if(b.endsWith("/README.rst")||b.endsWith("/README")||b.includes("/docs/"))continue;if(b.endsWith("/.pkgroot"))continue;if(["amazon.com/aws","charm.sh","code.videolan.org","crates.io"].includes(b))continue;d.push(b)}return console.log(`\uD83D\uDCE6 Found ${d.length} valid packages in registry`),d}async function Bt(e,n){let c=`/**
|
|
32
32
|
* Constants used throughout the ts-pantry package
|
|
33
33
|
* This file is auto-generated from ${n}. Do not edit manually.
|
|
34
34
|
* Generated on ${new Date().toISOString()}
|
package/package.json
CHANGED