diff.js 620 B

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