3 docs.usage = "npm docs <pkgname>"
5 docs.usage += "npm docs ."
7 docs.completion = function (opts, cb) {
8 if (opts.conf.argv.remain.length > 2) return cb()
9 registry.get("/-/short", 60000, function (er, list) {
10 return cb(null, list || [])
14 var npm = require("./npm.js")
15 , registry = npm.registry
16 , opener = require("opener")
17 , path = require('path')
18 , log = require('npmlog')
21 return json.homepage ? json.homepage : "https://npmjs.org/package/" + json.name
24 function docs (args, cb) {
25 var project = args[0] || '.'
26 , package = path.resolve(process.cwd(), "package.json")
28 if (project === '.') {
30 var json = require(package)
31 if (!json.name) throw new Error('package.json does not have a valid "name" property')
38 return opener(url(json), { command: npm.config.get("browser") }, cb)
41 registry.get(project + "/latest", 3600, function (er, json) {
42 var github = "https://github.com/" + project + "#readme"
45 if (project.split("/").length !== 2) return cb(er)
46 return opener(github, { command: npm.config.get("browser") }, cb)
49 return opener(url(json), { command: npm.config.get("browser") }, cb)