UNPKG

vue-monthly-picker

Version:
70 lines (62 loc) 1.83 kB
var path = require('path') var utils = require('./utils') var webpack = require('webpack') var config = require('../config') var merge = require('webpack-merge') var baseWebpackConfig = require('./webpack.base.conf') var OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin') var PeerDepsExternalsPlugin = require('peer-deps-externals-webpack-plugin'); var env = process.env.NODE_ENV === 'testing' ? require('../config/test.env') : config.lib.env baseWebpackConfig.entry = { 'vue-monthly-picker': './src/lib.js' } var webpackConfig = merge(baseWebpackConfig, { module: { rules: utils.styleLoaders({ sourceMap: config.lib.productionSourceMap }) }, devtool: config.lib.productionSourceMap ? '#source-map' : false, output: { path: config.lib.assetsRoot, filename: utils.assetsLibPath('[name].min.js'), library: '[name]', libraryTarget: 'umd' }, plugins: [ // http://vuejs.github.io/vue-loader/en/workflow/production.html new PeerDepsExternalsPlugin(), new webpack.DefinePlugin({ 'process.env': env }), new webpack.optimize.UglifyJsPlugin({ compress: { warnings: false }, sourceMap: true }) ] }) if (config.lib.productionGzip) { var CompressionWebpackPlugin = require('compression-webpack-plugin') webpackConfig.plugins.push( new CompressionWebpackPlugin({ asset: '[path].gz[query]', algorithm: 'gzip', test: new RegExp( '\\.(' + config.lib.productionGzipExtensions.join('|') + ')$' ), threshold: 10240, minRatio: 0.8 }) ) } if (config.lib.bundleAnalyzerReport) { var BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin webpackConfig.plugins.push(new BundleAnalyzerPlugin()) } module.exports = webpackConfig