| 12345678910111213141516171819202122232425 | 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
 |