78e8d3eaac3ded42864765e59e57c188bb4daf5a
[platform/upstream/nodejs.git] / deps / npm / lib / docs.js
1 module.exports = docs
2
3 docs.usage = "npm docs <pkgname>"
4
5 docs.completion = function (opts, cb) {
6   if (opts.conf.argv.remain.length > 2) return cb()
7   registry.get("/-/short", 60000, function (er, list) {
8     return cb(null, list || [])
9   })
10 }
11
12 var npm = require("./npm.js")
13   , registry = npm.registry
14   , log = require("npmlog")
15   , opener = require("opener")
16
17 function docs (args, cb) {
18   if (!args.length) return cb(docs.usage)
19   var project = args[0]
20   var npmName = project.split("@").shift()
21   registry.get(project + "/latest", 3600, function (er, d) {
22     if (er) {
23       if (project.split("/").length !== 2) return cb(er)
24       
25       var url = "https://github.com/" + project + "#readme"
26       return opener(url, { command: npm.config.get("browser") }, cb)
27     }
28
29     var homepage = d.homepage
30       , repo = d.repository || d.repositories
31       , url = homepage ? homepage
32             : "https://npmjs.org/package/" + d.name
33     opener(url, { command: npm.config.get("browser") }, cb)
34   })
35 }