@@ -5,7 +5,7 @@ import stripAnsi from "./utils/stripAnsi.js";
5
5
import parseURL from "./utils/parseURL.js" ;
6
6
import socket from "./socket.js" ;
7
7
import { formatProblem , show , hide } from "./overlay.js" ;
8
- import { log , setLogLevel } from "./utils/log.js" ;
8
+ import { log , logEnabledFeatures , setLogLevel } from "./utils/log.js" ;
9
9
import sendMessage from "./utils/sendMessage.js" ;
10
10
import reloadApp from "./utils/reloadApp.js" ;
11
11
import createSocketURL from "./utils/createSocketURL.js" ;
@@ -46,16 +46,44 @@ const options = {
46
46
} ;
47
47
const parsedResourceQuery = parseURL ( __resourceQuery ) ;
48
48
49
+ const enabledFeatures = {
50
+ "Hot Module Replacement" : false ,
51
+ "Live Reloading" : false ,
52
+ Progress : false ,
53
+ Overlay : false ,
54
+ } ;
55
+
49
56
if ( parsedResourceQuery . hot === "true" ) {
50
57
options . hot = true ;
51
-
52
- log . info ( "Hot Module Replacement enabled." ) ;
58
+ enabledFeatures [ "Hot Module Replacement" ] = true ;
53
59
}
54
60
55
61
if ( parsedResourceQuery [ "live-reload" ] === "true" ) {
56
62
options . liveReload = true ;
63
+ enabledFeatures [ "Live Reloading" ] = true ;
64
+ }
57
65
58
- log . info ( "Live Reloading enabled." ) ;
66
+ if ( parsedResourceQuery . progress === "true" ) {
67
+ options . progress = true ;
68
+ enabledFeatures . Progress = true ;
69
+ }
70
+
71
+ if ( parsedResourceQuery . overlay ) {
72
+ try {
73
+ options . overlay = JSON . parse ( parsedResourceQuery . overlay ) ;
74
+ } catch ( e ) {
75
+ log . error ( "Error parsing overlay options from resource query:" , e ) ;
76
+ }
77
+
78
+ // Fill in default "true" params for partially-specified objects.
79
+ if ( typeof options . overlay === "object" ) {
80
+ options . overlay = {
81
+ errors : true ,
82
+ warnings : true ,
83
+ ...options . overlay ,
84
+ } ;
85
+ }
86
+ enabledFeatures . Overlay = true ;
59
87
}
60
88
61
89
if ( parsedResourceQuery . logging ) {
@@ -66,6 +94,8 @@ if (typeof parsedResourceQuery.reconnect !== "undefined") {
66
94
options . reconnect = Number ( parsedResourceQuery . reconnect ) ;
67
95
}
68
96
97
+ logEnabledFeatures ( enabledFeatures ) ;
98
+
69
99
/**
70
100
* @param {string } level
71
101
*/
@@ -92,17 +122,13 @@ const onSocketMessage = {
92
122
}
93
123
94
124
options . hot = true ;
95
-
96
- log . info ( "Hot Module Replacement enabled." ) ;
97
125
} ,
98
126
liveReload ( ) {
99
127
if ( parsedResourceQuery [ "live-reload" ] === "false" ) {
100
128
return ;
101
129
}
102
130
103
131
options . liveReload = true ;
104
-
105
- log . info ( "Live Reloading enabled." ) ;
106
132
} ,
107
133
invalid ( ) {
108
134
log . info ( "App updated. Recompiling..." ) ;
0 commit comments