# @verdaccio/config ## Overview The `@verdaccio/config` package provides a powerful configuration builder constructor for programmatically creating configuration objects for Verdaccio, a lightweight private npm proxy registry. With this package, users can easily manage various configuration aspects such as package access, uplinks, security settings, authentication, logging, and storage options. ## Installation You can install via npm: ```bash npm install @verdaccio/config ``` ## Usage To start using `@verdaccio/config`, import the `ConfigBuilder` class and begin constructing your configuration object: ## `ConfigBuilder` constructor The `ConfigBuilder` class is a helper configuration builder constructor used to programmatically create configuration objects for testing or other purposes. ```typescript import { ConfigBuilder } from '@verdaccio/config'; // Create a new configuration builder instance const config = ConfigBuilder.build({ security: { api: { legacy: false } } }); // Add package access configuration configBuilder.addPackageAccess('@scope/*', { access: 'read', publish: 'write' }); // Add an uplink configuration configBuilder.addUplink('npmjs', { url: 'https://registry.npmjs.org/' }); // Add security configuration configBuilder.addSecurity({ allow_offline: true }); // Get the configuration object const config = configBuilder.getConfig(); // Get the configuration yaml text const config = configBuilder.getAsYaml(); ``` ### Methods - `addPackageAccess(pattern: string, pkgAccess: PackageAccessYaml)`: Adds package access configuration. - `addUplink(id: string, uplink: UpLinkConf)`: Adds an uplink configuration. - `addSecurity(security: Partial)`: Adds security configuration. - `addAuth(auth: Partial)`: Adds authentication configuration. - `addLogger(log: LoggerConfItem)`: Adds logger configuration. - `addStorage(storage: string | object)`: Adds storage configuration. - `getConfig(): ConfigYaml`: Retrieves the configuration object. - `getAsYaml(): string`: Retrieves the configuration object as YAML format. ## `getDefaultConfig` This method is available in the package's index and retrieves the default configuration object. ```typescript import { getDefaultConfig } from '@verdaccio/config'; const defaultConfig = getDefaultConfig(); ``` ## Other Methods - `fromJStoYAML(config: ConfigYaml): string`: Converts a JavaScript configuration object to YAML format. - `parseConfigFile(filePath: string): ConfigYaml`: Parses a configuration file from the specified path and returns the configuration object. ### License Verdaccio is [MIT licensed](https://github.com/verdaccio/verdaccio/blob/master/LICENSE) The Verdaccio documentation and logos (excluding /thanks, e.g., .md, .png, .sketch) files within the /assets folder) is [Creative Commons licensed](https://github.com/verdaccio/verdaccio/blob/master/LICENSE-docs).