index.js 464 B

123456789101112131415161718192021222324252627
  1. 'use strict';
  2. var semver = require('semver');
  3. module.exports = function (a, b) {
  4. if (semver.gt(a, b)) {
  5. return null;
  6. }
  7. a = semver.parse(a);
  8. b = semver.parse(b);
  9. for (var key in a) {
  10. if (key === 'major' || key === 'minor' || key === 'patch') {
  11. if (a[key] !== b[key]) {
  12. return key;
  13. }
  14. }
  15. if (key === 'prerelease' || key === 'build') {
  16. if (JSON.stringify(a[key]) !== JSON.stringify(b[key])) {
  17. return key;
  18. }
  19. }
  20. }
  21. return null;
  22. };