@@ -28,6 +28,11 @@ export default class Serve extends BaseCommand {
28
28
'{{ binaryName }} serve --watch' ,
29
29
'```' ,
30
30
'' ,
31
+ 'You can also start the server with HMR support using the following command.' ,
32
+ '```' ,
33
+ '{{ binaryName }} serve --unstable-hmr' ,
34
+ '```' ,
35
+ '' ,
31
36
'The assets bundler dev server runs automatically after detecting vite config or webpack config files' ,
32
37
'You may pass vite CLI args using the --assets-args command line flag.' ,
33
38
'```' ,
@@ -41,6 +46,9 @@ export default class Serve extends BaseCommand {
41
46
42
47
declare devServer : DevServer
43
48
49
+ @flags . boolean ( { description : 'Start the server with HMR support' } )
50
+ declare unstableHmr ?: boolean
51
+
44
52
@flags . boolean ( {
45
53
description : 'Watch filesystem and restart the HTTP server on file change' ,
46
54
alias : 'w' ,
@@ -112,7 +120,14 @@ export default class Serve extends BaseCommand {
112
120
return
113
121
}
114
122
123
+ if ( this . watch && this . unstableHmr ) {
124
+ this . logger . error ( 'Cannot use --watch and --unstable-hmr flags together. Choose one of them' )
125
+ this . exitCode = 1
126
+ return
127
+ }
128
+
115
129
this . devServer = new assembler . DevServer ( this . app . appRoot , {
130
+ hmr : this . unstableHmr === true ? true : false ,
116
131
clearScreen : this . clear === false ? false : true ,
117
132
nodeArgs : this . parsed . nodeArgs ,
118
133
scriptArgs : [ ] ,
0 commit comments