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.
		
		
		
		
		
			
		
			
				
					
					
						
							69 lines
						
					
					
						
							1.9 KiB
						
					
					
				
			
		
		
	
	
							69 lines
						
					
					
						
							1.9 KiB
						
					
					
				"use strict"; | 
						|
 | 
						|
Object.defineProperty(exports, "__esModule", { | 
						|
  value: true | 
						|
}); | 
						|
exports.semverMin = semverMin; | 
						|
exports.semverify = semverify; | 
						|
exports.isUnreleasedVersion = isUnreleasedVersion; | 
						|
exports.getLowestUnreleased = getLowestUnreleased; | 
						|
exports.getHighestUnreleased = getHighestUnreleased; | 
						|
exports.getLowestImplementedVersion = getLowestImplementedVersion; | 
						|
 | 
						|
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]; | 
						|
  const hasUnreleased = [a, b].some(item => item === unreleasedLabel); | 
						|
 | 
						|
  if (hasUnreleased) { | 
						|
    return a === hasUnreleased ? b : a || b; | 
						|
  } | 
						|
 | 
						|
  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; | 
						|
} |