@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
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!'));
Nested colors
console.log(c.yellow(`foo ${c.red(c.bold('red'))} bar ${c.cyan('cyan')} baz`));
Toggle color support
Easily enable/disable colors.
const c = require('ansi-colors');
c.enabled = false;
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'))));
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
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
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Running Tests
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: