lighthouse 11.1.0 → 11.2.0

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 (557) hide show
  1. package/CONTRIBUTING.md +3 -5
  2. package/cli/bin.js +4 -3
  3. package/cli/cli-flags.js +3 -3
  4. package/cli/commands/commands.js +3 -3
  5. package/cli/commands/list-audits.js +3 -3
  6. package/cli/commands/list-locales.js +3 -3
  7. package/cli/commands/list-trace-categories.js +3 -3
  8. package/cli/index.js +3 -3
  9. package/cli/printer.js +3 -3
  10. package/cli/run.js +3 -3
  11. package/cli/sentry-prompt.js +3 -3
  12. package/cli/test/smokehouse/__snapshots__/report-assert-test.js.snap +8 -0
  13. package/cli/test/smokehouse/config/exclusions.d.ts +3 -3
  14. package/cli/test/smokehouse/config/exclusions.js +3 -3
  15. package/cli/test/smokehouse/core-tests.js +3 -3
  16. package/cli/test/smokehouse/frontends/back-compat-util.d.ts +3 -3
  17. package/cli/test/smokehouse/frontends/back-compat-util.js +3 -3
  18. package/cli/test/smokehouse/frontends/lib.js +3 -3
  19. package/cli/test/smokehouse/frontends/node.js +3 -3
  20. package/cli/test/smokehouse/frontends/smokehouse-bin.js +3 -3
  21. package/cli/test/smokehouse/lib/child-process-error.d.ts +3 -3
  22. package/cli/test/smokehouse/lib/child-process-error.js +3 -3
  23. package/cli/test/smokehouse/lib/concurrent-mapper.d.ts +3 -3
  24. package/cli/test/smokehouse/lib/concurrent-mapper.js +3 -3
  25. package/cli/test/smokehouse/lib/local-console.d.ts +3 -3
  26. package/cli/test/smokehouse/lib/local-console.js +3 -3
  27. package/cli/test/smokehouse/lighthouse-runners/bundle.js +3 -3
  28. package/cli/test/smokehouse/lighthouse-runners/cli.js +3 -3
  29. package/cli/test/smokehouse/lighthouse-runners/devtools.js +3 -3
  30. package/cli/test/smokehouse/report-assert-test.js +3 -3
  31. package/cli/test/smokehouse/report-assert.js +3 -3
  32. package/cli/test/smokehouse/smokehouse.d.ts +0 -1
  33. package/cli/test/smokehouse/smokehouse.js +12 -6
  34. package/cli/test/smokehouse/version-check-test.js +3 -3
  35. package/cli/test/smokehouse/version-check.js +3 -3
  36. package/commitlint.config.js +3 -3
  37. package/core/audits/accessibility/accesskeys.js +3 -3
  38. package/core/audits/accessibility/aria-allowed-attr.js +3 -3
  39. package/core/audits/accessibility/aria-allowed-role.js +3 -3
  40. package/core/audits/accessibility/aria-command-name.js +3 -3
  41. package/core/audits/accessibility/aria-dialog-name.js +3 -3
  42. package/core/audits/accessibility/aria-hidden-body.js +3 -3
  43. package/core/audits/accessibility/aria-hidden-focus.js +3 -3
  44. package/core/audits/accessibility/aria-input-field-name.js +3 -3
  45. package/core/audits/accessibility/aria-meter-name.js +3 -3
  46. package/core/audits/accessibility/aria-progressbar-name.js +3 -3
  47. package/core/audits/accessibility/aria-required-attr.js +3 -3
  48. package/core/audits/accessibility/aria-required-children.js +3 -3
  49. package/core/audits/accessibility/aria-required-parent.js +3 -3
  50. package/core/audits/accessibility/aria-roles.js +3 -3
  51. package/core/audits/accessibility/aria-text.js +3 -3
  52. package/core/audits/accessibility/aria-toggle-field-name.js +3 -3
  53. package/core/audits/accessibility/aria-tooltip-name.js +3 -3
  54. package/core/audits/accessibility/aria-treeitem-name.js +3 -3
  55. package/core/audits/accessibility/aria-valid-attr-value.js +3 -3
  56. package/core/audits/accessibility/aria-valid-attr.js +3 -3
  57. package/core/audits/accessibility/axe-audit.js +3 -3
  58. package/core/audits/accessibility/button-name.js +3 -3
  59. package/core/audits/accessibility/bypass.js +3 -3
  60. package/core/audits/accessibility/color-contrast.js +3 -3
  61. package/core/audits/accessibility/definition-list.js +3 -3
  62. package/core/audits/accessibility/dlitem.js +3 -3
  63. package/core/audits/accessibility/document-title.js +3 -3
  64. package/core/audits/accessibility/duplicate-id-active.js +3 -3
  65. package/core/audits/accessibility/duplicate-id-aria.js +3 -3
  66. package/core/audits/accessibility/empty-heading.js +3 -3
  67. package/core/audits/accessibility/form-field-multiple-labels.js +3 -3
  68. package/core/audits/accessibility/frame-title.js +3 -3
  69. package/core/audits/accessibility/heading-order.js +3 -3
  70. package/core/audits/accessibility/html-has-lang.js +3 -3
  71. package/core/audits/accessibility/html-lang-valid.js +3 -3
  72. package/core/audits/accessibility/html-xml-lang-mismatch.js +3 -3
  73. package/core/audits/accessibility/identical-links-same-purpose.js +3 -3
  74. package/core/audits/accessibility/image-alt.js +3 -3
  75. package/core/audits/accessibility/image-redundant-alt.js +3 -3
  76. package/core/audits/accessibility/input-button-name.js +3 -3
  77. package/core/audits/accessibility/input-image-alt.js +3 -3
  78. package/core/audits/accessibility/label-content-name-mismatch.js +3 -3
  79. package/core/audits/accessibility/label.js +3 -3
  80. package/core/audits/accessibility/landmark-one-main.js +3 -3
  81. package/core/audits/accessibility/link-in-text-block.js +3 -3
  82. package/core/audits/accessibility/link-name.js +3 -3
  83. package/core/audits/accessibility/list.js +3 -3
  84. package/core/audits/accessibility/listitem.js +3 -3
  85. package/core/audits/accessibility/manual/custom-controls-labels.js +3 -3
  86. package/core/audits/accessibility/manual/custom-controls-roles.js +3 -3
  87. package/core/audits/accessibility/manual/focus-traps.js +3 -3
  88. package/core/audits/accessibility/manual/focusable-controls.js +3 -3
  89. package/core/audits/accessibility/manual/interactive-element-affordance.js +3 -3
  90. package/core/audits/accessibility/manual/logical-tab-order.js +3 -3
  91. package/core/audits/accessibility/manual/managed-focus.js +3 -3
  92. package/core/audits/accessibility/manual/offscreen-content-hidden.js +3 -3
  93. package/core/audits/accessibility/manual/use-landmarks.js +3 -3
  94. package/core/audits/accessibility/manual/visual-order-follows-dom.js +3 -3
  95. package/core/audits/accessibility/meta-refresh.js +3 -3
  96. package/core/audits/accessibility/meta-viewport.js +3 -3
  97. package/core/audits/accessibility/object-alt.js +3 -3
  98. package/core/audits/accessibility/select-name.js +3 -3
  99. package/core/audits/accessibility/skip-link.js +3 -3
  100. package/core/audits/accessibility/tabindex.js +3 -3
  101. package/core/audits/accessibility/table-duplicate-name.js +3 -3
  102. package/core/audits/accessibility/table-fake-caption.js +3 -3
  103. package/core/audits/accessibility/target-size.js +3 -3
  104. package/core/audits/accessibility/td-has-header.js +3 -3
  105. package/core/audits/accessibility/td-headers-attr.js +3 -3
  106. package/core/audits/accessibility/th-has-data-cells.js +3 -3
  107. package/core/audits/accessibility/valid-lang.js +3 -3
  108. package/core/audits/accessibility/video-caption.js +3 -3
  109. package/core/audits/audit.js +24 -14
  110. package/core/audits/autocomplete.js +3 -3
  111. package/core/audits/bf-cache.js +4 -3
  112. package/core/audits/bootup-time.js +7 -4
  113. package/core/audits/byte-efficiency/byte-efficiency-audit.js +4 -4
  114. package/core/audits/byte-efficiency/duplicated-javascript.js +4 -4
  115. package/core/audits/byte-efficiency/efficient-animated-content.js +4 -4
  116. package/core/audits/byte-efficiency/legacy-javascript.js +4 -4
  117. package/core/audits/byte-efficiency/modern-image-formats.js +4 -4
  118. package/core/audits/byte-efficiency/offscreen-images.js +4 -4
  119. package/core/audits/byte-efficiency/render-blocking-resources.js +5 -6
  120. package/core/audits/byte-efficiency/total-byte-weight.js +6 -4
  121. package/core/audits/byte-efficiency/unminified-css.js +4 -4
  122. package/core/audits/byte-efficiency/unminified-javascript.js +4 -4
  123. package/core/audits/byte-efficiency/unused-css-rules.js +4 -4
  124. package/core/audits/byte-efficiency/unused-javascript.js +4 -4
  125. package/core/audits/byte-efficiency/uses-long-cache-ttl.js +6 -11
  126. package/core/audits/byte-efficiency/uses-optimized-images.js +4 -4
  127. package/core/audits/byte-efficiency/uses-responsive-images-snapshot.js +4 -3
  128. package/core/audits/byte-efficiency/uses-responsive-images.js +4 -4
  129. package/core/audits/byte-efficiency/uses-text-compression.js +4 -4
  130. package/core/audits/content-width.js +3 -3
  131. package/core/audits/critical-request-chains.js +3 -3
  132. package/core/audits/csp-xss.js +4 -4
  133. package/core/audits/deprecations.js +3 -3
  134. package/core/audits/diagnostics.js +3 -3
  135. package/core/audits/dobetterweb/charset.js +3 -3
  136. package/core/audits/dobetterweb/doctype.js +3 -3
  137. package/core/audits/dobetterweb/dom-size.js +6 -4
  138. package/core/audits/dobetterweb/geolocation-on-start.js +3 -3
  139. package/core/audits/dobetterweb/inspector-issues.js +3 -3
  140. package/core/audits/dobetterweb/js-libraries.js +3 -3
  141. package/core/audits/dobetterweb/no-document-write.js +4 -3
  142. package/core/audits/dobetterweb/notification-on-start.js +3 -3
  143. package/core/audits/dobetterweb/paste-preventing-inputs.js +3 -3
  144. package/core/audits/dobetterweb/uses-http2.js +5 -6
  145. package/core/audits/dobetterweb/uses-passive-event-listeners.js +4 -3
  146. package/core/audits/errors-in-console.js +3 -3
  147. package/core/audits/final-screenshot.js +3 -3
  148. package/core/audits/font-display.js +4 -3
  149. package/core/audits/image-aspect-ratio.js +3 -3
  150. package/core/audits/image-size-responsive.js +3 -3
  151. package/core/audits/installable-manifest.js +5 -5
  152. package/core/audits/is-on-https.js +3 -3
  153. package/core/audits/largest-contentful-paint-element.js +6 -5
  154. package/core/audits/layout-shift-elements.js +10 -7
  155. package/core/audits/lcp-lazy-loaded.js +4 -3
  156. package/core/audits/long-tasks.js +11 -4
  157. package/core/audits/main-thread-tasks.js +3 -3
  158. package/core/audits/mainthread-work-breakdown.js +26 -5
  159. package/core/audits/manual/manual-audit.js +3 -3
  160. package/core/audits/manual/pwa-cross-browser.js +3 -3
  161. package/core/audits/manual/pwa-each-page-has-url.js +3 -3
  162. package/core/audits/manual/pwa-page-transitions.js +3 -3
  163. package/core/audits/maskable-icon.js +3 -3
  164. package/core/audits/metrics/cumulative-layout-shift.js +7 -4
  165. package/core/audits/metrics/first-contentful-paint.js +4 -3
  166. package/core/audits/metrics/first-meaningful-paint.js +3 -3
  167. package/core/audits/metrics/interaction-to-next-paint.js +3 -3
  168. package/core/audits/metrics/interactive.js +3 -3
  169. package/core/audits/metrics/largest-contentful-paint.js +4 -3
  170. package/core/audits/metrics/max-potential-fid.js +3 -3
  171. package/core/audits/metrics/speed-index.js +4 -3
  172. package/core/audits/metrics/total-blocking-time.js +4 -3
  173. package/core/audits/metrics.js +3 -3
  174. package/core/audits/multi-check-audit.js +3 -3
  175. package/core/audits/network-requests.js +3 -3
  176. package/core/audits/network-rtt.js +3 -3
  177. package/core/audits/network-server-latency.js +3 -3
  178. package/core/audits/no-unload-listeners.js +3 -3
  179. package/core/audits/non-composited-animations.js +3 -3
  180. package/core/audits/oopif-iframe-test-audit.js +3 -3
  181. package/core/audits/performance-budget.js +3 -3
  182. package/core/audits/predictive-perf.js +3 -3
  183. package/core/audits/preload-fonts.js +3 -3
  184. package/core/audits/prioritize-lcp-image.js +5 -6
  185. package/core/audits/redirects.js +5 -6
  186. package/core/audits/screenshot-thumbnails.js +3 -3
  187. package/core/audits/script-elements-test-audit.js +3 -3
  188. package/core/audits/script-treemap-data.js +3 -3
  189. package/core/audits/seo/canonical.js +3 -3
  190. package/core/audits/seo/crawlable-anchors.js +3 -3
  191. package/core/audits/seo/font-size.js +3 -3
  192. package/core/audits/seo/hreflang.js +3 -3
  193. package/core/audits/seo/http-status-code.js +3 -3
  194. package/core/audits/seo/is-crawlable.js +3 -3
  195. package/core/audits/seo/link-text.js +3 -3
  196. package/core/audits/seo/manual/structured-data.js +3 -3
  197. package/core/audits/seo/meta-description.js +3 -3
  198. package/core/audits/seo/plugins.js +3 -3
  199. package/core/audits/seo/robots-txt.js +3 -3
  200. package/core/audits/seo/tap-targets.js +3 -3
  201. package/core/audits/server-response-time.js +5 -3
  202. package/core/audits/splash-screen.js +3 -3
  203. package/core/audits/themed-omnibox.js +3 -3
  204. package/core/audits/third-party-facades.js +4 -3
  205. package/core/audits/third-party-summary.js +8 -4
  206. package/core/audits/timing-budget.js +3 -3
  207. package/core/audits/unsized-images.js +4 -4
  208. package/core/audits/user-timings.js +3 -3
  209. package/core/audits/uses-rel-preconnect.js +5 -6
  210. package/core/audits/uses-rel-preload.js +5 -6
  211. package/core/audits/valid-source-maps.js +2 -3
  212. package/core/audits/viewport.js +4 -3
  213. package/core/audits/violation-audit.js +3 -3
  214. package/core/audits/work-during-interaction.js +9 -5
  215. package/core/computed/computed-artifact.js +3 -3
  216. package/core/computed/critical-request-chains.js +3 -3
  217. package/core/computed/document-urls.js +3 -3
  218. package/core/computed/entity-classification.js +3 -3
  219. package/core/computed/image-records.js +3 -3
  220. package/core/computed/js-bundles.js +3 -3
  221. package/core/computed/lcp-image-record.js +3 -3
  222. package/core/computed/load-simulator.js +3 -3
  223. package/core/computed/main-resource.js +3 -3
  224. package/core/computed/main-thread-tasks.js +3 -3
  225. package/core/computed/manifest-values.js +3 -3
  226. package/core/computed/metrics/cumulative-layout-shift.js +3 -3
  227. package/core/computed/metrics/first-contentful-paint-all-frames.js +3 -3
  228. package/core/computed/metrics/first-contentful-paint.js +3 -3
  229. package/core/computed/metrics/first-meaningful-paint.js +3 -3
  230. package/core/computed/metrics/interactive.js +3 -3
  231. package/core/computed/metrics/lantern-first-contentful-paint.js +3 -3
  232. package/core/computed/metrics/lantern-first-meaningful-paint.js +3 -3
  233. package/core/computed/metrics/lantern-interactive.js +3 -3
  234. package/core/computed/metrics/lantern-largest-contentful-paint.js +3 -3
  235. package/core/computed/metrics/lantern-max-potential-fid.js +3 -3
  236. package/core/computed/metrics/lantern-metric.js +3 -3
  237. package/core/computed/metrics/lantern-speed-index.js +3 -3
  238. package/core/computed/metrics/lantern-total-blocking-time.js +3 -3
  239. package/core/computed/metrics/largest-contentful-paint-all-frames.js +3 -3
  240. package/core/computed/metrics/largest-contentful-paint.js +3 -3
  241. package/core/computed/metrics/lcp-breakdown.js +3 -3
  242. package/core/computed/metrics/max-potential-fid.js +3 -3
  243. package/core/computed/metrics/metric.js +3 -3
  244. package/core/computed/metrics/navigation-metric.js +3 -3
  245. package/core/computed/metrics/responsiveness.js +3 -3
  246. package/core/computed/metrics/speed-index.js +3 -3
  247. package/core/computed/metrics/tbt-utils.d.ts +3 -3
  248. package/core/computed/metrics/tbt-utils.js +3 -3
  249. package/core/computed/metrics/time-to-first-byte.js +3 -3
  250. package/core/computed/metrics/timing-summary.js +3 -3
  251. package/core/computed/metrics/total-blocking-time.js +3 -3
  252. package/core/computed/module-duplication.js +3 -3
  253. package/core/computed/network-analysis.js +3 -3
  254. package/core/computed/network-records.js +3 -3
  255. package/core/computed/page-dependency-graph.js +4 -3
  256. package/core/computed/processed-navigation.js +3 -3
  257. package/core/computed/processed-trace.js +3 -3
  258. package/core/computed/resource-summary.js +3 -3
  259. package/core/computed/screenshots.js +3 -3
  260. package/core/computed/speedline.js +3 -3
  261. package/core/computed/tbt-impact-tasks.js +3 -3
  262. package/core/computed/unused-css.js +3 -3
  263. package/core/computed/unused-javascript-summary.js +2 -3
  264. package/core/computed/user-timings.js +3 -3
  265. package/core/computed/viewport-meta.js +3 -3
  266. package/core/config/budget.js +3 -3
  267. package/core/config/config-helpers.js +3 -3
  268. package/core/config/config-plugin.js +3 -3
  269. package/core/config/config.js +3 -3
  270. package/core/config/constants.d.ts +3 -3
  271. package/core/config/constants.js +3 -3
  272. package/core/config/default-config.js +3 -3
  273. package/core/config/desktop-config.js +3 -3
  274. package/core/config/experimental-config.d.ts +3 -3
  275. package/core/config/experimental-config.js +3 -3
  276. package/core/config/filters.js +3 -3
  277. package/core/config/full-config.d.ts +3 -3
  278. package/core/config/full-config.js +3 -3
  279. package/core/config/lr-desktop-config.js +3 -3
  280. package/core/config/lr-mobile-config.d.ts +3 -3
  281. package/core/config/lr-mobile-config.js +3 -3
  282. package/core/config/metrics-to-audits.d.ts +3 -3
  283. package/core/config/metrics-to-audits.js +3 -3
  284. package/core/config/perf-config.d.ts +3 -3
  285. package/core/config/perf-config.js +3 -3
  286. package/core/config/validation.js +3 -3
  287. package/core/gather/base-artifacts.js +3 -3
  288. package/core/gather/base-gatherer.js +3 -3
  289. package/core/gather/driver/dom.js +3 -3
  290. package/core/gather/driver/environment.js +3 -3
  291. package/core/gather/driver/execution-context.js +3 -3
  292. package/core/gather/driver/navigation.js +3 -3
  293. package/core/gather/driver/network-monitor.js +3 -3
  294. package/core/gather/driver/network.js +3 -3
  295. package/core/gather/driver/prepare.js +3 -3
  296. package/core/gather/driver/service-workers.d.ts +3 -3
  297. package/core/gather/driver/service-workers.js +3 -3
  298. package/core/gather/driver/storage.js +3 -3
  299. package/core/gather/driver/target-manager.d.ts +5 -0
  300. package/core/gather/driver/target-manager.js +21 -11
  301. package/core/gather/driver/wait-for-condition.js +3 -3
  302. package/core/gather/driver.js +3 -3
  303. package/core/gather/fetcher.js +2 -3
  304. package/core/gather/gatherers/accessibility.js +3 -3
  305. package/core/gather/gatherers/anchor-elements.js +3 -3
  306. package/core/gather/gatherers/bf-cache-failures.js +3 -3
  307. package/core/gather/gatherers/cache-contents.js +3 -3
  308. package/core/gather/gatherers/console-messages.js +3 -3
  309. package/core/gather/gatherers/css-usage.js +3 -3
  310. package/core/gather/gatherers/devtools-log-compat.js +3 -3
  311. package/core/gather/gatherers/devtools-log.js +3 -3
  312. package/core/gather/gatherers/dobetterweb/doctype.js +3 -3
  313. package/core/gather/gatherers/dobetterweb/domstats.js +3 -3
  314. package/core/gather/gatherers/dobetterweb/optimized-images.js +5 -5
  315. package/core/gather/gatherers/dobetterweb/response-compression.js +4 -4
  316. package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.js +8 -3
  317. package/core/gather/gatherers/full-page-screenshot.js +2 -3
  318. package/core/gather/gatherers/global-listeners.js +3 -3
  319. package/core/gather/gatherers/iframe-elements.js +3 -3
  320. package/core/gather/gatherers/image-elements.js +3 -3
  321. package/core/gather/gatherers/inputs.js +3 -3
  322. package/core/gather/gatherers/inspector-issues.js +4 -3
  323. package/core/gather/gatherers/installability-errors.js +3 -3
  324. package/core/gather/gatherers/js-usage.js +3 -3
  325. package/core/gather/gatherers/link-elements.js +3 -3
  326. package/core/gather/gatherers/main-document-content.js +3 -3
  327. package/core/gather/gatherers/meta-elements.js +3 -3
  328. package/core/gather/gatherers/network-user-agent.js +3 -3
  329. package/core/gather/gatherers/script-elements.js +4 -4
  330. package/core/gather/gatherers/scripts.js +3 -3
  331. package/core/gather/gatherers/seo/embedded-content.js +3 -3
  332. package/core/gather/gatherers/seo/font-size.js +3 -3
  333. package/core/gather/gatherers/seo/robots-txt.js +3 -3
  334. package/core/gather/gatherers/seo/tap-targets.js +3 -3
  335. package/core/gather/gatherers/service-worker.js +3 -3
  336. package/core/gather/gatherers/source-maps.js +3 -3
  337. package/core/gather/gatherers/stacks.js +3 -3
  338. package/core/gather/gatherers/trace-compat.js +3 -3
  339. package/core/gather/gatherers/trace-elements.js +3 -3
  340. package/core/gather/gatherers/trace.js +3 -3
  341. package/core/gather/gatherers/viewport-dimensions.js +3 -3
  342. package/core/gather/gatherers/web-app-manifest.js +3 -3
  343. package/core/gather/navigation-runner.js +3 -3
  344. package/core/gather/runner-helpers.js +3 -3
  345. package/core/gather/session.js +5 -3
  346. package/core/gather/snapshot-runner.js +3 -3
  347. package/core/gather/timespan-runner.js +3 -3
  348. package/core/index.cjs +3 -3
  349. package/core/index.js +3 -3
  350. package/core/lib/arbitrary-equality-map.js +3 -3
  351. package/core/lib/asset-saver.d.ts +4 -4
  352. package/core/lib/asset-saver.js +17 -13
  353. package/core/lib/axe.js +3 -3
  354. package/core/lib/cdt/Common.js +3 -3
  355. package/core/lib/cdt/Platform.d.ts +3 -3
  356. package/core/lib/cdt/Platform.js +3 -3
  357. package/core/lib/cdt/SDK.js +3 -3
  358. package/core/lib/csp-evaluator.js +16 -16
  359. package/core/lib/dependency-graph/base-node.d.ts +3 -3
  360. package/core/lib/dependency-graph/base-node.js +3 -3
  361. package/core/lib/dependency-graph/cpu-node.js +3 -3
  362. package/core/lib/dependency-graph/network-node.js +3 -3
  363. package/core/lib/dependency-graph/simulator/connection-pool.js +3 -3
  364. package/core/lib/dependency-graph/simulator/dns-cache.js +3 -3
  365. package/core/lib/dependency-graph/simulator/network-analyzer.js +3 -3
  366. package/core/lib/dependency-graph/simulator/simulator-timing-map.js +3 -3
  367. package/core/lib/dependency-graph/simulator/simulator.js +3 -3
  368. package/core/lib/dependency-graph/simulator/tcp-connection.js +3 -3
  369. package/core/lib/deprecation-description.js +3 -3
  370. package/core/lib/emulation.js +3 -3
  371. package/core/lib/i18n/i18n.js +3 -3
  372. package/core/lib/icons.d.ts +3 -3
  373. package/core/lib/icons.js +3 -3
  374. package/core/lib/lantern-trace-saver.d.ts +3 -3
  375. package/core/lib/lantern-trace-saver.js +3 -3
  376. package/core/lib/lh-env.js +3 -3
  377. package/core/lib/lh-error.js +3 -3
  378. package/core/lib/lh-trace-processor.js +3 -3
  379. package/core/lib/lighthouse-compatibility.js +3 -3
  380. package/core/lib/manifest-parser.js +3 -3
  381. package/core/lib/median-run.js +3 -3
  382. package/core/lib/minification-estimator.js +3 -3
  383. package/core/lib/minify-devtoolslog.js +3 -3
  384. package/core/lib/navigation-error.js +3 -3
  385. package/core/lib/network-recorder.js +3 -3
  386. package/core/lib/network-request.js +3 -3
  387. package/core/lib/page-functions.js +3 -3
  388. package/core/lib/proto-preprocessor.js +3 -3
  389. package/core/lib/rect-helpers.d.ts +3 -3
  390. package/core/lib/rect-helpers.js +3 -3
  391. package/core/lib/script-helpers.d.ts +3 -3
  392. package/core/lib/script-helpers.js +3 -3
  393. package/core/lib/sentry.d.ts +2 -1
  394. package/core/lib/sentry.js +24 -18
  395. package/core/lib/stack-packs.js +3 -3
  396. package/core/lib/tappable-rects.js +3 -3
  397. package/core/lib/third-party-web.js +3 -3
  398. package/core/lib/timing-trace-saver.d.ts +3 -3
  399. package/core/lib/timing-trace-saver.js +3 -3
  400. package/core/lib/tracehouse/cpu-profile-model.js +3 -3
  401. package/core/lib/tracehouse/main-thread-tasks.js +3 -3
  402. package/core/lib/tracehouse/task-groups.d.ts +3 -3
  403. package/core/lib/tracehouse/task-groups.js +3 -3
  404. package/core/lib/tracehouse/task-summary.js +3 -3
  405. package/core/lib/tracehouse/trace-processor.js +3 -3
  406. package/core/lib/traces/metric-trace-events.js +3 -3
  407. package/core/lib/url-utils.js +3 -3
  408. package/core/runner.js +3 -3
  409. package/core/scoring.js +3 -3
  410. package/core/scripts/download-chrome.sh +2 -3
  411. package/core/user-flow.js +3 -3
  412. package/dist/report/bundle.esm.js +260 -175
  413. package/dist/report/flow.js +265 -181
  414. package/dist/report/standalone.js +261 -176
  415. package/flow-report/api.d.ts +3 -3
  416. package/flow-report/api.ts +3 -3
  417. package/flow-report/assets/standalone-flow-template.html +2 -13
  418. package/flow-report/assets/styles.css +3 -3
  419. package/flow-report/clients/standalone.d.ts +3 -3
  420. package/flow-report/clients/standalone.ts +3 -3
  421. package/flow-report/src/app.d.ts +3 -3
  422. package/flow-report/src/app.tsx +3 -3
  423. package/flow-report/src/common.d.ts +3 -3
  424. package/flow-report/src/common.tsx +3 -3
  425. package/flow-report/src/header.d.ts +3 -3
  426. package/flow-report/src/header.tsx +3 -3
  427. package/flow-report/src/help-dialog.d.ts +3 -3
  428. package/flow-report/src/help-dialog.tsx +3 -3
  429. package/flow-report/src/i18n/i18n.d.ts +3 -3
  430. package/flow-report/src/i18n/i18n.tsx +3 -3
  431. package/flow-report/src/i18n/localized-strings.d.ts +3 -3
  432. package/flow-report/src/i18n/localized-strings.js +3 -3
  433. package/flow-report/src/i18n/ui-strings.js +3 -3
  434. package/flow-report/src/icons.d.ts +3 -3
  435. package/flow-report/src/icons.tsx +3 -3
  436. package/flow-report/src/sidebar/flow.d.ts +3 -3
  437. package/flow-report/src/sidebar/flow.tsx +3 -3
  438. package/flow-report/src/sidebar/sidebar.d.ts +3 -3
  439. package/flow-report/src/sidebar/sidebar.tsx +3 -3
  440. package/flow-report/src/summary/category.d.ts +3 -3
  441. package/flow-report/src/summary/category.tsx +3 -3
  442. package/flow-report/src/summary/summary.d.ts +3 -3
  443. package/flow-report/src/summary/summary.tsx +3 -3
  444. package/flow-report/src/topbar.d.ts +3 -3
  445. package/flow-report/src/topbar.tsx +3 -3
  446. package/flow-report/src/util.d.ts +3 -3
  447. package/flow-report/src/util.ts +3 -3
  448. package/flow-report/src/wrappers/category-score.d.ts +3 -3
  449. package/flow-report/src/wrappers/category-score.tsx +3 -3
  450. package/flow-report/src/wrappers/markdown.d.ts +3 -3
  451. package/flow-report/src/wrappers/markdown.tsx +3 -3
  452. package/flow-report/src/wrappers/report.d.ts +3 -3
  453. package/flow-report/src/wrappers/report.tsx +3 -3
  454. package/flow-report/src/wrappers/styles.d.ts +3 -3
  455. package/flow-report/src/wrappers/styles.tsx +3 -3
  456. package/flow-report/types/flow-report.d.ts +3 -3
  457. package/package.json +11 -11
  458. package/readme.md +1 -1
  459. package/report/assets/standalone-template.html +2 -13
  460. package/report/assets/styles.css +231 -93
  461. package/report/assets/templates.html +24 -52
  462. package/report/clients/bundle.js +3 -3
  463. package/report/clients/standalone.js +3 -3
  464. package/report/generator/file-namer.js +3 -3
  465. package/report/generator/flow-report-assets.js +3 -3
  466. package/report/generator/report-assets.js +3 -3
  467. package/report/generator/report-generator.js +3 -3
  468. package/report/renderer/api.js +3 -3
  469. package/report/renderer/category-renderer.js +2 -13
  470. package/report/renderer/components.d.ts +2 -2
  471. package/report/renderer/components.js +35 -52
  472. package/report/renderer/crc-details-renderer.js +2 -13
  473. package/report/renderer/details-renderer.js +2 -13
  474. package/report/renderer/dom.d.ts +24 -4
  475. package/report/renderer/dom.js +32 -16
  476. package/report/renderer/drop-down-menu.d.ts +3 -3
  477. package/report/renderer/drop-down-menu.js +3 -3
  478. package/report/renderer/element-screenshot-renderer.js +3 -3
  479. package/report/renderer/explodey-gauge.d.ts +11 -0
  480. package/report/renderer/explodey-gauge.js +357 -0
  481. package/report/renderer/features-util.d.ts +3 -3
  482. package/report/renderer/features-util.js +3 -3
  483. package/report/renderer/i18n-formatter.js +3 -3
  484. package/report/renderer/logger.d.ts +2 -13
  485. package/report/renderer/logger.js +2 -13
  486. package/report/renderer/open-tab.js +2 -13
  487. package/report/renderer/performance-category-renderer.d.ts +16 -18
  488. package/report/renderer/performance-category-renderer.js +99 -115
  489. package/report/renderer/pwa-category-renderer.js +2 -13
  490. package/report/renderer/report-globals.js +3 -3
  491. package/report/renderer/report-renderer.js +2 -13
  492. package/report/renderer/report-ui-features.js +2 -13
  493. package/report/renderer/report-utils.js +3 -3
  494. package/report/renderer/snippet-renderer.js +3 -3
  495. package/report/renderer/swap-locale-feature.d.ts +3 -3
  496. package/report/renderer/swap-locale-feature.js +3 -3
  497. package/report/renderer/text-encoding.js +3 -3
  498. package/report/renderer/topbar-features.js +3 -3
  499. package/report/types/augment-dom.d.ts +3 -3
  500. package/report/types/buffer.d.ts +3 -3
  501. package/report/types/html-renderer.d.ts +3 -3
  502. package/report/types/report-renderer.d.ts +3 -3
  503. package/report/types/report-result.d.ts +3 -3
  504. package/shared/esm-utils.js +3 -3
  505. package/shared/localization/format.d.ts +21 -16
  506. package/shared/localization/format.js +76 -39
  507. package/shared/localization/i18n-module.js +2 -3
  508. package/shared/localization/locales/en-US.json +14 -14
  509. package/shared/localization/locales/en-XL.json +14 -14
  510. package/shared/localization/locales.js +3 -3
  511. package/shared/localization/swap-flow-locale.js +3 -3
  512. package/shared/localization/swap-locale.js +3 -3
  513. package/shared/root.js +3 -3
  514. package/{core/lib → shared}/statistics.js +3 -3
  515. package/shared/type-verifiers.d.ts +4 -4
  516. package/shared/type-verifiers.js +3 -3
  517. package/shared/types/shared.d.ts +3 -3
  518. package/shared/util.d.ts +22 -0
  519. package/shared/util.js +33 -13
  520. package/third-party/chromium-synchronization/inspector-issueAdded-types-test.js +4 -3
  521. package/third-party/chromium-synchronization/installability-errors-test.js +3 -3
  522. package/third-party/download-content-shell/README.md +1 -1
  523. package/types/artifacts.d.ts +4 -3
  524. package/types/audit.d.ts +8 -4
  525. package/types/config.d.ts +3 -3
  526. package/types/externs.d.ts +3 -3
  527. package/types/gatherer.d.ts +3 -3
  528. package/types/internal/cssstyle.d.ts +3 -3
  529. package/types/internal/enquirer.d.ts +3 -3
  530. package/types/internal/global.d.ts +3 -3
  531. package/types/internal/http-link-header.d.ts +3 -3
  532. package/types/internal/lookup-closest-locale.d.ts +3 -3
  533. package/types/internal/metaviewport-parser.d.ts +3 -3
  534. package/types/internal/node.d.ts +3 -3
  535. package/types/internal/parse-cache-control.d.ts +3 -3
  536. package/types/internal/pretty-json-stringify.d.ts +3 -3
  537. package/types/internal/query-selector.d.ts +3 -3
  538. package/types/internal/rollup-plugin-postprocess.d.ts +3 -3
  539. package/types/internal/rxjs.d.ts +6 -3
  540. package/types/internal/smokehouse.d.ts +3 -3
  541. package/types/internal/test.d.ts +3 -3
  542. package/types/lh.d.ts +3 -3
  543. package/types/lh.js +3 -3
  544. package/types/lhr/audit-details.d.ts +3 -3
  545. package/types/lhr/audit-result.d.ts +19 -3
  546. package/types/lhr/budget.d.ts +3 -3
  547. package/types/lhr/flow-result.d.ts +3 -3
  548. package/types/lhr/i18n.d.ts +3 -3
  549. package/types/lhr/lhr.d.ts +3 -3
  550. package/types/lhr/settings.d.ts +3 -3
  551. package/types/lhr/treemap.d.ts +3 -3
  552. package/types/protocol.d.ts +3 -3
  553. package/types/puppeteer.d.ts +3 -3
  554. package/types/user-flow.d.ts +3 -3
  555. package/types/utility-types.d.ts +3 -3
  556. package/AUTHORS +0 -9
  557. /package/{core/lib → shared}/statistics.d.ts +0 -0
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2020 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2020 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  import {Audit} from './audit.js';
@@ -10,7 +10,6 @@ import {NetworkRequest} from '../lib/network-request.js';
10
10
  import {MainResource} from '../computed/main-resource.js';
