pax_global_header00006660000000000000000000000064125402676770014532gustar00rootroot0000000000000052 comment=8bf2ad9fa695dcb30b7e9fd83691b139fd6655c4 colors.js-1.1.2/000077500000000000000000000000001254026767700134475ustar00rootroot00000000000000colors.js-1.1.2/.travis.yml000066400000000000000000000001041254026767700155530ustar00rootroot00000000000000language: node_js node_js: - "0.11" - "0.10" - "0.8" - "0.6"colors.js-1.1.2/LICENSE000066400000000000000000000022251254026767700144550ustar00rootroot00000000000000Original Library - Copyright (c) Marak Squires Additional Functionality - Copyright (c) Sindre Sorhus (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.colors.js-1.1.2/ReadMe.md000066400000000000000000000066211254026767700151330ustar00rootroot00000000000000# colors.js [![Build Status](https://travis-ci.org/Marak/colors.js.svg?branch=master)](https://travis-ci.org/Marak/colors.js) ## get color and style in your node.js console ![Demo](https://raw.githubusercontent.com/Marak/colors.js/master/screenshots/colors.png) ## Installation npm install colors ## colors and styles! ### text colors - black - red - green - yellow - blue - magenta - cyan - white - gray - grey ### background colors - bgBlack - bgRed - bgGreen - bgYellow - bgBlue - bgMagenta - bgCyan - bgWhite ### styles - reset - bold - dim - italic - underline - inverse - hidden - strikethrough ### extras - rainbow - zebra - america - trap - random ## Usage By popular demand, `colors` now ships with two types of usages! The super nifty way ```js var colors = require('colors'); console.log('hello'.green); // outputs green text console.log('i like cake and pies'.underline.red) // outputs red underlined text console.log('inverse the color'.inverse); // inverses the color console.log('OMG Rainbows!'.rainbow); // rainbow console.log('Run the trap'.trap); // Drops the bass ``` or a slightly less nifty way which doesn't extend `String.prototype` ```js var colors = require('colors/safe'); console.log(colors.green('hello')); // outputs green text console.log(colors.red.underline('i like cake and pies')) // outputs red underlined text console.log(colors.inverse('inverse the color')); // inverses the color console.log(colors.rainbow('OMG Rainbows!')); // rainbow console.log(colors.trap('Run the trap')); // Drops the bass ``` I prefer the first way. Some people seem to be afraid of extending `String.prototype` and prefer the second way. If you are writing good code you will never have an issue with the first approach. If you really don't want to touch `String.prototype`, the second usage will not touch `String` native object. ## Disabling Colors To disable colors you can pass the following arguments in the command line to your application: ```bash node myapp.js --no-color ``` ## Console.log [string substitution](http://nodejs.org/docs/latest/api/console.html#console_console_log_data) ```js var name = 'Marak'; console.log(colors.green('Hello %s'), name); // outputs -> 'Hello Marak' ``` ## Custom themes ### Using standard API ```js var colors = require('colors'); colors.setTheme({ silly: 'rainbow', input: 'grey', verbose: 'cyan', prompt: 'grey', info: 'green', data: 'grey', help: 'cyan', warn: 'yellow', debug: 'blue', error: 'red' }); // outputs red text console.log("this is an error".error); // outputs yellow text console.log("this is a warning".warn); ``` ### Using string safe API ```js var colors = require('colors/safe'); // set single property var error = colors.red; error('this is red'); // set theme colors.setTheme({ silly: 'rainbow', input: 'grey', verbose: 'cyan', prompt: 'grey', info: 'green', data: 'grey', help: 'cyan', warn: 'yellow', debug: 'blue', error: 'red' }); // outputs red text console.log(colors.error("this is an error")); // outputs yellow text console.log(colors.warn("this is a warning")); ``` You can also combine them: ```javascript var colors = require('colors'); colors.setTheme({ custom: ['red', 'underline'] }); console.log('test'.custom); ``` *Protip: There is a secret undocumented style in `colors`. If you find the style you can summon him.* colors.js-1.1.2/examples/000077500000000000000000000000001254026767700152655ustar00rootroot00000000000000colors.js-1.1.2/examples/normal-usage.js000066400000000000000000000034031254026767700202150ustar00rootroot00000000000000var colors = require('../lib/index'); console.log("First some yellow text".yellow); console.log("Underline that text".yellow.underline); console.log("Make it bold and red".red.bold); console.log(("Double Raindows All Day Long").rainbow) console.log("Drop the bass".trap) console.log("DROP THE RAINBOW BASS".trap.rainbow) console.log('Chains are also cool.'.bold.italic.underline.red); // styles not widely supported console.log('So '.green + 'are'.underline + ' ' + 'inverse'.inverse + ' styles! '.yellow.bold); // styles not widely supported console.log("Zebras are so fun!".zebra); // // Remark: .strikethrough may not work with Mac OS Terminal App // console.log("This is " + "not".strikethrough + " fun."); console.log('Background color attack!'.black.bgWhite) console.log('Use random styles on everything!'.random) console.log('America, Heck Yeah!'.america) console.log('Setting themes is useful') // // Custom themes // console.log('Generic logging theme as JSON'.green.bold.underline); // Load theme with JSON literal colors.setTheme({ silly: 'rainbow', input: 'grey', verbose: 'cyan', prompt: 'grey', info: 'green', data: 'grey', help: 'cyan', warn: 'yellow', debug: 'blue', error: 'red' }); // outputs red text console.log("this is an error".error); // outputs yellow text console.log("this is a warning".warn); // outputs grey text console.log("this is an input".input); console.log('Generic logging theme as file'.green.bold.underline); // Load a theme from file colors.setTheme(__dirname + '/../themes/generic-logging.js'); // outputs red text console.log("this is an error".error); // outputs yellow text console.log("this is a warning".warn); // outputs grey text console.log("this is an input".input); //console.log("Don't summon".zalgo)colors.js-1.1.2/examples/safe-string.js000066400000000000000000000036111254026767700200460ustar00rootroot00000000000000var colors = require('../safe'); console.log(colors.yellow("First some yellow text")); console.log(colors.yellow.underline("Underline that text")); console.log(colors.red.bold("Make it bold and red")); console.log(colors.rainbow("Double Raindows All Day Long")) console.log(colors.trap("Drop the bass")) console.log(colors.rainbow(colors.trap("DROP THE RAINBOW BASS"))); console.log(colors.bold.italic.underline.red('Chains are also cool.')); // styles not widely supported console.log(colors.green('So ') + colors.underline('are') + ' ' + colors.inverse('inverse') + colors.yellow.bold(' styles! ')); // styles not widely supported console.log(colors.zebra("Zebras are so fun!")); console.log("This is " + colors.strikethrough("not") + " fun."); console.log(colors.black.bgWhite('Background color attack!')); console.log(colors.random('Use random styles on everything!')) console.log(colors.america('America, Heck Yeah!')); console.log('Setting themes is useful') // // Custom themes // //console.log('Generic logging theme as JSON'.green.bold.underline); // Load theme with JSON literal colors.setTheme({ silly: 'rainbow', input: 'grey', verbose: 'cyan', prompt: 'grey', info: 'green', data: 'grey', help: 'cyan', warn: 'yellow', debug: 'blue', error: 'red' }); // outputs red text console.log(colors.error("this is an error")); // outputs yellow text console.log(colors.warn("this is a warning")); // outputs grey text console.log(colors.input("this is an input")); // console.log('Generic logging theme as file'.green.bold.underline); // Load a theme from file colors.setTheme(__dirname + '/../themes/generic-logging.js'); // outputs red text console.log(colors.error("this is an error")); // outputs yellow text console.log(colors.warn("this is a warning")); // outputs grey text console.log(colors.input("this is an input")); // console.log(colors.zalgo("Don't summon him")) colors.js-1.1.2/lib/000077500000000000000000000000001254026767700142155ustar00rootroot00000000000000colors.js-1.1.2/lib/colors.js000066400000000000000000000113311254026767700160530ustar00rootroot00000000000000/* The MIT License (MIT) Original Library - Copyright (c) Marak Squires Additional functionality - Copyright (c) Sindre Sorhus (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. */ var colors = {}; module['exports'] = colors; colors.themes = {}; var ansiStyles = colors.styles = require('./styles'); var defineProps = Object.defineProperties; colors.supportsColor = require('./system/supports-colors'); if (typeof colors.enabled === "undefined") { colors.enabled = colors.supportsColor; } colors.stripColors = colors.strip = function(str){ return ("" + str).replace(/\x1B\[\d+m/g, ''); }; 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) { if (typeof str !== 'string') { throw new TypeError('Expected a string'); } return str.replace(matchOperatorsRe, '\\$&'); } function build(_styles) { var builder = function builder() { return applyStyle.apply(builder, arguments); }; builder._styles = _styles; // __proto__ is used because we must return a function, but there is // no way to create a function with a different prototype. builder.__proto__ = proto; return builder; } 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'); ret[key] = { get: function () { return build(this._styles.concat(key)); } }; }); return ret; })(); 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]; } } if (!colors.enabled || !str) { return str; } 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; } return str; } function applyTheme (theme) { for (var style in theme) { (function(style){ colors[style] = function(str){ if (typeof theme[style] === 'object'){ var out = str; 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); } }; function init() { var ret = {}; Object.keys(styles).forEach(function (name) { ret[name] = { get: function () { return build([name]); } }; }); return ret; } var sequencer = function sequencer (map, str) { var exploded = str.split(""), i = 0; exploded = exploded.map(map); return exploded.join(""); }; // custom formatter methods colors.trap = require('./custom/trap'); 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') for (var map in colors.maps) { (function(map){ colors[map] = function (str) { return sequencer(colors.maps[map], str); } })(map) } defineProps(colors, init());colors.js-1.1.2/lib/custom/000077500000000000000000000000001254026767700155275ustar00rootroot00000000000000colors.js-1.1.2/lib/custom/trap.js000066400000000000000000000032001254026767700170260ustar00rootroot00000000000000module['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){ c = c.toLowerCase(); var chars = trap[c] || [" "]; var rand = Math.floor(Math.random() * chars.length); if (typeof trap[c] !== "undefined") { result += trap[c][rand]; } else { result += c; } }); return result; } colors.js-1.1.2/lib/custom/zalgo.js000066400000000000000000000054351254026767700172100ustar00rootroot00000000000000// please no module['exports'] = function zalgo(text, options) { text = text || " he is here "; var soul = { "up" : [ '̍', '̎', '̄', '̅', '̿', '̑', '̆', '̐', '͒', '͗', '͑', '̇', '̈', '̊', '͂', '̓', '̈', '͊', '͋', '͌', '̃', '̂', '̌', '͐', '̀', '́', '̋', '̏', '̒', '̓', '̔', '̽', '̉', 'ͣ', 'ͤ', 'ͥ', 'ͦ', 'ͧ', 'ͨ', 'ͩ', 'ͪ', 'ͫ', 'ͬ', 'ͭ', 'ͮ', 'ͯ', '̾', '͛', '͆', '̚' ], "down" : [ '̖', '̗', '̘', '̙', '̜', '̝', '̞', '̟', '̠', '̤', '̥', '̦', '̩', '̪', '̫', '̬', '̭', '̮', '̯', '̰', '̱', '̲', '̳', '̹', '̺', '̻', '̼', 'ͅ', '͇', '͈', '͉', '͍', '͎', '͓', '͔', '͕', '͖', '͙', '͚', '̣' ], "mid" : [ '̕', '̛', '̀', '́', '͘', '̡', '̢', '̧', '̨', '̴', '̵', '̶', '͜', '͝', '͞', '͟', '͠', '͢', '̸', '̷', '͡', ' ҉' ] }, all = [].concat(soul.up, soul.down, soul.mid), zalgo = {}; function randomNumber(range) { var r = Math.floor(Math.random() * range); return r; } function is_char(character) { var bool = false; all.filter(function (i) { bool = (i === character); }); return bool; } function heComes(text, options) { var result = '', counts, 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"; text = text.split(''); for (l in text) { if (is_char(l)) { continue; } result = result + text[l]; 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; } var arr = ["up", "mid", "down"]; for (var d in arr) { var index = arr[d]; for (var i = 0 ; i <= counts[index]; i++) { if (options[index]) { result = result + soul[index][randomNumber(soul[index].length)]; } } } } return result; } // don't summon him return heComes(text, options); } colors.js-1.1.2/lib/extendStringPrototype.js000066400000000000000000000057501254026767700211660ustar00rootroot00000000000000var colors = require('./colors'); module['exports'] = function () { // // Extends prototype of native string object to allow for "foo".red syntax // 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 () { return colors.strip(this); }); addProperty('stripColors', function () { return colors.strip(this); }); addProperty("trap", function(){ return colors.trap(this); }); addProperty("zalgo", function(){ return colors.zalgo(this); }); addProperty("zebra", function(){ return colors.zebra(this); }); addProperty("rainbow", function(){ return colors.rainbow(this); }); addProperty("random", function(){ return colors.random(this); }); addProperty("america", function(){ return colors.america(this); }); // // Iterate through all default styles and colors // var x = Object.keys(colors.styles); x.forEach(function (style) { addProperty(style, function () { return colors.stylize(this, style); }); }); function applyTheme(theme) { // // Remark: This is a list of methods that exist // 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' ]; 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 { if (typeof(theme[prop]) === 'string') { colors[prop] = colors[theme[prop]]; addProperty(prop, function () { return colors[theme[prop]](this); }); } else { addProperty(prop, function () { var ret = this; for (var t = 0; t < theme[prop].length; t++) { ret = colors[theme[prop][t]](ret); } return ret; }); } } }); } 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); } }; };colors.js-1.1.2/lib/index.js000066400000000000000000000005521254026767700156640ustar00rootroot00000000000000var colors = require('./colors'); module['exports'] = colors; // 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 // // var colors = require('colors/safe); // colors.red("foo") // // require('./extendStringPrototype')();colors.js-1.1.2/lib/maps/000077500000000000000000000000001254026767700151555ustar00rootroot00000000000000colors.js-1.1.2/lib/maps/america.js000066400000000000000000000004631254026767700171170ustar00rootroot00000000000000var colors = require('../colors'); module['exports'] = (function() { 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) } } })();colors.js-1.1.2/lib/maps/rainbow.js000066400000000000000000000005301254026767700171520ustar00rootroot00000000000000var colors = require('../colors'); module['exports'] = (function () { var rainbowColors = ['red', 'yellow', 'green', 'blue', 'magenta']; //RoY G BiV return function (letter, i, exploded) { if (letter === " ") { return letter; } else { return colors[rainbowColors[i++ % rainbowColors.length]](letter); } }; })(); colors.js-1.1.2/lib/maps/random.js000066400000000000000000000005401254026767700167720ustar00rootroot00000000000000var colors = require('../colors'); module['exports'] = (function () { 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); }; })();colors.js-1.1.2/lib/maps/zebra.js000066400000000000000000000002231254026767700166130ustar00rootroot00000000000000var colors = require('../colors'); module['exports'] = function (letter, i, exploded) { return i % 2 === 0 ? letter : colors.inverse(letter); };colors.js-1.1.2/lib/styles.js000066400000000000000000000040631254026767700161010ustar00rootroot00000000000000/* The MIT License (MIT) Copyright (c) Sindre Sorhus (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. */ var styles = {}; module['exports'] = styles; var codes = { reset: [0, 0], bold: [1, 22], dim: [2, 22], italic: [3, 23], underline: [4, 24], inverse: [7, 27], hidden: [8, 28], strikethrough: [9, 29], black: [30, 39], red: [31, 39], green: [32, 39], yellow: [33, 39], blue: [34, 39], magenta: [35, 39], cyan: [36, 39], white: [37, 39], gray: [90, 39], grey: [90, 39], bgBlack: [40, 49], bgRed: [41, 49], bgGreen: [42, 49], bgYellow: [43, 49], bgBlue: [44, 49], bgMagenta: [45, 49], bgCyan: [46, 49], bgWhite: [47, 49], // legacy styles for colors pre v1.0.0 blackBG: [40, 49], redBG: [41, 49], greenBG: [42, 49], yellowBG: [43, 49], blueBG: [44, 49], magentaBG: [45, 49], cyanBG: [46, 49], whiteBG: [47, 49] }; 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'; });colors.js-1.1.2/lib/system/000077500000000000000000000000001254026767700155415ustar00rootroot00000000000000colors.js-1.1.2/lib/system/supports-colors.js000066400000000000000000000034331254026767700213000ustar00rootroot00000000000000/* The MIT License (MIT) Copyright (c) Sindre Sorhus (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. */ var argv = process.argv; module.exports = (function () { if (argv.indexOf('--no-color') !== -1 || argv.indexOf('--color=false') !== -1) { return false; } if (argv.indexOf('--color') !== -1 || argv.indexOf('--color=true') !== -1 || argv.indexOf('--color=always') !== -1) { return true; } if (process.stdout && !process.stdout.isTTY) { return false; } if (process.platform === 'win32') { return true; } if ('COLORTERM' in process.env) { return true; } if (process.env.TERM === 'dumb') { return false; } if (/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(process.env.TERM)) { return true; } return false; })();colors.js-1.1.2/package.json000066400000000000000000000012731254026767700157400ustar00rootroot00000000000000{ "name": "colors", "description": "get colors in your node.js console", "version": "1.1.2", "author": "Marak Squires", "homepage": "https://github.com/Marak/colors.js", "bugs": "https://github.com/Marak/colors.js/issues", "keywords": [ "ansi", "terminal", "colors" ], "repository": { "type": "git", "url": "http://github.com/Marak/colors.js.git" }, "license": "MIT", "scripts": { "test": "node tests/basic-test.js && node tests/safe-test.js" }, "engines": { "node": ">=0.1.90" }, "main": "lib", "files": [ "examples", "lib", "LICENSE", "safe.js", "themes" ] } colors.js-1.1.2/safe.js000066400000000000000000000003611254026767700147230ustar00rootroot00000000000000// // Remark: Requiring this file will use the "safe" colors API which will not touch String.prototype // // var colors = require('colors/safe); // colors.red("foo") // // var colors = require('./lib/colors'); module['exports'] = colors;colors.js-1.1.2/screenshots/000077500000000000000000000000001254026767700160075ustar00rootroot00000000000000colors.js-1.1.2/screenshots/colors.png000066400000000000000000000531361254026767700200260ustar00rootroot00000000000000PNG  IHDR6|PLTE=!0&N/B4 2 +YE0&.%*Z44'!qfIZ/h )^q@<=%*!KK 5Ostu1''e9 7ul&#S(Л\aaag/,#. 7 :%+Q%l)]*<)OOP1 w&$ <~R '1J/]\ aj"LL ۡ3wDXLׅ}mNgz)s䷢㼂3ʓNeghɴ$hR'ʫ,/c3w~|w#pS0! Gdը;;/4DK`*һ_1(Ic+˚! ͝Qv"IaZMw=^++c1]v5*ϟ7g55q2c+c3Lҙ*Iq6/v.&?D7Lw0_G O(S(u@8jiK\"妴 էjEwbH٩rB-Sx.əlCuɩ||,.&L(xguOEn,C9FOT@/VŮpja") \TqUtd%@%ܲO.Prs ax7-$}%1z#•AwA[{TL&+)zU22&67mSIDATxZAH\W} f\fWH$\2HggPDPHL0`IA&X!bҍ I\"v?:9~2]df?{fTSSSg#T 5PC 5|LWW>o'C[ubJ6r̕'#wr[~Vbyuc> 떩d`5Thc.ijjynod@u_̭(שgcIܾ kwqiDAp%lh,}=9tJֿV.1 Fs빎ʖqX-#wL3`>2t ;VT^%&Ӿ1,׶6Q/rՂrEcݕZ/F+ZrQ'A;vL*yh;a-hS9grK2H$8gmeU1U5.'kԴ zY{Hz'bR {7+G̹6e&z ;uL1qgcTE1-#ā$ 8f1fJ ULQ$l$4Ճ>Eؼs@]1Ges׎4lu,8R .ʧIWK΢{m0dL%U5dP33ˌ4)5ӿWG=#/rX:K2H6˶aUD%I5l$G<> zbKm.HC),birN%8~I5n[PX/tmHx!Rn1I 93Fp7`4_,eLPjq,,DVcVETRz{%}9hoy#YAvLjXef,6)싆R LdwMyd'Rt:1啑拙znJgLA"IFht6RTl@i)WU?qZD`3ټ\ E2Qio*۸=-Mx~]LmC̲'^:<,bɈxY$1]$نT1UJm9E:<E>ɺ=߾"Bl6*e St!cOgyS8 ' ɶ mHQJ ߜl7x\Snc"Kۘ)/;Sma1o=a1(2loɋ^wC3cvTQj$́`#u-brQswLQ׳y^1܏1}vZ rKF<$D Dc*Vǧg|mCbE\cMћdMǬFRyP'6!{z_nǁnjLa=3؆D .ٱecUD$ZyIX6,5sͰ|[$+9Q9q&l62ZQ;OC${FېHcisfRET8Ē.ſmc,b?|n`=4_'5*cڼW· Cη$nNwљۭM #b6Spd֜3b’6$e0R0{^nfUD%'~؆WXT {Y@ל G%쉍}2g)r|ի"qXzl4xw;+^9!`$e0fc7*Z;6ڮ_5%(Eh|?/).>Y V 3ff5(R2ZW޷_ p c>6464esƺ+]vPt ҸHqS@r Y *JJJ?P#G" RxTy$;^E`={۞$RT*Jj^s YTѧ淲zM亮sn-=hMV g_sadl2ozsvWANI(°fYxS;Έ/ 5G|ܮ 5qQl1ZDZ3^Ł xߋM^aQ0tI>ҺoADA0pD[ ǀR򖂭Pݦ23Bn$!vSecYuNyP{73-HDk/B#(|lyg8 lÆ{^1zF#Q"ʛ[ ecI!QI,$/c0؂!fwlÆꎳوψ 7_I ^a3ٷzQ-Ư?tvqr9,F >b\|(eBN~} 6lns6u xA _Gؘ 5!o|s2@m?`M7+t`+6T7E"\Ϩ콃]٦! ۓ`f@ڹ|?'Ow\kXK ۱ˢ ٰ))VP蓔xä4O–>ZSƶPiL:lņx^;6\h_bC G|ڠI~8McI9K kG# J6\HHl(6ڮFTbn|6L~CJDblP;Ql <{ u`@.F"< r`Dvl.~V}6Iݎ -PQ;v4W{!Kbm-|kYYpq<9`EgD0(Xi+6!as2KwE3+ad@X`TIu.3~kXtF\u(XyscѐhͤB,aq0&[g16<5+[!<”/)I jR]1CIDgDN%r|ؠn 6"釃Qps0ؠ`3~?*[(6ZrԤ7{;I(y<<-/X.MLM~L}GgoyEl68Iu 0,Dgą6'$8XeQ//Qr5QƦU~g&qJB?R*y:]*U{z՞YT,0*N6*&5ljT*+^J:T*JApUl^N΢:v S52KDDXWu~G?` [=yEu*\æz`xQl ؛ M@ GAؐygTv`s{6AU&ߏ yz @~ WPfNeu~@֣;sV| 3z < Ճ c#PfJeu~ྲ7PL$Ycu:<ȏ! ̩y$CyH(6/o^Kȏg LKSi|H(6 jݨbbC9}/CE 61Pldͽ~9n@X̜:7JzZQ:26ru@ o؁(PfNek+=lD~aC ^NU xjܟVNnNhiۏI8?.f=O̅fy/ଗ)Kt0#ltTcs'Um]CĜ,p:8%lUUUl_bsK_#l^ƝY39sfg;sT+vؼQ_jXeС Q^ .Sà^9e$AYC2T=ua%Z,T=T29S={yKW>QCuٳH#:AWe= /+/vgm뇍6ŦS86h(6 Ѿ& 6 /+>oQ#<΢'-be M~dpSOtlbN@_r،W^ Ḧ́58WnQ:x-iM2-+M?5?2kqsc . +{$RmW  kl`Kl^agftj5C:iQR+yUTY9}]K㱊T`ldYdRQD/6a#gt]o?u;lq^ZU&Ç76-_MDQ(U ͳa8&;RI^#=[+ 7D:Q$ =F!s6Y{sYw]Ub# ˡAfi{;fyti7ez䥝 x 56N&buq#5‡c3VEDaVN"STAc@ n8=S {=7פ嵋 BO\O- XF7o;yDqzeF<ƜdFУR(keŞ[|MVb$4O:BsQ3.t*+såͦzƊGw_򑐑d<(Y{m.7Z;ӗzRb>Ai*Q^4*/?یFϖǘ lr+CKJrcSVE:+IrVl.UzjF~Z/!^JF}$Y k;$ - ?L˜k2'!X#SAaTxXK.4M2.()rXȧ@|Nؠ;dfM)R_z^E^{^5\ޫ.8suMl8-R.띪zC-x:6861qj l8ݗD`Y?k~uҡeUxae1@({۬)T e/~M*)j:Dǽ}<ṊMbbGԴZ&/uA??x2%Yꥒ &Q ^V*%8^s{Q^^ta3kt%@c6ЩjőHz]noA etoԙO O)q^Ch=2쟑45tXb^إaCXiyNC`:}nS.8m-mw:AO_;a3hz> lf8a]lg E3*6peM+z9)A/0 YQ%gu9,X#w &Lv*z/œlH/o);*6?l(6u:5KN!:G5`|]^;iƅL,XbT7A̸N6ZJI5Ruؼ&T~EzQGZo#gtȕG?qqXlCh//aB馥+HuZ!1z6l^~w̘|&P4nFQt4M ';׾R̀[C Iy#%j=:u(nHϿf}>ڨAwz/^h n9M}:=ՎziZH݋6HE"Nh~ީ S9=C.4Cb;$ĢMTc3AMT5M/oy4zFcoG21q~t5ED`b3K-mbtՅfR |%zRFLQ 䞽l)A,! 7`T/6[>} {ZC-z{:l͍WT9Riq0>Rpq"` 5<\Q6Kؘ^<:5/$ 6ԍFsC1劻82ݦʾ Dc}wac| uE.u>m.K9h@bCM" Dn:#HE0f!86{f}YWӭ>7qe MI (1' } ʩI cß߰8G&}x.AS'!DEdY`X5yyACT?Dh$Uos;<t^7Kam45xؐӓt06;$rbci') (Pj[KUCo jtU(rX&9ztB\3Nvxpϔu[9˺QN hw|ܻNArr T;-]5jwrr z!)j-:E0p=ت=qJޔm!9uR`VQ06pŚ(|@)$??}Ir qY+aٳa|UfT7a~.͡oS宝˩ ƫz^d󋝘kX1w2 m=$ K>cVtu)y!)^0 "&aQ+"SB*VHc64V^U zSX cu )-f2)6\i$xkc`'_O6VETZX(Ҳd]`GC&E~Kx2W,Jנ;GZq#9sP\lVgægGQ*j>Wre9Ů̊@Xiu|}uuA۾3 Z{zH*u@XT^ATCc HiUiI1kofsLVGf1p$ [U AM6EGX/6%EǬ͇bڔ ˼>Æ:\{Uf:PlSa +RsMP,*EK7]XX~gr/)NKcA{**220a}Vbm:kU ؁"l=EZasB'_mL:󩂸9a3> l^IbeZ"]RQfXja;q䰰\xd; 6'ckST&ҕ?Q*,x.򷠢0k5AB`s9SO-B~#*ĺR ӢplSKXu޾}TMTdMY3Zu]6Du?}f6Qe:xfX[(KB޺yt`ӂ*{ (0|))̪ -M+^&UJ6krpCؔz 匱\+Nlڕ269 ̿XxylR#`}3cynl`{p[ZEXeZd*Nlc!%ru%C#625~`*tc6R1+z֯o8PA:7nMtUaF#ԈR'Qk:Қ_wE} ӛɤ!-&$n֪oH[t6JsKˢa/3lMa&{yѦرAC&8'z*S1n9$omG8 +T8M2>ٙNc~Z:߃ aдNhRAߡSԃh"f6{l}Ha Y8fX ZAcw{셊ݍҊWB7Zp¦GGlA`3o }4ނކl:m3ɓ=otnQTX=0tP$zejuQDr# .F*%ؐ++wSj~Jã Z/{Rkٰc򤜮"wKH5*UƩFgIhdl"H>z?6NxѼ'4RC';6}ͯTaI k,.SNG'`jq5:9/if&^jpr M (r }C5Ghz^ȩ<^.)Z=AӛBn^hpc& MVRRfA>Dm6݅ $HxI8f_9CJ'a:Cǁ-7.Ë ;ֽcA ?81w;9H䄴<>OA)y8ZsMqNGJ!X:loz6"; ;&d}ay]SSem)[čMy6eZ$!1AX 8P!26")S-)˦,-Rb7>6N 􂩯,쮐ĴbEIB”pŹ6uz3 r7>6JeJ5-ĂKKM-dlLb|tK̭꒦VSCY4+jS\w5{-[BgXƩzbT&Vnbos Kb=MaciE=|Εu3PW)XA2^l8M/fŒPҐ%%MYۙL+O뚽KaH&߇UO>Cu񱑉9GDtPb3^<\;6򺟒^l~Ebusoj2mbZF )~s%60MadƎ Bxk&($Lٰg$ luOrΝH,vmؤB! zzk?%2 IN ѧ+$L16\}iWp\q Dbm5=Tj) |Wdʻw.rS^^.T9=43ת#.O&B f#Ilhc~DQEbf&єϹOCk}F/d=W\(85.6qfhÆXHЌ1|\͹ץ˰Ga#]q!mbHgˡ~Ԣn`Cؐ7mMo~:koh^Ql ̚=5mؐ&e`hkR)?LjبU R%g}tV﵌iLqƶ:P~dl0 ڬ׼uFN@2&#> c1O {R 3R`CEr=)(\jGرh"6a h 9#ho$X8%#W.tdb%4i-nU$64w<:)jp*KFJlLj:DŦb#MzZ0H]ODb%̻6[ؠQb4$pCX&S c~ŋMw }Ul-?IZӇ!:9 xtdbŒhZyQ`Cg})͈z`I%n/bN.2^1MB?j$_2'=%6؃ĆSR)Co~)` ;6706k:/oY:CCXI 4r65]怰8de4E*Ç͐w56ax4%`NeodǦk|lȏ;Ert36{F&VB-p¯SօS|s¤kr <}fIj}%HI'Ri- `B;.]:@?|rm$6kf͚ej{zƂ =kީ׹K mC(_S'^g۰9!r2!M[~b 1Ǽ=z2UUJXwݫG]}7gեKES[@xtI`g7''r yAL@!&P(R6^UFj: W0D!5\,U F9e`( Tt nb 1blѲX/ %Tb_Z;:P ^3Uo41󃘀"v" 6W,W*uc%-ßA]Ml`kdž K" lb"+uc%,#%oa)ޓ7QCg؈ (Douc%,t/aՋ6d,brg{?)P TPmɋyZٰ׍hl`8ůapBQ9f 1󃘀BLbdPub yXIm.Ab*U?mXy o#&AȪh˨{1[neIʊ yT_7O13Ouסe (D{vƀ]G?Y7jq<_.89l6asaDSL}LJ&>9%c ϤwsJj9Ut@ lsJr9 Ib?|Lpl9%Hx$hB*S©ik06 ΂.[=li" X &P;|~u.]t*)12gKN=TR<f y:&ӻ6vb1D`]uC!'''''''''''a9qrجe-l\5P8;I ֧d+uA-)ר[_At^5s8 goq9E6տwKp].wz1cR#Fæ-8R*[Xl8lK^^ץQE.]'Ɣ̔'gΜi3ߞN''ǥև=L[JaS6̕_* T8 f]ϡ̫(urN}SkSgS:kOP";*f8EkW$s}?eS)! aY`#\ ݠXȬ R8!*T.׷Xi=@UO %H:R`s2B;vpԉn_i}PW}lJHdCX؈"WB~GBfni!q6}퟾iú?7ߘ)4s%jK.AqrM\&Y7Z|۹_fĆ )ED6e8*r%%w)S P8LQV^`a_ 1;XGaW6ȕ_8P4oS65 Ε_l4fHz! ^28|Wkf!06Tl8WR~} R8ˏnl8Z) Wb$6;qFܯ6 uTc?G%%K&A[(1i/x f ®vI[ȣ>؈yp 6S6 Dg/hhǁ^&Lbjk:. tTHdCX;qq[(H*:޽Wd/m^\R?Vj3?G+%{軔Ćޜr~[SnWٰRWܢͬlX*`#Gy=mp`DG)6$ 8`M,0VN⒡ykR >ZȔ!dņM6%%!,C@tc؈eɒ Z8kFl`" ZZhJ6_$L` y7m=w3`s9삛h*% R22%Z>V#XA .j푗hIǩ'~8ƐH'.#fCX?s^AtrkM;?mænraDcM͜anqJ+h5%q8l6&TTmݑMJvpa;w8br+'krGBzæP%{A2U6>#;x#6Vc}Ʀ-D۳\ 5c'mwa6@G>6"do3.V.O*n+.V٦ӷvAcZWڣފPl*7%%U2#[FTՈ)E*c>L/ޭ4-2Ilʨ]]zjO9EˡCedc"_ҪҒ0AC^ITgu\G. z=mէk7ش_s=jٱ6C_ VM=z=R^Y}6:\m7?]_A7)Md`O䂠NjL-U#|)s:ݳfֵ`ؽÖ[lUJo& !U4L%Wz(nn]n!г*BGbBwu)MIRy5yj!6!͏C:سA\p|^JJ G|X uYuPa6]>\l~y^#էOGa`npE[F456Ƭwߌю Z3\Fܛƣ"iR6*e2>a*ti.7R*"9}qǧPh_` Ul~L^}()a\~x2`p6& Rˬ&|%$Lmz "M@[!lNO=sZ W5a2LZO_[`߄d/Wm%rdƆM/xgo&e=w6\J8Hltʭg:R6 6Hiza!_h%( q}lP[5dP?\x ;wǐޏo^$~ S=Z9մ CSUмש [+6`#,e3y2Eq̪- &?`I3jkC`rQ: +*e aÜƆ{wݨsL#u& 6634h*G(^Ilub# BbC467Ђs`pwX}!!dl>i17>7T(QXleZjd/iW1&46p!6fh'as[(lIIlTo{ڰA0݅b@bQ  xLn췰R'B +凍 zD;Abcz`56PJ>c[5I0/?ӾwӾԓJAܶrq]>,?,t[)C0>EǦhqlOx ^>1f!<{<*DTH+**j7sedC`/7 H=3dȐm zu,sK/|7T󑓧H<-{`Jc:fӪ*i~m q$vO/!]TH<_z(*~RZ;B&ѧumjz_T b lB)HscZr9f:ccHXf, (aH [Mf9BD%YZfl@ `&COL>pؐa@(Oc~? UW~jؼo..ޱL3y͐ ]k96 ĒĎl|K-TZFnjr9-ӑE089P28'@vs6N<(8L2DhIENDB`colors.js-1.1.2/tests/000077500000000000000000000000001254026767700146115ustar00rootroot00000000000000colors.js-1.1.2/tests/basic-test.js000066400000000000000000000025031254026767700172050ustar00rootroot00000000000000var assert = require('assert'), colors = require('../lib/index'); var s = 'string'; function a(s, code) { return '\x1B[' + code.toString() + 'm' + s + '\x1B[39m'; } function aE(s, color, code) { assert.equal(s[color], a(s, code)); assert.equal(colors[color](s), a(s, code)); assert.equal(s[color], colors[color](s)); assert.equal(s[color].strip, s); assert.equal(s[color].strip, colors.strip(s)); } function h(s, color) { return '' + s + ''; } var stylesColors = ['white', 'black', 'blue', 'cyan', 'green', 'magenta', 'red', 'yellow']; var stylesAll = stylesColors.concat(['bold', 'italic', 'underline', 'inverse', 'rainbow']); colors.mode = 'console'; assert.equal(s.bold, '\x1B[1m' + s + '\x1B[22m'); assert.equal(s.italic, '\x1B[3m' + s + '\x1B[23m'); assert.equal(s.underline, '\x1B[4m' + s + '\x1B[24m'); assert.equal(s.strikethrough, '\x1B[9m' + s + '\x1B[29m'); assert.equal(s.inverse, '\x1B[7m' + s + '\x1B[27m'); assert.ok(s.rainbow); aE(s, 'white', 37); aE(s, 'grey', 90); aE(s, 'black', 30); aE(s, 'blue', 34); aE(s, 'cyan', 36); aE(s, 'green', 32); aE(s, 'magenta', 35); aE(s, 'red', 31); aE(s, 'yellow', 33); assert.equal(s, 'string'); colors.setTheme({error:'red'}); assert.equal(typeof("astring".red),'string'); assert.equal(typeof("astring".error),'string'); colors.js-1.1.2/tests/safe-test.js000066400000000000000000000023701254026767700170440ustar00rootroot00000000000000var assert = require('assert'), colors = require('../safe'); var s = 'string'; function a(s, code) { return '\x1B[' + code.toString() + 'm' + s + '\x1B[39m'; } function aE(s, color, code) { assert.equal(colors[color](s), a(s, code)); assert.equal(colors.strip(s), s); } function h(s, color) { return '' + s + ''; } var stylesColors = ['white', 'black', 'blue', 'cyan', 'green', 'magenta', 'red', 'yellow']; var stylesAll = stylesColors.concat(['bold', 'italic', 'underline', 'inverse', 'rainbow']); colors.mode = 'console'; assert.equal(colors.bold(s), '\x1B[1m' + s + '\x1B[22m'); assert.equal(colors.italic(s), '\x1B[3m' + s + '\x1B[23m'); assert.equal(colors.underline(s), '\x1B[4m' + s + '\x1B[24m'); assert.equal(colors.strikethrough(s), '\x1B[9m' + s + '\x1B[29m'); assert.equal(colors.inverse(s), '\x1B[7m' + s + '\x1B[27m'); assert.ok(colors.rainbow); aE(s, 'white', 37); aE(s, 'grey', 90); aE(s, 'black', 30); aE(s, 'blue', 34); aE(s, 'cyan', 36); aE(s, 'green', 32); aE(s, 'magenta', 35); aE(s, 'red', 31); aE(s, 'yellow', 33); assert.equal(s, 'string'); colors.setTheme({error:'red'}); assert.equal(typeof(colors.red("astring")), 'string'); assert.equal(typeof(colors.error("astring")), 'string');colors.js-1.1.2/themes/000077500000000000000000000000001254026767700147345ustar00rootroot00000000000000colors.js-1.1.2/themes/generic-logging.js000066400000000000000000000003051254026767700203300ustar00rootroot00000000000000module['exports'] = { silly: 'rainbow', input: 'grey', verbose: 'cyan', prompt: 'grey', info: 'green', data: 'grey', help: 'cyan', warn: 'yellow', debug: 'blue', error: 'red' };