1
1
/* global __resourceQuery WorkerGlobalScope */
2
2
var url = require ( "url" ) ;
3
3
var stripAnsi = require ( "strip-ansi" ) ;
4
+ var log = require ( "loglevel" )
4
5
var socket = require ( "./socket" ) ;
5
6
var overlay = require ( "./overlay" ) ;
6
7
@@ -32,18 +33,16 @@ if(typeof __resourceQuery === "string" && __resourceQuery) {
32
33
var hot = false ;
33
34
var initial = true ;
34
35
var currentHash = "" ;
35
- var logLevel = "info" ;
36
36
var useWarningOverlay = false ;
37
37
var useErrorOverlay = false ;
38
38
39
- function log ( level , msg ) {
40
- if ( logLevel === "info" && level === "info" )
41
- return console . log ( msg ) ;
42
- if ( [ "info" , "warning" ] . indexOf ( logLevel ) >= 0 && level === "warning" )
43
- return console . warn ( msg ) ;
44
- if ( [ "info" , "warning" , "error" ] . indexOf ( logLevel ) >= 0 && level === "error" )
45
- return console . error ( msg ) ;
46
- }
39
+ var INFO = "info" ;
40
+ var WARNING = "warning" ;
41
+ var ERROR = "error" ;
42
+ var NONE = "none" ;
43
+
44
+ // Set the default log level
45
+ log . setDefaultLevel ( INFO ) ;
47
46
48
47
// Send messages to the outside, so plugins can consume it.
49
48
function sendMsg ( type , data ) {
@@ -62,22 +61,35 @@ function sendMsg(type, data) {
62
61
var onSocketMsg = {
63
62
hot : function ( ) {
64
63
hot = true ;
65
- log ( " info" , "[WDS] Hot Module Replacement enabled." ) ;
64
+ log . info ( "[WDS] Hot Module Replacement enabled." ) ;
66
65
} ,
67
66
invalid : function ( ) {
68
- log ( " info" , "[WDS] App updated. Recompiling..." ) ;
67
+ log . info ( "[WDS] App updated. Recompiling..." ) ;
69
68
sendMsg ( "Invalid" ) ;
70
69
} ,
71
70
hash : function ( hash ) {
72
71
currentHash = hash ;
73
72
} ,
74
73
"still-ok" : function ( ) {
75
- log ( " info" , "[WDS] Nothing changed." )
74
+ log . info ( "[WDS] Nothing changed." )
76
75
if ( useWarningOverlay || useErrorOverlay ) overlay . clear ( ) ;
77
76
sendMsg ( "StillOk" ) ;
78
77
} ,
79
78
"log-level" : function ( level ) {
80
- logLevel = level ;
79
+ switch ( level ) {
80
+ case INFO :
81
+ case ERROR :
82
+ log . setLevel ( level ) ;
83
+ break ;
84
+ case WARNING :
85
+ log . setLevel ( "warn" ) ; // loglevel's warning name is different from webpack's
86
+ break ;
87
+ case NONE :
88
+ log . disableAll ( ) ;
89
+ break ;
90
+ default :
91
+ log . error ( "[WDS] Unknown clientLogLevel '" + level + "'" ) ;
92
+ }
81
93
} ,
82
94
"overlay" : function ( overlay ) {
83
95
if ( typeof document !== "undefined" ) {
@@ -97,37 +109,37 @@ var onSocketMsg = {
97
109
reloadApp ( ) ;
98
110
} ,
99
111
"content-changed" : function ( ) {
100
- log ( " info" , "[WDS] Content base changed. Reloading..." )
112
+ log . info ( "[WDS] Content base changed. Reloading..." )
101
113
self . location . reload ( ) ;
102
114
} ,
103
115
warnings : function ( warnings ) {
104
- log ( "info" , "[WDS] Warnings while compiling." ) ;
116
+ log . warn ( "[WDS] Warnings while compiling." ) ;
105
117
var strippedWarnings = warnings . map ( function ( warning ) {
106
118
return stripAnsi ( warning ) ;
107
119
} ) ;
108
120
sendMsg ( "Warnings" , strippedWarnings ) ;
109
121
for ( var i = 0 ; i < strippedWarnings . length ; i ++ )
110
- log ( "warning" , strippedWarnings [ i ] ) ;
122
+ log . warn ( strippedWarnings [ i ] ) ;
111
123
if ( useWarningOverlay ) overlay . showMessage ( warnings ) ;
112
124
113
125
if ( initial ) return initial = false ;
114
126
reloadApp ( ) ;
115
127
} ,
116
128
errors : function ( errors ) {
117
- log ( "info" , "[WDS] Errors while compiling. Reload prevented." ) ;
129
+ log . error ( "[WDS] Errors while compiling. Reload prevented." ) ;
118
130
var strippedErrors = errors . map ( function ( error ) {
119
131
return stripAnsi ( error ) ;
120
132
} ) ;
121
133
sendMsg ( "Errors" , strippedErrors ) ;
122
134
for ( var i = 0 ; i < strippedErrors . length ; i ++ )
123
- log ( " error" , strippedErrors [ i ] ) ;
135
+ log . error ( strippedErrors [ i ] ) ;
124
136
if ( useErrorOverlay ) overlay . showMessage ( errors ) ;
125
137
} ,
126
138
error : function ( error ) {
127
- console . error ( error ) ;
139
+ log . error ( error ) ;
128
140
} ,
129
141
close : function ( ) {
130
- log ( " error" , "[WDS] Disconnected!" ) ;
142
+ log . error ( "[WDS] Disconnected!" ) ;
131
143
sendMsg ( "Close" ) ;
132
144
}
133
145
} ;
@@ -174,15 +186,15 @@ function reloadApp() {
174
186
return ;
175
187
}
176
188
if ( hot ) {
177
- log ( " info" , "[WDS] App hot update..." ) ;
189
+ log . info ( "[WDS] App hot update..." ) ;
178
190
var hotEmitter = require ( "webpack/hot/emitter" ) ;
179
191
hotEmitter . emit ( "webpackHotUpdate" , currentHash ) ;
180
192
if ( typeof self !== "undefined" && self . window ) {
181
193
// broadcast update to window
182
194
self . postMessage ( "webpackHotUpdate" + currentHash , "*" ) ;
183
195
}
184
196
} else {
185
- log ( " info" , "[WDS] App updated. Reloading..." ) ;
197
+ log . info ( "[WDS] App updated. Reloading..." ) ;
186
198
self . location . reload ( ) ;
187
199
}
188
200
}
0 commit comments