From 190dfce9c5febca5ea6668b505da412f9a31448d Mon Sep 17 00:00:00 2001 From: Asger F Date: Fri, 4 Apr 2025 00:01:46 +0200 Subject: [PATCH] JS: Ensure tsconfig.json files are extracted in qltest QLTests still use the Main.java entry point, which didn't extract tsconfig.json and didn't allow non-standard JSON syntax such as trailing commas that are allowed in tsconfig.json files. --- .../extractor/src/com/semmle/js/extractor/JSONExtractor.java | 2 +- javascript/extractor/src/com/semmle/js/extractor/Main.java | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/javascript/extractor/src/com/semmle/js/extractor/JSONExtractor.java b/javascript/extractor/src/com/semmle/js/extractor/JSONExtractor.java index c2cad57c3c9..1ca4eeb2609 100644 --- a/javascript/extractor/src/com/semmle/js/extractor/JSONExtractor.java +++ b/javascript/extractor/src/com/semmle/js/extractor/JSONExtractor.java @@ -29,7 +29,7 @@ public class JSONExtractor implements IExtractor { private final boolean tolerateParseErrors; public JSONExtractor(ExtractorConfig config) { - this.tolerateParseErrors = config.isTolerateParseErrors(); + this.tolerateParseErrors = true; } @Override diff --git a/javascript/extractor/src/com/semmle/js/extractor/Main.java b/javascript/extractor/src/com/semmle/js/extractor/Main.java index 45691d1d7f4..d093c947074 100644 --- a/javascript/extractor/src/com/semmle/js/extractor/Main.java +++ b/javascript/extractor/src/com/semmle/js/extractor/Main.java @@ -303,7 +303,10 @@ public class Main { addIncludesFor(includes, FileType.JS); // extract TypeScript if `--typescript` or `--typescript-full` was specified - if (getTypeScriptMode(ap) != TypeScriptMode.NONE) addIncludesFor(includes, FileType.TYPESCRIPT); + if (getTypeScriptMode(ap) != TypeScriptMode.NONE) { + addIncludesFor(includes, FileType.TYPESCRIPT); + includes.add("**/tsconfig*.json"); + } // add explicit include patterns for (String pattern : ap.getZeroOrMore(P_INCLUDE))