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.