fix(VBA): Removal of invalid error messages.

This commit is contained in:
Rodrigo Rodriguez 2018-12-23 19:29:24 -02:00
parent 6ba8c0993f
commit dd92032f62

View file

@ -40,6 +40,18 @@ import * as ts from 'typescript';
const logger = require('../../../src/logger');
export class TSCompiler {
private static shouldIgnoreError(diagnostic) {
const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n');
if (message.indexOf('Cannot find name') >= 0 || message.indexOf('Cannot use imports') >= 0) {
return true;
}
return false;
}
public compile(
fileNames: string[],
options: ts.CompilerOptions = {
@ -61,15 +73,19 @@ export class TSCompiler {
const allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics);
allDiagnostics.forEach(diagnostic => {
if (diagnostic.file) {
const { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start!);
if (!TSCompiler.shouldIgnoreError(diagnostic)) {
const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n');
if (diagnostic.file) {
const { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start);
logger.error(`${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`);
} else {
logger.error(`${ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n')}`);
logger.error(`${message}`);
}
}
});
return emitResult;
}
}