Skip to content

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/1semver.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

图片展示

  • semver_api

Released under the MIT License.