|
|
|
@ -1,56 +1,13 @@ |
|
|
|
|
const { composePlugins, withNx } = require('@nrwl/webpack') |
|
|
|
|
const webpack = require('webpack') |
|
|
|
|
const TerserPlugin = require("terser-webpack-plugin") |
|
|
|
|
const CssMinimizerPlugin = require("css-minimizer-webpack-plugin") |
|
|
|
|
|
|
|
|
|
// Nx plugins for webpack.
|
|
|
|
|
module.exports = composePlugins(withNx(), (config) => { |
|
|
|
|
// Update the webpack config as needed here.
|
|
|
|
|
// e.g. `config.plugins.push(new MyPlugin())`
|
|
|
|
|
|
|
|
|
|
// add fallback for node modules
|
|
|
|
|
config.resolve.fallback = { |
|
|
|
|
...config.resolve.fallback, |
|
|
|
|
"crypto": require.resolve("crypto-browserify"), |
|
|
|
|
"stream": require.resolve("stream-browserify"), |
|
|
|
|
"path": require.resolve("path-browserify"), |
|
|
|
|
"http": require.resolve("stream-http"), |
|
|
|
|
"https": require.resolve("https-browserify"), |
|
|
|
|
"constants": require.resolve("constants-browserify"), |
|
|
|
|
"os": false, //require.resolve("os-browserify/browser"),
|
|
|
|
|
"timers": false, // require.resolve("timers-browserify"),
|
|
|
|
|
"zlib": require.resolve("browserify-zlib"), |
|
|
|
|
"fs": false, |
|
|
|
|
"module": false, |
|
|
|
|
"tls": false, |
|
|
|
|
"net": false, |
|
|
|
|
"readline": false, |
|
|
|
|
"child_process": false, |
|
|
|
|
"buffer": require.resolve("buffer/"), |
|
|
|
|
"vm": require.resolve('vm-browserify'), |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// add externals
|
|
|
|
|
config.externals = { |
|
|
|
|
...config.externals, |
|
|
|
|
solc: 'solc', |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// add public path
|
|
|
|
|
config.output.publicPath = '/' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// add copy & provide plugin
|
|
|
|
|
config.plugins.push( |
|
|
|
|
new webpack.ProvidePlugin({ |
|
|
|
|
Buffer: ['buffer', 'Buffer'], |
|
|
|
|
url: ['url', 'URL'], |
|
|
|
|
process: 'process/browser', |
|
|
|
|
}) |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
// souce-map loader
|
|
|
|
|
config.module.rules.push({ |
|
|
|
|
test: /\.js$/, |
|
|
|
@ -60,23 +17,5 @@ module.exports = composePlugins(withNx(), (config) => { |
|
|
|
|
|
|
|
|
|
config.ignoreWarnings = [/Failed to parse source map/] // ignore source-map-loader warnings
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// set minimizer
|
|
|
|
|
config.optimization.minimizer = [ |
|
|
|
|
new TerserPlugin({ |
|
|
|
|
parallel: true, |
|
|
|
|
terserOptions: { |
|
|
|
|
ecma: 2015, |
|
|
|
|
compress: false, |
|
|
|
|
mangle: false, |
|
|
|
|
format: { |
|
|
|
|
comments: false, |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
extractComments: false, |
|
|
|
|
}), |
|
|
|
|
new CssMinimizerPlugin(), |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
return config; |
|
|
|
|
}); |
|
|
|
|