Upgrade to Webpack 4 - first try

Signed-off-by: David Mehren <dmehren1@gmail.com>
This commit is contained in:
David Mehren 2018-07-02 22:24:56 +02:00
parent 0017ddd310
commit 29a3813ada
No known key found for this signature in database
GPG key ID: 6017AF117F9756CB
7 changed files with 3026 additions and 1413 deletions

View file

@ -3,7 +3,8 @@ var webpack = require('webpack')
var path = require('path')
var ExtractTextPlugin = require('extract-text-webpack-plugin')
var OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin')
var ParallelUglifyPlugin = require('webpack-parallel-uglify-plugin')
const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
module.exports = [Object.assign({}, baseConfig, {
plugins: baseConfig.plugins.concat([
@ -11,44 +12,33 @@ module.exports = [Object.assign({}, baseConfig, {
'process.env': {
'NODE_ENV': JSON.stringify('production')
}
}),
new ParallelUglifyPlugin({
uglifyJS: {
compress: {
warnings: false
},
output: {
max_line_len: 1000000
},
mangle: false,
sourceMap: false
}
}),
new ExtractTextPlugin('[name].[hash].css')
})
]),
optimization: {
minimizer: [
new UglifyJsPlugin({
parallel: true,
cache: true
})
],
splitChunks: {
chunks: 'async',
minChunks: Infinity
}
},
output: {
path: path.join(__dirname, 'public/build'),
publicPath: '/build/',
filename: '[id].[name].[hash].js',
baseUrl: '<%- url %>'
filename: '[id].[name].[hash].js'
// baseUrl: '<%- url %>'
}
}), {
entry: {
htmlExport: path.join(__dirname, 'public/js/htmlExport.js')
},
module: {
loaders: [{
test: /\.css$/,
loader: ExtractTextPlugin.extract('style-loader', 'css-loader')
}, {
test: /\.scss$/,
loader: ExtractTextPlugin.extract('style-loader', 'sass-loader')
}, {
test: /\.less$/,
loader: ExtractTextPlugin.extract('style-loader', 'less-loader')
}]
},
output: {
path: path.join(__dirname, 'public/build'),
publicPath: '/build/',
@ -61,6 +51,16 @@ module.exports = [Object.assign({}, baseConfig, {
}
}),
new ExtractTextPlugin('html.min.css'),
new OptimizeCssAssetsPlugin()
]
new OptimizeCssAssetsPlugin(),
new MiniCssExtractPlugin()
],
module: {
rules: [{
test: /\.css$/,
use: [
MiniCssExtractPlugin.loader,
'css-loader'
]
}]
}
}]