Sha256: 59c0401cdd9324cae64bd411a0a785679af747f04e6b7e871425f645480bc0be

Contents?: true

Size: 1.46 KB

Versions: 41

Compression:

Stored size: 1.46 KB

Contents

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

Version data entries

41 entries across 34 versions & 3 rubygems

Version Path
decidim-0.27.1 packages/webpacker/node_modules/semver/ranges/min-version.js
decidim-0.26.4 packages/webpacker/node_modules/semver/ranges/min-version.js
decidim-0.27.0 packages/webpacker/node_modules/semver/ranges/min-version.js
decidim-0.26.3 packages/webpacker/node_modules/semver/ranges/min-version.js
decidim-0.27.0.rc2 packages/webpacker/node_modules/semver/ranges/min-version.js
decidim-0.27.0.rc1 packages/webpacker/node_modules/semver/ranges/min-version.js
appmap-0.72.2 ./node_modules/semver/ranges/min-version.js
appmap-0.72.1 ./node_modules/semver/ranges/min-version.js
appmap-0.72.0 ./node_modules/semver/ranges/min-version.js
appmap-0.71.0 ./node_modules/semver/ranges/min-version.js
disco_app-0.16.1 test/dummy/node_modules/sass-loader/node_modules/semver/ranges/min-version.js
disco_app-0.16.1 test/dummy/node_modules/@npmcli/fs/node_modules/semver/ranges/min-version.js
appmap-0.70.2 ./node_modules/semver/ranges/min-version.js
appmap-0.70.1 ./node_modules/semver/ranges/min-version.js
appmap-0.70.0 ./node_modules/semver/ranges/min-version.js
appmap-0.69.0 ./node_modules/semver/ranges/min-version.js
appmap-0.68.2 ./node_modules/semver/ranges/min-version.js
appmap-0.68.1 ./node_modules/semver/ranges/min-version.js
disco_app-0.15.2 test/dummy/node_modules/@npmcli/fs/node_modules/semver/ranges/min-version.js
disco_app-0.15.2 test/dummy/node_modules/sass-loader/node_modules/semver/ranges/min-version.js