UNPKG

renovate

Version:

Automated dependency updates. Flexible so you don't need to be.

51 lines 2.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.loadConfigFromLegacyYarnrc = loadConfigFromLegacyYarnrc; exports.loadConfigFromYarnrcYml = loadConfigFromYarnrcYml; exports.resolveRegistryUrl = resolveRegistryUrl; const tslib_1 = require("tslib"); const is_1 = tslib_1.__importDefault(require("@sindresorhus/is")); const logger_1 = require("../../../../logger"); const regex_1 = require("../../../../util/regex"); const result_1 = require("../../../../util/result"); const schema_1 = require("../schema"); const registryRegEx = (0, regex_1.regEx)(/^"?(@(?<scope>[^:]+):)?registry"? "?(?<registryUrl>[^"]+)"?$/gm); function loadConfigFromLegacyYarnrc(legacyYarnrc) { const registryMatches = [...legacyYarnrc.matchAll(registryRegEx)] .map((m) => m.groups) .filter(is_1.default.truthy); const yarnrcConfig = {}; for (const registryMatch of registryMatches) { if (registryMatch.scope) { yarnrcConfig.npmScopes ??= {}; yarnrcConfig.npmScopes[registryMatch.scope] ??= {}; yarnrcConfig.npmScopes[registryMatch.scope].npmRegistryServer = registryMatch.registryUrl; } else { yarnrcConfig.npmRegistryServer = registryMatch.registryUrl; } } return yarnrcConfig; } function loadConfigFromYarnrcYml(yarnrcYml) { return result_1.Result.parse(yarnrcYml, schema_1.YarnConfig) .onError((err) => { logger_1.logger.warn({ yarnrcYml, err }, `Failed to load yarnrc file`); }) .unwrapOrNull(); } function resolveRegistryUrl(packageName, yarnrcConfig) { if (yarnrcConfig.npmScopes) { for (const scope in yarnrcConfig.npmScopes) { if (packageName.startsWith(`@${scope}/`)) { return yarnrcConfig.npmScopes[scope].npmRegistryServer ?? null; } } } if (yarnrcConfig.npmRegistryServer) { return yarnrcConfig.npmRegistryServer; } return null; } //# sourceMappingURL=yarnrc.js.map