@@ -30,40 +30,48 @@ self.addEventListener('beforeunload', () => {
30
30
31
31
if ( typeof window !== 'undefined' ) {
32
32
const qs = window . location . search . toLowerCase ( ) ;
33
+
33
34
options . hotReload = qs . indexOf ( 'hotreload=false' ) === - 1 ;
34
35
}
35
36
36
37
const onSocketMessage = {
37
38
hot ( ) {
38
39
options . hot = true ;
40
+
39
41
log . info ( 'Hot Module Replacement enabled.' ) ;
40
42
} ,
41
43
liveReload ( ) {
42
44
options . liveReload = true ;
45
+
43
46
log . info ( 'Live Reloading enabled.' ) ;
44
47
} ,
45
48
invalid ( ) {
46
49
log . info ( 'App updated. Recompiling...' ) ;
50
+
47
51
// fixes #1042. overlay doesn't clear if errors are fixed but warnings remain.
48
52
if ( options . useWarningOverlay || options . useErrorOverlay ) {
49
53
overlay . clear ( ) ;
50
54
}
55
+
51
56
sendMessage ( 'Invalid' ) ;
52
57
} ,
53
58
hash ( hash ) {
54
59
status . currentHash = hash ;
55
60
} ,
56
61
'still-ok' : function stillOk ( ) {
57
62
log . info ( 'Nothing changed.' ) ;
63
+
58
64
if ( options . useWarningOverlay || options . useErrorOverlay ) {
59
65
overlay . clear ( ) ;
60
66
}
67
+
61
68
sendMessage ( 'StillOk' ) ;
62
69
} ,
63
70
logging : function logging ( level ) {
64
71
// this is needed because the HMR logger operate separately from
65
72
// dev server logger
66
73
const hotCtx = require . context ( 'webpack/hot' , false , / ^ \. \/ l o g $ / ) ;
74
+
67
75
if ( hotCtx . keys ( ) . indexOf ( './log' ) !== - 1 ) {
68
76
hotCtx ( './log' ) . setLogLevel ( level ) ;
69
77
}
@@ -90,29 +98,40 @@ const onSocketMessage = {
90
98
if ( options . useProgress ) {
91
99
log . info ( `${ data . percent } % - ${ data . msg } .` ) ;
92
100
}
101
+
93
102
sendMessage ( 'Progress' , data ) ;
94
103
} ,
95
104
ok ( ) {
96
105
sendMessage ( 'Ok' ) ;
106
+
97
107
if ( options . useWarningOverlay || options . useErrorOverlay ) {
98
108
overlay . clear ( ) ;
99
109
}
110
+
100
111
if ( options . initial ) {
101
112
return ( options . initial = false ) ;
102
113
}
114
+
103
115
reloadApp ( options , status ) ;
104
116
} ,
105
117
'content-changed' : function contentChanged ( ) {
106
118
log . info ( 'Content base changed. Reloading...' ) ;
119
+
107
120
self . location . reload ( ) ;
108
121
} ,
109
122
warnings ( warnings ) {
110
123
log . warn ( 'Warnings while compiling.' ) ;
111
- const strippedWarnings = warnings . map ( ( warning ) => stripAnsi ( warning ) ) ;
124
+
125
+ const strippedWarnings = warnings . map ( ( warning ) =>
126
+ stripAnsi ( warning . message ? warning . message : warning )
127
+ ) ;
128
+
112
129
sendMessage ( 'Warnings' , strippedWarnings ) ;
130
+
113
131
for ( let i = 0 ; i < strippedWarnings . length ; i ++ ) {
114
132
log . warn ( strippedWarnings [ i ] ) ;
115
133
}
134
+
116
135
if ( options . useWarningOverlay ) {
117
136
overlay . showMessage ( warnings ) ;
118
137
}
@@ -125,16 +144,21 @@ const onSocketMessage = {
125
144
} ,
126
145
errors ( errors ) {
127
146
log . error ( 'Errors while compiling. Reload prevented.' ) ;
147
+
128
148
const strippedErrors = errors . map ( ( error ) =>
129
149
stripAnsi ( error . message ? error . message : error )
130
150
) ;
151
+
131
152
sendMessage ( 'Errors' , strippedErrors ) ;
153
+
132
154
for ( let i = 0 ; i < strippedErrors . length ; i ++ ) {
133
155
log . error ( strippedErrors [ i ] ) ;
134
156
}
157
+
135
158
if ( options . useErrorOverlay ) {
136
159
overlay . showMessage ( errors ) ;
137
160
}
161
+
138
162
options . initial = false ;
139
163
} ,
140
164
error ( error ) {
0 commit comments