mirror of
				https://github.com/actions/setup-node.git
				synced 2025-11-04 01:33:33 +00:00 
			
		
		
		
	update dist
This commit is contained in:
		
							parent
							
								
									66b5fd10b7
								
							
						
					
					
						commit
						9056cd392d
					
				
							
								
								
									
										288
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										288
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							@ -7143,80 +7143,75 @@ var MAX_SAFE_COMPONENT_LENGTH = 16
 | 
			
		||||
// The actual regexps go on exports.re
 | 
			
		||||
var re = exports.re = []
 | 
			
		||||
var src = exports.src = []
 | 
			
		||||
var t = exports.tokens = {}
 | 
			
		||||
var R = 0
 | 
			
		||||
 | 
			
		||||
function tok (n) {
 | 
			
		||||
  t[n] = R++
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// The following Regular Expressions can be used for tokenizing,
 | 
			
		||||
// validating, and parsing SemVer version strings.
 | 
			
		||||
 | 
			
		||||
// ## Numeric Identifier
 | 
			
		||||
// A single `0`, or a non-zero digit followed by zero or more digits.
 | 
			
		||||
 | 
			
		||||
tok('NUMERICIDENTIFIER')
 | 
			
		||||
src[t.NUMERICIDENTIFIER] = '0|[1-9]\\d*'
 | 
			
		||||
tok('NUMERICIDENTIFIERLOOSE')
 | 
			
		||||
src[t.NUMERICIDENTIFIERLOOSE] = '[0-9]+'
 | 
			
		||||
var NUMERICIDENTIFIER = R++
 | 
			
		||||
src[NUMERICIDENTIFIER] = '0|[1-9]\\d*'
 | 
			
		||||
var NUMERICIDENTIFIERLOOSE = R++
 | 
			
		||||
src[NUMERICIDENTIFIERLOOSE] = '[0-9]+'
 | 
			
		||||
 | 
			
		||||
// ## Non-numeric Identifier
 | 
			
		||||
// Zero or more digits, followed by a letter or hyphen, and then zero or
 | 
			
		||||
// more letters, digits, or hyphens.
 | 
			
		||||
 | 
			
		||||
tok('NONNUMERICIDENTIFIER')
 | 
			
		||||
src[t.NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*'
 | 
			
		||||
var NONNUMERICIDENTIFIER = R++
 | 
			
		||||
src[NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*'
 | 
			
		||||
 | 
			
		||||
// ## Main Version
 | 
			
		||||
// Three dot-separated numeric identifiers.
 | 
			
		||||
 | 
			
		||||
tok('MAINVERSION')
 | 
			
		||||
src[t.MAINVERSION] = '(' + src[t.NUMERICIDENTIFIER] + ')\\.' +
 | 
			
		||||
                   '(' + src[t.NUMERICIDENTIFIER] + ')\\.' +
 | 
			
		||||
                   '(' + src[t.NUMERICIDENTIFIER] + ')'
 | 
			
		||||
var MAINVERSION = R++
 | 
			
		||||
src[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\.' +
 | 
			
		||||
                   '(' + src[NUMERICIDENTIFIER] + ')\\.' +
 | 
			
		||||
                   '(' + src[NUMERICIDENTIFIER] + ')'
 | 
			
		||||
 | 
			
		||||
tok('MAINVERSIONLOOSE')
 | 
			
		||||
src[t.MAINVERSIONLOOSE] = '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' +
 | 
			
		||||
                        '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' +
 | 
			
		||||
                        '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')'
 | 
			
		||||
var MAINVERSIONLOOSE = R++
 | 
			
		||||
src[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' +
 | 
			
		||||
                        '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' +
 | 
			
		||||
                        '(' + src[NUMERICIDENTIFIERLOOSE] + ')'
 | 
			
		||||
 | 
			
		||||
// ## Pre-release Version Identifier
 | 
			
		||||
// A numeric identifier, or a non-numeric identifier.
 | 
			
		||||
 | 
			
		||||
tok('PRERELEASEIDENTIFIER')
 | 
			
		||||
src[t.PRERELEASEIDENTIFIER] = '(?:' + src[t.NUMERICIDENTIFIER] +
 | 
			
		||||
                            '|' + src[t.NONNUMERICIDENTIFIER] + ')'
 | 
			
		||||
var PRERELEASEIDENTIFIER = R++
 | 
			
		||||
src[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] +
 | 
			
		||||
                            '|' + src[NONNUMERICIDENTIFIER] + ')'
 | 
			
		||||
 | 
			
		||||
tok('PRERELEASEIDENTIFIERLOOSE')
 | 
			
		||||
src[t.PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[t.NUMERICIDENTIFIERLOOSE] +
 | 
			
		||||
                                 '|' + src[t.NONNUMERICIDENTIFIER] + ')'
 | 
			
		||||
var PRERELEASEIDENTIFIERLOOSE = R++
 | 
			
		||||
src[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] +
 | 
			
		||||
                                 '|' + src[NONNUMERICIDENTIFIER] + ')'
 | 
			
		||||
 | 
			
		||||
// ## Pre-release Version
 | 
			
		||||
// Hyphen, followed by one or more dot-separated pre-release version
 | 
			
		||||
// identifiers.
 | 
			
		||||
 | 
			
		||||
tok('PRERELEASE')
 | 
			
		||||
src[t.PRERELEASE] = '(?:-(' + src[t.PRERELEASEIDENTIFIER] +
 | 
			
		||||
                  '(?:\\.' + src[t.PRERELEASEIDENTIFIER] + ')*))'
 | 
			
		||||
var PRERELEASE = R++
 | 
			
		||||
src[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] +
 | 
			
		||||
                  '(?:\\.' + src[PRERELEASEIDENTIFIER] + ')*))'
 | 
			
		||||
 | 
			
		||||
tok('PRERELEASELOOSE')
 | 
			
		||||
src[t.PRERELEASELOOSE] = '(?:-?(' + src[t.PRERELEASEIDENTIFIERLOOSE] +
 | 
			
		||||
                       '(?:\\.' + src[t.PRERELEASEIDENTIFIERLOOSE] + ')*))'
 | 
			
		||||
var PRERELEASELOOSE = R++
 | 
			
		||||
src[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] +
 | 
			
		||||
                       '(?:\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))'
 | 
			
		||||
 | 
			
		||||
// ## Build Metadata Identifier
 | 
			
		||||
// Any combination of digits, letters, or hyphens.
 | 
			
		||||
 | 
			
		||||
tok('BUILDIDENTIFIER')
 | 
			
		||||
src[t.BUILDIDENTIFIER] = '[0-9A-Za-z-]+'
 | 
			
		||||
var BUILDIDENTIFIER = R++
 | 
			
		||||
src[BUILDIDENTIFIER] = '[0-9A-Za-z-]+'
 | 
			
		||||
 | 
			
		||||
// ## Build Metadata
 | 
			
		||||
// Plus sign, followed by one or more period-separated build metadata
 | 
			
		||||
// identifiers.
 | 
			
		||||
 | 
			
		||||
tok('BUILD')
 | 
			
		||||
src[t.BUILD] = '(?:\\+(' + src[t.BUILDIDENTIFIER] +
 | 
			
		||||
             '(?:\\.' + src[t.BUILDIDENTIFIER] + ')*))'
 | 
			
		||||
var BUILD = R++
 | 
			
		||||
src[BUILD] = '(?:\\+(' + src[BUILDIDENTIFIER] +
 | 
			
		||||
             '(?:\\.' + src[BUILDIDENTIFIER] + ')*))'
 | 
			
		||||
 | 
			
		||||
// ## Full Version String
 | 
			
		||||
// A main version, followed optionally by a pre-release version and
 | 
			
		||||
@ -7227,133 +7222,129 @@ src[t.BUILD] = '(?:\\+(' + src[t.BUILDIDENTIFIER] +
 | 
			
		||||
// capturing group, because it should not ever be used in version
 | 
			
		||||
// comparison.
 | 
			
		||||
 | 
			
		||||
tok('FULL')
 | 
			
		||||
tok('FULLPLAIN')
 | 
			
		||||
src[t.FULLPLAIN] = 'v?' + src[t.MAINVERSION] +
 | 
			
		||||
                  src[t.PRERELEASE] + '?' +
 | 
			
		||||
                  src[t.BUILD] + '?'
 | 
			
		||||
var FULL = R++
 | 
			
		||||
var FULLPLAIN = 'v?' + src[MAINVERSION] +
 | 
			
		||||
                src[PRERELEASE] + '?' +
 | 
			
		||||
                src[BUILD] + '?'
 | 
			
		||||
 | 
			
		||||
src[t.FULL] = '^' + src[t.FULLPLAIN] + '$'
 | 
			
		||||
src[FULL] = '^' + FULLPLAIN + '$'
 | 
			
		||||
 | 
			
		||||
// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.
 | 
			
		||||
// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty
 | 
			
		||||
// common in the npm registry.
 | 
			
		||||
tok('LOOSEPLAIN')
 | 
			
		||||
src[t.LOOSEPLAIN] = '[v=\\s]*' + src[t.MAINVERSIONLOOSE] +
 | 
			
		||||
                  src[t.PRERELEASELOOSE] + '?' +
 | 
			
		||||
                  src[t.BUILD] + '?'
 | 
			
		||||
var LOOSEPLAIN = '[v=\\s]*' + src[MAINVERSIONLOOSE] +
 | 
			
		||||
                 src[PRERELEASELOOSE] + '?' +
 | 
			
		||||
                 src[BUILD] + '?'
 | 
			
		||||
 | 
			
		||||
tok('LOOSE')
 | 
			
		||||
src[t.LOOSE] = '^' + src[t.LOOSEPLAIN] + '$'
 | 
			
		||||
var LOOSE = R++
 | 
			
		||||
src[LOOSE] = '^' + LOOSEPLAIN + '$'
 | 
			
		||||
 | 
			
		||||
tok('GTLT')
 | 
			
		||||
src[t.GTLT] = '((?:<|>)?=?)'
 | 
			
		||||
var GTLT = R++
 | 
			
		||||
src[GTLT] = '((?:<|>)?=?)'
 | 
			
		||||
 | 
			
		||||
// Something like "2.*" or "1.2.x".
 | 
			
		||||
// Note that "x.x" is a valid xRange identifer, meaning "any version"
 | 
			
		||||
// Only the first item is strictly required.
 | 
			
		||||
tok('XRANGEIDENTIFIERLOOSE')
 | 
			
		||||
src[t.XRANGEIDENTIFIERLOOSE] = src[t.NUMERICIDENTIFIERLOOSE] + '|x|X|\\*'
 | 
			
		||||
tok('XRANGEIDENTIFIER')
 | 
			
		||||
src[t.XRANGEIDENTIFIER] = src[t.NUMERICIDENTIFIER] + '|x|X|\\*'
 | 
			
		||||
var XRANGEIDENTIFIERLOOSE = R++
 | 
			
		||||
src[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\*'
 | 
			
		||||
var XRANGEIDENTIFIER = R++
 | 
			
		||||
src[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\*'
 | 
			
		||||
 | 
			
		||||
tok('XRANGEPLAIN')
 | 
			
		||||
src[t.XRANGEPLAIN] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIER] + ')' +
 | 
			
		||||
                   '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' +
 | 
			
		||||
                   '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' +
 | 
			
		||||
                   '(?:' + src[t.PRERELEASE] + ')?' +
 | 
			
		||||
                   src[t.BUILD] + '?' +
 | 
			
		||||
var XRANGEPLAIN = R++
 | 
			
		||||
src[XRANGEPLAIN] = '[v=\\s]*(' + src[XRANGEIDENTIFIER] + ')' +
 | 
			
		||||
                   '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' +
 | 
			
		||||
                   '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' +
 | 
			
		||||
                   '(?:' + src[PRERELEASE] + ')?' +
 | 
			
		||||
                   src[BUILD] + '?' +
 | 
			
		||||
                   ')?)?'
 | 
			
		||||
 | 
			
		||||
tok('XRANGEPLAINLOOSE')
 | 
			
		||||
src[t.XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' +
 | 
			
		||||
                        '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' +
 | 
			
		||||
                        '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' +
 | 
			
		||||
                        '(?:' + src[t.PRERELEASELOOSE] + ')?' +
 | 
			
		||||
                        src[t.BUILD] + '?' +
 | 
			
		||||
var XRANGEPLAINLOOSE = R++
 | 
			
		||||
src[XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
 | 
			
		||||
                        '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
 | 
			
		||||
                        '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
 | 
			
		||||
                        '(?:' + src[PRERELEASELOOSE] + ')?' +
 | 
			
		||||
                        src[BUILD] + '?' +
 | 
			
		||||
                        ')?)?'
 | 
			
		||||
 | 
			
		||||
tok('XRANGE')
 | 
			
		||||
src[t.XRANGE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAIN] + '$'
 | 
			
		||||
tok('XRANGELOOSE')
 | 
			
		||||
src[t.XRANGELOOSE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAINLOOSE] + '$'
 | 
			
		||||
var XRANGE = R++
 | 
			
		||||
src[XRANGE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAIN] + '$'
 | 
			
		||||
var XRANGELOOSE = R++
 | 
			
		||||
src[XRANGELOOSE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAINLOOSE] + '$'
 | 
			
		||||
 | 
			
		||||
// Coercion.
 | 
			
		||||
// Extract anything that could conceivably be a part of a valid semver
 | 
			
		||||
tok('COERCE')
 | 
			
		||||
src[t.COERCE] = '(^|[^\\d])' +
 | 
			
		||||
var COERCE = R++
 | 
			
		||||
src[COERCE] = '(?:^|[^\\d])' +
 | 
			
		||||
              '(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' +
 | 
			
		||||
              '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +
 | 
			
		||||
              '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +
 | 
			
		||||
              '(?:$|[^\\d])'
 | 
			
		||||
tok('COERCERTL')
 | 
			
		||||
re[t.COERCERTL] = new RegExp(src[t.COERCE], 'g')
 | 
			
		||||
 | 
			
		||||
// Tilde ranges.
 | 
			
		||||
// Meaning is "reasonably at or greater than"
 | 
			
		||||
tok('LONETILDE')
 | 
			
		||||
src[t.LONETILDE] = '(?:~>?)'
 | 
			
		||||
var LONETILDE = R++
 | 
			
		||||
src[LONETILDE] = '(?:~>?)'
 | 
			
		||||
 | 
			
		||||
tok('TILDETRIM')
 | 
			
		||||
src[t.TILDETRIM] = '(\\s*)' + src[t.LONETILDE] + '\\s+'
 | 
			
		||||
re[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], 'g')
 | 
			
		||||
var TILDETRIM = R++
 | 
			
		||||
src[TILDETRIM] = '(\\s*)' + src[LONETILDE] + '\\s+'
 | 
			
		||||
re[TILDETRIM] = new RegExp(src[TILDETRIM], 'g')
 | 
			
		||||
var tildeTrimReplace = '$1~'
 | 
			
		||||
 | 
			
		||||
tok('TILDE')
 | 
			
		||||
src[t.TILDE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAIN] + '$'
 | 
			
		||||
tok('TILDELOOSE')
 | 
			
		||||
src[t.TILDELOOSE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + '$'
 | 
			
		||||
var TILDE = R++
 | 
			
		||||
src[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$'
 | 
			
		||||
var TILDELOOSE = R++
 | 
			
		||||
src[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$'
 | 
			
		||||
 | 
			
		||||
// Caret ranges.
 | 
			
		||||
// Meaning is "at least and backwards compatible with"
 | 
			
		||||
tok('LONECARET')
 | 
			
		||||
src[t.LONECARET] = '(?:\\^)'
 | 
			
		||||
var LONECARET = R++
 | 
			
		||||
src[LONECARET] = '(?:\\^)'
 | 
			
		||||
 | 
			
		||||
tok('CARETTRIM')
 | 
			
		||||
src[t.CARETTRIM] = '(\\s*)' + src[t.LONECARET] + '\\s+'
 | 
			
		||||
re[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], 'g')
 | 
			
		||||
var CARETTRIM = R++
 | 
			
		||||
src[CARETTRIM] = '(\\s*)' + src[LONECARET] + '\\s+'
 | 
			
		||||
re[CARETTRIM] = new RegExp(src[CARETTRIM], 'g')
 | 
			
		||||
var caretTrimReplace = '$1^'
 | 
			
		||||
 | 
			
		||||
tok('CARET')
 | 
			
		||||
src[t.CARET] = '^' + src[t.LONECARET] + src[t.XRANGEPLAIN] + '$'
 | 
			
		||||
tok('CARETLOOSE')
 | 
			
		||||
src[t.CARETLOOSE] = '^' + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + '$'
 | 
			
		||||
var CARET = R++
 | 
			
		||||
src[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$'
 | 
			
		||||
var CARETLOOSE = R++
 | 
			
		||||
src[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$'
 | 
			
		||||
 | 
			
		||||
// A simple gt/lt/eq thing, or just "" to indicate "any version"
 | 
			
		||||
tok('COMPARATORLOOSE')
 | 
			
		||||
src[t.COMPARATORLOOSE] = '^' + src[t.GTLT] + '\\s*(' + src[t.LOOSEPLAIN] + ')$|^$'
 | 
			
		||||
tok('COMPARATOR')
 | 
			
		||||
src[t.COMPARATOR] = '^' + src[t.GTLT] + '\\s*(' + src[t.FULLPLAIN] + ')$|^$'
 | 
			
		||||
var COMPARATORLOOSE = R++
 | 
			
		||||
src[COMPARATORLOOSE] = '^' + src[GTLT] + '\\s*(' + LOOSEPLAIN + ')$|^$'
 | 
			
		||||
var COMPARATOR = R++
 | 
			
		||||
src[COMPARATOR] = '^' + src[GTLT] + '\\s*(' + FULLPLAIN + ')$|^$'
 | 
			
		||||
 | 
			
		||||
// An expression to strip any whitespace between the gtlt and the thing
 | 
			
		||||
// it modifies, so that `> 1.2.3` ==> `>1.2.3`
 | 
			
		||||
tok('COMPARATORTRIM')
 | 
			
		||||
src[t.COMPARATORTRIM] = '(\\s*)' + src[t.GTLT] +
 | 
			
		||||
                      '\\s*(' + src[t.LOOSEPLAIN] + '|' + src[t.XRANGEPLAIN] + ')'
 | 
			
		||||
var COMPARATORTRIM = R++
 | 
			
		||||
src[COMPARATORTRIM] = '(\\s*)' + src[GTLT] +
 | 
			
		||||
                      '\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')'
 | 
			
		||||
 | 
			
		||||
// this one has to use the /g flag
 | 
			
		||||
re[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], 'g')
 | 
			
		||||
re[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g')
 | 
			
		||||
var comparatorTrimReplace = '$1$2$3'
 | 
			
		||||
 | 
			
		||||
// Something like `1.2.3 - 1.2.4`
 | 
			
		||||
// Note that these all use the loose form, because they'll be
 | 
			
		||||
// checked against either the strict or loose comparator form
 | 
			
		||||
// later.
 | 
			
		||||
tok('HYPHENRANGE')
 | 
			
		||||
src[t.HYPHENRANGE] = '^\\s*(' + src[t.XRANGEPLAIN] + ')' +
 | 
			
		||||
var HYPHENRANGE = R++
 | 
			
		||||
src[HYPHENRANGE] = '^\\s*(' + src[XRANGEPLAIN] + ')' +
 | 
			
		||||
                   '\\s+-\\s+' +
 | 
			
		||||
                   '(' + src[t.XRANGEPLAIN] + ')' +
 | 
			
		||||
                   '(' + src[XRANGEPLAIN] + ')' +
 | 
			
		||||
                   '\\s*$'
 | 
			
		||||
 | 
			
		||||
tok('HYPHENRANGELOOSE')
 | 
			
		||||
src[t.HYPHENRANGELOOSE] = '^\\s*(' + src[t.XRANGEPLAINLOOSE] + ')' +
 | 
			
		||||
var HYPHENRANGELOOSE = R++
 | 
			
		||||
src[HYPHENRANGELOOSE] = '^\\s*(' + src[XRANGEPLAINLOOSE] + ')' +
 | 
			
		||||
                        '\\s+-\\s+' +
 | 
			
		||||
                        '(' + src[t.XRANGEPLAINLOOSE] + ')' +
 | 
			
		||||
                        '(' + src[XRANGEPLAINLOOSE] + ')' +
 | 
			
		||||
                        '\\s*$'
 | 
			
		||||
 | 
			
		||||
// Star ranges basically just allow anything at all.
 | 
			
		||||
tok('STAR')
 | 
			
		||||
src[t.STAR] = '(<|>)?=?\\s*\\*'
 | 
			
		||||
var STAR = R++
 | 
			
		||||
src[STAR] = '(<|>)?=?\\s*\\*'
 | 
			
		||||
 | 
			
		||||
// Compile to actual regexp objects.
 | 
			
		||||
// All are flag-free, unless they were created above with a flag.
 | 
			
		||||
@ -7385,7 +7376,7 @@ function parse (version, options) {
 | 
			
		||||
    return null
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  var r = options.loose ? re[t.LOOSE] : re[t.FULL]
 | 
			
		||||
  var r = options.loose ? re[LOOSE] : re[FULL]
 | 
			
		||||
  if (!r.test(version)) {
 | 
			
		||||
    return null
 | 
			
		||||
  }
 | 
			
		||||
@ -7440,7 +7431,7 @@ function SemVer (version, options) {
 | 
			
		||||
  this.options = options
 | 
			
		||||
  this.loose = !!options.loose
 | 
			
		||||
 | 
			
		||||
  var m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])
 | 
			
		||||
  var m = version.trim().match(options.loose ? re[LOOSE] : re[FULL])
 | 
			
		||||
 | 
			
		||||
  if (!m) {
 | 
			
		||||
    throw new TypeError('Invalid Version: ' + version)
 | 
			
		||||
@ -7901,7 +7892,7 @@ function Comparator (comp, options) {
 | 
			
		||||
 | 
			
		||||
var ANY = {}
 | 
			
		||||
Comparator.prototype.parse = function (comp) {
 | 
			
		||||
  var r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]
 | 
			
		||||
  var r = this.options.loose ? re[COMPARATORLOOSE] : re[COMPARATOR]
 | 
			
		||||
  var m = comp.match(r)
 | 
			
		||||
 | 
			
		||||
  if (!m) {
 | 
			
		||||
@ -8056,18 +8047,18 @@ Range.prototype.parseRange = function (range) {
 | 
			
		||||
  var loose = this.options.loose
 | 
			
		||||
  range = range.trim()
 | 
			
		||||
  // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`
 | 
			
		||||
  var hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]
 | 
			
		||||
  var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE]
 | 
			
		||||
  range = range.replace(hr, hyphenReplace)
 | 
			
		||||
  debug('hyphen replace', range)
 | 
			
		||||
  // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`
 | 
			
		||||
  range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)
 | 
			
		||||
  debug('comparator trim', range, re[t.COMPARATORTRIM])
 | 
			
		||||
  range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace)
 | 
			
		||||
  debug('comparator trim', range, re[COMPARATORTRIM])
 | 
			
		||||
 | 
			
		||||
  // `~ 1.2.3` => `~1.2.3`
 | 
			
		||||
  range = range.replace(re[t.TILDETRIM], tildeTrimReplace)
 | 
			
		||||
  range = range.replace(re[TILDETRIM], tildeTrimReplace)
 | 
			
		||||
 | 
			
		||||
  // `^ 1.2.3` => `^1.2.3`
 | 
			
		||||
  range = range.replace(re[t.CARETTRIM], caretTrimReplace)
 | 
			
		||||
  range = range.replace(re[CARETTRIM], caretTrimReplace)
 | 
			
		||||
 | 
			
		||||
  // normalize spaces
 | 
			
		||||
  range = range.split(/\s+/).join(' ')
 | 
			
		||||
@ -8075,7 +8066,7 @@ Range.prototype.parseRange = function (range) {
 | 
			
		||||
  // At this point, the range is completely trimmed and
 | 
			
		||||
  // ready to be split into comparators.
 | 
			
		||||
 | 
			
		||||
  var compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]
 | 
			
		||||
  var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR]
 | 
			
		||||
  var set = range.split(' ').map(function (comp) {
 | 
			
		||||
    return parseComparator(comp, this.options)
 | 
			
		||||
  }, this).join(' ').split(/\s+/)
 | 
			
		||||
@ -8175,7 +8166,7 @@ function replaceTildes (comp, options) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function replaceTilde (comp, options) {
 | 
			
		||||
  var r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]
 | 
			
		||||
  var r = options.loose ? re[TILDELOOSE] : re[TILDE]
 | 
			
		||||
  return comp.replace(r, function (_, M, m, p, pr) {
 | 
			
		||||
    debug('tilde', comp, _, M, m, p, pr)
 | 
			
		||||
    var ret
 | 
			
		||||
@ -8216,7 +8207,7 @@ function replaceCarets (comp, options) {
 | 
			
		||||
 | 
			
		||||
function replaceCaret (comp, options) {
 | 
			
		||||
  debug('caret', comp, options)
 | 
			
		||||
  var r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]
 | 
			
		||||
  var r = options.loose ? re[CARETLOOSE] : re[CARET]
 | 
			
		||||
  return comp.replace(r, function (_, M, m, p, pr) {
 | 
			
		||||
    debug('caret', comp, _, M, m, p, pr)
 | 
			
		||||
    var ret
 | 
			
		||||
@ -8275,7 +8266,7 @@ function replaceXRanges (comp, options) {
 | 
			
		||||
 | 
			
		||||
function replaceXRange (comp, options) {
 | 
			
		||||
  comp = comp.trim()
 | 
			
		||||
  var r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]
 | 
			
		||||
  var r = options.loose ? re[XRANGELOOSE] : re[XRANGE]
 | 
			
		||||
  return comp.replace(r, function (ret, gtlt, M, m, p, pr) {
 | 
			
		||||
    debug('xRange', comp, ret, gtlt, M, m, p, pr)
 | 
			
		||||
    var xM = isX(M)
 | 
			
		||||
@ -8287,14 +8278,10 @@ function replaceXRange (comp, options) {
 | 
			
		||||
      gtlt = ''
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // if we're including prereleases in the match, then we need
 | 
			
		||||
    // to fix this to -0, the lowest possible prerelease value
 | 
			
		||||
    pr = options.includePrerelease ? '-0' : ''
 | 
			
		||||
 | 
			
		||||
    if (xM) {
 | 
			
		||||
      if (gtlt === '>' || gtlt === '<') {
 | 
			
		||||
        // nothing is allowed
 | 
			
		||||
        ret = '<0.0.0-0'
 | 
			
		||||
        ret = '<0.0.0'
 | 
			
		||||
      } else {
 | 
			
		||||
        // nothing is forbidden
 | 
			
		||||
        ret = '*'
 | 
			
		||||
@ -8331,12 +8318,11 @@ function replaceXRange (comp, options) {
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      ret = gtlt + M + '.' + m + '.' + p + pr
 | 
			
		||||
      ret = gtlt + M + '.' + m + '.' + p
 | 
			
		||||
    } else if (xm) {
 | 
			
		||||
      ret = '>=' + M + '.0.0' + pr + ' <' + (+M + 1) + '.0.0' + pr
 | 
			
		||||
      ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'
 | 
			
		||||
    } else if (xp) {
 | 
			
		||||
      ret = '>=' + M + '.' + m + '.0' + pr +
 | 
			
		||||
        ' <' + M + '.' + (+m + 1) + '.0' + pr
 | 
			
		||||
      ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    debug('xRange return', ret)
 | 
			
		||||
@ -8350,10 +8336,10 @@ function replaceXRange (comp, options) {
 | 
			
		||||
function replaceStars (comp, options) {
 | 
			
		||||
  debug('replaceStars', comp, options)
 | 
			
		||||
  // Looseness is ignored here.  star is always as loose as it gets!
 | 
			
		||||
  return comp.trim().replace(re[t.STAR], '')
 | 
			
		||||
  return comp.trim().replace(re[STAR], '')
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// This function is passed to string.replace(re[t.HYPHENRANGE])
 | 
			
		||||
// This function is passed to string.replace(re[HYPHENRANGE])
 | 
			
		||||
// M, m, patch, prerelease, build
 | 
			
		||||
// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5
 | 
			
		||||
// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do
 | 
			
		||||
@ -8664,49 +8650,19 @@ function coerce (version, options) {
 | 
			
		||||
    return version
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (typeof version === 'number') {
 | 
			
		||||
    version = String(version)
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (typeof version !== 'string') {
 | 
			
		||||
    return null
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  options = options || {}
 | 
			
		||||
  var match = version.match(re[COERCE])
 | 
			
		||||
 | 
			
		||||
  var match = null
 | 
			
		||||
  if (!options.rtl) {
 | 
			
		||||
    match = version.match(re[t.COERCE])
 | 
			
		||||
  } else {
 | 
			
		||||
    // Find the right-most coercible string that does not share
 | 
			
		||||
    // a terminus with a more left-ward coercible string.
 | 
			
		||||
    // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'
 | 
			
		||||
    //
 | 
			
		||||
    // Walk through the string checking with a /g regexp
 | 
			
		||||
    // Manually set the index so as to pick up overlapping matches.
 | 
			
		||||
    // Stop when we get a match that ends at the string end, since no
 | 
			
		||||
    // coercible string can be more right-ward without the same terminus.
 | 
			
		||||
    var next
 | 
			
		||||
    while ((next = re[t.COERCERTL].exec(version)) &&
 | 
			
		||||
      (!match || match.index + match[0].length !== version.length)
 | 
			
		||||
    ) {
 | 
			
		||||
      if (!match ||
 | 
			
		||||
          next.index + next[0].length !== match.index + match[0].length) {
 | 
			
		||||
        match = next
 | 
			
		||||
      }
 | 
			
		||||
      re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length
 | 
			
		||||
    }
 | 
			
		||||
    // leave it in a clean state
 | 
			
		||||
    re[t.COERCERTL].lastIndex = -1
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (match === null) {
 | 
			
		||||
  if (match == null) {
 | 
			
		||||
    return null
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return parse(match[2] +
 | 
			
		||||
    '.' + (match[3] || '0') +
 | 
			
		||||
    '.' + (match[4] || '0'), options)
 | 
			
		||||
  return parse(match[1] +
 | 
			
		||||
    '.' + (match[2] || '0') +
 | 
			
		||||
    '.' + (match[3] || '0'), options)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										423
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										423
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							@ -10418,61 +10418,34 @@ exports.implementation = class URLImpl {
 | 
			
		||||
// Note: since nyc uses this module to output coverage, any lines
 | 
			
		||||
// that are in the direct sync flow of nyc's outputCoverage are
 | 
			
		||||
// ignored, since we can never get coverage for them.
 | 
			
		||||
// grab a reference to node's real process object right away
 | 
			
		||||
var process = global.process
 | 
			
		||||
var assert = __webpack_require__(357)
 | 
			
		||||
var signals = __webpack_require__(654)
 | 
			
		||||
 | 
			
		||||
const processOk = function (process) {
 | 
			
		||||
  return process &&
 | 
			
		||||
    typeof process === 'object' &&
 | 
			
		||||
    typeof process.removeListener === 'function' &&
 | 
			
		||||
    typeof process.emit === 'function' &&
 | 
			
		||||
    typeof process.reallyExit === 'function' &&
 | 
			
		||||
    typeof process.listeners === 'function' &&
 | 
			
		||||
    typeof process.kill === 'function' &&
 | 
			
		||||
    typeof process.pid === 'number' &&
 | 
			
		||||
    typeof process.on === 'function'
 | 
			
		||||
var EE = __webpack_require__(614)
 | 
			
		||||
/* istanbul ignore if */
 | 
			
		||||
if (typeof EE !== 'function') {
 | 
			
		||||
  EE = EE.EventEmitter
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// some kind of non-node environment, just no-op
 | 
			
		||||
/* istanbul ignore if */
 | 
			
		||||
if (!processOk(process)) {
 | 
			
		||||
  module.exports = function () {
 | 
			
		||||
    return function () {}
 | 
			
		||||
  }
 | 
			
		||||
} else {
 | 
			
		||||
  var assert = __webpack_require__(357)
 | 
			
		||||
  var signals = __webpack_require__(654)
 | 
			
		||||
  var isWin = /^win/i.test(process.platform)
 | 
			
		||||
 | 
			
		||||
  var EE = __webpack_require__(614)
 | 
			
		||||
  /* istanbul ignore if */
 | 
			
		||||
  if (typeof EE !== 'function') {
 | 
			
		||||
    EE = EE.EventEmitter
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  var emitter
 | 
			
		||||
  if (process.__signal_exit_emitter__) {
 | 
			
		||||
var emitter
 | 
			
		||||
if (process.__signal_exit_emitter__) {
 | 
			
		||||
  emitter = process.__signal_exit_emitter__
 | 
			
		||||
  } else {
 | 
			
		||||
} else {
 | 
			
		||||
  emitter = process.__signal_exit_emitter__ = new EE()
 | 
			
		||||
  emitter.count = 0
 | 
			
		||||
  emitter.emitted = {}
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
  // Because this emitter is a global, we have to check to see if a
 | 
			
		||||
  // previous version of this library failed to enable infinite listeners.
 | 
			
		||||
  // I know what you're about to say.  But literally everything about
 | 
			
		||||
  // signal-exit is a compromise with evil.  Get used to it.
 | 
			
		||||
  if (!emitter.infinite) {
 | 
			
		||||
// Because this emitter is a global, we have to check to see if a
 | 
			
		||||
// previous version of this library failed to enable infinite listeners.
 | 
			
		||||
// I know what you're about to say.  But literally everything about
 | 
			
		||||
// signal-exit is a compromise with evil.  Get used to it.
 | 
			
		||||
if (!emitter.infinite) {
 | 
			
		||||
  emitter.setMaxListeners(Infinity)
 | 
			
		||||
  emitter.infinite = true
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
  module.exports = function (cb, opts) {
 | 
			
		||||
    /* istanbul ignore if */
 | 
			
		||||
    if (!processOk(global.process)) {
 | 
			
		||||
      return function () {}
 | 
			
		||||
    }
 | 
			
		||||
module.exports = function (cb, opts) {
 | 
			
		||||
  assert.equal(typeof cb, 'function', 'a callback must be provided for exit handler')
 | 
			
		||||
 | 
			
		||||
  if (loaded === false) {
 | 
			
		||||
@ -10494,10 +10467,11 @@ if (!processOk(process)) {
 | 
			
		||||
  emitter.on(ev, cb)
 | 
			
		||||
 | 
			
		||||
  return remove
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
  var unload = function unload () {
 | 
			
		||||
    if (!loaded || !processOk(global.process)) {
 | 
			
		||||
module.exports.unload = unload
 | 
			
		||||
function unload () {
 | 
			
		||||
  if (!loaded) {
 | 
			
		||||
    return
 | 
			
		||||
  }
 | 
			
		||||
  loaded = false
 | 
			
		||||
@ -10510,26 +10484,20 @@ if (!processOk(process)) {
 | 
			
		||||
  process.emit = originalProcessEmit
 | 
			
		||||
  process.reallyExit = originalProcessReallyExit
 | 
			
		||||
  emitter.count -= 1
 | 
			
		||||
  }
 | 
			
		||||
  module.exports.unload = unload
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
  var emit = function emit (event, code, signal) {
 | 
			
		||||
    /* istanbul ignore if */
 | 
			
		||||
function emit (event, code, signal) {
 | 
			
		||||
  if (emitter.emitted[event]) {
 | 
			
		||||
    return
 | 
			
		||||
  }
 | 
			
		||||
  emitter.emitted[event] = true
 | 
			
		||||
  emitter.emit(event, code, signal)
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
  // { <signal>: <listener fn>, ... }
 | 
			
		||||
  var sigListeners = {}
 | 
			
		||||
  signals.forEach(function (sig) {
 | 
			
		||||
// { <signal>: <listener fn>, ... }
 | 
			
		||||
var sigListeners = {}
 | 
			
		||||
signals.forEach(function (sig) {
 | 
			
		||||
  sigListeners[sig] = function listener () {
 | 
			
		||||
      /* istanbul ignore if */
 | 
			
		||||
      if (!processOk(global.process)) {
 | 
			
		||||
        return
 | 
			
		||||
      }
 | 
			
		||||
    // If there are no other listeners, an exit is coming!
 | 
			
		||||
    // Simplest way: remove us and then re-send the signal.
 | 
			
		||||
    // We know that this will kill the process, so we can
 | 
			
		||||
@ -10541,25 +10509,21 @@ if (!processOk(process)) {
 | 
			
		||||
      /* istanbul ignore next */
 | 
			
		||||
      emit('afterexit', null, sig)
 | 
			
		||||
      /* istanbul ignore next */
 | 
			
		||||
        if (isWin && sig === 'SIGHUP') {
 | 
			
		||||
          // "SIGHUP" throws an `ENOSYS` error on Windows,
 | 
			
		||||
          // so use a supported signal instead
 | 
			
		||||
          sig = 'SIGINT'
 | 
			
		||||
        }
 | 
			
		||||
        /* istanbul ignore next */
 | 
			
		||||
      process.kill(process.pid, sig)
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  })
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
  module.exports.signals = function () {
 | 
			
		||||
module.exports.signals = function () {
 | 
			
		||||
  return signals
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
  var loaded = false
 | 
			
		||||
module.exports.load = load
 | 
			
		||||
 | 
			
		||||
  var load = function load () {
 | 
			
		||||
    if (loaded || !processOk(global.process)) {
 | 
			
		||||
var loaded = false
 | 
			
		||||
 | 
			
		||||
function load () {
 | 
			
		||||
  if (loaded) {
 | 
			
		||||
    return
 | 
			
		||||
  }
 | 
			
		||||
  loaded = true
 | 
			
		||||
@ -10581,41 +10545,32 @@ if (!processOk(process)) {
 | 
			
		||||
 | 
			
		||||
  process.emit = processEmit
 | 
			
		||||
  process.reallyExit = processReallyExit
 | 
			
		||||
  }
 | 
			
		||||
  module.exports.load = load
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
  var originalProcessReallyExit = process.reallyExit
 | 
			
		||||
  var processReallyExit = function processReallyExit (code) {
 | 
			
		||||
    /* istanbul ignore if */
 | 
			
		||||
    if (!processOk(global.process)) {
 | 
			
		||||
      return
 | 
			
		||||
    }
 | 
			
		||||
    process.exitCode = code || /* istanbul ignore next */ 0
 | 
			
		||||
var originalProcessReallyExit = process.reallyExit
 | 
			
		||||
function processReallyExit (code) {
 | 
			
		||||
  process.exitCode = code || 0
 | 
			
		||||
  emit('exit', process.exitCode, null)
 | 
			
		||||
  /* istanbul ignore next */
 | 
			
		||||
  emit('afterexit', process.exitCode, null)
 | 
			
		||||
  /* istanbul ignore next */
 | 
			
		||||
  originalProcessReallyExit.call(process, process.exitCode)
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
  var originalProcessEmit = process.emit
 | 
			
		||||
  var processEmit = function processEmit (ev, arg) {
 | 
			
		||||
    if (ev === 'exit' && processOk(global.process)) {
 | 
			
		||||
      /* istanbul ignore else */
 | 
			
		||||
var originalProcessEmit = process.emit
 | 
			
		||||
function processEmit (ev, arg) {
 | 
			
		||||
  if (ev === 'exit') {
 | 
			
		||||
    if (arg !== undefined) {
 | 
			
		||||
      process.exitCode = arg
 | 
			
		||||
    }
 | 
			
		||||
    var ret = originalProcessEmit.apply(this, arguments)
 | 
			
		||||
      /* istanbul ignore next */
 | 
			
		||||
    emit('exit', process.exitCode, null)
 | 
			
		||||
    /* istanbul ignore next */
 | 
			
		||||
    emit('afterexit', process.exitCode, null)
 | 
			
		||||
      /* istanbul ignore next */
 | 
			
		||||
    return ret
 | 
			
		||||
  } else {
 | 
			
		||||
    return originalProcessEmit.apply(this, arguments)
 | 
			
		||||
  }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -10991,80 +10946,75 @@ var MAX_SAFE_COMPONENT_LENGTH = 16
 | 
			
		||||
// The actual regexps go on exports.re
 | 
			
		||||
var re = exports.re = []
 | 
			
		||||
var src = exports.src = []
 | 
			
		||||
var t = exports.tokens = {}
 | 
			
		||||
var R = 0
 | 
			
		||||
 | 
			
		||||
function tok (n) {
 | 
			
		||||
  t[n] = R++
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// The following Regular Expressions can be used for tokenizing,
 | 
			
		||||
// validating, and parsing SemVer version strings.
 | 
			
		||||
 | 
			
		||||
// ## Numeric Identifier
 | 
			
		||||
// A single `0`, or a non-zero digit followed by zero or more digits.
 | 
			
		||||
 | 
			
		||||
tok('NUMERICIDENTIFIER')
 | 
			
		||||
src[t.NUMERICIDENTIFIER] = '0|[1-9]\\d*'
 | 
			
		||||
tok('NUMERICIDENTIFIERLOOSE')
 | 
			
		||||
src[t.NUMERICIDENTIFIERLOOSE] = '[0-9]+'
 | 
			
		||||
var NUMERICIDENTIFIER = R++
 | 
			
		||||
src[NUMERICIDENTIFIER] = '0|[1-9]\\d*'
 | 
			
		||||
var NUMERICIDENTIFIERLOOSE = R++
 | 
			
		||||
src[NUMERICIDENTIFIERLOOSE] = '[0-9]+'
 | 
			
		||||
 | 
			
		||||
// ## Non-numeric Identifier
 | 
			
		||||
// Zero or more digits, followed by a letter or hyphen, and then zero or
 | 
			
		||||
// more letters, digits, or hyphens.
 | 
			
		||||
 | 
			
		||||
tok('NONNUMERICIDENTIFIER')
 | 
			
		||||
src[t.NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*'
 | 
			
		||||
var NONNUMERICIDENTIFIER = R++
 | 
			
		||||
src[NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*'
 | 
			
		||||
 | 
			
		||||
// ## Main Version
 | 
			
		||||
// Three dot-separated numeric identifiers.
 | 
			
		||||
 | 
			
		||||
tok('MAINVERSION')
 | 
			
		||||
src[t.MAINVERSION] = '(' + src[t.NUMERICIDENTIFIER] + ')\\.' +
 | 
			
		||||
                   '(' + src[t.NUMERICIDENTIFIER] + ')\\.' +
 | 
			
		||||
                   '(' + src[t.NUMERICIDENTIFIER] + ')'
 | 
			
		||||
var MAINVERSION = R++
 | 
			
		||||
src[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\.' +
 | 
			
		||||
                   '(' + src[NUMERICIDENTIFIER] + ')\\.' +
 | 
			
		||||
                   '(' + src[NUMERICIDENTIFIER] + ')'
 | 
			
		||||
 | 
			
		||||
tok('MAINVERSIONLOOSE')
 | 
			
		||||
src[t.MAINVERSIONLOOSE] = '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' +
 | 
			
		||||
                        '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' +
 | 
			
		||||
                        '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')'
 | 
			
		||||
var MAINVERSIONLOOSE = R++
 | 
			
		||||
src[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' +
 | 
			
		||||
                        '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' +
 | 
			
		||||
                        '(' + src[NUMERICIDENTIFIERLOOSE] + ')'
 | 
			
		||||
 | 
			
		||||
// ## Pre-release Version Identifier
 | 
			
		||||
// A numeric identifier, or a non-numeric identifier.
 | 
			
		||||
 | 
			
		||||
tok('PRERELEASEIDENTIFIER')
 | 
			
		||||
src[t.PRERELEASEIDENTIFIER] = '(?:' + src[t.NUMERICIDENTIFIER] +
 | 
			
		||||
                            '|' + src[t.NONNUMERICIDENTIFIER] + ')'
 | 
			
		||||
var PRERELEASEIDENTIFIER = R++
 | 
			
		||||
src[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] +
 | 
			
		||||
                            '|' + src[NONNUMERICIDENTIFIER] + ')'
 | 
			
		||||
 | 
			
		||||
tok('PRERELEASEIDENTIFIERLOOSE')
 | 
			
		||||
src[t.PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[t.NUMERICIDENTIFIERLOOSE] +
 | 
			
		||||
                                 '|' + src[t.NONNUMERICIDENTIFIER] + ')'
 | 
			
		||||
var PRERELEASEIDENTIFIERLOOSE = R++
 | 
			
		||||
src[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] +
 | 
			
		||||
                                 '|' + src[NONNUMERICIDENTIFIER] + ')'
 | 
			
		||||
 | 
			
		||||
// ## Pre-release Version
 | 
			
		||||
// Hyphen, followed by one or more dot-separated pre-release version
 | 
			
		||||
// identifiers.
 | 
			
		||||
 | 
			
		||||
tok('PRERELEASE')
 | 
			
		||||
src[t.PRERELEASE] = '(?:-(' + src[t.PRERELEASEIDENTIFIER] +
 | 
			
		||||
                  '(?:\\.' + src[t.PRERELEASEIDENTIFIER] + ')*))'
 | 
			
		||||
var PRERELEASE = R++
 | 
			
		||||
src[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] +
 | 
			
		||||
                  '(?:\\.' + src[PRERELEASEIDENTIFIER] + ')*))'
 | 
			
		||||
 | 
			
		||||
tok('PRERELEASELOOSE')
 | 
			
		||||
src[t.PRERELEASELOOSE] = '(?:-?(' + src[t.PRERELEASEIDENTIFIERLOOSE] +
 | 
			
		||||
                       '(?:\\.' + src[t.PRERELEASEIDENTIFIERLOOSE] + ')*))'
 | 
			
		||||
var PRERELEASELOOSE = R++
 | 
			
		||||
src[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] +
 | 
			
		||||
                       '(?:\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))'
 | 
			
		||||
 | 
			
		||||
// ## Build Metadata Identifier
 | 
			
		||||
// Any combination of digits, letters, or hyphens.
 | 
			
		||||
 | 
			
		||||
tok('BUILDIDENTIFIER')
 | 
			
		||||
src[t.BUILDIDENTIFIER] = '[0-9A-Za-z-]+'
 | 
			
		||||
var BUILDIDENTIFIER = R++
 | 
			
		||||
src[BUILDIDENTIFIER] = '[0-9A-Za-z-]+'
 | 
			
		||||
 | 
			
		||||
// ## Build Metadata
 | 
			
		||||
// Plus sign, followed by one or more period-separated build metadata
 | 
			
		||||
// identifiers.
 | 
			
		||||
 | 
			
		||||
tok('BUILD')
 | 
			
		||||
src[t.BUILD] = '(?:\\+(' + src[t.BUILDIDENTIFIER] +
 | 
			
		||||
             '(?:\\.' + src[t.BUILDIDENTIFIER] + ')*))'
 | 
			
		||||
var BUILD = R++
 | 
			
		||||
src[BUILD] = '(?:\\+(' + src[BUILDIDENTIFIER] +
 | 
			
		||||
             '(?:\\.' + src[BUILDIDENTIFIER] + ')*))'
 | 
			
		||||
 | 
			
		||||
// ## Full Version String
 | 
			
		||||
// A main version, followed optionally by a pre-release version and
 | 
			
		||||
@ -11075,133 +11025,129 @@ src[t.BUILD] = '(?:\\+(' + src[t.BUILDIDENTIFIER] +
 | 
			
		||||
// capturing group, because it should not ever be used in version
 | 
			
		||||
// comparison.
 | 
			
		||||
 | 
			
		||||
tok('FULL')
 | 
			
		||||
tok('FULLPLAIN')
 | 
			
		||||
src[t.FULLPLAIN] = 'v?' + src[t.MAINVERSION] +
 | 
			
		||||
                  src[t.PRERELEASE] + '?' +
 | 
			
		||||
                  src[t.BUILD] + '?'
 | 
			
		||||
var FULL = R++
 | 
			
		||||
var FULLPLAIN = 'v?' + src[MAINVERSION] +
 | 
			
		||||
                src[PRERELEASE] + '?' +
 | 
			
		||||
                src[BUILD] + '?'
 | 
			
		||||
 | 
			
		||||
src[t.FULL] = '^' + src[t.FULLPLAIN] + '$'
 | 
			
		||||
src[FULL] = '^' + FULLPLAIN + '$'
 | 
			
		||||
 | 
			
		||||
// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.
 | 
			
		||||
// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty
 | 
			
		||||
// common in the npm registry.
 | 
			
		||||
tok('LOOSEPLAIN')
 | 
			
		||||
src[t.LOOSEPLAIN] = '[v=\\s]*' + src[t.MAINVERSIONLOOSE] +
 | 
			
		||||
                  src[t.PRERELEASELOOSE] + '?' +
 | 
			
		||||
                  src[t.BUILD] + '?'
 | 
			
		||||
var LOOSEPLAIN = '[v=\\s]*' + src[MAINVERSIONLOOSE] +
 | 
			
		||||
                 src[PRERELEASELOOSE] + '?' +
 | 
			
		||||
                 src[BUILD] + '?'
 | 
			
		||||
 | 
			
		||||
tok('LOOSE')
 | 
			
		||||
src[t.LOOSE] = '^' + src[t.LOOSEPLAIN] + '$'
 | 
			
		||||
var LOOSE = R++
 | 
			
		||||
src[LOOSE] = '^' + LOOSEPLAIN + '$'
 | 
			
		||||
 | 
			
		||||
tok('GTLT')
 | 
			
		||||
src[t.GTLT] = '((?:<|>)?=?)'
 | 
			
		||||
var GTLT = R++
 | 
			
		||||
src[GTLT] = '((?:<|>)?=?)'
 | 
			
		||||
 | 
			
		||||
// Something like "2.*" or "1.2.x".
 | 
			
		||||
// Note that "x.x" is a valid xRange identifer, meaning "any version"
 | 
			
		||||
// Only the first item is strictly required.
 | 
			
		||||
tok('XRANGEIDENTIFIERLOOSE')
 | 
			
		||||
src[t.XRANGEIDENTIFIERLOOSE] = src[t.NUMERICIDENTIFIERLOOSE] + '|x|X|\\*'
 | 
			
		||||
tok('XRANGEIDENTIFIER')
 | 
			
		||||
src[t.XRANGEIDENTIFIER] = src[t.NUMERICIDENTIFIER] + '|x|X|\\*'
 | 
			
		||||
var XRANGEIDENTIFIERLOOSE = R++
 | 
			
		||||
src[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\*'
 | 
			
		||||
var XRANGEIDENTIFIER = R++
 | 
			
		||||
src[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\*'
 | 
			
		||||
 | 
			
		||||
tok('XRANGEPLAIN')
 | 
			
		||||
src[t.XRANGEPLAIN] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIER] + ')' +
 | 
			
		||||
                   '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' +
 | 
			
		||||
                   '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' +
 | 
			
		||||
                   '(?:' + src[t.PRERELEASE] + ')?' +
 | 
			
		||||
                   src[t.BUILD] + '?' +
 | 
			
		||||
var XRANGEPLAIN = R++
 | 
			
		||||
src[XRANGEPLAIN] = '[v=\\s]*(' + src[XRANGEIDENTIFIER] + ')' +
 | 
			
		||||
                   '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' +
 | 
			
		||||
                   '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' +
 | 
			
		||||
                   '(?:' + src[PRERELEASE] + ')?' +
 | 
			
		||||
                   src[BUILD] + '?' +
 | 
			
		||||
                   ')?)?'
 | 
			
		||||
 | 
			
		||||
tok('XRANGEPLAINLOOSE')
 | 
			
		||||
src[t.XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' +
 | 
			
		||||
                        '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' +
 | 
			
		||||
                        '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' +
 | 
			
		||||
                        '(?:' + src[t.PRERELEASELOOSE] + ')?' +
 | 
			
		||||
                        src[t.BUILD] + '?' +
 | 
			
		||||
var XRANGEPLAINLOOSE = R++
 | 
			
		||||
src[XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
 | 
			
		||||
                        '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
 | 
			
		||||
                        '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
 | 
			
		||||
                        '(?:' + src[PRERELEASELOOSE] + ')?' +
 | 
			
		||||
                        src[BUILD] + '?' +
 | 
			
		||||
                        ')?)?'
 | 
			
		||||
 | 
			
		||||
tok('XRANGE')
 | 
			
		||||
src[t.XRANGE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAIN] + '$'
 | 
			
		||||
tok('XRANGELOOSE')
 | 
			
		||||
src[t.XRANGELOOSE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAINLOOSE] + '$'
 | 
			
		||||
var XRANGE = R++
 | 
			
		||||
src[XRANGE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAIN] + '$'
 | 
			
		||||
var XRANGELOOSE = R++
 | 
			
		||||
src[XRANGELOOSE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAINLOOSE] + '$'
 | 
			
		||||
 | 
			
		||||
// Coercion.
 | 
			
		||||
// Extract anything that could conceivably be a part of a valid semver
 | 
			
		||||
tok('COERCE')
 | 
			
		||||
src[t.COERCE] = '(^|[^\\d])' +
 | 
			
		||||
var COERCE = R++
 | 
			
		||||
src[COERCE] = '(?:^|[^\\d])' +
 | 
			
		||||
              '(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' +
 | 
			
		||||
              '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +
 | 
			
		||||
              '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +
 | 
			
		||||
              '(?:$|[^\\d])'
 | 
			
		||||
tok('COERCERTL')
 | 
			
		||||
re[t.COERCERTL] = new RegExp(src[t.COERCE], 'g')
 | 
			
		||||
 | 
			
		||||
// Tilde ranges.
 | 
			
		||||
// Meaning is "reasonably at or greater than"
 | 
			
		||||
tok('LONETILDE')
 | 
			
		||||
src[t.LONETILDE] = '(?:~>?)'
 | 
			
		||||
var LONETILDE = R++
 | 
			
		||||
src[LONETILDE] = '(?:~>?)'
 | 
			
		||||
 | 
			
		||||
tok('TILDETRIM')
 | 
			
		||||
src[t.TILDETRIM] = '(\\s*)' + src[t.LONETILDE] + '\\s+'
 | 
			
		||||
re[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], 'g')
 | 
			
		||||
var TILDETRIM = R++
 | 
			
		||||
src[TILDETRIM] = '(\\s*)' + src[LONETILDE] + '\\s+'
 | 
			
		||||
re[TILDETRIM] = new RegExp(src[TILDETRIM], 'g')
 | 
			
		||||
var tildeTrimReplace = '$1~'
 | 
			
		||||
 | 
			
		||||
tok('TILDE')
 | 
			
		||||
src[t.TILDE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAIN] + '$'
 | 
			
		||||
tok('TILDELOOSE')
 | 
			
		||||
src[t.TILDELOOSE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + '$'
 | 
			
		||||
var TILDE = R++
 | 
			
		||||
src[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$'
 | 
			
		||||
var TILDELOOSE = R++
 | 
			
		||||
src[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$'
 | 
			
		||||
 | 
			
		||||
// Caret ranges.
 | 
			
		||||
// Meaning is "at least and backwards compatible with"
 | 
			
		||||
tok('LONECARET')
 | 
			
		||||
src[t.LONECARET] = '(?:\\^)'
 | 
			
		||||
var LONECARET = R++
 | 
			
		||||
src[LONECARET] = '(?:\\^)'
 | 
			
		||||
 | 
			
		||||
tok('CARETTRIM')
 | 
			
		||||
src[t.CARETTRIM] = '(\\s*)' + src[t.LONECARET] + '\\s+'
 | 
			
		||||
re[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], 'g')
 | 
			
		||||
var CARETTRIM = R++
 | 
			
		||||
src[CARETTRIM] = '(\\s*)' + src[LONECARET] + '\\s+'
 | 
			
		||||
re[CARETTRIM] = new RegExp(src[CARETTRIM], 'g')
 | 
			
		||||
var caretTrimReplace = '$1^'
 | 
			
		||||
 | 
			
		||||
tok('CARET')
 | 
			
		||||
src[t.CARET] = '^' + src[t.LONECARET] + src[t.XRANGEPLAIN] + '$'
 | 
			
		||||
tok('CARETLOOSE')
 | 
			
		||||
src[t.CARETLOOSE] = '^' + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + '$'
 | 
			
		||||
var CARET = R++
 | 
			
		||||
src[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$'
 | 
			
		||||
var CARETLOOSE = R++
 | 
			
		||||
src[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$'
 | 
			
		||||
 | 
			
		||||
// A simple gt/lt/eq thing, or just "" to indicate "any version"
 | 
			
		||||
tok('COMPARATORLOOSE')
 | 
			
		||||
src[t.COMPARATORLOOSE] = '^' + src[t.GTLT] + '\\s*(' + src[t.LOOSEPLAIN] + ')$|^$'
 | 
			
		||||
tok('COMPARATOR')
 | 
			
		||||
src[t.COMPARATOR] = '^' + src[t.GTLT] + '\\s*(' + src[t.FULLPLAIN] + ')$|^$'
 | 
			
		||||
var COMPARATORLOOSE = R++
 | 
			
		||||
src[COMPARATORLOOSE] = '^' + src[GTLT] + '\\s*(' + LOOSEPLAIN + ')$|^$'
 | 
			
		||||
var COMPARATOR = R++
 | 
			
		||||
src[COMPARATOR] = '^' + src[GTLT] + '\\s*(' + FULLPLAIN + ')$|^$'
 | 
			
		||||
 | 
			
		||||
// An expression to strip any whitespace between the gtlt and the thing
 | 
			
		||||
// it modifies, so that `> 1.2.3` ==> `>1.2.3`
 | 
			
		||||
tok('COMPARATORTRIM')
 | 
			
		||||
src[t.COMPARATORTRIM] = '(\\s*)' + src[t.GTLT] +
 | 
			
		||||
                      '\\s*(' + src[t.LOOSEPLAIN] + '|' + src[t.XRANGEPLAIN] + ')'
 | 
			
		||||
var COMPARATORTRIM = R++
 | 
			
		||||
src[COMPARATORTRIM] = '(\\s*)' + src[GTLT] +
 | 
			
		||||
                      '\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')'
 | 
			
		||||
 | 
			
		||||
// this one has to use the /g flag
 | 
			
		||||
re[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], 'g')
 | 
			
		||||
re[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g')
 | 
			
		||||
var comparatorTrimReplace = '$1$2$3'
 | 
			
		||||
 | 
			
		||||
// Something like `1.2.3 - 1.2.4`
 | 
			
		||||
// Note that these all use the loose form, because they'll be
 | 
			
		||||
// checked against either the strict or loose comparator form
 | 
			
		||||
// later.
 | 
			
		||||
tok('HYPHENRANGE')
 | 
			
		||||
src[t.HYPHENRANGE] = '^\\s*(' + src[t.XRANGEPLAIN] + ')' +
 | 
			
		||||
var HYPHENRANGE = R++
 | 
			
		||||
src[HYPHENRANGE] = '^\\s*(' + src[XRANGEPLAIN] + ')' +
 | 
			
		||||
                   '\\s+-\\s+' +
 | 
			
		||||
                   '(' + src[t.XRANGEPLAIN] + ')' +
 | 
			
		||||
                   '(' + src[XRANGEPLAIN] + ')' +
 | 
			
		||||
                   '\\s*$'
 | 
			
		||||
 | 
			
		||||
tok('HYPHENRANGELOOSE')
 | 
			
		||||
src[t.HYPHENRANGELOOSE] = '^\\s*(' + src[t.XRANGEPLAINLOOSE] + ')' +
 | 
			
		||||
var HYPHENRANGELOOSE = R++
 | 
			
		||||
src[HYPHENRANGELOOSE] = '^\\s*(' + src[XRANGEPLAINLOOSE] + ')' +
 | 
			
		||||
                        '\\s+-\\s+' +
 | 
			
		||||
                        '(' + src[t.XRANGEPLAINLOOSE] + ')' +
 | 
			
		||||
                        '(' + src[XRANGEPLAINLOOSE] + ')' +
 | 
			
		||||
                        '\\s*$'
 | 
			
		||||
 | 
			
		||||
// Star ranges basically just allow anything at all.
 | 
			
		||||
tok('STAR')
 | 
			
		||||
src[t.STAR] = '(<|>)?=?\\s*\\*'
 | 
			
		||||
var STAR = R++
 | 
			
		||||
src[STAR] = '(<|>)?=?\\s*\\*'
 | 
			
		||||
 | 
			
		||||
// Compile to actual regexp objects.
 | 
			
		||||
// All are flag-free, unless they were created above with a flag.
 | 
			
		||||
@ -11233,7 +11179,7 @@ function parse (version, options) {
 | 
			
		||||
    return null
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  var r = options.loose ? re[t.LOOSE] : re[t.FULL]
 | 
			
		||||
  var r = options.loose ? re[LOOSE] : re[FULL]
 | 
			
		||||
  if (!r.test(version)) {
 | 
			
		||||
    return null
 | 
			
		||||
  }
 | 
			
		||||
@ -11288,7 +11234,7 @@ function SemVer (version, options) {
 | 
			
		||||
  this.options = options
 | 
			
		||||
  this.loose = !!options.loose
 | 
			
		||||
 | 
			
		||||
  var m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])
 | 
			
		||||
  var m = version.trim().match(options.loose ? re[LOOSE] : re[FULL])
 | 
			
		||||
 | 
			
		||||
  if (!m) {
 | 
			
		||||
    throw new TypeError('Invalid Version: ' + version)
 | 
			
		||||
@ -11749,7 +11695,7 @@ function Comparator (comp, options) {
 | 
			
		||||
 | 
			
		||||
var ANY = {}
 | 
			
		||||
Comparator.prototype.parse = function (comp) {
 | 
			
		||||
  var r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]
 | 
			
		||||
  var r = this.options.loose ? re[COMPARATORLOOSE] : re[COMPARATOR]
 | 
			
		||||
  var m = comp.match(r)
 | 
			
		||||
 | 
			
		||||
  if (!m) {
 | 
			
		||||
@ -11904,18 +11850,18 @@ Range.prototype.parseRange = function (range) {
 | 
			
		||||
  var loose = this.options.loose
 | 
			
		||||
  range = range.trim()
 | 
			
		||||
  // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`
 | 
			
		||||
  var hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]
 | 
			
		||||
  var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE]
 | 
			
		||||
  range = range.replace(hr, hyphenReplace)
 | 
			
		||||
  debug('hyphen replace', range)
 | 
			
		||||
  // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`
 | 
			
		||||
  range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)
 | 
			
		||||
  debug('comparator trim', range, re[t.COMPARATORTRIM])
 | 
			
		||||
  range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace)
 | 
			
		||||
  debug('comparator trim', range, re[COMPARATORTRIM])
 | 
			
		||||
 | 
			
		||||
  // `~ 1.2.3` => `~1.2.3`
 | 
			
		||||
  range = range.replace(re[t.TILDETRIM], tildeTrimReplace)
 | 
			
		||||
  range = range.replace(re[TILDETRIM], tildeTrimReplace)
 | 
			
		||||
 | 
			
		||||
  // `^ 1.2.3` => `^1.2.3`
 | 
			
		||||
  range = range.replace(re[t.CARETTRIM], caretTrimReplace)
 | 
			
		||||
  range = range.replace(re[CARETTRIM], caretTrimReplace)
 | 
			
		||||
 | 
			
		||||
  // normalize spaces
 | 
			
		||||
  range = range.split(/\s+/).join(' ')
 | 
			
		||||
@ -11923,7 +11869,7 @@ Range.prototype.parseRange = function (range) {
 | 
			
		||||
  // At this point, the range is completely trimmed and
 | 
			
		||||
  // ready to be split into comparators.
 | 
			
		||||
 | 
			
		||||
  var compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]
 | 
			
		||||
  var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR]
 | 
			
		||||
  var set = range.split(' ').map(function (comp) {
 | 
			
		||||
    return parseComparator(comp, this.options)
 | 
			
		||||
  }, this).join(' ').split(/\s+/)
 | 
			
		||||
@ -12023,7 +11969,7 @@ function replaceTildes (comp, options) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function replaceTilde (comp, options) {
 | 
			
		||||
  var r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]
 | 
			
		||||
  var r = options.loose ? re[TILDELOOSE] : re[TILDE]
 | 
			
		||||
  return comp.replace(r, function (_, M, m, p, pr) {
 | 
			
		||||
    debug('tilde', comp, _, M, m, p, pr)
 | 
			
		||||
    var ret
 | 
			
		||||
@ -12064,7 +12010,7 @@ function replaceCarets (comp, options) {
 | 
			
		||||
 | 
			
		||||
function replaceCaret (comp, options) {
 | 
			
		||||
  debug('caret', comp, options)
 | 
			
		||||
  var r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]
 | 
			
		||||
  var r = options.loose ? re[CARETLOOSE] : re[CARET]
 | 
			
		||||
  return comp.replace(r, function (_, M, m, p, pr) {
 | 
			
		||||
    debug('caret', comp, _, M, m, p, pr)
 | 
			
		||||
    var ret
 | 
			
		||||
@ -12123,7 +12069,7 @@ function replaceXRanges (comp, options) {
 | 
			
		||||
 | 
			
		||||
function replaceXRange (comp, options) {
 | 
			
		||||
  comp = comp.trim()
 | 
			
		||||
  var r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]
 | 
			
		||||
  var r = options.loose ? re[XRANGELOOSE] : re[XRANGE]
 | 
			
		||||
  return comp.replace(r, function (ret, gtlt, M, m, p, pr) {
 | 
			
		||||
    debug('xRange', comp, ret, gtlt, M, m, p, pr)
 | 
			
		||||
    var xM = isX(M)
 | 
			
		||||
@ -12135,14 +12081,10 @@ function replaceXRange (comp, options) {
 | 
			
		||||
      gtlt = ''
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // if we're including prereleases in the match, then we need
 | 
			
		||||
    // to fix this to -0, the lowest possible prerelease value
 | 
			
		||||
    pr = options.includePrerelease ? '-0' : ''
 | 
			
		||||
 | 
			
		||||
    if (xM) {
 | 
			
		||||
      if (gtlt === '>' || gtlt === '<') {
 | 
			
		||||
        // nothing is allowed
 | 
			
		||||
        ret = '<0.0.0-0'
 | 
			
		||||
        ret = '<0.0.0'
 | 
			
		||||
      } else {
 | 
			
		||||
        // nothing is forbidden
 | 
			
		||||
        ret = '*'
 | 
			
		||||
@ -12179,12 +12121,11 @@ function replaceXRange (comp, options) {
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      ret = gtlt + M + '.' + m + '.' + p + pr
 | 
			
		||||
      ret = gtlt + M + '.' + m + '.' + p
 | 
			
		||||
    } else if (xm) {
 | 
			
		||||
      ret = '>=' + M + '.0.0' + pr + ' <' + (+M + 1) + '.0.0' + pr
 | 
			
		||||
      ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'
 | 
			
		||||
    } else if (xp) {
 | 
			
		||||
      ret = '>=' + M + '.' + m + '.0' + pr +
 | 
			
		||||
        ' <' + M + '.' + (+m + 1) + '.0' + pr
 | 
			
		||||
      ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    debug('xRange return', ret)
 | 
			
		||||
@ -12198,10 +12139,10 @@ function replaceXRange (comp, options) {
 | 
			
		||||
function replaceStars (comp, options) {
 | 
			
		||||
  debug('replaceStars', comp, options)
 | 
			
		||||
  // Looseness is ignored here.  star is always as loose as it gets!
 | 
			
		||||
  return comp.trim().replace(re[t.STAR], '')
 | 
			
		||||
  return comp.trim().replace(re[STAR], '')
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// This function is passed to string.replace(re[t.HYPHENRANGE])
 | 
			
		||||
// This function is passed to string.replace(re[HYPHENRANGE])
 | 
			
		||||
// M, m, patch, prerelease, build
 | 
			
		||||
// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5
 | 
			
		||||
// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do
 | 
			
		||||
@ -12512,49 +12453,19 @@ function coerce (version, options) {
 | 
			
		||||
    return version
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (typeof version === 'number') {
 | 
			
		||||
    version = String(version)
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (typeof version !== 'string') {
 | 
			
		||||
    return null
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  options = options || {}
 | 
			
		||||
  var match = version.match(re[COERCE])
 | 
			
		||||
 | 
			
		||||
  var match = null
 | 
			
		||||
  if (!options.rtl) {
 | 
			
		||||
    match = version.match(re[t.COERCE])
 | 
			
		||||
  } else {
 | 
			
		||||
    // Find the right-most coercible string that does not share
 | 
			
		||||
    // a terminus with a more left-ward coercible string.
 | 
			
		||||
    // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'
 | 
			
		||||
    //
 | 
			
		||||
    // Walk through the string checking with a /g regexp
 | 
			
		||||
    // Manually set the index so as to pick up overlapping matches.
 | 
			
		||||
    // Stop when we get a match that ends at the string end, since no
 | 
			
		||||
    // coercible string can be more right-ward without the same terminus.
 | 
			
		||||
    var next
 | 
			
		||||
    while ((next = re[t.COERCERTL].exec(version)) &&
 | 
			
		||||
      (!match || match.index + match[0].length !== version.length)
 | 
			
		||||
    ) {
 | 
			
		||||
      if (!match ||
 | 
			
		||||
          next.index + next[0].length !== match.index + match[0].length) {
 | 
			
		||||
        match = next
 | 
			
		||||
      }
 | 
			
		||||
      re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length
 | 
			
		||||
    }
 | 
			
		||||
    // leave it in a clean state
 | 
			
		||||
    re[t.COERCERTL].lastIndex = -1
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (match === null) {
 | 
			
		||||
  if (match == null) {
 | 
			
		||||
    return null
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return parse(match[2] +
 | 
			
		||||
    '.' + (match[3] || '0') +
 | 
			
		||||
    '.' + (match[4] || '0'), options)
 | 
			
		||||
  return parse(match[1] +
 | 
			
		||||
    '.' + (match[2] || '0') +
 | 
			
		||||
    '.' + (match[3] || '0'), options)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -62677,7 +62588,9 @@ function queryDistForMatch(versionSpec, arch = os.arch()) {
 | 
			
		||||
        }
 | 
			
		||||
        let versions = [];
 | 
			
		||||
        let nodeVersions = yield installer.getVersionsFromDist();
 | 
			
		||||
        if (versionSpec === 'current' || versionSpec === 'latest' || versionSpec === 'node') {
 | 
			
		||||
        if (versionSpec === 'current' ||
 | 
			
		||||
            versionSpec === 'latest' ||
 | 
			
		||||
            versionSpec === 'node') {
 | 
			
		||||
            core.info(`getting latest node version...`);
 | 
			
		||||
            return nodeVersions[0].version;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user