Fix Webpack conf

+ conform to a bit more eslint (IDE makes my eyes hurt)
+ specify windows-specific copies of noParse regexes to stop the olm error

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
Michael Telatynski 2017-04-21 15:06:52 +01:00
parent 9c27075175
commit 9b38a97110

View file

@ -1,7 +1,7 @@
var path = require('path'); const path = require('path');
var webpack = require('webpack'); const webpack = require('webpack');
var ExtractTextPlugin = require("extract-text-webpack-plugin"); const ExtractTextPlugin = require('extract-text-webpack-plugin');
var HtmlWebpackPlugin = require('html-webpack-plugin'); const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = { module.exports = {
entry: { entry: {
@ -19,11 +19,11 @@ module.exports = {
// CSS themes // CSS themes
"theme-light": "./src/skins/vector/css/themes/light.scss", "theme-light": "./src/skins/vector/css/themes/light.scss",
"theme-dark": "./src/skins/vector/css/themes/dark.scss" "theme-dark": "./src/skins/vector/css/themes/dark.scss",
}, },
module: { module: {
preLoaders: [ preLoaders: [
{ test: /\.js$/, loader: "source-map-loader" } { test: /\.js$/, loader: "source-map-loader" },
], ],
loaders: [ loaders: [
{ test: /\.json$/, loader: "json" }, { test: /\.json$/, loader: "json" },
@ -39,7 +39,7 @@ module.exports = {
// as webpack inputs.) // as webpack inputs.)
// 3. ExtractTextPlugin turns that string into a separate asset. // 3. ExtractTextPlugin turns that string into a separate asset.
loader: ExtractTextPlugin.extract( loader: ExtractTextPlugin.extract(
"css-raw-loader!postcss-loader?config=postcss.config.js" "css-raw-loader!postcss-loader?config=postcss.config.js",
), ),
}, },
{ {
@ -54,10 +54,12 @@ module.exports = {
// there is no need for webpack to parse them - they can just be // there is no need for webpack to parse them - they can just be
// included as-is. // included as-is.
/highlight\.js\/lib\/languages/, /highlight\.js\/lib\/languages/,
/highlight\.js\\lib\\languages/,
// olm takes ages for webpack to process, and it's already heavily // olm takes ages for webpack to process, and it's already heavily
// optimised, so there is little to gain by us uglifying it. // optimised, so there is little to gain by us uglifying it.
/olm\/(javascript\/)?olm\.js$/, /olm\/(javascript\/)?olm\.js$/,
/olm\\(javascript\\)?olm\.js$/,
], ],
}, },
output: { output: {
@ -83,7 +85,7 @@ module.exports = {
// various levels of '.' and '..' // various levels of '.' and '..'
// Also, sometimes the resource path is absolute. // Also, sometimes the resource path is absolute.
return path.relative(process.cwd(), info.resourcePath).replace(/^[\/\.]*/, ''); return path.relative(process.cwd(), info.resourcePath).replace(/^[\/\.]*/, '');
} },
}, },
resolve: { resolve: {
alias: { alias: {
@ -106,15 +108,15 @@ module.exports = {
plugins: [ plugins: [
new webpack.DefinePlugin({ new webpack.DefinePlugin({
'process.env': { 'process.env': {
NODE_ENV: JSON.stringify(process.env.NODE_ENV) NODE_ENV: JSON.stringify(process.env.NODE_ENV),
} },
}), }),
new ExtractTextPlugin( new ExtractTextPlugin(
"bundles/[hash]/[name].css", "bundles/[hash]/[name].css",
{ {
allChunks: true allChunks: true,
} },
), ),
new HtmlWebpackPlugin({ new HtmlWebpackPlugin({