X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=org.simantics.maps.server%2Fnode%2Fnode-v4.8.0-win-x64%2Fnode_modules%2Fnpm%2Flib%2Fdocs.js;fp=org.simantics.maps.server%2Fnode%2Fnode-v4.8.0-win-x64%2Fnode_modules%2Fnpm%2Flib%2Fdocs.js;h=0de2349ddc952cb0c93ce6bace52e47d9a1fdf5a;hb=2529be6d456deeb07c128603ce4971f1dc29b695;hp=0000000000000000000000000000000000000000;hpb=2636fc31c16c23711cf2b06a4ae8537bba9c1d35;p=simantics%2Fdistrict.git diff --git a/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/lib/docs.js b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/lib/docs.js new file mode 100644 index 00000000..0de2349d --- /dev/null +++ b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/lib/docs.js @@ -0,0 +1,71 @@ +module.exports = docs + +docs.usage = "npm docs " +docs.usage += "\n" +docs.usage += "npm docs ." + +var npm = require("./npm.js") + , opener = require("opener") + , path = require("path") + , log = require("npmlog") + , mapToRegistry = require("./utils/map-to-registry.js") + +docs.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 url (json) { + return json.homepage ? json.homepage : "https://npmjs.org/package/" + json.name +} + +function docs (args, cb) { + args = args || [] + var pending = args.length + if (!pending) return getDoc(".", cb) + args.forEach(function(proj) { + getDoc(proj, function(err) { + if (err) { + return cb(err) + } + --pending || 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) { + if (er) return cb(er) + + npm.registry.get(uri + "/latest", { timeout : 3600, auth : auth }, next) + }) + + 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) + } +}