|
| 1 | +const webpack = require('webpack') |
| 2 | +const path = require('path') |
| 3 | + |
| 4 | +module.exports = function override(config) { |
| 5 | + const fallback = config.resolve.fallback || {} |
| 6 | + Object.assign(fallback, { |
| 7 | + assert: require.resolve('assert'), |
| 8 | + buffer: require.resolve('buffer'), |
| 9 | + crypto: require.resolve('crypto-browserify'), |
| 10 | + http: require.resolve('stream-http'), |
| 11 | + https: require.resolve('https-browserify'), |
| 12 | + os: require.resolve('os-browserify/browser'), |
| 13 | + path: require.resolve('path-browserify'), |
| 14 | + process: require.resolve('process/browser'), |
| 15 | + stream: require.resolve('stream-browserify'), |
| 16 | + url: require.resolve('url'), |
| 17 | + util: require.resolve('util'), |
| 18 | + zlib: require.resolve('browserify-zlib'), |
| 19 | + }) |
| 20 | + config.resolve.fallback = fallback |
| 21 | + config.resolve.alias = { |
| 22 | + ...config.resolve.alias, |
| 23 | + 'bn.js': path.resolve(__dirname, 'node_modules/bn.js'), |
| 24 | + lodash: path.resolve(__dirname, 'node_modules/lodash'), |
| 25 | + } |
| 26 | + config.plugins = (config.plugins || []).concat([ |
| 27 | + new webpack.ProvidePlugin({ |
| 28 | + process: 'process/browser', |
| 29 | + Buffer: ['buffer', 'Buffer'], |
| 30 | + }), |
| 31 | + new webpack.IgnorePlugin({ |
| 32 | + resourceRegExp: /genesisStates\/[a-z]*\.json$/, |
| 33 | + contextRegExp: /@ethereumjs\/common/, |
| 34 | + }), |
| 35 | + ]) |
| 36 | + config.ignoreWarnings = [/Failed to parse source map/] |
| 37 | + config.module.rules.push({ |
| 38 | + test: /\.(js|mjs|jsx)$/, |
| 39 | + enforce: 'pre', |
| 40 | + loader: require.resolve('source-map-loader'), |
| 41 | + resolve: { |
| 42 | + fullySpecified: false, |
| 43 | + }, |
| 44 | + }) |
| 45 | + return config |
| 46 | +} |
0 commit comments