react-native-builder-bob
Version:
CLI to build JavaScript files for React Native libraries
35 lines (34 loc) • 1.42 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.warn = exports.success = exports.info = exports.grouped = exports.error = void 0;
var _kleur = _interopRequireDefault(require("kleur"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const logger = (type, color, group, stream = process.stdout) => (...messages) => {
if (group) {
messages.unshift(`${_kleur.default.gray('[')}${_kleur.default.blue(group)}${_kleur.default.gray(']')}`);
}
const message = `${color(_kleur.default.bold(type))} ${messages.map(message => {
if (typeof message === 'string') {
return message.split('\n').join(`\n `);
} else {
return message;
}
}).join(' ')}`;
stream.write(message + '\n');
};
const info = exports.info = logger('ℹ', _kleur.default.blue);
const warn = exports.warn = logger('⚠', _kleur.default.yellow);
const error = exports.error = logger('✖', _kleur.default.red, undefined, process.stderr);
const success = exports.success = logger('✔', _kleur.default.green);
const grouped = label => {
return {
info: logger('ℹ', _kleur.default.blue, label),
warn: logger('⚠', _kleur.default.yellow, label),
error: logger('✖', _kleur.default.red, label, process.stderr),
success: logger('✔', _kleur.default.green, label)
};
};
exports.grouped = grouped;
//# sourceMappingURL=logger.js.map