jsrepo 3.7.1 → 3.8.0

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.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import{i as e,n as t,r as n,t as r}from"./picocolors-DQPB0Sb5.mjs";import{$ as i,A as a,C as o,Ct as s,D as c,E as l,J as u,M as d,N as f,O as p,Q as m,S as h,St as g,Tt as _,V as v,X as y,Y as b,Z as x,_ as S,_t as C,at as w,b as T,bt as E,ct as D,dt as O,et as k,ft as A,g as j,gt as M,h as ee,ht as N,it as te,j as ne,k as re,lt as ie,m as ae,mt as oe,nt as se,ot as P,pt as ce,q as le,r as ue,rt as de,st as F,t as fe,tt as pe,ut as me,v as he,vt as ge,w as _e,wt as ve,xt as I,y as ye,yt as L}from"./providers-DIGyIdpX.mjs";import{_ as be,b as R,c as xe,d as Se,g as Ce,h as we,l as z,m as Te,p as B,s as Ee,u as V,v as H,y as De}from"./warnings-DFbHh8ba.mjs";import{A as Oe,N as ke,O as Ae,P as je,S as U,_ as Me,a as Ne,b as Pe,g as Fe,h as Ie,i as Le,j as Re,r as ze,t as Be,x as Ve,y as He,z as Ue}from"./errors-C7KsbF1p.mjs";import{Command as W,Option as We,program as Ge}from"commander";import{watch as Ke}from"node:fs";import{Visitor as qe,parse as Je}from"oxc-parser";import Ye from"node:os";import{buffer as Xe}from"node:stream/consumers";import{createGzip as Ze}from"node:zlib";var G=g(),K=e(r(),1);const q=C({cwd:L().transform(e=>e)}),J={yes:new We(`--yes`,`Skip the confirmation prompt.`).default(!1),noCache:new We(`--no-cache`,`Disable caching of resolved git urls.`).default(!1),verbose:new We(`--verbose`,`Include debug logs.`).default(!1),overwrite:new We(`--overwrite`,`Overwrite files without prompting.`).default(!1),expand:new We(`-E, --expand`,`Expands the diff so you see the entire file.`).default(!1),maxUnchanged:new We(`--max-unchanged <lines>`,`Maximum unchanged lines that will show without being collapsed.`).argParser(e=>Number.parseInt(e,10)).default(5),cwd:new We(`--cwd <path>`,`The current working directory.`).default(process.cwd())};function Y(e,t){return ie(e,t).match(e=>e,e=>Z(new Fe(e.zodError)))}async function X(e){try{let t=await e;return t.isErr()?Z(t.error):t.value}catch(e){e instanceof U&&Z(e),Z(new U(e instanceof Error?e.message:String(e),{suggestion:`Please try again.`}))}}function Z(e){return Qe(e)}function Qe(e){B.message(),process.env.JSREPO_TRACE===`1`?(console.trace(e),process.exit(1)):(V(K.default.red(e.toString())),process.exit(1))}async function $e(e,t,n){if(Array.isArray(e.registry)){let r=[];for(let i of e.registry)r.push(await t(await O(i,n)));return r}else return[await t(await O(e.registry,n))]}function et(e){return Array.isArray(e.registry)?e.registry.length>0:!0}var tt=44,nt=59,rt=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,it=new Uint8Array(64),at=new Uint8Array(128);for(let e=0;e<rt.length;e++){let t=rt.charCodeAt(e);it[e]=t,at[t]=e}function ot(e,t,n){let r=t-n;r=r<0?-r<<1|1:r<<1;do{let t=r&31;r>>>=5,r>0&&(t|=32),e.write(it[t])}while(r>0);return t}var st=1024*16,ct=typeof TextDecoder<`u`?new TextDecoder:typeof Buffer<`u`?{decode(e){return Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString()}}:{decode(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t}},lt=class{constructor(){this.pos=0,this.out=``,this.buffer=new Uint8Array(st)}write(e){let{buffer:t}=this;t[this.pos++]=e,this.pos===st&&(this.out+=ct.decode(t),this.pos=0)}flush(){let{buffer:e,out:t,pos:n}=this;return n>0?t+ct.decode(e.subarray(0,n)):t}};function ut(e){let t=new lt,n=0,r=0,i=0,a=0;for(let o=0;o<e.length;o++){let s=e[o];if(o>0&&t.write(nt),s.length===0)continue;let c=0;for(let e=0;e<s.length;e++){let o=s[e];e>0&&t.write(tt),c=ot(t,o[0],c),o.length!==1&&(n=ot(t,o[1],n),r=ot(t,o[2],r),i=ot(t,o[3],i),o.length!==4&&(a=ot(t,o[4],a)))}}return t.flush()}var dt=class e{constructor(t){this.bits=t instanceof e?t.bits.slice():[]}add(e){this.bits[e>>5]|=1<<(e&31)}has(e){return!!(this.bits[e>>5]&1<<(e&31))}},ft=class e{constructor(e,t,n){this.start=e,this.end=t,this.original=n,this.intro=``,this.outro=``,this.content=n,this.storeName=!1,this.edited=!1,this.previous=null,this.next=null}appendLeft(e){this.outro+=e}appendRight(e){this.intro+=e}clone(){let t=new e(this.start,this.end,this.original);return t.intro=this.intro,t.outro=this.outro,t.content=this.content,t.storeName=this.storeName,t.edited=this.edited,t}contains(e){return this.start<e&&e<this.end}eachNext(e){let t=this;for(;t;)e(t),t=t.next}eachPrevious(e){let t=this;for(;t;)e(t),t=t.previous}edit(e,t,n){return this.content=e,n||(this.intro=``,this.outro=``),this.storeName=t,this.edited=!0,this}prependLeft(e){this.outro=e+this.outro}prependRight(e){this.intro=e+this.intro}reset(){this.intro=``,this.outro=``,this.edited&&=(this.content=this.original,this.storeName=!1,!1)}split(t){let n=t-this.start,r=this.original.slice(0,n),i=this.original.slice(n);this.original=r;let a=new e(t,this.end,i);return a.outro=this.outro,this.outro=``,this.end=t,this.edited?(a.edit(``,!1),this.content=``):this.content=r,a.next=this.next,a.next&&(a.next.previous=a),a.previous=this,this.next=a,a}toString(){return this.intro+this.content+this.outro}trimEnd(e){if(this.outro=this.outro.replace(e,``),this.outro.length)return!0;let t=this.content.replace(e,``);if(t.length)return t!==this.content&&(this.split(this.start+t.length).edit(``,void 0,!0),this.edited&&this.edit(t,this.storeName,!0)),!0;if(this.edit(``,void 0,!0),this.intro=this.intro.replace(e,``),this.intro.length)return!0}trimStart(e){if(this.intro=this.intro.replace(e,``),this.intro.length)return!0;let t=this.content.replace(e,``);if(t.length){if(t!==this.content){let e=this.split(this.end-t.length);this.edited&&e.edit(t,this.storeName,!0),this.edit(``,void 0,!0)}return!0}else if(this.edit(``,void 0,!0),this.outro=this.outro.replace(e,``),this.outro.length)return!0}};function pt(){return typeof globalThis<`u`&&typeof globalThis.btoa==`function`?e=>globalThis.btoa(unescape(encodeURIComponent(e))):typeof Buffer==`function`?e=>Buffer.from(e,`utf-8`).toString(`base64`):()=>{throw Error("Unsupported environment: `window.btoa` or `Buffer` should be supported.")}}const mt=pt();var ht=class{constructor(e){this.version=3,this.file=e.file,this.sources=e.sources,this.sourcesContent=e.sourcesContent,this.names=e.names,this.mappings=ut(e.mappings),e.x_google_ignoreList!==void 0&&(this.x_google_ignoreList=e.x_google_ignoreList),e.debugId!==void 0&&(this.debugId=e.debugId)}toString(){return JSON.stringify(this)}toUrl(){return`data:application/json;charset=utf-8;base64,`+mt(this.toString())}};function gt(e){let t=e.split(`
2
+ import{i as e,n as t,r as n,t as r}from"./picocolors-DQPB0Sb5.mjs";import{$ as i,A as a,C as o,Ct as s,D as c,E as l,J as u,M as d,N as f,O as p,Q as m,S as h,St as g,Tt as _,V as v,X as y,Y as b,Z as x,_ as S,_t as C,at as w,b as T,bt as E,ct as D,dt as O,et as k,ft as A,g as j,gt as M,h as ee,ht as N,it as te,j as ne,k as re,lt as ie,m as ae,mt as oe,nt as se,ot as P,pt as ce,q as le,r as ue,rt as de,st as F,t as fe,tt as pe,ut as me,v as he,vt as ge,w as _e,wt as ve,xt as I,y as ye,yt as L}from"./providers-Dc3L9h_M.mjs";import{_ as be,b as R,c as xe,d as Se,g as Ce,h as we,l as z,m as Te,p as B,s as Ee,u as V,v as De,y as Oe}from"./warnings-DFbHh8ba.mjs";import{A as ke,N as Ae,O as je,P as Me,S as H,_ as Ne,a as Pe,b as Fe,g as Ie,h as Le,i as Re,j as ze,r as Be,t as Ve,x as He,y as Ue,z as We}from"./errors-ZO96VU6k.mjs";import{Command as U,Option as W,program as Ge}from"commander";import{watch as Ke}from"node:fs";import{Visitor as qe,parse as Je}from"oxc-parser";import Ye from"node:os";import{buffer as Xe}from"node:stream/consumers";import{createGzip as Ze}from"node:zlib";var G=g(),K=e(r(),1);const q=C({cwd:L().transform(e=>e)}),J={yes:new W(`--yes`,`Skip the confirmation prompt.`).default(!1),noCache:new W(`--no-cache`,`Disable caching of resolved git urls.`).default(!1),verbose:new W(`--verbose`,`Include debug logs.`).default(!1),overwrite:new W(`--overwrite`,`Overwrite files without prompting.`).default(!1),expand:new W(`-E, --expand`,`Expands the diff so you see the entire file.`).default(!1),maxUnchanged:new W(`--max-unchanged <lines>`,`Maximum unchanged lines that will show without being collapsed.`).argParser(e=>Number.parseInt(e,10)).default(5),cwd:new W(`--cwd <path>`,`The current working directory.`).default(process.cwd())};function Y(e,t){return ie(e,t).match(e=>e,e=>Z(new Ie(e.zodError)))}async function X(e){try{let t=await e;return t.isErr()?Z(t.error):t.value}catch(e){e instanceof H&&Z(e),Z(new H(e instanceof Error?e.message:String(e),{suggestion:`Please try again.`}))}}function Z(e){return Qe(e)}function Qe(e){B.message(),process.env.JSREPO_TRACE===`1`?(console.trace(e),process.exit(1)):(V(K.default.red(e.toString())),process.exit(1))}async function $e(e,t,n){if(Array.isArray(e.registry)){let r=[];for(let i of e.registry)r.push(await t(await O(i,n)));return r}else return[await t(await O(e.registry,n))]}function et(e){return Array.isArray(e.registry)?e.registry.length>0:!0}var tt=44,nt=59,rt=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,it=new Uint8Array(64),at=new Uint8Array(128);for(let e=0;e<rt.length;e++){let t=rt.charCodeAt(e);it[e]=t,at[t]=e}function ot(e,t,n){let r=t-n;r=r<0?-r<<1|1:r<<1;do{let t=r&31;r>>>=5,r>0&&(t|=32),e.write(it[t])}while(r>0);return t}var st=1024*16,ct=typeof TextDecoder<`u`?new TextDecoder:typeof Buffer<`u`?{decode(e){return Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString()}}:{decode(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t}},lt=class{constructor(){this.pos=0,this.out=``,this.buffer=new Uint8Array(st)}write(e){let{buffer:t}=this;t[this.pos++]=e,this.pos===st&&(this.out+=ct.decode(t),this.pos=0)}flush(){let{buffer:e,out:t,pos:n}=this;return n>0?t+ct.decode(e.subarray(0,n)):t}};function ut(e){let t=new lt,n=0,r=0,i=0,a=0;for(let o=0;o<e.length;o++){let s=e[o];if(o>0&&t.write(nt),s.length===0)continue;let c=0;for(let e=0;e<s.length;e++){let o=s[e];e>0&&t.write(tt),c=ot(t,o[0],c),o.length!==1&&(n=ot(t,o[1],n),r=ot(t,o[2],r),i=ot(t,o[3],i),o.length!==4&&(a=ot(t,o[4],a)))}}return t.flush()}var dt=class e{constructor(t){this.bits=t instanceof e?t.bits.slice():[]}add(e){this.bits[e>>5]|=1<<(e&31)}has(e){return!!(this.bits[e>>5]&1<<(e&31))}},ft=class e{constructor(e,t,n){this.start=e,this.end=t,this.original=n,this.intro=``,this.outro=``,this.content=n,this.storeName=!1,this.edited=!1,this.previous=null,this.next=null}appendLeft(e){this.outro+=e}appendRight(e){this.intro+=e}clone(){let t=new e(this.start,this.end,this.original);return t.intro=this.intro,t.outro=this.outro,t.content=this.content,t.storeName=this.storeName,t.edited=this.edited,t}contains(e){return this.start<e&&e<this.end}eachNext(e){let t=this;for(;t;)e(t),t=t.next}eachPrevious(e){let t=this;for(;t;)e(t),t=t.previous}edit(e,t,n){return this.content=e,n||(this.intro=``,this.outro=``),this.storeName=t,this.edited=!0,this}prependLeft(e){this.outro=e+this.outro}prependRight(e){this.intro=e+this.intro}reset(){this.intro=``,this.outro=``,this.edited&&=(this.content=this.original,this.storeName=!1,!1)}split(t){let n=t-this.start,r=this.original.slice(0,n),i=this.original.slice(n);this.original=r;let a=new e(t,this.end,i);return a.outro=this.outro,this.outro=``,this.end=t,this.edited?(a.edit(``,!1),this.content=``):this.content=r,a.next=this.next,a.next&&(a.next.previous=a),a.previous=this,this.next=a,a}toString(){return this.intro+this.content+this.outro}trimEnd(e){if(this.outro=this.outro.replace(e,``),this.outro.length)return!0;let t=this.content.replace(e,``);if(t.length)return t!==this.content&&(this.split(this.start+t.length).edit(``,void 0,!0),this.edited&&this.edit(t,this.storeName,!0)),!0;if(this.edit(``,void 0,!0),this.intro=this.intro.replace(e,``),this.intro.length)return!0}trimStart(e){if(this.intro=this.intro.replace(e,``),this.intro.length)return!0;let t=this.content.replace(e,``);if(t.length){if(t!==this.content){let e=this.split(this.end-t.length);this.edited&&e.edit(t,this.storeName,!0),this.edit(``,void 0,!0)}return!0}else if(this.edit(``,void 0,!0),this.outro=this.outro.replace(e,``),this.outro.length)return!0}};function pt(){return typeof globalThis<`u`&&typeof globalThis.btoa==`function`?e=>globalThis.btoa(unescape(encodeURIComponent(e))):typeof Buffer==`function`?e=>Buffer.from(e,`utf-8`).toString(`base64`):()=>{throw Error("Unsupported environment: `window.btoa` or `Buffer` should be supported.")}}const mt=pt();var ht=class{constructor(e){this.version=3,this.file=e.file,this.sources=e.sources,this.sourcesContent=e.sourcesContent,this.names=e.names,this.mappings=ut(e.mappings),e.x_google_ignoreList!==void 0&&(this.x_google_ignoreList=e.x_google_ignoreList),e.debugId!==void 0&&(this.debugId=e.debugId)}toString(){return JSON.stringify(this)}toUrl(){return`data:application/json;charset=utf-8;base64,`+mt(this.toString())}};function gt(e){let t=e.split(`
3
3
  `),n=t.filter(e=>/^\t+/.test(e)),r=t.filter(e=>/^ {2,}/.test(e));if(n.length===0&&r.length===0)return null;if(n.length>=r.length)return` `;let i=r.reduce((e,t)=>{let n=/^ +/.exec(t)[0].length;return Math.min(n,e)},1/0);return Array(i+1).join(` `)}function _t(e,t){let n=e.split(/[/\\]/),r=t.split(/[/\\]/);for(n.pop();n[0]===r[0];)n.shift(),r.shift();if(n.length){let e=n.length;for(;e--;)n[e]=`..`}return n.concat(r).join(`/`)}const vt=Object.prototype.toString;function yt(e){return vt.call(e)===`[object Object]`}function bt(e){let t=e.split(`
4
4
  `),n=[];for(let e=0,r=0;e<t.length;e++)n.push(r),r+=t[e].length+1;return function(e){let t=0,r=n.length;for(;t<r;){let i=t+r>>1;e<n[i]?r=i:t=i+1}let i=t-1;return{line:i,column:e-n[i]}}}const xt=/\w/;var St=class{constructor(e){this.hires=e,this.generatedCodeLine=0,this.generatedCodeColumn=0,this.raw=[],this.rawSegments=this.raw[this.generatedCodeLine]=[],this.pending=null}addEdit(e,t,n,r){if(t.length){let i=t.length-1,a=t.indexOf(`
5
5
  `,0),o=-1;for(;a>=0&&i>a;){let i=[this.generatedCodeColumn,e,n.line,n.column];r>=0&&i.push(r),this.rawSegments.push(i),this.generatedCodeLine+=1,this.raw[this.generatedCodeLine]=this.rawSegments=[],this.generatedCodeColumn=0,o=a,a=t.indexOf(`
@@ -12,33 +12,35 @@ import{i as e,n as t,r as n,t as r}from"./picocolors-DQPB0Sb5.mjs";import{$ as i
12
12
  `),e!==-1)return n.outro.substr(e+1)+t;t=n.outro+t}if(n.content.length>0){if(e=n.content.lastIndexOf(`
13
13
  `),e!==-1)return n.content.substr(e+1)+t;t=n.content+t}if(n.intro.length>0){if(e=n.intro.lastIndexOf(`
14
14
  `),e!==-1)return n.intro.substr(e+1)+t;t=n.intro+t}}while(n=n.previous);return e=this.intro.lastIndexOf(`
15
- `),e===-1?this.intro+t:this.intro.substr(e+1)+t}slice(e=0,t=this.original.length-this.offset){if(e+=this.offset,t+=this.offset,this.original.length!==0){for(;e<0;)e+=this.original.length;for(;t<0;)t+=this.original.length}let n=``,r=this.firstChunk;for(;r&&(r.start>e||r.end<=e);){if(r.start<t&&r.end>=t)return n;r=r.next}if(r&&r.edited&&r.start!==e)throw Error(`Cannot use replaced character ${e} as slice start anchor.`);let i=r;for(;r;){r.intro&&(i!==r||r.start===e)&&(n+=r.intro);let a=r.start<t&&r.end>=t;if(a&&r.edited&&r.end!==t)throw Error(`Cannot use replaced character ${t} as slice end anchor.`);let o=i===r?e-r.start:0,s=a?r.content.length+t-r.end:r.content.length;if(n+=r.content.slice(o,s),r.outro&&(!a||r.end===t)&&(n+=r.outro),a)break;r=r.next}return n}snip(e,t){let n=this.clone();return n.remove(0,e),n.remove(t,n.original.length),n}_split(e){if(this.byStart[e]||this.byEnd[e])return;let t=this.lastSearchedChunk,n=t,r=e>t.end;for(;t;){if(t.contains(e))return this._splitChunk(t,e);if(t=r?this.byStart[t.end]:this.byEnd[t.start],t===n)return;n=t}}_splitChunk(e,t){if(e.edited&&e.content.length){let n=bt(this.original)(t);throw Error(`Cannot split a chunk that has already been edited (${n.line}:${n.column} – "${e.original}")`)}let n=e.split(t);return this.byEnd[t]=e,this.byStart[t]=n,this.byEnd[n.end]=n,e===this.lastChunk&&(this.lastChunk=n),this.lastSearchedChunk=e,!0}toString(){let e=this.intro,t=this.firstChunk;for(;t;)e+=t.toString(),t=t.next;return e+this.outro}isEmpty(){let e=this.firstChunk;do if(e.intro.length&&e.intro.trim()||e.content.length&&e.content.trim()||e.outro.length&&e.outro.trim())return!1;while(e=e.next);return!0}length(){let e=this.firstChunk,t=0;do t+=e.intro.length+e.content.length+e.outro.length;while(e=e.next);return t}trimLines(){return this.trim(`[\\r\\n]`)}trim(e){return this.trimStart(e).trimEnd(e)}trimEndAborted(e){let t=RegExp((e||`\\s`)+`+$`);if(this.outro=this.outro.replace(t,``),this.outro.length)return!0;let n=this.lastChunk;do{let e=n.end,r=n.trimEnd(t);if(n.end!==e&&(this.lastChunk===n&&(this.lastChunk=n.next),this.byEnd[n.end]=n,this.byStart[n.next.start]=n.next,this.byEnd[n.next.end]=n.next),r)return!0;n=n.previous}while(n);return!1}trimEnd(e){return this.trimEndAborted(e),this}trimStartAborted(e){let t=RegExp(`^`+(e||`\\s`)+`+`);if(this.intro=this.intro.replace(t,``),this.intro.length)return!0;let n=this.firstChunk;do{let e=n.end,r=n.trimStart(t);if(n.end!==e&&(n===this.lastChunk&&(this.lastChunk=n.next),this.byEnd[n.end]=n,this.byStart[n.next.start]=n.next,this.byEnd[n.next.end]=n.next),r)return!0;n=n.next}while(n);return!1}trimStart(e){return this.trimStartAborted(e),this}hasChanged(){return this.original!==this.toString()}_replaceRegexp(e,t){function n(e,n){return typeof t==`string`?t.replace(/\$(\$|&|\d+)/g,(t,n)=>n===`$`?`$`:n===`&`?e[0]:+n<e.length?e[+n]:`$${n}`):t(...e,e.index,n,e.groups)}function r(e,t){let n,r=[];for(;n=e.exec(t);)r.push(n);return r}if(e.global)r(e,this.original).forEach(e=>{if(e.index!=null){let t=n(e,this.original);t!==e[0]&&this.overwrite(e.index,e.index+e[0].length,t)}});else{let t=this.original.match(e);if(t&&t.index!=null){let e=n(t,this.original);e!==t[0]&&this.overwrite(t.index,t.index+t[0].length,e)}}return this}_replaceString(e,t){let{original:n}=this,r=n.indexOf(e);return r!==-1&&(typeof t==`function`&&(t=t(e,r,n)),e!==t&&this.overwrite(r,r+e.length,t)),this}replace(e,t){return typeof e==`string`?this._replaceString(e,t):this._replaceRegexp(e,t)}_replaceAllString(e,t){let{original:n}=this,r=e.length;for(let i=n.indexOf(e);i!==-1;i=n.indexOf(e,i+r)){let e=n.slice(i,i+r),a=t;typeof t==`function`&&(a=t(e,i,n)),e!==a&&this.overwrite(i,i+r,a)}return this}replaceAll(e,t){if(typeof e==`string`)return this._replaceAllString(e,t);if(!e.global)throw TypeError(`MagicString.prototype.replaceAll called with a non-global RegExp argument`);return this._replaceRegexp(e,t)}},Tt=class{withinExportDefaultDeclaration=!1;withinDefineConfig=!1;withinMainObjectExpression=!1;withinIgnoredProperty=!1;configKeyPropertyDeclaration=null;mainObjectExpression=null};async function Et(e,{config:t}){if(Object.keys(e).length===0)return(0,G.ok)(t.code);let n=await Je(t.path,t.code),r=new wt(t.code),i=new Tt;if(i.withinDefineConfig=!0,new qe({ExportDefaultDeclaration(){i.withinExportDefaultDeclaration=!0},"ExportDefaultDeclaration:exit"(){i.withinExportDefaultDeclaration=!1},ObjectExpression(e){i.withinExportDefaultDeclaration&&i.withinDefineConfig&&(i.withinIgnoredProperty||(i.withinMainObjectExpression||=(i.mainObjectExpression=e,!0)))},CallExpression(e){i.withinExportDefaultDeclaration&&e.callee.type===`Identifier`&&e.callee.name===`defineConfig`&&(i.withinDefineConfig=!0)},"CallExpression:exit"(e){i.withinDefineConfig&&e.callee.type===`Identifier`&&e.callee.name===`defineConfig`&&(i.withinDefineConfig=!1,i.withinMainObjectExpression=!1)},Property(e){if(i.withinDefineConfig&&i.withinMainObjectExpression&&!i.withinIgnoredProperty){if(e.key.type===`Identifier`&&e.key.name!==`paths`){i.withinIgnoredProperty=!0;return}if(e.key.type===`Identifier`&&(e.kind===`init`||e.kind===`get`)&&e.key.name===`paths`){if(e.value.type!==`ObjectExpression`)return(0,G.err)(new Ie({key:`paths`,type:`object`}));i.configKeyPropertyDeclaration=e}}},"Property:exit"(e){if(i.withinDefineConfig&&e.key.type===`Identifier`&&e.key.name!==`paths`){i.withinIgnoredProperty=!1;return}}}).visit(n.program),i.configKeyPropertyDeclaration!==null){if(i.configKeyPropertyDeclaration.value.type!==`ObjectExpression`)return(0,G.err)(new Ie({key:`paths`,type:`object`}));let t=new Map;for(let n of i.configKeyPropertyDeclaration.value.properties)if(n.type===`Property`&&(n.key.type===`Literal`||n.key.type===`Identifier`)){let i=r.slice(n.key.start,n.key.end).replaceAll(/['"]/g,``);e[i]!==void 0&&t.set(i,n)}let n=r.slice(i.configKeyPropertyDeclaration.value.start,i.configKeyPropertyDeclaration.value.end);if(i.configKeyPropertyDeclaration.value.properties.length===0)r.overwrite(i.configKeyPropertyDeclaration.value.start,i.configKeyPropertyDeclaration.value.end,`{\n${Object.entries(e).map(([e,t])=>`\t\t${ne.test(e)?e:`'${e}'`}: '${t}'`).join(`,
15
+ `),e===-1?this.intro+t:this.intro.substr(e+1)+t}slice(e=0,t=this.original.length-this.offset){if(e+=this.offset,t+=this.offset,this.original.length!==0){for(;e<0;)e+=this.original.length;for(;t<0;)t+=this.original.length}let n=``,r=this.firstChunk;for(;r&&(r.start>e||r.end<=e);){if(r.start<t&&r.end>=t)return n;r=r.next}if(r&&r.edited&&r.start!==e)throw Error(`Cannot use replaced character ${e} as slice start anchor.`);let i=r;for(;r;){r.intro&&(i!==r||r.start===e)&&(n+=r.intro);let a=r.start<t&&r.end>=t;if(a&&r.edited&&r.end!==t)throw Error(`Cannot use replaced character ${t} as slice end anchor.`);let o=i===r?e-r.start:0,s=a?r.content.length+t-r.end:r.content.length;if(n+=r.content.slice(o,s),r.outro&&(!a||r.end===t)&&(n+=r.outro),a)break;r=r.next}return n}snip(e,t){let n=this.clone();return n.remove(0,e),n.remove(t,n.original.length),n}_split(e){if(this.byStart[e]||this.byEnd[e])return;let t=this.lastSearchedChunk,n=t,r=e>t.end;for(;t;){if(t.contains(e))return this._splitChunk(t,e);if(t=r?this.byStart[t.end]:this.byEnd[t.start],t===n)return;n=t}}_splitChunk(e,t){if(e.edited&&e.content.length){let n=bt(this.original)(t);throw Error(`Cannot split a chunk that has already been edited (${n.line}:${n.column} – "${e.original}")`)}let n=e.split(t);return this.byEnd[t]=e,this.byStart[t]=n,this.byEnd[n.end]=n,e===this.lastChunk&&(this.lastChunk=n),this.lastSearchedChunk=e,!0}toString(){let e=this.intro,t=this.firstChunk;for(;t;)e+=t.toString(),t=t.next;return e+this.outro}isEmpty(){let e=this.firstChunk;do if(e.intro.length&&e.intro.trim()||e.content.length&&e.content.trim()||e.outro.length&&e.outro.trim())return!1;while(e=e.next);return!0}length(){let e=this.firstChunk,t=0;do t+=e.intro.length+e.content.length+e.outro.length;while(e=e.next);return t}trimLines(){return this.trim(`[\\r\\n]`)}trim(e){return this.trimStart(e).trimEnd(e)}trimEndAborted(e){let t=RegExp((e||`\\s`)+`+$`);if(this.outro=this.outro.replace(t,``),this.outro.length)return!0;let n=this.lastChunk;do{let e=n.end,r=n.trimEnd(t);if(n.end!==e&&(this.lastChunk===n&&(this.lastChunk=n.next),this.byEnd[n.end]=n,this.byStart[n.next.start]=n.next,this.byEnd[n.next.end]=n.next),r)return!0;n=n.previous}while(n);return!1}trimEnd(e){return this.trimEndAborted(e),this}trimStartAborted(e){let t=RegExp(`^`+(e||`\\s`)+`+`);if(this.intro=this.intro.replace(t,``),this.intro.length)return!0;let n=this.firstChunk;do{let e=n.end,r=n.trimStart(t);if(n.end!==e&&(n===this.lastChunk&&(this.lastChunk=n.next),this.byEnd[n.end]=n,this.byStart[n.next.start]=n.next,this.byEnd[n.next.end]=n.next),r)return!0;n=n.next}while(n);return!1}trimStart(e){return this.trimStartAborted(e),this}hasChanged(){return this.original!==this.toString()}_replaceRegexp(e,t){function n(e,n){return typeof t==`string`?t.replace(/\$(\$|&|\d+)/g,(t,n)=>n===`$`?`$`:n===`&`?e[0]:+n<e.length?e[+n]:`$${n}`):t(...e,e.index,n,e.groups)}function r(e,t){let n,r=[];for(;n=e.exec(t);)r.push(n);return r}if(e.global)r(e,this.original).forEach(e=>{if(e.index!=null){let t=n(e,this.original);t!==e[0]&&this.overwrite(e.index,e.index+e[0].length,t)}});else{let t=this.original.match(e);if(t&&t.index!=null){let e=n(t,this.original);e!==t[0]&&this.overwrite(t.index,t.index+t[0].length,e)}}return this}_replaceString(e,t){let{original:n}=this,r=n.indexOf(e);return r!==-1&&(typeof t==`function`&&(t=t(e,r,n)),e!==t&&this.overwrite(r,r+e.length,t)),this}replace(e,t){return typeof e==`string`?this._replaceString(e,t):this._replaceRegexp(e,t)}_replaceAllString(e,t){let{original:n}=this,r=e.length;for(let i=n.indexOf(e);i!==-1;i=n.indexOf(e,i+r)){let e=n.slice(i,i+r),a=t;typeof t==`function`&&(a=t(e,i,n)),e!==a&&this.overwrite(i,i+r,a)}return this}replaceAll(e,t){if(typeof e==`string`)return this._replaceAllString(e,t);if(!e.global)throw TypeError(`MagicString.prototype.replaceAll called with a non-global RegExp argument`);return this._replaceRegexp(e,t)}},Tt=class{withinExportDefaultDeclaration=!1;withinDefineConfig=!1;withinMainObjectExpression=!1;withinIgnoredProperty=!1;configKeyPropertyDeclaration=null;mainObjectExpression=null};async function Et(e,{config:t}){if(Object.keys(e).length===0)return(0,G.ok)(t.code);let n=await Je(t.path,t.code),r=new wt(t.code),i=new Tt;if(i.withinDefineConfig=!0,new qe({ExportDefaultDeclaration(){i.withinExportDefaultDeclaration=!0},"ExportDefaultDeclaration:exit"(){i.withinExportDefaultDeclaration=!1},ObjectExpression(e){i.withinExportDefaultDeclaration&&i.withinDefineConfig&&(i.withinIgnoredProperty||(i.withinMainObjectExpression||=(i.mainObjectExpression=e,!0)))},CallExpression(e){i.withinExportDefaultDeclaration&&e.callee.type===`Identifier`&&e.callee.name===`defineConfig`&&(i.withinDefineConfig=!0)},"CallExpression:exit"(e){i.withinDefineConfig&&e.callee.type===`Identifier`&&e.callee.name===`defineConfig`&&(i.withinDefineConfig=!1,i.withinMainObjectExpression=!1)},Property(e){if(i.withinDefineConfig&&i.withinMainObjectExpression&&!i.withinIgnoredProperty){if(e.key.type===`Identifier`&&e.key.name!==`paths`){i.withinIgnoredProperty=!0;return}if(e.key.type===`Identifier`&&(e.kind===`init`||e.kind===`get`)&&e.key.name===`paths`){if(e.value.type!==`ObjectExpression`)return(0,G.err)(new Le({key:`paths`,type:`object`}));i.configKeyPropertyDeclaration=e}}},"Property:exit"(e){if(i.withinDefineConfig&&e.key.type===`Identifier`&&e.key.name!==`paths`){i.withinIgnoredProperty=!1;return}}}).visit(n.program),i.configKeyPropertyDeclaration!==null){if(i.configKeyPropertyDeclaration.value.type!==`ObjectExpression`)return(0,G.err)(new Le({key:`paths`,type:`object`}));let t=new Map;for(let n of i.configKeyPropertyDeclaration.value.properties)if(n.type===`Property`&&(n.key.type===`Literal`||n.key.type===`Identifier`)){let i=r.slice(n.key.start,n.key.end).replaceAll(/['"]/g,``);e[i]!==void 0&&t.set(i,n)}let n=r.slice(i.configKeyPropertyDeclaration.value.start,i.configKeyPropertyDeclaration.value.end);if(i.configKeyPropertyDeclaration.value.properties.length===0)r.overwrite(i.configKeyPropertyDeclaration.value.start,i.configKeyPropertyDeclaration.value.end,`{\n${Object.entries(e).map(([e,t])=>`\t\t${ne.test(e)?e:`'${e}'`}: '${t}'`).join(`,
16
16
  `)}\n\t}`);else{let a=i.configKeyPropertyDeclaration.value.properties[i.configKeyPropertyDeclaration.value.properties.length-1],o=n.lastIndexOf(`,`),s=o===-1?-1:o+i.configKeyPropertyDeclaration.value.start+1,c=!1;c=!(s!==-1&&s>a.end);for(let[n,i]of Object.entries(e)){let a=t.get(n);a!==void 0&&(r.overwrite(a.value.start,a.value.end,`'${i}'`),delete e[n])}Object.keys(e).length>0&&r.appendRight(c?a.end:s,`${c?`,`:``}\n${Object.entries(e).map(([e,t])=>`\t\t${ne.test(e)?e:`'${e}'`}: '${t}'`).join(`,
17
- `)}`)}}else{if(i.mainObjectExpression===null)return(0,G.err)(new Le);let t=r.slice(i.mainObjectExpression.start,i.mainObjectExpression.end).lastIndexOf(`,`),n=t===-1?-1:t+i.mainObjectExpression.start+1;if(i.mainObjectExpression.properties.length===0)r.appendRight(i.mainObjectExpression.start+1,`\n\tpaths: {\n${Object.entries(e).map(([e,t])=>`\t\t${ne.test(e)?e:`'${e}'`}: '${t}'`).join(`,
17
+ `)}`)}}else{if(i.mainObjectExpression===null)return(0,G.err)(new Re);let t=r.slice(i.mainObjectExpression.start,i.mainObjectExpression.end).lastIndexOf(`,`),n=t===-1?-1:t+i.mainObjectExpression.start+1;if(i.mainObjectExpression.properties.length===0)r.appendRight(i.mainObjectExpression.start+1,`\n\tpaths: {\n${Object.entries(e).map(([e,t])=>`\t\t${ne.test(e)?e:`'${e}'`}: '${t}'`).join(`,
18
18
  `)}\n\t}`);else{let t=i.mainObjectExpression.properties[i.mainObjectExpression.properties.length-1],a=!1;a=!(n!==-1&&n>t.end),r.appendRight(a?t.end:n,`${a?`,`:``}\n\tpaths: {\n${Object.entries(e).map(([e,t])=>`\t\t${ne.test(e)?e:`'${e}'`}: '${t}'`).join(`,
19
- `)}\n\t}`)}}return(0,G.ok)(r.toString())}async function Dt(e,t=process.cwd()){try{let[n,r]=process.platform===`win32`?[`cmd`,[`/c`,e]]:[`sh`,[`-c`,e]],a=i(n,[...r],{nodeOptions:{stdio:`inherit`,cwd:t}});return await a,a.exitCode===0?(0,G.ok)(void 0):(0,G.err)(Error(`Command "${e}" failed with exit code ${a.exitCode}`))}catch(e){return(0,G.err)(e instanceof Error?e:Error(String(e)))}}async function Ot(e,t,n,r){let i=e.hooks?.[t]??[],a=Array.isArray(i)?i:[i],o=r??process.cwd();for(let e of a)if(typeof e==`function`)try{await e(n)}catch(e){return(0,G.err)(e instanceof Error?e:Error(String(e)))}else if(typeof e==`string`){let t=await Dt(e,o);if(t.isErr())return t}return(0,G.ok)(void 0)}async function Q(e,t,n){let r=e.hooks?.before??[];if((Array.isArray(r)?r:[r]).length!==0){if(console.clear(),we(`Running before hooks`),(await Ot(e,`before`,t,n.cwd)).isErr()){if(n.yes){z(``);return}let e=await Te({message:`Before hooks failed. Would you like to continue?`,initialValue:!1});(R(e)||!e)&&process.exit(1)}z(``)}}async function $(e,t,n){let r=e.hooks?.after??[];if((Array.isArray(r)?r:[r]).length===0)return;we(`Running after hooks`);let i=await Ot(e,`after`,t,n?.cwd);i.isErr()&&B.warn(`After hooks failed: ${i.error.message}`),z(``)}const kt=q.extend({yes:N(),all:N(),overwrite:N(),verbose:N(),registry:L().optional(),with:oe(L()).default([]),withExamples:N(),withDocs:N(),withTests:N(),expand:N(),maxUnchanged:M()}),At=new W(`add`).description(`Add items to your project.`).argument(`[items...]`,`Names of the items you want to add to your project. ex: (utils/math, github/ieedan/std/utils/math)`).option(`--registry <registry>`,`The registry to add items from.`,void 0).option(`--all`,`Add all items from every registry.`,!1).option(`--with <roles...>`,`Include files with the given roles.`).option(`--with-examples`,"Deprecated. Use `--with example`.",!1).option(`--with-docs`,"Deprecated. Use `--with doc`.",!1).option(`--with-tests`,"Deprecated. Use `--with test`.",!1).addOption(J.cwd).addOption(J.yes).addOption(J.verbose).addOption(J.overwrite).addOption(J.expand).addOption(J.maxUnchanged).action(async(e,t)=>{let n=Y(kt,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!n.yes}),i=r?.config??{},a=r?I.dirname(r.path):n.cwd;await Q(i,{command:`add`,options:{...n,cwd:a}},{cwd:a,yes:n.yes}),u();let o=await X(jt(e,{...n,cwd:a},r));z(Mt(o)),await $(i,{command:`add`,options:{...n,cwd:a},result:o},{cwd:a})});async function jt(e,t,n){let{verbose:r,spinner:i}=le({options:t}),s=n?.config,c=s?.providers??fe,l=t.registry?[t.registry]:s?.registries??[],u;if(e.length===0||t.all){if(t.all&&e.length>0)for(let t of e)c.some(e=>e.matches(t))||Z(new He(t));let n=e.length>0?e:l;if(n.length===0)return(0,G.err)(new Ue);i.start(`Retrieving manifest${l.length>1?`s`:``} from ${K.default.cyan(l.join(`, `))}`);let r=await T(n,{cwd:t.cwd,providers:c});if(r.isErr())return i.stop(`Failed to retrieve manifests`),(0,G.err)(r.error);i.stop(`Retrieved manifest${l.length>1?`s`:``} from ${K.default.cyan(l.join(`, `))}`);let a=r.value,o=Array.from(a.entries()).flatMap(([e,t])=>t.manifest.items.filter(e=>e).map(e=>({item:e,registry:t})));if(t.all)u=o;else{let e=await De({message:`Which items would you like to add?`,options:o.filter(e=>(e.item.add??`when-added`)===`when-added`&&e.item.name!==`index`).map(e=>{let t=`${e.registry.url}/${e.item.name}`,n=a.size>1?`${K.default.cyan(e.registry.url)}/${e.item.name}`:e.item.name;return{label:n,value:t,hint:e.item.description?.length??0>=process.stdout.columns-n.length-12?`${e.item.description?.slice(0,process.stdout.columns-n.length-12).trim()}...`:e.item.description}}),maxItems:process.stdout.rows-10,required:!0});R(e)&&(V(`Canceled!`),process.exit(0)),u=o.filter(t=>e.includes(`${t.registry.url}/${t.item.name}`)).map(e=>({registry:e.registry,item:e.item}))}}else{let n=S(e,{providers:c,registries:l});if(n.isErr())return(0,G.err)(n.error);let{wantedItems:r,neededRegistries:a}=n.value;i.start(`Retrieving manifest${a.length>1?`s`:``} from ${K.default.cyan(a.join(`, `))}`);let o=await T(a,{cwd:t.cwd,providers:c});if(o.isErr())return i.stop(`Failed to retrieve manifests`),(0,G.err)(o.error);i.stop(`Retrieved manifest${a.length>1?`s`:``} from ${K.default.cyan(a.join(`, `))}`);let s=o.value,d=await h(r,{resolvedRegistries:s,nonInteractive:t.yes});if(d.isErr())return(0,G.err)(d.error);u=d.value}i.start(`Fetching ${K.default.cyan(u.map(e=>e.item.name).join(`, `))}...`);let d=a(t),f=await ye(u,{withRoles:d});if(f.isErr())return i.stop(`Failed to fetch items`),(0,G.err)(f.error);i.stop(`Fetched ${K.default.cyan(u.map(e=>e.item.name).join(`, `))}`);let p=f.value,g=await ae({items:p,config:s,options:t});if(g.isErr())return(0,G.err)(g.error);let{itemPaths:_,updatedPaths:v}=g.value,b=await he({configResult:n,options:{cwd:t.cwd,yes:t.yes,withRoles:d},itemPaths:_,items:p});if(b.isErr())return(0,G.err)(b.error);let{neededDependencies:x,neededEnvVars:C,neededFiles:E}=b.value,D=await o({files:E,options:t});if(D.isErr())return(0,G.err)(D.error);let O=D.value;if(n&&v){let e=w(n.path);if(e.isErr())return(0,G.err)(e.error);let t=e.value,r=await Et(s?.paths??v,{config:{path:n.path,code:t}});if(r.isErr())return(0,G.err)(r.error);let i=P(n.path,r.value);if(i.isErr())return(0,G.err)(i.error)}let k;if(C){let e=await y(C,{options:t});if(e.isErr())return(0,G.err)(e.error);k=e.value}return(0,G.ok)({items:p,updatedDependencies:await m(x,{options:t,config:s}),updatedEnvVars:k,updatedFiles:O,updatedPaths:v})}function Mt(e){let t=[`Added ${K.default.cyan(e.items.map(e=>e.name).join(`, `))} to your project.`];return e.updatedFiles.length>0&&t.push(` Updated ${K.default.green(e.updatedFiles.length)} ${e.updatedFiles.length===1?`file`:`files`}.`),e.updatedPaths&&Object.keys(e.updatedPaths).length>0&&t.push(` Updated ${K.default.green(Object.keys(e.updatedPaths).length)} ${Object.keys(e.updatedPaths).length===1?`path`:`paths`}.`),e.updatedDependencies.dependencies.length>0&&(e.updatedDependencies.installed?t.push(` Installed ${K.default.green(e.updatedDependencies.dependencies.length)} ${e.updatedDependencies.dependencies.length===1?`dependency`:`dependencies`}.`):t.push(` Skipped installation of ${K.default.cyan(e.updatedDependencies.dependencies.map(e=>`${e.name}${e.version?`@${e.version}`:``}`).join(`, `))}.`)),e.updatedEnvVars&&Object.keys(e.updatedEnvVars).length>0&&t.push(` Updated ${K.default.green(Object.keys(e.updatedEnvVars).length)} ${Object.keys(e.updatedEnvVars).length===1?`environment variable`:`environment variables`}.`),t.join(`
20
- `)}const Nt=q.extend({registry:L().optional(),token:L().optional(),logout:N(),verbose:N()}),Pt=new W(`auth`).description(`Authenticate to a provider or registry.`).argument(`[provider]`,`The provider to authenticate to.`).option(`--logout`,`Execute the logout flow.`,!1).option(`--registry <registry>`,`The registry to authenticate to.`).option(`--token <token>`,`The token to use for authenticating to this provider.`).addOption(J.cwd).addOption(J.verbose).action(async(e,t)=>{let n=Y(Nt,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!1}),i=r?.config??{},a=r?I.dirname(r.path):n.cwd;await Q(i,{command:`auth`,options:{...n,cwd:a}},{cwd:a,yes:!1}),u();let o=await X(Ft(e,n,r?.config));z(Rt(o)),await $(i,{command:`auth`,options:{...n,cwd:a},result:o},{cwd:a})});async function Ft(e,t,n){let{verbose:r,spinner:i}=le({options:t}),a=(n?.providers??fe).filter(e=>e.auth!==void 0),o;if(e){if(o=a.find(t=>t.name===e),!o)return(0,G.err)(new ke(e))}else if(t.registry){if(o=a.find(e=>e.matches(t.registry)),!o)return(0,G.err)(new ke(t.registry))}else{let e=await xe({message:`Select a provider to authenticate to.`,options:a.map(e=>({label:e.name,value:e.name}))});R(e)&&(V(`Canceled!`),process.exit(0)),o=a.find(t=>t.name===e)}return t.registry&&!o.matches(t.registry)?(0,G.err)(new U(`Registry ${K.default.bold(t.registry)} cannot be parsed by provider ${K.default.bold(o.name)}.`,{suggestion:`Pass a registry that matches ${K.default.bold(o.name)} or omit the provider argument.`})):t.logout?await It(o,t):await Lt(o,{config:n,options:t})}async function It(e,t){let n=new _e;if(e.auth.tokenStoredFor===`registry`){if(t.registry)return n.delete(e,t.registry),(0,G.ok)({type:`logout`,provider:e.name,registry:t.registry});let r=n.getProviderRegistryTokens(e);if(Object.keys(r).length===0)return(0,G.ok)({type:`logout`,provider:e.name,registry:void 0});let i=await xe({message:`Select a registry to logout of.`,options:Object.keys(r).map(e=>({label:e,value:e}))});return R(i)&&(V(`Canceled!`),process.exit(0)),n.delete(e,i),(0,G.ok)({type:`logout`,provider:e.name,registry:i})}else return n.delete(e,void 0),(0,G.ok)({type:`logout`,provider:e.name,registry:void 0})}async function Lt(e,{config:t,options:n}){let r=new _e;if(e.auth.tokenStoredFor===`registry`){let i=t?.registries??[],a=n.registry;if(!a)if(i.length===0){let t=await Ce({message:`Enter the name of the registry to authenticate to.`,validate(t){if(!t||t.trim()===``)return`Please provide a value`;if(!e.matches(t))return`Registry cannot be parsed by this provider`}});R(t)&&(V(`Canceled!`),process.exit(0)),a=t}else{let t=await xe({message:`Select a registry to authenticate to.`,options:[...i.map(e=>({label:e,value:e})),{label:`Other`,value:`other`}]});if(R(t)&&(V(`Canceled!`),process.exit(0)),t===`other`){let t=await Ce({message:`Enter the name of the registry to authenticate to.`,validate(t){if(!t||t.trim()===``)return`Please provide a value`;if(!e.matches(t))return`Registry cannot be parsed by this provider`}});R(t)&&(V(`Canceled!`),process.exit(0)),a=t}else a=t}let o=n.token;if(!o)if(e.auth.getToken)o=await e.auth.getToken({registry:a,p:{confirm:Te,multiselect:H,select:xe,text:Ce,log:B,spinner:be,groupMultiselect:Se,password:Ee,isCancel:R,cancel:V,color:K.default}});else{let e=await Ee({message:`Enter your token for ${K.default.cyan(a)}`,validate(e){if(!e||e.trim()===``)return`Please provide a value`}});R(e)&&(V(`Canceled!`),process.exit(0)),o=e}return r.set(e,a,o),(0,G.ok)({type:`login`,provider:e.name,registry:a})}else{let t=n.token;if(!t)if(e.auth.getToken)t=await e.auth.getToken({p:{confirm:Te,multiselect:H,select:xe,text:Ce,log:B,spinner:be,groupMultiselect:Se,password:Ee,isCancel:R,cancel:V,color:K.default}});else{let n=await Ee({message:`Enter your token for ${K.default.cyan(e.name)}`,validate(e){if(!e||e.trim()===``)return`Please provide a value`}});R(n)&&(V(`Canceled!`),process.exit(0)),t=n}return r.set(e,void 0,t),(0,G.ok)({type:`login`,provider:e.name})}}function Rt({type:e,provider:t,registry:n}){let r=n?`${K.default.cyan(n)}`:`${K.default.cyan(t)}`;return e===`login`?`Logged in to ${r}.`:`Logged out of ${r}.`}const zt=q.extend({watch:N(),debounce:M()}),Bt=new W(`build`).description(`Build your registry.`).addOption(J.cwd).option(`-w, --watch`,`Watch for changes and rebuild automatically`,!1).option(`-d, --debounce <ms>`,`How long to wait before building again after a change is detected (watch mode only)`,e=>Number.parseInt(e,10),100).action(async e=>{let t=Y(zt,e),n=await f({cwd:t.cwd,promptForContinueIfNull:!1});if(n||Z(new ze(t.cwd)),t.watch)await Ht(t,n);else{let e=n.config,r=I.dirname(n.path),i={...t,cwd:r};await Q(e,{command:`build`,options:i},{cwd:r,yes:!1}),u();let a=await X(Vt(i,e));z(Wt(a,{type:`build`})),await $(e,{command:`build`,options:i,result:a},{cwd:r}),a.results.some(e=>e.isErr())&&process.exit(1)}});async function Vt(e,t){if(!et(t))return(0,G.err)(new je);let n=performance.now();return(0,G.ok)({results:await $e(t,async n=>{n.outputs=n.outputs??[];let r=performance.now(),i=await re(n);if(i.isErr())return(0,G.err)(i.error);n.outputs.length>0&&await Promise.all(n.outputs.map(t=>t.clean({cwd:e.cwd})));let a=await p(n,{options:e,config:t});if(a.isErr())return(0,G.err)(a.error);let o=a.value;if(n.outputs.length===0)return(0,G.err)(new Oe({registryName:n.name}));await Promise.all(n.outputs.map(t=>t.output(o,{cwd:e.cwd})));let s=performance.now()-r;return(0,G.ok)({name:n.name,time:s,items:o.items.length,files:o.items.flatMap(e=>e.files.length).length,outputs:n.outputs.length})},{cwd:e.cwd}),duration:performance.now()-n})}async function Ht(e,t){let n=t.config,r=new AbortController,i=new Map,a=!0,o=()=>{b&&(process.stdout.clearLine(0),process.stdout.cursorTo(0))},s=(e,t=!1)=>{b?(o(),process.stdout.write(e)):t&&process.stdout.write(`${e}\n`)},c=me(async({options:e,config:t})=>{if(a)return;a=!0,s(K.default.dim(`Building...`));let n=await Vt(e,t);o(),n.isErr()?process.stdout.write(`Error building registry: ${K.default.red(n.error.message)}\n`):process.stdout.write(`${Wt(n.value,{type:`build`})}\n`),s(K.default.dim(`${b?`
19
+ `)}\n\t}`)}}return(0,G.ok)(r.toString())}async function Dt(e,t=process.cwd()){try{let[n,r]=process.platform===`win32`?[`cmd`,[`/c`,e]]:[`sh`,[`-c`,e]],a=i(n,[...r],{nodeOptions:{stdio:`inherit`,cwd:t}});return await a,a.exitCode===0?(0,G.ok)(void 0):(0,G.err)(Error(`Command "${e}" failed with exit code ${a.exitCode}`))}catch(e){return(0,G.err)(e instanceof Error?e:Error(String(e)))}}async function Ot(e,t,n,r){let i=e.hooks?.[t]??[],a=Array.isArray(i)?i:[i],o=r??process.cwd();for(let e of a)if(typeof e==`function`)try{await e(n)}catch(e){return(0,G.err)(e instanceof Error?e:Error(String(e)))}else if(typeof e==`string`){let t=await Dt(e,o);if(t.isErr())return t}return(0,G.ok)(void 0)}async function Q(e,t,n){let r=e.hooks?.before??[];if((Array.isArray(r)?r:[r]).length!==0){if(console.clear(),we(`Running before hooks`),(await Ot(e,`before`,t,n.cwd)).isErr()){if(n.yes){z(``);return}let e=await Te({message:`Before hooks failed. Would you like to continue?`,initialValue:!1});(R(e)||!e)&&process.exit(1)}z(``)}}async function $(e,t,n){let r=e.hooks?.after??[];if((Array.isArray(r)?r:[r]).length===0)return;we(`Running after hooks`);let i=await Ot(e,`after`,t,n?.cwd);i.isErr()&&B.warn(`After hooks failed: ${i.error.message}`),z(``)}const kt=q.extend({yes:N(),all:N(),overwrite:N(),verbose:N(),registry:L().optional(),with:oe(L()).default([]),withExamples:N(),withDocs:N(),withTests:N(),expand:N(),maxUnchanged:M()}),At=new U(`add`).description(`Add items to your project.`).argument(`[items...]`,`Names of the items you want to add to your project. ex: (utils/math, github/ieedan/std/utils/math)`).option(`--registry <registry>`,`The registry to add items from.`,void 0).option(`--all`,`Add all items from every registry.`,!1).option(`--with <roles...>`,`Include files with the given roles.`).option(`--with-examples`,"Deprecated. Use `--with example`.",!1).option(`--with-docs`,"Deprecated. Use `--with doc`.",!1).option(`--with-tests`,"Deprecated. Use `--with test`.",!1).addOption(J.cwd).addOption(J.yes).addOption(J.verbose).addOption(J.overwrite).addOption(J.expand).addOption(J.maxUnchanged).action(async(e,t)=>{let n=Y(kt,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!n.yes}),i=r?.config??{},a=r?I.dirname(r.path):n.cwd;await Q(i,{command:`add`,options:{...n,cwd:a}},{cwd:a,yes:n.yes}),u();let o=await X(jt(e,{...n,cwd:a},r));z(Mt(o)),await $(i,{command:`add`,options:{...n,cwd:a},result:o},{cwd:a})});async function jt(e,t,n){let{verbose:r,spinner:i}=le({options:t}),s=n?.config,c=s?.providers??fe,l=t.registry?[t.registry]:s?.registries??[],u;if(e.length===0||t.all){if(t.all&&e.length>0)for(let t of e)c.some(e=>e.matches(t))||Z(new Ue(t));let n=e.length>0?e:l;if(n.length===0)return(0,G.err)(new We);i.start(`Retrieving manifest${l.length>1?`s`:``} from ${K.default.cyan(l.join(`, `))}`);let r=await T(n,{cwd:t.cwd,providers:c});if(r.isErr())return i.stop(`Failed to retrieve manifests`),(0,G.err)(r.error);i.stop(`Retrieved manifest${l.length>1?`s`:``} from ${K.default.cyan(l.join(`, `))}`);let a=r.value,o=Array.from(a.entries()).flatMap(([e,t])=>t.manifest.items.map(e=>({item:e,registry:t})));if(t.all)u=o;else{let e=await Oe({message:`Which items would you like to add?`,options:o.filter(e=>(e.item.add??`when-added`)===`when-added`&&e.item.name!==`index`).map(e=>{let t=`${e.registry.url}/${e.item.name}`,n=a.size>1?`${K.default.cyan(e.registry.url)}/${e.item.name}`:e.item.name;return{label:n,value:t,hint:e.item.description?.length??0>=process.stdout.columns-n.length-12?`${e.item.description?.slice(0,process.stdout.columns-n.length-12).trim()}...`:e.item.description}}),maxItems:process.stdout.rows-10,required:!0});R(e)&&(V(`Canceled!`),process.exit(0)),u=o.filter(t=>e.includes(`${t.registry.url}/${t.item.name}`)).map(e=>({registry:e.registry,item:e.item}))}}else{let n=S(e,{providers:c,registries:l});if(n.isErr())return(0,G.err)(n.error);let{wantedItems:r,neededRegistries:a}=n.value;i.start(`Retrieving manifest${a.length>1?`s`:``} from ${K.default.cyan(a.join(`, `))}`);let o=await T(a,{cwd:t.cwd,providers:c});if(o.isErr())return i.stop(`Failed to retrieve manifests`),(0,G.err)(o.error);i.stop(`Retrieved manifest${a.length>1?`s`:``} from ${K.default.cyan(a.join(`, `))}`);let s=o.value,d=await h(r,{resolvedRegistries:s,nonInteractive:t.yes});if(d.isErr())return(0,G.err)(d.error);u=d.value}i.start(`Fetching ${K.default.cyan(u.map(e=>e.item.name).join(`, `))}...`);let d=a(t),f=await ye(u,{withRoles:d});if(f.isErr())return i.stop(`Failed to fetch items`),(0,G.err)(f.error);i.stop(`Fetched ${K.default.cyan(u.map(e=>e.item.name).join(`, `))}`);let p=f.value,g=await ae({items:p,config:s,options:t});if(g.isErr())return(0,G.err)(g.error);let{itemPaths:_,updatedPaths:v}=g.value,b=await he({configResult:n,options:{cwd:t.cwd,yes:t.yes,withRoles:d},itemPaths:_,items:p});if(b.isErr())return(0,G.err)(b.error);let{neededDependencies:x,neededEnvVars:C,neededFiles:E}=b.value,D=await o({files:E,options:t});if(D.isErr())return(0,G.err)(D.error);let O=D.value;if(n&&v){let e=w(n.path);if(e.isErr())return(0,G.err)(e.error);let t=e.value,r=await Et(s?.paths??v,{config:{path:n.path,code:t}});if(r.isErr())return(0,G.err)(r.error);let i=P(n.path,r.value);if(i.isErr())return(0,G.err)(i.error)}let k;if(C){let e=await y(C,{options:t});if(e.isErr())return(0,G.err)(e.error);k=e.value}return(0,G.ok)({items:p,updatedDependencies:await m(x,{options:t,config:s}),updatedEnvVars:k,updatedFiles:O,updatedPaths:v})}function Mt(e){let t=[`Added ${K.default.cyan(e.items.map(e=>e.name).join(`, `))} to your project.`];return e.updatedFiles.length>0&&t.push(` Updated ${K.default.green(e.updatedFiles.length)} ${e.updatedFiles.length===1?`file`:`files`}.`),e.updatedPaths&&Object.keys(e.updatedPaths).length>0&&t.push(` Updated ${K.default.green(Object.keys(e.updatedPaths).length)} ${Object.keys(e.updatedPaths).length===1?`path`:`paths`}.`),e.updatedDependencies.dependencies.length>0&&(e.updatedDependencies.installed?t.push(` Installed ${K.default.green(e.updatedDependencies.dependencies.length)} ${e.updatedDependencies.dependencies.length===1?`dependency`:`dependencies`}.`):t.push(` Skipped installation of ${K.default.cyan(e.updatedDependencies.dependencies.map(e=>`${e.name}${e.version?`@${e.version}`:``}`).join(`, `))}.`)),e.updatedEnvVars&&Object.keys(e.updatedEnvVars).length>0&&t.push(` Updated ${K.default.green(Object.keys(e.updatedEnvVars).length)} ${Object.keys(e.updatedEnvVars).length===1?`environment variable`:`environment variables`}.`),t.join(`
20
+ `)}const Nt=q.extend({registry:L().optional(),token:L().optional(),logout:N(),verbose:N()}),Pt=new U(`auth`).description(`Authenticate to a provider or registry.`).argument(`[provider]`,`The provider to authenticate to.`).option(`--logout`,`Execute the logout flow.`,!1).option(`--registry <registry>`,`The registry to authenticate to.`).option(`--token <token>`,`The token to use for authenticating to this provider.`).addOption(J.cwd).addOption(J.verbose).action(async(e,t)=>{let n=Y(Nt,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!1}),i=r?.config??{},a=r?I.dirname(r.path):n.cwd;await Q(i,{command:`auth`,options:{...n,cwd:a}},{cwd:a,yes:!1}),u();let o=await X(Ft(e,n,r?.config));z(Rt(o)),await $(i,{command:`auth`,options:{...n,cwd:a},result:o},{cwd:a})});async function Ft(e,t,n){let{verbose:r,spinner:i}=le({options:t}),a=(n?.providers??fe).filter(e=>e.auth!==void 0),o;if(e){if(o=a.find(t=>t.name===e),!o)return(0,G.err)(new Ae(e))}else if(t.registry){if(o=a.find(e=>e.matches(t.registry)),!o)return(0,G.err)(new Ae(t.registry))}else{let e=await xe({message:`Select a provider to authenticate to.`,options:a.map(e=>({label:e.name,value:e.name}))});R(e)&&(V(`Canceled!`),process.exit(0)),o=a.find(t=>t.name===e)}return t.registry&&!o.matches(t.registry)?(0,G.err)(new H(`Registry ${K.default.bold(t.registry)} cannot be parsed by provider ${K.default.bold(o.name)}.`,{suggestion:`Pass a registry that matches ${K.default.bold(o.name)} or omit the provider argument.`})):t.logout?await It(o,t):await Lt(o,{config:n,options:t})}async function It(e,t){let n=new _e;if(e.auth.tokenStoredFor===`registry`){if(t.registry)return n.delete(e,t.registry),(0,G.ok)({type:`logout`,provider:e.name,registry:t.registry});let r=n.getProviderRegistryTokens(e);if(Object.keys(r).length===0)return(0,G.ok)({type:`logout`,provider:e.name,registry:void 0});let i=await xe({message:`Select a registry to logout of.`,options:Object.keys(r).map(e=>({label:e,value:e}))});return R(i)&&(V(`Canceled!`),process.exit(0)),n.delete(e,i),(0,G.ok)({type:`logout`,provider:e.name,registry:i})}else return n.delete(e,void 0),(0,G.ok)({type:`logout`,provider:e.name,registry:void 0})}async function Lt(e,{config:t,options:n}){let r=new _e;if(e.auth.tokenStoredFor===`registry`){let i=t?.registries??[],a=n.registry;if(!a)if(i.length===0){let t=await Ce({message:`Enter the name of the registry to authenticate to.`,validate(t){if(!t||t.trim()===``)return`Please provide a value`;if(!e.matches(t))return`Registry cannot be parsed by this provider`}});R(t)&&(V(`Canceled!`),process.exit(0)),a=t}else{let t=await xe({message:`Select a registry to authenticate to.`,options:[...i.map(e=>({label:e,value:e})),{label:`Other`,value:`other`}]});if(R(t)&&(V(`Canceled!`),process.exit(0)),t===`other`){let t=await Ce({message:`Enter the name of the registry to authenticate to.`,validate(t){if(!t||t.trim()===``)return`Please provide a value`;if(!e.matches(t))return`Registry cannot be parsed by this provider`}});R(t)&&(V(`Canceled!`),process.exit(0)),a=t}else a=t}let o=n.token;if(!o)if(e.auth.getToken)o=await e.auth.getToken({registry:a,p:{confirm:Te,multiselect:De,select:xe,text:Ce,log:B,spinner:be,groupMultiselect:Se,password:Ee,isCancel:R,cancel:V,color:K.default}});else{let e=await Ee({message:`Enter your token for ${K.default.cyan(a)}`,validate(e){if(!e||e.trim()===``)return`Please provide a value`}});R(e)&&(V(`Canceled!`),process.exit(0)),o=e}return r.set(e,a,o),(0,G.ok)({type:`login`,provider:e.name,registry:a})}else{let t=n.token;if(!t)if(e.auth.getToken)t=await e.auth.getToken({p:{confirm:Te,multiselect:De,select:xe,text:Ce,log:B,spinner:be,groupMultiselect:Se,password:Ee,isCancel:R,cancel:V,color:K.default}});else{let n=await Ee({message:`Enter your token for ${K.default.cyan(e.name)}`,validate(e){if(!e||e.trim()===``)return`Please provide a value`}});R(n)&&(V(`Canceled!`),process.exit(0)),t=n}return r.set(e,void 0,t),(0,G.ok)({type:`login`,provider:e.name})}}function Rt({type:e,provider:t,registry:n}){let r=n?`${K.default.cyan(n)}`:`${K.default.cyan(t)}`;return e===`login`?`Logged in to ${r}.`:`Logged out of ${r}.`}const zt=q.extend({watch:N(),debounce:M()}),Bt=new U(`build`).description(`Build your registry.`).addOption(J.cwd).option(`-w, --watch`,`Watch for changes and rebuild automatically`,!1).option(`-d, --debounce <ms>`,`How long to wait before building again after a change is detected (watch mode only)`,e=>Number.parseInt(e,10),100).action(async e=>{let t=Y(zt,e),n=await f({cwd:t.cwd,promptForContinueIfNull:!1});if(n||Z(new Be(t.cwd)),t.watch)await Ht(t,n);else{let e=n.config,r=I.dirname(n.path),i={...t,cwd:r};await Q(e,{command:`build`,options:i},{cwd:r,yes:!1}),u();let a=await X(Vt(i,e));z(Wt(a,{type:`build`})),await $(e,{command:`build`,options:i,result:a},{cwd:r}),a.results.some(e=>e.isErr())&&process.exit(1)}});async function Vt(e,t){if(!et(t))return(0,G.err)(new Me);let n=performance.now();return(0,G.ok)({results:await $e(t,async n=>{n.outputs=n.outputs??[];let r=performance.now(),i=await re(n);if(i.isErr())return(0,G.err)(i.error);n.outputs.length>0&&await Promise.all(n.outputs.map(t=>t.clean({cwd:e.cwd})));let a=await p(n,{options:e,config:t});if(a.isErr())return(0,G.err)(a.error);let o=a.value;if(n.outputs.length===0)return(0,G.err)(new ke({registryName:n.name}));await Promise.all(n.outputs.map(t=>t.output(o,{cwd:e.cwd})));let s=performance.now()-r;return(0,G.ok)({name:n.name,time:s,items:o.items.length,files:o.items.flatMap(e=>e.files.length).length,outputs:n.outputs.length})},{cwd:e.cwd}),duration:performance.now()-n})}async function Ht(e,t){let n=t.config,r=new AbortController,i=new Map,a=!0,o=()=>{b&&(process.stdout.clearLine(0),process.stdout.cursorTo(0))},s=(e,t=!1)=>{b?(o(),process.stdout.write(e)):t&&process.stdout.write(`${e}\n`)},c=me(async({options:e,config:t})=>{if(a)return;a=!0,s(K.default.dim(`Building...`));let n=await Vt(e,t);o(),n.isErr()?process.stdout.write(`Error building registry: ${K.default.red(n.error.message)}\n`):process.stdout.write(`${Wt(n.value,{type:`build`})}\n`),s(K.default.dim(`${b?`
21
21
  `:``}Watching for changes...`)),a=!1},e.debounce);i.set(t.path,Ut(t.path,{signal:r.signal,onChange:async()=>{let r=await d({cwd:I.dirname(t.path)});r.isErr()||(n=r.value,await l(),c({options:e,config:n}))}}));async function l(){await $e(t.config,async t=>{let a=t.items.flatMap(t=>t.files.map(t=>F(e.cwd,t.path)));for(let t of a)i.has(t)||te(t)&&i.set(t,Ut(t,{signal:r.signal,onChange:()=>c({options:e,config:n})}))},{cwd:e.cwd})}l(),s(`Building...`,!0);let u=await Vt(e,t.config);o(),u.isErr()?process.stdout.write(`Error building registry: ${K.default.red(u.error.message)}\n`):process.stdout.write(`${Wt(u.value,{type:`build`})}\n`),s(K.default.dim(`${b?`
22
22
  `:``}Watching for changes...`)),a=!1,process.on(`SIGINT`,()=>{r.abort()}),process.on(`SIGTERM`,()=>{r.abort()})}function Ut(e,{onChange:t,signal:n}){return Ke(e,{recursive:!0,signal:n},e=>{e===`change`&&t?.()})}function Wt({results:e,duration:t},{type:n}){return`${n===`build`?`Finished`:`Rebuilt`} in ${K.default.green(`${t.toFixed(2)}ms`)}
23
23
  ${e.map(e=>` ${Gt(e)}`).join(`
24
- `)}`}function Gt(e){if(e.isErr())return`${K.default.cyan(e.error.registryName)}: ${K.default.red(e.error.toString())}`;let{name:t,outputs:n,time:r,items:i,files:a}=e.value;return`${K.default.cyan(t)}: Created ${K.default.green(n.toString())} ${n>1?`outputs`:`output`} in ${K.default.green(`${r.toFixed(2)}ms`)} with ${K.default.green(i.toString())} ${i>1?`items`:`item`} and ${K.default.green(a.toString())} ${a>1?`files`:`file`}.`}function Kt(e){let t=``;for(let n=0;n<e.length;n++){if(e[n]===`-`){n++,n<=e.length-1&&(t+=e[n].toUpperCase());continue}t+=e[n].toLocaleLowerCase()}return t}var qt=class{IGNORED_PROPERTIES=[`registry`,`registries`,`paths`];importDeclarations=[];withinExportDefaultDeclaration=!1;withinDefineConfig=!1;withinMainObjectExpression=!1;withinIgnoredProperty=!1;lastImportDeclaration=null;configKeyPropertyDeclaration=null;mainObjectExpression=null};async function Jt({plugins:e,key:t,config:n}){if(e.length===0)return(0,G.ok)(n.code);let r=await Je(n.path,n.code),i=new wt(n.code),a=new qt;if(a.withinDefineConfig=!0,new qe({ImportDeclaration(e){a.withinDefineConfig&&(a.lastImportDeclaration=e,a.importDeclarations.push(e))},ExportDefaultDeclaration(){a.withinExportDefaultDeclaration=!0},"ExportDefaultDeclaration:exit"(){a.withinExportDefaultDeclaration=!1},ObjectExpression(e){a.withinExportDefaultDeclaration&&a.withinDefineConfig&&(a.withinIgnoredProperty||(a.withinMainObjectExpression||=(a.mainObjectExpression=e,!0)))},CallExpression(e){a.withinExportDefaultDeclaration&&e.callee.type===`Identifier`&&e.callee.name===`defineConfig`&&(a.withinDefineConfig=!0)},"CallExpression:exit"(e){a.withinDefineConfig&&e.callee.type===`Identifier`&&e.callee.name===`defineConfig`&&(a.withinDefineConfig=!1,a.withinMainObjectExpression=!1)},Property(e){if(a.withinDefineConfig&&a.withinMainObjectExpression&&!a.withinIgnoredProperty){if(a.IGNORED_PROPERTIES.includes(e.key.type===`Identifier`?e.key.name:``)){a.withinIgnoredProperty=!0;return}if(e.key.type===`Identifier`&&(e.kind===`init`||e.kind===`get`)&&e.key.name===t){if(e.value.type!==`ArrayExpression`)return(0,G.err)(new Ie({key:t,type:`array`}));a.configKeyPropertyDeclaration=e}}},"Property:exit"(e){if(a.withinDefineConfig&&a.IGNORED_PROPERTIES.includes(e.key.type===`Identifier`?e.key.name:``)){a.withinIgnoredProperty=!1;return}}}).visit(r.program),e=e.filter(e=>!a.importDeclarations.some(t=>t.source.value===e.packageName)),e.length===0)return(0,G.ok)(n.code);a.lastImportDeclaration!==null&&i.appendRight(a.lastImportDeclaration.end,e.map(e=>`\nimport ${e.name} from '${e.packageName}';`).join(``));let o=null;t===`providers`?o=`DEFAULT_PROVIDERS`:t===`languages`&&(o=`DEFAULT_LANGS`);let s=a.importDeclarations.find(e=>e.source.value===`jsrepo`);if(s===void 0)return(0,G.err)(new Ne);let c=o?{added:!1,name:o}:null;if(c!==null){for(let e of s.specifiers)if(e.type===`ImportSpecifier`&&e.imported.type===`Identifier`&&e.imported.name===o){c.added=!0,e.local.name!==o&&(c.name=e.local.name);break}}if(a.configKeyPropertyDeclaration!==null){if(a.configKeyPropertyDeclaration.value.type!==`ArrayExpression`)return(0,G.err)(new Ie({key:t,type:`array`}));let n=i.slice(a.configKeyPropertyDeclaration.value.start,a.configKeyPropertyDeclaration.value.end).lastIndexOf(`,`),r=n===-1?-1:n+a.configKeyPropertyDeclaration.value.start+1;if(a.configKeyPropertyDeclaration.value.elements.length===0)c=null,i.appendRight(a.configKeyPropertyDeclaration.value.start+1,`${e.map(e=>`${e.name}()`).join(`, `)}`);else{let t=a.configKeyPropertyDeclaration.value.elements[a.configKeyPropertyDeclaration.value.elements.length-1],n=!1;n=!(r!==-1&&r>t.end),c=null,i.appendRight(n?t.end:r,`${n?`,`:``} ${e.map(e=>`${e.name}()`).join(`, `)}`)}}else{if(a.mainObjectExpression===null)return(0,G.err)(new Le);let n=i.slice(a.mainObjectExpression.start,a.mainObjectExpression.end).lastIndexOf(`,`),r=n===-1?-1:n+a.mainObjectExpression.start+1;if(a.mainObjectExpression.properties.length===0)i.appendRight(a.mainObjectExpression.start+1,`\n\t${t}: [${c?`...${c.name}, `:``}${e.map(e=>`${e.name}()`).join(`, `)}]`);else{let n=a.mainObjectExpression.properties[a.mainObjectExpression.properties.length-1],o=!1;o=!(r!==-1&&r>n.end),i.appendRight(o?n.end:r,`${o?`,`:``}\n\t${t}: [${c?`...${c.name}, `:``}${e.map(e=>`${e.name}()`).join(`, `)}]`)}if(c&&!c.added){let e=i.slice(s.start,s.end).lastIndexOf(`,`),t=e===-1?-1:e+s.start+1,n=s.specifiers[s.specifiers.length-1],r=!1;r=!(t!==-1&&t>n.end),i.appendRight(r?n.end:t,`${r?`,`:``} ${c.name}`)}}return(0,G.ok)(i.toString())}async function Yt({plugins:e,config:t}){let n=await v(t.code,{fileName:t.path,warn:A});return e.filter(e=>!n.includes(e.package))}const Xt=[{shorthand:`prettier`,name:`@jsrepo/transform-prettier`},{shorthand:`biome`,name:`@jsrepo/transform-biome`},{shorthand:`javascript`,name:`@jsrepo/transform-javascript`},{shorthand:`oxfmt`,name:`@jsrepo/transform-oxfmt`},{shorthand:`filecasing`,name:`@jsrepo/transform-filecasing`}];function Zt(e,t){let n=e.map(e=>Qt(e,t)),r=[];for(let e of n){if(e.isErr())return(0,G.err)(e.error);r.push(e.value)}return(0,G.ok)(r)}function Qt(e,t){let n=Xt.find(t=>t.shorthand===e);if(n){let e=Qt(n.name,t);return e.isErr()?(0,G.err)(e.error):(0,G.ok)({name:e.value.name,packageName:n.name,version:void 0})}let r=k(e);if(r.isErr())return(0,G.err)(new Me(e));let i=r.value.name;return r.value.name.startsWith(`@`)&&(i=r.value.name.startsWith(`@jsrepo/`)?r.value.name.split(`/`)[1]?.includes(t)?`jsrepo-${r.value.name.split(`/`)[1]}`:`jsrepo-${t}-${r.value.name.split(`/`)[1]}`:r.value.name.split(`/`)[1]),(0,G.ok)({name:Kt(i.replace(`jsrepo-${t}-`,``)),packageName:r.value.name,version:r.value.version})}const $t=q.extend({yes:N()}),en=new W(`language`).description(`Add a language to your config.`).argument(`[languages...]`,`Names of the languages you want to add to your config. ex: (jsrepo-language-go, jsrepo-language-rust)`).addOption(J.cwd).addOption(J.yes).action(async(e,t)=>{let n=Y($t,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!n.yes});r||Z(new ze(n.cwd));let i=r.config,a=I.dirname(r.path),o={...n,cwd:a};await Q(i,{command:`config.language`,options:o},{cwd:a,yes:n.yes}),u();let s=await X(tn(e,o,r));z(nn(s)),await $(i,{command:`config.language`,options:o,result:s},{cwd:a})});async function tn(e,t,n){let r=performance.now(),i=Zt(e,`language`);if(i.isErr())return(0,G.err)(i.error);let a=i.value,o=w(n.path);if(o.isErr())return(0,G.err)(o.error);let s=o.value,c=await Jt({plugins:a,key:`languages`,config:{path:n.path,code:s}});if(c.isErr())return(0,G.err)(c.error);let l=c.value,u=P(n.path,l);return u.isErr()?(0,G.err)(u.error):(await x({devDependencies:a.map(e=>({name:e.packageName,version:e.version})),dependencies:[]},{options:t,configPath:n.path}),(0,G.ok)({duration:performance.now()-r,languages:e.length}))}function nn({duration:e,languages:t}){return`Added ${K.default.green(t.toString())} ${t>1?`languages`:`language`} in ${K.default.green(`${e.toFixed(2)}ms`)}.`}const rn=[`cursor`,`claude`,`vscode`,`codex`,`antigravity`],an=q.extend({client:oe(ce(rn)).optional(),all:N().optional()}),on=new W(`mcp`).description(`Configure the jsrepo MCP server for your environment.`).addOption(new We(`--client <clients...>`,`The MCP client(s) to configure`).choices(rn)).option(`--all`,`Configure all supported MCP clients`,!1).addOption(J.cwd).action(async e=>{let t=Y(an,e),n=(await f({cwd:t.cwd,promptForContinueIfNull:!1}))?.config??{},r=t.cwd;await Q(n,{command:`config.mcp`,options:t},{cwd:r,yes:!1}),u();let i=await X(sn(t));z(cn({...i,cwd:t.cwd})),await $(n,{command:`config.mcp`,options:t,result:i},{cwd:r})});async function sn(e){let t;if(e.all)t=Object.keys(bn);else if(e.client&&e.client.length>0)t=e.client;else{let e=await H({message:`Which clients would you like to configure?`,options:Object.entries(bn).map(([e,t])=>({value:e,label:t.name}))});R(e)&&(V(`Canceled!`),process.exit(0)),t=e}let n=performance.now(),r=[];for(let n of t){let t=bn[n],i=t.filePath(e.cwd),a=t.writeConfig(i);r.push({name:t.name,result:a.isErr()?(0,G.err)(a.error):(0,G.ok)({filePath:i})})}return(0,G.ok)({duration:performance.now()-n,results:r})}function cn({duration:e,results:t,cwd:n}){return`Configured ${t.length} ${t.length>1?`clients`:`client`} in ${K.default.green(`${e.toFixed(2)}ms`)}:\n${t.map(e=>ln(e,n)).join(`
25
- `)}`}function ln({name:e,result:t},n){if(t.isErr())return` ${K.default.cyan(e)}: ${K.default.red(t.error.message)}`;let{filePath:r}=t.value;return` ${K.default.cyan(e)} → ${K.default.dim(I.relative(n,r))}`}function un(e,t){try{return P(e,t),(0,G.ok)(void 0)}catch(t){return(0,G.err)(new U(`Failed to write config to ${e}: ${t instanceof Error?t.message:String(t)}`,{suggestion:`Please try again.`}))}}const dn={command:`npx`,args:[`@jsrepo/mcp`]},fn=`[mcp_servers.jsrepo]
24
+ `)}`}function Gt(e){if(e.isErr())return`${K.default.cyan(e.error.registryName)}: ${K.default.red(e.error.toString())}`;let{name:t,outputs:n,time:r,items:i,files:a}=e.value;return`${K.default.cyan(t)}: Created ${K.default.green(n.toString())} ${n>1?`outputs`:`output`} in ${K.default.green(`${r.toFixed(2)}ms`)} with ${K.default.green(i.toString())} ${i>1?`items`:`item`} and ${K.default.green(a.toString())} ${a>1?`files`:`file`}.`}function Kt(e){let t=``;for(let n=0;n<e.length;n++){if(e[n]===`-`){n++,n<=e.length-1&&(t+=e[n].toUpperCase());continue}t+=e[n].toLocaleLowerCase()}return t}var qt=class{IGNORED_PROPERTIES=[`registry`,`registries`,`paths`];importDeclarations=[];withinExportDefaultDeclaration=!1;withinDefineConfig=!1;withinMainObjectExpression=!1;withinIgnoredProperty=!1;lastImportDeclaration=null;configKeyPropertyDeclaration=null;mainObjectExpression=null};async function Jt({plugins:e,key:t,config:n}){if(e.length===0)return(0,G.ok)(n.code);let r=await Je(n.path,n.code),i=new wt(n.code),a=new qt;if(a.withinDefineConfig=!0,new qe({ImportDeclaration(e){a.withinDefineConfig&&(a.lastImportDeclaration=e,a.importDeclarations.push(e))},ExportDefaultDeclaration(){a.withinExportDefaultDeclaration=!0},"ExportDefaultDeclaration:exit"(){a.withinExportDefaultDeclaration=!1},ObjectExpression(e){a.withinExportDefaultDeclaration&&a.withinDefineConfig&&(a.withinIgnoredProperty||(a.withinMainObjectExpression||=(a.mainObjectExpression=e,!0)))},CallExpression(e){a.withinExportDefaultDeclaration&&e.callee.type===`Identifier`&&e.callee.name===`defineConfig`&&(a.withinDefineConfig=!0)},"CallExpression:exit"(e){a.withinDefineConfig&&e.callee.type===`Identifier`&&e.callee.name===`defineConfig`&&(a.withinDefineConfig=!1,a.withinMainObjectExpression=!1)},Property(e){if(a.withinDefineConfig&&a.withinMainObjectExpression&&!a.withinIgnoredProperty){if(a.IGNORED_PROPERTIES.includes(e.key.type===`Identifier`?e.key.name:``)){a.withinIgnoredProperty=!0;return}if(e.key.type===`Identifier`&&(e.kind===`init`||e.kind===`get`)&&e.key.name===t){if(e.value.type!==`ArrayExpression`)return(0,G.err)(new Le({key:t,type:`array`}));a.configKeyPropertyDeclaration=e}}},"Property:exit"(e){if(a.withinDefineConfig&&a.IGNORED_PROPERTIES.includes(e.key.type===`Identifier`?e.key.name:``)){a.withinIgnoredProperty=!1;return}}}).visit(r.program),e=e.filter(e=>!a.importDeclarations.some(t=>t.source.value===e.packageName)),e.length===0)return(0,G.ok)(n.code);a.lastImportDeclaration!==null&&i.appendRight(a.lastImportDeclaration.end,e.map(e=>`\nimport ${e.name} from '${e.packageName}';`).join(``));let o=null;t===`providers`?o=`DEFAULT_PROVIDERS`:t===`languages`&&(o=`DEFAULT_LANGS`);let s=a.importDeclarations.find(e=>e.source.value===`jsrepo`);if(s===void 0)return(0,G.err)(new Pe);let c=o?{added:!1,name:o}:null;if(c!==null){for(let e of s.specifiers)if(e.type===`ImportSpecifier`&&e.imported.type===`Identifier`&&e.imported.name===o){c.added=!0,e.local.name!==o&&(c.name=e.local.name);break}}if(a.configKeyPropertyDeclaration!==null){if(a.configKeyPropertyDeclaration.value.type!==`ArrayExpression`)return(0,G.err)(new Le({key:t,type:`array`}));let n=i.slice(a.configKeyPropertyDeclaration.value.start,a.configKeyPropertyDeclaration.value.end).lastIndexOf(`,`),r=n===-1?-1:n+a.configKeyPropertyDeclaration.value.start+1;if(a.configKeyPropertyDeclaration.value.elements.length===0)c=null,i.appendRight(a.configKeyPropertyDeclaration.value.start+1,`${e.map(e=>`${e.name}()`).join(`, `)}`);else{let t=a.configKeyPropertyDeclaration.value.elements[a.configKeyPropertyDeclaration.value.elements.length-1],n=!1;n=!(r!==-1&&r>t.end),c=null,i.appendRight(n?t.end:r,`${n?`,`:``} ${e.map(e=>`${e.name}()`).join(`, `)}`)}}else{if(a.mainObjectExpression===null)return(0,G.err)(new Re);let n=i.slice(a.mainObjectExpression.start,a.mainObjectExpression.end).lastIndexOf(`,`),r=n===-1?-1:n+a.mainObjectExpression.start+1;if(a.mainObjectExpression.properties.length===0)i.appendRight(a.mainObjectExpression.start+1,`\n\t${t}: [${c?`...${c.name}, `:``}${e.map(e=>`${e.name}()`).join(`, `)}]`);else{let n=a.mainObjectExpression.properties[a.mainObjectExpression.properties.length-1],o=!1;o=!(r!==-1&&r>n.end),i.appendRight(o?n.end:r,`${o?`,`:``}\n\t${t}: [${c?`...${c.name}, `:``}${e.map(e=>`${e.name}()`).join(`, `)}]`)}if(c&&!c.added){let e=i.slice(s.start,s.end).lastIndexOf(`,`),t=e===-1?-1:e+s.start+1,n=s.specifiers[s.specifiers.length-1],r=!1;r=!(t!==-1&&t>n.end),i.appendRight(r?n.end:t,`${r?`,`:``} ${c.name}`)}}return(0,G.ok)(i.toString())}async function Yt({plugins:e,config:t}){let n=await v(t.code,{fileName:t.path,warn:A});return e.filter(e=>!n.includes(e.package))}const Xt=[{shorthand:`prettier`,name:`@jsrepo/transform-prettier`},{shorthand:`biome`,name:`@jsrepo/transform-biome`},{shorthand:`javascript`,name:`@jsrepo/transform-javascript`},{shorthand:`oxfmt`,name:`@jsrepo/transform-oxfmt`},{shorthand:`filecasing`,name:`@jsrepo/transform-filecasing`}];function Zt(e,t){let n=e.map(e=>Qt(e,t)),r=[];for(let e of n){if(e.isErr())return(0,G.err)(e.error);r.push(e.value)}return(0,G.ok)(r)}function Qt(e,t){let n=Xt.find(t=>t.shorthand===e);if(n){let e=Qt(n.name,t);return e.isErr()?(0,G.err)(e.error):(0,G.ok)({name:e.value.name,packageName:n.name,version:void 0})}let r=k(e);if(r.isErr())return(0,G.err)(new Ne(e));let i=r.value.name;return r.value.name.startsWith(`@`)&&(i=r.value.name.startsWith(`@jsrepo/`)?r.value.name.split(`/`)[1]?.includes(t)?`jsrepo-${r.value.name.split(`/`)[1]}`:`jsrepo-${t}-${r.value.name.split(`/`)[1]}`:r.value.name.split(`/`)[1]),(0,G.ok)({name:Kt(i.replace(`jsrepo-${t}-`,``)),packageName:r.value.name,version:r.value.version})}const $t=q.extend({yes:N()}),en=new U(`language`).description(`Add a language to your config.`).argument(`[languages...]`,`Names of the languages you want to add to your config. ex: (jsrepo-language-go, jsrepo-language-rust)`).addOption(J.cwd).addOption(J.yes).action(async(e,t)=>{let n=Y($t,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!n.yes});r||Z(new Be(n.cwd));let i=r.config,a=I.dirname(r.path),o={...n,cwd:a};await Q(i,{command:`config.language`,options:o},{cwd:a,yes:n.yes}),u();let s=await X(tn(e,o,r));z(nn(s)),await $(i,{command:`config.language`,options:o,result:s},{cwd:a})});async function tn(e,t,n){let r=performance.now(),i=Zt(e,`language`);if(i.isErr())return(0,G.err)(i.error);let a=i.value,o=w(n.path);if(o.isErr())return(0,G.err)(o.error);let s=o.value,c=await Jt({plugins:a,key:`languages`,config:{path:n.path,code:s}});if(c.isErr())return(0,G.err)(c.error);let l=c.value,u=P(n.path,l);return u.isErr()?(0,G.err)(u.error):(await x({devDependencies:a.map(e=>({name:e.packageName,version:e.version})),dependencies:[]},{options:t,configPath:n.path}),(0,G.ok)({duration:performance.now()-r,languages:e.length}))}function nn({duration:e,languages:t}){return`Added ${K.default.green(t.toString())} ${t>1?`languages`:`language`} in ${K.default.green(`${e.toFixed(2)}ms`)}.`}const rn=[`cursor`,`claude`,`vscode`,`codex`,`antigravity`],an=q.extend({client:oe(ce(rn)).optional(),all:N().optional()}),on=new U(`mcp`).description(`Configure the jsrepo MCP server for your environment.`).addOption(new W(`--client <clients...>`,`The MCP client(s) to configure`).choices(rn)).option(`--all`,`Configure all supported MCP clients`,!1).addOption(J.cwd).action(async e=>{let t=Y(an,e),n=(await f({cwd:t.cwd,promptForContinueIfNull:!1}))?.config??{},r=t.cwd;await Q(n,{command:`config.mcp`,options:t},{cwd:r,yes:!1}),u();let i=await X(sn(t));z(cn({...i,cwd:t.cwd})),await $(n,{command:`config.mcp`,options:t,result:i},{cwd:r})});async function sn(e){let t;if(e.all)t=Object.keys(bn);else if(e.client&&e.client.length>0)t=e.client;else{let e=await De({message:`Which clients would you like to configure?`,options:Object.entries(bn).map(([e,t])=>({value:e,label:t.name}))});R(e)&&(V(`Canceled!`),process.exit(0)),t=e}let n=performance.now(),r=[];for(let n of t){let t=bn[n],i=t.filePath(e.cwd),a=t.writeConfig(i);r.push({name:t.name,result:a.isErr()?(0,G.err)(a.error):(0,G.ok)({filePath:i})})}return(0,G.ok)({duration:performance.now()-n,results:r})}function cn({duration:e,results:t,cwd:n}){return`Configured ${t.length} ${t.length>1?`clients`:`client`} in ${K.default.green(`${e.toFixed(2)}ms`)}:\n${t.map(e=>ln(e,n)).join(`
25
+ `)}`}function ln({name:e,result:t},n){if(t.isErr())return` ${K.default.cyan(e)}: ${K.default.red(t.error.message)}`;let{filePath:r}=t.value;return` ${K.default.cyan(e)} → ${K.default.dim(I.relative(n,r))}`}function un(e,t){try{return P(e,t),(0,G.ok)(void 0)}catch(t){return(0,G.err)(new H(`Failed to write config to ${e}: ${t instanceof Error?t.message:String(t)}`,{suggestion:`Please try again.`}))}}const dn={command:`npx`,args:[`@jsrepo/mcp`]},fn=`[mcp_servers.jsrepo]
26
26
  command = "npx"
