jsrepo 3.5.2 → 3.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/api/config.d.mts +2 -2
- package/dist/api/config.mjs +1 -1
- package/dist/api/errors.d.mts +1 -1
- package/dist/api/index.d.mts +2 -2
- package/dist/api/index.mjs +1 -1
- package/dist/api/langs/index.d.mts +1 -1
- package/dist/api/langs/index.mjs +1 -1
- package/dist/api/langs/js.d.mts +1 -1
- package/dist/api/langs/js.mjs +1 -1
- package/dist/api/outputs.d.mts +1 -1
- package/dist/api/outputs.mjs +1 -1
- package/dist/api/providers.d.mts +1 -1
- package/dist/api/providers.mjs +1 -1
- package/dist/api/utils.d.mts +1 -1
- package/dist/api/utils.mjs +1 -1
- package/dist/api/warnings.d.mts +1 -1
- package/dist/bin.mjs +2 -2
- package/dist/{config-DCHCNmS9.d.mts → config-BO9l1fH-.d.mts} +40 -3
- package/dist/{providers-SeMdWroh.mjs → providers-ePktDXei.mjs} +10 -10
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<img width="
|
|
1
|
+
<img width="100%" alt="CleanShot 2025-11-24 at 09 35 57" src="https://github.com/user-attachments/assets/61899098-fbc9-4263-972f-aacdfe0976de" />
|
|
2
2
|
|
|
3
3
|
[](https://npmjs.com/package/jsrepo)
|
|
4
4
|
[](https://npmjs.com/package/jsrepo)
|
package/dist/api/config.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { _ as
|
|
2
|
-
export { AfterArgs, AfterHook, BeforeArgs, BeforeHook, Config, Hook, HookFn, InferHookArgs, RegistryFileRoles as OptionallyInstalledRegistryTypes, RegistryConfig, RegistryItem, RegistryItemAdd, RegistryItemFile, RegistryItemType, RemoteDependency, Transform, TransformOptions, defineConfig, loadConfigSearch };
|
|
1
|
+
import { _ as BeforeArgs, a as RegistryFileRoles, b as HookFn, c as RegistryItemFile, d as RemoteDependencyResolverOptions, f as Transform, g as AfterHook, h as AfterArgs, i as RegistryConfig, l as RegistryItemType, m as defineConfig, n as RemoteDependency, o as RegistryItem, p as TransformOptions, r as Config, s as RegistryItemAdd, t as loadConfigSearch, u as RemoteDependencyResolver, v as BeforeHook, x as InferHookArgs, y as Hook } from "../config-BO9l1fH-.mjs";
|
|
2
|
+
export { AfterArgs, AfterHook, BeforeArgs, BeforeHook, Config, Hook, HookFn, InferHookArgs, RegistryFileRoles as OptionallyInstalledRegistryTypes, RegistryConfig, RegistryItem, RegistryItemAdd, RegistryItemFile, RegistryItemType, RemoteDependency, RemoteDependencyResolver, RemoteDependencyResolverOptions, Transform, TransformOptions, defineConfig, loadConfigSearch };
|
package/dist/api/config.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as e,N as t,P as n}from"../providers-
|
|
1
|
+
import{F as e,N as t,P as n}from"../providers-ePktDXei.mjs";import"../warnings-DFbHh8ba.mjs";export{n as OptionallyInstalledRegistryTypes,e as defineConfig,t as loadConfigSearch};
|
package/dist/api/errors.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $t as
|
|
1
|
+
import { $t as RegistryItemFetchError, At as InvalidJSONError, Bt as MissingPeerDependencyError, Ct as DuplicateItemNameError, Dt as IllegalItemNameError, Et as GlobError, Ft as InvalidRegistryError, Gt as NoListedItemsError, Ht as MultipleRegistriesError, It as InvalidRegistryNameError, Jt as NoPathProvidedError, Kt as NoOutputsError, Lt as InvalidRegistryVersionError, Mt as InvalidOptionsError, Nt as InvalidPluginError, Ot as ImportedFileNotResolvedError, Pt as InvalidRegistryDependencyError, Qt as RegistryFileFetchError, Rt as JsrepoError, St as DuplicateFileReferenceError, Tt as FileNotFoundError, Ut as NoFilesError, Vt as ModuleNotFoundError, Wt as NoItemsToUpdateError, Xt as NoRegistriesError, Yt as NoProviderFoundError, Zt as ProviderFetchError, _t as BuildError, bt as ConfigObjectNotFoundError, en as RegistryItemNotFoundError, gt as AlreadyInitializedError, in as ZodError, jt as InvalidKeyTypeError, kt as InvalidDependencyError, nn as SelfReferenceError, qt as NoPackageJsonFoundError, rn as Unreachable, tn as RegistryNotProvidedError, vt as CLIError, wt as FailedToLoadConfigError, xt as CouldNotFindJsrepoImportError, yt as ConfigNotFoundError, zt as ManifestFetchError } from "../config-BO9l1fH-.mjs";
|
|
2
2
|
export { AlreadyInitializedError, BuildError, CLIError, ConfigNotFoundError, ConfigObjectNotFoundError, CouldNotFindJsrepoImportError, DuplicateFileReferenceError, DuplicateItemNameError, FailedToLoadConfigError, FileNotFoundError, GlobError, IllegalItemNameError, ImportedFileNotResolvedError, InvalidDependencyError, InvalidJSONError, InvalidKeyTypeError, InvalidOptionsError, InvalidPluginError, InvalidRegistryDependencyError, InvalidRegistryError, InvalidRegistryNameError, InvalidRegistryVersionError, JsrepoError, ManifestFetchError, MissingPeerDependencyError, ModuleNotFoundError, MultipleRegistriesError, NoFilesError, NoItemsToUpdateError, NoListedItemsError, NoOutputsError, NoPackageJsonFoundError, NoPathProvidedError, NoProviderFoundError, NoRegistriesError, ProviderFetchError, RegistryFileFetchError, RegistryItemFetchError, RegistryItemNotFoundError, RegistryNotProvidedError, SelfReferenceError, Unreachable, ZodError };
|
package/dist/api/index.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as
|
|
2
|
-
export { AbsolutePath, AfterArgs, AfterHook, AlreadyInitializedError, AzureOptions, BeforeArgs, BeforeHook, BitBucketOptions, BuildError, CLIError, Config, ConfigNotFoundError, ConfigObjectNotFoundError, CouldNotFindJsrepoImportError, CreateOptions, CssOptions, DEFAULT_LANGS, DEFAULT_PROVIDERS, DistributedOutputManifest, DistributedOutputOptions, DuplicateFileReferenceError, DuplicateItemNameError, FailedToLoadConfigError, FetchOptions, FileNotFoundError, FsOptions, GetToken, GetTokenWithRegistry, GitHubOptions, GitLabOptions, GlobError, GlobPatternNoMatchWarning, Hook, HookFn, HtmlOptions, HttpOptions, IllegalItemNameError, ImportTransform, ImportedFileNotResolvedError, InferHookArgs, InstallDependenciesOptions, InvalidDependencyError, InvalidImportWarning, InvalidJSONError, InvalidKeyTypeError, InvalidOptionsError, InvalidPluginError, InvalidRegistryDependencyError, InvalidRegistryError, InvalidRegistryNameError, InvalidRegistryVersionError, ItemRelativePath, JsOptions, JsrepoError, JsrepoOptions, Language, LanguageNotFoundWarning, Manifest, ManifestFetchError, ManifestSchema, MissingPeerDependencyError, ModuleNotFoundError, MultipleRegistriesError, NoFilesError, NoItemsToUpdateError, NoListedItemsError, NoOutputsError, NoPackageJsonFoundError, NoPathProvidedError, NoProviderFoundError, NoRegistriesError, RegistryFileRoles as OptionallyInstalledRegistryTypes, Output, Prompts, Provider, ProviderFactory, ProviderFetchError, RegistryConfig, RegistryFileFetchError, RegistryItem, RegistryItemAdd, RegistryItemFetchError, RegistryItemFile, RegistryItemNotFoundError, RegistryItemType, RegistryItemWithContent, RegistryNotProvidedError, RemoteDependency, RepositoryOutputManifest, RepositoryOutputOptions, ResolveDependenciesOptions, ResolveDependenciesResult, SelfReferenceError, SvelteOptions, Transform, TransformImportsOptions, TransformOptions, Unreachable, UnresolvableDynamicImportWarning, VueOptions, Warning, WarningHandler, ZodError, azure, bitbucket, createWarningHandler, css, defineConfig, detectPackageManager, distributed, fetchAllResolvedItems, fetchManifest, _fs as fs, getPathsForItems, github, gitlab, html, http, joinAbsolute, js, jsrepo, loadConfigSearch, normalizeItemTypeForPath, parseWantedItems, prepareUpdates, promptAddEnvVars, promptInstallDependenciesByEcosystem, repository, resolveAndFetchAllItems, resolveRegistries, resolveTree, resolveWantedItems, resolveWithRoles, svelte, updateFiles, vue };
|
|
1
|
+
import { $ as AzureOptions, $t as RegistryItemFetchError, A as getPathsForItems, An as Warning, At as InvalidJSONError, B as fetchManifest, Bt as MissingPeerDependencyError, C as resolveWithRoles, Cn as ResolveDependenciesOptions, Ct as DuplicateItemNameError, D as joinAbsolute, Dn as InvalidImportWarning, Dt as IllegalItemNameError, E as promptInstallDependenciesByEcosystem, En as GlobPatternNoMatchWarning, Et as GlobError, F as resolveRegistries, Ft as InvalidRegistryError, G as GitLabOptions, Gt as NoListedItemsError, H as jsrepo, Ht as MultipleRegistriesError, I as resolveTree, It as InvalidRegistryNameError, J as github, Jt as NoPathProvidedError, K as gitlab, Kt as NoOutputsError, L as resolveWantedItems, Lt as InvalidRegistryVersionError, M as parseWantedItems, Mn as createWarningHandler, Mt as InvalidOptionsError, N as prepareUpdates, Nn as AbsolutePath, Nt as InvalidPluginError, O as RegistryItemWithContent, On as LanguageNotFoundWarning, Ot as ImportedFileNotResolvedError, P as resolveAndFetchAllItems, Pn as ItemRelativePath, Pt as InvalidRegistryDependencyError, Q as bitbucket, Qt as RegistryFileFetchError, R as updateFiles, Rt as JsrepoError, S as Output, Sn as Language, St as DuplicateFileReferenceError, T as promptAddEnvVars, Tn as TransformImportsOptions, Tt as FileNotFoundError, U as HttpOptions, Ut as NoFilesError, V as JsrepoOptions, Vt as ModuleNotFoundError, W as http, Wt as NoItemsToUpdateError, X as _fs, Xt as NoRegistriesError, Y as FsOptions, Yt as NoProviderFoundError, Z as BitBucketOptions, Zt as ProviderFetchError, _ as BeforeArgs, _n as html, _t as BuildError, a as RegistryFileRoles, an as DEFAULT_LANGS, at as Prompts, b as HookFn, bn as ImportTransform, bt as ConfigObjectNotFoundError, c as RegistryItemFile, cn as SvelteOptions, ct as Manifest, d as RemoteDependencyResolverOptions, dt as RepositoryOutputOptions, en as RegistryItemNotFoundError, et as azure, f as Transform, ft as repository, g as AfterHook, gn as HtmlOptions, gt as AlreadyInitializedError, h as AfterArgs, ht as distributed, i as RegistryConfig, in as ZodError, it as GetTokenWithRegistry, j as normalizeItemTypeForPath, jn as WarningHandler, jt as InvalidKeyTypeError, k as fetchAllResolvedItems, kn as UnresolvableDynamicImportWarning, kt as InvalidDependencyError, l as RegistryItemType, ln as svelte, lt as ManifestSchema, m as defineConfig, mt as DistributedOutputOptions, n as RemoteDependency, nn as SelfReferenceError, nt as FetchOptions, o as RegistryItem, on as VueOptions, ot as Provider, p as TransformOptions, pn as js, pt as DistributedOutputManifest, q as GitHubOptions, qt as NoPackageJsonFoundError, r as Config, rn as Unreachable, rt as GetToken, s as RegistryItemAdd, sn as vue, st as ProviderFactory, t as loadConfigSearch, tn as RegistryNotProvidedError, tt as CreateOptions, u as RemoteDependencyResolver, un as JsOptions, ut as RepositoryOutputManifest, v as BeforeHook, vn as CssOptions, vt as CLIError, w as detectPackageManager, wn as ResolveDependenciesResult, wt as FailedToLoadConfigError, x as InferHookArgs, xn as InstallDependenciesOptions, xt as CouldNotFindJsrepoImportError, y as Hook, yn as css, yt as ConfigNotFoundError, z as DEFAULT_PROVIDERS, zt as ManifestFetchError } from "../config-BO9l1fH-.mjs";
|
|
2
|
+
export { AbsolutePath, AfterArgs, AfterHook, AlreadyInitializedError, AzureOptions, BeforeArgs, BeforeHook, BitBucketOptions, BuildError, CLIError, Config, ConfigNotFoundError, ConfigObjectNotFoundError, CouldNotFindJsrepoImportError, CreateOptions, CssOptions, DEFAULT_LANGS, DEFAULT_PROVIDERS, DistributedOutputManifest, DistributedOutputOptions, DuplicateFileReferenceError, DuplicateItemNameError, FailedToLoadConfigError, FetchOptions, FileNotFoundError, FsOptions, GetToken, GetTokenWithRegistry, GitHubOptions, GitLabOptions, GlobError, GlobPatternNoMatchWarning, Hook, HookFn, HtmlOptions, HttpOptions, IllegalItemNameError, ImportTransform, ImportedFileNotResolvedError, InferHookArgs, InstallDependenciesOptions, InvalidDependencyError, InvalidImportWarning, InvalidJSONError, InvalidKeyTypeError, InvalidOptionsError, InvalidPluginError, InvalidRegistryDependencyError, InvalidRegistryError, InvalidRegistryNameError, InvalidRegistryVersionError, ItemRelativePath, JsOptions, JsrepoError, JsrepoOptions, Language, LanguageNotFoundWarning, Manifest, ManifestFetchError, ManifestSchema, MissingPeerDependencyError, ModuleNotFoundError, MultipleRegistriesError, NoFilesError, NoItemsToUpdateError, NoListedItemsError, NoOutputsError, NoPackageJsonFoundError, NoPathProvidedError, NoProviderFoundError, NoRegistriesError, RegistryFileRoles as OptionallyInstalledRegistryTypes, Output, Prompts, Provider, ProviderFactory, ProviderFetchError, RegistryConfig, RegistryFileFetchError, RegistryItem, RegistryItemAdd, RegistryItemFetchError, RegistryItemFile, RegistryItemNotFoundError, RegistryItemType, RegistryItemWithContent, RegistryNotProvidedError, RemoteDependency, RemoteDependencyResolver, RemoteDependencyResolverOptions, RepositoryOutputManifest, RepositoryOutputOptions, ResolveDependenciesOptions, ResolveDependenciesResult, SelfReferenceError, SvelteOptions, Transform, TransformImportsOptions, TransformOptions, Unreachable, UnresolvableDynamicImportWarning, VueOptions, Warning, WarningHandler, ZodError, azure, bitbucket, createWarningHandler, css, defineConfig, detectPackageManager, distributed, fetchAllResolvedItems, fetchManifest, _fs as fs, getPathsForItems, github, gitlab, html, http, joinAbsolute, js, jsrepo, loadConfigSearch, normalizeItemTypeForPath, parseWantedItems, prepareUpdates, promptAddEnvVars, promptInstallDependenciesByEcosystem, repository, resolveAndFetchAllItems, resolveRegistries, resolveTree, resolveWantedItems, resolveWithRoles, svelte, updateFiles, vue };
|
package/dist/api/index.mjs
CHANGED
|
@@ -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-
|
|
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-ePktDXei.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,2 +1,2 @@
|
|
|
1
|
-
import { Cn as
|
|
1
|
+
import { Cn as ResolveDependenciesOptions, Sn as Language, Tn as TransformImportsOptions, _n as html, an as DEFAULT_LANGS, bn as ImportTransform, cn as SvelteOptions, gn as HtmlOptions, ln as svelte, on as VueOptions, pn as js, sn as vue, un as JsOptions, vn as CssOptions, wn as ResolveDependenciesResult, xn as InstallDependenciesOptions, yn as css } from "../../config-BO9l1fH-.mjs";
|
|
2
2
|
export { CssOptions, DEFAULT_LANGS, HtmlOptions, ImportTransform, InstallDependenciesOptions, JsOptions, Language, ResolveDependenciesOptions, ResolveDependenciesResult, SvelteOptions, TransformImportsOptions, VueOptions, css, html, js, svelte, vue };
|
package/dist/api/langs/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as e,I as t,L as n,R as r,U as i,z as a}from"../../providers-
|
|
1
|
+
import{B as e,I as t,L as n,R as r,U as i,z as a}from"../../providers-ePktDXei.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};
|
package/dist/api/langs/js.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { dn as
|
|
1
|
+
import { dn as getImports, fn as installDependencies, hn as transformImports, mn as resolveImports, pn as js } from "../../config-BO9l1fH-.mjs";
|
|
2
2
|
export { getImports, installDependencies, js, resolveImports, transformImports };
|
package/dist/api/langs/js.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{G as e,H as t,U as n,V as r,W as i}from"../../providers-
|
|
1
|
+
import{G as e,H as t,U as n,V as r,W as i}from"../../providers-ePktDXei.mjs";import"../../warnings-DFbHh8ba.mjs";export{r as getImports,t as installDependencies,n as js,i as resolveImports,e as transformImports};
|
package/dist/api/outputs.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { S as Output, ct as Manifest, dt as RepositoryOutputOptions, ft as repository, ht as distributed, lt as ManifestSchema, mt as DistributedOutputOptions, pt as DistributedOutputManifest, ut as RepositoryOutputManifest } from "../config-BO9l1fH-.mjs";
|
|
2
2
|
export { DistributedOutputManifest, DistributedOutputOptions, Manifest, ManifestSchema, Output, RepositoryOutputManifest, RepositoryOutputOptions, distributed, repository };
|
package/dist/api/outputs.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{T as e,d as t,f as n}from"../providers-
|
|
1
|
+
import{T as e,d as t,f as n}from"../providers-ePktDXei.mjs";import"../warnings-DFbHh8ba.mjs";export{t as ManifestSchema,e as distributed,n as repository};
|
package/dist/api/providers.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as
|
|
1
|
+
import { $ as AzureOptions, B as fetchManifest, G as GitLabOptions, H as jsrepo, J as github, K as gitlab, Q as bitbucket, U as HttpOptions, V as JsrepoOptions, W as http, X as _fs, Y as FsOptions, Z as BitBucketOptions, at as Prompts, et as azure, it as GetTokenWithRegistry, nt as FetchOptions, ot as Provider, q as GitHubOptions, rt as GetToken, st as ProviderFactory, tt as CreateOptions, z as DEFAULT_PROVIDERS } from "../config-BO9l1fH-.mjs";
|
|
2
2
|
export { AzureOptions, BitBucketOptions, CreateOptions, DEFAULT_PROVIDERS, FetchOptions, FsOptions, GetToken, GetTokenWithRegistry, GitHubOptions, GitLabOptions, HttpOptions, JsrepoOptions, Prompts, Provider, ProviderFactory, azure, bitbucket, fetchManifest, _fs as fs, github, gitlab, http, jsrepo };
|
package/dist/api/providers.mjs
CHANGED
|
@@ -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-
|
|
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-ePktDXei.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};
|
package/dist/api/utils.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { A as
|
|
1
|
+
import { A as getPathsForItems, C as resolveWithRoles, D as joinAbsolute, E as promptInstallDependenciesByEcosystem, F as resolveRegistries, I as resolveTree, L as resolveWantedItems, M as parseWantedItems, N as prepareUpdates, Nn as AbsolutePath, O as RegistryItemWithContent, P as resolveAndFetchAllItems, Pn as ItemRelativePath, R as updateFiles, T as promptAddEnvVars, j as normalizeItemTypeForPath, k as fetchAllResolvedItems, w as detectPackageManager } from "../config-BO9l1fH-.mjs";
|
|
2
2
|
export { AbsolutePath, ItemRelativePath, RegistryItemWithContent, detectPackageManager, fetchAllResolvedItems, getPathsForItems, joinAbsolute, normalizeItemTypeForPath, parseWantedItems, prepareUpdates, promptAddEnvVars, promptInstallDependenciesByEcosystem, resolveAndFetchAllItems, resolveRegistries, resolveTree, resolveWantedItems, resolveWithRoles, updateFiles };
|
package/dist/api/utils.mjs
CHANGED
|
@@ -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-
|
|
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-ePktDXei.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};
|
package/dist/api/warnings.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { An as
|
|
1
|
+
import { An as Warning, Dn as InvalidImportWarning, En as GlobPatternNoMatchWarning, Mn as createWarningHandler, On as LanguageNotFoundWarning, jn as WarningHandler, kn as UnresolvableDynamicImportWarning } from "../config-BO9l1fH-.mjs";
|
|
2
2
|
export { GlobPatternNoMatchWarning, InvalidImportWarning, LanguageNotFoundWarning, UnresolvableDynamicImportWarning, Warning, WarningHandler, 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 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-
|
|
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-ePktDXei.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(`
|
|
@@ -27,7 +27,7 @@ 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=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';
|
|
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`)}A.dependencies.push(...c.dependencies),A.devDependencies.push(...c.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
|
|
@@ -29,6 +29,7 @@ type AbsolutePath = Branded<string, 'absolutePath'>;
|
|
|
29
29
|
* A path relative to the parent item.
|
|
30
30
|
*/
|
|
31
31
|
type ItemRelativePath = Branded<string, 'itemRelativePath'>;
|
|
32
|
+
type MaybePromise<T> = T | Promise<T> | PromiseLike<T>;
|
|
32
33
|
//#endregion
|
|
33
34
|
//#region src/utils/warnings.d.ts
|
|
34
35
|
/**
|
|
@@ -87,7 +88,7 @@ declare class GlobPatternNoMatchWarning extends Warning {
|
|
|
87
88
|
/**
|
|
88
89
|
* Creates a warning handler that uses the onwarn callback if provided, otherwise uses the default logger.
|
|
89
90
|
*/
|
|
90
|
-
declare function createWarningHandler(onwarn?: Config['onwarn']): WarningHandler;
|
|
91
|
+
declare function createWarningHandler(onwarn?: Config['build']['onwarn']): WarningHandler;
|
|
91
92
|
//#endregion
|
|
92
93
|
//#region src/langs/types.d.ts
|
|
93
94
|
type ResolveDependenciesOptions = {
|
|
@@ -1915,6 +1916,10 @@ type MaybeGetterAsync<T, Args extends unknown[] = unknown[]> = MaybeGetter<T, Ar
|
|
|
1915
1916
|
type RegistryConfigArgs = [{
|
|
1916
1917
|
cwd: string;
|
|
1917
1918
|
}];
|
|
1919
|
+
type RemoteDependencyResolverOptions = {
|
|
1920
|
+
cwd: AbsolutePath;
|
|
1921
|
+
};
|
|
1922
|
+
type RemoteDependencyResolver = (dep: RemoteDependency, options: RemoteDependencyResolverOptions) => MaybePromise<RemoteDependency>;
|
|
1918
1923
|
type Config = {
|
|
1919
1924
|
/** An array of registries to fetch items from.
|
|
1920
1925
|
* @example
|
|
@@ -1947,9 +1952,41 @@ type Config = {
|
|
|
1947
1952
|
* ```
|
|
1948
1953
|
*/
|
|
1949
1954
|
paths: { [key in RegistryItemType | '*']?: string };
|
|
1955
|
+
build: {
|
|
1956
|
+
/**
|
|
1957
|
+
* Custom warning handler. If not provided, warnings will be logged using the default logger.
|
|
1958
|
+
*
|
|
1959
|
+
* @example
|
|
1960
|
+
* ```ts
|
|
1961
|
+
* import { defineConfig } from "jsrepo";
|
|
1962
|
+
* import { InvalidImportWarning } from "jsrepo/warnings";
|
|
1963
|
+
*
|
|
1964
|
+
* export default defineConfig({
|
|
1965
|
+
* // ...
|
|
1966
|
+
* onwarn: (warning, handler) => {
|
|
1967
|
+
* if (warning instanceof InvalidImportWarning) {
|
|
1968
|
+
* // Skip warnings for $app/server and $app/navigation imports
|
|
1969
|
+
* if (['$app/server', '$app/navigation'].includes(warning.specifier)) {
|
|
1970
|
+
* return;
|
|
1971
|
+
* }
|
|
1972
|
+
* }
|
|
1973
|
+
* handler(warning);
|
|
1974
|
+
* }
|
|
1975
|
+
* });
|
|
1976
|
+
* ```
|
|
1977
|
+
*/
|
|
1978
|
+
onwarn?: (warning: Warning, handler: (message: Warning) => void) => void;
|
|
1979
|
+
/**
|
|
1980
|
+
* Resolve each remote dependency before it is added to the built registry output.
|
|
1981
|
+
* Useful for rewriting protocol-based versions (e.g. `workspace:*`, `catalog:`).
|
|
1982
|
+
*/
|
|
1983
|
+
remoteDependencyResolver?: RemoteDependencyResolver;
|
|
1984
|
+
};
|
|
1950
1985
|
/**
|
|
1951
1986
|
* Custom warning handler. If not provided, warnings will be logged using the default logger.
|
|
1952
1987
|
*
|
|
1988
|
+
* @deprecated Use `build.onwarn` instead.
|
|
1989
|
+
*
|
|
1953
1990
|
* @example
|
|
1954
1991
|
* ```ts
|
|
1955
1992
|
* import { defineConfig } from "jsrepo";
|
|
@@ -2309,5 +2346,5 @@ declare function loadConfigSearch({
|
|
|
2309
2346
|
path: AbsolutePath;
|
|
2310
2347
|
} | null>;
|
|
2311
2348
|
//#endregion
|
|
2312
|
-
export {
|
|
2313
|
-
//# sourceMappingURL=config-
|
|
2349
|
+
export { AzureOptions as $, RegistryItemFetchError as $t, getPathsForItems as A, Warning as An, InvalidJSONError as At, fetchManifest as B, MissingPeerDependencyError as Bt, resolveWithRoles as C, ResolveDependenciesOptions as Cn, DuplicateItemNameError as Ct, joinAbsolute as D, InvalidImportWarning as Dn, IllegalItemNameError as Dt, promptInstallDependenciesByEcosystem as E, GlobPatternNoMatchWarning as En, GlobError as Et, resolveRegistries as F, InvalidRegistryError as Ft, GitLabOptions as G, NoListedItemsError as Gt, jsrepo as H, MultipleRegistriesError as Ht, resolveTree as I, InvalidRegistryNameError as It, github as J, NoPathProvidedError as Jt, gitlab as K, NoOutputsError as Kt, resolveWantedItems as L, InvalidRegistryVersionError as Lt, parseWantedItems as M, createWarningHandler as Mn, InvalidOptionsError as Mt, prepareUpdates as N, AbsolutePath as Nn, InvalidPluginError as Nt, RegistryItemWithContent as O, LanguageNotFoundWarning as On, ImportedFileNotResolvedError as Ot, resolveAndFetchAllItems as P, ItemRelativePath as Pn, InvalidRegistryDependencyError as Pt, bitbucket as Q, RegistryFileFetchError as Qt, updateFiles as R, JsrepoError as Rt, Output as S, Language as Sn, DuplicateFileReferenceError as St, promptAddEnvVars as T, TransformImportsOptions as Tn, FileNotFoundError as Tt, HttpOptions as U, NoFilesError as Ut, JsrepoOptions as V, ModuleNotFoundError as Vt, http as W, NoItemsToUpdateError as Wt, _fs as X, NoRegistriesError as Xt, FsOptions as Y, NoProviderFoundError as Yt, BitBucketOptions as Z, ProviderFetchError as Zt, BeforeArgs as _, html as _n, BuildError as _t, RegistryFileRoles as a, DEFAULT_LANGS as an, Prompts as at, HookFn as b, ImportTransform as bn, ConfigObjectNotFoundError as bt, RegistryItemFile as c, SvelteOptions as cn, Manifest as ct, RemoteDependencyResolverOptions as d, getImports as dn, RepositoryOutputOptions as dt, RegistryItemNotFoundError as en, azure as et, Transform as f, installDependencies as fn, repository as ft, AfterHook as g, HtmlOptions as gn, AlreadyInitializedError as gt, AfterArgs as h, transformImports as hn, distributed as ht, RegistryConfig as i, ZodError as in, GetTokenWithRegistry as it, normalizeItemTypeForPath as j, WarningHandler as jn, InvalidKeyTypeError as jt, fetchAllResolvedItems as k, UnresolvableDynamicImportWarning as kn, InvalidDependencyError as kt, RegistryItemType as l, svelte as ln, ManifestSchema as lt, defineConfig as m, resolveImports as mn, DistributedOutputOptions as mt, RemoteDependency as n, SelfReferenceError as nn, FetchOptions as nt, RegistryItem as o, VueOptions as on, Provider as ot, TransformOptions as p, js as pn, DistributedOutputManifest as pt, GitHubOptions as q, NoPackageJsonFoundError as qt, Config as r, Unreachable as rn, GetToken as rt, RegistryItemAdd as s, vue as sn, ProviderFactory as st, loadConfigSearch as t, RegistryNotProvidedError as tn, CreateOptions as tt, RemoteDependencyResolver as u, JsOptions as un, RepositoryOutputManifest as ut, BeforeHook as v, CssOptions as vn, CLIError as vt, detectPackageManager as w, ResolveDependenciesResult as wn, FailedToLoadConfigError as wt, InferHookArgs as x, InstallDependenciesOptions as xn, CouldNotFindJsrepoImportError as xt, Hook as y, css as yn, ConfigNotFoundError as yt, DEFAULT_PROVIDERS as z, ManifestFetchError as zt };
|
|
2350
|
+
//# sourceMappingURL=config-BO9l1fH-.d.mts.map
|