A simple cli progressbar module for NodeJS.
Features:
- Custom layout
- Automatic resizing
- Interpolation
[sudo] npm install --save progressbar-md
[sudo] npm install --global progressbar-md
const progressbar = require('progressbar-md');
progressbar.update(10, {
message: 'Processing...'
});
Tokens for formatting the layout:
- ':pct' - Percentage, left padded to occupy a total of 4 spaces
- ':bar' - Progressbar, default width 20, min-width 4
- ':spc' - Space, optional to fill up the command line
- ':str' - String, message to display
progressbar.format(':pct :bar:spc:str');
Set a message to be displayed for ALL updates.
progressbar.message('Processing...');
progressbar.update(10);
Modify the width of the progressbar.
progressbar.width(25);
progressbar.min_width(2);
Modify what the progressbar looks like.
progressbar.filled('#');
progressbar.empty(' ');
progressbar.boundary('[',']');
It's possible to wrap the displayed message with a function by passing the function as an argument into update. Progressbar-md can also display a custom message (wrapped in a custom function) once the bar reaches 100%. The bar also extends EventEmitter and emits a 'complete' event when it completes.
const progressbar = require('progressbar-md');
const log = require('logger-md');
progressbar.on('complete', () => {
progressbar.new(); // reset progress, reuse progressbar
});
progressbar.update(100, {
message: 'Processing...',
function: log.info.return,
fmessage: 'Done',
ffunction: log.success.return
});