27
27
  args = ["@jsrepo/mcp"]
28
28
  `;function pn(e){return e?e.includes(`[mcp_servers.jsrepo]`)?e:(e.endsWith(`
29
29
  `)||(e+=`
30
- `),`${e}${fn}`):fn}const mn=C({command:L().optional(),args:oe(L()).optional(),env:ge(L(),L()).optional(),type:L().optional(),url:L().optional(),headers:ge(L(),L()).optional()}).catchall(E()),hn=C({mcpServers:ge(L(),mn)}),gn=C({servers:ge(L(),mn)});function _n({existingContent:e,serverName:t,serverConfig:n}){if(e.trim().length===0)return(0,G.ok)(l({mcpServers:{[t]:n}},{format:!0}));let r=D(hn,e);return r.isErr()?(0,G.err)(new U(`Failed to parse MCP server config: ${r.error.message}`,{suggestion:`Please try again.`})):(0,G.ok)(l({mcpServers:{...r.value.mcpServers,[t]:n}},{format:!0}))}function vn({existingContent:e,serverName:t,serverConfig:n}){if(e.trim().length===0)return(0,G.ok)(l({servers:{[t]:n}},{format:!0}));let r=D(gn,e);return r.isErr()?(0,G.err)(new U(`Failed to parse MCP server config: ${r.error.message}`,{suggestion:`Please try again.`})):(0,G.ok)(l({servers:{...r.value.servers,[t]:n}},{format:!0}))}function yn(e,t,n=`generic`){let r=te(e)?w(e)._unsafeUnwrap():``,i=n===`vscode`?vn({existingContent:r,serverName:`jsrepo`,serverConfig:t}):_n({existingContent:r,serverName:`jsrepo`,serverConfig:t});return i.isErr()?(0,G.err)(i.error):un(e,i.value)}const bn={cursor:{name:`Cursor`,filePath:e=>F(e,`.cursor/mcp.json`),writeConfig:e=>yn(e,dn)},claude:{name:`Claude Code`,filePath:e=>F(e,`.mcp.json`),writeConfig:e=>yn(e,dn)},vscode:{name:`VS Code`,filePath:e=>F(e,`.vscode/mcp.json`),writeConfig:e=>yn(e,dn,`vscode`)},codex:{name:`Codex`,filePath:()=>F(Ye.homedir(),`.codex/config.toml`),writeConfig:e=>un(e,pn(te(e)?w(e)._unsafeUnwrap():``))},antigravity:{name:`Antigravity`,filePath:()=>F(Ye.homedir(),`.gemini/antigravity/mcp_config.json`),writeConfig:e=>yn(e,dn)}},xn=q.extend({yes:N()}),Sn=new W(`provider`).description(`Add a provider to your config.`).argument(`[providers...]`,`Names of the providers you want to add to your config. ex: (jsrepo-provider-jsr, jsrepo-provider-npm)`).addOption(J.cwd).addOption(J.yes).action(async(e,t)=>{let n=Y(xn,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!n.yes});r||Z(new ze(n.cwd));let i=r.config,a=I.dirname(r.path),o={...n,cwd:a};await Q(i,{command:`config.provider`,options:o},{cwd:a,yes:n.yes}),u();let s=await X(Cn(e,o,r));z(wn(s)),await $(i,{command:`config.provider`,options:o,result:s},{cwd:a})});async function Cn(e,t,n){let r=performance.now(),i=Zt(e,`provider`);if(i.isErr())return(0,G.err)(i.error);let a=i.value,o=w(n.path);if(o.isErr())return(0,G.err)(o.error);let s=o.value,c=await Jt({plugins:a,key:`providers`,config:{path:n.path,code:s}});if(c.isErr())return(0,G.err)(c.error);let l=c.value,u=P(n.path,l);return u.isErr()?(0,G.err)(u.error):(await x({devDependencies:a.map(e=>({name:e.packageName,version:e.version})),dependencies:[]},{options:t,configPath:n.path}),(0,G.ok)({duration:performance.now()-r,providers:e.length}))}function wn({duration:e,providers:t}){return`Added ${K.default.green(t.toString())} ${t>1?`providers`:`provider`} in ${K.default.green(`${e.toFixed(2)}ms`)}.`}const Tn=q.extend({yes:N()}),En=new W(`transform`).description(`Add a transform to your config.`).argument(`[transforms...]`,`Names of the transforms you want to add to your config. ex: (@jsrepo/transform-prettier, @jsrepo/transform-biome)`).addOption(J.cwd).addOption(J.yes).action(async(e,t)=>{let n=Y(Tn,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!n.yes});r||Z(new ze(n.cwd));let i=r.config,a=I.dirname(r.path),o={...n,cwd:a};await Q(i,{command:`config.transform`,options:o},{cwd:a,yes:n.yes}),u();let s=await X(Dn(e,o,r));z(On(s)),await $(i,{command:`config.transform`,options:o,result:s},{cwd:a})});async function Dn(e,t,n){let r=performance.now(),i=Zt(e,`transform`);if(i.isErr())return(0,G.err)(i.error);let a=i.value,o=w(n.path);if(o.isErr())return(0,G.err)(o.error);let s=o.value,c=await Jt({plugins:a,key:`transforms`,config:{path:n.path,code:s}});if(c.isErr())return(0,G.err)(c.error);let l=c.value,u=P(n.path,l);return u.isErr()?(0,G.err)(u.error):(await x({devDependencies:a.map(e=>({name:e.packageName,version:e.version})),dependencies:[]},{options:t,configPath:n.path}),(0,G.ok)({duration:performance.now()-r,transforms:e.length}))}function On({duration:e,transforms:t}){return`Added ${K.default.green(t.toString())} ${t>1?`transforms`:`transform`} in ${K.default.green(`${e.toFixed(2)}ms`)}.`}const kn=new W(`config`).description(`Modify your jsrepo config.`).addCommand(En).addCommand(Sn).addCommand(en).addCommand(on);var An=class{withinExportDefaultDeclaration=!1;withinDefineConfig=!1;withinMainObjectExpression=!1;withinIgnoredProperty=!1;configKeyPropertyDeclaration=null;mainObjectExpression=null};async function jn(e,{config:t}){if(e.length===0)return(0,G.ok)(t.code);let n=await Je(t.path,t.code),r=new wt(t.code),i=new An;if(i.withinDefineConfig=!0,new qe({ExportDefaultDeclaration(){i.withinExportDefaultDeclaration=!0},"ExportDefaultDeclaration:exit"(){i.withinExportDefaultDeclaration=!1},ObjectExpression(e){i.withinExportDefaultDeclaration&&i.withinDefineConfig&&(i.withinIgnoredProperty||(i.withinMainObjectExpression||=(i.mainObjectExpression=e,!0)))},CallExpression(e){i.withinExportDefaultDeclaration&&e.callee.type===`Identifier`&&e.callee.name===`defineConfig`&&(i.withinDefineConfig=!0)},"CallExpression:exit"(e){i.withinDefineConfig&&e.callee.type===`Identifier`&&e.callee.name===`defineConfig`&&(i.withinDefineConfig=!1,i.withinMainObjectExpression=!1)},Property(e){if(i.withinDefineConfig&&i.withinMainObjectExpression&&!i.withinIgnoredProperty){if(e.key.type===`Identifier`&&e.key.name!==`registries`){i.withinIgnoredProperty=!0;return}if(e.key.type===`Identifier`&&(e.kind===`init`||e.kind===`get`)&&e.key.name===`registries`){if(e.value.type!==`ArrayExpression`)return(0,G.err)(new Ie({key:`registries`,type:`array`}));i.configKeyPropertyDeclaration=e}}},"Property:exit"(e){if(i.withinDefineConfig&&e.key.type===`Identifier`&&e.key.name!==`registries`){i.withinIgnoredProperty=!1;return}}}).visit(n.program),i.configKeyPropertyDeclaration!==null){if(i.configKeyPropertyDeclaration.value.type!==`ArrayExpression`)return(0,G.err)(new Ie({key:`registries`,type:`array`}));for(let t of i.configKeyPropertyDeclaration.value.elements)!t||t.type!==`Literal`||typeof t.value==`string`&&(e=e.filter(e=>e!==t.value));if(e.length===0)return(0,G.ok)(t.code);let n=r.slice(i.configKeyPropertyDeclaration.value.start,i.configKeyPropertyDeclaration.value.end).lastIndexOf(`,`),a=n===-1?-1:n+i.configKeyPropertyDeclaration.value.start+1;if(i.configKeyPropertyDeclaration.value.elements.length===0)r.appendRight(i.configKeyPropertyDeclaration.value.start+1,`${e.map(e=>`'${e}'`).join(`, `)}`);else{let t=i.configKeyPropertyDeclaration.value.elements[i.configKeyPropertyDeclaration.value.elements.length-1],n=!1;n=!(a!==-1&&a>t.end),r.appendRight(n?t.end:a,`${n?`,`:``} ${e.map(e=>`'${e}'`).join(`, `)}`)}}else{if(i.mainObjectExpression===null)return(0,G.err)(new Le);let t=r.slice(i.mainObjectExpression.start,i.mainObjectExpression.end).lastIndexOf(`,`),n=t===-1?-1:t+i.mainObjectExpression.start+1;if(i.mainObjectExpression.properties.length===0)r.appendRight(i.mainObjectExpression.start+1,`\n\tregistries: [${e.map(e=>`'${e}'`).join(`, `)}]`);else{let t=i.mainObjectExpression.properties[i.mainObjectExpression.properties.length-1],a=!1;a=!(n!==-1&&n>t.end),r.appendRight(a?t.end:n,`${a?`,`:``}\n\tregistries: [${e.map(e=>`'${e}'`).join(`, `)}]`)}}return(0,G.ok)(r.toString())}const Mn=q.extend({yes:N(),overwrite:N(),verbose:N(),expand:N(),maxUnchanged:M(),js:N()}),Nn=new W(`init`).description(`Initialize a new jsrepo project.`).argument(`[registries...]`,`The registries to initialize.`).option(`--js`,`Initialize the project and automatically add the @jsrepo/transform-javascript transform plugin.`,!1).addOption(J.cwd).addOption(J.yes).addOption(J.verbose).addOption(J.overwrite).addOption(J.expand).addOption(J.maxUnchanged).action(async(e,t)=>{let n=Y(Mn,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!1}),i=r?.config??{},a=r?I.dirname(r.path):n.cwd;await Q(i,{command:`init`,options:{...n,cwd:a}},{cwd:a,yes:n.yes}),u();let o=await X(Pn(e,{...n,cwd:a},r));z(K.default.green(`Initialization complete!`)),await $(i,{command:`init`,options:{...n,cwd:a},result:o},{cwd:a})});async function Pn(e,t,n){let{verbose:r,spinner:i}=le({options:t}),a=F(t.cwd,`package.json`),s=se(a);if(s.isErr())return(0,G.err)(new Re);let c=s.value,{config:l,path:u}=n??{config:null,path:F(t.cwd,c.type===`module`?`jsrepo.config.ts`:`jsrepo.config.mts`)},f=l?.providers??fe,p;if(l===null)p=zn();else{let e=w(u);if(e.isErr())return(0,G.err)(e.error);p=e.value}let h=!0;if(c.dependencies?.jsrepo===void 0&&c.devDependencies?.jsrepo===void 0){c.devDependencies||={},c.devDependencies.jsrepo=`^${_}`;let e=P(a,JSON.stringify(c,null,` `));if(e.isErr())return(0,G.err)(e.error);h=!1}if(t.js){let e=await Jt({plugins:[{name:`stripTypes`,packageName:`@jsrepo/transform-javascript`,version:void 0}],key:`transforms`,config:{path:u,code:p}});if(e.isErr())return(0,G.err)(e.error);p=e.value}if(e.length===0){if(l!==null)return(0,G.err)(new Be);let e=P(u,p);return e.isErr()?(0,G.err)(e.error):(B.success(`Wrote config to ${K.default.cyan(I.relative(t.cwd,u))}`),h||await x({dependencies:[],devDependencies:[...t.js?[{name:`@jsrepo/transform-javascript`}]:[]]},{configPath:u,options:t}),(0,G.ok)({registries:[]}))}let g=e.length>0?e:l?.registries??[];i.start(`Retrieving manifest${g.length>1?`s`:``} from ${K.default.cyan(g.join(`, `))}`);let v=await T(g,{cwd:t.cwd,providers:f});if(v.isErr())return i.stop(`Failed to retrieve manifests`),(0,G.err)(v.error);i.stop(`Retrieved manifest${g.length>1?`s`:``} from ${K.default.cyan(g.join(`, `))}`);let b=v.value,S=new Map;for(let[e,n]of b){let e=await Fn(n,{configCode:p,configPath:u,options:t,pluginChoices:S,config:l});if(e.isErr())return(0,G.err)(e.error);p=e.value}let C=await jn(e,{config:{path:u,code:p}});if(C.isErr())return(0,G.err)(C.error);p=C.value;let E=P(u,p);if(E.isErr())return(0,G.err)(E.error);B.success(`Wrote config to ${K.default.cyan(I.relative(t.cwd,u))}`);let D=new Map(Array.from(S.values()).filter(e=>e.install).map(e=>[`js:${e.plugin.packageName}@${e.plugin.version??``}`,{name:e.plugin.packageName,version:e.plugin.version,ecosystem:`js`}]));D.size>0&&await x({dependencies:[],devDependencies:[...Array.from(D.values()),...t.js?[{name:`@jsrepo/transform-javascript`}]:[]]},{options:{yes:!0},configPath:u}),D.clear();let O=await d({cwd:I.parse(u).dir});if(O.isErr())return(0,G.err)(O.error);l=O.value;let k=Array.from(b.values()).flatMap(e=>e.manifest.items.filter(e=>e.add===`on-init`||e.name===`index`).map(t=>({registry:e,item:t}))),A=Array.from(b.values()).flatMap(e=>e.manifest.items.filter(e=>e.add===`optionally-on-init`).map(t=>({registry:e,item:t})));if(A.length>0){let e=await H({message:`Would you like to add any of the following items?`,options:A.map(e=>({label:e.item.name,value:e.item.name})),required:!1});R(e)&&(V(`Canceled!`),process.exit(0)),k.push(...A.filter(t=>e.includes(t.item.name)))}let j={dependencies:[],devDependencies:[]};if(k.length>0){i.start(`Fetching ${K.default.cyan(k.map(e=>e.item.name).join(`, `))}...`);let e=await ye(k);if(e.isErr())return i.stop(`Failed to fetch items`),(0,G.err)(e.error);i.stop(`Fetched ${K.default.cyan(k.map(e=>e.item.name).join(`, `))}`);let n=e.value,r=await ae({items:n,config:l,options:t});if(r.isErr())return(0,G.err)(r.error);let{itemPaths:a}=r.value,s=await he({configResult:{path:u,config:l},options:{cwd:t.cwd,yes:t.yes},itemPaths:a,items:n});if(s.isErr())return(0,G.err)(s.error);let{neededDependencies:c,neededEnvVars:d,neededFiles:f}=s.value,p=await o({files:f,options:t});if(p.isErr())return(0,G.err)(p.error);let m=p.value;if(B.success(`Updated ${K.default.green(m.length)} files`),d){let e=await y(d,{options:t});e&&B.success(`Updated ${K.default.green(Object.keys(e).length)} environment variables`)}j.dependencies.push(...c.dependencies),j.devDependencies.push(...c.devDependencies)}if(l.paths!==void 0){let e=await Et(l.paths,{config:{path:u,code:p}});if(e.isErr())return(0,G.err)(e.error);p=e.value;let t=P(u,p);if(t.isErr())return(0,G.err)(t.error);B.success(`Updated paths`)}return await m(j,{options:t,config:l}),(0,G.ok)({registries:e})}async function Fn(e,{configCode:t,configPath:n,options:r,pluginChoices:i,config:a}){let o=await In(e,{configCode:t,configPath:n,options:r,pluginChoices:i});if(o.isErr())return(0,G.err)(o.error);t=o.value;let s=await Ln(e,{configCode:t,configPath:n,options:r,config:a});return s.isErr()?(0,G.err)(s.error):(t=s.value,(0,G.ok)(t))}async function In(e,{configCode:t,configPath:n,options:r,pluginChoices:i}){if(!e.manifest.plugins)return(0,G.ok)(t);for(let[a,o]of Object.entries(e.manifest.plugins)){let e=await Rn(o,{pluginChoices:i,options:r,type:a.slice(0,-1),config:{path:n,code:t}});if(e.isErr())return(0,G.err)(e.error);let s=e.value,c=await Jt({plugins:s,key:a,config:{path:n,code:t}});if(c.isErr())return(0,G.err)(c.error);t=c.value}return(0,G.ok)(t)}async function Ln(e,{configCode:t,configPath:n,config:r,options:i}){let a=Array.from(new Set(e.manifest.items.flatMap(e=>e.files.filter(e=>e.target===void 0).map(e=>j(e.type))))),o=r?.paths??{};if(!i.yes&&a.length>0){let t=await H({message:`Which paths would you like to configure?`,options:a.map(t=>({label:t,value:t,hint:e.manifest.defaultPaths?.[t]?`Default: ${e.manifest.defaultPaths?.[t]}`:void 0})),required:!1});if(R(t)&&(V(`Canceled!`),process.exit(0)),t.length>0)for(let n of t){let t=o[n]??e.manifest.defaultPaths?.[n],r=await Ce({message:`Where should ${n} be added in your project?`,validate(e){if(!e||e.trim()===``)return`Please provide a value`},placeholder:t||`./src/${n}`,defaultValue:t,initialValue:t});R(r)&&(V(`Canceled!`),process.exit(0)),o[n]=r}}return o={...e.manifest.defaultPaths,...o},await Et(o,{config:{path:n,code:t}})}async function Rn(e,{pluginChoices:t,options:n,type:r,config:i}){let a=[],o=(e,n)=>{t.set(e.packageName,{install:n,plugin:e}),a.push(e)},s=await Yt({config:i,plugins:e});for(let e of s){if(t.has(e.package))continue;let i=Qt(e.package,r);if(i.isErr())return(0,G.err)(i.error);let a={name:i.value.name,packageName:e.package,version:e.version};if(e.optional!==!0){o(a,!0);continue}let s=n.yes;if(!n.yes){let t=await Te({message:`Would you like to add the ${K.default.cyan(e.package)} ${r} plugin?`});R(t)&&(V(`Canceled!`),process.exit(0)),s=t}if(!s){t.set(e.package,{install:!1,plugin:a});continue}o(a,!0)}return(0,G.ok)(a)}function zn(){return`import { defineConfig } from 'jsrepo';
30
+ `),`${e}${fn}`):fn}const mn=C({command:L().optional(),args:oe(L()).optional(),env:ge(L(),L()).optional(),type:L().optional(),url:L().optional(),headers:ge(L(),L()).optional()}).catchall(E()),hn=C({mcpServers:ge(L(),mn)}),gn=C({servers:ge(L(),mn)});function _n({existingContent:e,serverName:t,serverConfig:n}){if(e.trim().length===0)return(0,G.ok)(l({mcpServers:{[t]:n}},{format:!0}));let r=D(hn,e);return r.isErr()?(0,G.err)(new H(`Failed to parse MCP server config: ${r.error.message}`,{suggestion:`Please try again.`})):(0,G.ok)(l({mcpServers:{...r.value.mcpServers,[t]:n}},{format:!0}))}function vn({existingContent:e,serverName:t,serverConfig:n}){if(e.trim().length===0)return(0,G.ok)(l({servers:{[t]:n}},{format:!0}));let r=D(gn,e);return r.isErr()?(0,G.err)(new H(`Failed to parse MCP server config: ${r.error.message}`,{suggestion:`Please try again.`})):(0,G.ok)(l({servers:{...r.value.servers,[t]:n}},{format:!0}))}function yn(e,t,n=`generic`){let r=te(e)?w(e)._unsafeUnwrap():``,i=n===`vscode`?vn({existingContent:r,serverName:`jsrepo`,serverConfig:t}):_n({existingContent:r,serverName:`jsrepo`,serverConfig:t});return i.isErr()?(0,G.err)(i.error):un(e,i.value)}const bn={cursor:{name:`Cursor`,filePath:e=>F(e,`.cursor/mcp.json`),writeConfig:e=>yn(e,dn)},claude:{name:`Claude Code`,filePath:e=>F(e,`.mcp.json`),writeConfig:e=>yn(e,dn)},vscode:{name:`VS Code`,filePath:e=>F(e,`.vscode/mcp.json`),writeConfig:e=>yn(e,dn,`vscode`)},codex:{name:`Codex`,filePath:()=>F(Ye.homedir(),`.codex/config.toml`),writeConfig:e=>un(e,pn(te(e)?w(e)._unsafeUnwrap():``))},antigravity:{name:`Antigravity`,filePath:()=>F(Ye.homedir(),`.gemini/antigravity/mcp_config.json`),writeConfig:e=>yn(e,dn)}},xn=q.extend({yes:N()}),Sn=new U(`provider`).description(`Add a provider to your config.`).argument(`[providers...]`,`Names of the providers you want to add to your config. ex: (jsrepo-provider-jsr, jsrepo-provider-npm)`).addOption(J.cwd).addOption(J.yes).action(async(e,t)=>{let n=Y(xn,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!n.yes});r||Z(new Be(n.cwd));let i=r.config,a=I.dirname(r.path),o={...n,cwd:a};await Q(i,{command:`config.provider`,options:o},{cwd:a,yes:n.yes}),u();let s=await X(Cn(e,o,r));z(wn(s)),await $(i,{command:`config.provider`,options:o,result:s},{cwd:a})});async function Cn(e,t,n){let r=performance.now(),i=Zt(e,`provider`);if(i.isErr())return(0,G.err)(i.error);let a=i.value,o=w(n.path);if(o.isErr())return(0,G.err)(o.error);let s=o.value,c=await Jt({plugins:a,key:`providers`,config:{path:n.path,code:s}});if(c.isErr())return(0,G.err)(c.error);let l=c.value,u=P(n.path,l);return u.isErr()?(0,G.err)(u.error):(await x({devDependencies:a.map(e=>({name:e.packageName,version:e.version})),dependencies:[]},{options:t,configPath:n.path}),(0,G.ok)({duration:performance.now()-r,providers:e.length}))}function wn({duration:e,providers:t}){return`Added ${K.default.green(t.toString())} ${t>1?`providers`:`provider`} in ${K.default.green(`${e.toFixed(2)}ms`)}.`}const Tn=q.extend({yes:N()}),En=new U(`transform`).description(`Add a transform to your config.`).argument(`[transforms...]`,`Names of the transforms you want to add to your config. ex: (@jsrepo/transform-prettier, @jsrepo/transform-biome)`).addOption(J.cwd).addOption(J.yes).action(async(e,t)=>{let n=Y(Tn,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!n.yes});r||Z(new Be(n.cwd));let i=r.config,a=I.dirname(r.path),o={...n,cwd:a};await Q(i,{command:`config.transform`,options:o},{cwd:a,yes:n.yes}),u();let s=await X(Dn(e,o,r));z(On(s)),await $(i,{command:`config.transform`,options:o,result:s},{cwd:a})});async function Dn(e,t,n){let r=performance.now(),i=Zt(e,`transform`);if(i.isErr())return(0,G.err)(i.error);let a=i.value,o=w(n.path);if(o.isErr())return(0,G.err)(o.error);let s=o.value,c=await Jt({plugins:a,key:`transforms`,config:{path:n.path,code:s}});if(c.isErr())return(0,G.err)(c.error);let l=c.value,u=P(n.path,l);return u.isErr()?(0,G.err)(u.error):(await x({devDependencies:a.map(e=>({name:e.packageName,version:e.version})),dependencies:[]},{options:t,configPath:n.path}),(0,G.ok)({duration:performance.now()-r,transforms:e.length}))}function On({duration:e,transforms:t}){return`Added ${K.default.green(t.toString())} ${t>1?`transforms`:`transform`} in ${K.default.green(`${e.toFixed(2)}ms`)}.`}const kn=new U(`config`).description(`Modify your jsrepo config.`).addCommand(En).addCommand(Sn).addCommand(en).addCommand(on);var An=class{withinExportDefaultDeclaration=!1;withinDefineConfig=!1;withinMainObjectExpression=!1;withinIgnoredProperty=!1;configKeyPropertyDeclaration=null;mainObjectExpression=null};async function jn(e,{config:t}){if(e.length===0)return(0,G.ok)(t.code);let n=await Je(t.path,t.code),r=new wt(t.code),i=new An;if(i.withinDefineConfig=!0,new qe({ExportDefaultDeclaration(){i.withinExportDefaultDeclaration=!0},"ExportDefaultDeclaration:exit"(){i.withinExportDefaultDeclaration=!1},ObjectExpression(e){i.withinExportDefaultDeclaration&&i.withinDefineConfig&&(i.withinIgnoredProperty||(i.withinMainObjectExpression||=(i.mainObjectExpression=e,!0)))},CallExpression(e){i.withinExportDefaultDeclaration&&e.callee.type===`Identifier`&&e.callee.name===`defineConfig`&&(i.withinDefineConfig=!0)},"CallExpression:exit"(e){i.withinDefineConfig&&e.callee.type===`Identifier`&&e.callee.name===`defineConfig`&&(i.withinDefineConfig=!1,i.withinMainObjectExpression=!1)},Property(e){if(i.withinDefineConfig&&i.withinMainObjectExpression&&!i.withinIgnoredProperty){if(e.key.type===`Identifier`&&e.key.name!==`registries`){i.withinIgnoredProperty=!0;return}if(e.key.type===`Identifier`&&(e.kind===`init`||e.kind===`get`)&&e.key.name===`registries`){if(e.value.type!==`ArrayExpression`)return(0,G.err)(new Le({key:`registries`,type:`array`}));i.configKeyPropertyDeclaration=e}}},"Property:exit"(e){if(i.withinDefineConfig&&e.key.type===`Identifier`&&e.key.name!==`registries`){i.withinIgnoredProperty=!1;return}}}).visit(n.program),i.configKeyPropertyDeclaration!==null){if(i.configKeyPropertyDeclaration.value.type!==`ArrayExpression`)return(0,G.err)(new Le({key:`registries`,type:`array`}));for(let t of i.configKeyPropertyDeclaration.value.elements)!t||t.type!==`Literal`||typeof t.value==`string`&&(e=e.filter(e=>e!==t.value));if(e.length===0)return(0,G.ok)(t.code);let n=r.slice(i.configKeyPropertyDeclaration.value.start,i.configKeyPropertyDeclaration.value.end).lastIndexOf(`,`),a=n===-1?-1:n+i.configKeyPropertyDeclaration.value.start+1;if(i.configKeyPropertyDeclaration.value.elements.length===0)r.appendRight(i.configKeyPropertyDeclaration.value.start+1,`${e.map(e=>`'${e}'`).join(`, `)}`);else{let t=i.configKeyPropertyDeclaration.value.elements[i.configKeyPropertyDeclaration.value.elements.length-1],n=!1;n=!(a!==-1&&a>t.end),r.appendRight(n?t.end:a,`${n?`,`:``} ${e.map(e=>`'${e}'`).join(`, `)}`)}}else{if(i.mainObjectExpression===null)return(0,G.err)(new Re);let t=r.slice(i.mainObjectExpression.start,i.mainObjectExpression.end).lastIndexOf(`,`),n=t===-1?-1:t+i.mainObjectExpression.start+1;if(i.mainObjectExpression.properties.length===0)r.appendRight(i.mainObjectExpression.start+1,`\n\tregistries: [${e.map(e=>`'${e}'`).join(`, `)}]`);else{let t=i.mainObjectExpression.properties[i.mainObjectExpression.properties.length-1],a=!1;a=!(n!==-1&&n>t.end),r.appendRight(a?t.end:n,`${a?`,`:``}\n\tregistries: [${e.map(e=>`'${e}'`).join(`, `)}]`)}}return(0,G.ok)(r.toString())}const Mn=q.extend({yes:N(),overwrite:N(),verbose:N(),expand:N(),maxUnchanged:M(),js:N()}),Nn=new U(`init`).description(`Initialize a new jsrepo project.`).argument(`[registries...]`,`The registries to initialize.`).option(`--js`,`Initialize the project and automatically add the @jsrepo/transform-javascript transform plugin.`,!1).addOption(J.cwd).addOption(J.yes).addOption(J.verbose).addOption(J.overwrite).addOption(J.expand).addOption(J.maxUnchanged).action(async(e,t)=>{let n=Y(Mn,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!1}),i=r?.config??{},a=r?I.dirname(r.path):n.cwd;await Q(i,{command:`init`,options:{...n,cwd:a}},{cwd:a,yes:n.yes}),u();let o=await X(Pn(e,{...n,cwd:a},r));z(K.default.green(`Initialization complete!`)),await $(i,{command:`init`,options:{...n,cwd:a},result:o},{cwd:a})});async function Pn(e,t,n){let{verbose:r,spinner:i}=le({options:t}),a=F(t.cwd,`package.json`),s=se(a);if(s.isErr())return(0,G.err)(new ze);let c=s.value,{config:l,path:u}=n??{config:null,path:F(t.cwd,c.type===`module`?`jsrepo.config.ts`:`jsrepo.config.mts`)},f=l?.providers??fe,p;if(l===null)p=zn();else{let e=w(u);if(e.isErr())return(0,G.err)(e.error);p=e.value}let h=!0;if(c.dependencies?.jsrepo===void 0&&c.devDependencies?.jsrepo===void 0){c.devDependencies||={},c.devDependencies.jsrepo=`^${_}`;let e=P(a,JSON.stringify(c,null,` `));if(e.isErr())return(0,G.err)(e.error);h=!1}if(t.js){let e=await Jt({plugins:[{name:`stripTypes`,packageName:`@jsrepo/transform-javascript`,version:void 0}],key:`transforms`,config:{path:u,code:p}});if(e.isErr())return(0,G.err)(e.error);p=e.value}if(e.length===0){if(l!==null)return(0,G.err)(new Ve);let e=P(u,p);return e.isErr()?(0,G.err)(e.error):(B.success(`Wrote config to ${K.default.cyan(I.relative(t.cwd,u))}`),h||await x({dependencies:[],devDependencies:[...t.js?[{name:`@jsrepo/transform-javascript`}]:[]]},{configPath:u,options:t}),(0,G.ok)({registries:[]}))}let g=e.length>0?e:l?.registries??[];i.start(`Retrieving manifest${g.length>1?`s`:``} from ${K.default.cyan(g.join(`, `))}`);let v=await T(g,{cwd:t.cwd,providers:f});if(v.isErr())return i.stop(`Failed to retrieve manifests`),(0,G.err)(v.error);i.stop(`Retrieved manifest${g.length>1?`s`:``} from ${K.default.cyan(g.join(`, `))}`);let b=v.value,S=new Map;for(let[e,n]of b){let e=await Fn(n,{configCode:p,configPath:u,options:t,pluginChoices:S,config:l});if(e.isErr())return(0,G.err)(e.error);p=e.value}let C=await jn(e,{config:{path:u,code:p}});if(C.isErr())return(0,G.err)(C.error);p=C.value;let E=P(u,p);if(E.isErr())return(0,G.err)(E.error);B.success(`Wrote config to ${K.default.cyan(I.relative(t.cwd,u))}`);let D=new Map(Array.from(S.values()).filter(e=>e.install).map(e=>[`js:${e.plugin.packageName}@${e.plugin.version??``}`,{name:e.plugin.packageName,version:e.plugin.version,ecosystem:`js`}]));D.size>0&&await x({dependencies:[],devDependencies:[...Array.from(D.values()),...t.js?[{name:`@jsrepo/transform-javascript`}]:[]]},{options:{yes:!0},configPath:u}),D.clear();let O=await d({cwd:I.parse(u).dir});if(O.isErr())return(0,G.err)(O.error);l=O.value;let k=Array.from(b.values()).flatMap(e=>e.manifest.items.filter(e=>e.add===`on-init`||e.name===`index`).map(t=>({registry:e,item:t}))),A=Array.from(b.values()).flatMap(e=>e.manifest.items.filter(e=>e.add===`optionally-on-init`).map(t=>({registry:e,item:t})));if(A.length>0){let e=await De({message:`Would you like to add any of the following items?`,options:A.map(e=>({label:e.item.name,value:e.item.name})),required:!1});R(e)&&(V(`Canceled!`),process.exit(0)),k.push(...A.filter(t=>e.includes(t.item.name)))}let j={dependencies:[],devDependencies:[]};if(k.length>0){i.start(`Fetching ${K.default.cyan(k.map(e=>e.item.name).join(`, `))}...`);let e=await ye(k);if(e.isErr())return i.stop(`Failed to fetch items`),(0,G.err)(e.error);i.stop(`Fetched ${K.default.cyan(k.map(e=>e.item.name).join(`, `))}`);let n=e.value,r=await ae({items:n,config:l,options:t});if(r.isErr())return(0,G.err)(r.error);let{itemPaths:a}=r.value,s=await he({configResult:{path:u,config:l},options:{cwd:t.cwd,yes:t.yes},itemPaths:a,items:n});if(s.isErr())return(0,G.err)(s.error);let{neededDependencies:c,neededEnvVars:d,neededFiles:f}=s.value,p=await o({files:f,options:t});if(p.isErr())return(0,G.err)(p.error);let m=p.value;if(B.success(`Updated ${K.default.green(m.length)} files`),d){let e=await y(d,{options:t});e&&B.success(`Updated ${K.default.green(Object.keys(e).length)} environment variables`)}j.dependencies.push(...c.dependencies),j.devDependencies.push(...c.devDependencies)}if(l.paths!==void 0){let e=await Et(l.paths,{config:{path:u,code:p}});if(e.isErr())return(0,G.err)(e.error);p=e.value;let t=P(u,p);if(t.isErr())return(0,G.err)(t.error);B.success(`Updated paths`)}return await m(j,{options:t,config:l}),(0,G.ok)({registries:e})}async function Fn(e,{configCode:t,configPath:n,options:r,pluginChoices:i,config:a}){let o=await In(e,{configCode:t,configPath:n,options:r,pluginChoices:i});if(o.isErr())return(0,G.err)(o.error);t=o.value;let s=await Ln(e,{configCode:t,configPath:n,options:r,config:a});return s.isErr()?(0,G.err)(s.error):(t=s.value,(0,G.ok)(t))}async function In(e,{configCode:t,configPath:n,options:r,pluginChoices:i}){if(!e.manifest.plugins)return(0,G.ok)(t);for(let[a,o]of Object.entries(e.manifest.plugins)){let e=await Rn(o,{pluginChoices:i,options:r,type:a.slice(0,-1),config:{path:n,code:t}});if(e.isErr())return(0,G.err)(e.error);let s=e.value,c=await Jt({plugins:s,key:a,config:{path:n,code:t}});if(c.isErr())return(0,G.err)(c.error);t=c.value}return(0,G.ok)(t)}async function Ln(e,{configCode:t,configPath:n,config:r,options:i}){let a=Array.from(new Set(e.manifest.items.flatMap(e=>e.files.filter(e=>e.target===void 0).map(e=>j(e.type))))),o=r?.paths??{};if(!i.yes&&a.length>0){let t=await De({message:`Which paths would you like to configure?`,options:a.map(t=>({label:t,value:t,hint:e.manifest.defaultPaths?.[t]?`Default: ${e.manifest.defaultPaths?.[t]}`:void 0})),required:!1});if(R(t)&&(V(`Canceled!`),process.exit(0)),t.length>0)for(let n of t){let t=o[n]??e.manifest.defaultPaths?.[n],r=await Ce({message:`Where should ${n} be added in your project?`,validate(e){if(!e||e.trim()===``)return`Please provide a value`},placeholder:t||`./src/${n}`,defaultValue:t,initialValue:t});R(r)&&(V(`Canceled!`),process.exit(0)),o[n]=r}}return o={...e.manifest.defaultPaths,...o},await Et(o,{config:{path:n,code:t}})}async function Rn(e,{pluginChoices:t,options:n,type:r,config:i}){let a=[],o=(e,n)=>{t.set(e.packageName,{install:n,plugin:e}),a.push(e)},s=await Yt({config:i,plugins:e});for(let e of s){if(t.has(e.package))continue;let i=Qt(e.package,r);if(i.isErr())return(0,G.err)(i.error);let a={name:i.value.name,packageName:e.package,version:e.version};if(e.optional!==!0){o(a,!0);continue}let s=n.yes;if(!n.yes){let t=await Te({message:`Would you like to add the ${K.default.cyan(e.package)} ${r} plugin?`});R(t)&&(V(`Canceled!`),process.exit(0)),s=t}if(!s){t.set(e.package,{install:!1,plugin:a});continue}o(a,!0)}return(0,G.ok)(a)}function zn(){return`import { defineConfig } from 'jsrepo';
31
31
 
