frontend/seed/scripts/utils.js
2025-05-14 21:49:03 +02:00

30 lines
794 B
JavaScript

const chalk = require('chalk');
const logMessage = (message, level = 'info') => {
// eslint-disable-next-line
const color = level === 'error' ? 'red' : level === 'warning' ? 'yellow' : 'white';
console.log(`[${new Date().toISOString()}]`, chalk[color](message));
};
const compilerPromise = (name, compiler) =>
new Promise((resolve, reject) => {
compiler.hooks.compile.tap(name, () => {
logMessage(`[${name}] Compiling `);
});
compiler.hooks.done.tap(name, stats => {
if (!stats.hasErrors()) {
return resolve();
}
// eslint-disable-next-line
return reject(`Failed to compile ${name}`);
});
});
const sleep = ms => new Promise(resolve => setTimeout(resolve, ms));
module.exports = {
compilerPromise,
logMessage,
sleep,
};