Skip to content

Commit

Permalink
fix: give precedence to pnp over node_modules, close #288
Browse files Browse the repository at this point in the history
  • Loading branch information
Noah Negin-Ulster committed Apr 15, 2021
1 parent f08fe3f commit 5df4f05
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 8 deletions.
6 changes: 3 additions & 3 deletions lib/ResolverFactory.js
Original file line number Diff line number Diff line change
Expand Up @@ -399,14 +399,14 @@ exports.createResolver = function (options) {
});
modules.forEach(item => {
if (Array.isArray(item)) {
plugins.push(
new ModulesInHierachicDirectoriesPlugin("raw-module", item, "module")
);
if (item.includes("node_modules") && pnpApi) {
plugins.push(
new PnpPlugin("raw-module", pnpApi, "undescribed-resolve-in-package")
);
}
plugins.push(
new ModulesInHierachicDirectoriesPlugin("raw-module", item, "module")
);
} else {
plugins.push(new ModulesInRootPlugin("raw-module", item, "module"));
}
Expand Down
9 changes: 4 additions & 5 deletions test/pnp.js
Original file line number Diff line number Diff line change
Expand Up @@ -172,17 +172,16 @@ describe("pnp", () => {
}
);
});
it("should prefer normal modules over pnp resolves", done => {
it("should prefer pnp resolves over normal modules", done => {
pnpApi.mocks.set("m1", path.resolve(fixture, "pkg"));
resolver.resolve(
{},
path.resolve(__dirname, "fixtures"),
"m1/a.js",
{},
(err, result) => {
if (err) return done(err);
result.should.equal(path.resolve(fixture, "../node_modules/m1/a.js"));
done();
err => {
if (err) return done();
done(new Error("Resolved by normal modules"));
}
);
});
Expand Down

0 comments on commit 5df4f05

Please sign in to comment.