Skip to content

Commit 31a34a1

Browse files
committed
Fixes missing error exit code when a bogus input file is specified
Fixes #33849.
1 parent ef4efc4 commit 31a34a1

File tree

1 file changed

+7
-13
lines changed

1 file changed

+7
-13
lines changed

src/compiler/tsbuild.ts

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -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

18091803
return isCircularBuildOrder(buildOrder) ?
1810-
ExitStatus.ProjectReferenceCycle_OutputsSkipped :
1811-
errorProjects ?
1812-
successfulProjects ?
1813-
ExitStatus.DiagnosticsPresent_OutputsGenerated :
1814-
ExitStatus.DiagnosticsPresent_OutputsSkipped :
1815-
ExitStatus.Success;
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) {

0 commit comments

Comments
 (0)