smallchalk

Like Chalk.js, but smaller and with fewer features

Usage no npm install needed!

<script type="module">
  import smallchalk from 'https://cdn.skypack.dev/smallchalk';
</script>

README

npm version

npm i smallchalk / yarn add smallchalk

smallchalk

Core functionality like Chalk.js but with fewer features. Meant for rapid prototyping without worrying about package.json bloat.

Details

  • Chain methods/getters like in Chalk.js:
const smChalk = require('smallchalk');

smChalk.bgRed.black.bold.underline("Lorem ipsum dolor sit amet");
  • The last color in the chain is what gets used:
// This line..
smChalk.red.green.blue.bgRed.bgBlack.bgYellow("Lorem ipsum dolor sit amet");
// ...is equivalent to this line
smChalk.blue.bgYellow("Lorem ipsum dolor sit amet");


// This line..
smChalk.red.blue("Lorem ipsum dolor sit amet");
// ...is equivalent to this line
smChalk.blue("Lorem ipsum dolor sit amet");

Properties

  • Foreground Colors:

    • black
    • red
    • green
    • yellow
    • blue
    • magenta
    • cyan
    • white
  • Background Colors:

    • bgBlack
    • bgRed
    • bgGreen
    • bgYellow
    • bgBlue
    • bgMagenta
    • bgCyan
    • bgWhite
  • Formatting:

    • bold
    • light
    • italic
    • underline
    • blink
    • inverse
    • hidden

Why?

Two reasons...

I wanted to understand:

  • How Chalk.js was able to use properties with the same name as both a getter and method on the same object
    • For example, you can do chalk.blue('foo'); and chalk.blue.bold('foo'); (.blue is being used as both a method and getter)
  • How Chalk.js was able to chain these properties/methods/getters

While modified, some of the code in this repo may resemble Chalk.js as I followed the same logic.