[READ-ONLY] Mirror of https://github.com/bombshell-dev/clack. Effortlessly build beautiful command-line apps bomb.sh/docs/clack/basics/getting-started/
cli command-line command-line-app node prompt prompts
5

Configure Feed

Select the types of activity you want to include in your feed.

Add method `spinner.message(_msg: string)`

Add method `spinner.message(_msg: string)` that can update message of spinner in progress.

use case:
```typescript
import * as p from "@clack/prompts";

p.intro("spinner start...");

const spin = p.spinner();
const total = 10000;
let progress = 0;
spin.start();

await new Promise((resolve) => {
const timer = setInterval(() => {
progress = Math.min(total, progress + 100);
if (progress >= total) {
clearInterval(timer);
resolve(true);
}
spin.message(`Loading packages [${progress}/${total}]`); // <===
}, 100);
});

spin.stop(`Done`);

p.outro("spinner stop...");
```

authored by

Colin Luo and committed by
GitHub
(Mar 24, 2023, 2:40 AM +0800) 84b918c2 593f93d0

+8 -3
+8 -3
packages/prompts/src/index.ts
··· 607 607 export const spinner = () => { 608 608 let unblock: () => void; 609 609 let loop: NodeJS.Timer; 610 + let message = '' 610 611 const delay = unicode ? 80 : 120; 611 612 return { 612 - start(message = '') { 613 - message = message.replace(/\.?\.?\.$/, ''); 613 + start(_message = '') { 614 + message = _message.replace(/\.?\.?\.$/, ''); 614 615 unblock = block(); 615 616 process.stdout.write(`${color.gray(S_BAR)}\n${color.magenta('○')} ${message}\n`); 616 617 let i = 0; ··· 627 628 dot = dot === frames.length ? 0 : dot + 0.125; 628 629 }, delay); 629 630 }, 630 - stop(message = '') { 631 + message(_message = '') { 632 + message = _message 633 + }, 634 + stop(_message = '') { 635 + message = _message 631 636 process.stdout.write(cursor.move(-999, -2)); 632 637 process.stdout.write(erase.down(2)); 633 638 clearInterval(loop);