UNPKG

xeira

Version:

One Web Dev stack tool to rule them all

52 lines (39 loc) 1.21 kB
import {pkgJsonRead, pkgJsonUpdate} from '../../utils/pkgJson.mjs' function _updateVersionValue(version, versionNumber, versionType) { if (versionNumber && versionNumber.indexOf('.')>0) { return versionNumber } if (versionType && versionType.indexOf('.')>0) { return versionType } let major= 0, minor= 0, patch= 0 if (version != undefined) { [major, minor, patch]= version.split('.').map(v => parseInt(v)) } const text = versionType || versionNumber if (text=='major') { major+= 1 } else if (text=='minor') { minor+= 1 } else if (text=='patch') { patch+= 1 } else { throw Error(`Invalid version type ${text}`) } const newVersion= `${major}.${minor}.${patch}` return newVersion } async function xeiraVersion(context) { const versionType = context?.options?.type const versionNumber = context?.options?.number const pkgJson = await pkgJsonRead(context.pkgPath) const newVersion= _updateVersionValue(pkgJson.version, versionNumber, versionType) if (pkgJson.version != newVersion) { const changes= { version: newVersion } await pkgJsonUpdate (context.pkgPath, changes, true) } } export default xeiraVersion