More flexible semver handling

This commit is contained in:
Bán Dénes 2022-01-23 22:02:05 +01:00
parent e0f5c910eb
commit d5129832b9
2 changed files with 16 additions and 4 deletions

View file

@ -111,9 +111,15 @@ exports.stack = (a, b) => {
}
const semver = exports.semver = (str, name='') => {
const main = str.split('-')[0]
let main = str.split('-')[0]
if (main.startsWith('v')) {
main = main.substring(1)
}
while (main.split('.').length < 3) {
main += '.0'
}
if (/^\d+\.\d+\.\d+$/.test(main)) {
const parts = main.split('.').map(v => parseInt(v))
const parts = main.split('.').map(part => parseInt(part, 10))
return {major: parts[0], minor: parts[1], patch: parts[2]}
} else throw new Error(`Invalid semver "${str}" at ${name}!`)
}