lighthouse 12.2.3-dev.20241211 → 12.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/cli/test/smokehouse/core-tests.js +0 -8
  2. package/core/audits/byte-efficiency/render-blocking-resources.js +1 -1
  3. package/core/computed/metrics/cumulative-layout-shift.js +4 -4
  4. package/core/computed/metrics/lantern-metric.js +2 -4
  5. package/core/computed/navigation-insights.d.ts +1 -1
  6. package/core/computed/network-analysis.js +1 -13
  7. package/core/computed/trace-engine-result.d.ts +0 -4
  8. package/core/computed/trace-engine-result.js +4 -30
  9. package/core/config/default-config.js +0 -4
  10. package/core/gather/gatherers/seo/font-size.d.ts +0 -1
  11. package/core/gather/gatherers/seo/font-size.js +11 -20
  12. package/core/lib/trace-engine.d.ts +1 -1
  13. package/core/lib/trace-engine.js +1 -1
  14. package/package.json +2 -2
  15. package/shared/localization/locales/ar-XB.json +0 -60
  16. package/shared/localization/locales/ar.json +0 -60
  17. package/shared/localization/locales/bg.json +0 -60
  18. package/shared/localization/locales/ca.json +0 -60
  19. package/shared/localization/locales/cs.json +0 -60
  20. package/shared/localization/locales/da.json +0 -60
  21. package/shared/localization/locales/de.json +0 -60
  22. package/shared/localization/locales/el.json +0 -60
  23. package/shared/localization/locales/en-GB.json +0 -60
  24. package/shared/localization/locales/en-US.json +40 -154
  25. package/shared/localization/locales/en-XL.json +40 -154
  26. package/shared/localization/locales/es-419.json +0 -60
  27. package/shared/localization/locales/es.json +0 -60
  28. package/shared/localization/locales/fi.json +0 -60
  29. package/shared/localization/locales/fil.json +0 -60
  30. package/shared/localization/locales/fr.json +0 -60
  31. package/shared/localization/locales/he.json +0 -60
  32. package/shared/localization/locales/hi.json +0 -60
  33. package/shared/localization/locales/hr.json +0 -60
  34. package/shared/localization/locales/hu.json +0 -60
  35. package/shared/localization/locales/id.json +0 -60
  36. package/shared/localization/locales/it.json +0 -60
  37. package/shared/localization/locales/ja.json +0 -60
  38. package/shared/localization/locales/ko.json +0 -60
  39. package/shared/localization/locales/lt.json +0 -60
  40. package/shared/localization/locales/lv.json +0 -60
  41. package/shared/localization/locales/nl.json +0 -60
  42. package/shared/localization/locales/no.json +0 -60
  43. package/shared/localization/locales/pl.json +0 -60
  44. package/shared/localization/locales/pt-PT.json +0 -60
  45. package/shared/localization/locales/pt.json +0 -60
  46. package/shared/localization/locales/ro.json +0 -60
  47. package/shared/localization/locales/ru.json +0 -60
  48. package/shared/localization/locales/sk.json +0 -60
  49. package/shared/localization/locales/sl.json +0 -60
  50. package/shared/localization/locales/sr-Latn.json +0 -60
  51. package/shared/localization/locales/sr.json +0 -60
  52. package/shared/localization/locales/sv.json +0 -60
  53. package/shared/localization/locales/ta.json +0 -60
  54. package/shared/localization/locales/te.json +0 -60
  55. package/shared/localization/locales/th.json +0 -60
  56. package/shared/localization/locales/tr.json +0 -60
  57. package/shared/localization/locales/uk.json +0 -60
  58. package/shared/localization/locales/vi.json +0 -60
  59. package/shared/localization/locales/zh-HK.json +0 -60
  60. package/shared/localization/locales/zh-TW.json +0 -60
  61. package/shared/localization/locales/zh.json +0 -60
  62. package/types/artifacts.d.ts +2 -2
  63. package/core/audits/has-hsts.d.ts +0 -44
  64. package/core/audits/has-hsts.js +0 -208
  65. package/core/audits/origin-isolation.d.ts +0 -40
  66. package/core/audits/origin-isolation.js +0 -155
