|
Server IP : 185.61.154.36 / Your IP : 216.73.216.44 Web Server : Apache System : Linux host67.registrar-servers.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64 User : gettoplisting ( 12043) PHP Version : 7.2.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/../usr/sbin/../lib/node_modules/npm/lib/ |
| [ Home ] | [ C0mmand ] | [ Upload File ] |
|---|
'use strict'
const BB = require('bluebird')
const npmConfig = require('./config/figgy-config.js')
const fetch = require('libnpm/fetch')
const figgyPudding = require('figgy-pudding')
const npm = require('./npm.js')
const output = require('./utils/output.js')
const WhoamiConfig = figgyPudding({
json: {},
registry: {}
})
module.exports = whoami
whoami.usage = 'npm whoami [--registry <registry>]\n(just prints username according to given registry)'
function whoami ([spec], silent, cb) {
// FIXME: need tighter checking on this, but is a breaking change
if (typeof cb !== 'function') {
cb = silent
silent = false
}
const opts = WhoamiConfig(npmConfig())
return BB.try(() => {
// First, check if we have a user/pass-based auth
const registry = opts.registry
if (!registry) throw new Error('no default registry set')
return npm.config.getCredentialsByURI(registry)
}).then(({username, token}) => {
if (username) {
return username
} else if (token) {
return fetch.json('/-/whoami', opts.concat({
spec
})).then(({username}) => {
if (username) {
return username
} else {
throw Object.assign(new Error(
'Your auth token is no longer valid. Please log in again.'
), {code: 'ENEEDAUTH'})
}
})
} else {
// At this point, if they have a credentials object, it doesn't have a
// token or auth in it. Probably just the default registry.
throw Object.assign(new Error(
'This command requires you to be logged in.'
), {code: 'ENEEDAUTH'})
}
}).then(username => {
if (silent) {
} else if (opts.json) {
output(JSON.stringify(username))
} else {
output(username)
}
return username
}).nodeify(cb)
}