diff --git a/javascript/ql/src/filters/ClassifyFiles.qll b/javascript/ql/src/filters/ClassifyFiles.qll index e59b13943b7..8e8831d45b2 100644 --- a/javascript/ql/src/filters/ClassifyFiles.qll +++ b/javascript/ql/src/filters/ClassifyFiles.qll @@ -80,6 +80,8 @@ predicate classify(File f, string category) { or // Polymer templates exists(HTML::Element elt | elt.getName() = "template" | - f = elt.getFile() and category = "template" + f = elt.getFile() and + category = "template" and + not f.getExtension() = "vue" ) } diff --git a/javascript/ql/src/semmle/javascript/GeneratedCode.qll b/javascript/ql/src/semmle/javascript/GeneratedCode.qll index e2f8e81d3c9..8ff3f3967a8 100644 --- a/javascript/ql/src/semmle/javascript/GeneratedCode.qll +++ b/javascript/ql/src/semmle/javascript/GeneratedCode.qll @@ -164,7 +164,10 @@ private int countStartingHtmlElements(File f, int l) { /** * Holds if the base name of `f` is a number followed by a single extension. */ -predicate isGeneratedFileName(File f) { f.getStem().regexpMatch("[0-9]+") } +predicate isGeneratedFileName(File f) { + f.getStem().regexpMatch("[0-9]+") and + not f.getExtension() = "vue" +} /** * Holds if `tl` looks like it contains generated code. diff --git a/javascript/ql/test/query-tests/filters/ClassifyFiles/MyComponent.vue b/javascript/ql/test/query-tests/filters/ClassifyFiles/MyComponent.vue new file mode 100644 index 00000000000..d6696449ddd --- /dev/null +++ b/javascript/ql/test/query-tests/filters/ClassifyFiles/MyComponent.vue @@ -0,0 +1,6 @@ + +