32
32
  export default defineConfig({
33
33
  // configure where stuff comes from here
34
34
  registries: [],
35
35
  // configure where stuff goes here
36
36
  paths: {},
37
- });`}var Bn=t(((e,t)=>{t.exports=n(`events`)})),Vn=t(((e,t)=>{t.exports=class{constructor(e){if(!(e>0)||e-1&e)throw Error(`Max size for a FixedFIFO should be a power of two`);this.buffer=Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}clear(){this.top=this.btm=0,this.next=null,this.buffer.fill(void 0)}push(e){return this.buffer[this.top]===void 0?(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0):!1}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}peek(){return this.buffer[this.btm]}isEmpty(){return this.buffer[this.btm]===void 0}}})),Hn=t(((e,t)=>{let n=Vn();t.exports=class{constructor(e){this.hwm=e||16,this.head=new n(this.hwm),this.tail=this.head,this.length=0}clear(){this.head=this.tail,this.head.clear(),this.length=0}push(e){if(this.length++,!this.head.push(e)){let t=this.head;this.head=t.next=new n(2*this.head.buffer.length),this.head.push(e)}}shift(){this.length!==0&&this.length--;let e=this.tail.shift();if(e===void 0&&this.tail.next){let e=this.tail.next;return this.tail.next=null,this.tail=e,this.tail.shift()}return e}peek(){let e=this.tail.peek();return e===void 0&&this.tail.next?this.tail.next.peek():e}isEmpty(){return this.length===0}}})),Un=t(((e,t)=>{function n(e){return Buffer.isBuffer(e)||e instanceof Uint8Array}function r(e){return Buffer.isEncoding(e)}function i(e,t,n){return Buffer.alloc(e,t,n)}function a(e){return Buffer.allocUnsafe(e)}function o(e){return Buffer.allocUnsafeSlow(e)}function s(e,t){return Buffer.byteLength(e,t)}function c(e,t){return Buffer.compare(e,t)}function l(e,t){return Buffer.concat(e,t)}function u(e,t,n,r,i){return b(e).copy(t,n,r,i)}function d(e,t){return b(e).equals(t)}function f(e,t,n,r,i){return b(e).fill(t,n,r,i)}function p(e,t,n){return Buffer.from(e,t,n)}function m(e,t,n,r){return b(e).includes(t,n,r)}function h(e,t,n,r){return b(e).indexOf(t,n,r)}function g(e,t,n,r){return b(e).lastIndexOf(t,n,r)}function _(e){return b(e).swap16()}function v(e){return b(e).swap32()}function y(e){return b(e).swap64()}function b(e){return Buffer.isBuffer(e)?e:Buffer.from(e.buffer,e.byteOffset,e.byteLength)}function x(e,t,n,r){return b(e).toString(t,n,r)}function S(e,t,n,r,i){return b(e).write(t,n,r,i)}function C(e,t){return b(e).readDoubleBE(t)}function w(e,t){return b(e).readDoubleLE(t)}function T(e,t){return b(e).readFloatBE(t)}function E(e,t){return b(e).readFloatLE(t)}function D(e,t){return b(e).readInt32BE(t)}function O(e,t){return b(e).readInt32LE(t)}function k(e,t){return b(e).readUInt32BE(t)}function A(e,t){return b(e).readUInt32LE(t)}function j(e,t,n){return b(e).writeDoubleBE(t,n)}function M(e,t,n){return b(e).writeDoubleLE(t,n)}function ee(e,t,n){return b(e).writeFloatBE(t,n)}function N(e,t,n){return b(e).writeFloatLE(t,n)}function te(e,t,n){return b(e).writeInt32BE(t,n)}function ne(e,t,n){return b(e).writeInt32LE(t,n)}function re(e,t,n){return b(e).writeUInt32BE(t,n)}function ie(e,t,n){return b(e).writeUInt32LE(t,n)}t.exports={isBuffer:n,isEncoding:r,alloc:i,allocUnsafe:a,allocUnsafeSlow:o,byteLength:s,compare:c,concat:l,copy:u,equals:d,fill:f,from:p,includes:m,indexOf:h,lastIndexOf:g,swap16:_,swap32:v,swap64:y,toBuffer:b,toString:x,write:S,readDoubleBE:C,readDoubleLE:w,readFloatBE:T,readFloatLE:E,readInt32BE:D,readInt32LE:O,readUInt32BE:k,readUInt32LE:A,writeDoubleBE:j,writeDoubleLE:M,writeFloatBE:ee,writeFloatLE:N,writeInt32BE:te,writeInt32LE:ne,writeUInt32BE:re,writeUInt32LE:ie}})),Wn=t(((e,t)=>{let n=Un();t.exports=class{constructor(e){this.encoding=e}get remaining(){return 0}decode(e){return n.toString(e,this.encoding)}flush(){return``}}})),Gn=t(((e,t)=>{let n=Un();t.exports=class{constructor(){this.codePoint=0,this.bytesSeen=0,this.bytesNeeded=0,this.lowerBoundary=128,this.upperBoundary=191}get remaining(){return this.bytesSeen}decode(e){if(this.bytesNeeded===0){let t=!0;for(let n=Math.max(0,e.byteLength-4),r=e.byteLength;n<r&&t;n++)t=e[n]<=127;if(t)return n.toString(e,`utf8`)}let t=``;for(let n=0,r=e.byteLength;n<r;n++){let r=e[n];if(this.bytesNeeded===0){r<=127?t+=String.fromCharCode(r):(this.bytesSeen=1,r>=194&&r<=223?(this.bytesNeeded=2,this.codePoint=r&31):r>=224&&r<=239?(r===224?this.lowerBoundary=160:r===237&&(this.upperBoundary=159),this.bytesNeeded=3,this.codePoint=r&15):r>=240&&r<=244?(r===240&&(this.lowerBoundary=144),r===244&&(this.upperBoundary=143),this.bytesNeeded=4,this.codePoint=r&7):t+=`�`);continue}if(r<this.lowerBoundary||r>this.upperBoundary){this.codePoint=0,this.bytesNeeded=0,this.bytesSeen=0,this.lowerBoundary=128,this.upperBoundary=191,t+=`�`;continue}this.lowerBoundary=128,this.upperBoundary=191,this.codePoint=this.codePoint<<6|r&63,this.bytesSeen++,this.bytesSeen===this.bytesNeeded&&(t+=String.fromCodePoint(this.codePoint),this.codePoint=0,this.bytesNeeded=0,this.bytesSeen=0)}return t}flush(){let e=this.bytesNeeded>0?`�`:``;return this.codePoint=0,this.bytesNeeded=0,this.bytesSeen=0,this.lowerBoundary=128,this.upperBoundary=191,e}}})),Kn=t(((e,t)=>{let n=Wn(),r=Gn();t.exports=class{constructor(e=`utf8`){switch(this.encoding=i(e),this.encoding){case`utf8`:this.decoder=new r;break;case`utf16le`:case`base64`:throw Error(`Unsupported encoding: `+this.encoding);default:this.decoder=new n(this.encoding)}}get remaining(){return this.decoder.remaining}push(e){return typeof e==`string`?e:this.decoder.decode(e)}write(e){return this.push(e)}end(e){let t=``;return e&&(t=this.push(e)),t+=this.decoder.flush(),t}};function i(e){switch(e=e.toLowerCase(),e){case`utf8`:case`utf-8`:return`utf8`;case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return`utf16le`;case`latin1`:case`binary`:return`latin1`;case`base64`:case`ascii`:case`hex`:return e;default:throw Error(`Unknown encoding: `+e)}}})),qn=t(((e,t)=>{let{EventEmitter:n}=Bn(),r=Error(`Stream was destroyed`),i=Error(`Premature close`),a=Hn(),o=Kn(),s=typeof queueMicrotask>`u`?e=>global.process.nextTick(e):queueMicrotask,c=(1<<29)-1,l=c^1;c^2;let u=1024,d=2048,f=4096,p=8192,m=16384,h=32768,g=65536,_=131072;16|g,f|128;let v=256|_;c^16,c^64,c^(64|g);let y=c^g;c^256,c^(128|p),c^u;let b=c^768,x=c^h;c^32;let S=c^_;c^v;let C=1<<18,w=2<<18,T=4<<18,E=8<<18,D=16<<18,O=32<<18,k=64<<18,A=128<<18,j=256<<18,M=512<<18,ee=1024<<18;c^(C|j);let N=c^T;c^(C|M),c^D,c^E;let te=c^A;c^w;let ne=c^ee,re=16|C,ie=c^re,ae=m|O,oe=14|ae;N&536870847;let se=A|h,P=15|se&ie;u|16399;let ce=m|143;u|143,u|16398,h|1,M|8388623,E|D,E|C;let le=270794767;T|C,C|j,O|134217742;let ue=Symbol.asyncIterator||Symbol(`asyncIterator`);var de=class{constructor(e,{highWaterMark:t=16384,map:n=null,mapWritable:r,byteLength:i,byteLengthWritable:o}={}){this.stream=e,this.queue=new a,this.highWaterMark=t,this.buffered=0,this.error=null,this.pipeline=null,this.drains=null,this.byteLength=o||i||Fe,this.map=r||n,this.afterWrite=_e.bind(this),this.afterUpdateNextTick=ye.bind(this)}get ended(){return(this.stream._duplexState&O)!==0}push(e){return this.stream._duplexState&142606350?!1:(this.map!==null&&(e=this.map(e)),this.buffered+=this.byteLength(e),this.queue.push(e),this.buffered<this.highWaterMark?(this.stream._duplexState|=E,!0):(this.stream._duplexState|=6291456,!1))}shift(){let e=this.queue.shift();return this.buffered-=this.byteLength(e),this.buffered===0&&(this.stream._duplexState&=534773759),e}end(e){typeof e==`function`?this.stream.once(`finish`,e):e!=null&&this.push(e),this.stream._duplexState=(this.stream._duplexState|M)&N}autoBatch(e,t){let n=[],r=this.stream;for(n.push(e);(r._duplexState&le)===2359296;)n.push(r._writableState.shift());if(r._duplexState&15)return t(null);r._writev(n,t)}update(){let e=this.stream;e._duplexState|=w;do{for(;(e._duplexState&le)===E;){let t=this.shift();e._duplexState|=67371008,e._write(t,this.afterWrite)}e._duplexState&1310720||this.updateNonPrimary()}while(this.continueUpdate()===!0);e._duplexState&=536346623}updateNonPrimary(){let e=this.stream;if((e._duplexState&144965647)===M){e._duplexState|=C,e._final(he.bind(this));return}if((e._duplexState&14)==4){(e._duplexState&se)===0&&(e._duplexState|=re,e._destroy(ge.bind(this)));return}(e._duplexState&P)===1&&(e._duplexState=(e._duplexState|re)&l,e._open(be.bind(this)))}continueUpdate(){return(this.stream._duplexState&A)===0?!1:(this.stream._duplexState&=te,!0)}updateCallback(){(this.stream._duplexState&35127311)===T?this.update():this.updateNextTick()}updateNextTick(){(this.stream._duplexState&A)===0&&(this.stream._duplexState|=A,(this.stream._duplexState&w)===0&&s(this.afterUpdateNextTick))}},F=class{constructor(e,{highWaterMark:t=16384,map:n=null,mapReadable:r,byteLength:i,byteLengthReadable:o}={}){this.stream=e,this.queue=new a,this.highWaterMark=t===0?1:t,this.buffered=0,this.readAhead=t>0,this.error=null,this.pipeline=null,this.byteLength=o||i||Fe,this.map=r||n,this.pipeTo=null,this.afterRead=ve.bind(this),this.afterUpdateNextTick=I.bind(this)}get ended(){return(this.stream._duplexState&m)!==0}pipe(e,t){if(this.pipeTo!==null)throw Error(`Can only pipe to one destination`);if(typeof t!=`function`&&(t=null),this.stream._duplexState|=512,this.pipeTo=e,this.pipeline=new pe(this.stream,e,t),t&&this.stream.on(`error`,Ie),ke(e))e._writableState.pipeline=this.pipeline,t&&e.on(`error`,Ie),e.on(`finish`,this.pipeline.finished.bind(this.pipeline));else{let t=this.pipeline.done.bind(this.pipeline,e),n=this.pipeline.done.bind(this.pipeline,e,null);e.on(`error`,t),e.on(`close`,n),e.on(`finish`,this.pipeline.finished.bind(this.pipeline))}e.on(`drain`,me.bind(this)),this.stream.emit(`piping`,e),e.emit(`pipe`,this.stream)}push(e){let t=this.stream;return e===null?(this.highWaterMark=0,t._duplexState=(t._duplexState|u)&536805311,!1):this.map!==null&&(e=this.map(e),e===null)?(t._duplexState&=y,this.buffered<this.highWaterMark):(this.buffered+=this.byteLength(e),this.queue.push(e),t._duplexState=(t._duplexState|128)&y,this.buffered<this.highWaterMark)}shift(){let e=this.queue.shift();return this.buffered-=this.byteLength(e),this.buffered===0&&(this.stream._duplexState&=536862591),e}unshift(e){let t=[this.map===null?e:this.map(e)];for(;this.buffered>0;)t.push(this.shift());for(let e=0;e<t.length-1;e++){let n=t[e];this.buffered+=this.byteLength(n),this.queue.push(n)}this.push(t[t.length-1])}read(){let e=this.stream;if((e._duplexState&ce)===128){let t=this.shift();return this.pipeTo!==null&&this.pipeTo.write(t)===!1&&(e._duplexState&=b),(e._duplexState&d)!==0&&e.emit(`data`,t),t}return this.readAhead===!1&&(e._duplexState|=_,this.updateNextTick()),null}drain(){let e=this.stream;for(;(e._duplexState&ce)===128&&e._duplexState&768;){let t=this.shift();this.pipeTo!==null&&this.pipeTo.write(t)===!1&&(e._duplexState&=b),(e._duplexState&d)!==0&&e.emit(`data`,t)}}update(){let e=this.stream;e._duplexState|=32;do{for(this.drain();this.buffered<this.highWaterMark&&(e._duplexState&214047)===_;)e._duplexState|=65552,e._read(this.afterRead),this.drain();(e._duplexState&12431)==4224&&(e._duplexState|=p,e.emit(`readable`)),e._duplexState&80||this.updateNonPrimary()}while(this.continueUpdate()===!0);e._duplexState&=536870879}updateNonPrimary(){let e=this.stream;if((e._duplexState&1167)===u&&(e._duplexState=(e._duplexState|m)&536869887,e.emit(`end`),(e._duplexState&oe)===ae&&(e._duplexState|=4),this.pipeTo!==null&&this.pipeTo.end()),(e._duplexState&14)==4){(e._duplexState&se)===0&&(e._duplexState|=re,e._destroy(ge.bind(this)));return}(e._duplexState&P)===1&&(e._duplexState=(e._duplexState|re)&l,e._open(be.bind(this)))}continueUpdate(){return(this.stream._duplexState&h)===0?!1:(this.stream._duplexState&=x,!0)}updateCallback(){(this.stream._duplexState&32879)==64?this.update():this.updateNextTick()}updateNextTickIfOpen(){this.stream._duplexState&32769||(this.stream._duplexState|=h,this.stream._duplexState&32||s(this.afterUpdateNextTick))}updateNextTick(){(this.stream._duplexState&h)===0&&(this.stream._duplexState|=h,this.stream._duplexState&32||s(this.afterUpdateNextTick))}},fe=class{constructor(e){this.data=null,this.afterTransform=R.bind(e),this.afterFinal=null}},pe=class{constructor(e,t,n){this.from=e,this.to=t,this.afterPipe=n,this.error=null,this.pipeToFinished=!1}finished(){this.pipeToFinished=!0}done(e,t){if(t&&(this.error=t),e===this.to&&(this.to=null,this.from!==null)){((this.from._duplexState&m)===0||!this.pipeToFinished)&&this.from.destroy(this.error||Error(`Writable stream closed prematurely`));return}if(e===this.from&&(this.from=null,this.to!==null)){(e._duplexState&m)===0&&this.to.destroy(this.error||Error(`Readable stream closed before ending`));return}this.afterPipe!==null&&this.afterPipe(this.error),this.to=this.from=this.afterPipe=null}};function me(){this.stream._duplexState|=512,this.updateCallback()}function he(e){let t=this.stream;e&&t.destroy(e),t._duplexState&14||(t._duplexState|=O,t.emit(`finish`)),(t._duplexState&oe)===ae&&(t._duplexState|=4),t._duplexState&=402391039,(t._duplexState&w)===0?this.update():this.updateNextTick()}function ge(e){let t=this.stream;!e&&this.error!==r&&(e=this.error),e&&t.emit(`error`,e),t._duplexState|=8,t.emit(`close`);let n=t._readableState,i=t._writableState;if(n!==null&&n.pipeline!==null&&n.pipeline.done(t,e),i!==null){for(;i.drains!==null&&i.drains.length>0;)i.drains.shift().resolve(!1);i.pipeline!==null&&i.pipeline.done(t,e)}}function _e(e){let t=this.stream;e&&t.destroy(e),t._duplexState&=469499903,this.drains!==null&&L(this.drains),(t._duplexState&6553615)===D&&(t._duplexState&=532676607,(t._duplexState&k)===k&&t.emit(`drain`)),this.updateCallback()}function ve(e){e&&this.stream.destroy(e),this.stream._duplexState&=536870895,this.readAhead===!1&&!(this.stream._duplexState&256)&&(this.stream._duplexState&=S),this.updateCallback()}function I(){this.stream._duplexState&32||(this.stream._duplexState&=x,this.update())}function ye(){(this.stream._duplexState&w)===0&&(this.stream._duplexState&=te,this.update())}function L(e){for(let t=0;t<e.length;t++)--e[t].writes===0&&(e.shift().resolve(!0),t--)}function be(e){let t=this.stream;e&&t.destroy(e),t._duplexState&4||(t._duplexState&17423||(t._duplexState|=64),t._duplexState&142606351||(t._duplexState|=T),t.emit(`open`)),t._duplexState&=ie,t._writableState!==null&&t._writableState.updateCallback(),t._readableState!==null&&t._readableState.updateCallback()}function R(e,t){t!=null&&this.push(t),this._writableState.afterWrite(e)}function xe(e){this._readableState!==null&&(e===`data`&&(this._duplexState|=d|v,this._readableState.updateNextTick()),e===`readable`&&(this._duplexState|=f,this._readableState.updateNextTick())),this._writableState!==null&&e===`drain`&&(this._duplexState|=k,this._writableState.updateNextTick())}var Se=class extends n{constructor(e){super(),this._duplexState=0,this._readableState=null,this._writableState=null,e&&(e.open&&(this._open=e.open),e.destroy&&(this._destroy=e.destroy),e.predestroy&&(this._predestroy=e.predestroy),e.signal&&e.signal.addEventListener(`abort`,Le.bind(this))),this.on(`newListener`,xe)}_open(e){e(null)}_destroy(e){e(null)}_predestroy(){}get readable(){return this._readableState===null?void 0:!0}get writable(){return this._writableState===null?void 0:!0}get destroyed(){return(this._duplexState&8)!=0}get destroying(){return(this._duplexState&14)!=0}destroy(e){this._duplexState&14||(e||=r,this._duplexState=(this._duplexState|4)&535822271,this._readableState!==null&&(this._readableState.highWaterMark=0,this._readableState.error=e),this._writableState!==null&&(this._writableState.highWaterMark=0,this._writableState.error=e),this._duplexState|=2,this._predestroy(),this._duplexState&=536870909,this._readableState!==null&&this._readableState.updateNextTick(),this._writableState!==null&&this._writableState.updateNextTick())}},Ce=class e extends Se{constructor(e){super(e),this._duplexState|=O|131073,this._readableState=new F(this,e),e&&(this._readableState.readAhead===!1&&(this._duplexState&=S),e.read&&(this._read=e.read),e.eagerOpen&&this._readableState.updateNextTick(),e.encoding&&this.setEncoding(e.encoding))}setEncoding(e){let t=new o(e),n=this._readableState.map||De;return this._readableState.map=r,this;function r(e){let r=t.push(e);return r===``&&(e.byteLength!==0||t.remaining>0)?null:n(r)}}_read(e){e(null)}pipe(e,t){return this._readableState.updateNextTick(),this._readableState.pipe(e,t),e}read(){return this._readableState.updateNextTick(),this._readableState.read()}push(e){return this._readableState.updateNextTickIfOpen(),this._readableState.push(e)}unshift(e){return this._readableState.updateNextTickIfOpen(),this._readableState.unshift(e)}resume(){return this._duplexState|=v,this._readableState.updateNextTick(),this}pause(){return this._duplexState&=this._readableState.readAhead===!1?536739583:536870655,this}static _fromAsyncIterator(t,n){let r,i=new e({...n,read(e){t.next().then(a).then(e.bind(null,null)).catch(e)},predestroy(){r=t.return()},destroy(e){if(!r)return e(null);r.then(e.bind(null,null)).catch(e)}});return i;function a(e){e.done?i.push(null):i.push(e.value)}}static from(t,n){if(Me(t))return t;if(t[ue])return this._fromAsyncIterator(t[ue](),n);Array.isArray(t)||(t=t===void 0?[]:[t]);let r=0;return new e({...n,read(e){this.push(r===t.length?null:t[r++]),e(null)}})}static isBackpressured(e){return(e._duplexState&17422)!=0||e._readableState.buffered>=e._readableState.highWaterMark}static isPaused(e){return(e._duplexState&256)==0}[ue](){let e=this,t=null,n=null,i=null;return this.on(`error`,e=>{t=e}),this.on(`readable`,a),this.on(`close`,o),{[ue](){return this},next(){return new Promise(function(t,r){n=t,i=r;let a=e.read();a===null?e._duplexState&8&&s(null):s(a)})},return(){return c(null)},throw(e){return c(e)}};function a(){n!==null&&s(e.read())}function o(){n!==null&&s(null)}function s(a){i!==null&&(t?i(t):a===null&&(e._duplexState&m)===0?i(r):n({value:a,done:a===null}),i=n=null)}function c(t){return e.destroy(t),new Promise((n,r)=>{if(e._duplexState&8)return n({value:void 0,done:!0});e.once(`close`,function(){t?r(t):n({value:void 0,done:!0})})})}}},we=class extends Se{constructor(e){super(e),this._duplexState|=1|m,this._writableState=new de(this,e),e&&(e.writev&&(this._writev=e.writev),e.write&&(this._write=e.write),e.final&&(this._final=e.final),e.eagerOpen&&this._writableState.updateNextTick())}cork(){this._duplexState|=ee}uncork(){this._duplexState&=ne,this._writableState.updateNextTick()}_writev(e,t){t(null)}_write(e,t){this._writableState.autoBatch(e,t)}_final(e){e(null)}static isBackpressured(e){return(e._duplexState&146800654)!=0}static drained(e){if(e.destroyed)return Promise.resolve(!1);let t=e._writableState,n=(Re(e)?Math.min(1,t.queue.length):t.queue.length)+(e._duplexState&j?1:0);return n===0?Promise.resolve(!0):(t.drains===null&&(t.drains=[]),new Promise(e=>{t.drains.push({writes:n,resolve:e})}))}write(e){return this._writableState.updateNextTick(),this._writableState.push(e)}end(e){return this._writableState.updateNextTick(),this._writableState.end(e),this}},z=class extends Ce{constructor(e){super(e),this._duplexState=1|this._duplexState&_,this._writableState=new de(this,e),e&&(e.writev&&(this._writev=e.writev),e.write&&(this._write=e.write),e.final&&(this._final=e.final))}cork(){this._duplexState|=ee}uncork(){this._duplexState&=ne,this._writableState.updateNextTick()}_writev(e,t){t(null)}_write(e,t){this._writableState.autoBatch(e,t)}_final(e){e(null)}write(e){return this._writableState.updateNextTick(),this._writableState.push(e)}end(e){return this._writableState.updateNextTick(),this._writableState.end(e),this}},Te=class extends z{constructor(e){super(e),this._transformState=new fe(this),e&&(e.transform&&(this._transform=e.transform),e.flush&&(this._flush=e.flush))}_write(e,t){this._readableState.buffered>=this._readableState.highWaterMark?this._transformState.data=e:this._transform(e,this._transformState.afterTransform)}_read(e){if(this._transformState.data!==null){let t=this._transformState.data;this._transformState.data=null,e(null),this._transform(t,this._transformState.afterTransform)}else e(null)}destroy(e){super.destroy(e),this._transformState.data!==null&&(this._transformState.data=null,this._transformState.afterTransform())}_transform(e,t){t(null,e)}_flush(e){e(null)}_final(e){this._transformState.afterFinal=e,this._flush(Ee.bind(this))}},B=class extends Te{};function Ee(e,t){let n=this._transformState.afterFinal;if(e)return n(e);t!=null&&this.push(t),this.push(null),n(null)}function V(...e){return new Promise((t,n)=>H(...e,e=>{if(e)return n(e);t()}))}function H(e,...t){let n=Array.isArray(e)?[...e,...t]:[e,...t],r=n.length&&typeof n[n.length-1]==`function`?n.pop():null;if(n.length<2)throw Error(`Pipeline requires at least 2 streams`);let a=n[0],o=null,s=null;for(let e=1;e<n.length;e++)o=n[e],ke(a)?a.pipe(o,l):(c(a,!0,e>1,l),a.pipe(o)),a=o;if(r){let e=!1,t=ke(o)||!!(o._writableState&&o._writableState.autoDestroy);o.on(`error`,e=>{s===null&&(s=e)}),o.on(`finish`,()=>{e=!0,t||r(s)}),t&&o.on(`close`,()=>r(s||(e?null:i)))}return o;function c(e,t,n,r){e.on(`error`,r),e.on(`close`,a);function a(){if(t&&e._readableState&&!e._readableState.ended||n&&e._writableState&&!e._writableState.ended)return r(i)}}function l(e){if(!(!e||s)){s=e;for(let t of n)t.destroy(e)}}}function De(e){return e}function Oe(e){return!!e._readableState||!!e._writableState}function ke(e){return typeof e._duplexState==`number`&&Oe(e)}function Ae(e){return!!e._readableState&&e._readableState.ended}function je(e){return!!e._writableState&&e._writableState.ended}function U(e,t={}){let n=e._readableState&&e._readableState.error||e._writableState&&e._writableState.error;return!t.all&&n===r?null:n}function Me(e){return ke(e)&&e.readable}function Ne(e){return(e._duplexState&1)!=1||(e._duplexState&se)!==0}function Pe(e){return typeof e==`object`&&!!e&&typeof e.byteLength==`number`}function Fe(e){return Pe(e)?e.byteLength:1024}function Ie(){}function Le(){this.destroy(Error(`Stream aborted.`))}function Re(e){return e._writev!==we.prototype._writev&&e._writev!==z.prototype._writev}t.exports={pipeline:H,pipelinePromise:V,isStream:Oe,isStreamx:ke,isEnded:Ae,isFinished:je,isDisturbed:Ne,getStreamError:U,Stream:Se,Writable:we,Readable:Ce,Duplex:z,Transform:Te,PassThrough:B}})),Jn=t((e=>{let t=Un(),n=t.from([117,115,116,97,114,0]),r=t.from([48,48]),i=t.from([117,115,116,97,114,32]),a=t.from([32,0]);e.decodeLongPath=function(e,t){return v(e,0,e.length,t)},e.encodePax=function(e){let n=``;e.name&&(n+=y(` path=`+e.name+`
37
+ });`}const Bn=[`basic`,`full`],Vn=q.extend({verbose:N(),all:N(),json:N(),detail:ce(Bn).default(`basic`)}),Hn=new U(`list`).description(`List items available in registries.`).argument(`[registries...]`,`Registry URLs to list items from.`).option(`--all`,`Include when-needed and index items.`,!1).option(`--json`,`Output as JSON.`,!1).addOption(new W(`--detail <level>`,`Amount of detail to show (${Bn.join(`, `)}).`).choices([...Bn]).default(`basic`)).addOption(J.cwd).addOption(J.verbose).action(async(e,t)=>{let n=Y(Vn,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!1}),i=r?.config??{},a=r?I.dirname(r.path):n.cwd;await Q(i,{command:`list`,options:{...n,cwd:a}},{cwd:a,yes:!0});let o=await X(Un(e,{...n,cwd:a},r?.config));process.stdout.write(`${n.json?Kn(o):Gn(o)}\n`),await $(i,{command:`list`,options:{...n,cwd:a},result:o},{cwd:a})});async function Un(e,t,n){let r=n?.providers??fe,i=e.length>0?e:n?.registries??[];if(i.length===0)return(0,G.err)(new We);for(let e of i)if(!r.some(t=>t.matches(e)))return(0,G.err)(new Ue(e));let a=await T(i,{cwd:t.cwd,providers:r});if(a.isErr())return(0,G.err)(a.error);let o=a.value,s=Array.from(o.entries()).flatMap(([e,n])=>n.manifest.items.filter(e=>Wn(e,t.all)).map(e=>({registry:n,item:e})));return(0,G.ok)({registries:Array.from(o.values()),items:s,detail:t.detail})}function Wn(e,t){return t?!0:e.name===`index`?!1:(e.add??`when-added`)===`when-added`}function Gn({registries:e,items:t,detail:n}){if(t.length===0)return K.default.dim(`No items found.`);let r=[];for(let i of e){let e=t.filter(e=>e.registry.url===i.url);if(e.length!==0){r.push(K.default.cyan(i.url));for(let t of e)r.push(Jn(t.item,{detail:n,indent:` `}));r.push(``)}}return r.join(`
38
+ `).trimEnd()}function Kn({registries:e,items:t,detail:n}){return l({registries:e.map(e=>({url:e.url,items:t.filter(t=>t.registry.url===e.url).map(({item:e})=>qn(e,n))})).filter(e=>e.items.length>0)})}function qn(e,t){return t===`basic`?{name:e.name,...e.title===void 0?{}:{title:e.title},...e.description===void 0?{}:{description:e.description}}:e}function Jn(e,{detail:t,indent:n}){let r=[],i=Yn(e);return r.push(`${n}${i}`),e.description&&r.push(`${n} ${K.default.dim(e.description)}`),t===`full`&&r.push(...Xn(e,n)),r.join(`
39
+ `)}function Yn(e){return e.title&&e.title!==e.name?`${K.default.bold(e.name)} ${K.default.dim(`— ${e.title}`)}`:e.title?`${K.default.bold(e.title)} ${K.default.dim(`(${e.name})`)}`:K.default.bold(e.name)}function Xn(e,t){let n=`${t} `,r=[];r.push(`${n}${K.default.dim(`type:`)} ${e.type}`),e.add&&r.push(`${n}${K.default.dim(`add:`)} ${e.add}`),e.categories?.length&&r.push(`${n}${K.default.dim(`categories:`)} ${e.categories.join(`, `)}`),e.registryDependencies?.length&&r.push(`${n}${K.default.dim(`registry dependencies:`)} ${e.registryDependencies.join(`, `)}`);let i=Zn(e.dependencies);i&&r.push(`${n}${K.default.dim(`dependencies:`)} ${i}`);let a=Zn(e.devDependencies);if(a&&r.push(`${n}${K.default.dim(`dev dependencies:`)} ${a}`),e.envVars&&Object.keys(e.envVars).length>0&&r.push(`${n}${K.default.dim(`env vars:`)} ${Object.keys(e.envVars).join(`, `)}`),e.meta&&Object.keys(e.meta).length>0){let t=Object.entries(e.meta).map(([e,t])=>`${e}=${t}`).join(`, `);r.push(`${n}${K.default.dim(`meta:`)} ${t}`)}if(e.files?.length){r.push(`${n}${K.default.dim(`files:`)}`);for(let t of e.files){let e=[String(t.path)];t.role&&t.role!==`file`&&e.push(`[${t.role}]`),t.target&&e.push(`→ ${t.target}`),`relativePath`in t&&t.relativePath&&e.push(`(${String(t.relativePath)})`),r.push(`${n} ${e.join(` `)}`)}}return r}function Zn(e){if(e?.length)return e.map(e=>typeof e==`string`?e:`${e.name}${e.version?`@${e.version}`:``}`).join(`, `)}var Qn=t(((e,t)=>{t.exports=n(`events`)})),$n=t(((e,t)=>{t.exports=class{constructor(e){if(!(e>0)||e-1&e)throw Error(`Max size for a FixedFIFO should be a power of two`);this.buffer=Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}clear(){this.top=this.btm=0,this.next=null,this.buffer.fill(void 0)}push(e){return this.buffer[this.top]===void 0?(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0):!1}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}peek(){return this.buffer[this.btm]}isEmpty(){return this.buffer[this.btm]===void 0}}})),er=t(((e,t)=>{let n=$n();t.exports=class{constructor(e){this.hwm=e||16,this.head=new n(this.hwm),this.tail=this.head,this.length=0}clear(){this.head=this.tail,this.head.clear(),this.length=0}push(e){if(this.length++,!this.head.push(e)){let t=this.head;this.head=t.next=new n(2*this.head.buffer.length),this.head.push(e)}}shift(){this.length!==0&&this.length--;let e=this.tail.shift();if(e===void 0&&this.tail.next){let e=this.tail.next;return this.tail.next=null,this.tail=e,this.tail.shift()}return e}peek(){let e=this.tail.peek();return e===void 0&&this.tail.next?this.tail.next.peek():e}isEmpty(){return this.length===0}}})),tr=t(((e,t)=>{function n(e){return Buffer.isBuffer(e)||e instanceof Uint8Array}function r(e){return Buffer.isEncoding(e)}function i(e,t,n){return Buffer.alloc(e,t,n)}function a(e){return Buffer.allocUnsafe(e)}function o(e){return Buffer.allocUnsafeSlow(e)}function s(e,t){return Buffer.byteLength(e,t)}function c(e,t){return Buffer.compare(e,t)}function l(e,t){return Buffer.concat(e,t)}function u(e,t,n,r,i){return b(e).copy(t,n,r,i)}function d(e,t){return b(e).equals(t)}function f(e,t,n,r,i){return b(e).fill(t,n,r,i)}function p(e,t,n){return Buffer.from(e,t,n)}function m(e,t,n,r){return b(e).includes(t,n,r)}function h(e,t,n,r){return b(e).indexOf(t,n,r)}function g(e,t,n,r){return b(e).lastIndexOf(t,n,r)}function _(e){return b(e).swap16()}function v(e){return b(e).swap32()}function y(e){return b(e).swap64()}function b(e){return Buffer.isBuffer(e)?e:Buffer.from(e.buffer,e.byteOffset,e.byteLength)}function x(e,t,n,r){return b(e).toString(t,n,r)}function S(e,t,n,r,i){return b(e).write(t,n,r,i)}function C(e,t){return b(e).readDoubleBE(t)}function w(e,t){return b(e).readDoubleLE(t)}function T(e,t){return b(e).readFloatBE(t)}function E(e,t){return b(e).readFloatLE(t)}function D(e,t){return b(e).readInt32BE(t)}function O(e,t){return b(e).readInt32LE(t)}function k(e,t){return b(e).readUInt32BE(t)}function A(e,t){return b(e).readUInt32LE(t)}function j(e,t,n){return b(e).writeDoubleBE(t,n)}function M(e,t,n){return b(e).writeDoubleLE(t,n)}function ee(e,t,n){return b(e).writeFloatBE(t,n)}function N(e,t,n){return b(e).writeFloatLE(t,n)}function te(e,t,n){return b(e).writeInt32BE(t,n)}function ne(e,t,n){return b(e).writeInt32LE(t,n)}function re(e,t,n){return b(e).writeUInt32BE(t,n)}function ie(e,t,n){return b(e).writeUInt32LE(t,n)}t.exports={isBuffer:n,isEncoding:r,alloc:i,allocUnsafe:a,allocUnsafeSlow:o,byteLength:s,compare:c,concat:l,copy:u,equals:d,fill:f,from:p,includes:m,indexOf:h,lastIndexOf:g,swap16:_,swap32:v,swap64:y,toBuffer:b,toString:x,write:S,readDoubleBE:C,readDoubleLE:w,readFloatBE:T,readFloatLE:E,readInt32BE:D,readInt32LE:O,readUInt32BE:k,readUInt32LE:A,writeDoubleBE:j,writeDoubleLE:M,writeFloatBE:ee,writeFloatLE:N,writeInt32BE:te,writeInt32LE:ne,writeUInt32BE:re,writeUInt32LE:ie}})),nr=t(((e,t)=>{let n=tr();t.exports=class{constructor(e){this.encoding=e}get remaining(){return 0}decode(e){return n.toString(e,this.encoding)}flush(){return``}}})),rr=t(((e,t)=>{let n=tr();t.exports=class{constructor(){this.codePoint=0,this.bytesSeen=0,this.bytesNeeded=0,this.lowerBoundary=128,this.upperBoundary=191}get remaining(){return this.bytesSeen}decode(e){if(this.bytesNeeded===0){let t=!0;for(let n=Math.max(0,e.byteLength-4),r=e.byteLength;n<r&&t;n++)t=e[n]<=127;if(t)return n.toString(e,`utf8`)}let t=``;for(let n=0,r=e.byteLength;n<r;n++){let r=e[n];if(this.bytesNeeded===0){r<=127?t+=String.fromCharCode(r):(this.bytesSeen=1,r>=194&&r<=223?(this.bytesNeeded=2,this.codePoint=r&31):r>=224&&r<=239?(r===224?this.lowerBoundary=160:r===237&&(this.upperBoundary=159),this.bytesNeeded=3,this.codePoint=r&15):r>=240&&r<=244?(r===240&&(this.lowerBoundary=144),r===244&&(this.upperBoundary=143),this.bytesNeeded=4,this.codePoint=r&7):t+=`�`);continue}if(r<this.lowerBoundary||r>this.upperBoundary){this.codePoint=0,this.bytesNeeded=0,this.bytesSeen=0,this.lowerBoundary=128,this.upperBoundary=191,t+=`�`;continue}this.lowerBoundary=128,this.upperBoundary=191,this.codePoint=this.codePoint<<6|r&63,this.bytesSeen++,this.bytesSeen===this.bytesNeeded&&(t+=String.fromCodePoint(this.codePoint),this.codePoint=0,this.bytesNeeded=0,this.bytesSeen=0)}return t}flush(){let e=this.bytesNeeded>0?`�`:``;return this.codePoint=0,this.bytesNeeded=0,this.bytesSeen=0,this.lowerBoundary=128,this.upperBoundary=191,e}}})),ir=t(((e,t)=>{let n=nr(),r=rr();t.exports=class{constructor(e=`utf8`){switch(this.encoding=i(e),this.encoding){case`utf8`:this.decoder=new r;break;case`utf16le`:case`base64`:throw Error(`Unsupported encoding: `+this.encoding);default:this.decoder=new n(this.encoding)}}get remaining(){return this.decoder.remaining}push(e){return typeof e==`string`?e:this.decoder.decode(e)}write(e){return this.push(e)}end(e){let t=``;return e&&(t=this.push(e)),t+=this.decoder.flush(),t}};function i(e){switch(e=e.toLowerCase(),e){case`utf8`:case`utf-8`:return`utf8`;case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return`utf16le`;case`latin1`:case`binary`:return`latin1`;case`base64`:case`ascii`:case`hex`:return e;default:throw Error(`Unknown encoding: `+e)}}})),ar=t(((e,t)=>{let{EventEmitter:n}=Qn(),r=Error(`Stream was destroyed`),i=Error(`Premature close`),a=er(),o=ir(),s=typeof queueMicrotask>`u`?e=>global.process.nextTick(e):queueMicrotask,c=(1<<29)-1,l=c^1;c^2;let u=1024,d=2048,f=4096,p=8192,m=16384,h=32768,g=65536,_=131072;16|g,f|128;let v=256|_;c^16,c^64,c^(64|g);let y=c^g;c^256,c^(128|p),c^u;let b=c^768,x=c^h;c^32;let S=c^_;c^v;let C=1<<18,w=2<<18,T=4<<18,E=8<<18,D=16<<18,O=32<<18,k=64<<18,A=128<<18,j=256<<18,M=512<<18,ee=1024<<18;c^(C|j);let N=c^T;c^(C|M),c^D,c^E;let te=c^A;c^w;let ne=c^ee,re=16|C,ie=c^re,ae=m|O,oe=14|ae;N&536870847;let se=A|h,P=15|se&ie;u|16399;let ce=m|143;u|143,u|16398,h|1,M|8388623,E|D,E|C;let le=270794767;T|C,C|j,O|134217742;let ue=Symbol.asyncIterator||Symbol(`asyncIterator`);var de=class{constructor(e,{highWaterMark:t=16384,map:n=null,mapWritable:r,byteLength:i,byteLengthWritable:o}={}){this.stream=e,this.queue=new a,this.highWaterMark=t,this.buffered=0,this.error=null,this.pipeline=null,this.drains=null,this.byteLength=o||i||Ie,this.map=r||n,this.afterWrite=_e.bind(this),this.afterUpdateNextTick=ye.bind(this)}get ended(){return(this.stream._duplexState&O)!==0}push(e){return this.stream._duplexState&142606350?!1:(this.map!==null&&(e=this.map(e)),this.buffered+=this.byteLength(e),this.queue.push(e),this.buffered<this.highWaterMark?(this.stream._duplexState|=E,!0):(this.stream._duplexState|=6291456,!1))}shift(){let e=this.queue.shift();return this.buffered-=this.byteLength(e),this.buffered===0&&(this.stream._duplexState&=534773759),e}end(e){typeof e==`function`?this.stream.once(`finish`,e):e!=null&&this.push(e),this.stream._duplexState=(this.stream._duplexState|M)&N}autoBatch(e,t){let n=[],r=this.stream;for(n.push(e);(r._duplexState&le)===2359296;)n.push(r._writableState.shift());if(r._duplexState&15)return t(null);r._writev(n,t)}update(){let e=this.stream;e._duplexState|=w;do{for(;(e._duplexState&le)===E;){let t=this.shift();e._duplexState|=67371008,e._write(t,this.afterWrite)}e._duplexState&1310720||this.updateNonPrimary()}while(this.continueUpdate()===!0);e._duplexState&=536346623}updateNonPrimary(){let e=this.stream;if((e._duplexState&144965647)===M){e._duplexState|=C,e._final(he.bind(this));return}if((e._duplexState&14)==4){(e._duplexState&se)===0&&(e._duplexState|=re,e._destroy(ge.bind(this)));return}(e._duplexState&P)===1&&(e._duplexState=(e._duplexState|re)&l,e._open(be.bind(this)))}continueUpdate(){return(this.stream._duplexState&A)===0?!1:(this.stream._duplexState&=te,!0)}updateCallback(){(this.stream._duplexState&35127311)===T?this.update():this.updateNextTick()}updateNextTick(){(this.stream._duplexState&A)===0&&(this.stream._duplexState|=A,(this.stream._duplexState&w)===0&&s(this.afterUpdateNextTick))}},F=class{constructor(e,{highWaterMark:t=16384,map:n=null,mapReadable:r,byteLength:i,byteLengthReadable:o}={}){this.stream=e,this.queue=new a,this.highWaterMark=t===0?1:t,this.buffered=0,this.readAhead=t>0,this.error=null,this.pipeline=null,this.byteLength=o||i||Ie,this.map=r||n,this.pipeTo=null,this.afterRead=ve.bind(this),this.afterUpdateNextTick=I.bind(this)}get ended(){return(this.stream._duplexState&m)!==0}pipe(e,t){if(this.pipeTo!==null)throw Error(`Can only pipe to one destination`);if(typeof t!=`function`&&(t=null),this.stream._duplexState|=512,this.pipeTo=e,this.pipeline=new pe(this.stream,e,t),t&&this.stream.on(`error`,Le),Ae(e))e._writableState.pipeline=this.pipeline,t&&e.on(`error`,Le),e.on(`finish`,this.pipeline.finished.bind(this.pipeline));else{let t=this.pipeline.done.bind(this.pipeline,e),n=this.pipeline.done.bind(this.pipeline,e,null);e.on(`error`,t),e.on(`close`,n),e.on(`finish`,this.pipeline.finished.bind(this.pipeline))}e.on(`drain`,me.bind(this)),this.stream.emit(`piping`,e),e.emit(`pipe`,this.stream)}push(e){let t=this.stream;return e===null?(this.highWaterMark=0,t._duplexState=(t._duplexState|u)&536805311,!1):this.map!==null&&(e=this.map(e),e===null)?(t._duplexState&=y,this.buffered<this.highWaterMark):(this.buffered+=this.byteLength(e),this.queue.push(e),t._duplexState=(t._duplexState|128)&y,this.buffered<this.highWaterMark)}shift(){let e=this.queue.shift();return this.buffered-=this.byteLength(e),this.buffered===0&&(this.stream._duplexState&=536862591),e}unshift(e){let t=[this.map===null?e:this.map(e)];for(;this.buffered>0;)t.push(this.shift());for(let e=0;e<t.length-1;e++){let n=t[e];this.buffered+=this.byteLength(n),this.queue.push(n)}this.push(t[t.length-1])}read(){let e=this.stream;if((e._duplexState&ce)===128){let t=this.shift();return this.pipeTo!==null&&this.pipeTo.write(t)===!1&&(e._duplexState&=b),(e._duplexState&d)!==0&&e.emit(`data`,t),t}return this.readAhead===!1&&(e._duplexState|=_,this.updateNextTick()),null}drain(){let e=this.stream;for(;(e._duplexState&ce)===128&&e._duplexState&768;){let t=this.shift();this.pipeTo!==null&&this.pipeTo.write(t)===!1&&(e._duplexState&=b),(e._duplexState&d)!==0&&e.emit(`data`,t)}}update(){let e=this.stream;e._duplexState|=32;do{for(this.drain();this.buffered<this.highWaterMark&&(e._duplexState&214047)===_;)e._duplexState|=65552,e._read(this.afterRead),this.drain();(e._duplexState&12431)==4224&&(e._duplexState|=p,e.emit(`readable`)),e._duplexState&80||this.updateNonPrimary()}while(this.continueUpdate()===!0);e._duplexState&=536870879}updateNonPrimary(){let e=this.stream;if((e._duplexState&1167)===u&&(e._duplexState=(e._duplexState|m)&536869887,e.emit(`end`),(e._duplexState&oe)===ae&&(e._duplexState|=4),this.pipeTo!==null&&this.pipeTo.end()),(e._duplexState&14)==4){(e._duplexState&se)===0&&(e._duplexState|=re,e._destroy(ge.bind(this)));return}(e._duplexState&P)===1&&(e._duplexState=(e._duplexState|re)&l,e._open(be.bind(this)))}continueUpdate(){return(this.stream._duplexState&h)===0?!1:(this.stream._duplexState&=x,!0)}updateCallback(){(this.stream._duplexState&32879)==64?this.update():this.updateNextTick()}updateNextTickIfOpen(){this.stream._duplexState&32769||(this.stream._duplexState|=h,this.stream._duplexState&32||s(this.afterUpdateNextTick))}updateNextTick(){(this.stream._duplexState&h)===0&&(this.stream._duplexState|=h,this.stream._duplexState&32||s(this.afterUpdateNextTick))}},fe=class{constructor(e){this.data=null,this.afterTransform=R.bind(e),this.afterFinal=null}},pe=class{constructor(e,t,n){this.from=e,this.to=t,this.afterPipe=n,this.error=null,this.pipeToFinished=!1}finished(){this.pipeToFinished=!0}done(e,t){if(t&&(this.error=t),e===this.to&&(this.to=null,this.from!==null)){((this.from._duplexState&m)===0||!this.pipeToFinished)&&this.from.destroy(this.error||Error(`Writable stream closed prematurely`));return}if(e===this.from&&(this.from=null,this.to!==null)){(e._duplexState&m)===0&&this.to.destroy(this.error||Error(`Readable stream closed before ending`));return}this.afterPipe!==null&&this.afterPipe(this.error),this.to=this.from=this.afterPipe=null}};function me(){this.stream._duplexState|=512,this.updateCallback()}function he(e){let t=this.stream;e&&t.destroy(e),t._duplexState&14||(t._duplexState|=O,t.emit(`finish`)),(t._duplexState&oe)===ae&&(t._duplexState|=4),t._duplexState&=402391039,(t._duplexState&w)===0?this.update():this.updateNextTick()}function ge(e){let t=this.stream;!e&&this.error!==r&&(e=this.error),e&&t.emit(`error`,e),t._duplexState|=8,t.emit(`close`);let n=t._readableState,i=t._writableState;if(n!==null&&n.pipeline!==null&&n.pipeline.done(t,e),i!==null){for(;i.drains!==null&&i.drains.length>0;)i.drains.shift().resolve(!1);i.pipeline!==null&&i.pipeline.done(t,e)}}function _e(e){let t=this.stream;e&&t.destroy(e),t._duplexState&=469499903,this.drains!==null&&L(this.drains),(t._duplexState&6553615)===D&&(t._duplexState&=532676607,(t._duplexState&k)===k&&t.emit(`drain`)),this.updateCallback()}function ve(e){e&&this.stream.destroy(e),this.stream._duplexState&=536870895,this.readAhead===!1&&!(this.stream._duplexState&256)&&(this.stream._duplexState&=S),this.updateCallback()}function I(){this.stream._duplexState&32||(this.stream._duplexState&=x,this.update())}function ye(){(this.stream._duplexState&w)===0&&(this.stream._duplexState&=te,this.update())}function L(e){for(let t=0;t<e.length;t++)--e[t].writes===0&&(e.shift().resolve(!0),t--)}function be(e){let t=this.stream;e&&t.destroy(e),t._duplexState&4||(t._duplexState&17423||(t._duplexState|=64),t._duplexState&142606351||(t._duplexState|=T),t.emit(`open`)),t._duplexState&=ie,t._writableState!==null&&t._writableState.updateCallback(),t._readableState!==null&&t._readableState.updateCallback()}function R(e,t){t!=null&&this.push(t),this._writableState.afterWrite(e)}function xe(e){this._readableState!==null&&(e===`data`&&(this._duplexState|=d|v,this._readableState.updateNextTick()),e===`readable`&&(this._duplexState|=f,this._readableState.updateNextTick())),this._writableState!==null&&e===`drain`&&(this._duplexState|=k,this._writableState.updateNextTick())}var Se=class extends n{constructor(e){super(),this._duplexState=0,this._readableState=null,this._writableState=null,e&&(e.open&&(this._open=e.open),e.destroy&&(this._destroy=e.destroy),e.predestroy&&(this._predestroy=e.predestroy),e.signal&&e.signal.addEventListener(`abort`,Re.bind(this))),this.on(`newListener`,xe)}_open(e){e(null)}_destroy(e){e(null)}_predestroy(){}get readable(){return this._readableState===null?void 0:!0}get writable(){return this._writableState===null?void 0:!0}get destroyed(){return(this._duplexState&8)!=0}get destroying(){return(this._duplexState&14)!=0}destroy(e){this._duplexState&14||(e||=r,this._duplexState=(this._duplexState|4)&535822271,this._readableState!==null&&(this._readableState.highWaterMark=0,this._readableState.error=e),this._writableState!==null&&(this._writableState.highWaterMark=0,this._writableState.error=e),this._duplexState|=2,this._predestroy(),this._duplexState&=536870909,this._readableState!==null&&this._readableState.updateNextTick(),this._writableState!==null&&this._writableState.updateNextTick())}},Ce=class e extends Se{constructor(e){super(e),this._duplexState|=O|131073,this._readableState=new F(this,e),e&&(this._readableState.readAhead===!1&&(this._duplexState&=S),e.read&&(this._read=e.read),e.eagerOpen&&this._readableState.updateNextTick(),e.encoding&&this.setEncoding(e.encoding))}setEncoding(e){let t=new o(e),n=this._readableState.map||Oe;return this._readableState.map=r,this;function r(e){let r=t.push(e);return r===``&&(e.byteLength!==0||t.remaining>0)?null:n(r)}}_read(e){e(null)}pipe(e,t){return this._readableState.updateNextTick(),this._readableState.pipe(e,t),e}read(){return this._readableState.updateNextTick(),this._readableState.read()}push(e){return this._readableState.updateNextTickIfOpen(),this._readableState.push(e)}unshift(e){return this._readableState.updateNextTickIfOpen(),this._readableState.unshift(e)}resume(){return this._duplexState|=v,this._readableState.updateNextTick(),this}pause(){return this._duplexState&=this._readableState.readAhead===!1?536739583:536870655,this}static _fromAsyncIterator(t,n){let r,i=new e({...n,read(e){t.next().then(a).then(e.bind(null,null)).catch(e)},predestroy(){r=t.return()},destroy(e){if(!r)return e(null);r.then(e.bind(null,null)).catch(e)}});return i;function a(e){e.done?i.push(null):i.push(e.value)}}static from(t,n){if(Ne(t))return t;if(t[ue])return this._fromAsyncIterator(t[ue](),n);Array.isArray(t)||(t=t===void 0?[]:[t]);let r=0;return new e({...n,read(e){this.push(r===t.length?null:t[r++]),e(null)}})}static isBackpressured(e){return(e._duplexState&17422)!=0||e._readableState.buffered>=e._readableState.highWaterMark}static isPaused(e){return(e._duplexState&256)==0}[ue](){let e=this,t=null,n=null,i=null;return this.on(`error`,e=>{t=e}),this.on(`readable`,a),this.on(`close`,o),{[ue](){return this},next(){return new Promise(function(t,r){n=t,i=r;let a=e.read();a===null?e._duplexState&8&&s(null):s(a)})},return(){return c(null)},throw(e){return c(e)}};function a(){n!==null&&s(e.read())}function o(){n!==null&&s(null)}function s(a){i!==null&&(t?i(t):a===null&&(e._duplexState&m)===0?i(r):n({value:a,done:a===null}),i=n=null)}function c(t){return e.destroy(t),new Promise((n,r)=>{if(e._duplexState&8)return n({value:void 0,done:!0});e.once(`close`,function(){t?r(t):n({value:void 0,done:!0})})})}}},we=class extends Se{constructor(e){super(e),this._duplexState|=1|m,this._writableState=new de(this,e),e&&(e.writev&&(this._writev=e.writev),e.write&&(this._write=e.write),e.final&&(this._final=e.final),e.eagerOpen&&this._writableState.updateNextTick())}cork(){this._duplexState|=ee}uncork(){this._duplexState&=ne,this._writableState.updateNextTick()}_writev(e,t){t(null)}_write(e,t){this._writableState.autoBatch(e,t)}_final(e){e(null)}static isBackpressured(e){return(e._duplexState&146800654)!=0}static drained(e){if(e.destroyed)return Promise.resolve(!1);let t=e._writableState,n=(ze(e)?Math.min(1,t.queue.length):t.queue.length)+(e._duplexState&j?1:0);return n===0?Promise.resolve(!0):(t.drains===null&&(t.drains=[]),new Promise(e=>{t.drains.push({writes:n,resolve:e})}))}write(e){return this._writableState.updateNextTick(),this._writableState.push(e)}end(e){return this._writableState.updateNextTick(),this._writableState.end(e),this}},z=class extends Ce{constructor(e){super(e),this._duplexState=1|this._duplexState&_,this._writableState=new de(this,e),e&&(e.writev&&(this._writev=e.writev),e.write&&(this._write=e.write),e.final&&(this._final=e.final))}cork(){this._duplexState|=ee}uncork(){this._duplexState&=ne,this._writableState.updateNextTick()}_writev(e,t){t(null)}_write(e,t){this._writableState.autoBatch(e,t)}_final(e){e(null)}write(e){return this._writableState.updateNextTick(),this._writableState.push(e)}end(e){return this._writableState.updateNextTick(),this._writableState.end(e),this}},Te=class extends z{constructor(e){super(e),this._transformState=new fe(this),e&&(e.transform&&(this._transform=e.transform),e.flush&&(this._flush=e.flush))}_write(e,t){this._readableState.buffered>=this._readableState.highWaterMark?this._transformState.data=e:this._transform(e,this._transformState.afterTransform)}_read(e){if(this._transformState.data!==null){let t=this._transformState.data;this._transformState.data=null,e(null),this._transform(t,this._transformState.afterTransform)}else e(null)}destroy(e){super.destroy(e),this._transformState.data!==null&&(this._transformState.data=null,this._transformState.afterTransform())}_transform(e,t){t(null,e)}_flush(e){e(null)}_final(e){this._transformState.afterFinal=e,this._flush(Ee.bind(this))}},B=class extends Te{};function Ee(e,t){let n=this._transformState.afterFinal;if(e)return n(e);t!=null&&this.push(t),this.push(null),n(null)}function V(...e){return new Promise((t,n)=>De(...e,e=>{if(e)return n(e);t()}))}function De(e,...t){let n=Array.isArray(e)?[...e,...t]:[e,...t],r=n.length&&typeof n[n.length-1]==`function`?n.pop():null;if(n.length<2)throw Error(`Pipeline requires at least 2 streams`);let a=n[0],o=null,s=null;for(let e=1;e<n.length;e++)o=n[e],Ae(a)?a.pipe(o,l):(c(a,!0,e>1,l),a.pipe(o)),a=o;if(r){let e=!1,t=Ae(o)||!!(o._writableState&&o._writableState.autoDestroy);o.on(`error`,e=>{s===null&&(s=e)}),o.on(`finish`,()=>{e=!0,t||r(s)}),t&&o.on(`close`,()=>r(s||(e?null:i)))}return o;function c(e,t,n,r){e.on(`error`,r),e.on(`close`,a);function a(){if(t&&e._readableState&&!e._readableState.ended||n&&e._writableState&&!e._writableState.ended)return r(i)}}function l(e){if(!(!e||s)){s=e;for(let t of n)t.destroy(e)}}}function Oe(e){return e}function ke(e){return!!e._readableState||!!e._writableState}function Ae(e){return typeof e._duplexState==`number`&&ke(e)}function je(e){return!!e._readableState&&e._readableState.ended}function Me(e){return!!e._writableState&&e._writableState.ended}function H(e,t={}){let n=e._readableState&&e._readableState.error||e._writableState&&e._writableState.error;return!t.all&&n===r?null:n}function Ne(e){return Ae(e)&&e.readable}function Pe(e){return(e._duplexState&1)!=1||(e._duplexState&se)!==0}function Fe(e){return typeof e==`object`&&!!e&&typeof e.byteLength==`number`}function Ie(e){return Fe(e)?e.byteLength:1024}function Le(){}function Re(){this.destroy(Error(`Stream aborted.`))}function ze(e){return e._writev!==we.prototype._writev&&e._writev!==z.prototype._writev}t.exports={pipeline:De,pipelinePromise:V,isStream:ke,isStreamx:Ae,isEnded:je,isFinished:Me,isDisturbed:Pe,getStreamError:H,Stream:Se,Writable:we,Readable:Ce,Duplex:z,Transform:Te,PassThrough:B}})),or=t((e=>{let t=tr(),n=t.from([117,115,116,97,114,0]),r=t.from([48,48]),i=t.from([117,115,116,97,114,32]),a=t.from([32,0]);e.decodeLongPath=function(e,t){return v(e,0,e.length,t)},e.encodePax=function(e){let n=``;e.name&&(n+=y(` path=`+e.name+`
38
40
  `)),e.linkname&&(n+=y(` linkpath=`+e.linkname+`
