PHP 8.2.31
Preview: logout.js Size: 1.42 KB
/opt/alt/alt-nodejs24/root/usr/lib/node_modules/npm/lib/commands/logout.js

const npmFetch = require('npm-registry-fetch')
const { getAuth } = npmFetch
const { log } = require('proc-log')
const BaseCommand = require('../base-cmd.js')

class Logout extends BaseCommand {
  static description = 'Log out of the registry'
  static name = 'logout'
  static params = [
    'registry',
    'scope',
  ]

  async exec () {
    const registry = this.npm.config.get('registry')
    const scope = this.npm.config.get('scope')
    const regRef = scope ? `${scope}:registry` : 'registry'
    const reg = this.npm.config.get(regRef) || registry

    const auth = getAuth(reg, this.npm.flatOptions)

    const level = this.npm.config.find(`${auth.regKey}:${auth.authKey}`)

    // find the config level and only delete from there
    if (auth.token) {
      log.verbose('logout', `clearing token for ${reg}`)
      await npmFetch(`/-/user/token/${encodeURIComponent(auth.token)}`, {
        ...this.npm.flatOptions,
        registry: reg,
        method: 'DELETE',
        ignoreBody: true,
      })
    } else if (auth.isBasicAuth) {
      log.verbose('logout', `clearing user credentials for ${reg}`)
    } else {
      const msg = `not logged in to ${reg}, so can't log out!`
      throw Object.assign(new Error(msg), { code: 'ENEEDAUTH' })
    }

    if (scope) {
      this.npm.config.delete(regRef, level)
    }

    this.npm.config.clearCredentialsByURI(reg, level)

    await this.npm.config.save(level)
  }
}

module.exports = Logout

Directory Contents

Dirs: 1 × Files: 67

Name Size Perms Modified Actions
trust DIR
- drwxr-xr-x 2026-05-14 21:13:30
Edit Download
6.17 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
1.29 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
3.17 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
847 B lrw-r--r-- 2026-04-24 15:56:02
Edit Download
11.48 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
4.24 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
10.83 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
11.48 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
1.42 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
2.43 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
7.92 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
5.50 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
449 B lrw-r--r-- 2026-04-24 15:56:02
Edit Download
9.99 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
1.72 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
3.39 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
3.55 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
2.11 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
578 B lrw-r--r-- 2026-04-24 15:56:02
Edit Download
6.38 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
538 B lrw-r--r-- 2026-04-24 15:56:02
Edit Download
5.53 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
3.64 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
7.02 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
308 B lrw-r--r-- 2026-04-24 15:56:02
Edit Download
303 B lrw-r--r-- 2026-04-24 15:56:02
Edit Download
5.10 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
5.24 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
234 B lrw-r--r-- 2026-04-24 15:56:02
Edit Download
1.29 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
1.42 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
18.03 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
3.96 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
7.92 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
5.95 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
2.77 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
873 B lrw-r--r-- 2026-04-24 15:56:02
Edit Download
3.58 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
309 B lrw-r--r-- 2026-04-24 15:56:02
Edit Download
10.30 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
770 B lrw-r--r-- 2026-04-24 15:56:02
Edit Download
9.47 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
3.75 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
2.15 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
1.24 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
303 B lrw-r--r-- 2026-04-24 15:56:02
Edit Download
295 B lrw-r--r-- 2026-04-24 15:56:02
Edit Download
6.27 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
4.47 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
1.83 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
632 B lrw-r--r-- 2026-04-24 15:56:02
Edit Download
2.63 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
1.88 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
1.03 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
293 B lrw-r--r-- 2026-04-24 15:56:02
Edit Download
288 B lrw-r--r-- 2026-04-24 15:56:02
Edit Download
4.33 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
288 B lrw-r--r-- 2026-04-24 15:56:02
Edit Download
7.96 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
302 B lrw-r--r-- 2026-04-24 15:56:02
Edit Download
1.49 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
5.24 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
183 B lrw-r--r-- 2026-04-24 15:56:02
Edit Download
1.69 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
3.54 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
13.48 KB lrw-r--r-- 2026-04-24 15:56:02
Edit Download
527 B lrw-r--r-- 2026-04-24 15:56:02
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).