@@ -10,7 +10,7 @@ import {
1010 createBuilder ,
1111 targetFromTargetString ,
1212} from '@angular-devkit/architect' ;
13- import { runWebpack } from '@angular-devkit/build-webpack' ;
13+ import { WebpackLoggingCallback , runWebpack } from '@angular-devkit/build-webpack' ;
1414import { JsonObject } from '@angular-devkit/core' ;
1515import * as path from 'path' ;
1616import * as webpack from 'webpack' ;
@@ -20,6 +20,7 @@ import {
2020 getStatsConfig ,
2121 getStylesConfig ,
2222} from '../angular-cli-files/models/webpack-configs' ;
23+ import { statsErrorsToString , statsWarningsToString } from '../angular-cli-files/utilities/stats' ;
2324import { Schema as BrowserBuilderOptions } from '../browser/schema' ;
2425import { Version } from '../utils/version' ;
2526import { generateBrowserWebpackConfigFromContext } from '../utils/webpack-browser-config' ;
@@ -91,7 +92,19 @@ async function execute(options: ExtractI18nBuilderOptions, context: BuilderConte
9192 ] ,
9293 ) ;
9394
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 ( ) ;
95108}
96109
97110export default createBuilder < JsonObject & ExtractI18nBuilderOptions > ( execute ) ;
0 commit comments