chalk-string
v3.0.0
Published
Chalk with style strings
Downloads
24,292
Maintainers
Readme
Chalk with style strings.
Chalk adds styles to terminal strings.
chalk-string
is a thin wrapper around it which allows specifying those styles
as a string. This enables user-defined or dynamic styling.
Hire me
Please reach out if you're looking for a Node.js API or CLI engineer (11 years of experience). Most recently I have been Netlify Build's and Netlify Plugins' technical lead for 2.5 years. I am available for full-time remote positions.
Example
import chalkString from 'chalk-string'
const addStyles = chalkString()
addStyles('red', 'input') // Same as: chalk.red('input')
addStyles('red bold', 'input') // Same as: chalk.red.bold('input')
addStyles('hex-ffffff', 'input') // Same as: chalk.hex('ffffff')('input')
addStyles('rgb-10-20-30', 'input') // Same as: chalk.rgb(10, 20, 30)('input')
addStyles('invalidStyle', 'input') // Invalid styles throw an error
Install
npm install chalk-string
This package works in Node.js >=18.18.0.
This is an ES module. It must be loaded using
an import
or import()
statement,
not require()
. If TypeScript is used, it must be configured to
output ES modules,
not CommonJS.
API
chalkString(options?)
options
Options?
Return value: addStyles()
Options
colors
Type: boolean
Default: undefined
Whether colors should be enabled/disabled, regardless of terminal support. Colors support is automatically detected, so this is only meant to override that default behavior.
stream
Type:
Stream
Default: process.stdout
Stream used to detect colors support. This should be the file or terminal where the colors are output.
addStyles(styles, input)
styles
stylesString
input
string
Return value: string
Apply styles to input
then return it.
Available styles
# Standard styles
bold underline inverse reset
# Those styles do not always work on Windows
dim italic hidden strikethrough
# Hidden when the terminal does not support colors
visible
# Basic colors
black red green yellow blue magenta cyan white gray
blackBright redBright greenBright yellowBright blueBright
magentaBright cyanBright whiteBright
# Advanced colors
hex-ffffff
rgb-255-255-255
# Background colors
bgBlack bgRed bgGreen bgYellow bgBlue bgMagenta bgCyan bgWhite bgGray
bgBlackBright bgRedBright bgGreenBright bgYellowBright bgBlueBright
bgMagentaBright bgCyanBright bgWhiteBright
bgHex-* bgRgb-*
Related projects
colors-option
: Let users toggle colors.terminal-theme
: 🎨 Use a color theme for your code's terminal output
Support
For any question, don't hesitate to submit an issue on GitHub.
Everyone is welcome regardless of personal background. We enforce a Code of conduct in order to promote a positive and inclusive environment.
Contributing
This project was made with ❤️. The simplest way to give back is by starring and sharing it online.
If the documentation is unclear or has a typo, please click on the page's Edit
button (pencil icon) and suggest a correction.
If you would like to help us fix a bug or add a new feature, please check our guidelines. Pull requests are welcome!