@@ -57,10 +57,8 @@ function exclusionBasedFileListBuilder(excludePaths) {
57
57
58
58
allFiles . forEach ( function ( file , i , a ) {
59
59
if ( excludePaths . indexOf ( file . split ( "/code/" ) [ 1 ] ) < 0 ) {
60
- if ( ! fs . lstatSync ( file ) . isDirectory ( ) ) {
61
- var extension = "." + file . split ( "." ) . pop ( ) ;
62
-
63
- if ( extensions . indexOf ( extension ) >= 0 ) {
60
+ if ( fs . lstatSync ( file ) . isFile ( ) ) {
61
+ if ( isFileWithMatchingExtension ( file ) ) {
64
62
analysisFiles . push ( file ) ;
65
63
}
66
64
}
@@ -71,11 +69,6 @@ function exclusionBasedFileListBuilder(excludePaths) {
71
69
} ;
72
70
}
73
71
74
- function isFileWithMatchingExtension ( file , extensions ) {
75
- var extension = "." + file . split ( "." ) . pop ( ) ;
76
- return ( extensions . indexOf ( extension ) >= 0 ) ;
77
- }
78
-
79
72
function inclusionBasedFileListBuilder ( includePaths ) {
80
73
// Uses glob to expand the files and directories in includePaths, filtering
81
74
// down to match the list of desired extensions.
@@ -89,16 +82,15 @@ function inclusionBasedFileListBuilder(includePaths) {
89
82
"/code/" + fileOrDirectory + "/**/**"
90
83
) ;
91
84
filesInThisDirectory . forEach ( function ( file , j ) {
92
- if ( ! fs . lstatSync ( file ) . isDirectory ( ) ) {
93
- if ( isFileWithMatchingExtension ( file , extensions ) ) {
94
- analysisFiles . push ( file ) ;
95
- }
85
+ if ( isFileWithMatchingExtension ( file , extensions ) ) {
86
+ analysisFiles . push ( file ) ;
96
87
}
97
88
} ) ;
98
89
} else {
99
90
// if not, check for ending in *.js
100
- if ( isFileWithMatchingExtension ( fileOrDirectory , extensions ) ) {
101
- analysisFiles . push ( "/code/" + fileOrDirectory ) ;
91
+ var fullPath = "/code/" + fileOrDirectory
92
+ if ( isFileWithMatchingExtension ( fullPath , extensions ) ) {
93
+ analysisFiles . push ( fullPath ) ;
102
94
}
103
95
}
104
96
} ) ;
@@ -107,6 +99,16 @@ function inclusionBasedFileListBuilder(includePaths) {
107
99
} ;
108
100
}
109
101
102
+ function isFileWithMatchingExtension ( file , extensions ) {
103
+ var stats = fs . lstatSync ( file ) ;
104
+ var extension = "." + file . split ( "." ) . pop ( ) ;
105
+ return (
106
+ stats . isFile ( ) &&
107
+ ! stats . isSymbolicLink ( )
108
+ && extensions . indexOf ( extension ) >= 0
109
+ ) ;
110
+ }
111
+
110
112
var options = {
111
113
extensions : [ ".js" ] , ignore : true , reset : false , useEslintrc : true
112
114
} ;
0 commit comments