Skip to content

mrazauskas/pretty-ansi

Repository files navigation

pretty-ansi

version license packagephobia coverage

Convert ANSI escape sequences to human readable text.


This utility converts ANSI escape sequences to human readable text. It supports color, style and cursor control escapes and works with vanilla sequences as well as the output from libraries like chalk, colors, ansi-escapes, ansi-styles or terminal-kit.

Install

npm add -D pretty-ansi

Usage

For example, it can be useful to test the output of a command line tool:

import assert from "node:assert/strict";
import { test } from "node:test";

import prettyAnsi from "pretty-ansi";

test("command output", () => {
  const commandOutput = "\u001b[3;32mSuccess!\u001b[0m";

  assert.strictEqual(prettyAnsi(commandOutput), "<italic, green>Success!</>");
});

Notes

Currently only 16 colors are all supported.

Keep in mind that the escape sequences are not validated. Unrecognized sequence will print as <ESC>[a1b2c3, or as <?> in case this is a color or style sequence.

Related

jest-serializer-ansi-escapes — Jest snapshot serializer for ANSI escape sequences.

License

MIT