UNPKG

renovate

Version:

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

64 lines 2.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.extractPackageFileFlags = extractPackageFileFlags; const global_1 = require("../../../config/global"); const env_1 = require("../../../util/env"); const regex_1 = require("../../../util/regex"); function cleanRegistryUrls(registryUrls) { return registryUrls.map((url) => { // handle the optional quotes in eg. `--extra-index-url "https://foo.bar"` const cleaned = url.replace((0, regex_1.regEx)(/^"/), '').replace((0, regex_1.regEx)(/"$/), ''); if (!global_1.GlobalConfig.get('exposeAllEnv')) { return cleaned; } // interpolate any environment variables return cleaned.replace((0, regex_1.regEx)(/(\$[A-Za-z\d_]+)|(\${[A-Za-z\d_]+})/g), (match) => { const envvar = match .substring(1) .replace((0, regex_1.regEx)(/^{/), '') .replace((0, regex_1.regEx)(/}$/), ''); const sub = (0, env_1.getEnv)()[envvar]; return sub ?? match; }); }); } function extractPackageFileFlags(content) { let registryUrls = []; const additionalRegistryUrls = []; const additionalRequirementsFiles = []; const additionalConstraintsFiles = []; content.split(regex_1.newlineRegex).forEach((line) => { if (line.startsWith('-i ') || line.startsWith('--index-url ')) { registryUrls = [line.split(' ')[1]]; } else if (line.startsWith('--extra-index-url ')) { const extraUrl = line .substring('--extra-index-url '.length) .split(' ')[0]; additionalRegistryUrls.push(extraUrl); } else if (line.startsWith('-r ')) { additionalRequirementsFiles.push(line.split(' ')[1]); } else if (line.startsWith('-c ')) { additionalConstraintsFiles.push(line.split(' ')[1]); } }); const res = { deps: [] }; if (registryUrls.length > 0) { res.registryUrls = cleanRegistryUrls(registryUrls); } if (additionalRegistryUrls.length) { res.additionalRegistryUrls = cleanRegistryUrls(additionalRegistryUrls); } if (additionalRequirementsFiles.length) { res.managerData ??= {}; res.managerData.requirementsFiles = additionalRequirementsFiles; } if (additionalConstraintsFiles.length) { res.managerData ??= {}; res.managerData.constraintsFiles = additionalConstraintsFiles; } return res; } //# sourceMappingURL=common.js.map