Skip to content

Commit e4808b2

Browse files
committed
Read 'browser' main field when target is 'electron-renderer'
Fixes webpack#6811
1 parent d668a23 commit e4808b2

6 files changed

Lines changed: 30 additions & 3 deletions

File tree

lib/WebpackOptionsDefaulter.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,9 @@ class WebpackOptionsDefaulter extends OptionsDefaulter {
5959
type: "javascript/esm",
6060
resolve: {
6161
mainFields:
62-
options.target === "web" || options.target === "webworker"
62+
options.target === "web" ||
63+
options.target === "webworker" ||
64+
options.target === "electron-renderer"
6365
? ["browser", "main"]
6466
: ["main"]
6567
}
@@ -297,9 +299,15 @@ class WebpackOptionsDefaulter extends OptionsDefaulter {
297299
else return [];
298300
});
299301
this.set("resolve.mainFields", "make", options => {
300-
if (options.target === "web" || options.target === "webworker")
302+
if (
303+
options.target === "web" ||
304+
options.target === "webworker" ||
305+
options.target === "electron-renderer"
306+
) {
301307
return ["browser", "module", "main"];
302-
else return ["module", "main"];
308+
} else {
309+
return ["module", "main"];
310+
}
303311
});
304312
this.set("resolve.cacheWithContext", "make", options => {
305313
return (
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
const foo = require("foo");
2+
3+
it("should use browser main field", () => {
4+
foo.should.be.eql("browser");
5+
});

test/configCases/target/electron-renderer/node_modules/foo/browser.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/configCases/target/electron-renderer/node_modules/foo/main.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/configCases/target/electron-renderer/node_modules/foo/package.json

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
module.exports = {
2+
target: "electron-renderer",
3+
optimization: {
4+
minimize: false
5+
}
6+
};

0 commit comments

Comments
 (0)