Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
log-update
Advanced tools
Log by overwriting the previous output in the terminal. Useful for rendering progress bars, animations, etc.
The log-update npm package allows you to update the log output in the terminal, effectively enabling you to create dynamic terminal interfaces. It is particularly useful for creating progress bars, status messages, and other real-time updates without cluttering the terminal with multiple lines of output.
Basic Log Update
This feature allows you to update the log output in the terminal. The initial message 'Hello World' is displayed, and after 1 second, it is updated to 'Updated Hello World'.
const logUpdate = require('log-update');
logUpdate('Hello World');
setTimeout(() => {
logUpdate('Updated Hello World');
}, 1000);
Progress Bar
This feature demonstrates how to create a simple progress indicator using a rotating set of characters. The log output is updated every 80 milliseconds to show a different frame, creating the illusion of a spinning progress bar.
const logUpdate = require('log-update');
const frames = ['-', '\', '|', '/'];
let i = 0;
setInterval(() => {
const frame = frames[i = ++i % frames.length];
logUpdate(`Loading ${frame}`);
}, 80);
Multiple Lines
This feature shows how to update multiple lines of log output. The `render` function updates the terminal with three lines of text, and this update occurs every second.
const logUpdate = require('log-update');
const render = () => {
logUpdate(
'Line 1\n' +
'Line 2\n' +
'Line 3'
);
};
setInterval(render, 1000);
Ora is a terminal spinner library that provides a variety of spinner styles and allows for easy integration of spinners into your terminal applications. Unlike log-update, which focuses on updating log output, ora is specifically designed for creating and managing spinners.
cli-progress is a versatile progress bar library for the terminal. It supports multiple progress bars, custom bar styles, and various configuration options. While log-update can be used to create simple progress indicators, cli-progress offers more advanced and customizable progress bar functionalities.
Blessed is a comprehensive library for creating terminal user interfaces. It supports a wide range of widgets, including text boxes, buttons, and progress bars. Compared to log-update, which is focused on updating log output, blessed provides a full-featured framework for building complex terminal applications.
Log by overwriting the previous output in the terminal.
Useful for rendering progress bars, animations, etc.
npm install log-update
import logUpdate from 'log-update';
const frames = ['-', '\\', '|', '/'];
let index = 0;
setInterval(() => {
const frame = frames[index = ++index % frames.length];
logUpdate(
`
♥♥
${frame} unicorns ${frame}
♥♥
`
);
}, 80);
Log to stdout.
Clear the logged output.
Persist the logged output.
Useful if you want to start a new log session below the current one.
Log to stderr.
Get a logUpdate
method that logs to the specified stream.
Type: object
Type: boolean
Default: false
Show the cursor. This can be useful when a CLI accepts input from a user.
import {createLogUpdate} from 'log-update';
// Write output but don't hide the cursor
const log = createLogUpdate(process.stdout, {
showCursor: true
});
FAQs
Log by overwriting the previous output in the terminal. Useful for rendering progress bars, animations, etc.
The npm package log-update receives a total of 0 weekly downloads. As such, log-update popularity was classified as not popular.
We found that log-update demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.