Replacements for string-width
fast-string-width
fast-string-width
is a drop‑in replacement for string-width
that’s faster and smaller.
ts
import stringWidth from 'string-width'
import stringWidth from 'fast-string-width'
console.log(stringWidth('abc')) // 3
console.log(stringWidth('👩👩👧👦')) // 1
console.log(stringWidth('\u001b[31mhello\u001b[39m')) // 5
Bun API (native)
If you’re on Bun ≥ 1.0.29, you can use the built‑in stringWidth
:
ts
import stringWidth from 'string-width'
import { stringWidth } from 'bun'
console.log(stringWidth('abc')) // 3
console.log(stringWidth('👩👩👧👦')) // 1
console.log(stringWidth('\u001b[31mhello\u001b[39m')) // 5
console.log(
stringWidth('\u001b[31mhello\u001b[39m', { countAnsiEscapeCodes: false })
) // 5