Twisters
Display multiple simultaneous animated spinners in node terminal applications
- BYO-colors (supports chalk, colorette, kleur, kuler, etc. but depends on none of them)
- Compatible with any spinner from cli-spinners
- Supports fullwidth characters
- Simple and flexible API
- Lots of examples
- Written in TypeScript
Installation
npm install twisters
or
yarn add twisters
TypeScript
If you use TypeScript, @types/node
must also be installed:
npm install -D @types/node
or
yarn add -D @types/node
Usage
const chalk = ;const Twisters = ; // Create a twisters instance to manage messagesconst twisters = ; // Add a message (messages are active by default)twisters; ; ;
Result
Options
The Twisters class constructor takes an optional options
argument. Defaults are used if corresponding values are not defined, which means this:
const Twisters = ; const twisters = ;
is equivalent to this:
const Twisters LineBuffer terminalSupportsUnicode dots dashes } = ; const twisters = spinner: ? dots : dashes flushInactive: true pinActive: false messageDefaults: active: true removed: false { const active text = message; return active && frame ? ` ` : text; } buffer: EOL: '\n' disable: !!processenvCI discardStdin: true handleSigint: true stream: processstderr truncate: true wordWrap: false ;
See the documentation for details:
Known Limitations
Care must be taken with messages that contain tab (\t
) characters.
See tabStop for details.
Examples
See the examples-js and examples-ts packages
Documentation
Development
See README in the repository root