@@ -3,6 +3,8 @@ import * as webpack from 'webpack';
33import { AngularCompilerPlugin } from '@ngtools/webpack' ;
44import { XI18nWebpackConfig } from '../models/webpack-xi18n-config' ;
55import { getAppFromConfig } from '../utilities/app-utils' ;
6+ import { getWebpackStatsConfig } from '../models/webpack-configs' ;
7+ import { statsErrorsToString , statsToString , statsWarningsToString } from '../utilities/stats' ;
68
79const Task = require ( '../ember-cli/lib/models/task' ) ;
810const MemoryFS = require ( 'memory-fs' ) ;
@@ -34,27 +36,32 @@ export const Extracti18nTask = Task.extend({
3436
3537 const webpackCompiler = webpack ( config ) ;
3638 webpackCompiler . outputFileSystem = new MemoryFS ( ) ;
39+ const statsConfig = getWebpackStatsConfig ( runTaskOptions . verbose ) ;
3740
3841 return new Promise ( ( resolve , reject ) => {
3942 const callback : webpack . compiler . CompilerCallback = ( err , stats ) => {
4043 if ( err ) {
4144 return reject ( err ) ;
4245 }
4346
47+ const json = stats . toJson ( 'verbose' ) ;
48+ if ( runTaskOptions . verbose ) {
49+ this . ui . writeLine ( stats . toString ( statsConfig ) ) ;
50+ } else {
51+ this . ui . writeLine ( statsToString ( json , statsConfig ) ) ;
52+ }
53+
54+ if ( stats . hasWarnings ( ) ) {
55+ this . ui . writeLine ( statsWarningsToString ( json , statsConfig ) ) ;
56+ }
4457 if ( stats . hasErrors ( ) ) {
45- reject ( ) ;
58+ reject ( statsErrorsToString ( json , statsConfig ) ) ;
4659 } else {
4760 resolve ( ) ;
4861 }
4962 } ;
5063
5164 webpackCompiler . run ( callback ) ;
52- } )
53- . catch ( ( err : Error ) => {
54- if ( err ) {
55- this . ui . writeError ( '\nAn error occured during the i18n extraction:\n'
56- + ( ( err && err . stack ) || err ) ) ;
57- }
5865 } ) ;
5966 }
6067} ) ;
0 commit comments