const path = require('path'); const CopyWebpackPlugin = require('copy-webpack-plugin'); const ExtractTextPlugin = require('extract-text-webpack-plugin'); module.exports = { mode: 'development', entry: [ 'webpack-dev-server/client?http://localhost:3000', './demo/styles/demo.scss', './src/index.js', ], output: { path: path.join(__dirname, '/dist'), publicPath: '/dist/', filename: 'driver.js', libraryTarget: 'umd', library: 'Driver', }, module: { rules: [ { test: /\.js$/, exclude: /node_modules/, loader: 'eslint-loader', enforce: 'pre', options: { failOnWarning: false, failOnError: true, }, }, { test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader', options: { presets: ['env'], plugins: ['babel-plugin-add-module-exports'], }, }, { test: /.scss$/, loader: ExtractTextPlugin.extract(['css-loader?url=false', 'sass-loader']), }, ], }, plugins: [ new ExtractTextPlugin({ filename: 'demo.css', allChunks: true, }), new CopyWebpackPlugin([ './demo/scripts/emoji.js', './demo/scripts/demo.js', './demo/images/separator.png', ]), ], stats: { colors: true, }, devtool: 'cheap-module-eval-source-map', };