1.2.0 • Published 8 years ago
conver v1.2.0
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): returnstrueifv1is greater thanv2.lt(v1, v2): returnstrueifv1is less thanv2.equal(v1, v2): returnstrueifv1is equal tov2.compare(v1, v2)returns 0 ifv1 == v2, or 1 ifv1is greater, or -1 ifv2is 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.gt('3.4.5', '1.2.3'); // true
conver.gt('1.2.3', '3.4.5'); // false
conver.lt('1.2.3', '3.4.5'); // true
conver.lt('3.4.5', '1.2.3'); // false
conver.eq('1.2.3', '9.8.0'); // false
conver.eq('1.2.3', '1.2.3'); // true
conver.parse('1.2.3'); // [1, 2, 3, '']
conver.parse('1.2.3-alpha'); // [1, 2, 3, 'alpha']
conver.stringify([1, 2, 3, 'alpha']); // '1.2.3-alpha'
conver.stringify([1, 2, 3]); // '1.2.3'
conver.stringify([1, 2]); // '1.2'
conver.stringify([1]); // '1'Test
Tests are written with nyc, assume, and mocha. They can be run with npm:
npm test