npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

ansi-escape-sequences

v6.2.4

Published

A simple library containing all known terminal ansi escape codes and sequences.

Downloads

2,036,871

Readme

view on npm npm module downloads Gihub repo dependents Gihub package dependents Node.js CI js-standard-style

ansi-escape-sequences

A simple library containing all known terminal ansi escape codes and sequences. Useful for adding colour to your command-line output, or building a dynamic text user interface.

API Reference

Example

import ansi from 'ansi-escape-sequences'

ansi.cursor

cursor-related sequences

Kind: static property of ansi-escape-sequences

cursor.hide

Hides the cursor

Kind: static property of cursor

cursor.show

Shows the cursor

Kind: static property of cursor

cursor.up([lines]) ⇒ string

Moves the cursor lines cells up. If the cursor is already at the edge of the screen, this has no effect

Kind: static method of cursor

| Param | Type | Default | | --- | --- | --- | | [lines] | number | 1 |

cursor.down([lines]) ⇒ string

Moves the cursor lines cells down. If the cursor is already at the edge of the screen, this has no effect

Kind: static method of cursor

| Param | Type | Default | | --- | --- | --- | | [lines] | number | 1 |

cursor.forward([lines]) ⇒ string

Moves the cursor lines cells forward. If the cursor is already at the edge of the screen, this has no effect

Kind: static method of cursor

| Param | Type | Default | | --- | --- | --- | | [lines] | number | 1 |

cursor.back([lines]) ⇒ string

Moves the cursor lines cells back. If the cursor is already at the edge of the screen, this has no effect

Kind: static method of cursor

| Param | Type | Default | | --- | --- | --- | | [lines] | number | 1 |

cursor.nextLine([lines]) ⇒ string

Moves cursor to beginning of the line n lines down.

Kind: static method of cursor

| Param | Type | Default | | --- | --- | --- | | [lines] | number | 1 |

cursor.previousLine([lines]) ⇒ string

Moves cursor to beginning of the line n lines up.

Kind: static method of cursor

| Param | Type | Default | | --- | --- | --- | | [lines] | number | 1 |

cursor.horizontalAbsolute(n) ⇒ string

Moves the cursor to column n.

Kind: static method of cursor

| Param | Type | Description | | --- | --- | --- | | n | number | column number |

cursor.position(n, m) ⇒ string

Moves the cursor to row n, column m. The values are 1-based, and default to 1 (top left corner) if omitted.

Kind: static method of cursor

| Param | Type | Description | | --- | --- | --- | | n | number | row number | | m | number | column number |

ansi.erase

erase sequences

Kind: static property of ansi-escape-sequences

erase.display(n) ⇒ string

Clears part of the screen. If n is 0 (or missing), clear from cursor to end of screen. If n is 1, clear from cursor to beginning of the screen. If n is 2, clear entire screen.

Kind: static method of erase

| Param | Type | | --- | --- | | n | number |

erase.inLine(n) ⇒ string

Erases part of the line. If n is zero (or missing), clear from cursor to the end of the line. If n is one, clear from cursor to beginning of the line. If n is two, clear entire line. Cursor position does not change.

Kind: static method of erase

| Param | Type | | --- | --- | | n | number |

ansi.style : enum

Various formatting styles (aka Select Graphic Rendition codes).

Kind: static enum of ansi-escape-sequences
Properties

| Name | Type | Default | | --- | --- | --- | | reset | string | "\u001b[0m" | | bold | string | "\u001b[1m" | | italic | string | "\u001b[3m" | | underline | string | "\u001b[4m" | | fontDefault | string | "\u001b[10m" | | font2 | string | "\u001b[11m" | | font3 | string | "\u001b[12m" | | font4 | string | "\u001b[13m" | | font5 | string | "\u001b[14m" | | font6 | string | "\u001b[15m" | | imageNegative | string | "\u001b[7m" | | imagePositive | string | "\u001b[27m" | | black | string | "\u001b[30m" | | red | string | "\u001b[31m" | | green | string | "\u001b[32m" | | yellow | string | "\u001b[33m" | | blue | string | "\u001b[34m" | | magenta | string | "\u001b[35m" | | cyan | string | "\u001b[36m" | | white | string | "\u001b[37m" | | grey | string | "\u001b[90m" | | gray | string | "\u001b[90m" | | brightRed | string | "\u001b[91m" | | brightGreen | string | "\u001b[92m" | | brightYellow | string | "\u001b[93m" | | brightBlue | string | "\u001b[94m" | | brightMagenta | string | "\u001b[95m" | | brightCyan | string | "\u001b[96m" | | brightWhite | string | "\u001b[97m" | | "bg-black" | string | "\u001b[40m" | | "bg-red" | string | "\u001b[41m" | | "bg-green" | string | "\u001b[42m" | | "bg-yellow" | string | "\u001b[43m" | | "bg-blue" | string | "\u001b[44m" | | "bg-magenta" | string | "\u001b[45m" | | "bg-cyan" | string | "\u001b[46m" | | "bg-white" | string | "\u001b[47m" | | "bg-grey" | string | "\u001b[100m" | | "bg-gray" | string | "\u001b[100m" | | "bg-brightRed" | string | "\u001b[101m" | | "bg-brightGreen" | string | "\u001b[102m" | | "bg-brightYellow" | string | "\u001b[103m" | | "bg-brightBlue" | string | "\u001b[104m" | | "bg-brightMagenta" | string | "\u001b[105m" | | "bg-brightCyan" | string | "\u001b[106m" | | "bg-brightWhite" | string | "\u001b[107m" |

