Get stdout window width, with four fallbacks, tty
, output.columns
, a custom environment variable and then a default.
Tested against NodeJS v10+
npm install --save cli-width
"use strict";
const cliWidth = require("cli-width");
cliWidth(); // maybe 204 :)
You can also set the CLI_WIDTH
environment variable.
If none of the methods are supported, and the environment variable isn't set,
the default width value is going to be 0
, that can be changed using the configurable options
.
cliWidth
can be configured using an options
parameter, the possible properties are:
0
process.stdout
require('tty')
Defining both a default width value and a stream output to try to read from:
const cliWidth = require("cli-width");
const ttys = require("ttys");
cliWidth({
defaultWidth: 80,
output: ttys.output,
});
Defines a different tty module to read width from:
const cliWidth = require("cli-width");
const ttys = require("ttys");
cliWidth({
tty: ttys,
});
npm install
npm test
Coverage can be generated with npm run coverage
.