Bump @babel/traverse from 7.9.0 to 7.23.2 (#743)
This commit is contained in:
		
							parent
							
								
									a00ea43da6
								
							
						
					
					
						commit
						e8111cec9d
					
				
							
								
								
									
										7
									
								
								.github/workflows/e2e-tests.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								.github/workflows/e2e-tests.yml
									
									
									
									
										vendored
									
									
								
							| @ -93,10 +93,3 @@ jobs: | ||||
|           python-version: '<3.11' | ||||
|       - name: Verify <3.11 | ||||
|         run: python __tests__/verify-python.py 3.10 | ||||
| 
 | ||||
|       - name: Run with setup-python >3.8 | ||||
|         uses: ./ | ||||
|         with: | ||||
|           python-version: '>3.8' | ||||
|       - name: Verify >3.8 | ||||
|         run: python __tests__/verify-python.py 3.11 | ||||
|  | ||||
| @ -1,9 +1,9 @@ | ||||
| --- | ||||
| name: semver | ||||
| version: 6.3.0 | ||||
| version: 6.3.1 | ||||
| type: npm | ||||
| summary: The semantic version parser used by npm. | ||||
| homepage: https://github.com/npm/node-semver#readme | ||||
| homepage:  | ||||
| license: isc | ||||
| licenses: | ||||
| - sources: LICENSE | ||||
							
								
								
									
										107
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										107
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							| @ -3300,8 +3300,11 @@ var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || | ||||
| // Max safe segment length for coercion.
 | ||||
| var MAX_SAFE_COMPONENT_LENGTH = 16 | ||||
| 
 | ||||
| var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6 | ||||
| 
 | ||||
| // The actual regexps go on exports.re
 | ||||
| var re = exports.re = [] | ||||
| var safeRe = exports.safeRe = [] | ||||
| var src = exports.src = [] | ||||
| var t = exports.tokens = {} | ||||
| var R = 0 | ||||
| @ -3310,6 +3313,31 @@ function tok (n) { | ||||
|   t[n] = R++ | ||||
| } | ||||
| 
 | ||||
| var LETTERDASHNUMBER = '[a-zA-Z0-9-]' | ||||
| 
 | ||||
| // Replace some greedy regex tokens to prevent regex dos issues. These regex are
 | ||||
| // used internally via the safeRe object since all inputs in this library get
 | ||||
| // normalized first to trim and collapse all extra whitespace. The original
 | ||||
| // regexes are exported for userland consumption and lower level usage. A
 | ||||
| // future breaking change could export the safer regex only with a note that
 | ||||
| // all input should have extra whitespace removed.
 | ||||
| var safeRegexReplacements = [ | ||||
|   ['\\s', 1], | ||||
|   ['\\d', MAX_LENGTH], | ||||
|   [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH], | ||||
| ] | ||||
| 
 | ||||
| function makeSafeRe (value) { | ||||
|   for (var i = 0; i < safeRegexReplacements.length; i++) { | ||||
|     var token = safeRegexReplacements[i][0] | ||||
|     var max = safeRegexReplacements[i][1] | ||||
|     value = value | ||||
|       .split(token + '*').join(token + '{0,' + max + '}') | ||||
|       .split(token + '+').join(token + '{1,' + max + '}') | ||||
|   } | ||||
|   return value | ||||
| } | ||||
| 
 | ||||
| // The following Regular Expressions can be used for tokenizing,
 | ||||
| // validating, and parsing SemVer version strings.
 | ||||
| 
 | ||||
| @ -3319,14 +3347,14 @@ function tok (n) { | ||||
| tok('NUMERICIDENTIFIER') | ||||
| src[t.NUMERICIDENTIFIER] = '0|[1-9]\\d*' | ||||
| tok('NUMERICIDENTIFIERLOOSE') | ||||
| src[t.NUMERICIDENTIFIERLOOSE] = '[0-9]+' | ||||
| src[t.NUMERICIDENTIFIERLOOSE] = '\\d+' | ||||
| 
 | ||||
| // ## 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-]*' | ||||
| src[t.NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-]' + LETTERDASHNUMBER + '*' | ||||
| 
 | ||||
| // ## Main Version
 | ||||
| // Three dot-separated numeric identifiers.
 | ||||
| @ -3368,7 +3396,7 @@ src[t.PRERELEASELOOSE] = '(?:-?(' + src[t.PRERELEASEIDENTIFIERLOOSE] + | ||||
| // Any combination of digits, letters, or hyphens.
 | ||||
| 
 | ||||
| tok('BUILDIDENTIFIER') | ||||
| src[t.BUILDIDENTIFIER] = '[0-9A-Za-z-]+' | ||||
| src[t.BUILDIDENTIFIER] = LETTERDASHNUMBER + '+' | ||||
| 
 | ||||
| // ## Build Metadata
 | ||||
| // Plus sign, followed by one or more period-separated build metadata
 | ||||
| @ -3448,6 +3476,7 @@ src[t.COERCE] = '(^|[^\\d])' + | ||||
|               '(?:$|[^\\d])' | ||||
| tok('COERCERTL') | ||||
| re[t.COERCERTL] = new RegExp(src[t.COERCE], 'g') | ||||
| safeRe[t.COERCERTL] = new RegExp(makeSafeRe(src[t.COERCE]), 'g') | ||||
| 
 | ||||
| // Tilde ranges.
 | ||||
| // Meaning is "reasonably at or greater than"
 | ||||
| @ -3457,6 +3486,7 @@ src[t.LONETILDE] = '(?:~>?)' | ||||
| tok('TILDETRIM') | ||||
| src[t.TILDETRIM] = '(\\s*)' + src[t.LONETILDE] + '\\s+' | ||||
| re[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], 'g') | ||||
| safeRe[t.TILDETRIM] = new RegExp(makeSafeRe(src[t.TILDETRIM]), 'g') | ||||
| var tildeTrimReplace = '$1~' | ||||
| 
 | ||||
| tok('TILDE') | ||||
| @ -3472,6 +3502,7 @@ src[t.LONECARET] = '(?:\\^)' | ||||
| tok('CARETTRIM') | ||||
| src[t.CARETTRIM] = '(\\s*)' + src[t.LONECARET] + '\\s+' | ||||
| re[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], 'g') | ||||
| safeRe[t.CARETTRIM] = new RegExp(makeSafeRe(src[t.CARETTRIM]), 'g') | ||||
| var caretTrimReplace = '$1^' | ||||
| 
 | ||||
| tok('CARET') | ||||
| @ -3493,6 +3524,7 @@ src[t.COMPARATORTRIM] = '(\\s*)' + src[t.GTLT] + | ||||
| 
 | ||||
| // this one has to use the /g flag
 | ||||
| re[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], 'g') | ||||
| safeRe[t.COMPARATORTRIM] = new RegExp(makeSafeRe(src[t.COMPARATORTRIM]), 'g') | ||||
| var comparatorTrimReplace = '$1$2$3' | ||||
| 
 | ||||
| // Something like `1.2.3 - 1.2.4`
 | ||||
