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