@@ -2148,12 +2148,12 @@ class Server {
21482148 }
21492149
21502150 // eslint-disable-next-line class-methods-use-this
2151- sendMessage ( clients , type , data ) {
2151+ sendMessage ( clients , type , data , params ) {
21522152 for ( const client of clients ) {
21532153 // `sockjs` uses `1` to indicate client is ready to accept data
21542154 // `ws` uses `WebSocket.OPEN`, but it is mean `1` too
21552155 if ( client . readyState === 1 ) {
2156- client . send ( JSON . stringify ( { type, data } ) ) ;
2156+ client . send ( JSON . stringify ( { type, data, params } ) ) ;
21572157 }
21582158 }
21592159 }
@@ -2202,8 +2202,16 @@ class Server {
22022202 this . sendMessage ( clients , "hash" , stats . hash ) ;
22032203
22042204 if ( stats . errors . length > 0 || stats . warnings . length > 0 ) {
2205+ const hasErrors = stats . errors . length > 0 ;
2206+
22052207 if ( stats . warnings . length > 0 ) {
2206- this . sendMessage ( clients , "warnings" , stats . warnings ) ;
2208+ let params ;
2209+
2210+ if ( hasErrors ) {
2211+ params = { preventReloading : true } ;
2212+ }
2213+
2214+ this . sendMessage ( clients , "warnings" , stats . warnings , params ) ;
22072215 }
22082216
22092217 if ( stats . errors . length > 0 ) {
0 commit comments