File tree 2 files changed +17
-1
lines changed
2 files changed +17
-1
lines changed Original file line number Diff line number Diff line change @@ -39,4 +39,19 @@ describe('definePlugin', () => {
39
39
'const isSSR = false;' ,
40
40
)
41
41
} )
42
+
43
+ test ( 'preserve import.meta.hot with override' , async ( ) => {
44
+ // assert that the default behavior is to replace import.meta.hot with false
45
+ const transform = await createDefinePluginTransform ( )
46
+ expect ( await transform ( 'const isHot = import.meta.hot;' ) ) . toBe (
47
+ 'const isHot = false;' ,
48
+ )
49
+ // assert that we can specify a user define to preserve import.meta.hot
50
+ const overrideTransform = await createDefinePluginTransform ( {
51
+ 'import.meta.hot' : 'import.meta.hot' ,
52
+ } )
53
+ expect ( await overrideTransform ( 'const isHot = import.meta.hot;' ) ) . toBe (
54
+ 'const isHot = import.meta.hot;' ,
55
+ )
56
+ } )
42
57
} )
Original file line number Diff line number Diff line change @@ -45,13 +45,14 @@ export function definePlugin(config: ResolvedConfig): Plugin {
45
45
...config . env ,
46
46
SSR : ! ! config . build . ssr ,
47
47
}
48
+ // set here to allow override with config.define
49
+ importMetaKeys [ 'import.meta.hot' ] = `false`
48
50
for ( const key in env ) {
49
51
importMetaKeys [ `import.meta.env.${ key } ` ] = JSON . stringify ( env [ key ] )
50
52
}
51
53
Object . assign ( importMetaFallbackKeys , {
52
54
'import.meta.env.' : `({}).` ,
53
55
'import.meta.env' : JSON . stringify ( config . env ) ,
54
- 'import.meta.hot' : `false` ,
55
56
} )
56
57
}
57
58
You can’t perform that action at this time.
0 commit comments