const webpack = require("webpack") const path = require("path") module.exports = function override(config) { const fallback = config.resolve.fallback || {} Object.assign(fallback, { crypto: require.resolve("crypto-browserify"), stream: require.resolve("stream-browserify"), assert: require.resolve("assert"), http: require.resolve("stream-http"), https: require.resolve("https-browserify"), os: require.resolve("os-browserify"), url: require.resolve("url"), vm: require.resolve("vm-browserify"), }) config.resolve.fallback = fallback config.plugins = (config.plugins || []).concat([ new webpack.ProvidePlugin({ process: "process/browser", Buffer: ["buffer", "Buffer"], }), ]) const modules = config.resolve.modules config.resolve.modules = [...modules, path.resolve(__dirname, "src")] config.module.rules.push({ test: /\.m?js/, resolve: { fullySpecified: false, }, }) return config }