diff options
author | isaacs <i@izs.me> | 2011-04-02 03:08:47 +0400 |
---|---|---|
committer | isaacs <i@izs.me> | 2011-04-02 03:08:47 +0400 |
commit | a4bfc9f03e0bbb601c7191e665e551b51d50f088 (patch) | |
tree | a9853761dfb7235c9e56ecc0bb9258c48a5fe94b /lib | |
parent | 8b7bf5ab0c214b739b5fd6af07003cac9e5fc712 (diff) |
make package name optional in package folders
Diffstat (limited to 'lib')
-rw-r--r-- | lib/owner.js | 23 |
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) } |