File Explorer

/proc/4/root/var/lang/lib/node_modules/npm/node_modules/semver/ranges

This explorer reads the filesystem of the server it runs on, so /workspace/user isn't present here. Browsing and the terminal still work against this server's own disk from /.

min-version.js1.5 KB · 64 lines
'use strict' 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