summaryrefslogtreecommitdiffstats
path: root/webapp/webpack.config.js
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/webpack.config.js')
-rw-r--r--webapp/webpack.config.js29
1 files changed, 24 insertions, 5 deletions
diff --git a/webapp/webpack.config.js b/webapp/webpack.config.js
index 2911c0c7d..da9ed9600 100644
--- a/webapp/webpack.config.js
+++ b/webapp/webpack.config.js
@@ -4,7 +4,7 @@ const ExtractTextPlugin = require('extract-text-webpack-plugin');
const CopyWebpackPlugin = require('copy-webpack-plugin');
const nodeExternals = require('webpack-node-externals');
-const htmlExtract = new ExtractTextPlugin('html', 'root.html');
+const HtmlWebpackPlugin = require('html-webpack-plugin');
const NPM_TARGET = process.env.npm_lifecycle_event; //eslint-disable-line no-process-env
@@ -28,8 +28,8 @@ var config = {
output: {
path: 'dist',
publicPath: '/static/',
- filename: 'bundle.js',
- chunkFilename: '[name].[hash].[chunkhash].js'
+ filename: '[name].[hash].js',
+ chunkFilename: '[name].[chunkhash].js'
},
module: {
loaders: [
@@ -53,6 +53,15 @@ var config = {
}
},
{
+ test: /node_modules\/mattermost\/websocket_client\.jsx?$/,
+ loader: 'babel',
+ query: {
+ presets: ['react', 'es2015-webpack', 'stage-0'],
+ plugins: ['transform-runtime'],
+ cacheDirectory: DEV
+ }
+ },
+ {
test: /\.json$/,
loader: 'json'
},
@@ -81,7 +90,7 @@ var config = {
},
{
test: /\.html$/,
- loader: htmlExtract.extract('html?attrs=link:href')
+ loader: 'html?attrs=link:href'
}
]
},
@@ -92,7 +101,6 @@ var config = {
new webpack.ProvidePlugin({
'window.jQuery': 'jquery'
}),
- htmlExtract,
new CopyWebpackPlugin([
{from: 'images/emoji', to: 'emoji'},
{from: 'images/logo-email.png', to: 'images'},
@@ -159,7 +167,18 @@ if (!DEV) {
// Test mode configuration
if (TEST) {
+ config.entry = ['babel-polyfill', './root.jsx'];
+ config.target = 'node';
config.externals = [nodeExternals()];
+} else {
+ // For some reason this breaks mocha. So it goes here.
+ config.plugins.push(
+ new HtmlWebpackPlugin({
+ filename: 'root.html',
+ inject: 'head',
+ template: 'root.html'
+ })
+ );
}
module.exports = config;