term-size

Reliably get the terminal window size (columns & rows)

Usage no npm install needed!

<script type="module">
  import termSize from 'https://cdn.skypack.dev/term-size';
</script>

README

term-size

Reliably get the terminal window size

Because process.stdout.columns doesn't exist when run non-interactively, for example, in a child process or when piped. This module even works when all the TTY file descriptors are redirected!

Confirmed working on macOS, Linux, and Windows.

Install

$ npm install term-size

Usage

import terminalSize from 'term-size';

terminalSize();
//=> {columns: 143, rows: 24}

API

terminalSize()

Returns an object with columns and rows properties.

Info

The bundled macOS binary is signed and hardened.

Related


Get professional support for this package with a Tidelift subscription
Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies.