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:
authorisaacs <i@izs.me>2012-09-13 07:37:08 +0400
committerisaacs <i@izs.me>2012-09-13 07:37:08 +0400
commit77c792d17a41d67d902f41b8967a629d0907b6e4 (patch)
tree962b44ea3e1be728373d27e5f10256c76f670fe9 /lib/bugs.js
parent2c515fc0355f681de400e6128b872f5802472ee4 (diff)
Use opener to open web pages
cc @domenic
Diffstat (limited to 'lib/bugs.js')
-rw-r--r--lib/bugs.js40
1 files changed, 11 insertions, 29 deletions
diff --git a/lib/bugs.js b/lib/bugs.js
index 3f9de1231..fa66dc3e4 100644
--- a/lib/bugs.js
+++ b/lib/bugs.js
@@ -7,6 +7,7 @@ var exec = require("./utils/exec.js")
, npm = require("./npm.js")
, registry = npm.registry
, log = require("npmlog")
+ , opener = require("opener")
bugs.completion = function (opts, cb) {
if (opts.conf.argv.remain.length > 2) return cb()
@@ -22,41 +23,22 @@ function bugs (args, cb) {
if (er) return cb(er)
var bugs = d.bugs
, repo = d.repository || d.repositories
+ , url
if (bugs) {
- if (typeof bugs === "string") return open(bugs, cb)
- if (bugs.url) return open(bugs.url, cb)
- }
- if (repo) {
+ url = (typeof bugs === "string") ? bugs : bugs.url
+ } else if (repo) {
if (Array.isArray(repo)) repo = repo.shift()
if (repo.hasOwnProperty("url")) repo = repo.url
log.verbose("repository", repo)
if (repo && repo.match(/^(https?:\/\/|git(:\/\/|@))github.com/)) {
- return open(repo.replace(/^git(@|:\/\/)/, "http://")
- .replace(/^https?:\/\/github.com:/, "github.com/")
- .replace(/\.git$/, '')+"/issues", cb)
+ url = repo.replace(/^git(@|:\/\/)/, "https://")
+ .replace(/^https?:\/\/github.com:/, "https://github.com/")
+ .replace(/\.git$/, '')+"/issues"
}
}
- return open("http://search.npmjs.org/#/" + d.name, cb)
+ if (!url) {
+ url = "https://npmjs.org/package/" + d.name
+ }
+ opener(url, { command: npm.config.get("browser") }, cb)
})
}
-
-function open (url, cb) {
- var args = [url]
- , browser = npm.config.get("browser")
-
- if (process.platform === "win32" && browser === "start") {
- args = [ "/c", "start" ].concat(args)
- browser = "cmd"
- }
-
- if (!browser) {
- var er = ["the 'browser' config is not set. Try doing this:"
- ," npm config set browser google-chrome"
- ,"or:"
- ," npm config set browser lynx"].join("\n")
- return cb(er)
- }
-
- exec(browser, args, process.env, false, function () {})
- cb()
-}