@verdaccio/config
Version:
Verdaccio Configuration
37 lines (36 loc) • 1.72 kB
TypeScript
import type { AuthConf, ConfigYaml, FlagsConfig, HttpsConf, ListenAddress, LoggerConfigItem, Notifications, PackageAccessYaml, PublishOptions, RateLimit, Security, UpLinkConf, WebConf } from '@verdaccio/types';
/**
* Helper configuration builder constructor, used to build the configuration for testing or
* programatically creating a configuration.
*/
export default class ConfigBuilder {
private config;
constructor(config?: Partial<ConfigYaml>);
static build(config?: Partial<ConfigYaml>): ConfigBuilder;
addPackageAccess(pattern: string, pkgAccess: PackageAccessYaml): this;
addUplink(id: string, uplink: UpLinkConf): this;
addSecurity(security: Partial<Security>): this;
addAuth(auth: Partial<AuthConf>): this;
addLogger(log: LoggerConfigItem): this;
addStorage(storage: string | object): this;
addWeb(web: Partial<WebConf>): this;
addListen(listen: ListenAddress): this;
addHttps(https: HttpsConf): this;
addPublish(publish: Partial<PublishOptions>): this;
addFlags(flags: Partial<FlagsConfig>): this;
addNotify(notify: Notifications | Notifications[]): this;
addMiddlewares(middlewares: any): this;
addFilters(filters: any): this;
addMaxBodySize(maxBodySize: string): this;
addUserRateLimit(rateLimit: RateLimit): this;
addUrlPrefix(urlPrefix: string): this;
addI18n(i18n: ConfigYaml['i18n']): this;
addUserAgent(userAgent: string): this;
addHttpProxy(httpProxy: string): this;
addHttpsProxy(httpsProxy: string): this;
addNoProxy(noProxy: string): this;
addPlugins(plugins: string): this;
addNotifications(notifications: Notifications): this;
getConfig(): ConfigYaml;
getAsYaml(): string;
}