const path = require('path'); const webpack = require('webpack'); const ProgressBarPlugin = require('progress-bar-webpack-plugin'); const { VueLoaderPlugin } = require('vue-loader'); const webpackDevConfig = require('../build/webpack.config.dev'); function getWebpackConfig(testFileName) { return { mode: 'development', output: { path: path.resolve(process.cwd(), 'dist'), publicPath: '/dist/', filename: '[name].js', chunkFilename: '[id].js', libraryTarget: 'umd' }, resolve: webpackDevConfig.resolve, plugins: [ new VueLoaderPlugin(), new ProgressBarPlugin(), new webpack.DefinePlugin({ 'process.env': { TEST_FILE: `"${testFileName}"` } }) ], module: { rules: [ { test: /\.js$/, exclude: /node_modules|test|mock|swipe|locale|waterfall/, use: [ { loader: 'istanbul-instrumenter-loader', options: { esModules: true } }, 'babel-loader' ] }, { test: /\.js$/, exclude: /node_modules/, use: [ 'babel-loader' ] }, { test: /\.(css|postcss)$/, use: ['style-loader', 'css-loader', { loader: 'postcss-loader', options: { sourceMap: true } }] }, { test: /\.vue$/, use: [ { loader: 'vue-loader', options: { compilerOptions: { preserveWhitespace: false } } } ] } ] } }; } module.exports = getWebpackConfig;