Geeky Terminal Spinner Utility
$ npm install --save @geek/spinner
const Spinner = require('@geek/spinner');
const spinner = Spinner('Loading unicorns').start();
setTimeout(() => {
spinner.color = 'yellow';
spinner.text = 'Loading rainbows';
}, 1000);It will gracefully not do anything when there's no TTY or when in a CI.
If a string is provided, it is treated as a shortcut for options.text.
Type: object
Type: string
Text to display after the spinner.
Type: string object
Default: dots ![]()
Name of one of the provided spinners. See example.js in this repo if you want to test out different spinners.
Or an object like:
{
interval: 80, // optional
frames: ['-', '+', '-']
}Type: string
Default: cyan
Values: black red green yellow blue magenta cyan white gray
Color of the spinner.
Type: boolean
Default: true
Set to false to stop Ora from hiding the cursor.
Type: number
Default: Provided by the spinner or 100
Interval between each frame.
Spinners provide their own recommended interval, so you don't really need to specify this.
Type: WritableStream
Default: process.stderr
Stream to write the output.
You could for example set this to process.stdout instead.
Type: boolean
Default: false
Force enabling of the spinner regardless of the stream not being run inside a TTY context and/or in a CI environment.
Start the spinner. Returns the instance.
Stop and clear the spinner. Returns the instance.
Stop the spinner, change it to a green ✔ and persist the text. Returns the instance. See the GIF below.
Stop the spinner, change it to a ✖ and persist the text. Returns the instance. See the GIF below.
Stop the spinner, change it to a › and persist the text. Returns the instance. See the GIF below.
Stop the spinner, change it to a red › and persist the text. Returns the instance. See the GIF below.
Stop the spinner, change it to symbol (or ' ' if symbol is not provided) and persist the text. Returns the instance. See the GIF below.
Clear the spinner. Returns the instance.
Manually render a new frame. Returns the instance.
Get a new frame.
Change the text.
Change the spinner color.
Starts a spinner for a promise. The spinner is stopped with .succeed() if the promise fulfills or with .fail() if it rejects. Returns the spinner instance.
Type: Promise
Indent the spinner.
This has been modified from the original sindresorhus/ora version. The following changes have been made:
- Added indent property
- Added optional text parameter to several functions
- Other PRs that did not get merged
MIT © Sindre Sorhus MIT © Brenton House


