kleur

The fastest Node.js library for formatting terminal text with ANSI colors~!
Features
No dependencies
Super lightweight & performant
No
String.prototypemodificationsConditional color support
Familiar API
As of v3.0 the Chalk-style syntax (magical getter) is no longer used.
If you need or require that syntax, consider using ansi-colors, which maintains chalk parity.
Install
$ npm install --save kleurUsage
const { red, white, blue, bold } = require('kleur');
// basic usage
red('red text');
// chained methods
blue().bold().underline('howdy partner');
// nested methods
bold(`${ white().bgRed('[ERROR]') } ${ red().italic('Something happened')}`);Chained Methods

Nested Methods

Conditional Support
Toggle color support as needed; kleur includes simple auto-detection which may not cover all cases.
API
Any kleur method returns a String when invoked with input; otherwise chaining is expected.
It's up to the developer to pass the output to destinations like
console.log,process.stdout.write, etc.
The methods below are grouped by type for legibility purposes only. They each can be chained or nested with one another.
Colors:
black — red — green — yellow — blue — magenta — cyan — white — gray — grey
Backgrounds:
bgBlack — bgRed — bgGreen — bgYellow — bgBlue — bgMagenta — bgCyan — bgWhite
Modifiers:
reset — bold — dim — italic* — underline — inverse — hidden — strikethrough*
* Not widely supported
Benchmarks
Using Node v10.13.0
Load time
Performance
Credits
This project originally forked Brian Woodward's awesome ansi-colors library.
Beginning with kleur@3.0, the Chalk-style syntax (magical getter) has been replaced with function calls per key:
As I work more with Rust, the newer syntax feels so much better & more natural!
If you prefer the old syntax, you may migrate to ansi-colors. Versions below kleur@3.0 have been deprecated.
License
MIT © Luke Edwards
Last updated
Was this helpful?