jsrepo 3.0.1 → 3.0.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"../errors-C_rb7vZB.js";import{M as e,N as t,P as n}from"../providers-BD5Z5zBT.js";export{t as OptionallyInstalledRegistryTypes,n as defineConfig,e as loadConfigSearch};
1
+ import"../errors-C_rb7vZB.js";import{M as e,N as t,P as n}from"../providers-894ojq57.js";export{t as OptionallyInstalledRegistryTypes,n as defineConfig,e as loadConfigSearch};
package/dist/api/index.js CHANGED
@@ -1 +1 @@
1
- import{A as e,B as t,C as n,D as r,E as i,F as a,I as o,L as s,M as c,N as l,O as u,P as d,R as f,S as p,T as m,V as h,_ as g,a as _,b as v,c as y,d as b,f as x,g as S,h as C,i as w,j as T,k as E,l as D,m as O,n as k,o as A,p as j,r as M,s as N,t as P,u as F,v as I,w as L,x as R,y as z,z as B}from"../errors-C_rb7vZB.js";import{C as V,F as H,H as U,I as W,J as G,L as K,M as q,N as J,P as Y,R as X,S as Z,T as Q,X as $,_ as ee,a as te,b as ne,c as re,d as ie,f as ae,g as oe,i as se,it as ce,l as le,m as ue,n as de,o as fe,p as pe,s as me,t as he,u as ge,v as _e,x as ve,y as ye,z as be}from"../providers-BD5Z5zBT.js";export{P as AlreadyInitializedError,k as BuildError,M as ConfigNotFoundError,w as ConfigObjectNotFoundError,_ as CouldNotFindJsrepoImportError,H as DEFAULT_LANGS,he as DEFAULT_PROVIDERS,A as DuplicateFileReferenceError,N as DuplicateItemNameError,y as FailedToLoadConfigError,D as FileNotFoundError,F as IllegalBlockNameError,b as ImportedFileNotResolvedError,x as InvalidDependencyError,j as InvalidJSONError,O as InvalidKeyTypeError,C as InvalidOptionsError,S as InvalidPluginError,g as InvalidRegistryDependencyError,I as InvalidRegistryError,z as InvalidRegistryNameError,v as InvalidRegistryVersionError,R as JsrepoError,p as ManifestFetchError,ie as ManifestSchema,n as MissingPeerDependencyError,L as ModuleNotFoundError,m as MultipleRegistriesError,i as NoFilesError,r as NoItemsToUpdateError,u as NoListedItemsError,E as NoOutputsError,e as NoPackageJsonFoundError,T as NoPathProvidedError,c as NoProviderFoundError,l as NoRegistriesError,J as OptionallyInstalledRegistryTypes,d as ProviderFetchError,a as RegistryFileFetchError,o as RegistryItemFetchError,s as RegistryItemNotFoundError,f as RegistryNotProvidedError,B as SelfReferenceError,t as Unreachable,h as ZodError,ge as azure,le as bitbucket,be as css,Y as defineConfig,Q as distributed,pe as fetchAllResolvedItems,de as fetchManifest,re as fs,ue as getPathsForItems,me as github,fe as gitlab,X as html,te as http,ce as joinAbsolute,U as js,se as jsrepo,q as loadConfigSearch,oe as normalizeItemTypeForPath,ee as parseWantedItems,_e as prepareUpdates,G as promptAddEnvVars,$ as promptInstallDependenciesByEcosystem,ae as repository,ye as resolveAndFetchAllItems,ne as resolveRegistries,ve as resolveTree,Z as resolveWantedItems,K as svelte,V as updateFiles,W as vue};
1
+ import{A as e,B as t,C as n,D as r,E as i,F as a,I as o,L as s,M as c,N as l,O as u,P as d,R as f,S as p,T as m,V as h,_ as g,a as _,b as v,c as y,d as b,f as x,g as S,h as C,i as w,j as T,k as E,l as D,m as O,n as k,o as A,p as j,r as M,s as N,t as P,u as F,v as I,w as L,x as R,y as z,z as B}from"../errors-C_rb7vZB.js";import{C as V,F as H,H as U,I as W,J as G,L as K,M as q,N as J,P as Y,R as X,S as Z,T as Q,X as $,_ as ee,a as te,b as ne,c as re,d as ie,f as ae,g as oe,i as se,it as ce,l as le,m as ue,n as de,o as fe,p as pe,s as me,t as he,u as ge,v as _e,x as ve,y as ye,z as be}from"../providers-894ojq57.js";export{P as AlreadyInitializedError,k as BuildError,M as ConfigNotFoundError,w as ConfigObjectNotFoundError,_ as CouldNotFindJsrepoImportError,H as DEFAULT_LANGS,he as DEFAULT_PROVIDERS,A as DuplicateFileReferenceError,N as DuplicateItemNameError,y as FailedToLoadConfigError,D as FileNotFoundError,F as IllegalBlockNameError,b as ImportedFileNotResolvedError,x as InvalidDependencyError,j as InvalidJSONError,O as InvalidKeyTypeError,C as InvalidOptionsError,S as InvalidPluginError,g as InvalidRegistryDependencyError,I as InvalidRegistryError,z as InvalidRegistryNameError,v as InvalidRegistryVersionError,R as JsrepoError,p as ManifestFetchError,ie as ManifestSchema,n as MissingPeerDependencyError,L as ModuleNotFoundError,m as MultipleRegistriesError,i as NoFilesError,r as NoItemsToUpdateError,u as NoListedItemsError,E as NoOutputsError,e as NoPackageJsonFoundError,T as NoPathProvidedError,c as NoProviderFoundError,l as NoRegistriesError,J as OptionallyInstalledRegistryTypes,d as ProviderFetchError,a as RegistryFileFetchError,o as RegistryItemFetchError,s as RegistryItemNotFoundError,f as RegistryNotProvidedError,B as SelfReferenceError,t as Unreachable,h as ZodError,ge as azure,le as bitbucket,be as css,Y as defineConfig,Q as distributed,pe as fetchAllResolvedItems,de as fetchManifest,re as fs,ue as getPathsForItems,me as github,fe as gitlab,X as html,te as http,ce as joinAbsolute,U as js,se as jsrepo,q as loadConfigSearch,oe as normalizeItemTypeForPath,ee as parseWantedItems,_e as prepareUpdates,G as promptAddEnvVars,$ as promptInstallDependenciesByEcosystem,ae as repository,ye as resolveAndFetchAllItems,ne as resolveRegistries,ve as resolveTree,Z as resolveWantedItems,K as svelte,V as updateFiles,W as vue};
@@ -1 +1 @@
1
- import"../../errors-C_rb7vZB.js";import{F as e,H as t,I as n,L as r,R as i,z as a}from"../../providers-BD5Z5zBT.js";export{e as DEFAULT_LANGS,a as css,i as html,t as js,r as svelte,n as vue};
1
+ import"../../errors-C_rb7vZB.js";import{F as e,H as t,I as n,L as r,R as i,z as a}from"../../providers-894ojq57.js";export{e as DEFAULT_LANGS,a as css,i as html,t as js,r as svelte,n as vue};
@@ -1 +1 @@
1
- import"../../errors-C_rb7vZB.js";import{B as e,H as t,U as n,V as r,W as i}from"../../providers-BD5Z5zBT.js";export{e as getImports,r as installDependencies,t as js,n as resolveImports,i as transformImports};
1
+ import"../../errors-C_rb7vZB.js";import{B as e,H as t,U as n,V as r,W as i}from"../../providers-894ojq57.js";export{e as getImports,r as installDependencies,t as js,n as resolveImports,i as transformImports};
@@ -1 +1 @@
1
- import"../errors-C_rb7vZB.js";import{T as e,d as t,f as n}from"../providers-BD5Z5zBT.js";export{t as ManifestSchema,e as distributed,n as repository};
1
+ import"../errors-C_rb7vZB.js";import{T as e,d as t,f as n}from"../providers-894ojq57.js";export{t as ManifestSchema,e as distributed,n as repository};
@@ -1 +1 @@
1
- import"../errors-C_rb7vZB.js";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-BD5Z5zBT.js";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"../errors-C_rb7vZB.js";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-894ojq57.js";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};
package/dist/api/utils.js CHANGED
@@ -1 +1 @@
1
- import"../errors-C_rb7vZB.js";import{C as e,J as t,S as n,X as r,_ as i,b as a,g as o,it as s,m as c,p as l,v as u,x as d,y as f}from"../providers-BD5Z5zBT.js";export{l as fetchAllResolvedItems,c as getPathsForItems,s as joinAbsolute,o as normalizeItemTypeForPath,i as parseWantedItems,u as prepareUpdates,t as promptAddEnvVars,r as promptInstallDependenciesByEcosystem,f as resolveAndFetchAllItems,a as resolveRegistries,d as resolveTree,n as resolveWantedItems,e as updateFiles};
1
+ import"../errors-C_rb7vZB.js";import{C as e,J as t,S as n,X as r,_ as i,b as a,g as o,it as s,m as c,p as l,v as u,x as d,y as f}from"../providers-894ojq57.js";export{l as fetchAllResolvedItems,c as getPathsForItems,s as joinAbsolute,o as normalizeItemTypeForPath,i as parseWantedItems,u as prepareUpdates,t as promptAddEnvVars,r as promptInstallDependenciesByEcosystem,f as resolveAndFetchAllItems,a as resolveRegistries,d as resolveTree,n as resolveWantedItems,e as updateFiles};
package/dist/bin.js CHANGED
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
- import{A as e,D as t,G as n,H as r,M as i,N as a,R as o,U as s,W as c,a as l,b as u,g as d,h as f,i as p,k as m,m as h,r as g,t as _,v,x as y,y as b}from"./errors-C_rb7vZB.js";import{$ as x,A as S,At as C,B as w,C as ee,Ct as te,D as ne,Dt as re,E as ie,Et as T,G as E,J as D,K as O,M as k,Mt as ae,Nt as oe,O as se,Ot as ce,Q as le,S as ue,St as de,Tt as A,X as fe,Y as pe,Z as me,_ as j,_t as he,at as ge,b as _e,bt as ve,ct as ye,dt as M,et as be,ft as xe,g as Se,gt as Ce,h as we,ht as Te,it as Ee,j as De,jt as Oe,k as ke,kt as Ae,lt as je,m as Me,mt as Ne,nt as Pe,ot as Fe,pt as Ie,q as Le,r as Re,rt as N,st as ze,t as Be,tt as Ve,ut as He,v as Ue,vt as We,w as Ge,wt as Ke,xt as qe,y as Je,yt as Ye}from"./providers-BD5Z5zBT.js";import{t as Xe}from"./magic-string.es-BweEsiXU.js";import{Command as Ze,Option as Qe,program as $e}from"commander";import{watch as et}from"node:fs";import{Visitor as tt,parseAsync as nt}from"oxc-parser";import rt from"node:os";import{buffer as it}from"node:stream/consumers";import{createGzip as at}from"node:zlib";var ot=n(We(),1),st=n(r(),1);const ct=Ie({cwd:Te().transform(e=>e)}),P={yes:new Qe(`--yes`,`Skip the confirmation prompt.`).default(!1),noCache:new Qe(`--no-cache`,`Disable caching of resolved git urls.`).default(!1),verbose:new Qe(`--verbose`,`Include debug logs.`).default(!1),overwrite:new Qe(`--overwrite`,`Overwrite files without prompting.`).default(!1),expand:new Qe(`-E, --expand`,`Expands the diff so you see the entire file.`).default(!1),maxUnchanged:new Qe(`--max-unchanged <lines>`,`Maximum unchanged lines that will show without being collapsed.`).argParser(e=>Number.parseInt(e,10)).default(5),cwd:new Qe(`--cwd <path>`,`The current working directory.`).default(process.cwd())};function lt(e,t){return Fe(e,t).match(e=>e,e=>dt(new f(e.zodError)))}async function ut(e){try{let t=await e;return t.isErr()?dt(t.error):t.value}catch(e){e instanceof y&&dt(e),dt(new y(e instanceof Error?e.message:String(e),{suggestion:`Please try again.`}))}}function dt(e){return ft(e)}function ft(e){Ke.message(),process.env.JSREPO_TRACE===`1`?(console.trace(e),process.exit(1)):(T(st.default.red(e.toString())),process.exit(1))}async function pt(e,t,n){if(Array.isArray(e.registry)){let r=[];for(let i of e.registry)r.push(await t(await ye(i,n)));return r}else return[await t(await ye(e.registry,n))]}function mt(e){return Array.isArray(e.registry)?e.registry.length>0:!0}var ht=class{withinExportDefaultDeclaration=!1;withinDefineConfig=!1;withinMainObjectExpression=!1;withinIgnoredProperty=!1;configKeyPropertyDeclaration=null;mainObjectExpression=null};async function gt(e,{config:t}){if(Object.keys(e).length===0)return(0,ot.ok)(t.code);let n=await nt(t.path,t.code),r=new Xe(t.code),i=new ht;if(i.withinDefineConfig=!0,new tt({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,ot.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,ot.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${S.test(e)?e:`'${e}'`}: '${t}'`).join(`,
2
+ import{A as e,D as t,G as n,H as r,M as i,N as a,R as o,U as s,W as c,a as l,b as u,g as d,h as f,i as p,k as m,m as h,r as g,t as _,v,x as y,y as b}from"./errors-C_rb7vZB.js";import{$ as x,A as S,At as C,B as w,C as ee,Ct as te,D as ne,Dt as re,E as ie,Et as T,G as E,J as D,K as O,M as k,Mt as ae,Nt as oe,O as se,Ot as ce,Q as le,S as ue,St as de,Tt as A,X as fe,Y as pe,Z as me,_ as j,_t as he,at as ge,b as _e,bt as ve,ct as ye,dt as M,et as be,ft as xe,g as Se,gt as Ce,h as we,ht as Te,it as Ee,j as De,jt as Oe,k as ke,kt as Ae,lt as je,m as Me,mt as Ne,nt as Pe,ot as Fe,pt as Ie,q as Le,r as Re,rt as N,st as ze,t as Be,tt as Ve,ut as He,v as Ue,vt as We,w as Ge,wt as Ke,xt as qe,y as Je,yt as Ye}from"./providers-894ojq57.js";import{t as Xe}from"./magic-string.es-BweEsiXU.js";import{Command as Ze,Option as Qe,program as $e}from"commander";import{watch as et}from"node:fs";import{Visitor as tt,parseAsync as nt}from"oxc-parser";import rt from"node:os";import{buffer as it}from"node:stream/consumers";import{createGzip as at}from"node:zlib";var ot=n(We(),1),st=n(r(),1);const ct=Ie({cwd:Te().transform(e=>e)}),P={yes:new Qe(`--yes`,`Skip the confirmation prompt.`).default(!1),noCache:new Qe(`--no-cache`,`Disable caching of resolved git urls.`).default(!1),verbose:new Qe(`--verbose`,`Include debug logs.`).default(!1),overwrite:new Qe(`--overwrite`,`Overwrite files without prompting.`).default(!1),expand:new Qe(`-E, --expand`,`Expands the diff so you see the entire file.`).default(!1),maxUnchanged:new Qe(`--max-unchanged <lines>`,`Maximum unchanged lines that will show without being collapsed.`).argParser(e=>Number.parseInt(e,10)).default(5),cwd:new Qe(`--cwd <path>`,`The current working directory.`).default(process.cwd())};function lt(e,t){return Fe(e,t).match(e=>e,e=>dt(new f(e.zodError)))}async function ut(e){try{let t=await e;return t.isErr()?dt(t.error):t.value}catch(e){e instanceof y&&dt(e),dt(new y(e instanceof Error?e.message:String(e),{suggestion:`Please try again.`}))}}function dt(e){return ft(e)}function ft(e){Ke.message(),process.env.JSREPO_TRACE===`1`?(console.trace(e),process.exit(1)):(T(st.default.red(e.toString())),process.exit(1))}async function pt(e,t,n){if(Array.isArray(e.registry)){let r=[];for(let i of e.registry)r.push(await t(await ye(i,n)));return r}else return[await t(await ye(e.registry,n))]}function mt(e){return Array.isArray(e.registry)?e.registry.length>0:!0}var ht=class{withinExportDefaultDeclaration=!1;withinDefineConfig=!1;withinMainObjectExpression=!1;withinIgnoredProperty=!1;configKeyPropertyDeclaration=null;mainObjectExpression=null};async function gt(e,{config:t}){if(Object.keys(e).length===0)return(0,ot.ok)(t.code);let n=await nt(t.path,t.code),r=new Xe(t.code),i=new ht;if(i.withinDefineConfig=!0,new tt({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,ot.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,ot.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${S.test(e)?e:`'${e}'`}: '${t}'`).join(`,
3
3
  `)}\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${S.test(e)?e:`'${e}'`}: '${t}'`).join(`,
4
4
  `)}`)}}else{if(i.mainObjectExpression===null)return(0,ot.err)(new p);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${S.test(e)?e:`'${e}'`}: '${t}'`).join(`,
5
5
  `)}\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${S.test(e)?e:`'${e}'`}: '${t}'`).join(`,
6
- `)}\n\t}`)}}return(0,ot.ok)(r.toString())}var _t=n(We(),1),vt=n(r(),1);const yt=ct.extend({yes:M(),all:M(),overwrite:M(),verbose:M(),registry:Te().optional(),withExamples:M(),withDocs:M(),withTests:M(),expand:M(),maxUnchanged:xe()}),bt=new Ze(`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-examples`,`Add items with examples.`,!1).option(`--with-docs`,`Add items with docs.`,!1).option(`--with-tests`,`Add items with tests.`,!1).addOption(P.cwd).addOption(P.yes).addOption(P.verbose).addOption(P.overwrite).addOption(P.expand).addOption(P.maxUnchanged).action(async(e,t)=>{let n=lt(yt,t);O();let r=await k({cwd:n.cwd,promptForContinueIfNull:!n.yes});A(St(await ut(xt(e,{...n,cwd:r?Ce.dirname(r.path):n.cwd},r))))});async function xt(e,t,n){let{verbose:r,spinner:i}=E({options:t}),a=n?.config,s=a?.providers??Be,c=t.registry?[t.registry]:a?.registries??[],l;if(e.length===0||t.all){if(t.all&&e.length>0)for(let t of e)s.some(e=>e.matches(t))||dt(new v(t));let n=e.length>0?e:c;if(n.length===0)return(0,_t.err)(new o);i.start(`Retrieving manifest${c.length>1?`s`:``} from ${vt.default.cyan(c.join(`, `))}`);let r=await _e(n,{cwd:t.cwd,providers:s});if(r.isErr())return i.stop(`Failed to retrieve manifests`),(0,_t.err)(r.error);i.stop(`Retrieved manifest${c.length>1?`s`:``} from ${vt.default.cyan(c.join(`, `))}`);let a=r.value,u=Array.from(a.entries()).flatMap(([e,t])=>t.manifest.items.filter(e=>e).map(e=>({item:e,registry:t})));if(t.all)l=u;else{let e=await de({message:`Which items would you like to add?`,options:u.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?`${vt.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});C(e)&&(T(`Canceled!`),process.exit(0)),l=u.filter(t=>e.includes(`${t.registry.url}/${t.item.name}`)).map(e=>({registry:e.registry,item:e.item}))}}else{let n=j(e,{providers:s,registries:c});if(n.isErr())return(0,_t.err)(n.error);let{wantedItems:r,neededRegistries:a}=n.value;i.start(`Retrieving manifest${a.length>1?`s`:``} from ${vt.default.cyan(a.join(`, `))}`);let o=await _e(a,{cwd:t.cwd,providers:s});if(o.isErr())return i.stop(`Failed to retrieve manifests`),(0,_t.err)(o.error);i.stop(`Retrieved manifest${a.length>1?`s`:``} from ${vt.default.cyan(a.join(`, `))}`);let u=o.value,d=await ue(r,{resolvedRegistries:u,nonInteractive:t.yes});if(d.isErr())return(0,_t.err)(d.error);l=d.value}i.start(`Fetching ${vt.default.cyan(l.map(e=>e.item.name).join(`, `))}...`);let u=await Je(l,{options:t});if(u.isErr())return i.stop(`Failed to fetch items`),(0,_t.err)(u.error);i.stop(`Fetched ${vt.default.cyan(l.map(e=>e.item.name).join(`, `))}`);let d=u.value,f=await Me({items:d,config:a,options:t});if(f.isErr())return(0,_t.err)(f.error);let{itemPaths:p,updatedPaths:m}=f.value,h=await Ue({configResult:n,options:t,itemPaths:p,items:d});if(h.isErr())return(0,_t.err)(h.error);let{neededDependencies:g,neededEnvVars:_,neededFiles:y}=h.value,b=await ee({files:y,options:t});if(b.isErr())return(0,_t.err)(b.error);let x=b.value;if(n&&m){let e=Pe(n.path);if(e.isErr())return(0,_t.err)(e.error);let t=e.value,r=await gt(a?.paths??m,{config:{path:n.path,code:t}});if(r.isErr())return(0,_t.err)(r.error);let i=N(n.path,r.value);if(i.isErr())return(0,_t.err)(i.error)}let S;if(_){let e=await D(_,{options:t});if(e.isErr())return(0,_t.err)(e.error);S=e.value}return(0,_t.ok)({items:d,updatedDependencies:await fe(g,{options:t,config:a}),updatedEnvVars:S,updatedFiles:x,updatedPaths:m})}function St(e){let t=[`Added ${vt.default.cyan(e.items.map(e=>e.name).join(`, `))} to your project.`];return t.push(` Updated ${vt.default.green(e.updatedFiles.length)} files.`),e.updatedPaths&&t.push(` Updated ${vt.default.green(Object.keys(e.updatedPaths).length)} paths.`),e.updatedDependencies.length>0&&t.push(` Updated ${vt.default.green(e.updatedDependencies.length)} dependencies.`),e.updatedEnvVars&&t.push(` Updated ${vt.default.green(Object.keys(e.updatedEnvVars).length)} environment variables.`),t.join(`
6
+ `)}\n\t}`)}}return(0,ot.ok)(r.toString())}var _t=n(We(),1),vt=n(r(),1);const yt=ct.extend({yes:M(),all:M(),overwrite:M(),verbose:M(),registry:Te().optional(),withExamples:M(),withDocs:M(),withTests:M(),expand:M(),maxUnchanged:xe()}),bt=new Ze(`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-examples`,`Add items with examples.`,!1).option(`--with-docs`,`Add items with docs.`,!1).option(`--with-tests`,`Add items with tests.`,!1).addOption(P.cwd).addOption(P.yes).addOption(P.verbose).addOption(P.overwrite).addOption(P.expand).addOption(P.maxUnchanged).action(async(e,t)=>{let n=lt(yt,t);O();let r=await k({cwd:n.cwd,promptForContinueIfNull:!n.yes});A(St(await ut(xt(e,{...n,cwd:r?Ce.dirname(r.path):n.cwd},r))))});async function xt(e,t,n){let{verbose:r,spinner:i}=E({options:t}),a=n?.config,s=a?.providers??Be,c=t.registry?[t.registry]:a?.registries??[],l;if(e.length===0||t.all){if(t.all&&e.length>0)for(let t of e)s.some(e=>e.matches(t))||dt(new v(t));let n=e.length>0?e:c;if(n.length===0)return(0,_t.err)(new o);i.start(`Retrieving manifest${c.length>1?`s`:``} from ${vt.default.cyan(c.join(`, `))}`);let r=await _e(n,{cwd:t.cwd,providers:s});if(r.isErr())return i.stop(`Failed to retrieve manifests`),(0,_t.err)(r.error);i.stop(`Retrieved manifest${c.length>1?`s`:``} from ${vt.default.cyan(c.join(`, `))}`);let a=r.value,u=Array.from(a.entries()).flatMap(([e,t])=>t.manifest.items.filter(e=>e).map(e=>({item:e,registry:t})));if(t.all)l=u;else{let e=await de({message:`Which items would you like to add?`,options:u.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?`${vt.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});C(e)&&(T(`Canceled!`),process.exit(0)),l=u.filter(t=>e.includes(`${t.registry.url}/${t.item.name}`)).map(e=>({registry:e.registry,item:e.item}))}}else{let n=j(e,{providers:s,registries:c});if(n.isErr())return(0,_t.err)(n.error);let{wantedItems:r,neededRegistries:a}=n.value;i.start(`Retrieving manifest${a.length>1?`s`:``} from ${vt.default.cyan(a.join(`, `))}`);let o=await _e(a,{cwd:t.cwd,providers:s});if(o.isErr())return i.stop(`Failed to retrieve manifests`),(0,_t.err)(o.error);i.stop(`Retrieved manifest${a.length>1?`s`:``} from ${vt.default.cyan(a.join(`, `))}`);let u=o.value,d=await ue(r,{resolvedRegistries:u,nonInteractive:t.yes});if(d.isErr())return(0,_t.err)(d.error);l=d.value}i.start(`Fetching ${vt.default.cyan(l.map(e=>e.item.name).join(`, `))}...`);let u=await Je(l,{options:t});if(u.isErr())return i.stop(`Failed to fetch items`),(0,_t.err)(u.error);i.stop(`Fetched ${vt.default.cyan(l.map(e=>e.item.name).join(`, `))}`);let d=u.value,f=await Me({items:d,config:a,options:t});if(f.isErr())return(0,_t.err)(f.error);let{itemPaths:p,updatedPaths:m}=f.value,h=await Ue({configResult:n,options:t,itemPaths:p,items:d});if(h.isErr())return(0,_t.err)(h.error);let{neededDependencies:g,neededEnvVars:_,neededFiles:y}=h.value,b=await ee({files:y,options:t});if(b.isErr())return(0,_t.err)(b.error);let x=b.value;if(n&&m){let e=Pe(n.path);if(e.isErr())return(0,_t.err)(e.error);let t=e.value,r=await gt(a?.paths??m,{config:{path:n.path,code:t}});if(r.isErr())return(0,_t.err)(r.error);let i=N(n.path,r.value);if(i.isErr())return(0,_t.err)(i.error)}let S;if(_){let e=await D(_,{options:t});if(e.isErr())return(0,_t.err)(e.error);S=e.value}return(0,_t.ok)({items:d,updatedDependencies:await fe(g,{options:t,config:a}),updatedEnvVars:S,updatedFiles:x,updatedPaths:m})}function St(e){let t=[`Added ${vt.default.cyan(e.items.map(e=>e.name).join(`, `))} to your project.`];return t.push(` Updated ${vt.default.green(e.updatedFiles.length)} files.`),e.updatedPaths&&t.push(` Updated ${vt.default.green(Object.keys(e.updatedPaths).length)} paths.`),e.updatedDependencies.length>0&&t.push(` Updated ${vt.default.green(e.updatedDependencies.length)} dependencies.`),e.updatedEnvVars&&t.push(` Updated ${vt.default.green(Object.keys(e.updatedEnvVars).length)} environment variables.`),t.join(`
7
7
  `)}var Ct=n(We(),1),wt=n(r(),1);const Tt=ct.extend({token:Te().optional(),logout:M(),verbose:M()}),Et=new Ze(`auth`).description(`Authenticate to a provider or registry.`).argument(`[provider]`,`The provider to authenticate to.`).option(`--logout`,`Execute the logout flow.`,!1).option(`--token <token>`,`The token to use for authenticating to this provider.`).addOption(P.cwd).addOption(P.verbose).action(async(e,t)=>{let n=lt(Tt,t);O(),A(At(await ut(Dt(e,n,(await k({cwd:n.cwd,promptForContinueIfNull:!1}))?.config))))});async function Dt(e,t,n){let{verbose:r,spinner:a}=E({options:t}),o=(n?.providers??Be).filter(e=>e.auth!==void 0),s=n?.registries??[],c=new Map;for(let e of s){let t=o.find(t=>t.matches(e));if(!t)return(0,Ct.err)(new i(e));c.set(t.name,[...c.get(t.name)??[],e])}let l;if(e){if(l=o.find(t=>t.name===e),!l)return(0,Ct.err)(new i(e))}else{let e=await qe({message:`Select a provider to authenticate to.`,options:o.map(e=>({label:e.name,value:e.name}))});C(e)&&(T(`Canceled!`),process.exit(0)),l=o.find(t=>t.name===e)}return t.logout?await Ot(l):await kt(l,{config:n,options:t})}async function Ot(e){let t=new Ge;if(e.auth.tokenStoredFor===`registry`){let n=t.getProviderRegistryTokens(e);if(Object.keys(n).length===0)return(0,Ct.ok)({type:`logout`,provider:e.name,registry:void 0});let r=await qe({message:`Select a registry to logout of.`,options:Object.keys(n).map(e=>({label:e,value:e}))});return C(r)&&(T(`Canceled!`),process.exit(0)),t.delete(e,r),(0,Ct.ok)({type:`logout`,provider:e.name,registry:r})}else return t.delete(e,void 0),(0,Ct.ok)({type:`logout`,provider:e.name,registry:void 0})}async function kt(e,{config:t,options:n}){let r=new Ge;if(e.auth.tokenStoredFor===`registry`){let i=t?.registries??[],a;if(i.length===0){let t=await ce({message:`Enter the name of the registry to authenticate to.`,validate(t){if(!t||t.trim()===``)return`Please provide a value`;if(!e.matches(t))return`Registry cannot be parsed by this provider`}});C(t)&&(T(`Canceled!`),process.exit(0)),a=t}else{let t=await qe({message:`Select a registry to authenticate to.`,options:[...i.map(e=>({label:e,value:e})),{label:`Other`,value:`other`}]});if(C(t)&&(T(`Canceled!`),process.exit(0)),t===`other`){let t=await ce({message:`Enter the name of the registry to authenticate to.`,validate(t){if(!t||t.trim()===``)return`Please provide a value`;if(!e.matches(t))return`Registry cannot be parsed by this provider`}});C(t)&&(T(`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:Ae,multiselect:te,select:qe,text:ce,log:Ke,spinner:ve,groupMultiselect:Ye,password:re,isCancel:C,cancel:T,color:wt.default}});else{let e=await re({message:`Enter your token for ${wt.default.cyan(a)}`,validate(e){if(!e||e.trim()===``)return`Please provide a value`}});C(e)&&(T(`Canceled!`),process.exit(0)),o=e}return r.set(e,a,o),(0,Ct.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:Ae,multiselect:te,select:qe,text:ce,log:Ke,spinner:ve,groupMultiselect:Ye,password:re,isCancel:C,cancel:T,color:wt.default}});else{let n=await re({message:`Enter your token for ${wt.default.cyan(e.name)}`,validate(e){if(!e||e.trim()===``)return`Please provide a value`}});C(n)&&(T(`Canceled!`),process.exit(0)),t=n}return r.set(e,void 0,t),(0,Ct.ok)({type:`login`,provider:e.name})}}function At({type:e,provider:t,registry:n}){let r=n?`${wt.default.cyan(n)}`:`${wt.default.cyan(t)}`;return e===`login`?`Logged in to ${r}.`:`Logged out of ${r}.`}var jt=n(We(),1),Mt=n(r(),1);const Nt=ct.extend({watch:M(),debounce:xe()}),Pt=new Ze(`build`).description(`Build your registry.`).addOption(P.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=lt(Nt,e),n=await k({cwd:t.cwd,promptForContinueIfNull:!1});if(n||dt(new g(t.cwd)),t.watch)await It(t,n);else{O();let e=await ut(Ft({...t,cwd:n?Ce.dirname(n.path):t.cwd},n.config));A(Rt(e,{type:`build`})),e.results.some(e=>e.isErr())&&process.exit(1)}});async function Ft(e,t){if(!mt(t))return(0,jt.err)(new a);let n=performance.now();return(0,jt.ok)({results:await pt(t,async n=>{n.outputs=n.outputs??[];let r=performance.now(),i=await ke(n);if(i.isErr())return(0,jt.err)(i.error);n.outputs.length>0&&await Promise.all(n.outputs.map(t=>t.clean({cwd:e.cwd})));let a=await se(n,{options:e,config:t});if(a.isErr())return(0,jt.err)(a.error);let o=a.value;if(n.outputs.length===0)return(0,jt.err)(new m({registryName:n.name}));await Promise.all(n.outputs.map(t=>t.output(o,{cwd:e.cwd})));let s=performance.now()-r;return(0,jt.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 It(e,t){let n=t.config,r=new AbortController,i=new Map,a=!0,o=()=>{Le&&(process.stdout.clearLine(0),process.stdout.cursorTo(0))},s=(e,t=!1)=>{Le?(o(),process.stdout.write(e)):t&&process.stdout.write(`${e}\n`)},c=ze(async({options:e,config:t})=>{if(a)return;a=!0,s(Mt.default.dim(`Building...`));let n=await Ft(e,t);o(),n.isErr()?process.stdout.write(`Error building registry: ${Mt.default.red(n.error.message)}\n`):process.stdout.write(`${Rt(n.value,{type:`build`})}\n`),s(Mt.default.dim(`${Le?`
8
8
  `:``}Watching for changes...`)),a=!1},e.debounce);i.set(t.path,Lt(t.path,{signal:r.signal,onChange:async()=>{let r=await De({cwd:Ce.dirname(t.path)});r.isErr()||(n=r.value,await l(),c({options:e,config:n}))}}));async function l(){await pt(t.config,async t=>{let a=t.items.flatMap(t=>t.files.map(t=>Ee(e.cwd,t.path)));for(let t of a)i.has(t)||Ve(t)&&i.set(t,Lt(t,{signal:r.signal,onChange:()=>c({options:e,config:n})}))},{cwd:e.cwd})}l(),s(`Building...`,!0);let u=await Ft(e,t.config);o(),u.isErr()?process.stdout.write(`Error building registry: ${Mt.default.red(u.error.message)}\n`):process.stdout.write(`${Rt(u.value,{type:`build`})}\n`),s(Mt.default.dim(`${Le?`
9
9
  `:``}Watching for changes...`)),a=!1,process.on(`SIGINT`,()=>{r.abort()}),process.on(`SIGTERM`,()=>{r.abort()})}function Lt(e,{onChange:t,signal:n}){return et(e,{recursive:!0,signal:n},e=>{e===`change`&&t?.()})}function Rt({results:e,duration:t},{type:n}){return`${n===`build`?`Finished`:`Rebuilt`} in ${Mt.default.green(`${t.toFixed(2)}ms`)}