1 | var webpack = require('webpack');
|
2 | var UglifyJsPlugin = webpack.optimize.UglifyJsPlugin;
|
3 | var path = require('path');
|
4 | var env = require('yargs').argv.mode;
|
5 |
|
6 | var libraryName = 'kero';
|
7 |
|
8 | var plugins = [],
|
9 | outputFile;
|
10 |
|
11 | if(env === 'build') {
|
12 | plugins.push(new UglifyJsPlugin({
|
13 | minimize: true
|
14 | }));
|
15 | outputFile = libraryName + '.min.js';
|
16 | } else {
|
17 | outputFile = libraryName + '.js';
|
18 | }
|
19 |
|
20 | var config = {
|
21 | entry: __dirname + '/js/index.js',
|
22 | devtool: 'source-map',
|
23 | output: {
|
24 | path: __dirname + '/dist/js',
|
25 | filename: outputFile,
|
26 |
|
27 | libraryTarget: 'umd',
|
28 | umdNamedDefine: true
|
29 | },
|
30 | module: {
|
31 | loaders: [{
|
32 | test: /(\.jsx|\.js)$/,
|
33 | loader: 'babel',
|
34 | exclude: /(bower_components)/
|
35 | }, {
|
36 | test: /(\.jsx|\.js)$/,
|
37 | loader: "eslint-loader",
|
38 | exclude: /node_modules/
|
39 | }]
|
40 | },
|
41 | resolve: {
|
42 | root: path.resolve('./src'),
|
43 | extensions: ['', '.js']
|
44 | },
|
45 | plugins: plugins
|
46 | };
|
47 |
|
48 | module.exports = config;
|