UNPKG

react-modal-login

Version:

A highly customizable react login modal with social buttons

78 lines (76 loc) 1.81 kB
const path = require('path'); const webpack = require('webpack'); const UglifyJsPlugin = require('uglifyjs-webpack-plugin'); module.exports = { mode: 'production', entry: './src/react-modal-login.js', output: { path: path.resolve(__dirname, 'dist'), filename: 'react-modal-login.js', libraryTarget: 'commonjs2' }, module: { rules: [ { test: /\.js$/, include: path.resolve(__dirname, 'src'), exclude: /(node_modules|bower_components|build)/, use: { loader: 'babel-loader', options: { presets: ['@babel/preset-env'], plugins: [ "@babel/plugin-proposal-class-properties", "@babel/plugin-proposal-object-rest-spread", "@babel/plugin-transform-react-jsx" ] } } }, { test: /\.less$/, include: path.resolve(__dirname, 'src'), use: [{ loader: "style-loader" // creates style nodes from JS strings }, { loader: "css-loader" // translates CSS into CommonJS }, { loader: "less-loader" // compiles Less to CSS }] } ] }, plugins: [ /*new webpack.optimize.UglifyJsPlugin({ comments: false, mangle: { except: [ 'ReactModalLogin' ], props: false, } }),*/ new webpack.DefinePlugin({ 'process.env': { 'NODE_ENV': JSON.stringify('production') } }) ], externals: { 'react': 'commonjs react' }, optimization: { minimizer: [ new UglifyJsPlugin({ cache: true, parallel: true, uglifyOptions: { compress: false, ecma: 6, mangle: true }, sourceMap: true }) ] } };