crates-updater
Version:
Check your Rust packages for updates.
19 lines (18 loc) • 724 B
JavaScript
import { compareVersions } from 'compare-versions';
import { CratesIO } from 'crates.io';
const cratesIO = new CratesIO();
export async function checkForUpdate(packageName, version) {
const latestVersion = await getLatestVersion(packageName);
if (compareVersions(latestVersion.num, version) > 0) {
return latestVersion.num;
}
return null;
}
export async function getLatestVersion(packageName) {
const versions = await getVersions(packageName);
return versions.sort((versionA, versionB) => compareVersions(versionA.num, versionB.num)).pop();
}
export async function getVersions(packageName) {
const { versions } = await cratesIO.api.crates.getVersions(packageName);
return versions;
}