UNPKG

@heroku-cli/color

Version:
52 lines (51 loc) 1.85 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.color = exports.CustomColors = void 0; const tslib_1 = require("tslib"); const ansiStyles = tslib_1.__importStar(require("ansi-styles")); const supports = tslib_1.__importStar(require("supports-color")); const chalk_1 = tslib_1.__importDefault(require("chalk")); const dim = process.env.ConEmuANSI === 'ON' ? chalk_1.default.gray : chalk_1.default.dim; exports.CustomColors = { supports, // map gray -> dim because it's not solarized compatible gray: dim, grey: dim, dim, attachment: chalk_1.default.cyan, addon: chalk_1.default.yellow, configVar: chalk_1.default.green, release: chalk_1.default.blue.bold, cmd: chalk_1.default.cyan.bold, pipeline: chalk_1.default.green.bold, app: (s) => chalk_1.default.level > 0 ? exports.color.heroku(`⬢ ${s}`) : s, heroku: (s) => { if (chalk_1.default.level === 0) return s; if (!exports.color.supports) return s; let has256 = exports.color.supportsColor.has256 || (process.env.TERM || '').indexOf('256') !== -1; return has256 ? '\u001b[38;5;104m' + s + ansiStyles.reset.open : chalk_1.default.magenta(s); }, }; exports.color = new Proxy(chalk_1.default, { get: (chalk, name) => { if (exports.CustomColors[name]) return exports.CustomColors[name]; return chalk[name]; }, set: (chalk, name, value) => { switch (name) { case 'enabled': if (value) chalk.level = 2; else chalk.level = 0; break; default: throw new Error(`cannot set property ${name.toString()}`); } return true; }, }); exports.default = exports.color;