1const parse = require('./parse') 2const eq = require('./eq') 3 4const diff = (version1, version2) => { 5 if (eq(version1, version2)) { 6 return null 7 } else { 8 const v1 = parse(version1) 9 const v2 = parse(version2) 10 const hasPre = v1.prerelease.length || v2.prerelease.length 11 const prefix = hasPre ? 'pre' : '' 12 const defaultResult = hasPre ? 'prerelease' : '' 13 for (const key in v1) { 14 if (key === 'major' || key === 'minor' || key === 'patch') { 15 if (v1[key] !== v2[key]) { 16 return prefix + key 17 } 18 } 19 } 20 return defaultResult // may be undefined 21 } 22} 23module.exports = diff 24