vtex
Version:
The platform for e-commerce apps
31 lines (30 loc) • 1.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.switchOpen = void 0;
const tslib_1 = require("tslib");
const ToolbeltConfig_1 = require("../../api/clients/IOClients/apps/ToolbeltConfig");
const open_1 = tslib_1.__importDefault(require("open"));
const ErrorReport_1 = require("../../api/error/ErrorReport");
const ErrorKinds_1 = require("../../api/error/ErrorKinds");
const opn_1 = tslib_1.__importDefault(require("opn"));
const logger_1 = tslib_1.__importDefault(require("../../api/logger"));
const chalk_1 = tslib_1.__importDefault(require("chalk"));
async function switchOpen(url, options) {
try {
const configClient = ToolbeltConfig_1.ToolbeltConfig.createClient();
const { featureFlags } = await configClient.getGlobalConfig();
logger_1.default.info('Your browser should open automatically. You can also use the url below.');
logger_1.default.info(`${chalk_1.default.cyan(url)}`);
if (featureFlags.FEATURE_FLAG_NEW_OPEN_PACKAGE) {
return open_1.default(url, options);
}
return opn_1.default(url, options);
}
catch (err) {
ErrorReport_1.ErrorReport.createAndMaybeRegisterOnTelemetry({
kind: ErrorKinds_1.ErrorKinds.TOOLBELT_CONFIG_FEATURE_FLAG_ERROR,
originalError: err,
}).logErrorForUser({ coreLogLevelDefault: 'debug' });
}
}
exports.switchOpen = switchOpen;