1
1
import { rspack } from '@rspack/core' ;
2
2
import browserSync from 'browser-sync' ;
3
3
import nodemon from 'nodemon' ;
4
- import webpackDevMiddleware from 'webpack-dev-middleware' ;
5
4
import webpackHotMiddleware from 'webpack-hot-middleware' ;
6
5
7
6
import { config } from './config/config.cjs' ;
@@ -19,6 +18,20 @@ const server = async () => {
19
18
watch : [ 'server/**/*.*' , 'dist/request-handler.cjs' ] ,
20
19
exec : inspect ? 'node --inspect' : 'node' ,
21
20
} ) ;
21
+
22
+ browserSync . init ( null , {
23
+ host : 'localhost' ,
24
+ port : browserSyncPort ,
25
+ proxy : `http://localhost:${ port } /` ,
26
+ online : true ,
27
+ open : false ,
28
+ ghostMode : {
29
+ clicks : false ,
30
+ forms : false ,
31
+ scroll : false ,
32
+ } ,
33
+ middleware : [ webpackHotMiddleware ( clientCompiler , { reload : true } ) ] ,
34
+ } ) ;
22
35
} ;
23
36
24
37
const watchServer = ( ) => {
@@ -39,26 +52,21 @@ const watchServer = () => {
39
52
} ;
40
53
41
54
const watchClient = ( ) => {
42
- const devMiddleware = webpackDevMiddleware ( clientCompiler , {
43
- publicPath : rspackClientConfig . output . publicPath ,
55
+ clientCompiler . watch ( { } , ( err , stats ) => {
56
+ if ( err ) {
57
+ console . error ( err ) ;
58
+ }
59
+ console . log (
60
+ stats . toString ( {
61
+ modules : false ,
62
+ colors : true ,
63
+ } ) ,
64
+ ) ;
44
65
} ) ;
45
- browserSync . init ( null , {
46
- host : 'localhost' ,
47
- port : browserSyncPort ,
48
- proxy : `http://localhost:${ port } /` ,
49
- online : true ,
50
- open : false ,
51
- ghostMode : {
52
- clicks : false ,
53
- forms : false ,
54
- scroll : false ,
55
- } ,
56
- middleware : [
57
- devMiddleware ,
58
- webpackHotMiddleware ( clientCompiler , { reload : true } ) ,
59
- ] ,
66
+
67
+ return new Promise ( ( resolve ) => {
68
+ clientCompiler . hooks . done . tap ( 'client' , ( ) => resolve ( ) ) ;
60
69
} ) ;
61
- return new Promise ( ( resolve ) => devMiddleware . waitUntilValid ( resolve ) ) ;
62
70
} ;
63
71
64
72
const development = async ( ) => {
@@ -81,3 +89,7 @@ if (command === '--watch:server') {
81
89
if ( command === '--server' ) {
82
90
await server ( ) ;
83
91
}
92
+
93
+ process . on ( 'SIGINT' , ( ) => {
94
+ process . exit ( 0 ) ;
95
+ } ) ;
0 commit comments