diff --git a/tools/server/public/index.html.gz b/tools/server/public/index.html.gz index a2a2ee1247310..1f5769de410a2 100644 Binary files a/tools/server/public/index.html.gz and b/tools/server/public/index.html.gz differ diff --git a/tools/server/webui/package-lock.json b/tools/server/webui/package-lock.json index 2c23a7580b38c..a4a9380c64512 100644 --- a/tools/server/webui/package-lock.json +++ b/tools/server/webui/package-lock.json @@ -44,6 +44,7 @@ "eslint": "^9.17.0", "eslint-plugin-react-hooks": "^5.0.0", "eslint-plugin-react-refresh": "^0.4.16", + "fflate": "^0.8.2", "globals": "^15.14.0", "prettier": "^3.4.2", "sass-embedded": "^1.83.4", @@ -2802,6 +2803,13 @@ "reusify": "^1.0.4" } }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "dev": true, + "license": "MIT" + }, "node_modules/file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", diff --git a/tools/server/webui/package.json b/tools/server/webui/package.json index b83defdf34f5f..1927f696fbbb9 100644 --- a/tools/server/webui/package.json +++ b/tools/server/webui/package.json @@ -47,6 +47,7 @@ "eslint": "^9.17.0", "eslint-plugin-react-hooks": "^5.0.0", "eslint-plugin-react-refresh": "^0.4.16", + "fflate": "^0.8.2", "globals": "^15.14.0", "prettier": "^3.4.2", "sass-embedded": "^1.83.4", diff --git a/tools/server/webui/vite.config.ts b/tools/server/webui/vite.config.ts index 366df3b751c58..fba4da645fa09 100644 --- a/tools/server/webui/vite.config.ts +++ b/tools/server/webui/vite.config.ts @@ -3,7 +3,7 @@ import react from '@vitejs/plugin-react'; import { viteSingleFile } from 'vite-plugin-singlefile'; import path from 'node:path'; import fs from 'node:fs'; -import zlib from 'node:zlib'; +import * as fflate from 'fflate'; /* eslint-disable */ @@ -33,9 +33,10 @@ const BUILD_PLUGINS = [ }, writeBundle() { const outputIndexHtml = path.join(config.build.outDir, 'index.html'); - const content = + let content = GUIDE_FOR_FRONTEND + '\n' + fs.readFileSync(outputIndexHtml, 'utf-8'); - const compressed = zlib.gzipSync(Buffer.from(content, 'utf-8'), { + content = content.replace(/\r/g, ''); // remove windows-style line endings + const compressed = fflate.gzipSync(Buffer.from(content, 'utf-8'), { level: 9, });