Merge branch '32992-consider-using-zopfli-over-standard-gzip-compression-for-webpack-assets' into 'master'

Use zopfli for better asset compression and disable compression in CI

Closes #32992

See merge request !11798
This commit is contained in:
Tim Zallmann 2017-06-04 11:02:30 +00:00
commit 64a22c5628
3 changed files with 16 additions and 3 deletions

View File

@ -430,6 +430,7 @@ gitlab:assets:compile:
USE_DB: "false"
SKIP_STORAGE_VALIDATION: "true"
WEBPACK_REPORT: "true"
NO_COMPRESSION: "true"
script:
- yarn install --pure-lockfile --production --cache-folder .yarn-cache
- bundle exec rake gitlab:assets:compile

View File

@ -0,0 +1,4 @@
---
title: Use zopfli compression for frontend assets
merge_request: 11798
author:

View File

@ -16,6 +16,7 @@ var DEV_SERVER_HOST = process.env.DEV_SERVER_HOST || 'localhost';
var DEV_SERVER_PORT = parseInt(process.env.DEV_SERVER_PORT, 10) || 3808;
var DEV_SERVER_LIVERELOAD = process.env.DEV_SERVER_LIVERELOAD !== 'false';
var WEBPACK_REPORT = process.env.WEBPACK_REPORT;
var NO_COMPRESSION = process.env.NO_COMPRESSION;
var config = {
// because sqljs requires fs.
@ -221,11 +222,18 @@ if (IS_PRODUCTION) {
}),
new webpack.DefinePlugin({
'process.env': { NODE_ENV: JSON.stringify('production') }
}),
new CompressionPlugin({
asset: '[path].gz[query]',
})
);
// zopfli requires a lot of compute time and is disabled in CI
if (!NO_COMPRESSION) {
config.plugins.push(
new CompressionPlugin({
asset: '[path].gz[query]',
algorithm: 'zopfli',
})
);
}
}
if (IS_DEV_SERVER) {