UNPKG

renovate

Version:

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

38 lines 1.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.extractLockFileVersions = extractLockFileVersions; exports.extractLockFileContentVersions = extractLockFileContentVersions; exports.parseLockFile = parseLockFile; const logger_1 = require("../../../logger"); const array_1 = require("../../../util/array"); const fs_1 = require("../../../util/fs"); const schema_1 = require("./schema"); async function extractLockFileVersions(lockFilePath) { const content = await (0, fs_1.readLocalFile)(lockFilePath, 'utf8'); if (content) { return extractLockFileContentVersions(content); } return null; } function extractLockFileContentVersions(content) { const versionsByPackage = new Map(); const lock = parseLockFile(content); if (!lock) { return null; } for (const pkg of (0, array_1.coerceArray)(lock.package)) { const versions = (0, array_1.coerceArray)(versionsByPackage.get(pkg.name)); versions.push(pkg.version); versionsByPackage.set(pkg.name, versions); } return versionsByPackage; } function parseLockFile(lockFile) { const res = schema_1.CargoLock.safeParse(lockFile); if (res.success) { return res.data; } logger_1.logger.debug({ err: res.error }, 'Error parsing Cargo lockfile.'); return null; } //# sourceMappingURL=locked-version.js.map