|
| 1 | +'use strict'; |
| 2 | + |
| 3 | +Object.defineProperty(exports, '__esModule', { value: true }); |
| 4 | + |
| 5 | +var tty = require('tty'); |
| 6 | + |
| 7 | +function _interopNamespace(e) { |
| 8 | + if (e && e.__esModule) return e; |
| 9 | + var n = Object.create(null); |
| 10 | + if (e) { |
| 11 | + Object.keys(e).forEach(function (k) { |
| 12 | + if (k !== 'default') { |
| 13 | + var d = Object.getOwnPropertyDescriptor(e, k); |
| 14 | + Object.defineProperty(n, k, d.get ? d : { |
| 15 | + enumerable: true, |
| 16 | + get: function () { return e[k]; } |
| 17 | + }); |
| 18 | + } |
| 19 | + }); |
| 20 | + } |
| 21 | + n["default"] = e; |
| 22 | + return Object.freeze(n); |
| 23 | +} |
| 24 | + |
| 25 | +var tty__namespace = /*#__PURE__*/_interopNamespace(tty); |
| 26 | + |
| 27 | +const { |
| 28 | + env = {}, |
| 29 | + argv = [], |
| 30 | + platform = "", |
| 31 | +} = typeof process === "undefined" ? {} : process; |
| 32 | + |
| 33 | +const isDisabled = "NO_COLOR" in env || argv.includes("--no-color"); |
| 34 | +const isForced = "FORCE_COLOR" in env || argv.includes("--color"); |
| 35 | +const isWindows = platform === "win32"; |
| 36 | +const isDumbTerminal = env.TERM === "dumb"; |
| 37 | + |
| 38 | +const isCompatibleTerminal = |
| 39 | + tty__namespace && tty__namespace.isatty && tty__namespace.isatty(1) && env.TERM && !isDumbTerminal; |
| 40 | + |
| 41 | +const isCI = |
| 42 | + "CI" in env && |
| 43 | + ("GITHUB_ACTIONS" in env || "GITLAB_CI" in env || "CIRCLECI" in env); |
| 44 | + |
| 45 | +const isColorSupported = |
| 46 | + !isDisabled && |
| 47 | + (isForced || (isWindows && !isDumbTerminal) || isCompatibleTerminal || isCI); |
| 48 | + |
| 49 | +const replaceClose = ( |
| 50 | + index, |
| 51 | + string, |
| 52 | + close, |
| 53 | + replace, |
| 54 | + head = string.substring(0, index) + replace, |
| 55 | + tail = string.substring(index + close.length), |
| 56 | + next = tail.indexOf(close) |
| 57 | +) => head + (next < 0 ? tail : replaceClose(next, tail, close, replace)); |
| 58 | + |
| 59 | +const clearBleed = (index, string, open, close, replace) => |
| 60 | + index < 0 |
| 61 | + ? open + string + close |
| 62 | + : open + replaceClose(index, string, close, replace) + close; |
| 63 | + |
| 64 | +const filterEmpty = |
| 65 | + (open, close, replace = open, at = open.length + 1) => |
| 66 | + (string) => |
| 67 | + string || !(string === "" || string === undefined) |
| 68 | + ? clearBleed( |
| 69 | + ("" + string).indexOf(close, at), |
| 70 | + string, |
| 71 | + open, |
| 72 | + close, |
| 73 | + replace |
| 74 | + ) |
| 75 | + : ""; |
| 76 | + |
| 77 | +const init = (open, close, replace) => |
| 78 | + filterEmpty(`\x1b[${open}m`, `\x1b[${close}m`, replace); |
| 79 | + |
| 80 | +const colors = { |
| 81 | + reset: init(0, 0), |
| 82 | + bold: init(1, 22, "\x1b[22m\x1b[1m"), |
| 83 | + dim: init(2, 22, "\x1b[22m\x1b[2m"), |
| 84 | + italic: init(3, 23), |
| 85 | + underline: init(4, 24), |
| 86 | + inverse: init(7, 27), |
| 87 | + hidden: init(8, 28), |
| 88 | + strikethrough: init(9, 29), |
| 89 | + black: init(30, 39), |
| 90 | + red: init(31, 39), |
| 91 | + green: init(32, 39), |
| 92 | + yellow: init(33, 39), |
| 93 | + blue: init(34, 39), |
| 94 | + magenta: init(35, 39), |
| 95 | + cyan: init(36, 39), |
| 96 | + white: init(37, 39), |
| 97 | + gray: init(90, 39), |
| 98 | + bgBlack: init(40, 49), |
| 99 | + bgRed: init(41, 49), |
| 100 | + bgGreen: init(42, 49), |
| 101 | + bgYellow: init(43, 49), |
| 102 | + bgBlue: init(44, 49), |
| 103 | + bgMagenta: init(45, 49), |
| 104 | + bgCyan: init(46, 49), |
| 105 | + bgWhite: init(47, 49), |
| 106 | + blackBright: init(90, 39), |
| 107 | + redBright: init(91, 39), |
| 108 | + greenBright: init(92, 39), |
| 109 | + yellowBright: init(93, 39), |
| 110 | + blueBright: init(94, 39), |
| 111 | + magentaBright: init(95, 39), |
| 112 | + cyanBright: init(96, 39), |
| 113 | + whiteBright: init(97, 39), |
| 114 | + bgBlackBright: init(100, 49), |
| 115 | + bgRedBright: init(101, 49), |
| 116 | + bgGreenBright: init(102, 49), |
| 117 | + bgYellowBright: init(103, 49), |
| 118 | + bgBlueBright: init(104, 49), |
| 119 | + bgMagentaBright: init(105, 49), |
| 120 | + bgCyanBright: init(106, 49), |
| 121 | + bgWhiteBright: init(107, 49), |
| 122 | +}; |
| 123 | + |
| 124 | +const createColors = ({ useColor = isColorSupported } = {}) => |
| 125 | + useColor |
| 126 | + ? colors |
| 127 | + : Object.keys(colors).reduce( |
| 128 | + (colors, key) => ({ ...colors, [key]: String }), |
| 129 | + {} |
| 130 | + ); |
| 131 | + |
| 132 | +const { |
| 133 | + reset, |
| 134 | + bold, |
| 135 | + dim, |
| 136 | + italic, |
| 137 | + underline, |
| 138 | + inverse, |
| 139 | + hidden, |
| 140 | + strikethrough, |
| 141 | + black, |
| 142 | + red, |
| 143 | + green, |
| 144 | + yellow, |
| 145 | + blue, |
| 146 | + magenta, |
| 147 | + cyan, |
| 148 | + white, |
| 149 | + gray, |
| 150 | + bgBlack, |
| 151 | + bgRed, |
| 152 | + bgGreen, |
| 153 | + bgYellow, |
| 154 | + bgBlue, |
| 155 | + bgMagenta, |
| 156 | + bgCyan, |
| 157 | + bgWhite, |
| 158 | + blackBright, |
| 159 | + redBright, |
| 160 | + greenBright, |
| 161 | + yellowBright, |
| 162 | + blueBright, |
| 163 | + magentaBright, |
| 164 | + cyanBright, |
| 165 | + whiteBright, |
| 166 | + bgBlackBright, |
| 167 | + bgRedBright, |
| 168 | + bgGreenBright, |
| 169 | + bgYellowBright, |
| 170 | + bgBlueBright, |
| 171 | + bgMagentaBright, |
| 172 | + bgCyanBright, |
| 173 | + bgWhiteBright, |
| 174 | +} = createColors(); |
| 175 | + |
| 176 | +exports.bgBlack = bgBlack; |
| 177 | +exports.bgBlackBright = bgBlackBright; |
| 178 | +exports.bgBlue = bgBlue; |
| 179 | +exports.bgBlueBright = bgBlueBright; |
| 180 | +exports.bgCyan = bgCyan; |
| 181 | +exports.bgCyanBright = bgCyanBright; |
| 182 | +exports.bgGreen = bgGreen; |
| 183 | +exports.bgGreenBright = bgGreenBright; |
| 184 | +exports.bgMagenta = bgMagenta; |
| 185 | +exports.bgMagentaBright = bgMagentaBright; |
| 186 | +exports.bgRed = bgRed; |
| 187 | +exports.bgRedBright = bgRedBright; |
| 188 | +exports.bgWhite = bgWhite; |
| 189 | +exports.bgWhiteBright = bgWhiteBright; |
| 190 | +exports.bgYellow = bgYellow; |
| 191 | +exports.bgYellowBright = bgYellowBright; |
| 192 | +exports.black = black; |
| 193 | +exports.blackBright = blackBright; |
| 194 | +exports.blue = blue; |
| 195 | +exports.blueBright = blueBright; |
| 196 | +exports.bold = bold; |
| 197 | +exports.createColors = createColors; |
| 198 | +exports.cyan = cyan; |
| 199 | +exports.cyanBright = cyanBright; |
| 200 | +exports.dim = dim; |
| 201 | +exports.gray = gray; |
| 202 | +exports.green = green; |
| 203 | +exports.greenBright = greenBright; |
| 204 | +exports.hidden = hidden; |
| 205 | +exports.inverse = inverse; |
| 206 | +exports.isColorSupported = isColorSupported; |
| 207 | +exports.italic = italic; |
| 208 | +exports.magenta = magenta; |
| 209 | +exports.magentaBright = magentaBright; |
| 210 | +exports.red = red; |
| 211 | +exports.redBright = redBright; |
| 212 | +exports.reset = reset; |
| 213 | +exports.strikethrough = strikethrough; |
| 214 | +exports.underline = underline; |
| 215 | +exports.white = white; |
| 216 | +exports.whiteBright = whiteBright; |
| 217 | +exports.yellow = yellow; |
| 218 | +exports.yellowBright = yellowBright; |
0 commit comments