diff --git a/hassio/webpack.config.js b/hassio/webpack.config.js index 48f9809307..022bbb563c 100644 --- a/hassio/webpack.config.js +++ b/hassio/webpack.config.js @@ -1,4 +1,7 @@ +const webpack = require("webpack"); const CompressionPlugin = require("compression-webpack-plugin"); +const zopfli = require("@gfx/zopfli"); + const config = require("./config.js"); const { babelLoaderConfig } = require("../config/babel.js"); const webpackBase = require("../config/webpack.js"); @@ -30,11 +33,22 @@ module.exports = { }, optimization: webpackBase.optimization(latestBuild), plugins: [ + new webpack.DefinePlugin({ + __DEV__: JSON.stringify(!isProdBuild), + __DEMO__: false, + __BUILD__: JSON.stringify(latestBuild ? "latest" : "es5"), + "process.env.NODE_ENV": JSON.stringify( + isProdBuild ? "production" : "development" + ), + }), isProdBuild && !isCI && new CompressionPlugin({ cache: true, exclude: [/\.js\.map$/, /\.LICENSE$/, /\.py$/, /\.txt$/], + algorithm(input, compressionOptions, callback) { + return zopfli.gzip(input, compressionOptions, callback); + }, }), ].filter(Boolean), resolve: {