in fusion-cli/build/compiler.js [61:104]
function getStatsLogger({dir, logger, env}) {
return (err, stats) => {
// syntax errors are logged 4 times (once by webpack, once by babel, once on server and once on client)
// we only want to log each syntax error once
const isProd = env === 'production';
if (err) {
logger.error(err.stack || err);
if (err.details) {
logger.error(err.details);
}
return;
}
const file = path.resolve(dir, '.fusion/stats.json');
const info = stats.toJson({context: path.resolve(dir)});
fs.writeFile(file, JSON.stringify(info, null, 2), () => {});
if (stats.hasErrors()) {
getErrors(info).forEach(e => logger.error(e));
}
// TODO(#13): These logs seem to be kinda noisy for dev.
if (isProd) {
info.children.forEach(child => {
child.assets
.slice()
.filter(asset => {
return !asset.name.endsWith('.map');
})
.sort((a, b) => {
return b.size - a.size;
})
.forEach(asset => {
logger.info(`Entrypoint: ${chalk.bold(child.name)}`);
logger.info(`Asset: ${chalk.bold(asset.name)}`);
logger.info(`Size: ${chalk.bold(asset.size)} bytes`);
});
});
}
if (stats.hasWarnings()) {
getWarnings(info).forEach(e => logger.warn(e));
}
};
}