const pkg = require('./package.json') const { defineConfig } = require('@vue/cli-service') const dynamicThemePlugin = require('./src/webpack/dynamicTheme.js') const CompressionPlugin = require('compression-webpack-plugin') const productionGzipExtensions = /\.(js|css|json|txt|html|ico|svg)(\?.*)?$/i module.exports = defineConfig({ publicPath: process.env.PUBLIC_PATH, chainWebpack: config => { config.plugin('html').tap(args => { args[0].version = pkg.version return args }) if (process.env.NODE_ENV === 'production') { config.plugin('compressionPlugin').use( new CompressionPlugin({ filename: '[path][base].gz', algorithm: 'gzip', test: productionGzipExtensions, threshold: 10240, minRatio: 0.8, deleteOriginalAssets: false }) ) } }, configureWebpack: { plugins: [dynamicThemePlugin()] }, css: { loaderOptions: { less: { modifyVars: { 'border-radius-base': '2px' }, javascriptEnabled: true } } }, lintOnSave: false, transpileDependencies: [], productionSourceMap: false })