parent
c82da43846
commit
f278242287
@ -1,13 +1,9 @@ |
|||||||
{ |
{ |
||||||
"presets": [ |
"presets": ["@babel/preset-env", ["@babel/preset-react", |
||||||
[ |
{"runtime": "automatic"} |
||||||
"@nrwl/react/babel", { |
]], |
||||||
"runtime": "automatic" |
"plugins": ["@babel/plugin-proposal-class-properties", "@babel/plugin-transform-runtime", "@babel/plugin-proposal-nullish-coalescing-operator"], |
||||||
|
"ignore": [ |
||||||
} |
"**/node_modules/**" |
||||||
] |
|
||||||
], |
|
||||||
"plugins": [ |
|
||||||
|
|
||||||
] |
] |
||||||
} |
} |
||||||
|
@ -1,28 +1,82 @@ |
|||||||
const nxWebpack = require('@nrwl/react/plugins/webpack') |
const { composePlugins, withNx } = require('@nrwl/webpack') |
||||||
|
const webpack = require('webpack') |
||||||
module.exports = config => { |
const TerserPlugin = require("terser-webpack-plugin") |
||||||
const nxWebpackConfig = nxWebpack(config) |
const CssMinimizerPlugin = require("css-minimizer-webpack-plugin") |
||||||
const webpackConfig = { |
|
||||||
...nxWebpackConfig, |
// Nx plugins for webpack.
|
||||||
resolve : { |
module.exports = composePlugins(withNx(), (config) => { |
||||||
...nxWebpackConfig.resolve, |
// Update the webpack config as needed here.
|
||||||
fallback: { |
// e.g. `config.plugins.push(new MyPlugin())`
|
||||||
...nxWebpackConfig.resolve.fallback, |
|
||||||
|
// 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"), |
"http": require.resolve("stream-http"), |
||||||
"https": require.resolve("https-browserify"), |
"https": require.resolve("https-browserify"), |
||||||
"stream": require.resolve("stream-browserify"), |
"constants": require.resolve("constants-browserify"), |
||||||
|
"os": false, //require.resolve("os-browserify/browser"),
|
||||||
|
"timers": false, // require.resolve("timers-browserify"),
|
||||||
"zlib": require.resolve("browserify-zlib"), |
"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'), |
||||||
} |
} |
||||||
|
|
||||||
if (process.env.NODE_ENV === 'production') { |
|
||||||
return { |
// add externals
|
||||||
...webpackConfig, |
config.externals = { |
||||||
mode: 'production', |
...config.externals, |
||||||
devtool: 'source-map', |
solc: 'solc', |
||||||
} |
|
||||||
} else { |
|
||||||
return webpackConfig |
|
||||||
} |
|
||||||
} |
} |
||||||
|
|
||||||
|
// 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$/, |
||||||
|
use: ["source-map-loader"], |
||||||
|
enforce: "pre" |
||||||
|
}) |
||||||
|
|
||||||
|
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; |
||||||
|
}); |
||||||
|
@ -0,0 +1,82 @@ |
|||||||
|
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$/, |
||||||
|
use: ["source-map-loader"], |
||||||
|
enforce: "pre" |
||||||
|
}) |
||||||
|
|
||||||
|
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; |
||||||
|
}); |
@ -1,31 +1,83 @@ |
|||||||
const nxWebpack = require('@nrwl/react/plugins/webpack') |
const { composePlugins, withNx } = require('@nrwl/webpack') |
||||||
|
const webpack = require('webpack') |
||||||
module.exports = config => { |
const TerserPlugin = require("terser-webpack-plugin") |
||||||
const nxWebpackConfig = nxWebpack(config) |
const CssMinimizerPlugin = require("css-minimizer-webpack-plugin") |
||||||
const webpackConfig = { |
|
||||||
...nxWebpackConfig, |
|
||||||
resolve : { |
// Nx plugins for webpack.
|
||||||
...nxWebpackConfig.resolve, |
module.exports = composePlugins(withNx(), (config) => { |
||||||
fallback: { |
// Update the webpack config as needed here.
|
||||||
...nxWebpackConfig.resolve.fallback, |
// e.g. `config.plugins.push(new MyPlugin())`
|
||||||
|
|
||||||
|
// add fallback for node modules
|
||||||
|
config.resolve.fallback = { |
||||||
|
...config.resolve.fallback, |
||||||
"crypto": require.resolve("crypto-browserify"), |
"crypto": require.resolve("crypto-browserify"), |
||||||
"stream": require.resolve("stream-browserify"), |
"stream": require.resolve("stream-browserify"), |
||||||
|
"path": require.resolve("path-browserify"), |
||||||
"http": require.resolve("stream-http"), |
"http": require.resolve("stream-http"), |
||||||
"https": require.resolve("https-browserify"), |
"https": require.resolve("https-browserify"), |
||||||
"path" : require.resolve("path-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, |
"module": false, |
||||||
"fs" : false |
"tls": false, |
||||||
}, |
"net": false, |
||||||
} |
"readline": false, |
||||||
|
"child_process": false, |
||||||
|
"buffer": require.resolve("buffer/"), |
||||||
|
"vm": require.resolve('vm-browserify'), |
||||||
} |
} |
||||||
|
|
||||||
if (process.env.NODE_ENV === 'production') { |
|
||||||
return { |
// add externals
|
||||||
...webpackConfig, |
config.externals = { |
||||||
mode: 'production', |
...config.externals, |
||||||
devtool: 'source-map', |
solc: 'solc', |
||||||
} |
|
||||||
} else { |
|
||||||
return webpackConfig |
|
||||||
} |
|
||||||
} |
} |
||||||
|
|
||||||
|
// 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$/, |
||||||
|
use: ["source-map-loader"], |
||||||
|
enforce: "pre" |
||||||
|
}) |
||||||
|
|
||||||
|
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; |
||||||
|
}); |
||||||
|
Loading…
Reference in new issue