summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/colors/lib
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/colors/lib')
-rw-r--r--deps/npm/node_modules/colors/lib/colors.js130
-rw-r--r--deps/npm/node_modules/colors/lib/custom/trap.js71
-rw-r--r--deps/npm/node_modules/colors/lib/custom/zalgo.js81
-rw-r--r--deps/npm/node_modules/colors/lib/extendStringPrototype.js91
-rw-r--r--deps/npm/node_modules/colors/lib/index.js7
-rw-r--r--deps/npm/node_modules/colors/lib/maps/america.js18
-rw-r--r--deps/npm/node_modules/colors/lib/maps/rainbow.js13
-rw-r--r--deps/npm/node_modules/colors/lib/maps/random.js14
-rw-r--r--deps/npm/node_modules/colors/lib/maps/zebra.js10
-rw-r--r--deps/npm/node_modules/colors/lib/styles.js6
-rw-r--r--deps/npm/node_modules/colors/lib/system/has-flag.js35
-rw-r--r--deps/npm/node_modules/colors/lib/system/supports-colors.js128
12 files changed, 373 insertions, 231 deletions
diff --git a/deps/npm/node_modules/colors/lib/colors.js b/deps/npm/node_modules/colors/lib/colors.js
index 823e3ddd0d..7ca90fa903 100644
--- a/deps/npm/node_modules/colors/lib/colors.js
+++ b/deps/npm/node_modules/colors/lib/colors.js
@@ -33,35 +33,45 @@ module['exports'] = colors;
colors.themes = {};
+var util = require('util');
var ansiStyles = colors.styles = require('./styles');
var defineProps = Object.defineProperties;
+var newLineRegex = new RegExp(/[\r\n]+/g);
-colors.supportsColor = require('./system/supports-colors');
+colors.supportsColor = require('./system/supports-colors').supportsColor;
-if (typeof colors.enabled === "undefined") {
- colors.enabled = colors.supportsColor;
+if (typeof colors.enabled === 'undefined') {
+ colors.enabled = colors.supportsColor() !== false;
}
-colors.stripColors = colors.strip = function(str){
- return ("" + str).replace(/\x1B\[\d+m/g, '');
+colors.enable = function() {
+ colors.enabled = true;
};
+colors.disable = function() {
+ colors.enabled = false;
+};
+
+colors.stripColors = colors.strip = function(str) {
+ return ('' + str).replace(/\x1B\[\d+m/g, '');
+};
-var stylize = colors.stylize = function stylize (str, style) {
+// eslint-disable-next-line no-unused-vars
+var stylize = colors.stylize = function stylize(str, style) {
if (!colors.enabled) {
return str+'';
}
return ansiStyles[style].open + str + ansiStyles[style].close;
-}
+};
var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g;
-var escapeStringRegexp = function (str) {
+var escapeStringRegexp = function(str) {
if (typeof str !== 'string') {
throw new TypeError('Expected a string');
}
- return str.replace(matchOperatorsRe, '\\$&');
-}
+ return str.replace(matchOperatorsRe, '\\$&');
+};
function build(_styles) {
var builder = function builder() {
@@ -74,15 +84,16 @@ function build(_styles) {
return builder;
}
-var styles = (function () {
+var styles = (function() {
var ret = {};
ansiStyles.grey = ansiStyles.gray;
- Object.keys(ansiStyles).forEach(function (key) {
- ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');
+ Object.keys(ansiStyles).forEach(function(key) {
+ ansiStyles[key].closeRe =
+ new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');
ret[key] = {
- get: function () {
+ get: function() {
return build(this._styles.concat(key));
- }
+ },
};
});
return ret;
@@ -91,78 +102,81 @@ var styles = (function () {
var proto = defineProps(function colors() {}, styles);
function applyStyle() {
- var args = arguments;
- var argsLen = args.length;
- var str = argsLen !== 0 && String(arguments[0]);
- if (argsLen > 1) {
- for (var a = 1; a < argsLen; a++) {
- str += ' ' + args[a];
+ var args = Array.prototype.slice.call(arguments);
+
+ var str = args.map(function(arg) {
+ if (arg !== undefined && arg.constructor === String) {
+ return arg;
+ } else {
+ return util.inspect(arg);
}
- }
+ }).join(' ');
if (!colors.enabled || !str) {
return str;
}
+ var newLinesPresent = str.indexOf('\n') != -1;
+
var nestedStyles = this._styles;
var i = nestedStyles.length;
while (i--) {
var code = ansiStyles[nestedStyles[i]];
str = code.open + str.replace(code.closeRe, code.open) + code.close;
+ if (newLinesPresent) {
+ str = str.replace(newLineRegex, function(match) {
+ return code.close + match + code.open;
+ });
+ }
}
return str;
}
-function applyTheme (theme) {
+colors.setTheme = function(theme) {
+ if (typeof theme === 'string') {
+ console.log('colors.setTheme now only accepts an object, not a string. ' +
+ 'If you are trying to set a theme from a file, it is now your (the ' +
+ 'caller\'s) responsibility to require the file. The old syntax ' +
+ 'looked like colors.setTheme(__dirname + ' +
+ '\'/../themes/generic-logging.js\'); The new syntax looks like '+
+ 'colors.setTheme(require(__dirname + ' +
+ '\'/../themes/generic-logging.js\'));');
+ return;
+ }
for (var style in theme) {
- (function(style){
- colors[style] = function(str){
- if (typeof theme[style] === 'object'){
+ (function(style) {
+ colors[style] = function(str) {
+ if (typeof theme[style] === 'object') {
var out = str;
- for (var i in theme[style]){
+ for (var i in theme[style]) {
out = colors[theme[style][i]](out);
}
return out;
}
return colors[theme[style]](str);
};
- })(style)
- }
-}
-
-colors.setTheme = function (theme) {
- if (typeof theme === 'string') {
- try {
- colors.themes[theme] = require(theme);
- applyTheme(colors.themes[theme]);
- return colors.themes[theme];
- } catch (err) {
- console.log(err);
- return err;
- }
- } else {
- applyTheme(theme);
+ })(style);
}
};
function init() {
var ret = {};
- Object.keys(styles).forEach(function (name) {
+ Object.keys(styles).forEach(function(name) {
ret[name] = {
- get: function () {
+ get: function() {
return build([name]);
- }
+ },
};
});
return ret;
}
-var sequencer = function sequencer (map, str) {
- var exploded = str.split(""), i = 0;
+var sequencer = function sequencer(map, str) {
+ var exploded = str.split('');
exploded = exploded.map(map);
- return exploded.join("");
+ return exploded.join('');
};
// custom formatter methods
@@ -171,17 +185,17 @@ colors.zalgo = require('./custom/zalgo');
// maps
colors.maps = {};
-colors.maps.america = require('./maps/america');
-colors.maps.zebra = require('./maps/zebra');
-colors.maps.rainbow = require('./maps/rainbow');
-colors.maps.random = require('./maps/random')
+colors.maps.america = require('./maps/america')(colors);
+colors.maps.zebra = require('./maps/zebra')(colors);
+colors.maps.rainbow = require('./maps/rainbow')(colors);
+colors.maps.random = require('./maps/random')(colors);
for (var map in colors.maps) {
- (function(map){
- colors[map] = function (str) {
+ (function(map) {
+ colors[map] = function(str) {
return sequencer(colors.maps[map], str);
- }
- })(map)
+ };
+ })(map);
}
-defineProps(colors, init()); \ No newline at end of file
+defineProps(colors, init());
diff --git a/deps/npm/node_modules/colors/lib/custom/trap.js b/deps/npm/node_modules/colors/lib/custom/trap.js
index 3f09143738..fbccf88ded 100644
--- a/deps/npm/node_modules/colors/lib/custom/trap.js
+++ b/deps/npm/node_modules/colors/lib/custom/trap.js
@@ -1,45 +1,46 @@
-module['exports'] = function runTheTrap (text, options) {
- var result = "";
- text = text || "Run the trap, drop the bass";
+module['exports'] = function runTheTrap(text, options) {
+ var result = '';
+ text = text || 'Run the trap, drop the bass';
text = text.split('');
var trap = {
- a: ["\u0040", "\u0104", "\u023a", "\u0245", "\u0394", "\u039b", "\u0414"],
- b: ["\u00df", "\u0181", "\u0243", "\u026e", "\u03b2", "\u0e3f"],
- c: ["\u00a9", "\u023b", "\u03fe"],
- d: ["\u00d0", "\u018a", "\u0500" , "\u0501" ,"\u0502", "\u0503"],
- e: ["\u00cb", "\u0115", "\u018e", "\u0258", "\u03a3", "\u03be", "\u04bc", "\u0a6c"],
- f: ["\u04fa"],
- g: ["\u0262"],
- h: ["\u0126", "\u0195", "\u04a2", "\u04ba", "\u04c7", "\u050a"],
- i: ["\u0f0f"],
- j: ["\u0134"],
- k: ["\u0138", "\u04a0", "\u04c3", "\u051e"],
- l: ["\u0139"],
- m: ["\u028d", "\u04cd", "\u04ce", "\u0520", "\u0521", "\u0d69"],
- n: ["\u00d1", "\u014b", "\u019d", "\u0376", "\u03a0", "\u048a"],
- o: ["\u00d8", "\u00f5", "\u00f8", "\u01fe", "\u0298", "\u047a", "\u05dd", "\u06dd", "\u0e4f"],
- p: ["\u01f7", "\u048e"],
- q: ["\u09cd"],
- r: ["\u00ae", "\u01a6", "\u0210", "\u024c", "\u0280", "\u042f"],
- s: ["\u00a7", "\u03de", "\u03df", "\u03e8"],
- t: ["\u0141", "\u0166", "\u0373"],
- u: ["\u01b1", "\u054d"],
- v: ["\u05d8"],
- w: ["\u0428", "\u0460", "\u047c", "\u0d70"],
- x: ["\u04b2", "\u04fe", "\u04fc", "\u04fd"],
- y: ["\u00a5", "\u04b0", "\u04cb"],
- z: ["\u01b5", "\u0240"]
- }
- text.forEach(function(c){
+ a: ['\u0040', '\u0104', '\u023a', '\u0245', '\u0394', '\u039b', '\u0414'],
+ b: ['\u00df', '\u0181', '\u0243', '\u026e', '\u03b2', '\u0e3f'],
+ c: ['\u00a9', '\u023b', '\u03fe'],
+ d: ['\u00d0', '\u018a', '\u0500', '\u0501', '\u0502', '\u0503'],
+ e: ['\u00cb', '\u0115', '\u018e', '\u0258', '\u03a3', '\u03be', '\u04bc',
+ '\u0a6c'],
+ f: ['\u04fa'],
+ g: ['\u0262'],
+ h: ['\u0126', '\u0195', '\u04a2', '\u04ba', '\u04c7', '\u050a'],
+ i: ['\u0f0f'],
+ j: ['\u0134'],
+ k: ['\u0138', '\u04a0', '\u04c3', '\u051e'],
+ l: ['\u0139'],
+ m: ['\u028d', '\u04cd', '\u04ce', '\u0520', '\u0521', '\u0d69'],
+ n: ['\u00d1', '\u014b', '\u019d', '\u0376', '\u03a0', '\u048a'],
+ o: ['\u00d8', '\u00f5', '\u00f8', '\u01fe', '\u0298', '\u047a', '\u05dd',
+ '\u06dd', '\u0e4f'],
+ p: ['\u01f7', '\u048e'],
+ q: ['\u09cd'],
+ r: ['\u00ae', '\u01a6', '\u0210', '\u024c', '\u0280', '\u042f'],
+ s: ['\u00a7', '\u03de', '\u03df', '\u03e8'],
+ t: ['\u0141', '\u0166', '\u0373'],
+ u: ['\u01b1', '\u054d'],
+ v: ['\u05d8'],
+ w: ['\u0428', '\u0460', '\u047c', '\u0d70'],
+ x: ['\u04b2', '\u04fe', '\u04fc', '\u04fd'],
+ y: ['\u00a5', '\u04b0', '\u04cb'],
+ z: ['\u01b5', '\u0240'],
+ };
+ text.forEach(function(c) {
c = c.toLowerCase();
- var chars = trap[c] || [" "];
+ var chars = trap[c] || [' '];
var rand = Math.floor(Math.random() * chars.length);
- if (typeof trap[c] !== "undefined") {
+ if (typeof trap[c] !== 'undefined') {
result += trap[c][rand];
} else {
result += c;
}
});
return result;
-
-}
+};
diff --git a/deps/npm/node_modules/colors/lib/custom/zalgo.js b/deps/npm/node_modules/colors/lib/custom/zalgo.js
index 45c89a8d30..01bdd2b802 100644
--- a/deps/npm/node_modules/colors/lib/custom/zalgo.js
+++ b/deps/npm/node_modules/colors/lib/custom/zalgo.js
@@ -1,8 +1,8 @@
// please no
module['exports'] = function zalgo(text, options) {
- text = text || " he is here ";
+ text = text || ' he is here ';
var soul = {
- "up" : [
+ 'up': [
'̍', '̎', '̄', '̅',
'̿', '̑', '̆', '̐',
'͒', '͗', '͑', '̇',
@@ -15,9 +15,9 @@ module['exports'] = function zalgo(text, options) {
'ͦ', 'ͧ', 'ͨ', 'ͩ',
'ͪ', 'ͫ', 'ͬ', 'ͭ',
'ͮ', 'ͯ', '̾', '͛',
- '͆', '̚'
+ '͆', '̚',
],
- "down" : [
+ 'down': [
'̖', '̗', '̘', '̙',
'̜', '̝', '̞', '̟',
'̠', '̤', '̥', '̦',
@@ -27,28 +27,27 @@ module['exports'] = function zalgo(text, options) {
'̺', '̻', '̼', 'ͅ',
'͇', '͈', '͉', '͍',
'͎', '͓', '͔', '͕',
- '͖', '͙', '͚', '̣'
+ '͖', '͙', '͚', '̣',
],
- "mid" : [
+ 'mid': [
'̕', '̛', '̀', '́',
'͘', '̡', '̢', '̧',
'̨', '̴', '̵', '̶',
'͜', '͝', '͞',
'͟', '͠', '͢', '̸',
- '̷', '͡', ' ҉'
- ]
- },
- all = [].concat(soul.up, soul.down, soul.mid),
- zalgo = {};
+ '̷', '͡', ' ҉',
+ ],
+ };
+ var all = [].concat(soul.up, soul.down, soul.mid);
function randomNumber(range) {
var r = Math.floor(Math.random() * range);
return r;
}
- function is_char(character) {
+ function isChar(character) {
var bool = false;
- all.filter(function (i) {
+ all.filter(function(i) {
bool = (i === character);
});
return bool;
@@ -56,41 +55,47 @@ module['exports'] = function zalgo(text, options) {
function heComes(text, options) {
- var result = '', counts, l;
+ var result = '';
+ var counts;
+ var l;
options = options || {};
- options["up"] = typeof options["up"] !== 'undefined' ? options["up"] : true;
- options["mid"] = typeof options["mid"] !== 'undefined' ? options["mid"] : true;
- options["down"] = typeof options["down"] !== 'undefined' ? options["down"] : true;
- options["size"] = typeof options["size"] !== 'undefined' ? options["size"] : "maxi";
+ options['up'] =
+ typeof options['up'] !== 'undefined' ? options['up'] : true;
+ options['mid'] =
+ typeof options['mid'] !== 'undefined' ? options['mid'] : true;
+ options['down'] =
+ typeof options['down'] !== 'undefined' ? options['down'] : true;
+ options['size'] =
+ typeof options['size'] !== 'undefined' ? options['size'] : 'maxi';
text = text.split('');
for (l in text) {
- if (is_char(l)) {
+ if (isChar(l)) {
continue;
}
result = result + text[l];
- counts = {"up" : 0, "down" : 0, "mid" : 0};
+ counts = {'up': 0, 'down': 0, 'mid': 0};
switch (options.size) {
- case 'mini':
- counts.up = randomNumber(8);
- counts.mid = randomNumber(2);
- counts.down = randomNumber(8);
- break;
- case 'maxi':
- counts.up = randomNumber(16) + 3;
- counts.mid = randomNumber(4) + 1;
- counts.down = randomNumber(64) + 3;
- break;
- default:
- counts.up = randomNumber(8) + 1;
- counts.mid = randomNumber(6) / 2;
- counts.down = randomNumber(8) + 1;
- break;
+ case 'mini':
+ counts.up = randomNumber(8);
+ counts.mid = randomNumber(2);
+ counts.down = randomNumber(8);
+ break;
+ case 'maxi':
+ counts.up = randomNumber(16) + 3;
+ counts.mid = randomNumber(4) + 1;
+ counts.down = randomNumber(64) + 3;
+ break;
+ default:
+ counts.up = randomNumber(8) + 1;
+ counts.mid = randomNumber(6) / 2;
+ counts.down = randomNumber(8) + 1;
+ break;
}
- var arr = ["up", "mid", "down"];
+ var arr = ['up', 'mid', 'down'];
for (var d in arr) {
var index = arr[d];
- for (var i = 0 ; i <= counts[index]; i++) {
+ for (var i = 0; i <= counts[index]; i++) {
if (options[index]) {
result = result + soul[index][randomNumber(soul[index].length)];
}
@@ -101,4 +106,4 @@ module['exports'] = function zalgo(text, options) {
}
// don't summon him
return heComes(text, options);
-}
+};
diff --git a/deps/npm/node_modules/colors/lib/extendStringPrototype.js b/deps/npm/node_modules/colors/lib/extendStringPrototype.js
index 67374a1c22..46fd386a91 100644
--- a/deps/npm/node_modules/colors/lib/extendStringPrototype.js
+++ b/deps/npm/node_modules/colors/lib/extendStringPrototype.js
@@ -1,51 +1,42 @@
var colors = require('./colors');
-module['exports'] = function () {
-
+module['exports'] = function() {
//
// Extends prototype of native string object to allow for "foo".red syntax
//
- var addProperty = function (color, func) {
+ var addProperty = function(color, func) {
String.prototype.__defineGetter__(color, func);
};
- var sequencer = function sequencer (map, str) {
- return function () {
- var exploded = this.split(""), i = 0;
- exploded = exploded.map(map);
- return exploded.join("");
- }
- };
-
- addProperty('strip', function () {
+ addProperty('strip', function() {
return colors.strip(this);
});
- addProperty('stripColors', function () {
+ addProperty('stripColors', function() {
return colors.strip(this);
});
- addProperty("trap", function(){
+ addProperty('trap', function() {
return colors.trap(this);
});
- addProperty("zalgo", function(){
+ addProperty('zalgo', function() {
return colors.zalgo(this);
});
- addProperty("zebra", function(){
+ addProperty('zebra', function() {
return colors.zebra(this);
});
- addProperty("rainbow", function(){
+ addProperty('rainbow', function() {
return colors.rainbow(this);
});
- addProperty("random", function(){
+ addProperty('random', function() {
return colors.random(this);
});
- addProperty("america", function(){
+ addProperty('america', function() {
return colors.america(this);
});
@@ -53,8 +44,8 @@ module['exports'] = function () {
// Iterate through all default styles and colors
//
var x = Object.keys(colors.styles);
- x.forEach(function (style) {
- addProperty(style, function () {
+ x.forEach(function(style) {
+ addProperty(style, function() {
return colors.stylize(this, style);
});
});
@@ -65,49 +56,55 @@ module['exports'] = function () {
// on String that you should not overwrite.
//
var stringPrototypeBlacklist = [
- '__defineGetter__', '__defineSetter__', '__lookupGetter__', '__lookupSetter__', 'charAt', 'constructor',
- 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'valueOf', 'charCodeAt',
- 'indexOf', 'lastIndexof', 'length', 'localeCompare', 'match', 'replace', 'search', 'slice', 'split', 'substring',
- 'toLocaleLowerCase', 'toLocaleUpperCase', 'toLowerCase', 'toUpperCase', 'trim', 'trimLeft', 'trimRight'
+ '__defineGetter__', '__defineSetter__', '__lookupGetter__',
+ '__lookupSetter__', 'charAt', 'constructor', 'hasOwnProperty',
+ 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString',
+ 'valueOf', 'charCodeAt', 'indexOf', 'lastIndexOf', 'length',
+ 'localeCompare', 'match', 'repeat', 'replace', 'search', 'slice',
+ 'split', 'substring', 'toLocaleLowerCase', 'toLocaleUpperCase',
+ 'toLowerCase', 'toUpperCase', 'trim', 'trimLeft', 'trimRight',
];
- Object.keys(theme).forEach(function (prop) {
+ Object.keys(theme).forEach(function(prop) {
if (stringPrototypeBlacklist.indexOf(prop) !== -1) {
- console.log('warn: '.red + ('String.prototype' + prop).magenta + ' is probably something you don\'t want to override. Ignoring style name');
- }
- else {
+ console.log('warn: '.red + ('String.prototype' + prop).magenta +
+ ' is probably something you don\'t want to override. ' +
+ 'Ignoring style name');
+ } else {
if (typeof(theme[prop]) === 'string') {
colors[prop] = colors[theme[prop]];
- addProperty(prop, function () {
- return colors[theme[prop]](this);
+ addProperty(prop, function() {
+ return colors[prop](this);
});
- }
- else {
- addProperty(prop, function () {
- var ret = this;
+ } else {
+ var themePropApplicator = function(str) {
+ var ret = str || this;
for (var t = 0; t < theme[prop].length; t++) {
ret = colors[theme[prop][t]](ret);
}
return ret;
- });
+ };
+ addProperty(prop, themePropApplicator);
+ colors[prop] = function(str) {
+ return themePropApplicator(str);
+ };
}
}
});
}
- colors.setTheme = function (theme) {
+ colors.setTheme = function(theme) {
if (typeof theme === 'string') {
- try {
- colors.themes[theme] = require(theme);
- applyTheme(colors.themes[theme]);
- return colors.themes[theme];
- } catch (err) {
- console.log(err);
- return err;
- }
+ console.log('colors.setTheme now only accepts an object, not a string. ' +
+ 'If you are trying to set a theme from a file, it is now your (the ' +
+ 'caller\'s) responsibility to require the file. The old syntax ' +
+ 'looked like colors.setTheme(__dirname + ' +
+ '\'/../themes/generic-logging.js\'); The new syntax looks like '+
+ 'colors.setTheme(require(__dirname + ' +
+ '\'/../themes/generic-logging.js\'));');
+ return;
} else {
applyTheme(theme);
}
};
-
-}; \ No newline at end of file
+};
diff --git a/deps/npm/node_modules/colors/lib/index.js b/deps/npm/node_modules/colors/lib/index.js
index fd0956d03a..9df5ab7df3 100644
--- a/deps/npm/node_modules/colors/lib/index.js
+++ b/deps/npm/node_modules/colors/lib/index.js
@@ -1,12 +1,13 @@
var colors = require('./colors');
module['exports'] = colors;
-// Remark: By default, colors will add style properties to String.prototype
+// Remark: By default, colors will add style properties to String.prototype.
//
-// If you don't wish to extend String.prototype you can do this instead and native String will not be touched
+// If you don't wish to extend String.prototype, you can do this instead and
+// native String will not be touched:
//
// var colors = require('colors/safe);
// colors.red("foo")
//
//
-require('./extendStringPrototype')(); \ No newline at end of file
+require('./extendStringPrototype')();
diff --git a/deps/npm/node_modules/colors/lib/maps/america.js b/deps/npm/node_modules/colors/lib/maps/america.js
index a07d8327ff..dc96903328 100644
--- a/deps/npm/node_modules/colors/lib/maps/america.js
+++ b/deps/npm/node_modules/colors/lib/maps/america.js
@@ -1,12 +1,10 @@
-var colors = require('../colors');
-
-module['exports'] = (function() {
- return function (letter, i, exploded) {
- if(letter === " ") return letter;
- switch(i%3) {
+module['exports'] = function(colors) {
+ return function(letter, i, exploded) {
+ if (letter === ' ') return letter;
+ switch (i%3) {
case 0: return colors.red(letter);
- case 1: return colors.white(letter)
- case 2: return colors.blue(letter)
+ case 1: return colors.white(letter);
+ case 2: return colors.blue(letter);
}
- }
-})(); \ No newline at end of file
+ };
+};
diff --git a/deps/npm/node_modules/colors/lib/maps/rainbow.js b/deps/npm/node_modules/colors/lib/maps/rainbow.js
index 5442744369..874508da8e 100644
--- a/deps/npm/node_modules/colors/lib/maps/rainbow.js
+++ b/deps/npm/node_modules/colors/lib/maps/rainbow.js
@@ -1,12 +1,11 @@
-var colors = require('../colors');
-
-module['exports'] = (function () {
- var rainbowColors = ['red', 'yellow', 'green', 'blue', 'magenta']; //RoY G BiV
- return function (letter, i, exploded) {
- if (letter === " ") {
+module['exports'] = function(colors) {
+ // RoY G BiV
+ var rainbowColors = ['red', 'yellow', 'green', 'blue', 'magenta'];
+ return function(letter, i, exploded) {
+ if (letter === ' ') {
return letter;
} else {
return colors[rainbowColors[i++ % rainbowColors.length]](letter);
}
};
-})();
+};
diff --git a/deps/npm/node_modules/colors/lib/maps/random.js b/deps/npm/node_modules/colors/lib/maps/random.js
index 5cd101fae2..6f8f2f8e1e 100644
--- a/deps/npm/node_modules/colors/lib/maps/random.js
+++ b/deps/npm/node_modules/colors/lib/maps/random.js
@@ -1,8 +1,10 @@
-var colors = require('../colors');
-
-module['exports'] = (function () {
- var available = ['underline', 'inverse', 'grey', 'yellow', 'red', 'green', 'blue', 'white', 'cyan', 'magenta'];
+module['exports'] = function(colors) {
+ var available = ['underline', 'inverse', 'grey', 'yellow', 'red', 'green',
+ 'blue', 'white', 'cyan', 'magenta'];
return function(letter, i, exploded) {
- return letter === " " ? letter : colors[available[Math.round(Math.random() * (available.length - 1))]](letter);
+ return letter === ' ' ? letter :
+ colors[
+ available[Math.round(Math.random() * (available.length - 2))]
+ ](letter);
};
-})(); \ No newline at end of file
+};
diff --git a/deps/npm/node_modules/colors/lib/maps/zebra.js b/deps/npm/node_modules/colors/lib/maps/zebra.js
index bf7dcdead0..fa73623544 100644
--- a/deps/npm/node_modules/colors/lib/maps/zebra.js
+++ b/deps/npm/node_modules/colors/lib/maps/zebra.js
@@ -1,5 +1,5 @@
-var colors = require('../colors');
-
-module['exports'] = function (letter, i, exploded) {
- return i % 2 === 0 ? letter : colors.inverse(letter);
-}; \ No newline at end of file
+module['exports'] = function(colors) {
+ return function(letter, i, exploded) {
+ return i % 2 === 0 ? letter : colors.inverse(letter);
+ };
+};
diff --git a/deps/npm/node_modules/colors/lib/styles.js b/deps/npm/node_modules/colors/lib/styles.js
index 067d59070c..02db9acf7c 100644
--- a/deps/npm/node_modules/colors/lib/styles.js
+++ b/deps/npm/node_modules/colors/lib/styles.js
@@ -65,13 +65,13 @@ var codes = {
blueBG: [44, 49],
magentaBG: [45, 49],
cyanBG: [46, 49],
- whiteBG: [47, 49]
+ whiteBG: [47, 49],
};
-Object.keys(codes).forEach(function (key) {
+Object.keys(codes).forEach(function(key) {
var val = codes[key];
var style = styles[key] = [];
style.open = '\u001b[' + val[0] + 'm';
style.close = '\u001b[' + val[1] + 'm';
-}); \ No newline at end of file
+});
diff --git a/deps/npm/node_modules/colors/lib/system/has-flag.js b/deps/npm/node_modules/colors/lib/system/has-flag.js
new file mode 100644
index 0000000000..a347dd4d7a
--- /dev/null
+++ b/deps/npm/node_modules/colors/lib/system/has-flag.js
@@ -0,0 +1,35 @@
+/*
+MIT License
+
+Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+*/
+
+'use strict';
+
+module.exports = function(flag, argv) {
+ argv = argv || process.argv;
+
+ var terminatorPos = argv.indexOf('--');
+ var prefix = /^-{1,2}/.test(flag) ? '' : '--';
+ var pos = argv.indexOf(prefix + flag);
+
+ return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);
+};
diff --git a/deps/npm/node_modules/colors/lib/system/supports-colors.js b/deps/npm/node_modules/colors/lib/system/supports-colors.js
index 3e008aa93a..f1f9c8ff3d 100644
--- a/deps/npm/node_modules/colors/lib/system/supports-colors.js
+++ b/deps/npm/node_modules/colors/lib/system/supports-colors.js
@@ -23,39 +23,129 @@ THE SOFTWARE.
*/
-var argv = process.argv;
+'use strict';
-module.exports = (function () {
- if (argv.indexOf('--no-color') !== -1 ||
- argv.indexOf('--color=false') !== -1) {
+var os = require('os');
+var hasFlag = require('./has-flag.js');
+
+var env = process.env;
+
+var forceColor = void 0;
+if (hasFlag('no-color') || hasFlag('no-colors') || hasFlag('color=false')) {
+ forceColor = false;
+} else if (hasFlag('color') || hasFlag('colors') || hasFlag('color=true')
+ || hasFlag('color=always')) {
+ forceColor = true;
+}
+if ('FORCE_COLOR' in env) {
+ forceColor = env.FORCE_COLOR.length === 0
+ || parseInt(env.FORCE_COLOR, 10) !== 0;
+}
+
+function translateLevel(level) {
+ if (level === 0) {
return false;
}
- if (argv.indexOf('--color') !== -1 ||
- argv.indexOf('--color=true') !== -1 ||
- argv.indexOf('--color=always') !== -1) {
- return true;
+ return {
+ level: level,
+ hasBasic: true,
+ has256: level >= 2,
+ has16m: level >= 3,
+ };
+}
+
+function supportsColor(stream) {
+ if (forceColor === false) {
+ return 0;
}
- if (process.stdout && !process.stdout.isTTY) {
- return false;
+ if (hasFlag('color=16m') || hasFlag('color=full')
+ || hasFlag('color=truecolor')) {
+ return 3;
+ }
+
+ if (hasFlag('color=256')) {
+ return 2;
+ }
+
+ if (stream && !stream.isTTY && forceColor !== true) {
+ return 0;
}
+ var min = forceColor ? 1 : 0;
+
if (process.platform === 'win32') {
- return true;
+ // Node.js 7.5.0 is the first version of Node.js to include a patch to
+ // libuv that enables 256 color output on Windows. Anything earlier and it
+ // won't work. However, here we target Node.js 8 at minimum as it is an LTS
+ // release, and Node.js 7 is not. Windows 10 build 10586 is the first
+ // Windows release that supports 256 colors. Windows 10 build 14931 is the
+ // first release that supports 16m/TrueColor.
+ var osRelease = os.release().split('.');
+ if (Number(process.versions.node.split('.')[0]) >= 8
+ && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
+ return Number(osRelease[2]) >= 14931 ? 3 : 2;
+ }
+
+ return 1;
+ }
+
+ if ('CI' in env) {
+ if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(function(sign) {
+ return sign in env;
+ }) || env.CI_NAME === 'codeship') {
+ return 1;
+ }
+
+ return min;
}
- if ('COLORTERM' in process.env) {
- return true;
+ if ('TEAMCITY_VERSION' in env) {
+ return (/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0
+ );
}
- if (process.env.TERM === 'dumb') {
- return false;
+ if ('TERM_PROGRAM' in env) {
+ var version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);
+
+ switch (env.TERM_PROGRAM) {
+ case 'iTerm.app':
+ return version >= 3 ? 3 : 2;
+ case 'Hyper':
+ return 3;
+ case 'Apple_Terminal':
+ return 2;
+ // No default
+ }
+ }
+
+ if (/-256(color)?$/i.test(env.TERM)) {
+ return 2;
}
- if (/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(process.env.TERM)) {
- return true;
+ if (/^screen|^xterm|^vt100|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
+ return 1;
}
- return false;
-})(); \ No newline at end of file
+ if ('COLORTERM' in env) {
+ return 1;
+ }
+
+ if (env.TERM === 'dumb') {
+ return min;
+ }
+
+ return min;
+}
+
+function getSupportLevel(stream) {
+ var level = supportsColor(stream);
+ return translateLevel(level);
+}
+
+module.exports = {
+ supportsColor: getSupportLevel,
+ stdout: getSupportLevel(process.stdout),
+ stderr: getSupportLevel(process.stderr),
+};