libyear
Version:
A simple measure of software dependency freshness
26 lines (25 loc) • 833 B
JavaScript
import { pick } from "lodash-es";
import { execute } from "./execute.js";
export const getReleaseTime = async (packageManager, packageName) => {
const cmd = {
berry: `yarn npm info ${packageName} --fields time,versions --json`,
npm: `npm view ${packageName} time versions --json`,
pnpm: `npm view ${packageName} time versions --json`,
yarn: `yarn info ${packageName} --json`,
}[packageManager];
const stdout = await execute(cmd);
if (!stdout) {
return {};
}
const json = JSON.parse(stdout);
switch (packageManager) {
case "yarn": {
const { time, versions } = json.data;
return pick(time, versions);
}
default: {
const { time, versions } = json;
return pick(time, versions);
}
}
};