text: const path = require('path');
  const ProgressBarPlugin = require('progress-bar-webpack-plugin');
  const VueLoaderPlugin = require('vue-loader/lib/plugin');
  const TerserPlugin = require('terser-webpack-plugin');
  
  const config = require('./config');
  
  module.exports = {
    mode: 'production',
    entry: {
      app: ['./src/index.js']
    },
    output: {
      path: path.resolve(process.cwd(), './lib'),
      publicPath: '/dist/',
      filename: 'index.js',
      chunkFilename: '[id].js',
      libraryTarget: 'umd',
      libraryExport: 'default',
      library: config.globalName,
      umdNamedDefine: true,
      globalObject: 'typeof self !== \'undefined\' ? self : this'
    },
    resolve: {
      extensions: ['.js', '.vue', '.json'],
      alias: config.alias
    },
    externals: {
      vue: config.vue
    },
    optimization: {
      minimizer: [
        new TerserPlugin({
          terserOptions: {
            output: {
              comments: false
            }
          }
        })
      ]
    },
    performance: {
      hints: false
    },
    stats: {
      children: false
    },
    module: {
      rules: [
        {
          test: /\.(jsx?|babel|es6)$/,
          include: process.cwd(),
          exclude: config.jsexclude,
          loaders: ['babel-loader', config.prefixLoader]
        },
        {
          test: /\.vue$/,
          loaders: [{
            loader: 'vue-loader',
            options: {
              compilerOptions: {
                preserveWhitespace: false
              }
            }
          }, config.prefixLoader]
        }
      ]
    },
    plugins: [
      new ProgressBarPlugin(),
      new VueLoaderPlugin()
    ]
  };
  