Repository URL to install this package:
|
Version:
3.8.1 ▾
|
import { Configuration, Options } from '../../typings'
export default function optimizationMiddleware(
config: Configuration,
options: Options
) {
if (!options.isClient) {
console.warn('[bs] not client, uglifying with specific optimization')
// config.optimization = {
// removeEmptyChunks: true,
// mergeDuplicateChunks: false,
// usedExports: true,
// providedExports: true,
// concatenateModules: false,
// namedModules: true,
// namedChunks: true,
// nodeEnv: 'production',
// minimize: false,
// }
config.optimization = {
removeEmptyChunks: false,
mergeDuplicateChunks: false,
usedExports: false,
providedExports: false,
concatenateModules: false,
namedModules: true,
namedChunks: true,
nodeEnv: 'production',
minimize: false,
}
return
}
/**
* @see https://webpack.js.org/configuration/optimization/
*/
config.optimization = {
// removeAvailableModules: false,
removeEmptyChunks: true,
mergeDuplicateChunks: true,
// occurrenceOrder: true,
// splitChunks: false,
// sideEffects: false,
usedExports: true,
providedExports: true,
concatenateModules: true,
// namedModules: true,
// namedChunks: true,
nodeEnv: 'production',
// minimize: false,
minimize: true,
// minimizer: [uglify],
// use it?
// splitChunks: {
// cacheGroups: {
// default: false,
// commons: {
// test: /[\\/]node_modules[\\/]/,
// name: 'vendor_app',
// chunks: 'all',
// minChunks: 2
// },
// },
// },
/**
* @see https://webpack.js.org/guides/code-splitting/
* @see https://medium.com/dailyjs/webpack-4-splitchunks-plugin-d9fbbe091fd0
* @see https://github.com/vuejs-templates/webpack/issues/996#issuecomment-338128458
* @see https://itnext.io/react-router-and-webpack-v4-code-splitting-using-splitchunksplugin-f0a48f110312
*/
// splitChunks: {
// cacheGroups: {
// default: false,
// vendors: false,
// // vendor chunk
// vendor: {
// // sync + async chunks
// chunks: 'all',
// // import file path containing node_modules
// test: /node_modules/,
// },
// },
// },
}
}