|
|
@ -13,11 +13,11 @@ function handlePaths(files, excludePatterns, globOptions) { |
|
|
|
// Convert Promise to Bluebird
|
|
|
|
files = Promise.resolve(globby(files.concat(excludePatterns), globOptions)); |
|
|
|
|
|
|
|
const searchedParents = Object.create(null); |
|
|
|
const foundFiles = Object.create(null); |
|
|
|
const searchedParents = new Set(); |
|
|
|
const foundFiles = new Set(); |
|
|
|
|
|
|
|
function alreadySearchingParent(dir) { |
|
|
|
if (searchedParents[dir]) { |
|
|
|
if (searchedParents.has(dir)) { |
|
|
|
return true; |
|
|
|
} |
|
|
|
|
|
|
@ -40,7 +40,7 @@ function handlePaths(files, excludePatterns, globOptions) { |
|
|
|
return null; |
|
|
|
} |
|
|
|
|
|
|
|
searchedParents[file] = true; |
|
|
|
searchedParents.add(file); |
|
|
|
|
|
|
|
let pattern = path.join(file, '**', '*.js'); |
|
|
|
|
|
|
@ -67,8 +67,8 @@ function handlePaths(files, excludePatterns, globOptions) { |
|
|
|
}) |
|
|
|
.map(file => path.resolve(file)) |
|
|
|
.filter(file => { |
|
|
|
const alreadyFound = foundFiles[file]; |
|
|
|
foundFiles[file] = true; |
|
|
|
const alreadyFound = foundFiles.has(file); |
|
|
|
foundFiles.add(file); |
|
|
|
return !alreadyFound; |
|
|
|
}); |
|
|
|
} |
|
|
|