lighthouse 9.6.8 → 10.0.0-dev.20230210

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 (1437) hide show
  1. package/.gitattributes +4 -1
  2. package/CONTRIBUTING.md +15 -15
  3. package/build-tracker.config.js +0 -1
  4. package/changelog-pre10.md +6085 -0
  5. package/cli/bin.d.ts +5 -0
  6. package/cli/bin.js +140 -0
  7. package/cli/cli-flags.d.ts +258 -0
  8. package/cli/cli-flags.js +553 -0
  9. package/cli/commands/commands.d.ts +4 -0
  10. package/cli/commands/commands.js +9 -0
  11. package/cli/commands/list-audits.d.ts +2 -0
  12. package/cli/commands/list-audits.js +15 -0
  13. package/cli/commands/list-locales.d.ts +2 -0
  14. package/cli/commands/list-locales.js +15 -0
  15. package/cli/commands/list-trace-categories.d.ts +2 -0
  16. package/cli/commands/list-trace-categories.js +14 -0
  17. package/cli/index.d.ts +3 -0
  18. package/cli/index.js +10 -0
  19. package/cli/printer.d.ts +28 -0
  20. package/cli/printer.js +99 -0
  21. package/cli/run.d.ts +24 -0
  22. package/cli/run.js +284 -0
  23. package/cli/sentry-prompt.d.ts +5 -0
  24. package/cli/sentry-prompt.js +78 -0
  25. package/cli/test/smokehouse/__snapshots__/report-assert-test.js.snap +71 -0
  26. package/cli/test/smokehouse/config/exclusions.d.ts +12 -0
  27. package/cli/test/smokehouse/config/exclusions.js +36 -0
  28. package/cli/test/smokehouse/core-tests.d.ts +4 -0
  29. package/cli/test/smokehouse/core-tests.js +134 -0
  30. package/cli/test/smokehouse/frontends/back-compat-util.d.ts +16 -0
  31. package/cli/test/smokehouse/frontends/back-compat-util.js +41 -0
  32. package/cli/test/smokehouse/frontends/lib.d.ts +8 -0
  33. package/cli/test/smokehouse/frontends/lib.js +48 -0
  34. package/cli/test/smokehouse/frontends/node.d.ts +2 -0
  35. package/cli/test/smokehouse/frontends/node.js +12 -0
  36. package/cli/test/smokehouse/frontends/smokehouse-bin.d.ts +3 -0
  37. package/cli/test/smokehouse/frontends/smokehouse-bin.js +258 -0
  38. package/cli/test/smokehouse/lib/child-process-error.d.ts +21 -0
  39. package/cli/test/smokehouse/lib/child-process-error.js +25 -0
  40. package/cli/test/smokehouse/lib/concurrent-mapper.d.ts +78 -0
  41. package/cli/test/smokehouse/lib/concurrent-mapper.js +125 -0
  42. package/cli/test/smokehouse/lib/local-console.d.ts +33 -0
  43. package/cli/test/smokehouse/lib/local-console.js +50 -0
  44. package/cli/test/smokehouse/lighthouse-runners/bundle.d.ts +16 -0
  45. package/cli/test/smokehouse/lighthouse-runners/bundle.js +158 -0
  46. package/cli/test/smokehouse/lighthouse-runners/cli.d.ts +18 -0
  47. package/cli/test/smokehouse/lighthouse-runners/cli.js +134 -0
  48. package/cli/test/smokehouse/lighthouse-runners/devtools.d.ts +23 -0
  49. package/cli/test/smokehouse/lighthouse-runners/devtools.js +72 -0
  50. package/cli/test/smokehouse/readme.md +208 -0
  51. package/cli/test/smokehouse/report-assert-test.d.ts +2 -0
  52. package/cli/test/smokehouse/report-assert-test.js +298 -0
  53. package/cli/test/smokehouse/report-assert.d.ts +50 -0
  54. package/cli/test/smokehouse/report-assert.js +520 -0
  55. package/cli/test/smokehouse/smokehouse.d.ts +35 -0
  56. package/cli/test/smokehouse/smokehouse.js +336 -0
  57. package/cli/test/smokehouse/version-check-test.d.ts +2 -0
  58. package/cli/test/smokehouse/version-check-test.js +43 -0
  59. package/cli/test/smokehouse/version-check.d.ts +15 -0
  60. package/cli/test/smokehouse/version-check.js +48 -0
  61. package/commitlint.config.js +0 -1
  62. package/core/audits/accessibility/accesskeys.d.ts +10 -0
  63. package/core/audits/accessibility/accesskeys.js +44 -0
  64. package/core/audits/accessibility/aria-allowed-attr.d.ts +10 -0
  65. package/core/audits/accessibility/aria-allowed-attr.js +44 -0
  66. package/core/audits/accessibility/aria-command-name.d.ts +10 -0
  67. package/core/audits/accessibility/aria-command-name.js +42 -0
  68. package/core/audits/accessibility/aria-hidden-body.d.ts +10 -0
  69. package/core/audits/accessibility/aria-hidden-body.js +42 -0
  70. package/core/audits/accessibility/aria-hidden-focus.d.ts +10 -0
  71. package/core/audits/accessibility/aria-hidden-focus.js +42 -0
  72. package/core/audits/accessibility/aria-input-field-name.d.ts +10 -0
  73. package/core/audits/accessibility/aria-input-field-name.js +42 -0
  74. package/core/audits/accessibility/aria-meter-name.d.ts +10 -0
  75. package/core/audits/accessibility/aria-meter-name.js +42 -0
  76. package/core/audits/accessibility/aria-progressbar-name.d.ts +10 -0
  77. package/core/audits/accessibility/aria-progressbar-name.js +42 -0
  78. package/core/audits/accessibility/aria-required-attr.d.ts +10 -0
  79. package/core/audits/accessibility/aria-required-attr.js +43 -0
  80. package/core/audits/accessibility/aria-required-children.d.ts +10 -0
  81. package/core/audits/accessibility/aria-required-children.js +47 -0
  82. package/core/audits/accessibility/aria-required-parent.d.ts +10 -0
  83. package/core/audits/accessibility/aria-required-parent.js +45 -0
  84. package/core/audits/accessibility/aria-roles.d.ts +10 -0
  85. package/core/audits/accessibility/aria-roles.js +44 -0
  86. package/core/audits/accessibility/aria-toggle-field-name.d.ts +10 -0
  87. package/core/audits/accessibility/aria-toggle-field-name.js +42 -0
  88. package/core/audits/accessibility/aria-tooltip-name.d.ts +10 -0
  89. package/core/audits/accessibility/aria-tooltip-name.js +42 -0
  90. package/core/audits/accessibility/aria-treeitem-name.d.ts +10 -0
  91. package/core/audits/accessibility/aria-treeitem-name.js +42 -0
  92. package/core/audits/accessibility/aria-valid-attr-value.d.ts +10 -0
  93. package/core/audits/accessibility/aria-valid-attr-value.js +44 -0
  94. package/core/audits/accessibility/aria-valid-attr.d.ts +10 -0
  95. package/core/audits/accessibility/aria-valid-attr.js +44 -0
  96. package/core/audits/accessibility/axe-audit.d.ts +17 -0
  97. package/core/audits/accessibility/axe-audit.js +113 -0
  98. package/core/audits/accessibility/button-name.d.ts +10 -0
  99. package/core/audits/accessibility/button-name.js +44 -0
  100. package/core/audits/accessibility/bypass.d.ts +10 -0
  101. package/core/audits/accessibility/bypass.js +46 -0
  102. package/core/audits/accessibility/color-contrast.d.ts +10 -0
  103. package/core/audits/accessibility/color-contrast.js +45 -0
  104. package/core/audits/accessibility/definition-list.d.ts +10 -0
  105. package/core/audits/accessibility/definition-list.js +46 -0
  106. package/core/audits/accessibility/dlitem.d.ts +10 -0
  107. package/core/audits/accessibility/dlitem.js +44 -0
  108. package/core/audits/accessibility/document-title.d.ts +10 -0
  109. package/core/audits/accessibility/document-title.js +44 -0
  110. package/core/audits/accessibility/duplicate-id-active.d.ts +10 -0
  111. package/core/audits/accessibility/duplicate-id-active.js +42 -0
  112. package/core/audits/accessibility/duplicate-id-aria.d.ts +10 -0
  113. package/core/audits/accessibility/duplicate-id-aria.js +42 -0
  114. package/core/audits/accessibility/form-field-multiple-labels.d.ts +10 -0
  115. package/core/audits/accessibility/form-field-multiple-labels.js +43 -0
  116. package/core/audits/accessibility/frame-title.d.ts +10 -0
  117. package/core/audits/accessibility/frame-title.js +43 -0
  118. package/core/audits/accessibility/heading-order.d.ts +10 -0
  119. package/core/audits/accessibility/heading-order.js +42 -0
  120. package/core/audits/accessibility/html-has-lang.d.ts +10 -0
  121. package/core/audits/accessibility/html-has-lang.js +46 -0
  122. package/core/audits/accessibility/html-lang-valid.d.ts +10 -0
  123. package/core/audits/accessibility/html-lang-valid.js +45 -0
  124. package/core/audits/accessibility/image-alt.d.ts +10 -0
  125. package/core/audits/accessibility/image-alt.js +44 -0
  126. package/core/audits/accessibility/input-image-alt.d.ts +10 -0
  127. package/core/audits/accessibility/input-image-alt.js +44 -0
  128. package/core/audits/accessibility/label.d.ts +10 -0
  129. package/core/audits/accessibility/label.js +44 -0
  130. package/core/audits/accessibility/link-name.d.ts +10 -0
  131. package/core/audits/accessibility/link-name.js +45 -0
  132. package/core/audits/accessibility/list.d.ts +10 -0
  133. package/core/audits/accessibility/list.js +46 -0
  134. package/core/audits/accessibility/listitem.d.ts +10 -0
  135. package/core/audits/accessibility/listitem.js +45 -0
  136. package/core/audits/accessibility/manual/custom-controls-labels.d.ts +8 -0
  137. package/core/audits/accessibility/manual/custom-controls-labels.js +27 -0
  138. package/core/audits/accessibility/manual/custom-controls-roles.d.ts +8 -0
  139. package/core/audits/accessibility/manual/custom-controls-roles.js +27 -0
  140. package/core/audits/accessibility/manual/focus-traps.d.ts +8 -0
  141. package/core/audits/accessibility/manual/focus-traps.js +27 -0
  142. package/core/audits/accessibility/manual/focusable-controls.d.ts +8 -0
  143. package/core/audits/accessibility/manual/focusable-controls.js +27 -0
  144. package/core/audits/accessibility/manual/interactive-element-affordance.d.ts +8 -0
  145. package/core/audits/accessibility/manual/interactive-element-affordance.js +27 -0
  146. package/core/audits/accessibility/manual/logical-tab-order.d.ts +8 -0
  147. package/core/audits/accessibility/manual/logical-tab-order.js +27 -0
  148. package/core/audits/accessibility/manual/managed-focus.d.ts +8 -0
  149. package/core/audits/accessibility/manual/managed-focus.js +27 -0
  150. package/core/audits/accessibility/manual/offscreen-content-hidden.d.ts +9 -0
  151. package/core/audits/accessibility/manual/offscreen-content-hidden.js +28 -0
  152. package/core/audits/accessibility/manual/use-landmarks.d.ts +8 -0
  153. package/core/audits/accessibility/manual/use-landmarks.js +27 -0
  154. package/core/audits/accessibility/manual/visual-order-follows-dom.d.ts +8 -0
  155. package/core/audits/accessibility/manual/visual-order-follows-dom.js +27 -0
  156. package/core/audits/accessibility/meta-refresh.d.ts +10 -0
  157. package/core/audits/accessibility/meta-refresh.js +45 -0
  158. package/core/audits/accessibility/meta-viewport.d.ts +10 -0
  159. package/core/audits/accessibility/meta-viewport.js +46 -0
  160. package/core/audits/accessibility/object-alt.d.ts +10 -0
  161. package/core/audits/accessibility/object-alt.js +44 -0
  162. package/core/audits/accessibility/tabindex.d.ts +10 -0
  163. package/core/audits/accessibility/tabindex.js +44 -0
  164. package/core/audits/accessibility/td-headers-attr.d.ts +10 -0
  165. package/core/audits/accessibility/td-headers-attr.js +48 -0
  166. package/core/audits/accessibility/th-has-data-cells.d.ts +10 -0
  167. package/core/audits/accessibility/th-has-data-cells.js +48 -0
  168. package/core/audits/accessibility/valid-lang.d.ts +10 -0
  169. package/core/audits/accessibility/valid-lang.js +44 -0
  170. package/core/audits/accessibility/video-caption.d.ts +10 -0
  171. package/core/audits/accessibility/video-caption.js +46 -0
  172. package/core/audits/audit.d.ts +157 -0
  173. package/core/audits/audit.js +405 -0
  174. package/core/audits/autocomplete.d.ts +36 -0
  175. package/core/audits/autocomplete.js +290 -0
  176. package/core/audits/bf-cache.d.ts +21 -0
  177. package/core/audits/bf-cache.js +120 -0
  178. package/core/audits/bootup-time.d.ts +26 -0
  179. package/core/audits/bootup-time.js +151 -0
  180. package/core/audits/byte-efficiency/byte-efficiency-audit.d.ts +82 -0
  181. package/core/audits/byte-efficiency/byte-efficiency-audit.js +260 -0
  182. package/core/audits/byte-efficiency/duplicated-javascript.d.ts +52 -0
  183. package/core/audits/byte-efficiency/duplicated-javascript.js +247 -0
  184. package/core/audits/byte-efficiency/efficient-animated-content.d.ts +23 -0
  185. package/core/audits/byte-efficiency/efficient-animated-content.js +92 -0
  186. package/core/audits/byte-efficiency/legacy-javascript.d.ts +100 -0
  187. package/core/audits/byte-efficiency/legacy-javascript.js +479 -0
  188. package/core/audits/byte-efficiency/modern-image-formats.d.ts +38 -0
  189. package/core/audits/byte-efficiency/modern-image-formats.js +186 -0
  190. package/core/audits/byte-efficiency/offscreen-images.d.ts +75 -0
  191. package/core/audits/byte-efficiency/offscreen-images.js +253 -0
  192. package/{lighthouse-core → core}/audits/byte-efficiency/polyfill-graph-data.json +0 -0
  193. package/core/audits/byte-efficiency/render-blocking-resources.d.ts +55 -0
  194. package/core/audits/byte-efficiency/render-blocking-resources.js +307 -0
  195. package/core/audits/byte-efficiency/total-byte-weight.d.ts +21 -0
  196. package/core/audits/byte-efficiency/total-byte-weight.js +109 -0
  197. package/core/audits/byte-efficiency/unminified-css.d.ts +36 -0
  198. package/core/audits/byte-efficiency/unminified-css.js +114 -0
  199. package/core/audits/byte-efficiency/unminified-javascript.d.ts +37 -0
  200. package/core/audits/byte-efficiency/unminified-javascript.js +118 -0
  201. package/core/audits/byte-efficiency/unused-css-rules.d.ts +16 -0
  202. package/core/audits/byte-efficiency/unused-css-rules.js +69 -0
  203. package/core/audits/byte-efficiency/unused-javascript.d.ts +27 -0
  204. package/core/audits/byte-efficiency/unused-javascript.js +163 -0
  205. package/core/audits/byte-efficiency/uses-long-cache-ttl.d.ts +61 -0
  206. package/core/audits/byte-efficiency/uses-long-cache-ttl.js +297 -0
  207. package/core/audits/byte-efficiency/uses-optimized-images.d.ts +33 -0
  208. package/core/audits/byte-efficiency/uses-optimized-images.js +145 -0
  209. package/core/audits/byte-efficiency/uses-responsive-images-snapshot.d.ts +16 -0
  210. package/core/audits/byte-efficiency/uses-responsive-images-snapshot.js +100 -0
  211. package/core/audits/byte-efficiency/uses-responsive-images.d.ts +45 -0
  212. package/core/audits/byte-efficiency/uses-responsive-images.js +201 -0
  213. package/core/audits/byte-efficiency/uses-text-compression.d.ts +14 -0
  214. package/core/audits/byte-efficiency/uses-text-compression.js +100 -0
  215. package/core/audits/content-width.d.ts +17 -0
  216. package/core/audits/content-width.js +76 -0
  217. package/core/audits/critical-request-chains.d.ts +44 -0
  218. package/core/audits/critical-request-chains.js +218 -0
  219. package/core/audits/csp-xss.d.ts +51 -0
  220. package/core/audits/csp-xss.js +186 -0
  221. package/core/audits/deprecations.d.ts +19 -0
  222. package/core/audits/deprecations.js +114 -0
  223. package/core/audits/diagnostics.d.ts +11 -0
  224. package/core/audits/diagnostics.js +79 -0
  225. package/core/audits/dobetterweb/charset.d.ts +19 -0
  226. package/core/audits/dobetterweb/charset.js +93 -0
  227. package/core/audits/dobetterweb/doctype.d.ts +21 -0
  228. package/core/audits/dobetterweb/doctype.js +120 -0
  229. package/core/audits/dobetterweb/dom-size.d.ts +26 -0
  230. package/core/audits/dobetterweb/dom-size.js +134 -0
  231. package/core/audits/dobetterweb/geolocation-on-start.d.ts +16 -0
  232. package/core/audits/dobetterweb/geolocation-on-start.js +69 -0
  233. package/core/audits/dobetterweb/inspector-issues.d.ts +45 -0
  234. package/core/audits/dobetterweb/inspector-issues.js +191 -0
  235. package/core/audits/dobetterweb/js-libraries.d.ts +15 -0
  236. package/core/audits/dobetterweb/js-libraries.js +87 -0
  237. package/core/audits/dobetterweb/no-document-write.d.ts +16 -0
  238. package/core/audits/dobetterweb/no-document-write.js +84 -0
  239. package/core/audits/dobetterweb/notification-on-start.d.ts +16 -0
  240. package/core/audits/dobetterweb/notification-on-start.js +68 -0
  241. package/core/audits/dobetterweb/paste-preventing-inputs.d.ts +15 -0
  242. package/core/audits/dobetterweb/paste-preventing-inputs.js +67 -0
  243. package/core/audits/dobetterweb/uses-http2.d.ts +72 -0
  244. package/core/audits/dobetterweb/uses-http2.js +264 -0
  245. package/core/audits/dobetterweb/uses-passive-event-listeners.d.ts +16 -0
  246. package/core/audits/dobetterweb/uses-passive-event-listeners.js +67 -0
  247. package/core/audits/errors-in-console.d.ts +31 -0
  248. package/core/audits/errors-in-console.js +120 -0
  249. package/core/audits/final-screenshot.d.ts +11 -0
  250. package/core/audits/final-screenshot.js +58 -0
  251. package/core/audits/font-display.d.ts +32 -0
  252. package/core/audits/font-display.js +193 -0
  253. package/core/audits/image-aspect-ratio.d.ts +30 -0
  254. package/core/audits/image-aspect-ratio.js +122 -0
  255. package/core/audits/image-size-responsive.d.ts +28 -0
  256. package/core/audits/image-size-responsive.js +332 -0
  257. package/core/audits/installable-manifest.d.ts +118 -0
  258. package/core/audits/installable-manifest.js +265 -0
  259. package/core/audits/is-on-https.d.ts +23 -0
  260. package/core/audits/is-on-https.js +123 -0
  261. package/core/audits/largest-contentful-paint-element.d.ts +14 -0
  262. package/core/audits/largest-contentful-paint-element.js +69 -0
  263. package/core/audits/layout-shift-elements.d.ts +15 -0
  264. package/core/audits/layout-shift-elements.js +74 -0
  265. package/core/audits/lcp-lazy-loaded.d.ts +21 -0
  266. package/core/audits/lcp-lazy-loaded.js +84 -0
  267. package/core/audits/long-tasks.d.ts +16 -0
  268. package/core/audits/long-tasks.js +124 -0
  269. package/core/audits/main-thread-tasks.d.ts +11 -0
  270. package/core/audits/main-thread-tasks.js +58 -0
  271. package/core/audits/mainthread-work-breakdown.d.ts +28 -0
  272. package/core/audits/mainthread-work-breakdown.js +135 -0
  273. package/core/audits/manual/manual-audit.d.ts +13 -0
  274. package/core/audits/manual/manual-audit.js +36 -0
  275. package/core/audits/manual/pwa-cross-browser.d.ts +12 -0
  276. package/core/audits/manual/pwa-cross-browser.js +40 -0
  277. package/core/audits/manual/pwa-each-page-has-url.d.ts +12 -0
  278. package/core/audits/manual/pwa-each-page-has-url.js +38 -0
  279. package/core/audits/manual/pwa-page-transitions.d.ts +12 -0
  280. package/core/audits/manual/pwa-page-transitions.js +38 -0
  281. package/core/audits/maskable-icon.d.ts +25 -0
  282. package/core/audits/maskable-icon.js +70 -0
  283. package/core/audits/metrics/cumulative-layout-shift.d.ts +21 -0
  284. package/core/audits/metrics/cumulative-layout-shift.js +79 -0
  285. package/core/audits/metrics/experimental-interaction-to-next-paint.d.ts +21 -0
  286. package/core/audits/metrics/experimental-interaction-to-next-paint.js +88 -0
  287. package/core/audits/metrics/first-contentful-paint-3g.d.ts +15 -0
  288. package/core/audits/metrics/first-contentful-paint-3g.js +69 -0
  289. package/core/audits/metrics/first-contentful-paint.d.ts +25 -0
  290. package/core/audits/metrics/first-contentful-paint.js +85 -0
  291. package/core/audits/metrics/first-meaningful-paint.d.ts +28 -0
  292. package/core/audits/metrics/first-meaningful-paint.js +89 -0
  293. package/core/audits/metrics/interactive.d.ts +31 -0
  294. package/core/audits/metrics/interactive.js +93 -0
  295. package/core/audits/metrics/largest-contentful-paint.d.ts +25 -0
  296. package/core/audits/metrics/largest-contentful-paint.js +94 -0
  297. package/core/audits/metrics/max-potential-fid.d.ts +23 -0
  298. package/core/audits/metrics/max-potential-fid.js +77 -0
  299. package/core/audits/metrics/speed-index.d.ts +27 -0
  300. package/core/audits/metrics/speed-index.js +88 -0
  301. package/core/audits/metrics/total-blocking-time.d.ts +32 -0
  302. package/core/audits/metrics/total-blocking-time.js +118 -0
  303. package/core/audits/metrics.d.ts +11 -0
  304. package/core/audits/metrics.js +73 -0
  305. package/core/audits/multi-check-audit.d.ts +28 -0
  306. package/core/audits/multi-check-audit.js +82 -0
  307. package/core/audits/network-requests.d.ts +11 -0
  308. package/core/audits/network-requests.js +129 -0
  309. package/core/audits/network-rtt.d.ts +15 -0
  310. package/core/audits/network-rtt.js +89 -0
  311. package/core/audits/network-server-latency.d.ts +15 -0
  312. package/core/audits/network-server-latency.js +88 -0
  313. package/core/audits/no-unload-listeners.d.ts +16 -0
  314. package/core/audits/no-unload-listeners.js +86 -0
  315. package/core/audits/non-composited-animations.d.ts +21 -0
  316. package/core/audits/non-composited-animations.js +205 -0
  317. package/core/audits/oopif-iframe-test-audit.d.ts +14 -0
  318. package/core/audits/oopif-iframe-test-audit.js +29 -0
  319. package/core/audits/performance-budget.d.ts +39 -0
  320. package/core/audits/performance-budget.js +154 -0
  321. package/core/audits/predictive-perf.d.ts +11 -0
  322. package/core/audits/predictive-perf.js +100 -0
  323. package/core/audits/preload-fonts.d.ts +29 -0
  324. package/core/audits/preload-fonts.js +106 -0
  325. package/core/audits/prioritize-lcp-image.d.ts +76 -0
  326. package/core/audits/prioritize-lcp-image.js +290 -0
  327. package/core/audits/redirects.d.ts +33 -0
  328. package/core/audits/redirects.js +164 -0
  329. package/core/audits/resource-summary.d.ts +16 -0
  330. package/core/audits/resource-summary.js +104 -0
  331. package/core/audits/screenshot-thumbnails.d.ts +33 -0
  332. package/core/audits/screenshot-thumbnails.js +168 -0
  333. package/core/audits/script-elements-test-audit.d.ts +14 -0
  334. package/core/audits/script-elements-test-audit.js +29 -0
  335. package/core/audits/script-treemap-data.d.ts +42 -0
  336. package/core/audits/script-treemap-data.js +287 -0
  337. package/core/audits/seo/canonical.d.ts +51 -0
  338. package/core/audits/seo/canonical.js +217 -0
  339. package/core/audits/seo/crawlable-anchors.d.ts +16 -0
  340. package/core/audits/seo/crawlable-anchors.js +93 -0
  341. package/core/audits/seo/font-size.d.ts +24 -0
  342. package/core/audits/seo/font-size.js +344 -0
  343. package/core/audits/seo/hreflang.d.ts +28 -0
  344. package/core/audits/seo/hreflang.js +148 -0
  345. package/core/audits/seo/http-status-code.d.ts +16 -0
  346. package/core/audits/seo/http-status-code.js +68 -0
  347. package/core/audits/seo/is-crawlable.d.ts +38 -0
  348. package/core/audits/seo/is-crawlable.js +223 -0
  349. package/core/audits/seo/link-text.d.ts +16 -0
  350. package/core/audits/seo/link-text.js +160 -0
  351. package/core/audits/seo/manual/structured-data.d.ts +12 -0
  352. package/core/audits/seo/manual/structured-data.js +37 -0
  353. package/core/audits/seo/meta-description.d.ts +16 -0
  354. package/core/audits/seo/meta-description.js +66 -0
  355. package/core/audits/seo/plugins.d.ts +15 -0
  356. package/core/audits/seo/plugins.js +150 -0
  357. package/core/audits/seo/robots-txt.d.ts +18 -0
  358. package/core/audits/seo/robots-txt.js +255 -0
  359. package/core/audits/seo/tap-targets.d.ts +50 -0
  360. package/core/audits/seo/tap-targets.js +352 -0
  361. package/core/audits/server-response-time.d.ts +21 -0
  362. package/core/audits/server-response-time.js +90 -0
  363. package/core/audits/service-worker.d.ts +46 -0
  364. package/core/audits/service-worker.js +182 -0
  365. package/core/audits/splash-screen.d.ts +37 -0
  366. package/core/audits/splash-screen.js +98 -0
  367. package/core/audits/themed-omnibox.d.ts +42 -0
  368. package/core/audits/themed-omnibox.js +102 -0
  369. package/core/audits/third-party-facades.d.ts +42 -0
  370. package/core/audits/third-party-facades.js +224 -0
  371. package/core/audits/third-party-summary.d.ts +59 -0
  372. package/core/audits/third-party-summary.js +257 -0
  373. package/core/audits/timing-budget.d.ts +43 -0
  374. package/core/audits/timing-budget.js +174 -0
  375. package/core/audits/unsized-images.d.ts +39 -0
  376. package/core/audits/unsized-images.js +162 -0
  377. package/core/audits/user-timings.d.ts +43 -0
  378. package/core/audits/user-timings.js +118 -0
  379. package/core/audits/uses-rel-preconnect.d.ts +37 -0
  380. package/core/audits/uses-rel-preconnect.js +253 -0
  381. package/core/audits/uses-rel-preload.d.ts +61 -0
  382. package/core/audits/uses-rel-preload.js +269 -0
  383. package/core/audits/valid-source-maps.d.ts +29 -0
  384. package/core/audits/valid-source-maps.js +160 -0
  385. package/core/audits/viewport.d.ts +17 -0
  386. package/core/audits/viewport.js +64 -0
  387. package/core/audits/violation-audit.d.ts +14 -0
  388. package/core/audits/violation-audit.js +49 -0
  389. package/core/audits/work-during-interaction.d.ts +82 -0
  390. package/core/audits/work-during-interaction.js +279 -0
  391. package/core/computed/computed-artifact.d.ts +15 -0
  392. package/core/computed/computed-artifact.js +62 -0
  393. package/core/computed/critical-request-chains.d.ts +40 -0
  394. package/core/computed/critical-request-chains.js +143 -0
  395. package/core/computed/entity-classification.d.ts +29 -0
  396. package/core/computed/entity-classification.js +103 -0
  397. package/core/computed/image-records.d.ts +24 -0
  398. package/core/computed/image-records.js +64 -0
  399. package/core/computed/js-bundles.d.ts +13 -0
  400. package/core/computed/js-bundles.js +120 -0
  401. package/core/computed/load-simulator.d.ts +28 -0
  402. package/core/computed/load-simulator.js +92 -0
  403. package/core/computed/main-resource.d.ts +25 -0
  404. package/core/computed/main-resource.js +35 -0
  405. package/core/computed/main-thread-tasks.d.ts +15 -0
  406. package/core/computed/main-thread-tasks.js +25 -0
  407. package/core/computed/manifest-values.d.ts +24 -0
  408. package/core/computed/manifest-values.js +136 -0
  409. package/core/computed/metrics/cumulative-layout-shift.d.ts +53 -0
  410. package/core/computed/metrics/cumulative-layout-shift.js +125 -0
  411. package/core/computed/metrics/first-contentful-paint-all-frames.d.ts +19 -0
  412. package/core/computed/metrics/first-contentful-paint-all-frames.js +37 -0
  413. package/core/computed/metrics/first-contentful-paint.d.ts +15 -0
  414. package/core/computed/metrics/first-contentful-paint.js +40 -0
  415. package/core/computed/metrics/first-meaningful-paint.d.ts +15 -0
  416. package/core/computed/metrics/first-meaningful-paint.js +44 -0
  417. package/core/computed/metrics/interactive.d.ts +61 -0
  418. package/core/computed/metrics/interactive.js +192 -0
  419. package/core/computed/metrics/lantern-first-contentful-paint.d.ts +48 -0
  420. package/core/computed/metrics/lantern-first-contentful-paint.js +204 -0
  421. package/core/computed/metrics/lantern-first-meaningful-paint.d.ts +12 -0
  422. package/core/computed/metrics/lantern-first-meaningful-paint.js +83 -0
  423. package/core/computed/metrics/lantern-interactive.d.ts +31 -0
  424. package/core/computed/metrics/lantern-interactive.js +113 -0
  425. package/core/computed/metrics/lantern-largest-contentful-paint.d.ts +25 -0
  426. package/core/computed/metrics/lantern-largest-contentful-paint.js +111 -0
  427. package/core/computed/metrics/lantern-max-potential-fid.d.ts +30 -0
  428. package/core/computed/metrics/lantern-max-potential-fid.js +93 -0
  429. package/core/computed/metrics/lantern-metric.d.ts +78 -0
  430. package/core/computed/metrics/lantern-metric.js +162 -0
  431. package/core/computed/metrics/lantern-speed-index.d.ts +38 -0
  432. package/core/computed/metrics/lantern-speed-index.js +150 -0
  433. package/core/computed/metrics/lantern-total-blocking-time.d.ts +31 -0
  434. package/core/computed/metrics/lantern-total-blocking-time.js +126 -0
  435. package/core/computed/metrics/largest-contentful-paint-all-frames.d.ts +20 -0
  436. package/core/computed/metrics/largest-contentful-paint-all-frames.js +45 -0
  437. package/core/computed/metrics/largest-contentful-paint.d.ts +15 -0
  438. package/core/computed/metrics/largest-contentful-paint.js +52 -0
  439. package/core/computed/metrics/max-potential-fid.d.ts +15 -0
  440. package/core/computed/metrics/max-potential-fid.js +45 -0
  441. package/core/computed/metrics/metric.d.ts +38 -0
  442. package/core/computed/metrics/metric.js +100 -0
  443. package/core/computed/metrics/navigation-metric.d.ts +16 -0
  444. package/core/computed/metrics/navigation-metric.js +46 -0
  445. package/core/computed/metrics/responsiveness.d.ts +87 -0
  446. package/core/computed/metrics/responsiveness.js +160 -0
  447. package/core/computed/metrics/speed-index.d.ts +10 -0
  448. package/core/computed/metrics/speed-index.js +40 -0
  449. package/core/computed/metrics/tbt-utils.d.ts +18 -0
  450. package/core/computed/metrics/tbt-utils.js +56 -0
  451. package/core/computed/metrics/timing-summary.d.ts +46 -0
  452. package/core/computed/metrics/timing-summary.js +157 -0
  453. package/core/computed/metrics/total-blocking-time.d.ts +23 -0
  454. package/core/computed/metrics/total-blocking-time.js +74 -0
  455. package/core/computed/module-duplication.d.ts +37 -0
  456. package/core/computed/module-duplication.js +138 -0
  457. package/core/computed/network-analysis.d.ts +20 -0
  458. package/core/computed/network-analysis.js +64 -0
  459. package/core/computed/network-records.d.ts +15 -0
  460. package/core/computed/network-records.js +22 -0
  461. package/core/computed/page-dependency-graph.d.ts +88 -0
  462. package/core/computed/page-dependency-graph.js +516 -0
  463. package/core/computed/processed-navigation.d.ts +21 -0
  464. package/core/computed/processed-navigation.js +37 -0
  465. package/core/computed/processed-trace.d.ts +14 -0
  466. package/core/computed/processed-trace.js +21 -0
  467. package/core/computed/resource-summary.d.ts +46 -0
  468. package/core/computed/resource-summary.js +118 -0
  469. package/core/computed/screenshots.d.ts +20 -0
  470. package/core/computed/screenshots.js +29 -0
  471. package/core/computed/speedline.d.ts +15 -0
  472. package/core/computed/speedline.js +55 -0
  473. package/core/computed/unused-css.d.ts +62 -0
  474. package/core/computed/unused-css.js +153 -0
  475. package/core/computed/unused-javascript-summary.d.ts +71 -0
  476. package/core/computed/unused-javascript-summary.js +155 -0
  477. package/core/computed/user-timings.d.ts +31 -0
  478. package/core/computed/user-timings.js +83 -0
  479. package/core/computed/viewport-meta.d.ts +35 -0
  480. package/core/computed/viewport-meta.js +56 -0
  481. package/core/config/budget.d.ts +74 -0
  482. package/core/config/budget.js +340 -0
  483. package/core/config/config-helpers.d.ts +94 -0
  484. package/core/config/config-helpers.js +630 -0
  485. package/core/config/config-plugin.d.ts +46 -0
  486. package/core/config/config-plugin.js +250 -0
  487. package/core/config/config.d.ts +28 -0
  488. package/core/config/config.js +344 -0
  489. package/core/config/constants.d.ts +86 -0
  490. package/core/config/constants.js +175 -0
  491. package/core/config/default-config.d.ts +5 -0
  492. package/core/config/default-config.js +637 -0
  493. package/core/config/desktop-config.d.ts +5 -0
  494. package/core/config/desktop-config.js +21 -0
  495. package/core/config/experimental-config.d.ts +13 -0
  496. package/core/config/experimental-config.js +29 -0
  497. package/core/config/filters.d.ts +83 -0
  498. package/core/config/filters.js +344 -0
  499. package/core/config/full-config.d.ts +9 -0
  500. package/core/config/full-config.js +13 -0
  501. package/core/config/lr-desktop-config.d.ts +4 -0
  502. package/core/config/lr-desktop-config.js +28 -0
  503. package/core/config/lr-mobile-config.d.ts +9 -0
  504. package/core/config/lr-mobile-config.js +33 -0
  505. package/core/config/metrics-to-audits.d.ts +19 -0
  506. package/core/config/metrics-to-audits.js +61 -0
  507. package/core/config/perf-config.d.ts +9 -0
  508. package/core/config/perf-config.js +16 -0
  509. package/core/config/validation.d.ts +77 -0
  510. package/core/config/validation.js +312 -0
  511. package/core/gather/base-artifacts.d.ts +16 -0
  512. package/core/gather/base-artifacts.js +95 -0
  513. package/core/gather/base-gatherer.d.ts +72 -0
  514. package/core/gather/base-gatherer.js +108 -0
  515. package/core/gather/driver/dom.d.ts +20 -0
  516. package/core/gather/driver/dom.js +57 -0
  517. package/core/gather/driver/environment.d.ts +35 -0
  518. package/core/gather/driver/environment.js +105 -0
  519. package/core/gather/driver/execution-context.d.ts +101 -0
  520. package/core/gather/driver/execution-context.js +262 -0
  521. package/core/gather/driver/navigation.d.ts +33 -0
  522. package/core/gather/driver/navigation.js +182 -0
  523. package/core/gather/driver/network-monitor.d.ts +82 -0
  524. package/core/gather/driver/network-monitor.js +260 -0
  525. package/core/gather/driver/network.d.ts +10 -0
  526. package/core/gather/driver/network.js +27 -0
  527. package/core/gather/driver/prepare.d.ts +52 -0
  528. package/core/gather/driver/prepare.js +244 -0
  529. package/core/gather/driver/service-workers.d.ts +16 -0
  530. package/core/gather/driver/service-workers.js +52 -0
  531. package/core/gather/driver/storage.d.ts +24 -0
  532. package/core/gather/driver/storage.js +149 -0
  533. package/core/gather/driver/target-manager.d.ts +61 -0
  534. package/core/gather/driver/target-manager.js +209 -0
  535. package/core/gather/driver/wait-for-condition.d.ts +116 -0
  536. package/core/gather/driver/wait-for-condition.js +544 -0
  537. package/core/gather/driver.d.ts +30 -0
  538. package/core/gather/driver.js +92 -0
  539. package/core/gather/fetcher.d.ts +63 -0
  540. package/core/gather/fetcher.js +143 -0
  541. package/core/gather/gatherers/accessibility.d.ts +23 -0
  542. package/core/gather/gatherers/accessibility.js +199 -0
  543. package/core/gather/gatherers/anchor-elements.d.ts +10 -0
  544. package/core/gather/gatherers/anchor-elements.js +132 -0
  545. package/core/gather/gatherers/bf-cache-failures.d.ts +43 -0
  546. package/core/gather/gatherers/bf-cache-failures.js +179 -0
  547. package/core/gather/gatherers/cache-contents.d.ts +11 -0
  548. package/core/gather/gatherers/cache-contents.js +58 -0
  549. package/core/gather/gatherers/console-messages.d.ts +39 -0
  550. package/core/gather/gatherers/console-messages.js +174 -0
  551. package/core/gather/gatherers/css-usage.d.ts +39 -0
  552. package/core/gather/gatherers/css-usage.js +150 -0
  553. package/core/gather/gatherers/devtools-log-compat.d.ts +13 -0
  554. package/core/gather/gatherers/devtools-log-compat.js +35 -0
  555. package/core/gather/gatherers/devtools-log.d.ts +48 -0
  556. package/core/gather/gatherers/devtools-log.js +115 -0
  557. package/core/gather/gatherers/dobetterweb/doctype.d.ts +10 -0
  558. package/core/gather/gatherers/dobetterweb/doctype.js +47 -0
  559. package/core/gather/gatherers/dobetterweb/domstats.d.ts +10 -0
  560. package/core/gather/gatherers/dobetterweb/domstats.js +102 -0
  561. package/core/gather/gatherers/dobetterweb/optimized-images.d.ts +61 -0
  562. package/core/gather/gatherers/dobetterweb/optimized-images.js +193 -0
  563. package/core/gather/gatherers/dobetterweb/response-compression.d.ts +30 -0
  564. package/core/gather/gatherers/dobetterweb/response-compression.js +155 -0
  565. package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.d.ts +53 -0
  566. package/core/gather/gatherers/dobetterweb/tags-blocking-first-paint.js +237 -0
  567. package/core/gather/gatherers/full-page-screenshot.d.ts +35 -0
  568. package/core/gather/gatherers/full-page-screenshot.js +258 -0
  569. package/core/gather/gatherers/gatherer.d.ts +46 -0
  570. package/core/gather/gatherers/gatherer.js +58 -0
  571. package/core/gather/gatherers/global-listeners.d.ts +27 -0
  572. package/core/gather/gatherers/global-listeners.js +91 -0
  573. package/core/gather/gatherers/iframe-elements.d.ts +11 -0
  574. package/core/gather/gatherers/iframe-elements.js +67 -0
  575. package/core/gather/gatherers/image-elements.d.ts +35 -0
  576. package/core/gather/gatherers/image-elements.js +378 -0
  577. package/core/gather/gatherers/inputs.d.ts +10 -0
  578. package/core/gather/gatherers/inputs.js +118 -0
  579. package/core/gather/gatherers/inspector-issues.d.ts +38 -0
  580. package/core/gather/gatherers/inspector-issues.js +126 -0
  581. package/core/gather/gatherers/installability-errors.d.ts +17 -0
  582. package/core/gather/gatherers/installability-errors.js +56 -0
  583. package/core/gather/gatherers/js-usage.d.ts +22 -0
  584. package/core/gather/gatherers/js-usage.js +74 -0
  585. package/core/gather/gatherers/link-elements.d.ts +39 -0
  586. package/core/gather/gatherers/link-elements.js +181 -0
  587. package/core/gather/gatherers/main-document-content.d.ts +27 -0
  588. package/core/gather/gatherers/main-document-content.js +53 -0
  589. package/core/gather/gatherers/meta-elements.d.ts +10 -0
  590. package/core/gather/gatherers/meta-elements.js +67 -0
  591. package/core/gather/gatherers/network-user-agent.d.ts +18 -0
  592. package/core/gather/gatherers/network-user-agent.js +41 -0
  593. package/core/gather/gatherers/script-elements.d.ts +26 -0
  594. package/core/gather/gatherers/script-elements.js +110 -0
  595. package/core/gather/gatherers/scripts.d.ts +27 -0
  596. package/core/gather/gatherers/scripts.js +139 -0
  597. package/core/gather/gatherers/seo/embedded-content.d.ts +10 -0
  598. package/core/gather/gatherers/seo/embedded-content.js +63 -0
  599. package/core/gather/gatherers/seo/font-size.d.ts +131 -0
  600. package/core/gather/gatherers/seo/font-size.js +339 -0
  601. package/core/gather/gatherers/seo/robots-txt.d.ts +10 -0
  602. package/core/gather/gatherers/seo/robots-txt.js +27 -0
  603. package/core/gather/gatherers/seo/tap-targets.d.ts +21 -0
  604. package/core/gather/gatherers/seo/tap-targets.js +389 -0
  605. package/core/gather/gatherers/service-worker.d.ts +16 -0
  606. package/core/gather/gatherers/service-worker.js +44 -0
  607. package/core/gather/gatherers/source-maps.d.ts +50 -0
  608. package/core/gather/gatherers/source-maps.js +155 -0
  609. package/core/gather/gatherers/stacks.d.ts +38 -0
  610. package/core/gather/gatherers/stacks.js +137 -0
  611. package/core/gather/gatherers/trace-compat.d.ts +13 -0
  612. package/core/gather/gatherers/trace-compat.js +35 -0
  613. package/core/gather/gatherers/trace-elements.d.ts +83 -0
  614. package/core/gather/gatherers/trace-elements.js +349 -0
  615. package/core/gather/gatherers/trace.d.ts +23 -0
  616. package/core/gather/gatherers/trace.js +130 -0
  617. package/core/gather/gatherers/viewport-dimensions.d.ts +10 -0
  618. package/core/gather/gatherers/viewport-dimensions.js +57 -0
  619. package/core/gather/gatherers/web-app-manifest.d.ts +32 -0
  620. package/core/gather/gatherers/web-app-manifest.js +106 -0
  621. package/core/gather/navigation-runner.d.ts +94 -0
  622. package/core/gather/navigation-runner.js +386 -0
  623. package/core/gather/runner-helpers.d.ts +39 -0
  624. package/core/gather/runner-helpers.js +159 -0
  625. package/core/gather/session.d.ts +50 -0
  626. package/core/gather/session.js +114 -0
  627. package/core/gather/snapshot-runner.d.ts +10 -0
  628. package/core/gather/snapshot-runner.js +67 -0
  629. package/core/gather/timespan-runner.d.ts +12 -0
  630. package/core/gather/timespan-runner.js +85 -0
  631. package/core/index.cjs +21 -0
  632. package/core/index.d.cts +4 -0
  633. package/core/index.d.ts +88 -0
  634. package/core/index.js +172 -0
  635. package/core/legacy/config/config.d.ts +107 -0
  636. package/core/legacy/config/config.js +566 -0
  637. package/core/legacy/config/legacy-default-config.d.ts +4 -0
  638. package/core/legacy/config/legacy-default-config.js +87 -0
  639. package/core/legacy/gather/connections/connection.d.ts +75 -0
  640. package/core/legacy/gather/connections/connection.js +181 -0
  641. package/core/legacy/gather/connections/cri.d.ts +27 -0
  642. package/core/legacy/gather/connections/cri.js +162 -0
  643. package/core/legacy/gather/connections/raw.d.ts +20 -0
  644. package/core/legacy/gather/connections/raw.js +57 -0
  645. package/core/legacy/gather/driver.d.ts +215 -0
  646. package/core/legacy/gather/driver.js +469 -0
  647. package/core/legacy/gather/gather-runner.d.ts +166 -0
  648. package/core/legacy/gather/gather-runner.js +590 -0
  649. package/core/lib/arbitrary-equality-map.d.ts +47 -0
  650. package/core/lib/arbitrary-equality-map.js +80 -0
  651. package/core/lib/asset-saver.d.ts +101 -0
  652. package/core/lib/asset-saver.js +451 -0
  653. package/core/lib/axe.d.ts +2 -0
  654. package/core/lib/axe.js +17 -0
  655. package/core/lib/bf-cache-strings.d.ts +121 -0
  656. package/core/lib/bf-cache-strings.js +661 -0
  657. package/core/lib/cdt/Common.d.ts +3 -0
  658. package/core/lib/cdt/Common.js +12 -0
  659. package/core/lib/cdt/Platform.d.ts +26 -0
  660. package/core/lib/cdt/Platform.js +57 -0
  661. package/core/lib/cdt/SDK.d.ts +2 -0
  662. package/core/lib/cdt/SDK.js +28 -0
  663. package/core/lib/cdt/generated/ParsedURL.d.ts +28 -0
  664. package/core/lib/cdt/generated/ParsedURL.js +178 -0
  665. package/core/lib/cdt/generated/SourceMap.d.ts +100 -0
  666. package/core/lib/cdt/generated/SourceMap.js +527 -0
  667. package/core/lib/cdt/package.json +4 -0
  668. package/core/lib/csp-evaluator.d.ts +41 -0
  669. package/core/lib/csp-evaluator.js +170 -0
  670. package/core/lib/dependency-graph/base-node.d.ts +161 -0
  671. package/core/lib/dependency-graph/base-node.js +364 -0
  672. package/core/lib/dependency-graph/cpu-node.d.ts +34 -0
  673. package/core/lib/dependency-graph/cpu-node.js +86 -0
  674. package/core/lib/dependency-graph/network-node.d.ts +43 -0
  675. package/core/lib/dependency-graph/network-node.js +99 -0
  676. package/core/lib/dependency-graph/simulator/connection-pool.d.ts +58 -0
  677. package/core/lib/dependency-graph/simulator/connection-pool.js +171 -0
  678. package/core/lib/dependency-graph/simulator/dns-cache.d.ts +42 -0
  679. package/core/lib/dependency-graph/simulator/dns-cache.js +74 -0
  680. package/core/lib/dependency-graph/simulator/network-analyzer.d.ts +166 -0
  681. package/core/lib/dependency-graph/simulator/network-analyzer.js +479 -0
  682. package/core/lib/dependency-graph/simulator/simulator-timing-map.d.ts +153 -0
  683. package/core/lib/dependency-graph/simulator/simulator-timing-map.js +220 -0
  684. package/core/lib/dependency-graph/simulator/simulator.d.ts +154 -0
  685. package/core/lib/dependency-graph/simulator/simulator.js +540 -0
  686. package/core/lib/dependency-graph/simulator/tcp-connection.d.ts +89 -0
  687. package/core/lib/dependency-graph/simulator/tcp-connection.js +230 -0
  688. package/core/lib/deprecations-strings.d.ts +66 -0
  689. package/core/lib/deprecations-strings.js +654 -0
  690. package/core/lib/emulation.d.ts +43 -0
  691. package/core/lib/emulation.js +163 -0
  692. package/core/lib/i18n/README.md +290 -0
  693. package/core/lib/i18n/i18n.d.ts +81 -0
  694. package/core/lib/i18n/i18n.js +229 -0
  695. package/core/lib/icons.d.ts +22 -0
  696. package/core/lib/icons.js +82 -0
  697. package/core/lib/lantern-trace-saver.d.ts +20 -0
  698. package/core/lib/lantern-trace-saver.js +260 -0
  699. package/core/lib/lh-env.d.ts +2 -0
  700. package/core/lib/lh-env.js +15 -0
  701. package/core/lib/lh-error.d.ts +328 -0
  702. package/core/lib/lh-error.js +425 -0
  703. package/core/lib/lh-trace-processor.d.ts +5 -0
  704. package/core/lib/lh-trace-processor.js +45 -0
  705. package/core/lib/lighthouse-compatibility.d.ts +8 -0
  706. package/core/lib/lighthouse-compatibility.js +139 -0
  707. package/core/lib/manifest-parser.d.ts +186 -0
  708. package/core/lib/manifest-parser.js +495 -0
  709. package/core/lib/median-run.d.ts +17 -0
  710. package/core/lib/median-run.js +92 -0
  711. package/core/lib/minification-estimator.d.ts +9 -0
  712. package/core/lib/minification-estimator.js +192 -0
  713. package/core/lib/minify-devtoolslog.d.ts +6 -0
  714. package/core/lib/minify-devtoolslog.js +86 -0
  715. package/core/lib/navigation-error.d.ts +39 -0
  716. package/core/lib/navigation-error.js +175 -0
  717. package/core/lib/network-recorder.d.ts +115 -0
  718. package/core/lib/network-recorder.js +341 -0
  719. package/core/lib/network-request.d.ts +247 -0
  720. package/core/lib/network-request.js +590 -0
  721. package/core/lib/page-functions.d.ts +149 -0
  722. package/core/lib/page-functions.js +544 -0
  723. package/core/lib/proto-preprocessor.d.ts +13 -0
  724. package/core/lib/proto-preprocessor.js +133 -0
  725. package/core/lib/rect-helpers.d.ts +100 -0
  726. package/core/lib/rect-helpers.js +251 -0
  727. package/core/lib/script-helpers.d.ts +17 -0
  728. package/core/lib/script-helpers.js +31 -0
  729. package/core/lib/sentry.d.ts +32 -0
  730. package/core/lib/sentry.js +143 -0
  731. package/core/lib/stack-packs.d.ts +16 -0
  732. package/core/lib/stack-packs.js +126 -0
  733. package/core/lib/statistics.d.ts +28 -0
  734. package/core/lib/statistics.js +103 -0
  735. package/core/lib/tappable-rects.d.ts +8 -0
  736. package/core/lib/tappable-rects.js +98 -0
  737. package/core/lib/third-party-web.d.ts +32 -0
  738. package/core/lib/third-party-web.js +52 -0
  739. package/core/lib/timing-trace-saver.d.ts +21 -0
  740. package/core/lib/timing-trace-saver.js +96 -0
  741. package/core/lib/tracehouse/cpu-profile-model.d.ts +228 -0
  742. package/core/lib/tracehouse/cpu-profile-model.js +591 -0
  743. package/core/lib/tracehouse/main-thread-tasks.d.ts +162 -0
  744. package/core/lib/tracehouse/main-thread-tasks.js +688 -0
  745. package/core/lib/tracehouse/task-groups.d.ts +66 -0
  746. package/core/lib/tracehouse/task-groups.js +111 -0
  747. package/core/lib/tracehouse/task-summary.d.ts +18 -0
  748. package/core/lib/tracehouse/task-summary.js +86 -0
  749. package/core/lib/tracehouse/trace-processor.d.ts +284 -0
  750. package/core/lib/tracehouse/trace-processor.js +1016 -0
  751. package/core/lib/traces/metric-trace-events.d.ts +65 -0
  752. package/core/lib/traces/metric-trace-events.js +200 -0
  753. package/core/lib/url-utils.d.ts +100 -0
  754. package/core/lib/url-utils.js +266 -0
  755. package/core/runner.d.ts +114 -0
  756. package/core/runner.js +563 -0
  757. package/core/scoring.d.ts +26 -0
  758. package/core/scoring.js +91 -0
  759. package/core/scripts/download-chrome.sh +36 -0
  760. package/core/scripts/manual-chrome-launcher.js +50 -0
  761. package/core/user-flow.d.ts +106 -0
  762. package/core/user-flow.js +354 -0
  763. package/dist/report/bundle.esm.js +1485 -1281
  764. package/dist/report/flow.js +37 -25
  765. package/dist/report/standalone.js +35 -19
  766. package/eslint-local-rules.cjs +106 -0
  767. package/eslint-local-rules.d.cts +6 -0
  768. package/esm-utils.d.ts +14 -0
  769. package/esm-utils.js +38 -0
  770. package/flow-report/api.d.ts +7 -0
  771. package/flow-report/assets/standalone-flow-template.html +1 -1
  772. package/flow-report/clients/standalone.d.ts +7 -0
  773. package/flow-report/src/app.d.ts +11 -0
  774. package/flow-report/src/app.tsx +1 -1
  775. package/flow-report/src/common.d.ts +20 -0
  776. package/flow-report/src/common.tsx +3 -3
  777. package/flow-report/src/header.d.ts +10 -0
  778. package/flow-report/src/header.tsx +1 -1
  779. package/flow-report/src/help-dialog.d.ts +10 -0
  780. package/flow-report/src/i18n/i18n.d.ts +212 -0
  781. package/flow-report/src/i18n/i18n.tsx +24 -19
  782. package/flow-report/src/i18n/localized-strings.d.ts +9 -0
  783. package/flow-report/src/i18n/ui-strings.d.ts +48 -0
  784. package/flow-report/src/icons.d.ts +18 -0
  785. package/flow-report/src/sidebar/flow.d.ts +8 -0
  786. package/flow-report/src/sidebar/sidebar.d.ts +17 -0
  787. package/flow-report/src/sidebar/sidebar.tsx +7 -4
  788. package/flow-report/src/summary/category.d.ts +19 -0
  789. package/flow-report/src/summary/category.tsx +10 -10
  790. package/flow-report/src/summary/summary.d.ts +18 -0
  791. package/flow-report/src/summary/summary.tsx +4 -4
  792. package/flow-report/src/topbar.d.ts +15 -0
  793. package/flow-report/src/topbar.tsx +14 -30
  794. package/flow-report/src/util.d.ts +30 -0
  795. package/flow-report/src/util.ts +2 -13
  796. package/flow-report/src/wrappers/category-score.d.ts +12 -0
  797. package/flow-report/src/wrappers/markdown.d.ts +10 -0
  798. package/flow-report/src/wrappers/report.d.ts +10 -0
  799. package/flow-report/src/wrappers/report.tsx +1 -1
  800. package/flow-report/src/wrappers/styles.d.ts +8 -0
  801. package/flow-report/test/app-test.d.ts +7 -0
  802. package/flow-report/test/common-test.d.ts +7 -0
  803. package/flow-report/test/common-test.tsx +11 -12
  804. package/flow-report/test/flow-report-pptr-test.d.ts +7 -0
  805. package/flow-report/test/flow-report-pptr-test.ts +21 -8
  806. package/flow-report/test/header-test.d.ts +7 -0
  807. package/flow-report/test/run-flow-report-tests.sh +20 -0
  808. package/flow-report/test/sample-flow.d.ts +7 -0
  809. package/flow-report/test/sample-flow.ts +1 -1
  810. package/flow-report/test/setup/env-setup.d.ts +11 -0
  811. package/flow-report/test/setup/env-setup.ts +47 -24
  812. package/flow-report/test/sidebar/flow-test.d.ts +7 -0
  813. package/flow-report/test/sidebar/sidebar-test.d.ts +7 -0
  814. package/flow-report/test/sidebar/sidebar-test.tsx +30 -3
  815. package/flow-report/test/summary/category-test.d.ts +7 -0
  816. package/flow-report/test/summary/summary-test.d.ts +7 -0
  817. package/flow-report/test/summary/summary-test.tsx +1 -1
  818. package/flow-report/test/topbar-test.d.ts +7 -0
  819. package/flow-report/test/topbar-test.tsx +11 -12
  820. package/flow-report/test/util-test.d.ts +7 -0
  821. package/flow-report/test/util-test.tsx +3 -3
  822. package/flow-report/test/wrappers/category-score-test.d.ts +7 -0
  823. package/flow-report/test/wrappers/markdown-test.d.ts +7 -0
  824. package/flow-report/tsconfig.json +5 -3
  825. package/flow-report/types/flow-report.d.ts +8 -1
  826. package/package.json +86 -80
  827. package/readme.md +27 -40
  828. package/report/README.md +8 -9
  829. package/report/assets/standalone-template.html +1 -1
  830. package/report/assets/styles.css +35 -17
  831. package/report/assets/templates.html +14 -37
  832. package/report/clients/bundle.d.ts +6 -0
  833. package/report/clients/bundle.js +1 -2
  834. package/report/clients/standalone.d.ts +2 -0
  835. package/report/clients/standalone.js +0 -1
  836. package/report/generator/file-namer.d.ts +35 -0
  837. package/report/generator/file-namer.js +7 -3
  838. package/report/generator/flow-report-assets.d.ts +9 -0
  839. package/report/generator/flow-report-assets.js +10 -6
  840. package/report/generator/report-assets.d.ts +8 -0
  841. package/report/generator/report-assets.js +8 -5
  842. package/report/generator/report-generator.d.ts +59 -0
  843. package/report/generator/report-generator.js +76 -34
  844. package/report/generator/tsconfig.json +1 -2
  845. package/report/renderer/api.d.ts +31 -0
  846. package/report/renderer/api.js +0 -2
  847. package/report/renderer/category-renderer.d.ts +176 -0
  848. package/report/renderer/category-renderer.js +39 -41
  849. package/report/renderer/components.d.ts +10 -0
  850. package/report/renderer/components.js +364 -448
  851. package/report/renderer/crc-details-renderer.d.ts +73 -0
  852. package/report/renderer/crc-details-renderer.js +28 -30
  853. package/report/renderer/details-renderer.d.ts +141 -0
  854. package/report/renderer/details-renderer.js +44 -92
  855. package/report/renderer/dom.d.ts +125 -0
  856. package/report/renderer/dom.js +13 -10
  857. package/report/renderer/drop-down-menu.d.ts +70 -0
  858. package/report/renderer/drop-down-menu.js +0 -1
  859. package/report/renderer/element-screenshot-renderer.d.ts +79 -0
  860. package/report/renderer/element-screenshot-renderer.js +11 -12
  861. package/report/renderer/features-util.d.ts +13 -0
  862. package/report/renderer/features-util.js +0 -1
  863. package/report/renderer/i18n-formatter.d.ts +100 -0
  864. package/report/renderer/i18n-formatter.js +263 -0
  865. package/report/renderer/logger.d.ts +47 -0
  866. package/report/renderer/logger.js +0 -1
  867. package/report/renderer/open-tab.d.ts +19 -0
  868. package/report/renderer/open-tab.js +4 -4
  869. package/report/renderer/performance-category-renderer.d.ts +56 -0
  870. package/report/renderer/performance-category-renderer.js +29 -26
  871. package/report/renderer/pwa-category-renderer.d.ts +55 -0
  872. package/report/renderer/pwa-category-renderer.js +8 -8
  873. package/report/renderer/report-globals.d.ts +21 -0
  874. package/report/renderer/report-globals.js +49 -0
  875. package/report/renderer/report-renderer.d.ts +57 -0
  876. package/report/renderer/report-renderer.js +54 -52
  877. package/report/renderer/report-ui-features.d.ts +71 -0
  878. package/report/renderer/report-ui-features.js +44 -39
  879. package/report/renderer/report-utils.d.ts +129 -0
  880. package/report/renderer/report-utils.js +448 -0
  881. package/report/renderer/snippet-renderer.d.ts +85 -0
  882. package/report/renderer/snippet-renderer.js +5 -5
  883. package/report/renderer/swap-locale-feature.d.ts +31 -0
  884. package/report/renderer/swap-locale-feature.js +2 -3
  885. package/report/renderer/text-encoding.d.ts +26 -0
  886. package/report/renderer/text-encoding.js +0 -1
  887. package/report/renderer/topbar-features.d.ts +82 -0
  888. package/report/renderer/topbar-features.js +2 -2
  889. package/report/test/clients/bundle-test.js +5 -10
  890. package/report/test/generator/file-namer-test.js +3 -4
  891. package/report/test/generator/report-generator-test.js +49 -24
  892. package/report/test/renderer/category-renderer-test.js +19 -15
  893. package/report/test/renderer/components-test.js +36 -37
  894. package/report/test/renderer/crc-details-renderer-test.js +11 -10
  895. package/report/test/renderer/details-renderer-test.js +91 -41
  896. package/report/test/renderer/dom-test.js +38 -14
  897. package/report/test/renderer/element-screenshot-renderer-test.js +14 -12
  898. package/report/test/renderer/i18n-formatter-test.js +179 -0
  899. package/report/test/renderer/performance-category-renderer-test.js +43 -31
  900. package/report/test/renderer/pwa-category-renderer-test.js +17 -13
  901. package/report/test/renderer/report-renderer-axe-test.js +12 -15
  902. package/report/test/renderer/report-renderer-test.js +17 -15
  903. package/report/test/renderer/report-ui-features-test.js +304 -89
  904. package/report/test/renderer/report-utils-test.js +219 -0
  905. package/report/test/renderer/snippet-renderer-test.js +11 -10
  906. package/report/test/renderer/text-encoding-test.js +2 -5
  907. package/report/test-assets/faux-psi-template.html +1 -1
  908. package/report/test-assets/faux-psi.d.ts +34 -0
  909. package/report/test-assets/faux-psi.js +83 -68
  910. package/report/test-assets/lhr-3.0.0.json +2332 -0
  911. package/report/test-assets/lhr-4.3.0.json +4754 -0
  912. package/report/test-assets/lhr-5.0.0.json +5994 -0
  913. package/report/test-assets/lhr-6.0.0.json +7222 -0
  914. package/report/test-assets/lhr-8.5.0.json +8679 -0
  915. package/report/tsconfig.json +1 -2
  916. package/report/types/augment-dom.d.ts +1 -1
  917. package/root.d.ts +3 -0
  918. package/root.js +9 -19
  919. package/shared/localization/format.d.ts +106 -0
  920. package/shared/localization/format.js +27 -21
  921. package/shared/localization/i18n-module.d.ts +4 -0
  922. package/shared/localization/i18n-module.js +7 -3
  923. package/shared/localization/locales/ar-XB.json +1658 -1007
  924. package/shared/localization/locales/ar.json +1659 -1008
  925. package/shared/localization/locales/bg.json +1657 -1006
  926. package/shared/localization/locales/ca.json +1664 -1013
  927. package/shared/localization/locales/cs.json +1659 -1008
  928. package/shared/localization/locales/da.json +1658 -1007
  929. package/shared/localization/locales/de.json +1794 -1143
  930. package/shared/localization/locales/el.json +1657 -1006
  931. package/shared/localization/locales/en-GB.json +1658 -1007
  932. package/shared/localization/locales/en-US.json +1471 -1066
  933. package/shared/localization/locales/en-XA.json +1658 -1007
  934. package/shared/localization/locales/en-XL.json +1471 -1066
  935. package/shared/localization/locales/es-419.json +1660 -1009
  936. package/shared/localization/locales/es.json +1665 -1014
  937. package/shared/localization/locales/fi.json +1658 -1007
  938. package/shared/localization/locales/fil.json +1659 -1008
  939. package/shared/localization/locales/fr.json +1660 -1009
  940. package/shared/localization/locales/he.json +1678 -1027
  941. package/shared/localization/locales/hi.json +1661 -1010
  942. package/shared/localization/locales/hr.json +1658 -1007
  943. package/shared/localization/locales/hu.json +1657 -1006
  944. package/shared/localization/locales/id.json +1658 -1007
  945. package/shared/localization/locales/it.json +1678 -1027
  946. package/shared/localization/locales/ja.json +1657 -1006
  947. package/shared/localization/locales/ko.json +1658 -1007
  948. package/shared/localization/locales/lt.json +1658 -1007
  949. package/shared/localization/locales/lv.json +1658 -1007
  950. package/shared/localization/locales/nl.json +1659 -1008
  951. package/shared/localization/locales/no.json +1662 -1011
  952. package/shared/localization/locales/pl.json +1657 -1006
  953. package/shared/localization/locales/pt-PT.json +1678 -1027
  954. package/shared/localization/locales/pt.json +1659 -1008
  955. package/shared/localization/locales/ro.json +1657 -1006
  956. package/shared/localization/locales/ru.json +1657 -1006
  957. package/shared/localization/locales/sk.json +1657 -1006
  958. package/shared/localization/locales/sl.json +1657 -1006
  959. package/shared/localization/locales/sr-Latn.json +1658 -1007
  960. package/shared/localization/locales/sr.json +1658 -1007
  961. package/shared/localization/locales/sv.json +1664 -1013
  962. package/shared/localization/locales/ta.json +1658 -1007
  963. package/shared/localization/locales/te.json +1688 -1037
  964. package/shared/localization/locales/th.json +1666 -1015
  965. package/shared/localization/locales/tr.json +1658 -1007
  966. package/shared/localization/locales/uk.json +1657 -1006
  967. package/shared/localization/locales/vi.json +1659 -1008
  968. package/shared/localization/locales/zh-HK.json +1658 -1007
  969. package/shared/localization/locales/zh-TW.json +1661 -1010
  970. package/shared/localization/locales/zh.json +1658 -1007
  971. package/shared/localization/locales.d.ts +7 -0
  972. package/shared/localization/locales.js +54 -51
  973. package/shared/localization/swap-flow-locale.d.ts +6 -0
  974. package/shared/localization/swap-flow-locale.js +6 -3
  975. package/shared/localization/swap-locale.d.ts +39 -0
  976. package/shared/localization/swap-locale.js +7 -8
  977. package/shared/test/localization/format-test.js +73 -56
  978. package/shared/test/localization/locales-test.js +2 -4
  979. package/shared/test/localization/swap-locale-test.js +10 -11
  980. package/shared/test/util-test.js +214 -0
  981. package/shared/tsconfig.json +1 -2
  982. package/shared/type-verifiers.d.ts +23 -0
  983. package/shared/type-verifiers.js +1 -2
  984. package/shared/types/shared.d.ts +2 -2
  985. package/shared/util.d.ts +122 -0
  986. package/shared/util.js +332 -0
  987. package/third-party/axe/valid-langs.d.ts +9 -0
  988. package/third-party/axe/valid-langs.js +1 -1
  989. package/third-party/chromium-synchronization/inspector-issueAdded-types-test.js +5 -7
  990. package/third-party/chromium-synchronization/installability-errors-test.js +4 -8
  991. package/third-party/download-content-shell/README.md +1 -0
  992. package/third-party/download-content-shell/download-content-shell.js +12 -6
  993. package/third-party/download-content-shell/utils.js +8 -8
  994. package/tsconfig-base.json +6 -1
  995. package/tsconfig.json +84 -90
  996. package/types/artifacts.d.ts +135 -78
  997. package/types/audit.d.ts +9 -8
  998. package/types/config.d.ts +26 -38
  999. package/types/externs.d.ts +9 -101
  1000. package/types/gatherer.d.ts +35 -27
  1001. package/types/internal/cssstyle.d.ts +23 -0
  1002. package/types/{enquirer.d.ts → internal/enquirer.d.ts} +0 -0
  1003. package/types/{es-main.d.ts → internal/es-main.d.ts} +0 -0
  1004. package/types/internal/global.d.ts +15 -0
  1005. package/types/{http-link-header/index.d.ts → internal/http-link-header.d.ts} +0 -0
  1006. package/types/{jsonlint-mod.d.ts → internal/jsonlint-mod.d.ts} +0 -0
  1007. package/types/internal/lighthouse-logger.d.ts +34 -0
  1008. package/types/internal/lookup-closest-locale.d.ts +13 -0
  1009. package/types/{metaviewport-parser/index.d.ts → internal/metaviewport-parser.d.ts} +0 -0
  1010. package/types/{node-fetch.d.ts → internal/node-fetch.d.ts} +0 -0
  1011. package/types/internal/node.d.ts +44 -0
  1012. package/types/{parse-cache-control/index.d.ts → internal/parse-cache-control.d.ts} +0 -0
  1013. package/types/{pretty-json-stringify/index.d.ts → internal/pretty-json-stringify.d.ts} +0 -0
  1014. package/types/internal/query-selector.d.ts +36 -0
  1015. package/types/{rollup-plugin-postprocess.d.ts → internal/rollup-plugin-postprocess.d.ts} +0 -0
  1016. package/types/internal/smokehouse.d.ts +83 -0
  1017. package/types/internal/test.d.ts +53 -0
  1018. package/types/lh.d.ts +81 -0
  1019. package/types/lh.js +13 -0
  1020. package/types/lhr/audit-details.d.ts +6 -53
  1021. package/types/lhr/audit-result.d.ts +2 -2
  1022. package/types/lhr/flow-result.d.ts +28 -0
  1023. package/types/lhr/lhr.d.ts +53 -6
  1024. package/types/lhr/settings.d.ts +18 -1
  1025. package/types/lhr/treemap.d.ts +5 -4
  1026. package/types/lhr/tsconfig.json +0 -2
  1027. package/types/protocol.d.ts +32 -18
  1028. package/types/puppeteer.d.ts +27 -0
  1029. package/types/user-flow.d.ts +27 -6
  1030. package/types/utility-types.d.ts +72 -0
  1031. package/vercel.json +6 -0
  1032. package/eslint-local-rules.js +0 -106
  1033. package/flow-report/.eslintrc.cjs +0 -51
  1034. package/flow-report/jest.config.js +0 -24
  1035. package/flow-report/package.json +0 -4
  1036. package/flow-report/test/setup/global-setup.ts +0 -11
  1037. package/jest.config.js +0 -30
  1038. package/lighthouse-cli/.eslintrc.cjs +0 -29
  1039. package/lighthouse-cli/bin.js +0 -152
  1040. package/lighthouse-cli/cli-flags.js +0 -530
  1041. package/lighthouse-cli/commands/commands.js +0 -10
  1042. package/lighthouse-cli/commands/list-audits.js +0 -16
  1043. package/lighthouse-cli/commands/list-locales.js +0 -16
  1044. package/lighthouse-cli/commands/list-trace-categories.js +0 -16
  1045. package/lighthouse-cli/index.js +0 -14
  1046. package/lighthouse-cli/package.json +0 -4
  1047. package/lighthouse-cli/printer.js +0 -100
  1048. package/lighthouse-cli/run.js +0 -286
  1049. package/lighthouse-cli/sentry-prompt.js +0 -79
  1050. package/lighthouse-cli/test/smokehouse/core-tests.js +0 -129
  1051. package/lighthouse-cli/test/smokehouse/frontends/back-compat-util.js +0 -42
  1052. package/lighthouse-cli/test/smokehouse/frontends/lib.js +0 -49
  1053. package/lighthouse-cli/test/smokehouse/frontends/node.js +0 -13
  1054. package/lighthouse-cli/test/smokehouse/frontends/smokehouse-bin.js +0 -262
  1055. package/lighthouse-cli/test/smokehouse/lib/child-process-error.js +0 -26
  1056. package/lighthouse-cli/test/smokehouse/lib/concurrent-mapper.js +0 -126
  1057. package/lighthouse-cli/test/smokehouse/lib/local-console.js +0 -51
  1058. package/lighthouse-cli/test/smokehouse/lighthouse-runners/bundle.js +0 -68
  1059. package/lighthouse-cli/test/smokehouse/lighthouse-runners/cli.js +0 -151
  1060. package/lighthouse-cli/test/smokehouse/lighthouse-runners/devtools.js +0 -106
  1061. package/lighthouse-cli/test/smokehouse/readme.md +0 -204
  1062. package/lighthouse-cli/test/smokehouse/report-assert.js +0 -493
  1063. package/lighthouse-cli/test/smokehouse/smokehouse.js +0 -284
  1064. package/lighthouse-cli/test/smokehouse/version-check-test.js +0 -46
  1065. package/lighthouse-cli/test/smokehouse/version-check.js +0 -49
  1066. package/lighthouse-core/audits/accessibility/accesskeys.js +0 -45
  1067. package/lighthouse-core/audits/accessibility/aria-allowed-attr.js +0 -45
  1068. package/lighthouse-core/audits/accessibility/aria-command-name.js +0 -43
  1069. package/lighthouse-core/audits/accessibility/aria-hidden-body.js +0 -43
  1070. package/lighthouse-core/audits/accessibility/aria-hidden-focus.js +0 -43
  1071. package/lighthouse-core/audits/accessibility/aria-input-field-name.js +0 -43
  1072. package/lighthouse-core/audits/accessibility/aria-meter-name.js +0 -43
  1073. package/lighthouse-core/audits/accessibility/aria-progressbar-name.js +0 -43
  1074. package/lighthouse-core/audits/accessibility/aria-required-attr.js +0 -44
  1075. package/lighthouse-core/audits/accessibility/aria-required-children.js +0 -48
  1076. package/lighthouse-core/audits/accessibility/aria-required-parent.js +0 -46
  1077. package/lighthouse-core/audits/accessibility/aria-roles.js +0 -45
  1078. package/lighthouse-core/audits/accessibility/aria-toggle-field-name.js +0 -43
  1079. package/lighthouse-core/audits/accessibility/aria-tooltip-name.js +0 -43
  1080. package/lighthouse-core/audits/accessibility/aria-treeitem-name.js +0 -43
  1081. package/lighthouse-core/audits/accessibility/aria-valid-attr-value.js +0 -45
  1082. package/lighthouse-core/audits/accessibility/aria-valid-attr.js +0 -45
  1083. package/lighthouse-core/audits/accessibility/axe-audit.js +0 -114
  1084. package/lighthouse-core/audits/accessibility/button-name.js +0 -45
  1085. package/lighthouse-core/audits/accessibility/bypass.js +0 -46
  1086. package/lighthouse-core/audits/accessibility/color-contrast.js +0 -46
  1087. package/lighthouse-core/audits/accessibility/definition-list.js +0 -47
  1088. package/lighthouse-core/audits/accessibility/dlitem.js +0 -45
  1089. package/lighthouse-core/audits/accessibility/document-title.js +0 -45
  1090. package/lighthouse-core/audits/accessibility/duplicate-id-active.js +0 -43
  1091. package/lighthouse-core/audits/accessibility/duplicate-id-aria.js +0 -43
  1092. package/lighthouse-core/audits/accessibility/form-field-multiple-labels.js +0 -44
  1093. package/lighthouse-core/audits/accessibility/frame-title.js +0 -44
  1094. package/lighthouse-core/audits/accessibility/heading-order.js +0 -43
  1095. package/lighthouse-core/audits/accessibility/html-has-lang.js +0 -47
  1096. package/lighthouse-core/audits/accessibility/html-lang-valid.js +0 -46
  1097. package/lighthouse-core/audits/accessibility/image-alt.js +0 -45
  1098. package/lighthouse-core/audits/accessibility/input-image-alt.js +0 -45
  1099. package/lighthouse-core/audits/accessibility/label.js +0 -45
  1100. package/lighthouse-core/audits/accessibility/link-name.js +0 -46
  1101. package/lighthouse-core/audits/accessibility/list.js +0 -47
  1102. package/lighthouse-core/audits/accessibility/listitem.js +0 -46
  1103. package/lighthouse-core/audits/accessibility/manual/custom-controls-labels.js +0 -28
  1104. package/lighthouse-core/audits/accessibility/manual/custom-controls-roles.js +0 -28
  1105. package/lighthouse-core/audits/accessibility/manual/focus-traps.js +0 -28
  1106. package/lighthouse-core/audits/accessibility/manual/focusable-controls.js +0 -28
  1107. package/lighthouse-core/audits/accessibility/manual/interactive-element-affordance.js +0 -28
  1108. package/lighthouse-core/audits/accessibility/manual/logical-tab-order.js +0 -28
  1109. package/lighthouse-core/audits/accessibility/manual/managed-focus.js +0 -28
  1110. package/lighthouse-core/audits/accessibility/manual/offscreen-content-hidden.js +0 -29
  1111. package/lighthouse-core/audits/accessibility/manual/use-landmarks.js +0 -28
  1112. package/lighthouse-core/audits/accessibility/manual/visual-order-follows-dom.js +0 -28
  1113. package/lighthouse-core/audits/accessibility/meta-refresh.js +0 -46
  1114. package/lighthouse-core/audits/accessibility/meta-viewport.js +0 -47
  1115. package/lighthouse-core/audits/accessibility/object-alt.js +0 -45
  1116. package/lighthouse-core/audits/accessibility/tabindex.js +0 -45
  1117. package/lighthouse-core/audits/accessibility/td-headers-attr.js +0 -49
  1118. package/lighthouse-core/audits/accessibility/th-has-data-cells.js +0 -48
  1119. package/lighthouse-core/audits/accessibility/valid-lang.js +0 -45
  1120. package/lighthouse-core/audits/accessibility/video-caption.js +0 -46
  1121. package/lighthouse-core/audits/apple-touch-icon.js +0 -72
  1122. package/lighthouse-core/audits/audit.js +0 -391
  1123. package/lighthouse-core/audits/autocomplete.js +0 -290
  1124. package/lighthouse-core/audits/bootup-time.js +0 -152
  1125. package/lighthouse-core/audits/byte-efficiency/byte-efficiency-audit.js +0 -258
  1126. package/lighthouse-core/audits/byte-efficiency/duplicated-javascript.js +0 -249
  1127. package/lighthouse-core/audits/byte-efficiency/efficient-animated-content.js +0 -92
  1128. package/lighthouse-core/audits/byte-efficiency/legacy-javascript.js +0 -472
  1129. package/lighthouse-core/audits/byte-efficiency/modern-image-formats.js +0 -186
  1130. package/lighthouse-core/audits/byte-efficiency/offscreen-images.js +0 -252
  1131. package/lighthouse-core/audits/byte-efficiency/render-blocking-resources.js +0 -309
  1132. package/lighthouse-core/audits/byte-efficiency/total-byte-weight.js +0 -111
  1133. package/lighthouse-core/audits/byte-efficiency/unminified-css.js +0 -117
  1134. package/lighthouse-core/audits/byte-efficiency/unminified-javascript.js +0 -120
  1135. package/lighthouse-core/audits/byte-efficiency/unused-css-rules.js +0 -71
  1136. package/lighthouse-core/audits/byte-efficiency/unused-javascript.js +0 -161
  1137. package/lighthouse-core/audits/byte-efficiency/uses-long-cache-ttl.js +0 -298
  1138. package/lighthouse-core/audits/byte-efficiency/uses-optimized-images.js +0 -145
  1139. package/lighthouse-core/audits/byte-efficiency/uses-responsive-images-snapshot.js +0 -100
  1140. package/lighthouse-core/audits/byte-efficiency/uses-responsive-images.js +0 -177
  1141. package/lighthouse-core/audits/byte-efficiency/uses-text-compression.js +0 -100
  1142. package/lighthouse-core/audits/content-width.js +0 -77
  1143. package/lighthouse-core/audits/critical-request-chains.js +0 -220
  1144. package/lighthouse-core/audits/csp-xss.js +0 -186
  1145. package/lighthouse-core/audits/deprecations.js +0 -115
  1146. package/lighthouse-core/audits/diagnostics.js +0 -79
  1147. package/lighthouse-core/audits/dobetterweb/charset.js +0 -96
  1148. package/lighthouse-core/audits/dobetterweb/doctype.js +0 -94
  1149. package/lighthouse-core/audits/dobetterweb/dom-size.js +0 -123
  1150. package/lighthouse-core/audits/dobetterweb/geolocation-on-start.js +0 -70
  1151. package/lighthouse-core/audits/dobetterweb/inspector-issues.js +0 -192
  1152. package/lighthouse-core/audits/dobetterweb/js-libraries.js +0 -88
  1153. package/lighthouse-core/audits/dobetterweb/no-document-write.js +0 -85
  1154. package/lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js +0 -225
  1155. package/lighthouse-core/audits/dobetterweb/notification-on-start.js +0 -69
  1156. package/lighthouse-core/audits/dobetterweb/password-inputs-can-be-pasted-into.js +0 -66
  1157. package/lighthouse-core/audits/dobetterweb/uses-http2.js +0 -258
  1158. package/lighthouse-core/audits/dobetterweb/uses-passive-event-listeners.js +0 -68
  1159. package/lighthouse-core/audits/errors-in-console.js +0 -118
  1160. package/lighthouse-core/audits/final-screenshot.js +0 -59
  1161. package/lighthouse-core/audits/font-display.js +0 -193
  1162. package/lighthouse-core/audits/full-page-screenshot.js +0 -43
  1163. package/lighthouse-core/audits/image-aspect-ratio.js +0 -122
  1164. package/lighthouse-core/audits/image-size-responsive.js +0 -331
  1165. package/lighthouse-core/audits/installable-manifest.js +0 -266
  1166. package/lighthouse-core/audits/is-on-https.js +0 -125
  1167. package/lighthouse-core/audits/largest-contentful-paint-element.js +0 -70
  1168. package/lighthouse-core/audits/layout-shift-elements.js +0 -75
  1169. package/lighthouse-core/audits/lcp-lazy-loaded.js +0 -85
  1170. package/lighthouse-core/audits/long-tasks.js +0 -124
  1171. package/lighthouse-core/audits/main-thread-tasks.js +0 -59
  1172. package/lighthouse-core/audits/mainthread-work-breakdown.js +0 -134
  1173. package/lighthouse-core/audits/manual/manual-audit.js +0 -37
  1174. package/lighthouse-core/audits/manual/pwa-cross-browser.js +0 -41
  1175. package/lighthouse-core/audits/manual/pwa-each-page-has-url.js +0 -39
  1176. package/lighthouse-core/audits/manual/pwa-page-transitions.js +0 -39
  1177. package/lighthouse-core/audits/maskable-icon.js +0 -71
  1178. package/lighthouse-core/audits/metrics/cumulative-layout-shift.js +0 -79
  1179. package/lighthouse-core/audits/metrics/experimental-interaction-to-next-paint.js +0 -88
  1180. package/lighthouse-core/audits/metrics/first-contentful-paint-3g.js +0 -67
  1181. package/lighthouse-core/audits/metrics/first-contentful-paint.js +0 -85
  1182. package/lighthouse-core/audits/metrics/first-meaningful-paint.js +0 -89
  1183. package/lighthouse-core/audits/metrics/interactive.js +0 -93
  1184. package/lighthouse-core/audits/metrics/largest-contentful-paint.js +0 -114
  1185. package/lighthouse-core/audits/metrics/max-potential-fid.js +0 -76
  1186. package/lighthouse-core/audits/metrics/speed-index.js +0 -88
  1187. package/lighthouse-core/audits/metrics/total-blocking-time.js +0 -117
  1188. package/lighthouse-core/audits/metrics.js +0 -73
  1189. package/lighthouse-core/audits/multi-check-audit.js +0 -83
  1190. package/lighthouse-core/audits/network-requests.js +0 -130
  1191. package/lighthouse-core/audits/network-rtt.js +0 -90
  1192. package/lighthouse-core/audits/network-server-latency.js +0 -89
  1193. package/lighthouse-core/audits/no-unload-listeners.js +0 -95
  1194. package/lighthouse-core/audits/non-composited-animations.js +0 -206
  1195. package/lighthouse-core/audits/oopif-iframe-test-audit.js +0 -30
  1196. package/lighthouse-core/audits/performance-budget.js +0 -154
  1197. package/lighthouse-core/audits/predictive-perf.js +0 -101
  1198. package/lighthouse-core/audits/preload-fonts.js +0 -107
  1199. package/lighthouse-core/audits/preload-lcp-image.js +0 -272
  1200. package/lighthouse-core/audits/redirects.js +0 -163
  1201. package/lighthouse-core/audits/resource-summary.js +0 -104
  1202. package/lighthouse-core/audits/screenshot-thumbnails.js +0 -163
  1203. package/lighthouse-core/audits/script-treemap-data.js +0 -288
  1204. package/lighthouse-core/audits/seo/canonical.js +0 -218
  1205. package/lighthouse-core/audits/seo/crawlable-anchors.js +0 -94
  1206. package/lighthouse-core/audits/seo/font-size.js +0 -344
  1207. package/lighthouse-core/audits/seo/hreflang.js +0 -149
  1208. package/lighthouse-core/audits/seo/http-status-code.js +0 -70
  1209. package/lighthouse-core/audits/seo/is-crawlable.js +0 -155
  1210. package/lighthouse-core/audits/seo/link-text.js +0 -158
  1211. package/lighthouse-core/audits/seo/manual/structured-data.js +0 -38
  1212. package/lighthouse-core/audits/seo/meta-description.js +0 -67
  1213. package/lighthouse-core/audits/seo/plugins.js +0 -152
  1214. package/lighthouse-core/audits/seo/robots-txt.js +0 -256
  1215. package/lighthouse-core/audits/seo/tap-targets.js +0 -352
  1216. package/lighthouse-core/audits/server-response-time.js +0 -106
  1217. package/lighthouse-core/audits/service-worker.js +0 -179
  1218. package/lighthouse-core/audits/splash-screen.js +0 -99
  1219. package/lighthouse-core/audits/themed-omnibox.js +0 -110
  1220. package/lighthouse-core/audits/third-party-facades.js +0 -221
  1221. package/lighthouse-core/audits/third-party-summary.js +0 -259
  1222. package/lighthouse-core/audits/timing-budget.js +0 -174
  1223. package/lighthouse-core/audits/unsized-images.js +0 -163
  1224. package/lighthouse-core/audits/user-timings.js +0 -120
  1225. package/lighthouse-core/audits/uses-rel-preconnect.js +0 -254
  1226. package/lighthouse-core/audits/uses-rel-preload.js +0 -267
  1227. package/lighthouse-core/audits/valid-source-maps.js +0 -157
  1228. package/lighthouse-core/audits/viewport.js +0 -65
  1229. package/lighthouse-core/audits/violation-audit.js +0 -50
  1230. package/lighthouse-core/audits/work-during-interaction.js +0 -280
  1231. package/lighthouse-core/computed/computed-artifact.js +0 -62
  1232. package/lighthouse-core/computed/critical-request-chains.js +0 -146
  1233. package/lighthouse-core/computed/image-records.js +0 -63
  1234. package/lighthouse-core/computed/js-bundles.js +0 -119
  1235. package/lighthouse-core/computed/load-simulator.js +0 -92
  1236. package/lighthouse-core/computed/main-resource.js +0 -34
  1237. package/lighthouse-core/computed/main-thread-tasks.js +0 -25
  1238. package/lighthouse-core/computed/manifest-values.js +0 -135
  1239. package/lighthouse-core/computed/metrics/cumulative-layout-shift.js +0 -129
  1240. package/lighthouse-core/computed/metrics/first-contentful-paint-all-frames.js +0 -37
  1241. package/lighthouse-core/computed/metrics/first-contentful-paint.js +0 -40
  1242. package/lighthouse-core/computed/metrics/first-meaningful-paint.js +0 -44
  1243. package/lighthouse-core/computed/metrics/interactive.js +0 -193
  1244. package/lighthouse-core/computed/metrics/lantern-first-contentful-paint.js +0 -204
  1245. package/lighthouse-core/computed/metrics/lantern-first-meaningful-paint.js +0 -83
  1246. package/lighthouse-core/computed/metrics/lantern-interactive.js +0 -113
  1247. package/lighthouse-core/computed/metrics/lantern-largest-contentful-paint.js +0 -111
  1248. package/lighthouse-core/computed/metrics/lantern-max-potential-fid.js +0 -93
  1249. package/lighthouse-core/computed/metrics/lantern-metric.js +0 -167
  1250. package/lighthouse-core/computed/metrics/lantern-speed-index.js +0 -150
  1251. package/lighthouse-core/computed/metrics/lantern-total-blocking-time.js +0 -126
  1252. package/lighthouse-core/computed/metrics/largest-contentful-paint-all-frames.js +0 -45
  1253. package/lighthouse-core/computed/metrics/largest-contentful-paint.js +0 -52
  1254. package/lighthouse-core/computed/metrics/max-potential-fid.js +0 -45
  1255. package/lighthouse-core/computed/metrics/metric.js +0 -100
  1256. package/lighthouse-core/computed/metrics/navigation-metric.js +0 -46
  1257. package/lighthouse-core/computed/metrics/responsiveness.js +0 -157
  1258. package/lighthouse-core/computed/metrics/speed-index.js +0 -40
  1259. package/lighthouse-core/computed/metrics/tbt-utils.js +0 -57
  1260. package/lighthouse-core/computed/metrics/timing-summary.js +0 -150
  1261. package/lighthouse-core/computed/metrics/total-blocking-time.js +0 -74
  1262. package/lighthouse-core/computed/module-duplication.js +0 -136
  1263. package/lighthouse-core/computed/network-analysis.js +0 -64
  1264. package/lighthouse-core/computed/network-records.js +0 -21
  1265. package/lighthouse-core/computed/page-dependency-graph.js +0 -488
  1266. package/lighthouse-core/computed/processed-navigation.js +0 -21
  1267. package/lighthouse-core/computed/processed-trace.js +0 -21
  1268. package/lighthouse-core/computed/resource-summary.js +0 -114
  1269. package/lighthouse-core/computed/screenshots.js +0 -29
  1270. package/lighthouse-core/computed/speedline.js +0 -54
  1271. package/lighthouse-core/computed/trace-of-tab.js +0 -30
  1272. package/lighthouse-core/computed/unused-css.js +0 -154
  1273. package/lighthouse-core/computed/unused-javascript-summary.js +0 -175
  1274. package/lighthouse-core/computed/user-timings.js +0 -83
  1275. package/lighthouse-core/computed/viewport-meta.js +0 -56
  1276. package/lighthouse-core/config/budget.js +0 -341
  1277. package/lighthouse-core/config/config-helpers.js +0 -590
  1278. package/lighthouse-core/config/config-plugin.js +0 -225
  1279. package/lighthouse-core/config/config.js +0 -544
  1280. package/lighthouse-core/config/constants.js +0 -169
  1281. package/lighthouse-core/config/default-config.js +0 -632
  1282. package/lighthouse-core/config/desktop-config.js +0 -21
  1283. package/lighthouse-core/config/experimental-config.js +0 -30
  1284. package/lighthouse-core/config/full-config.js +0 -14
  1285. package/lighthouse-core/config/lr-desktop-config.js +0 -25
  1286. package/lighthouse-core/config/lr-mobile-config.js +0 -31
  1287. package/lighthouse-core/config/metrics-to-audits.js +0 -61
  1288. package/lighthouse-core/config/perf-config.js +0 -17
  1289. package/lighthouse-core/fraggle-rock/api.js +0 -77
  1290. package/lighthouse-core/fraggle-rock/config/config.js +0 -281
  1291. package/lighthouse-core/fraggle-rock/config/default-config.js +0 -205
  1292. package/lighthouse-core/fraggle-rock/config/filters.js +0 -335
  1293. package/lighthouse-core/fraggle-rock/config/validation.js +0 -313
  1294. package/lighthouse-core/fraggle-rock/gather/base-artifacts.js +0 -99
  1295. package/lighthouse-core/fraggle-rock/gather/base-gatherer.js +0 -107
  1296. package/lighthouse-core/fraggle-rock/gather/driver.js +0 -88
  1297. package/lighthouse-core/fraggle-rock/gather/navigation-runner.js +0 -339
  1298. package/lighthouse-core/fraggle-rock/gather/runner-helpers.js +0 -160
  1299. package/lighthouse-core/fraggle-rock/gather/session.js +0 -182
  1300. package/lighthouse-core/fraggle-rock/gather/snapshot-runner.js +0 -68
  1301. package/lighthouse-core/fraggle-rock/gather/timespan-runner.js +0 -82
  1302. package/lighthouse-core/fraggle-rock/user-flow.js +0 -229
  1303. package/lighthouse-core/gather/connections/connection.js +0 -179
  1304. package/lighthouse-core/gather/connections/cri.js +0 -171
  1305. package/lighthouse-core/gather/connections/raw.js +0 -58
  1306. package/lighthouse-core/gather/devtools-log.js +0 -61
  1307. package/lighthouse-core/gather/driver/dom.js +0 -58
  1308. package/lighthouse-core/gather/driver/environment.js +0 -105
  1309. package/lighthouse-core/gather/driver/execution-context.js +0 -249
  1310. package/lighthouse-core/gather/driver/navigation.js +0 -179
  1311. package/lighthouse-core/gather/driver/network-monitor.js +0 -290
  1312. package/lighthouse-core/gather/driver/network.js +0 -28
  1313. package/lighthouse-core/gather/driver/prepare.js +0 -226
  1314. package/lighthouse-core/gather/driver/service-workers.js +0 -53
  1315. package/lighthouse-core/gather/driver/storage.js +0 -125
  1316. package/lighthouse-core/gather/driver/target-manager.js +0 -125
  1317. package/lighthouse-core/gather/driver/wait-for-condition.js +0 -535
  1318. package/lighthouse-core/gather/driver.js +0 -482
  1319. package/lighthouse-core/gather/fetcher.js +0 -318
  1320. package/lighthouse-core/gather/gather-runner.js +0 -622
  1321. package/lighthouse-core/gather/gatherers/accessibility.js +0 -172
  1322. package/lighthouse-core/gather/gatherers/anchor-elements.js +0 -133
  1323. package/lighthouse-core/gather/gatherers/cache-contents.js +0 -59
  1324. package/lighthouse-core/gather/gatherers/console-messages.js +0 -173
  1325. package/lighthouse-core/gather/gatherers/css-usage.js +0 -149
  1326. package/lighthouse-core/gather/gatherers/devtools-log-compat.js +0 -36
  1327. package/lighthouse-core/gather/gatherers/devtools-log.js +0 -66
  1328. package/lighthouse-core/gather/gatherers/dobetterweb/doctype.js +0 -46
  1329. package/lighthouse-core/gather/gatherers/dobetterweb/domstats.js +0 -103
  1330. package/lighthouse-core/gather/gatherers/dobetterweb/optimized-images.js +0 -192
  1331. package/lighthouse-core/gather/gatherers/dobetterweb/password-inputs-with-prevented-paste.js +0 -50
  1332. package/lighthouse-core/gather/gatherers/dobetterweb/response-compression.js +0 -154
  1333. package/lighthouse-core/gather/gatherers/dobetterweb/tags-blocking-first-paint.js +0 -238
  1334. package/lighthouse-core/gather/gatherers/full-page-screenshot.js +0 -235
  1335. package/lighthouse-core/gather/gatherers/gatherer.js +0 -59
  1336. package/lighthouse-core/gather/gatherers/global-listeners.js +0 -92
  1337. package/lighthouse-core/gather/gatherers/iframe-elements.js +0 -65
  1338. package/lighthouse-core/gather/gatherers/image-elements.js +0 -375
  1339. package/lighthouse-core/gather/gatherers/inputs.js +0 -113
  1340. package/lighthouse-core/gather/gatherers/inspector-issues.js +0 -127
  1341. package/lighthouse-core/gather/gatherers/installability-errors.js +0 -48
  1342. package/lighthouse-core/gather/gatherers/js-usage.js +0 -145
  1343. package/lighthouse-core/gather/gatherers/link-elements.js +0 -184
  1344. package/lighthouse-core/gather/gatherers/main-document-content.js +0 -56
  1345. package/lighthouse-core/gather/gatherers/meta-elements.js +0 -68
  1346. package/lighthouse-core/gather/gatherers/network-user-agent.js +0 -42
  1347. package/lighthouse-core/gather/gatherers/script-elements.js +0 -160
  1348. package/lighthouse-core/gather/gatherers/seo/embedded-content.js +0 -64
  1349. package/lighthouse-core/gather/gatherers/seo/font-size.js +0 -380
  1350. package/lighthouse-core/gather/gatherers/seo/robots-txt.js +0 -56
  1351. package/lighthouse-core/gather/gatherers/seo/tap-targets.js +0 -370
  1352. package/lighthouse-core/gather/gatherers/service-worker.js +0 -45
  1353. package/lighthouse-core/gather/gatherers/source-maps.js +0 -150
  1354. package/lighthouse-core/gather/gatherers/stacks.js +0 -125
  1355. package/lighthouse-core/gather/gatherers/trace-compat.js +0 -36
  1356. package/lighthouse-core/gather/gatherers/trace-elements.js +0 -349
  1357. package/lighthouse-core/gather/gatherers/trace.js +0 -131
  1358. package/lighthouse-core/gather/gatherers/viewport-dimensions.js +0 -58
  1359. package/lighthouse-core/gather/gatherers/web-app-manifest.js +0 -102
  1360. package/lighthouse-core/index.js +0 -80
  1361. package/lighthouse-core/lib/arbitrary-equality-map.js +0 -81
  1362. package/lighthouse-core/lib/asset-saver.js +0 -341
  1363. package/lighthouse-core/lib/axe.js +0 -13
  1364. package/lighthouse-core/lib/cdt/Platform.js +0 -55
  1365. package/lighthouse-core/lib/cdt/SDK.js +0 -28
  1366. package/lighthouse-core/lib/cdt/generated/SourceMap.js +0 -346
  1367. package/lighthouse-core/lib/csp-evaluator.js +0 -173
  1368. package/lighthouse-core/lib/dependency-graph/base-node.js +0 -363
  1369. package/lighthouse-core/lib/dependency-graph/cpu-node.js +0 -86
  1370. package/lighthouse-core/lib/dependency-graph/network-node.js +0 -99
  1371. package/lighthouse-core/lib/dependency-graph/simulator/connection-pool.js +0 -171
  1372. package/lighthouse-core/lib/dependency-graph/simulator/dns-cache.js +0 -73
  1373. package/lighthouse-core/lib/dependency-graph/simulator/network-analyzer.js +0 -498
  1374. package/lighthouse-core/lib/dependency-graph/simulator/simulator-timing-map.js +0 -212
  1375. package/lighthouse-core/lib/dependency-graph/simulator/simulator.js +0 -523
  1376. package/lighthouse-core/lib/dependency-graph/simulator/tcp-connection.js +0 -206
  1377. package/lighthouse-core/lib/deprecations-strings.js +0 -573
  1378. package/lighthouse-core/lib/emulation.js +0 -164
  1379. package/lighthouse-core/lib/i18n/README.md +0 -273
  1380. package/lighthouse-core/lib/i18n/i18n.js +0 -221
  1381. package/lighthouse-core/lib/icons.js +0 -85
  1382. package/lighthouse-core/lib/lantern-trace-saver.js +0 -198
  1383. package/lighthouse-core/lib/lh-env.js +0 -14
  1384. package/lighthouse-core/lib/lh-error.js +0 -421
  1385. package/lighthouse-core/lib/lh-trace-processor.js +0 -46
  1386. package/lighthouse-core/lib/manifest-parser.js +0 -513
  1387. package/lighthouse-core/lib/median-run.js +0 -92
  1388. package/lighthouse-core/lib/minification-estimator.js +0 -193
  1389. package/lighthouse-core/lib/minify-devtoolslog.js +0 -87
  1390. package/lighthouse-core/lib/minify-trace.js +0 -173
  1391. package/lighthouse-core/lib/navigation-error.js +0 -145
  1392. package/lighthouse-core/lib/network-recorder.js +0 -337
  1393. package/lighthouse-core/lib/network-request.js +0 -545
  1394. package/lighthouse-core/lib/page-functions.js +0 -559
  1395. package/lighthouse-core/lib/proto-preprocessor.js +0 -133
  1396. package/lighthouse-core/lib/rect-helpers.js +0 -252
  1397. package/lighthouse-core/lib/script-helpers.js +0 -24
  1398. package/lighthouse-core/lib/sentry.js +0 -144
  1399. package/lighthouse-core/lib/stack-packs.js +0 -120
  1400. package/lighthouse-core/lib/statistics.js +0 -104
  1401. package/lighthouse-core/lib/tappable-rects.js +0 -99
  1402. package/lighthouse-core/lib/third-party-web.js +0 -53
  1403. package/lighthouse-core/lib/timing-trace-saver.js +0 -97
  1404. package/lighthouse-core/lib/tracehouse/cpu-profile-model.js +0 -592
  1405. package/lighthouse-core/lib/tracehouse/main-thread-tasks.js +0 -688
  1406. package/lighthouse-core/lib/tracehouse/task-groups.js +0 -112
  1407. package/lighthouse-core/lib/tracehouse/task-summary.js +0 -87
  1408. package/lighthouse-core/lib/tracehouse/trace-processor.js +0 -962
  1409. package/lighthouse-core/lib/traces/pwmetrics-events.js +0 -200
  1410. package/lighthouse-core/lib/url-shim.js +0 -274
  1411. package/lighthouse-core/runner.js +0 -518
  1412. package/lighthouse-core/scoring.js +0 -93
  1413. package/lighthouse-core/scripts/download-chrome.sh +0 -36
  1414. package/lighthouse-core/scripts/manual-chrome-launcher.js +0 -51
  1415. package/lighthouse-core/scripts/package.json +0 -4
  1416. package/lighthouse-core/util-commonjs.js +0 -708
  1417. package/now.json +0 -14
  1418. package/report/.eslintrc.cjs +0 -35
  1419. package/report/generator/package.json +0 -4
  1420. package/report/package.json +0 -4
  1421. package/report/renderer/i18n.js +0 -198
  1422. package/report/renderer/util.js +0 -705
  1423. package/report/test/generator/package.json +0 -4
  1424. package/report/test/renderer/i18n-test.js +0 -140
  1425. package/report/test/renderer/util-test.js +0 -479
  1426. package/third-party/snyk/snapshot.json +0 -182
  1427. package/types/cssstyle/index.d.ts +0 -23
  1428. package/types/global-lh.d.ts +0 -81
  1429. package/types/jest.d.ts +0 -25
  1430. package/types/jsonld/index.d.ts +0 -19
  1431. package/types/lhr/flow.d.ts +0 -32
  1432. package/types/lighthouse-logger/index.d.ts +0 -33
  1433. package/types/lookup-closest-locale/index.d.ts +0 -11
  1434. package/types/node.d.ts +0 -12
  1435. package/types/query-selector.d.ts +0 -36
  1436. package/types/smokehouse.d.ts +0 -80
  1437. package/types/structured-data.d.ts +0 -36
