Skip to content

Commit 5573fed

Browse files
authored
Merge pull request #11601 from Hornwitser/improve-suggested-polyfill-config
Improve suggested Node.js polyfill config
2 parents 9b5cce9 + 1acb996 commit 5573fed

File tree

2 files changed

+16
-18
lines changed

2 files changed

+16
-18
lines changed

lib/ModuleNotFoundError.js

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,18 @@ const WebpackError = require("./WebpackError");
1111
/** @typedef {import("./Module")} Module */
1212

1313
const previouslyPolyfilledBuiltinModules = {
14-
assert: "assert",
15-
buffer: "buffer",
14+
assert: "assert/",
15+
buffer: "buffer/",
1616
console: "console-browserify",
1717
constants: "constants-browserify",
1818
crypto: "crypto-browserify",
1919
domain: "domain-browser",
20-
events: "events",
20+
events: "events/",
2121
http: "stream-http",
2222
https: "https-browserify",
2323
os: "os-browserify/browser",
2424
path: "path-browserify",
25-
punycode: "punycode",
25+
punycode: "punycode/",
2626
process: "process/browser",
2727
querystring: "querystring-es3",
2828
stream: "stream-browserify",
@@ -31,12 +31,12 @@ const previouslyPolyfilledBuiltinModules = {
3131
_stream_readable: "readable-stream/readable",
3232
_stream_transform: "readable-stream/transform",
3333
_stream_writable: "readable-stream/writable",
34-
string_decoder: "string_decoder",
35-
sys: "util",
34+
string_decoder: "string_decoder/",
35+
sys: "util/",
3636
timers: "timers-browserify",
3737
tty: "tty-browserify",
38-
url: "url",
39-
util: "util",
38+
url: "url/",
39+
util: "util/",
4040
vm: "vm-browserify",
4141
zlib: "browserify-zlib"
4242
};
@@ -63,14 +63,10 @@ class ModuleNotFoundError extends WebpackError {
6363
"BREAKING CHANGE: " +
6464
"webpack < 5 used to include polyfills for node.js core modules by default.\n" +
6565
"This is no longer the case. Verify if you need this module and configure a polyfill for it.\n\n";
66-
if (request !== alias) {
67-
message +=
68-
"If you want to include a polyfill, you need to:\n" +
69-
`\t- add an fallback 'resolve.fallback: { "${request}": "${alias}" }'\n` +
70-
`\t- install '${dependency}'\n`;
71-
} else {
72-
message += `If you want to include a polyfill, you need to install '${dependency}'.\n`;
73-
}
66+
message +=
67+
"If you want to include a polyfill, you need to:\n" +
68+
`\t- add a fallback 'resolve.fallback: { "${request}": require.resolve("${alias}") }'\n` +
69+
`\t- install '${dependency}'\n`;
7470
message +=
7571
"If you don't want to include a polyfill, you can use an empty module like this:\n" +
7672
`\tresolve.fallback: { "${request}": false }`;

test/__snapshots__/StatsTestCases.test.js.snap

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1259,7 +1259,9 @@ Module not found: Error: Can't resolve 'buffer' in 'Xdir/module-not-found-error'
12591259
BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
12601260
This is no longer the case. Verify if you need this module and configure a polyfill for it.
12611261
1262-
If you want to include a polyfill, you need to install 'buffer'.
1262+
If you want to include a polyfill, you need to:
1263+
- add a fallback 'resolve.fallback: { \\"buffer\\": require.resolve(\\"buffer/\\") }'
1264+
- install 'buffer'
12631265
If you don't want to include a polyfill, you can use an empty module like this:
12641266
resolve.fallback: { \\"buffer\\": false }
12651267
@@ -1270,7 +1272,7 @@ BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules
12701272
This is no longer the case. Verify if you need this module and configure a polyfill for it.
12711273
12721274
If you want to include a polyfill, you need to:
1273-
- add an fallback 'resolve.fallback: { \\"os\\": \\"os-browserify/browser\\" }'
1275+
- add a fallback 'resolve.fallback: { \\"os\\": require.resolve(\\"os-browserify/browser\\") }'
12741276
- install 'os-browserify'
12751277
If you don't want to include a polyfill, you can use an empty module like this:
12761278
resolve.fallback: { \\"os\\": false }

0 commit comments

Comments
 (0)