From ae9691269981eb0ffdec820fdbb7004fd773766c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eric=20Dub=C3=A9?= <7225168+KernelDeimos@users.noreply.github.com> Date: Tue, 10 Mar 2026 21:24:13 -0400 Subject: [PATCH] perf(core): very simplistic minifier for homepage (#2630) --- .../src/services/PuterHomepageService.js | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/backend/src/services/PuterHomepageService.js b/src/backend/src/services/PuterHomepageService.js index e882ffce0..8c718c96b 100644 --- a/src/backend/src/services/PuterHomepageService.js +++ b/src/backend/src/services/PuterHomepageService.js @@ -283,7 +283,7 @@ export class PuterHomepageService extends BaseService { }, }; await eventService.emit('puter.gui.addons', event); - return ` + let htmlOutput = `
@@ -437,6 +437,24 @@ export class PuterHomepageService extends BaseService { `; + + // A mostly minimal minifier that minifies minimally + // - this is NOT a general-purpose HTML minifier + // - it does not account for tags
+ // - it does not minify javascript code
+ htmlOutput = htmlOutput //...
+ // remove regular HTML comments, but keep conditional comments
+ .replace(//g, '')
+ // collapse whitespace between tags
+ .replace(/>\s+<')
+ // collapse runs of whitespace
+ .replace(/\s+/g, ' ')
+ // remove extra space around = in attributes
+ .replace(/\s*=\s*/g, '=')
+ // remove spaces before tag close
+ .replace(/\s+>/g, '>')
+ .trim();
+ return htmlOutput;
};
generate_error_html ({ message }) {