UNPKG

renovate

Version:

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

72 lines (71 loc) 2.04 kB
import { autoExtendMavenRange, isSubversion, tokenize } from "../maven/compare.js"; import api$1 from "../maven/index.js"; import { LATEST_REGEX, parseDynamicRevision } from "./parse.js"; const { equals, getMajor, getMinor, getPatch, isGreaterThan, isStable, matches: mavenMatches, sortVersions } = api$1; function isValid(str) { if (!str) return false; if (LATEST_REGEX.test(str)) return true; return isVersion(str) || !!parseDynamicRevision(str); } function isVersion(str) { if (!str) return false; if (LATEST_REGEX.test(str)) return false; if (str.includes("+")) return false; return api$1.isVersion(str); } function matches(a, b) { if (!a || !b) return false; const dynamicRevision = parseDynamicRevision(b); if (!dynamicRevision) return equals(a, b); const { type, value } = dynamicRevision; if (type === "REV_TYPE_LATEST") { if (!value) return true; const tokens = tokenize(a); if (tokens.length) { const token = tokens[tokens.length - 1]; if (token.type === "TYPE_QUALIFIER") return token.val.toLowerCase() === value; } return false; } if (type === "REV_TYPE_SUBREVISION") return isSubversion(value, a); return mavenMatches(a, value); } function getSatisfyingVersion(versions, range) { return versions.reduce((result, version) => { if (matches(version, range)) { if (!result) return version; if (isGreaterThan(version, result)) return version; } return result; }, null); } function getNewValue({ currentValue, newVersion }) { if (isVersion(currentValue)) return newVersion; return autoExtendMavenRange(currentValue, newVersion); } function isCompatible(version) { return isVersion(version); } function isSingleVersion(version) { return isVersion(version); } const api = { equals, getMajor, getMinor, getPatch, isCompatible, isGreaterThan, isSingleVersion, isStable, isValid, isVersion, matches, getSatisfyingVersion, minSatisfyingVersion: getSatisfyingVersion, getNewValue, sortVersions }; //#endregion export { api as default }; //# sourceMappingURL=index.js.map