11
11
  import {LanternLargestContentfulPaint} from '../computed/metrics/lantern-largest-contentful-paint.js';
12
12
  import {LoadSimulator} from '../computed/load-simulator.js';
13
- import {ByteEfficiencyAudit} from './byte-efficiency/byte-efficiency-audit.js';
14
13
  import {LCPImageRecord} from '../computed/lcp-image-record.js';
15
14
 
16
15
  const UIStrings = {
@@ -40,7 +39,7 @@ class PrioritizeLcpImage extends Audit {
40
39
  supportedModes: ['navigation'],
41
40
  guidanceLevel: 3,
42
41
  requiredArtifacts: ['traces', 'devtoolsLogs', 'GatherContext', 'URL', 'TraceElements'],
43
- scoreDisplayMode: Audit.SCORING_MODES.NUMERIC,
42
+ scoreDisplayMode: Audit.SCORING_MODES.METRIC_SAVINGS,
44
43
  };
45
44
  }
46
45
 
@@ -282,7 +281,7 @@ class PrioritizeLcpImage extends Audit {
282
281
  }
283
282
 
284
283
  return {
285
- score: ByteEfficiencyAudit.scoreForWastedMs(wastedMs),
284
+ score: results.length ? 0 : 1,
286
285
  numericValue: wastedMs,
287
286
  numericUnit: 'millisecond',
288
287
  displayValue: wastedMs ? str_(i18n.UIStrings.displayValueMsSavings, {wastedMs}) : '',
@@ -1,11 +1,10 @@
1
1
  /**
2
- * @license Copyright 2017 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2017 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  import {Audit} from './audit.js';
8
- import {ByteEfficiencyAudit} from './byte-efficiency/byte-efficiency-audit.js';
9
8
  import * as i18n from '../lib/i18n/i18n.js';
10
9
  import {ProcessedTrace} from '../computed/processed-trace.js';
11
10
  import {NetworkRecords} from '../computed/network-records.js';
@@ -29,7 +28,7 @@ class Redirects extends Audit {
29
28
  id: 'redirects',
30
29
  title: str_(UIStrings.title),
31
30
  description: str_(UIStrings.description),
32
- scoreDisplayMode: Audit.SCORING_MODES.NUMERIC,
31
+ scoreDisplayMode: Audit.SCORING_MODES.METRIC_SAVINGS,
33
32
  supportedModes: ['navigation'],
34
33
  guidanceLevel: 2,
35
34
  requiredArtifacts: ['URL', 'GatherContext', 'devtoolsLogs', 'traces'],
@@ -145,7 +144,7 @@ class Redirects extends Audit {
145
144
  {overallSavingsMs: totalWastedMs});
146
145
 
147
146
  return {
148
- score: ByteEfficiencyAudit.scoreForWastedMs(totalWastedMs),
147
+ score: tableRows.length ? 0 : 1,
149
148
  numericValue: totalWastedMs,
150
149
  numericUnit: 'millisecond',
151
150
  displayValue: totalWastedMs ?
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2017 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2017 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  import jpeg from 'jpeg-js';
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2022 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2022 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  /**
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2020 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2020 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  /**
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2017 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2017 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  import {Audit} from '../audit.js';
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2020 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2020 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  import {Audit} from '../audit.js';
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2017 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2017 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  /** @typedef {LH.Artifacts.FontSize['analyzedFailingNodesData'][0]} FailingNodeData */
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2017 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2017 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  /** @typedef {string|LH.Audit.Details.NodeValue|undefined} Source */
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2017 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2017 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  import {Audit} from '../audit.js';
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2017 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2017 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  import robotsParser from 'robots-parser';
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2017 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2017 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  import {Audit} from '../audit.js';
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2017 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2017 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  import ManualAudit from '../../manual/manual-audit.js';
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2017 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2017 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  import {Audit} from '../audit.js';
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2018 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2018 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  import {Audit} from '../audit.js';
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2018 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2018 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  /**
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2018 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2018 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  /**
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2017 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2017 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  import {Audit} from './audit.js';
@@ -39,6 +39,7 @@ class ServerResponseTime extends Audit {
39
39
  supportedModes: ['navigation'],
40
40
  guidanceLevel: 1,
41
41
  requiredArtifacts: ['devtoolsLogs', 'URL', 'GatherContext'],
42
+ scoreDisplayMode: Audit.SCORING_MODES.METRIC_SAVINGS,
42
43
  };
43
44
  }
44
45
 
@@ -91,6 +92,7 @@ class ServerResponseTime extends Audit {
91
92
  numericValue: responseTime,
92
93
  numericUnit: 'millisecond',
93
94
  score: Number(passed),
95
+ scoreDisplayMode: passed ? Audit.SCORING_MODES.INFORMATIVE : undefined,
94
96
  displayValue,
95
97
  details,
96
98
  metricSavings: {
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2017 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2017 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  import MultiCheckAudit from './multi-check-audit.js';
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2017 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2017 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  import MultiCheckAudit from './multi-check-audit.js';
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2020 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2020 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  /**
@@ -88,6 +88,7 @@ class ThirdPartyFacades extends Audit {
88
88
  supportedModes: ['navigation'],
89
89
  guidanceLevel: 3,
90
90
  requiredArtifacts: ['traces', 'devtoolsLogs', 'URL', 'GatherContext'],
91
+ scoreDisplayMode: Audit.SCORING_MODES.METRIC_SAVINGS,
91
92
  };
92
93
  }
93
94
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2019 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2019 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  import {Audit} from './audit.js';
@@ -75,6 +75,7 @@ class ThirdPartySummary extends Audit {
75
75
  failureTitle: str_(UIStrings.failureTitle),
76
76
  description: str_(UIStrings.description),
77
77
  guidanceLevel: 1,
78
+ scoreDisplayMode: Audit.SCORING_MODES.METRIC_SAVINGS,
78
79
  requiredArtifacts: ['traces', 'devtoolsLogs', 'URL', 'GatherContext'],
79
80
  };
80
81
  }
@@ -257,8 +258,11 @@ class ThirdPartySummary extends Audit {
257
258
  const details = Audit.makeTableDetails(headings, results,
258
259
  {...overallSummary, isEntityGrouped: true});
259
260
 
261
+ const passed = overallSummary.wastedMs <= PASS_THRESHOLD_IN_MS;
262
+
260
263
  return {
261
- score: Number(overallSummary.wastedMs <= PASS_THRESHOLD_IN_MS),
264
+ score: Number(passed),
265
+ scoreDisplayMode: passed ? Audit.SCORING_MODES.INFORMATIVE : undefined,
262
266
  displayValue: str_(UIStrings.displayValue, {
263
267
  timeInMs: overallSummary.wastedMs,
264
268
  }),
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2019 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2019 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  import {Audit} from './audit.js';
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2020 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2020 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  /**
7
7
  * @fileoverview
@@ -36,6 +36,7 @@ class UnsizedImages extends Audit {
36
36
  description: str_(UIStrings.description),
37
37
  guidanceLevel: 3,
38
38
  requiredArtifacts: ['ImageElements'],
39
+ scoreDisplayMode: Audit.SCORING_MODES.METRIC_SAVINGS,
39
40
  };
40
41
  }
41
42
 
@@ -153,7 +154,6 @@ class UnsizedImages extends Audit {
153
154
 
154
155
  return {
155
156
  score: unsizedImages.length > 0 ? 0 : 1,
156
- notApplicable: images.length === 0,
157
157
  details: Audit.makeTableDetails(headings, unsizedImages),
158
158
  metricSavings: {
159
159
  CLS: 0,
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2016 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2016 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  import {Audit} from './audit.js';
@@ -1,11 +1,10 @@
1
1
  /**
2
- * @license Copyright 2018 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2018 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  import {Audit} from './audit.js';
8
- import {ByteEfficiencyAudit} from './byte-efficiency/byte-efficiency-audit.js';
9
8
  import UrlUtils from '../lib/url-utils.js';
10
9
  import * as i18n from '../lib/i18n/i18n.js';
11
10
  import {NetworkRecords} from '../computed/network-records.js';
@@ -64,7 +63,7 @@ class UsesRelPreconnectAudit extends Audit {
64
63
  supportedModes: ['navigation'],
65
64
  guidanceLevel: 3,
66
65
  requiredArtifacts: ['traces', 'devtoolsLogs', 'URL', 'LinkElements'],
67
- scoreDisplayMode: Audit.SCORING_MODES.NUMERIC,
66
+ scoreDisplayMode: Audit.SCORING_MODES.METRIC_SAVINGS,
68
67
  };
69
68
  }
70
69
 
@@ -268,7 +267,7 @@ class UsesRelPreconnectAudit extends Audit {
268
267
  {overallSavingsMs: maxWastedLcp, sortedBy: ['wastedMs']});
269
268
 
270
269
  return {
271
- score: ByteEfficiencyAudit.scoreForWastedMs(maxWastedLcp),
270
+ score: results.length ? 0 : 1,
272
271
  numericValue: maxWastedLcp,
273
272
  numericUnit: 'millisecond',
274
273
  displayValue: maxWastedLcp ?
@@ -1,13 +1,12 @@
1
1
  /**
2
- * @license Copyright 2017 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2017 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  import UrlUtils from '../lib/url-utils.js';
8
8
  import {NetworkRequest} from '../lib/network-request.js';
9
9
  import {Audit} from './audit.js';
10
- import {ByteEfficiencyAudit} from './byte-efficiency/byte-efficiency-audit.js';
11
10
  import {CriticalRequestChains} from '../computed/critical-request-chains.js';
12
11
  import * as i18n from '../lib/i18n/i18n.js';
13
12
  import {MainResource} from '../computed/main-resource.js';
@@ -45,7 +44,7 @@ class UsesRelPreloadAudit extends Audit {
45
44
  supportedModes: ['navigation'],
46
45
  guidanceLevel: 3,
47
46
  requiredArtifacts: ['devtoolsLogs', 'traces', 'URL'],
48
- scoreDisplayMode: Audit.SCORING_MODES.NUMERIC,
47
+ scoreDisplayMode: Audit.SCORING_MODES.METRIC_SAVINGS,
49
48
  };
50
49
  }
51
50
 
@@ -244,7 +243,7 @@ class UsesRelPreloadAudit extends Audit {
244
243
  {overallSavingsMs: wastedMs, sortedBy: ['wastedMs']});
245
244
 
246
245
  return {
247
- score: ByteEfficiencyAudit.scoreForWastedMs(wastedMs),
246
+ score: results.length ? 0 : 1,
248
247
  numericValue: wastedMs,
249
248
  numericUnit: 'millisecond',
250
249
  displayValue: wastedMs ?
@@ -1,7 +1,6 @@
1
1
  /**
2
- * @license Copyright 2020 Google Inc. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license Copyright 2020 Google LLC
3
+ * SPDX-License-Identifier: Apache-2.0
5
4
  */
6
5
 
7
6
  import {Audit} from './audit.js';
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2016 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2016 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  import {Audit} from './audit.js';
@@ -36,6 +36,7 @@ class Viewport extends Audit {
36
36
  description: str_(UIStrings.description),
37
37
  guidanceLevel: 3,
38
38
  requiredArtifacts: ['MetaElements'],
39
+ scoreDisplayMode: Audit.SCORING_MODES.METRIC_SAVINGS,
39
40
  };
40
41
  }
