feat(webpack): add --env.stats to disable printing stats

primarily used internally by preview-cli
This commit is contained in:
Igor Randjelovic
2022-07-10 11:36:47 +02:00
committed by Nathan Walker
parent eedc9c9eb1
commit e80ec07873
3 changed files with 19 additions and 12 deletions

View File

@ -56,6 +56,7 @@ program
env['env'] = options.env;
}
env['stats'] ??= true;
env['watch'] ??= options.watch;
// if --env.config is passed, we'll set an environment
@ -108,13 +109,15 @@ program
// Set the process exit code depending on errors
process.exitCode = stats.hasErrors() ? 1 : 0;
console.log(
stats.toString({
chunks: false,
colors: true,
errorDetails: env.verbose,
})
);
if (env.stats) {
console.log(
stats.toString({
chunks: false,
colors: true,
errorDetails: env.verbose,
})
);
}
// if webpack profile is enabled we write the stats to a JSON file
if (configuration.profile || env.profile) {
@ -141,7 +144,7 @@ program
};
if (options.watch) {
console.log('webpack is watching the files...');
env.stats && console.log('webpack is watching the files...');
compiler.watch(
configuration.watchOptions ?? {},
webpackCompilationCallback

View File

@ -46,6 +46,9 @@ export interface IWebpackEnv {
// enable webpack profiling
profile?: boolean;
// print webpack stats (default: true)
stats?: boolean;
// misc
replace?: string[] | string;
watchNodeModules?: boolean;

View File

@ -22,7 +22,7 @@ export class WatchStatePlugin {
callback();
if (isWatchMode) {
console.log(messages.changeDetected);
env.stats && console.log(messages.changeDetected);
if (env.verbose) {
if (compiler.modifiedFiles) {
@ -44,9 +44,10 @@ export class WatchStatePlugin {
compiler.hooks.afterEmit.tapAsync(id, function (compilation, callback) {
callback();
console.log(
isWatchMode ? messages.startWatching : messages.compilationComplete
);
env.stats &&
console.log(
isWatchMode ? messages.startWatching : messages.compilationComplete
);
// Do not notify the CLI if the compilation failed
const stats = compilation.getStats();