@@ -156,7 +156,7 @@ export default Task.extend({
156156 // we can override the file watcher instead.
157157 webpackConfig . plugins . unshift ( {
158158 apply : ( compiler : any ) => {
159- compiler . plugin ( 'after-environment ', ( ) => {
159+ compiler . hooks . afterEnvironment . tap ( 'angular-cli ', ( ) => {
160160 compiler . watchFileSystem = { watch : ( ) => { } } ;
161161 } ) ;
162162 }
@@ -166,7 +166,7 @@ export default Task.extend({
166166 webpackCompiler = webpack ( webpackConfig ) ;
167167
168168 if ( rebuildDoneCb ) {
169- webpackCompiler . plugin ( 'done ', rebuildDoneCb ) ;
169+ webpackCompiler . hooks . done . tap ( 'angular-cli ', rebuildDoneCb ) ;
170170 }
171171
172172 const statsConfig = getWebpackStatsConfig ( serveTaskOptions . verbose ) ;
@@ -222,8 +222,7 @@ export default Task.extend({
222222 disableDotRule : true ,
223223 htmlAcceptHeaders : [ 'text/html' , 'application/xhtml+xml' ]
224224 } ,
225- stats : serveTaskOptions . verbose ? statsConfig : 'none' ,
226- inline : true ,
225+ stats : serveTaskOptions . verbose ? statsConfig : false ,
227226 proxy : proxyConfig ,
228227 compress : serveTaskOptions . target === 'production' ,
229228 watchOptions : {
@@ -237,16 +236,15 @@ export default Task.extend({
237236 contentBase : false ,
238237 public : serveTaskOptions . publicHost ,
239238 disableHostCheck : serveTaskOptions . disableHostCheck ,
240- publicPath : servePath
239+ publicPath : servePath ,
240+ hot : serveTaskOptions . hmr ,
241241 } ;
242242
243243 if ( sslKey != null && sslCert != null ) {
244244 webpackDevServerConfiguration . key = sslKey ;
245245 webpackDevServerConfiguration . cert = sslCert ;
246246 }
247247
248- webpackDevServerConfiguration . hot = serveTaskOptions . hmr ;
249-
250248 if ( serveTaskOptions . target === 'production' ) {
251249 ui . writeLine ( chalk . red ( stripIndents `
252250 ****************************************************************************************
@@ -266,8 +264,9 @@ export default Task.extend({
266264 ` ) ) ;
267265
268266 const server = new WebpackDevServer ( webpackCompiler , webpackDevServerConfiguration ) ;
269- if ( ! serveTaskOptions . verbose ) {
270- webpackCompiler . plugin ( 'done' , ( stats : any ) => {
267+
268+ webpackCompiler . hooks . done . tap ( 'angular-cli' , ( stats : webpack . Stats ) => {
269+ if ( ! serveTaskOptions . verbose ) {
271270 const json = stats . toJson ( statsConfig ) ;
272271 this . ui . writeLine ( statsToString ( json , statsConfig ) ) ;
273272 if ( stats . hasWarnings ( ) ) {
@@ -276,21 +275,23 @@ export default Task.extend({
276275 if ( stats . hasErrors ( ) ) {
277276 this . ui . writeError ( statsErrorsToString ( json , statsConfig ) ) ;
278277 }
279- } ) ;
280- }
278+ }
279+
280+ if ( serveTaskOptions . open ) {
281+ opn ( serverAddress + servePath ) ;
282+ }
283+ } ) ;
281284
282285 return new Promise ( ( _resolve , reject ) => {
283286 const httpServer = server . listen (
284287 serveTaskOptions . port ,
285288 serveTaskOptions . host ,
286- ( err : any , _stats : any ) => {
289+ ( err : any ) => {
287290 if ( err ) {
288- return reject ( err ) ;
289- }
290- if ( serveTaskOptions . open ) {
291- opn ( serverAddress + servePath ) ;
291+ reject ( err ) ;
292292 }
293- } ) ;
293+ } ,
294+ ) ;
294295 // Node 8 has a keepAliveTimeout bug which doesn't respect active connections.
295296 // Connections will end after ~5 seconds (arbitrary), often not letting the full download
296297 // of large pieces of content, such as a vendor javascript file. This results in browsers
@@ -304,9 +305,8 @@ export default Task.extend({
304305 } )
305306 . catch ( ( err : Error ) => {
306307 if ( err ) {
307- this . ui . writeError ( '\nAn error occured during the build:\n' + ( ( err && err . stack ) || err ) ) ;
308+ this . ui . writeError ( '\nAn error occured during the build:\n' + ( err . stack || err ) ) ;
308309 }
309- throw err ;
310310 } ) ;
311311 }
312312} ) ;
0 commit comments