UNPKG

i18ntk

Version:

🚀 The fastest i18n toolkit with 97% performance boost! Zero-dependency, enterprise-grade internationalization for React, Vue, Angular, Python, Java, PHP & more. Features PIN protection, auto framework detection, 7+ UI languages, and comprehensive transla

65 lines (56 loc) â€ĸ 1.76 kB
const colors = require('./colors-new'); const { envManager } = require('./env-manager'); // Enhanced logger with TTY detection and proper stream handling const logger = { // Basic log function with color support log: (message, color = '') => { const output = color ? color(message) : message; if (process.stdout.isTTY) { process.stdout.write(output + '\n'); } else { console.log(output); } }, // Error logging (goes to stderr) error: (message) => { const output = `❌ ${message}`; if (process.stderr.isTTY) { process.stderr.write(colors.bright(colors.red(output)) + '\n'); } else { console.error(output); } }, // Success logging success: (message) => { const output = `✅ ${message}`; logger.log(output, colors.green); }, // Warning logging (goes to stderr) warn: (message) => { const output = `âš ī¸ ${message}`; if (process.stderr.isTTY) { process.stderr.write(colors.bright(colors.yellow(output)) + '\n'); } else { console.warn(output); } }, // Info logging info: (message) => { const output = `â„šī¸ ${message}`; logger.log(output, colors.blue); }, // Debug logging (only when DEBUG env var is set or log level is debug) debug: (message) => { const logLevel = envManager.get('I18NTK_LOG_LEVEL'); const debugEnabled = process.env.DEBUG || logLevel === 'debug'; if (debugEnabled) { const output = `[DEBUG] ${message}`; if (process.stderr.isTTY) { process.stderr.write(colors.gray(output) + '\n'); } else { console.debug(output); } } } }; module.exports = { colors, logger };