| Server IP : 10.200.247.200 / Your IP : 216.73.216.64 Web Server : Apache System : Linux synergy-usa-sites 6.8.0-138-generic #138-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 31 22:41:49 UTC 2026 x86_64 User : jeremy ( 1001) PHP Version : 8.4.25 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/share/node_modules/npm/lib/commands/ |
Upload File : |
const log = require('../utils/log-shim.js')
const replaceInfo = require('../utils/replace-info.js')
const auth = require('../utils/auth.js')
const BaseCommand = require('../base-command.js')
class Login extends BaseCommand {
static description = 'Login to a registry user account'
static name = 'login'
static params = [
'registry',
'scope',
'auth-type',
]
static ignoreImplicitWorkspace = true
async exec (args) {
const scope = this.npm.config.get('scope')
let registry = this.npm.config.get('registry')
if (scope) {
const scopedRegistry = this.npm.config.get(`${scope}:registry`)
const cliRegistry = this.npm.config.get('registry', 'cli')
if (scopedRegistry && !cliRegistry) {
registry = scopedRegistry
}
}
const creds = this.npm.config.getCredentialsByURI(registry)
log.disableProgress()
log.notice('', `Log in on ${replaceInfo(registry)}`)
const { message, newCreds } = await auth.login(this.npm, {
...this.npm.flatOptions,
creds,
registry,
})
this.npm.config.delete('_token', 'user') // prevent legacy pollution
this.npm.config.setCredentialsByURI(registry, newCreds)
if (scope) {
this.npm.config.set(scope + ':registry', registry, 'user')
}
await this.npm.config.save('user')
this.npm.output(message)
}
}
module.exports = Login