node package manager
Stop writing boring code. Discover, share, and reuse within your team. Create a free org »

log-update

log-update Build Status

Log by overwriting the previous output in the terminal.
Useful for rendering progress bars, animations, etc.

Install

$ npm install log-update

Usage

const logUpdate = require('log-update');
const frames = ['-', '\\', '|', '/'];
let i = 0;
 
setInterval(() => {
    const frame = frames[= ++% frames.length];
 
    logUpdate(
`
        ♥♥
   ${frame} unicorns ${frame}
        ♥♥
`
    );
}, 80);

API

logUpdate(text, ...)

Log to stdout.

logUpdate.clear()

Clear the logged output.

logUpdate.done()

Persist the logged output.
Useful if you want to start a new log session below the current one.

logUpdate.stderr(text, ...)

Log to stderr.

logUpdate.stderr.clear()

logUpdate.stderr.done()

logUpdate.create(stream, [options])

Get a logUpdate method that logs to the specified stream.

options

Type: Object

showCursor

Type: boolean
Default: false

Show the cursor. This can be useful when a CLI accepts input from a user.

// Write output but don't hide the cursor
const log = logUpdate.create(process.stdout, {
    showCursor: true
});

Examples

  • listr - Uses this module to render an interactive task list
  • ora - Uses this module to render awesome spinners
  • speed-test - Uses this module to render a spinner

License

MIT © Sindre Sorhus