Speed up webpacker by excluding dev dependencies
In our latest project, we were experiencing some long build times after accreting features for a few monhts.
By default webpacker pulls in all of your node_modules for parsing and optimization by babel, which can be quite unneccessary. In order to exclude your devDependencies from that process, you can add the folling code to your development.js config:
...
var package = require('../../package.json');
var excluded = Object.keys(package.devDependencies).map(function(dep){
return new RegExp("node_modules/" + dep);
});
module.exports = merge(environment.toWebpackConfig(), customConfig, {
module: {
noParse: excluded
}
});
The noParse option can possibly lead to errors when some packages are excluded from parsing (notably, css-loader), you can tweak which dependencies reside in dependencies vs devDependencies in your package.json in order to avoid these issues.