UNPKG

libyear

Version:

A simple measure of software dependency freshness

21 lines (20 loc) 869 B
// TODO[engine:node@>=24]: drop @js-temporal/polyfill import { Temporal } from "@js-temporal/polyfill"; const DAYS_IN_YEAR = 365.2425; const parseISO = (item) => Temporal.Instant.from(item).toZonedDateTimeISO(item).toPlainDateTime(); const differenceInDays = (laterDate, earlierDate) => laterDate.since(earlierDate).days; /** * Time since last version update. * Measure of dependency drift. */ export const calculateDrift = (currentVersion, latestVersion) => currentVersion && latestVersion ? differenceInDays(parseISO(latestVersion), parseISO(currentVersion)) / DAYS_IN_YEAR : 0; /** * Time since latest version release. * Pulse check of dependency activity and maintenance. */ export const calculatePulse = (latestVersion) => latestVersion ? differenceInDays(Temporal.Now.plainDateTimeISO(), parseISO(latestVersion)) / DAYS_IN_YEAR : 0;