2013-04-24 23:38:53 +00:00
|
|
|
## semver-utils
|
|
|
|
|
|
|
|
Some utils that aren't provided by the mainstream `semver` module.
|
|
|
|
|
2014-02-24 22:34:54 +00:00
|
|
|
### Usage
|
|
|
|
|
|
|
|
```bash
|
|
|
|
npm install --save semver-utils
|
|
|
|
```
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
'use strict';
|
|
|
|
|
|
|
|
var semverUtils = require('semver-utils')
|
|
|
|
, version = require('./package.json').version
|
|
|
|
, semver = semverUtils.parse(version)
|
|
|
|
;
|
|
|
|
|
|
|
|
console.log(semver);
|
|
|
|
```
|
|
|
|
|
2013-04-24 23:38:53 +00:00
|
|
|
## API
|
|
|
|
|
2014-02-24 22:34:54 +00:00
|
|
|
* semverUtils.parse(semverString)
|
|
|
|
* semverUtils.stringify(semverObject)
|
|
|
|
* semverUtils.parseRange(rangeString)
|
|
|
|
* semverUtils.stringifyRange(rangeArray)
|
|
|
|
|
|
|
|
### semverUtils.parse(semverString)
|
2013-04-24 23:38:53 +00:00
|
|
|
|
|
|
|
Turns a string such as `1.0.6-1+build-623` into the object
|
|
|
|
|
|
|
|
{
|
|
|
|
semver: '1.0.6-1+build-623'
|
|
|
|
, version: '1.0.6'
|
|
|
|
, major: '1'
|
|
|
|
, minor: '0'
|
|
|
|
, patch: '6'
|
|
|
|
, release: '1'
|
|
|
|
, build: 'build-623'
|
|
|
|
}
|
|
|
|
|
2013-04-25 00:31:42 +00:00
|
|
|
returns `null` on **error**
|
|
|
|
|
2013-04-24 23:38:53 +00:00
|
|
|
### stringify(semverObject)
|
|
|
|
|
|
|
|
Creates a string such as `1.0.6-1+build-623` from the object
|
|
|
|
|
|
|
|
{
|
|
|
|
major: '1'
|
|
|
|
, minor: '0'
|
|
|
|
, patch: '6'
|
|
|
|
, release: '1'
|
|
|
|
, build: 'build-623'
|
|
|
|
}
|
|
|
|
|
|
|
|
### parseRange(rangeString)
|
|
|
|
|
|
|
|
A solution to <https://github.com/isaacs/node-semver/issues/10>
|
|
|
|
|
|
|
|
Parses a range string into an array of semver objects
|
|
|
|
|
2013-05-17 19:04:10 +00:00
|
|
|
`>= 1.1.7 < 2.0.0 || 1.1.3` becomes
|
|
|
|
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"semver": ">= v1.1.7"
|
|
|
|
, "operator": ">="
|
|
|
|
, "major": 1
|
|
|
|
, "minor": 1
|
|
|
|
, "patch": 7
|
|
|
|
}
|
|
|
|
, {
|
|
|
|
"semver": "< v2.0.0"
|
|
|
|
, "operator": "<"
|
|
|
|
, "major": 2
|
|
|
|
, "minor": 0
|
|
|
|
, "patch": 0
|
|
|
|
}
|
|
|
|
, {
|
|
|
|
"operator": "||"
|
|
|
|
}
|
|
|
|
, {
|
|
|
|
"semver": "v1.1.3"
|
|
|
|
, "operator": "="
|
|
|
|
, "major": 1
|
|
|
|
, "minor": 1
|
|
|
|
, "patch": 3
|
|
|
|
}
|
|
|
|
|
|
|
|
]
|
|
|
|
|
2013-05-17 19:14:15 +00:00
|
|
|
### stringifyRange(rangeArray)
|
2013-05-17 19:04:10 +00:00
|
|
|
|
|
|
|
Creates a range string such as `>= 1.1.7 < 2.0.0 || 1.1.3`
|
|
|
|
from an array of semver objects (and operators) such as
|
2013-04-24 23:38:53 +00:00
|
|
|
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"semver": ">= v1.1.7"
|
|
|
|
, "operator": ">="
|
|
|
|
, "major": 1
|
|
|
|
, "minor": 1
|
|
|
|
, "patch": 7
|
|
|
|
}
|
|
|
|
, {
|
|
|
|
"semver": "< v2.0.0"
|
|
|
|
, "operator": "<"
|
|
|
|
, "major": 2
|
|
|
|
, "minor": 0
|
|
|
|
, "patch": 0
|
|
|
|
}
|
|
|
|
, {
|
|
|
|
"operator": "||"
|
|
|
|
}
|
|
|
|
, {
|
|
|
|
"semver": "v1.1.3"
|
|
|
|
, "operator": "="
|
|
|
|
, "major": 1
|
|
|
|
, "minor": 1
|
|
|
|
, "patch": 3
|
|
|
|
}
|
|
|
|
|
|
|
|
]
|
|
|
|
|
|
|
|
## Obsolete Work
|
|
|
|
|
|
|
|
* https://github.com/mojombo/semver/issues/32
|
|
|
|
* https://gist.github.com/coolaj86/3012865
|
|
|
|
* https://github.com/isaacs/node-semver/issues/10
|
|
|
|
* https://github.com/mojombo/semver.org/issues/59
|