@@ -1788,31 +1788,25 @@ namespace ts {
17881788
17891789 let reportQueue = true ;
17901790 let successfulProjects = 0 ;
1791- let errorProjects = 0 ;
17921791 while ( true ) {
17931792 const invalidatedProject = getNextInvalidatedProject ( state , buildOrder , reportQueue ) ;
17941793 if ( ! invalidatedProject ) break ;
17951794 reportQueue = false ;
17961795 invalidatedProject . done ( cancellationToken ) ;
1797- if ( state . diagnostics . has ( invalidatedProject . projectPath ) ) {
1798- errorProjects ++ ;
1799- }
1800- else {
1801- successfulProjects ++ ;
1802- }
1796+ if ( ! state . diagnostics . has ( invalidatedProject . projectPath ) ) successfulProjects ++ ;
18031797 }
18041798
18051799 disableCache ( state ) ;
18061800 reportErrorSummary ( state , buildOrder ) ;
18071801 startWatching ( state , buildOrder ) ;
18081802
1809- return isCircularBuildOrder ( buildOrder ) ?
1810- ExitStatus . ProjectReferenceCycle_OutputsSkupped :
1811- errorProjects ?
1812- successfulProjects ?
1813- ExitStatus . DiagnosticsPresent_OutputsGenerated :
1814- ExitStatus . DiagnosticsPresent_OutputsSkipped :
1815- ExitStatus . Success ;
1803+ return isCircularBuildOrder ( buildOrder )
1804+ ? ExitStatus . ProjectReferenceCycle_OutputsSkipped
1805+ : ! buildOrder . some ( p => state . diagnostics . has ( toResolvedConfigFilePath ( state , p ) ) )
1806+ ? ExitStatus . Success
1807+ : successfulProjects
1808+ ? ExitStatus . DiagnosticsPresent_OutputsGenerated
1809+ : ExitStatus . DiagnosticsPresent_OutputsSkipped ;
18161810 }
18171811
18181812 function clean ( state : SolutionBuilderState , project ?: string , onlyReferences ?: boolean ) {
@@ -1821,7 +1815,7 @@ namespace ts {
18211815
18221816 if ( isCircularBuildOrder ( buildOrder ) ) {
18231817 reportErrors ( state , buildOrder . circularDiagnostics ) ;
1824- return ExitStatus . ProjectReferenceCycle_OutputsSkupped ;
1818+ return ExitStatus . ProjectReferenceCycle_OutputsSkipped ;
18251819 }
18261820
18271821 const { options, host } = state ;
0 commit comments