Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRebecca Turner <turner@mikomi.org>2014-10-28 11:50:13 +0300
committerRebecca Turner <me@re-becca.org>2015-06-26 03:26:37 +0300
commit2b6f6f352cbcb797f513e9c92ed6b7bbe566a6b1 (patch)
tree0cd9abe71d29f72695fcfe6906378fd75bad4c5d /lib/docs.js
parent7113d607c4e99ba39f9c0d3b850f4a72e8004b74 (diff)
Cleanup package metadata access commands to use fetch-package-metadata
Diffstat (limited to 'lib/docs.js')
-rw-r--r--lib/docs.js44
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)
- }
}