File size: 1,602 Bytes
d86254c
f0acb91
1809cfd
d86254c
 
c766f4e
 
1809cfd
25ec032
8a554f1
c766f4e
 
8a554f1
 
8122c36
c766f4e
8122c36
c766f4e
 
 
ef1f6b6
 
 
 
 
 
 
 
 
 
c766f4e
 
 
 
 
e4a590d
 
 
 
 
 
 
 
ef1f6b6
 
 
 
c766f4e
 
1809cfd
 
25ec032
1809cfd
d86254c
c766f4e
1809cfd
 
8a554f1
1809cfd
 
f0acb91
25ec032
 
 
f0acb91
1809cfd
c766f4e
 
 
ebda3a6
c766f4e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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',
              {
                useBuiltIns: 'usage',
              },
            ],
          ],
          plugins: [
            'babel-plugin-add-module-exports',
            'transform-object-rest-spread',
          ],
        },
      },
      {
        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',
};