feat(cli): Improve CLI output and logging with colored header, grouped script listings, and ANSI-styled logger
This commit is contained in:
@@ -1,5 +1,19 @@
|
||||
import * as plugins from './moxytool.plugins.ts';
|
||||
|
||||
// ANSI color codes
|
||||
const colors = {
|
||||
reset: '\x1b[0m',
|
||||
bright: '\x1b[1m',
|
||||
dim: '\x1b[2m',
|
||||
red: '\x1b[31m',
|
||||
green: '\x1b[32m',
|
||||
yellow: '\x1b[33m',
|
||||
blue: '\x1b[34m',
|
||||
magenta: '\x1b[35m',
|
||||
cyan: '\x1b[36m',
|
||||
white: '\x1b[37m',
|
||||
};
|
||||
|
||||
/**
|
||||
* A simple logger class for MOXYTOOL
|
||||
*/
|
||||
@@ -14,22 +28,20 @@ class Logger {
|
||||
}
|
||||
|
||||
public log(level: string, message: string): void {
|
||||
const timestamp = new Date().toISOString();
|
||||
|
||||
switch (level) {
|
||||
case 'error':
|
||||
console.error(`[${timestamp}] [ERROR] ${message}`);
|
||||
console.error(`${colors.red}✗ ${message}${colors.reset}`);
|
||||
break;
|
||||
case 'warn':
|
||||
console.warn(`[${timestamp}] [WARN] ${message}`);
|
||||
console.warn(`${colors.yellow}⚠ ${message}${colors.reset}`);
|
||||
break;
|
||||
case 'ok':
|
||||
case 'success':
|
||||
console.log(`[${timestamp}] [OK] ${message}`);
|
||||
console.log(`${colors.green}✓ ${message}${colors.reset}`);
|
||||
break;
|
||||
case 'info':
|
||||
default:
|
||||
console.log(`[${timestamp}] [INFO] ${message}`);
|
||||
console.log(message);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user