You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
216 lines
5.1 KiB
216 lines
5.1 KiB
3 years ago
|
'use strict';
|
||
|
|
||
|
Object.defineProperty(exports, '__esModule', { value: true });
|
||
|
|
||
|
var tty = require('tty');
|
||
|
|
||
|
function _interopNamespace(e) {
|
||
|
if (e && e.__esModule) return e;
|
||
|
var n = Object.create(null);
|
||
|
if (e) {
|
||
|
Object.keys(e).forEach(function (k) {
|
||
|
if (k !== 'default') {
|
||
|
var d = Object.getOwnPropertyDescriptor(e, k);
|
||
|
Object.defineProperty(n, k, d.get ? d : {
|
||
|
enumerable: true,
|
||
|
get: function () { return e[k]; }
|
||
|
});
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
n["default"] = e;
|
||
|
return Object.freeze(n);
|
||
|
}
|
||
|
|
||
|
var tty__namespace = /*#__PURE__*/_interopNamespace(tty);
|
||
|
|
||
|
const env = process.env || {};
|
||
|
const argv = process.argv || [];
|
||
|
|
||
|
const isDisabled = "NO_COLOR" in env || argv.includes("--no-color");
|
||
|
const isForced = "FORCE_COLOR" in env || argv.includes("--color");
|
||
|
const isWindows = process.platform === "win32";
|
||
|
|
||
|
const isCompatibleTerminal =
|
||
|
tty__namespace && tty__namespace.isatty && tty__namespace.isatty(1) && env.TERM && env.TERM !== "dumb";
|
||
|
|
||
|
const isCI =
|
||
|
"CI" in env &&
|
||
|
("GITHUB_ACTIONS" in env || "GITLAB_CI" in env || "CIRCLECI" in env);
|
||
|
|
||
|
const isColorSupported =
|
||
|
!isDisabled && (isForced || isWindows || isCompatibleTerminal || isCI);
|
||
|
|
||
|
const replaceClose = (
|
||
|
index,
|
||
|
string,
|
||
|
close,
|
||
|
replace,
|
||
|
head = string.substring(0, index) + replace,
|
||
|
tail = string.substring(index + close.length),
|
||
|
next = tail.indexOf(close)
|
||
|
) => head + (next < 0 ? tail : replaceClose(next, tail, close, replace));
|
||
|
|
||
|
const clearBleed = (index, string, open, close, replace) =>
|
||
|
index < 0
|
||
|
? open + string + close
|
||
|
: open + replaceClose(index, string, close, replace) + close;
|
||
|
|
||
|
const filterEmpty =
|
||
|
(open, close, replace = open, at = open.length + 1) =>
|
||
|
(string) =>
|
||
|
string || !(string === "" || string === undefined)
|
||
|
? clearBleed(
|
||
|
("" + string).indexOf(close, at),
|
||
|
string,
|
||
|
open,
|
||
|
close,
|
||
|
replace
|
||
|
)
|
||
|
: "";
|
||
|
|
||
|
const init = (open, close, replace) =>
|
||
|
filterEmpty(`\x1b[${open}m`, `\x1b[${close}m`, replace);
|
||
|
|
||
|
const colors = {
|
||
|
reset: init(0, 0),
|
||
|
bold: init(1, 22, "\x1b[22m\x1b[1m"),
|
||
|
dim: init(2, 22, "\x1b[22m\x1b[2m"),
|
||
|
italic: init(3, 23),
|
||
|
underline: init(4, 24),
|
||
|
inverse: init(7, 27),
|
||
|
hidden: init(8, 28),
|
||
|
strikethrough: init(9, 29),
|
||
|
black: init(30, 39),
|
||
|
red: init(31, 39),
|
||
|
green: init(32, 39),
|
||
|
yellow: init(33, 39),
|
||
|
blue: init(34, 39),
|
||
|
magenta: init(35, 39),
|
||
|
cyan: init(36, 39),
|
||
|
white: init(37, 39),
|
||
|
gray: init(90, 39),
|
||
|
bgBlack: init(40, 49),
|
||
|
bgRed: init(41, 49),
|
||
|
bgGreen: init(42, 49),
|
||
|
bgYellow: init(43, 49),
|
||
|
bgBlue: init(44, 49),
|
||
|
bgMagenta: init(45, 49),
|
||
|
bgCyan: init(46, 49),
|
||
|
bgWhite: init(47, 49),
|
||
|
blackBright: init(90, 39),
|
||
|
redBright: init(91, 39),
|
||
|
greenBright: init(92, 39),
|
||
|
yellowBright: init(93, 39),
|
||
|
blueBright: init(94, 39),
|
||
|
magentaBright: init(95, 39),
|
||
|
cyanBright: init(96, 39),
|
||
|
whiteBright: init(97, 39),
|
||
|
bgBlackBright: init(100, 49),
|
||
|
bgRedBright: init(101, 49),
|
||
|
bgGreenBright: init(102, 49),
|
||
|
bgYellowBright: init(103, 49),
|
||
|
bgBlueBright: init(104, 49),
|
||
|
bgMagentaBright: init(105, 49),
|
||
|
bgCyanBright: init(106, 49),
|
||
|
bgWhiteBright: init(107, 49),
|
||
|
};
|
||
|
|
||
|
const none = (any) => any;
|
||
|
|
||
|
const createColors = ({ useColor = isColorSupported } = {}) =>
|
||
|
useColor
|
||
|
? colors
|
||
|
: Object.keys(colors).reduce(
|
||
|
(colors, key) => ({ ...colors, [key]: none }),
|
||
|
{}
|
||
|
);
|
||
|
|
||
|
const {
|
||
|
reset,
|
||
|
bold,
|
||
|
dim,
|
||
|
italic,
|
||
|
underline,
|
||
|
inverse,
|
||
|
hidden,
|
||
|
strikethrough,
|
||
|
black,
|
||
|
red,
|
||
|
green,
|
||
|
yellow,
|
||
|
blue,
|
||
|
magenta,
|
||
|
cyan,
|
||
|
white,
|
||
|
gray,
|
||
|
bgBlack,
|
||
|
bgRed,
|
||
|
bgGreen,
|
||
|
bgYellow,
|
||
|
bgBlue,
|
||
|
bgMagenta,
|
||
|
bgCyan,
|
||
|
bgWhite,
|
||
|
blackBright,
|
||
|
redBright,
|
||
|
greenBright,
|
||
|
yellowBright,
|
||
|
blueBright,
|
||
|
magentaBright,
|
||
|
cyanBright,
|
||
|
whiteBright,
|
||
|
bgBlackBright,
|
||
|
bgRedBright,
|
||
|
bgGreenBright,
|
||
|
bgYellowBright,
|
||
|
bgBlueBright,
|
||
|
bgMagentaBright,
|
||
|
bgCyanBright,
|
||
|
bgWhiteBright,
|
||
|
} = createColors();
|
||
|
|
||
|
exports.bgBlack = bgBlack;
|
||
|
exports.bgBlackBright = bgBlackBright;
|
||
|
exports.bgBlue = bgBlue;
|
||
|
exports.bgBlueBright = bgBlueBright;
|
||
|
exports.bgCyan = bgCyan;
|
||
|
exports.bgCyanBright = bgCyanBright;
|
||
|
exports.bgGreen = bgGreen;
|
||
|
exports.bgGreenBright = bgGreenBright;
|
||
|
exports.bgMagenta = bgMagenta;
|
||
|
exports.bgMagentaBright = bgMagentaBright;
|
||
|
exports.bgRed = bgRed;
|
||
|
exports.bgRedBright = bgRedBright;
|
||
|
exports.bgWhite = bgWhite;
|
||
|
exports.bgWhiteBright = bgWhiteBright;
|
||
|
exports.bgYellow = bgYellow;
|
||
|
exports.bgYellowBright = bgYellowBright;
|
||
|
exports.black = black;
|
||
|
exports.blackBright = blackBright;
|
||
|
exports.blue = blue;
|
||
|
exports.blueBright = blueBright;
|
||
|
exports.bold = bold;
|
||
|
exports.createColors = createColors;
|
||
|
exports.cyan = cyan;
|
||
|
exports.cyanBright = cyanBright;
|
||
|
exports.dim = dim;
|
||
|
exports.gray = gray;
|
||
|
exports.green = green;
|
||
|
exports.greenBright = greenBright;
|
||
|
exports.hidden = hidden;
|
||
|
exports.inverse = inverse;
|
||
|
exports.isColorSupported = isColorSupported;
|
||
|
exports.italic = italic;
|
||
|
exports.magenta = magenta;
|
||
|
exports.magentaBright = magentaBright;
|
||
|
exports.red = red;
|
||
|
exports.redBright = redBright;
|
||
|
exports.reset = reset;
|
||
|
exports.strikethrough = strikethrough;
|
||
|
exports.underline = underline;
|
||
|
exports.white = white;
|
||
|
exports.whiteBright = whiteBright;
|
||
|
exports.yellow = yellow;
|
||
|
exports.yellowBright = yellowBright;
|