starlight-progress
v1.0.0
Published
Advanced terminal progress bars for Starlight CLI
Maintainers
Readme
Starlight-Progress Module
Description: Starlight-Progress is a Node.js package for displaying progress bars in the terminal. It supports multiple styles and can be used for both simple and advanced CLI applications. You can show percentages, animated bars, spinners, and dynamic progress updates.
Types of Progress
- Simple Progress Bar
- A basic linear progress bar that fills as tasks complete.
- Animated Progress Bar
- A linear progress bar with animation to show real-time progression.
- Spinner
- Displays a rotating spinner to indicate ongoing work.
- Percentage Progress
- Displays the percentage completed with a bar or spinner.
Functions
progressBar(total, delay = 100, label = "Progress")
- Displays a simple or animated progress bar.
- total: Number of steps in the bar.
- delay: Optional delay between steps in milliseconds.
- label: Optional text to display before the bar.
spinner(label = "Loading", interval = 100)
- Displays a rotating spinner in the terminal.
- label: Optional text label.
- interval: Optional animation speed in milliseconds.
percentageProgress(total, label = "Progress")
- Displays the progress with percentage.
- total: Number of steps to complete.
- label: Optional text.
Example Usage
import { progressBar, spinner, percentageProgress } from "starlight-progress"
// Simple progress bar await progressBar(20, 150, "Downloading")
// Spinner await spinner("Loading data", 100)
// Percentage progress await percentageProgress(50, "Processing")
Pros
- Easy to use in any CLI project.
- Supports multiple progress types and animations.
- Fully asynchronous, does not block other code.
- Customizable labels, speeds, and lengths.
Tips for Developers
- Use small delays to simulate progress in demos or CLI tools.
- Can be combined with other terminal UI packages like starlight-terminalui or starlight-table for dashboards.
- Always
awaitprogress functions in async code to display correctly.
