diff options
author | Rebecca Turner <turner@mikomi.org> | 2014-10-28 11:50:13 +0300 |
---|---|---|
committer | Rebecca Turner <me@re-becca.org> | 2015-06-26 03:26:37 +0300 |
commit | 2b6f6f352cbcb797f513e9c92ed6b7bbe566a6b1 (patch) | |
tree | 0cd9abe71d29f72695fcfe6906378fd75bad4c5d /lib/docs.js | |
parent | 7113d607c4e99ba39f9c0d3b850f4a72e8004b74 (diff) |
Cleanup package metadata access commands to use fetch-package-metadata
Diffstat (limited to 'lib/docs.js')
-rw-r--r-- | lib/docs.js | 44 |
1 files changed, 8 insertions, 36 deletions
diff --git a/lib/docs.js b/lib/docs.js index 0de2349dd..9b81724d9 100644 --- a/lib/docs.js +++ b/lib/docs.js @@ -9,6 +9,7 @@ var npm = require("./npm.js") , path = require("path") , log = require("npmlog") , mapToRegistry = require("./utils/map-to-registry.js") + , fetchPackageMetadata = require("./fetch-package-metadata.js") docs.completion = function (opts, cb) { // FIXME: there used to be registry completion here, but it stopped making @@ -16,14 +17,11 @@ docs.completion = function (opts, cb) { cb() } -function url (json) { - return json.homepage ? json.homepage : "https://npmjs.org/package/" + json.name -} function docs (args, cb) { - args = args || [] + if (!args || !args.length) args = ["."] var pending = args.length - if (!pending) return getDoc(".", cb) + log.silly("docs",args) args.forEach(function(proj) { getDoc(proj, function(err) { if (err) { @@ -35,37 +33,11 @@ function docs (args, cb) { } function getDoc (project, cb) { - project = project || "." - var package = path.resolve(npm.localPrefix, "package.json") - - if (project === "." || project === "./") { - var json - try { - json = require(package) - if (!json.name) throw new Error('package.json does not have a valid "name" property') - project = json.name - } catch (e) { - log.error(e.message) - return cb(docs.usage) - } - - return opener(url(json), { command: npm.config.get("browser") }, cb) - } - - mapToRegistry(project, npm.config, function (er, uri, auth) { + log.silly("getDoc", project) + fetchPackageMetadata(project, ".", function (er, d) { if (er) return cb(er) - - npm.registry.get(uri + "/latest", { timeout : 3600, auth : auth }, next) + var url = d.homepage + if (! url) url = "https://npmjs.org/package/" + d.name + return opener(url, {command: npm.config.get("browser")}, cb) }) - - function next (er, json) { - var github = "https://github.com/" + project + "#readme" - - if (er) { - if (project.split("/").length !== 2) return cb(er) - return opener(github, { command: npm.config.get("browser") }, cb) - } - - return opener(url(json), { command: npm.config.get("browser") }, cb) - } } |