ansi-colors-es6

ES6+ module to easily add ANSI colors to your browser console and node terminal. A faster drop-in replacement for chalk, kleur and turbocolor (without the dependencies and rendering bugs).

Usage no npm install needed!

<script type="module">
  import ansiColorsEs6 from 'https://cdn.skypack.dev/ansi-colors-es6';
</script>

README

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.

Colors Background Colors Bright Colors Bright Background Colors
black bgBlack blackBright bgBlackBright
red bgRed redBright bgRedBright
green bgGreen greenBright bgGreenBright
yellow bgYellow yellowBright bgYellowBright
blue bgBlue blueBright bgBlueBright
magenta bgMagenta magentaBright bgMagentaBright
cyan bgCyan cyanBright bgCyanBright
white bgWhite whiteBright bgWhiteBright
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

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