1
0
Fork 0
mirror of https://github.com/koalyptus/TableFilter.git synced 2024-05-11 19:06:50 +02:00
TableFilter/webpack.test.config.js
2016-12-07 23:48:28 +11:00

69 lines
1.9 KiB
JavaScript

var webpack = require('webpack');
var path = require('path');
var Clean = require('clean-webpack-plugin');
var StringReplacePlugin = require('string-replace-webpack-plugin');
var fs = require('fs');
var pkg = JSON.parse(fs.readFileSync('package.json', 'utf8'));
module.exports = {
cache: true,
entry: {
'main': path.join(__dirname, '/src/tablefilter.js')
},
output: {
path: path.join(__dirname, '/dist/tablefilter'),
filename: 'tablefilter.js',
// chunkFilename: '[name]-[chunkhash].js',
chunkFilename: 'tf-[name].js',
libraryTarget: 'umd'
},
resolve: {
extensions: ['', '.js'],
alias: {
sortabletable: '../../../libs/sortabletable.js'
}
},
isparta: {
embedSource: true,
noAutoWrap: true,
babel: {
compact: false,
presets: ['es2015'],
plugins: [['transform-es2015-classes', {loose: true}]]
}
},
module: {
loaders: [
{
test: /\.js$/,
include: path.join(__dirname, 'src'),
exclude: /tablefilter\/node_modules/,
loader: 'isparta'
},
{
test: path.join(__dirname, 'src'),
loader: StringReplacePlugin.replace({
replacements: [{
pattern: /{VERSION}/ig,
replacement: function () {
return pkg.version;
}
},{
pattern: /{AUTHOR}/ig,
replacement: function () {
return pkg.author.name;
}
}]
})
}
]
},
devtool: 'sourcemap',
debug: true,
plugins: [
new Clean(['dist']),
new webpack.optimize.DedupePlugin(),
new StringReplacePlugin()
]
};