From 3552417b39b823d4077d62a76d3a44a9b18ec270 Mon Sep 17 00:00:00 2001 From: Steve Repsher Date: Wed, 11 Dec 2024 08:05:17 -0500 Subject: [PATCH] Compress legacy build and shared static files using Brotli (#23233) * Revert "Remove Zopfli compression (#23157)" This reverts commit 4092f56ea5361299f31ddeca0938370fc392e07a. * Revert "Fix compression of hassio builds (#21869)" This reverts commit b69f0964c9cc330c2d3f732734764ca554c9c2c9. * Compress legacy build and shared static files using Brotli --- build-scripts/gulp/compress.js | 47 ++++++++++++++++++++++------------ 1 file changed, 30 insertions(+), 17 deletions(-) diff --git a/build-scripts/gulp/compress.js b/build-scripts/gulp/compress.js index 0a2c781360..e1fff793a6 100644 --- a/build-scripts/gulp/compress.js +++ b/build-scripts/gulp/compress.js @@ -13,28 +13,41 @@ const brotliOptions = { }, }; -const compressDistBrotli = (rootDir, modernDir, compressServiceWorker = true) => +const compressModern = (rootDir, modernDir) => + gulp + .src([`${modernDir}/**/${filesGlob}`, `${rootDir}/sw-modern.js`], { + base: rootDir, + allowEmpty: true, + }) + .pipe(brotli(brotliOptions)) + .pipe(gulp.dest(rootDir)); + +const compressOther = (rootDir, modernDir) => gulp .src( [ - `${modernDir}/**/${filesGlob}`, - compressServiceWorker ? `${rootDir}/sw-modern.js` : undefined, - ].filter(Boolean), - { - base: rootDir, - } + `${rootDir}/**/${filesGlob}`, + `!${modernDir}/**/${filesGlob}`, + `!${rootDir}/{sw-modern,service_worker}.js`, + `${rootDir}/{authorize,onboarding}.html`, + ], + { base: rootDir, allowEmpty: true } ) .pipe(brotli(brotliOptions)) .pipe(gulp.dest(rootDir)); -const compressAppBrotli = () => - compressDistBrotli(paths.app_output_root, paths.app_output_latest); -const compressHassioBrotli = () => - compressDistBrotli( - paths.hassio_output_root, - paths.hassio_output_latest, - false - ); +const compressAppModern = () => + compressModern(paths.app_output_root, paths.app_output_latest); +const compressHassioModern = () => + compressModern(paths.hassio_output_root, paths.hassio_output_latest); -gulp.task("compress-app", compressAppBrotli); -gulp.task("compress-hassio", compressHassioBrotli); +const compressAppOther = () => + compressOther(paths.app_output_root, paths.app_output_latest); +const compressHassioOther = () => + compressOther(paths.hassio_output_root, paths.hassio_output_latest); + +gulp.task("compress-app", gulp.parallel(compressAppModern, compressAppOther)); +gulp.task( + "compress-hassio", + gulp.parallel(compressHassioModern, compressHassioOther) +);