| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | module.exports = adduserconst log = require('npmlog')const npm = require('./npm.js')const usage = require('./utils/usage')let cryptotry {  crypto = require('crypto')} catch (ex) {}adduser.usage = usage(  'adduser',  'npm adduser [--registry=url] [--scope=@orgname] [--auth-type=legacy] [--always-auth]')function adduser (args, cb) {  if (!crypto) {    return cb(new Error(      'You must compile node with ssl support to use the adduser feature'    ))  }  let registry = npm.config.get('registry')  const scope = npm.config.get('scope')  const creds = npm.config.getCredentialsByURI(npm.config.get('registry'))  if (scope) {    const scopedRegistry = npm.config.get(scope + ':registry')    const cliRegistry = npm.config.get('registry', 'cli')    if (scopedRegistry && !cliRegistry) registry = scopedRegistry  }  log.disableProgress()  let auth  try {    auth = require('./auth/' + npm.config.get('auth-type'))  } catch (e) {    return cb(new Error('no such auth module'))  }  auth.login(creds, registry, scope, function (err, newCreds) {    if (err) return cb(err)    npm.config.del('_token', 'user') // prevent legacy pollution    if (scope) npm.config.set(scope + ':registry', registry, 'user')    npm.config.setCredentialsByURI(registry, newCreds)    npm.config.save('user', cb)  })}
 |