init
This commit is contained in:
		
							
								
								
									
										4
									
								
								node_modules/semver/ranges/gtr.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								node_modules/semver/ranges/gtr.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
// Determine if version is greater than all the versions possible in the range.
 | 
			
		||||
const outside = require('./outside')
 | 
			
		||||
const gtr = (version, range, options) => outside(version, range, '>', options)
 | 
			
		||||
module.exports = gtr
 | 
			
		||||
							
								
								
									
										7
									
								
								node_modules/semver/ranges/intersects.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								node_modules/semver/ranges/intersects.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
const Range = require('../classes/range')
 | 
			
		||||
const intersects = (r1, r2, options) => {
 | 
			
		||||
  r1 = new Range(r1, options)
 | 
			
		||||
  r2 = new Range(r2, options)
 | 
			
		||||
  return r1.intersects(r2, options)
 | 
			
		||||
}
 | 
			
		||||
module.exports = intersects
 | 
			
		||||
							
								
								
									
										4
									
								
								node_modules/semver/ranges/ltr.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								node_modules/semver/ranges/ltr.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
const outside = require('./outside')
 | 
			
		||||
// Determine if version is less than all the versions possible in the range
 | 
			
		||||
const ltr = (version, range, options) => outside(version, range, '<', options)
 | 
			
		||||
module.exports = ltr
 | 
			
		||||
							
								
								
									
										25
									
								
								node_modules/semver/ranges/max-satisfying.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								node_modules/semver/ranges/max-satisfying.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,25 @@
 | 
			
		||||
const SemVer = require('../classes/semver')
 | 
			
		||||
const Range = require('../classes/range')
 | 
			
		||||
 | 
			
		||||
