2015-05-14 12:08:19 +02:00
|
|
|
var path = require('path');
|
|
|
|
var webpack = require('webpack');
|
|
|
|
var Clean = require('clean-webpack-plugin');
|
2015-05-02 11:54:24 +02:00
|
|
|
|
|
|
|
module.exports = {
|
2015-05-14 12:08:19 +02:00
|
|
|
build: {
|
|
|
|
entry: path.join(__dirname, '/src-es6/tablefilter.js'),
|
2015-05-02 11:54:24 +02:00
|
|
|
output: {
|
2015-05-14 12:08:19 +02:00
|
|
|
publicPath: '/build/tablefilter/',
|
|
|
|
path: path.join(__dirname, '/build/tablefilter'),
|
|
|
|
filename: 'tablefilter.js',
|
|
|
|
// chunkFilename: '[name]-[chunkhash].js',
|
|
|
|
chunkFilename: '[name].js',
|
2015-05-02 11:54:24 +02:00
|
|
|
libraryTarget: 'umd'
|
|
|
|
},
|
|
|
|
resolve: {
|
2015-05-14 12:08:19 +02:00
|
|
|
extensions: ['', '.js'],
|
|
|
|
alias: {
|
|
|
|
sortabletable: '../../../libs/sortabletable.js'
|
|
|
|
}
|
2015-05-02 11:54:24 +02:00
|
|
|
},
|
|
|
|
module: {
|
|
|
|
loaders: [{
|
|
|
|
test: path.join(__dirname, 'src-es6'),
|
2015-05-14 12:08:19 +02:00
|
|
|
exclude: /node_modules/,
|
|
|
|
query: {
|
|
|
|
compact: false
|
|
|
|
},
|
2015-05-02 11:54:24 +02:00
|
|
|
loader: 'babel-loader'
|
|
|
|
}]
|
2015-05-14 12:08:19 +02:00
|
|
|
},
|
|
|
|
plugins: [
|
|
|
|
// new webpack.DefinePlugin({
|
|
|
|
// 'process.env': {
|
|
|
|
// // This has effect on the react lib size
|
|
|
|
// 'NODE_ENV': JSON.stringify('production')
|
|
|
|
// }
|
|
|
|
// }),
|
|
|
|
new Clean(['build']),
|
|
|
|
new webpack.optimize.DedupePlugin()
|
|
|
|
],
|
|
|
|
devtool: 'source-map',
|
|
|
|
debug: true
|
2015-05-02 11:54:24 +02:00
|
|
|
},
|
2015-05-14 12:08:19 +02:00
|
|
|
dist: {
|
|
|
|
entry: path.join(__dirname, '/src-es6/tablefilter.js'),
|
|
|
|
// entry: {
|
|
|
|
// tablefilter: __dirname + '/src-es6/tablefilter.js',
|
|
|
|
// sortabletable: __dirname + '/libs/sortabletable.js'
|
|
|
|
// },
|
2015-05-02 11:54:24 +02:00
|
|
|
output: {
|
2015-05-14 12:08:19 +02:00
|
|
|
publicPath: '/dist/tablefilter/',
|
|
|
|
path: path.join(__dirname, '/dist/tablefilter'),
|
|
|
|
filename: 'tablefilter.js',
|
|
|
|
// chunkFilename: '[name]-[chunkhash].js',
|
|
|
|
chunkFilename: '[name].js',
|
|
|
|
libraryTarget: 'umd'
|
2015-05-02 11:54:24 +02:00
|
|
|
},
|
|
|
|
resolve: {
|
2015-05-14 12:08:19 +02:00
|
|
|
extensions: ['', '.js'],
|
|
|
|
alias: {
|
|
|
|
sortabletable: '../../../libs/sortabletable.js'
|
|
|
|
// ,
|
|
|
|
// adapterSortabletable:
|
|
|
|
// './extensions/sortabletable/adapterSortabletable'
|
|
|
|
}
|
|
|
|
},
|
|
|
|
// externals: {
|
|
|
|
// 'sortabletable': 'SortableTable'
|
|
|
|
// },
|
|
|
|
module: {
|
|
|
|
loaders: [{
|
|
|
|
test: path.join(__dirname, 'src-es6'),
|
|
|
|
exclude: /node_modules/,
|
|
|
|
query: {
|
|
|
|
compact: false
|
|
|
|
},
|
|
|
|
loader: 'babel-loader'
|
|
|
|
}]
|
|
|
|
},
|
|
|
|
plugins: [
|
|
|
|
// new webpack.DefinePlugin({
|
|
|
|
// 'process.env': {
|
|
|
|
// // This has effect on the react lib size
|
|
|
|
// 'NODE_ENV': JSON.stringify('production')
|
|
|
|
// }
|
|
|
|
// }),
|
|
|
|
// new webpack.IgnorePlugin(/adapterSortabletable$/),
|
|
|
|
new Clean(['dist']),
|
|
|
|
new webpack.optimize.DedupePlugin(),
|
|
|
|
new webpack.optimize.MinChunkSizePlugin({ minChunkSize: 10000 }),
|
|
|
|
new webpack.optimize.UglifyJsPlugin()
|
|
|
|
]
|
2015-05-02 11:54:24 +02:00
|
|
|
}
|
|
|
|
};
|