Skip to content

Commit

Permalink
Use reduce instead of filter+map in dependency_resolver (#7522)
Browse files Browse the repository at this point in the history
  • Loading branch information
Connormiha authored and SimenB committed Dec 17, 2018
1 parent 045e407 commit 2dbd627
Showing 1 changed file with 37 additions and 25 deletions.
62 changes: 37 additions & 25 deletions packages/jest-resolve-dependencies/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,17 +38,27 @@ class DependencyResolver {
return [];
}

return dependencies
.map(dependency => {
if (this._resolver.isCoreModule(dependency)) {
return null;
}
try {
return this._resolver.resolveModule(file, dependency, options);
} catch (e) {}
return this._resolver.getMockModule(file, dependency);
})
.filter(Boolean);
return dependencies.reduce((acc, dependency) => {
if (this._resolver.isCoreModule(dependency)) {
return acc;
}
let resolvedDependency;
try {
resolvedDependency = this._resolver.resolveModule(
file,
dependency,
options,
);
} catch (e) {
resolvedDependency = this._resolver.getMockModule(file, dependency);
}

if (resolvedDependency) {
acc.push(resolvedDependency);
}

return acc;
}, []);
}

resolveInverse(
Expand All @@ -64,20 +74,22 @@ class DependencyResolver {
const visitedModules = new Set();
while (changed.size) {
changed = new Set(
moduleMap
.filter(
module =>
!visitedModules.has(module.file) &&
module.dependencies.some(dep => dep && changed.has(dep)),
)
.map(module => {
const file = module.file;
if (filter(file)) {
relatedPaths.add(file);
}
visitedModules.add(file);
return module.file;
}),
moduleMap.reduce((acc, module) => {
if (
visitedModules.has(module.file) ||
!module.dependencies.some(dep => dep && changed.has(dep))
) {
return acc;
}

const file = module.file;
if (filter(file)) {
relatedPaths.add(file);
}
visitedModules.add(file);
acc.push(module.file);
return acc;
}, []),
);
}
return relatedPaths;
Expand Down

0 comments on commit 2dbd627

Please sign in to comment.