@@ -977,36 +977,6 @@
977
977
  "core/audits/font-display.js | undeclaredFontOriginWarning": {
978
978
  "message": "{fontCountForOrigin, plural, =1 {Lighthouse was unable to automatically check the `font-display` value for the origin {fontOrigin}.} other {Lighthouse was unable to automatically check the `font-display` values for the origin {fontOrigin}.}}"
979
979
  },
980
- "core/audits/has-hsts.js | columnDirective": {
981
- "message": "Directive"
982
- },
983
- "core/audits/has-hsts.js | columnSeverity": {
984
- "message": "Severity"
985
- },
986
- "core/audits/has-hsts.js | description": {
987
- "message": "Deployment of the HSTS header significantly reduces the risk of downgrading HTTP connections and eavesdropping attacks. A rollout in stages, starting with a low max-age is recommended. [Learn more about using a strong HSTS policy.](https://developer.chrome.com/docs/lighthouse/best-practices/has-hsts)"
988
- },
989
- "core/audits/has-hsts.js | invalidSyntax": {
990
- "message": "Invalid syntax"
991
- },
992
- "core/audits/has-hsts.js | lowMaxAge": {
993
- "message": "`max-age` is too low"
994
- },
995
- "core/audits/has-hsts.js | noHsts": {
996
- "message": "No HSTS header found"
997
- },
998
- "core/audits/has-hsts.js | noMaxAge": {
999
- "message": "No `max-age` directive"
1000
- },
1001
- "core/audits/has-hsts.js | noPreload": {
1002
- "message": "No `preload` directive found"
1003
- },
1004
- "core/audits/has-hsts.js | noSubdomain": {
1005
- "message": "No `includeSubDomains` directive found"
1006
- },
1007
- "core/audits/has-hsts.js | title": {
1008
- "message": "Use a strong HSTS policy"
1009
- },
1010
980
  "core/audits/image-aspect-ratio.js | columnActual": {
1011
981
  "message": "Aspect Ratio (Actual)"
1012
982
  },
@@ -1217,24 +1187,6 @@
1217
1187
  "core/audits/non-composited-animations.js | unsupportedTimingParameters": {
1218
1188
  "message": "Effect has unsupported timing parameters"
1219
1189
  },
1220
- "core/audits/origin-isolation.js | columnDirective": {
1221
- "message": "Directive"
1222
- },
1223
- "core/audits/origin-isolation.js | columnSeverity": {
1224
- "message": "Severity"
1225
- },
1226
- "core/audits/origin-isolation.js | description": {
1227
- "message": "The Cross-Origin-Opener-Policy (COOP) can be used to isolate the top-level window from other documents such as pop-ups. [Learn more about deploying the COOP header.](https://web.dev/articles/why-coop-coep#coop)"
1228
- },
1229
- "core/audits/origin-isolation.js | invalidSyntax": {
1230
- "message": "Invalid syntax"
1231
- },
1232
- "core/audits/origin-isolation.js | noCoop": {
1233
- "message": "No COOP header found"
1234
- },
1235
- "core/audits/origin-isolation.js | title": {
1236
- "message": "Ensure proper origin isolation with COOP"
1237
- },
1238
1190
  "core/audits/preload-fonts.js | description": {
1239
1191
  "message": "Preload `optional` fonts so first-time visitors may use them. [Learn more about preloading fonts](https://web.dev/articles/preload-optional-fonts)"
1240
1192
  },
@@ -1724,15 +1676,6 @@
1724
1676
  "core/gather/timespan-runner.js | warningNavigationDetected": {
1725
1677
  "message": "A page navigation was detected during the run. Using timespan mode to audit page navigations is not recommended. Use navigation mode to audit page navigations for better third-party attribution and main thread detection."
1726
1678
  },
