You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cmda.apache.org by xi...@apache.org on 2015/10/17 01:11:43 UTC
[09/51] [partial] incubator-cmda git commit: Update ApacheCMDA_1.0
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/ls.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/ls.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/ls.js
new file mode 100644
index 0000000..194aae6
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/ls.js
@@ -0,0 +1,356 @@
+
+// show the installed versions of packages
+//
+// --parseable creates output like this:
+// <fu...@ver>:<realpath>:<flags>
+// Flags are a :-separated list of zero or more indicators
+
+module.exports = exports = ls
+
+var npm = require("./npm.js")
+ , readInstalled = require("read-installed")
+ , log = require("npmlog")
+ , path = require("path")
+ , archy = require("archy")
+ , semver = require("semver")
+ , url = require("url")
+ , isGitUrl = require("./utils/is-git-url.js")
+
+ls.usage = "npm ls"
+
+ls.completion = require("./utils/completion/installed-deep.js")
+
+function ls (args, silent, cb) {
+ if (typeof cb !== "function") cb = silent, silent = false
+
+ var dir = path.resolve(npm.dir, "..")
+
+ // npm ls 'foo@~1.3' bar 'baz@<2'
+ if (!args) args = []
+ else args = args.map(function (a) {
+ var nv = a.split("@")
+ , name = nv.shift()
+ , ver = semver.validRange(nv.join("@")) || ""
+
+ return [ name, ver ]
+ })
+
+ var depth = npm.config.get("depth")
+ readInstalled(dir, depth, log.warn, function (er, data) {
+ var bfs = bfsify(data, args)
+ , lite = getLite(bfs)
+
+ if (er || silent) return cb(er, data, lite)
+
+ var long = npm.config.get("long")
+ , json = npm.config.get("json")
+ , out
+ if (json) {
+ var seen = []
+ var d = long ? bfs : lite
+ // the raw data can be circular
+ out = JSON.stringify(d, function (k, o) {
+ if (typeof o === "object") {
+ if (-1 !== seen.indexOf(o)) return "[Circular]"
+ seen.push(o)
+ }
+ return o
+ }, 2)
+ } else if (npm.config.get("parseable")) {
+ out = makeParseable(bfs, long, dir)
+ } else if (data) {
+ out = makeArchy(bfs, long, dir)
+ }
+ console.log(out)
+
+ if (args.length && !data._found) process.exitCode = 1
+
+ // if any errors were found, then complain and exit status 1
+ if (lite.problems && lite.problems.length) {
+ er = lite.problems.join('\n')
+ }
+ cb(er, data, lite)
+ })
+}
+
+// only include
+function filter (data, args) {
+
+}
+
+function alphasort (a, b) {
+ a = a.toLowerCase()
+ b = b.toLowerCase()
+ return a > b ? 1
+ : a < b ? -1 : 0
+}
+
+function getLite (data, noname) {
+ var lite = {}
+ , maxDepth = npm.config.get("depth")
+
+ if (!noname && data.name) lite.name = data.name
+ if (data.version) lite.version = data.version
+ if (data.extraneous) {
+ lite.extraneous = true
+ lite.problems = lite.problems || []
+ lite.problems.push( "extraneous: "
+ + data.name + "@" + data.version
+ + " " + (data.path || "") )
+ }
+
+ if (data._from)
+ lite.from = data._from
+
+ if (data._resolved)
+ lite.resolved = data._resolved
+
+ if (data.invalid) {
+ lite.invalid = true
+ lite.problems = lite.problems || []
+ lite.problems.push( "invalid: "
+ + data.name + "@" + data.version
+ + " " + (data.path || "") )
+ }
+
+ if (data.peerInvalid) {
+ lite.peerInvalid = true
+ lite.problems = lite.problems || []
+ lite.problems.push( "peer invalid: "
+ + data.name + "@" + data.version
+ + " " + (data.path || "") )
+ }
+
+ if (data.dependencies) {
+ var deps = Object.keys(data.dependencies)
+ if (deps.length) lite.dependencies = deps.map(function (d) {
+ var dep = data.dependencies[d]
+ if (typeof dep === "string") {
+ lite.problems = lite.problems || []
+ var p
+ if (data.depth >= maxDepth) {
+ p = "max depth reached: "
+ } else {
+ p = "missing: "
+ }
+ p += d + "@" + dep
+ + ", required by "
+ + data.name + "@" + data.version
+ lite.problems.push(p)
+ return [d, { required: dep, missing: true }]
+ }
+ return [d, getLite(dep, true)]
+ }).reduce(function (deps, d) {
+ if (d[1].problems) {
+ lite.problems = lite.problems || []
+ lite.problems.push.apply(lite.problems, d[1].problems)
+ }
+ deps[d[0]] = d[1]
+ return deps
+ }, {})
+ }
+ return lite
+}
+
+function bfsify (root, args, current, queue, seen) {
+ // walk over the data, and turn it from this:
+ // +-- a
+ // | `-- b
+ // | `-- a (truncated)
+ // `--b (truncated)
+ // into this:
+ // +-- a
+ // `-- b
+ // which looks nicer
+ args = args || []
+ current = current || root
+ queue = queue || []
+ seen = seen || [root]
+ var deps = current.dependencies = current.dependencies || {}
+ Object.keys(deps).forEach(function (d) {
+ var dep = deps[d]
+ if (typeof dep !== "object") return
+ if (seen.indexOf(dep) !== -1) {
+ if (npm.config.get("parseable") || !npm.config.get("long")) {
+ delete deps[d]
+ return
+ } else {
+ dep = deps[d] = Object.create(dep)
+ dep.dependencies = {}
+ }
+ }
+ queue.push(dep)
+ seen.push(dep)
+ })
+
+ if (!queue.length) {
+ // if there were args, then only show the paths to found nodes.
+ return filterFound(root, args)
+ }
+ return bfsify(root, args, queue.shift(), queue, seen)
+}
+
+function filterFound (root, args) {
+ if (!args.length) return root
+ var deps = root.dependencies
+ if (deps) Object.keys(deps).forEach(function (d) {
+ var dep = filterFound(deps[d], args)
+
+ // see if this one itself matches
+ var found = false
+ for (var i = 0; !found && i < args.length; i ++) {
+ if (d === args[i][0]) {
+ found = semver.satisfies(dep.version, args[i][1], true)
+ }
+ }
+ // included explicitly
+ if (found) dep._found = true
+ // included because a child was included
+ if (dep._found && !root._found) root._found = 1
+ // not included
+ if (!dep._found) delete deps[d]
+ })
+ if (!root._found) root._found = false
+ return root
+}
+
+function makeArchy (data, long, dir) {
+ var out = makeArchy_(data, long, dir, 0)
+ return archy(out, "", { unicode: npm.config.get("unicode") })
+}
+
+function makeArchy_ (data, long, dir, depth, parent, d) {
+ var color = npm.color
+ if (typeof data === "string") {
+ if (depth < npm.config.get("depth")) {
+ // just missing
+ var p = parent.link || parent.path
+ var unmet = "UNMET DEPENDENCY"
+ if (color) {
+ unmet = "\033[31;40m" + unmet + "\033[0m"
+ }
+ data = unmet + " " + d + " " + data
+ } else {
+ data = d+"@"+ data
+ }
+ return data
+ }
+
+ var out = {}
+ // the top level is a bit special.
+ out.label = data._id || ""
+ if (data._found === true && data._id) {
+ var pre = color ? "\033[33;40m" : ""
+ , post = color ? "\033[m" : ""
+ out.label = pre + out.label.trim() + post + " "
+ }
+ if (data.link) out.label += " -> " + data.link
+
+ if (data.invalid) {
+ if (data.realName !== data.name) out.label += " ("+data.realName+")"
+ out.label += " " + (color ? "\033[31;40m" : "")
+ + "invalid"
+ + (color ? "\033[0m" : "")
+ }
+
+ if (data.peerInvalid) {
+ out.label += " " + (color ? "\033[31;40m" : "")
+ + "peer invalid"
+ + (color ? "\033[0m" : "")
+ }
+
+ if (data.extraneous && data.path !== dir) {
+ out.label += " " + (color ? "\033[32;40m" : "")
+ + "extraneous"
+ + (color ? "\033[0m" : "")
+ }
+
+ // add giturl to name@version
+ if (data._resolved) {
+ var p = url.parse(data._resolved)
+ if (isGitUrl(p))
+ out.label += " (" + data._resolved + ")"
+ }
+
+ if (long) {
+ if (dir === data.path) out.label += "\n" + dir
+ out.label += "\n" + getExtras(data, dir)
+ } else if (dir === data.path) {
+ if (out.label) out.label += " "
+ out.label += dir
+ }
+
+ // now all the children.
+ out.nodes = Object.keys(data.dependencies || {})
+ .sort(alphasort).map(function (d) {
+ return makeArchy_(data.dependencies[d], long, dir, depth + 1, data, d)
+ })
+
+ if (out.nodes.length === 0 && data.path === dir) {
+ out.nodes = ["(empty)"]
+ }
+
+ return out
+}
+
+function getExtras (data, dir) {
+ var extras = []
+
+ if (data.description) extras.push(data.description)
+ if (data.repository) extras.push(data.repository.url)
+ if (data.homepage) extras.push(data.homepage)
+ if (data._from) {
+ var from = data._from
+ if (from.indexOf(data.name + "@") === 0) {
+ from = from.substr(data.name.length + 1)
+ }
+ var u = url.parse(from)
+ if (u.protocol) extras.push(from)
+ }
+ return extras.join("\n")
+}
+
+
+function makeParseable (data, long, dir, depth, parent, d) {
+ depth = depth || 0
+
+ return [ makeParseable_(data, long, dir, depth, parent, d) ]
+ .concat(Object.keys(data.dependencies || {})
+ .sort(alphasort).map(function (d) {
+ return makeParseable(data.dependencies[d], long, dir, depth + 1, data, d)
+ }))
+ .filter(function (x) { return x })
+ .join("\n")
+}
+
+function makeParseable_ (data, long, dir, depth, parent, d) {
+ if (data.hasOwnProperty("_found") && data._found !== true) return ""
+
+ if (typeof data === "string") {
+ if (data.depth < npm.config.get("depth")) {
+ var p = parent.link || parent.path
+ data = npm.config.get("long")
+ ? path.resolve(parent.path, "node_modules", d)
+ + ":"+d+"@"+JSON.stringify(data)+":INVALID:MISSING"
+ : ""
+ } else {
+ data = path.resolve(data.path || "", "node_modules", d || "")
+ + (npm.config.get("long")
+ ? ":" + d + "@" + JSON.stringify(data)
+ + ":" // no realpath resolved
+ + ":MAXDEPTH"
+ : "")
+ }
+
+ return data
+ }
+
+ if (!npm.config.get("long")) return data.path
+
+ return data.path
+ + ":" + (data._id || "")
+ + ":" + (data.realPath !== data.path ? data.realPath : "")
+ + (data.extraneous ? ":EXTRANEOUS" : "")
+ + (data.invalid ? ":INVALID" : "")
+ + (data.peerInvalid ? ":PEERINVALID" : "")
+}
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/npm.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/npm.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/npm.js
new file mode 100644
index 0000000..858a5e8
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/npm.js
@@ -0,0 +1,520 @@
+;(function(){
+// windows: running "npm blah" in this folder will invoke WSH, not node.
+if (typeof WScript !== "undefined") {
+ WScript.echo("npm does not work when run\n"
+ +"with the Windows Scripting Host\n\n"
+ +"'cd' to a different directory,\n"
+ +"or type 'npm.cmd <args>',\n"
+ +"or type 'node npm <args>'.")
+ WScript.quit(1)
+ return
+}
+
+
+// monkey-patch support for 0.6 child processes
+require('child-process-close')
+
+var EventEmitter = require("events").EventEmitter
+ , npm = module.exports = new EventEmitter
+ , config = require("./config.js")
+ , npmconf = require("npmconf")
+ , log = require("npmlog")
+ , fs = require("graceful-fs")
+ , path = require("path")
+ , abbrev = require("abbrev")
+ , which = require("which")
+ , semver = require("semver")
+ , findPrefix = require("./utils/find-prefix.js")
+ , getUid = require("uid-number")
+ , mkdirp = require("mkdirp")
+ , slide = require("slide")
+ , chain = slide.chain
+ , RegClient = require("npm-registry-client")
+
+npm.config = {loaded: false}
+
+// /usr/local is often a read-only fs, which is not
+// well handled by node or mkdirp. Just double-check
+// in the case of errors when making the prefix dirs.
+function mkdir (p, cb) {
+ mkdirp(p, function (er, made) {
+ // it could be that we couldn't create it, because it
+ // already exists, and is on a read-only fs.
+ if (er) {
+ return fs.stat(p, function (er2, st) {
+ if (er2 || !st.isDirectory()) return cb(er)
+ return cb(null, made)
+ })
+ }
+ return cb(er, made)
+ })
+}
+
+npm.commands = {}
+
+try {
+ var pv = process.version.replace(/^v/, '')
+ // startup, ok to do this synchronously
+ var j = JSON.parse(fs.readFileSync(
+ path.join(__dirname, "../package.json"))+"")
+ npm.version = j.version
+ npm.nodeVersionRequired = j.engines.node
+ if (!semver.satisfies(pv, j.engines.node)) {
+ log.warn("unsupported version", [""
+ ,"npm requires node version: "+j.engines.node
+ ,"And you have: "+pv
+ ,"which is not satisfactory."
+ ,""
+ ,"Bad things will likely happen. You have been warned."
+ ,""].join("\n"))
+ }
+} catch (ex) {
+ try {
+ log.info("error reading version", ex)
+ } catch (er) {}
+ npm.version = ex
+}
+
+var commandCache = {}
+ // short names for common things
+ , aliases = { "rm" : "uninstall"
+ , "r" : "uninstall"
+ , "un" : "uninstall"
+ , "unlink" : "uninstall"
+ , "remove" : "uninstall"
+ , "rb" : "rebuild"
+ , "list" : "ls"
+ , "la" : "ls"
+ , "ll" : "ls"
+ , "ln" : "link"
+ , "i" : "install"
+ , "isntall" : "install"
+ , "up" : "update"
+ , "c" : "config"
+ , "info" : "view"
+ , "show" : "view"
+ , "find" : "search"
+ , "s" : "search"
+ , "se" : "search"
+ , "author" : "owner"
+ , "home" : "docs"
+ , "issues": "bugs"
+ , "unstar": "star" // same function
+ , "apihelp" : "help"
+ , "login": "adduser"
+ , "add-user": "adduser"
+ , "tst": "test"
+ , "find-dupes": "dedupe"
+ , "ddp": "dedupe"
+ , "v": "view"
+ }
+
+ , aliasNames = Object.keys(aliases)
+ // these are filenames in .
+ , cmdList = [ "install"
+ , "uninstall"
+ , "cache"
+ , "config"
+ , "set"
+ , "get"
+ , "update"
+ , "outdated"
+ , "prune"
+ , "submodule"
+ , "pack"
+ , "dedupe"
+
+ , "rebuild"
+ , "link"
+
+ , "publish"
+ , "star"
+ , "stars"
+ , "tag"
+ , "adduser"
+ , "unpublish"
+ , "owner"
+ , "deprecate"
+ , "shrinkwrap"
+
+ , "help"
+ , "help-search"
+ , "ls"
+ , "search"
+ , "view"
+ , "init"
+ , "version"
+ , "edit"
+ , "explore"
+ , "docs"
+ , "repo"
+ , "bugs"
+ , "faq"
+ , "root"
+ , "prefix"
+ , "bin"
+ , "whoami"
+
+ , "test"
+ , "stop"
+ , "start"
+ , "restart"
+ , "run-script"
+ , "completion"
+ ]
+ , plumbing = [ "build"
+ , "unbuild"
+ , "xmas"
+ , "substack"
+ , "visnup"
+ ]
+ , fullList = npm.fullList = cmdList.concat(aliasNames).filter(function (c) {
+ return plumbing.indexOf(c) === -1
+ })
+ , abbrevs = abbrev(fullList)
+
+Object.keys(abbrevs).concat(plumbing).forEach(function addCommand (c) {
+ Object.defineProperty(npm.commands, c, { get : function () {
+ if (!loaded) throw new Error(
+ "Call npm.load(config, cb) before using this command.\n"+
+ "See the README.md or cli.js for example usage.")
+ var a = npm.deref(c)
+ if (c === "la" || c === "ll") {
+ npm.config.set("long", true)
+ }
+ npm.command = c
+ if (commandCache[a]) return commandCache[a]
+ var cmd = require(__dirname+"/"+a+".js")
+ commandCache[a] = function () {
+ var args = Array.prototype.slice.call(arguments, 0)
+ if (typeof args[args.length - 1] !== "function") {
+ args.push(defaultCb)
+ }
+ if (args.length === 1) args.unshift([])
+ cmd.apply(npm, args)
+ }
+ Object.keys(cmd).forEach(function (k) {
+ commandCache[a][k] = cmd[k]
+ })
+ return commandCache[a]
+ }, enumerable: fullList.indexOf(c) !== -1 })
+
+ // make css-case commands callable via camelCase as well
+ if (c.match(/\-([a-z])/)) {
+ addCommand(c.replace(/\-([a-z])/g, function (a, b) {
+ return b.toUpperCase()
+ }))
+ }
+})
+
+function defaultCb (er, data) {
+ if (er) console.error(er.stack || er.message)
+ else console.log(data)
+}
+
+npm.deref = function (c) {
+ if (!c) return ""
+ if (c.match(/[A-Z]/)) c = c.replace(/([A-Z])/g, function (m) {
+ return "-" + m.toLowerCase()
+ })
+ if (plumbing.indexOf(c) !== -1) return c
+ var a = abbrevs[c]
+ if (aliases[a]) a = aliases[a]
+ return a
+}
+
+var loaded = false
+ , loading = false
+ , loadErr = null
+ , loadListeners = []
+
+function loadCb (er) {
+ loadListeners.forEach(function (cb) {
+ process.nextTick(cb.bind(npm, er, npm))
+ })
+ loadListeners.length = 0
+}
+
+npm.load = function (cli, cb_) {
+ if (!cb_ && typeof cli === "function") cb_ = cli , cli = {}
+ if (!cb_) cb_ = function () {}
+ if (!cli) cli = {}
+ loadListeners.push(cb_)
+ if (loaded || loadErr) return cb(loadErr)
+ if (loading) return
+ loading = true
+ var onload = true
+
+ function cb (er) {
+ if (loadErr) return
+ if (npm.config.get("force")) {
+ log.warn("using --force", "I sure hope you know what you are doing.")
+ }
+ npm.config.loaded = true
+ loaded = true
+ loadCb(loadErr = er)
+ if (onload = onload && npm.config.get("onload-script")) {
+ require(onload)
+ onload = false
+ }
+ }
+
+ log.pause()
+
+ load(npm, cli, cb)
+}
+
+function load (npm, cli, cb) {
+ which(process.argv[0], function (er, node) {
+ if (!er && node.toUpperCase() !== process.execPath.toUpperCase()) {
+ log.verbose("node symlink", node)
+ process.execPath = node
+ process.installPrefix = path.resolve(node, "..", "..")
+ }
+
+ // look up configs
+ //console.error("about to look up configs")
+
+ var builtin = path.resolve(__dirname, "..", "npmrc")
+ npmconf.load(cli, builtin, function (er, config) {
+ if (er === config) er = null
+
+ npm.config = config
+
+ var color = config.get("color")
+
+ log.level = config.get("loglevel")
+ log.heading = config.get("heading") || "npm"
+ log.stream = config.get("logstream")
+ switch (color) {
+ case "always": log.enableColor(); break
+ case false: log.disableColor(); break
+ }
+ log.resume()
+
+ if (er) return cb(er)
+
+ // see if we need to color normal output
+ switch (color) {
+ case "always":
+ npm.color = true
+ break
+ case false:
+ npm.color = false
+ break
+ default:
+ var tty = require("tty")
+ if (process.stdout.isTTY) npm.color = true
+ else if (!tty.isatty) npm.color = true
+ else if (tty.isatty(1)) npm.color = true
+ else npm.color = false
+ break
+ }
+
+ // at this point the configs are all set.
+ // go ahead and spin up the registry client.
+ var token = config.get("_token")
+ if (typeof token === "string") {
+ try {
+ token = JSON.parse(token)
+ config.set("_token", token, "user")
+ config.save("user")
+ } catch (e) { token = null }
+ }
+
+ npm.registry = new RegClient(npm.config)
+
+ // save the token cookie in the config file
+ if (npm.registry.couchLogin) {
+ npm.registry.couchLogin.tokenSet = function (tok) {
+ npm.config.set("_token", tok, "user")
+ // ignore save error. best effort.
+ npm.config.save("user")
+ }
+ }
+
+ var umask = npm.config.get("umask")
+ npm.modes = { exec: 0777 & (~umask)
+ , file: 0666 & (~umask)
+ , umask: umask }
+
+ chain([ [ loadPrefix, npm, cli ]
+ , [ setUser, config, config.root ]
+ , [ loadUid, npm ]
+ ], cb)
+ })
+ })
+}
+
+function loadPrefix (npm, config, cb) {
+ // try to guess at a good node_modules location.
+ var p
+ , gp
+ if (!Object.prototype.hasOwnProperty.call(config, "prefix")) {
+ p = process.cwd()
+ } else {
+ p = npm.config.get("prefix")
+ }
+ gp = npm.config.get("prefix")
+
+ findPrefix(p, function (er, p) {
+ Object.defineProperty(npm, "localPrefix",
+ { get : function () { return p }
+ , set : function (r) { return p = r }
+ , enumerable : true
+ })
+ // the prefix MUST exist, or else nothing works.
+ if (!npm.config.get("global")) {
+ mkdir(p, next)
+ } else {
+ next(er)
+ }
+ })
+
+ gp = path.resolve(gp)
+ Object.defineProperty(npm, "globalPrefix",
+ { get : function () { return gp }
+ , set : function (r) { return gp = r }
+ , enumerable : true
+ })
+ // the prefix MUST exist, or else nothing works.
+ mkdir(gp, next)
+
+
+ var i = 2
+ , errState = null
+ function next (er) {
+ if (errState) return
+ if (er) return cb(errState = er)
+ if (--i === 0) return cb()
+ }
+}
+
+
+function loadUid (npm, cb) {
+ // if we're not in unsafe-perm mode, then figure out who
+ // to run stuff as. Do this first, to support `npm update npm -g`
+ if (!npm.config.get("unsafe-perm")) {
+ getUid(npm.config.get("user"), npm.config.get("group"), cb)
+ } else {
+ process.nextTick(cb)
+ }
+}
+
+function setUser (cl, dc, cb) {
+ // If global, leave it as-is.
+ // If not global, then set the user to the owner of the prefix folder.
+ // Just set the default, so it can be overridden.
+ if (cl.get("global")) return cb()
+ if (process.env.SUDO_UID) {
+ dc.user = +(process.env.SUDO_UID)
+ return cb()
+ }
+
+ var prefix = path.resolve(cl.get("prefix"))
+ mkdir(prefix, function (er) {
+ if (er) {
+ log.error("could not create prefix dir", prefix)
+ return cb(er)
+ }
+ fs.stat(prefix, function (er, st) {
+ dc.user = st && st.uid
+ return cb(er)
+ })
+ })
+}
+
+
+Object.defineProperty(npm, "prefix",
+ { get : function () {
+ return npm.config.get("global") ? npm.globalPrefix : npm.localPrefix
+ }
+ , set : function (r) {
+ var k = npm.config.get("global") ? "globalPrefix" : "localPrefix"
+ return npm[k] = r
+ }
+ , enumerable : true
+ })
+
+Object.defineProperty(npm, "bin",
+ { get : function () {
+ if (npm.config.get("global")) return npm.globalBin
+ return path.resolve(npm.root, ".bin")
+ }
+ , enumerable : true
+ })
+
+Object.defineProperty(npm, "globalBin",
+ { get : function () {
+ var b = npm.globalPrefix
+ if (process.platform !== "win32") b = path.resolve(b, "bin")
+ return b
+ }
+ })
+
+Object.defineProperty(npm, "dir",
+ { get : function () {
+ if (npm.config.get("global")) return npm.globalDir
+ return path.resolve(npm.prefix, "node_modules")
+ }
+ , enumerable : true
+ })
+
+Object.defineProperty(npm, "globalDir",
+ { get : function () {
+ return (process.platform !== "win32")
+ ? path.resolve(npm.globalPrefix, "lib", "node_modules")
+ : path.resolve(npm.globalPrefix, "node_modules")
+ }
+ , enumerable : true
+ })
+
+Object.defineProperty(npm, "root",
+ { get : function () { return npm.dir } })
+
+Object.defineProperty(npm, "cache",
+ { get : function () { return npm.config.get("cache") }
+ , set : function (r) { return npm.config.set("cache", r) }
+ , enumerable : true
+ })
+
+var tmpFolder
+var crypto = require("crypto")
+var rand = crypto.randomBytes(6)
+ .toString("base64")
+ .replace(/\//g, '_')
+ .replace(/\+/, '-')
+Object.defineProperty(npm, "tmp",
+ { get : function () {
+ if (!tmpFolder) tmpFolder = "npm-" + process.pid + "-" + rand
+ return path.resolve(npm.config.get("tmp"), tmpFolder)
+ }
+ , enumerable : true
+ })
+
+// the better to repl you with
+Object.getOwnPropertyNames(npm.commands).forEach(function (n) {
+ if (npm.hasOwnProperty(n) || n === "config") return
+
+ Object.defineProperty(npm, n, { get: function () {
+ return function () {
+ var args = Array.prototype.slice.call(arguments, 0)
+ , cb = defaultCb
+
+ if (args.length === 1 && Array.isArray(args[0])) {
+ args = args[0]
+ }
+
+ if (typeof args[args.length - 1] === "function") {
+ cb = args.pop()
+ }
+
+ npm.commands[n](args, cb)
+ }
+ }, enumerable: false, configurable: true })
+})
+
+if (require.main === module) {
+ require("../bin/npm-cli.js")
+}
+})()
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/outdated.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/outdated.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/outdated.js
new file mode 100644
index 0000000..b94b0c6
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/outdated.js
@@ -0,0 +1,244 @@
+/*
+
+npm outdated [pkg]
+
+Does the following:
+
+1. check for a new version of pkg
+
+If no packages are specified, then run for all installed
+packages.
+
+*/
+
+module.exports = outdated
+
+outdated.usage = "npm outdated [<pkg> [<pkg> ...]]"
+
+outdated.completion = require("./utils/completion/installed-deep.js")
+
+
+var path = require("path")
+ , fs = require("graceful-fs")
+ , readJson = require("read-package-json")
+ , cache = require("./cache.js")
+ , asyncMap = require("slide").asyncMap
+ , npm = require("./npm.js")
+ , url = require("url")
+ , isGitUrl = require("./utils/is-git-url.js")
+ , color = require("ansicolors")
+ , styles = require("ansistyles")
+ , table = require("text-table")
+
+function outdated (args, silent, cb) {
+ if (typeof cb !== "function") cb = silent, silent = false
+ var dir = path.resolve(npm.dir, "..")
+ outdated_(args, dir, {}, 0, function (er, list) {
+ if (er || silent) return cb(er, list)
+ if (npm.config.get("json")) {
+ console.log(makeJSON(list))
+ } else {
+ var outList = list.map(makePretty)
+ var outTable = [[ styles.underline("Package")
+ , styles.underline("Current")
+ , styles.underline("Wanted")
+ , styles.underline("Latest")
+ , styles.underline("Location")
+ ]].concat(outList)
+ var tableOpts = { align: ["l", "r", "r", "r", "l"]
+ , stringLength: function(s) { return ansiTrim(s).length }
+ }
+ console.log(table(outTable, tableOpts))
+ }
+ cb(null, list)
+ })
+}
+
+// [[ dir, dep, has, want ]]
+function makePretty (p) {
+ var parseable = npm.config.get("parseable")
+ , long = npm.config.get("long")
+ , dep = p[1]
+ , dir = path.resolve(p[0], "node_modules", dep)
+ , has = p[2]
+ , want = p[3]
+ , latest = p[4]
+
+ // XXX add --json support
+ // Should match (more or less) the output of ls --json
+
+ if (parseable) {
+ var str = dir
+ if (npm.config.get("long")) {
+ str += ":" + dep + "@" + want
+ + ":" + (has ? (dep + "@" + has) : "MISSING")
+ }
+ return str
+ }
+
+ if (!npm.config.get("global")) {
+ dir = path.relative(process.cwd(), dir)
+ }
+ return [ has === want ? color.yellow(dep) : color.red(dep)
+ , (has || "MISSING")
+ , color.green(want)
+ , color.magenta(latest)
+ , color.brightBlack(dirToPrettyLocation(dir))
+ ]
+}
+
+function ansiTrim (str) {
+ var r = new RegExp("\x1b(?:\\[(?:\\d+[ABCDEFGJKSTm]|\\d+;\\d+[Hfm]|" +
+ "\\d+;\\d+;\\d+m|6n|s|u|\\?25[lh])|\\w)", "g");
+ return str.replace(r, "")
+}
+
+function dirToPrettyLocation (dir) {
+ return dir.replace(/^node_modules[/\\]/, "")
+ .replace(/[[/\\]node_modules[/\\]/g, " > ")
+}
+
+function makeJSON (list) {
+ var out = {}
+ list.forEach(function (p) {
+ var dir = path.resolve(p[0], "node_modules", p[1])
+ if (!npm.config.get("global")) {
+ dir = path.relative(process.cwd(), dir)
+ }
+ out[p[1]] = { current: p[2]
+ , wanted: p[3]
+ , latest: p[4]
+ , location: dir
+ }
+ })
+ return JSON.stringify(out, null, 2)
+}
+
+function outdated_ (args, dir, parentHas, depth, cb) {
+ // get the deps from package.json, or {<dir/node_modules/*>:"*"}
+ // asyncMap over deps:
+ // shouldHave = cache.add(dep, req).version
+ // if has === shouldHave then
+ // return outdated(args, dir/node_modules/dep, parentHas + has)
+ // else if dep in args or args is empty
+ // return [dir, dep, has, shouldHave]
+
+ if (depth > npm.config.get("depth")) {
+ return cb(null, [])
+ }
+ var deps = null
+ readJson(path.resolve(dir, "package.json"), function (er, d) {
+ if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er)
+ deps = (er) ? true : (d.dependencies || {})
+ var doUpdate = npm.config.get("dev") ||
+ (!npm.config.get("production") &&
+ !Object.keys(parentHas).length &&
+ !npm.config.get("global"))
+ if (!er && d && doUpdate) {
+ Object.keys(d.devDependencies || {}).forEach(function (k) {
+ if (!(k in parentHas)) {
+ deps[k] = d.devDependencies[k]
+ }
+ })
+ }
+ return next()
+ })
+
+ var has = null
+ fs.readdir(path.resolve(dir, "node_modules"), function (er, pkgs) {
+ if (er) {
+ has = Object.create(parentHas)
+ return next()
+ }
+ pkgs = pkgs.filter(function (p) {
+ return !p.match(/^[\._-]/)
+ })
+ asyncMap(pkgs, function (pkg, cb) {
+ var jsonFile = path.resolve(dir, "node_modules", pkg, "package.json")
+ readJson(jsonFile, function (er, d) {
+ if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er)
+ cb(null, er ? [] : [[d.name, d.version, d._from]])
+ })
+ }, function (er, pvs) {
+ if (er) return cb(er)
+ has = Object.create(parentHas)
+ pvs.forEach(function (pv) {
+ has[pv[0]] = {
+ version: pv[1],
+ from: pv[2]
+ }
+ })
+
+ next()
+ })
+ })
+
+ function next () {
+ if (!has || !deps) return
+ if (deps === true) {
+ deps = Object.keys(has).reduce(function (l, r) {
+ l[r] = "*"
+ return l
+ }, {})
+ }
+
+ // now get what we should have, based on the dep.
+ // if has[dep] !== shouldHave[dep], then cb with the data
+ // otherwise dive into the folder
+ asyncMap(Object.keys(deps), function (dep, cb) {
+ shouldUpdate(args, dir, dep, has, deps[dep], depth, cb)
+ }, cb)
+ }
+}
+
+function shouldUpdate (args, dir, dep, has, req, depth, cb) {
+ // look up the most recent version.
+ // if that's what we already have, or if it's not on the args list,
+ // then dive into it. Otherwise, cb() with the data.
+
+ // { version: , from: }
+ var curr = has[dep]
+
+ function skip () {
+ outdated_( args
+ , path.resolve(dir, "node_modules", dep)
+ , has
+ , depth + 1
+ , cb )
+ }
+
+ function doIt (wanted, latest) {
+ cb(null, [[ dir, dep, curr && curr.version, wanted, latest, req ]])
+ }
+
+ if (args.length && args.indexOf(dep) === -1) {
+ return skip()
+ }
+
+ if (isGitUrl(url.parse(req)))
+ return doIt("git", "git")
+
+ var registry = npm.registry
+ // search for the latest package
+ registry.get(dep + "/latest", function (er, l) {
+ if (er) return cb()
+ // so, we can conceivably update this. find out if we need to.
+ cache.add(dep, req, function (er, d) {
+ // if this fails, then it means we can't update this thing.
+ // it's probably a thing that isn't published.
+ if (er) return skip()
+
+ // check that the url origin hasn't changed (#1727) and that
+ // there is no newer version available
+ var dFromUrl = d._from && url.parse(d._from).protocol
+ var cFromUrl = curr && curr.from && url.parse(curr.from).protocol
+
+ if (!curr || dFromUrl && cFromUrl && d._from !== curr.from
+ || d.version !== curr.version
+ || d.version !== l.version)
+ doIt(d.version, l.version)
+ else
+ skip()
+ })
+ })
+}
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/owner.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/owner.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/owner.js
new file mode 100644
index 0000000..fdf4559
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/owner.js
@@ -0,0 +1,205 @@
+
+module.exports = owner
+
+owner.usage = "npm owner add <username> <pkg>"
+ + "\nnpm owner rm <username> <pkg>"
+ + "\nnpm owner ls <pkg>"
+
+owner.completion = function (opts, cb) {
+ var argv = opts.conf.argv.remain
+ if (argv.length > 4) return cb()
+ if (argv.length <= 2) {
+ var subs = ["add", "rm"]
+ if (opts.partialWord === "l") subs.push("ls")
+ else subs.push("ls", "list")
+ return cb(null, subs)
+ }
+ var un = encodeURIComponent(npm.config.get("username"))
+ switch (argv[2]) {
+ case "ls":
+ if (argv.length > 3) return cb()
+ else return registry.get("/-/short", cb)
+
+ case "rm":
+ if (argv.length > 3) {
+ var theUser = encodeURIComponent(argv[3])
+ , uri = "/-/by-user/"+theUser+"|"+un
+ console.error(uri)
+ return registry.get(uri, function (er, d) {
+ if (er) return cb(er)
+ // return the intersection
+ return cb(null, d[theUser].filter(function (p) {
+ // kludge for server adminery.
+ return un === "isaacs" || d[un].indexOf(p) === -1
+ }))
+ })
+ }
+ // else fallthrough
+ case "add":
+ if (argv.length > 3) {
+ var theUser = encodeURIComponent(argv[3])
+ , uri = "/-/by-user/"+theUser+"|"+un
+ console.error(uri)
+ return registry.get(uri, function (er, d) {
+ console.error(uri, er || d)
+ // return mine that they're not already on.
+ if (er) return cb(er)
+ var mine = d[un] || []
+ , theirs = d[theUser] || []
+ return cb(null, mine.filter(function (p) {
+ return theirs.indexOf(p) === -1
+ }))
+ })
+ }
+ // just list all users who aren't me.
+ return registry.get("/-/users", function (er, list) {
+ if (er) return cb()
+ return cb(null, Object.keys(list).filter(function (n) {
+ return n !== un
+ }))
+ })
+
+ default:
+ return cb()
+ }
+}
+
+var npm = require("./npm.js")
+ , registry = npm.registry
+ , log = require("npmlog")
+ , readJson = require("read-package-json")
+
+function owner (args, cb) {
+ var action = args.shift()
+ switch (action) {
+ case "ls": case "list": return ls(args[0], cb)
+ case "add": return add(args[0], args[1], cb)
+ case "rm": case "remove": return rm(args[0], args[1], cb)
+ default: return unknown(action, cb)
+ }
+}
+
+function ls (pkg, cb) {
+ if (!pkg) return readLocalPkg(function (er, pkg) {
+ if (er) return cb(er)
+ if (!pkg) return cb(owner.usage)
+ ls(pkg, cb)
+ })
+
+ registry.get(pkg, function (er, data) {
+ var msg = ""
+ if (er) {
+ log.error("owner ls", "Couldn't get owner data", pkg)
+ return cb(er)
+ }
+ var owners = data.maintainers
+ if (!owners || !owners.length) msg = "admin party!"
+ else msg = owners.map(function (o) { return o.name +" <"+o.email+">" }).join("\n")
+ console.log(msg)
+ cb(er, owners)
+ })
+}
+
+function add (user, pkg, cb) {
+ if (!user) return cb(owner.usage)
+ if (!pkg) return readLocalPkg(function (er, pkg) {
+ if (er) return cb(er)
+ if (!pkg) return cb(new Error(owner.usage))
+ add(user, pkg, cb)
+ })
+
+ log.verbose("owner add", "%s to %s", user, pkg)
+ mutate(pkg, user, function (u, owners) {
+ if (!owners) owners = []
+ for (var i = 0, l = owners.length; i < l; i ++) {
+ var o = owners[i]
+ if (o.name === u.name) {
+ log.info( "owner add"
+ , "Already a package owner: "+o.name+" <"+o.email+">")
+ return false
+ }
+ }
+ owners.push(u)
+ return owners
+ }, cb)
+}
+
+function rm (user, pkg, cb) {
+ if (!pkg) return readLocalPkg(function (er, pkg) {
+ if (er) return cb(er)
+ if (!pkg) return cb(new Error(owner.usage))
+ rm(user, pkg, cb)
+ })
+
+ log.verbose("owner rm", "%s from %s", user, pkg)
+ mutate(pkg, null, function (u, owners) {
+ var found = false
+ , m = owners.filter(function (o) {
+ var match = (o.name === user)
+ found = found || match
+ return !match
+ })
+ if (!found) {
+ log.info("owner rm", "Not a package owner: "+user)
+ return false
+ }
+ if (!m.length) return new Error(
+ "Cannot remove all owners of a package. Add someone else first.")
+ return m
+ }, cb)
+}
+
+function mutate (pkg, user, mutation, cb) {
+ if (user) {
+ registry.get("/-/user/org.couchdb.user:"+user, mutate_)
+ } else {
+ mutate_(null, null)
+ }
+
+ function mutate_ (er, u) {
+ if (!er && user && (!u || u.error)) er = new Error(
+ "Couldn't get user data for "+user+": "+JSON.stringify(u))
+
+ if (er) {
+ log.error("owner mutate", "Error getting user data for %s", user)
+ return cb(er)
+ }
+
+ if (u) u = { "name" : u.name, "email" : u.email }
+ registry.get(pkg, function (er, data) {
+ if (er) {
+ log.error("owner mutate", "Error getting package data for %s", pkg)
+ return cb(er)
+ }
+ var m = mutation(u, data.maintainers)
+ if (!m) return cb() // handled
+ if (m instanceof Error) return cb(m) // error
+ data = { _id : data._id
+ , _rev : data._rev
+ , maintainers : m
+ }
+ registry.request("PUT"
+ , pkg+"/-rev/"+data._rev, data
+ , function (er, data) {
+ if (!er && data.error) er = new Error(
+ "Failed to update package metadata: "+JSON.stringify(data))
+ if (er) {
+ log.error("owner mutate", "Failed to update package metadata")
+ }
+ cb(er, data)
+ })
+ })
+ }
+}
+
+function readLocalPkg (cb) {
+ if (npm.config.get("global")) return cb()
+ var path = require("path")
+ 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)
+}
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/pack.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/pack.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/pack.js
new file mode 100644
index 0000000..302aa81
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/pack.js
@@ -0,0 +1,65 @@
+// npm pack <pkg>
+// Packs the specified package into a .tgz file, which can then
+// be installed.
+
+module.exports = pack
+
+var npm = require("./npm.js")
+ , install = require("./install.js")
+ , cache = require("./cache.js")
+ , fs = require("graceful-fs")
+ , chain = require("slide").chain
+ , path = require("path")
+ , cwd = process.cwd()
+
+pack.usage = "npm pack <pkg>"
+
+// if it can be installed, it can be packed.
+pack.completion = install.completion
+
+function pack (args, silent, cb) {
+ if (typeof cb !== "function") cb = silent, silent = false
+
+ if (args.length === 0) args = ["."]
+
+ chain(args.map(function (arg) { return function (cb) {
+ pack_(arg, cb)
+ }}), function (er, files) {
+ if (er || silent) return cb(er, files)
+ printFiles(files, cb)
+ })
+}
+
+function printFiles (files, cb) {
+ files = files.map(function (file) {
+ return path.relative(cwd, file)
+ })
+ console.log(files.join("\n"))
+ cb()
+}
+
+// add to cache, then cp to the cwd
+function pack_ (pkg, cb) {
+ cache.add(pkg, function (er, data) {
+ if (er) return cb(er)
+ var fname = path.resolve(data._id.replace(/@/g, "-") + ".tgz")
+ , cached = path.resolve( npm.cache
+ , data.name
+ , data.version
+ , "package.tgz" )
+ , from = fs.createReadStream(cached)
+ , to = fs.createWriteStream(fname)
+ , errState = null
+
+ from.on("error", cb_)
+ to.on("error", cb_)
+ to.on("close", cb_)
+ from.pipe(to)
+
+ function cb_ (er) {
+ if (errState) return
+ if (er) return cb(errState = er)
+ cb(null, fname)
+ }
+ })
+}
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/prefix.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/prefix.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/prefix.js
new file mode 100644
index 0000000..e002ede
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/prefix.js
@@ -0,0 +1,11 @@
+module.exports = prefix
+
+var npm = require("./npm.js")
+
+prefix.usage = "npm prefix\nnpm prefix -g\n(just prints the prefix folder)"
+
+function prefix (args, silent, cb) {
+ if (typeof cb !== "function") cb = silent, silent = false
+ if (!silent) console.log(npm.prefix)
+ process.nextTick(cb.bind(this, null, npm.prefix))
+}
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/prune.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/prune.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/prune.js
new file mode 100644
index 0000000..0e13da1
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/prune.js
@@ -0,0 +1,52 @@
+// prune extraneous packages.
+
+module.exports = prune
+
+prune.usage = "npm prune"
+
+var readInstalled = require("read-installed")
+ , npm = require("./npm.js")
+ , path = require("path")
+ , readJson = require("read-package-json")
+ , log = require("npmlog")
+
+prune.completion = require("./utils/completion/installed-deep.js")
+
+function prune (args, cb) {
+ //check if is a valid package.json file
+ var jsonFile = path.resolve(npm.dir, "..", "package.json" )
+ readJson(jsonFile, log.warn, function (er, data) {
+ if (er) return cb(er)
+ next()
+ })
+
+ function next() {
+ readInstalled(npm.prefix, npm.config.get("depth"), function (er, data) {
+ if (er) return cb(er)
+ prune_(args, data, cb)
+ })
+ }
+}
+
+function prune_ (args, data, cb) {
+ npm.commands.unbuild(prunables(args, data, []), cb)
+}
+
+function prunables (args, data, seen) {
+ var deps = data.dependencies || {}
+ return Object.keys(deps).map(function (d) {
+ if (typeof deps[d] !== "object"
+ || seen.indexOf(deps[d]) !== -1) return null
+ seen.push(deps[d])
+ if (deps[d].extraneous
+ && (args.length === 0 || args.indexOf(d) !== -1)) {
+ var extra = deps[d]
+ delete deps[d]
+ return extra.path
+ }
+ return prunables(args, deps[d], seen)
+ }).filter(function (d) { return d !== null })
+ .reduce(function FLAT (l, r) {
+ return l.concat(Array.isArray(r) ? r.reduce(FLAT,[]) : r)
+ }, [])
+}
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/publish.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/publish.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/publish.js
new file mode 100644
index 0000000..cede9ff
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/publish.js
@@ -0,0 +1,118 @@
+
+module.exports = publish
+
+var npm = require("./npm.js")
+ , log = require("npmlog")
+ , tar = require("./utils/tar.js")
+ , path = require("path")
+ , readJson = require("read-package-json")
+ , fs = require("graceful-fs")
+ , lifecycle = require("./utils/lifecycle.js")
+ , chain = require("slide").chain
+ , Conf = require("npmconf").Conf
+ , RegClient = require("npm-registry-client")
+
+publish.usage = "npm publish <tarball>"
+ + "\nnpm publish <folder>"
+ + "\n\nPublishes '.' if no argument supplied"
+
+publish.completion = function (opts, cb) {
+ // publish can complete to a folder with a package.json
+ // or a tarball, or a tarball url.
+ // for now, not yet implemented.
+ return cb()
+}
+
+function publish (args, isRetry, cb) {
+ if (typeof cb !== "function") cb = isRetry, isRetry = false
+ if (args.length === 0) args = ["."]
+ if (args.length !== 1) return cb(publish.usage)
+
+ log.verbose("publish", args)
+ var arg = args[0]
+ // if it's a local folder, then run the prepublish there, first.
+ readJson(path.resolve(arg, "package.json"), function (er, data) {
+ er = needVersion(er, data)
+ if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er)
+ // error is ok. could be publishing a url or tarball
+ // however, that means that we will not have automatically run
+ // the prepublish script, since that gets run when adding a folder
+ // to the cache.
+ if (er) return cacheAddPublish(arg, false, isRetry, cb)
+ cacheAddPublish(arg, true, isRetry, cb)
+ })
+}
+
+// didPre in this case means that we already ran the prepublish script,
+// and that the "dir" is an actual directory, and not something silly
+// like a tarball or name@version thing.
+// That means that we can run publish/postpublish in the dir, rather than
+// in the cache dir.
+function cacheAddPublish (dir, didPre, isRetry, cb) {
+ npm.commands.cache.add(dir, function (er, data) {
+ if (er) return cb(er)
+ log.silly("publish", data)
+ var cachedir = path.resolve( npm.cache
+ , data.name
+ , data.version
+ , "package" )
+ chain
+ ( [ !didPre && [lifecycle, data, "prepublish", cachedir]
+ , [publish_, dir, data, isRetry, cachedir]
+ , [lifecycle, data, "publish", didPre ? dir : cachedir]
+ , [lifecycle, data, "postpublish", didPre ? dir : cachedir] ]
+ , cb )
+ })
+}
+
+function publish_ (arg, data, isRetry, cachedir, cb) {
+ if (!data) return cb(new Error("no package.json file found"))
+
+ // check for publishConfig hash
+ var registry = npm.registry
+ if (data.publishConfig) {
+ var pubConf = new Conf(npm.config)
+ pubConf.save = npm.config.save.bind(npm.config)
+
+ // don't modify the actual publishConfig object, in case we have
+ // to set a login token or some other data.
+ pubConf.unshift(Object.keys(data.publishConfig).reduce(function (s, k) {
+ s[k] = data.publishConfig[k]
+ return s
+ }, {}))
+ registry = new RegClient(pubConf)
+ }
+
+ data._npmVersion = npm.version
+ data._npmUser = { name: npm.config.get("username")
+ , email: npm.config.get("email") }
+
+ delete data.modules
+ if (data.private) return cb(new Error
+ ("This package has been marked as private\n"
+ +"Remove the 'private' field from the package.json to publish it."))
+
+ var tarball = cachedir + ".tgz"
+ registry.publish(data, tarball, function (er) {
+ if (er && er.code === "EPUBLISHCONFLICT"
+ && npm.config.get("force") && !isRetry) {
+ log.warn("publish", "Forced publish over "+data._id)
+ return npm.commands.unpublish([data._id], function (er) {
+ // ignore errors. Use the force. Reach out with your feelings.
+ // but if it fails again, then report the first error.
+ publish([arg], er || true, cb)
+ })
+ }
+ // report the unpublish error if this was a retry and unpublish failed
+ if (er && isRetry && isRetry !== true) return cb(isRetry)
+ if (er) return cb(er)
+ console.log("+ " + data._id)
+ cb()
+ })
+}
+
+function needVersion(er, data) {
+ return er ? er
+ : (data && !data.version) ? new Error("No version provided")
+ : null
+}
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/rebuild.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/rebuild.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/rebuild.js
new file mode 100644
index 0000000..7cea3ef
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/rebuild.js
@@ -0,0 +1,74 @@
+
+module.exports = rebuild
+
+var readInstalled = require("read-installed")
+ , semver = require("semver")
+ , log = require("npmlog")
+ , path = require("path")
+ , npm = require("./npm.js")
+ , asyncMap = require("slide").asyncMap
+ , fs = require("graceful-fs")
+
+rebuild.usage = "npm rebuild [<name>[@<version>] [name[@<version>] ...]]"
+
+rebuild.completion = require("./utils/completion/installed-deep.js")
+
+function rebuild (args, cb) {
+ readInstalled(npm.prefix, npm.config.get("depth"), function (er, data) {
+ log.info("readInstalled", typeof data)
+ if (er) return cb(er)
+ var set = filter(data, args)
+ , folders = Object.keys(set).filter(function (f) {
+ return f !== npm.prefix
+ })
+ if (!folders.length) return cb()
+ log.silly("rebuild set", folders)
+ cleanBuild(folders, set, cb)
+ })
+}
+
+function cleanBuild (folders, set, cb) {
+ npm.commands.build(folders, function (er) {
+ if (er) return cb(er)
+ console.log(folders.map(function (f) {
+ return set[f] + " " + f
+ }).join("\n"))
+ cb()
+ })
+}
+
+function filter (data, args, set, seen) {
+ if (!set) set = {}
+ if (!seen) seen = {}
+ if (set.hasOwnProperty(data.path)) return set
+ if (seen.hasOwnProperty(data.path)) return set
+ seen[data.path] = true
+ var pass
+ if (!args.length) pass = true // rebuild everything
+ else if (data.name && data._id) {
+ for (var i = 0, l = args.length; i < l; i ++) {
+ var arg = args[i]
+ , nv = arg.split("@")
+ , n = nv.shift()
+ , v = nv.join("@")
+ if (n !== data.name) continue
+ if (!semver.satisfies(data.version, v, true)) continue
+ pass = true
+ break
+ }
+ }
+ if (pass && data._id) {
+ log.verbose("rebuild", "path, id", [data.path, data._id])
+ set[data.path] = data._id
+ }
+ // need to also dive through kids, always.
+ // since this isn't an install these won't get auto-built unless
+ // they're not dependencies.
+ Object.keys(data.dependencies || {}).forEach(function (d) {
+ // return
+ var dep = data.dependencies[d]
+ if (typeof dep === "string") return
+ filter(dep, args, set, seen)
+ })
+ return set
+}
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/repo.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/repo.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/repo.js
new file mode 100644
index 0000000..ed1f7e1
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/repo.js
@@ -0,0 +1,54 @@
+
+module.exports = repo
+
+repo.usage = "npm repo <pkgname>"
+
+repo.completion = function (opts, cb) {
+ if (opts.conf.argv.remain.length > 2) return cb()
+ registry.get("/-/short", 60000, function (er, list) {
+ return cb(null, list || [])
+ })
+}
+
+var npm = require("./npm.js")
+ , registry = npm.registry
+ , log = require("npmlog")
+ , opener = require("opener")
+ , github = require('github-url-from-git')
+ , githubUserRepo = require("github-url-from-username-repo")
+ , path = require("path")
+ , readJson = require("read-package-json")
+ , fs = require("fs")
+
+function repo (args, cb) {
+ var n = args.length && args[0].split("@").shift() || '.'
+ fs.stat(n, function (er, s) {
+ if (er && er.code === "ENOENT") return callRegistry(n, cb)
+ else if (er) return cb(er)
+ if (!s.isDirectory()) return callRegistry(n, cb)
+ readJson(path.resolve(n, "package.json"), function (er, d) {
+ if (er) return cb(er)
+ getUrlAndOpen(d, cb)
+ })
+ })
+}
+
+function getUrlAndOpen (d, cb) {
+ var r = d.repository;
+ if (!r) return cb(new Error('no repository'));
+ // XXX remove this when npm@v1.3.10 from node 0.10 is deprecated
+ // from https://github.com/isaacs/npm-www/issues/418
+ if (githubUserRepo(r.url))
+ r.url = githubUserRepo(r.url)
+ var url = github(r.url)
+ if (!url)
+ return cb(new Error('no repository: could not get url'))
+ opener(url, { command: npm.config.get("browser") }, cb)
+}
+
+function callRegistry (n, cb) {
+ registry.get(n + "/latest", 3600, function (er, d) {
+ if (er) return cb(er)
+ getUrlAndOpen(d, cb)
+ })
+}
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/restart.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/restart.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/restart.js
new file mode 100644
index 0000000..69c4b91
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/restart.js
@@ -0,0 +1 @@
+module.exports = require("./utils/lifecycle.js").cmd("restart")
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/root.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/root.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/root.js
new file mode 100644
index 0000000..b2f731e
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/root.js
@@ -0,0 +1,11 @@
+module.exports = root
+
+var npm = require("./npm.js")
+
+root.usage = "npm root\nnpm root -g\n(just prints the root folder)"
+
+function root (args, silent, cb) {
+ if (typeof cb !== "function") cb = silent, silent = false
+ if (!silent) console.log(npm.dir)
+ process.nextTick(cb.bind(this, null, npm.dir))
+}
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/run-script.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/run-script.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/run-script.js
new file mode 100644
index 0000000..0808f2e
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/run-script.js
@@ -0,0 +1,102 @@
+
+module.exports = runScript
+
+var lifecycle = require("./utils/lifecycle.js")
+ , npm = require("./npm.js")
+ , path = require("path")
+ , readJson = require("read-package-json")
+ , log = require("npmlog")
+ , chain = require("slide").chain
+ , fs = require("graceful-fs")
+ , asyncMap = require("slide").asyncMap
+
+runScript.usage = "npm run-script [<pkg>] <command>"
+
+runScript.completion = function (opts, cb) {
+
+ // see if there's already a package specified.
+ var argv = opts.conf.argv.remain
+ , installedShallow = require("./utils/completion/installed-shallow.js")
+
+ if (argv.length >= 4) return cb()
+
+ if (argv.length === 3) {
+ // either specified a script locally, in which case, done,
+ // or a package, in which case, complete against its scripts
+ var json = path.join(npm.prefix, "package.json")
+ return readJson(json, function (er, d) {
+ if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er)
+ if (er) d = {}
+ var scripts = Object.keys(d.scripts || {})
+ console.error("local scripts", scripts)
+ if (scripts.indexOf(argv[2]) !== -1) return cb()
+ // ok, try to find out which package it was, then
+ var pref = npm.config.get("global") ? npm.config.get("prefix")
+ : npm.prefix
+ var pkgDir = path.resolve( pref, "node_modules"
+ , argv[2], "package.json" )
+ readJson(pkgDir, function (er, d) {
+ if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er)
+ if (er) d = {}
+ var scripts = Object.keys(d.scripts || {})
+ return cb(null, scripts)
+ })
+ })
+ }
+
+ // complete against the installed-shallow, and the pwd's scripts.
+ // but only packages that have scripts
+ var installed
+ , scripts
+ installedShallow(opts, function (d) {
+ return d.scripts
+ }, function (er, inst) {
+ installed = inst
+ next()
+ })
+
+ if (npm.config.get("global")) scripts = [], next()
+ else readJson(path.join(npm.prefix, "package.json"), function (er, d) {
+ if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er)
+ d = d || {}
+ scripts = Object.keys(d.scripts || {})
+ next()
+ })
+
+ function next () {
+ if (!installed || !scripts) return
+ return cb(null, scripts.concat(installed))
+ }
+}
+
+function runScript (args, cb) {
+ if (!args.length) return cb(runScript.usage)
+ var pkgdir = args.length === 1 ? process.cwd()
+ : path.resolve(npm.dir, args[0])
+ , cmd = args.pop()
+
+ readJson(path.resolve(pkgdir, "package.json"), function (er, d) {
+ if (er) return cb(er)
+ run(d, pkgdir, cmd, cb)
+ })
+}
+
+function run (pkg, wd, cmd, cb) {
+ var cmds = []
+ if (!pkg.scripts) pkg.scripts = {}
+ if (cmd === "restart") {
+ cmds = ["prestop","stop","poststop"
+ ,"restart"
+ ,"prestart","start","poststart"]
+ } else {
+ cmds = [cmd]
+ }
+ if (!cmd.match(/^(pre|post)/)) {
+ cmds = ["pre"+cmd].concat(cmds).concat("post"+cmd)
+ }
+ log.verbose("run-script", cmds)
+ chain(cmds.map(function (c) {
+ // when running scripts explicitly, assume that they're trusted.
+ return [lifecycle, pkg, c, wd, true]
+ }), cb)
+}
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/search.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/search.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/search.js
new file mode 100644
index 0000000..21b6ab2
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/search.js
@@ -0,0 +1,265 @@
+
+module.exports = exports = search
+
+var npm = require("./npm.js")
+ , registry = npm.registry
+ , columnify = require('columnify')
+
+search.usage = "npm search [some search terms ...]"
+
+search.completion = function (opts, cb) {
+ var compl = {}
+ , partial = opts.partialWord
+ , ipartial = partial.toLowerCase()
+ , plen = partial.length
+
+ // get the batch of data that matches so far.
+ // this is an example of using npm.commands.search programmatically
+ // to fetch data that has been filtered by a set of arguments.
+ search(opts.conf.argv.remain.slice(2), true, function (er, data) {
+ if (er) return cb(er)
+ Object.keys(data).forEach(function (name) {
+ data[name].words.split(" ").forEach(function (w) {
+ if (w.toLowerCase().indexOf(ipartial) === 0) {
+ compl[partial + w.substr(plen)] = true
+ }
+ })
+ })
+ cb(null, Object.keys(compl))
+ })
+}
+
+function search (args, silent, staleness, cb) {
+ if (typeof cb !== "function") cb = staleness, staleness = 600
+ if (typeof cb !== "function") cb = silent, silent = false
+
+ var searchopts = npm.config.get("searchopts")
+ , searchexclude = npm.config.get("searchexclude")
+ if (typeof searchopts !== "string") searchopts = ""
+ searchopts = searchopts.split(/\s+/)
+ if (typeof searchexclude === "string") {
+ searchexclude = searchexclude.split(/\s+/)
+ } else searchexclude = []
+ var opts = searchopts.concat(args).map(function (s) {
+ return s.toLowerCase()
+ }).filter(function (s) { return s })
+ searchexclude = searchexclude.map(function (s) {
+ return s.toLowerCase()
+ })
+ getFilteredData( staleness, opts, searchexclude, function (er, data) {
+ // now data is the list of data that we want to show.
+ // prettify and print it, and then provide the raw
+ // data to the cb.
+ if (er || silent) return cb(er, data)
+ console.log(prettify(data, args))
+ cb(null, data)
+ })
+}
+
+function getFilteredData (staleness, args, notArgs, cb) {
+ registry.get( "/-/all", staleness, false
+ , true, function (er, data) {
+ if (er) return cb(er)
+ return cb(null, filter(data, args, notArgs))
+ })
+}
+
+function filter (data, args, notArgs) {
+ // data={<name>:{package data}}
+ return Object.keys(data).map(function (d) {
+ return data[d]
+ }).filter(function (d) {
+ return typeof d === "object"
+ }).map(stripData).map(getWords).filter(function (data) {
+ return filterWords(data, args, notArgs)
+ }).reduce(function (l, r) {
+ l[r.name] = r
+ return l
+ }, {})
+}
+
+function stripData (data) {
+ return { name: data.name
+ , description: npm.config.get("description") ? data.description : ""
+ , maintainers: (data.maintainers || []).map(function (m) {
+ return "=" + m.name
+ })
+ , url: !Object.keys(data.versions || {}).length ? data.url : null
+ , keywords: data.keywords || []
+ , version: Object.keys(data.versions || {})[0] || []
+ , time: data.time
+ && data.time.modified
+ && (new Date(data.time.modified).toISOString()
+ .split("T").join(" ")
+ .replace(/:[0-9]{2}\.[0-9]{3}Z$/, ""))
+ .slice(0, -5) // remove time
+ || "prehistoric"
+ }
+}
+
+function getWords (data) {
+ data.words = [ data.name ]
+ .concat(data.description)
+ .concat(data.maintainers)
+ .concat(data.url && ("<" + data.url + ">"))
+ .concat(data.keywords)
+ .map(function (f) { return f && f.trim && f.trim() })
+ .filter(function (f) { return f })
+ .join(" ")
+ .toLowerCase()
+ return data
+}
+
+function filterWords (data, args, notArgs) {
+ var words = data.words
+ for (var i = 0, l = args.length; i < l; i ++) {
+ if (!match(words, args[i])) return false
+ }
+ for (var i = 0, l = notArgs.length; i < l; i ++) {
+ if (match(words, notArgs[i])) return false
+ }
+ return true
+}
+
+function match (words, arg) {
+ if (arg.charAt(0) === "/") {
+ arg = arg.replace(/\/$/, "")
+ arg = new RegExp(arg.substr(1, arg.length - 1))
+ return words.match(arg)
+ }
+ return words.indexOf(arg) !== -1
+}
+
+function prettify (data, args) {
+ var searchsort = (npm.config.get("searchsort") || "NAME").toLowerCase()
+ , sortField = searchsort.replace(/^\-+/, "")
+ , searchRev = searchsort.charAt(0) === "-"
+ , truncate = !npm.config.get("long")
+
+ if (Object.keys(data).length === 0) {
+ return "No match found for "+(args.map(JSON.stringify).join(" "))
+ }
+
+ var lines = Object.keys(data).map(function (d) {
+ // strip keyname
+ return data[d]
+ }).map(function(dat) {
+ dat.author = dat.maintainers
+ delete dat.maintainers
+ dat.date = dat.time
+ delete dat.time
+ return dat
+ }).map(function(dat) {
+ // split keywords on whitespace or ,
+ if (typeof dat.keywords === "string") {
+ dat.keywords = dat.keywords.split(/[,\s]+/)
+ }
+ if (Array.isArray(dat.keywords)) {
+ dat.keywords = dat.keywords.join(' ')
+ }
+
+ // split author on whitespace or ,
+ if (typeof dat.author === "string") {
+ dat.author = dat.author.split(/[,\s]+/)
+ }
+ if (Array.isArray(dat.author)) {
+ dat.author = dat.author.join(' ')
+ }
+ return dat
+ })
+
+ lines.sort(function(a, b) {
+ var aa = a[sortField].toLowerCase()
+ , bb = b[sortField].toLowerCase()
+ return aa === bb ? 0
+ : aa < bb ? -1 : 1
+ })
+
+ if (searchRev) lines.reverse()
+
+ var columns = npm.config.get("description")
+ ? ["name", "description", "author", "date", "version", "keywords"]
+ : ["name", "author", "date", "version", "keywords"]
+
+ var output = columnify(lines, {
+ include: columns
+ , truncate: truncate
+ , config: {
+ name: { maxWidth: 40, truncate: false, truncateMarker: '' }
+ , description: { maxWidth: 60 }
+ , author: { maxWidth: 20 }
+ , date: { maxWidth: 11 }
+ , version: { maxWidth: 11 }
+ , keywords: { maxWidth: Infinity }
+ }
+ })
+ output = trimToMaxWidth(output)
+ output = highlightSearchTerms(output, args)
+
+ return output
+}
+
+var colors = [31, 33, 32, 36, 34, 35 ]
+ , cl = colors.length
+
+function addColorMarker (str, arg, i) {
+ var m = i % cl + 1
+ , markStart = String.fromCharCode(m)
+ , markEnd = String.fromCharCode(0)
+
+ if (arg.charAt(0) === "/") {
+ //arg = arg.replace(/\/$/, "")
+ return str.replace( new RegExp(arg.substr(1, arg.length - 1), "gi")
+ , function (bit) { return markStart + bit + markEnd } )
+
+ }
+
+ // just a normal string, do the split/map thing
+ var pieces = str.toLowerCase().split(arg.toLowerCase())
+ , p = 0
+
+ return pieces.map(function (piece, i) {
+ piece = str.substr(p, piece.length)
+ var mark = markStart
+ + str.substr(p+piece.length, arg.length)
+ + markEnd
+ p += piece.length + arg.length
+ return piece + mark
+ }).join("")
+}
+
+function colorize (line) {
+ for (var i = 0; i < cl; i ++) {
+ var m = i + 1
+ var color = npm.color ? "\033["+colors[i]+"m" : ""
+ line = line.split(String.fromCharCode(m)).join(color)
+ }
+ var uncolor = npm.color ? "\033[0m" : ""
+ return line.split("\u0000").join(uncolor)
+}
+
+function getMaxWidth() {
+ try {
+ var tty = require("tty")
+ , stdout = process.stdout
+ , cols = !tty.isatty(stdout.fd) ? Infinity
+ : process.stdout.getWindowSize()[0]
+ cols = (cols == 0) ? Infinity : cols
+ } catch (ex) { cols = Infinity }
+ return cols
+}
+
+function trimToMaxWidth(str) {
+ var maxWidth = getMaxWidth()
+ return str.split('\n').map(function(line) {
+ return line.slice(0, maxWidth)
+ }).join('\n')
+}
+
+function highlightSearchTerms(str, terms) {
+ terms.forEach(function (arg, i) {
+ str = addColorMarker(str, arg, i)
+ })
+
+ return colorize(str).trim()
+}
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/set.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/set.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/set.js
new file mode 100644
index 0000000..c83602e
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/set.js
@@ -0,0 +1,13 @@
+
+module.exports = set
+
+set.usage = "npm set <key> <value> (See `npm config`)"
+
+var npm = require("./npm.js")
+
+set.completion = npm.commands.config.completion
+
+function set (args, cb) {
+ if (!args.length) return cb(set.usage)
+ npm.commands.config(["set"].concat(args), cb)
+}
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/shrinkwrap.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/shrinkwrap.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/shrinkwrap.js
new file mode 100644
index 0000000..14711df
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/shrinkwrap.js
@@ -0,0 +1,69 @@
+// emit JSON describing versions of all packages currently installed (for later
+// use with shrinkwrap install)
+
+module.exports = exports = shrinkwrap
+
+var npm = require("./npm.js")
+ , log = require("npmlog")
+ , fs = require("fs")
+ , path = require("path")
+ , readJson = require("read-package-json")
+
+shrinkwrap.usage = "npm shrinkwrap"
+
+function shrinkwrap (args, silent, cb) {
+ if (typeof cb !== "function") cb = silent, silent = false
+
+ if (args.length) {
+ log.warn("shrinkwrap", "doesn't take positional args")
+ }
+
+ npm.commands.ls([], true, function (er, _, pkginfo) {
+ if (er) return cb(er)
+ shrinkwrap_(pkginfo, silent, npm.config.get("dev"), cb)
+ })
+}
+
+function shrinkwrap_ (pkginfo, silent, dev, cb) {
+ if (pkginfo.problems) {
+ return cb(new Error("Problems were encountered\n"
+ +"Please correct and try again.\n"
+ +pkginfo.problems.join("\n")))
+ }
+
+ if (!dev) {
+ // remove dev deps unless the user does --dev
+ readJson(path.resolve(npm.prefix, "package.json"), function (er, data) {
+ if (er)
+ return cb(er)
+ if (data.devDependencies) {
+ Object.keys(data.devDependencies).forEach(function (dep) {
+ log.warn("shrinkwrap", "Excluding devDependency: %s", dep)
+ delete pkginfo.dependencies[dep]
+ })
+ }
+ save(pkginfo, silent, cb)
+ })
+ } else {
+ save(pkginfo, silent, cb)
+ }
+}
+
+
+function save (pkginfo, silent, cb) {
+ try {
+ var swdata = JSON.stringify(pkginfo, null, 2) + "\n"
+ } catch (er) {
+ log.error("shrinkwrap", "Error converting package info to json")
+ return cb(er)
+ }
+
+ var file = path.resolve(npm.prefix, "npm-shrinkwrap.json")
+
+ fs.writeFile(file, swdata, function (er) {
+ if (er) return cb(er)
+ if (silent) return cb(null, pkginfo)
+ console.log("wrote npm-shrinkwrap.json")
+ cb(null, pkginfo)
+ })
+}
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/star.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/star.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/star.js
new file mode 100644
index 0000000..33b1247
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/star.js
@@ -0,0 +1,33 @@
+
+module.exports = star
+
+var npm = require("./npm.js")
+ , registry = npm.registry
+ , log = require("npmlog")
+ , asyncMap = require("slide").asyncMap
+
+star.usage = "npm star <package> [pkg, pkg, ...]\n"
+ + "npm unstar <package> [pkg, pkg, ...]"
+
+star.completion = function (opts, cb) {
+ registry.get("/-/short", 60000, function (er, list) {
+ return cb(null, list || [])
+ })
+}
+
+function star (args, cb) {
+ if (!args.length) return cb(star.usage)
+ var s = npm.config.get("unicode") ? "\u2605 " : "(*)"
+ , u = npm.config.get("unicode") ? "\u2606 " : "( )"
+ , using = !(npm.command.match(/^un/))
+ if (!using) s = u
+ asyncMap(args, function (pkg, cb) {
+ registry.star(pkg, using, function (er, data, raw, req) {
+ if (!er) {
+ console.log(s + " "+pkg)
+ log.verbose("star", data)
+ }
+ cb(er, data, raw, req)
+ })
+ }, cb)
+}
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/stars.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/stars.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/stars.js
new file mode 100644
index 0000000..74841f2
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/stars.js
@@ -0,0 +1,27 @@
+module.exports = stars
+
+stars.usage = "npm stars [username]"
+
+var npm = require("./npm.js")
+ , registry = npm.registry
+ , log = require("npmlog")
+
+function stars (args, cb) {
+ var name = args.length === 1 ? args[0] : npm.config.get("username")
+ registry.stars(name, showstars)
+
+ function showstars (er, data) {
+ if (er) {
+ return cb(er)
+ }
+
+ if (data.rows.length === 0) {
+ log.warn('stars', 'user has not starred any packages.')
+ } else {
+ data.rows.forEach(function(a) {
+ console.log(a.value)
+ })
+ }
+ cb()
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/start.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/start.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/start.js
new file mode 100644
index 0000000..9882382
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/start.js
@@ -0,0 +1 @@
+module.exports = require("./utils/lifecycle.js").cmd("start")
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/stop.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/stop.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/stop.js
new file mode 100644
index 0000000..8ea5ba6
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/stop.js
@@ -0,0 +1 @@
+module.exports = require("./utils/lifecycle.js").cmd("stop")
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/submodule.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/submodule.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/submodule.js
new file mode 100644
index 0000000..72a2248
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/submodule.js
@@ -0,0 +1,119 @@
+// npm submodule <pkg>
+// Check the package contents for a git repository url.
+// If there is one, then create a git submodule in the node_modules folder.
+
+module.exports = submodule
+
+var npm = require("./npm.js")
+ , exec = require("child_process").execFile
+ , cache = require("./cache.js")
+ , asyncMap = require("slide").asyncMap
+ , chain = require("slide").chain
+ , which = require("which")
+
+submodule.usage = "npm submodule <pkg>"
+
+submodule.completion = require("./docs.js").completion
+
+function submodule (args, cb) {
+ if (npm.config.get("global")) {
+ return cb(new Error("Cannot use submodule command in global mode."))
+ }
+
+ if (args.length === 0) return cb(submodule.usage)
+
+ asyncMap(args, function (arg, cb) {
+ cache.add(arg, cb)
+ }, function (er, pkgs) {
+ if (er) return cb(er)
+ chain(pkgs.map(function (pkg) { return function (cb) {
+ submodule_(pkg, cb)
+ }}), cb)
+ })
+
+}
+
+function submodule_ (pkg, cb) {
+ if (!pkg.repository
+ || pkg.repository.type !== "git"
+ || !pkg.repository.url) {
+ return cb(new Error(pkg._id + ": No git repository listed"))
+ }
+
+ // prefer https:// github urls
+ pkg.repository.url = pkg.repository.url
+ .replace(/^(git:\/\/)?(git@)?github.com[:\/]/, "https://github.com/")
+
+ // first get the list of submodules, and update if it's already there.
+ getSubmodules(function (er, modules) {
+ if (er) return cb(er)
+ // if there's already a submodule, then just update it.
+ if (modules.indexOf(pkg.name) !== -1) {
+ return updateSubmodule(pkg.name, cb)
+ }
+ addSubmodule(pkg.name, pkg.repository.url, cb)
+ })
+}
+
+function updateSubmodule (name, cb) {
+ var git = npm.config.get("git")
+ var args = [ "submodule", "update", "--init", "node_modules/", name ]
+
+ // check for git
+ which(git, function (err) {
+ if (err) {
+ err.code = "ENOGIT"
+ return cb(err)
+ }
+
+ exec(git, args, cb)
+ })
+}
+
+function addSubmodule (name, url, cb) {
+ var git = npm.config.get("git")
+ var args = [ "submodule", "add", url, "node_modules/", name ]
+
+ // check for git
+ which(git, function (err) {
+ if (err) {
+ err.code = "ENOGIT"
+ return cb(err)
+ }
+
+ exec(git, args, function (er) {
+ if (er) return cb(er)
+ updateSubmodule(name, cb)
+ })
+ })
+}
+
+
+var getSubmodules = function getSubmodules (cb) {
+ var git = npm.config.get("git")
+ var args = [ "submodule", "status" ]
+
+ // check for git
+ which(git, function (err) {
+ if (err) {
+ err.code = "ENOGIT"
+ return cb(err)
+ }
+ exec(git, args, function (er, stdout, stderr) {
+ if (er) return cb(er)
+ res = stdout.trim().split(/\n/).map(function (line) {
+ return line.trim().split(/\s+/)[1]
+ }).filter(function (line) {
+ // only care about submodules in the node_modules folder.
+ return line && line.match(/^node_modules\//)
+ }).map(function (line) {
+ return line.replace(/^node_modules\//g, "")
+ })
+
+ // memoize.
+ getSubmodules = function (cb) { return cb(null, res) }
+
+ cb(null, res)
+ })
+ })
+}
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/substack.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/substack.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/substack.js
new file mode 100644
index 0000000..1929f18
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/substack.js
@@ -0,0 +1,20 @@
+module.exports = substack
+var npm = require("./npm.js")
+
+var isms =
+ [ "\033[32mbeep \033[35mboop\033[m"
+ , "Replace your configs with services"
+ , "SEPARATE ALL THE CONCERNS!"
+ , "MODULE ALL THE THINGS!"
+ , "\\o/"
+ , "but first, burritos"
+ , "full time mad scientist here"
+ , "c/,,\\" ]
+
+function substack (args, cb) {
+ var i = Math.floor(Math.random() * isms.length)
+ console.log(isms[i])
+ var c = args.shift()
+ if (c) npm.commands[c](args, cb)
+ else cb()
+}
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/tag.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/tag.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/tag.js
new file mode 100644
index 0000000..8a7c51c
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/tag.js
@@ -0,0 +1,18 @@
+// turns out tagging isn't very complicated
+// all the smarts are in the couch.
+module.exports = tag
+tag.usage = "npm tag <project>@<version> [<tag>]"
+
+tag.completion = require("./unpublish.js").completion
+
+var npm = require("./npm.js")
+ , registry = npm.registry
+
+function tag (args, cb) {
+ var thing = (args.shift() || "").split("@")
+ , project = thing.shift()
+ , version = thing.join("@")
+ , t = args.shift() || npm.config.get("tag")
+ if (!project || !version || !t) return cb("Usage:\n"+tag.usage)
+ registry.tag(project, version, t, cb)
+}
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/test.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/test.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/test.js
new file mode 100644
index 0000000..d741807
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/test.js
@@ -0,0 +1,14 @@
+module.exports = test
+
+var testCmd = require("./utils/lifecycle.js").cmd("test")
+ , log = require("npmlog")
+
+function test (args, cb) {
+ testCmd(args, function (er) {
+ if (!er) return cb()
+ if (er.code === "ELIFECYCLE") {
+ return cb("Test failed. See above for more details.")
+ }
+ return cb(er)
+ })
+}
http://git-wip-us.apache.org/repos/asf/incubator-cmda/blob/a9a83675/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/unbuild.js
----------------------------------------------------------------------
diff --git a/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/unbuild.js b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/unbuild.js
new file mode 100644
index 0000000..57688f0
--- /dev/null
+++ b/ApacheCMDA_Backend_1.0/project/target/node-modules/webjars/npm/lib/unbuild.js
@@ -0,0 +1,112 @@
+module.exports = unbuild
+unbuild.usage = "npm unbuild <folder>\n(this is plumbing)"
+
+var readJson = require("read-package-json")
+ , rm = require("rimraf")
+ , gentlyRm = require("./utils/gently-rm.js")
+ , npm = require("./npm.js")
+ , path = require("path")
+ , fs = require("graceful-fs")
+ , lifecycle = require("./utils/lifecycle.js")
+ , asyncMap = require("slide").asyncMap
+ , chain = require("slide").chain
+ , log = require("npmlog")
+ , build = require("./build.js")
+
+// args is a list of folders.
+// remove any bins/etc, and then delete the folder.
+function unbuild (args, silent, cb) {
+ if (typeof silent === 'function') cb = silent, silent = false
+ asyncMap(args, unbuild_(silent), cb)
+}
+
+function unbuild_ (silent) { return function (folder, cb_) {
+ function cb (er) {
+ cb_(er, path.relative(npm.root, folder))
+ }
+ folder = path.resolve(folder)
+ delete build._didBuild[folder]
+ log.info(folder, "unbuild")
+ readJson(path.resolve(folder, "package.json"), function (er, pkg) {
+ // if no json, then just trash it, but no scripts or whatever.
+ if (er) return rm(folder, cb)
+ readJson.cache.del(folder)
+ chain
+ ( [ [lifecycle, pkg, "preuninstall", folder, false, true]
+ , [lifecycle, pkg, "uninstall", folder, false, true]
+ , !silent && function(cb) {
+ console.log("unbuild " + pkg._id)
+ cb()
+ }
+ , [rmStuff, pkg, folder]
+ , [lifecycle, pkg, "postuninstall", folder, false, true]
+ , [rm, folder] ]
+ , cb )
+ })
+}}
+
+function rmStuff (pkg, folder, cb) {
+ // if it's global, and folder is in {prefix}/node_modules,
+ // then bins are in {prefix}/bin
+ // otherwise, then bins are in folder/../.bin
+ var parent = path.dirname(folder)
+ , gnm = npm.dir
+ , top = gnm === parent
+
+ readJson.cache.del(path.resolve(folder, "package.json"))
+
+ log.verbose([top, gnm, parent], "unbuild " + pkg._id)
+ asyncMap([rmBins, rmMans], function (fn, cb) {
+ fn(pkg, folder, parent, top, cb)
+ }, cb)
+}
+
+function rmBins (pkg, folder, parent, top, cb) {
+ if (!pkg.bin) return cb()
+ var binRoot = top ? npm.bin : path.resolve(parent, ".bin")
+ log.verbose([binRoot, pkg.bin], "binRoot")
+ asyncMap(Object.keys(pkg.bin), function (b, cb) {
+ if (process.platform === "win32") {
+ chain([ [rm, path.resolve(binRoot, b) + ".cmd"]
+ , [rm, path.resolve(binRoot, b) ] ], cb)
+ } else {
+ gentlyRm( path.resolve(binRoot, b)
+ , !npm.config.get("force") && folder
+ , cb )
+ }
+ }, cb)
+}
+
+function rmMans (pkg, folder, parent, top, cb) {
+ if (!pkg.man
+ || !top
+ || process.platform === "win32"
+ || !npm.config.get("global")) {
+ return cb()
+ }
+ var manRoot = path.resolve(npm.config.get("prefix"), "share", "man")
+ asyncMap(pkg.man, function (man, cb) {
+ if (Array.isArray(man)) {
+ man.forEach(rm)
+ } else {
+ rm(man)
+ }
+
+ function rm(man) {
+ var parseMan = man.match(/(.*)\.([0-9]+)(\.gz)?$/)
+ , stem = parseMan[1]
+ , sxn = parseMan[2]
+ , gz = parseMan[3] || ""
+ , bn = path.basename(stem)
+ , manDest = path.join( manRoot
+ , "man"+sxn
+ , (bn.indexOf(pkg.name) === 0 ? bn
+ : pkg.name + "-" + bn)
+ + "." + sxn + gz
+ )
+ gentlyRm( manDest
+ , !npm.config.get("force") && folder
+ , cb )
+ }
+ }, cb)
+}