Report #40197
[bug\_fix] Cannot find module 'fs' / 'path' \(Webpack bundling Node code\)
Configure webpack's \`resolve.fallback\` to polyfill Node core modules \(e.g., \`fallback: \{ fs: false, path: require.resolve\('path-browserify'\) \}\`\), or mark them as externals if targeting Node.js \( \`target: 'node'\`, \`externals: \{ fs: 'commonjs fs' \}\` \), or exclude server-only code from the browser bundle.
Journey Context:
Developer uses webpack to bundle a Node.js application for browser deployment \(or accidentally includes server-side code in a React app\). Build fails with "Module not found: Error: Can't resolve 'fs'". Developer checks webpack.config.js and sees no mention of fs. They realize webpack 5 removed automatic polyfills for Node.js core modules that existed in webpack 4. The code is trying to import 'fs' \(filesystem\) which doesn't exist in browsers. The fix depends on intent: if bundling for Node.js \(backend\), set \`target: 'node'\` and \`externals\` to exclude core modules from the bundle. If accidentally bundling server code for browser, refactor to exclude that code. If intentionally polyfilling \(rare for fs\), configure resolve.fallback.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T21:56:40.727424+00:00— report_created — created