diff --git a/lighthouse-core/report/v2/renderer/details-renderer.js b/lighthouse-core/report/v2/renderer/details-renderer.js index a7686a535f89..5099c1922845 100644 --- a/lighthouse-core/report/v2/renderer/details-renderer.js +++ b/lighthouse-core/report/v2/renderer/details-renderer.js @@ -67,7 +67,7 @@ class DetailsRenderer { const url = text.text || ''; let displayedPath; - let displayedHost = ''; + let displayedHost; let title; try { const parsed = Util.parseURL(url); @@ -85,16 +85,16 @@ class DetailsRenderer { element.appendChild(this._renderText({ text: displayedPath, })); - const hostElem = this._renderText({ - text: displayedHost, - }); - hostElem.classList.add('lh-text__url-host'); - element.appendChild(hostElem); - - if (title) { - element.title = url; + + if (displayedHost) { + const hostElem = this._renderText({ + text: displayedHost, + }); + hostElem.classList.add('lh-text__url-host'); + element.appendChild(hostElem); } + if (title) element.title = url; return element; } diff --git a/lighthouse-core/report/v2/renderer/util.js b/lighthouse-core/report/v2/renderer/util.js index 78879df3c78c..f97925118905 100644 --- a/lighthouse-core/report/v2/renderer/util.js +++ b/lighthouse-core/report/v2/renderer/util.js @@ -147,15 +147,15 @@ class Util { } const MAX_LENGTH = 64; - // Always elide git hash + // Always elide hexadecimal hash name = name.replace(/([a-f0-9]{7})[a-f0-9]{13}[a-f0-9]*/g, `$1${ELLIPSIS}`); - // Also elide other hash-like mixed-case strings // lol this is crazy + // Also elide other hash-like mixed-case strings name = name.replace(/([a-zA-Z0-9-_]{9})(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9-_]{10,}/g, `$1${ELLIPSIS}`); // Also elide long number sequences name = name.replace(/(\d{3})\d{6,}/g, `$1${ELLIPSIS}`); // Merge any adjacent ellipses - name = name.replace(/\u2026+/g, '\u2026'); + name = name.replace(/\u2026+/g, ELLIPSIS); // Elide query params first if (name.length > MAX_LENGTH && name.includes('?')) {