lib-tools
Version:
The lib-tools helps you simplify the build, bundle, test and npm packaging workflows for Typescript, JavaScript, Angular library projects and assets module projects.
31 lines • 3.15 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.colorize = void 0;
const supportsColor = require("supports-color");
const defaultColors = {
reset: '\u001b[0m',
// fg
white: '\x1b[37m',
bold: '\u001b[1m',
yellow: '\u001b[1m\u001b[33m',
red: '\u001b[1m\u001b[31m',
green: '\u001b[1m\u001b[32m',
cyan: '\u001b[1m\u001b[36m',
magenta: '\u001b[1m\u001b[35m'
};
function colorize(str, colorKey) {
if (!supportsColor.stdout) {
return str;
}
if (!colorKey || !(colorKey in defaultColors)) {
return str;
}
const buf = [];
buf.push(defaultColors[colorKey]);
buf.push(str);
buf.push('\u001b[37m');
buf.push('\u001b[39m\u001b[22m');
return buf.join('');
}
exports.colorize = colorize;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JpemUuanMiLCJzb3VyY2VSb290IjoiLi8iLCJzb3VyY2VzIjpbInV0aWxzL2NvbG9yaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGdEQUFnRDtBQUVoRCxNQUFNLGFBQWEsR0FBOEI7SUFDN0MsS0FBSyxFQUFFLFdBQVc7SUFFbEIsS0FBSztJQUNMLEtBQUssRUFBRSxVQUFVO0lBQ2pCLElBQUksRUFBRSxXQUFXO0lBQ2pCLE1BQU0sRUFBRSxxQkFBcUI7SUFDN0IsR0FBRyxFQUFFLHFCQUFxQjtJQUMxQixLQUFLLEVBQUUscUJBQXFCO0lBQzVCLElBQUksRUFBRSxxQkFBcUI7SUFDM0IsT0FBTyxFQUFFLHFCQUFxQjtDQUNqQyxDQUFDO0FBSUYsU0FBZ0IsUUFBUSxDQUFDLEdBQVcsRUFBRSxRQUFtQjtJQUNyRCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRTtRQUN2QixPQUFPLEdBQUcsQ0FBQztLQUNkO0lBRUQsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsUUFBUSxJQUFJLGFBQWEsQ0FBQyxFQUFFO1FBQzNDLE9BQU8sR0FBRyxDQUFDO0tBQ2Q7SUFFRCxNQUFNLEdBQUcsR0FBYSxFQUFFLENBQUM7SUFDekIsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNsQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2QixHQUFHLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFFakMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFoQkQsNEJBZ0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgc3VwcG9ydHNDb2xvciBmcm9tICdzdXBwb3J0cy1jb2xvcic7XG5cbmNvbnN0IGRlZmF1bHRDb2xvcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgcmVzZXQ6ICdcXHUwMDFiWzBtJyxcblxuICAgIC8vIGZnXG4gICAgd2hpdGU6ICdcXHgxYlszN20nLFxuICAgIGJvbGQ6ICdcXHUwMDFiWzFtJyxcbiAgICB5ZWxsb3c6ICdcXHUwMDFiWzFtXFx1MDAxYlszM20nLFxuICAgIHJlZDogJ1xcdTAwMWJbMW1cXHUwMDFiWzMxbScsXG4gICAgZ3JlZW46ICdcXHUwMDFiWzFtXFx1MDAxYlszMm0nLFxuICAgIGN5YW46ICdcXHUwMDFiWzFtXFx1MDAxYlszNm0nLFxuICAgIG1hZ2VudGE6ICdcXHUwMDFiWzFtXFx1MDAxYlszNW0nXG59O1xuXG5leHBvcnQgdHlwZSBDb2xvcktleXMgPSAnd2hpdGUnIHwgJ2JvbGQnIHwgJ3llbGxvdycgfCAncmVkJyB8ICdncmVlbicgfCAnY3lhbicgfCAnbWFnZW50YSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjb2xvcml6ZShzdHI6IHN0cmluZywgY29sb3JLZXk6IENvbG9yS2V5cyk6IHN0cmluZyB7XG4gICAgaWYgKCFzdXBwb3J0c0NvbG9yLnN0ZG91dCkge1xuICAgICAgICByZXR1cm4gc3RyO1xuICAgIH1cblxuICAgIGlmICghY29sb3JLZXkgfHwgIShjb2xvcktleSBpbiBkZWZhdWx0Q29sb3JzKSkge1xuICAgICAgICByZXR1cm4gc3RyO1xuICAgIH1cblxuICAgIGNvbnN0IGJ1Zjogc3RyaW5nW10gPSBbXTtcbiAgICBidWYucHVzaChkZWZhdWx0Q29sb3JzW2NvbG9yS2V5XSk7XG4gICAgYnVmLnB1c2goc3RyKTtcbiAgICBidWYucHVzaCgnXFx1MDAxYlszN20nKTtcbiAgICBidWYucHVzaCgnXFx1MDAxYlszOW1cXHUwMDFiWzIybScpO1xuXG4gICAgcmV0dXJuIGJ1Zi5qb2luKCcnKTtcbn1cbiJdfQ==