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', };