@@ -10,7 +10,7 @@ import {
10
10
createBuilder ,
11
11
targetFromTargetString ,
12
12
} from '@angular-devkit/architect' ;
13
- import { runWebpack } from '@angular-devkit/build-webpack' ;
13
+ import { WebpackLoggingCallback , runWebpack } from '@angular-devkit/build-webpack' ;
14
14
import { JsonObject } from '@angular-devkit/core' ;
15
15
import * as path from 'path' ;
16
16
import * as webpack from 'webpack' ;
@@ -20,6 +20,7 @@ import {
20
20
getStatsConfig ,
21
21
getStylesConfig ,
22
22
} from '../angular-cli-files/models/webpack-configs' ;
23
+ import { statsErrorsToString , statsWarningsToString } from '../angular-cli-files/utilities/stats' ;
23
24
import { Schema as BrowserBuilderOptions } from '../browser/schema' ;
24
25
import { Version } from '../utils/version' ;
25
26
import { generateBrowserWebpackConfigFromContext } from '../utils/webpack-browser-config' ;
@@ -91,7 +92,19 @@ async function execute(options: ExtractI18nBuilderOptions, context: BuilderConte
91
92
] ,
92
93
) ;
93
94
94
- return runWebpack ( config [ 0 ] , context ) . toPromise ( ) ;
95
+ const logging : WebpackLoggingCallback = ( stats , config ) => {
96
+ const json = stats . toJson ( { errors : true , warnings : true } ) ;
97
+
98
+ if ( stats . hasWarnings ( ) ) {
99
+ context . logger . warn ( statsWarningsToString ( json , config . stats ) ) ;
100
+ }
101
+
102
+ if ( stats . hasErrors ( ) ) {
103
+ context . logger . error ( statsErrorsToString ( json , config . stats ) ) ;
104
+ }
105
+ } ;
106
+
107
+ return runWebpack ( config [ 0 ] , context , { logging } ) . toPromise ( ) ;
95
108
}
96
109
97
110
export default createBuilder < JsonObject & ExtractI18nBuilderOptions > ( execute ) ;
0 commit comments