| const parse = require('./parse') |
| const eq = require('./eq') |
| |
| const diff = (version1, version2) => { |
| if (eq(version1, version2)) { |
| return null |
| } else { |
| const v1 = parse(version1) |
| const v2 = parse(version2) |
| const hasPre = v1.prerelease.length || v2.prerelease.length |
| const prefix = hasPre ? 'pre' : '' |
| const defaultResult = hasPre ? 'prerelease' : '' |
| for (const key in v1) { |
| if (key === 'major' || key === 'minor' || key === 'patch') { |
| if (v1[key] !== v2[key]) { |
| return prefix + key |
| } |
| } |
| } |
| return defaultResult // may be undefined |
| } |
| } |
| module.exports = diff |