41
42
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2017 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2017 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  import {Audit} from './audit.js';
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2022 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2022 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  import {Audit} from './audit.js';
@@ -58,7 +58,7 @@ class WorkDuringInteraction extends Audit {
58
58
  title: str_(UIStrings.title),
59
59
  failureTitle: str_(UIStrings.failureTitle),
60
60
  description: str_(UIStrings.description),
61
- scoreDisplayMode: Audit.SCORING_MODES.NUMERIC,
61
+ scoreDisplayMode: Audit.SCORING_MODES.METRIC_SAVINGS,
62
62
  supportedModes: ['timespan'],
63
63
  guidanceLevel: 1,
64
64
  requiredArtifacts: ['traces', 'devtoolsLogs', 'TraceElements'],
@@ -273,8 +273,12 @@ class WorkDuringInteraction extends Audit {
273
273
 
274
274
  const duration = interactionEvent.args.data.duration;
275
275
  const displayValue = str_(UIStrings.displayValue, {timeInMs: duration, interactionType});
276
+
277
+ const passed = duration < InteractionToNextPaint.defaultOptions.p10;
278
+
276
279
  return {
277
- score: duration < InteractionToNextPaint.defaultOptions.p10 ? 1 : 0,
280
+ score: passed ? 1 : 0,
281
+ scoreDisplayMode: passed ? Audit.SCORING_MODES.INFORMATIVE : undefined,
278
282
  displayValue,
279
283
  details: {
280
284
  type: 'list',
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2018 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2018 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  import log from 'lighthouse-logger';
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2016 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2016 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  import {makeComputedArtifact} from './computed-artifact.js';
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2023 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  import {NetworkAnalyzer} from '../lib/dependency-graph/simulator/network-analyzer.js';
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @license Copyright 2022 The Lighthouse Authors. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
2
+ * @license
3
+ * Copyright 2022 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
7
  import {makeComputedArtifact} from './computed-artifact.js';