You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
464 B
JavaScript
28 lines
464 B
JavaScript
6 years ago
|
'use strict';
|
||
|
var semver = require('semver');
|
||
|
|
||
|
module.exports = function (a, b) {
|
||
|
if (semver.gt(a, b)) {
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
a = semver.parse(a);
|
||
|
b = semver.parse(b);
|
||
|
|
||
|
for (var key in a) {
|
||
|
if (key === 'major' || key === 'minor' || key === 'patch') {
|
||
|
if (a[key] !== b[key]) {
|
||
|
return key;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (key === 'prerelease' || key === 'build') {
|
||
|
if (JSON.stringify(a[key]) !== JSON.stringify(b[key])) {
|
||
|
return key;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return null;
|
||
|
};
|