5.0.0 • Published 5 years ago

ansi-colors-es6 v5.0.0

Weekly downloads
138
License
MIT
Repository
github
Last release
5 years ago

ansi-colors-es6 NPM version NPM monthly downloads NPM total downloads

Easily add ANSI colors to your node terminal or browser console. A faster drop-in replacement for chalk, colors, kleur and turbocolor (without the dependencies and rendering bugs). And a lighter ES6 implementation of ansi-colors that works everywhere ES6+ works without the need for transpiling, unless you want to.

Install

Install with npm:

$ npm install --save ansi-colors-es6

image

node terminal color examples

Why use this?

ansi-colors-es6 is the fastest Node.js library for terminal and browser console styling. A more performant drop-in replacement for chalk, colors and ansi-colors with no dependencies.

Chrome

chrome terminal color examples

Edge

edge terminal color examples

Usage

//use relative paths to allow code sharing with browsers
//this way the same exact files will work in all locations
import ansi from './node_modules/ansi-colors-es6/index.js';

console.log(ansi.red('This is a red string!'));
console.log(ansi.green('This is a red string!'));
console.log(ansi.cyan('This is a cyan string!'));
console.log(ansi.yellow('This is a yellow string!'));

image

Chained colors

//use relative paths to allow code sharing with browsers
//this way the same exact files will work in all locations
import ansi from './node_modules/ansi-colors-es6/index.js';

console.log(ansi.bold.red('this is a bold red message'));
console.log(ansi.bold.yellow.italic('this is a bold yellow italicized message'));
console.log(ansi.green.bold.underline('this is a bold green underlined message'));

image

Nested colors

//use relative paths to allow code sharing with browsers
//this way the same exact files will work in all locations
import ansi from './node_modules/ansi-colors-es6/index.js';

console.log(ansi.yellow(`foo ${ansi.red.bold('red')} bar ${ansi.cyan('cyan')} baz`));

image

Toggle color support

Easily enable/disable colors.

//use relative paths to allow code sharing with browsers
//this way the same exact files will work in all locations
import ansi from './node_modules/ansi-colors-es6/index.js';

// disable colors manually
ansi.enabled = false;

// or use a library to automatically detect support
ansi.enabled = require('color-support').hasBasic;

console.log(ansi.red('I will only be colored red if the terminal supports colors'));

Strip ANSI codes

Use the .unstyle method to strip ANSI codes from a string.

console.log(ansi.unstyle(ansi.blue.bold('foo bar baz')));
//=> 'foo bar baz'

Available styles

Note that bright and bright-background colors are not always supported.

ColorsBackground ColorsBright ColorsBright Background Colors
blackbgBlackblackBrightbgBlackBright
redbgRedredBrightbgRedBright
greenbgGreengreenBrightbgGreenBright
yellowbgYellowyellowBrightbgYellowBright
bluebgBlueblueBrightbgBlueBright
magentabgMagentamagentaBrightbgMagentaBright
cyanbgCyancyanBrightbgCyanBright
whitebgWhitewhiteBrightbgWhiteBright
gray
grey

(gray is the U.S. spelling, grey is more commonly used in the Canada and U.K.)

Style modifiers

  • dim
  • bold

  • hidden

  • italic

  • underline

  • inverse
  • strikethrough

  • reset

Aliases

Create custom aliases for styles.

//use relative paths to allow code sharing with browsers
//this way the same exact files will work in all locations
import ansi from './node_modules/ansi-colors-es6/index.js';

ansi.alias('primary', ansi.yellow);
ansi.alias('secondary', ansi.bold);

console.log(ansi.primary.secondary('Foo'));

Themes

A theme is an object of custom aliases.

//use relative paths to allow code sharing with browsers
//this way the same exact files will work in all locations
import ansi from './node_modules/ansi-colors-es6/index.js';

ansi.theme({
  danger: ansi.red,
  dark: ansi.dim.gray,
  disabled: ansi.gray,
  em: ansi.italic,
  heading: ansi.bold.underline,
  info: ansi.cyan,
  muted: ansi.dim,
  primary: ansi.blue,
  strong: ansi.bold,
  success: ansi.green,
  underline: ansi.underline,
  warning: ansi.yellow
});

// Now, we can use our custom styles alongside the built-in styles!
console.log(ansi.danger.strong.em('Error!'));
console.log(ansi.warning('Heads up!'));
console.log(ansi.info('Did you know...'));
console.log(ansi.success.bold('It worked!'));

Contributors

CommitsContributor
48jonschlinkert
42doowb
9RIAEvangelist
6lukeed
2Silic0nS0ldier
1dwieeb
1jorgebucaran
1madhavarshney
1chapterjason