From 6b8611caab9057efcfd1d4c90aafde64bd98a490 Mon Sep 17 00:00:00 2001 From: Martin Pitt Date: Thu, 17 Dec 2020 07:28:28 +0100 Subject: [PATCH] Minimize CSS in production builds Use optimize-css-assets-webpack-plugin for that. terser-webpack-plugin was already being used by default, but explicitly import it as our webpack config now references it directly. https://webpack.js.org/plugins/mini-css-extract-plugin/#minimizing-for-production Ported from cockpit-podman commit 3caf54fbfe2. --- package.json | 2 ++ webpack.config.js | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/package.json b/package.json index 39e2841..20c1cdc 100644 --- a/package.json +++ b/package.json @@ -36,11 +36,13 @@ "htmlparser": "^1.7.7", "jed": "^1.1.1", "mini-css-extract-plugin": "^0.11.0", + "optimize-css-assets-webpack-plugin": "^5.0.3", "po2json": "^1.0.0-alpha", "qunit": "^2.9.3", "sizzle": "^2.3.3", "stdio": "^2.1.0", "string-replace-loader": "^2.3.0", + "terser-webpack-plugin": "^2.0.1", "webpack": "^4.35.3", "webpack-cli": "^3.3.5" }, diff --git a/webpack.config.js b/webpack.config.js index cb58674..fbc14b7 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -2,6 +2,8 @@ const path = require("path"); const childProcess = require('child_process'); const copy = require("copy-webpack-plugin"); const extract = require("mini-css-extract-plugin"); +const TerserJSPlugin = require('terser-webpack-plugin'); +const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin'); const webpack = require("webpack"); const CompressionPlugin = require("compression-webpack-plugin"); @@ -77,6 +79,12 @@ module.exports = { // cockpit.js gets included via