@@ -0,0 +1,264 @@
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.
5
+ */
6
+
7
+ /**
8
+ * @fileoverview Audit a page to ensure that resource loaded over its own
9
+ * origin are over the http/2 protocol.
10
+ */
11
+
12
+ /** @typedef {import('../../lib/dependency-graph/simulator/simulator').Simulator} Simulator */
13
+ /** @typedef {import('../../lib/dependency-graph/base-node.js').Node} Node */
14
+
15
+ import {Audit} from '../audit.js';
16
+ import {EntityClassification} from '../../computed/entity-classification.js';
17
+ import UrlUtils from '../../lib/url-utils.js';
18
+ import {ByteEfficiencyAudit} from '../byte-efficiency/byte-efficiency-audit.js';
19
+ import {LanternInteractive} from '../../computed/metrics/lantern-interactive.js';
20
+ import {NetworkRequest} from '../../lib/network-request.js';
21
+ import {NetworkRecords} from '../../computed/network-records.js';
22
+ import {LoadSimulator} from '../../computed/load-simulator.js';
23
+ import {PageDependencyGraph} from '../../computed/page-dependency-graph.js';
24
+ import * as i18n from '../../lib/i18n/i18n.js';
25
+
26
+ const UIStrings = {
27
+ /** Imperative title of a Lighthouse audit that tells the user to enable HTTP/2. This is displayed in a list of audit titles that Lighthouse generates. */
28
+ title: 'Use HTTP/2',
29
+ /** Description of a Lighthouse audit that tells the user why they should use HTTP/2. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
30
+ description: 'HTTP/2 offers many benefits over HTTP/1.1, including binary headers and ' +
31
+ 'multiplexing. [Learn more about HTTP/2](https://developer.chrome.com/docs/lighthouse/best-practices/uses-http2/).',
32
+ /** [ICU Syntax] Label identifying the number of network requests that were not served with HTTP/2. */
33
+ displayValue: `{itemCount, plural,
34
+ =1 {1 request not served via HTTP/2}
35
+ other {# requests not served via HTTP/2}
36
+ }`,
37
+ /** Label for a column in a data table; entries in the column will be the HTTP Protocol used to make a network request. */
38
+ columnProtocol: 'Protocol',
39
+ };
40
+
41
+ const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
42
+
43
+ /** @type {Set<LH.Artifacts.NetworkRequest['resourceType']>} */
44
+ const STATIC_RESOURCE_TYPES = new Set([
45
+ NetworkRequest.TYPES.Document,
46
+ NetworkRequest.TYPES.Font,
47
+ NetworkRequest.TYPES.Image,
48
+ NetworkRequest.TYPES.Stylesheet,
49
+ NetworkRequest.TYPES.Script,
50
+ NetworkRequest.TYPES.Media,
51
+ ]);
52
+
53
+ class UsesHTTP2Audit extends Audit {
54
+ /**
55
+ * @return {LH.Audit.Meta}
56
+ */
57
+ static get meta() {
58
+ return {
59
+ id: 'uses-http2',
60
+ title: str_(UIStrings.title),
61
+ description: str_(UIStrings.description),
62
+ scoreDisplayMode: Audit.SCORING_MODES.NUMERIC,
63
+ supportedModes: ['timespan', 'navigation'],
64
+ requiredArtifacts: ['URL', 'devtoolsLogs', 'traces', 'GatherContext'],
65
+ };
66
+ }
67
+
68
+ /**
69
+ * Computes the estimated effect all results being converted to use http/2, the max of:
70
+ *
71
+ * - end time of the last long task in the provided graph
72
+ * - end time of the last node in the graph
73
+ *
74
+ * @param {Array<{url: string}>} results
75
+ * @param {Node} graph
76
+ * @param {Simulator} simulator
77
+ * @return {number}
78
+ */
79
+ static computeWasteWithTTIGraph(results, graph, simulator) {
80
+ const beforeLabel = `uses-http2-before`;
81
+ const afterLabel = `uses-http2-after`;
82
+ const flexibleOrdering = true;
83
+
84
+ const urlsToChange = new Set(results.map(result => result.url));
85
+ const simulationBefore = simulator.simulate(graph, {label: beforeLabel, flexibleOrdering});
86
+
87
+ // Update all the protocols to reflect implementing our recommendations
88
+ /** @type {Map<string, string>} */
89
+ const originalProtocols = new Map();
90
+ graph.traverse(node => {
91
+ if (node.type !== 'network') return;
92
+ if (!urlsToChange.has(node.record.url)) return;
93
+
94
+ originalProtocols.set(node.record.requestId, node.record.protocol);
95
+ node.record.protocol = 'h2';
96
+ });
97
+
98
+ const simulationAfter = simulator.simulate(graph, {label: afterLabel, flexibleOrdering});
99
+
100
+ // Restore the original protocol after we've done our simulation
101
+ graph.traverse(node => {
102
+ if (node.type !== 'network') return;
103
+ const originalProtocol = originalProtocols.get(node.record.requestId);
104
+ if (originalProtocol === undefined) return;
105
+ node.record.protocol = originalProtocol;
106
+ });
107
+
108
+ const savingsOnOverallLoad = simulationBefore.timeInMs - simulationAfter.timeInMs;
109
+ const savingsOnTTI = LanternInteractive.getLastLongTaskEndTime(simulationBefore.nodeTimings) -
110
+ LanternInteractive.getLastLongTaskEndTime(simulationAfter.nodeTimings);
111
+ const savings = Math.max(savingsOnTTI, savingsOnOverallLoad);
112
+
113
+ // Round waste to nearest 10ms
114
+ return Math.round(Math.max(savings, 0) / 10) * 10;
115
+ }
116
+
117
+ /**
118
+ * Determines whether a network request is a "static resource" that would benefit from H2 multiplexing.
119
+ * XHRs, tracking pixels, etc generally don't benefit as much because they aren't requested en-masse
120
+ * for the same origin at the exact same time.
121
+ *
122
+ * @param {LH.Artifacts.NetworkRequest} networkRequest
123
+ * @param {LH.Artifacts.EntityClassification} classifiedEntities
124
+ * @return {boolean}
125
+ */
126
+ static isStaticAsset(networkRequest, classifiedEntities) {
127
+ if (!STATIC_RESOURCE_TYPES.has(networkRequest.resourceType)) return false;
128
+
129
+ // Resources from third-parties that are less than 100 bytes are usually tracking pixels, not actual resources.
130
+ // They can masquerade as static types though (gifs, documents, etc)
131
+ if (networkRequest.resourceSize < 100) {
132
+ // This logic needs to be revisited.
133
+ // See https://github.com/GoogleChrome/lighthouse/issues/14661
134
+ const entity = classifiedEntities.entityByUrl.get(networkRequest.url);
135
+ if (entity && !entity.isUnrecognized) return false;
136
+ }
137
+
138
+ return true;
139
+ }
140
+
141
+ /**
142
+ * Determine the set of resources that aren't HTTP/2 but should be.
143
+ * We're a little conservative about what we surface for a few reasons:
144
+ *
145
+ * - The simulator approximation of HTTP/2 is a little more generous than reality.
146
+ * - There's a bit of debate surrounding HTTP/2 due to its worse performance in environments with high packet loss.**
147
+ * - It's something that you'd have absolutely zero control over with a third-party (can't defer to fix it for example).
148
+ *
149
+ * Therefore, we only surface requests that were...
150
+ *
151
+ * - Served over HTTP/1.1 or earlier
152
+ * - Served over an origin that serves at least 6 static asset requests
153
+ * (if there aren't more requests than browser's max/host, multiplexing isn't as big a deal)
154
+ * - Not served on localhost (h2 is a pain to deal with locally & and CI)
155
+ *
156
+ * ** = https://news.ycombinator.com/item?id=19086639
157
+ * https://www.twilio.com/blog/2017/10/http2-issues.html
158
+ * https://www.cachefly.com/http-2-is-not-a-magic-bullet/
159
+ *
160
+ * @param {Array<LH.Artifacts.NetworkRequest>} networkRecords
161
+ * @param {LH.Artifacts.EntityClassification} classifiedEntities
162
+ * @return {Array<{url: string, protocol: string}>}
163
+ */
164
+ static determineNonHttp2Resources(networkRecords, classifiedEntities) {
165
+ /** @type {Array<{url: string, protocol: string}>} */
166
+ const nonHttp2Resources = [];
167
+
168
+ /** @type {Set<string>} */
169
+ const seenURLs = new Set();
170
+ /** @type {Map<string, Array<LH.Artifacts.NetworkRequest>>} */
171
+ const groupedByOrigin = new Map();
172
+ for (const record of networkRecords) {
173
+ if (!UsesHTTP2Audit.isStaticAsset(record, classifiedEntities)) continue;
174
+ if (UrlUtils.isLikeLocalhost(record.parsedURL.host)) continue;
175
+ const existing = groupedByOrigin.get(record.parsedURL.securityOrigin) || [];
176
+ existing.push(record);
177
+ groupedByOrigin.set(record.parsedURL.securityOrigin, existing);
178
+ }
179
+
180
+ for (const record of networkRecords) {
181
+ // Skip duplicates.
182
+ if (seenURLs.has(record.url)) continue;
183
+ // Check if record is not served through the service worker, servicer worker uses http/1.1 as a protocol.
184
+ // These can generate false positives (bug: https://github.com/GoogleChrome/lighthouse/issues/7158).
185
+ if (record.fetchedViaServiceWorker) continue;
186
+ // Test the protocol to see if it was http/1.1.
187
+ const isOldHttp = /HTTP\/[01][.\d]?/i.test(record.protocol);
188
+ if (!isOldHttp) continue;
189
+ // Check if the origin has enough requests to bother flagging.
190
+ const group = groupedByOrigin.get(record.parsedURL.securityOrigin) || [];
191
+ if (group.length < 6) continue;
192
+
193
+ seenURLs.add(record.url);
194
+ nonHttp2Resources.push({protocol: record.protocol, url: record.url});
195
+ }
196
+
197
+ return nonHttp2Resources;
198
+ }
199
+
200
+ /**
201
+ * @param {LH.Artifacts} artifacts
202
+ * @param {LH.Audit.Context} context
203
+ * @return {Promise<LH.Audit.Product>}
204
+ */
205
+ static async audit(artifacts, context) {
206
+ const trace = artifacts.traces[Audit.DEFAULT_PASS];
207
+ const devtoolsLog = artifacts.devtoolsLogs[Audit.DEFAULT_PASS];
208
+ const URL = artifacts.URL;
209
+ const networkRecords = await NetworkRecords.request(devtoolsLog, context);
210
+ const classifiedEntities = await EntityClassification.request({URL, devtoolsLog}, context);
211
+ const resources = UsesHTTP2Audit.determineNonHttp2Resources(networkRecords, classifiedEntities);
212
+
213
+ let displayValue;
214
+ if (resources.length > 0) {
215
+ displayValue = str_(UIStrings.displayValue, {itemCount: resources.length});
216
+ }
217
+
218
+ // TODO: Compute actual savings for timespan mode.
219
+ if (artifacts.GatherContext.gatherMode === 'timespan') {
220
+ /** @type {LH.Audit.Details.Table['headings']} */
221
+ const headings = [
222
+ {key: 'url', valueType: 'url', label: str_(i18n.UIStrings.columnURL)},
223
+ {key: 'protocol', valueType: 'text', label: str_(UIStrings.columnProtocol)},
224
+ ];
225
+
226
+ const details = Audit.makeTableDetails(headings, resources);
227
+
228
+ return {
229
+ displayValue,
230
+ score: resources.length ? 0 : 1,
231
+ details,
232
+ };
233
+ }
234
+
235
+ const settings = context?.settings || {};
236
+ const simulatorOptions = {
237
+ devtoolsLog,
238
+ settings,
239
+ };
240
+ const graph = await PageDependencyGraph.request({trace, devtoolsLog, URL}, context);
241
+ const simulator = await LoadSimulator.request(simulatorOptions, context);
242
+ const wastedMs = UsesHTTP2Audit.computeWasteWithTTIGraph(resources, graph, simulator);
243
+
244
+ /** @type {LH.Audit.Details.Opportunity['headings']} */
245
+ const headings = [
246
+ {key: 'url', valueType: 'url', label: str_(i18n.UIStrings.columnURL)},
247
+ {key: 'protocol', valueType: 'text', label: str_(UIStrings.columnProtocol)},
248
+ ];
249
+
250
+ const details = Audit.makeOpportunityDetails(headings, resources,
251
+ {overallSavingsMs: wastedMs});
252
+
253
+ return {
254
+ displayValue,
255
+ numericValue: wastedMs,
256
+ numericUnit: 'millisecond',
257
+ score: ByteEfficiencyAudit.scoreForWastedMs(wastedMs),
258
+ details,
259
+ };
260
+ }
261
+ }
262
+
263
+ export default UsesHTTP2Audit;
264
+ export {UIStrings};
@@ -0,0 +1,16 @@
1
+ export default PassiveEventsAudit;
2
+ declare class PassiveEventsAudit extends ViolationAudit {
3
+ /**
4
+ * @param {LH.Artifacts} artifacts
5
+ * @param {LH.Audit.Context} context
6
+ * @return {Promise<LH.Audit.Product>}
7
+ */
8
+ static audit(artifacts: LH.Artifacts, context: LH.Audit.Context): Promise<LH.Audit.Product>;
9
+ }
10
+ export namespace UIStrings {
11
+ const title: string;
12
+ const failureTitle: string;
13
+ const description: string;
14
+ }
15
+ import ViolationAudit from "../violation-audit.js";
16
+ //# sourceMappingURL=uses-passive-event-listeners.d.ts.map
@@ -0,0 +1,67 @@
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.
5
+ */
6
+
7
+ /**
8
+ * @fileoverview Audit a page to see if it is using passive event listeners on
9
+ * scroll-blocking touch and wheel event listeners.
10
+ */
11
+
12
+
13
+ import ViolationAudit from '../violation-audit.js';
14
+ import * as i18n from '../../lib/i18n/i18n.js';
15
+
16
+ const UIStrings = {
17
+ /** Title of a Lighthouse audit that provides detail on the page's use of passive event listeners used to improve the scrolling performance of the page. This descriptive title is shown to users when the page does use passive listeners. */
18
+ title: 'Uses passive listeners to improve scrolling performance',
19
+ /** Title of a Lighthouse audit that provides detail on the page's use of passive event listeners used to improve the scrolling performance of the page. This descriptive title is shown to users when the page does not use passive listeners. */
20
+ failureTitle: 'Does not use passive listeners to improve scrolling performance',
21
+ /** Description of a Lighthouse audit that tells the user why they should use passive event listeners on the page. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
22
+ description: 'Consider marking your touch and wheel event listeners as `passive` ' +
23
+ 'to improve your page\'s scroll performance. ' +
24
+ '[Learn more about adopting passive event listeners](https://developer.chrome.com/docs/lighthouse/best-practices/uses-passive-event-listeners/).',
25
+ };
26
+
27
+ const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
28
+
29
+ class PassiveEventsAudit extends ViolationAudit {
30
+ /**
31
+ * @return {LH.Audit.Meta}
32
+ */
33
+ static get meta() {
34
+ return {
35
+ id: 'uses-passive-event-listeners',
36
+ title: str_(UIStrings.title),
37
+ failureTitle: str_(UIStrings.failureTitle),
38
+ description: str_(UIStrings.description),
39
+ requiredArtifacts: ['ConsoleMessages', 'SourceMaps', 'Scripts'],
40
+ };
41
+ }
42
+
43
+ /**
44
+ * @param {LH.Artifacts} artifacts
45
+ * @param {LH.Audit.Context} context
46
+ * @return {Promise<LH.Audit.Product>}
47
+ */
48
+ static async audit(artifacts, context) {
49
+ const results =
50
+ await ViolationAudit.getViolationResults(artifacts, context, /passive event listener/);
51
+
52
+ /** @type {LH.Audit.Details.Table['headings']} */
53
+ const headings = [
54
+ {key: 'source', valueType: 'source-location', label: str_(i18n.UIStrings.columnSource)},
55
+ ];
56
+ // TODO(bckenny): see TODO in geolocation-on-start
57
+ const details = ViolationAudit.makeTableDetails(headings, results);
58
+
59
+ return {
60
+ score: Number(results.length === 0),
61
+ details,
62
+ };
63
+ }
64
+ }
65
+
66
+ export default PassiveEventsAudit;
67
+ export {UIStrings};
@@ -0,0 +1,31 @@
1
+ export default ErrorLogs;
2
+ export type AuditOptions = {
3
+ ignoredPatterns?: Array<RegExp | string>;
4
+ };
5
+ /** @typedef {{ignoredPatterns?: Array<RegExp|string>}} AuditOptions */
6
+ declare class ErrorLogs extends Audit {
7
+ /** @return {AuditOptions} */
8
+ static get defaultOptions(): AuditOptions;
9
+ /**
10
+ * @template {{description: string | undefined}} T
11
+ * @param {Array<T>} items
12
+ * @param {AuditOptions} options
13
+ * @return {Array<T>}
14
+ */
15
+ static filterAccordingToOptions<T extends {
16
+ description: string | undefined;
17
+ }>(items: T[], options: AuditOptions): T[];
18
+ /**
19
+ * @param {LH.Artifacts} artifacts
20
+ * @param {LH.Audit.Context} context
21
+ * @return {Promise<LH.Audit.Product>}
22
+ */
23
+ static audit(artifacts: LH.Artifacts, context: LH.Audit.Context): Promise<LH.Audit.Product>;
24
+ }
25
+ export namespace UIStrings {
26
+ const title: string;
27
+ const failureTitle: string;
28
+ const description: string;
29
+ }
30
+ import { Audit } from "./audit.js";
31
+ //# sourceMappingURL=errors-in-console.d.ts.map
@@ -0,0 +1,120 @@
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.
5
+ */
6
+
7
+ /**
8
+ * @fileoverview Audits a page to determine whether it contains console errors.
9
+ * This is done by collecting Chrome console log messages and filtering out the non-error ones.
10
+ */
11
+
12
+ import log from 'lighthouse-logger';
13
+
14
+ import {Audit} from './audit.js';
15
+ import {JSBundles} from '../computed/js-bundles.js';
16
+ import * as i18n from '../lib/i18n/i18n.js';
17
+
18
+ const UIStrings = {
19
+ /** Title of a Lighthouse audit that provides detail on browser errors. This descriptive title is shown to users when no browser errors were logged into the devtools console. */
20
+ title: 'No browser errors logged to the console',
21
+ /** Title of a Lighthouse audit that provides detail on browser errors. This descriptive title is shown to users when browser errors occurred and were logged into the devtools console. */
22
+ failureTitle: 'Browser errors were logged to the console',
23
+ /** Description of a Lighthouse audit that tells the user why errors being logged to the devtools console are a cause for concern and so should be fixed. This is displayed after a user expands the section to see more. No character length limits. */
24
+ description: 'Errors logged to the console indicate unresolved problems. ' +
25
+ 'They can come from network request failures and other browser concerns. ' +
26
+ '[Learn more about this errors in console diagnostic audit](https://developer.chrome.com/docs/lighthouse/best-practices/errors-in-console/)',
27
+ };
28
+
29
+ const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
30
+
31
+ /** @typedef {{ignoredPatterns?: Array<RegExp|string>}} AuditOptions */
32
+
33
+ class ErrorLogs extends Audit {
34
+ /**
35
+ * @return {LH.Audit.Meta}
36
+ */
37
+ static get meta() {
38
+ return {
39
+ id: 'errors-in-console',
40
+ title: str_(UIStrings.title),
41
+ failureTitle: str_(UIStrings.failureTitle),
42
+ description: str_(UIStrings.description),
43
+ requiredArtifacts: ['ConsoleMessages', 'SourceMaps', 'Scripts'],
44
+ };
45
+ }
46
+
47
+ /** @return {AuditOptions} */
48
+ static get defaultOptions() {
49
+ // Any failed network requests with error messsage aren't actionable
50
+ return {ignoredPatterns: ['ERR_BLOCKED_BY_CLIENT.Inspector']};
51
+ }
52
+
53
+ /**
54
+ * @template {{description: string | undefined}} T
55
+ * @param {Array<T>} items
56
+ * @param {AuditOptions} options
57
+ * @return {Array<T>}
58
+ */
59
+ static filterAccordingToOptions(items, options) {
60
+ const {ignoredPatterns, ...restOfOptions} = options;
61
+ const otherOptionKeys = Object.keys(restOfOptions);
62
+ if (otherOptionKeys.length) log.warn(this.meta.id, 'Unrecognized options', otherOptionKeys);
63
+ if (!ignoredPatterns) return items;
64
+
65
+ return items.filter(({description}) => {
66
+ if (!description) return true;
67
+ for (const pattern of ignoredPatterns) {
68
+ if (pattern instanceof RegExp && pattern.test(description)) return false;
69
+ if (typeof pattern === 'string' && description.includes(pattern)) return false;
70
+ }
71
+
72
+ return true;
73
+ });
74
+ }
75
+
76
+ /**
77
+ * @param {LH.Artifacts} artifacts
78
+ * @param {LH.Audit.Context} context
79
+ * @return {Promise<LH.Audit.Product>}
80
+ */
81
+ static async audit(artifacts, context) {
82
+ /** @type {AuditOptions} */
83
+ const auditOptions = context.options;
84
+ const bundles = await JSBundles.request(artifacts, context);
85
+
86
+ /** @type {Array<{source: string, description: string|undefined, sourceLocation: LH.Audit.Details.SourceLocationValue|undefined}>} */
87
+ const consoleRows = artifacts.ConsoleMessages
88
+ .filter(item => item.level === 'error')
89
+ .map(item => {
90
+ const bundle = bundles.find(bundle => bundle.script.scriptId === item.scriptId);
91
+ return {
92
+ source: item.source,
93
+ description: item.text,
94
+ sourceLocation: Audit.makeSourceLocationFromConsoleMessage(item, bundle),
95
+ };
96
+ });
97
+
98
+ const tableRows = ErrorLogs.filterAccordingToOptions(consoleRows, auditOptions)
99
+ .sort((a, b) => (a.description || '').localeCompare(b.description || ''));
100
+
101
+ /** @type {LH.Audit.Details.Table['headings']} */
102
+ const headings = [
103
+ /* eslint-disable max-len */
104
+ {key: 'sourceLocation', valueType: 'source-location', label: str_(i18n.UIStrings.columnSource)},
105
+ {key: 'description', valueType: 'code', label: str_(i18n.UIStrings.columnDescription)},
106
+ /* eslint-enable max-len */
107
+ ];
108
+
109
+ const details = Audit.makeTableDetails(headings, tableRows);
110
+ const numErrors = tableRows.length;
111
+
112
+ return {
113
+ score: Number(numErrors === 0),
114
+ details,
115
+ };
116
+ }
117
+ }
118
+
119
+ export default ErrorLogs;
120
+ export {UIStrings};
@@ -0,0 +1,11 @@
1
+ export default FinalScreenshot;
2
+ declare class FinalScreenshot extends Audit {
3
+ /**
4
+ * @param {LH.Artifacts} artifacts
5
+ * @param {LH.Audit.Context} context
6
+ * @return {Promise<LH.Audit.Product>}
7
+ */
8
+ static audit(artifacts: LH.Artifacts, context: LH.Audit.Context): Promise<LH.Audit.Product>;
9
+ }
10
+ import { Audit } from "./audit.js";
11
+ //# sourceMappingURL=final-screenshot.d.ts.map
@@ -0,0 +1,58 @@
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.
5
+ */
6
+
7
+ import {Audit} from './audit.js';
8
+ import {LighthouseError} from '../lib/lh-error.js';
9
+ import {ProcessedTrace} from '../computed/processed-trace.js';
10
+ import {Screenshots} from '../computed/screenshots.js';
11
+
12
+ class FinalScreenshot extends Audit {
13
+ /**
14
+ * @return {LH.Audit.Meta}
15
+ */
16
+ static get meta() {
17
+ return {
18
+ id: 'final-screenshot',
19
+ scoreDisplayMode: Audit.SCORING_MODES.INFORMATIVE,
20
+ title: 'Final Screenshot',
21
+ description: 'The last screenshot captured of the pageload.',
22
+ requiredArtifacts: ['traces', 'GatherContext'],
23
+ };
24
+ }
25
+
26
+ /**
27
+ * @param {LH.Artifacts} artifacts
28
+ * @param {LH.Audit.Context} context
29
+ * @return {Promise<LH.Audit.Product>}
30
+ */
31
+ static async audit(artifacts, context) {
32
+ const trace = artifacts.traces[Audit.DEFAULT_PASS];
33
+ const processedTrace = await ProcessedTrace.request(trace, context);
34
+ const screenshots = await Screenshots.request(trace, context);
35
+ const {timeOrigin} = processedTrace.timestamps;
36
+ const finalScreenshot = screenshots[screenshots.length - 1];
37
+
38
+ if (!finalScreenshot) {
39
+ // If a timespan didn't happen to contain frames, that's fine. Just mark not applicable.
40
+ if (artifacts.GatherContext.gatherMode === 'timespan') return {notApplicable: true, score: 1};
41
+
42
+ // If it was another mode, that's a fatal error.
43
+ throw new LighthouseError(LighthouseError.errors.NO_SCREENSHOTS);
44
+ }
45
+
46
+ return {
47
+ score: 1,
48
+ details: {
49
+ type: 'screenshot',
50
+ timing: Math.round((finalScreenshot.timestamp - timeOrigin) / 1000),
51
+ timestamp: finalScreenshot.timestamp,
52
+ data: finalScreenshot.datauri,
53
+ },
54
+ };
55
+ }
56
+ }
57
+
58
+ export default FinalScreenshot;
@@ -0,0 +1,32 @@
1
+ export default FontDisplay;
2
+ declare class FontDisplay extends Audit {
3
+ /**
4
+ * @param {LH.Artifacts} artifacts
5
+ * @param {RegExp} passingFontDisplayRegex
6
+ * @return {{passingURLs: Set<string>, failingURLs: Set<string>}}
7
+ */
8
+ static findFontDisplayDeclarations(artifacts: LH.Artifacts, passingFontDisplayRegex: RegExp): {
9
+ passingURLs: Set<string>;
10
+ failingURLs: Set<string>;
11
+ };
12
+ /**
13
+ * Some pages load many fonts we can't check, so dedupe on origin.
14
+ * @param {Array<string>} warningUrls
15
+ * @return {Array<LH.IcuMessage>}
16
+ */
17
+ static getWarningsForFontUrls(warningUrls: Array<string>): Array<LH.IcuMessage>;
18
+ /**
19
+ * @param {LH.Artifacts} artifacts
20
+ * @param {LH.Audit.Context} context
21
+ * @return {Promise<LH.Audit.Product>}
22
+ */
23
+ static audit(artifacts: LH.Artifacts, context: LH.Audit.Context): Promise<LH.Audit.Product>;
24
+ }
25
+ export namespace UIStrings {
26
+ const title: string;
27
+ const failureTitle: string;
28
+ const description: string;
29
+ const undeclaredFontOriginWarning: string;
30
+ }
31
+ import { Audit } from "./audit.js";
32
+ //# sourceMappingURL=font-display.d.ts.map