ts-pantry 0.9.16 → 0.9.18
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
|
@@ -19,7 +19,7 @@ ${j.body}`:j.body}).join(`
|
|
|
19
19
|
`).length-1;this.output.write(S.move(-999,z*-1))}render(){let z=T6(this._render(this)??"",w6.stdout.columns,{hard:!0,trim:!1});if(z===this._prevFrame)return;if(this.state==="initial")this.output.write(S.hide);else{let $=jz(this._prevFrame,z);if(this.restoreCursor(),$&&$?.length===1){let Q=$[0];this.output.write(S.move(0,Q)),this.output.write(r.lines(1));let Z=z.split(`
|
|
20
20
|
`);this.output.write(Z[Q]),this._prevFrame=z,this.output.write(S.move(0,Z.length-Q-1));return}if($&&$?.length>1){let Q=$[0];this.output.write(S.move(0,Q)),this.output.write(r.down());let Y=z.split(`
|
|
21
21
|
`).slice(Q);this.output.write(Y.join(`
|
|
22
|
-
`)),this._prevFrame=z;return}this.output.write(r.down())}if(this.output.write(z),this.state==="initial")this.state="active";this._prevFrame=z}}function hz(z,$){if(z===void 0)return 0;if($.length===0)return 0;let Z=$.findIndex((Y)=>Y.value===z);return Z!==-1?Z:0}function fz(z,$){return($.label??String($.value)).toLowerCase().includes(z.toLowerCase())}function gz(z,$){if(!$)return;if(z)return $;return $[0]}class _z extends X6{filteredOptions;multiple;isNavigating=!1;selectedValues=[];focusedValue;#z=0;#Q="";#Z;#$;get cursor(){return this.#z}get userInputWithCursor(){if(!this.userInput)return s.default.inverse(s.default.hidden("_"));if(this._cursor>=this.userInput.length)return`${this.userInput}█`;let z=this.userInput.slice(0,this._cursor),[$,...Q]=this.userInput.slice(this._cursor);return`${z}${s.default.inverse($)}${Q.join("")}`}get options(){if(typeof this.#$==="function")return this.#$();return this.#$}constructor(z){super(z);this.#$=z.options;let $=this.options;this.filteredOptions=[...$],this.multiple=z.multiple===!0,this.#Z=z.filter??fz;let Q;if(z.initialValue&&Array.isArray(z.initialValue))if(this.multiple)Q=z.initialValue;else Q=z.initialValue.slice(0,1);else if(!this.multiple&&this.options.length>0)Q=[this.options[0].value];if(Q)for(let Z of Q){let Y=$.findIndex((X)=>X.value===Z);if(Y!==-1)this.toggleSelected(Z),this.#z=Y}this.focusedValue=this.options[this.#z]?.value,this.on("key",(Z,Y)=>this.#Y(Z,Y)),this.on("userInput",(Z)=>this.#X(Z))}_isActionKey(z,$){return z==="\t"||this.multiple&&this.isNavigating&&$.name==="space"&&z!==void 0&&z!==""}#Y(z,$){let Q=$.name==="up",Z=$.name==="down",Y=$.name==="return";if(Q||Z){if(this.#z=Math.max(0,Math.min(this.#z+(Q?-1:1),this.filteredOptions.length-1)),this.focusedValue=this.filteredOptions[this.#z]?.value,!this.multiple)this.selectedValues=[this.focusedValue];this.isNavigating=!0}else if(Y)this.value=gz(this.multiple,this.selectedValues);else if(this.multiple)if(this.focusedValue!==void 0&&($.name==="tab"||this.isNavigating&&$.name==="space"))this.toggleSelected(this.focusedValue);else this.isNavigating=!1;else{if(this.focusedValue)this.selectedValues=[this.focusedValue];this.isNavigating=!1}}deselectAll(){this.selectedValues=[]}toggleSelected(z){if(this.filteredOptions.length===0)return;if(this.multiple)if(this.selectedValues.includes(z))this.selectedValues=this.selectedValues.filter(($)=>$!==z);else this.selectedValues=[...this.selectedValues,z];else this.selectedValues=[z]}#X(z){if(z!==this.#Q){this.#Q=z;let $=this.options;if(z)this.filteredOptions=$.filter((Q)=>this.#Z(z,Q));else this.filteredOptions=[...$];if(this.#z=hz(this.focusedValue,this.filteredOptions),this.focusedValue=this.filteredOptions[this.#z]?.value,!this.multiple)if(this.focusedValue!==void 0)this.toggleSelected(this.focusedValue);else this.deselectAll()}}}class dz extends X6{options;cursor=0;#z;getGroupItems(z){return this.options.filter(($)=>$.group===z)}isGroupSelected(z){let $=this.getGroupItems(z),Q=this.value;if(Q===void 0)return!1;return $.every((Z)=>Q.includes(Z.value))}toggleValue(){let z=this.options[this.cursor];if(this.value===void 0)this.value=[];if(z.group===!0){let $=z.value,Q=this.getGroupItems($);if(this.isGroupSelected($))this.value=this.value.filter((Z)=>Q.findIndex((Y)=>Y.value===Z)===-1);else this.value=[...this.value,...Q.map((Z)=>Z.value)];this.value=Array.from(new Set(this.value))}else{let $=this.value.includes(z.value);this.value=$?this.value.filter((Q)=>Q!==z.value):[...this.value,z.value]}}constructor(z){super(z,!1);let{options:$}=z;this.#z=z.selectableGroups!==!1,this.options=Object.entries($).flatMap(([Q,Z])=>[{value:Q,group:!0,label:Q},...Z.map((Y)=>({...Y,group:Q}))]),this.value=[...z.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:Q})=>Q===z.cursorAt),this.#z?0:1),this.on("cursor",(Q)=>{switch(Q){case"left":case"up":{this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;let Z=this.options[this.cursor]?.group===!0;if(!this.#z&&Z)this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break}case"down":case"right":{this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;let Z=this.options[this.cursor]?.group===!0;if(!this.#z&&Z)this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break}case"space":this.toggleValue();break}})}}var V0=I(C(),1);var F0=I(C(),1);var W0=I(C(),1),h={red:["\x1B[31m","\x1B[39m"],green:["\x1B[32m","\x1B[39m"],blue:["\x1B[34m","\x1B[39m"],yellow:["\x1B[33m","\x1B[39m"],cyan:["\x1B[36m","\x1B[39m"],magenta:["\x1B[35m","\x1B[39m"],white:["\x1B[37m","\x1B[39m"],gray:["\x1B[90m","\x1B[39m"],bgRed:["\x1B[41m","\x1B[49m"],bgGreen:["\x1B[42m","\x1B[49m"],bgBlue:["\x1B[44m","\x1B[49m"],bgYellow:["\x1B[43m","\x1B[49m"],bgCyan:["\x1B[46m","\x1B[49m"],bgMagenta:["\x1B[45m","\x1B[49m"],bold:["\x1B[1m","\x1B[22m"],italic:["\x1B[3m","\x1B[23m"],underline:["\x1B[4m","\x1B[24m"],dim:["\x1B[2m","\x1B[22m"],inverse:["\x1B[7m","\x1B[27m"],hidden:["\x1B[8m","\x1B[28m"],strikethrough:["\x1B[9m","\x1B[29m"]},g={primary:"blue",secondary:"cyan",success:"green",warning:"yellow",error:"red",info:"magenta",muted:"gray"};function uz(){return!0}function mz(){let z={};z.supportsColor=uz();function $(Z,Y=[]){let X=Z===""?[]:[...Y,Z],J=function(j){if(!z.supportsColor)return j;let G="",K="";for(let V of X)if(V in g&&g[V]in h){let U=g[V];G+=h[U][0],K=h[U][1]+K}else if(V in h)G+=h[V][0],K=h[V][1]+K;return G+j+K},q=[...Object.keys(h),...Object.keys(g)];for(let j of q)if(!(j in J))Object.defineProperty(J,j,{get(){return $(j,X)}});return J}let Q=[...Object.keys(h),...Object.keys(g)];for(let Z of Q)if(!(Z in z))Object.defineProperty(z,Z,{get(){return $(Z)}});return z}var L0=mz();var xz=Yz();var T=(z,$)=>xz?z:$,M0=T("◆","*"),w0=T("■","x"),O0=T("▲","x"),B0=T("◇","o"),D0=T("┌","T"),lz=T("│","|"),b0=T("└","—"),N0=T("●",">"),T0=T("○"," "),I0=T("◻","[•]"),R0=T("◼","[+]"),E0=T("◻","[ ]"),C0=T("▪","•"),A0=T("─","-"),P0=T("╮","+"),y0=T("├","+"),v0=T("╯","+"),k0=T("●","•"),S0=T("◆","*"),h0=T("▲","!"),f0=T("■","x");var g0=I(C(),1);var _0=I(C(),1);var d0=I(C(),1);var u0=I(C(),1);var m0=I(C(),1);var x0=I(C(),1);var l0=I(C(),1);var n0=I(C(),1);var c0=I(C(),1),a0=I(C(),1);var i0={light:T("─","-"),heavy:T("━","="),block:T("█","#")};var p0=I(C(),1);var r0=I(C(),1);var nz=I(C(),1);function cz(){return`${nz.default.gray(lz)} `}var s0=cz();var t0=I(C(),1);var e0=I(C(),1);var v6="0.9.
|
|
22
|
+
`)),this._prevFrame=z;return}this.output.write(r.down())}if(this.output.write(z),this.state==="initial")this.state="active";this._prevFrame=z}}function hz(z,$){if(z===void 0)return 0;if($.length===0)return 0;let Z=$.findIndex((Y)=>Y.value===z);return Z!==-1?Z:0}function fz(z,$){return($.label??String($.value)).toLowerCase().includes(z.toLowerCase())}function gz(z,$){if(!$)return;if(z)return $;return $[0]}class _z extends X6{filteredOptions;multiple;isNavigating=!1;selectedValues=[];focusedValue;#z=0;#Q="";#Z;#$;get cursor(){return this.#z}get userInputWithCursor(){if(!this.userInput)return s.default.inverse(s.default.hidden("_"));if(this._cursor>=this.userInput.length)return`${this.userInput}█`;let z=this.userInput.slice(0,this._cursor),[$,...Q]=this.userInput.slice(this._cursor);return`${z}${s.default.inverse($)}${Q.join("")}`}get options(){if(typeof this.#$==="function")return this.#$();return this.#$}constructor(z){super(z);this.#$=z.options;let $=this.options;this.filteredOptions=[...$],this.multiple=z.multiple===!0,this.#Z=z.filter??fz;let Q;if(z.initialValue&&Array.isArray(z.initialValue))if(this.multiple)Q=z.initialValue;else Q=z.initialValue.slice(0,1);else if(!this.multiple&&this.options.length>0)Q=[this.options[0].value];if(Q)for(let Z of Q){let Y=$.findIndex((X)=>X.value===Z);if(Y!==-1)this.toggleSelected(Z),this.#z=Y}this.focusedValue=this.options[this.#z]?.value,this.on("key",(Z,Y)=>this.#Y(Z,Y)),this.on("userInput",(Z)=>this.#X(Z))}_isActionKey(z,$){return z==="\t"||this.multiple&&this.isNavigating&&$.name==="space"&&z!==void 0&&z!==""}#Y(z,$){let Q=$.name==="up",Z=$.name==="down",Y=$.name==="return";if(Q||Z){if(this.#z=Math.max(0,Math.min(this.#z+(Q?-1:1),this.filteredOptions.length-1)),this.focusedValue=this.filteredOptions[this.#z]?.value,!this.multiple)this.selectedValues=[this.focusedValue];this.isNavigating=!0}else if(Y)this.value=gz(this.multiple,this.selectedValues);else if(this.multiple)if(this.focusedValue!==void 0&&($.name==="tab"||this.isNavigating&&$.name==="space"))this.toggleSelected(this.focusedValue);else this.isNavigating=!1;else{if(this.focusedValue)this.selectedValues=[this.focusedValue];this.isNavigating=!1}}deselectAll(){this.selectedValues=[]}toggleSelected(z){if(this.filteredOptions.length===0)return;if(this.multiple)if(this.selectedValues.includes(z))this.selectedValues=this.selectedValues.filter(($)=>$!==z);else this.selectedValues=[...this.selectedValues,z];else this.selectedValues=[z]}#X(z){if(z!==this.#Q){this.#Q=z;let $=this.options;if(z)this.filteredOptions=$.filter((Q)=>this.#Z(z,Q));else this.filteredOptions=[...$];if(this.#z=hz(this.focusedValue,this.filteredOptions),this.focusedValue=this.filteredOptions[this.#z]?.value,!this.multiple)if(this.focusedValue!==void 0)this.toggleSelected(this.focusedValue);else this.deselectAll()}}}class dz extends X6{options;cursor=0;#z;getGroupItems(z){return this.options.filter(($)=>$.group===z)}isGroupSelected(z){let $=this.getGroupItems(z),Q=this.value;if(Q===void 0)return!1;return $.every((Z)=>Q.includes(Z.value))}toggleValue(){let z=this.options[this.cursor];if(this.value===void 0)this.value=[];if(z.group===!0){let $=z.value,Q=this.getGroupItems($);if(this.isGroupSelected($))this.value=this.value.filter((Z)=>Q.findIndex((Y)=>Y.value===Z)===-1);else this.value=[...this.value,...Q.map((Z)=>Z.value)];this.value=Array.from(new Set(this.value))}else{let $=this.value.includes(z.value);this.value=$?this.value.filter((Q)=>Q!==z.value):[...this.value,z.value]}}constructor(z){super(z,!1);let{options:$}=z;this.#z=z.selectableGroups!==!1,this.options=Object.entries($).flatMap(([Q,Z])=>[{value:Q,group:!0,label:Q},...Z.map((Y)=>({...Y,group:Q}))]),this.value=[...z.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:Q})=>Q===z.cursorAt),this.#z?0:1),this.on("cursor",(Q)=>{switch(Q){case"left":case"up":{this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;let Z=this.options[this.cursor]?.group===!0;if(!this.#z&&Z)this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break}case"down":case"right":{this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;let Z=this.options[this.cursor]?.group===!0;if(!this.#z&&Z)this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break}case"space":this.toggleValue();break}})}}var V0=I(C(),1);var F0=I(C(),1);var W0=I(C(),1),h={red:["\x1B[31m","\x1B[39m"],green:["\x1B[32m","\x1B[39m"],blue:["\x1B[34m","\x1B[39m"],yellow:["\x1B[33m","\x1B[39m"],cyan:["\x1B[36m","\x1B[39m"],magenta:["\x1B[35m","\x1B[39m"],white:["\x1B[37m","\x1B[39m"],gray:["\x1B[90m","\x1B[39m"],bgRed:["\x1B[41m","\x1B[49m"],bgGreen:["\x1B[42m","\x1B[49m"],bgBlue:["\x1B[44m","\x1B[49m"],bgYellow:["\x1B[43m","\x1B[49m"],bgCyan:["\x1B[46m","\x1B[49m"],bgMagenta:["\x1B[45m","\x1B[49m"],bold:["\x1B[1m","\x1B[22m"],italic:["\x1B[3m","\x1B[23m"],underline:["\x1B[4m","\x1B[24m"],dim:["\x1B[2m","\x1B[22m"],inverse:["\x1B[7m","\x1B[27m"],hidden:["\x1B[8m","\x1B[28m"],strikethrough:["\x1B[9m","\x1B[29m"]},g={primary:"blue",secondary:"cyan",success:"green",warning:"yellow",error:"red",info:"magenta",muted:"gray"};function uz(){return!0}function mz(){let z={};z.supportsColor=uz();function $(Z,Y=[]){let X=Z===""?[]:[...Y,Z],J=function(j){if(!z.supportsColor)return j;let G="",K="";for(let V of X)if(V in g&&g[V]in h){let U=g[V];G+=h[U][0],K=h[U][1]+K}else if(V in h)G+=h[V][0],K=h[V][1]+K;return G+j+K},q=[...Object.keys(h),...Object.keys(g)];for(let j of q)if(!(j in J))Object.defineProperty(J,j,{get(){return $(j,X)}});return J}let Q=[...Object.keys(h),...Object.keys(g)];for(let Z of Q)if(!(Z in z))Object.defineProperty(z,Z,{get(){return $(Z)}});return z}var L0=mz();var xz=Yz();var T=(z,$)=>xz?z:$,M0=T("◆","*"),w0=T("■","x"),O0=T("▲","x"),B0=T("◇","o"),D0=T("┌","T"),lz=T("│","|"),b0=T("└","—"),N0=T("●",">"),T0=T("○"," "),I0=T("◻","[•]"),R0=T("◼","[+]"),E0=T("◻","[ ]"),C0=T("▪","•"),A0=T("─","-"),P0=T("╮","+"),y0=T("├","+"),v0=T("╯","+"),k0=T("●","•"),S0=T("◆","*"),h0=T("▲","!"),f0=T("■","x");var g0=I(C(),1);var _0=I(C(),1);var d0=I(C(),1);var u0=I(C(),1);var m0=I(C(),1);var x0=I(C(),1);var l0=I(C(),1);var n0=I(C(),1);var c0=I(C(),1),a0=I(C(),1);var i0={light:T("─","-"),heavy:T("━","="),block:T("█","#")};var p0=I(C(),1);var r0=I(C(),1);var nz=I(C(),1);function cz(){return`${nz.default.gray(lz)} `}var s0=cz();var t0=I(C(),1);var e0=I(C(),1);var v6="0.9.18";iz();async function pz(z="src/pantry"){if(!W.existsSync(z))throw Error(`Pantry directory not found: ${z}. Please run 'bun ./bin/cli.ts update-pantry' first.`);let $=[];function Q(Z,Y=""){let X=W.readdirSync(Z,{withFileTypes:!0}),J=R.join(Z,"package.yml");if(Y&&W.existsSync(J))$.push(Y);for(let q of X)if(q.isDirectory()&&!q.name.startsWith(".")){let j=Y?`${Y}/${q.name}`:q.name,G=R.join(Z,q.name);Q(G,j)}}return Q(z),console.log(`\uD83D\uDCE6 Found ${$.length} packages in local pantry`),$.sort()}async function rz(z=!1){async function $(J){let q=new URL("https://s3.amazonaws.com/dist.tea.xyz/");if(q.searchParams.set("list-type","2"),q.searchParams.set("prefix",""),q.searchParams.set("max-keys","1000"),J)q.searchParams.set("continuation-token",J);let j=await fetch(q.toString());if(!j.ok)throw Error(`Failed to fetch S3 listing: ${j.status}`);let G=await j.text(),K=[],V=G.match(/<Key>([^<]+)<\/Key>/g);if(V)for(let O of V){let b=O.replace(/<Key>([^<]+)<\/Key>/,"$1");K.push({Key:b})}let U=G.includes("<IsTruncated>true</IsTruncated>"),F=G.match(/<NextContinuationToken>([^<]+)<\/NextContinuationToken>/),H=F?F[1]:void 0;return{IsTruncated:U,NextContinuationToken:H,Contents:K}}console.log("Scraping packages from S3 registry...");let Q=new Set,Z;do{let J=await $(Z);for(let q of J.Contents){let j=q.Key,G=j.split("/");if(G.length===0)continue;if(G[0].startsWith(".")||G[0].includes(" ")||j.match(/\.(md|txt|yml|yaml|json)$/i))continue;let K=["darwin","linux","windows"],V=-1;for(let U=1;U<G.length;U++)if(K.includes(G[U])){V=U;break}if(V>0){let U=G.slice(0,V).join("/");if(U.includes("."))Q.add(U)}else if(G.length>=2&&G[0].includes(".")&&!G[1].startsWith("v")&&!G[1].match(/^\d/)){let U=`${G[0]}/${G[1]}`;Q.add(U)}else if(G.length>=1&&G[0].includes("."))Q.add(G[0])}Z=J.NextContinuationToken,console.log(`Found ${Q.size} packages so far...`)}while(Z);let Y=Array.from(Q).sort(),X=[];for(let J of Y){if(!J.includes(".")||J.match(/^[a-z0-9.-]+\.[a-z]{2,}(\/[\w.-]+){0,20}$/i)===null)continue;if(J.endsWith("/README.rst")||J.endsWith("/README")||J.includes("/docs/"))continue;if(J.endsWith("/.pkgroot"))continue;if(["amazon.com/aws","charm.sh","code.videolan.org","crates.io"].includes(J))continue;X.push(J)}return console.log(`\uD83D\uDCE6 Found ${X.length} valid packages in registry`),X}async function sz(z,$){let Z=`/**
|
|
23
23
|
* Constants used throughout the ts-pkgx package
|
|
24
24
|
* This file is auto-generated from ${$}. Do not edit manually.
|
|
25
25
|
* Generated on ${new Date().toISOString()}
|