UNPKG

@verdaccio/config

Version:

Verdaccio Configuration

37 lines (36 loc) 1.72 kB
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; }