neiam /action-setup-beam
action-setup-beam
public · Issues · Pulls · Labels · Forks · Compare · Actions queued
Log in to mark this repository.
Add support for latest release (#269)
6ed3c52 · Benjamin Schultzer · 2024-06-15 15:18
Files changed
modified
README.md
+2
−0
| 44 | 44 | specifier (`v1.11.0-rc.0`) and set option `version-type` to `strict`. Pre-release versions are |
| 45 | 45 | opt-in, so `1.11.x` will not match a pre-release. |
| 46 | 46 | |
| 47 | +Use `latest` for the latest version; the latest version is calculated based on all the retrieved versions. Please take a look at the test cases for examples. | |
| 48 | + | |
| 47 | 49 | ### Compatibility between Operating System and Erlang/OTP |
| 48 | 50 | |
| 49 | 51 | This list presents the known working version combos between the target operating system |
modified
dist/index.js
+100
−804
| 5990 | 5990 | |
| 5991 | 5991 | module.exports = Range |
| 5992 | 5992 | |
| 5993 | −const LRU = __nccwpck_require__(1196) | |
| 5994 | −const cache = new LRU({ max: 1000 }) | |
| 5993 | +const LRU = __nccwpck_require__(5339) | |
| 5994 | +const cache = new LRU() | |
| 5995 | 5995 | |
| 5996 | 5996 | const parseOptions = __nccwpck_require__(785) |
| 5997 | 5997 | const Comparator = __nccwpck_require__(1532) |
| 6262 | 6262 | // 1.2 - 3.4.5 => >=1.2.0 <=3.4.5 |
| 6263 | 6263 | // 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do |
| 6264 | 6264 | // 1.2 - 3.4 => >=1.2.0 <3.5.0-0 |
| 6265 | +// TODO build? | |
| 6265 | 6266 | const hyphenReplace = incPr => ($0, |
| 6266 | 6267 | from, fM, fm, fp, fpr, fb, |
| 6267 | − to, tM, tm, tp, tpr, tb) => { | |
| 6268 | + to, tM, tm, tp, tpr) => { | |
| 6268 | 6269 | if (isX(fM)) { |
| 6269 | 6270 | from = '' |
| 6270 | 6271 | } else if (isX(fm)) { |
| 6496 | 6497 | do { |
| 6497 | 6498 | const a = this.build[i] |
| 6498 | 6499 | const b = other.build[i] |
| 6499 | − debug('prerelease compare', i, a, b) | |
| 6500 | + debug('build compare', i, a, b) | |
| 6500 | 6501 | if (a === undefined && b === undefined) { |
| 6501 | 6502 | return 0 |
| 6502 | 6503 | } else if (b === undefined) { |
| 6738 | 6739 | |
| 6739 | 6740 | let match = null |
| 6740 | 6741 | if (!options.rtl) { |
| 6741 | − match = version.match(re[t.COERCE]) | |
| 6742 | + match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]) | |
| 6742 | 6743 | } else { |
| 6743 | 6744 | // Find the right-most coercible string that does not share |
| 6744 | 6745 | // a terminus with a more left-ward coercible string. |
| 6745 | 6746 | // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4' |
| 6747 | + // With includePrerelease option set, '1.2.3.4-rc' wants to coerce '2.3.4-rc', not '2.3.4' | |
| 6746 | 6748 | // |
| 6747 | 6749 | // Walk through the string checking with a /g regexp |
| 6748 | 6750 | // Manually set the index so as to pick up overlapping matches. |
| 6749 | 6751 | // Stop when we get a match that ends at the string end, since no |
| 6750 | 6752 | // coercible string can be more right-ward without the same terminus. |
| 6753 | + const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL] | |
| 6751 | 6754 | let next |
| 6752 | − while ((next = re[t.COERCERTL].exec(version)) && | |
| 6755 | + while ((next = coerceRtlRegex.exec(version)) && | |
| 6753 | 6756 | (!match || match.index + match[0].length !== version.length) |
| 6754 | 6757 | ) { |
| 6755 | 6758 | if (!match || |
| 6756 | 6759 | next.index + next[0].length !== match.index + match[0].length) { |
| 6757 | 6760 | match = next |
| 6758 | 6761 | } |
| 6759 | − re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length | |
| 6762 | + coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length | |
| 6760 | 6763 | } |
| 6761 | 6764 | // leave it in a clean state |
| 6762 | − re[t.COERCERTL].lastIndex = -1 | |
| 6765 | + coerceRtlRegex.lastIndex = -1 | |
| 6763 | 6766 | } |
| 6764 | 6767 | |
| 6765 | 6768 | if (match === null) { |
| 6766 | 6769 | return null |
| 6767 | 6770 | } |
| 6768 | 6771 | |
| 6769 | − return parse(`${match[2]}.${match[3] || '0'}.${match[4] || '0'}`, options) | |
| 6772 | + const major = match[2] | |
| 6773 | + const minor = match[3] || '0' | |
| 6774 | + const patch = match[4] || '0' | |
| 6775 | + const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : '' | |
| 6776 | + const build = options.includePrerelease && match[6] ? `+${match[6]}` : '' | |
| 6777 | + | |
| 6778 | + return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options) | |
| 6770 | 6779 | } |
| 6771 | 6780 | module.exports = coerce |
| 6772 | 6781 |
| 7275 | 7284 | } |
| 7276 | 7285 | |
| 7277 | 7286 | |
| 7287 | +/***/ }), | |
| 7288 | + | |
| 7289 | +/***/ 5339: | |
| 7290 | +/***/ ((module) => { | |
| 7291 | + | |
| 7292 | +class LRUCache { | |
| 7293 | + constructor () { | |
| 7294 | + this.max = 1000 | |
| 7295 | + this.map = new Map() | |
| 7296 | + } | |
| 7297 | + | |
| 7298 | + get (key) { | |
| 7299 | + const value = this.map.get(key) | |
| 7300 | + if (value === undefined) { | |
| 7301 | + return undefined | |
| 7302 | + } else { | |
| 7303 | + // Remove the key from the map and add it to the end | |
| 7304 | + this.map.delete(key) | |
| 7305 | + this.map.set(key, value) | |
| 7306 | + return value | |
| 7307 | + } | |
| 7308 | + } | |
| 7309 | + | |
| 7310 | + delete (key) { | |
| 7311 | + return this.map.delete(key) | |
| 7312 | + } | |
| 7313 | + | |
| 7314 | + set (key, value) { | |
| 7315 | + const deleted = this.delete(key) | |
| 7316 | + | |
| 7317 | + if (!deleted && value !== undefined) { | |
| 7318 | + // If cache is full, delete the least recently used item | |
| 7319 | + if (this.map.size >= this.max) { | |
| 7320 | + const firstKey = this.map.keys().next().value | |
| 7321 | + this.delete(firstKey) | |
| 7322 | + } | |
| 7323 | + | |
| 7324 | + this.map.set(key, value) | |
| 7325 | + } | |
| 7326 | + | |
| 7327 | + return this | |
| 7328 | + } | |
| 7329 | +} | |
| 7330 | + | |
| 7331 | +module.exports = LRUCache | |
| 7332 | + | |
| 7333 | + | |
| 7278 | 7334 | /***/ }), |
| 7279 | 7335 | |
| 7280 | 7336 | /***/ 785: |
| 7458 | 7514 | |
| 7459 | 7515 | // Coercion. |
| 7460 | 7516 | // Extract anything that could conceivably be a part of a valid semver |
| 7461 | −createToken('COERCE', `${'(^|[^\\d])' + | |
| 7517 | +createToken('COERCEPLAIN', `${'(^|[^\\d])' + | |
| 7462 | 7518 | '(\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` + |
| 7463 | 7519 | `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` + |
| 7464 | − `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` + | |
| 7520 | + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`) | |
| 7521 | +createToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\d])`) | |
| 7522 | +createToken('COERCEFULL', src[t.COERCEPLAIN] + | |
| 7523 | + `(?:${src[t.PRERELEASE]})?` + | |
| 7524 | + `(?:${src[t.BUILD]})?` + | |
| 7465 | 7525 | `(?:$|[^\\d])`) |
| 7466 | 7526 | createToken('COERCERTL', src[t.COERCE], true) |
| 7527 | +createToken('COERCERTLFULL', src[t.COERCEFULL], true) | |
| 7467 | 7528 | |
| 7468 | 7529 | // Tilde ranges. |
| 7469 | 7530 | // Meaning is "reasonably at or greater than" |
| 7516 | 7577 | createToken('GTE0PRE', '^\\s*>=\\s*0\\.0\\.0-0\\s*$') |
| 7517 | 7578 | |
| 7518 | 7579 | |
| 7519 | −/***/ }), | |
| 7520 | − | |
| 7521 | −/***/ 1196: | |
| 7522 | −/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { | |
| 7523 | − | |
| 7524 | −"use strict"; | |
| 7525 | − | |
| 7526 | − | |
| 7527 | −// A linked list to keep track of recently-used-ness | |
| 7528 | −const Yallist = __nccwpck_require__(665) | |
| 7529 | − | |
| 7530 | −const MAX = Symbol('max') | |
| 7531 | −const LENGTH = Symbol('length') | |
| 7532 | −const LENGTH_CALCULATOR = Symbol('lengthCalculator') | |
| 7533 | −const ALLOW_STALE = Symbol('allowStale') | |
| 7534 | −const MAX_AGE = Symbol('maxAge') | |
| 7535 | −const DISPOSE = Symbol('dispose') | |
| 7536 | −const NO_DISPOSE_ON_SET = Symbol('noDisposeOnSet') | |
| 7537 | −const LRU_LIST = Symbol('lruList') | |
| 7538 | −const CACHE = Symbol('cache') | |
| 7539 | −const UPDATE_AGE_ON_GET = Symbol('updateAgeOnGet') | |
| 7540 | − | |
| 7541 | −const naiveLength = () => 1 | |
| 7542 | − | |
| 7543 | −// lruList is a yallist where the head is the youngest | |
| 7544 | −// item, and the tail is the oldest. the list contains the Hit | |
| 7545 | −// objects as the entries. | |
| 7546 | −// Each Hit object has a reference to its Yallist.Node. This | |
| 7547 | −// never changes. | |
| 7548 | −// | |
| 7549 | −// cache is a Map (or PseudoMap) that matches the keys to | |
| 7550 | −// the Yallist.Node object. | |
| 7551 | −class LRUCache { | |
| 7552 | − constructor (options) { | |
| 7553 | − if (typeof options === 'number') | |
| 7554 | − options = { max: options } | |
| 7555 | − | |
| 7556 | − if (!options) | |
| 7557 | − options = {} | |
| 7558 | − | |
| 7559 | − if (options.max && (typeof options.max !== 'number' || options.max < 0)) | |
| 7560 | − throw new TypeError('max must be a non-negative number') | |
| 7561 | − // Kind of weird to have a default max of Infinity, but oh well. | |
| 7562 | − const max = this[MAX] = options.max || Infinity | |
| 7563 | − | |
| 7564 | − const lc = options.length || naiveLength | |
| 7565 | − this[LENGTH_CALCULATOR] = (typeof lc !== 'function') ? naiveLength : lc | |
| 7566 | − this[ALLOW_STALE] = options.stale || false | |
| 7567 | − if (options.maxAge && typeof options.maxAge !== 'number') | |
| 7568 | − throw new TypeError('maxAge must be a number') | |
| 7569 | − this[MAX_AGE] = options.maxAge || 0 | |
| 7570 | − this[DISPOSE] = options.dispose | |
| 7571 | − this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false | |
| 7572 | − this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false | |
| 7573 | − this.reset() | |
| 7574 | − } | |
| 7575 | − | |
| 7576 | − // resize the cache when the max changes. | |
| 7577 | − set max (mL) { | |
| 7578 | − if (typeof mL !== 'number' || mL < 0) | |
| 7579 | − throw new TypeError('max must be a non-negative number') | |
| 7580 | − | |
| 7581 | − this[MAX] = mL || Infinity | |
| 7582 | − trim(this) | |
| 7583 | − } | |
| 7584 | − get max () { | |
| 7585 | − return this[MAX] | |
| 7586 | − } | |
| 7587 | − | |
| 7588 | − set allowStale (allowStale) { | |
| 7589 | − this[ALLOW_STALE] = !!allowStale | |
| 7590 | − } | |
| 7591 | − get allowStale () { | |
| 7592 | − return this[ALLOW_STALE] | |
| 7593 | − } | |
| 7594 | − | |
| 7595 | − set maxAge (mA) { | |
| 7596 | − if (typeof mA !== 'number') | |
| 7597 | − throw new TypeError('maxAge must be a non-negative number') | |
| 7598 | − | |
| 7599 | − this[MAX_AGE] = mA | |
| 7600 | − trim(this) | |
| 7601 | − } | |
| 7602 | − get maxAge () { | |
| 7603 | − return this[MAX_AGE] | |
| 7604 | − } | |
| 7605 | − | |
| 7606 | − // resize the cache when the lengthCalculator changes. | |
| 7607 | − set lengthCalculator (lC) { | |
| 7608 | − if (typeof lC !== 'function') | |
| 7609 | − lC = naiveLength | |
| 7610 | − | |
| 7611 | − if (lC !== this[LENGTH_CALCULATOR]) { | |
| 7612 | − this[LENGTH_CALCULATOR] = lC | |
| 7613 | − this[LENGTH] = 0 | |
| 7614 | − this[LRU_LIST].forEach(hit => { | |
| 7615 | − hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key) | |
| 7616 | − this[LENGTH] += hit.length | |
| 7617 | − }) | |
| 7618 | − } | |
| 7619 | − trim(this) | |
| 7620 | − } | |
| 7621 | − get lengthCalculator () { return this[LENGTH_CALCULATOR] } | |
| 7622 | − | |
| 7623 | − get length () { return this[LENGTH] } | |
| 7624 | − get itemCount () { return this[LRU_LIST].length } | |
| 7625 | − | |
| 7626 | − rforEach (fn, thisp) { | |
| 7627 | − thisp = thisp || this | |
| 7628 | − for (let walker = this[LRU_LIST].tail; walker !== null;) { | |
| 7629 | − const prev = walker.prev | |
| 7630 | − forEachStep(this, fn, walker, thisp) | |
| 7631 | − walker = prev | |
| 7632 | − } | |
| 7633 | − } | |
| 7634 | − | |
| 7635 | − forEach (fn, thisp) { | |
| 7636 | − thisp = thisp || this | |
| 7637 | − for (let walker = this[LRU_LIST].head; walker !== null;) { | |
| 7638 | − const next = walker.next | |
| 7639 | − forEachStep(this, fn, walker, thisp) | |
| 7640 | − walker = next | |
| 7641 | − } | |
| 7642 | − } | |
| 7643 | − | |
| 7644 | − keys () { | |
| 7645 | − return this[LRU_LIST].toArray().map(k => k.key) | |
| 7646 | − } | |
| 7647 | − | |
| 7648 | − values () { | |
| 7649 | − return this[LRU_LIST].toArray().map(k => k.value) | |
| 7650 | − } | |
| 7651 | − | |
| 7652 | − reset () { | |
| 7653 | − if (this[DISPOSE] && | |
| 7654 | − this[LRU_LIST] && | |
| 7655 | − this[LRU_LIST].length) { | |
| 7656 | − this[LRU_LIST].forEach(hit => this[DISPOSE](hit.key, hit.value)) | |
| 7657 | − } | |
| 7658 | − | |
| 7659 | − this[CACHE] = new Map() // hash of items by key | |
| 7660 | − this[LRU_LIST] = new Yallist() // list of items in order of use recency | |
| 7661 | − this[LENGTH] = 0 // length of items in the list | |
| 7662 | − } | |
| 7663 | − | |
| 7664 | − dump () { | |
| 7665 | − return this[LRU_LIST].map(hit => | |
| 7666 | − isStale(this, hit) ? false : { | |
| 7667 | − k: hit.key, | |
| 7668 | − v: hit.value, | |
| 7669 | − e: hit.now + (hit.maxAge || 0) | |
| 7670 | − }).toArray().filter(h => h) | |
| 7671 | − } | |
| 7672 | − | |
| 7673 | − dumpLru () { | |
| 7674 | − return this[LRU_LIST] | |
| 7675 | − } | |
| 7676 | − | |
| 7677 | − set (key, value, maxAge) { | |
| 7678 | − maxAge = maxAge || this[MAX_AGE] | |
| 7679 | − | |
| 7680 | − if (maxAge && typeof maxAge !== 'number') | |
| 7681 | − throw new TypeError('maxAge must be a number') | |
| 7682 | − | |
| 7683 | − const now = maxAge ? Date.now() : 0 | |
| 7684 | − const len = this[LENGTH_CALCULATOR](value, key) | |
| 7685 | − | |
| 7686 | − if (this[CACHE].has(key)) { | |
| 7687 | − if (len > this[MAX]) { | |
| 7688 | − del(this, this[CACHE].get(key)) | |
| 7689 | − return false | |
| 7690 | − } | |
| 7691 | − | |
| 7692 | − const node = this[CACHE].get(key) | |
| 7693 | − const item = node.value | |
| 7694 | − | |
| 7695 | − // dispose of the old one before overwriting | |
| 7696 | − // split out into 2 ifs for better coverage tracking | |
| 7697 | − if (this[DISPOSE]) { | |
| 7698 | − if (!this[NO_DISPOSE_ON_SET]) | |
| 7699 | − this[DISPOSE](key, item.value) | |
| 7700 | − } | |
| 7701 | − | |
| 7702 | − item.now = now | |
| 7703 | − item.maxAge = maxAge | |
| 7704 | − item.value = value | |
| 7705 | − this[LENGTH] += len - item.length | |
| 7706 | − item.length = len | |
| 7707 | − this.get(key) | |
| 7708 | − trim(this) | |
| 7709 | − return true | |
| 7710 | − } | |
| 7711 | − | |
| 7712 | − const hit = new Entry(key, value, len, now, maxAge) | |
| 7713 | − | |
| 7714 | − // oversized objects fall out of cache automatically. | |
| 7715 | − if (hit.length > this[MAX]) { | |
| 7716 | − if (this[DISPOSE]) | |
| 7717 | − this[DISPOSE](key, value) | |
| 7718 | − | |
| 7719 | − return false | |
| 7720 | − } | |
| 7721 | − | |
| 7722 | − this[LENGTH] += hit.length | |
| 7723 | − this[LRU_LIST].unshift(hit) | |
| 7724 | − this[CACHE].set(key, this[LRU_LIST].head) | |
| 7725 | − trim(this) | |
| 7726 | − return true | |
| 7727 | − } | |
| 7728 | − | |
| 7729 | − has (key) { | |
| 7730 | − if (!this[CACHE].has(key)) return false | |
| 7731 | − const hit = this[CACHE].get(key).value | |
| 7732 | − return !isStale(this, hit) | |
| 7733 | − } | |
| 7734 | − | |
| 7735 | − get (key) { | |
| 7736 | − return get(this, key, true) | |
| 7737 | − } | |
| 7738 | − | |
| 7739 | − peek (key) { | |
| 7740 | − return get(this, key, false) | |
| 7741 | − } | |
| 7742 | − | |
| 7743 | − pop () { | |
| 7744 | − const node = this[LRU_LIST].tail | |
| 7745 | − if (!node) | |
| 7746 | − return null | |
| 7747 | − | |
| 7748 | − del(this, node) | |
| 7749 | − return node.value | |
| 7750 | − } | |
| 7751 | − | |
| 7752 | − del (key) { | |
| 7753 | − del(this, this[CACHE].get(key)) | |
| 7754 | − } | |
| 7755 | − | |
| 7756 | − load (arr) { | |
| 7757 | − // reset the cache | |
| 7758 | − this.reset() | |
| 7759 | − | |
| 7760 | − const now = Date.now() | |
| 7761 | − // A previous serialized cache has the most recent items first | |
| 7762 | − for (let l = arr.length - 1; l >= 0; l--) { | |
| 7763 | − const hit = arr[l] | |
| 7764 | − const expiresAt = hit.e || 0 | |
| 7765 | − if (expiresAt === 0) | |
| 7766 | − // the item was created without expiration in a non aged cache | |
| 7767 | − this.set(hit.k, hit.v) | |
| 7768 | − else { | |
| 7769 | − const maxAge = expiresAt - now | |
| 7770 | − // dont add already expired items | |
| 7771 | − if (maxAge > 0) { | |
| 7772 | − this.set(hit.k, hit.v, maxAge) | |
| 7773 | − } | |
| 7774 | − } | |
| 7775 | − } | |
| 7776 | − } | |
| 7777 | − | |
| 7778 | − prune () { | |
| 7779 | − this[CACHE].forEach((value, key) => get(this, key, false)) | |
| 7780 | − } | |
| 7781 | −} | |
| 7782 | − | |
| 7783 | −const get = (self, key, doUse) => { | |
| 7784 | − const node = self[CACHE].get(key) | |
| 7785 | − if (node) { | |
| 7786 | − const hit = node.value | |
| 7787 | − if (isStale(self, hit)) { | |
| 7788 | − del(self, node) | |
| 7789 | − if (!self[ALLOW_STALE]) | |
| 7790 | − return undefined | |
| 7791 | − } else { | |
| 7792 | − if (doUse) { | |
| 7793 | − if (self[UPDATE_AGE_ON_GET]) | |
| 7794 | − node.value.now = Date.now() | |
| 7795 | − self[LRU_LIST].unshiftNode(node) | |
| 7796 | − } | |
| 7797 | − } | |
| 7798 | − return hit.value | |
| 7799 | − } | |
| 7800 | −} | |
| 7801 | − | |
| 7802 | −const isStale = (self, hit) => { | |
| 7803 | − if (!hit || (!hit.maxAge && !self[MAX_AGE])) | |
| 7804 | − return false | |
| 7805 | − | |
| 7806 | − const diff = Date.now() - hit.now | |
| 7807 | − return hit.maxAge ? diff > hit.maxAge | |
| 7808 | − : self[MAX_AGE] && (diff > self[MAX_AGE]) | |
| 7809 | −} | |
| 7810 | − | |
| 7811 | −const trim = self => { | |
| 7812 | − if (self[LENGTH] > self[MAX]) { | |
| 7813 | − for (let walker = self[LRU_LIST].tail; | |
| 7814 | − self[LENGTH] > self[MAX] && walker !== null;) { | |
| 7815 | − // We know that we're about to delete this one, and also | |
| 7816 | − // what the next least recently used key will be, so just | |
| 7817 | − // go ahead and set it now. | |
| 7818 | − const prev = walker.prev | |
| 7819 | − del(self, walker) | |
| 7820 | − walker = prev | |
| 7821 | − } | |
| 7822 | − } | |
| 7823 | −} | |
| 7824 | − | |
| 7825 | −const del = (self, node) => { | |
| 7826 | − if (node) { | |
| 7827 | − const hit = node.value | |
| 7828 | − if (self[DISPOSE]) | |
| 7829 | − self[DISPOSE](hit.key, hit.value) | |
| 7830 | − | |
| 7831 | − self[LENGTH] -= hit.length | |
| 7832 | − self[CACHE].delete(hit.key) | |
| 7833 | − self[LRU_LIST].removeNode(node) | |
| 7834 | − } | |
| 7835 | −} | |
| 7836 | − | |
| 7837 | −class Entry { | |
| 7838 | − constructor (key, value, length, now, maxAge) { | |
| 7839 | − this.key = key | |
| 7840 | − this.value = value | |
| 7841 | − this.length = length | |
| 7842 | − this.now = now | |
| 7843 | − this.maxAge = maxAge || 0 | |
| 7844 | − } | |
| 7845 | −} | |
| 7846 | − | |
| 7847 | −const forEachStep = (self, fn, node, thisp) => { | |
| 7848 | − let hit = node.value | |
| 7849 | − if (isStale(self, hit)) { | |
| 7850 | − del(self, node) | |
| 7851 | − if (!self[ALLOW_STALE]) | |
| 7852 | − hit = undefined | |
| 7853 | − } | |
| 7854 | − if (hit) | |
| 7855 | − fn.call(thisp, hit.value, hit.key, self) | |
| 7856 | −} | |
| 7857 | − | |
| 7858 | −module.exports = LRUCache | |
| 7859 | − | |
| 7860 | − | |
| 7861 | 7580 | /***/ }), |
| 7862 | 7581 | |
| 7863 | 7582 | /***/ 9380: |
| 9379 | 9098 | var _default = version; |
| 9380 | 9099 | exports["default"] = _default; |
| 9381 | 9100 | |
| 9382 | −/***/ }), | |
| 9383 | − | |
| 9384 | −/***/ 4091: | |
| 9385 | −/***/ ((module) => { | |
| 9386 | − | |
| 9387 | −"use strict"; | |
| 9388 | − | |
| 9389 | −module.exports = function (Yallist) { | |
| 9390 | − Yallist.prototype[Symbol.iterator] = function* () { | |
| 9391 | − for (let walker = this.head; walker; walker = walker.next) { | |
| 9392 | − yield walker.value | |
| 9393 | − } | |
| 9394 | − } | |
| 9395 | −} | |
| 9396 | − | |
| 9397 | − | |
| 9398 | −/***/ }), | |
| 9399 | − | |
| 9400 | −/***/ 665: | |
| 9401 | −/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { | |
| 9402 | − | |
| 9403 | −"use strict"; | |
| 9404 | − | |
| 9405 | −module.exports = Yallist | |
| 9406 | − | |
| 9407 | −Yallist.Node = Node | |
| 9408 | −Yallist.create = Yallist | |
| 9409 | − | |
| 9410 | −function Yallist (list) { | |
| 9411 | − var self = this | |
| 9412 | − if (!(self instanceof Yallist)) { | |
| 9413 | − self = new Yallist() | |
| 9414 | − } | |
| 9415 | − | |
| 9416 | − self.tail = null | |
| 9417 | − self.head = null | |
| 9418 | − self.length = 0 | |
| 9419 | − | |
| 9420 | − if (list && typeof list.forEach === 'function') { | |
| 9421 | − list.forEach(function (item) { | |
| 9422 | − self.push(item) | |
| 9423 | − }) | |
| 9424 | − } else if (arguments.length > 0) { | |
| 9425 | − for (var i = 0, l = arguments.length; i < l; i++) { | |
| 9426 | − self.push(arguments[i]) | |
| 9427 | − } | |
| 9428 | − } | |
| 9429 | − | |
| 9430 | − return self | |
| 9431 | −} | |
| 9432 | − | |
| 9433 | −Yallist.prototype.removeNode = function (node) { | |
| 9434 | − if (node.list !== this) { | |
| 9435 | − throw new Error('removing node which does not belong to this list') | |
| 9436 | − } | |
| 9437 | − | |
| 9438 | − var next = node.next | |
| 9439 | − var prev = node.prev | |
| 9440 | − | |
| 9441 | − if (next) { | |
| 9442 | − next.prev = prev | |
| 9443 | − } | |
| 9444 | − | |
| 9445 | − if (prev) { | |
| 9446 | − prev.next = next | |
| 9447 | − } | |
| 9448 | − | |
| 9449 | − if (node === this.head) { | |
| 9450 | − this.head = next | |
| 9451 | − } | |
| 9452 | − if (node === this.tail) { | |
| 9453 | − this.tail = prev | |
| 9454 | − } | |
| 9455 | − | |
| 9456 | − node.list.length-- | |
| 9457 | − node.next = null | |
| 9458 | − node.prev = null | |
| 9459 | − node.list = null | |
| 9460 | − | |
| 9461 | − return next | |
| 9462 | −} | |
| 9463 | − | |
| 9464 | −Yallist.prototype.unshiftNode = function (node) { | |
| 9465 | − if (node === this.head) { | |
| 9466 | − return | |
| 9467 | − } | |
| 9468 | − | |
| 9469 | − if (node.list) { | |
| 9470 | − node.list.removeNode(node) | |
| 9471 | − } | |
| 9472 | − | |
| 9473 | − var head = this.head | |
| 9474 | − node.list = this | |
| 9475 | − node.next = head | |
| 9476 | − if (head) { | |
| 9477 | − head.prev = node | |
| 9478 | − } | |
| 9479 | − | |
| 9480 | − this.head = node | |
| 9481 | − if (!this.tail) { | |
| 9482 | − this.tail = node | |
| 9483 | − } | |
| 9484 | − this.length++ | |
| 9485 | −} | |
| 9486 | − | |
| 9487 | −Yallist.prototype.pushNode = function (node) { | |
| 9488 | − if (node === this.tail) { | |
| 9489 | − return | |
| 9490 | − } | |
| 9491 | − | |
| 9492 | − if (node.list) { | |
| 9493 | − node.list.removeNode(node) | |
| 9494 | − } | |
| 9495 | − | |
| 9496 | − var tail = this.tail | |
| 9497 | − node.list = this | |
| 9498 | − node.prev = tail | |
| 9499 | − if (tail) { | |
| 9500 | − tail.next = node | |
| 9501 | − } | |
| 9502 | − | |
| 9503 | − this.tail = node | |
| 9504 | − if (!this.head) { | |
| 9505 | − this.head = node | |
| 9506 | − } | |
| 9507 | − this.length++ | |
| 9508 | −} | |
| 9509 | − | |
| 9510 | −Yallist.prototype.push = function () { | |
| 9511 | − for (var i = 0, l = arguments.length; i < l; i++) { | |
| 9512 | − push(this, arguments[i]) | |
| 9513 | − } | |
| 9514 | − return this.length | |
| 9515 | −} | |
| 9516 | − | |
| 9517 | −Yallist.prototype.unshift = function () { | |
| 9518 | − for (var i = 0, l = arguments.length; i < l; i++) { | |
| 9519 | − unshift(this, arguments[i]) | |
| 9520 | − } | |
| 9521 | − return this.length | |
| 9522 | −} | |
| 9523 | − | |
| 9524 | −Yallist.prototype.pop = function () { | |
| 9525 | − if (!this.tail) { | |
| 9526 | − return undefined | |
| 9527 | − } | |
| 9528 | − | |
| 9529 | − var res = this.tail.value | |
| 9530 | − this.tail = this.tail.prev | |
| 9531 | − if (this.tail) { | |
| 9532 | − this.tail.next = null | |
| 9533 | − } else { | |
| 9534 | − this.head = null | |
| 9535 | − } | |
| 9536 | − this.length-- | |
| 9537 | − return res | |
| 9538 | −} | |
| 9539 | − | |
| 9540 | −Yallist.prototype.shift = function () { | |
| 9541 | − if (!this.head) { | |
| 9542 | − return undefined | |
| 9543 | − } | |
| 9544 | − | |
| 9545 | − var res = this.head.value | |
| 9546 | − this.head = this.head.next | |
| 9547 | − if (this.head) { | |
| 9548 | − this.head.prev = null | |
| 9549 | − } else { | |
| 9550 | − this.tail = null | |
| 9551 | − } | |
| 9552 | − this.length-- | |
| 9553 | − return res | |
| 9554 | −} | |
| 9555 | − | |
| 9556 | −Yallist.prototype.forEach = function (fn, thisp) { | |
| 9557 | − thisp = thisp || this | |
| 9558 | − for (var walker = this.head, i = 0; walker !== null; i++) { | |
| 9559 | − fn.call(thisp, walker.value, i, this) | |
| 9560 | − walker = walker.next | |
| 9561 | − } | |
| 9562 | −} | |
| 9563 | − | |
| 9564 | −Yallist.prototype.forEachReverse = function (fn, thisp) { | |
| 9565 | − thisp = thisp || this | |
| 9566 | − for (var walker = this.tail, i = this.length - 1; walker !== null; i--) { | |
| 9567 | − fn.call(thisp, walker.value, i, this) | |
| 9568 | − walker = walker.prev | |
| 9569 | − } | |
| 9570 | −} | |
| 9571 | − | |
| 9572 | −Yallist.prototype.get = function (n) { | |
| 9573 | − for (var i = 0, walker = this.head; walker !== null && i < n; i++) { | |
| 9574 | − // abort out of the list early if we hit a cycle | |
| 9575 | − walker = walker.next | |
| 9576 | − } | |
| 9577 | − if (i === n && walker !== null) { | |
| 9578 | − return walker.value | |
| 9579 | − } | |
| 9580 | −} | |
| 9581 | − | |
| 9582 | −Yallist.prototype.getReverse = function (n) { | |
| 9583 | − for (var i = 0, walker = this.tail; walker !== null && i < n; i++) { | |
| 9584 | − // abort out of the list early if we hit a cycle | |
| 9585 | − walker = walker.prev | |
| 9586 | − } | |
| 9587 | − if (i === n && walker !== null) { | |
| 9588 | − return walker.value | |
| 9589 | − } | |
| 9590 | −} | |
| 9591 | − | |
| 9592 | −Yallist.prototype.map = function (fn, thisp) { | |
| 9593 | − thisp = thisp || this | |
| 9594 | − var res = new Yallist() | |
| 9595 | − for (var walker = this.head; walker !== null;) { | |
| 9596 | − res.push(fn.call(thisp, walker.value, this)) | |
| 9597 | − walker = walker.next | |
| 9598 | − } | |
| 9599 | − return res | |
| 9600 | −} | |
| 9601 | − | |
| 9602 | −Yallist.prototype.mapReverse = function (fn, thisp) { | |
| 9603 | − thisp = thisp || this | |
| 9604 | − var res = new Yallist() | |
| 9605 | − for (var walker = this.tail; walker !== null;) { | |
| 9606 | − res.push(fn.call(thisp, walker.value, this)) | |
| 9607 | − walker = walker.prev | |
| 9608 | − } | |
| 9609 | − return res | |
| 9610 | −} | |
| 9611 | − | |
| 9612 | −Yallist.prototype.reduce = function (fn, initial) { | |
| 9613 | − var acc | |
| 9614 | − var walker = this.head | |
| 9615 | − if (arguments.length > 1) { | |
| 9616 | − acc = initial | |
| 9617 | − } else if (this.head) { | |
| 9618 | − walker = this.head.next | |
| 9619 | − acc = this.head.value | |
| 9620 | − } else { | |
| 9621 | − throw new TypeError('Reduce of empty list with no initial value') | |
| 9622 | − } | |
| 9623 | − | |
| 9624 | − for (var i = 0; walker !== null; i++) { | |
| 9625 | − acc = fn(acc, walker.value, i) | |
| 9626 | − walker = walker.next | |
| 9627 | − } | |
| 9628 | − | |
| 9629 | − return acc | |
| 9630 | −} | |
| 9631 | − | |
| 9632 | −Yallist.prototype.reduceReverse = function (fn, initial) { | |
| 9633 | − var acc | |
| 9634 | − var walker = this.tail | |
| 9635 | − if (arguments.length > 1) { | |
| 9636 | − acc = initial | |
| 9637 | − } else if (this.tail) { | |
| 9638 | − walker = this.tail.prev | |
| 9639 | − acc = this.tail.value | |
| 9640 | − } else { | |
| 9641 | − throw new TypeError('Reduce of empty list with no initial value') | |
| 9642 | − } | |
| 9643 | − | |
| 9644 | − for (var i = this.length - 1; walker !== null; i--) { | |
| 9645 | − acc = fn(acc, walker.value, i) | |
| 9646 | − walker = walker.prev | |
| 9647 | − } | |
| 9648 | − | |
| 9649 | − return acc | |
| 9650 | −} | |
| 9651 | − | |
| 9652 | −Yallist.prototype.toArray = function () { | |
| 9653 | − var arr = new Array(this.length) | |
| 9654 | − for (var i = 0, walker = this.head; walker !== null; i++) { | |
| 9655 | − arr[i] = walker.value | |
| 9656 | − walker = walker.next | |
| 9657 | − } | |
| 9658 | − return arr | |
| 9659 | −} | |
| 9660 | − | |
| 9661 | −Yallist.prototype.toArrayReverse = function () { | |
| 9662 | − var arr = new Array(this.length) | |
| 9663 | − for (var i = 0, walker = this.tail; walker !== null; i++) { | |
| 9664 | − arr[i] = walker.value | |
| 9665 | − walker = walker.prev | |
| 9666 | − } | |
| 9667 | − return arr | |
| 9668 | −} | |
| 9669 | − | |
| 9670 | −Yallist.prototype.slice = function (from, to) { | |
| 9671 | − to = to || this.length | |
| 9672 | − if (to < 0) { | |
| 9673 | − to += this.length | |
| 9674 | − } | |
| 9675 | − from = from || 0 | |
| 9676 | − if (from < 0) { | |
| 9677 | − from += this.length | |
| 9678 | − } | |
| 9679 | − var ret = new Yallist() | |
| 9680 | − if (to < from || to < 0) { | |
| 9681 | − return ret | |
| 9682 | − } | |
| 9683 | − if (from < 0) { | |
| 9684 | − from = 0 | |
| 9685 | − } | |
| 9686 | − if (to > this.length) { | |
| 9687 | − to = this.length | |
| 9688 | − } | |
| 9689 | − for (var i = 0, walker = this.head; walker !== null && i < from; i++) { | |
| 9690 | − walker = walker.next | |
| 9691 | − } | |
| 9692 | − for (; walker !== null && i < to; i++, walker = walker.next) { | |
| 9693 | − ret.push(walker.value) | |
| 9694 | − } | |
| 9695 | − return ret | |
| 9696 | −} | |
| 9697 | − | |
| 9698 | −Yallist.prototype.sliceReverse = function (from, to) { | |
| 9699 | − to = to || this.length | |
| 9700 | − if (to < 0) { | |
| 9701 | − to += this.length | |
| 9702 | − } | |
| 9703 | − from = from || 0 | |
| 9704 | − if (from < 0) { | |
| 9705 | − from += this.length | |
| 9706 | − } | |
| 9707 | − var ret = new Yallist() | |
| 9708 | − if (to < from || to < 0) { | |
| 9709 | − return ret | |
| 9710 | − } | |
| 9711 | − if (from < 0) { | |
| 9712 | − from = 0 | |
| 9713 | − } | |
| 9714 | − if (to > this.length) { | |
| 9715 | − to = this.length | |
| 9716 | − } | |
| 9717 | − for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) { | |
| 9718 | − walker = walker.prev | |
| 9719 | − } | |
| 9720 | − for (; walker !== null && i > from; i--, walker = walker.prev) { | |
| 9721 | − ret.push(walker.value) | |
| 9722 | − } | |
| 9723 | − return ret | |
| 9724 | −} | |
| 9725 | − | |
| 9726 | −Yallist.prototype.splice = function (start, deleteCount, ...nodes) { | |
| 9727 | − if (start > this.length) { | |
| 9728 | − start = this.length - 1 | |
| 9729 | − } | |
| 9730 | − if (start < 0) { | |
| 9731 | − start = this.length + start; | |
| 9732 | − } | |
| 9733 | − | |
| 9734 | − for (var i = 0, walker = this.head; walker !== null && i < start; i++) { | |
| 9735 | − walker = walker.next | |
| 9736 | − } | |
| 9737 | − | |
| 9738 | − var ret = [] | |
| 9739 | − for (var i = 0; walker && i < deleteCount; i++) { | |
| 9740 | − ret.push(walker.value) | |
| 9741 | − walker = this.removeNode(walker) | |
| 9742 | − } | |
| 9743 | − if (walker === null) { | |
| 9744 | − walker = this.tail | |
| 9745 | − } | |
| 9746 | − | |
| 9747 | − if (walker !== this.head && walker !== this.tail) { | |
| 9748 | − walker = walker.prev | |
| 9749 | − } | |
| 9750 | − | |
| 9751 | − for (var i = 0; i < nodes.length; i++) { | |
| 9752 | − walker = insert(this, walker, nodes[i]) | |
| 9753 | − } | |
| 9754 | − return ret; | |
| 9755 | −} | |
| 9756 | − | |
| 9757 | −Yallist.prototype.reverse = function () { | |
| 9758 | − var head = this.head | |
| 9759 | − var tail = this.tail | |
| 9760 | − for (var walker = head; walker !== null; walker = walker.prev) { | |
| 9761 | − var p = walker.prev | |
| 9762 | − walker.prev = walker.next | |
| 9763 | − walker.next = p | |
| 9764 | − } | |
| 9765 | − this.head = tail | |
| 9766 | − this.tail = head | |
| 9767 | − return this | |
| 9768 | −} | |
| 9769 | − | |
| 9770 | −function insert (self, node, value) { | |
| 9771 | − var inserted = node === self.head ? | |
| 9772 | − new Node(value, null, node, self) : | |
| 9773 | − new Node(value, node, node.next, self) | |
| 9774 | − | |
| 9775 | − if (inserted.next === null) { | |
| 9776 | − self.tail = inserted | |
| 9777 | − } | |
| 9778 | − if (inserted.prev === null) { | |
| 9779 | − self.head = inserted | |
| 9780 | − } | |
| 9781 | − | |
| 9782 | − self.length++ | |
| 9783 | − | |
| 9784 | − return inserted | |
| 9785 | −} | |
| 9786 | − | |
| 9787 | −function push (self, item) { | |
| 9788 | − self.tail = new Node(item, self.tail, null, self) | |
| 9789 | − if (!self.head) { | |
| 9790 | − self.head = self.tail | |
| 9791 | − } | |
| 9792 | − self.length++ | |
| 9793 | −} | |
| 9794 | − | |
| 9795 | −function unshift (self, item) { | |
| 9796 | − self.head = new Node(item, null, self.head, self) | |
| 9797 | − if (!self.tail) { | |
| 9798 | − self.tail = self.head | |
| 9799 | − } | |
| 9800 | − self.length++ | |
| 9801 | −} | |
| 9802 | − | |
| 9803 | −function Node (value, prev, next, list) { | |
| 9804 | − if (!(this instanceof Node)) { | |
| 9805 | − return new Node(value, prev, next, list) | |
| 9806 | − } | |
| 9807 | − | |
| 9808 | − this.list = list | |
| 9809 | − this.value = value | |
| 9810 | − | |
| 9811 | − if (prev) { | |
| 9812 | − prev.next = this | |
| 9813 | − this.prev = prev | |
| 9814 | − } else { | |
| 9815 | − this.prev = null | |
| 9816 | − } | |
| 9817 | − | |
| 9818 | − if (next) { | |
| 9819 | − next.prev = this | |
| 9820 | − this.next = next | |
| 9821 | − } else { | |
| 9822 | − this.next = null | |
| 9823 | − } | |
| 9824 | −} | |
| 9825 | − | |
| 9826 | −try { | |
| 9827 | − // add if support for Symbol.iterator is present | |
| 9828 | − __nccwpck_require__(4091)(Yallist) | |
| 9829 | −} catch (er) {} | |
| 9830 | − | |
| 9831 | − | |
| 9832 | 9101 | /***/ }), |
| 9833 | 9102 | |
| 9834 | 9103 | /***/ 7037: |
| 10209 | 9478 | return getInput('version-type', false) === 'strict' |
| 10210 | 9479 | } |
| 10211 | 9480 | |
| 9481 | +function gt(left, right) { | |
| 9482 | + return semver.gt(parseVersion(left), parseVersion(right)) | |
| 9483 | +} | |
| 9484 | + | |
| 9485 | +function validVersion(v) { | |
| 9486 | + return ( | |
| 9487 | + v.match(/main|master|nightly|latest/g) == null && | |
| 9488 | + !v.startsWith('a') && | |
| 9489 | + !v.startsWith('b') | |
| 9490 | + ) | |
| 9491 | +} | |
| 9492 | + | |
| 9493 | +function parseVersion(v) { | |
| 9494 | + v = v.includes('rc') ? v : v.split('.') | |
| 9495 | + if (v instanceof Array) { | |
| 9496 | + v = `${[v.shift(), v.shift(), v.shift()].join('.')}+${v.join('.')}` | |
| 9497 | + } | |
| 9498 | + return semver.coerce(v, { includePrerelease: true, loose: true }) | |
| 9499 | +} | |
| 9500 | + | |
| 10212 | 9501 | function getVersionFromSpec(spec0, versions0) { |
| 9502 | + let latest | |
| 9503 | + Object.keys(versions0).forEach((v) => { | |
| 9504 | + if (validVersion(v)) { | |
| 9505 | + latest = latest && gt(latest, v) ? latest : v | |
| 9506 | + } | |
| 9507 | + }) | |
| 9508 | + versions0.latest = latest | |
| 10213 | 9509 | const spec = maybeRemoveVPrefix(spec0) |
| 10214 | 9510 | |
| 10215 | 9511 | const altVersions = {} |
| 10306 | 9602 | } |
| 10307 | 9603 | |
| 10308 | 9604 | function isKnownBranch(ver) { |
| 10309 | − return ['main', 'master', 'maint'].includes(ver) | |
| 9605 | + return ['main', 'master', 'maint', 'latest'].includes(ver) | |
| 10310 | 9606 | } |
| 10311 | 9607 | |
| 10312 | 9608 | function getRunnerOSVersion() { |
modified
package-lock.json
+4
−23
| 11 | 11 | "@actions/exec": "1.1.1", |
| 12 | 12 | "@actions/http-client": "2.1.0", |
| 13 | 13 | "@actions/tool-cache": "2.0.1", |
| 14 | − "semver": "7.5.4" | |
| 14 | + "semver": "7.6.2" | |
| 15 | 15 | }, |
| 16 | 16 | "devDependencies": { |
| 17 | 17 | "@vercel/ncc": "0.36.1", |
| 2358 | 2358 | "dev": true |
| 2359 | 2359 | }, |
| 2360 | 2360 | "node_modules/semver": { |
| 2361 | − "version": "7.5.4", | |
| 2362 | − "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", | |
| 2363 | − "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", | |
| 2364 | − "dependencies": { | |
| 2365 | − "lru-cache": "^6.0.0" | |
| 2366 | − }, | |
| 2361 | + "version": "7.6.2", | |
| 2362 | + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", | |
| 2363 | + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", | |
| 2367 | 2364 | "bin": { |
| 2368 | 2365 | "semver": "bin/semver.js" |
| 2369 | 2366 | }, |
| 2377 | 2374 | "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", |
| 2378 | 2375 | "dev": true |
| 2379 | 2376 | }, |
| 2380 | − "node_modules/semver/node_modules/lru-cache": { | |
| 2381 | − "version": "6.0.0", | |
| 2382 | − "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", | |
| 2383 | − "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", | |
| 2384 | − "dependencies": { | |
| 2385 | − "yallist": "^4.0.0" | |
| 2386 | − }, | |
| 2387 | − "engines": { | |
| 2388 | − "node": ">=10" | |
| 2389 | − } | |
| 2390 | − }, | |
| 2391 | 2377 | "node_modules/serialize-error": { |
| 2392 | 2378 | "version": "7.0.1", |
| 2393 | 2379 | "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", |
| 2869 | 2855 | "node": ">=10" |
| 2870 | 2856 | } |
| 2871 | 2857 | }, |
| 2872 | − "node_modules/yallist": { | |
| 2873 | − "version": "4.0.0", | |
| 2874 | − "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", | |
| 2875 | − "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" | |
| 2876 | − }, | |
| 2877 | 2858 | "node_modules/yaml-lint": { |
| 2878 | 2859 | "version": "1.7.0", |
| 2879 | 2860 | "resolved": "https://registry.npmjs.org/yaml-lint/-/yaml-lint-1.7.0.tgz", |
modified
package.json
+1
−1
| 20 | 20 | "@actions/exec": "1.1.1", |
| 21 | 21 | "@actions/http-client": "2.1.0", |
| 22 | 22 | "@actions/tool-cache": "2.0.1", |
| 23 | − "semver": "7.5.4" | |
| 23 | + "semver": "7.6.2" | |
| 24 | 24 | }, |
| 25 | 25 | "devDependencies": { |
| 26 | 26 | "@vercel/ncc": "0.36.1", |
modified
src/setup-beam.js
+28
−1
| 378 | 378 | return getInput('version-type', false) === 'strict' |
| 379 | 379 | } |
| 380 | 380 | |
| 381 | +function gt(left, right) { | |
| 382 | + return semver.gt(parseVersion(left), parseVersion(right)) | |
| 383 | +} | |
| 384 | + | |
| 385 | +function validVersion(v) { | |
| 386 | + return ( | |
| 387 | + v.match(/main|master|nightly|latest/g) == null && | |
| 388 | + !v.startsWith('a') && | |
| 389 | + !v.startsWith('b') | |
| 390 | + ) | |
| 391 | +} | |
| 392 | + | |
| 393 | +function parseVersion(v) { | |
| 394 | + v = v.includes('rc') ? v : v.split('.') | |
| 395 | + if (v instanceof Array) { | |
| 396 | + v = `${[v.shift(), v.shift(), v.shift()].join('.')}+${v.join('.')}` | |
| 397 | + } | |
| 398 | + return semver.coerce(v, { includePrerelease: true, loose: true }) | |
| 399 | +} | |
| 400 | + | |
| 381 | 401 | function getVersionFromSpec(spec0, versions0) { |
| 402 | + let latest | |
| 403 | + Object.keys(versions0).forEach((v) => { | |
| 404 | + if (validVersion(v)) { | |
| 405 | + latest = latest && gt(latest, v) ? latest : v | |
| 406 | + } | |
| 407 | + }) | |
| 408 | + versions0.latest = latest | |
| 382 | 409 | const spec = maybeRemoveVPrefix(spec0) |
| 383 | 410 | |
| 384 | 411 | const altVersions = {} |
| 475 | 502 | } |
| 476 | 503 | |
| 477 | 504 | function isKnownBranch(ver) { |
| 478 | − return ['main', 'master', 'maint'].includes(ver) | |
| 505 | + return ['main', 'master', 'maint', 'latest'].includes(ver) | |
| 479 | 506 | } |
| 480 | 507 | |
| 481 | 508 | function getRunnerOSVersion() { |
added
test/elixir/builds.txt
+524
−0
Click to load diff…
added
test/gleam/releases.json
+46890
−0
Click to load diff…
added
test/otp/releases.json
+31454
−0
Click to load diff…
added
test/otp/ubuntu-18.04/builds.txt
+435
−0
Click to load diff…
added
test/otp/ubuntu-20.04/builds.txt
+338
−0
Click to load diff…
added
test/otp/ubuntu-22.04/builds.txt
+80
−0
Click to load diff…
added
test/otp/ubuntu-24.04/builds.txt
+71
−0
Click to load diff…
added
test/rebar3/releases.json
+5117
−0
Click to load diff…
modified
test/setup-beam.test.js
+114
−4
Click to load diff…
Parents: 9ac0f7c