I am in the process of migrating from webpack 4 to 5, and I am facing an error similar to
Module not found: Error: Can't resolve 'fs' in '...'
This is the code that generates the error
if (!process.browser) {
const fs = require('fs');
// ...
}
My understanding was that this code would be eliminated by tree shaking, in the same way as the following would be removed in the context of HMR:
if (import.meta.hot) {
...
}
I found many solutions for the runtime problem, like polyfilling the node modules or disabling them in the alias, but I would rather have webpack remove that code completely. Did this behavior change in webpack 5 or am I missing something?