Skip to content
main
Switch branches/tags
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
Oct 1, 2021
Oct 1, 2021
Oct 1, 2021
Oct 1, 2021
Oct 1, 2021
Oct 1, 2021
Oct 1, 2021
Oct 1, 2021
Oct 1, 2021
Oct 1, 2021
Oct 1, 2021

yoctocolors 🌈

The smallest and fastest command-line coloring package on the internet. Trust me.

The only thing that matters is micro-benchmark performance! ⚡️

Check out Chalk if you want something more mature and comprehensive.

Features

  • 4x faster and 5x smaller than nanocolors
  • Cat friendly
  • An additional color
  • Tree-shakeable, not stirred
  • Actively maintained (at least for another week)
  • No dependencies

Install

npm install yoctocolors

Usage

import * as colors from 'yoctocolors';

console.log(colors.red('Yo!'));

This package does not do color support detection. Check out supports-color if you need that. Node.js will hopefully get built-in support for color support detection at some point.

Styles

Modifiers

  • 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)

Colors

  • black
  • red
  • green
  • yellow
  • blue
  • magenta
  • cyan
  • white
  • gray

Background colors

  • bgBlack
  • bgRed
  • bgGreen
  • bgYellow
  • bgBlue
  • bgMagenta
  • bgCyan
  • bgWhite
  • bgGray

Prior art

Yes

Benchmark

❯ ./test/simple-benchmark.js
nanocolors    31508276 ops/sec
picocolors    32524769 ops/sec
yoctocolors   132894792 ops/sec

Benchmark from nanocolors

FAQ

Why?

See this discussion.

What is yocto?

It's the smallest official unit prefix in the metric system. Much smaller than nano.

Related

  • yoctodelay - Delay a promise a given amount of time
  • chalk - Terminal string styling