Skip to content

Instantly share code, notes, and snippets.

@rowanoulton
Last active November 9, 2017 22:54
Show Gist options
  • Save rowanoulton/38e3b7fca10cd59058a40676f7928227 to your computer and use it in GitHub Desktop.
Save rowanoulton/38e3b7fca10cd59058a40676f7928227 to your computer and use it in GitHub Desktop.
let CrudeTimingPlugin = function() {};
CrudeTimingPlugin.prototype.apply = function(compiler) {
compiler.plugin('compilation', (compilation) => {
let startOptimizePhase;
compilation.plugin('optimize-chunk-assets', (chunks, callback) => {
// Cruddy way of measuring minification time. UglifyJSPlugin does all
// its work in this phase of compilation so we time the duration of
// the entire phase
startOptimizePhase = Date.now();
// For async phases: don't forget to invoke the callback
callback();
});
compilation.plugin('after-optimize-chunk-assets', () => {
const optimizePhaseDuration = Date.now() - startOptimizePhase;
console.log(`optimize-chunk-asset phase duration: ${optimizePhaseDuration}`);
});
});
};
module.exports = CrudeTimingPlugin;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment