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.
$ npm install term-size
const termSize = require('term-size');
termSize();
//=> {columns: 143, rows: 24}
Returns an object
with columns
and rows
properties.
The bundled macOS binary is signed and hardened.