| @ -3521,6 +3553,14 @@ for (var i = 0; i < R; i++) { | ||||
|   debug(i, src[i]) | ||||
|   if (!re[i]) { | ||||
|     re[i] = new RegExp(src[i]) | ||||
| 
 | ||||
|     // Replace all greedy whitespace to prevent regex dos issues. These regex are
 | ||||
|     // used internally via the safeRe object since all inputs in this library get
 | ||||
|     // normalized first to trim and collapse all extra whitespace. The original
 | ||||
|     // regexes are exported for userland consumption and lower level usage. A
 | ||||
|     // future breaking change could export the safer regex only with a note that
 | ||||
|     // all input should have extra whitespace removed.
 | ||||
|     safeRe[i] = new RegExp(makeSafeRe(src[i])) | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| @ -3545,7 +3585,7 @@ function parse (version, options) { | ||||
|     return null | ||||
|   } | ||||
| 
 | ||||
|   var r = options.loose ? re[t.LOOSE] : re[t.FULL] | ||||
|   var r = options.loose ? safeRe[t.LOOSE] : safeRe[t.FULL] | ||||
|   if (!r.test(version)) { | ||||
|     return null | ||||
|   } | ||||
| @ -3600,7 +3640,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 ? safeRe[t.LOOSE] : safeRe[t.FULL]) | ||||
| 
 | ||||
|   if (!m) { | ||||
|     throw new TypeError('Invalid Version: ' + version) | ||||
| @ -4045,6 +4085,7 @@ function Comparator (comp, options) { | ||||
|     return new Comparator(comp, options) | ||||
|   } | ||||
| 
 | ||||
|   comp = comp.trim().split(/\s+/).join(' ') | ||||
|   debug('comparator', comp, options) | ||||
|   this.options = options | ||||
|   this.loose = !!options.loose | ||||
| @ -4061,7 +4102,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 ? safeRe[t.COMPARATORLOOSE] : safeRe[t.COMPARATOR] | ||||
|   var m = comp.match(r) | ||||
| 
 | ||||
|   if (!m) { | ||||
| @ -4185,9 +4226,16 @@ function Range (range, options) { | ||||
|   this.loose = !!options.loose | ||||
|   this.includePrerelease = !!options.includePrerelease | ||||
| 
 | ||||
|   // First, split based on boolean or ||
 | ||||
|   // First reduce all whitespace as much as possible so we do not have to rely
 | ||||
|   // on potentially slow regexes like \s*. This is then stored and used for
 | ||||
|   // future error messages as well.
 | ||||
|   this.raw = range | ||||
|   this.set = range.split(/\s*\|\|\s*/).map(function (range) { | ||||
|     .trim() | ||||
|     .split(/\s+/) | ||||
|     .join(' ') | ||||
| 
 | ||||
|   // First, split based on boolean or ||
 | ||||
|   this.set = this.raw.split('||').map(function (range) { | ||||
|     return this.parseRange(range.trim()) | ||||
|   }, this).filter(function (c) { | ||||
|     // throw out any that are not relevant for whatever reason
 | ||||
| @ -4195,7 +4243,7 @@ function Range (range, options) { | ||||
|   }) | ||||
| 
 | ||||
|   if (!this.set.length) { | ||||
|     throw new TypeError('Invalid SemVer Range: ' + range) | ||||
|     throw new TypeError('Invalid SemVer Range: ' + this.raw) | ||||
|   } | ||||
| 
 | ||||
|   this.format() | ||||
| @ -4214,20 +4262,19 @@ Range.prototype.toString = function () { | ||||
| 
 | ||||
| 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 ? safeRe[t.HYPHENRANGELOOSE] : safeRe[t.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(safeRe[t.COMPARATORTRIM], comparatorTrimReplace) | ||||
|   debug('comparator trim', range, safeRe[t.COMPARATORTRIM]) | ||||
| 
 | ||||
|   // `~ 1.2.3` => `~1.2.3`
 | ||||
|   range = range.replace(re[t.TILDETRIM], tildeTrimReplace) | ||||
|   range = range.replace(safeRe[t.TILDETRIM], tildeTrimReplace) | ||||
| 
 | ||||
|   // `^ 1.2.3` => `^1.2.3`
 | ||||
|   range = range.replace(re[t.CARETTRIM], caretTrimReplace) | ||||
|   range = range.replace(safeRe[t.CARETTRIM], caretTrimReplace) | ||||
| 
 | ||||
|   // normalize spaces
 | ||||
|   range = range.split(/\s+/).join(' ') | ||||
| @ -4235,7 +4282,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 ? safeRe[t.COMPARATORLOOSE] : safeRe[t.COMPARATOR] | ||||
|   var set = range.split(' ').map(function (comp) { | ||||
|     return parseComparator(comp, this.options) | ||||
|   }, this).join(' ').split(/\s+/) | ||||
| @ -4335,7 +4382,7 @@ function replaceTildes (comp, options) { | ||||
| } | ||||
| 
 | ||||
| function replaceTilde (comp, options) { | ||||
|   var r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE] | ||||
|   var r = options.loose ? safeRe[t.TILDELOOSE] : safeRe[t.TILDE] | ||||
|   return comp.replace(r, function (_, M, m, p, pr) { | ||||
|     debug('tilde', comp, _, M, m, p, pr) | ||||
|     var ret | ||||
| @ -4376,7 +4423,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 ? safeRe[t.CARETLOOSE] : safeRe[t.CARET] | ||||
|   return comp.replace(r, function (_, M, m, p, pr) { | ||||
|     debug('caret', comp, _, M, m, p, pr) | ||||
|     var ret | ||||
| @ -4435,7 +4482,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 ? safeRe[t.XRANGELOOSE] : safeRe[t.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) | ||||
| @ -4510,7 +4557,7 @@ 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(safeRe[t.STAR], '') | ||||
| } | ||||
| 
 | ||||
| // This function is passed to string.replace(re[t.HYPHENRANGE])
 | ||||
| @ -4836,7 +4883,7 @@ function coerce (version, options) { | ||||
| 
 | ||||
|   var match = null | ||||
|   if (!options.rtl) { | ||||
|     match = version.match(re[t.COERCE]) | ||||
|     match = version.match(safeRe[t.COERCE]) | ||||
|   } else { | ||||
|     // Find the right-most coercible string that does not share
 | ||||
|     // a terminus with a more left-ward coercible string.
 | ||||
| @ -4847,17 +4894,17 @@ function coerce (version, options) { | ||||
|     // 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)) && | ||||
|     while ((next = safeRe[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 | ||||
|       safeRe[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length | ||||
|     } | ||||
|     // leave it in a clean state
 | ||||
|     re[t.COERCERTL].lastIndex = -1 | ||||
|     safeRe[t.COERCERTL].lastIndex = -1 | ||||
|   } | ||||
| 
 | ||||
|   if (match === null) { | ||||
| @ -59042,7 +59089,11 @@ module.exports = v4; | ||||
| 
 | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
|     var desc = Object.getOwnPropertyDescriptor(m, k); | ||||
|     if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||||
|       desc = { enumerable: true, get: function() { return m[k]; } }; | ||||
|     } | ||||
|     Object.defineProperty(o, k2, desc); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| @ -59151,7 +59202,11 @@ exports.CACHE_DEPENDENCY_BACKUP_PATH = '**/pyproject.toml'; | ||||
| 
 | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
|     var desc = Object.getOwnPropertyDescriptor(m, k); | ||||
|     if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||||
|       desc = { enumerable: true, get: function() { return m[k]; } }; | ||||
|     } | ||||
|     Object.defineProperty(o, k2, desc); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
|  | ||||
							
								
								
									
										353
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										353
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							| @ -3300,8 +3300,11 @@ var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || | ||||
| // Max safe segment length for coercion.
 | ||||
| var MAX_SAFE_COMPONENT_LENGTH = 16 | ||||
| 
 | ||||
| var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6 | ||||
| 
 | ||||
| // The actual regexps go on exports.re
 | ||||
| var re = exports.re = [] | ||||
| var safeRe = exports.safeRe = [] | ||||
| var src = exports.src = [] | ||||
| var t = exports.tokens = {} | ||||
| var R = 0 | ||||
| @ -3310,6 +3313,31 @@ function tok (n) { | ||||
|   t[n] = R++ | ||||
| } | ||||
| 
 | ||||
| var LETTERDASHNUMBER = '[a-zA-Z0-9-]' | ||||
| 
 | ||||
| // Replace some greedy regex tokens to prevent regex dos issues. These regex are
 | ||||
| // used internally via the safeRe object since all inputs in this library get
 | ||||
| // normalized first to trim and collapse all extra whitespace. The original
 | ||||
| // regexes are exported for userland consumption and lower level usage. A
 | ||||
| // future breaking change could export the safer regex only with a note that
 | ||||
| // all input should have extra whitespace removed.
 | ||||
| var safeRegexReplacements = [ | ||||
|   ['\\s', 1], | ||||
|   ['\\d', MAX_LENGTH], | ||||
|   [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH], | ||||
| ] | ||||
| 
 | ||||
| function makeSafeRe (value) { | ||||
|   for (var i = 0; i < safeRegexReplacements.length; i++) { | ||||
|     var token = safeRegexReplacements[i][0] | ||||
|     var max = safeRegexReplacements[i][1] | ||||
|     value = value | ||||
|       .split(token + '*').join(token + '{0,' + max + '}') | ||||
|       .split(token + '+').join(token + '{1,' + max + '}') | ||||
|   } | ||||
|   return value | ||||
| } | ||||
| 
 | ||||
| // The following Regular Expressions can be used for tokenizing,
 | ||||
| // validating, and parsing SemVer version strings.
 | ||||
| 
 | ||||
| @ -3319,14 +3347,14 @@ function tok (n) { | ||||
| tok('NUMERICIDENTIFIER') | ||||
| src[t.NUMERICIDENTIFIER] = '0|[1-9]\\d*' | ||||
| tok('NUMERICIDENTIFIERLOOSE') | ||||
| src[t.NUMERICIDENTIFIERLOOSE] = '[0-9]+' | ||||
| src[t.NUMERICIDENTIFIERLOOSE] = '\\d+' | ||||
| 
 | ||||
| // ## 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-]*' | ||||
| src[t.NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-]' + LETTERDASHNUMBER + '*' | ||||
| 
 | ||||
| // ## Main Version
 | ||||
| // Three dot-separated numeric identifiers.
 | ||||
| @ -3368,7 +3396,7 @@ src[t.PRERELEASELOOSE] = '(?:-?(' + src[t.PRERELEASEIDENTIFIERLOOSE] + | ||||
| // Any combination of digits, letters, or hyphens.
 | ||||
| 
 | ||||
| tok('BUILDIDENTIFIER') | ||||
| src[t.BUILDIDENTIFIER] = '[0-9A-Za-z-]+' | ||||
| src[t.BUILDIDENTIFIER] = LETTERDASHNUMBER + '+' | ||||
| 
 | ||||
| // ## Build Metadata
 | ||||
| // Plus sign, followed by one or more period-separated build metadata
 | ||||
| @ -3448,6 +3476,7 @@ src[t.COERCE] = '(^|[^\\d])' + | ||||
|               '(?:$|[^\\d])' | ||||
| tok('COERCERTL') | ||||
| re[t.COERCERTL] = new RegExp(src[t.COERCE], 'g') | ||||
| safeRe[t.COERCERTL] = new RegExp(makeSafeRe(src[t.COERCE]), 'g') | ||||
| 
 | ||||
| // Tilde ranges.
 | ||||
| // Meaning is "reasonably at or greater than"
 | ||||
| @ -3457,6 +3486,7 @@ src[t.LONETILDE] = '(?:~>?)' | ||||
| tok('TILDETRIM') | ||||
| src[t.TILDETRIM] = '(\\s*)' + src[t.LONETILDE] + '\\s+' | ||||
| re[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], 'g') | ||||
| safeRe[t.TILDETRIM] = new RegExp(makeSafeRe(src[t.TILDETRIM]), 'g') | ||||
| var tildeTrimReplace = '$1~' | ||||
| 
 | ||||
| tok('TILDE') | ||||
| @ -3472,6 +3502,7 @@ src[t.LONECARET] = '(?:\\^)' | ||||
| tok('CARETTRIM') | ||||
| src[t.CARETTRIM] = '(\\s*)' + src[t.LONECARET] + '\\s+' | ||||
| re[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], 'g') | ||||
| safeRe[t.CARETTRIM] = new RegExp(makeSafeRe(src[t.CARETTRIM]), 'g') | ||||
| var caretTrimReplace = '$1^' | ||||
| 
 | ||||
| tok('CARET') | ||||
| @ -3493,6 +3524,7 @@ src[t.COMPARATORTRIM] = '(\\s*)' + src[t.GTLT] + | ||||
| 
 | ||||
| // this one has to use the /g flag
 | ||||
| re[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], 'g') | ||||
| safeRe[t.COMPARATORTRIM] = new RegExp(makeSafeRe(src[t.COMPARATORTRIM]), 'g') | ||||
| var comparatorTrimReplace = '$1$2$3' | ||||
| 
 | ||||
| // Something like `1.2.3 - 1.2.4`
 | ||||
| @ -3521,6 +3553,14 @@ for (var i = 0; i < R; i++) { | ||||
|   debug(i, src[i]) | ||||
|   if (!re[i]) { | ||||
|     re[i] = new RegExp(src[i]) | ||||
| 
 | ||||
|     // Replace all greedy whitespace to prevent regex dos issues. These regex are
 | ||||
|     // used internally via the safeRe object since all inputs in this library get
 | ||||
|     // normalized first to trim and collapse all extra whitespace. The original
 | ||||
|     // regexes are exported for userland consumption and lower level usage. A
 | ||||
|     // future breaking change could export the safer regex only with a note that
 | ||||
|     // all input should have extra whitespace removed.
 | ||||
|     safeRe[i] = new RegExp(makeSafeRe(src[i])) | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| @ -3545,7 +3585,7 @@ function parse (version, options) { | ||||
|     return null | ||||
|   } | ||||
| 
 | ||||
|   var r = options.loose ? re[t.LOOSE] : re[t.FULL] | ||||
|   var r = options.loose ? safeRe[t.LOOSE] : safeRe[t.FULL] | ||||
|   if (!r.test(version)) { | ||||
|     return null | ||||
|   } | ||||
| @ -3600,7 +3640,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 ? safeRe[t.LOOSE] : safeRe[t.FULL]) | ||||
| 
 | ||||
|   if (!m) { | ||||
|     throw new TypeError('Invalid Version: ' + version) | ||||
| @ -4045,6 +4085,7 @@ function Comparator (comp, options) { | ||||
|     return new Comparator(comp, options) | ||||
|   } | ||||
| 
 | ||||
|   comp = comp.trim().split(/\s+/).join(' ') | ||||
|   debug('comparator', comp, options) | ||||
|   this.options = options | ||||
|   this.loose = !!options.loose | ||||
| @ -4061,7 +4102,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 ? safeRe[t.COMPARATORLOOSE] : safeRe[t.COMPARATOR] | ||||
|   var m = comp.match(r) | ||||
| 
 | ||||
|   if (!m) { | ||||
| @ -4185,9 +4226,16 @@ function Range (range, options) { | ||||
|   this.loose = !!options.loose | ||||
|   this.includePrerelease = !!options.includePrerelease | ||||
| 
 | ||||
|   // First, split based on boolean or ||
 | ||||
|   // First reduce all whitespace as much as possible so we do not have to rely
 | ||||
|   // on potentially slow regexes like \s*. This is then stored and used for
 | ||||
|   // future error messages as well.
 | ||||
|   this.raw = range | ||||
|   this.set = range.split(/\s*\|\|\s*/).map(function (range) { | ||||
|     .trim() | ||||
|     .split(/\s+/) | ||||
|     .join(' ') | ||||
| 
 | ||||
|   // First, split based on boolean or ||
 | ||||
|   this.set = this.raw.split('||').map(function (range) { | ||||
|     return this.parseRange(range.trim()) | ||||
|   }, this).filter(function (c) { | ||||
|     // throw out any that are not relevant for whatever reason
 | ||||
| @ -4195,7 +4243,7 @@ function Range (range, options) { | ||||
|   }) | ||||
| 
 | ||||
|   if (!this.set.length) { | ||||
|     throw new TypeError('Invalid SemVer Range: ' + range) | ||||
|     throw new TypeError('Invalid SemVer Range: ' + this.raw) | ||||
|   } | ||||
| 
 | ||||
|   this.format() | ||||
| @ -4214,20 +4262,19 @@ Range.prototype.toString = function () { | ||||
| 
 | ||||
| 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 ? safeRe[t.HYPHENRANGELOOSE] : safeRe[t.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(safeRe[t.COMPARATORTRIM], comparatorTrimReplace) | ||||
|   debug('comparator trim', range, safeRe[t.COMPARATORTRIM]) | ||||
| 
 | ||||
|   // `~ 1.2.3` => `~1.2.3`
 | ||||
|   range = range.replace(re[t.TILDETRIM], tildeTrimReplace) | ||||
|   range = range.replace(safeRe[t.TILDETRIM], tildeTrimReplace) | ||||
| 
 | ||||
|   // `^ 1.2.3` => `^1.2.3`
 | ||||
|   range = range.replace(re[t.CARETTRIM], caretTrimReplace) | ||||
|   range = range.replace(safeRe[t.CARETTRIM], caretTrimReplace) | ||||
| 
 | ||||
|   // normalize spaces
 | ||||
|   range = range.split(/\s+/).join(' ') | ||||
| @ -4235,7 +4282,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 ? safeRe[t.COMPARATORLOOSE] : safeRe[t.COMPARATOR] | ||||
|   var set = range.split(' ').map(function (comp) { | ||||
|     return parseComparator(comp, this.options) | ||||
|   }, this).join(' ').split(/\s+/) | ||||
| @ -4335,7 +4382,7 @@ function replaceTildes (comp, options) { | ||||
| } | ||||
| 
 | ||||
| function replaceTilde (comp, options) { | ||||
|   var r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE] | ||||
|   var r = options.loose ? safeRe[t.TILDELOOSE] : safeRe[t.TILDE] | ||||
|   return comp.replace(r, function (_, M, m, p, pr) { | ||||
|     debug('tilde', comp, _, M, m, p, pr) | ||||
|     var ret | ||||
| @ -4376,7 +4423,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 ? safeRe[t.CARETLOOSE] : safeRe[t.CARET] | ||||
|   return comp.replace(r, function (_, M, m, p, pr) { | ||||
|     debug('caret', comp, _, M, m, p, pr) | ||||
|     var ret | ||||
| @ -4435,7 +4482,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 ? safeRe[t.XRANGELOOSE] : safeRe[t.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) | ||||
| @ -4510,7 +4557,7 @@ 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(safeRe[t.STAR], '') | ||||
| } | ||||
| 
 | ||||
| // This function is passed to string.replace(re[t.HYPHENRANGE])
 | ||||
| @ -4836,7 +4883,7 @@ function coerce (version, options) { | ||||
| 
 | ||||
|   var match = null | ||||
|   if (!options.rtl) { | ||||
|     match = version.match(re[t.COERCE]) | ||||
|     match = version.match(safeRe[t.COERCE]) | ||||
|   } else { | ||||
|     // Find the right-most coercible string that does not share
 | ||||
|     // a terminus with a more left-ward coercible string.
 | ||||
| @ -4847,17 +4894,17 @@ function coerce (version, options) { | ||||
|     // 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)) && | ||||
|     while ((next = safeRe[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 | ||||
|       safeRe[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length | ||||
|     } | ||||
|     // leave it in a clean state
 | ||||
|     re[t.COERCERTL].lastIndex = -1 | ||||
|     safeRe[t.COERCERTL].lastIndex = -1 | ||||
|   } | ||||
| 
 | ||||
|   if (match === null) { | ||||
| @ -11121,8 +11168,11 @@ var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || | ||||
| // Max safe segment length for coercion.
 | ||||
| var MAX_SAFE_COMPONENT_LENGTH = 16 | ||||
| 
 | ||||
| var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6 | ||||
| 
 | ||||
| // The actual regexps go on exports.re
 | ||||
| var re = exports.re = [] | ||||
| var safeRe = exports.safeRe = [] | ||||
| var src = exports.src = [] | ||||
| var t = exports.tokens = {} | ||||
| var R = 0 | ||||
| @ -11131,6 +11181,31 @@ function tok (n) { | ||||
|   t[n] = R++ | ||||
| } | ||||
| 
 | ||||
| var LETTERDASHNUMBER = '[a-zA-Z0-9-]' | ||||
| 
 | ||||
| // Replace some greedy regex tokens to prevent regex dos issues. These regex are
 | ||||
| // used internally via the safeRe object since all inputs in this library get
 | ||||
| // normalized first to trim and collapse all extra whitespace. The original
 | ||||
| // regexes are exported for userland consumption and lower level usage. A
 | ||||
| // future breaking change could export the safer regex only with a note that
 | ||||
| // all input should have extra whitespace removed.
 | ||||
| var safeRegexReplacements = [ | ||||
|   ['\\s', 1], | ||||
|   ['\\d', MAX_LENGTH], | ||||
|   [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH], | ||||
| ] | ||||
| 
 | ||||
| function makeSafeRe (value) { | ||||
|   for (var i = 0; i < safeRegexReplacements.length; i++) { | ||||
|     var token = safeRegexReplacements[i][0] | ||||
|     var max = safeRegexReplacements[i][1] | ||||
|     value = value | ||||
|       .split(token + '*').join(token + '{0,' + max + '}') | ||||
|       .split(token + '+').join(token + '{1,' + max + '}') | ||||
|   } | ||||
|   return value | ||||
| } | ||||
| 
 | ||||
| // The following Regular Expressions can be used for tokenizing,
 | ||||
| // validating, and parsing SemVer version strings.
 | ||||
| 
 | ||||
| @ -11140,14 +11215,14 @@ function tok (n) { | ||||
| tok('NUMERICIDENTIFIER') | ||||
| src[t.NUMERICIDENTIFIER] = '0|[1-9]\\d*' | ||||
| tok('NUMERICIDENTIFIERLOOSE') | ||||
| src[t.NUMERICIDENTIFIERLOOSE] = '[0-9]+' | ||||
| src[t.NUMERICIDENTIFIERLOOSE] = '\\d+' | ||||
| 
 | ||||
| // ## 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-]*' | ||||
| src[t.NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-]' + LETTERDASHNUMBER + '*' | ||||
| 
 | ||||
| // ## Main Version
 | ||||
| // Three dot-separated numeric identifiers.
 | ||||
| @ -11189,7 +11264,7 @@ src[t.PRERELEASELOOSE] = '(?:-?(' + src[t.PRERELEASEIDENTIFIERLOOSE] + | ||||
| // Any combination of digits, letters, or hyphens.
 | ||||
| 
 | ||||
| tok('BUILDIDENTIFIER') | ||||
| src[t.BUILDIDENTIFIER] = '[0-9A-Za-z-]+' | ||||
| src[t.BUILDIDENTIFIER] = LETTERDASHNUMBER + '+' | ||||
| 
 | ||||
| // ## Build Metadata
 | ||||
| // Plus sign, followed by one or more period-separated build metadata
 | ||||
| @ -11269,6 +11344,7 @@ src[t.COERCE] = '(^|[^\\d])' + | ||||
|               '(?:$|[^\\d])' | ||||
| tok('COERCERTL') | ||||
| re[t.COERCERTL] = new RegExp(src[t.COERCE], 'g') | ||||
| safeRe[t.COERCERTL] = new RegExp(makeSafeRe(src[t.COERCE]), 'g') | ||||
| 
 | ||||
| // Tilde ranges.
 | ||||
| // Meaning is "reasonably at or greater than"
 | ||||
| @ -11278,6 +11354,7 @@ src[t.LONETILDE] = '(?:~>?)' | ||||
| tok('TILDETRIM') | ||||
| src[t.TILDETRIM] = '(\\s*)' + src[t.LONETILDE] + '\\s+' | ||||
| re[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], 'g') | ||||
| safeRe[t.TILDETRIM] = new RegExp(makeSafeRe(src[t.TILDETRIM]), 'g') | ||||
| var tildeTrimReplace = '$1~' | ||||
| 
 | ||||
| tok('TILDE') | ||||
| @ -11293,6 +11370,7 @@ src[t.LONECARET] = '(?:\\^)' | ||||
| tok('CARETTRIM') | ||||
| src[t.CARETTRIM] = '(\\s*)' + src[t.LONECARET] + '\\s+' | ||||
| re[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], 'g') | ||||
| safeRe[t.CARETTRIM] = new RegExp(makeSafeRe(src[t.CARETTRIM]), 'g') | ||||
| var caretTrimReplace = '$1^' | ||||
| 
 | ||||
| tok('CARET') | ||||
| @ -11314,6 +11392,7 @@ src[t.COMPARATORTRIM] = '(\\s*)' + src[t.GTLT] + | ||||
| 
 | ||||
| // this one has to use the /g flag
 | ||||
| re[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], 'g') | ||||
| safeRe[t.COMPARATORTRIM] = new RegExp(makeSafeRe(src[t.COMPARATORTRIM]), 'g') | ||||
| var comparatorTrimReplace = '$1$2$3' | ||||
| 
 | ||||
| // Something like `1.2.3 - 1.2.4`
 | ||||
| @ -11342,6 +11421,14 @@ for (var i = 0; i < R; i++) { | ||||
|   debug(i, src[i]) | ||||
|   if (!re[i]) { | ||||
|     re[i] = new RegExp(src[i]) | ||||
| 
 | ||||
|     // Replace all greedy whitespace to prevent regex dos issues. These regex are
 | ||||
|     // used internally via the safeRe object since all inputs in this library get
 | ||||
|     // normalized first to trim and collapse all extra whitespace. The original
 | ||||
|     // regexes are exported for userland consumption and lower level usage. A
 | ||||
|     // future breaking change could export the safer regex only with a note that
 | ||||
|     // all input should have extra whitespace removed.
 | ||||
|     safeRe[i] = new RegExp(makeSafeRe(src[i])) | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| @ -11366,7 +11453,7 @@ function parse (version, options) { | ||||
|     return null | ||||
|   } | ||||
| 
 | ||||
|   var r = options.loose ? re[t.LOOSE] : re[t.FULL] | ||||
|   var r = options.loose ? safeRe[t.LOOSE] : safeRe[t.FULL] | ||||
|   if (!r.test(version)) { | ||||
|     return null | ||||
|   } | ||||
| @ -11421,7 +11508,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 ? safeRe[t.LOOSE] : safeRe[t.FULL]) | ||||
| 
 | ||||
|   if (!m) { | ||||
|     throw new TypeError('Invalid Version: ' + version) | ||||
| @ -11866,6 +11953,7 @@ function Comparator (comp, options) { | ||||
|     return new Comparator(comp, options) | ||||
|   } | ||||
| 
 | ||||
|   comp = comp.trim().split(/\s+/).join(' ') | ||||
|   debug('comparator', comp, options) | ||||
|   this.options = options | ||||
|   this.loose = !!options.loose | ||||
| @ -11882,7 +11970,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 ? safeRe[t.COMPARATORLOOSE] : safeRe[t.COMPARATOR] | ||||
|   var m = comp.match(r) | ||||
| 
 | ||||
|   if (!m) { | ||||
| @ -12006,9 +12094,16 @@ function Range (range, options) { | ||||
|   this.loose = !!options.loose | ||||
|   this.includePrerelease = !!options.includePrerelease | ||||
| 
 | ||||
|   // First, split based on boolean or ||
 | ||||
|   // First reduce all whitespace as much as possible so we do not have to rely
 | ||||
|   // on potentially slow regexes like \s*. This is then stored and used for
 | ||||
|   // future error messages as well.
 | ||||
|   this.raw = range | ||||
|   this.set = range.split(/\s*\|\|\s*/).map(function (range) { | ||||
|     .trim() | ||||
|     .split(/\s+/) | ||||
|     .join(' ') | ||||
| 
 | ||||
|   // First, split based on boolean or ||
 | ||||
|   this.set = this.raw.split('||').map(function (range) { | ||||
|     return this.parseRange(range.trim()) | ||||
|   }, this).filter(function (c) { | ||||
|     // throw out any that are not relevant for whatever reason
 | ||||
| @ -12016,7 +12111,7 @@ function Range (range, options) { | ||||
|   }) | ||||
| 
 | ||||
|   if (!this.set.length) { | ||||
|     throw new TypeError('Invalid SemVer Range: ' + range) | ||||
|     throw new TypeError('Invalid SemVer Range: ' + this.raw) | ||||
|   } | ||||
| 
 | ||||
|   this.format() | ||||
| @ -12035,20 +12130,19 @@ Range.prototype.toString = function () { | ||||
| 
 | ||||
| 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 ? safeRe[t.HYPHENRANGELOOSE] : safeRe[t.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(safeRe[t.COMPARATORTRIM], comparatorTrimReplace) | ||||
|   debug('comparator trim', range, safeRe[t.COMPARATORTRIM]) | ||||
| 
 | ||||
|   // `~ 1.2.3` => `~1.2.3`
 | ||||
|   range = range.replace(re[t.TILDETRIM], tildeTrimReplace) | ||||
|   range = range.replace(safeRe[t.TILDETRIM], tildeTrimReplace) | ||||
| 
 | ||||
|   // `^ 1.2.3` => `^1.2.3`
 | ||||
|   range = range.replace(re[t.CARETTRIM], caretTrimReplace) | ||||
|   range = range.replace(safeRe[t.CARETTRIM], caretTrimReplace) | ||||
| 
 | ||||
|   // normalize spaces
 | ||||
|   range = range.split(/\s+/).join(' ') | ||||
| @ -12056,7 +12150,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 ? safeRe[t.COMPARATORLOOSE] : safeRe[t.COMPARATOR] | ||||
|   var set = range.split(' ').map(function (comp) { | ||||
|     return parseComparator(comp, this.options) | ||||
|   }, this).join(' ').split(/\s+/) | ||||
| @ -12156,7 +12250,7 @@ function replaceTildes (comp, options) { | ||||
| } | ||||
| 
 | ||||
| function replaceTilde (comp, options) { | ||||
|   var r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE] | ||||
|   var r = options.loose ? safeRe[t.TILDELOOSE] : safeRe[t.TILDE] | ||||
|   return comp.replace(r, function (_, M, m, p, pr) { | ||||
|     debug('tilde', comp, _, M, m, p, pr) | ||||
|     var ret | ||||
| @ -12197,7 +12291,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 ? safeRe[t.CARETLOOSE] : safeRe[t.CARET] | ||||
|   return comp.replace(r, function (_, M, m, p, pr) { | ||||
|     debug('caret', comp, _, M, m, p, pr) | ||||
|     var ret | ||||
| @ -12256,7 +12350,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 ? safeRe[t.XRANGELOOSE] : safeRe[t.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) | ||||
| @ -12331,7 +12425,7 @@ 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(safeRe[t.STAR], '') | ||||
| } | ||||
| 
 | ||||
| // This function is passed to string.replace(re[t.HYPHENRANGE])
 | ||||
| @ -12657,7 +12751,7 @@ function coerce (version, options) { | ||||
| 
 | ||||
|   var match = null | ||||
|   if (!options.rtl) { | ||||
|     match = version.match(re[t.COERCE]) | ||||
|     match = version.match(safeRe[t.COERCE]) | ||||
|   } else { | ||||
|     // Find the right-most coercible string that does not share
 | ||||
|     // a terminus with a more left-ward coercible string.
 | ||||
| @ -12668,17 +12762,17 @@ function coerce (version, options) { | ||||
|     // 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)) && | ||||
|     while ((next = safeRe[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 | ||||
|       safeRe[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length | ||||
|     } | ||||
|     // leave it in a clean state
 | ||||
|     re[t.COERCERTL].lastIndex = -1 | ||||
|     safeRe[t.COERCERTL].lastIndex = -1 | ||||
|   } | ||||
| 
 | ||||
|   if (match === null) { | ||||
| @ -68614,7 +68708,11 @@ try { | ||||
| 
 | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
|     var desc = Object.getOwnPropertyDescriptor(m, k); | ||||
|     if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||||
|       desc = { enumerable: true, get: function() { return m[k]; } }; | ||||
|     } | ||||
|     Object.defineProperty(o, k2, desc); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| @ -68759,7 +68857,11 @@ exports.CACHE_DEPENDENCY_BACKUP_PATH = '**/pyproject.toml'; | ||||
| 
 | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
|     var desc = Object.getOwnPropertyDescriptor(m, k); | ||||
|     if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||||
|       desc = { enumerable: true, get: function() { return m[k]; } }; | ||||
|     } | ||||
|     Object.defineProperty(o, k2, desc); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| @ -68844,7 +68946,7 @@ class PipCache extends cache_distributor_1.default { | ||||
|             let primaryKey = ''; | ||||
|             let restoreKey = ''; | ||||
|             if (utils_1.IS_LINUX) { | ||||
|                 const osInfo = yield utils_1.getLinuxInfo(); | ||||
|                 const osInfo = yield (0, utils_1.getLinuxInfo)(); | ||||
|                 primaryKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${osInfo.osVersion}-${osInfo.osName}-python-${this.pythonVersion}-${this.packageManager}-${hash}`; | ||||
|                 restoreKey = `${this.CACHE_KEY_PREFIX}-${process.env['RUNNER_OS']}-${osInfo.osVersion}-${osInfo.osName}-python-${this.pythonVersion}-${this.packageManager}`; | ||||
|             } | ||||
| @ -68871,7 +68973,11 @@ exports["default"] = PipCache; | ||||
| 
 | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
|     var desc = Object.getOwnPropertyDescriptor(m, k); | ||||
|     if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||||
|       desc = { enumerable: true, get: function() { return m[k]; } }; | ||||
|     } | ||||
|     Object.defineProperty(o, k2, desc); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| @ -68953,7 +69059,11 @@ exports["default"] = PipenvCache; | ||||
| 
 | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
|     var desc = Object.getOwnPropertyDescriptor(m, k); | ||||
|     if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||||
|       desc = { enumerable: true, get: function() { return m[k]; } }; | ||||
|     } | ||||
|     Object.defineProperty(o, k2, desc); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| @ -69005,30 +69115,37 @@ class PoetryCache extends cache_distributor_1.default { | ||||
|         this.poetryProjects = poetryProjects; | ||||
|     } | ||||
|     getCacheGlobalDirectories() { | ||||
|         var e_1, _a; | ||||
|         var _a, e_1, _b, _c; | ||||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             // Same virtualenvs path may appear for different projects, hence we use a Set
 | ||||
|             const paths = new Set(); | ||||
|             const globber = yield glob.create(this.patterns); | ||||
|             try { | ||||
|                 for (var _b = __asyncValues(globber.globGenerator()), _c; _c = yield _b.next(), !_c.done;) { | ||||
|                     const file = _c.value; | ||||
|                     const basedir = path.dirname(file); | ||||
|                     core.debug(`Processing Poetry project at ${basedir}`); | ||||
|                     this.poetryProjects.add(basedir); | ||||
|                     const poetryConfig = yield this.getPoetryConfiguration(basedir); | ||||
|                     const cacheDir = poetryConfig['cache-dir']; | ||||
|                     const virtualenvsPath = poetryConfig['virtualenvs.path'].replace('{cache-dir}', cacheDir); | ||||
|                     paths.add(virtualenvsPath); | ||||
|                     if (poetryConfig['virtualenvs.in-project']) { | ||||
|                         paths.add(path.join(basedir, '.venv')); | ||||
|                 for (var _d = true, _e = __asyncValues(globber.globGenerator()), _f; _f = yield _e.next(), _a = _f.done, !_a;) { | ||||
|                     _c = _f.value; | ||||
|                     _d = false; | ||||
|                     try { | ||||
|                         const file = _c; | ||||
|                         const basedir = path.dirname(file); | ||||
|                         core.debug(`Processing Poetry project at ${basedir}`); | ||||
|                         this.poetryProjects.add(basedir); | ||||
|                         const poetryConfig = yield this.getPoetryConfiguration(basedir); | ||||
|                         const cacheDir = poetryConfig['cache-dir']; | ||||
|                         const virtualenvsPath = poetryConfig['virtualenvs.path'].replace('{cache-dir}', cacheDir); | ||||
|                         paths.add(virtualenvsPath); | ||||
|                         if (poetryConfig['virtualenvs.in-project']) { | ||||
|                             paths.add(path.join(basedir, '.venv')); | ||||
|                         } | ||||
|                     } | ||||
|                     finally { | ||||
|                         _d = true; | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|             catch (e_1_1) { e_1 = { error: e_1_1 }; } | ||||
|             finally { | ||||
|                 try { | ||||
|                     if (_c && !_c.done && (_a = _b.return)) yield _a.call(_b); | ||||
|                     if (!_d && !_a && (_b = _e.return)) yield _b.call(_e); | ||||
|                 } | ||||
|                 finally { if (e_1) throw e_1.error; } | ||||
|             } | ||||
| @ -69060,13 +69177,13 @@ class PoetryCache extends cache_distributor_1.default { | ||||
|                 core.debug(`pythonLocation is ${pythonLocation}`); | ||||
|             } | ||||
|             else { | ||||
|                 utils_1.logWarning('python binaries were not found in PATH'); | ||||
|                 (0, utils_1.logWarning)('python binaries were not found in PATH'); | ||||
|                 return; | ||||
|             } | ||||
|             for (const poetryProject of this.poetryProjects) { | ||||
|                 const { exitCode, stderr } = yield exec.getExecOutput('poetry', ['env', 'use', pythonLocation], { ignoreReturnCode: true, cwd: poetryProject }); | ||||
|                 if (exitCode) { | ||||
|                     utils_1.logWarning(stderr); | ||||
|                     (0, utils_1.logWarning)(stderr); | ||||
|                 } | ||||
|             } | ||||
|         }); | ||||
| @ -69100,7 +69217,11 @@ exports["default"] = PoetryCache; | ||||
| 
 | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
|     var desc = Object.getOwnPropertyDescriptor(m, k); | ||||
|     if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||||
|       desc = { enumerable: true, get: function() { return m[k]; } }; | ||||
|     } | ||||
|     Object.defineProperty(o, k2, desc); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| @ -69161,7 +69282,7 @@ function findGraalPyVersion(versionSpec, architecture, updateEnvironment, checkL | ||||
|         const _binDir = path.join(installDir, pipDir); | ||||
|         const binaryExtension = utils_1.IS_WINDOWS ? '.exe' : ''; | ||||
|         const pythonPath = path.join(utils_1.IS_WINDOWS ? installDir : _binDir, `python${binaryExtension}`); | ||||
|         const pythonLocation = utils_1.getBinaryDirectory(installDir); | ||||
|         const pythonLocation = (0, utils_1.getBinaryDirectory)(installDir); | ||||
|         if (updateEnvironment) { | ||||
|             core.exportVariable('pythonLocation', installDir); | ||||
|             // https://cmake.org/cmake/help/latest/module/FindPython.html#module:FindPython
 | ||||
| @ -69209,7 +69330,7 @@ function parseGraalPyVersion(versionSpec) { | ||||
|         throw new Error("Invalid 'version' property for GraalPy. GraalPy version should be specified as 'graalpy<python-version>' or 'graalpy-<python-version>'. See README for examples and documentation."); | ||||
|     } | ||||
|     const pythonVersion = versions[1]; | ||||
|     if (!utils_1.validateVersion(pythonVersion)) { | ||||
|     if (!(0, utils_1.validateVersion)(pythonVersion)) { | ||||
|         throw new Error("Invalid 'version' property for GraalPy. GraalPy versions should satisfy SemVer notation. See README for examples and documentation."); | ||||
|     } | ||||
|     return pythonVersion; | ||||
| @ -69226,7 +69347,11 @@ exports.parseGraalPyVersion = parseGraalPyVersion; | ||||
| 
 | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
|     var desc = Object.getOwnPropertyDescriptor(m, k); | ||||
|     if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||||
|       desc = { enumerable: true, get: function() { return m[k]; } }; | ||||
|     } | ||||
|     Object.defineProperty(o, k2, desc); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| @ -69290,7 +69415,7 @@ function findPyPyVersion(versionSpec, architecture, updateEnvironment, checkLate | ||||
|         const _binDir = path.join(installDir, pipDir); | ||||
|         const binaryExtension = utils_1.IS_WINDOWS ? '.exe' : ''; | ||||
|         const pythonPath = path.join(utils_1.IS_WINDOWS ? installDir : _binDir, `python${binaryExtension}`); | ||||
|         const pythonLocation = utils_1.getBinaryDirectory(installDir); | ||||
|         const pythonLocation = (0, utils_1.getBinaryDirectory)(installDir); | ||||
|         if (updateEnvironment) { | ||||
|             core.exportVariable('pythonLocation', installDir); | ||||
|             // https://cmake.org/cmake/help/latest/module/FindPython.html#module:FindPython
 | ||||
| @ -69318,8 +69443,8 @@ function findPyPyToolCache(pythonVersion, pypyVersion, architecture) { | ||||
|     if (installDir) { | ||||
|         // 'tc.find' finds tool based on Python version but we also need to check
 | ||||
|         // whether PyPy version satisfies requested version.
 | ||||
|         resolvedPythonVersion = utils_1.getPyPyVersionFromPath(installDir); | ||||
|         resolvedPyPyVersion = utils_1.readExactPyPyVersionFile(installDir); | ||||
|         resolvedPythonVersion = (0, utils_1.getPyPyVersionFromPath)(installDir); | ||||
|         resolvedPyPyVersion = (0, utils_1.readExactPyPyVersionFile)(installDir); | ||||
|         const isPyPyVersionSatisfies = semver.satisfies(resolvedPyPyVersion, pypyVersion); | ||||
|         if (!isPyPyVersionSatisfies) { | ||||
|             installDir = null; | ||||
| @ -69350,10 +69475,10 @@ function parsePyPyVersion(versionSpec) { | ||||
|     else { | ||||
|         pypyVersion = 'x'; | ||||
|     } | ||||
|     if (!utils_1.validateVersion(pythonVersion) || !utils_1.validateVersion(pypyVersion)) { | ||||
|     if (!(0, utils_1.validateVersion)(pythonVersion) || !(0, utils_1.validateVersion)(pypyVersion)) { | ||||
|         throw new Error("Invalid 'version' property for PyPy. Both Python version and PyPy versions should satisfy SemVer notation. See README for examples and documentation."); | ||||
|     } | ||||
|     if (!utils_1.validatePythonVersionFormatForPyPy(pythonVersion)) { | ||||
|     if (!(0, utils_1.validatePythonVersionFormatForPyPy)(pythonVersion)) { | ||||
|         throw new Error("Invalid format of Python version for PyPy. Python version should be specified in format 'x.y'. See README for examples and documentation."); | ||||
|     } | ||||
|     return { | ||||
| @ -69379,7 +69504,11 @@ exports.findPyPyInstallDirForWindows = findPyPyInstallDirForWindows; | ||||
| 
 | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
|     var desc = Object.getOwnPropertyDescriptor(m, k); | ||||
|     if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||||
|       desc = { enumerable: true, get: function() { return m[k]; } }; | ||||
|     } | ||||
|     Object.defineProperty(o, k2, desc); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| @ -69463,7 +69592,7 @@ function useCpythonVersion(version, architecture, updateEnvironment, checkLatest | ||||
|             } | ||||
|         } | ||||
|         if (!installDir) { | ||||
|             const osInfo = yield utils_1.getOSInfo(); | ||||
|             const osInfo = yield (0, utils_1.getOSInfo)(); | ||||
|             throw new Error([ | ||||
|                 `The version '${version}' with architecture '${architecture}' was not found for ${osInfo | ||||
|                     ? `${osInfo.osName} ${osInfo.osVersion}` | ||||
| @ -69554,7 +69683,11 @@ exports.pythonVersionToSemantic = pythonVersionToSemantic; | ||||
| 
 | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
|     var desc = Object.getOwnPropertyDescriptor(m, k); | ||||
|     if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||||
|       desc = { enumerable: true, get: function() { return m[k]; } }; | ||||
|     } | ||||
|     Object.defineProperty(o, k2, desc); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| @ -69627,10 +69760,10 @@ function installGraalPy(graalpyVersion, architecture, allowPreReleases, releases | ||||
|             const archiveName = fs_1.default.readdirSync(downloadDir)[0]; | ||||
|             const toolDir = path.join(downloadDir, archiveName); | ||||
|             let installDir = toolDir; | ||||
|             if (!utils_1.isNightlyKeyword(resolvedGraalPyVersion)) { | ||||
|             if (!(0, utils_1.isNightlyKeyword)(resolvedGraalPyVersion)) { | ||||
|                 installDir = yield tc.cacheDir(toolDir, 'GraalPy', resolvedGraalPyVersion, architecture); | ||||
|             } | ||||
|             const binaryPath = utils_1.getBinaryDirectory(installDir); | ||||
|             const binaryPath = (0, utils_1.getBinaryDirectory)(installDir); | ||||
|             yield createGraalPySymlink(binaryPath, resolvedGraalPyVersion); | ||||
|             yield installPip(binaryPath); | ||||
|             return { installDir, resolvedGraalPyVersion }; | ||||
| @ -69669,7 +69802,7 @@ function getAvailableGraalPyVersions() { | ||||
|                 throw new Error(`Unable to retrieve the list of available GraalPy versions from '${url}'`); | ||||
|             } | ||||
|             result.push(...response.result); | ||||
|             url = utils_1.getNextPageUrl(response); | ||||
|             url = (0, utils_1.getNextPageUrl)(response); | ||||
|         } while (url); | ||||
|         return result; | ||||
|     }); | ||||
| @ -69683,9 +69816,9 @@ function createGraalPySymlink(graalpyBinaryPath, graalpyVersion) { | ||||
|         const graalpyMajorMinorBinaryPostfix = `${pythonBinaryPostfix}.${pythonMinor}`; | ||||
|         const binaryExtension = utils_1.IS_WINDOWS ? '.exe' : ''; | ||||
|         core.info('Creating symlinks...'); | ||||
|         utils_1.createSymlinkInFolder(graalpyBinaryPath, `graalpy${binaryExtension}`, `python${pythonBinaryPostfix}${binaryExtension}`, true); | ||||
|         utils_1.createSymlinkInFolder(graalpyBinaryPath, `graalpy${binaryExtension}`, `python${binaryExtension}`, true); | ||||
|         utils_1.createSymlinkInFolder(graalpyBinaryPath, `graalpy${binaryExtension}`, `graalpy${graalpyMajorMinorBinaryPostfix}${binaryExtension}`, true); | ||||
|         (0, utils_1.createSymlinkInFolder)(graalpyBinaryPath, `graalpy${binaryExtension}`, `python${pythonBinaryPostfix}${binaryExtension}`, true); | ||||
|         (0, utils_1.createSymlinkInFolder)(graalpyBinaryPath, `graalpy${binaryExtension}`, `python${binaryExtension}`, true); | ||||
|         (0, utils_1.createSymlinkInFolder)(graalpyBinaryPath, `graalpy${binaryExtension}`, `graalpy${graalpyMajorMinorBinaryPostfix}${binaryExtension}`, true); | ||||
|     }); | ||||
| } | ||||
| function installPip(pythonLocation) { | ||||
| @ -69770,7 +69903,11 @@ exports.findAsset = findAsset; | ||||
| 
 | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
|     var desc = Object.getOwnPropertyDescriptor(m, k); | ||||
|     if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||||
|       desc = { enumerable: true, get: function() { return m[k]; } }; | ||||
|     } | ||||
|     Object.defineProperty(o, k2, desc); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| @ -69846,11 +69983,11 @@ function installPyPy(pypyVersion, pythonVersion, architecture, allowPreReleases, | ||||
|             const archiveName = fs_1.default.readdirSync(downloadDir)[0]; | ||||
|             const toolDir = path.join(downloadDir, archiveName); | ||||
|             let installDir = toolDir; | ||||
|             if (!utils_1.isNightlyKeyword(resolvedPyPyVersion)) { | ||||
|             if (!(0, utils_1.isNightlyKeyword)(resolvedPyPyVersion)) { | ||||
|                 installDir = yield tc.cacheDir(toolDir, 'PyPy', resolvedPythonVersion, architecture); | ||||
|             } | ||||
|             utils_1.writeExactPyPyVersionFile(installDir, resolvedPyPyVersion); | ||||
|             const binaryPath = utils_1.getBinaryDirectory(installDir); | ||||
|             (0, utils_1.writeExactPyPyVersionFile)(installDir, resolvedPyPyVersion); | ||||
|             const binaryPath = (0, utils_1.getBinaryDirectory)(installDir); | ||||
|             yield createPyPySymlink(binaryPath, resolvedPythonVersion); | ||||
|             yield installPip(binaryPath); | ||||
|             return { installDir, resolvedPythonVersion, resolvedPyPyVersion }; | ||||
| @ -69895,9 +70032,9 @@ function createPyPySymlink(pypyBinaryPath, pythonVersion) { | ||||
|         const pypyMajorMinorBinaryPostfix = `${pythonBinaryPostfix}.${pythonMinor}`; | ||||
|         const binaryExtension = utils_1.IS_WINDOWS ? '.exe' : ''; | ||||
|         core.info('Creating symlinks...'); | ||||
|         utils_1.createSymlinkInFolder(pypyBinaryPath, `pypy${pypyBinaryPostfix}${binaryExtension}`, `python${pythonBinaryPostfix}${binaryExtension}`, true); | ||||
|         utils_1.createSymlinkInFolder(pypyBinaryPath, `pypy${pypyBinaryPostfix}${binaryExtension}`, `python${binaryExtension}`, true); | ||||
|         utils_1.createSymlinkInFolder(pypyBinaryPath, `pypy${pypyBinaryPostfix}${binaryExtension}`, `pypy${pypyMajorMinorBinaryPostfix}${binaryExtension}`, true); | ||||
|         (0, utils_1.createSymlinkInFolder)(pypyBinaryPath, `pypy${pypyBinaryPostfix}${binaryExtension}`, `python${pythonBinaryPostfix}${binaryExtension}`, true); | ||||
|         (0, utils_1.createSymlinkInFolder)(pypyBinaryPath, `pypy${pypyBinaryPostfix}${binaryExtension}`, `python${binaryExtension}`, true); | ||||
|         (0, utils_1.createSymlinkInFolder)(pypyBinaryPath, `pypy${pypyBinaryPostfix}${binaryExtension}`, `pypy${pypyMajorMinorBinaryPostfix}${binaryExtension}`, true); | ||||
|     }); | ||||
| } | ||||
| function installPip(pythonLocation) { | ||||
| @ -69912,7 +70049,7 @@ function findRelease(releases, pythonVersion, pypyVersion, architecture, include | ||||
|     const options = { includePrerelease: includePrerelease }; | ||||
|     const filterReleases = releases.filter(item => { | ||||
|         const isPythonVersionSatisfied = semver.satisfies(semver.coerce(item.python_version), pythonVersion); | ||||
|         const isPyPyNightly = utils_1.isNightlyKeyword(pypyVersion) && utils_1.isNightlyKeyword(item.pypy_version); | ||||
|         const isPyPyNightly = (0, utils_1.isNightlyKeyword)(pypyVersion) && (0, utils_1.isNightlyKeyword)(item.pypy_version); | ||||
|         const isPyPyVersionSatisfied = isPyPyNightly || | ||||
|             semver.satisfies(pypyVersionToSemantic(item.pypy_version), pypyVersion, options); | ||||
|         const isArchPresent = item.files && | ||||
| @ -69980,7 +70117,11 @@ function replaceX32toX86(architecture) { | ||||
| 
 | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
|     var desc = Object.getOwnPropertyDescriptor(m, k); | ||||
|     if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||||
|       desc = { enumerable: true, get: function() { return m[k]; } }; | ||||
|     } | ||||
|     Object.defineProperty(o, k2, desc); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| @ -70104,7 +70245,11 @@ exports.installCpythonFromRelease = installCpythonFromRelease; | ||||
| 
 | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
|     var desc = Object.getOwnPropertyDescriptor(m, k); | ||||
|     if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||||
|       desc = { enumerable: true, get: function() { return m[k]; } }; | ||||
|     } | ||||
|     Object.defineProperty(o, k2, desc); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| @ -70152,7 +70297,7 @@ function isGraalPyVersion(versionSpec) { | ||||
| function cacheDependencies(cache, pythonVersion) { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         const cacheDependencyPath = core.getInput('cache-dependency-path') || undefined; | ||||
|         const cacheDistributor = cache_factory_1.getCacheDistributor(cache, pythonVersion, cacheDependencyPath); | ||||
|         const cacheDistributor = (0, cache_factory_1.getCacheDistributor)(cache, pythonVersion, cacheDependencyPath); | ||||
|         yield cacheDistributor.restoreCache(); | ||||
|     }); | ||||
| } | ||||
| @ -70161,12 +70306,12 @@ function resolveVersionInputFromDefaultFile() { | ||||
|         ['.python-version', utils_1.getVersionInputFromPlainFile] | ||||
|     ]; | ||||
|     for (const [versionFile, _fn] of couples) { | ||||
|         utils_1.logWarning(`Neither 'python-version' nor 'python-version-file' inputs were supplied. Attempting to find '${versionFile}' file.`); | ||||
|         (0, utils_1.logWarning)(`Neither 'python-version' nor 'python-version-file' inputs were supplied. Attempting to find '${versionFile}' file.`); | ||||
|         if (fs_1.default.existsSync(versionFile)) { | ||||
|             return _fn(versionFile); | ||||
|         } | ||||
|         else { | ||||
|             utils_1.logWarning(`${versionFile} doesn't exist.`); | ||||
|             (0, utils_1.logWarning)(`${versionFile} doesn't exist.`); | ||||
|         } | ||||
|     } | ||||
|     return []; | ||||
| @ -70184,7 +70329,7 @@ function resolveVersionInput() { | ||||
|             if (!fs_1.default.existsSync(versionFile)) { | ||||
|                 throw new Error(`The specified python version file at: ${versionFile} doesn't exist.`); | ||||
|             } | ||||
|             versions = utils_1.getVersionInputFromFile(versionFile); | ||||
|             versions = (0, utils_1.getVersionInputFromFile)(versionFile); | ||||
|         } | ||||
|         else { | ||||
|             versions = resolveVersionInputFromDefaultFile(); | ||||
| @ -70233,7 +70378,7 @@ function run() { | ||||
|                 } | ||||
|                 core.endGroup(); | ||||
|                 const cache = core.getInput('cache'); | ||||
|                 if (cache && utils_1.isCacheFeatureAvailable()) { | ||||
|                 if (cache && (0, utils_1.isCacheFeatureAvailable)()) { | ||||
|                     yield cacheDependencies(cache, pythonVersion); | ||||
|                 } | ||||
|             } | ||||
| @ -70260,7 +70405,11 @@ run(); | ||||
| 
 | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
|     var desc = Object.getOwnPropertyDescriptor(m, k); | ||||
|     if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||||
|       desc = { enumerable: true, get: function() { return m[k]; } }; | ||||
|     } | ||||
|     Object.defineProperty(o, k2, desc); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
|  | ||||
							
								
								
									
										7122
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										7122
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										10
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								package.json
									
									
									
									
									
								
							| @ -36,21 +36,21 @@ | ||||
|     "semver": "^7.5.2" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@types/jest": "^27.0.2", | ||||
|     "@types/jest": "^29.5.6", | ||||
|     "@types/node": "^16.11.25", | ||||
|     "@types/semver": "^7.1.0", | ||||
|     "@typescript-eslint/eslint-plugin": "^5.54.0", | ||||
|     "@typescript-eslint/parser": "^5.54.0", | ||||
|     "@vercel/ncc": "^0.33.4", | ||||
|     "@vercel/ncc": "^0.38.0", | ||||
|     "eslint": "^8.35.0", | ||||
|     "eslint-config-prettier": "^8.6.0", | ||||
|     "eslint-plugin-jest": "^27.2.1", | ||||
|     "eslint-plugin-node": "^11.1.0", | ||||
|     "husky": "^7.0.2", | ||||
|     "jest": "^27.2.5", | ||||
|     "jest-circus": "^27.2.5", | ||||
|     "jest": "^29.7.0", | ||||
|     "jest-circus": "^29.7.0", | ||||
|     "prettier": "^2.8.4", | ||||
|     "ts-jest": "^27.0.5", | ||||
|     "ts-jest": "^29.1.1", | ||||
|     "typescript": "^4.2.3" | ||||
|   }, | ||||
|   "husky": { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	![49699333+dependabot[bot]@users.noreply.github.com](/assets/img/avatar_default.png) dependabot[bot]
						dependabot[bot]