Dre4m Shell
Server IP : 127.0.0.2  /  Your IP : 3.144.252.197
Web Server : Apache/2.4.18 (Ubuntu)
System :
User : www-data ( )
PHP Version : 7.0.33-0ubuntu0.16.04.16
Disable Function : disk_free_space,disk_total_space,diskfreespace,dl,exec,fpaththru,getmyuid,getmypid,highlight_file,ignore_user_abord,leak,listen,link,opcache_get_configuration,opcache_get_status,passthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,php_uname,phpinfo,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,pclose,popen,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate,shell_exec,source,show_source,system,virtual
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/npm/lib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /usr/share/npm/lib/dist-tag.js
module.exports = distTag

var log = require('npmlog')
var npa = require('npm-package-arg')
var semver = require('semver')

var npm = require('./npm.js')
var mapToRegistry = require('./utils/map-to-registry.js')
var readLocalPkg = require('./utils/read-local-package.js')

distTag.usage = 'npm dist-tag add <pkg>@<version> [<tag>]' +
                '\nnpm dist-tag rm <pkg> <tag>' +
                '\nnpm dist-tag ls [<pkg>]'

distTag.completion = function (opts, cb) {
  var argv = opts.conf.argv.remain
  if (argv.length === 2) {
    return cb(null, ['add', 'rm', 'ls'])
  }

  switch (argv[2]) {
    default:
      return cb()
  }
}

function distTag (args, cb) {
  var cmd = args.shift()
  switch (cmd) {
    case 'add': case 'a': case 'set': case 's':
      return add(args[0], args[1], cb)
    case 'rm': case 'r': case 'del': case 'd': case 'remove':
      return remove(args[1], args[0], cb)
    case 'ls': case 'l': case 'sl': case 'list':
      return list(args[0], cb)
    default:
      return cb('Usage:\n' + distTag.usage)
  }
}

function add (spec, tag, cb) {
  var thing = npa(spec || '')
  var pkg = thing.name
  var version = thing.rawSpec
  var t = (tag || npm.config.get('tag')).trim()

  log.verbose('dist-tag add', t, 'to', pkg + '@' + version)

  if (!pkg || !version || !t) return cb('Usage:\n' + distTag.usage)

  if (semver.validRange(t)) {
    var er = new Error('Tag name must not be a valid SemVer range: ' + t)
    return cb(er)
  }

  fetchTags(pkg, function (er, tags) {
    if (er) return cb(er)

    if (tags[t] === version) {
      log.warn('dist-tag add', t, 'is already set to version', version)
      return cb()
    }
    tags[t] = version

    mapToRegistry(pkg, npm.config, function (er, uri, auth, base) {
      var params = {
        'package': pkg,
        distTag: t,
        version: version,
        auth: auth
      }

      npm.registry.distTags.add(base, params, function (er) {
        if (er) return cb(er)

        console.log('+' + t + ': ' + pkg + '@' + version)
        cb()
      })
    })
  })
}

function remove (tag, pkg, cb) {
  log.verbose('dist-tag del', tag, 'from', pkg)

  fetchTags(pkg, function (er, tags) {
    if (er) return cb(er)

    if (!tags[tag]) {
      log.info('dist-tag del', tag, 'is not a dist-tag on', pkg)
      return cb(new Error(tag + ' is not a dist-tag on ' + pkg))
    }

    var version = tags[tag]
    delete tags[tag]

    mapToRegistry(pkg, npm.config, function (er, uri, auth, base) {
      var params = {
        'package': pkg,
        distTag: tag,
        auth: auth
      }

      npm.registry.distTags.rm(base, params, function (er) {
        if (er) return cb(er)

        console.log('-' + tag + ': ' + pkg + '@' + version)
        cb()
      })
    })
  })
}

function list (pkg, cb) {
  if (!pkg) {
    return readLocalPkg(function (er, pkg) {
      if (er) return cb(er)
      if (!pkg) return cb(distTag.usage)
      list(pkg, cb)
    })
  }

  fetchTags(pkg, function (er, tags) {
    if (er) {
      log.error('dist-tag ls', "Couldn't get dist-tag data for", pkg)
      return cb(er)
    }
    var msg = Object.keys(tags).map(function (k) {
      return k + ': ' + tags[k]
    }).sort().join('\n')
    console.log(msg)
    cb(er, tags)
  })
}

function fetchTags (pkg, cb) {
  mapToRegistry(pkg, npm.config, function (er, uri, auth, base) {
    if (er) return cb(er)

    var params = {
      'package': pkg,
      auth: auth
    }
    npm.registry.distTags.fetch(base, params, function (er, tags) {
      if (er) return cb(er)
      if (!tags || !Object.keys(tags).length) {
        return cb(new Error('No dist-tags found for ' + pkg))
      }

      cb(null, tags)
    })
  })
}

Anon7 - 2022
AnonSec Team