Options
All
  • Public
  • Public/Protected
  • All
Menu

mpb

MultiProgressBar

Render progress bar in terminal

Features

  • custom template
  • render progress bar to buffer
  • use react-hooks in ink

Examples

Multiple progress bar

import { MultiProgressBar } from 'mpb';

const multi = MultiProgressBar.create({
  title: 'progress'
});

const bar = multi.createBar({
  title: 'bar 1'
});

const timer = setInterval(() => {
  bar.tick(1);
}, 100);

bar.events.on('complete-post', () => {
  clearInterval(timer);
});


const bar2 = multi.createBar({
  title: 'bar 2',
  clean: true
});

const timer2 = setInterval(() => {
  bar2.tick(1);
}, 50);

bar2.events.on('complete-post', () => {
  clearInterval(timer2);
});

Single progress bar

import { ProgressBar } from 'mpb';

const bar = ProgressBar.create({
  title: 'progress'
});

const timer = setInterval(() => {
  bar.tick(1);
}, 100);

bar.events.on('complete-post', () => {
  clearInterval(timer);
});

Use the theme

import { ProgressBar, themes } from 'mpb';

ProgressBar.create({
  title: 'progress',
  render: themes.inverse,
});

Custom render

more examples

Screenshot

Single progress bar

Single progress bar

Multiple progress bar

Multiple progress bar

Custom render

Custom render

Progress bar width logger

Progress bar width logger

Run examples

yarn build
cd examples
yarn
ts-node src/multi.ts

API docs

Generated using TypeDoc