1
1
import path from 'node:path' ;
2
2
import { test , expect } from '@playwright/test' ;
3
+ import { gotoPage } from '@e2e/helper' ;
3
4
import { type RsbuildPlugin , createRsbuild } from '@rsbuild/core' ;
4
- import { fse } from '@rsbuild/shared' ;
5
+ import { fse , setNodeEnv } from '@rsbuild/shared' ;
5
6
6
7
const distFile = path . join ( __dirname , 'node_modules/hooksTempFile' ) ;
7
8
@@ -22,6 +23,10 @@ const plugin: RsbuildPlugin = {
22
23
api . modifyWebpackChain ( ( ) => write ( 'ModifyBundlerConfig' ) ) ;
23
24
api . modifyRsbuildConfig ( ( ) => write ( 'ModifyRsbuildConfig' ) ) ;
24
25
api . modifyBundlerChain ( ( ) => write ( 'ModifyBundlerChain' ) ) ;
26
+ api . modifyHTMLTags ( ( tags ) => {
27
+ write ( 'ModifyHTMLTags' ) ;
28
+ return tags ;
29
+ } ) ;
25
30
api . onBeforeStartDevServer ( ( ) => write ( 'BeforeStartDevServer' ) ) ;
26
31
api . onAfterStartDevServer ( ( ) => write ( 'AfterStartDevServer' ) ) ;
27
32
api . onBeforeCreateCompiler ( ( ) => write ( 'BeforeCreateCompiler' ) ) ;
@@ -31,6 +36,7 @@ const plugin: RsbuildPlugin = {
31
36
api . onBeforeStartProdServer ( ( ) => write ( 'BeforeStartProdServer' ) ) ;
32
37
api . onCloseDevServer ( ( ) => write ( 'OnCloseDevServer' ) ) ;
33
38
api . onAfterStartProdServer ( ( ) => write ( 'AfterStartProdServer' ) ) ;
39
+ api . onDevCompileDone ( ( ) => write ( 'OnDevCompileDone' ) ) ;
34
40
} ,
35
41
} ;
36
42
@@ -53,11 +59,15 @@ test('should run plugin hooks correctly when running build', async () => {
53
59
'BeforeCreateCompiler' ,
54
60
'AfterCreateCompiler' ,
55
61
'BeforeBuild' ,
62
+ 'ModifyHTMLTags' ,
56
63
'AfterBuild' ,
57
64
] ) ;
58
65
} ) ;
59
66
60
- test ( 'should run plugin hooks correctly when running startDevServer' , async ( ) => {
67
+ test ( 'should run plugin hooks correctly when running startDevServer' , async ( {
68
+ page,
69
+ } ) => {
70
+ setNodeEnv ( 'development' ) ;
61
71
fse . removeSync ( distFile ) ;
62
72
63
73
const rsbuild = await createRsbuild ( {
@@ -69,6 +79,8 @@ test('should run plugin hooks correctly when running startDevServer', async () =
69
79
70
80
const result = await rsbuild . startDevServer ( ) ;
71
81
82
+ await gotoPage ( page , result ) ;
83
+
72
84
await result . server . close ( ) ;
73
85
74
86
expect ( fse . readFileSync ( distFile , 'utf-8' ) . split ( ',' ) ) . toEqual ( [
@@ -79,8 +91,12 @@ test('should run plugin hooks correctly when running startDevServer', async () =
79
91
'BeforeCreateCompiler' ,
80
92
'AfterCreateCompiler' ,
81
93
'AfterStartDevServer' ,
94
+ 'ModifyHTMLTags' ,
95
+ 'OnDevCompileDone' ,
82
96
'OnCloseDevServer' ,
83
97
] ) ;
98
+
99
+ setNodeEnv ( 'test' ) ;
84
100
} ) ;
85
101
86
102
test ( 'should run plugin hooks correctly when running preview' , async ( ) => {
0 commit comments