Skip to content

Commit 73b8f58

Browse files
committed
refactor stats merging logic
1 parent f3724d2 commit 73b8f58

File tree

4 files changed

+17
-17
lines changed

4 files changed

+17
-17
lines changed

packages/angular-cli/models/webpack-build-utils.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ export const ngAppResolve = (resolvePath: string): string => {
44
return path.resolve(process.cwd(), resolvePath);
55
};
66

7-
export const webpackOutputOptions = {
7+
const webpackOutputOptions = {
88
colors: true,
99
hash: true,
1010
timings: true,
@@ -18,10 +18,16 @@ export const webpackOutputOptions = {
1818
version: false
1919
};
2020

21-
export const verboseWebpackOutputOptions = {
21+
const verboseWebpackOutputOptions = {
2222
children: true,
2323
assets: true,
2424
version: true,
2525
reasons: true,
2626
chunkModules: false // TODO: set to true when console to file output is fixed
2727
};
28+
29+
export function getWebpackStatsConfig(verbose = false){
30+
return verbose
31+
? Object.assign(webpackOutputOptions, verboseWebpackOutputOptions)
32+
: webpackOutputOptions;
33+
}

packages/angular-cli/tasks/build-webpack-watch.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const Task = require('../ember-cli/lib/models/task');
44
import * as webpack from 'webpack';
55
const ProgressPlugin = require('webpack/lib/ProgressPlugin');
66
import { NgCliWebpackConfig } from '../models/webpack-config';
7-
import { webpackOutputOptions, verboseWebpackOutputOptions } from '../models/';
7+
import { getWebpackStatsConfig } from '../models/';
88
import { BuildOptions } from '../commands/build';
99
import { CliConfig } from '../models/config';
1010

@@ -30,9 +30,7 @@ export default Task.extend({
3030
).config;
3131
const webpackCompiler: any = webpack(config);
3232

33-
const statsOptions = runTaskOptions.verbose
34-
? Object.assign(webpackOutputOptions, verboseWebpackOutputOptions)
35-
: webpackOutputOptions;
33+
const statsConfig = getWebpackStatsConfig(runTaskOptions.verbose);
3634

3735
if (runTaskOptions.progress) {
3836
webpackCompiler.apply(new ProgressPlugin({
@@ -52,7 +50,7 @@ export default Task.extend({
5250

5351
if (stats.hash !== lastHash) {
5452
lastHash = stats.hash;
55-
process.stdout.write(stats.toString(statsOptions) + '\n');
53+
process.stdout.write(stats.toString(statsConfig) + '\n');
5654
}
5755
});
5856
});

packages/angular-cli/tasks/build-webpack.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import * as webpack from 'webpack';
55
const ProgressPlugin = require('webpack/lib/ProgressPlugin');
66
import { BuildOptions } from '../commands/build';
77
import { NgCliWebpackConfig } from '../models/webpack-config';
8-
import { webpackOutputOptions, verboseWebpackOutputOptions } from '../models/';
8+
import { getWebpackStatsConfig } from '../models/';
99
import { CliConfig } from '../models/config';
1010

1111
// Configure build and output;
@@ -31,9 +31,7 @@ export default <any>Task.extend({
3131

3232
const webpackCompiler: any = webpack(config);
3333

34-
const statsOptions = runTaskOptions.verbose
35-
? Object.assign(webpackOutputOptions, verboseWebpackOutputOptions)
36-
: webpackOutputOptions;
34+
const statsConfig = getWebpackStatsConfig(runTaskOptions.verbose);
3735

3836
if (runTaskOptions.progress) {
3937
webpackCompiler.apply(new ProgressPlugin({
@@ -52,7 +50,7 @@ export default <any>Task.extend({
5250

5351
if (stats.hash !== lastHash) {
5452
lastHash = stats.hash;
55-
process.stdout.write(stats.toString(statsOptions) + '\n');
53+
process.stdout.write(stats.toString(statsConfig) + '\n');
5654
}
5755

5856
return stats.hasErrors() ? reject() : resolve();

packages/angular-cli/tasks/serve-webpack.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ const Task = require('../ember-cli/lib/models/task');
66
import * as webpack from 'webpack';
77
const WebpackDevServer = require('webpack-dev-server');
88
const ProgressPlugin = require('webpack/lib/ProgressPlugin');
9-
import { webpackOutputOptions, verboseWebpackOutputOptions } from '../models/';
9+
import { getWebpackStatsConfig } from '../models/';
1010
import { NgCliWebpackConfig } from '../models/webpack-config';
1111
import { ServeTaskOptions } from '../commands/serve';
1212
import { CliConfig } from '../models/config';
@@ -38,9 +38,7 @@ export default Task.extend({
3838
);
3939
webpackCompiler = webpack(config);
4040

41-
const statsOptions = serveTaskOptions.verbose
42-
? Object.assign(webpackOutputOptions, verboseWebpackOutputOptions)
43-
: webpackOutputOptions;
41+
const statsConfig = getWebpackStatsConfig(serveTaskOptions.verbose);
4442

4543
if (serveTaskOptions.progress) {
4644
webpackCompiler.apply(new ProgressPlugin({
@@ -83,7 +81,7 @@ export default Task.extend({
8381
disableDotRule: true,
8482
htmlAcceptHeaders: ['text/html', 'application/xhtml+xml']
8583
},
86-
stats: statsOptions,
84+
stats: statsConfig,
8785
inline: true,
8886
proxy: proxyConfig,
8987
compress: serveTaskOptions.target === 'production',

0 commit comments

Comments
 (0)