What is @types/cli-progress?
The @types/cli-progress package provides TypeScript type definitions for the cli-progress package, which is a library for creating customizable progress bars in command line interfaces. These type definitions enable TypeScript developers to use cli-progress in their projects with the benefits of TypeScript's static type checking.
What are @types/cli-progress's main functionalities?
Single Progress Bar
This feature allows you to create and manage a single progress bar. The code sample demonstrates how to initialize, update, and stop a progress bar.
import { SingleBar } from 'cli-progress';
const bar = new SingleBar({});
bar.start(100, 0);
// Update the current value in your application.
bar.update(50);
// Stop the progress bar when done.
bar.stop();
Multi Progress Bar
This feature enables the management of multiple progress bars simultaneously. The code sample shows how to create multiple progress bars and update them independently.
import { MultiBar } from 'cli-progress';
const multi = new MultiBar({});
const bar1 = multi.create(100, 0);
const bar2 = multi.create(200, 0);
// Update the bars independently
bar1.update(50);
bar2.update(150);
// Stop all bars
multi.stop();
Custom Bar Styles
This feature allows for the customization of the progress bar's appearance, including the complete and incomplete characters and the format of the bar. The code sample demonstrates how to customize these aspects.
import { SingleBar } from 'cli-progress';
const bar = new SingleBar({
barCompleteChar: '#',
barIncompleteChar: '.',
format: 'custom |' + '{bar}' + '| {percentage}%'
});
bar.start(100, 0);
bar.update(55);
bar.stop();
Other packages similar to @types/cli-progress
progress
The 'progress' package is another popular choice for creating progress bars in Node.js applications. It offers a simple and flexible API but lacks some of the advanced features and customization options provided by cli-progress, such as multiple progress bars management.
nanobar
Nanobar is a lightweight progress bar library for the web, not directly comparable to cli-progress which is designed for command line interfaces. However, it serves a similar purpose in providing visual progress feedback, with a focus on minimalism and performance.
ora
Ora is a terminal spinner library rather than a progress bar library. It provides a different type of user feedback mechanism, focusing on indicating ongoing activity rather than progress towards completion. It's useful for operations where the total time or steps are unknown.