diff --git a/javascript/extractor/src/com/semmle/js/extractor/FileExtractor.java b/javascript/extractor/src/com/semmle/js/extractor/FileExtractor.java index 45bd48bf4087..9c880f7490f4 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 @@ private static int skipBOM(byte[] bytes, int length) { /** 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 @@ protected boolean contains(File f, String lcExt, ExtractorConfig config) { 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().toLowerCase().endsWith(".html.erb")) { + return false; + } + } return super.contains(f, lcExt, config); } }, diff --git a/javascript/extractor/src/com/semmle/js/extractor/Main.java b/javascript/extractor/src/com/semmle/js/extractor/Main.java index 69503631c047..a90711545a5c 100644 --- a/javascript/extractor/src/com/semmle/js/extractor/Main.java +++ b/javascript/extractor/src/com/semmle/js/extractor/Main.java @@ -41,7 +41,7 @@ public class Main { * A version identifier that should be updated every time the extractor changes in such a way that * it may produce different tuples for the same file under the same {@link ExtractorConfig}. */ - public static final String EXTRACTOR_VERSION = "2022-11-29"; + public static final String EXTRACTOR_VERSION = "2023-02-15"; public static final Pattern NEWLINE = Pattern.compile("\n"); diff --git a/javascript/extractor/tests/vue/output/trap/rails.html.erb.trap b/javascript/extractor/tests/vue/output/trap/rails.html.erb.trap index 76af8c5c8d3c..2bfa0afc073d 100644 --- a/javascript/extractor/tests/vue/output/trap/rails.html.erb.trap +++ b/javascript/extractor/tests/vue/output/trap/rails.html.erb.trap @@ -1,5 +1,5 @@ -#10000=@"/rails.erb;sourcefile" -files(#10000,"/rails.erb") +#10000=@"/rails.html.erb;sourcefile" +files(#10000,"/rails.html.erb") #10001=@"/;folder" folders(#10001,"/") containerparent(#10001,#10000)