serverless/lib/utils/openBrowser.js
2017-05-24 00:21:30 -07:00

35 lines
1016 B
JavaScript

'use strict';
const opn = require('opn');
const chalk = require('chalk');
const isDockerContainer = require('./isDockerContainer');
function displayManualOpenMessage(url) {
/* eslint-disable */
// https://github.com/sindresorhus/log-symbols
console.log('---------------------------');
console.log(`🙈 ${chalk.red("Unable to open browser automatically")}`);
console.log(chalk.green("Please open your browser & open the URL below to login:"));
console.log(chalk.yellow(url));
console.log('---------------------------');
/* eslint-enable */
return false;
}
module.exports = function openBrowser(url) {
let browser = process.env.BROWSER;
if (browser === 'none' || isDockerContainer()) {
return displayManualOpenMessage(url);
}
if (process.platform === 'darwin' && browser === 'open') {
browser = undefined;
}
try {
const options = { app: browser };
opn(url, options).catch(() => {});
return true;
} catch (err) {
return displayManualOpenMessage(url);
}
};