@codervisor/devlog-cli
Version:
Command-line interface for devlog - Extract and stream chat history to devlog server
48 lines (47 loc) • 1.48 kB
JavaScript
/**
* Display utilities for CLI output
*
* Provides consistent formatting and styling for CLI messages
*/
import chalk from 'chalk';
export function displayError(context, error) {
const message = error instanceof Error ? error.message : String(error);
console.error(chalk.red(`❌ Error ${context}: ${message}`));
}
export function displaySuccess(message) {
console.log(chalk.green(`✅ ${message}`));
}
export function displayWarning(message) {
console.log(chalk.yellow(`⚠️ ${message}`));
}
export function displayInfo(message) {
console.log(chalk.blue(`ℹ️ ${message}`));
}
export function displayHeader(title) {
console.log(chalk.bold.blue(`\n${title}`));
console.log(chalk.blue('='.repeat(title.length)));
}
export function formatCount(count) {
return count.toLocaleString();
}
export function formatBytes(bytes) {
const sizes = ['B', 'KB', 'MB', 'GB'];
if (bytes === 0)
return '0 B';
const i = Math.floor(Math.log(bytes) / Math.log(1024));
return `${Math.round((bytes / Math.pow(1024, i)) * 100) / 100} ${sizes[i]}`;
}
export function formatDuration(ms) {
const seconds = Math.floor(ms / 1000);
const minutes = Math.floor(seconds / 60);
const hours = Math.floor(minutes / 60);
if (hours > 0) {
return `${hours}h ${minutes % 60}m ${seconds % 60}s`;
}
else if (minutes > 0) {
return `${minutes}m ${seconds % 60}s`;
}
else {
return `${seconds}s`;
}
}