@process-engine/ci_tools
Version:
CI tools for process-engine.io
39 lines • 1.53 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.getLatestRevision = exports.getRegistryInfo = exports.getDependencyAsString = exports.convertToDependencyArray = void 0;
const shell_1 = require("../cli/shell");
function convertToDependencyArray(dependencies) {
return Object
.entries(dependencies)
.map(([name, version]) => {
return {
name: name,
version: version,
};
});
}
exports.convertToDependencyArray = convertToDependencyArray;
function getDependencyAsString(dependency) {
return `${dependency.name}@${dependency.version}`;
}
exports.getDependencyAsString = getDependencyAsString;
function getRegistryInfo(packageName) {
const registryInfoRaw = (0, shell_1.sh)(`npm view --json ${packageName}`);
return JSON.parse(registryInfoRaw);
}
exports.getRegistryInfo = getRegistryInfo;
function getLatestRevision(packageName, baseVersion, releaseChannelName) {
const registryInfo = getRegistryInfo(packageName);
const availableVersions = registryInfo.versions;
const versionCandidates = availableVersions
.filter((versionCandidate) => {
if (releaseChannelName === 'stable') {
return versionCandidate === baseVersion;
}
return versionCandidate.startsWith(`${baseVersion}-${releaseChannelName}`);
})
.sort();
return versionCandidates[versionCandidates.length - 1];
}
exports.getLatestRevision = getLatestRevision;
//# sourceMappingURL=dependency.js.map
;