* Helper that emit files, report diagnostics and lists emitted and/or source files depending on compiler options
(program, reportDiagnostic, write, reportSummary, writeFile, cancellationToken, emitOnlyDtsFiles, customTransformers)
| 123023 | * Helper that emit files, report diagnostics and lists emitted and/or source files depending on compiler options |
| 123024 | */ |
| 123025 | function emitFilesAndReportErrors(program, reportDiagnostic, write, reportSummary, writeFile, cancellationToken, emitOnlyDtsFiles, customTransformers) { |
| 123026 | var isListFilesOnly = !!program.getCompilerOptions().listFilesOnly; |
| 123027 | // First get and report any syntactic errors. |
| 123028 | var allDiagnostics = program.getConfigFileParsingDiagnostics().slice(); |
| 123029 | var configFileParsingDiagnosticsLength = allDiagnostics.length; |
| 123030 | ts.addRange(allDiagnostics, program.getSyntacticDiagnostics(/*sourceFile*/ undefined, cancellationToken)); |
| 123031 | // If we didn't have any syntactic errors, then also try getting the global and |
| 123032 | // semantic errors. |
| 123033 | if (allDiagnostics.length === configFileParsingDiagnosticsLength) { |
| 123034 | ts.addRange(allDiagnostics, program.getOptionsDiagnostics(cancellationToken)); |
| 123035 | if (!isListFilesOnly) { |
| 123036 | ts.addRange(allDiagnostics, program.getGlobalDiagnostics(cancellationToken)); |
| 123037 | if (allDiagnostics.length === configFileParsingDiagnosticsLength) { |
| 123038 | ts.addRange(allDiagnostics, program.getSemanticDiagnostics(/*sourceFile*/ undefined, cancellationToken)); |
| 123039 | } |
| 123040 | } |
| 123041 | } |
| 123042 | // Emit and report any errors we ran into. |
| 123043 | var emitResult = isListFilesOnly |
| 123044 | ? { emitSkipped: true, diagnostics: ts.emptyArray } |
| 123045 | : program.emit(/*targetSourceFile*/ undefined, writeFile, cancellationToken, emitOnlyDtsFiles, customTransformers); |
| 123046 | var emittedFiles = emitResult.emittedFiles, emitDiagnostics = emitResult.diagnostics; |
| 123047 | ts.addRange(allDiagnostics, emitDiagnostics); |
| 123048 | var diagnostics = ts.sortAndDeduplicateDiagnostics(allDiagnostics); |
| 123049 | diagnostics.forEach(reportDiagnostic); |
| 123050 | if (write) { |
| 123051 | var currentDir_1 = program.getCurrentDirectory(); |
| 123052 | ts.forEach(emittedFiles, function (file) { |
| 123053 | var filepath = ts.getNormalizedAbsolutePath(file, currentDir_1); |
| 123054 | write("TSFILE: ".concat(filepath)); |
| 123055 | }); |
| 123056 | listFiles(program, write); |
| 123057 | } |
| 123058 | if (reportSummary) { |
| 123059 | reportSummary(getErrorCountForSummary(diagnostics), getFilesInErrorForSummary(diagnostics)); |
| 123060 | } |
| 123061 | return { |
| 123062 | emitResult: emitResult, |
| 123063 | diagnostics: diagnostics, |
| 123064 | }; |
| 123065 | } |
| 123066 | ts.emitFilesAndReportErrors = emitFilesAndReportErrors; |
| 123067 | function emitFilesAndReportErrorsAndGetExitStatus(program, reportDiagnostic, write, reportSummary, writeFile, cancellationToken, emitOnlyDtsFiles, customTransformers) { |
| 123068 | var _a = emitFilesAndReportErrors(program, reportDiagnostic, write, reportSummary, writeFile, cancellationToken, emitOnlyDtsFiles, customTransformers), emitResult = _a.emitResult, diagnostics = _a.diagnostics; |
no test coverage detected