FstyleText
Bun

function

util.styleText

function styleText(
format: ForegroundColors | BackgroundColors | Modifiers | unknown[],
text: string,
): string;

This function returns a formatted text considering the format passed for printing in a terminal. It is aware of the terminal's capabilities and acts according to the configuration set via NO_COLORS, NODE_DISABLE_COLORS and FORCE_COLOR environment variables.

import { styleText } from 'node:util';
import { stderr } from 'node:process';

const successMessage = styleText('green', 'Success!');
console.log(successMessage);

const errorMessage = styleText(
  'red',
  'Error! Error!',
  // Validate if process.stderr has TTY
  { stream: stderr },
);
console.error(errorMessage);

util.inspect.colors also provides text formats such as italic, and underline and you can combine both:

console.log(
  util.styleText(['underline', 'italic'], 'My italic underlined message'),
);

When passing an array of formats, the order of the format applied is left to right so the following style might overwrite the previous one.

console.log(
  util.styleText(['red', 'green'], 'text'), // green
);

The full list of formats can be found in modifiers.

@param format

A text format or an Array of text formats defined in util.inspect.colors.

@param text

The text to to be formatted.