You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

23 lines
411 B

import semver from 'semver'
export default (v1: any, v2: any): number => {
v1 = semver.coerce(String(v1))
v2 = semver.coerce(String(v2))
const isV1Valid = v1 !== null && !!semver.valid(v1)
const isV2Valid = v2 !== null && !!semver.valid(v2)
if (isV1Valid && isV2Valid) {
return semver.compare(v1, v2)
}
if (isV1Valid) {
return 1
}
if (isV2Valid) {
return -1
}
return 0
}