HEX
Server: LiteSpeed
System: Linux ws4.angoweb.net 5.14.0-611.13.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 11 04:57:59 EST 2025 x86_64
User: tswangoe (2287)
PHP: 8.1.33
Disabled: show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open
Upload Files
File: //opt/alt/alt-nodejs12/root/lib/node_modules/npm/lib/utils/pick-manifest-from-registry-metadata.js
'use strict'
module.exports = pickManifestFromRegistryMetadata

var log = require('npmlog')
var semver = require('semver')

function pickManifestFromRegistryMetadata (spec, tag, versions, metadata) {
  log.silly('pickManifestFromRegistryMetadata', 'spec', spec, 'tag', tag, 'versions', versions)

  // if the tagged version satisfies, then use that.
  var tagged = metadata['dist-tags'][tag]
  if (tagged &&
      metadata.versions[tagged] &&
      semver.satisfies(tagged, spec, true)) {
    return {resolvedTo: tag, manifest: metadata.versions[tagged]}
  }
  // find the max satisfying version.
  var ms = semver.maxSatisfying(versions, spec, true)
  if (ms) {
    return {resolvedTo: ms, manifest: metadata.versions[ms]}
  } else if (spec === '*' && versions.length && tagged && metadata.versions[tagged]) {
    return {resolvedTo: tag, manifest: metadata.versions[tagged]}
  } else {

  }
}