1727
- "core/lib/bf-cache-strings.js | HTTPMethodNotGET": {
1728
- "message": "Only pages loaded via a GET request are eligible for back/forward cache."
1729
- },
1730
- "core/lib/bf-cache-strings.js | HTTPStatusNotOK": {
1731
- "message": "Only pages with a status code of 2XX can be cached."
1732
- },
1733
- "core/lib/bf-cache-strings.js | JavaScriptExecution": {
1734
- "message": "Chrome detected an attempt to execute JavaScript while in the cache."
1735
- },
1736
1679
  "core/lib/bf-cache-strings.js | appBanner": {
1737
1680
  "message": "Pages that requested an AppBanner are not currently eligible for back/forward cache."
1738
1681
  },
@@ -1832,12 +1775,12 @@
1832
1775
  "core/lib/bf-cache-strings.js | embedderExtensionMessagingForOpenPort": {
1833
1776
  "message": "Extensions with long-lived connection should close the connection before entering back/forward cache."
1834
1777
  },
1835
- "core/lib/bf-cache-strings.js | embedderExtensionSentMessageToCachedFrame": {
1836
- "message": "Extensions with long-lived connection attempted to send messages to frames in back/forward cache."
1837
- },
1838
1778
  "core/lib/bf-cache-strings.js | embedderExtensions": {
1839
1779
  "message": "Back/forward cache is disabled due to extensions."
1840
1780
  },
1781
+ "core/lib/bf-cache-strings.js | embedderExtensionSentMessageToCachedFrame": {
1782
+ "message": "Extensions with long-lived connection attempted to send messages to frames in back/forward cache."
1783
+ },
1841
1784
  "core/lib/bf-cache-strings.js | embedderModalDialog": {
1842
1785
  "message": "Modal dialog such as form resubmission or http password dialog was shown for the page upon navigating away."
1843
1786
  },
@@ -1877,6 +1820,12 @@
1877
1820
  "core/lib/bf-cache-strings.js | haveInnerContents": {
1878
1821
  "message": "Pages that use portals are not currently eligible for back/forward cache."
1879
1822
  },
1823
+ "core/lib/bf-cache-strings.js | HTTPMethodNotGET": {
1824
+ "message": "Only pages loaded via a GET request are eligible for back/forward cache."
1825
+ },
1826
+ "core/lib/bf-cache-strings.js | HTTPStatusNotOK": {
1827
+ "message": "Only pages with a status code of 2XX can be cached."
1828
+ },
1880
1829
  "core/lib/bf-cache-strings.js | idleManager": {
1881
1830
  "message": "Pages that use IdleManager are not currently eligible for back/forward cache."
1882
1831
  },
@@ -1898,6 +1847,9 @@
1898
1847
  "core/lib/bf-cache-strings.js | internalError": {
1899
1848
  "message": "Internal error."
1900
1849
  },
1850
+ "core/lib/bf-cache-strings.js | JavaScriptExecution": {
1851
+ "message": "Chrome detected an attempt to execute JavaScript while in the cache."
1852
+ },
1901
1853
  "core/lib/bf-cache-strings.js | keepaliveRequest": {
1902
1854
  "message": "Back/forward cache is disabled due to a keepalive request."
1903
1855
  },
@@ -2111,12 +2063,12 @@
2111
2063
  "core/lib/csp-evaluator.js | plainWildcards": {
2112
2064
  "message": "Avoid using plain wildcards ({keyword}) in this directive. Plain wildcards allow scripts to be sourced from an unsafe domain."
2113
2065
  },
2114
- "core/lib/csp-evaluator.js | reportToOnly": {
2115
- "message": "The reporting destination is only configured via the report-to directive. This directive is only supported in Chromium-based browsers so it is recommended to also use a `report-uri` directive."
2116
- },
2117
2066
  "core/lib/csp-evaluator.js | reportingDestinationMissing": {
2118
2067
  "message": "No CSP configures a reporting destination. This makes it difficult to maintain the CSP over time and monitor for any breakages."
2119
2068
  },
2069
+ "core/lib/csp-evaluator.js | reportToOnly": {
2070
+ "message": "The reporting destination is only configured via the report-to directive. This directive is only supported in Chromium-based browsers so it is recommended to also use a `report-uri` directive."
2071
+ },
2120
2072
  "core/lib/csp-evaluator.js | strictDynamic": {
2121
2073
  "message": "Host allowlists can frequently be bypassed. Consider using CSP nonces or hashes instead, along with `'strict-dynamic'` if necessary."
2122
2074
  },
