"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.logWithLevel = logWithLevel; exports.logDebug = logDebug; exports.getPlatformTag = getPlatformTag; exports.logInfo = logInfo; exports.logError = logError; exports.logWarning = logWarning; exports.clearNotification = clearNotification; exports.attachLoggerStream = attachLoggerStream; exports.readExpRcAsync = readExpRcAsync; exports.readConfigJsonAsync = readConfigJsonAsync; function ConfigUtils() { const data = _interopRequireWildcard(require("@expo/config")); ConfigUtils = function () { return data; }; return data; } function _path() { const data = _interopRequireDefault(require("path")); _path = function () { return data; }; return data; } function _chalk() { const data = _interopRequireDefault(require("chalk")); _chalk = function () { return data; }; return data; } function Analytics() { const data = _interopRequireWildcard(require("../Analytics")); Analytics = function () { return data; }; return data; } function _Logger() { const data = _interopRequireDefault(require("../Logger")); _Logger = function () { return data; }; return data; } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } const MAX_MESSAGE_LENGTH = 200; let _projectRootToLogger = {}; function _getLogger(projectRoot) { let logger = _projectRootToLogger[projectRoot]; if (!logger) { logger = _Logger().default.child({ type: 'project', project: _path().default.resolve(projectRoot) }); _projectRootToLogger[projectRoot] = logger; } return logger; } function logWithLevel(projectRoot, level, fields, msg, id) { if (id) { fields.issueId = id; } let logger = _getLogger(projectRoot); switch (level) { case 'debug': logger.debug(fields, msg); break; case 'info': logger.info(fields, msg); break; case 'warn': logger.warn(fields, msg); break; case 'error': logger.error(fields, msg); break; default: logger.debug(fields, msg); break; } } function logDebug(projectRoot, tag, message, id) { _getLogger(projectRoot).debug({ tag }, message.toString()); } function getPlatformTag(platform) { const input = platform.toLowerCase().trim(); switch (input) { case 'ios': return _chalk().default.bgWhite.black(' iOS '); case 'android': return _chalk().default.bgGreen.black(' Android '); case 'node': return _chalk().default.bgCyan.black(' Node '); case 'web': return _chalk().default.bgMagenta.black(' web '); default: return _chalk().default.bgWhite.black(` ${platform} `); } } function logInfo(projectRoot, tag, message, id) { const fields = { tag }; if (id) { fields.issueId = id; } _getLogger(projectRoot).info(fields, message.toString()); } function logError(projectRoot, tag, message, id) { const fields = { tag }; if (id) { fields.issueId = id; } _getLogger(projectRoot).error(fields, message.toString()); let truncatedMessage = message.toString(); if (truncatedMessage.length > MAX_MESSAGE_LENGTH) { truncatedMessage = truncatedMessage.substring(0, MAX_MESSAGE_LENGTH); } // temporarily remove sentry until we can trim events // send error to Sentry // Sentry.logError(message.toString(), { // tags: { tag }, // }); } function logWarning(projectRoot, tag, message, id) { const fields = { tag }; if (id) { fields.issueId = id; } _getLogger(projectRoot).warn(fields, message.toString()); let truncatedMessage = message.toString(); if (truncatedMessage.length > MAX_MESSAGE_LENGTH) { truncatedMessage = truncatedMessage.substring(0, MAX_MESSAGE_LENGTH); } Analytics().logEvent('Project Warning', { projectRoot, tag, message: truncatedMessage }); } function clearNotification(projectRoot, id) { _getLogger(projectRoot).info({ tag: 'expo', issueCleared: true, issueId: id }, `No issue with ${id}`); } function attachLoggerStream(projectRoot, stream) { _getLogger(projectRoot).addStream(stream); } // Wrap with logger async function readExpRcAsync(projectRoot) { try { return await ConfigUtils().readExpRcAsync(projectRoot); } catch (e) { logError(projectRoot, 'expo', e.message); return {}; } } async function readConfigJsonAsync(projectRoot, skipValidation = false) { try { return await ConfigUtils().readConfigJsonAsync(projectRoot, skipValidation); } catch (error) { logError(projectRoot, 'expo', error.message); return { exp: null, pkg: null }; } } //# sourceMappingURL=../__sourcemaps__/project/ProjectUtils.js.map