@@ -20,9 +20,7 @@ module Vue {
20
20
private class VueExportEntryPoint extends API:: EntryPoint {
21
21
VueExportEntryPoint ( ) { this = "VueExportEntryPoint" }
22
22
23
- override DataFlow:: Node getASink ( ) {
24
- result = any ( SingleFileComponent c ) .getModule ( ) .getDefaultOrBulkExport ( )
25
- }
23
+ override DataFlow:: Node getASink ( ) { result = getModuleFromVueFile ( _) .getDefaultOrBulkExport ( ) }
26
24
}
27
25
28
26
/**
@@ -455,6 +453,13 @@ module Vue {
455
453
}
456
454
}
457
455
456
+ private Module getModuleFromVueFile ( VueFile file ) {
457
+ exists ( HTML:: ScriptElement elem |
458
+ xmlElements ( elem , _, _, _, file ) and // Avoid materializing all of Locatable.getFile()
459
+ result .getTopLevel ( ) = elem .getScript ( )
460
+ )
461
+ }
462
+
458
463
/**
459
464
* A single file Vue component in a `.vue` file.
460
465
*/
@@ -482,12 +487,7 @@ module Vue {
482
487
}
483
488
484
489
/** Gets the module defined by the `script` tag in this .vue file, if any. */
485
- Module getModule ( ) {
486
- exists ( HTML:: ScriptElement elem |
487
- xmlElements ( elem , _, _, _, file ) and // Avoid materializing all of Locatable.getFile()
488
- result .getTopLevel ( ) = elem .getScript ( )
489
- )
490
- }
490
+ Module getModule ( ) { result = getModuleFromVueFile ( file ) }
491
491
492
492
override API:: Node getComponentRef ( ) {
493
493
// There is no explicit `new Vue()` call in .vue files, so instead get all the imports
0 commit comments