Bobby L. Craig

# chalk > Terminal string styling done right [![Build Status](]( ![]( [colors.js]( is currently the most popular string styling module, but it has serious deficiencies like extending String.prototype which causes all kinds of [problems]( Although there are other ones, they either do too much or not enough. **Chalk is a clean and focused alternative.** ![screenshot]( ## Why - Highly performant - Doesn't extend String.prototype - Expressive API - Ability to nest styles - Clean and focused - Auto-detects color support - Actively maintained - [Used by 1000+ modules]( ## Install ```sh $ npm install --save chalk ``` ## Usage Chalk comes with an easy to use composable API where you just chain and nest the styles you want. ```js var chalk = require('chalk'); // style a string console.log('Hello world!') ); // combine styled and normal strings console.log('Hello'), 'World' +'!') ); // compose multiple styles using the chainable API console.log('Hello world!') ); // pass in multiple arguments console.log('Hello', 'World!', 'Foo', 'bar', 'biz', 'baz') ); // nest styles console.log('Hello', chalk.underline.bgBlue('world') + '!') ); // nest styles of the same type even (color, underline, background) console.log('I am a green line ' +'with a blue substring') + ' that becomes green again!') ); ``` Easily define your own themes. ```js var chalk = require('chalk'); var error =; console.log(error('Error!')); ``` Take advantage of console.log [string substitution]( ```js var name = 'Sindre'; console.log('Hello %s'), name); //=> Hello Sindre ``` ## API ### chalk.`