function runWebpack (fixture, { output, plugins, terserOptions, ...config } = {}) {
  return run(callback => webpack({
    mode: 'production',
    devtool: false,
    context: path.resolve(__dirname, 'fixtures', fixture),
    entry: './entry',
    output: {
      publicPath: 'dist/',
      path: path.resolve(__dirname, 'fixtures', fixture, 'dist'),
      ...(output || {})
    },
    optimization: {
      minimizer: [
        new TerserPlugin({
          terserOptions: terserOptions || {
            mangle: false,
            output: {
              beautify: true
            }
          },
          sourceMap: false
        })
      ]
    },
    plugins: [
      new CleanPlugin([
        path.resolve(__dirname, 'fixtures', fixture, 'dist', '**')
      ], {}),
      ...(Array.isArray(plugins) ? plugins : [])
    ],
    ...config
  }, callback));
}
@param {string} fixture
@param {{ terserOptions?: import('terser').MinifyOptions } & Partial<import('webpack').Configuration>} [options]