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 terminal-size
import terminalSize from 'terminal-size';
terminalSize();
//=> {columns: 143, rows: 24}
Returns an object with columns and rows properties.