From f9b3a5b5e6253ac8d1e8ecc2b30fa3b0d7ba2ca7 Mon Sep 17 00:00:00 2001 From: erik-krogh Date: Tue, 14 Feb 2023 23:25:44 +0100 Subject: [PATCH] actually extract `.html.erb` files --- .../src/com/semmle/js/extractor/FileExtractor.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/javascript/extractor/src/com/semmle/js/extractor/FileExtractor.java b/javascript/extractor/src/com/semmle/js/extractor/FileExtractor.java index 45bd48bf408..b26895d82e6 100644 --- a/javascript/extractor/src/com/semmle/js/extractor/FileExtractor.java +++ b/javascript/extractor/src/com/semmle/js/extractor/FileExtractor.java @@ -104,7 +104,7 @@ public class FileExtractor { /** Information about supported file types. */ public static enum FileType { - HTML(".htm", ".html", ".xhtm", ".xhtml", ".vue", ".hbs", ".ejs", ".njk", ".html.erb") { + HTML(".htm", ".html", ".xhtm", ".xhtml", ".vue", ".hbs", ".ejs", ".njk", ".erb") { @Override public IExtractor mkExtractor(ExtractorConfig config, ExtractorState state) { return new HTMLExtractor(config, state); @@ -120,6 +120,12 @@ public class FileExtractor { if (isBinaryFile(f, lcExt, config)) { return false; } + // for ERB files we are only interrested in `.html.erb` files + if (FileUtil.extension(f).equalsIgnoreCase(".erb")) { + if (!f.getName().endsWith(".html.erb")) { + return false; + } + } return super.contains(f, lcExt, config); } }, @@ -350,7 +356,7 @@ public class FileExtractor { /** Determine the {@link FileType} for a given file based on its extension only. */ public static FileType forFileExtension(File f) { - String lcExt = StringUtil.lc(FileUtil.extension(f)); + String lcExt = StringUtil.lc(FileUtil.extension(f)); // TODO: Here, it doesn't recognize .html.erb files for (FileType tp : values()) if (tp.getExtensions().contains(lcExt)) { return tp;