diff options
Diffstat (limited to 'deps/npm/lib/docs.js')
-rw-r--r-- | deps/npm/lib/docs.js | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/deps/npm/lib/docs.js b/deps/npm/lib/docs.js index 8af4c1bb66..20b1104060 100644 --- a/deps/npm/lib/docs.js +++ b/deps/npm/lib/docs.js @@ -37,10 +37,22 @@ function docs (args, cb) { } function open (url, cb) { - exec(npm.config.get("browser"), [url], log.er(cb, - "Failed to open "+url+" in a browser. It could be that the\n"+ - "'browser' config is not set. Try doing this:\n"+ - " npm config set browser google-chrome\n"+ - "or:\n"+ - " npm config set browser lynx\n")) + 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() } |