https://github.com/worktile/semver-lite
The lightweight semantic versioner compare library
https://github.com/worktile/semver-lite
Last synced: 7 months ago
JSON representation
The lightweight semantic versioner compare library
- Host: GitHub
- URL: https://github.com/worktile/semver-lite
- Owner: worktile
- License: apache-2.0
- Created: 2017-10-11T02:54:35.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-08-20T10:45:14.000Z (over 7 years ago)
- Last Synced: 2024-11-11T18:46:29.013Z (over 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 78.1 KB
- Stars: 12
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# semver-lite [](https://travis-ci.org/worktile/semver-lite)
**The lightweight semantic versioner compare library**
About Semantic Versioning 2.0.0 http://semver.org
Based on the [node-semver](https://github.com/npm/node-semver) project
1. only support semantic version compare;
2. support browsers;
3. don't support semantic version range compare, if you need please use `node-semver`.
## Installation
`npm install semver-lite --save`
`bower install semver-lite --save`
## Usage
Integral semver version as `1.0.0-beta+20191012` `{main-version}-{pre-release}+{build-version}`
As a node module:
```
const semver = require('semver-lite')
semver.validate('2.0.1-beta+20171213'); //true
semver.validate('v2.0.1-beta+20171213'); //true
semver.validate('2.0.1.1'); //false
semver.compare('2.0.1', '1.0.10'); // 1
semver.compare('2.0.1', '2.0.1'); // 0
semver.compare('2.0.1', '3.0.10'); // -1
semver.compare('2.0.0-beta', '2.0.0'); // -1
semver.compare('2.0.0-beta', '2.0.0-1'); // 1
semver.compare('2.0.0-beta', '2.0.0-rc'); // -1
semver.compare('2.0.0-beta+20171013', '2.0.0-beta+20171014'); // 0
semver.compare('2.0.0-beta+20171013', '2.0.0-beta+20171014', true); // -1
semver.compareMainVersion('2.0.0-beta', '2.0.0-rc'); // 0
semver.compareMainVersion('2.0.1-beta', '2.0.0-rc'); // 1
semver.gt('2.0.1', '1.0.10'); // true
semver.gt('2.0.1', '3.0.10'); // false
semver.gte('2.0.1', '1.0.10'); // true
semver.gte('2.0.1', '2.0.1'); // true
semver.lt('2.0.1', '1.0.10'); // false
semver.lt('2.0.1', '3.0.10'); // true
semver.lte('2.0.1', '1.0.10'); // false
semver.lte('2.0.1', '2.0.1'); // true
semver.equal('2.0.1', '2.0.1'); // true
semver.equal('2.0.1', '2.0.2'); // false
semver.equalMain('2.0.0', '2.0.0-beta'); // true
semver.mainVersionToNumeric('1.10.12, 4); // 100100012 , 1 0010 0012
semver.mainVersionToNumeric('1.10.12', 6); // 1000010000012 , 1 000010 000012
semver.instance('v1.2.0-2+20171013').mainVersion; // '1.2.0'
semver.instance('v1.2.0-2+20171013').version; // '1.2.0-2+20171013'
semver.instance('v1.2.0-2+20171013').prerelease; // 2
```
As a browser:
``
```
semverLite.compare('2.0.1', '1.0.10'); // 1
semverLite.compare('2.0.1', '2.0.1'); // 0
semverLite.compare('2.0.1', '3.0.10'); // -1
semverLite.gt('2.0.1', '1.0.10') // true
semverLite.gt('2.0.1', '3.0.10') // false
semverLite.lt('2.0.1', '1.0.10') // false
semverLite.lt('2.0.1', '3.0.10') // true
```
## Notes
compare,gt,gte,lt,lte has thirdly third optional parameter `needCompareBuildVersion` what mark wheather compare build version, default is `false`.
```
// default false don't compare build version `20171014`
semver.compare('2.0.0+20171013', '2.0.0+20171014'); // 0
// compare build version `20171014`
semver.compare('2.0.0+20171013', '2.0.0+20171014', true); // -1
```
## Links
http://semver.org
https://github.com/npm/node-semver
## License
[Apache License](https://github.com/worktile/semver-lite/blob/master/LICENSE)