yoctocolors π
The smallest and fastest command-line coloring package on the internet
Check out Chalk if you want something more mature and comprehensive.
- Tiny
- Fast
- Handles nested colors
- Tree-shakeable
- No dependencies
- Actively maintained
ESM:
npm install yoctocolorsOr CommonJS:
npm install yoctocolors-cjsimport colors from 'yoctocolors';
console.log(colors.red('Yo!'));
console.log(colors.blue(`Welcome to the ${colors.green('yoctocolors')} package!`));You can also import colors as named imports:
import {red, blue, green} from 'yoctocolors';
console.log(red('Yo!'));
console.log(blue(`Welcome to the ${green('yoctocolors')} package!`));This package supports basic color detection. Colors can be forcefully enabled by setting the FORCE_COLOR environment variable to 1 and can be forcefully disabled by setting NO_COLOR or NODE_DISABLE_COLORS to any value. More info.
reset- Reset the current style.bold- Make the text bold.dim- Make the text have lower opacity.italic- Make the text italic. (Not widely supported)underline- Put a horizontal line above the text. (Not widely supported)overline- Put a horizontal line below the text. (Not widely supported)inverse- Invert background and foreground colors.hidden- Print the text but make it invisible.strikethrough- Put a horizontal line through the center of the text. (Not widely supported)
blackredgreenyellowbluemagentacyanwhitegrayredBrightgreenBrightyellowBrightblueBrightmagentaBrightcyanBrightwhiteBright
bgBlackbgRedbgGreenbgYellowbgBluebgMagentabgCyanbgWhitebgGraybgRedBrightbgGreenBrightbgYellowBrightbgBlueBrightbgMagentaBrightbgCyanBrightbgWhiteBright
Yes
$ ./benchmark.js
βββββββββββ¬βββββββββββββββββ¬ββββββββββββββ
β (index) β library β ops/sec β
βββββββββββΌβββββββββββββββββΌββββββββββββββ€
β 0 β 'yoctocolors' β '8,000,000' β
β 1 β 'colorette' β '8,000,000' β
β 2 β 'picocolors' β '8,000,000' β
β 3 β 'nanocolors' β '5,988,024' β
β 4 β 'chalk' β '4,807,692' β
β 5 β 'kleur/colors' β '4,807,692' β
β 6 β 'kleur' β '4,784,689' β
β 7 β 'ansi-colors' β '2,178,649' β
β 8 β 'cli-color' β '585,138' β
βββββββββββ΄βββββββββββββββββ΄ββββββββββββββSee benchmark.js.
It was the smallest official unit prefix in the metric system until 2022. Much smaller than nano.
- yoctodelay - Delay a promise a given amount of time
- chalk - Terminal string styling