Skip to content

Commit 8a8c71c

Browse files
author
Orta Therox
authored
Use relative paths for the end of compile report (microsoft#47344)
1 parent 6fc0584 commit 8a8c71c

13 files changed

+83
-75
lines changed

Diff for: src/compiler/types.ts

+5
Original file line numberDiff line numberDiff line change
@@ -8329,6 +8329,11 @@ namespace ts {
83298329
getCurrentDirectory?(): string;
83308330
}
83318331

8332+
/* @internal */
8333+
export interface HasCurrentDirectory {
8334+
getCurrentDirectory(): string;
8335+
}
8336+
83328337
/*@internal*/
83338338
export interface ModuleSpecifierResolutionHost {
83348339
useCaseSensitiveFileNames?(): boolean;

Diff for: src/compiler/watch.ts

+9-6
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ namespace ts {
6464
}
6565

6666
/**
67-
* Create a function that reports watch status by writing to the system and handles the formating of the diagnostic
67+
* Create a function that reports watch status by writing to the system and handles the formatting of the diagnostic
6868
*/
6969
export function createWatchStatusReporter(system: System, pretty?: boolean): WatchStatusReporter {
7070
return pretty ?
@@ -133,7 +133,8 @@ namespace ts {
133133
export function getErrorSummaryText(
134134
errorCount: number,
135135
filesInError: readonly (ReportFileInError | undefined)[],
136-
newLine: string
136+
newLine: string,
137+
host: HasCurrentDirectory
137138
) {
138139
if (errorCount === 0) return "";
139140
const nonNilFiles = filesInError.filter(fileInError => fileInError !== undefined);
@@ -154,10 +155,10 @@ namespace ts {
154155
Diagnostics.Found_0_errors_in_1_files,
155156
errorCount,
156157
distinctFileNamesWithLines.length);
157-
return `${newLine}${flattenDiagnosticMessageText(d.messageText, newLine)}${newLine}${newLine}${errorCount > 1 ? createTabularErrorsDisplay(nonNilFiles) : ""}`;
158+
return `${newLine}${flattenDiagnosticMessageText(d.messageText, newLine)}${newLine}${newLine}${errorCount > 1 ? createTabularErrorsDisplay(nonNilFiles, host) : ""}`;
158159
}
159160

160-
function createTabularErrorsDisplay(filesInError: (ReportFileInError | undefined)[]) {
161+
function createTabularErrorsDisplay(filesInError: (ReportFileInError | undefined)[], host: HasCurrentDirectory) {
161162
const distinctFiles = filesInError.filter((value, index, self) => index === self.findIndex(file => file?.fileName === value?.fileName));
162163
if (distinctFiles.length === 0) return "";
163164

@@ -178,7 +179,9 @@ namespace ts {
178179
const leftPadding = errorCountDigitsLength < leftPaddingGoal ?
179180
" ".repeat(leftPaddingGoal - errorCountDigitsLength)
180181
: "";
181-
tabularData += `${leftPadding}${errorCount} ${file!.fileName}:${file!.line}\n`;
182+
183+
const relativePath = getRelativePathFromDirectory(host.getCurrentDirectory(), file!.fileName, /* ignoreCase */ false);
184+
tabularData += `${leftPadding}${errorCount} ${relativePath}:${file!.line}\n`;
182185
});
183186

184187
return tabularData;
@@ -727,7 +730,7 @@ namespace ts {
727730
builderProgram,
728731
input.reportDiagnostic || createDiagnosticReporter(system),
729732
s => host.trace && host.trace(s),
730-
input.reportErrorSummary || input.options.pretty ? (errorCount, filesInError) => system.write(getErrorSummaryText(errorCount, filesInError, system.newLine)) : undefined
733+
input.reportErrorSummary || input.options.pretty ? (errorCount, filesInError) => system.write(getErrorSummaryText(errorCount, filesInError, system.newLine, host)) : undefined
731734
);
732735
if (input.afterProgramEmitAndDiagnostics) input.afterProgramEmitAndDiagnostics(builderProgram);
733736
return exitStatus;

Diff for: src/executeCommandLine/executeCommandLine.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -773,7 +773,7 @@ namespace ts {
773773

774774
function createReportErrorSummary(sys: System, options: CompilerOptions | BuildOptions): ReportEmitErrorSummary | undefined {
775775
return shouldBePretty(sys, options) ?
776-
(errorCount, filesInError) => sys.write(getErrorSummaryText(errorCount, filesInError, sys.newLine)) :
776+
(errorCount, filesInError) => sys.write(getErrorSummaryText(errorCount, filesInError, sys.newLine, sys)) :
777777
undefined;
778778
}
779779

Diff for: src/harness/harnessIO.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -537,7 +537,7 @@ namespace Harness {
537537
outputLines += content;
538538
}
539539
if (pretty) {
540-
outputLines += ts.getErrorSummaryText(ts.getErrorCountForSummary(diagnostics), ts.getFilesInErrorForSummary(diagnostics), IO.newLine());
540+
outputLines += ts.getErrorSummaryText(ts.getErrorCountForSummary(diagnostics), ts.getFilesInErrorForSummary(diagnostics), IO.newLine(), { getCurrentDirectory: () => "" });
541541
}
542542
return outputLines;
543543
}

Diff for: src/testRunner/unittests/tsbuild/publicApi.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export function f22() { } // trailing`,
5454
/*createProgram*/ undefined,
5555
createDiagnosticReporter(sys, /*pretty*/ true),
5656
createBuilderStatusReporter(sys, /*pretty*/ true),
57-
(errorCount, filesInError) => sys.write(getErrorSummaryText(errorCount, filesInError, sys.newLine))
57+
(errorCount, filesInError) => sys.write(getErrorSummaryText(errorCount, filesInError, sys.newLine, sys))
5858
);
5959
buildHost.afterProgramEmitAndDiagnostics = cb;
6060
buildHost.afterEmitBundle = cb;
@@ -121,4 +121,4 @@ ${patch ? vfs.formatPatch(patch) : ""}`
121121
});
122122
verifyTscBaseline(() => sys);
123123
});
124-
}
124+
}

Diff for: src/testRunner/unittests/tscWatch/helpers.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ namespace ts.tscWatch {
215215
[
216216
...map(errors, hostOutputDiagnostic),
217217
...reportErrorSummary ?
218-
[hostOutputWatchDiagnostic(getErrorSummaryText(errors.length, files, host.newLine))] :
218+
[hostOutputWatchDiagnostic(getErrorSummaryText(errors.length, files, host.newLine, host))] :
219219
emptyArray
220220
]
221221
);

Diff for: tests/baselines/reference/tsc/incremental/initial-build/noEmit-changes-composite.js

+15-15
Original file line numberDiff line numberDiff line change
@@ -313,8 +313,8 @@ Output::
313313
Found 2 errors in 2 files.
314314

315315
Errors Files
316-
1 /src/project/src/directUse.ts:2
317-
1 /src/project/src/indirectUse.ts:2
316+
1 src/project/src/directUse.ts:2
317+
1 src/project/src/indirectUse.ts:2
318318
exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated
319319

320320

@@ -722,9 +722,9 @@ Output::
722722
Found 3 errors in 3 files.
723723

724724
Errors Files
725-
1 /src/project/src/directUse.ts:2
726-
1 /src/project/src/indirectUse.ts:2
727-
1 /src/project/src/noChangeFileWithEmitSpecificError.ts:1
725+
1 src/project/src/directUse.ts:2
726+
1 src/project/src/indirectUse.ts:2
727+
1 src/project/src/noChangeFileWithEmitSpecificError.ts:1
728728
exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated
729729

730730

@@ -939,9 +939,9 @@ Output::
939939
Found 3 errors in 3 files.
940940

941941
Errors Files
942-
1 /src/project/src/directUse.ts:2
943-
1 /src/project/src/indirectUse.ts:2
944-
1 /src/project/src/noChangeFileWithEmitSpecificError.ts:1
942+
1 src/project/src/directUse.ts:2
943+
1 src/project/src/indirectUse.ts:2
944+
1 src/project/src/noChangeFileWithEmitSpecificError.ts:1
945945
exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated
946946

947947

@@ -977,8 +977,8 @@ Output::
977977
Found 2 errors in 2 files.
978978

979979
Errors Files
980-
1 /src/project/src/directUse.ts:2
981-
1 /src/project/src/indirectUse.ts:2
980+
1 src/project/src/directUse.ts:2
981+
1 src/project/src/indirectUse.ts:2
982982
exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped
983983

984984

@@ -1014,8 +1014,8 @@ Output::
10141014
Found 2 errors in 2 files.
10151015

10161016
Errors Files
1017-
1 /src/project/src/directUse.ts:2
1018-
1 /src/project/src/indirectUse.ts:2
1017+
1 src/project/src/directUse.ts:2
1018+
1 src/project/src/indirectUse.ts:2
10191019
exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped
10201020

10211021

@@ -1056,9 +1056,9 @@ Output::
10561056
Found 3 errors in 3 files.
10571057

10581058
Errors Files
1059-
1 /src/project/src/directUse.ts:2
1060-
1 /src/project/src/indirectUse.ts:2
1061-
1 /src/project/src/noChangeFileWithEmitSpecificError.ts:1
1059+
1 src/project/src/directUse.ts:2
1060+
1 src/project/src/indirectUse.ts:2
1061+
1 src/project/src/noChangeFileWithEmitSpecificError.ts:1
10621062
exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated
10631063

10641064

Diff for: tests/baselines/reference/tsc/incremental/initial-build/noEmit-changes-incremental-declaration.js

+15-15
Original file line numberDiff line numberDiff line change
@@ -313,8 +313,8 @@ Output::
313313
Found 2 errors in 2 files.
314314

315315
Errors Files
316-
1 /src/project/src/directUse.ts:2
317-
1 /src/project/src/indirectUse.ts:2
316+
1 src/project/src/directUse.ts:2
317+
1 src/project/src/indirectUse.ts:2
318318
exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated
319319

320320

@@ -722,9 +722,9 @@ Output::
722722
Found 3 errors in 3 files.
723723

724724
Errors Files
725-
1 /src/project/src/directUse.ts:2
726-
1 /src/project/src/indirectUse.ts:2
727-
1 /src/project/src/noChangeFileWithEmitSpecificError.ts:1
725+
1 src/project/src/directUse.ts:2
726+
1 src/project/src/indirectUse.ts:2
727+
1 src/project/src/noChangeFileWithEmitSpecificError.ts:1
728728
exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated
729729

730730

@@ -939,9 +939,9 @@ Output::
939939
Found 3 errors in 3 files.
940940

941941
Errors Files
942-
1 /src/project/src/directUse.ts:2
943-
1 /src/project/src/indirectUse.ts:2
944-
1 /src/project/src/noChangeFileWithEmitSpecificError.ts:1
942+
1 src/project/src/directUse.ts:2
943+
1 src/project/src/indirectUse.ts:2
944+
1 src/project/src/noChangeFileWithEmitSpecificError.ts:1
945945
exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated
946946

947947

@@ -977,8 +977,8 @@ Output::
977977
Found 2 errors in 2 files.
978978

979979
Errors Files
980-
1 /src/project/src/directUse.ts:2
981-
1 /src/project/src/indirectUse.ts:2
980+
1 src/project/src/directUse.ts:2
981+
1 src/project/src/indirectUse.ts:2
982982
exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped
983983

984984

@@ -1014,8 +1014,8 @@ Output::
10141014
Found 2 errors in 2 files.
10151015

10161016
Errors Files
1017-
1 /src/project/src/directUse.ts:2
1018-
1 /src/project/src/indirectUse.ts:2
1017+
1 src/project/src/directUse.ts:2
1018+
1 src/project/src/indirectUse.ts:2
10191019
exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped
10201020

10211021

@@ -1056,9 +1056,9 @@ Output::
10561056
Found 3 errors in 3 files.
10571057

10581058
Errors Files
1059-
1 /src/project/src/directUse.ts:2
1060-
1 /src/project/src/indirectUse.ts:2
1061-
1 /src/project/src/noChangeFileWithEmitSpecificError.ts:1
1059+
1 src/project/src/directUse.ts:2
1060+
1 src/project/src/indirectUse.ts:2
1061+
1 src/project/src/noChangeFileWithEmitSpecificError.ts:1
10621062
exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated
10631063

10641064

Diff for: tests/baselines/reference/tsc/incremental/initial-build/noEmit-changes-incremental.js

+15-15
Original file line numberDiff line numberDiff line change
@@ -281,8 +281,8 @@ Output::
281281
Found 2 errors in 2 files.
282282

283283
Errors Files
284-
1 /src/project/src/directUse.ts:2
285-
1 /src/project/src/indirectUse.ts:2
284+
1 src/project/src/directUse.ts:2
285+
1 src/project/src/indirectUse.ts:2
286286
exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated
287287

288288

@@ -680,9 +680,9 @@ Output::
680680
Found 3 errors in 3 files.
681681

682682
Errors Files
683-
1 /src/project/src/directUse.ts:2
684-
1 /src/project/src/indirectUse.ts:2
685-
1 /src/project/src/noChangeFileWithEmitSpecificError.ts:1
683+
1 src/project/src/directUse.ts:2
684+
1 src/project/src/indirectUse.ts:2
685+
1 src/project/src/noChangeFileWithEmitSpecificError.ts:1
686686
exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated
687687

688688

@@ -885,9 +885,9 @@ Output::
885885
Found 3 errors in 3 files.
886886

887887
Errors Files
888-
1 /src/project/src/directUse.ts:2
889-
1 /src/project/src/indirectUse.ts:2
890-
1 /src/project/src/noChangeFileWithEmitSpecificError.ts:1
888+
1 src/project/src/directUse.ts:2
889+
1 src/project/src/indirectUse.ts:2
890+
1 src/project/src/noChangeFileWithEmitSpecificError.ts:1
891891
exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated
892892

893893

@@ -923,8 +923,8 @@ Output::
923923
Found 2 errors in 2 files.
924924

925925
Errors Files
926-
1 /src/project/src/directUse.ts:2
927-
1 /src/project/src/indirectUse.ts:2
926+
1 src/project/src/directUse.ts:2
927+
1 src/project/src/indirectUse.ts:2
928928
exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped
929929

930930

@@ -960,8 +960,8 @@ Output::
960960
Found 2 errors in 2 files.
961961

962962
Errors Files
963-
1 /src/project/src/directUse.ts:2
964-
1 /src/project/src/indirectUse.ts:2
963+
1 src/project/src/directUse.ts:2
964+
1 src/project/src/indirectUse.ts:2
965965
exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped
966966

967967

@@ -1002,9 +1002,9 @@ Output::
10021002
Found 3 errors in 3 files.
10031003

10041004
Errors Files
1005-
1 /src/project/src/directUse.ts:2
1006-
1 /src/project/src/indirectUse.ts:2
1007-
1 /src/project/src/noChangeFileWithEmitSpecificError.ts:1
1005+
1 src/project/src/directUse.ts:2
1006+
1 src/project/src/indirectUse.ts:2
1007+
1 src/project/src/noChangeFileWithEmitSpecificError.ts:1
10081008
exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated
10091009

10101010

Diff for: tests/baselines/reference/tsc/incremental/initial-build/noEmit-changes-with-initial-noEmit-composite.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -440,9 +440,9 @@ Output::
440440
Found 3 errors in 3 files.
441441

442442
Errors Files
443-
1 /src/project/src/directUse.ts:2
444-
1 /src/project/src/indirectUse.ts:2
445-
1 /src/project/src/noChangeFileWithEmitSpecificError.ts:1
443+
1 src/project/src/directUse.ts:2
444+
1 src/project/src/indirectUse.ts:2
445+
1 src/project/src/noChangeFileWithEmitSpecificError.ts:1
446446
exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated
447447

448448

Diff for: tests/baselines/reference/tsc/incremental/initial-build/noEmit-changes-with-initial-noEmit-incremental-declaration.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -440,9 +440,9 @@ Output::
440440
Found 3 errors in 3 files.
441441

442442
Errors Files
443-
1 /src/project/src/directUse.ts:2
444-
1 /src/project/src/indirectUse.ts:2
445-
1 /src/project/src/noChangeFileWithEmitSpecificError.ts:1
443+
1 src/project/src/directUse.ts:2
444+
1 src/project/src/indirectUse.ts:2
445+
1 src/project/src/noChangeFileWithEmitSpecificError.ts:1
446446
exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated
447447

448448

Diff for: tests/baselines/reference/tsc/incremental/initial-build/noEmit-changes-with-initial-noEmit-incremental.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -405,9 +405,9 @@ Output::
405405
Found 3 errors in 3 files.
406406

407407
Errors Files
408-
1 /src/project/src/directUse.ts:2
409-
1 /src/project/src/indirectUse.ts:2
410-
1 /src/project/src/noChangeFileWithEmitSpecificError.ts:1
408+
1 src/project/src/directUse.ts:2
409+
1 src/project/src/indirectUse.ts:2
410+
1 src/project/src/noChangeFileWithEmitSpecificError.ts:1
411411
exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated
412412

413413

0 commit comments

Comments
 (0)