@@ -665,6 +665,20 @@ export function ensurePreDeclarationTransformers(transformers: ts.CustomTransfor
665665 const beforeTransformers = transformers . before as ts . TransformerFactory < ts . SourceFile > [ ] ;
666666 const seenSourceFiles = new Set < ts . SourceFile > ( ) ;
667667 const preTransformedSourceFiles = new Map < ts . SourceFile , ts . SourceFile > ( ) ;
668+ const runBefore = (
669+ beforeTransforms : ts . Transformer < ts . SourceFile > [ ] ,
670+ sourceFile : ts . SourceFile ,
671+ originalSourceFile : ts . SourceFile ,
672+ ) : ts . SourceFile => {
673+ seenSourceFiles . add ( originalSourceFile ) ;
674+ let current = sourceFile ;
675+ for ( const transform of beforeTransforms ) {
676+ current = transform ( current ) ;
677+ }
678+
679+ return current ;
680+ } ;
681+
668682 transformers . before = [
669683 ( context ) => {
670684 let beforeTransforms : ts . Transformer < ts . SourceFile > [ ] | undefined ;
@@ -678,14 +692,9 @@ export function ensurePreDeclarationTransformers(transformers: ts.CustomTransfor
678692 return preTransformed ;
679693 }
680694
681- seenSourceFiles . add ( originalSourceFile ) ;
682695 beforeTransforms ??= beforeTransformers . map ( ( factory ) => factory ( context ) ) ;
683- let current = sourceFile ;
684- for ( const transform of beforeTransforms ) {
685- current = transform ( current ) ;
686- }
687696
688- return current ;
697+ return runBefore ( beforeTransforms , sourceFile , originalSourceFile ) ;
689698 } ;
690699 } ,
691700 ] ;
@@ -697,13 +706,11 @@ export function ensurePreDeclarationTransformers(transformers: ts.CustomTransfor
697706 if ( ! ts . isBundle ( fileOrBundle ) ) {
698707 const originalSourceFile = ts . getOriginalNode ( fileOrBundle , ts . isSourceFile ) ;
699708 if ( ! seenSourceFiles . has ( originalSourceFile ) ) {
700- seenSourceFiles . add ( originalSourceFile ) ;
701709 beforeTransforms ??= beforeTransformers . map ( ( factory ) => factory ( context ) ) ;
702- let current = originalSourceFile ;
703- for ( const transform of beforeTransforms ) {
704- current = transform ( current ) ;
705- }
706- preTransformedSourceFiles . set ( originalSourceFile , current ) ;
710+ preTransformedSourceFiles . set (
711+ originalSourceFile ,
712+ runBefore ( beforeTransforms , originalSourceFile , originalSourceFile ) ,
713+ ) ;
707714 }
708715 }
709716
0 commit comments