const path = require('path'); const CleanWebpackPlugin = require('clean-webpack-plugin') const ExtractTextPlugin = require("extract-text-webpack-plugin"); const MinifyPlugin = require('babel-minify-webpack-plugin'); const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin'); module.exports = { entry: { 'datepickk': './src/js/datepickk.js', 'datepickk.min': './src/js/datepickk.js' }, //devtool: 'source-map', output: { filename: '[name].js', path: path.resolve(__dirname, 'dist'), library: "Datepickk", libraryExport: 'default', libraryTarget: "umd" }, module: { rules: [{ test: /\.js$/, exclude: /(node_modules|bower_components)/, use: { loader: 'babel-loader' } },{ test: /\.less$/, use: ExtractTextPlugin.extract({ fallback: "style-loader", use: ['css-loader','less-loader'] }) }] }, plugins: [ new CleanWebpackPlugin(['dist']), new ExtractTextPlugin({ filename: (getPath) => { return getPath('[name].css'); } }), new MinifyPlugin({}, { test: /\.min\.js$/, }), new OptimizeCssAssetsPlugin({ assetNameRegExp: /\.min\.css$/, cssProcessorOptions: { discardComments: { removeAll: true } } }) ] };