@@ -2144,9 +2096,6 @@
2144
2096
  "core/lib/deprecations-strings.js | AuthorizationCoveredByWildcard": {
2145
2097
  "message": "Authorization will not be covered by the wildcard symbol (*) in CORS `Access-Control-Allow-Headers` handling."
2146
2098
  },
2147
- "core/lib/deprecations-strings.js | CSSSelectorInternalMediaControlsOverlayCastButton": {
2148
- "message": "The `disableRemotePlayback` attribute should be used in order to disable the default Cast integration instead of using `-internal-media-controls-overlay-cast-button` selector."
2149
- },
2150
2099
  "core/lib/deprecations-strings.js | CanRequestURLHTTPContainingNewline": {
2151
2100
  "message": "Resource requests whose URLs contained both removed whitespace `(n|r|t)` characters and less-than characters (`<`) are blocked. Please remove newlines and encode less-than characters from places like element attribute values in order to load these resources."
2152
2101
  },
@@ -2171,8 +2120,8 @@
2171
2120
  "core/lib/deprecations-strings.js | CrossOriginWindowConfirm": {
2172
2121
  "message": "Triggering window.confirm from cross origin iframes has been deprecated and will be removed in the future."
2173
2122
  },
2174
- "core/lib/deprecations-strings.js | DOMMutationEvents": {
2175
- "message": "DOM Mutation Events, including `DOMSubtreeModified`, `DOMNodeInserted`, `DOMNodeRemoved`, `DOMNodeRemovedFromDocument`, `DOMNodeInsertedIntoDocument`, and `DOMCharacterDataModified` are deprecated (https://w3c.github.io/uievents/#legacy-event-types) and will be removed. Please use `MutationObserver` instead."
2123
+ "core/lib/deprecations-strings.js | CSSSelectorInternalMediaControlsOverlayCastButton": {
2124
+ "message": "The `disableRemotePlayback` attribute should be used in order to disable the default Cast integration instead of using `-internal-media-controls-overlay-cast-button` selector."
2176
2125
  },
2177
2126
  "core/lib/deprecations-strings.js | DataUrlInSvgUse": {
2178
2127
  "message": "Support for data: URLs in SVG <use> element is deprecated and it will be removed in the future."
@@ -2180,6 +2129,9 @@
2180
2129
  "core/lib/deprecations-strings.js | DocumentDomainSettingWithoutOriginAgentClusterHeader": {
2181
2130
  "message": "Relaxing the same-origin policy by setting `document.domain` is deprecated, and will be disabled by default. To continue using this feature, please opt-out of origin-keyed agent clusters by sending an `Origin-Agent-Cluster: ?0` header along with the HTTP response for the document and frames. See https://developer.chrome.com/blog/immutable-document-domain/ for more details."
2182
2131
  },
2132
+ "core/lib/deprecations-strings.js | DOMMutationEvents": {
2133
+ "message": "DOM Mutation Events, including `DOMSubtreeModified`, `DOMNodeInserted`, `DOMNodeRemoved`, `DOMNodeRemovedFromDocument`, `DOMNodeInsertedIntoDocument`, and `DOMCharacterDataModified` are deprecated (https://w3c.github.io/uievents/#legacy-event-types) and will be removed. Please use `MutationObserver` instead."
2134
+ },
2183
2135
  "core/lib/deprecations-strings.js | ExpectCTHeader": {
2184
2136
  "message": "The `Expect-CT` header is deprecated and will be removed. Chrome requires Certificate Transparency for all publicly trusted certificates issued after April 30, 2018."
2185
2137
  },
@@ -2213,12 +2165,12 @@
2213
2165
  "core/lib/deprecations-strings.js | MediaSourceDurationTruncatingBuffered": {
2214
2166
  "message": "Setting `MediaSource.duration` below the highest presentation timestamp of any buffered coded frames is deprecated due to specification change. Support for implicit removal of truncated buffered media will be removed in the future. You should instead perform explicit `remove(newDuration, oldDuration)` on all `sourceBuffers`, where `newDuration < oldDuration`."
2215
2167
  },
2216
- "core/lib/deprecations-strings.js | NoSysexWebMIDIWithoutPermission": {
2217
- "message": "Web MIDI will ask a permission to use even if the sysex is not specified in the `MIDIOptions`."
2218
- },
2219
2168
  "core/lib/deprecations-strings.js | NonStandardDeclarativeShadowDOM": {
2220
2169
  "message": "The older, non-standardized `shadowroot` attribute is deprecated, and will *no longer function* in M119. Please use the new, standardized `shadowrootmode` attribute instead."
2221
2170
  },
2171
+ "core/lib/deprecations-strings.js | NoSysexWebMIDIWithoutPermission": {
2172
+ "message": "Web MIDI will ask a permission to use even if the sysex is not specified in the `MIDIOptions`."
2173
+ },
2222
2174
  "core/lib/deprecations-strings.js | NotificationInsecureOrigin": {
2223
2175
  "message": "The Notification API may no longer be used from insecure origins. You should consider switching your application to a secure origin, such as HTTPS. See https://goo.gle/chrome-insecure-origins for more details."
2224
2176
  },
@@ -2255,24 +2207,30 @@
2255
2207
  "core/lib/deprecations-strings.js | PrefixedVideoDisplayingFullscreen": {
2256
2208
  "message": "HTMLVideoElement.webkitDisplayingFullscreen is deprecated. Please use Document.fullscreenElement instead."
2257
2209
  },
2258
- "core/lib/deprecations-strings.js | PrefixedVideoEnterFullScreen": {
2259
- "message": "HTMLVideoElement.webkitEnterFullScreen() is deprecated. Please use Element.requestFullscreen() instead."
2260
- },
2261
2210
  "core/lib/deprecations-strings.js | PrefixedVideoEnterFullscreen": {
2262
2211
  "message": "HTMLVideoElement.webkitEnterFullscreen() is deprecated. Please use Element.requestFullscreen() instead."
2263
2212
  },
2264
- "core/lib/deprecations-strings.js | PrefixedVideoExitFullScreen": {
2265
- "message": "HTMLVideoElement.webkitExitFullScreen() is deprecated. Please use Document.exitFullscreen() instead."
2213
+ "core/lib/deprecations-strings.js | PrefixedVideoEnterFullScreen": {
2214
+ "message": "HTMLVideoElement.webkitEnterFullScreen() is deprecated. Please use Element.requestFullscreen() instead."
2266
2215
  },
2267
2216
  "core/lib/deprecations-strings.js | PrefixedVideoExitFullscreen": {
2268
2217
  "message": "HTMLVideoElement.webkitExitFullscreen() is deprecated. Please use Document.exitFullscreen() instead."
2269
2218
  },
2219
+ "core/lib/deprecations-strings.js | PrefixedVideoExitFullScreen": {
2220
+ "message": "HTMLVideoElement.webkitExitFullScreen() is deprecated. Please use Document.exitFullscreen() instead."
2221
+ },
2270
2222
  "core/lib/deprecations-strings.js | PrefixedVideoSupportsFullscreen": {
2271
2223
  "message": "HTMLVideoElement.webkitSupportsFullscreen is deprecated. Please use Document.fullscreenEnabled instead."
2272
2224
  },
2273
2225
  "core/lib/deprecations-strings.js | PrivacySandboxExtensionsAPI": {
2274
2226
  "message": "We're deprecating the API `chrome.privacy.websites.privacySandboxEnabled`, though it will remain active for backward compatibility until release M113. Instead, please use `chrome.privacy.websites.topicsEnabled`, `chrome.privacy.websites.fledgeEnabled` and `chrome.privacy.websites.adMeasurementEnabled`. See https://developer.chrome.com/docs/extensions/reference/privacy/#property-websites-privacySandboxEnabled."
2275
2227
  },
2228
+ "core/lib/deprecations-strings.js | RangeExpand": {
2229
+ "message": "Range.expand() is deprecated. Please use Selection.modify() instead."
2230
+ },
2231
+ "core/lib/deprecations-strings.js | RequestedSubresourceWithEmbeddedCredentials": {
2232
+ "message": "Subresource requests whose URLs contain embedded credentials (e.g. `https://user:pass@host/`) are blocked."
2233
+ },
2276
2234
  "core/lib/deprecations-strings.js | RTCConstraintEnableDtlsSrtpFalse": {
2277
2235
  "message": "The constraint `DtlsSrtpKeyAgreement` is removed. You have specified a `false` value for this constraint, which is interpreted as an attempt to use the removed `SDES key negotiation` method. This functionality is removed; use a service that supports `DTLS key negotiation` instead."
2278
2236
  },
@@ -2282,12 +2240,6 @@
2282
2240
  "core/lib/deprecations-strings.js | RTCPeerConnectionGetStatsLegacyNonCompliant": {
2283
2241
  "message": "The callback-based getStats() is deprecated and will be removed. Use the spec-compliant getStats() instead."
2284
2242
  },
2285
- "core/lib/deprecations-strings.js | RangeExpand": {
2286
- "message": "Range.expand() is deprecated. Please use Selection.modify() instead."
2287
- },
2288
- "core/lib/deprecations-strings.js | RequestedSubresourceWithEmbeddedCredentials": {
2289
- "message": "Subresource requests whose URLs contain embedded credentials (e.g. `https://user:pass@host/`) are blocked."
2290
- },
2291
2243
  "core/lib/deprecations-strings.js | RtcpMuxPolicyNegotiate": {
2292
2244
  "message": "The `rtcpMuxPolicy` option is deprecated and will be removed."
2293
2245
  },
@@ -2429,12 +2381,12 @@
2429
2381
  "core/lib/i18n/i18n.js | ms": {
2430
2382
  "message": "{timeInMs, number, milliseconds} ms"
2431
2383
  },
2432
- "core/lib/i18n/i18n.js | otherResourceType": {
2433
- "message": "Other"
2434
- },
2435
2384
  "core/lib/i18n/i18n.js | otherResourcesLabel": {
2436
2385
  "message": "Other resources"
2437
2386
  },
2387
+ "core/lib/i18n/i18n.js | otherResourceType": {
2388
+ "message": "Other"
2389
+ },
2438
2390
  "core/lib/i18n/i18n.js | scriptResourceType": {
2439
2391
  "message": "Script"
2440
2392
  },
@@ -2669,72 +2621,6 @@
2669
2621
  "flow-report/src/i18n/ui-strings.js | title": {
2670
2622
  "message": "Lighthouse User Flow Report"
2671
2623
  },
2672
- "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | description": {
2673
- "message": "Layout shifts occur when elements move absent any user interaction. [Investigate the causes of layout shifts](https://web.dev/articles/optimize-cls), such as elements being added, removed, or their fonts changing as the page loads."
2674
- },
2675
- "node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | title": {
2676
- "message": "Layout shift culprits"
2677
- },
2678
- "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | description": {
2679
- "message": "Your first network request is the most important. Reduce its latency by avoiding redirects, ensuring a fast server response, and enabling text compression."
2680
- },
2681
- "node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | title": {
2682
- "message": "Document request latency"
2683
- },
2684
- "node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | description": {
2685
- "message": "Consider setting [font-display](https://developer.chrome.com/blog/font-display) to swap or optional to ensure text is consistently visible. swap can be further optimized to mitigate layout shifts with [font metric overrides](https://developer.chrome.com/blog/font-fallbacks)."
2686
- },
2687
- "node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | title": {
2688
- "message": "Font display"
2689
- },
2690
- "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | description": {
2691
- "message": "Reducing the download time of images can improve the perceived load time of the page and LCP. [Learn more about optimizing image size](https://developer.chrome.com/docs/lighthouse/performance/uses-optimized-images/)"
2692
- },
2693
- "node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | title": {
2694
- "message": "Improve image delivery"
2695
- },
2696
- "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | description": {
2697
- "message": "Start investigating with the longest phase. [Delays can be minimized](https://web.dev/articles/optimize-inp#optimize_interactions). To reduce processing duration, [optimize the main-thread costs](https://web.dev/articles/optimize-long-tasks), often JS."
2698
- },
2699
- "node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | title": {
2700
- "message": "INP by phase"
2701
- },
2702
- "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | description": {
2703
- "message": "Optimize LCP by making the LCP image [discoverable](https://web.dev/articles/optimize-lcp#1_eliminate_resource_load_delay) from the HTML immediately, and [avoiding lazy-loading](https://web.dev/articles/lcp-lazy-loading)"
2704
- },
2705
- "node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | title": {
2706
- "message": "LCP request discovery"
2707
- },
2708
- "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | description": {
2709
- "message": "Each [phase has specific improvement strategies](https://web.dev/articles/optimize-lcp#lcp-breakdown). Ideally, most of the LCP time should be spent on loading the resources, not within delays."
2710
- },
2711
- "node_modules/@paulirish/trace_engine/models/trace/insights/LCPPhases.js | title": {
2712
- "message": "LCP by phase"
2713
- },
2714
- "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | description": {
2715
- "message": "Requests are blocking the page's initial render, which may delay LCP. [Deferring or inlining](https://web.dev/learn/performance/understanding-the-critical-path#render-blocking_resources/) can move these network requests out of the critical path."
2716
- },
2717
- "node_modules/@paulirish/trace_engine/models/trace/insights/RenderBlocking.js | title": {
2718
- "message": "Render blocking requests"
2719
- },
2720
- "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | description": {
2721
- "message": "If Recalculate Style costs remain high, selector optimization can reduce them. [Optimize the selectors](https://developer.chrome.com/docs/devtools/performance/selector-stats) with both high elapsed time and high slow-path %. Simpler selectors, fewer selectors, a smaller DOM, and a shallower DOM will all reduce matching costs."
2722
- },
2723
- "node_modules/@paulirish/trace_engine/models/trace/insights/SlowCSSSelector.js | title": {
2724
- "message": "CSS Selector costs"
2725
- },
2726
- "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | description": {
2727
- "message": "Third party code can significantly impact load performance. [Reduce and defer loading of third party code](https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/loading-third-party-javascript/) to prioritize your page's content."
2728
- },
2729
- "node_modules/@paulirish/trace_engine/models/trace/insights/ThirdParties.js | title": {
2730
- "message": "Third parties"
2731
- },
2732
- "node_modules/@paulirish/trace_engine/models/trace/insights/Viewport.js | description": {
2733
- "message": "The page's viewport is not mobile-optimized, so tap interactions may be [delayed by up to 300 ms](https://developer.chrome.com/blog/300ms-tap-delay-gone-away/)."
2734
- },
2735
- "node_modules/@paulirish/trace_engine/models/trace/insights/Viewport.js | title": {
2736
- "message": "Viewport not optimized for mobile"
2737
- },
2738
2624
  "node_modules/lighthouse-stack-packs/packs/amp.js | efficient-animated-content": {
2739
2625
  "message": "For animated content, use [`amp-anim`](https://amp.dev/documentation/components/amp-anim/) to minimize CPU usage when the content is offscreen."
2740
2626
  },
@@ -3242,12 +3128,12 @@
3242
3128
  "report/renderer/report-utils.js | dropdownSaveJSON": {
3243
3129
  "message": "Save as JSON"
3244
3130
  },
3245
- "report/renderer/report-utils.js | dropdownViewUnthrottledTrace": {
3246
- "message": "View Unthrottled Trace"
3247
- },
3248
3131
  "report/renderer/report-utils.js | dropdownViewer": {
3249
3132
  "message": "Open in Viewer"
3250
3133
  },
3134
+ "report/renderer/report-utils.js | dropdownViewUnthrottledTrace": {
3135
+ "message": "View Unthrottled Trace"
3136
+ },
3251
3137
  "report/renderer/report-utils.js | errorLabel": {
3252
3138
  "message": "Error!"
3253
3139
  },