@heroku-cli/color
Version:
base CLI command for cli-engine
52 lines (51 loc) • 1.85 kB
JavaScript
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;
;