5.0.0 • Published 4 years ago

@timhall/ansi-colors v5.0.0

Weekly downloads
331
License
MIT
Repository
github
Last release
4 years ago

@timhall/ansi-colors

Easily add ANSI colors to your text and symbols in the terminal. A faster drop-in replacement for chalk, kleur and turbocolor (without the dependencies and rendering bugs).

Please consider following this project's original author, Brian Woodward, and consider starring the project to show your :heart: and support.

Install

Install with npm:

$ npm install --save ansi-colors

image

Why use this?

@timhall/ansi-colors is the smallest Node.js library for terminal styling. A performant alternative to chalk, with no dependencies and designed to be tree-shakable.

Usage

const c = require('ansi-colors');

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

image

Nested colors

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

image

Toggle color support

Easily enable/disable colors.

const c = require('ansi-colors');

// disable colors manually
c.enabled = false;

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

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

Strip ANSI codes

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

console.log(c.stripColor(c.blue(c.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

Performance

Libraries tested

  • @timhall/ansi-colors v5.0.0
  • chalk v3.0.0

Mac

MacBook Pro, Intel Core i5, 1.4 GHz, 16 GB.

Load time

Time it takes to load the first time require() is called:

  • ansi-colors - 0.965ms
  • chalk - 6.116ms

Benchmarks

# All Colors
  ansi-colors x 529,231 ops/sec ±0.25% (92 runs sampled)
  chalk x 557,332 ops/sec ±0.17% (98 runs sampled)

# Nested colors
  ansi-colors x 102,504 ops/sec ±0.42% (90 runs sampled)
  chalk x 107,208 ops/sec ±0.23% (97 runs sampled)

About

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:

$ yarn && yarn test

Related projects

You might also be interested in these projects: