How to Polyfill node core modules in webpack 5
I was also getting these error's when upgrading from webpack v4 to v5. Resolved by
added resolve.fallback property
removed node property
{
resolve: {
modules: [...],
fallback: {
"fs": false,
"tls": false,
"net": false,
"path": false,
"zlib": false,
"http": false,
"https": false,
"stream": false,
"crypto": false,
"crypto-browserify": require.resolve('crypto-browserify'), //if you want to use this module also don't forget npm i crypto-browserify
}
},
entry: [...],
output: {...},
module: {
rules: [...]
},
plugins: [...],
optimization: {
minimizer: [...],
},
// node: {
// fs: 'empty',
// net: 'empty',
// tls: 'empty'
// },
}
upgrade from v4 to v5 => https://webpack.js.org/migrate/5/#clean-up-configuration
I think most the answers here would resolve your issue. However, if you don't need Polyfills for your node development, then I suggest using target: 'node'
in your Webpack module configuration. This helped resolve the issue for me.
Here is some documentation on the answer: https://webpack.js.org/concepts/targets/