async appendPlugins()

in lib/WebPackWrap.js [169:202]


    async appendPlugins(options, visualPackage, tsconfig) {
        let pluginConfiguration = await this.configureCustomVisualsWebpackPlugin(visualPackage, options, tsconfig);

        let statsFilename = config.build.stats.split("/").pop();
        let statsLocation = config.build.stats.split("/").slice(0, -1).join(path.sep);
        statsFilename = statsFilename.split(".").slice(0, -1).join(".");
        statsFilename = `${statsFilename}.${options.devMode ? "dev" : "prod"}.html`;

        this.webpackConfig.plugins.push(
            new Visualizer({
                reportFilename: path.join(statsLocation, statsFilename),
                openAnalyzer: false,
                analyzerMode: `static`
            }),
            new PowerBICustomVisualsWebpackPlugin(pluginConfiguration),
            new ExtraWatchWebpackPlugin({
                files: [visualPackage.buildPath(this.pbiviz.capabilities)]
            }),
            new webpack.ProvidePlugin({
                window: 'realWindow',
                define: 'fakeDefine',
                powerbi: 'globalPowerbi'
            })
        );

        if (options.devtool === "source-map" && this.webpackConfig.devServer.port) {
            this.webpackConfig.plugins.push(
                new webpack.SourceMapDevToolPlugin({
                    filename: '[file].map',
                    publicPath: `https://localhost:${this.webpackConfig.devServer.port}/assets/`
                })
            );
        }
    }