compare - nodef/extra-version GitHub Wiki

Compares two versions. :running: :vhs: :package: :moon: :ledger:

Similar: compare, isEqual.

version.compare(x, y, [fc], [fm]);
// x:  a version
// y:  another version
// fc: compare function (a, b)
// fm: map function (v, i, x)
// --> x<y: -ve, x=y: 0, x>y: +ve
const version = require('extra-version');

var x = version.from('1.2');
var y = version.from('1.2.3');
version.compare(x, y);
// -3

var y = version.from('1.2.0');
version.compare(x, y);
// 0

var y = version.from('1.2.3-alpha');
version.compare(x, y);
// 1 (prereleases are considered lower)

var x = version.from('1.2-alpha');
var y = version.from('1.2-prealpha');
version.compare(x, y);
// -1 (default compare uses string compare)

version.compare(x, y, null, v => v==='alpha'? '1':'0');
// 1  (mapped prealpha=0, alpha=1)

references