Upgrade @lhci/cli to 0.15.1 and restore insight audits - #2034
Merged
Merged
Conversation
@lhci/cli 0.15.1 bundles Lighthouse 12.6.1 (was 12.1.0 in 0.14.0). Its no-pwa preset now asserts the 12.6 insight audits at error, so the bump alone fails CI on all three pages. Set explicit levels: - image-delivery-insight: restored at warn (removed in d134acb only because 12.1.0 lacked it). It flagged the BookCta cover serving 440w for a 176px slot; switch it to explicit widths with a matching sizes attribute so the browser picks 352w, which clears the audit. - network-dependency-tree-insight: restored at warn. The trace engine fails it for any chain of 2+ requests, so every page scores 0. - cls-culprits-insight: warn, matching cumulative-layout-shift, which already warns on the /about headshot shift. - robots-txt: still off. 12.6.1's directive safelist still lacks Content-Signal and scores robots.txt 0. No assertion or preset keys are stale in 12.6.1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
benbalter
added a commit
that referenced
this pull request
Sep 27, 2026
After the lhci 0.15 upgrade (#2034), the no-pwa preset asserts forced-reflow-insight at error, and main's Lighthouse jobs fail: - Post pages: 64ms of forced reflow attributed to ReadingProgress, which read getBoundingClientRect/offsetHeight synchronously at startup. It now measures from a ResizeObserver (runs after layout, and re-fires as images and fonts settle, replacing the load listener). - /about: ~30ms of reflow Lighthouse can't attribute to any script, so the pass/fail insight goes to warn like the other insights. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Version change
@lhci/cli0.14.0 to 0.15.1 (latest). It bundles Lighthouse 12.6.1, up from 12.1.0. Lighthouse itself is at 13.5.0, but no@lhci/clirelease ships 13 yet, so the 12-to-13 audit removals and merges don't apply. I checked every assertion key and everylighthouse:no-pwapreset key against 12.6.1's default config, and none are stale.The one pin is in
.github/workflows/astro-e2e.yml.Why the config had to change
The 0.15.x
no-pwapreset grew from 147 to 167 assertions and puts the new insight audits at error. With the old config, 0.15.1 failed all three pages. Each audit now has an explicit level:image-delivery-insight/and/about: 440w served into a 176px slot, 14 KiB wasted. Fixed in the component (below), and it now passes.network-dependency-tree-insightcls-culprits-insight/about(headshot shift, 0.138). The same shift already shows up undercumulative-layout-shift(0.79), which is warn, so this matches it.robots-txtDIRECTIVE_SAFELISTstill doesn't includeContent-Signal, so robots.txt still scores 0 with "Unknown directive". Still a false positive.Site fix
BookCta.astro: the full-size cover now useswidths={[176, 224, 352, 448]}andsizes="(min-width: 768px) 224px, 176px"in place ofdensities={[1, 2]}. The generatedsizesused to claim 220px at every breakpoint, so mobile at DPR 1.75 picked the 440w file. It now picks 352w.Results
Local runs used
lhci autorunagainststaticDistDir: ./dist-astro, one page at a time with--collect.url, the same way CI does. Each page had 3 runs. Upload went to the filesystem, not public storage.//about//2014/11/06/rules-of-communicating-at-github/SEO sits at 92 on every page and version because of robots-txt.
npm run checkis clean.🤖 Generated with Claude Code