Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib/utils
diff options
context:
space:
mode:
authorGar <gar+gh@danger.computer>2022-05-19 01:51:43 +0300
committerNathan Fritz <fritzy@github.com>2022-05-19 02:40:20 +0300
commitee3308a7a08799ec7e86237165ebaf278d9a4f9f (patch)
tree326d3fd0f1c26f0f96ce17187a807d49665c31b5 /lib/utils
parent124df81391ea5810b29d2af9500ed597f076d597 (diff)
fix: remove dead code from get-identity
Diffstat (limited to 'lib/utils')
-rw-r--r--lib/utils/get-identity.js45
1 files changed, 15 insertions, 30 deletions
diff --git a/lib/utils/get-identity.js b/lib/utils/get-identity.js
index e77c2eea4..f4aedb89b 100644
--- a/lib/utils/get-identity.js
+++ b/lib/utils/get-identity.js
@@ -1,39 +1,24 @@
const npmFetch = require('npm-registry-fetch')
-const needsAuthError = (msg) =>
- Object.assign(new Error(msg), { code: 'ENEEDAUTH' })
-
-module.exports = async (npm, opts = {}) => {
+module.exports = async (npm, opts) => {
const { registry } = opts
- if (!registry) {
- throw Object.assign(new Error('No registry specified.'), { code: 'ENOREGISTRY' })
- }
// First, check if we have a user/pass-based auth
const creds = npm.config.getCredentialsByURI(registry)
- const { username: usernameFromURI, token } = creds
+ if (creds.username) {
+ return creds.username
+ }
- if (usernameFromURI) {
- // Found username; return it
- return usernameFromURI
- } else if (token) {
- // No username, but we have a token; fetch the username from registry
- const registryData = await npmFetch.json('/-/whoami', {
- ...opts,
- })
- const { username: usernameFromRegistry } = registryData
- // Retrieved username from registry; return it
- if (usernameFromRegistry) {
- return usernameFromRegistry
- } else {
- // Didn't get username from registry; bad token
- throw needsAuthError(
- 'Your auth token is no longer valid. Please login again.'
- )
- }
- } 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 needsAuthError('This command requires you to be logged in.')
+ // No username, but we have a token; fetch the username from registry
+ if (creds.token) {
+ const registryData = await npmFetch.json('/-/whoami', { ...opts })
+ return registryData.username
}
+
+ // At this point, even if they have a credentials object, it doesn't have a
+ // valid token.
+ throw Object.assign(
+ new Error('This command requires you to be logged in.'),
+ { code: 'ENEEDAUTH' }
+ )
}