]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/lib/logout.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / lib / logout.js
1 module.exports = logout
2
3 var dezalgo = require("dezalgo")
4 var log = require("npmlog")
5
6 var npm = require("./npm.js")
7 var mapToRegistry = require("./utils/map-to-registry.js")
8
9 logout.usage = "npm logout [--registry] [--scope]"
10
11 function logout (args, cb) {
12   npm.spinner.start()
13   cb = dezalgo(cb)
14
15   mapToRegistry("/", npm.config, function (err, uri, auth, normalized) {
16     if (err) return cb(err)
17
18     if (auth.token) {
19       log.verbose("logout", "clearing session token for", normalized)
20       npm.registry.logout(normalized, { auth: auth }, function (err) {
21         if (err) return cb(err)
22
23         npm.config.clearCredentialsByURI(normalized)
24         npm.spinner.stop()
25         npm.config.save("user", cb)
26       })
27     }
28     else if (auth.username || auth.password) {
29       log.verbose("logout", "clearing user credentials for", normalized)
30       npm.config.clearCredentialsByURI(normalized)
31       npm.spinner.stop()
32       npm.config.save("user", cb)
33     }
34     else {
35       cb(new Error(
36         "Not logged in to", normalized + ",", "so can't log out."
37       ))
38     }
39   })
40 }