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
diff options
context:
space:
mode:
authorisaacs <i@izs.me>2011-04-02 03:08:47 +0400
committerisaacs <i@izs.me>2011-04-02 03:08:47 +0400
commita4bfc9f03e0bbb601c7191e665e551b51d50f088 (patch)
treea9853761dfb7235c9e56ecc0bb9258c48a5fe94b /lib/owner.js
parent8b7bf5ab0c214b739b5fd6af07003cac9e5fc712 (diff)
make package name optional in package folders
Diffstat (limited to 'lib/owner.js')
-rw-r--r--lib/owner.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/owner.js b/lib/owner.js
index 34709cf4e..38215b378 100644
--- a/lib/owner.js
+++ b/lib/owner.js
@@ -95,6 +95,12 @@ function ls (pkg, cb) {
}
function add (user, pkg, cb) {
+ if (!pkg) readLocalPkg(function (er, pkg) {
+ if (er) return cb(er)
+ if (!pkg) return cb(new Error(owner.usage))
+ add(user, pkg, cb)
+ })
+
log.verbose(user+" to "+pkg, "owner add")
mutate(pkg, user, function (u, owners) {
if (!owners) owners = []
@@ -111,7 +117,14 @@ function add (user, pkg, cb) {
return owners
}, cb)
}
+
function rm (user, pkg, cb) {
+ if (!pkg) readLocalPkg(function (er, pkg) {
+ if (er) return cb(er)
+ if (!pkg) return cb(new Error(owner.usage))
+ rm(user, pkg, cb)
+ })
+
log.verbose(user+" from "+pkg, "owner rm")
mutate(pkg, user, function (u, owners) {
var found = false
@@ -129,6 +142,7 @@ function rm (user, pkg, cb) {
return m
}, cb)
}
+
function mutate (pkg, user, mutation, cb) {
get("/-/user/org.couchdb.user:"+user, function (er, u) {
if (er) return log.er(cb, "Error getting user data for "+user)(er)
@@ -153,6 +167,15 @@ function mutate (pkg, user, mutation, cb) {
})
}
+function readLocalPkg (cb) {
+ if (npm.config.get("global")) return cb()
+ var path = require("path")
+ , readJson = require("./utils/read-json")
+ readJson(path.resolve(npm.prefix, "package.json"), function (er, d) {
+ return cb(er, d && d.name)
+ })
+}
+
function unknown (action, cb) {
cb("Usage: \n"+owner.usage)
}