Logo

dev-resources.site

for different kinds of informations.

Day 21: In the name of Progress! πŸ“ˆ

Published at
12/21/2024
Categories
webdev
deno
beginners
webadvent
Author
valeriavg
Categories
4 categories in total
webdev
open
deno
open
beginners
open
webadvent
open
Author
9 person written this
valeriavg
open
Day 21: In the name of Progress! πŸ“ˆ

Patience is a virtue and it's much easier to stay patient when you see progress, isn't it? Today I'd like to share with you a library called cli-progress that does exactly that.

Let's install it with e.g. deno add npm:cli-progress and use in a script, e.g. main.ts:

import { SingleBar, Presets } from "cli-progress";
import { scheduler } from "node:timers/promises";

const bar = new SingleBar({}, Presets.shades_classic);

bar.start(5, 0);

for (let i = 0; i < 5; i++) {
  await scheduler.wait(1000);
  bar.update(i + 1);
}

bar.stop();
Enter fullscreen mode Exit fullscreen mode

Run it with e.g. deno run -A ./main.ts and enjoy an informative progress bar:

Progress bar

The library has plenty of other interesting options: e.g. you can customise format, symbols and much more.

Try out this code:

import { Bar } from "cli-progress";
import { scheduler } from "node:timers/promises";

const bar = new Bar({
  barCompleteChar: ":",
  barIncompleteChar: ".",
  fps: 5,
  barsize: 30,
  position: "center",
  format: "[{bar}] {percentage}% | ETA: {eta}s | {value}s/{total}s",
});

bar.start(5, 0);

for (let i = 0; i < 5; i++) {
  await scheduler.wait(1000);
  bar.update(i + 1);
}

bar.stop();
Enter fullscreen mode Exit fullscreen mode

Here's what it results in:

Progress bar with specified parameters

Liked the content and would love to have more of it all year long?

Buy Me A Coffee

deno Article's
30 articles in total
Favicon
Deno docker
Favicon
Day 24: Paint by Pixels 🎨
Favicon
Day 22: How the Tables have turned πŸ“
Favicon
Day 20: Not a Dedent! 🚧
Favicon
Day 23: Terminal Images πŸ–ΌοΈ
Favicon
Day 19: Highlight'em up! πŸ”–
Favicon
Day 18: Got a millisecond? ⏱️
Favicon
You can omit `run` from `deno run` command
Favicon
Day 17: Terminal Links & Other Escapes πŸ”—
Favicon
Day 8: D-8 🎱
Favicon
Day 7: Your input is valid πŸ–οΈ
Favicon
πŸš€ Rust Coders, Don’t Miss These 25 Resource Picks
Favicon
Day 9: Terminal Forms πŸ“‡
Favicon
Dynamic DNS sync with Cloudflare
Favicon
Day 14: Keep on Spinning! ♻️
Favicon
πŸš€ Automate Your PostgreSQL Backups with Ease! 🐳
Favicon
Day 21: In the name of Progress! πŸ“ˆ
Favicon
πŸš€ Automate Your PostgreSQL Backups with Ease! 🐳
Favicon
Runtime challenge: Bun vs Node
Favicon
I built a Fullstack Deno 2 application
Favicon
Self Writing Lang Graph State
Favicon
Supabase Just Got More Powerful: Queue, Cron, and Background Tasks in Edge Functions
Favicon
Day 4: ASCII Art Fonts πŸ–‹οΈ
Favicon
Day 13: I love Boxes! πŸ“¦
Favicon
#2 Daily Rabbit Holes: Diving Deeper into Rust, V8, and the JavaScriptℒ️ Saga
Favicon
Day 12: Pico-co-colors πŸ₯
Favicon
πŸ†š Bun vs Deno: When to Use Each in Your Projects?
Favicon
Exploring Bun.js Over Deno: A Humble Developer's Tale
Favicon
Day 10: Ho-ho-hono! πŸ”₯
Favicon
Benchmarking in Node.js vs Deno: A Comprehensive Comparison

Featured ones: