conver
Comparisons for concrete semantic versions (i.e. compare 1.2.3
instead of ^1.2.3
).
Motivation
semver is a great implementation of semantic versioning; including all the edge cases. These edge cases are important in many scenarios, but often we are simply comparing two concrete versions (i.e. compare 1.2.3
instead of ^1.2.3
).
In this more limited use-case case including all 1000+ lines of semver into your bundle for a web application is a bit of overkill. conver
aims to do ONLY concrete version comparisons in a drastically smaller package size (currently 28 LOC excluding comments).
Usage
conver
exposes the same comparison methods you would expect from the semver package. Specifically:
gt(v1, v2)
: returnstrue
ifv1
is greater thanv2
.lt(v1, v2)
: returnstrue
ifv1
is less thanv2
.equal(v1, v2)
: returnstrue
ifv1
is equal tov2
.compare(v1, v2)
returns 0 ifv1 == v2
, or 1 ifv1
is greater, or -1 ifv2
is greater.parse(v1)
: returns an array of[major, minor, patch, build]
stringify(src)
: returns a string representation of the specifiedsrc
– an Array of[major, minor, patch, build]
.
conver; // trueconver; // falseconver; // trueconver; // falseconver; // falseconver; // trueconver; // [1, 2, 3, '']conver; // [1, 2, 3, 'alpha']conver; // '1.2.3-alpha'conver; // '1.2.3'conver; // '1.2'conver; // '1'
Test
Tests are written with nyc, assume, and mocha. They can be run with npm
:
npm test