UNPKG

projen

Version:

CDK for software projects

47 lines 4.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NpmConfig = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const component_1 = require("../component"); const ini_1 = require("../ini"); /** * File representing the local NPM config in .npmrc */ class NpmConfig extends component_1.Component { static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.NpmConfig", version: "0.103.12" }; /** * The config object. This object can be mutated until the project is * synthesized. */ config = {}; constructor(project, options = {}) { super(project); new ini_1.IniFile(project, ".npmrc", { obj: this.config, omitEmpty: options.omitEmpty, }); if (options.registry) { this.addRegistry(options.registry); } } /** * configure a scoped registry * * @param url the URL of the registry to use * @param scope the scope the registry is used for; leave empty for the default registry */ addRegistry(url, scope) { this.addConfig(scope ? `${scope}:registry` : "registry", url); } /** * configure a generic property * * @param name the name of the property * @param value the value of the property */ addConfig(name, value) { this.config[name] = value; } } exports.NpmConfig = NpmConfig; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9qYXZhc2NyaXB0L25wbS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLDRDQUF5QztBQUN6QyxnQ0FBaUM7QUF1QmpDOztHQUVHO0FBQ0gsTUFBYSxTQUFVLFNBQVEscUJBQVM7O0lBQ3RDOzs7T0FHRztJQUNjLE1BQU0sR0FBUSxFQUFFLENBQUM7SUFFbEMsWUFBWSxPQUFvQixFQUFFLFVBQTRCLEVBQUU7UUFDOUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsSUFBSSxhQUFPLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRTtZQUM3QixHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDaEIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTO1NBQzdCLENBQUMsQ0FBQztRQUVILElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxXQUFXLENBQUMsR0FBVyxFQUFFLEtBQWM7UUFDNUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxTQUFTLENBQUMsSUFBWSxFQUFFLEtBQWE7UUFDMUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQzs7QUF0Q0gsOEJBdUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudFwiO1xuaW1wb3J0IHsgSW5pRmlsZSB9IGZyb20gXCIuLi9pbmlcIjtcbmltcG9ydCB0eXBlIHsgTm9kZVByb2plY3QgfSBmcm9tIFwiLi4vamF2YXNjcmlwdFwiO1xuXG4vKipcbiAqIE9wdGlvbnMgdG8gY29uZmlndXJlIHRoZSBsb2NhbCBOUE0gY29uZmlnXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTnBtQ29uZmlnT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBVUkwgb2YgdGhlIHJlZ2lzdHJ5IG1pcnJvciB0byB1c2VcbiAgICpcbiAgICogWW91IGNhbiBjaGFuZ2UgdGhpcyBvciBhZGQgc2NvcGVkIHJlZ2lzdHJpZXMgdXNpbmcgdGhlIGFkZFJlZ2lzdHJ5IG1ldGhvZFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVzZSBucG1qcyBkZWZhdWx0IHJlZ2lzdHJ5XG4gICAqL1xuICByZWFkb25seSByZWdpc3RyeT86IHN0cmluZztcblxuICAvKipcbiAgICogT21pdHMgZW1wdHkgb2JqZWN0cyBhbmQgYXJyYXlzLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgb21pdEVtcHR5PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBGaWxlIHJlcHJlc2VudGluZyB0aGUgbG9jYWwgTlBNIGNvbmZpZyBpbiAubnBtcmNcbiAqL1xuZXhwb3J0IGNsYXNzIE5wbUNvbmZpZyBleHRlbmRzIENvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUaGUgY29uZmlnIG9iamVjdC4gVGhpcyBvYmplY3QgY2FuIGJlIG11dGF0ZWQgdW50aWwgdGhlIHByb2plY3QgaXNcbiAgICogc3ludGhlc2l6ZWQuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogYW55ID0ge307XG5cbiAgY29uc3RydWN0b3IocHJvamVjdDogTm9kZVByb2plY3QsIG9wdGlvbnM6IE5wbUNvbmZpZ09wdGlvbnMgPSB7fSkge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgbmV3IEluaUZpbGUocHJvamVjdCwgXCIubnBtcmNcIiwge1xuICAgICAgb2JqOiB0aGlzLmNvbmZpZyxcbiAgICAgIG9taXRFbXB0eTogb3B0aW9ucy5vbWl0RW1wdHksXG4gICAgfSk7XG5cbiAgICBpZiAob3B0aW9ucy5yZWdpc3RyeSkge1xuICAgICAgdGhpcy5hZGRSZWdpc3RyeShvcHRpb25zLnJlZ2lzdHJ5KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogY29uZmlndXJlIGEgc2NvcGVkIHJlZ2lzdHJ5XG4gICAqXG4gICAqIEBwYXJhbSB1cmwgdGhlIFVSTCBvZiB0aGUgcmVnaXN0cnkgdG8gdXNlXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdGhlIHJlZ2lzdHJ5IGlzIHVzZWQgZm9yOyBsZWF2ZSBlbXB0eSBmb3IgdGhlIGRlZmF1bHQgcmVnaXN0cnlcbiAgICovXG4gIHB1YmxpYyBhZGRSZWdpc3RyeSh1cmw6IHN0cmluZywgc2NvcGU/OiBzdHJpbmcpIHtcbiAgICB0aGlzLmFkZENvbmZpZyhzY29wZSA/IGAke3Njb3BlfTpyZWdpc3RyeWAgOiBcInJlZ2lzdHJ5XCIsIHVybCk7XG4gIH1cblxuICAvKipcbiAgICogY29uZmlndXJlIGEgZ2VuZXJpYyBwcm9wZXJ0eVxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSB0aGUgbmFtZSBvZiB0aGUgcHJvcGVydHlcbiAgICogQHBhcmFtIHZhbHVlIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHlcbiAgICovXG4gIHB1YmxpYyBhZGRDb25maWcobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5jb25maWdbbmFtZV0gPSB2YWx1ZTtcbiAgfVxufVxuIl19