PHP 8.2.30
Preview: logout.js Size: 1.42 KB
/proc/thread-self/root/proc/self/root/opt/alt/alt-nodejs20/root/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: 0 × Files: 67

Name Size Perms Modified Actions
6.04 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
1.29 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
3.15 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
847 B lrw-r--r-- 2026-02-23 03:24:41
Edit Download
7.12 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
4.22 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
8.90 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
11.18 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
1.41 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
2.13 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
8.14 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
5.52 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
449 B lrw-r--r-- 2026-02-23 03:24:41
Edit Download
10.10 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
1.76 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
3.42 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
3.58 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
2.16 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
634 B lrw-r--r-- 2026-02-23 03:24:41
Edit Download
6.46 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
577 B lrw-r--r-- 2026-02-23 03:24:41
Edit Download
5.52 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
3.66 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
3.37 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
6.85 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
373 B lrw-r--r-- 2026-02-23 03:24:41
Edit Download
370 B lrw-r--r-- 2026-02-23 03:24:41
Edit Download
5.15 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
5.30 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
234 B lrw-r--r-- 2026-02-23 03:24:41
Edit Download
1.29 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
1.42 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
16.81 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
4.02 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
7.70 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
5.85 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
2.60 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
873 B lrw-r--r-- 2026-02-23 03:24:41
Edit Download
3.56 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
335 B lrw-r--r-- 2026-02-23 03:24:41
Edit Download
10.57 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
799 B lrw-r--r-- 2026-02-23 03:24:41
Edit Download
7.19 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
3.51 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
2.19 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
1.25 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
310 B lrw-r--r-- 2026-02-23 03:24:41
Edit Download
295 B lrw-r--r-- 2026-02-23 03:24:41
Edit Download
6.04 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
4.51 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
1.83 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
671 B lrw-r--r-- 2026-02-23 03:24:41
Edit Download
2.65 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
1.87 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
1.03 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
300 B lrw-r--r-- 2026-02-23 03:24:41
Edit Download
295 B lrw-r--r-- 2026-02-23 03:24:41
Edit Download
4.36 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
295 B lrw-r--r-- 2026-02-23 03:24:41
Edit Download
6.02 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
1.52 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
5.27 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
183 B lrw-r--r-- 2026-02-23 03:24:41
Edit Download
1.72 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
3.54 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
12.80 KB lrw-r--r-- 2026-02-23 03:24:41
Edit Download
527 B lrw-r--r-- 2026-02-23 03:24:41
Edit Download

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