You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
1.8 KiB
72 lines
1.8 KiB
"use strict"; |
|
|
|
Object.defineProperty(exports, "__esModule", { |
|
value: true |
|
}); |
|
exports.getHighestUnreleased = getHighestUnreleased; |
|
exports.getLowestImplementedVersion = getLowestImplementedVersion; |
|
exports.getLowestUnreleased = getLowestUnreleased; |
|
exports.isUnreleasedVersion = isUnreleasedVersion; |
|
exports.semverMin = semverMin; |
|
exports.semverify = semverify; |
|
|
|
var _semver = require("semver"); |
|
|
|
var _helperValidatorOption = require("@babel/helper-validator-option"); |
|
|
|
var _targets = require("./targets"); |
|
|
|
const versionRegExp = /^(\d+|\d+.\d+)$/; |
|
const v = new _helperValidatorOption.OptionValidator("@babel/helper-compilation-targets"); |
|
|
|
function semverMin(first, second) { |
|
return first && _semver.lt(first, second) ? first : second; |
|
} |
|
|
|
function semverify(version) { |
|
if (typeof version === "string" && _semver.valid(version)) { |
|
return version; |
|
} |
|
|
|
v.invariant(typeof version === "number" || typeof version === "string" && versionRegExp.test(version), `'${version}' is not a valid version`); |
|
const split = version.toString().split("."); |
|
|
|
while (split.length < 3) { |
|
split.push("0"); |
|
} |
|
|
|
return split.join("."); |
|
} |
|
|
|
function isUnreleasedVersion(version, env) { |
|
const unreleasedLabel = _targets.unreleasedLabels[env]; |
|
return !!unreleasedLabel && unreleasedLabel === version.toString().toLowerCase(); |
|
} |
|
|
|
function getLowestUnreleased(a, b, env) { |
|
const unreleasedLabel = _targets.unreleasedLabels[env]; |
|
|
|
if (a === unreleasedLabel) { |
|
return b; |
|
} |
|
|
|
if (b === unreleasedLabel) { |
|
return a; |
|
} |
|
|
|
return semverMin(a, b); |
|
} |
|
|
|
function getHighestUnreleased(a, b, env) { |
|
return getLowestUnreleased(a, b, env) === a ? b : a; |
|
} |
|
|
|
function getLowestImplementedVersion(plugin, environment) { |
|
const result = plugin[environment]; |
|
|
|
if (!result && environment === "android") { |
|
return plugin.chrome; |
|
} |
|
|
|
return result; |
|
} |