Webpack plugin to only run build if dependent files have changed
var path = require('path');
var OnlyIfChangedPlugin = require('only-if-changed-webpack-plugin');
var opts = {
rootDir: process.cwd(),
devBuild: process.env.NODE_ENV !== 'production',
};
module.exports = {
output: {
filename: 'bundle.js',
path: path.join(opts.rootDir, 'build'),
pathinfo: opts.devBuild,
},
plugins: [
new OnlyIfChangedPlugin({
cacheDirectory: path.join(opts.rootDir, 'tmp/cache'),
cacheIdentifier: opts, // all variable opts/environment should be used in cache key
})
],
};
After a successful build, all subsequent builds will skip compiling and emitting assets unless an input file dependency or output asset of the build has been modified or deleted.
- cached-loader – Adds persistent on-disk caching to webpack loaders