Skip to content

Commit 14ead71

Browse files
committed
refactor stats merging logic
1 parent 3f34ae1 commit 14ead71

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

@@ -31,9 +31,7 @@ export default Task.extend({
3131
).config;
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({
@@ -53,7 +51,7 @@ export default Task.extend({
5351

5452
if (stats.hash !== lastHash) {
5553
lastHash = stats.hash;
56-
process.stdout.write(stats.toString(statsOptions) + '\n');
54+
process.stdout.write(stats.toString(statsConfig) + '\n');
5755
}
5856
});
5957
});

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;
@@ -32,9 +32,7 @@ export default <any>Task.extend({
3232

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

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

3937
if (runTaskOptions.progress) {
4038
webpackCompiler.apply(new ProgressPlugin({
@@ -53,7 +51,7 @@ export default <any>Task.extend({
5351

5452
if (stats.hash !== lastHash) {
5553
lastHash = stats.hash;
56-
process.stdout.write(stats.toString(statsOptions) + '\n');
54+
process.stdout.write(stats.toString(statsConfig) + '\n');
5755
}
5856

5957
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';
@@ -39,9 +39,7 @@ export default Task.extend({
3939
);
4040
webpackCompiler = webpack(config);
4141

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

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

0 commit comments

Comments
 (0)