UNPKG

635 BJavaScriptView Raw
1'use strict'
2
3const semverUtils = require('semver-utils')
4
5/**
6 * 根据 package.json 中依赖的版本计算 install 的版本
7 *
8 * @param {string} rangeString package.json 依赖的版本
9 * @returns {string} install 使用的版本
10 */
11function packageVersion (rangeString) {
12 if (!rangeString || typeof rangeString !== 'string') {
13 // 默认装 latest
14 return 'latest'
15 }
16
17 const range = semverUtils.parseRange(rangeString)[0]
18 const version = [
19 range.major,
20 range.minor,
21 range.patch
22 ].join('.')
23
24 return range.release
25 ? `${version}-${range.release}`
26 : version
27}
28
29module.exports = packageVersion