File tree Expand file tree Collapse file tree 2 files changed +17
-16
lines changed
Expand file tree Collapse file tree 2 files changed +17
-16
lines changed Original file line number Diff line number Diff line change @@ -35,21 +35,19 @@ export function mergeTransformers(
3535
3636 if ( 'type' in transformer ) {
3737 if ( typeof transformer . factory === 'function' ) {
38- // Allow custom factories to grab the extra information required
39- program = program || builder . getProgram ( ) ;
40-
4138 let factory : ReturnType < typeof transformer . factory > ;
4239
4340 if ( transformer . type === 'program' ) {
44- program = program || builder . getProgram ( ) ;
45-
41+ const currentProgram = program ?? builder . getProgram ( ) ;
4642 // Pass a getter so transformers can access the latest Program in watch mode
47- factory = transformer . factory ( program , ( ) => builder . getProgram ( ) ) ;
43+ factory = transformer . factory ( currentProgram , ( ) => builder . getProgram ( ) ) ;
44+ program = currentProgram ;
4845 } else {
49- program = program || builder . getProgram ( ) ;
50- typeChecker = typeChecker || program . getTypeChecker ( ) ;
51-
52- factory = transformer . factory ( typeChecker ) ;
46+ const currentProgram = program ?? builder . getProgram ( ) ;
47+ const currentTypeChecker = typeChecker ?? currentProgram . getTypeChecker ( ) ;
48+ factory = transformer . factory ( currentTypeChecker ) ;
49+ program = currentProgram ;
50+ typeChecker = currentTypeChecker ;
5351 }
5452
5553 // Forward the requested reference to the custom transformer factory
Original file line number Diff line number Diff line change @@ -1764,11 +1764,14 @@ test.serial(
17641764 onwarn
17651765 } ) ;
17661766
1767- await getCode ( bundle , { format : 'esm' , dir : dirName } , true ) ;
1768-
1769- t . deepEqual ( observations , [
1770- { p : 'one' , gp : 'one' } ,
1771- { p : 'two' , gp : 'two' }
1772- ] ) ;
1767+ try {
1768+ await getCode ( bundle , { format : 'esm' , dir : dirName } , true ) ;
1769+ t . deepEqual ( observations , [
1770+ { p : 'one' , gp : 'one' } ,
1771+ { p : 'two' , gp : 'two' }
1772+ ] ) ;
1773+ } finally {
1774+ await bundle . close ( ) ;
1775+ }
17731776 }
17741777) ;
You can’t perform that action at this time.
0 commit comments