How to use "Speed Measure Plugin" - or other build profiling?



  • Building my app, from start to finish, takes about 4-5 minutes, which is quite long.

    I would like to use the Speed Measure Plugin to see what are the points that take up the most time so I can start optimizing, but according to it’s readme, the intended usage is to wrap and replace the entire config:

    const SpeedMeasurePlugin = require('speed-measure-webpack-plugin');
    
    const webpackConfig = smp.wrap({
      plugins: [
        new MyPlugin(),
        new MyOtherPlugin()
      ]
    });
    

    However, according to the Quasar docs, the extendWebpack() function allows just that - extending the config, but it doesn’t seem to allow replacing it entirely.

    I still tried returning the wrapped config like vue.config.js's configureWebpack() would allow:

    const SpeedMeasurePlugin = require('speed-measure-webpack-plugin');
    
    // ...
          extendWebpack (cfg) {
                return smp.wrap(cfg);
          }
    // ...
    

    But I Immediately get this error when trying to build it:

    (node:42345) UnhandledPromiseRejectionWarning:   TypeError: Cannot read property 'tapAsync' of undefined
    

    Which makes me think I’m doing something wrong.

    Did anybody get this plugin to work with Quasar? Or does anyone have any recommendations about other plugins that could be used to profile the build? Thanks!


Log in to reply