supa-seed
Version:
A constraint-aware, framework-agnostic database seeding framework with deep PostgreSQL business logic discovery and MakerKit integration support
71 lines • 2.52 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Logger = void 0;
const chalk_1 = __importDefault(require("chalk"));
class Logger {
static setVerbose(verbose) {
Logger.verbose = verbose;
}
static info(message, data) {
console.log(chalk_1.default.blue('[INFO]'), message);
if (data && Logger.verbose) {
console.log(chalk_1.default.gray(JSON.stringify(data, null, 2)));
}
}
static success(message, data) {
console.log(chalk_1.default.green('[SUCCESS]'), message);
if (data && Logger.verbose) {
console.log(chalk_1.default.gray(JSON.stringify(data, null, 2)));
}
}
static warn(message, data) {
console.warn(chalk_1.default.yellow('[WARN]'), message);
if (data && Logger.verbose) {
console.warn(chalk_1.default.gray(JSON.stringify(data, null, 2)));
}
}
static error(message, error) {
console.error(chalk_1.default.red('[ERROR]'), message);
if (error) {
if (Logger.verbose) {
console.error(chalk_1.default.gray('Error details:'));
if (error.stack) {
console.error(chalk_1.default.gray(error.stack));
}
else {
console.error(chalk_1.default.gray(JSON.stringify(error, null, 2)));
}
}
else {
// Show just the error message in non-verbose mode
console.error(chalk_1.default.gray(error.message || error));
}
}
}
static debug(message, data) {
if (process.env.DEBUG === 'true' || Logger.verbose) {
console.log(chalk_1.default.magenta('[DEBUG]'), message);
if (data) {
console.log(chalk_1.default.gray(JSON.stringify(data, null, 2)));
}
}
}
static step(message) {
console.log(chalk_1.default.cyan('🔄'), message);
}
static complete(message) {
console.log(chalk_1.default.green('✅'), message);
}
static fail(message) {
console.log(chalk_1.default.red('❌'), message);
}
static skip(message) {
console.log(chalk_1.default.yellow('⚠️ '), message);
}
}
exports.Logger = Logger;
Logger.verbose = false;
//# sourceMappingURL=logger.js.map