summaryrefslogtreecommitdiff
path: root/deps/npm/lib/run-script.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/lib/run-script.js')
-rw-r--r--deps/npm/lib/run-script.js32
1 files changed, 31 insertions, 1 deletions
diff --git a/deps/npm/lib/run-script.js b/deps/npm/lib/run-script.js
index 0808f2edd..8797ccd9d 100644
--- a/deps/npm/lib/run-script.js
+++ b/deps/npm/lib/run-script.js
@@ -70,7 +70,7 @@ runScript.completion = function (opts, cb) {
}
function runScript (args, cb) {
- if (!args.length) return cb(runScript.usage)
+ if (!args.length) return list(cb)
var pkgdir = args.length === 1 ? process.cwd()
: path.resolve(npm.dir, args[0])
, cmd = args.pop()
@@ -81,6 +81,36 @@ function runScript (args, cb) {
})
}
+function list(cb) {
+ 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 || {})
+
+ if (log.level === "silent") {
+ return cb(null, scripts)
+ }
+
+ if (npm.config.get("json")) {
+ console.log(JSON.stringify(d.scripts || {}, null, 2))
+ return cb(null, scripts)
+ }
+
+ var s = ":"
+ var prefix = ""
+ if (!npm.config.get("parseable")) {
+ s = "\n "
+ prefix = " "
+ console.log("Available scripts in the %s package:", d.name)
+ }
+ scripts.forEach(function(script) {
+ console.log(prefix + script + s + d.scripts[script])
+ })
+ return cb(null, scripts)
+ })
+}
+
function run (pkg, wd, cmd, cb) {
var cmds = []
if (!pkg.scripts) pkg.scripts = {}