]> gerrit.simantics Code Review - simantics/district.git/blobdiff - 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
diff --git a/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/lib/logout.js b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/lib/logout.js
new file mode 100644 (file)
index 0000000..64635be
--- /dev/null
@@ -0,0 +1,40 @@
+module.exports = logout
+
+var dezalgo = require("dezalgo")
+var log = require("npmlog")
+
+var npm = require("./npm.js")
+var mapToRegistry = require("./utils/map-to-registry.js")
+
+logout.usage = "npm logout [--registry] [--scope]"
+
+function logout (args, cb) {
+  npm.spinner.start()
+  cb = dezalgo(cb)
+
+  mapToRegistry("/", npm.config, function (err, uri, auth, normalized) {
+    if (err) return cb(err)
+
+    if (auth.token) {
+      log.verbose("logout", "clearing session token for", normalized)
+      npm.registry.logout(normalized, { auth: auth }, function (err) {
+        if (err) return cb(err)
+
+        npm.config.clearCredentialsByURI(normalized)
+        npm.spinner.stop()
+        npm.config.save("user", cb)
+      })
+    }
+    else if (auth.username || auth.password) {
+      log.verbose("logout", "clearing user credentials for", normalized)
+      npm.config.clearCredentialsByURI(normalized)
+      npm.spinner.stop()
+      npm.config.save("user", cb)
+    }
+    else {
+      cb(new Error(
+        "Not logged in to", normalized + ",", "so can't log out."
+      ))
+    }
+  })
+}