Example

console.log(ansi.style.red + 'this is red' + ansi.style.reset)

ansi.rgb(r, g, b) ⇒ string

Returns a 24-bit "true colour" foreground colour escape sequence.

Kind: static method of ansi-escape-sequences

| Param | Type | Description | | --- | --- | --- | | r | number | Red value. | | g | number | Green value. | | b | number | Blue value. |

Example

> ansi.rgb(120, 0, 120)
'\u001b[38;2;120;0;120m'

ansi.bgRgb(r, g, b) ⇒ string

Returns a 24-bit "true colour" background colour escape sequence.

Kind: static method of ansi-escape-sequences

| Param | Type | Description | | --- | --- | --- | | r | number | Red value. | | g | number | Green value. | | b | number | Blue value. |

Example

> ansi.bgRgb(120, 0, 120)
'\u001b[48;2;120;0;120m'

ansi.styles(styles) ⇒ string

Returns an ansi sequence setting one or more styles.

Kind: static method of ansi-escape-sequences

| Param | Type | Description | | --- | --- | --- | | styles | string | Array.<string> | One or more style strings. |

Example

> ansi.styles('green')
'\u001b[32m'

> ansi.styles([ 'green', 'underline' ])
'\u001b[32m\u001b[4m'

> ansi.styles([ 'bg-red', 'rgb(200,200,200)' ])
'\u001b[41m\u001b[38;2;200;200;200m'

ansi.format(str, [styleArray]) ⇒ string

A convenience function, applying the styles provided in styleArray to the input string.

Partial, inline styling can also be applied using the syntax [style-list]{text to format} anywhere within the input string, where style-list is a space-separated list of styles from ansi.style. For example [bold white bg-red]{bold white text on a red background}.

24-bit "true colour" values can be set using rgb(n,n,n) syntax (no spaces), for example [rgb(255,128,0) underline]{orange underlined}. Background 24-bit colours can be set using bg-rgb(n,n,n) syntax.

Kind: static method of ansi-escape-sequences

| Param | Type | Description | | --- | --- | --- | | str | string | The string to format. Can also include inline-formatting using the syntax [style-list]{text to format} anywhere within the string. | | [styleArray] | string | Array.<string> | One or more style strings to apply to the input string. Valid strings are any property from the ansi.style object (e.g. red or bg-red), rgb(n,n,n) or bg-rgb(n,n,n). |

Example

> ansi.format('what?', 'green')
'\u001b[32mwhat?\u001b[0m'

> ansi.format('what?', ['green', 'bold'])
'\u001b[32m\u001b[1mwhat?\u001b[0m'

> ansi.format('something', ['rgb(255,128,0)', 'bold'])
'\u001b[38;2;255;128;0m\u001b[1msomething\u001b[0m'

> ansi.format('Inline styling: [rgb(255,128,0) bold]{something}')
'Inline styling: \u001b[38;2;255;128;0m\u001b[1msomething\u001b[0m'

> ansi.format('Inline styling: [bg-rgb(255,128,0) bold]{something}')
'Inline styling: \u001b[48;2;255;128;0m\u001b[1msomething\u001b[0m'

Load anywhere

This library is compatible with Node.js, the Web and any style of module loader. It can be loaded anywhere, natively without transpilation.

Node.js:

const ansi = require('ansi-escape-sequences')

Within Node.js with ECMAScript Module support enabled:

import ansi from 'ansi-escape-sequences'

Within a modern browser ECMAScript Module:

import ansi from './node_modules/ansi-escape-sequences/dist/index.mjs'

© 2014-25 Lloyd Brookes <[email protected]>.

Tested by test-runner. Documented by jsdoc-to-markdown.