Elegant terminal spinner
$ npm install --save ora
const ora = require('ora');
const spinner = ora('Loading unicorns');
spinner.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: 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.
Start the spinner.
Stop and clear the spinner.
Clear the spinner.
Get a new frame.
Manually render a new frame.
Change the text.
Change the spinner color.
- cli-spinners - Spinners for use in the terminal
MIT © Sindre Sorhus