From a4c3f429119fecf256b3494bc633531e0335f36a Mon Sep 17 00:00:00 2001 From: Rodrigo Rodriguez Date: Tue, 23 Feb 2021 07:26:08 -0300 Subject: [PATCH] fix(basic.gblib): Error handling improved. --- packages/basic.gblib/services/GBVMService.ts | 16 ++++++++-------- packages/basic.gblib/services/TSCompiler.ts | 9 ++++++--- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/packages/basic.gblib/services/GBVMService.ts b/packages/basic.gblib/services/GBVMService.ts index 1b1c7aafd..3d8934e2c 100644 --- a/packages/basic.gblib/services/GBVMService.ts +++ b/packages/basic.gblib/services/GBVMService.ts @@ -424,31 +424,31 @@ export class GBVMService extends GBService { code = code.replace(/("[^"]*"|'[^']*')|\btalk\b/gi, ($0, $1) => { return $1 === undefined ? 'this.talk' : $1; }); - code = code.replace(/\bhear\b/gi, ($0, $1) => { + code = code.replace(/("[^"]*"|'[^']*')|\bhear\b/gi, ($0, $1) => { return $1 === undefined ? 'this.hear' : $1; }); - code = code.replace(/\bsendEmail\b/gi, ($0, $1) => { + code = code.replace(/("[^"]*"|'[^']*')|\bsendEmail\b/gi, ($0, $1) => { return $1 === undefined ? 'this.sendEmail' : $1; }); - code = code.replace(/\baskEmail\b/gi, ($0, $1) => { + code = code.replace(/("[^"]*"|'[^']*')|\baskEmail\b/gi, ($0, $1) => { return $1 === undefined ? 'this.askEmail' : $1; }); - code = code.replace(/\bsendFileTo\b/gi, ($0, $1) => { + code = code.replace(/("[^"]*"|'[^']*')|\bsendFileTo\b/gi, ($0, $1) => { return $1 === undefined ? 'this.sendFileTo' : $1; }); - code = code.replace(/\bsendFile\b/gi, ($0, $1) => { + code = code.replace(/("[^"]*"|'[^']*')|\bsendFile\b/gi, ($0, $1) => { return $1 === undefined ? 'this.sendFile' : $1; }); - code = code.replace(/\bsetLanguage\b/gi, ($0, $1) => { + code = code.replace(/("[^"]*"|'[^']*')|\bsetLanguage\b/gi, ($0, $1) => { return $1 === undefined ? 'this.setLanguage' : $1; }); - code = code.replace(/\btransfer\b/gi, ($0, $1) => { + code = code.replace(/("[^"]*"|'[^']*')|\btransfer\b/gi, ($0, $1) => { return $1 === undefined ? 'this.transfer' : $1; }); code = code.replace(/("[^"]*"|'[^']*')|\bmenu\b/gi, ($0, $1) => { return $1 === undefined ? 'this.menu' : $1; }); - + // await insertion. code = code.replace(/this\./gm, 'await this.'); diff --git a/packages/basic.gblib/services/TSCompiler.ts b/packages/basic.gblib/services/TSCompiler.ts index 8f3545599..ec1cb8f51 100644 --- a/packages/basic.gblib/services/TSCompiler.ts +++ b/packages/basic.gblib/services/TSCompiler.ts @@ -47,7 +47,10 @@ 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) { + if (message.indexOf('Cannot find name') >= 0 + || message.indexOf('Cannot find module') >= 0 + || message.indexOf('implicitly has an') >= 0 + ) { return true; } @@ -84,10 +87,10 @@ export class TSCompiler { diagnostic.file.fileName.indexOf('request-promise') == -1 ) { const { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start); - GBLog.warn(`BASIC error: ${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`); + GBLog.error(`BASIC error: ${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`); } } else { - GBLog.warn(`BASIC error: ${message}`); + GBLog.error(`BASIC error: ${message}`); } } });