A package for the @ogma packages to deal with adding color and string styling to terminal logs
@ogma/stylerString formatting, made easy.
Mostly this package was created for academic purposes and better understanding terminal SGRs, but I also like to know the code I'm using and how it works. Chalk is great, but the use of chaining _or_ using the property as a method is a bit strange to me. With @ogma/styler I was able to use getters for option chaining, a const enum for all the SGR values, and a single method for finalizing the application to the string that is being styled.
With all that said, if you like Chalk, use Chalk. It's a great trusted package.
To use this package, simply install it
``sh`
pnpm i @ogma/styler
yarn add @ogma/styler
npm i @ogma/styler
and import the style instance from the package
`ts`
import { style } from '@ogma/styler';
And now you can chain options for your string, just make sure to apply to the string (or primitive) you want to style.
`ts`
console.log(style.blue.yellowBg.underline.apply('Hello World!'));
// prints \x1B34m\x1B[43m\x1B[4mHello World!\x1B[0m
![blue-yellow-bg-underline
Most of the values on the SGR list_parameters>) are available to use. underline, italic, bold, double-underline, blink, and color to name a few.
If you'd like to turn off colors only you can do one of a few things.
1. pass in a stream to style.child() that has a getColorDepth property that is a function that returns the value 1.NO_COLOR
2. Set the or NODE_DISABLE_COLOR environment variables to any value. So long as process.env.NO_COLOR is truthy, colors will be disabledFORCE_COLOR
3. Set the environment variable to 1.
If you want no styling in your production environment you can set the NO_STYLE environment variable to anything that will result in a truthy` check.