/ node_modules / semver / ranges / min-satisfying.js
min-satisfying.js
 1  'use strict'
 2  
 3  const SemVer = require('../classes/semver')
 4  const Range = require('../classes/range')
 5  const minSatisfying = (versions, range, options) => {
 6    let min = null
 7    let minSV = null
 8    let rangeObj = null
 9    try {
10      rangeObj = new Range(range, options)
11    } catch (er) {
12      return null
13    }
14    versions.forEach((v) => {
15      if (rangeObj.test(v)) {
16        // satisfies(v, range, options)
17        if (!min || minSV.compare(v) === 1) {
18          // compare(min, v, true)
19          min = v
20          minSV = new SemVer(min, options)
21        }
22      }
23    })
24    return min
25  }
26  module.exports = minSatisfying