jsrepo 3.5.1 → 3.5.2

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.
@@ -1 +1 @@
1
- import{F as e,N as t,P as n}from"../providers-CpDKGC9S.mjs";import"../warnings-b5xaLWaR.mjs";export{n as OptionallyInstalledRegistryTypes,e as defineConfig,t as loadConfigSearch};
1
+ import{F as e,N as t,P as n}from"../providers-SeMdWroh.mjs";import"../warnings-DFbHh8ba.mjs";export{n as OptionallyInstalledRegistryTypes,e as defineConfig,t as loadConfigSearch};
@@ -1 +1 @@
1
- import{A as e,B as t,C as n,F as r,I as i,K as a,L as o,N as s,P as c,Q as l,R as u,S as d,T as f,U as p,X as m,_ as h,a as g,b as _,c as v,d as y,f as b,g as x,i as S,l as C,m as w,n as T,o as E,p as D,s as O,st as k,t as A,u as j,v as M,x as N,y as P,z as F}from"../providers-CpDKGC9S.mjs";import{a as I,i as L,n as R,o as z,r as B,t as V}from"../warnings-b5xaLWaR.mjs";import{A as H,B as U,C as W,D as G,E as K,F as q,H as J,I as Y,L as X,M as Z,N as Q,O as $,P as ee,R as te,S as ne,T as re,V as ie,_ as ae,a as oe,b as se,c as ce,d as le,f as ue,g as de,h as fe,i as pe,j as me,k as he,l as ge,m as _e,n as ve,o as ye,p as be,r as xe,s as Se,t as Ce,u as we,v as Te,w as Ee,x as De,y as Oe,z as ke}from"../errors-C7KsbF1p.mjs";export{Ce as AlreadyInitializedError,ve as BuildError,xe as ConfigNotFoundError,pe as ConfigObjectNotFoundError,oe as CouldNotFindJsrepoImportError,i as DEFAULT_LANGS,A as DEFAULT_PROVIDERS,ye as DuplicateFileReferenceError,Se as DuplicateItemNameError,ce as FailedToLoadConfigError,ge as FileNotFoundError,we as GlobError,V as GlobPatternNoMatchWarning,le as IllegalItemNameError,ue as ImportedFileNotResolvedError,be as InvalidDependencyError,R as InvalidImportWarning,_e as InvalidJSONError,fe as InvalidKeyTypeError,de as InvalidOptionsError,ae as InvalidPluginError,Te as InvalidRegistryDependencyError,Oe as InvalidRegistryError,se as InvalidRegistryNameError,De as InvalidRegistryVersionError,ne as JsrepoError,B as LanguageNotFoundWarning,W as ManifestFetchError,y as ManifestSchema,Ee as MissingPeerDependencyError,re as ModuleNotFoundError,K as MultipleRegistriesError,G as NoFilesError,$ as NoItemsToUpdateError,he as NoListedItemsError,H as NoOutputsError,me as NoPackageJsonFoundError,Z as NoPathProvidedError,Q as NoProviderFoundError,ee as NoRegistriesError,c as OptionallyInstalledRegistryTypes,q as ProviderFetchError,Y as RegistryFileFetchError,X as RegistryItemFetchError,te as RegistryItemNotFoundError,ke as RegistryNotProvidedError,U as SelfReferenceError,ie as Unreachable,L as UnresolvableDynamicImportWarning,I as Warning,J as ZodError,j as azure,C as bitbucket,z as createWarningHandler,t as css,r as defineConfig,a as detectPackageManager,f as distributed,D as fetchAllResolvedItems,T as fetchManifest,v as fs,w as getPathsForItems,O as github,E as gitlab,F as html,g as http,k as joinAbsolute,p as js,S as jsrepo,s as loadConfigSearch,x as normalizeItemTypeForPath,h as parseWantedItems,M as prepareUpdates,m as promptAddEnvVars,l as promptInstallDependenciesByEcosystem,b as repository,P as resolveAndFetchAllItems,_ as resolveRegistries,N as resolveTree,d as resolveWantedItems,e as resolveWithRoles,u as svelte,n as updateFiles,o as vue};
1
+ import{A as e,B as t,C as n,F as r,I as i,K as a,L as o,N as s,P as c,Q as l,R as u,S as d,T as f,U as p,X as m,_ as h,a as g,b as _,c as v,d as y,f as b,g as x,i as S,l as C,m as w,n as T,o as E,p as D,s as O,st as k,t as A,u as j,v as M,x as N,y as P,z as F}from"../providers-SeMdWroh.mjs";import{a as I,i as L,n as R,o as z,r as B,t as V}from"../warnings-DFbHh8ba.mjs";import{A as H,B as U,C as W,D as G,E as K,F as q,H as J,I as Y,L as X,M as Z,N as Q,O as $,P as ee,R as te,S as ne,T as re,V as ie,_ as ae,a as oe,b as se,c as ce,d as le,f as ue,g as de,h as fe,i as pe,j as me,k as he,l as ge,m as _e,n as ve,o as ye,p as be,r as xe,s as Se,t as Ce,u as we,v as Te,w as Ee,x as De,y as Oe,z as ke}from"../errors-C7KsbF1p.mjs";export{Ce as AlreadyInitializedError,ve as BuildError,xe as ConfigNotFoundError,pe as ConfigObjectNotFoundError,oe as CouldNotFindJsrepoImportError,i as DEFAULT_LANGS,A as DEFAULT_PROVIDERS,ye as DuplicateFileReferenceError,Se as DuplicateItemNameError,ce as FailedToLoadConfigError,ge as FileNotFoundError,we as GlobError,V as GlobPatternNoMatchWarning,le as IllegalItemNameError,ue as ImportedFileNotResolvedError,be as InvalidDependencyError,R as InvalidImportWarning,_e as InvalidJSONError,fe as InvalidKeyTypeError,de as InvalidOptionsError,ae as InvalidPluginError,Te as InvalidRegistryDependencyError,Oe as InvalidRegistryError,se as InvalidRegistryNameError,De as InvalidRegistryVersionError,ne as JsrepoError,B as LanguageNotFoundWarning,W as ManifestFetchError,y as ManifestSchema,Ee as MissingPeerDependencyError,re as ModuleNotFoundError,K as MultipleRegistriesError,G as NoFilesError,$ as NoItemsToUpdateError,he as NoListedItemsError,H as NoOutputsError,me as NoPackageJsonFoundError,Z as NoPathProvidedError,Q as NoProviderFoundError,ee as NoRegistriesError,c as OptionallyInstalledRegistryTypes,q as ProviderFetchError,Y as RegistryFileFetchError,X as RegistryItemFetchError,te as RegistryItemNotFoundError,ke as RegistryNotProvidedError,U as SelfReferenceError,ie as Unreachable,L as UnresolvableDynamicImportWarning,I as Warning,J as ZodError,j as azure,C as bitbucket,z as createWarningHandler,t as css,r as defineConfig,a as detectPackageManager,f as distributed,D as fetchAllResolvedItems,T as fetchManifest,v as fs,w as getPathsForItems,O as github,E as gitlab,F as html,g as http,k as joinAbsolute,p as js,S as jsrepo,s as loadConfigSearch,x as normalizeItemTypeForPath,h as parseWantedItems,M as prepareUpdates,m as promptAddEnvVars,l as promptInstallDependenciesByEcosystem,b as repository,P as resolveAndFetchAllItems,_ as resolveRegistries,N as resolveTree,d as resolveWantedItems,e as resolveWithRoles,u as svelte,n as updateFiles,o as vue};
@@ -1 +1 @@
1
- import{B as e,I as t,L as n,R as r,U as i,z as a}from"../../providers-CpDKGC9S.mjs";import"../../warnings-b5xaLWaR.mjs";export{t as DEFAULT_LANGS,e as css,a as html,i as js,r as svelte,n as vue};
1
+ import{B as e,I as t,L as n,R as r,U as i,z as a}from"../../providers-SeMdWroh.mjs";import"../../warnings-DFbHh8ba.mjs";export{t as DEFAULT_LANGS,e as css,a as html,i as js,r as svelte,n as vue};
@@ -1 +1 @@
1
- import{G as e,H as t,U as n,V as r,W as i}from"../../providers-CpDKGC9S.mjs";import"../../warnings-b5xaLWaR.mjs";export{r as getImports,t as installDependencies,n as js,i as resolveImports,e as transformImports};
1
+ import{G as e,H as t,U as n,V as r,W as i}from"../../providers-SeMdWroh.mjs";import"../../warnings-DFbHh8ba.mjs";export{r as getImports,t as installDependencies,n as js,i as resolveImports,e as transformImports};
@@ -1 +1 @@
1
- import{T as e,d as t,f as n}from"../providers-CpDKGC9S.mjs";import"../warnings-b5xaLWaR.mjs";export{t as ManifestSchema,e as distributed,n as repository};
1
+ import{T as e,d as t,f as n}from"../providers-SeMdWroh.mjs";import"../warnings-DFbHh8ba.mjs";export{t as ManifestSchema,e as distributed,n as repository};
@@ -1 +1 @@
1
- import{a as e,c as t,i as n,l as r,n as i,o as a,s as o,t as s,u as c}from"../providers-CpDKGC9S.mjs";import"../warnings-b5xaLWaR.mjs";export{s as DEFAULT_PROVIDERS,c as azure,r as bitbucket,i as fetchManifest,t as fs,o as github,a as gitlab,e as http,n as jsrepo};
1
+ import{a as e,c as t,i as n,l as r,n as i,o as a,s as o,t as s,u as c}from"../providers-SeMdWroh.mjs";import"../warnings-DFbHh8ba.mjs";export{s as DEFAULT_PROVIDERS,c as azure,r as bitbucket,i as fetchManifest,t as fs,o as github,a as gitlab,e as http,n as jsrepo};
@@ -1 +1 @@
1
- import{A as e,C as t,K as n,Q as r,S as i,X as a,_ as o,b as s,g as c,m as l,p as u,st as d,v as f,x as p,y as m}from"../providers-CpDKGC9S.mjs";import"../warnings-b5xaLWaR.mjs";export{n as detectPackageManager,u as fetchAllResolvedItems,l as getPathsForItems,d as joinAbsolute,c as normalizeItemTypeForPath,o as parseWantedItems,f as prepareUpdates,a as promptAddEnvVars,r as promptInstallDependenciesByEcosystem,m as resolveAndFetchAllItems,s as resolveRegistries,p as resolveTree,i as resolveWantedItems,e as resolveWithRoles,t as updateFiles};
1
+ import{A as e,C as t,K as n,Q as r,S as i,X as a,_ as o,b as s,g as c,m as l,p as u,st as d,v as f,x as p,y as m}from"../providers-SeMdWroh.mjs";import"../warnings-DFbHh8ba.mjs";export{n as detectPackageManager,u as fetchAllResolvedItems,l as getPathsForItems,d as joinAbsolute,c as normalizeItemTypeForPath,o as parseWantedItems,f as prepareUpdates,a as promptAddEnvVars,r as promptInstallDependenciesByEcosystem,m as resolveAndFetchAllItems,s as resolveRegistries,p as resolveTree,i as resolveWantedItems,e as resolveWithRoles,t as updateFiles};
@@ -1 +1 @@
1
- import{a as e,i as t,n,o as r,r as i,t as a}from"../warnings-b5xaLWaR.mjs";export{a as GlobPatternNoMatchWarning,n as InvalidImportWarning,i as LanguageNotFoundWarning,t as UnresolvableDynamicImportWarning,e as Warning,r as createWarningHandler};
1
+ import{a as e,i as t,n,o as r,r as i,t as a}from"../warnings-DFbHh8ba.mjs";export{a as GlobPatternNoMatchWarning,n as InvalidImportWarning,i as LanguageNotFoundWarning,t as UnresolvableDynamicImportWarning,e as Warning,r as createWarningHandler};
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,V as _,X as v,Y as y,Z as b,_ as x,_t as S,at as C,b as w,bt as T,ct as E,dt as D,et as O,ft as k,g as A,gt as j,h as ee,ht as M,it as N,j as te,k as ne,lt as re,m as ie,mt as ae,nt as oe,ot as P,pt as se,q as ce,r as le,rt as ue,st as F,t as de,tt as fe,ut as pe,v as me,vt as he,w as ge,wt as _e,xt as ve,y as ye,yt as I}from"./providers-CpDKGC9S.mjs";import{_ as be,b as L,c as xe,f as Se,g as R,h as z,l as Ce,m as B,p as V,s as we,u as Te,v as Ee,y as De}from"./warnings-b5xaLWaR.mjs";import{A as Oe,N as ke,O as Ae,P as je,S as H,_ as Me,a as Ne,b as Pe,g as Fe,h as U,i as Ie,j as Le,r as Re,t as ze,x as Be,y as Ve,z as He}from"./errors-C7KsbF1p.mjs";import{Command as W,Option as Ue,program as We}from"commander";import{watch as Ge}from"node:fs";import{Visitor as Ke,parse as qe}from"oxc-parser";import Je from"node:os";import{buffer as Ye}from"node:stream/consumers";import{createGzip as Xe}from"node:zlib";var G=ve(),K=e(r(),1);const q=S({cwd:I().transform(e=>e)}),J={yes:new Ue(`--yes`,`Skip the confirmation prompt.`).default(!1),noCache:new Ue(`--no-cache`,`Disable caching of resolved git urls.`).default(!1),verbose:new Ue(`--verbose`,`Include debug logs.`).default(!1),overwrite:new Ue(`--overwrite`,`Overwrite files without prompting.`).default(!1),expand:new Ue(`-E, --expand`,`Expands the diff so you see the entire file.`).default(!1),maxUnchanged:new Ue(`--max-unchanged <lines>`,`Maximum unchanged lines that will show without being collapsed.`).argParser(e=>Number.parseInt(e,10)).default(5),cwd:new Ue(`--cwd <path>`,`The current working directory.`).default(process.cwd())};function Y(e,t){return re(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 H&&Z(e),Z(new H(e instanceof Error?e.message:String(e),{suggestion:`Please try again.`}))}}function Z(e){return Ze(e)}function Ze(e){B.message(),process.env.JSREPO_TRACE===`1`?(console.trace(e),process.exit(1)):(R(K.default.red(e.toString())),process.exit(1))}async function Qe(e,t,n){if(Array.isArray(e.registry)){let r=[];for(let i of e.registry)r.push(await t(await D(i,n)));return r}else return[await t(await D(e.registry,n))]}function $e(e){return Array.isArray(e.registry)?e.registry.length>0:!0}var et=44,tt=59,nt=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,rt=new Uint8Array(64),it=new Uint8Array(128);for(let e=0;e<nt.length;e++){let t=nt.charCodeAt(e);rt[e]=t,it[t]=e}function at(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(rt[t])}while(r>0);return t}var ot=1024*16,st=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}},ct=class{constructor(){this.pos=0,this.out=``,this.buffer=new Uint8Array(ot)}write(e){let{buffer:t}=this;t[this.pos++]=e,this.pos===ot&&(this.out+=st.decode(t),this.pos=0)}flush(){let{buffer:e,out:t,pos:n}=this;return n>0?t+st.decode(e.subarray(0,n)):t}};function lt(e){let t=new ct,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(tt),s.length===0)continue;let c=0;for(let e=0;e<s.length;e++){let o=s[e];e>0&&t.write(et),c=at(t,o[0],c),o.length!==1&&(n=at(t,o[1],n),r=at(t,o[2],r),i=at(t,o[3],i),o.length!==4&&(a=at(t,o[4],a)))}}return t.flush()}var ut=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))}},dt=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 ft(){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 pt=ft();var mt=class{constructor(e){this.version=3,this.file=e.file,this.sources=e.sources,this.sourcesContent=e.sourcesContent,this.names=e.names,this.mappings=lt(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,`+pt(this.toString())}};function ht(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,V as _,X as v,Y as y,Z as b,_ as ee,_t as x,at as S,b as C,bt as w,ct as T,dt as E,et as D,ft as O,g as k,gt as A,h as te,ht as j,it as M,j as ne,k as re,lt as ie,m as ae,mt as oe,nt as se,ot as N,pt as ce,q as le,r as ue,rt as de,st as P,t as fe,tt as pe,ut as me,v as he,vt as ge,w as _e,wt as ve,xt as ye,y as be,yt as F}from"./providers-SeMdWroh.mjs";import{_ as xe,b as I,c as Se,d as Ce,g as L,h as we,l as R,m as Te,p as z,s as Ee,u as B,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 V,_ as Ne,a as Pe,b as Fe,g as Ie,h as H,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 U,Option as W,program as We}from"commander";import{watch as Ge}from"node:fs";import{Visitor as Ke,parse as qe}from"oxc-parser";import Je from"node:os";import{buffer as Ye}from"node:stream/consumers";import{createGzip as Xe}from"node:zlib";var G=ye(),K=e(r(),1);const q=x({cwd:F().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 V&&Z(e),Z(new V(e instanceof Error?e.message:String(e),{suggestion:`Please try again.`}))}}function Z(e){return Ze(e)}function Ze(e){z.message(),process.env.JSREPO_TRACE===`1`?(console.trace(e),process.exit(1)):(B(K.default.red(e.toString())),process.exit(1))}async function Qe(e,t,n){if(Array.isArray(e.registry)){let r=[];for(let i of e.registry)r.push(await t(await E(i,n)));return r}else return[await t(await E(e.registry,n))]}function $e(e){return Array.isArray(e.registry)?e.registry.length>0:!0}var et=44,tt=59,nt=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,rt=new Uint8Array(64),it=new Uint8Array(128);for(let e=0;e<nt.length;e++){let t=nt.charCodeAt(e);rt[e]=t,it[t]=e}function at(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(rt[t])}while(r>0);return t}var ot=1024*16,st=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}},ct=class{constructor(){this.pos=0,this.out=``,this.buffer=new Uint8Array(ot)}write(e){let{buffer:t}=this;t[this.pos++]=e,this.pos===ot&&(this.out+=st.decode(t),this.pos=0)}flush(){let{buffer:e,out:t,pos:n}=this;return n>0?t+st.decode(e.subarray(0,n)):t}};function lt(e){let t=new ct,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(tt),s.length===0)continue;let c=0;for(let e=0;e<s.length;e++){let o=s[e];e>0&&t.write(et),c=at(t,o[0],c),o.length!==1&&(n=at(t,o[1],n),r=at(t,o[2],r),i=at(t,o[3],i),o.length!==4&&(a=at(t,o[4],a)))}}return t.flush()}var ut=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))}},dt=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 ft(){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 pt=ft();var mt=class{constructor(e){this.version=3,this.file=e.file,this.sources=e.sources,this.sourcesContent=e.sourcesContent,this.names=e.names,this.mappings=lt(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,`+pt(this.toString())}};function ht(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 gt(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 _t=Object.prototype.toString;function vt(e){return _t.call(e)===`[object Object]`}function yt(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 bt=/\w/;var xt=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,33 @@ 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=yt(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)}},wt=class{withinExportDefaultDeclaration=!1;withinDefineConfig=!1;withinMainObjectExpression=!1;withinIgnoredProperty=!1;configKeyPropertyDeclaration=null;mainObjectExpression=null};async function Tt(e,{config:t}){if(Object.keys(e).length===0)return(0,G.ok)(t.code);let n=await qe(t.path,t.code),r=new Ct(t.code),i=new wt;if(i.withinDefineConfig=!0,new Ke({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 U({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 U({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${te.test(e)?e:`'${e}'`}: '${t}'`).join(`,
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${te.test(e)?e:`'${e}'`}: '${t}'`).join(`,
17
- `)}`)}}else{if(i.mainObjectExpression===null)return(0,G.err)(new Ie);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${te.test(e)?e:`'${e}'`}: '${t}'`).join(`,
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${te.test(e)?e:`'${e}'`}: '${t}'`).join(`,
19
- `)}\n\t}`)}}return(0,G.ok)(r.toString())}async function Et(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 Dt(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 Et(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(),Se(`Running before hooks`),(await Dt(e,`before`,t,n.cwd)).isErr()){if(n.yes){z(``);return}let e=await De({message:`Before hooks failed. Would you like to continue?`,initialValue:!1});(L(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;Se(`Running after hooks`);let i=await Dt(e,`after`,t,n?.cwd);i.isErr()&&B.warn(`After hooks failed: ${i.error.message}`),z(``)}const Ot=q.extend({yes:M(),all:M(),overwrite:M(),verbose:M(),registry:I().optional(),with:ae(I()).default([]),withExamples:M(),withDocs:M(),withTests:M(),expand:M(),maxUnchanged:j()}),kt=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(Ot,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!n.yes}),i=r?.config??{},a=r?T.dirname(r.path):n.cwd;await Q(i,{command:`add`,options:{...n,cwd:a}},{cwd:a,yes:n.yes}),u();let o=await X(At(e,{...n,cwd:a},r));z(jt(o)),await $(i,{command:`add`,options:{...n,cwd:a},result:o},{cwd:a})});async function At(e,t,n){let{verbose:r,spinner:i}=ce({options:t}),s=n?.config,c=s?.providers??de,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 Ve(t));let n=e.length>0?e:l;if(n.length===0)return(0,G.err)(new He);i.start(`Retrieving manifest${l.length>1?`s`:``} from ${K.default.cyan(l.join(`, `))}`);let r=await w(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 Te({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});L(e)&&(R(`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=x(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 w(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 ie({items:p,config:s,options:t});if(g.isErr())return(0,G.err)(g.error);let{itemPaths:_,updatedPaths:y}=g.value,b=await me({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:S,neededEnvVars:T,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&&y){let e=C(n.path);if(e.isErr())return(0,G.err)(e.error);let t=e.value,r=await Tt(s?.paths??y,{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(T){let e=await v(T,{options:t});if(e.isErr())return(0,G.err)(e.error);k=e.value}return(0,G.ok)({items:p,updatedDependencies:await m(S,{options:t,config:s}),updatedEnvVars:k,updatedFiles:O,updatedPaths:y})}function jt(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 Mt=q.extend({registry:I().optional(),token:I().optional(),logout:M(),verbose:M()}),Nt=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(Mt,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!1}),i=r?.config??{},a=r?T.dirname(r.path):n.cwd;await Q(i,{command:`auth`,options:{...n,cwd:a}},{cwd:a,yes:!1}),u();let o=await X(Pt(e,n,r?.config));z(Lt(o)),await $(i,{command:`auth`,options:{...n,cwd:a},result:o},{cwd:a})});async function Pt(e,t,n){let{verbose:r,spinner:i}=ce({options:t}),a=(n?.providers??de).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 Ce({message:`Select a provider to authenticate to.`,options:a.map(e=>({label:e.name,value:e.name}))});L(e)&&(R(`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 Ft(o,t):await It(o,{config:n,options:t})}async function Ft(e,t){let n=new ge;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 Ce({message:`Select a registry to logout of.`,options:Object.keys(r).map(e=>({label:e,value:e}))});return L(i)&&(R(`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 It(e,{config:t,options:n}){let r=new ge;if(e.auth.tokenStoredFor===`registry`){let i=t?.registries??[],a=n.registry;if(!a)if(i.length===0){let t=await Ee({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`}});L(t)&&(R(`Canceled!`),process.exit(0)),a=t}else{let t=await Ce({message:`Select a registry to authenticate to.`,options:[...i.map(e=>({label:e,value:e})),{label:`Other`,value:`other`}]});if(L(t)&&(R(`Canceled!`),process.exit(0)),t===`other`){let t=await Ee({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`}});L(t)&&(R(`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:De,multiselect:V,select:Ce,text:Ee,log:B,spinner:xe,groupMultiselect:we,password:be,isCancel:L,cancel:R,color:K.default}});else{let e=await be({message:`Enter your token for ${K.default.cyan(a)}`,validate(e){if(!e||e.trim()===``)return`Please provide a value`}});L(e)&&(R(`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:De,multiselect:V,select:Ce,text:Ee,log:B,spinner:xe,groupMultiselect:we,password:be,isCancel:L,cancel:R,color:K.default}});else{let n=await be({message:`Enter your token for ${K.default.cyan(e.name)}`,validate(e){if(!e||e.trim()===``)return`Please provide a value`}});L(n)&&(R(`Canceled!`),process.exit(0)),t=n}return r.set(e,void 0,t),(0,G.ok)({type:`login`,provider:e.name})}}function Lt({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 Rt=q.extend({watch:M(),debounce:j()}),zt=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(Rt,e),n=await f({cwd:t.cwd,promptForContinueIfNull:!1});if(n||Z(new Re(t.cwd)),t.watch)await Vt(t,n);else{let e=n.config,r=T.dirname(n.path),i={...t,cwd:r};await Q(e,{command:`build`,options:i},{cwd:r,yes:!1}),u();let a=await X(Bt(i,e));z(Ut(a,{type:`build`})),await $(e,{command:`build`,options:i,result:a},{cwd:r}),a.results.some(e=>e.isErr())&&process.exit(1)}});async function Bt(e,t){if(!$e(t))return(0,G.err)(new je);let n=performance.now();return(0,G.ok)({results:await Qe(t,async n=>{n.outputs=n.outputs??[];let r=performance.now(),i=await ne(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 Vt(e,t){let n=t.config,r=new AbortController,i=new Map,a=!0,o=()=>{y&&(process.stdout.clearLine(0),process.stdout.cursorTo(0))},s=(e,t=!1)=>{y?(o(),process.stdout.write(e)):t&&process.stdout.write(`${e}\n`)},c=pe(async({options:e,config:t})=>{if(a)return;a=!0,s(K.default.dim(`Building...`));let n=await Bt(e,t);o(),n.isErr()?process.stdout.write(`Error building registry: ${K.default.red(n.error.message)}\n`):process.stdout.write(`${Ut(n.value,{type:`build`})}\n`),s(K.default.dim(`${y?`
21
- `:``}Watching for changes...`)),a=!1},e.debounce);i.set(t.path,Ht(t.path,{signal:r.signal,onChange:async()=>{let r=await d({cwd:T.dirname(t.path)});r.isErr()||(n=r.value,await l(),c({options:e,config:n}))}}));async function l(){await Qe(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)||N(t)&&i.set(t,Ht(t,{signal:r.signal,onChange:()=>c({options:e,config:n})}))},{cwd:e.cwd})}l(),s(`Building...`,!0);let u=await Bt(e,t.config);o(),u.isErr()?process.stdout.write(`Error building registry: ${K.default.red(u.error.message)}\n`):process.stdout.write(`${Ut(u.value,{type:`build`})}\n`),s(K.default.dim(`${y?`
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=yt(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)}},wt=class{withinExportDefaultDeclaration=!1;withinDefineConfig=!1;withinMainObjectExpression=!1;withinIgnoredProperty=!1;configKeyPropertyDeclaration=null;mainObjectExpression=null};async function Tt(e,{config:t}){if(Object.keys(e).length===0)return(0,G.ok)(t.code);let n=await qe(t.path,t.code),r=new Ct(t.code),i=new wt;if(i.withinDefineConfig=!0,new Ke({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 H({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 H({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
+ `)}\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(`,
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 Et(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 Dt(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 Et(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 Dt(e,`before`,t,n.cwd)).isErr()){if(n.yes){R(``);return}let e=await Te({message:`Before hooks failed. Would you like to continue?`,initialValue:!1});(I(e)||!e)&&process.exit(1)}R(``)}}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 Dt(e,`after`,t,n?.cwd);i.isErr()&&z.warn(`After hooks failed: ${i.error.message}`),R(``)}const Ot=q.extend({yes:j(),all:j(),overwrite:j(),verbose:j(),registry:F().optional(),with:oe(F()).default([]),withExamples:j(),withDocs:j(),withTests:j(),expand:j(),maxUnchanged:A()}),kt=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(Ot,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!n.yes}),i=r?.config??{},a=r?w.dirname(r.path):n.cwd;await Q(i,{command:`add`,options:{...n,cwd:a}},{cwd:a,yes:n.yes}),u();let o=await X(At(e,{...n,cwd:a},r));R(jt(o)),await $(i,{command:`add`,options:{...n,cwd:a},result:o},{cwd:a})});async function At(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 C(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 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});I(e)&&(B(`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=ee(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 C(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 be(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:y}=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:w,neededFiles:T}=b.value,E=await o({files:T,options:t});if(E.isErr())return(0,G.err)(E.error);let D=E.value;if(n&&y){let e=S(n.path);if(e.isErr())return(0,G.err)(e.error);let t=e.value,r=await Tt(s?.paths??y,{config:{path:n.path,code:t}});if(r.isErr())return(0,G.err)(r.error);let i=N(n.path,r.value);if(i.isErr())return(0,G.err)(i.error)}let O;if(w){let e=await v(w,{options:t});if(e.isErr())return(0,G.err)(e.error);O=e.value}return(0,G.ok)({items:p,updatedDependencies:await m(x,{options:t,config:s}),updatedEnvVars:O,updatedFiles:D,updatedPaths:y})}function jt(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 Mt=q.extend({registry:F().optional(),token:F().optional(),logout:j(),verbose:j()}),Nt=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(Mt,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!1}),i=r?.config??{},a=r?w.dirname(r.path):n.cwd;await Q(i,{command:`auth`,options:{...n,cwd:a}},{cwd:a,yes:!1}),u();let o=await X(Pt(e,n,r?.config));R(Lt(o)),await $(i,{command:`auth`,options:{...n,cwd:a},result:o},{cwd:a})});async function Pt(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 Se({message:`Select a provider to authenticate to.`,options:a.map(e=>({label:e.name,value:e.name}))});I(e)&&(B(`Canceled!`),process.exit(0)),o=a.find(t=>t.name===e)}return t.registry&&!o.matches(t.registry)?(0,G.err)(new V(`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 Ft(o,t):await It(o,{config:n,options:t})}async function Ft(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 Se({message:`Select a registry to logout of.`,options:Object.keys(r).map(e=>({label:e,value:e}))});return I(i)&&(B(`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 It(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 L({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`}});I(t)&&(B(`Canceled!`),process.exit(0)),a=t}else{let t=await Se({message:`Select a registry to authenticate to.`,options:[...i.map(e=>({label:e,value:e})),{label:`Other`,value:`other`}]});if(I(t)&&(B(`Canceled!`),process.exit(0)),t===`other`){let t=await L({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`}});I(t)&&(B(`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:Se,text:L,log:z,spinner:xe,groupMultiselect:Ce,password:Ee,isCancel:I,cancel:B,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`}});I(e)&&(B(`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:Se,text:L,log:z,spinner:xe,groupMultiselect:Ce,password:Ee,isCancel:I,cancel:B,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`}});I(n)&&(B(`Canceled!`),process.exit(0)),t=n}return r.set(e,void 0,t),(0,G.ok)({type:`login`,provider:e.name})}}function Lt({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 Rt=q.extend({watch:j(),debounce:A()}),zt=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(Rt,e),n=await f({cwd:t.cwd,promptForContinueIfNull:!1});if(n||Z(new ze(t.cwd)),t.watch)await Vt(t,n);else{let e=n.config,r=w.dirname(n.path),i={...t,cwd:r};await Q(e,{command:`build`,options:i},{cwd:r,yes:!1}),u();let a=await X(Bt(i,e));R(Ut(a,{type:`build`})),await $(e,{command:`build`,options:i,result:a},{cwd:r}),a.results.some(e=>e.isErr())&&process.exit(1)}});async function Bt(e,t){if(!$e(t))return(0,G.err)(new Me);let n=performance.now();return(0,G.ok)({results:await Qe(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 Vt(e,t){let n=t.config,r=new AbortController,i=new Map,a=!0,o=()=>{y&&(process.stdout.clearLine(0),process.stdout.cursorTo(0))},s=(e,t=!1)=>{y?(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 Bt(e,t);o(),n.isErr()?process.stdout.write(`Error building registry: ${K.default.red(n.error.message)}\n`):process.stdout.write(`${Ut(n.value,{type:`build`})}\n`),s(K.default.dim(`${y?`
21
+ `:``}Watching for changes...`)),a=!1},e.debounce);i.set(t.path,Ht(t.path,{signal:r.signal,onChange:async()=>{let r=await d({cwd:w.dirname(t.path)});r.isErr()||(n=r.value,await l(),c({options:e,config:n}))}}));async function l(){await Qe(t.config,async t=>{let a=t.items.flatMap(t=>t.files.map(t=>P(e.cwd,t.path)));for(let t of a)i.has(t)||M(t)&&i.set(t,Ht(t,{signal:r.signal,onChange:()=>c({options:e,config:n})}))},{cwd:e.cwd})}l(),s(`Building...`,!0);let u=await Bt(e,t.config);o(),u.isErr()?process.stdout.write(`Error building registry: ${K.default.red(u.error.message)}\n`):process.stdout.write(`${Ut(u.value,{type:`build`})}\n`),s(K.default.dim(`${y?`
22
22
  `:``}Watching for changes...`)),a=!1,process.on(`SIGINT`,()=>{r.abort()}),process.on(`SIGTERM`,()=>{r.abort()})}function Ht(e,{onChange:t,signal:n}){return Ge(e,{recursive:!0,signal:n},e=>{e===`change`&&t?.()})}function Ut({results:e,duration:t},{type:n}){return`${n===`build`?`Finished`:`Rebuilt`} in ${K.default.green(`${t.toFixed(2)}ms`)}
23
23
  ${e.map(e=>` ${Wt(e)}`).join(`
24
- `)}`}function Wt(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 Gt(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 Kt=class{IGNORED_PROPERTIES=[`registry`,`registries`,`paths`];importDeclarations=[];withinExportDefaultDeclaration=!1;withinDefineConfig=!1;withinMainObjectExpression=!1;withinIgnoredProperty=!1;lastImportDeclaration=null;configKeyPropertyDeclaration=null;mainObjectExpression=null};async function qt({plugins:e,key:t,config:n}){if(e.length===0)return(0,G.ok)(n.code);let r=await qe(n.path,n.code),i=new Ct(n.code),a=new Kt;if(a.withinDefineConfig=!0,new Ke({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 U({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 U({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 Ie);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 Jt({plugins:e,config:t}){let n=await _(t.code,{fileName:t.path,warn:k});return e.filter(e=>!n.includes(e.package))}const Yt=[{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 Xt(e,t){let n=e.map(e=>Zt(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 Zt(e,t){let n=Yt.find(t=>t.shorthand===e);if(n){let e=Zt(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=O(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:Gt(i.replace(`jsrepo-${t}-`,``)),packageName:r.value.name,version:r.value.version})}const Qt=q.extend({yes:M()}),$t=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(Qt,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!n.yes});r||Z(new Re(n.cwd));let i=r.config,a=T.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(en(e,o,r));z(tn(s)),await $(i,{command:`config.language`,options:o,result:s},{cwd:a})});async function en(e,t,n){let r=performance.now(),i=Xt(e,`language`);if(i.isErr())return(0,G.err)(i.error);let a=i.value,o=C(n.path);if(o.isErr())return(0,G.err)(o.error);let s=o.value,c=await qt({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 b({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 tn({duration:e,languages:t}){return`Added ${K.default.green(t.toString())} ${t>1?`languages`:`language`} in ${K.default.green(`${e.toFixed(2)}ms`)}.`}const nn=[`cursor`,`claude`,`vscode`,`codex`,`antigravity`],rn=q.extend({client:ae(se(nn)).optional(),all:M().optional()}),an=new W(`mcp`).description(`Configure the jsrepo MCP server for your environment.`).addOption(new Ue(`--client <clients...>`,`The MCP client(s) to configure`).choices(nn)).option(`--all`,`Configure all supported MCP clients`,!1).addOption(J.cwd).action(async e=>{let t=Y(rn,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(on(t));z(sn({...i,cwd:t.cwd})),await $(n,{command:`config.mcp`,options:t,result:i},{cwd:r})});async function on(e){let t;if(e.all)t=Object.keys(yn);else if(e.client&&e.client.length>0)t=e.client;else{let e=await V({message:`Which clients would you like to configure?`,options:Object.entries(yn).map(([e,t])=>({value:e,label:t.name}))});L(e)&&(R(`Canceled!`),process.exit(0)),t=e}let n=performance.now(),r=[];for(let n of t){let t=yn[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 sn({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=>cn(e,n)).join(`
25
- `)}`}function cn({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(T.relative(n,r))}`}function ln(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 un={command:`npx`,args:[`@jsrepo/mcp`]},dn=`[mcp_servers.jsrepo]
24
+ `)}`}function Wt(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 Gt(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 Kt=class{IGNORED_PROPERTIES=[`registry`,`registries`,`paths`];importDeclarations=[];withinExportDefaultDeclaration=!1;withinDefineConfig=!1;withinMainObjectExpression=!1;withinIgnoredProperty=!1;lastImportDeclaration=null;configKeyPropertyDeclaration=null;mainObjectExpression=null};async function qt({plugins:e,key:t,config:n}){if(e.length===0)return(0,G.ok)(n.code);let r=await qe(n.path,n.code),i=new Ct(n.code),a=new Kt;if(a.withinDefineConfig=!0,new Ke({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 H({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 H({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 Jt({plugins:e,config:t}){let n=await _(t.code,{fileName:t.path,warn:O});return e.filter(e=>!n.includes(e.package))}const Yt=[{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 Xt(e,t){let n=e.map(e=>Zt(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 Zt(e,t){let n=Yt.find(t=>t.shorthand===e);if(n){let e=Zt(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=D(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:Gt(i.replace(`jsrepo-${t}-`,``)),packageName:r.value.name,version:r.value.version})}const Qt=q.extend({yes:j()}),$t=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(Qt,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!n.yes});r||Z(new ze(n.cwd));let i=r.config,a=w.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(en(e,o,r));R(tn(s)),await $(i,{command:`config.language`,options:o,result:s},{cwd:a})});async function en(e,t,n){let r=performance.now(),i=Xt(e,`language`);if(i.isErr())return(0,G.err)(i.error);let a=i.value,o=S(n.path);if(o.isErr())return(0,G.err)(o.error);let s=o.value,c=await qt({plugins:a,key:`languages`,config:{path:n.path,code:s}});if(c.isErr())return(0,G.err)(c.error);let l=c.value,u=N(n.path,l);return u.isErr()?(0,G.err)(u.error):(await b({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 tn({duration:e,languages:t}){return`Added ${K.default.green(t.toString())} ${t>1?`languages`:`language`} in ${K.default.green(`${e.toFixed(2)}ms`)}.`}const nn=[`cursor`,`claude`,`vscode`,`codex`,`antigravity`],rn=q.extend({client:oe(ce(nn)).optional(),all:j().optional()}),an=new U(`mcp`).description(`Configure the jsrepo MCP server for your environment.`).addOption(new W(`--client <clients...>`,`The MCP client(s) to configure`).choices(nn)).option(`--all`,`Configure all supported MCP clients`,!1).addOption(J.cwd).action(async e=>{let t=Y(rn,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(on(t));R(sn({...i,cwd:t.cwd})),await $(n,{command:`config.mcp`,options:t,result:i},{cwd:r})});async function on(e){let t;if(e.all)t=Object.keys(yn);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(yn).map(([e,t])=>({value:e,label:t.name}))});I(e)&&(B(`Canceled!`),process.exit(0)),t=e}let n=performance.now(),r=[];for(let n of t){let t=yn[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 sn({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=>cn(e,n)).join(`
25
+ `)}`}function cn({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(w.relative(n,r))}`}function ln(e,t){try{return N(e,t),(0,G.ok)(void 0)}catch(t){return(0,G.err)(new V(`Failed to write config to ${e}: ${t instanceof Error?t.message:String(t)}`,{suggestion:`Please try again.`}))}}const un={command:`npx`,args:[`@jsrepo/mcp`]},dn=`[mcp_servers.jsrepo]
26
26
  command = "npx"
27
27
  args = ["@jsrepo/mcp"]
28
28
  `;function fn(e){return e?e.includes(`[mcp_servers.jsrepo]`)?e:(e.endsWith(`
29
29
  `)||(e+=`
30
- `),`${e}${dn}`):dn}const pn=S({command:I(),args:ae(I()),env:he(I(),I()).optional()}),mn=S({mcpServers:he(I(),pn)}),hn=S({servers:he(I(),pn)});function gn({existingContent:e,serverName:t,serverConfig:n}){if(e.trim().length===0)return(0,G.ok)(l({mcpServers:{[t]:n}},{format:!0}));let r=E(mn,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 _n({existingContent:e,serverName:t,serverConfig:n}){if(e.trim().length===0)return(0,G.ok)(l({servers:{[t]:n}},{format:!0}));let r=E(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({servers:{...r.value.servers,[t]:n}},{format:!0}))}function vn(e,t,n=`generic`){let r=N(e)?C(e)._unsafeUnwrap():``,i=n===`vscode`?_n({existingContent:r,serverName:`jsrepo`,serverConfig:t}):gn({existingContent:r,serverName:`jsrepo`,serverConfig:t});return i.isErr()?(0,G.err)(i.error):ln(e,i.value)}const yn={cursor:{name:`Cursor`,filePath:e=>F(e,`.cursor/mcp.json`),writeConfig:e=>vn(e,un)},claude:{name:`Claude Code`,filePath:e=>F(e,`.mcp.json`),writeConfig:e=>vn(e,un)},vscode:{name:`VS Code`,filePath:e=>F(e,`.vscode/mcp.json`),writeConfig:e=>vn(e,un,`vscode`)},codex:{name:`Codex`,filePath:()=>F(Je.homedir(),`.codex/config.toml`),writeConfig:e=>ln(e,fn(N(e)?C(e)._unsafeUnwrap():``))},antigravity:{name:`Antigravity`,filePath:()=>F(Je.homedir(),`.gemini/antigravity/mcp_config.json`),writeConfig:e=>vn(e,un)}},bn=q.extend({yes:M()}),xn=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(bn,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!n.yes});r||Z(new Re(n.cwd));let i=r.config,a=T.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(Sn(e,o,r));z(Cn(s)),await $(i,{command:`config.provider`,options:o,result:s},{cwd:a})});async function Sn(e,t,n){let r=performance.now(),i=Xt(e,`provider`);if(i.isErr())return(0,G.err)(i.error);let a=i.value,o=C(n.path);if(o.isErr())return(0,G.err)(o.error);let s=o.value,c=await qt({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 b({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 Cn({duration:e,providers:t}){return`Added ${K.default.green(t.toString())} ${t>1?`providers`:`provider`} in ${K.default.green(`${e.toFixed(2)}ms`)}.`}const wn=q.extend({yes:M()}),Tn=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(wn,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!n.yes});r||Z(new Re(n.cwd));let i=r.config,a=T.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(En(e,o,r));z(Dn(s)),await $(i,{command:`config.transform`,options:o,result:s},{cwd:a})});async function En(e,t,n){let r=performance.now(),i=Xt(e,`transform`);if(i.isErr())return(0,G.err)(i.error);let a=i.value,o=C(n.path);if(o.isErr())return(0,G.err)(o.error);let s=o.value,c=await qt({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 b({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 Dn({duration:e,transforms:t}){return`Added ${K.default.green(t.toString())} ${t>1?`transforms`:`transform`} in ${K.default.green(`${e.toFixed(2)}ms`)}.`}const On=new W(`config`).description(`Modify your jsrepo config.`).addCommand(Tn).addCommand(xn).addCommand($t).addCommand(an);var kn=class{withinExportDefaultDeclaration=!1;withinDefineConfig=!1;withinMainObjectExpression=!1;withinIgnoredProperty=!1;configKeyPropertyDeclaration=null;mainObjectExpression=null};async function An(e,{config:t}){if(e.length===0)return(0,G.ok)(t.code);let n=await qe(t.path,t.code),r=new Ct(t.code),i=new kn;if(i.withinDefineConfig=!0,new Ke({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 U({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 U({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 Ie);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 jn=q.extend({yes:M(),overwrite:M(),verbose:M(),expand:M(),maxUnchanged:j(),js:M()}),Mn=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(jn,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!1}),i=r?.config??{},a=r?T.dirname(r.path):n.cwd;await Q(i,{command:`init`,options:{...n,cwd:a}},{cwd:a,yes:n.yes}),u();let o=await X(Nn(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 Nn(e,t,n){let{verbose:r,spinner:i}=ce({options:t}),a=F(t.cwd,`package.json`),s=oe(a);if(s.isErr())return(0,G.err)(new Le);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??de,p;if(l===null)p=Rn();else{let e=C(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=`^${_e}`;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 qt({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 ze);let e=P(u,p);return e.isErr()?(0,G.err)(e.error):(B.success(`Wrote config to ${K.default.cyan(T.relative(t.cwd,u))}`),h||await b({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 _=await w(g,{cwd:t.cwd,providers:f});if(_.isErr())return i.stop(`Failed to retrieve manifests`),(0,G.err)(_.error);i.stop(`Retrieved manifest${g.length>1?`s`:``} from ${K.default.cyan(g.join(`, `))}`);let y=_.value,x=new Map;for(let[e,n]of y){let e=await Pn(n,{configCode:p,configPath:u,options:t,pluginChoices:x,config:l});if(e.isErr())return(0,G.err)(e.error);p=e.value}let S=await An(e,{config:{path:u,code:p}});if(S.isErr())return(0,G.err)(S.error);p=S.value;let E=P(u,p);if(E.isErr())return(0,G.err)(E.error);B.success(`Wrote config to ${K.default.cyan(T.relative(t.cwd,u))}`);let D=new Map(Array.from(x.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 b({dependencies:[],devDependencies:[...Array.from(D.values()),...t.js?[{name:`@jsrepo/transform-javascript`}]:[]]},{options:{yes:!0},configPath:u}),D.clear();let O=await d({cwd:T.parse(u).dir});if(O.isErr())return(0,G.err)(O.error);l=O.value;let k=Array.from(y.values()).flatMap(e=>e.manifest.items.filter(e=>e.add===`on-init`||e.name===`index`).map(t=>({registry:e,item:t}))),A=Array.from(y.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 V({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});L(e)&&(R(`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 ie({items:n,config:l,options:t});if(r.isErr())return(0,G.err)(r.error);let{itemPaths:a}=r.value,s=await me({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 v(d,{options:t});e&&B.success(`Updated ${K.default.green(Object.keys(e).length)} environment variables`)}c.dependencies.push(...j.dependencies),c.devDependencies.push(...j.devDependencies)}if(l.paths!==void 0){let e=await Tt(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 Pn(e,{configCode:t,configPath:n,options:r,pluginChoices:i,config:a}){let o=await Fn(e,{configCode:t,configPath:n,options:r,pluginChoices:i});if(o.isErr())return(0,G.err)(o.error);t=o.value;let s=await In(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 Fn(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 Ln(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 qt({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 In(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=>A(e.type))))),o=r?.paths??{};if(!i.yes&&a.length>0){let t=await V({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(L(t)&&(R(`Canceled!`),process.exit(0)),t.length>0)for(let n of t){let t=o[n]??e.manifest.defaultPaths?.[n],r=await Ee({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});L(r)&&(R(`Canceled!`),process.exit(0)),o[n]=r}}return o={...e.manifest.defaultPaths,...o},await Tt(o,{config:{path:n,code:t}})}async function Ln(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 Jt({config:i,plugins:e});for(let e of s){if(t.has(e.package))continue;let i=Zt(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 De({message:`Would you like to add the ${K.default.cyan(e.package)} ${r} plugin?`});L(t)&&(R(`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 Rn(){return`import { defineConfig } from 'jsrepo';
30
+ `),`${e}${dn}`):dn}const pn=x({command:F(),args:oe(F()),env:ge(F(),F()).optional()}),mn=x({mcpServers:ge(F(),pn)}),hn=x({servers:ge(F(),pn)});function gn({existingContent:e,serverName:t,serverConfig:n}){if(e.trim().length===0)return(0,G.ok)(l({mcpServers:{[t]:n}},{format:!0}));let r=T(mn,e);return r.isErr()?(0,G.err)(new V(`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 _n({existingContent:e,serverName:t,serverConfig:n}){if(e.trim().length===0)return(0,G.ok)(l({servers:{[t]:n}},{format:!0}));let r=T(hn,e);return r.isErr()?(0,G.err)(new V(`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 vn(e,t,n=`generic`){let r=M(e)?S(e)._unsafeUnwrap():``,i=n===`vscode`?_n({existingContent:r,serverName:`jsrepo`,serverConfig:t}):gn({existingContent:r,serverName:`jsrepo`,serverConfig:t});return i.isErr()?(0,G.err)(i.error):ln(e,i.value)}const yn={cursor:{name:`Cursor`,filePath:e=>P(e,`.cursor/mcp.json`),writeConfig:e=>vn(e,un)},claude:{name:`Claude Code`,filePath:e=>P(e,`.mcp.json`),writeConfig:e=>vn(e,un)},vscode:{name:`VS Code`,filePath:e=>P(e,`.vscode/mcp.json`),writeConfig:e=>vn(e,un,`vscode`)},codex:{name:`Codex`,filePath:()=>P(Je.homedir(),`.codex/config.toml`),writeConfig:e=>ln(e,fn(M(e)?S(e)._unsafeUnwrap():``))},antigravity:{name:`Antigravity`,filePath:()=>P(Je.homedir(),`.gemini/antigravity/mcp_config.json`),writeConfig:e=>vn(e,un)}},bn=q.extend({yes:j()}),xn=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(bn,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!n.yes});r||Z(new ze(n.cwd));let i=r.config,a=w.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(Sn(e,o,r));R(Cn(s)),await $(i,{command:`config.provider`,options:o,result:s},{cwd:a})});async function Sn(e,t,n){let r=performance.now(),i=Xt(e,`provider`);if(i.isErr())return(0,G.err)(i.error);let a=i.value,o=S(n.path);if(o.isErr())return(0,G.err)(o.error);let s=o.value,c=await qt({plugins:a,key:`providers`,config:{path:n.path,code:s}});if(c.isErr())return(0,G.err)(c.error);let l=c.value,u=N(n.path,l);return u.isErr()?(0,G.err)(u.error):(await b({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 Cn({duration:e,providers:t}){return`Added ${K.default.green(t.toString())} ${t>1?`providers`:`provider`} in ${K.default.green(`${e.toFixed(2)}ms`)}.`}const wn=q.extend({yes:j()}),Tn=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(wn,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!n.yes});r||Z(new ze(n.cwd));let i=r.config,a=w.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(En(e,o,r));R(Dn(s)),await $(i,{command:`config.transform`,options:o,result:s},{cwd:a})});async function En(e,t,n){let r=performance.now(),i=Xt(e,`transform`);if(i.isErr())return(0,G.err)(i.error);let a=i.value,o=S(n.path);if(o.isErr())return(0,G.err)(o.error);let s=o.value,c=await qt({plugins:a,key:`transforms`,config:{path:n.path,code:s}});if(c.isErr())return(0,G.err)(c.error);let l=c.value,u=N(n.path,l);return u.isErr()?(0,G.err)(u.error):(await b({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 Dn({duration:e,transforms:t}){return`Added ${K.default.green(t.toString())} ${t>1?`transforms`:`transform`} in ${K.default.green(`${e.toFixed(2)}ms`)}.`}const On=new U(`config`).description(`Modify your jsrepo config.`).addCommand(Tn).addCommand(xn).addCommand($t).addCommand(an);var kn=class{withinExportDefaultDeclaration=!1;withinDefineConfig=!1;withinMainObjectExpression=!1;withinIgnoredProperty=!1;configKeyPropertyDeclaration=null;mainObjectExpression=null};async function An(e,{config:t}){if(e.length===0)return(0,G.ok)(t.code);let n=await qe(t.path,t.code),r=new Ct(t.code),i=new kn;if(i.withinDefineConfig=!0,new Ke({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 H({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 H({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 jn=q.extend({yes:j(),overwrite:j(),verbose:j(),expand:j(),maxUnchanged:A(),js:j()}),Mn=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(jn,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!1}),i=r?.config??{},a=r?w.dirname(r.path):n.cwd;await Q(i,{command:`init`,options:{...n,cwd:a}},{cwd:a,yes:n.yes}),u();let o=await X(Nn(e,{...n,cwd:a},r));R(K.default.green(`Initialization complete!`)),await $(i,{command:`init`,options:{...n,cwd:a},result:o},{cwd:a})});async function Nn(e,t,n){let{verbose:r,spinner:i}=le({options:t}),a=P(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:P(t.cwd,c.type===`module`?`jsrepo.config.ts`:`jsrepo.config.mts`)},f=l?.providers??fe,p;if(l===null)p=Rn();else{let e=S(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=`^${ve}`;let e=N(a,JSON.stringify(c,null,` `));if(e.isErr())return(0,G.err)(e.error);h=!1}if(t.js){let e=await qt({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=N(u,p);return e.isErr()?(0,G.err)(e.error):(z.success(`Wrote config to ${K.default.cyan(w.relative(t.cwd,u))}`),h||await b({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 _=await C(g,{cwd:t.cwd,providers:f});if(_.isErr())return i.stop(`Failed to retrieve manifests`),(0,G.err)(_.error);i.stop(`Retrieved manifest${g.length>1?`s`:``} from ${K.default.cyan(g.join(`, `))}`);let y=_.value,ee=new Map;for(let[e,n]of y){let e=await Pn(n,{configCode:p,configPath:u,options:t,pluginChoices:ee,config:l});if(e.isErr())return(0,G.err)(e.error);p=e.value}let x=await An(e,{config:{path:u,code:p}});if(x.isErr())return(0,G.err)(x.error);p=x.value;let T=N(u,p);if(T.isErr())return(0,G.err)(T.error);z.success(`Wrote config to ${K.default.cyan(w.relative(t.cwd,u))}`);let E=new Map(Array.from(ee.values()).filter(e=>e.install).map(e=>[`js:${e.plugin.packageName}@${e.plugin.version??``}`,{name:e.plugin.packageName,version:e.plugin.version,ecosystem:`js`}]));E.size>0&&await b({dependencies:[],devDependencies:[...Array.from(E.values()),...t.js?[{name:`@jsrepo/transform-javascript`}]:[]]},{options:{yes:!0},configPath:u}),E.clear();let D=await d({cwd:w.parse(u).dir});if(D.isErr())return(0,G.err)(D.error);l=D.value;let O=Array.from(y.values()).flatMap(e=>e.manifest.items.filter(e=>e.add===`on-init`||e.name===`index`).map(t=>({registry:e,item:t}))),k=Array.from(y.values()).flatMap(e=>e.manifest.items.filter(e=>e.add===`optionally-on-init`).map(t=>({registry:e,item:t})));if(k.length>0){let e=await De({message:`Would you like to add any of the following items?`,options:k.map(e=>({label:e.item.name,value:e.item.name})),required:!1});I(e)&&(B(`Canceled!`),process.exit(0)),O.push(...k.filter(t=>e.includes(t.item.name)))}let A={dependencies:[],devDependencies:[]};if(O.length>0){i.start(`Fetching ${K.default.cyan(O.map(e=>e.item.name).join(`, `))}...`);let e=await be(O);if(e.isErr())return i.stop(`Failed to fetch items`),(0,G.err)(e.error);i.stop(`Fetched ${K.default.cyan(O.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(z.success(`Updated ${K.default.green(m.length)} files`),d){let e=await v(d,{options:t});e&&z.success(`Updated ${K.default.green(Object.keys(e).length)} environment variables`)}c.dependencies.push(...A.dependencies),c.devDependencies.push(...A.devDependencies)}if(l.paths!==void 0){let e=await Tt(l.paths,{config:{path:u,code:p}});if(e.isErr())return(0,G.err)(e.error);p=e.value;let t=N(u,p);if(t.isErr())return(0,G.err)(t.error);z.success(`Updated paths`)}return await m(A,{options:t,config:l}),(0,G.ok)({registries:e})}async function Pn(e,{configCode:t,configPath:n,options:r,pluginChoices:i,config:a}){let o=await Fn(e,{configCode:t,configPath:n,options:r,pluginChoices:i});if(o.isErr())return(0,G.err)(o.error);t=o.value;let s=await In(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 Fn(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 Ln(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 qt({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 In(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=>k(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(I(t)&&(B(`Canceled!`),process.exit(0)),t.length>0)for(let n of t){let t=o[n]??e.manifest.defaultPaths?.[n],r=await L({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});I(r)&&(B(`Canceled!`),process.exit(0)),o[n]=r}}return o={...e.manifest.defaultPaths,...o},await Tt(o,{config:{path:n,code:t}})}async function Ln(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 Jt({config:i,plugins:e});for(let e of s){if(t.has(e.package))continue;let i=Zt(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?`});I(t)&&(B(`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 Rn(){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 zn=t(((e,t)=>{t.exports=n(`events`)})),Bn=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}}})),Vn=t(((e,t)=>{let n=Bn();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}}})),Hn=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 ee(e,t,n){return b(e).writeDoubleLE(t,n)}function M(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:ee,writeFloatBE:M,writeFloatLE:N,writeInt32BE:te,writeInt32LE:ne,writeUInt32BE:re,writeUInt32LE:ie}})),Un=t(((e,t)=>{let n=Hn();t.exports=class{constructor(e){this.encoding=e}get remaining(){return 0}decode(e){return n.toString(e,this.encoding)}flush(){return``}}})),Wn=t(((e,t)=>{let n=Hn();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}}})),Gn=t(((e,t)=>{let n=Un(),r=Wn();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)}}})),Kn=t(((e,t)=>{let{EventEmitter:n}=zn(),r=Error(`Stream was destroyed`),i=Error(`Premature close`),a=Vn(),o=Gn(),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,ee=512<<18,M=1024<<18;c^(C|j);let N=c^T;c^(C|ee),c^D,c^E;let te=c^A;c^w;let ne=c^M,re=16|C,ie=c^re,ae=m|O,oe=14|ae;N&536870847;let P=A|h,se=15|P&ie;u|16399;let ce=m|143;u|143,u|16398,h|1,ee|8388623,E|D,E|C;let le=270794767;T|C,C|j,O|134217742;let ue=Symbol.asyncIterator||Symbol(`asyncIterator`);var F=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||U,this.map=r||n,this.afterWrite=_e.bind(this),this.afterUpdateNextTick=I.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|ee)&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)===ee){e._duplexState|=C,e._final(he.bind(this));return}if((e._duplexState&14)==4){(e._duplexState&P)===0&&(e._duplexState|=re,e._destroy(ge.bind(this)));return}(e._duplexState&se)===1&&(e._duplexState=(e._duplexState|re)&l,e._open(L.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))}},de=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||U,this.map=r||n,this.pipeTo=null,this.afterRead=ve.bind(this),this.afterUpdateNextTick=ye.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),Ae(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&P)===0&&(e._duplexState|=re,e._destroy(ge.bind(this)));return}(e._duplexState&se)===1&&(e._duplexState=(e._duplexState|re)&l,e._open(L.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=xe.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&&be(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 ye(){this.stream._duplexState&32||(this.stream._duplexState&=x,this.update())}function I(){(this.stream._duplexState&w)===0&&(this.stream._duplexState&=te,this.update())}function be(e){for(let t=0;t<e.length;t++)--e[t].writes===0&&(e.shift().resolve(!0),t--)}function L(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 xe(e,t){t!=null&&this.push(t),this._writableState.afterWrite(e)}function Se(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 R=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`,Se)}_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())}},z=class e extends R{constructor(e){super(e),this._duplexState|=O|131073,this._readableState=new de(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})})})}}},Ce=class extends R{constructor(e){super(e),this._duplexState|=1|m,this._writableState=new F(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|=M}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}},B=class extends z{constructor(e){super(e),this._duplexState=1|this._duplexState&_,this._writableState=new F(this,e),e&&(e.writev&&(this._writev=e.writev),e.write&&(this._write=e.write),e.final&&(this._final=e.final))}cork(){this._duplexState|=M}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}},V=class extends B{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(Te.bind(this))}},we=class extends V{};function Te(e,t){let n=this._transformState.afterFinal;if(e)return n(e);t!=null&&this.push(t),this.push(null),n(null)}function Ee(...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 H(e){return!!e._writableState&&e._writableState.ended}function Me(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&P)!==0}function Fe(e){return typeof e==`object`&&!!e&&typeof e.byteLength==`number`}function U(e){return Fe(e)?e.byteLength:1024}function Ie(){}function Le(){this.destroy(Error(`Stream aborted.`))}function Re(e){return e._writev!==Ce.prototype._writev&&e._writev!==B.prototype._writev}t.exports={pipeline:De,pipelinePromise:Ee,isStream:ke,isStreamx:Ae,isEnded:je,isFinished:H,isDisturbed:Pe,getStreamError:Me,Stream:R,Writable:Ce,Readable:z,Duplex:B,Transform:V,PassThrough:we}})),qn=t((e=>{let t=Hn(),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
+ });`}var zn=t(((e,t)=>{t.exports=n(`events`)})),Bn=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}}})),Vn=t(((e,t)=>{let n=Bn();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}}})),Hn=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 ee(e,t,n,r){return b(e).toString(t,n,r)}function x(e,t,n,r,i){return b(e).write(t,n,r,i)}function S(e,t){return b(e).readDoubleBE(t)}function C(e,t){return b(e).readDoubleLE(t)}function w(e,t){return b(e).readFloatBE(t)}function T(e,t){return b(e).readFloatLE(t)}function E(e,t){return b(e).readInt32BE(t)}function D(e,t){return b(e).readInt32LE(t)}function O(e,t){return b(e).readUInt32BE(t)}function k(e,t){return b(e).readUInt32LE(t)}function A(e,t,n){return b(e).writeDoubleBE(t,n)}function te(e,t,n){return b(e).writeDoubleLE(t,n)}function j(e,t,n){return b(e).writeFloatBE(t,n)}function M(e,t,n){return b(e).writeFloatLE(t,n)}function ne(e,t,n){return b(e).writeInt32BE(t,n)}function re(e,t,n){return b(e).writeInt32LE(t,n)}function ie(e,t,n){return b(e).writeUInt32BE(t,n)}function ae(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:ee,write:x,readDoubleBE:S,readDoubleLE:C,readFloatBE:w,readFloatLE:T,readInt32BE:E,readInt32LE:D,readUInt32BE:O,readUInt32LE:k,writeDoubleBE:A,writeDoubleLE:te,writeFloatBE:j,writeFloatLE:M,writeInt32BE:ne,writeInt32LE:re,writeUInt32BE:ie,writeUInt32LE:ae}})),Un=t(((e,t)=>{let n=Hn();t.exports=class{constructor(e){this.encoding=e}get remaining(){return 0}decode(e){return n.toString(e,this.encoding)}flush(){return``}}})),Wn=t(((e,t)=>{let n=Hn();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}}})),Gn=t(((e,t)=>{let n=Un(),r=Wn();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)}}})),Kn=t(((e,t)=>{let{EventEmitter:n}=zn(),r=Error(`Stream was destroyed`),i=Error(`Premature close`),a=Vn(),o=Gn(),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,ee=c^h;c^32;let x=c^_;c^v;let S=1<<18,C=2<<18,w=4<<18,T=8<<18,E=16<<18,D=32<<18,O=64<<18,k=128<<18,A=256<<18,te=512<<18,j=1024<<18;c^(S|A);let M=c^w;c^(S|te),c^E,c^T;let ne=c^k;c^C;let re=c^j,ie=16|S,ae=c^ie,oe=m|D,se=14|oe;M&536870847;let N=k|h,ce=15|N&ae;u|16399;let le=m|143;u|143,u|16398,h|1,te|8388623,T|E,T|S;let ue=270794767;w|S,S|A,D|134217742;let de=Symbol.asyncIterator||Symbol(`asyncIterator`);var P=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||H,this.map=r||n,this.afterWrite=ve.bind(this),this.afterUpdateNextTick=F.bind(this)}get ended(){return(this.stream._duplexState&D)!==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|=T,!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|te)&M}autoBatch(e,t){let n=[],r=this.stream;for(n.push(e);(r._duplexState&ue)===2359296;)n.push(r._writableState.shift());if(r._duplexState&15)return t(null);r._writev(n,t)}update(){let e=this.stream;e._duplexState|=C;do{for(;(e._duplexState&ue)===T;){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)===te){e._duplexState|=S,e._final(ge.bind(this));return}if((e._duplexState&14)==4){(e._duplexState&N)===0&&(e._duplexState|=ie,e._destroy(_e.bind(this)));return}(e._duplexState&ce)===1&&(e._duplexState=(e._duplexState|ie)&l,e._open(I.bind(this)))}continueUpdate(){return(this.stream._duplexState&k)===0?!1:(this.stream._duplexState&=ne,!0)}updateCallback(){(this.stream._duplexState&35127311)===w?this.update():this.updateNextTick()}updateNextTick(){(this.stream._duplexState&k)===0&&(this.stream._duplexState|=k,(this.stream._duplexState&C)===0&&s(this.afterUpdateNextTick))}},fe=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||H,this.map=r||n,this.pipeTo=null,this.afterRead=ye.bind(this),this.afterUpdateNextTick=be.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 me(this.stream,e,t),t&&this.stream.on(`error`,Le),je(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`,he.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&le)===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&le)===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&se)===oe&&(e._duplexState|=4),this.pipeTo!==null&&this.pipeTo.end()),(e._duplexState&14)==4){(e._duplexState&N)===0&&(e._duplexState|=ie,e._destroy(_e.bind(this)));return}(e._duplexState&ce)===1&&(e._duplexState=(e._duplexState|ie)&l,e._open(I.bind(this)))}continueUpdate(){return(this.stream._duplexState&h)===0?!1:(this.stream._duplexState&=ee,!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))}},pe=class{constructor(e){this.data=null,this.afterTransform=Se.bind(e),this.afterFinal=null}},me=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 he(){this.stream._duplexState|=512,this.updateCallback()}function ge(e){let t=this.stream;e&&t.destroy(e),t._duplexState&14||(t._duplexState|=D,t.emit(`finish`)),(t._duplexState&se)===oe&&(t._duplexState|=4),t._duplexState&=402391039,(t._duplexState&C)===0?this.update():this.updateNextTick()}function _e(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 ve(e){let t=this.stream;e&&t.destroy(e),t._duplexState&=469499903,this.drains!==null&&xe(this.drains),(t._duplexState&6553615)===E&&(t._duplexState&=532676607,(t._duplexState&O)===O&&t.emit(`drain`)),this.updateCallback()}function ye(e){e&&this.stream.destroy(e),this.stream._duplexState&=536870895,this.readAhead===!1&&!(this.stream._duplexState&256)&&(this.stream._duplexState&=x),this.updateCallback()}function be(){this.stream._duplexState&32||(this.stream._duplexState&=ee,this.update())}function F(){(this.stream._duplexState&C)===0&&(this.stream._duplexState&=ne,this.update())}function xe(e){for(let t=0;t<e.length;t++)--e[t].writes===0&&(e.shift().resolve(!0),t--)}function I(e){let t=this.stream;e&&t.destroy(e),t._duplexState&4||(t._duplexState&17423||(t._duplexState|=64),t._duplexState&142606351||(t._duplexState|=w),t.emit(`open`)),t._duplexState&=ae,t._writableState!==null&&t._writableState.updateCallback(),t._readableState!==null&&t._readableState.updateCallback()}function Se(e,t){t!=null&&this.push(t),this._writableState.afterWrite(e)}function Ce(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|=O,this._writableState.updateNextTick())}var L=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`,Ce)}_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())}},we=class e extends L{constructor(e){super(e),this._duplexState|=D|131073,this._readableState=new fe(this,e),e&&(this._readableState.readAhead===!1&&(this._duplexState&=x),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||ke;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(Pe(t))return t;if(t[de])return this._fromAsyncIterator(t[de](),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}[de](){let e=this,t=null,n=null,i=null;return this.on(`error`,e=>{t=e}),this.on(`readable`,a),this.on(`close`,o),{[de](){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})})})}}},R=class extends L{constructor(e){super(e),this._duplexState|=1|m,this._writableState=new P(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|=j}uncork(){this._duplexState&=re,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&A?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}},Te=class extends we{constructor(e){super(e),this._duplexState=1|this._duplexState&_,this._writableState=new P(this,e),e&&(e.writev&&(this._writev=e.writev),e.write&&(this._write=e.write),e.final&&(this._final=e.final))}cork(){this._duplexState|=j}uncork(){this._duplexState&=re,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}},z=class extends Te{constructor(e){super(e),this._transformState=new pe(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(B.bind(this))}},Ee=class extends z{};function B(e,t){let n=this._transformState.afterFinal;if(e)return n(e);t!=null&&this.push(t),this.push(null),n(null)}function De(...e){return new Promise((t,n)=>Oe(...e,e=>{if(e)return n(e);t()}))}function Oe(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],je(a)?a.pipe(o,l):(c(a,!0,e>1,l),a.pipe(o)),a=o;if(r){let e=!1,t=je(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 ke(e){return e}function Ae(e){return!!e._readableState||!!e._writableState}function je(e){return typeof e._duplexState==`number`&&Ae(e)}function Me(e){return!!e._readableState&&e._readableState.ended}function V(e){return!!e._writableState&&e._writableState.ended}function Ne(e,t={}){let n=e._readableState&&e._readableState.error||e._writableState&&e._writableState.error;return!t.all&&n===r?null:n}function Pe(e){return je(e)&&e.readable}function Fe(e){return(e._duplexState&1)!=1||(e._duplexState&N)!==0}function Ie(e){return typeof e==`object`&&!!e&&typeof e.byteLength==`number`}function H(e){return Ie(e)?e.byteLength:1024}function Le(){}function Re(){this.destroy(Error(`Stream aborted.`))}function ze(e){return e._writev!==R.prototype._writev&&e._writev!==Te.prototype._writev}t.exports={pipeline:Oe,pipelinePromise:De,isStream:Ae,isStreamx:je,isEnded:Me,isFinished:V,isDisturbed:Fe,getStreamError:Ne,Stream:L,Writable:R,Readable:we,Duplex:Te,Transform:z,PassThrough:Ee}})),qn=t((e=>{let t=Hn(),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
38
  `)),e.linkname&&(n+=y(` linkpath=`+e.linkname+`
39
39
  `));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}})),Jn=t(((e,t)=>{let{Writable:n,Readable:r,getStreamError:i}=Kn(),a=Vn(),o=Hn(),s=qn(),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}})),Yn=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}})),Xn=t(((e,t)=>{let{Readable:n,Writable:r,getStreamError:i}=Kn(),a=Hn(),o=Yn(),s=qn(),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)}})),Zn=t((e=>{e.extract=Jn(),e.pack=Xn()})),Qn=e(ue(),1),$n=e(Zn(),1);const er=q.extend({dryRun:M(),verbose:M()}),tr=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(er,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!1});r||Z(new Re(n.cwd));let i=r.config,a=T.dirname(r.path),o={...n,cwd:a};await Q(i,{command:`publish`,options:o},{cwd:a,yes:!1}),u();let s=await X(nr(e,{config:i,options:o}));z(or(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 nr(e,{options:t,config:n}){let{verbose:r,spinner:i}=ce({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.`)}`),!$e(n))return(0,G.err)(new je);let o=(n.providers??de).find(e=>e.name===`jsrepo`);if(!o)return(0,G.err)(new ke(`jsrepo`));let s=new ge().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=fe(t.cwd);if(!c)return(0,G.err)(new Le);let l=performance.now();i.start(`Building ${e.length>0?K.default.cyan(e.join(`, `)):`all registries`}...`);let u=await Qe(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=rr(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 ir(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 rr(e,{pkg:t}){let[n,r,...i]=e.name.split(`/`);if(i.length>0||!n||!n.startsWith(`@`)||!n.slice(1).match(le)||!r||!r.match(le))return(0,G.err)(new Pe(e.name));if(e.version===void 0)return(0,G.err)(new Be(e.version,e.name));let a;return a=e.version===`package`&&t.version!==void 0?t.version:e.version,a===void 0||!Qn.default.valid(a)?(0,G.err)(new Be(a,e.name)):(0,G.ok)({name:e.name,version:a})}async function ir(e,{token:t,provider:n,options:r}){let i=ar(e,r.cwd);if(i.isErr())return(0,G.err)(i.error);let a=i.value,o=$n.pack();for(let e of a)o.entry({name:e.name},e.content);o.finalize();let s=await Ye(o.pipe(Xe()));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 ar(e,t){let n=[],r=F(t,`README.md`);if(N(r)){let e=C(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 or(e){return`Completed in ${K.default.green(`${e.duration.toFixed(2)}ms`)}
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),ee=_(e,337,8),x=f(e);if(x===256)return null;if(x!==_(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:ee,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}})),Jn=t(((e,t)=>{let{Writable:n,Readable:r,getStreamError:i}=Kn(),a=Vn(),o=Hn(),s=qn(),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}})),Yn=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}})),Xn=t(((e,t)=>{let{Readable:n,Writable:r,getStreamError:i}=Kn(),a=Hn(),o=Yn(),s=qn(),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)}})),Zn=t((e=>{e.extract=Jn(),e.pack=Xn()})),Qn=e(de(),1),$n=e(Zn(),1);const er=q.extend({dryRun:j(),verbose:j()}),tr=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(er,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!1});r||Z(new ze(n.cwd));let i=r.config,a=w.dirname(r.path),o={...n,cwd:a};await Q(i,{command:`publish`,options:o},{cwd:a,yes:!1}),u();let s=await X(nr(e,{config:i,options:o}));R(or(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 nr(e,{options:t,config:n}){let{verbose:r,spinner:i}=le({options:t}),a=performance.now();if(t.dryRun&&z.warn(`${K.default.bgYellow(K.default.black(` DRY RUN `))} ${K.default.dim(`No registries will be published.`)}`),!$e(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 V(`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 Qe(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=rr(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 ir(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 rr(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 Ve(e.version,e.name));let a;return a=e.version===`package`&&t.version!==void 0?t.version:e.version,a===void 0||!Qn.default.valid(a)?(0,G.err)(new Ve(a,e.name)):(0,G.ok)({name:e.name,version:a})}async function ir(e,{token:t,provider:n,options:r}){let i=ar(e,r.cwd);if(i.isErr())return(0,G.err)(i.error);let a=i.value,o=$n.pack();for(let e of a)o.entry({name:e.name},e.content);o.finalize();let s=await Ye(o.pipe(Xe()));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 V(`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 V(`Failed to publish registry: ${e instanceof Error?e.message:String(e)}`,{suggestion:`Please try again.`}))}}function ar(e,t){let n=[],r=P(t,`README.md`);if(M(r)){let e=S(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 or(e){return`Completed in ${K.default.green(`${e.duration.toFixed(2)}ms`)}
41
41
  ${e.publishedRegistries.map(e=>` ${sr(e)}`).join(`
42
- `)}`}function sr(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 cr=q.extend({yes:M(),all:M(),verbose:M(),registry:I().optional(),overwrite:M(),expand:M(),maxUnchanged:j(),with:ae(I()).default([]),withExamples:M(),withDocs:M(),withTests:M()}),lr=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(cr,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!n.yes});r||Z(new Re(n.cwd));let i=r.config,a=T.dirname(r.path);await Q(i,{command:`update`,options:{...n,cwd:a}},{cwd:a,yes:n.yes}),u();let o=await X(ur(e,{...n,cwd:a},r));z(dr(o)),await $(i,{command:`update`,options:{...n,cwd:a},result:o},{cwd:a})});async function ur(e,t,n){let{verbose:r,spinner:i}=ce({options:t}),s=n?.config,c=s?.providers??de,l=t.registry?[t.registry]:s?.registries??[],u;if(e.length>0){let n=x(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 w(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 w(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 ie({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(N(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 V({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}`}))});L(n)&&(R(`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 ie({items:p,config:s,options:t});if(g.isErr())return(0,G.err)(g.error);let{itemPaths:_,updatedPaths:y}=g.value,b=await me({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:S,neededEnvVars:T,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&&y){let e=C(n.path);if(e.isErr())return(0,G.err)(e.error);let t=e.value,r=await Tt(s?.paths??y,{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(T){let e=await v(T,{options:t});if(e.isErr())return(0,G.err)(e.error);k=e.value}return(0,G.ok)({items:p,updatedDependencies:await m(S,{options:t,config:s}),updatedEnvVars:k,updatedFiles:O,updatedPaths:y})}function dr(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
- `)}We.name(s).description(g).version(_e).addCommand(kt).addCommand(Nt).addCommand(zt).addCommand(On).addCommand(Mn).addCommand(tr).addCommand(lr).parse();export{};
42
+ `)}`}function sr(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 cr=q.extend({yes:j(),all:j(),verbose:j(),registry:F().optional(),overwrite:j(),expand:j(),maxUnchanged:A(),with:oe(F()).default([]),withExamples:j(),withDocs:j(),withTests:j()}),lr=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(cr,t),r=await f({cwd:n.cwd,promptForContinueIfNull:!n.yes});r||Z(new ze(n.cwd));let i=r.config,a=w.dirname(r.path);await Q(i,{command:`update`,options:{...n,cwd:a}},{cwd:a,yes:n.yes}),u();let o=await X(ur(e,{...n,cwd:a},r));R(dr(o)),await $(i,{command:`update`,options:{...n,cwd:a},result:o},{cwd:a})});async function ur(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=ee(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 C(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 C(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(M(te({...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}`}))});I(n)&&(B(`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 be(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:y}=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:w,neededFiles:T}=b.value,E=await o({files:T,options:t});if(E.isErr())return(0,G.err)(E.error);let D=E.value;if(n&&y){let e=S(n.path);if(e.isErr())return(0,G.err)(e.error);let t=e.value,r=await Tt(s?.paths??y,{config:{path:n.path,code:t}});if(r.isErr())return(0,G.err)(r.error);let i=N(n.path,r.value);if(i.isErr())return(0,G.err)(i.error)}let O;if(w){let e=await v(w,{options:t});if(e.isErr())return(0,G.err)(e.error);O=e.value}return(0,G.ok)({items:p,updatedDependencies:await m(x,{options:t,config:s}),updatedEnvVars:O,updatedFiles:D,updatedPaths:y})}function dr(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
+ `)}We.name(s).description(g).version(ve).addCommand(kt).addCommand(Nt).addCommand(zt).addCommand(On).addCommand(Mn).addCommand(tr).addCommand(lr).parse();export{};
44
44
  //# sourceMappingURL=bin.mjs.map