UNPKG

1.36 kBJavaScriptView Raw
1var webpack = require('webpack');
2var UglifyJsPlugin = webpack.optimize.UglifyJsPlugin;
3var path = require('path');
4var env = require('yargs').argv.mode;
5var fs = require('fs');
6
7var libraryName = 'kero';
8
9var data = fs.readFileSync('./package.json', 'utf8');
10var packageObj = JSON.parse(data);
11var headerStr = '';
12headerStr += packageObj.name + ' v' + packageObj.version + '\r\n';
13headerStr += packageObj.description + '\r\n';
14headerStr += 'author : ' + packageObj.author + '\r\n';
15headerStr += 'homepage : ' + packageObj.homepage + '\r\n';
16headerStr += 'bugs : ' + packageObj.bugs.url;
17var plugins = [new webpack.BannerPlugin(headerStr)],
18 outputFile;
19
20if(env === 'build') {
21 plugins.push(new UglifyJsPlugin({
22 minimize: true
23 }));
24 outputFile = libraryName + '.min.js';
25} else {
26 outputFile = libraryName + '.js';
27}
28
29var config = {
30 entry: __dirname + '/src/index.js',
31 // devtool: 'source-map',
32 output: {
33 path: __dirname + '/dist/js',
34 filename: outputFile,
35 //library: 'u',
36 libraryTarget: 'var',
37 umdNamedDefine: true
38 },
39 module: {
40 loaders: [{
41 test: /(\.jsx|\.js)$/,
42 loader: 'babel',
43 exclude: /(bower_components)/
44 }, {
45 test: /(\.jsx|\.js)$/,
46 loader: "eslint-loader",
47 exclude: /node_modules/
48 }]
49 },
50 resolve: {
51 root: path.resolve('./src'),
52 extensions: ['', '.js']
53 },
54 plugins: plugins
55};
56
57module.exports = config;