lighthouse 12.3.0 → 12.4.0-dev.20250227
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.
- package/cli/test/smokehouse/core-tests.js +4 -0
- package/core/audits/audit.d.ts +5 -0
- package/core/audits/audit.js +12 -0
- package/core/audits/bootup-time.js +0 -2
- package/core/audits/byte-efficiency/duplicated-javascript.d.ts +4 -5
- package/core/audits/byte-efficiency/duplicated-javascript.js +9 -5
- package/core/audits/byte-efficiency/legacy-javascript.d.ts +2 -2
- package/core/audits/byte-efficiency/legacy-javascript.js +17 -5
- package/core/audits/byte-efficiency/polyfill-graph-data.json +48 -49
- package/core/audits/byte-efficiency/total-byte-weight.js +0 -2
- package/core/audits/clickjacking-mitigation.d.ts +42 -0
- package/core/audits/clickjacking-mitigation.js +139 -0
- package/core/audits/dobetterweb/dom-size.js +0 -2
- package/core/audits/insights/README.md +3 -0
- package/core/audits/insights/cls-culprits-insight.d.ts +25 -0
- package/core/audits/insights/cls-culprits-insight.js +137 -0
- package/core/audits/insights/document-latency-insight.d.ts +11 -0
- package/core/audits/insights/document-latency-insight.js +48 -0
- package/core/audits/insights/dom-size-insight.d.ts +11 -0
- package/core/audits/insights/dom-size-insight.js +85 -0
- package/core/audits/insights/font-display-insight.d.ts +11 -0
- package/core/audits/insights/font-display-insight.js +53 -0
- package/core/audits/insights/forced-reflow-insight.d.ts +11 -0
- package/core/audits/insights/forced-reflow-insight.js +52 -0
- package/core/audits/insights/image-delivery-insight.d.ts +11 -0
- package/core/audits/insights/image-delivery-insight.js +83 -0
- package/core/audits/insights/insight-audit.d.ts +23 -0
- package/core/audits/insights/insight-audit.js +133 -0
- package/core/audits/insights/interaction-to-next-paint-insight.d.ts +11 -0
- package/core/audits/insights/interaction-to-next-paint-insight.js +71 -0
- package/core/audits/insights/lcp-discovery-insight.d.ts +11 -0
- package/core/audits/insights/lcp-discovery-insight.js +48 -0
- package/core/audits/insights/lcp-phases-insight.d.ts +16 -0
- package/core/audits/insights/lcp-phases-insight.js +87 -0
- package/core/audits/insights/long-critical-network-tree-insight.d.ts +11 -0
- package/core/audits/insights/long-critical-network-tree-insight.js +53 -0
- package/core/audits/insights/render-blocking-insight.d.ts +11 -0
- package/core/audits/insights/render-blocking-insight.js +57 -0
- package/core/audits/insights/slow-css-selector-insight.d.ts +11 -0
- package/core/audits/insights/slow-css-selector-insight.js +52 -0
- package/core/audits/insights/third-parties-insight.d.ts +28 -0
- package/core/audits/insights/third-parties-insight.js +90 -0
- package/core/audits/insights/viewport-insight.d.ts +11 -0
- package/core/audits/insights/viewport-insight.js +54 -0
- package/core/audits/layout-shifts.d.ts +0 -1
- package/core/audits/layout-shifts.js +18 -21
- package/core/audits/mainthread-work-breakdown.js +0 -2
- package/core/audits/seo/is-crawlable.d.ts +1 -0
- package/core/audits/server-response-time.js +0 -1
- package/core/computed/metrics/lantern-metric.js +5 -1
- package/core/computed/trace-engine-result.js +71 -17
- package/core/config/default-config.js +37 -1
- package/core/gather/gatherers/inspector-issues.js +3 -0
- package/core/gather/gatherers/trace-elements.d.ts +10 -2
- package/core/gather/gatherers/trace-elements.js +89 -12
- package/core/lib/bf-cache-strings.d.ts +7 -4
- package/core/lib/bf-cache-strings.js +174 -140
- package/core/lib/cdt/generated/ParsedURL.d.ts +1 -0
- package/core/lib/cdt/generated/ParsedURL.js +16 -4
- package/core/lib/cdt/generated/SourceMap.d.ts +32 -5
- package/core/lib/cdt/generated/SourceMap.js +192 -100
- package/core/lib/deprecations-strings.d.ts +78 -98
- package/core/lib/deprecations-strings.js +23 -41
- package/core/lib/i18n/i18n.d.ts +1 -0
- package/core/lib/i18n/i18n.js +2 -0
- package/core/lib/trace-engine.d.ts +1 -0
- package/core/lib/trace-engine.js +2 -0
- package/core/runner.js +2 -0
- package/dist/report/bundle.esm.js +196 -9
- package/dist/report/flow.js +197 -10
- package/dist/report/standalone.js +197 -10
- package/flow-report/src/i18n/i18n.d.ts +2 -0
- package/package.json +15 -13
- package/readme.md +3 -0
- package/report/assets/styles.css +179 -5
- package/report/assets/templates.html +14 -0
- package/report/renderer/components.js +9 -3
- package/report/renderer/details-renderer.d.ts +5 -0
- package/report/renderer/details-renderer.js +24 -0
- package/report/renderer/dom.d.ts +12 -1
- package/report/renderer/dom.js +26 -1
- package/report/renderer/i18n-formatter.d.ts +1 -1
- package/report/renderer/performance-category-renderer.d.ts +10 -0
- package/report/renderer/performance-category-renderer.js +81 -20
- package/report/renderer/report-utils.d.ts +1 -0
- package/report/renderer/report-utils.js +2 -0
- package/report/renderer/topbar-features.js +7 -0
- package/shared/localization/locales/ar-XB.json +74 -26
- package/shared/localization/locales/ar.json +76 -28
- package/shared/localization/locales/bg.json +74 -26
- package/shared/localization/locales/ca.json +74 -26
- package/shared/localization/locales/cs.json +74 -26
- package/shared/localization/locales/da.json +74 -26
- package/shared/localization/locales/de.json +75 -27
- package/shared/localization/locales/el.json +74 -26
- package/shared/localization/locales/en-GB.json +74 -26
- package/shared/localization/locales/en-US.json +288 -30
- package/shared/localization/locales/en-XA.json +48 -24
- package/shared/localization/locales/en-XL.json +288 -30
- package/shared/localization/locales/es-419.json +74 -26
- package/shared/localization/locales/es.json +74 -26
- package/shared/localization/locales/fi.json +74 -26
- package/shared/localization/locales/fil.json +75 -27
- package/shared/localization/locales/fr.json +74 -26
- package/shared/localization/locales/he.json +82 -34
- package/shared/localization/locales/hi.json +74 -26
- package/shared/localization/locales/hr.json +75 -27
- package/shared/localization/locales/hu.json +74 -26
- package/shared/localization/locales/id.json +74 -26
- package/shared/localization/locales/it.json +85 -37
- package/shared/localization/locales/ja.json +75 -27
- package/shared/localization/locales/ko.json +75 -27
- package/shared/localization/locales/lt.json +75 -27
- package/shared/localization/locales/lv.json +74 -26
- package/shared/localization/locales/nl.json +74 -26
- package/shared/localization/locales/no.json +75 -27
- package/shared/localization/locales/pl.json +74 -26
- package/shared/localization/locales/pt-PT.json +74 -26
- package/shared/localization/locales/pt.json +74 -26
- package/shared/localization/locales/ro.json +74 -26
- package/shared/localization/locales/ru.json +74 -26
- package/shared/localization/locales/sk.json +74 -26
- package/shared/localization/locales/sl.json +74 -26
- package/shared/localization/locales/sr-Latn.json +74 -26
- package/shared/localization/locales/sr.json +74 -26
- package/shared/localization/locales/sv.json +74 -26
- package/shared/localization/locales/ta.json +74 -26
- package/shared/localization/locales/te.json +74 -26
- package/shared/localization/locales/th.json +76 -28
- package/shared/localization/locales/tr.json +74 -26
- package/shared/localization/locales/uk.json +74 -26
- package/shared/localization/locales/vi.json +74 -26
- package/shared/localization/locales/zh-HK.json +75 -27
- package/shared/localization/locales/zh-TW.json +74 -26
- package/shared/localization/locales/zh.json +74 -26
- package/third-party/chromium-synchronization/inspector-issueAdded-types-test.js +3 -0
- package/types/artifacts.d.ts +5 -3
- package/types/audit.d.ts +2 -0
- package/types/lhr/audit-details.d.ts +13 -1
- package/types/lhr/audit-result.d.ts +2 -0
- package/core/gather/gatherers/root-causes.d.ts +0 -19
- package/core/gather/gatherers/root-causes.js +0 -144
|
@@ -977,6 +977,36 @@
|
|
|
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
|
+
},
|
|
980
1010
|
"core/audits/image-aspect-ratio.js | columnActual": {
|
|
981
1011
|
"message": "Aspect ratio (actual)"
|
|
982
1012
|
},
|
|
@@ -1082,9 +1112,6 @@
|
|
|
1082
1112
|
"core/audits/layout-shifts.js | rootCauseInjectedIframe": {
|
|
1083
1113
|
"message": "Injected iframe"
|
|
1084
1114
|
},
|
|
1085
|
-
"core/audits/layout-shifts.js | rootCauseRenderBlockingRequest": {
|
|
1086
|
-
"message": "A late network request adjusted the page layout"
|
|
1087
|
-
},
|
|
1088
1115
|
"core/audits/layout-shifts.js | rootCauseUnsizedMedia": {
|
|
1089
1116
|
"message": "Media element lacking an explicit size"
|
|
1090
1117
|
},
|
|
@@ -1187,6 +1214,24 @@
|
|
|
1187
1214
|
"core/audits/non-composited-animations.js | unsupportedTimingParameters": {
|
|
1188
1215
|
"message": "Effect has unsupported timing parameters"
|
|
1189
1216
|
},
|
|
1217
|
+
"core/audits/origin-isolation.js | columnDirective": {
|
|
1218
|
+
"message": "Directive"
|
|
1219
|
+
},
|
|
1220
|
+
"core/audits/origin-isolation.js | columnSeverity": {
|
|
1221
|
+
"message": "Severity"
|
|
1222
|
+
},
|
|
1223
|
+
"core/audits/origin-isolation.js | description": {
|
|
1224
|
+
"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)"
|
|
1225
|
+
},
|
|
1226
|
+
"core/audits/origin-isolation.js | invalidSyntax": {
|
|
1227
|
+
"message": "Invalid syntax"
|
|
1228
|
+
},
|
|
1229
|
+
"core/audits/origin-isolation.js | noCoop": {
|
|
1230
|
+
"message": "No COOP header found"
|
|
1231
|
+
},
|
|
1232
|
+
"core/audits/origin-isolation.js | title": {
|
|
1233
|
+
"message": "Ensure proper origin isolation with COOP"
|
|
1234
|
+
},
|
|
1190
1235
|
"core/audits/preload-fonts.js | description": {
|
|
1191
1236
|
"message": "Preload `optional` fonts so that first-time visitors may use them. [Learn more about preloading fonts](https://web.dev/articles/preload-optional-fonts)"
|
|
1192
1237
|
},
|
|
@@ -1688,9 +1733,6 @@
|
|
|
1688
1733
|
"core/lib/bf-cache-strings.js | appBanner": {
|
|
1689
1734
|
"message": "Pages that requested an AppBanner are not currently eligible for back-forward cache."
|
|
1690
1735
|
},
|
|
1691
|
-
"core/lib/bf-cache-strings.js | authorizationHeader": {
|
|
1692
|
-
"message": "Back-forward cache is disabled due to a keepalive request."
|
|
1693
|
-
},
|
|
1694
1736
|
"core/lib/bf-cache-strings.js | backForwardCacheDisabled": {
|
|
1695
1737
|
"message": "Back-forward cache is disabled by flags. Visit chrome://flags/#back-forward-cache to enable it locally on this device."
|
|
1696
1738
|
},
|
|
@@ -1907,9 +1949,6 @@
|
|
|
1907
1949
|
"core/lib/bf-cache-strings.js | pictureInPicture": {
|
|
1908
1950
|
"message": "Pages that use picture-in-picture are not currently eligible for back-forward cache."
|
|
1909
1951
|
},
|
|
1910
|
-
"core/lib/bf-cache-strings.js | portal": {
|
|
1911
|
-
"message": "Pages that use portals are not currently eligible for back-forward cache."
|
|
1912
|
-
},
|
|
1913
1952
|
"core/lib/bf-cache-strings.js | printing": {
|
|
1914
1953
|
"message": "Pages that show Printing UI are not currently eligible for back-forward cache."
|
|
1915
1954
|
},
|
|
@@ -2129,12 +2168,6 @@
|
|
|
2129
2168
|
"core/lib/deprecations-strings.js | DataUrlInSvgUse": {
|
|
2130
2169
|
"message": "Support for data: URLs in SVG <use> element is deprecated and it will be removed in the future."
|
|
2131
2170
|
},
|
|
2132
|
-
"core/lib/deprecations-strings.js | DocumentDomainSettingWithoutOriginAgentClusterHeader": {
|
|
2133
|
-
"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."
|
|
2134
|
-
},
|
|
2135
|
-
"core/lib/deprecations-strings.js | ExpectCTHeader": {
|
|
2136
|
-
"message": "The `Expect-CT` header is deprecated and will be removed. Chrome requires Certificate Transparency for all publicly trusted certificates issued after 30 April 2018."
|
|
2137
|
-
},
|
|
2138
2171
|
"core/lib/deprecations-strings.js | GeolocationInsecureOrigin": {
|
|
2139
2172
|
"message": "`getCurrentPosition()` and `watchPosition()` no longer work on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gle/chrome-insecure-origins for more details."
|
|
2140
2173
|
},
|
|
@@ -2168,9 +2201,6 @@
|
|
|
2168
2201
|
"core/lib/deprecations-strings.js | NoSysexWebMIDIWithoutPermission": {
|
|
2169
2202
|
"message": "Web MIDI will ask permission to use even if the sysex is not specified in the `MIDIOptions`."
|
|
2170
2203
|
},
|
|
2171
|
-
"core/lib/deprecations-strings.js | NonStandardDeclarativeShadowDOM": {
|
|
2172
|
-
"message": "The older, non-standardised `shadowroot` attribute is deprecated and will *no longer function* in M119. Please use the new, standardised `shadowrootmode` attribute instead."
|
|
2173
|
-
},
|
|
2174
2204
|
"core/lib/deprecations-strings.js | NotificationInsecureOrigin": {
|
|
2175
2205
|
"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."
|
|
2176
2206
|
},
|
|
@@ -2255,12 +2285,6 @@
|
|
|
2255
2285
|
"core/lib/deprecations-strings.js | WebSQL": {
|
|
2256
2286
|
"message": "Web SQL is deprecated. Please use SQLite WebAssembly or Indexed Database"
|
|
2257
2287
|
},
|
|
2258
|
-
"core/lib/deprecations-strings.js | WindowPlacementPermissionDescriptorUsed": {
|
|
2259
|
-
"message": "The permission descriptor `window-placement` is deprecated. Use `window-management` instead. For more help, check https://bit.ly/window-placement-rename."
|
|
2260
|
-
},
|
|
2261
|
-
"core/lib/deprecations-strings.js | WindowPlacementPermissionPolicyParsed": {
|
|
2262
|
-
"message": "The permission policy `window-placement` is deprecated. Use `window-management` instead. For more help, check https://bit.ly/window-placement-rename."
|
|
2263
|
-
},
|
|
2264
2288
|
"core/lib/deprecations-strings.js | XHRJSONEncodingDetection": {
|
|
2265
2289
|
"message": "UTF-16 is not supported by response JSON in `XMLHttpRequest`"
|
|
2266
2290
|
},
|
|
@@ -2627,6 +2651,12 @@
|
|
|
2627
2651
|
"node_modules/@paulirish/trace_engine/models/trace/insights/CLSCulprits.js | title": {
|
|
2628
2652
|
"message": "Layout shift culprits"
|
|
2629
2653
|
},
|
|
2654
|
+
"node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | description": {
|
|
2655
|
+
"message": "A large DOM will increase memory usage, cause longer style calculations and produce costly layout reflows which impact page responsiveness. [Learn how to avoid an excessive DOM size](https://developer.chrome.com/docs/lighthouse/performance/dom-size/)."
|
|
2656
|
+
},
|
|
2657
|
+
"node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | title": {
|
|
2658
|
+
"message": "Optimise DOM size"
|
|
2659
|
+
},
|
|
2630
2660
|
"node_modules/@paulirish/trace_engine/models/trace/insights/DocumentLatency.js | description": {
|
|
2631
2661
|
"message": "Your first network request is the most important. Reduce its latency by avoiding redirects, ensuring a fast server response and enabling text compression."
|
|
2632
2662
|
},
|
|
@@ -2639,6 +2669,24 @@
|
|
|
2639
2669
|
"node_modules/@paulirish/trace_engine/models/trace/insights/FontDisplay.js | title": {
|
|
2640
2670
|
"message": "Font display"
|
|
2641
2671
|
},
|
|
2672
|
+
"node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | description": {
|
|
2673
|
+
"message": "Reducing the download time of images can improve the perceived load time of the page and LCP. [Learn more about optimising image size](https://developer.chrome.com/docs/lighthouse/performance/uses-optimized-images/)"
|
|
2674
|
+
},
|
|
2675
|
+
"node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | title": {
|
|
2676
|
+
"message": "Improve image delivery"
|
|
2677
|
+
},
|
|
2678
|
+
"node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useCompression": {
|
|
2679
|
+
"message": "Increasing the image compression factor could improve this image's download size. (Est {PH1})"
|
|
2680
|
+
},
|
|
2681
|
+
"node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useModernFormat": {
|
|
2682
|
+
"message": "Using a modern image format (WebP, AVIF) or increasing the image compression could improve this image's download size. (Est {PH1})"
|
|
2683
|
+
},
|
|
2684
|
+
"node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useResponsiveSize": {
|
|
2685
|
+
"message": "This image file is larger than it needs to be ({PH2}) for its displayed dimensions ({PH3}). Use responsive images to reduce the image download size. (Est {PH1})"
|
|
2686
|
+
},
|
|
2687
|
+
"node_modules/@paulirish/trace_engine/models/trace/insights/ImageDelivery.js | useVideoFormat": {
|
|
2688
|
+
"message": "Using video formats instead of GIFs can improve the download size of animated content. (Est {PH1})"
|
|
2689
|
+
},
|
|
2642
2690
|
"node_modules/@paulirish/trace_engine/models/trace/insights/InteractionToNextPaint.js | description": {
|
|
2643
2691
|
"message": "Start investigating with the longest phase. [Delays can be minimised](https://web.dev/articles/optimize-inp#optimize_interactions). To reduce processing duration, [optimise the main-thread costs](https://web.dev/articles/optimize-long-tasks), often JS."
|
|
2644
2692
|
},
|
|
@@ -2676,10 +2724,10 @@
|
|
|
2676
2724
|
"message": "Third parties"
|
|
2677
2725
|
},
|
|
2678
2726
|
"node_modules/@paulirish/trace_engine/models/trace/insights/Viewport.js | description": {
|
|
2679
|
-
"message": "
|
|
2727
|
+
"message": "Tap interactions may be [delayed by up to 300 ms](https://developer.chrome.com/blog/300ms-tap-delay-gone-away/) if the viewport is not optimised for mobile."
|
|
2680
2728
|
},
|
|
2681
2729
|
"node_modules/@paulirish/trace_engine/models/trace/insights/Viewport.js | title": {
|
|
2682
|
-
"message": "
|
|
2730
|
+
"message": "Optimise viewport for mobile"
|
|
2683
2731
|
},
|
|
2684
2732
|
"node_modules/lighthouse-stack-packs/packs/amp.js | efficient-animated-content": {
|
|
2685
2733
|
"message": "For animated content, use [`amp-anim`](https://amp.dev/documentation/components/amp-anim/) to minimise CPU usage when the content is offscreen."
|