1
0
mirror of https://github.com/chinchang/web-maker.git synced 2025-02-22 22:24:00 +01:00
php-web-maker/preact.config.js

39 lines
1.2 KiB
JavaScript
Raw Normal View History

2018-06-16 14:56:14 +05:30
import CopyWebpackPlugin from 'copy-webpack-plugin'
var CommonsChunkPlugin = require('webpack/lib/optimize/CommonsChunkPlugin');
/**
* Function that mutates original webpack config.
* Supports asynchronous changes when promise is returned.
*
* @param {object} config - original webpack config.
* @param {object} env - options passed to CLI.
* @param {WebpackConfigHelpers} helpers - object with useful helpers when working with config.
**/
export default function (config, env, helpers) {
if (env.isProd) {
config.devtool = false; // disable sourcemaps
2018-06-16 15:25:26 +05:30
const htmlWebpackPlugin = helpers.getPluginsByName(config, 'HtmlWebpackPlugin')[0];
Object.assign(htmlWebpackPlugin.plugin.options.minify, {
removeComments: false,
collapseWhitespace: false
})
2018-06-16 14:56:14 +05:30
config.plugins.push(
new CommonsChunkPlugin({
name: 'vendor',
minChunks: ({
resource
}) => /node_modules/.test(resource),
})
);
2018-06-16 19:18:24 +05:30
const swPlugin = helpers.getPluginsByName(config, 'SWPrecacheWebpackPlugin')[0];
config.plugins.splice(swPlugin.index, 1)
2018-06-16 14:56:14 +05:30
2018-06-16 19:18:24 +05:30
const uglifyPlugin = helpers.getPluginsByName(config, 'UglifyJsPlugin')[0]
config.plugins.splice(uglifyPlugin.index, 1)
2018-06-16 14:56:14 +05:30
}
}