Repository URL to install this package:
|
Version:
3.8.1 ▾
|
import { Configuration, Options } from '../../typings'
/**
* @todo @see https://jira.skava.net/browse/SKB2B-1190
* @see https://codeburst.io/express-brotli-webpack-a60773e7ec6c
*/
export default function compressionMiddleware(
config: Configuration,
options: Options
) {
console.error(
'[bs] not compressing need to do something with express static not working'
)
return
if (!process.env.OPTIMIZE) {
console.log('[bs] not compressing - not OPTIMIZE env')
return
} else if (!options.isClient) {
console.log('[bs] not compressing - server')
return
} else {
console.log('[bs] compressing output')
}
const CompressionPlugin = require('compression-webpack-plugin')
const BrotliPlugin = require('brotli-webpack-plugin')
const compressionPlugin = new CompressionPlugin({
filename: '[path].gz[query]',
// asset: '[path].gz[query]',
include: /\.js$|\.css$|\.html$/,
// test: /\.js$|\.css$|\.html$/,
algorithm: 'gzip',
// threshold: 10240,
// minRatio: 0.8,
})
const brotliPlugin = new BrotliPlugin({
asset: '[path].br[query]',
test: /\.js$|\.css$|\.html$/,
threshold: 10240,
minRatio: 0.8,
})
config.plugins.push(compressionPlugin)
config.plugins.push(brotliPlugin)
}