@@ -3,6 +3,8 @@ import * as webpack from 'webpack';
3
3
import { AngularCompilerPlugin } from '@ngtools/webpack' ;
4
4
import { XI18nWebpackConfig } from '../models/webpack-xi18n-config' ;
5
5
import { getAppFromConfig } from '../utilities/app-utils' ;
6
+ import { getWebpackStatsConfig } from '../models/webpack-configs' ;
7
+ import { statsErrorsToString , statsWarningsToString } from '../utilities/stats' ;
6
8
7
9
const Task = require ( '../ember-cli/lib/models/task' ) ;
8
10
const MemoryFS = require ( 'memory-fs' ) ;
@@ -34,27 +36,26 @@ export const Extracti18nTask = Task.extend({
34
36
35
37
const webpackCompiler = webpack ( config ) ;
36
38
webpackCompiler . outputFileSystem = new MemoryFS ( ) ;
39
+ const statsConfig = getWebpackStatsConfig ( runTaskOptions . verbose ) ;
37
40
38
41
return new Promise ( ( resolve , reject ) => {
39
42
const callback : webpack . compiler . CompilerCallback = ( err , stats ) => {
40
43
if ( err ) {
41
44
return reject ( err ) ;
42
45
}
43
46
47
+ const json = stats . toJson ( 'verbose' ) ;
48
+ if ( stats . hasWarnings ( ) ) {
49
+ this . ui . writeLine ( statsWarningsToString ( json , statsConfig ) ) ;
50
+ }
44
51
if ( stats . hasErrors ( ) ) {
45
- reject ( ) ;
52
+ reject ( statsErrorsToString ( json , statsConfig ) ) ;
46
53
} else {
47
54
resolve ( ) ;
48
55
}
49
56
} ;
50
57
51
58
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
- }
58
59
} ) ;
59
60
}
60
61
} ) ;
0 commit comments