semver
官方说明
- semver 的原理是基于语义化版本规范(Semantic Versioning Specification)的定义,通过解析版本号字符串,将其转换为对象表示,并根据规范定义的版本号格式进行比较、验证和操作。它遵循语义化版本规范的约定,使得开发者能够方便地处理和管理软件的版本号,确保版本号的语义化和一致性。
所有 API
API | 说明 | 示例 | 输出值 |
---|---|---|---|
parse | 解析版本号字符串,转换为对象表示 | semver.parse('1.2.3') | { major: 1, minor: 2, patch: 3 } |
valid | 验证版本号是否符合语义化版本规范 | semver.valid('1.2.3') | true |
clean | 清理版本号,去除不必要的字符或修正 | semver.clean(' =v1.2.3 ') | '1.2.3 ' |
inc | 增加指定版本号的主要/次要/修订版本 | semver.inc('1.2.3', 'patch') | '1.2.4' |
diff | 计算两个版本号之间的差异 | semver.diff('1.2.3', '2.0.0') | { major: 1, minor: 0, patch: 0 } |
major | 获取版本号中的主要版本号 | semver.major('1.2.3') | 1 |
minor | 获取版本号中的次要版本号 | semver.minor('1.2.3') | 2 |
patch | 获取版本号中的修订版本号 | semver.patch('1.2.3') | 3 |
prerelease | 获取版本号中的预发布标识符 | semver.prerelease('1.2.3-alpha.1') | ['alpha', 1] |
compare | 比较两个版本号的大小关系 | semver.compare('1.2.3', '1.2.2') | 1 |
rcompare | 反向比较两个版本号的大小关系 | semver.rcompare('1.2.3', '1.2.2') | -1 |
compareLoose | 宽松比较两个版本号的大小关系 | semver.compareLoose('1.2.3', 'v1.2.3') | 0 |
compareBuild | 比较版本号的构建标识符 | semver.compareBuild('1.2.3+build', '1.2.3+other') | 0 |
sort | 对版本号数组进行排序 | semver.sort(['1.2.3', '1.0.0', '1.5.0']) | ['1.0.0', '1.2.3', '1.5.0'] |
rsort | 对版本号数组进行反向排序 | semver.rsort(['1.2.3', '1.0.0', '1.5.0']) | ['1.5.0', '1.2.3', '1.0.0'] |
gt | 判断第一个版本号是否大于第二个版本号 | semver.gt('1.2.3', '1.2.2') | true |
lt | 判断第一个版本号是否小于第二个版本号 | semver.lt('1.2.3', '1.2.4') | true |
eq | 判断两个版本号是否相等 | semver.eq('1.2.3', '1.2.3') | true |
neq | 判断两个版本号是否不相等 | semver.neq('1.2.3', '1.2.4') | true |
gte | 判断第一个版本号是否大于或等于第二个版本号 | semver.gte('1.2.3', '1.2.3') | true |
lte | 判断第一个版本号是否小于或等于第二个版本号 | semver.lte('1.2.3', '1.2.3') | true |
cmp | 比较两个版本号的大小关系,返回 -1/0/1 | semver.cmp('1.2.3', '1.2.4') | -1 |
coerce | 将非标准版本号转换为标准版本号 | semver.coerce('v2') | '2.0.0' |
Comparator | 用于比较版本号的比较器对象 | new semver.Comparator('>=1.2.3') | Comparator 对象 |
Range | 用于表示和操作版本范围的对象 | new semver.Range('^1.2.3') | Range 对象 |
satisfies | 判断指定版本号是否满足指定的版本范围 | semver.satisfies('1.2.3', '^1.2.0') | true |
maxSatisfying | 找到满足指定版本范围的最高版本号 | semver.maxSatisfying(['1.2.3', '2.0.0', '1.5.0'], '^1.0.0') | '1.5.0' |
minSatisfying | 找到满足指定版本范围的最低版本号 | semver.minSatisfying(['1.2.3', '2.0.0', '1.5.0'], '^1.0.0') | '1.2.3' |
minVersion | 找到给定版本号列表中的最低版本号 | semver.minVersion(['1.2.3', '2.0.0', '1.5.0']) | '1.2.3' |
validRange | 验证版本范围是否符合语义化版本规范 | semver.validRange('^1.2.3') | true |
outside | 判断指定版本号是否在指定的版本范围之外 | semver.outside('1.2.3', '^1.0.0', '<2.0.0') | true |
gtr | 判断指定版本号是否大于指定的版本范围 | semver.gtr('1.2.3', '^1.0.0') | true |
ltr | 判断指定版本号是否小于指定的版本范围 | semver.ltr('1.2.3', '^2.0.0') | false |
intersects | 判断两个版本范围是否有交集 | semver.intersects('^1.2.3', '~1.2.4') | true |