Purely and accurately overwrites the previous output in the terminal, while maintaining the history of third-party logs.
npm install stdout-update
import UpdateManager from 'stdout-update';
const TICKS = 60;
const TIMEOUT = 80;
const manager = UpdateManager.getInstance();
const frames = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
const messages = ['Swapping time and space...', 'Have a good day.', "Don't panic...", 'Updating Updater...', '42'];
let ticks = TICKS;
let i = 0;
manager.hook();
// eslint-disable-next-line no-console
console.log(' - log message');
// eslint-disable-next-line no-console
console.error(' - error message');
// eslint-disable-next-line no-console
console.warn(' - warn message');
const id = setInterval(() => {
if (--ticks < 0) {
clearInterval(id);
manager.update(['✔ Success', '', 'Messages:', 'this line is be deleted!!!']);
manager.erase(1);
manager.unhook(false);
} else {
const frame = frames[(i = ++i % frames.length)];
const index = Math.round(ticks / 10) % messages.length;
const message = messages[index];
if (message) manager.update([`${frame} Some process...`, message]);
}
}, TIMEOUT);
tasktree-cli - simple terminal task tree, helps you keep track of your tasks in a tree structure.
Read the API documentation for more information.