File size: 1,605 Bytes
d86254c
f0acb91
1809cfd
d86254c
d52f2d6
e3c10a2
 
d52f2d6
d86254c
d52f2d6
c766f4e
1809cfd
25ec032
d52f2d6
8a554f1
c766f4e
 
d52f2d6
 
 
c766f4e
8122c36
c766f4e
 
 
ef1f6b6
 
 
 
 
 
 
 
 
 
c766f4e
 
 
 
 
1809cfd
 
d52f2d6
 
 
 
 
 
 
1809cfd
d86254c
c766f4e
1809cfd
 
d52f2d6
1809cfd
 
f0acb91
25ec032
ed7c546
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
const path = require('path');
const CopyWebpackPlugin = require('copy-webpack-plugin');
const ExtractTextPlugin = require('extract-text-webpack-plugin');

const isProduction = process.env.NODE_ENV === 'production';
const scriptFileName = 'driver-demo.min.js';
const styleFileName = 'driver-demo.min.css';

module.exports = {
  mode: isProduction ? 'production' : 'development',
  entry: [
    'webpack-dev-server/client?http://localhost:3000',
    './demo/styles/demo.scss',
    './demo/scripts/demo.js',
    './src/index.js',
  ],
  output: {
    path: path.join(__dirname, '/dist/demo'),
    publicPath: '/dist/demo/',
    filename: scriptFileName,
    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',
      },
      {
        test: /.scss$/,
        loader: ExtractTextPlugin.extract([
          {
            loader: 'css-loader',
            options: { minimize: isProduction, url: false },
          },
          'sass-loader',
        ]),
      },
    ],
  },
  plugins: [
    new ExtractTextPlugin({
      filename: styleFileName,
      allChunks: true,
    }),
    new CopyWebpackPlugin([
      './demo/images/separator.png',
      './demo/images/driver.png',
    ]),
  ],
  stats: {
    colors: true,
  },
  devtool: 'cheap-module-eval-source-map',
};