aboutsummaryrefslogtreecommitdiff
path: root/deps/node/deps/npm/lib/bugs.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/node/deps/npm/lib/bugs.js')
-rw-r--r--deps/node/deps/npm/lib/bugs.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/deps/node/deps/npm/lib/bugs.js b/deps/node/deps/npm/lib/bugs.js
new file mode 100644
index 00000000..10300d1e
--- /dev/null
+++ b/deps/node/deps/npm/lib/bugs.js
@@ -0,0 +1,31 @@
+module.exports = bugs
+
+var log = require('npmlog')
+var openUrl = require('./utils/open-url')
+var fetchPackageMetadata = require('./fetch-package-metadata.js')
+var usage = require('./utils/usage')
+
+bugs.usage = usage(
+ 'bugs',
+ 'npm bugs [<pkgname>]'
+)
+
+bugs.completion = function (opts, cb) {
+ // FIXME: there used to be registry completion here, but it stopped making
+ // sense somewhere around 50,000 packages on the registry
+ cb()
+}
+
+function bugs (args, cb) {
+ var n = args.length ? args[0] : '.'
+ fetchPackageMetadata(n, '.', {fullMetadata: true}, function (er, d) {
+ if (er) return cb(er)
+
+ var url = d.bugs && ((typeof d.bugs === 'string') ? d.bugs : d.bugs.url)
+ if (!url) {
+ url = 'https://www.npmjs.org/package/' + d.name
+ }
+ log.silly('bugs', 'url', url)
+ openUrl(url, 'bug list available at the following URL', cb)
+ })
+}