mirror of
https://github.com/serverless/serverless.git
synced 2025-12-08 19:46:03 +00:00
35 lines
1004 B
JavaScript
35 lines
1004 B
JavaScript
'use strict';
|
|
|
|
/* eslint-disable no-console */
|
|
|
|
const opn = require('opn');
|
|
const chalk = require('chalk');
|
|
const isDockerContainer = require('./isDockerContainer');
|
|
|
|
function displayManualOpenMessage(url) {
|
|
// 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('---------------------------');
|
|
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);
|
|
}
|
|
};
|