| 6 | * 非 prerelease 版本原样返回 |
| 7 | */ |
| 8 | export function toChromeVersion(ver) { |
| 9 | const parsed = semver.parse(ver); |
| 10 | if (!parsed || !parsed.prerelease.length) { |
| 11 | return ver; |
| 12 | } |
| 13 | let betaVersion = 1000; |
| 14 | switch (parsed.prerelease[0]) { |
| 15 | case "alpha": |
| 16 | betaVersion += parseInt(parsed.prerelease[1] || "0", 10) + 1 || 1; |
| 17 | break; |
| 18 | case "beta": |
| 19 | betaVersion += 100 * (parseInt(parsed.prerelease[1] || "0", 10) + 1 || 1); |
| 20 | break; |
| 21 | default: |
| 22 | throw new Error("未知的版本类型"); |
| 23 | } |
| 24 | return `${parsed.major}.${parsed.minor}.${parsed.patch}.${betaVersion}`; |
| 25 | } |