const maxSatisfying = (versions, range, options) => {
 | 
			
		||||
  let max = null
 | 
			
		||||
  let maxSV = null
 | 
			
		||||
  let rangeObj = null
 | 
			
		||||
  try {
 | 
			
		||||
    rangeObj = new Range(range, options)
 | 
			
		||||
  } catch (er) {
 | 
			
		||||
    return null
 | 
			
		||||
  }
 | 
			
		||||
  versions.forEach((v) => {
 | 
			
		||||
    if (rangeObj.test(v)) {
 | 
			
		||||
      // satisfies(v, range, options)
 | 
			
		||||
      if (!max || maxSV.compare(v) === -1) {
 | 
			
		||||
        // compare(max, v, true)
 | 
			
		||||
        max = v
 | 
			
		||||
        maxSV = new SemVer(max, options)
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  })
 | 
			
		||||
  return max
 | 
			
		||||
}
 | 
			
		||||
module.exports = maxSatisfying
 | 
			
		||||
							
								
								
									
										24
									
								
								node_modules/semver/ranges/min-satisfying.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								node_modules/semver/ranges/min-satisfying.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
			
		||||
const SemVer = require('../classes/semver')
 | 
			
		||||
const Range = require('../classes/range')
 | 
			
		||||
const minSatisfying = (versions, range, options) => {
 | 
			
		||||
  let min = null
 | 
			
		||||
  let minSV = null
 | 
			
		||||
  let rangeObj = null
 | 
			
		||||
  try {
 | 
			
		||||
    rangeObj = new Range(range, options)
 | 
			
		||||
  } catch (er) {
 | 
			
		||||
    return null
 | 
			
		||||
  }
 | 
			
		||||
  versions.forEach((v) => {
 | 
			
		||||
    if (rangeObj.test(v)) {
 | 
			
		||||
      // satisfies(v, range, options)
 | 
			
		||||
      if (!min || minSV.compare(v) === 1) {
 | 
			
		||||
        // compare(min, v, true)
 | 
			
		||||
        min = v
 | 
			
		||||
        minSV = new SemVer(min, options)
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  })
 | 
			
		||||
  return min
 | 
			
		||||
}
 | 
			
		||||
module.exports = minSatisfying
 | 
			
		||||
							
								
								
									
										61
									
								
								node_modules/semver/ranges/min-version.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								node_modules/semver/ranges/min-version.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,61 @@
 | 
			
		||||
const SemVer = require('../classes/semver')
 | 
			
		||||
const Range = require('../classes/range')
 | 
			
		||||
const gt = require('../functions/gt')
 | 
			
		||||
 | 
			
		||||
const minVersion = (range, loose) => {
 | 
			
		||||
  range = new Range(range, loose)
 | 
			
		||||
 | 
			
		||||
  let minver = new SemVer('0.0.0')
 | 
			
		||||
  if (range.test(minver)) {
 | 
			
		||||
    return minver
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  minver = new SemVer('0.0.0-0')
 | 
			
		||||
  if (range.test(minver)) {
 | 
			
		||||
    return minver
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  minver = null
 | 
			
		||||
  for (let i = 0; i < range.set.length; ++i) {
 | 
			
		||||
    const comparators = range.set[i]
 | 
			
		||||
 | 
			
		||||
    let setMin = null
 | 
			
		||||
    comparators.forEach((comparator) => {
 | 
			
		||||
      // Clone to avoid manipulating the comparator's semver object.
 | 
			
		||||
      const compver = new SemVer(comparator.semver.version)
 | 
			
		||||
      switch (comparator.operator) {
 | 
			
		||||
        case '>':
 | 
			
		||||
          if (compver.prerelease.length === 0) {
 | 
			
		||||
            compver.patch++
 | 
			
		||||
          } else {
 | 
			
		||||
            compver.prerelease.push(0)
 | 
			
		||||
          }
 | 
			
		||||
          compver.raw = compver.format()
 | 
			
		||||
          /* fallthrough */
 | 
			
		||||
        case '':
 | 
			
		||||
        case '>=':
 | 
			
		||||
          if (!setMin || gt(compver, setMin)) {
 | 
			
		||||
            setMin = compver
 | 
			
		||||
          }
 | 
			
		||||
          break
 | 
			
		||||
        case '<':
 | 
			
		||||
        case '<=':
 | 
			
		||||
          /* Ignore maximum versions */
 | 
			
		||||
          break
 | 
			
		||||
        /* istanbul ignore next */
 | 
			
		||||
        default:
 | 
			
		||||
          throw new Error(`Unexpected operation: ${comparator.operator}`)
 | 
			
		||||
      }
 | 
			
		||||
    })
 | 
			
		||||
    if (setMin && (!minver || gt(minver, setMin))) {
 | 
			
		||||
      minver = setMin
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (minver && range.test(minver)) {
 | 
			
		||||
    return minver
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return null
 | 
			
		||||
}
 | 
			
		||||
module.exports = minVersion
 | 
			
		||||
							
								
								
									
										80
									
								
								node_modules/semver/ranges/outside.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										80
									
								
								node_modules/semver/ranges/outside.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,80 @@
 | 
			
		||||
const SemVer = require('../classes/semver')
 | 
			
		||||
const Comparator = require('../classes/comparator')
 | 
			
		||||
const { ANY } = Comparator
 | 
			
		||||
const Range = require('../classes/range')
 | 
			
		||||
const satisfies = require('../functions/satisfies')
 | 
			
		||||
const gt = require('../functions/gt')
 | 
			
		||||
const lt = require('../functions/lt')
 | 
			
		||||
const lte = require('../functions/lte')
 | 
			
		||||
const gte = require('../functions/gte')
 | 
			
		||||
 | 
			
		||||
const outside = (version, range, hilo, options) => {
 | 
			
		||||
  version = new SemVer(version, options)
 | 
			
		||||
  range = new Range(range, options)
 | 
			
		||||
 | 
			
		||||
  let gtfn, ltefn, ltfn, comp, ecomp
 | 
			
		||||
  switch (hilo) {
 | 
			
		||||
    case '>':
 | 
			
		||||
      gtfn = gt
 | 
			
		||||
      ltefn = lte
 | 
			
		||||
      ltfn = lt
 | 
			
		||||
      comp = '>'
 | 
			
		||||
      ecomp = '>='
 | 
			
		||||
      break
 | 
			
		||||
    case '<':
 | 
			
		||||
      gtfn = lt
 | 
			
		||||
      ltefn = gte
 | 
			
		||||
      ltfn = gt
 | 
			
		||||
      comp = '<'
 | 
			
		||||
      ecomp = '<='
 | 
			
		||||
      break
 | 
			
		||||
    default:
 | 
			
		||||
      throw new TypeError('Must provide a hilo val of "<" or ">"')
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // If it satisfies the range it is not outside
 | 
			
		||||
  if (satisfies(version, range, options)) {
 | 
			
		||||
    return false
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // From now on, variable terms are as if we're in "gtr" mode.
 | 
			
		||||
  // but note that everything is flipped for the "ltr" function.
 | 
			
		||||
 | 
			
		||||
  for (let i = 0; i < range.set.length; ++i) {
 | 
			
		||||
    const comparators = range.set[i]
 | 
			
		||||
 | 
			
		||||
    let high = null
 | 
			
		||||
    let low = null
 | 
			
		||||
 | 
			
		||||
    comparators.forEach((comparator) => {
 | 
			
		||||
      if (comparator.semver === ANY) {
 | 
			
		||||
        comparator = new Comparator('>=0.0.0')
 | 
			
		||||
      }
 | 
			
		||||
      high = high || comparator
 | 
			
		||||
      low = low || comparator
 | 
			
		||||
      if (gtfn(comparator.semver, high.semver, options)) {
 | 
			
		||||
        high = comparator
 | 
			
		||||
      } else if (ltfn(comparator.semver, low.semver, options)) {
 | 
			
		||||
        low = comparator
 | 
			
		||||
      }
 | 
			
		||||
    })
 | 
			
		||||
 | 
			
		||||
    // If the edge version comparator has a operator then our version
 | 
			
		||||
    // isn't outside it
 | 
			
		||||
    if (high.operator === comp || high.operator === ecomp) {
 | 
			
		||||
      return false
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // If the lowest version comparator has an operator and our version
 | 
			
		||||
    // is less than it then it isn't higher than the range
 | 
			
		||||
    if ((!low.operator || low.operator === comp) &&
 | 
			
		||||
        ltefn(version, low.semver)) {
 | 
			
		||||
      return false
 | 
			
		||||
    } else if (low.operator === ecomp && ltfn(version, low.semver)) {
 | 
			
		||||
      return false
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  return true
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module.exports = outside
 | 
			
		||||
							
								
								
									
										47
									
								
								node_modules/semver/ranges/simplify.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								node_modules/semver/ranges/simplify.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,47 @@
 | 
			
		||||
// 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.
 | 
			
		||||
const satisfies = require('../functions/satisfies.js')
 | 
			
		||||
const compare = require('../functions/compare.js')
 | 
			
		||||
module.exports = (versions, range, options) => {
 | 
			
		||||
  const set = []
 | 
			
		||||
  let first = null
 | 
			
		||||
  let prev = null
 | 
			
		||||
  const v = versions.sort((a, b) => compare(a, b, options))
 | 
			
		||||
  for (const version of v) {
 | 
			
		||||
    const included = satisfies(version, range, options)
 | 
			
		||||
    if (included) {
 | 
			
		||||
      prev = version
 | 
			
		||||
      if (!first) {
 | 
			
		||||
        first = version
 | 
			
		||||
      }
 | 
			
		||||
    } else {
 | 
			
		||||
      if (prev) {
 | 
			
		||||
        set.push([first, prev])
 | 
			
		||||
      }
 | 
			
		||||
      prev = null
 | 
			
		||||
      first = null
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  if (first) {
 | 
			
		||||
    set.push([first, null])
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  const ranges = []
 | 
			
		||||
  for (const [min, max] of set) {
 | 
			
		||||
    if (min === max) {
 | 
			
		||||
      ranges.push(min)
 | 
			
		||||
    } else if (!max && min === v[0]) {
 | 
			
		||||
      ranges.push('*')
 | 
			
		||||
    } else if (!max) {
 | 
			
		||||
      ranges.push(`>=${min}`)
 | 
			
		||||
    } else if (min === v[0]) {
 | 
			
		||||
      ranges.push(`<=${max}`)
 | 
			
		||||
    } else {
 | 
			
		||||
      ranges.push(`${min} - ${max}`)
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  const simplified = ranges.join(' || ')
 | 
			
		||||
  const original = typeof range.raw === 'string' ? range.raw : String(range)
 | 
			
		||||
  return simplified.length < original.length ? simplified : range
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										247
									
								
								node_modules/semver/ranges/subset.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										247
									
								
								node_modules/semver/ranges/subset.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,247 @@
 | 
			
		||||
const Range = require('../classes/range.js')
 | 
			
		||||
const Comparator = require('../classes/comparator.js')
 | 
			
		||||
const { ANY } = Comparator
 | 
			
		||||
const satisfies = require('../functions/satisfies.js')
 | 
			
		||||
const compare = require('../functions/compare.js')
 | 
			
		||||
 | 
			
		||||
// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff:
 | 
			
		||||
// - Every simple range `r1, r2, ...` is a null set, OR
 | 
			
		||||
// - Every simple range `r1, r2, ...` which is not a null set is a subset of
 | 
			
		||||
//   some `R1, R2, ...`
 | 
			
		||||
//
 | 
			
		||||
// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff:
 | 
			
		||||
// - If c is only the ANY comparator
 | 
			
		||||
//   - If C is only the ANY comparator, return true
 | 
			
		||||
//   - Else if in prerelease mode, return false
 | 
			
		||||
//   - else replace c with `[>=0.0.0]`
 | 
			
		||||
// - If C is only the ANY comparator
 | 
			
		||||
//   - if in prerelease mode, return true
 | 
			
		||||
//   - else replace C with `[>=0.0.0]`
 | 
			
		||||
// - Let EQ be the set of = comparators in c
 | 
			
		||||
// - If EQ is more than one, return true (null set)
 | 
			
		||||
// - Let GT be the highest > or >= comparator in c
 | 
			
		||||
// - Let LT be the lowest < or <= comparator in c
 | 
			
		||||
// - If GT and LT, and GT.semver > LT.semver, return true (null set)
 | 
			
		||||
// - If any C is a = range, and GT or LT are set, return false
 | 
			
		||||
// - If EQ
 | 
			
		||||
//   - If GT, and EQ does not satisfy GT, return true (null set)
 | 
			
		||||
//   - If LT, and EQ does not satisfy LT, return true (null set)
 | 
			
		||||
//   - If EQ satisfies every C, return true
 | 
			
		||||
//   - Else return false
 | 
			
		||||
// - If GT
 | 
			
		||||
//   - If GT.semver is lower than any > or >= comp in C, return false
 | 
			
		||||
//   - If GT is >=, and GT.semver does not satisfy every C, return false
 | 
			
		||||
//   - If GT.semver has a prerelease, and not in prerelease mode
 | 
			
		||||
//     - If no C has a prerelease and the GT.semver tuple, return false
 | 
			
		||||
// - 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 no C has a prerelease and the LT.semver tuple, return false
 | 
			
		||||
// - Else return true
 | 
			
		||||
 | 
			
		||||
const subset = (sub, dom, options = {}) => {
 | 
			
		||||
  if (sub === dom) {
 | 
			
		||||
    return true
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  sub = new Range(sub, options)
 | 
			
		||||
  dom = new Range(dom, options)
 | 
			
		||||
  let sawNonNull = false
 | 
			
		||||
 | 
			
		||||
  OUTER: for (const simpleSub of sub.set) {
 | 
			
		||||
    for (const simpleDom of dom.set) {
 | 
			
		||||
      const isSub = simpleSubset(simpleSub, simpleDom, options)
 | 
			
		||||
      sawNonNull = sawNonNull || isSub !== null
 | 
			
		||||
      if (isSub) {
 | 
			
		||||
        continue OUTER
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    // the null set is a subset of everything, but null simple ranges in
 | 
			
		||||
    // a complex range should be ignored.  so if we saw a non-null range,
 | 
			
		||||
    // then we know this isn't a subset, but if EVERY simple range was null,
 | 
			
		||||
    // then it is a subset.
 | 
			
		||||
    if (sawNonNull) {
 | 
			
		||||
      return false
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  return true
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const minimumVersionWithPreRelease = [new Comparator('>=0.0.0-0')]
 | 
			
		||||
const minimumVersion = [new Comparator('>=0.0.0')]
 | 
			
		||||
 | 
			
		||||
const simpleSubset = (sub, dom, options) => {
 | 
			
		||||
  if (sub === dom) {
 | 
			
		||||
    return true
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (sub.length === 1 && sub[0].semver === ANY) {
 | 
			
		||||
    if (dom.length === 1 && dom[0].semver === ANY) {
 | 
			
		||||
      return true
 | 
			
		||||
    } else if (options.includePrerelease) {
 | 
			
		||||
      sub = minimumVersionWithPreRelease
 | 
			
		||||
    } else {
 | 
			
		||||
      sub = minimumVersion
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (dom.length === 1 && dom[0].semver === ANY) {
 | 
			
		||||
    if (options.includePrerelease) {
 | 
			
		||||
      return true
 | 
			
		||||
    } else {
 | 
			
		||||
      dom = minimumVersion
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  const eqSet = new Set()
 | 
			
		||||
  let gt, lt
 | 
			
		||||
  for (const c of sub) {
 | 
			
		||||
    if (c.operator === '>' || c.operator === '>=') {
 | 
			
		||||
      gt = higherGT(gt, c, options)
 | 
			
		||||
    } else if (c.operator === '<' || c.operator === '<=') {
 | 
			
		||||
      lt = lowerLT(lt, c, options)
 | 
			
		||||
    } else {
 | 
			
		||||
      eqSet.add(c.semver)
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (eqSet.size > 1) {
 | 
			
		||||
    return null
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  let gtltComp
 | 
			
		||||
  if (gt && lt) {
 | 
			
		||||
    gtltComp = compare(gt.semver, lt.semver, options)
 | 
			
		||||
    if (gtltComp > 0) {
 | 
			
		||||
      return null
 | 
			
		||||
    } else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) {
 | 
			
		||||
      return null
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // will iterate one or zero times
 | 
			
		||||
  for (const eq of eqSet) {
 | 
			
		||||
    if (gt && !satisfies(eq, String(gt), options)) {
 | 
			
		||||
      return null
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (lt && !satisfies(eq, String(lt), options)) {
 | 
			
		||||
      return null
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    for (const c of dom) {
 | 
			
		||||
      if (!satisfies(eq, String(c), options)) {
 | 
			
		||||
        return false
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return true
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  let higher, lower
 | 
			
		||||
  let hasDomLT, hasDomGT
 | 
			
		||||
  // if the subset has a prerelease, we need a comparator in the superset
 | 
			
		||||
  // with the same tuple and a prerelease, or it's not a subset
 | 
			
		||||
  let needDomLTPre = lt &&
 | 
			
		||||
    !options.includePrerelease &&
 | 
			
		||||
    lt.semver.prerelease.length ? lt.semver : false
 | 
			
		||||
  let needDomGTPre = gt &&
 | 
			
		||||
    !options.includePrerelease &&
 | 
			
		||||
    gt.semver.prerelease.length ? gt.semver : false
 | 
			
		||||
  // exception: <1.2.3-0 is the same as <1.2.3
 | 
			
		||||
  if (needDomLTPre && needDomLTPre.prerelease.length === 1 &&
 | 
			
		||||
      lt.operator === '<' && needDomLTPre.prerelease[0] === 0) {
 | 
			
		||||
    needDomLTPre = false
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  for (const c of dom) {
 | 
			
		||||
    hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>='
 | 
			
		||||
    hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<='
 | 
			
		||||
    if (gt) {
 | 
			
		||||
      if (needDomGTPre) {
 | 
			
		||||
        if (c.semver.prerelease && c.semver.prerelease.length &&
 | 
			
		||||
            c.semver.major === needDomGTPre.major &&
 | 
			
		||||
            c.semver.minor === needDomGTPre.minor &&
 | 
			
		||||
            c.semver.patch === needDomGTPre.patch) {
 | 
			
		||||
          needDomGTPre = false
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      if (c.operator === '>' || c.operator === '>=') {
 | 
			
		||||
        higher = higherGT(gt, c, options)
 | 
			
		||||
        if (higher === c && higher !== gt) {
 | 
			
		||||
          return false
 | 
			
		||||
        }
 | 
			
		||||
      } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) {
 | 
			
		||||
        return false
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    if (lt) {
 | 
			
		||||
      if (needDomLTPre) {
 | 
			
		||||
        if (c.semver.prerelease && c.semver.prerelease.length &&
 | 
			
		||||
            c.semver.major === needDomLTPre.major &&
 | 
			
		||||
            c.semver.minor === needDomLTPre.minor &&
 | 
			
		||||
            c.semver.patch === needDomLTPre.patch) {
 | 
			
		||||
          needDomLTPre = false
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      if (c.operator === '<' || c.operator === '<=') {
 | 
			
		||||
        lower = lowerLT(lt, c, options)
 | 
			
		||||
        if (lower === c && lower !== lt) {
 | 
			
		||||
          return false
 | 
			
		||||
        }
 | 
			
		||||
      } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) {
 | 
			
		||||
        return false
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    if (!c.operator && (lt || gt) && gtltComp !== 0) {
 | 
			
		||||
      return false
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // if there was a < or >, and nothing in the dom, then must be false
 | 
			
		||||
  // UNLESS it was limited by another range in the other direction.
 | 
			
		||||
  // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0
 | 
			
		||||
  if (gt && hasDomLT && !lt && gtltComp !== 0) {
 | 
			
		||||
    return false
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (lt && hasDomGT && !gt && gtltComp !== 0) {
 | 
			
		||||
    return false
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // we needed a prerelease range in a specific tuple, but didn't get one
 | 
			
		||||
  // then this isn't a subset.  eg >=1.2.3-pre is not a subset of >=1.0.0,
 | 
			
		||||
  // because it includes prereleases in the 1.2.3 tuple
 | 
			
		||||
  if (needDomGTPre || needDomLTPre) {
 | 
			
		||||
    return false
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return true
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// >=1.2.3 is lower than >1.2.3
 | 
			
		||||
const higherGT = (a, b, options) => {
 | 
			
		||||
  if (!a) {
 | 
			
		||||
    return b
 | 
			
		||||
  }
 | 
			
		||||
  const comp = compare(a.semver, b.semver, options)
 | 
			
		||||
  return comp > 0 ? a
 | 
			
		||||
    : comp < 0 ? b
 | 
			
		||||
    : b.operator === '>' && a.operator === '>=' ? b
 | 
			
		||||
    : a
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// <=1.2.3 is higher than <1.2.3
 | 
			
		||||
const lowerLT = (a, b, options) => {
 | 
			
		||||
  if (!a) {
 | 
			
		||||
    return b
 | 
			
		||||
  }
 | 
			
		||||
  const comp = compare(a.semver, b.semver, options)
 | 
			
		||||
  return comp < 0 ? a
 | 
			
		||||
    : comp > 0 ? b
 | 
			
		||||
    : b.operator === '<' && a.operator === '<=' ? b
 | 
			
		||||
    : a
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module.exports = subset
 | 
			
		||||
							
								
								
									
										8
									
								
								node_modules/semver/ranges/to-comparators.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								node_modules/semver/ranges/to-comparators.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
			
		||||
const Range = require('../classes/range')
 | 
			
		||||
 | 
			
		||||
// Mostly just for testing and legacy API reasons
 | 
			
		||||
const toComparators = (range, options) =>
 | 
			
		||||
  new Range(range, options).set
 | 
			
		||||
    .map(comp => comp.map(c => c.value).join(' ').trim().split(' '))
 | 
			
		||||
 | 
			
		||||
module.exports = toComparators
 | 
			
		||||
							
								
								
									
										11
									
								
								node_modules/semver/ranges/valid.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								node_modules/semver/ranges/valid.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
const Range = require('../classes/range')
 | 
			
		||||
const validRange = (range, options) => {
 | 
			
		||||
  try {
 | 
			
		||||
    // Return '*' instead of '' so that truthiness works.
 | 
			
		||||
    // This will throw if it's invalid anyway
 | 
			
		||||
    return new Range(range, options).range || '*'
 | 
			
		||||
  } catch (er) {
 | 
			
		||||
    return null
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
module.exports = validRange
 | 
			
		||||
		Reference in New Issue
	
	Block a user