colorboy

v2.1.0
Easily add color to your console.log in Node.js
terminal colors node node.js nodejs mac macos linux

colorboy

Easily add color to your console.logs in Node.js.

Installation

npm install colorboy

Usage

require("colorboy").addDefaults();
console.log("Globgogabgalab".red);
console.log("Potato chips".cyan.underline.italic);
console.log("The Eden Project".color("#067CB6").bgColor(25, 25, 150).bold);

screenshot1

Colors

Below you can see how to specify colors. To specify a background color, simply use .bgColor() instead of .color().

  • Colors added by addDefaults():
    'Sonic'.cyan
    
    Can be red, black, green, yellow, blue, pink, cyan, white or gray
  • A CSS keyword: 'Sonic'.color('crimson')
  • A hex code:
    'Sonic'.color('#FF00FF')
    
  • An rgb code:
    'Sonic'.color(220, 20, 60)
    
  • An rgb code:
    'Sonic'.color(220, 20, 60, 'rgb')
    
  • An hsl code:
    'Sonic'.color(32, 100, 100, 'hsl')
    
  • An hsv code:
    'Sonic'.color(32, 100, 50, 'hsv')
    
  • An hwb code:
    'Sonic'.color(32, 0, 50, 'hwb')
    

Passing arrays works too:

// the following are equivalent:
'Sonic'.color(220, 20, 60)
'Sonic'.color([220, 20, 60])

// the following are equivalent:
'Sonic'.color(32, 100, 100, 'hsl')
'Sonic'.color([32, 100, 100, 'hsl'])

Styles

Use styles added by addDefaults():

'Sonic'.bold

Can be bold, dim, italic, underline, inverse and strikethrough

When specifying custom styles, you can pass a string or an array of strings. These are the possible strings:

  • "bold"
  • "dim"
  • "italic"
  • "underline"
  • "inverse"
  • "strikethrough"
  • "reset"
  • "hidden"
  • "visible"

Custom colors & styles

let currentBgColor = 'red';

require('./index.js')
  .addColor("crimson", {color:"crimson"})
  .addColor('greenish', {
    color: '#000000',
    bgColor: '#00FE7C',
    style: ['bold', 'italic'],
  })
  .addColorFunction('error', (color) => {
    return {
      color: color,
      bgColor: currentBgColor,
    }
  })
console.log('Custom:');
console.log('Unlike Pluto'.greenish);
console.log('Unlike Pluto'.error('white'));
currentBgColor = 'cyan'
console.log('Unlike Pluto'.error('black'));

screenshot2

colorboy.addDefaults(functions = true, colors = true, styles = true)

Adds the default colorboy colors & styles. Takes three optional arguments, all true by default.

  • functions: Whether to add the default functions prototypes (color, bgColor and style)
  • colors: Whether to add the default colors prototypes (red, green, etc)
  • styles: Whether to add the default styles prototypes (bold, underline, etc)

colorboy.addColor(name, options)

Adds a color prototype.

  • name: The prototype name
  • options: A color object (see below)

colorboy.addColorFunction(name, optionsCallback)

  • name: The prototype name.
  • options: A function that returns a color object (see below).

color object

An object that defines colors and styles, in this format:

{
    color: COLOR,
    bgColor: COLOR,
    style: STYLE
}

Dev instructions

Get started

  1. Install Node.js
  2. Run npm install

To test, run:

npm run test

Publish new version

  1. Update CHANGELOG.md
  2. Bump the version number, commit and tag:
    npm version <version>
    
  3. Publish to npm:
    npm publish
    
  4. Create GitHub release with release notes
npm i colorboy

Metadata

  • MIT
  • Whatever
  • kasper.space
  • released 9/5/2020

Downloads

Maintainers