39
41
  `));let r=e.pax;if(r)for(let e in r)n+=y(` `+e+`=`+r[e]+`
40
- `);return t.from(n)},e.decodePax=function(e){let n={};for(;e.length;){let r=0;for(;r<e.length&&e[r]!==32;)r++;let i=parseInt(t.toString(e.subarray(0,r)),10);if(!i)return n;let a=t.toString(e.subarray(r+1,i-1)),o=a.indexOf(`=`);if(o===-1)return n;n[a.slice(0,o)]=a.slice(o+1),e=e.subarray(i)}return n},e.encode=function(e){let i=t.alloc(512),a=e.name,o=``;if(e.typeflag===5&&a[a.length-1]!==`/`&&(a+=`/`),t.byteLength(a)!==a.length)return null;for(;t.byteLength(a)>100;){let e=a.indexOf(`/`);if(e===-1)return null;o+=o?`/`+a.slice(0,e):a.slice(0,e),a=a.slice(e+1)}return t.byteLength(a)>100||t.byteLength(o)>155||e.linkname&&t.byteLength(e.linkname)>100?null:(t.write(i,a),t.write(i,p(e.mode&4095,6),100),t.write(i,p(e.uid,6),108),t.write(i,p(e.gid,6),116),h(e.size,i,124),t.write(i,p(e.mtime.getTime()/1e3|0,11),136),i[156]=48+u(e.type),e.linkname&&t.write(i,e.linkname,157),t.copy(n,i,257),t.copy(r,i,263),e.uname&&t.write(i,e.uname,265),e.gname&&t.write(i,e.gname,297),t.write(i,p(e.devmajor||0,6),329),t.write(i,p(e.devminor||0,6),337),o&&t.write(i,o,345),t.write(i,p(f(i),6),148),i)},e.decode=function(e,t,n){let r=e[156]===0?0:e[156]-48,i=v(e,0,100,t),a=_(e,100,8),c=_(e,108,8),u=_(e,116,8),d=_(e,124,12),p=_(e,136,12),m=l(r),h=e[157]===0?null:v(e,157,100,t),g=v(e,265,32),y=v(e,297,32),b=_(e,329,8),x=_(e,337,8),S=f(e);if(S===256)return null;if(S!==_(e,148,8))throw Error(`Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?`);if(o(e))e[345]&&(i=v(e,345,155,t)+`/`+i);else if(!s(e)&&!n)throw Error(`Invalid tar header: unknown format.`);return r===0&&i&&i[i.length-1]===`/`&&(r=5),{name:i,mode:a,uid:c,gid:u,size:d,mtime:new Date(1e3*p),type:m,linkname:h,uname:g,gname:y,devmajor:b,devminor:x,pax:null}};function o(e){return t.equals(n,e.subarray(257,263))}function s(e){return t.equals(i,e.subarray(257,263))&&t.equals(a,e.subarray(263,265))}function c(e,t,n){return typeof e==`number`?(e=~~e,e>=t?t:e>=0||(e+=t,e>=0)?e:0):n}function l(e){switch(e){case 0:return`file`;case 1:return`link`;case 2:return`symlink`;case 3:return`character-device`;case 4:return`block-device`;case 5:return`directory`;case 6:return`fifo`;case 7:return`contiguous-file`;case 72:return`pax-header`;case 55:return`pax-global-header`;case 27:return`gnu-long-link-path`;case 28:case 30:return`gnu-long-path`}return null}function u(e){switch(e){case`file`:return 0;case`link`:return 1;case`symlink`:return 2;case`character-device`:return 3;case`block-device`:return 4;case`directory`:return 5;case`fifo`:return 6;case`contiguous-file`:return 7;case`pax-header`:return 72}return 0}function d(e,t,n,r){for(;n<r;n++)if(e[n]===t)return n;return r}function f(e){let t=256;for(let n=0;n<148;n++)t+=e[n];for(let n=156;n<512;n++)t+=e[n];return t}function p(e,t){return e=e.toString(8),e.length>t?`7777777777777777777`.slice(0,t)+` `:`0000000000000000000`.slice(0,t-e.length)+e+` `}function m(e,t,n){t[n]=128;for(let r=11;r>0;r--)t[n+r]=e&255,e=Math.floor(e/256)}function h(e,n,r){e.toString(8).length>11?m(e,n,r):t.write(n,p(e,11),r)}function g(e){let t;if(e[0]===128)t=!0;else if(e[0]===255)t=!1;else return null;let n=[],r;for(r=e.length-1;r>0;r--){let i=e[r];t?n.push(i):n.push(255-i)}let i=0,a=n.length;for(r=0;r<a;r++)i+=n[r]*256**r;return t?i:-1*i}function _(e,n,r){if(e=e.subarray(n,n+r),n=0,e[n]&128)return g(e);{for(;n<e.length&&e[n]===32;)n++;let r=c(d(e,32,n,e.length),e.length,e.length);for(;n<r&&e[n]===0;)n++;return r===n?0:parseInt(t.toString(e.subarray(n,r)),8)}}function v(e,n,r,i){return t.toString(e.subarray(n,d(e,0,n,n+r)),i)}function y(e){let n=t.byteLength(e),r=Math.floor(Math.log(n)/Math.log(10))+1;return n+r>=10**r&&r++,n+r+e}})),Yn=t(((e,t)=>{let{Writable:n,Readable:r,getStreamError:i}=qn(),a=Hn(),o=Un(),s=Jn(),c=o.alloc(0);var l=class{constructor(){this.buffered=0,this.shifted=0,this.queue=new a,this._offset=0}push(e){this.buffered+=e.byteLength,this.queue.push(e)}shiftFirst(e){return this._buffered===0?null:this._next(e)}shift(e){if(e>this.buffered)return null;if(e===0)return c;let t=this._next(e);if(e===t.byteLength)return t;let n=[t];for(;(e-=t.byteLength)>0;)t=this._next(e),n.push(t);return o.concat(n)}_next(e){let t=this.queue.peek(),n=t.byteLength-this._offset;if(e>=n){let e=this._offset?t.subarray(this._offset,t.byteLength):t;return this.queue.shift(),this._offset=0,this.buffered-=n,this.shifted+=n,e}return this.buffered-=e,this.shifted+=e,t.subarray(this._offset,this._offset+=e)}},u=class extends r{constructor(e,t,n){super(),this.header=t,this.offset=n,this._parent=e}_read(e){this.header.size===0&&this.push(null),this._parent._stream===this&&this._parent._update(),e(null)}_predestroy(){this._parent.destroy(i(this))}_detach(){this._parent._stream===this&&(this._parent._stream=null,this._parent._missing=p(this.header.size),this._parent._update())}_destroy(e){this._detach(),e(null)}},d=class extends n{constructor(e){super(e),e||={},this._buffer=new l,this._offset=0,this._header=null,this._stream=null,this._missing=0,this._longHeader=!1,this._callback=f,this._locked=!1,this._finished=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null,this._filenameEncoding=e.filenameEncoding||`utf-8`,this._allowUnknownFormat=!!e.allowUnknownFormat,this._unlockBound=this._unlock.bind(this)}_unlock(e){if(this._locked=!1,e){this.destroy(e),this._continueWrite(e);return}this._update()}_consumeHeader(){if(this._locked)return!1;this._offset=this._buffer.shifted;try{this._header=s.decode(this._buffer.shift(512),this._filenameEncoding,this._allowUnknownFormat)}catch(e){return this._continueWrite(e),!1}if(!this._header)return!0;switch(this._header.type){case`gnu-long-path`:case`gnu-long-link-path`:case`pax-global-header`:case`pax-header`:return this._longHeader=!0,this._missing=this._header.size,!0}return this._locked=!0,this._applyLongHeaders(),this._header.size===0||this._header.type===`directory`?(this.emit(`entry`,this._header,this._createStream(),this._unlockBound),!0):(this._stream=this._createStream(),this._missing=this._header.size,this.emit(`entry`,this._header,this._stream,this._unlockBound),!0)}_applyLongHeaders(){this._gnuLongPath&&=(this._header.name=this._gnuLongPath,null),this._gnuLongLinkPath&&=(this._header.linkname=this._gnuLongLinkPath,null),this._pax&&=(this._pax.path&&(this._header.name=this._pax.path),this._pax.linkpath&&(this._header.linkname=this._pax.linkpath),this._pax.size&&(this._header.size=parseInt(this._pax.size,10)),this._header.pax=this._pax,null)}_decodeLongHeader(e){switch(this._header.type){case`gnu-long-path`:this._gnuLongPath=s.decodeLongPath(e,this._filenameEncoding);break;case`gnu-long-link-path`:this._gnuLongLinkPath=s.decodeLongPath(e,this._filenameEncoding);break;case`pax-global-header`:this._paxGlobal=s.decodePax(e);break;case`pax-header`:this._pax=this._paxGlobal===null?s.decodePax(e):Object.assign({},this._paxGlobal,s.decodePax(e));break}}_consumeLongHeader(){this._longHeader=!1,this._missing=p(this._header.size);let e=this._buffer.shift(this._header.size);try{this._decodeLongHeader(e)}catch(e){return this._continueWrite(e),!1}return!0}_consumeStream(){let e=this._buffer.shiftFirst(this._missing);if(e===null)return!1;this._missing-=e.byteLength;let t=this._stream.push(e);return this._missing===0?(this._stream.push(null),t&&this._stream._detach(),t&&this._locked===!1):t}_createStream(){return new u(this,this._header,this._offset)}_update(){for(;this._buffer.buffered>0&&!this.destroying;){if(this._missing>0){if(this._stream!==null){if(this._consumeStream()===!1)return;continue}if(this._longHeader===!0){if(this._missing>this._buffer.buffered)break;if(this._consumeLongHeader()===!1)return!1;continue}let e=this._buffer.shiftFirst(this._missing);e!==null&&(this._missing-=e.byteLength);continue}if(this._buffer.buffered<512)break;if(this._stream!==null||this._consumeHeader()===!1)return}this._continueWrite(null)}_continueWrite(e){let t=this._callback;this._callback=f,t(e)}_write(e,t){this._callback=t,this._buffer.push(e),this._update()}_final(e){this._finished=this._missing===0&&this._buffer.buffered===0,e(this._finished?null:Error(`Unexpected end of data`))}_predestroy(){this._continueWrite(null)}_destroy(e){this._stream&&this._stream.destroy(i(this)),e(null)}[Symbol.asyncIterator](){let e=null,t=null,n=null,r=null,i=null,a=this;return this.on(`entry`,c),this.on(`error`,t=>{e=t}),this.on(`close`,l),{[Symbol.asyncIterator](){return this},next(){return new Promise(s)},return(){return u(null)},throw(e){return u(e)}};function o(e){if(!i)return;let t=i;i=null,t(e)}function s(i,s){if(e)return s(e);if(r){i({value:r,done:!1}),r=null;return}t=i,n=s,o(null),a._finished&&t&&(t({value:void 0,done:!0}),t=n=null)}function c(e,a,o){i=o,a.on(`error`,f),t?(t({value:a,done:!1}),t=n=null):r=a}function l(){o(e),t&&=(e?n(e):t({value:void 0,done:!0}),n=null)}function u(e){return a.destroy(e),o(e),new Promise((t,n)=>{if(a.destroyed)return t({value:void 0,done:!0});a.once(`close`,function(){e?n(e):t({value:void 0,done:!0})})})}}};t.exports=function(e){return new d(e)};function f(){}function p(e){return e&=511,e&&512-e}})),Xn=t(((e,t)=>{let r={S_IFMT:61440,S_IFDIR:16384,S_IFCHR:8192,S_IFBLK:24576,S_IFIFO:4096,S_IFLNK:40960};try{t.exports=n(`fs`).constants||r}catch{t.exports=r}})),Zn=t(((e,t)=>{let{Readable:n,Writable:r,getStreamError:i}=qn(),a=Un(),o=Xn(),s=Jn(),c=a.alloc(1024);var l=class extends r{constructor(e,t,n){super({mapWritable:m,eagerOpen:!0}),this.written=0,this.header=t,this._callback=n,this._linkname=null,this._isLinkname=t.type===`symlink`&&!t.linkname,this._isVoid=t.type!==`file`&&t.type!==`contiguous-file`,this._finished=!1,this._pack=e,this._openCallback=null,this._pack._stream===null?this._pack._stream=this:this._pack._pending.push(this)}_open(e){this._openCallback=e,this._pack._stream===this&&this._continueOpen()}_continuePack(e){if(this._callback===null)return;let t=this._callback;this._callback=null,t(e)}_continueOpen(){this._pack._stream===null&&(this._pack._stream=this);let e=this._openCallback;if(this._openCallback=null,e!==null){if(this._pack.destroying)return e(Error(`pack stream destroyed`));if(this._pack._finalized)return e(Error(`pack stream is already finalized`));this._pack._stream=this,this._isLinkname||this._pack._encode(this.header),this._isVoid&&(this._finish(),this._continuePack(null)),e(null)}}_write(e,t){if(this._isLinkname)return this._linkname=this._linkname?a.concat([this._linkname,e]):e,t(null);if(this._isVoid)return e.byteLength>0?t(Error(`No body allowed for this entry`)):t();if(this.written+=e.byteLength,this._pack.push(e))return t();this._pack._drain=t}_finish(){this._finished||(this._finished=!0,this._isLinkname&&(this.header.linkname=this._linkname?a.toString(this._linkname,`utf-8`):``,this._pack._encode(this.header)),p(this._pack,this.header.size),this._pack._done(this))}_final(e){if(this.written!==this.header.size)return e(Error(`Size mismatch`));this._finish(),e(null)}_getError(){return i(this)||Error(`tar entry destroyed`)}_predestroy(){this._pack.destroy(this._getError())}_destroy(e){this._pack._done(this),this._continuePack(this._finished?null:this._getError()),e()}},u=class extends n{constructor(e){super(e),this._drain=f,this._finalized=!1,this._finalizing=!1,this._pending=[],this._stream=null}entry(e,t,n){if(this._finalized||this.destroying)throw Error(`already finalized or destroyed`);typeof t==`function`&&(n=t,t=null),n||=f,(!e.size||e.type===`symlink`)&&(e.size=0),e.type||=d(e.mode),e.mode||=e.type===`directory`?493:420,e.uid||=0,e.gid||=0,e.mtime||=new Date,typeof t==`string`&&(t=a.from(t));let r=new l(this,e,n);return a.isBuffer(t)?(e.size=t.byteLength,r.write(t),r.end(),r):(r._isVoid,r)}finalize(){if(this._stream||this._pending.length>0){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(c),this.push(null))}_done(e){e===this._stream&&(this._stream=null,this._finalizing&&this.finalize(),this._pending.length&&this._pending.shift()._continueOpen())}_encode(e){if(!e.pax){let t=s.encode(e);if(t){this.push(t);return}}this._encodePax(e)}_encodePax(e){let t=s.encodePax({name:e.name,linkname:e.linkname,pax:e.pax}),n={name:`PaxHeader`,mode:e.mode,uid:e.uid,gid:e.gid,size:t.byteLength,mtime:e.mtime,type:`pax-header`,linkname:e.linkname&&`PaxHeader`,uname:e.uname,gname:e.gname,devmajor:e.devmajor,devminor:e.devminor};this.push(s.encode(n)),this.push(t),p(this,t.byteLength),n.size=e.size,n.type=e.type,this.push(s.encode(n))}_doDrain(){let e=this._drain;this._drain=f,e()}_predestroy(){let e=i(this);for(this._stream&&this._stream.destroy(e);this._pending.length;){let t=this._pending.shift();t.destroy(e),t._continueOpen()}this._doDrain()}_read(e){this._doDrain(),e()}};t.exports=function(e){return new u(e)};function d(e){switch(e&o.S_IFMT){case o.S_IFBLK:return`block-device`;case o.S_IFCHR:return`character-device`;case o.S_IFDIR:return`directory`;case o.S_IFIFO:return`fifo`;case o.S_IFLNK:return`symlink`}return`file`}function f(){}function p(e,t){t&=511,t&&e.push(c.subarray(0,512-t))}function m(e){return a.isBuffer(e)?e:a.from(e)}})),Qn=t((e=>{e.extract=Yn(),e.pack=Zn()})),$n=e(de(),1),er=e(Qn(),1);const tr=q.extend({dryRun:N(),verbose:N()}),nr=new W(`publish`).description(`Publish your registry to jsrepo.com.`).argument(`[registries...]`,`One or more registries to publish. If not provided, publishes all registries.`).option(`--dry-run`,`Build the registry without publishing.`,!1).addOption(J.cwd).addOption(J.verbose).action(async(e,t)=>{let n=Y(tr,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!1});r||Z(new ze(n.cwd));let i=r.config,a=I.dirname(r.path),o={...n,cwd:a};await Q(i,{command:`publish`,options:o},{cwd:a,yes:!1}),u();let s=await X(rr(e,{config:i,options:o}));z(sr(s)),await $(i,{command:`publish`,options:o,result:s},{cwd:a}),s.publishedRegistries.some(e=>!e.skipped&&e.result.isErr())&&process.exit(1)});async function rr(e,{options:t,config:n}){let{verbose:r,spinner:i}=le({options:t}),a=performance.now();if(t.dryRun&&B.warn(`${K.default.bgYellow(K.default.black(` DRY RUN `))} ${K.default.dim(`No registries will be published.`)}`),!et(n))return(0,G.err)(new je);let o=(n.providers??fe).find(e=>e.name===`jsrepo`);if(!o)return(0,G.err)(new ke(`jsrepo`));let s=new _e().get(o,void 0);if(!s)return(0,G.err)(new U(`You need to be authenticated to publish your registry.`,{suggestion:`Run ${K.default.bold("`jsrepo auth jsrepo`")} to authenticate or set the ${K.default.bold(`JSREPO_TOKEN`)} environment variable.`}));let c=pe(t.cwd);if(!c)return(0,G.err)(new Re);let l=performance.now();i.start(`Building ${e.length>0?K.default.cyan(e.join(`, `)):`all registries`}...`);let u=await $e(n,async r=>{if(e.length>0&&!e.includes(r.name))return(0,G.ok)({skipped:!0,name:r.name});let i=await p(r,{options:t,config:n});return i.isErr()?(0,G.err)(i.error):(0,G.ok)({skipped:!1,buildResult:i.value})},{cwd:t.cwd}),d=performance.now();i.stop(`Built ${K.default.green(u.length)} ${u.length>1?`registries`:`registry`} in ${K.default.green(`${(d-l).toFixed(2)}ms`)}`);let f=[],m=[];for(let e of u){if(e.isErr())return(0,G.err)(e.error);if(e.value.skipped){m.push({skipped:!0,name:e.value.name});continue}let t=ir(e.value.buildResult,{pkg:c.package});if(t.isErr())return(0,G.err)(t.error);f.push({...e.value.buildResult,version:t.value.version})}i.start(`Publishing ${K.default.green(f.length)} ${f.length>1?`registries`:`registry`}...`);let h=[];for(let e of f){let n=await ar(e,{token:s,provider:o,options:t});h.push({skipped:!1,name:e.name,version:e.version,result:n})}return i.stop(`Published ${K.default.green(h.length)} ${h.length>1?`registries`:`registry`}`),(0,G.ok)({duration:performance.now()-a,dryRun:t.dryRun,publishedRegistries:[...m,...h]})}function ir(e,{pkg:t}){let[n,r,...i]=e.name.split(`/`);if(i.length>0||!n||!n.startsWith(`@`)||!n.slice(1).match(ue)||!r||!r.match(ue))return(0,G.err)(new Pe(e.name));if(e.version===void 0)return(0,G.err)(new Ve(e.version,e.name));let a;return a=e.version===`package`&&t.version!==void 0?t.version:e.version,a===void 0||!$n.default.valid(a)?(0,G.err)(new Ve(a,e.name)):(0,G.ok)({name:e.name,version:a})}async function ar(e,{token:t,provider:n,options:r}){let i=or(e,r.cwd);if(i.isErr())return(0,G.err)(i.error);let a=i.value,o=er.pack();for(let e of a)o.entry({name:e.name},e.content);o.finalize();let s=await Xe(o.pipe(Ze()));try{let i=await fetch(`${n.baseUrl}/api/publish/v3`,{body:s,headers:{"content-type":`application/gzip`,"content-encoding":`gzip`,"x-api-key":t,"x-dry-run":r.dryRun?`1`:`0`,"x-access":e.access??`public`},method:`POST`});if(!i.ok){let t=await i.json();return(0,G.err)(new U(`Failed to publish ${K.default.bold(e.name)}: ${i.status} ${i.statusText} ${t.message}`,{suggestion:`Please try again.`}))}let a=await i.json();return(0,G.ok)({version:a.version,tag:a.tag})}catch(e){return(0,G.err)(new U(`Failed to publish registry: ${e instanceof Error?e.message:String(e)}`,{suggestion:`Please try again.`}))}}function or(e,t){let n=[],r=F(t,`README.md`);if(te(r)){let e=w(r);if(e.isErr())return(0,G.err)(e.error);n.push({name:`README.md`,content:e.value})}let i={name:e.name,authors:e.authors,bugs:e.bugs,description:e.description,homepage:e.homepage,repository:e.repository,tags:e.tags,version:e.version,meta:e.meta,type:`distributed`,plugins:e.plugins,defaultPaths:e.defaultPaths,items:e.items.map(e=>({name:e.name,title:e.title,description:e.description,type:e.type,add:e.add,registryDependencies:e.registryDependencies,dependencies:e.dependencies,devDependencies:e.devDependencies,envVars:e.envVars,files:e.files.map(e=>({type:e.type,role:e.role,path:e.path,target:e.target,registryDependencies:e.registryDependencies,dependencies:e.dependencies,devDependencies:e.devDependencies})),categories:e.categories,meta:e.meta}))};n.push({name:c,content:JSON.stringify(i)});for(let t of e.items){let e={name:t.name,title:t.title,description:t.description,type:t.type,add:t.add,files:t.files.map(e=>({type:e.type,role:e.role,content:e.content,path:e.path,_imports_:e._imports_,target:e.target,registryDependencies:e.registryDependencies,dependencies:e.dependencies,devDependencies:e.devDependencies})),registryDependencies:t.registryDependencies,dependencies:t.dependencies,devDependencies:t.devDependencies,envVars:t.envVars,categories:t.categories,meta:t.meta};n.push({name:`${t.name}.json`,content:JSON.stringify(e)})}return(0,G.ok)(n)}function sr(e){return`Completed in ${K.default.green(`${e.duration.toFixed(2)}ms`)}
41
- ${e.publishedRegistries.map(e=>` ${cr(e)}`).join(`
42
- `)}`}function cr(e){if(e.skipped)return K.default.dim(`${K.default.dim(e.name)} >> Skipped`);if(e.result.isErr())return`${K.default.cyan(e.name)} ${K.default.dim(`→`)} ${K.default.red(e.result.error.toString())}`;let{version:t,tag:n}=e.result.value;return`${K.default.cyan(e.name)} → ${K.default.green(t)} ${K.default.dim(n??``)}`}const lr=q.extend({yes:N(),all:N(),verbose:N(),registry:L().optional(),overwrite:N(),expand:N(),maxUnchanged:M(),with:oe(L()).default([]),withExamples:N(),withDocs:N(),withTests:N()}),ur=new W(`update`).description(`Update items in your project.`).argument(`[items...]`,`Names of the items you want to update. ex: (math, github/ieedan/std/math)`).option(`--registry <registry>`,`The registry to update items from.`,void 0).option(`--all`,`Update all items in the project.`,!1).option(`--with <roles...>`,`Include files with the given roles.`).option(`--with-examples`,"Deprecated. Use `--with example`.",!1).option(`--with-docs`,"Deprecated. Use `--with doc`.",!1).option(`--with-tests`,"Deprecated. Use `--with test`.",!1).addOption(J.cwd).addOption(J.yes).addOption(J.verbose).addOption(J.overwrite).addOption(J.expand).addOption(J.maxUnchanged).action(async(e,t)=>{let n=Y(lr,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!n.yes});r||Z(new ze(n.cwd));let i=r.config,a=I.dirname(r.path);await Q(i,{command:`update`,options:{...n,cwd:a}},{cwd:a,yes:n.yes}),u();let o=await X(dr(e,{...n,cwd:a},r));z(fr(o)),await $(i,{command:`update`,options:{...n,cwd:a},result:o},{cwd:a})});async function dr(e,t,n){let{verbose:r,spinner:i}=le({options:t}),s=n?.config,c=s?.providers??fe,l=t.registry?[t.registry]:s?.registries??[],u;if(e.length>0){let n=S(e,{providers:c,registries:l});if(n.isErr())return(0,G.err)(n.error);let{wantedItems:r,neededRegistries:a}=n.value;i.start(`Retrieving manifest${a.length>1?`s`:``} from ${K.default.cyan(a.join(`, `))}`);let o=await T(a,{cwd:t.cwd,providers:c});if(o.isErr())return i.stop(`Failed to retrieve manifests`),(0,G.err)(o.error);i.stop(`Retrieved manifest${a.length>1?`s`:``} from ${K.default.cyan(a.join(`, `))}`);let s=o.value,d=await h(r,{resolvedRegistries:s,nonInteractive:t.yes});if(d.isErr())return(0,G.err)(d.error);u=d.value}else{i.start(`Retrieving manifest${l.length>1?`s`:``} from ${K.default.cyan(l.join(`, `))}`);let e=await T(l,{cwd:t.cwd,providers:c});if(e.isErr())return i.stop(`Failed to retrieve manifests`),(0,G.err)(e.error);i.stop(`Retrieved manifest${l.length>1?`s`:``} from ${K.default.cyan(l.join(`, `))}`);let n=e.value,r=Array.from(n.entries()).flatMap(([e,t])=>t.manifest.items.filter(e=>(e.add??`when-added`)===`when-added`&&e.name!==`index`).map(e=>({item:e,registry:t}))),a=await ae({items:r.map(e=>({name:e.item.name,type:e.item.type,files:e.item.files,registry:e.registry})),config:s,options:{cwd:t.cwd,yes:!0},continueOnNoPath:!0});if(a.isErr())return(0,G.err)(a.error);let{itemPaths:o}=a.value,d=[];for(let{item:e,registry:n}of r){let r=o[`${e.type}/${e.name}`]?.path;if(r)for(let i of e.files){let a=i.path;for(let r of s?.transforms??[])a=(await r.transform({code:``,fileName:i.path,options:{cwd:t.cwd,registryUrl:n.url,item:e}})).fileName??i.path;if(te(ee({...i,path:a},{itemPath:{path:r},options:t}))){d.push({item:{...e,registry:n},registry:n});break}}}if(d.length===0)return(0,G.err)(new Ae);if(t.all)u=d.map(({item:e,registry:t})=>({item:e,registry:t}));else{let e=new Set;for(let{registry:t}of d)e.add(t.url);let t=e.size>1,n=await H({message:`Which items would you like to update?`,options:d.map(({item:e})=>({label:t?`${e.registry.url}/${e.name}`:e.name,value:`${e.registry.url}/${e.name}`}))});R(n)&&(V(`Canceled!`),process.exit(0)),u=d.filter(({item:e})=>n.includes(`${e.registry.url}/${e.name}`))}}i.start(`Fetching ${K.default.cyan(u.map(e=>e.item.name).join(`, `))}...`);let d=a(t),f=await ye(u,{withRoles:d});if(f.isErr())return i.stop(`Failed to fetch items`),(0,G.err)(f.error);i.stop(`Fetched ${K.default.cyan(u.map(e=>e.item.name).join(`, `))}`);let p=f.value,g=await ae({items:p,config:s,options:t});if(g.isErr())return(0,G.err)(g.error);let{itemPaths:_,updatedPaths:v}=g.value,b=await he({configResult:n,options:{cwd:t.cwd,yes:t.yes,withRoles:d},itemPaths:_,items:p});if(b.isErr())return(0,G.err)(b.error);let{neededDependencies:x,neededEnvVars:C,neededFiles:E}=b.value,D=await o({files:E,options:t});if(D.isErr())return(0,G.err)(D.error);let O=D.value;if(n&&v){let e=w(n.path);if(e.isErr())return(0,G.err)(e.error);let t=e.value,r=await Et(s?.paths??v,{config:{path:n.path,code:t}});if(r.isErr())return(0,G.err)(r.error);let i=P(n.path,r.value);if(i.isErr())return(0,G.err)(i.error)}let k;if(C){let e=await y(C,{options:t});if(e.isErr())return(0,G.err)(e.error);k=e.value}return(0,G.ok)({items:p,updatedDependencies:await m(x,{options:t,config:s}),updatedEnvVars:k,updatedFiles:O,updatedPaths:v})}function fr(e){let t=[`Updated ${K.default.cyan(e.items.map(e=>e.name).join(`, `))} in your project.`];return e.updatedFiles.length>0&&t.push(` Updated ${K.default.green(e.updatedFiles.length)} ${e.updatedFiles.length===1?`file`:`files`}.`),e.updatedPaths&&Object.keys(e.updatedPaths).length>0&&t.push(` Updated ${K.default.green(Object.keys(e.updatedPaths).length)} ${Object.keys(e.updatedPaths).length===1?`path`:`paths`}.`),e.updatedDependencies.dependencies.length>0&&(e.updatedDependencies.installed?t.push(` Installed ${K.default.green(e.updatedDependencies.dependencies.length)} ${e.updatedDependencies.dependencies.length===1?`dependency`:`dependencies`}.`):t.push(` Skipped installation of ${K.default.cyan(e.updatedDependencies.dependencies.map(e=>`${e.name}${e.version?`@${e.version}`:``}`).join(`, `))}.`)),e.updatedEnvVars&&Object.keys(e.updatedEnvVars).length>0&&t.push(` Updated ${K.default.green(Object.keys(e.updatedEnvVars).length)} ${Object.keys(e.updatedEnvVars).length===1?`environment variable`:`environment variables`}.`),t.join(`
43
- `)}Ge.name(ve).description(s).version(_).addCommand(At).addCommand(Pt).addCommand(Bt).addCommand(kn).addCommand(Nn).addCommand(nr).addCommand(ur).parse();export{};
42
+ `);return t.from(n)},e.decodePax=function(e){let n={};for(;e.length;){let r=0;for(;r<e.length&&e[r]!==32;)r++;let i=parseInt(t.toString(e.subarray(0,r)),10);if(!i)return n;let a=t.toString(e.subarray(r+1,i-1)),o=a.indexOf(`=`);if(o===-1)return n;n[a.slice(0,o)]=a.slice(o+1),e=e.subarray(i)}return n},e.encode=function(e){let i=t.alloc(512),a=e.name,o=``;if(e.typeflag===5&&a[a.length-1]!==`/`&&(a+=`/`),t.byteLength(a)!==a.length)return null;for(;t.byteLength(a)>100;){let e=a.indexOf(`/`);if(e===-1)return null;o+=o?`/`+a.slice(0,e):a.slice(0,e),a=a.slice(e+1)}return t.byteLength(a)>100||t.byteLength(o)>155||e.linkname&&t.byteLength(e.linkname)>100?null:(t.write(i,a),t.write(i,p(e.mode&4095,6),100),t.write(i,p(e.uid,6),108),t.write(i,p(e.gid,6),116),h(e.size,i,124),t.write(i,p(e.mtime.getTime()/1e3|0,11),136),i[156]=48+u(e.type),e.linkname&&t.write(i,e.linkname,157),t.copy(n,i,257),t.copy(r,i,263),e.uname&&t.write(i,e.uname,265),e.gname&&t.write(i,e.gname,297),t.write(i,p(e.devmajor||0,6),329),t.write(i,p(e.devminor||0,6),337),o&&t.write(i,o,345),t.write(i,p(f(i),6),148),i)},e.decode=function(e,t,n){let r=e[156]===0?0:e[156]-48,i=v(e,0,100,t),a=_(e,100,8),c=_(e,108,8),u=_(e,116,8),d=_(e,124,12),p=_(e,136,12),m=l(r),h=e[157]===0?null:v(e,157,100,t),g=v(e,265,32),y=v(e,297,32),b=_(e,329,8),x=_(e,337,8),S=f(e);if(S===256)return null;if(S!==_(e,148,8))throw Error(`Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?`);if(o(e))e[345]&&(i=v(e,345,155,t)+`/`+i);else if(!s(e)&&!n)throw Error(`Invalid tar header: unknown format.`);return r===0&&i&&i[i.length-1]===`/`&&(r=5),{name:i,mode:a,uid:c,gid:u,size:d,mtime:new Date(1e3*p),type:m,linkname:h,uname:g,gname:y,devmajor:b,devminor:x,pax:null}};function o(e){return t.equals(n,e.subarray(257,263))}function s(e){return t.equals(i,e.subarray(257,263))&&t.equals(a,e.subarray(263,265))}function c(e,t,n){return typeof e==`number`?(e=~~e,e>=t?t:e>=0||(e+=t,e>=0)?e:0):n}function l(e){switch(e){case 0:return`file`;case 1:return`link`;case 2:return`symlink`;case 3:return`character-device`;case 4:return`block-device`;case 5:return`directory`;case 6:return`fifo`;case 7:return`contiguous-file`;case 72:return`pax-header`;case 55:return`pax-global-header`;case 27:return`gnu-long-link-path`;case 28:case 30:return`gnu-long-path`}return null}function u(e){switch(e){case`file`:return 0;case`link`:return 1;case`symlink`:return 2;case`character-device`:return 3;case`block-device`:return 4;case`directory`:return 5;case`fifo`:return 6;case`contiguous-file`:return 7;case`pax-header`:return 72}return 0}function d(e,t,n,r){for(;n<r;n++)if(e[n]===t)return n;return r}function f(e){let t=256;for(let n=0;n<148;n++)t+=e[n];for(let n=156;n<512;n++)t+=e[n];return t}function p(e,t){return e=e.toString(8),e.length>t?`7777777777777777777`.slice(0,t)+` `:`0000000000000000000`.slice(0,t-e.length)+e+` `}function m(e,t,n){t[n]=128;for(let r=11;r>0;r--)t[n+r]=e&255,e=Math.floor(e/256)}function h(e,n,r){e.toString(8).length>11?m(e,n,r):t.write(n,p(e,11),r)}function g(e){let t;if(e[0]===128)t=!0;else if(e[0]===255)t=!1;else return null;let n=[],r;for(r=e.length-1;r>0;r--){let i=e[r];t?n.push(i):n.push(255-i)}let i=0,a=n.length;for(r=0;r<a;r++)i+=n[r]*256**r;return t?i:-1*i}function _(e,n,r){if(e=e.subarray(n,n+r),n=0,e[n]&128)return g(e);{for(;n<e.length&&e[n]===32;)n++;let r=c(d(e,32,n,e.length),e.length,e.length);for(;n<r&&e[n]===0;)n++;return r===n?0:parseInt(t.toString(e.subarray(n,r)),8)}}function v(e,n,r,i){return t.toString(e.subarray(n,d(e,0,n,n+r)),i)}function y(e){let n=t.byteLength(e),r=Math.floor(Math.log(n)/Math.log(10))+1;return n+r>=10**r&&r++,n+r+e}})),sr=t(((e,t)=>{let{Writable:n,Readable:r,getStreamError:i}=ar(),a=er(),o=tr(),s=or(),c=o.alloc(0);var l=class{constructor(){this.buffered=0,this.shifted=0,this.queue=new a,this._offset=0}push(e){this.buffered+=e.byteLength,this.queue.push(e)}shiftFirst(e){return this._buffered===0?null:this._next(e)}shift(e){if(e>this.buffered)return null;if(e===0)return c;let t=this._next(e);if(e===t.byteLength)return t;let n=[t];for(;(e-=t.byteLength)>0;)t=this._next(e),n.push(t);return o.concat(n)}_next(e){let t=this.queue.peek(),n=t.byteLength-this._offset;if(e>=n){let e=this._offset?t.subarray(this._offset,t.byteLength):t;return this.queue.shift(),this._offset=0,this.buffered-=n,this.shifted+=n,e}return this.buffered-=e,this.shifted+=e,t.subarray(this._offset,this._offset+=e)}},u=class extends r{constructor(e,t,n){super(),this.header=t,this.offset=n,this._parent=e}_read(e){this.header.size===0&&this.push(null),this._parent._stream===this&&this._parent._update(),e(null)}_predestroy(){this._parent.destroy(i(this))}_detach(){this._parent._stream===this&&(this._parent._stream=null,this._parent._missing=p(this.header.size),this._parent._update())}_destroy(e){this._detach(),e(null)}},d=class extends n{constructor(e){super(e),e||={},this._buffer=new l,this._offset=0,this._header=null,this._stream=null,this._missing=0,this._longHeader=!1,this._callback=f,this._locked=!1,this._finished=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null,this._filenameEncoding=e.filenameEncoding||`utf-8`,this._allowUnknownFormat=!!e.allowUnknownFormat,this._unlockBound=this._unlock.bind(this)}_unlock(e){if(this._locked=!1,e){this.destroy(e),this._continueWrite(e);return}this._update()}_consumeHeader(){if(this._locked)return!1;this._offset=this._buffer.shifted;try{this._header=s.decode(this._buffer.shift(512),this._filenameEncoding,this._allowUnknownFormat)}catch(e){return this._continueWrite(e),!1}if(!this._header)return!0;switch(this._header.type){case`gnu-long-path`:case`gnu-long-link-path`:case`pax-global-header`:case`pax-header`:return this._longHeader=!0,this._missing=this._header.size,!0}return this._locked=!0,this._applyLongHeaders(),this._header.size===0||this._header.type===`directory`?(this.emit(`entry`,this._header,this._createStream(),this._unlockBound),!0):(this._stream=this._createStream(),this._missing=this._header.size,this.emit(`entry`,this._header,this._stream,this._unlockBound),!0)}_applyLongHeaders(){this._gnuLongPath&&=(this._header.name=this._gnuLongPath,null),this._gnuLongLinkPath&&=(this._header.linkname=this._gnuLongLinkPath,null),this._pax&&=(this._pax.path&&(this._header.name=this._pax.path),this._pax.linkpath&&(this._header.linkname=this._pax.linkpath),this._pax.size&&(this._header.size=parseInt(this._pax.size,10)),this._header.pax=this._pax,null)}_decodeLongHeader(e){switch(this._header.type){case`gnu-long-path`:this._gnuLongPath=s.decodeLongPath(e,this._filenameEncoding);break;case`gnu-long-link-path`:this._gnuLongLinkPath=s.decodeLongPath(e,this._filenameEncoding);break;case`pax-global-header`:this._paxGlobal=s.decodePax(e);break;case`pax-header`:this._pax=this._paxGlobal===null?s.decodePax(e):Object.assign({},this._paxGlobal,s.decodePax(e));break}}_consumeLongHeader(){this._longHeader=!1,this._missing=p(this._header.size);let e=this._buffer.shift(this._header.size);try{this._decodeLongHeader(e)}catch(e){return this._continueWrite(e),!1}return!0}_consumeStream(){let e=this._buffer.shiftFirst(this._missing);if(e===null)return!1;this._missing-=e.byteLength;let t=this._stream.push(e);return this._missing===0?(this._stream.push(null),t&&this._stream._detach(),t&&this._locked===!1):t}_createStream(){return new u(this,this._header,this._offset)}_update(){for(;this._buffer.buffered>0&&!this.destroying;){if(this._missing>0){if(this._stream!==null){if(this._consumeStream()===!1)return;continue}if(this._longHeader===!0){if(this._missing>this._buffer.buffered)break;if(this._consumeLongHeader()===!1)return!1;continue}let e=this._buffer.shiftFirst(this._missing);e!==null&&(this._missing-=e.byteLength);continue}if(this._buffer.buffered<512)break;if(this._stream!==null||this._consumeHeader()===!1)return}this._continueWrite(null)}_continueWrite(e){let t=this._callback;this._callback=f,t(e)}_write(e,t){this._callback=t,this._buffer.push(e),this._update()}_final(e){this._finished=this._missing===0&&this._buffer.buffered===0,e(this._finished?null:Error(`Unexpected end of data`))}_predestroy(){this._continueWrite(null)}_destroy(e){this._stream&&this._stream.destroy(i(this)),e(null)}[Symbol.asyncIterator](){let e=null,t=null,n=null,r=null,i=null,a=this;return this.on(`entry`,c),this.on(`error`,t=>{e=t}),this.on(`close`,l),{[Symbol.asyncIterator](){return this},next(){return new Promise(s)},return(){return u(null)},throw(e){return u(e)}};function o(e){if(!i)return;let t=i;i=null,t(e)}function s(i,s){if(e)return s(e);if(r){i({value:r,done:!1}),r=null;return}t=i,n=s,o(null),a._finished&&t&&(t({value:void 0,done:!0}),t=n=null)}function c(e,a,o){i=o,a.on(`error`,f),t?(t({value:a,done:!1}),t=n=null):r=a}function l(){o(e),t&&=(e?n(e):t({value:void 0,done:!0}),n=null)}function u(e){return a.destroy(e),o(e),new Promise((t,n)=>{if(a.destroyed)return t({value:void 0,done:!0});a.once(`close`,function(){e?n(e):t({value:void 0,done:!0})})})}}};t.exports=function(e){return new d(e)};function f(){}function p(e){return e&=511,e&&512-e}})),cr=t(((e,t)=>{let r={S_IFMT:61440,S_IFDIR:16384,S_IFCHR:8192,S_IFBLK:24576,S_IFIFO:4096,S_IFLNK:40960};try{t.exports=n(`fs`).constants||r}catch{t.exports=r}})),lr=t(((e,t)=>{let{Readable:n,Writable:r,getStreamError:i}=ar(),a=tr(),o=cr(),s=or(),c=a.alloc(1024);var l=class extends r{constructor(e,t,n){super({mapWritable:m,eagerOpen:!0}),this.written=0,this.header=t,this._callback=n,this._linkname=null,this._isLinkname=t.type===`symlink`&&!t.linkname,this._isVoid=t.type!==`file`&&t.type!==`contiguous-file`,this._finished=!1,this._pack=e,this._openCallback=null,this._pack._stream===null?this._pack._stream=this:this._pack._pending.push(this)}_open(e){this._openCallback=e,this._pack._stream===this&&this._continueOpen()}_continuePack(e){if(this._callback===null)return;let t=this._callback;this._callback=null,t(e)}_continueOpen(){this._pack._stream===null&&(this._pack._stream=this);let e=this._openCallback;if(this._openCallback=null,e!==null){if(this._pack.destroying)return e(Error(`pack stream destroyed`));if(this._pack._finalized)return e(Error(`pack stream is already finalized`));this._pack._stream=this,this._isLinkname||this._pack._encode(this.header),this._isVoid&&(this._finish(),this._continuePack(null)),e(null)}}_write(e,t){if(this._isLinkname)return this._linkname=this._linkname?a.concat([this._linkname,e]):e,t(null);if(this._isVoid)return e.byteLength>0?t(Error(`No body allowed for this entry`)):t();if(this.written+=e.byteLength,this._pack.push(e))return t();this._pack._drain=t}_finish(){this._finished||(this._finished=!0,this._isLinkname&&(this.header.linkname=this._linkname?a.toString(this._linkname,`utf-8`):``,this._pack._encode(this.header)),p(this._pack,this.header.size),this._pack._done(this))}_final(e){if(this.written!==this.header.size)return e(Error(`Size mismatch`));this._finish(),e(null)}_getError(){return i(this)||Error(`tar entry destroyed`)}_predestroy(){this._pack.destroy(this._getError())}_destroy(e){this._pack._done(this),this._continuePack(this._finished?null:this._getError()),e()}},u=class extends n{constructor(e){super(e),this._drain=f,this._finalized=!1,this._finalizing=!1,this._pending=[],this._stream=null}entry(e,t,n){if(this._finalized||this.destroying)throw Error(`already finalized or destroyed`);typeof t==`function`&&(n=t,t=null),n||=f,(!e.size||e.type===`symlink`)&&(e.size=0),e.type||=d(e.mode),e.mode||=e.type===`directory`?493:420,e.uid||=0,e.gid||=0,e.mtime||=new Date,typeof t==`string`&&(t=a.from(t));let r=new l(this,e,n);return a.isBuffer(t)?(e.size=t.byteLength,r.write(t),r.end(),r):(r._isVoid,r)}finalize(){if(this._stream||this._pending.length>0){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(c),this.push(null))}_done(e){e===this._stream&&(this._stream=null,this._finalizing&&this.finalize(),this._pending.length&&this._pending.shift()._continueOpen())}_encode(e){if(!e.pax){let t=s.encode(e);if(t){this.push(t);return}}this._encodePax(e)}_encodePax(e){let t=s.encodePax({name:e.name,linkname:e.linkname,pax:e.pax}),n={name:`PaxHeader`,mode:e.mode,uid:e.uid,gid:e.gid,size:t.byteLength,mtime:e.mtime,type:`pax-header`,linkname:e.linkname&&`PaxHeader`,uname:e.uname,gname:e.gname,devmajor:e.devmajor,devminor:e.devminor};this.push(s.encode(n)),this.push(t),p(this,t.byteLength),n.size=e.size,n.type=e.type,this.push(s.encode(n))}_doDrain(){let e=this._drain;this._drain=f,e()}_predestroy(){let e=i(this);for(this._stream&&this._stream.destroy(e);this._pending.length;){let t=this._pending.shift();t.destroy(e),t._continueOpen()}this._doDrain()}_read(e){this._doDrain(),e()}};t.exports=function(e){return new u(e)};function d(e){switch(e&o.S_IFMT){case o.S_IFBLK:return`block-device`;case o.S_IFCHR:return`character-device`;case o.S_IFDIR:return`directory`;case o.S_IFIFO:return`fifo`;case o.S_IFLNK:return`symlink`}return`file`}function f(){}function p(e,t){t&=511,t&&e.push(c.subarray(0,512-t))}function m(e){return a.isBuffer(e)?e:a.from(e)}})),ur=t((e=>{e.extract=sr(),e.pack=lr()})),dr=e(de(),1),fr=e(ur(),1);const pr=q.extend({dryRun:N(),verbose:N()}),mr=new U(`publish`).description(`Publish your registry to jsrepo.com.`).argument(`[registries...]`,`One or more registries to publish. If not provided, publishes all registries.`).option(`--dry-run`,`Build the registry without publishing.`,!1).addOption(J.cwd).addOption(J.verbose).action(async(e,t)=>{let n=Y(pr,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!1});r||Z(new Be(n.cwd));let i=r.config,a=I.dirname(r.path),o={...n,cwd:a};await Q(i,{command:`publish`,options:o},{cwd:a,yes:!1}),u();let s=await X(hr(e,{config:i,options:o}));z(yr(s)),await $(i,{command:`publish`,options:o,result:s},{cwd:a}),s.publishedRegistries.some(e=>!e.skipped&&e.result.isErr())&&process.exit(1)});async function hr(e,{options:t,config:n}){let{verbose:r,spinner:i}=le({options:t}),a=performance.now();if(t.dryRun&&B.warn(`${K.default.bgYellow(K.default.black(` DRY RUN `))} ${K.default.dim(`No registries will be published.`)}`),!et(n))return(0,G.err)(new Me);let o=(n.providers??fe).find(e=>e.name===`jsrepo`);if(!o)return(0,G.err)(new Ae(`jsrepo`));let s=new _e().get(o,void 0);if(!s)return(0,G.err)(new H(`You need to be authenticated to publish your registry.`,{suggestion:`Run ${K.default.bold("`jsrepo auth jsrepo`")} to authenticate or set the ${K.default.bold(`JSREPO_TOKEN`)} environment variable.`}));let c=pe(t.cwd);if(!c)return(0,G.err)(new ze);let l=performance.now();i.start(`Building ${e.length>0?K.default.cyan(e.join(`, `)):`all registries`}...`);let u=await $e(n,async r=>{if(e.length>0&&!e.includes(r.name))return(0,G.ok)({skipped:!0,name:r.name});let i=await p(r,{options:t,config:n});return i.isErr()?(0,G.err)(i.error):(0,G.ok)({skipped:!1,buildResult:i.value})},{cwd:t.cwd}),d=performance.now();i.stop(`Built ${K.default.green(u.length)} ${u.length>1?`registries`:`registry`} in ${K.default.green(`${(d-l).toFixed(2)}ms`)}`);let f=[],m=[];for(let e of u){if(e.isErr())return(0,G.err)(e.error);if(e.value.skipped){m.push({skipped:!0,name:e.value.name});continue}let t=gr(e.value.buildResult,{pkg:c.package});if(t.isErr())return(0,G.err)(t.error);f.push({...e.value.buildResult,version:t.value.version})}i.start(`Publishing ${K.default.green(f.length)} ${f.length>1?`registries`:`registry`}...`);let h=[];for(let e of f){let n=await _r(e,{token:s,provider:o,options:t});h.push({skipped:!1,name:e.name,version:e.version,result:n})}return i.stop(`Published ${K.default.green(h.length)} ${h.length>1?`registries`:`registry`}`),(0,G.ok)({duration:performance.now()-a,dryRun:t.dryRun,publishedRegistries:[...m,...h]})}function gr(e,{pkg:t}){let[n,r,...i]=e.name.split(`/`);if(i.length>0||!n||!n.startsWith(`@`)||!n.slice(1).match(ue)||!r||!r.match(ue))return(0,G.err)(new Fe(e.name));if(e.version===void 0)return(0,G.err)(new He(e.version,e.name));let a;return a=e.version===`package`&&t.version!==void 0?t.version:e.version,a===void 0||!dr.default.valid(a)?(0,G.err)(new He(a,e.name)):(0,G.ok)({name:e.name,version:a})}async function _r(e,{token:t,provider:n,options:r}){let i=vr(e,r.cwd);if(i.isErr())return(0,G.err)(i.error);let a=i.value,o=fr.pack();for(let e of a)o.entry({name:e.name},e.content);o.finalize();let s=await Xe(o.pipe(Ze()));try{let i=await fetch(`${n.baseUrl}/api/publish/v3`,{body:s,headers:{"content-type":`application/gzip`,"content-encoding":`gzip`,"x-api-key":t,"x-dry-run":r.dryRun?`1`:`0`,"x-access":e.access??`public`},method:`POST`});if(!i.ok){let t=await i.json();return(0,G.err)(new H(`Failed to publish ${K.default.bold(e.name)}: ${i.status} ${i.statusText} ${t.message}`,{suggestion:`Please try again.`}))}let a=await i.json();return(0,G.ok)({version:a.version,tag:a.tag})}catch(e){return(0,G.err)(new H(`Failed to publish registry: ${e instanceof Error?e.message:String(e)}`,{suggestion:`Please try again.`}))}}function vr(e,t){let n=[],r=F(t,`README.md`);if(te(r)){let e=w(r);if(e.isErr())return(0,G.err)(e.error);n.push({name:`README.md`,content:e.value})}let i={name:e.name,authors:e.authors,bugs:e.bugs,description:e.description,homepage:e.homepage,repository:e.repository,tags:e.tags,version:e.version,meta:e.meta,type:`distributed`,plugins:e.plugins,defaultPaths:e.defaultPaths,items:e.items.map(e=>({name:e.name,title:e.title,description:e.description,type:e.type,add:e.add,registryDependencies:e.registryDependencies,dependencies:e.dependencies,devDependencies:e.devDependencies,envVars:e.envVars,files:e.files.map(e=>({type:e.type,role:e.role,path:e.path,target:e.target,registryDependencies:e.registryDependencies,dependencies:e.dependencies,devDependencies:e.devDependencies})),categories:e.categories,meta:e.meta}))};n.push({name:c,content:JSON.stringify(i)});for(let t of e.items){let e={name:t.name,title:t.title,description:t.description,type:t.type,add:t.add,files:t.files.map(e=>({type:e.type,role:e.role,content:e.content,path:e.path,_imports_:e._imports_,target:e.target,registryDependencies:e.registryDependencies,dependencies:e.dependencies,devDependencies:e.devDependencies})),registryDependencies:t.registryDependencies,dependencies:t.dependencies,devDependencies:t.devDependencies,envVars:t.envVars,categories:t.categories,meta:t.meta};n.push({name:`${t.name}.json`,content:JSON.stringify(e)})}return(0,G.ok)(n)}function yr(e){return`Completed in ${K.default.green(`${e.duration.toFixed(2)}ms`)}
43
+ ${e.publishedRegistries.map(e=>` ${br(e)}`).join(`
44
+ `)}`}function br(e){if(e.skipped)return K.default.dim(`${K.default.dim(e.name)} >> Skipped`);if(e.result.isErr())return`${K.default.cyan(e.name)} ${K.default.dim(`→`)} ${K.default.red(e.result.error.toString())}`;let{version:t,tag:n}=e.result.value;return`${K.default.cyan(e.name)} → ${K.default.green(t)} ${K.default.dim(n??``)}`}const xr=q.extend({yes:N(),all:N(),verbose:N(),registry:L().optional(),overwrite:N(),expand:N(),maxUnchanged:M(),with:oe(L()).default([]),withExamples:N(),withDocs:N(),withTests:N()}),Sr=new U(`update`).description(`Update items in your project.`).argument(`[items...]`,`Names of the items you want to update. ex: (math, github/ieedan/std/math)`).option(`--registry <registry>`,`The registry to update items from.`,void 0).option(`--all`,`Update all items in the project.`,!1).option(`--with <roles...>`,`Include files with the given roles.`).option(`--with-examples`,"Deprecated. Use `--with example`.",!1).option(`--with-docs`,"Deprecated. Use `--with doc`.",!1).option(`--with-tests`,"Deprecated. Use `--with test`.",!1).addOption(J.cwd).addOption(J.yes).addOption(J.verbose).addOption(J.overwrite).addOption(J.expand).addOption(J.maxUnchanged).action(async(e,t)=>{let n=Y(xr,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!n.yes});r||Z(new Be(n.cwd));let i=r.config,a=I.dirname(r.path);await Q(i,{command:`update`,options:{...n,cwd:a}},{cwd:a,yes:n.yes}),u();let o=await X(Cr(e,{...n,cwd:a},r));z(wr(o)),await $(i,{command:`update`,options:{...n,cwd:a},result:o},{cwd:a})});async function Cr(e,t,n){let{verbose:r,spinner:i}=le({options:t}),s=n?.config,c=s?.providers??fe,l=t.registry?[t.registry]:s?.registries??[],u;if(e.length>0){let n=S(e,{providers:c,registries:l});if(n.isErr())return(0,G.err)(n.error);let{wantedItems:r,neededRegistries:a}=n.value;i.start(`Retrieving manifest${a.length>1?`s`:``} from ${K.default.cyan(a.join(`, `))}`);let o=await T(a,{cwd:t.cwd,providers:c});if(o.isErr())return i.stop(`Failed to retrieve manifests`),(0,G.err)(o.error);i.stop(`Retrieved manifest${a.length>1?`s`:``} from ${K.default.cyan(a.join(`, `))}`);let s=o.value,d=await h(r,{resolvedRegistries:s,nonInteractive:t.yes});if(d.isErr())return(0,G.err)(d.error);u=d.value}else{i.start(`Retrieving manifest${l.length>1?`s`:``} from ${K.default.cyan(l.join(`, `))}`);let e=await T(l,{cwd:t.cwd,providers:c});if(e.isErr())return i.stop(`Failed to retrieve manifests`),(0,G.err)(e.error);i.stop(`Retrieved manifest${l.length>1?`s`:``} from ${K.default.cyan(l.join(`, `))}`);let n=e.value,r=Array.from(n.entries()).flatMap(([e,t])=>t.manifest.items.filter(e=>(e.add??`when-added`)===`when-added`&&e.name!==`index`).map(e=>({item:e,registry:t}))),a=await ae({items:r.map(e=>({name:e.item.name,type:e.item.type,files:e.item.files,registry:e.registry})),config:s,options:{cwd:t.cwd,yes:!0},continueOnNoPath:!0});if(a.isErr())return(0,G.err)(a.error);let{itemPaths:o}=a.value,d=[];for(let{item:e,registry:n}of r){let r=o[`${e.type}/${e.name}`]?.path;if(r)for(let i of e.files){let a=i.path;for(let r of s?.transforms??[])a=(await r.transform({code:``,fileName:i.path,options:{cwd:t.cwd,registryUrl:n.url,item:e}})).fileName??i.path;if(te(ee({...i,path:a},{itemPath:{path:r},options:t}))){d.push({item:{...e,registry:n},registry:n});break}}}if(d.length===0)return(0,G.err)(new je);if(t.all)u=d.map(({item:e,registry:t})=>({item:e,registry:t}));else{let e=new Set;for(let{registry:t}of d)e.add(t.url);let t=e.size>1,n=await De({message:`Which items would you like to update?`,options:d.map(({item:e})=>({label:t?`${e.registry.url}/${e.name}`:e.name,value:`${e.registry.url}/${e.name}`}))});R(n)&&(V(`Canceled!`),process.exit(0)),u=d.filter(({item:e})=>n.includes(`${e.registry.url}/${e.name}`))}}i.start(`Fetching ${K.default.cyan(u.map(e=>e.item.name).join(`, `))}...`);let d=a(t),f=await ye(u,{withRoles:d});if(f.isErr())return i.stop(`Failed to fetch items`),(0,G.err)(f.error);i.stop(`Fetched ${K.default.cyan(u.map(e=>e.item.name).join(`, `))}`);let p=f.value,g=await ae({items:p,config:s,options:t});if(g.isErr())return(0,G.err)(g.error);let{itemPaths:_,updatedPaths:v}=g.value,b=await he({configResult:n,options:{cwd:t.cwd,yes:t.yes,withRoles:d},itemPaths:_,items:p});if(b.isErr())return(0,G.err)(b.error);let{neededDependencies:x,neededEnvVars:C,neededFiles:E}=b.value,D=await o({files:E,options:t});if(D.isErr())return(0,G.err)(D.error);let O=D.value;if(n&&v){let e=w(n.path);if(e.isErr())return(0,G.err)(e.error);let t=e.value,r=await Et(s?.paths??v,{config:{path:n.path,code:t}});if(r.isErr())return(0,G.err)(r.error);let i=P(n.path,r.value);if(i.isErr())return(0,G.err)(i.error)}let k;if(C){let e=await y(C,{options:t});if(e.isErr())return(0,G.err)(e.error);k=e.value}return(0,G.ok)({items:p,updatedDependencies:await m(x,{options:t,config:s}),updatedEnvVars:k,updatedFiles:O,updatedPaths:v})}function wr(e){let t=[`Updated ${K.default.cyan(e.items.map(e=>e.name).join(`, `))} in your project.`];return e.updatedFiles.length>0&&t.push(` Updated ${K.default.green(e.updatedFiles.length)} ${e.updatedFiles.length===1?`file`:`files`}.`),e.updatedPaths&&Object.keys(e.updatedPaths).length>0&&t.push(` Updated ${K.default.green(Object.keys(e.updatedPaths).length)} ${Object.keys(e.updatedPaths).length===1?`path`:`paths`}.`),e.updatedDependencies.dependencies.length>0&&(e.updatedDependencies.installed?t.push(` Installed ${K.default.green(e.updatedDependencies.dependencies.length)} ${e.updatedDependencies.dependencies.length===1?`dependency`:`dependencies`}.`):t.push(` Skipped installation of ${K.default.cyan(e.updatedDependencies.dependencies.map(e=>`${e.name}${e.version?`@${e.version}`:``}`).join(`, `))}.`)),e.updatedEnvVars&&Object.keys(e.updatedEnvVars).length>0&&t.push(` Updated ${K.default.green(Object.keys(e.updatedEnvVars).length)} ${Object.keys(e.updatedEnvVars).length===1?`environment variable`:`environment variables`}.`),t.join(`
45
+ `)}Ge.name(ve).description(s).version(_).addCommand(At).addCommand(Pt).addCommand(Bt).addCommand(kn).addCommand(Nn).addCommand(Hn).addCommand(mr).addCommand(Sr).parse();export{};
44
46
  //# sourceMappingURL=bin.mjs.map