@@ -1019,31 +1019,31 @@ namespace ts {
10191019 * in that order would be used to write the files
10201020 */
10211021 function emit ( targetSourceFile ?: SourceFile , writeFile ?: WriteFileCallback , cancellationToken ?: CancellationToken , emitOnlyDtsFiles ?: boolean , customTransformers ?: CustomTransformers ) : EmitResult {
1022- if ( kind === BuilderProgramKind . EmitAndSemanticDiagnosticsBuilderProgram ) {
1023- assertSourceFileOkWithoutNextAffectedCall ( state , targetSourceFile ) ;
1024- const result = handleNoEmitOptions ( builderProgram , targetSourceFile , writeFile , cancellationToken ) ;
1025- if ( result ) return result ;
1026- if ( ! targetSourceFile ) {
1027- // Emit and report any errors we ran into.
1028- let sourceMaps : SourceMapEmitResult [ ] = [ ] ;
1029- let emitSkipped = false ;
1030- let diagnostics : Diagnostic [ ] | undefined ;
1031- let emittedFiles : string [ ] = [ ] ;
1032-
1033- let affectedEmitResult : AffectedFileResult < EmitResult > ;
1034- while ( affectedEmitResult = emitNextAffectedFile ( writeFile , cancellationToken , emitOnlyDtsFiles , customTransformers ) ) {
1035- emitSkipped = emitSkipped || affectedEmitResult . result . emitSkipped ;
1036- diagnostics = addRange ( diagnostics , affectedEmitResult . result . diagnostics ) ;
1037- emittedFiles = addRange ( emittedFiles , affectedEmitResult . result . emittedFiles ) ;
1038- sourceMaps = addRange ( sourceMaps , affectedEmitResult . result . sourceMaps ) ;
1039- }
1040- return {
1041- emitSkipped,
1042- diagnostics : diagnostics || emptyArray ,
1043- emittedFiles,
1044- sourceMaps
1045- } ;
1022+ if ( kind === BuilderProgramKind . EmitAndSemanticDiagnosticsBuilderProgram ) assertSourceFileOkWithoutNextAffectedCall ( state , targetSourceFile ) ;
1023+ const result = handleNoEmitOptions ( builderProgram , targetSourceFile , writeFile , cancellationToken ) ;
1024+ if ( result ) return result ;
1025+
1026+ // Emit only affected files if using builder for emit
1027+ if ( ! targetSourceFile && kind === BuilderProgramKind . EmitAndSemanticDiagnosticsBuilderProgram ) {
1028+ // Emit and report any errors we ran into.
1029+ let sourceMaps : SourceMapEmitResult [ ] = [ ] ;
1030+ let emitSkipped = false ;
1031+ let diagnostics : Diagnostic [ ] | undefined ;
1032+ let emittedFiles : string [ ] = [ ] ;
1033+
1034+ let affectedEmitResult : AffectedFileResult < EmitResult > ;
1035+ while ( affectedEmitResult = emitNextAffectedFile ( writeFile , cancellationToken , emitOnlyDtsFiles , customTransformers ) ) {
1036+ emitSkipped = emitSkipped || affectedEmitResult . result . emitSkipped ;
1037+ diagnostics = addRange ( diagnostics , affectedEmitResult . result . diagnostics ) ;
1038+ emittedFiles = addRange ( emittedFiles , affectedEmitResult . result . emittedFiles ) ;
1039+ sourceMaps = addRange ( sourceMaps , affectedEmitResult . result . sourceMaps ) ;
10461040 }
1041+ return {
1042+ emitSkipped,
1043+ diagnostics : diagnostics || emptyArray ,
1044+ emittedFiles,
1045+ sourceMaps
1046+ } ;
10471047 }
10481048 return Debug . checkDefined ( state . program ) . emit ( targetSourceFile , writeFile || maybeBind ( host , host . writeFile ) , cancellationToken , emitOnlyDtsFiles , customTransformers ) ;
10491049 }
0 commit comments