semver-utils.js/README.md

127 lines
2.5 KiB
Markdown
Raw Permalink Normal View History

2018-03-28 06:08:49 +00:00
## semver-utils.js
| Sponsored by [ppl](https://ppl.family)
2013-04-24 23:38:53 +00:00
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';
2018-03-28 06:08:49 +00:00
var semverUtils = require('semver-utils');
var version = require('./package.json').version;
var semver = semverUtils.parse(version);
2014-02-24 22:34:54 +00:00
console.log(semver);
```
2013-04-24 23:38:53 +00:00
## API
2014-02-24 22:35:21 +00:00
* `semverUtils.parse(semverString)`
* `semverUtils.stringify(semverObject)`
* `semverUtils.parseRange(rangeString)`
* `semverUtils.stringifyRange(rangeArray)`
2014-02-24 22:34:54 +00:00
### 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
2018-03-28 06:08:49 +00:00
{ semver: '1.0.6-1+build-623'
2013-04-24 23:38:53 +00:00
, version: '1.0.6'
, major: '1'
, minor: '0'
, patch: '6'
, release: '1'
, build: 'build-623'
}
returns `null` on **error**
2014-02-24 22:35:47 +00:00
### semverUtils.stringify(semverObject)
2013-04-24 23:38:53 +00:00
Creates a string such as `1.0.6-1+build-623` from the object
2018-03-28 06:08:49 +00:00
{ major: '1'
2013-04-24 23:38:53 +00:00
, minor: '0'
, patch: '6'
, release: '1'
, build: 'build-623'
}
2014-02-24 22:35:47 +00:00
### semverUtils.parseRange(rangeString)
2013-04-24 23:38:53 +00:00
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
}
]
2014-02-24 22:35:47 +00:00
### semverUtils.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
[
2018-03-28 06:08:49 +00:00
{ "semver": ">= v1.1.7"
, "operator": ">="
, "major": 1
, "minor": 1
, "patch": 7
2013-04-24 23:38:53 +00:00
}
2018-03-28 06:08:49 +00:00
, { "semver": "< v2.0.0"
, "operator": "<"
, "major": 2
, "minor": 0
, "patch": 0
2013-04-24 23:38:53 +00:00
}
2018-03-28 06:08:49 +00:00
, { "operator": "||"
2013-04-24 23:38:53 +00:00
}
2018-03-28 06:08:49 +00:00
, { "semver": "v1.1.3"
, "operator": "="
, "major": 1
, "minor": 1
, "patch": 3
2013-04-24 23:38:53 +00:00
}
]
## 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