Cheap, functional, terminal progress bar


0.0.15 years ago5 years agoMinified + gzip package size for @articulate/progress in KB



@articulate/progress Build Status Coverage Status NSP Status


Cheap, functional, terminal progress bar.

Next time you're tempted to process.stderr.write('.') to track the progress of a script... don't. Use this instead.


progress : Object -> Number -> ()

To setup your progress bar, execute the module with an optional options object:

const progress = require('@articulate/progress')({ /* options here */ })

The following options are accepted:

Name Type Default Description
label String 'progress' custom label for your progress bar
stream stream.Writable process.stderr output stream for progress
width Number 24 max width of the bar

The returned function accepts a progress ratio between 0 and 1, and writes the progress bar to the output stream. Each time it is called, it will overwrite the previous state of the progress to appear animated in the console.

const progress = require('@articulate/progress')()

//> progress: ⣠ [==============          ] 55%

See demo.js for a slightly more complex example.

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.