refactor zopfli fallback config

This commit is contained in:
Mike Greiling 2017-06-16 15:16:52 -05:00
parent e0dbfacf6e
commit 3265670327
1 changed files with 6 additions and 15 deletions

View File

@ -18,15 +18,6 @@ var DEV_SERVER_LIVERELOAD = process.env.DEV_SERVER_LIVERELOAD !== 'false';
var WEBPACK_REPORT = process.env.WEBPACK_REPORT;
var NO_COMPRESSION = process.env.NO_COMPRESSION;
// optional dependency `node-zopfli` is unavailable on CentOS 6
var ZOPFLI_AVAILABLE;
try {
require.resolve('node-zopfli');
ZOPFLI_AVAILABLE = true;
} catch(err) {
ZOPFLI_AVAILABLE = false;
}
var config = {
// because sqljs requires fs.
node: {
@ -233,12 +224,12 @@ if (IS_PRODUCTION) {
// 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_AVAILABLE ? 'zopfli' : 'gzip',
})
);
// gracefully fall back to gzip if `node-zopfli` is unavailable (e.g. in CentOS 6)
try {
config.plugins.push(new CompressionPlugin({ algorithm: 'zopfli' }));
} catch(err) {
config.plugins.push(new CompressionPlugin({ algorithm: 'gzip' }));
}
}
}