Skip to content

flex-development/strip-ansi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

13 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

strip-ansi

ci github release npm npm downloads install size codecov module type: esm license conventional commits typescript vitest yarn

Remove ANSI escape codes

Contents

What is this?

This is a tiny, but useful package for removing ANSI escape codes from a string or stringified value.

Install

This package is ESM only.

In Node.js with yarn:

yarn add @flex-development/strip-ansi
See Git - Protocols | Yarn Β for details regarding installing from Git.

In Deno with esm.sh:

import { stripAnsi } from 'https://esm.sh/@flex-development/strip-ansi'

In browsers with esm.sh:

<script type="module">
  import { stripAnsi } from 'https://esm.sh/@flex-development/strip-ansi'
</script>

With bun:

bun add @flex-development/strip-ansi
See bun add for more details.

Use

example.mjs:

import { ansiRegex } from '@flex-development/ansi-regex'
import c from '@flex-development/colors'
import { stripAnsi } from '@flex-development/strip-ansi'

const hello = c.bgBlue(c.bold('hello world 🌎'))
const hi = stripAnsi(hello, { flags: { u: false } })

console.log(`${JSON.stringify(hello)}:`, ansiRegex().test(hello))
console.log(`${JSON.stringify(hi)}:`, ansiRegex().test(hi))

...yields

"\u001b[44m\u001b[1mhello world 🌎\u001b[22m\u001b[49m": true
"hello world 🌎": false

API

This package exports the following identifiers:

The default export is stripAnsi.

stripAnsi(value[, options])

Remove ANSI escape codes from value.

Parameters

  • value (unknown) β€” the string or value to remove escape codes from.
    non-string values will be converted to strings (i.e. options.toString(value))
  • options (Options | null | undefined, optional) β€” options for removing escape codes
    • default: { flags: { g: true, u: true }, toString: String }

Returns

(string) The stringified value with ANSI escape codes removed

Types

This package is fully typed with TypeScript.

Options

Options for removing ANSI escape codes (interface).

Properties

  • flags? (Flags | null | undefined, optional) β€” record, where each key is a regular expression flag and each truthy value indicates if the flag should be applied to the regular expression matching ansi escape codes
  • toString? (ToString | null | undefined, optional) β€” convert a value to a string

ToString<[T]>

Convert value to a string (type).

type ToString<T = any> = (this: void, value: T) => string

Type Parameters

  • T (any, optional) β€” the thing to stringify

Parameters

  • value (T) β€” the thing to stringify

Returns

(string) The stringified value

Contribute

See CONTRIBUTING.md.

This project has a code of conduct. By interacting with this repository, organization, or community you agree to abide by its terms.

Sponsor this project

 

Packages

 
 
 

Contributors 3

  •  
  •  
  •