diff --git a/.licenses/npm/semver-7.7.1.dep.yml b/.licenses/npm/semver-7.8.4.dep.yml similarity index 98% rename from .licenses/npm/semver-7.7.1.dep.yml rename to .licenses/npm/semver-7.8.4.dep.yml index 3194cf4a..676a1fb4 100644 Binary files a/.licenses/npm/semver-7.7.1.dep.yml and b/.licenses/npm/semver-7.8.4.dep.yml differ diff --git a/dist/cleanup/index.js b/dist/cleanup/index.js index 2d78a585..9b11cf71 100644 --- a/dist/cleanup/index.js +++ b/dist/cleanup/index.js @@ -20482,6 +20482,9 @@ function plural(ms, msAbs, n, name) { /***/ 91532: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const ANY = Symbol('SemVer ANY') // hoisted class for cyclic dependency class Comparator { @@ -20630,6 +20633,9 @@ const Range = __nccwpck_require__(9828) /***/ 9828: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const SPACE_CHARACTERS = /\s+/g // hoisted class for cyclic dependency @@ -20728,6 +20734,9 @@ class Range { } parseRange (range) { + // strip build metadata so it can't bleed into the version + range = range.replace(BUILDSTRIPRE, '') + // memoize range parsing for performance. // this is a very hot path, and fully deterministic. const memoOpts = @@ -20853,6 +20862,7 @@ const debug = __nccwpck_require__(50427) const SemVer = __nccwpck_require__(48088) const { safeRe: re, + src, t, comparatorTrimReplace, tildeTrimReplace, @@ -20860,6 +20870,9 @@ const { } = __nccwpck_require__(9523) const { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = __nccwpck_require__(42293) +// unbounded global build-metadata stripper used by parseRange +const BUILDSTRIPRE = new RegExp(src[t.BUILD], 'g') + const isNullSet = c => c.value === '<0.0.0-0' const isAny = c => c.value === '' @@ -20885,6 +20898,7 @@ const isSatisfiable = (comparators, options) => { // already replaced the hyphen ranges // turn into a set of JUST comparators. const parseComparator = (comp, options) => { + comp = comp.replace(re[t.BUILD], '') debug('comp', comp, options) comp = replaceCarets(comp, options) debug('caret', comp) @@ -20899,6 +20913,11 @@ const parseComparator = (comp, options) => { const isX = id => !id || id.toLowerCase() === 'x' || id === '*' +const invalidXRangeOrder = (M, m, p) => ( + (isX(M) && !isX(m)) || + (isX(m) && p && !isX(p)) +) + // ~, ~> --> * (any, kinda silly) // ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0 // ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0 @@ -20995,10 +21014,10 @@ const replaceCaret = (comp, options) => { if (M === '0') { if (m === '0') { ret = `>=${M}.${m}.${p - }${z} <${M}.${m}.${+p + 1}-0` + } <${M}.${m}.${+p + 1}-0` } else { ret = `>=${M}.${m}.${p - }${z} <${M}.${+m + 1}.0-0` + } <${M}.${+m + 1}.0-0` } } else { ret = `>=${M}.${m}.${p @@ -21024,6 +21043,10 @@ const replaceXRange = (comp, options) => { const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE] return comp.replace(r, (ret, gtlt, M, m, p, pr) => { debug('xRange', comp, ret, gtlt, M, m, p, pr) + if (invalidXRangeOrder(M, m, p)) { + return comp + } + const xM = isX(M) const xm = xM || isX(m) const xp = xm || isX(p) @@ -21191,12 +21214,31 @@ const testSet = (set, version, options) => { /***/ 48088: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const debug = __nccwpck_require__(50427) const { MAX_LENGTH, MAX_SAFE_INTEGER } = __nccwpck_require__(42293) -const { safeRe: re, safeSrc: src, t } = __nccwpck_require__(9523) +const { safeRe: re, t } = __nccwpck_require__(9523) const parseOptions = __nccwpck_require__(40785) const { compareIdentifiers } = __nccwpck_require__(92463) + +const isPrereleaseIdentifier = (prerelease, identifier) => { + const identifiers = identifier.split('.') + if (identifiers.length > prerelease.length) { + return false + } + + for (let i = 0; i < identifiers.length; i++) { + if (compareIdentifiers(prerelease[i], identifiers[i]) !== 0) { + return false + } + } + + return true +} + class SemVer { constructor (version, options) { options = parseOptions(options) @@ -21302,11 +21344,25 @@ class SemVer { other = new SemVer(other, this.options) } - return ( - compareIdentifiers(this.major, other.major) || - compareIdentifiers(this.minor, other.minor) || - compareIdentifiers(this.patch, other.patch) - ) + if (this.major < other.major) { + return -1 + } + if (this.major > other.major) { + return 1 + } + if (this.minor < other.minor) { + return -1 + } + if (this.minor > other.minor) { + return 1 + } + if (this.patch < other.patch) { + return -1 + } + if (this.patch > other.patch) { + return 1 + } + return 0 } comparePre (other) { @@ -21375,8 +21431,7 @@ class SemVer { } // Avoid an invalid semver results if (identifier) { - const r = new RegExp(`^${this.options.loose ? src[t.PRERELEASELOOSE] : src[t.PRERELEASE]}$`) - const match = `-${identifier}`.match(r) + const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]) if (!match || match[1] !== identifier) { throw new Error(`invalid identifier: ${identifier}`) } @@ -21487,8 +21542,9 @@ class SemVer { if (identifierBase === false) { prerelease = [identifier] } - if (compareIdentifiers(this.prerelease[0], identifier) === 0) { - if (isNaN(this.prerelease[1])) { + if (isPrereleaseIdentifier(this.prerelease, identifier)) { + const prereleaseBase = this.prerelease[identifier.split('.').length] + if (isNaN(prereleaseBase)) { this.prerelease = prerelease } } else { @@ -21516,6 +21572,9 @@ module.exports = SemVer /***/ 48848: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const parse = __nccwpck_require__(75925) const clean = (version, options) => { const s = parse(version.trim().replace(/^[=v]+/, ''), options) @@ -21529,6 +21588,9 @@ module.exports = clean /***/ 75098: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const eq = __nccwpck_require__(91898) const neq = __nccwpck_require__(6017) const gt = __nccwpck_require__(84123) @@ -21588,6 +21650,9 @@ module.exports = cmp /***/ 13466: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const SemVer = __nccwpck_require__(48088) const parse = __nccwpck_require__(75925) const { safeRe: re, t } = __nccwpck_require__(9523) @@ -21655,6 +21720,9 @@ module.exports = coerce /***/ 92156: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const SemVer = __nccwpck_require__(48088) const compareBuild = (a, b, loose) => { const versionA = new SemVer(a, loose) @@ -21669,6 +21737,9 @@ module.exports = compareBuild /***/ 62804: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const compare = __nccwpck_require__(44309) const compareLoose = (a, b) => compare(a, b, true) module.exports = compareLoose @@ -21679,6 +21750,9 @@ module.exports = compareLoose /***/ 44309: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const SemVer = __nccwpck_require__(48088) const compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose)) @@ -21691,6 +21765,9 @@ module.exports = compare /***/ 64297: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const parse = __nccwpck_require__(75925) const diff = (version1, version2) => { @@ -21744,7 +21821,7 @@ const diff = (version1, version2) => { return prefix + 'patch' } - // high and low are preleases + // high and low are prereleases return 'prerelease' } @@ -21756,6 +21833,9 @@ module.exports = diff /***/ 91898: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const compare = __nccwpck_require__(44309) const eq = (a, b, loose) => compare(a, b, loose) === 0 module.exports = eq @@ -21766,6 +21846,9 @@ module.exports = eq /***/ 84123: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const compare = __nccwpck_require__(44309) const gt = (a, b, loose) => compare(a, b, loose) > 0 module.exports = gt @@ -21776,6 +21859,9 @@ module.exports = gt /***/ 15522: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const compare = __nccwpck_require__(44309) const gte = (a, b, loose) => compare(a, b, loose) >= 0 module.exports = gte @@ -21786,6 +21872,9 @@ module.exports = gte /***/ 30900: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const SemVer = __nccwpck_require__(48088) const inc = (version, release, options, identifier, identifierBase) => { @@ -21812,6 +21901,9 @@ module.exports = inc /***/ 80194: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const compare = __nccwpck_require__(44309) const lt = (a, b, loose) => compare(a, b, loose) < 0 module.exports = lt @@ -21822,6 +21914,9 @@ module.exports = lt /***/ 77520: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const compare = __nccwpck_require__(44309) const lte = (a, b, loose) => compare(a, b, loose) <= 0 module.exports = lte @@ -21832,6 +21927,9 @@ module.exports = lte /***/ 76688: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const SemVer = __nccwpck_require__(48088) const major = (a, loose) => new SemVer(a, loose).major module.exports = major @@ -21842,6 +21940,9 @@ module.exports = major /***/ 38447: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const SemVer = __nccwpck_require__(48088) const minor = (a, loose) => new SemVer(a, loose).minor module.exports = minor @@ -21852,6 +21953,9 @@ module.exports = minor /***/ 6017: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const compare = __nccwpck_require__(44309) const neq = (a, b, loose) => compare(a, b, loose) !== 0 module.exports = neq @@ -21862,6 +21966,9 @@ module.exports = neq /***/ 75925: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const SemVer = __nccwpck_require__(48088) const parse = (version, options, throwErrors = false) => { if (version instanceof SemVer) { @@ -21885,6 +21992,9 @@ module.exports = parse /***/ 42866: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const SemVer = __nccwpck_require__(48088) const patch = (a, loose) => new SemVer(a, loose).patch module.exports = patch @@ -21895,6 +22005,9 @@ module.exports = patch /***/ 24016: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const parse = __nccwpck_require__(75925) const prerelease = (version, options) => { const parsed = parse(version, options) @@ -21908,6 +22021,9 @@ module.exports = prerelease /***/ 76417: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const compare = __nccwpck_require__(44309) const rcompare = (a, b, loose) => compare(b, a, loose) module.exports = rcompare @@ -21918,6 +22034,9 @@ module.exports = rcompare /***/ 8701: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const compareBuild = __nccwpck_require__(92156) const rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose)) module.exports = rsort @@ -21928,6 +22047,9 @@ module.exports = rsort /***/ 6055: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const Range = __nccwpck_require__(9828) const satisfies = (version, range, options) => { try { @@ -21945,16 +22067,78 @@ module.exports = satisfies /***/ 61426: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const compareBuild = __nccwpck_require__(92156) const sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose)) module.exports = sort +/***/ }), + +/***/ 45937: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +const parse = __nccwpck_require__(75925) +const constants = __nccwpck_require__(42293) +const SemVer = __nccwpck_require__(48088) + +const truncate = (version, truncation, options) => { + if (!constants.RELEASE_TYPES.includes(truncation)) { + return null + } + + const clonedVersion = cloneInputVersion(version, options) + return clonedVersion && doTruncation(clonedVersion, truncation) +} + +const cloneInputVersion = (version, options) => { + const versionStringToParse = ( + version instanceof SemVer ? version.version : version + ) + + return parse(versionStringToParse, options) +} + +const doTruncation = (version, truncation) => { + if (isPrerelease(truncation)) { + return version.version + } + + version.prerelease = [] + + switch (truncation) { + case 'major': + version.minor = 0 + version.patch = 0 + break + case 'minor': + version.patch = 0 + break + } + + return version.format() +} + +const isPrerelease = (type) => { + return type.startsWith('pre') +} + +module.exports = truncate + + /***/ }), /***/ 19601: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const parse = __nccwpck_require__(75925) const valid = (version, options) => { const v = parse(version, options) @@ -21968,6 +22152,9 @@ module.exports = valid /***/ 11383: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + // just pre-load all the stuff that index.js lazily exports const internalRe = __nccwpck_require__(9523) const constants = __nccwpck_require__(42293) @@ -21996,6 +22183,7 @@ const gte = __nccwpck_require__(15522) const lte = __nccwpck_require__(77520) const cmp = __nccwpck_require__(75098) const coerce = __nccwpck_require__(13466) +const truncate = __nccwpck_require__(45937) const Comparator = __nccwpck_require__(91532) const Range = __nccwpck_require__(9828) const satisfies = __nccwpck_require__(6055) @@ -22034,6 +22222,7 @@ module.exports = { lte, cmp, coerce, + truncate, Comparator, Range, satisfies, @@ -22064,6 +22253,9 @@ module.exports = { /***/ 42293: /***/ ((module) => { +"use strict"; + + // Note: this is the semver.org version of the spec that it implements // Not necessarily the package version of this code. const SEMVER_SPEC_VERSION = '2.0.0' @@ -22106,6 +22298,9 @@ module.exports = { /***/ 50427: /***/ ((module) => { +"use strict"; + + const debug = ( typeof process === 'object' && process.env && @@ -22122,8 +22317,15 @@ module.exports = debug /***/ 92463: /***/ ((module) => { +"use strict"; + + const numeric = /^[0-9]+$/ const compareIdentifiers = (a, b) => { + if (typeof a === 'number' && typeof b === 'number') { + return a === b ? 0 : a < b ? -1 : 1 + } + const anum = numeric.test(a) const bnum = numeric.test(b) @@ -22152,6 +22354,9 @@ module.exports = { /***/ 15339: /***/ ((module) => { +"use strict"; + + class LRUCache { constructor () { this.max = 1000 @@ -22199,6 +22404,9 @@ module.exports = LRUCache /***/ 40785: /***/ ((module) => { +"use strict"; + + // parse out just the options we care about const looseOption = Object.freeze({ loose: true }) const emptyOpts = Object.freeze({ }) @@ -22221,6 +22429,9 @@ module.exports = parseOptions /***/ 9523: /***/ ((module, exports, __nccwpck_require__) => { +"use strict"; + + const { MAX_SAFE_COMPONENT_LENGTH, MAX_SAFE_BUILD_LENGTH, @@ -22299,12 +22510,14 @@ createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + // ## Pre-release Version Identifier // A numeric identifier, or a non-numeric identifier. +// Non-numeric identifiers include numeric identifiers but can be longer. +// Therefore non-numeric identifiers must go first. -createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER] -}|${src[t.NONNUMERICIDENTIFIER]})`) +createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NONNUMERICIDENTIFIER] +}|${src[t.NUMERICIDENTIFIER]})`) -createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE] -}|${src[t.NONNUMERICIDENTIFIER]})`) +createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NONNUMERICIDENTIFIER] +}|${src[t.NUMERICIDENTIFIERLOOSE]})`) // ## Pre-release Version // Hyphen, followed by one or more dot-separated pre-release version @@ -22355,7 +22568,7 @@ createToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`) createToken('GTLT', '((?:<|>)?=?)') // Something like "2.*" or "1.2.x". -// Note that "x.x" is a valid xRange identifer, meaning "any version" +// Note that "x.x" is a valid xRange identifier, meaning "any version" // Only the first item is strictly required. createToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`) createToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`) @@ -22447,6 +22660,9 @@ createToken('GTE0PRE', '^\\s*>=\\s*0\\.0\\.0-0\\s*$') /***/ 9380: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + // Determine if version is greater than all the versions possible in the range. const outside = __nccwpck_require__(60420) const gtr = (version, range, options) => outside(version, range, '>', options) @@ -22458,6 +22674,9 @@ module.exports = gtr /***/ 27008: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const Range = __nccwpck_require__(9828) const intersects = (r1, r2, options) => { r1 = new Range(r1, options) @@ -22472,6 +22691,9 @@ module.exports = intersects /***/ 33323: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const outside = __nccwpck_require__(60420) // Determine if version is less than all the versions possible in the range const ltr = (version, range, options) => outside(version, range, '<', options) @@ -22483,6 +22705,9 @@ module.exports = ltr /***/ 20579: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const SemVer = __nccwpck_require__(48088) const Range = __nccwpck_require__(9828) @@ -22515,6 +22740,9 @@ module.exports = maxSatisfying /***/ 10832: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const SemVer = __nccwpck_require__(48088) const Range = __nccwpck_require__(9828) const minSatisfying = (versions, range, options) => { @@ -22546,6 +22774,9 @@ module.exports = minSatisfying /***/ 34179: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const SemVer = __nccwpck_require__(48088) const Range = __nccwpck_require__(9828) const gt = __nccwpck_require__(84123) @@ -22614,6 +22845,9 @@ module.exports = minVersion /***/ 60420: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const SemVer = __nccwpck_require__(48088) const Comparator = __nccwpck_require__(91532) const { ANY } = Comparator @@ -22701,6 +22935,9 @@ module.exports = outside /***/ 75297: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + // given a set of versions and a range, create a "simplified" range // that includes the same versions that the original range does // If the original range is shorter than the simplified one, return that. @@ -22755,6 +22992,9 @@ module.exports = (versions, range, options) => { /***/ 7863: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const Range = __nccwpck_require__(9828) const Comparator = __nccwpck_require__(91532) const { ANY } = Comparator @@ -22793,7 +23033,7 @@ const compare = __nccwpck_require__(44309) // - If LT // - If LT.semver is greater than any < or <= comp in C, return false // - If LT is <=, and LT.semver does not satisfy every C, return false -// - If GT.semver has a prerelease, and not in prerelease mode +// - If LT.semver has a prerelease, and not in prerelease mode // - If no C has a prerelease and the LT.semver tuple, return false // - Else return true @@ -22929,7 +23169,7 @@ const simpleSubset = (sub, dom, options) => { if (higher === c && higher !== gt) { return false } - } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) { + } else if (gt.operator === '>=' && !c.test(gt.semver)) { return false } } @@ -22947,7 +23187,7 @@ const simpleSubset = (sub, dom, options) => { if (lower === c && lower !== lt) { return false } - } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) { + } else if (lt.operator === '<=' && !c.test(lt.semver)) { return false } } @@ -23009,6 +23249,9 @@ module.exports = subset /***/ 52706: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const Range = __nccwpck_require__(9828) // Mostly just for testing and legacy API reasons @@ -23024,6 +23267,9 @@ module.exports = toComparators /***/ 2098: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const Range = __nccwpck_require__(9828) const validRange = (range, options) => { try { diff --git a/dist/setup/index.js b/dist/setup/index.js index c2eb2f56..eb6cab20 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -46208,6 +46208,9 @@ function plural(ms, msAbs, n, name) { /***/ 91532: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const ANY = Symbol('SemVer ANY') // hoisted class for cyclic dependency class Comparator { @@ -46356,6 +46359,9 @@ const Range = __nccwpck_require__(9828) /***/ 9828: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const SPACE_CHARACTERS = /\s+/g // hoisted class for cyclic dependency @@ -46454,6 +46460,9 @@ class Range { } parseRange (range) { + // strip build metadata so it can't bleed into the version + range = range.replace(BUILDSTRIPRE, '') + // memoize range parsing for performance. // this is a very hot path, and fully deterministic. const memoOpts = @@ -46579,6 +46588,7 @@ const debug = __nccwpck_require__(50427) const SemVer = __nccwpck_require__(48088) const { safeRe: re, + src, t, comparatorTrimReplace, tildeTrimReplace, @@ -46586,6 +46596,9 @@ const { } = __nccwpck_require__(9523) const { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = __nccwpck_require__(42293) +// unbounded global build-metadata stripper used by parseRange +const BUILDSTRIPRE = new RegExp(src[t.BUILD], 'g') + const isNullSet = c => c.value === '<0.0.0-0' const isAny = c => c.value === '' @@ -46611,6 +46624,7 @@ const isSatisfiable = (comparators, options) => { // already replaced the hyphen ranges // turn into a set of JUST comparators. const parseComparator = (comp, options) => { + comp = comp.replace(re[t.BUILD], '') debug('comp', comp, options) comp = replaceCarets(comp, options) debug('caret', comp) @@ -46625,6 +46639,11 @@ const parseComparator = (comp, options) => { const isX = id => !id || id.toLowerCase() === 'x' || id === '*' +const invalidXRangeOrder = (M, m, p) => ( + (isX(M) && !isX(m)) || + (isX(m) && p && !isX(p)) +) + // ~, ~> --> * (any, kinda silly) // ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0 // ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0 @@ -46721,10 +46740,10 @@ const replaceCaret = (comp, options) => { if (M === '0') { if (m === '0') { ret = `>=${M}.${m}.${p - }${z} <${M}.${m}.${+p + 1}-0` + } <${M}.${m}.${+p + 1}-0` } else { ret = `>=${M}.${m}.${p - }${z} <${M}.${+m + 1}.0-0` + } <${M}.${+m + 1}.0-0` } } else { ret = `>=${M}.${m}.${p @@ -46750,6 +46769,10 @@ const replaceXRange = (comp, options) => { const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE] return comp.replace(r, (ret, gtlt, M, m, p, pr) => { debug('xRange', comp, ret, gtlt, M, m, p, pr) + if (invalidXRangeOrder(M, m, p)) { + return comp + } + const xM = isX(M) const xm = xM || isX(m) const xp = xm || isX(p) @@ -46917,12 +46940,31 @@ const testSet = (set, version, options) => { /***/ 48088: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const debug = __nccwpck_require__(50427) const { MAX_LENGTH, MAX_SAFE_INTEGER } = __nccwpck_require__(42293) -const { safeRe: re, safeSrc: src, t } = __nccwpck_require__(9523) +const { safeRe: re, t } = __nccwpck_require__(9523) const parseOptions = __nccwpck_require__(40785) const { compareIdentifiers } = __nccwpck_require__(92463) + +const isPrereleaseIdentifier = (prerelease, identifier) => { + const identifiers = identifier.split('.') + if (identifiers.length > prerelease.length) { + return false + } + + for (let i = 0; i < identifiers.length; i++) { + if (compareIdentifiers(prerelease[i], identifiers[i]) !== 0) { + return false + } + } + + return true +} + class SemVer { constructor (version, options) { options = parseOptions(options) @@ -47028,11 +47070,25 @@ class SemVer { other = new SemVer(other, this.options) } - return ( - compareIdentifiers(this.major, other.major) || - compareIdentifiers(this.minor, other.minor) || - compareIdentifiers(this.patch, other.patch) - ) + if (this.major < other.major) { + return -1 + } + if (this.major > other.major) { + return 1 + } + if (this.minor < other.minor) { + return -1 + } + if (this.minor > other.minor) { + return 1 + } + if (this.patch < other.patch) { + return -1 + } + if (this.patch > other.patch) { + return 1 + } + return 0 } comparePre (other) { @@ -47101,8 +47157,7 @@ class SemVer { } // Avoid an invalid semver results if (identifier) { - const r = new RegExp(`^${this.options.loose ? src[t.PRERELEASELOOSE] : src[t.PRERELEASE]}$`) - const match = `-${identifier}`.match(r) + const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]) if (!match || match[1] !== identifier) { throw new Error(`invalid identifier: ${identifier}`) } @@ -47213,8 +47268,9 @@ class SemVer { if (identifierBase === false) { prerelease = [identifier] } - if (compareIdentifiers(this.prerelease[0], identifier) === 0) { - if (isNaN(this.prerelease[1])) { + if (isPrereleaseIdentifier(this.prerelease, identifier)) { + const prereleaseBase = this.prerelease[identifier.split('.').length] + if (isNaN(prereleaseBase)) { this.prerelease = prerelease } } else { @@ -47242,6 +47298,9 @@ module.exports = SemVer /***/ 48848: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const parse = __nccwpck_require__(75925) const clean = (version, options) => { const s = parse(version.trim().replace(/^[=v]+/, ''), options) @@ -47255,6 +47314,9 @@ module.exports = clean /***/ 75098: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const eq = __nccwpck_require__(91898) const neq = __nccwpck_require__(6017) const gt = __nccwpck_require__(84123) @@ -47314,6 +47376,9 @@ module.exports = cmp /***/ 13466: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const SemVer = __nccwpck_require__(48088) const parse = __nccwpck_require__(75925) const { safeRe: re, t } = __nccwpck_require__(9523) @@ -47381,6 +47446,9 @@ module.exports = coerce /***/ 92156: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const SemVer = __nccwpck_require__(48088) const compareBuild = (a, b, loose) => { const versionA = new SemVer(a, loose) @@ -47395,6 +47463,9 @@ module.exports = compareBuild /***/ 62804: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const compare = __nccwpck_require__(44309) const compareLoose = (a, b) => compare(a, b, true) module.exports = compareLoose @@ -47405,6 +47476,9 @@ module.exports = compareLoose /***/ 44309: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const SemVer = __nccwpck_require__(48088) const compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose)) @@ -47417,6 +47491,9 @@ module.exports = compare /***/ 64297: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const parse = __nccwpck_require__(75925) const diff = (version1, version2) => { @@ -47470,7 +47547,7 @@ const diff = (version1, version2) => { return prefix + 'patch' } - // high and low are preleases + // high and low are prereleases return 'prerelease' } @@ -47482,6 +47559,9 @@ module.exports = diff /***/ 91898: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const compare = __nccwpck_require__(44309) const eq = (a, b, loose) => compare(a, b, loose) === 0 module.exports = eq @@ -47492,6 +47572,9 @@ module.exports = eq /***/ 84123: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const compare = __nccwpck_require__(44309) const gt = (a, b, loose) => compare(a, b, loose) > 0 module.exports = gt @@ -47502,6 +47585,9 @@ module.exports = gt /***/ 15522: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const compare = __nccwpck_require__(44309) const gte = (a, b, loose) => compare(a, b, loose) >= 0 module.exports = gte @@ -47512,6 +47598,9 @@ module.exports = gte /***/ 30900: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const SemVer = __nccwpck_require__(48088) const inc = (version, release, options, identifier, identifierBase) => { @@ -47538,6 +47627,9 @@ module.exports = inc /***/ 80194: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const compare = __nccwpck_require__(44309) const lt = (a, b, loose) => compare(a, b, loose) < 0 module.exports = lt @@ -47548,6 +47640,9 @@ module.exports = lt /***/ 77520: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const compare = __nccwpck_require__(44309) const lte = (a, b, loose) => compare(a, b, loose) <= 0 module.exports = lte @@ -47558,6 +47653,9 @@ module.exports = lte /***/ 76688: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const SemVer = __nccwpck_require__(48088) const major = (a, loose) => new SemVer(a, loose).major module.exports = major @@ -47568,6 +47666,9 @@ module.exports = major /***/ 38447: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const SemVer = __nccwpck_require__(48088) const minor = (a, loose) => new SemVer(a, loose).minor module.exports = minor @@ -47578,6 +47679,9 @@ module.exports = minor /***/ 6017: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const compare = __nccwpck_require__(44309) const neq = (a, b, loose) => compare(a, b, loose) !== 0 module.exports = neq @@ -47588,6 +47692,9 @@ module.exports = neq /***/ 75925: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const SemVer = __nccwpck_require__(48088) const parse = (version, options, throwErrors = false) => { if (version instanceof SemVer) { @@ -47611,6 +47718,9 @@ module.exports = parse /***/ 42866: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const SemVer = __nccwpck_require__(48088) const patch = (a, loose) => new SemVer(a, loose).patch module.exports = patch @@ -47621,6 +47731,9 @@ module.exports = patch /***/ 24016: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const parse = __nccwpck_require__(75925) const prerelease = (version, options) => { const parsed = parse(version, options) @@ -47634,6 +47747,9 @@ module.exports = prerelease /***/ 76417: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const compare = __nccwpck_require__(44309) const rcompare = (a, b, loose) => compare(b, a, loose) module.exports = rcompare @@ -47644,6 +47760,9 @@ module.exports = rcompare /***/ 8701: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const compareBuild = __nccwpck_require__(92156) const rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose)) module.exports = rsort @@ -47654,6 +47773,9 @@ module.exports = rsort /***/ 6055: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const Range = __nccwpck_require__(9828) const satisfies = (version, range, options) => { try { @@ -47671,16 +47793,78 @@ module.exports = satisfies /***/ 61426: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const compareBuild = __nccwpck_require__(92156) const sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose)) module.exports = sort +/***/ }), + +/***/ 45937: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +const parse = __nccwpck_require__(75925) +const constants = __nccwpck_require__(42293) +const SemVer = __nccwpck_require__(48088) + +const truncate = (version, truncation, options) => { + if (!constants.RELEASE_TYPES.includes(truncation)) { + return null + } + + const clonedVersion = cloneInputVersion(version, options) + return clonedVersion && doTruncation(clonedVersion, truncation) +} + +const cloneInputVersion = (version, options) => { + const versionStringToParse = ( + version instanceof SemVer ? version.version : version + ) + + return parse(versionStringToParse, options) +} + +const doTruncation = (version, truncation) => { + if (isPrerelease(truncation)) { + return version.version + } + + version.prerelease = [] + + switch (truncation) { + case 'major': + version.minor = 0 + version.patch = 0 + break + case 'minor': + version.patch = 0 + break + } + + return version.format() +} + +const isPrerelease = (type) => { + return type.startsWith('pre') +} + +module.exports = truncate + + /***/ }), /***/ 19601: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const parse = __nccwpck_require__(75925) const valid = (version, options) => { const v = parse(version, options) @@ -47694,6 +47878,9 @@ module.exports = valid /***/ 11383: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + // just pre-load all the stuff that index.js lazily exports const internalRe = __nccwpck_require__(9523) const constants = __nccwpck_require__(42293) @@ -47722,6 +47909,7 @@ const gte = __nccwpck_require__(15522) const lte = __nccwpck_require__(77520) const cmp = __nccwpck_require__(75098) const coerce = __nccwpck_require__(13466) +const truncate = __nccwpck_require__(45937) const Comparator = __nccwpck_require__(91532) const Range = __nccwpck_require__(9828) const satisfies = __nccwpck_require__(6055) @@ -47760,6 +47948,7 @@ module.exports = { lte, cmp, coerce, + truncate, Comparator, Range, satisfies, @@ -47790,6 +47979,9 @@ module.exports = { /***/ 42293: /***/ ((module) => { +"use strict"; + + // Note: this is the semver.org version of the spec that it implements // Not necessarily the package version of this code. const SEMVER_SPEC_VERSION = '2.0.0' @@ -47832,6 +48024,9 @@ module.exports = { /***/ 50427: /***/ ((module) => { +"use strict"; + + const debug = ( typeof process === 'object' && process.env && @@ -47848,8 +48043,15 @@ module.exports = debug /***/ 92463: /***/ ((module) => { +"use strict"; + + const numeric = /^[0-9]+$/ const compareIdentifiers = (a, b) => { + if (typeof a === 'number' && typeof b === 'number') { + return a === b ? 0 : a < b ? -1 : 1 + } + const anum = numeric.test(a) const bnum = numeric.test(b) @@ -47878,6 +48080,9 @@ module.exports = { /***/ 15339: /***/ ((module) => { +"use strict"; + + class LRUCache { constructor () { this.max = 1000 @@ -47925,6 +48130,9 @@ module.exports = LRUCache /***/ 40785: /***/ ((module) => { +"use strict"; + + // parse out just the options we care about const looseOption = Object.freeze({ loose: true }) const emptyOpts = Object.freeze({ }) @@ -47947,6 +48155,9 @@ module.exports = parseOptions /***/ 9523: /***/ ((module, exports, __nccwpck_require__) => { +"use strict"; + + const { MAX_SAFE_COMPONENT_LENGTH, MAX_SAFE_BUILD_LENGTH, @@ -48025,12 +48236,14 @@ createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + // ## Pre-release Version Identifier // A numeric identifier, or a non-numeric identifier. +// Non-numeric identifiers include numeric identifiers but can be longer. +// Therefore non-numeric identifiers must go first. -createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER] -}|${src[t.NONNUMERICIDENTIFIER]})`) +createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NONNUMERICIDENTIFIER] +}|${src[t.NUMERICIDENTIFIER]})`) -createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE] -}|${src[t.NONNUMERICIDENTIFIER]})`) +createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NONNUMERICIDENTIFIER] +}|${src[t.NUMERICIDENTIFIERLOOSE]})`) // ## Pre-release Version // Hyphen, followed by one or more dot-separated pre-release version @@ -48081,7 +48294,7 @@ createToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`) createToken('GTLT', '((?:<|>)?=?)') // Something like "2.*" or "1.2.x". -// Note that "x.x" is a valid xRange identifer, meaning "any version" +// Note that "x.x" is a valid xRange identifier, meaning "any version" // Only the first item is strictly required. createToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`) createToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`) @@ -48173,6 +48386,9 @@ createToken('GTE0PRE', '^\\s*>=\\s*0\\.0\\.0-0\\s*$') /***/ 9380: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + // Determine if version is greater than all the versions possible in the range. const outside = __nccwpck_require__(60420) const gtr = (version, range, options) => outside(version, range, '>', options) @@ -48184,6 +48400,9 @@ module.exports = gtr /***/ 27008: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const Range = __nccwpck_require__(9828) const intersects = (r1, r2, options) => { r1 = new Range(r1, options) @@ -48198,6 +48417,9 @@ module.exports = intersects /***/ 33323: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const outside = __nccwpck_require__(60420) // Determine if version is less than all the versions possible in the range const ltr = (version, range, options) => outside(version, range, '<', options) @@ -48209,6 +48431,9 @@ module.exports = ltr /***/ 20579: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const SemVer = __nccwpck_require__(48088) const Range = __nccwpck_require__(9828) @@ -48241,6 +48466,9 @@ module.exports = maxSatisfying /***/ 10832: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const SemVer = __nccwpck_require__(48088) const Range = __nccwpck_require__(9828) const minSatisfying = (versions, range, options) => { @@ -48272,6 +48500,9 @@ module.exports = minSatisfying /***/ 34179: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const SemVer = __nccwpck_require__(48088) const Range = __nccwpck_require__(9828) const gt = __nccwpck_require__(84123) @@ -48340,6 +48571,9 @@ module.exports = minVersion /***/ 60420: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const SemVer = __nccwpck_require__(48088) const Comparator = __nccwpck_require__(91532) const { ANY } = Comparator @@ -48427,6 +48661,9 @@ module.exports = outside /***/ 75297: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + // given a set of versions and a range, create a "simplified" range // that includes the same versions that the original range does // If the original range is shorter than the simplified one, return that. @@ -48481,6 +48718,9 @@ module.exports = (versions, range, options) => { /***/ 7863: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const Range = __nccwpck_require__(9828) const Comparator = __nccwpck_require__(91532) const { ANY } = Comparator @@ -48519,7 +48759,7 @@ const compare = __nccwpck_require__(44309) // - If LT // - If LT.semver is greater than any < or <= comp in C, return false // - If LT is <=, and LT.semver does not satisfy every C, return false -// - If GT.semver has a prerelease, and not in prerelease mode +// - If LT.semver has a prerelease, and not in prerelease mode // - If no C has a prerelease and the LT.semver tuple, return false // - Else return true @@ -48655,7 +48895,7 @@ const simpleSubset = (sub, dom, options) => { if (higher === c && higher !== gt) { return false } - } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) { + } else if (gt.operator === '>=' && !c.test(gt.semver)) { return false } } @@ -48673,7 +48913,7 @@ const simpleSubset = (sub, dom, options) => { if (lower === c && lower !== lt) { return false } - } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) { + } else if (lt.operator === '<=' && !c.test(lt.semver)) { return false } } @@ -48735,6 +48975,9 @@ module.exports = subset /***/ 52706: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const Range = __nccwpck_require__(9828) // Mostly just for testing and legacy API reasons @@ -48750,6 +48993,9 @@ module.exports = toComparators /***/ 2098: /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +"use strict"; + + const Range = __nccwpck_require__(9828) const validRange = (range, options) => { try {