1234567891011121314151617181920212223242526272829303132333435 |
- 'use strict'
- const npm = require('../npm.js')
- const output = require('./output.js')
- const opener = require('opener')
- // attempt to open URL in web-browser, print address otherwise:
- module.exports = function open (url, errMsg, cb, browser = npm.config.get('browser')) {
- function printAlternateMsg () {
- const json = npm.config.get('json')
- const alternateMsg = json
- ? JSON.stringify({
- title: errMsg,
- url
- }, null, 2)
- : `${errMsg}:\n\n${url}`
- output(alternateMsg)
- }
- const skipBrowser = process.argv.indexOf('--no-browser') > -1
- if (skipBrowser) {
- printAlternateMsg()
- return cb()
- }
- opener(url, { command: browser }, (er) => {
- if (er && er.code === 'ENOENT') {
- printAlternateMsg()
- return cb()
- } else {
- return cb(er)
- }
- })
- }
|