semiver
A tiny (187B) utility to compare semver strings.
Compare semver strings (eg, 1.8.2
, 2.0.0-next.6
, 0.0.0-alpha-1
, etc) using the Intl.Collator
class.
Version suffixes are supported and are considered during comparison.
The output will always be 0
, 1
, or -1
, allowing semiver
to be used directly as a compare function for Array.sort()
.
This module exposes three module definitions:
- ES Module:
dist/semiver.mjs
- CommonJS:
dist/semiver.js
- UMD:
dist/semiver.min.js
Install
$ npm install --save semiver
Usage
import semiver from 'semiver';
semiver('0.0.0', '0.0.0');
semiver('1.2.3', '1.2.3');
semiver('2.1.0', '1.9.0');
semiver('1.9.1', '1.9.0');
semiver('10.0.0', '1.0.0');
semiver('10.0.0', '8.9.0');
semiver('1.2.3-next.10', '1.2.3-next.6');
semiver('2.0.0-alpha-10', '2.0.0-alpha-6');
semiver('2.0.0-beta.1', '2.0.0-alpha.8');
semiver('1.9.0', '2.1.0');
semiver('1.9.0', '1.9.1');
semiver('1.0.0', '10.0.0');
semiver('8.9.0', '10.0.0');
semiver('1.2.3-next.6', '1.2.3-next.10');
semiver('2.0.0-alpha-6', '2.0.0-alpha-10');
semiver('2.0.0-alpha.8', '2.0.0-beta.1');
[
'4.11.6', '4.2.0',
'1.5.19', '1.5.5',
'1.0.0', '1.0.0-rc.1',
'1.2.3', '1.2.3-alpha',
'1.0.0-alpha.1', '1.0.0-alpha',
'1.0.0-beta.11', '1.0.0-beta'
].sort(semiver);
API
semiver(a, b)
Returns: Number
0
indicates that a
is equal to b
-1
indicates that a
is less than b
1
indicates that a
is greater than b
a
Type: String
The input string to compare.
b
Type: String
The string to compare against.
License
MIT © Luke Edwards