You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
k_m_x 04c1a405c9
vision1
10 months ago
..
index.d.ts vision1 10 months ago
index.js vision1 10 months ago
license vision1 10 months ago
package.json vision1 10 months ago
readme.md vision1 10 months ago

readme.md

is-interactive Build Status

Check if stdout or stderr is interactive

It checks that the stream is TTY, not a dumb terminal, and not running in a CI.

This can be useful to decide whether to present interactive UI or animations in the terminal.

Install

$ npm install is-interactive

Usage

const isInteractive = require('is-interactive');

isInteractive();
//=> true

API

isInteractive(options?)

options

Type: object

stream

Type: stream.Writable
Default: process.stdout

The stream to check.

FAQ

Why are you not using ci-info for the CI check?

It's silly to have to detect individual CIs. They should identify themselves with the CI environment variable, and most do just that. A manually maintained list of detections will easily get out of date. And if a package using ci-info doesn't update to the latest version all the time, they will not support certain CIs. It also creates unpredictability as you might assume a CI is not supported and then suddenly it gets supported and you didn't account for that. In addition, some of the manual detections are loose and might cause false-positives which could create hard-to-debug bugs.

Why does this even exist? It's just a few lines.

It's not about the number of lines, but rather discoverability and documentation. A lot of people wouldn't even know they need this. Feel free to copy-paste the code if you don't want the dependency. You might also want to read this blog post.