Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    orapublic

    ora Build Status

    Elegant terminal spinner



    Install

    $ npm install ora
    

    Usage

    const ora = require('ora');
     
    const spinner = ora('Loading unicorns').start();
     
    setTimeout(() => {
        spinner.color = 'yellow';
        spinner.text = 'Loading rainbows';
    }, 1000);

    API

    It will gracefully not do anything when there's no TTY or when running in a CI.

    ora([options|text])

    If a string is provided, it is treated as a shortcut for options.text.

    options

    Type: Object

    text

    Type: string

    Text to display after the spinner.

    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: ['-', '+', '-']
    }
    color

    Type: string
    Default: cyan
    Values: black red green yellow blue magenta cyan white gray

    Color of the spinner.

    hideCursor

    Type: boolean
    Default: true

    Set to false to stop Ora from hiding the cursor.

    interval

    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.

    stream

    Type: WritableStream
    Default: process.stderr

    Stream to write the output.

    You could for example set this to process.stdout instead.

    enabled

    Type: boolean

    Force enable/disable the spinner. If not specified, the spinner will be enabled if the stream is being run inside a TTY context (not spawned or piped) and/or not in a CI environment.

    Instance

    .start([text])

    Start the spinner. Returns the instance. Set the current text if text is provided.

    .stop()

    Stop and clear the spinner. Returns the instance.

    .succeed([text])

    Stop the spinner, change it to a green and persist the current text, or text if provided. Returns the instance. See the GIF below.

    .fail([text])

    Stop the spinner, change it to a red and persist the current text, or text if provided. Returns the instance. See the GIF below.

    .warn([text])

    Stop the spinner, change it to a yellow and persist the current text, or text if provided. Returns the instance.

    .info([text])

    Stop the spinner, change it to a blue and persist the current text, or text if provided. Returns the instance.

    .isSpinning

    A boolean of whether the instance is currently spinning.

    .stopAndPersist([options])

    Stop the spinner and change the symbol or text. Returns the instance. See the GIF below.

    options

    Type: Object

    symbol

    Type: string
    Default: ' '

    Symbol to replace the spinner with.

    text

    Type: string
    Default: Current text

    Text to be persisted.

    .clear()

    Clear the spinner. Returns the instance.

    .render()

    Manually render a new frame. Returns the instance.

    .frame()

    Get a new frame.

    .text

    Change the text.

    .color

    Change the spinner color.

    ora.promise(action, [options|text])

    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.

    action

    Type: Promise

    Related

    License

    MIT © Sindre Sorhus

    install

    npm i ora

    Downloadsweekly downloads

    1,252,340

    version

    2.1.0

    license

    MIT

    repository

    githubgithub

    last publish

    collaborators

    • avatar