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
| /* global __dirname, require, module*/
|
| const webpack = require('webpack');
| const UglifyJsPlugin = webpack.optimize.UglifyJsPlugin;
| const path = require('path');
| const env = require('yargs').argv.env; // use --env with webpack 2
|
| let libraryName = 'solarlunar';
|
| let plugins = [],
| outputFile;
|
| if (env === 'build') {
| plugins.push(new UglifyJsPlugin({ minimize: true }));
| outputFile = libraryName + '.min.js';
| } else {
| outputFile = libraryName + '.js';
| }
|
| const config = {
| entry: __dirname + '/src/index.js',
| devtool: 'source-map',
| output: {
| path: __dirname + '/lib',
| filename: outputFile,
| library: libraryName,
| libraryTarget: 'umd',
| umdNamedDefine: true
| },
| module: {
| rules: [
| {
| test: /(\.jsx|\.js)$/,
| loader: 'babel-loader',
| exclude: /(node_modules|bower_components)/
| },
| {
| test: /(\.jsx|\.js)$/,
| loader: 'eslint-loader',
| exclude: /node_modules/
| }
| ]
| },
| resolve: {
| modules: [path.resolve('./node_modules'), path.resolve('./src')],
| extensions: ['.json', '.js']
| },
| plugins: plugins
| };
|
| module.exports = config;
|
|